UNIVERSIDAD TÉCNICA FEDERICO SANTA MARÍA DEPARTAMENTO DE ELECTRÓNICA Alternativas de Solución de Proyecto de Titulación “Integración de Visión Estereoscópica a Laparoscopía mediante Oculus Rift” Presentado por: ROL USM: Profesor guía: Fecha: Daniel Guerra Silva 2821003-5 Sr. Agustín González 09/11/2014 Proyecto de Titulación INTRODUCCIÓN En este documento se presentan las alternativas de solución para resolver el problema presentado, la integración del Oculus Rift como dispositivo para visualizar laparoscopías en visión estereoscópica. Para establecer las alternativas de solución, primero se debe entender el tipo de información con la que se debe alimentar al Oculus Rift[3]. Al SDK que entrega el dispositivo para poder mostrar un flujo de video estereoscópico se le deben entregar dos videos separadas con puntos de convergencia en el infinito, como si se estuviese mirando al horizonte. Esto es para que coincida con la forma de visualización que es representada en Figura 1. Es importante notar que debe existir cierta separación entre cada cámara para que exista sensación de profundidad. El SDK no especifica ninguna manera de obtener estos flujos de video, por lo que las imágenes se pueden generar de dos formas: Directamente desde dos cámaras reales (solución de hardware) o generando información virtual de las dos cámaras separadas, a partir de algún tipo de procesamiento del único flujo de video que se obtiene del método tradicional de laparoscopía (solución de software). Figura 1. Conos de visión de Oculus Rift (imagen extraída del manual oficial). Proyecto de Titulación ALTERNATIVAS DE SOLUCIÓN Se revisarán tres formas de obtener información estereoscópica para ser mostrada en el Oculus Rift: La inserción de dos cámaras en paralelo para obtener la imagen la generación de los flujos de video a partir de una única cámara y un modelo 3D de la zona a operar. Obtener las dos imágenes a partir del uso de una única cámara y un modelo 3D obtenido a partir de la aplicación de Computer Vision al flujo de video obtenido. Se expondrá el funcionamiento de cada alternativa y sus ventajas y desventajas, y se evaluarán poniendo énfasis en los puntos mencionados en el ítem “Criterios de Comparación”. ALTERNATIVA N°1: VISIÓN ESTEREOSCÓPICA MEDIANTE DOS CÁMARAS EN PARALELO: Esta es la solución por hardware que se presenta, consiste en utilizar una cámara adicional en la incisión de laparoscopía, la cual se mantiene a una distancia fija de la otra. El SDK se encarga de realizar la deformación de la imagen necesaria para la correcta visualización en el Oculus, dados los parámetros de configuración correctos. Cabe mencionar que ya existen en el comercio cámaras estereoscópicas para laparoscopía [4], pero el uso de este tipo de cámaras para este proyecto queda sujeto a su disponibilidad. Para implementar esta alternativa, se utiliza el lenguaje C++, la librería de procesamiento de imágenes OpenCV y el SDK de Oculus Rift. No se profundizará en el código debido a que éste debe ser probado primero, pero se dará un ejemplo, para ilustrar el uso de las librerías. Los pasos son: Proyecto de Titulación 1) Configurar la visualización mediante el SDK para que la visualización ocupe todo el campo visual al frente del usuario, y que los movimientos de la cabeza sean ignorados. 2) Capturar ambos streams de video mediante la función de OpenCV cvCaptureFromCAM(). A continuación se muestra un código que realiza lo anterior para uno de los streams de video (código de ejemplo extraído de [4]). void OculusWorldDemoApp::GrabFrame() { // if not capturing init the capture! if(!capture) { capture = cvCaptureFromCAM( CV_CAP_ANY ); if ( !capture ) { fprintf( stderr, "ERROR: capture is NULL \n" ); getchar(); } } lastFrame = cvQueryFrame( capture ); if ( !lastFrame ) { fprintf( stderr, "ERROR: frame is null...\n" ); } } 3) Renderizar la vista con las imágenes cargadas. Ventajas y Desventajas de la alternativa: El tamaño de la incisión es mayor que lo normal, y si se mantiene igual, es porque se sacrifica calidad en la imagen, o percepción de profundidad. El cerebro obtiene la sensación 3d directamente de las imágenes, no es necesario pasar por un modelado previo, por lo que se obtiene una calidad de imágenes determinada solamente por la calidad de las cámaras. Tiempo de procesamiento mínimo. Proyecto de Titulación Fácil de implementar. No modifica el procedimiento estándar de laparoscopía. ALTERNATIVA N°2: GENERACIÓN DE IMÁGENES ESTEREOSCÓPICAS A TRAVÉS DE UN FLUJO DE VIDEO Y REPRESENTACION 3D. En esta alternativa, se utiliza una tomografía preoperatoria para obtener el modelo tridimensional del área a trabajar, luego se hace un matching de las imágenes que se van obteniendo del flujo de video con el modelo 3D, mediante un algoritmo de SfS (Shape-fromshading). Este algoritmo infiere el modelo 3D de una imagen a partir de los patrones de luz y sombra que hay en esta. Debido a que se posee la forma exacta del espacio, El algoritmo SfS se utiliza como un auxiliar para texturizar el modelo. El último elemento que falta es la posición de la cámara, que se obtiene mediante otro algoritmo SURF (Speeded-Up Robust Feature detection algorithm) [5]. A continuación se presenta una imagen demostrando cómo la solución hace el match entre ciertos pixeles y una representación en tres dimensiones de una imagen laparoscópica: Figura 2. Muestra de dos imágenes consecutivas de una cámara laparoscópica y obtención de puntos característicos (a), matching de puntos característicos con mapa de profundidad (b). Proyecto de Titulación Los pasos para la implementación de esta alternativa están representados en la Figura 3: Reconstrucción del modelo 3D a partir de la Tomografía Creación de imagen tridimensional a partir de modelo 3D de tomografía e imagen de laparoscopio Tracking de posición de cámara laparoscópica Actualización de posición de cámara virtual en frame de referencia de modelo de la tomografía. Generación de un nuevo mapa de profundidad Síntesis de imagen estereoscópica a partir de imagen de video y mapa de profundidad Figura 3. Diagrama de funcionamiento de Alternativa 2. Luego de realizados estos pasos, ya se tienen los dos flujos de video, por lo que se procede a seguir los mismos pasos seguidos en la alternativa 1. Ventajas y Desventajas de la alternativa A pesar de ser aproximaciones a las formas mediante algoritmos de Computer Vision, este método tiene bastante buena precisión (reconstrucción de puntos con alrededor de 1 mm de precisión). No es necesario implementar nuevo hardware. Pérdida de calidad de imágenes debido al matching (puede no asemejarse a la realidad). Algoritmos funcionan en base a suposiciones de funcionamiento en espacios estáticos. Proyecto de Titulación Tiempo de procesamiento puede llevar a pérdida de calidad en la experiencia de la operación debido a retrasos. ALTERNATIVA N°3: OBTENCIÓN DE FLUJO DE VIDEO ESTEREOSCÓPICO A PARTIR DE ÚNICO FLUJO DE VIDEO. Como fue mencionado en la alternativa 2, es posible inferir información de profundidad a partir de un único flujo de video, mediante inferencias a partir de luces y de sombras. Existen dos métodos para esto: SfM (Shape-from-Motion) y SfS(Shape-from-Shading). SfM es un algoritmo que extrae un modelo tridimensional de un objeto a partir de comparación entre imágenes consecutivas y se obtiene movimiento, mientras que SfS obtiene el mapeo en tres dimensiones a partir de luces y sombras. El algoritmo SfM es incapaz de obtener un buen modelo en movimiento, por lo que existe el dSfM, otro algoritmo que por el tiempo de procesamiento es inaplicable en casos de tiempo real. Por lo que se decide generar el modelo por SfS y mapear las imágenes a este modelo, luego generar las vistas de las cámaras virtuales para luego ser renderizadas en el Oculus. A continuación se muestra un resultado de imagen 3D a partir de SfS de una foto de laparoscopía [6]: El proceso es similar al de la alternativa 2, pero se obtiene un modelo menos aproximado al no tener a mano la tomografía con el modelo tridimensional exacto del paciente. Ventajas y Desventajas de la alternativa Menos algoritmos que alternativa 2, menor procesamiento y mejor funcionamiento en tiempo real Mala precisión (SfS estima con buena precisión las formas, pero estas pueden estar globalmente distorsionadas). En resultados obtenidos en aplicaciones reales, se ha llegado Proyecto de Titulación a una precisión de alrededor de 12 mm, lo que para procedimientos médicos es un error considerable. Sólo necesita la alimentación de una cámara, por lo que no se necesita nada aparte de lo que ya se hace en las laparoscopías normales. CRITERIOS DE COMPARACIÓN . Como puntos de comparación, se evaluarán: Costo de implementación de la alternativa. Funcionalidad de la solución final. Dificultad técnica de realización. Grado de resolución del problema. Con respecto a este último punto, a continuación se explicarán los problemas que presenta actualmente la laparoscopía tradicional (según el estudio presentado en [1]) para poder evaluar en qué medida cada solución satisface cada problema. Problemas de la laparoscopía tradicional: Percepción débil de profundidad*: En la laparoscopía tradicional se inserta una cámara única, generalmente de alta definición, la que capta la información visual del ambiente. Esta información se muestra en una pantalla con la cual el cirujano se guía mientras realiza la operación. El problema de lo anterior es que el ambiente en el que opera es de tres dimensiones, por lo que el cirujano debe inferir la profundidad a la que debe trabajar sin otro medio que su práctica con este tipo de operación. La información de tres dimensiones se pierde en el momento que se realiza la captación de imágenes con una sola cámara, y la forma de visualización tampoco permite información de tres dimensiones. Se han hecho estudios que demuestran que un sistema de visión estereoscópica aumenta la precisión con la que los cirujanos son capaces de operar, además de disminuir la curva de aprendizaje de estos métodos [2]. *Se presenta este problema como el principal a ser tratado, puesto que es aquel que la aplicación de la visión estereoscópica soluciona directamente. Punto de vista fijo: En la laparoscopía es realizada una única incisión por la cual se inserta el laparoscopio, generalmente en la zona del ombligo, lo que restringe lo que puede ser observado por el laparoscopio. Esto genera situaciones incómodas para el cirujano, como problemas de asociación entre los movimientos de la mano del cirujano sobre el laparoscopio versus lo que se visualiza en la pantalla, o problemas accediendo a ciertas partes del organismo que son más difíciles (o imposibles) de ver al hacer la incisión antes mencionada. Proyecto de Titulación Campo visual limitado: La cámara laparoscópica posee un campo visual limitado por el fabricante, y el largo focal de la cámara es fijo (la cámara no es enfocable), lo que obliga al cirujano a modificar la posición del laparoscopio para cambiar la parte del ambiente que se está observando y el foco sobre el que se está trabajando mediante desplazamientos de la cámara. Falta de feedback kinestésico (háptica): En las operaciones no laparoscópicas, los cirujanos se apoyan del sentido del tacto para aplicar la presión necesaria para hacer los cortes, y para evaluar e identificar distintos tejidos del cuerpo (palpación). En la laparoscopía esto no es posible ya que las herramientas con las que se trabaja no proveen de un feedback kinestésico, y además no es posible para el cirujano realizar palpaciones de los tejidos. Problema de anatomía ocluída: Existen operaciones que trabajan sobre estructuras en el cuerpo que están escondidas detrás de tejido en el cuerpo, por lo que es deber del cirujano localizar estas estructuras para poder operar adecuadamente. Además, se deben localizar las estructuras que no deben ser dañadas, las cuales están muchas veces detrás de tejido en el cuerpo. Este es un problema que existe tanto a nivel de cirugía abierta como laparoscópica, pero en la cirugía laparoscópica no se posee de la misma información para poder localizar estas estructuras, como lo serían la información táctil o la información de profundidad. Proyecto de Titulación CONCLUSIONES Se han presentado tres alternativas de solución para la implementación del Oculus Rift en aplicaciones de laparoscopía. En el siguiente informe cada alternativa será evaluada en relación a los criterios de comparación mencionados anteriormente para determinar la opción que será llevada a cabo en el proyecto. REFERENCIAS [1] A. Bartoli et al. Computer assisted Minimally Invasive Surgery: Is medical Computer Vision the answer to improving laparosurgery? Medical Hypotheses 79 (2012) 858–863 ALCoV (Advanced Laparoscopy and Computer Vision), ISIT, Université d’Auvergne, ClermontFerrand, France [2] Chandra V, Nehra D, Parent R, Woo R, Reyes R, Hernandez-Boussard T, et al. Comparison of laparoscopic and robotic assisted suturing performance by experts and novices. Surgery 2010; 147(6):830–9. [3] Manual de Referencia Oculus Rift http://static.oculus.com/sdk-downloads/documents/Oculus_Developer_Guide_0.4.3.pdf [4] Cámara laparoscópica estereoscópica Olympus Endoeye Flex 3D: http://www.olympus.nl/medical/en/medical_systems/products_services/product_details/product_ details_17284.jsp [5] Atul Kumara et. Al. Stereoscopic visualization of laparoscope image using depth information from 3D model Computer Methods And Programs In Biomedicine 113(2014)862–868 [6] L.Maier-Hein et. Al. Optical techniques for 3D surface reconstruction in computer-assisted laparoscopic surgery Medical Image Analysis 17 (2013) 974-996