Utilización de MonoSlam con realidad aumentada en laparoscopia.

Anuncio
Proyecto Fin de Máster
Máster en Ingeniería Biomédica
Utilización de MonoSlam con realidad aumentada en
laparoscopia.
Óscar García Grasa
Director: José María Martínez Montiel
Centro Politécnico Superior
Universidad de Zaragoza
Septiembre 2008
Dedicado a mi abuelo José, fallecido en el transcurso de este máster.
Agradecimientos
Este trabajo no habría sido posible sin la colaboración de:
Víctor F. Muñoz, profesor titular de la universidad de Málaga, quien aportó las primeras
secuencias con las cuales se comenzó a trabajar.
Antonio Güemes, médico adjunto del hospital clínico universitario Lozano Blesa de Zaragoza, quien facilitó el acceso a intervenciones de laparoscopia de las cuales se obtuvieron
más secuencias.
Miguel Ángel Bielsa, médico adjunto del hospital clínico universitario Lozano Blesa de
Zaragoza, quien permitió asistir y registrar operaciones realizadas por él.
Andrew Davison, profesor titular de Imperial College of London, y Ian Reid, del Engineering
Science Department de la University of Oxford, quienes aportaron el software inicial de
monoSlam.
Javier Civera, profesor ayudante de la universidad de Zaragoza, quien con su colaboración ayudó a entender el funcionamiento de inverse depth y de la aplicación original de
monoSlam
José María Martínez Montiel, profesor titular de la universidad de Zaragoza, por dirigir
todo este proyecto y por el gran interés puesto en él.
Proyecto nanciado con el prot (FIT-360005-2007-9)
y con el proyecto europeo RAWSEEDS (FP6-IST-045144).
Resumen
Actualmente, los cirujanos laparoscopistas tienen dos problemas en el momento de operar. Por
un lado, desconocen las dimensiones de la cavidad donde están trabajando. Como las cámaras de
los endoscopios suelen ser cámaras monoculares, los cirujanos solo perciben información en 2D
sin conocer nada de la profundidad. Por otro, su visión de la cavidad está limitada al campo de
vista de la cámara (fov) sin ser capaces de ver nada del resto de esta que no esté dentro de este fov.
Con este proyecto se pretende presentar una primera aproximación para resolver estos 2 problemas. Utilizando monoSlam se pueden realizar mediciones 3D dentro de la cavidad abdominal y
con el uso de realidades aumentada y virtual se puede hacer una reconstrucción densa de esa
cavidad al completo, la cual puede ser utilizada por el cirujano como una guía durante la operación aumentando el fov de la cámara de una forma sintética y fotorrealista. Además de esto, se
posibilita la inserción de anotaciones en realidad aumentada que faciliten la labor del cirujano.
Índice general
Índice de guras
2
1. Introducción
4
1.1.
Contexto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.
Trabajos relacionados
5
1.3.
Objetivos
1.4.
Distribución de la memoria
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2. Trabajos previos
5
6
7
2.1.
MonoSlam . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
2.2.
Inverse Depth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9
3. SLAM visual aplicado a imágenes de endoscopio
11
3.1.
Captura y codicación de secuencias
. . . . . . . . . . . . . . . . . . . . . . . . .
11
3.2.
Calibración de la cámara endoscópica . . . . . . . . . . . . . . . . . . . . . . . . .
11
3.3.
Detección de puntos de interés en las imágenes
13
. . . . . . . . . . . . . . . . . . .
3.3.1.
Obtención de imágenes en B&N . . . . . . . . . . . . . . . . . . . . . . . .
13
3.3.2.
Eliminación de los brillos
14
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.
Reconstrucción Densa
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.5.
Realidad aumentada y virtual . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
3.6.
Medición de distancias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17
3.7.
Desarrollo de un entorno de realidad aumentada para cirugía
19
3.8.
Reestructuración interna de la arquitectura software
3.9.
Parametrización por chero
. . . . . . . . . . .
. . . . . . . . . . . . . . . .
19
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20
4. Pruebas y resultados
4.1.
21
Pruebas y resultados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5. Trabajos Futuros y Conclusiones
5.1.
Línea de investigación futura
5.2.
Conclusiones
21
24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
Bibliografía
27
1
Índice de guras
2.1.
Denición del sistema de coordenadas. La posición (1) de la cámara es donde se
ha inicializado el sistema y por lo tanto es donde se dene el sistema mundo. A la
posición (2) se llega tras mover la cámara de la posición original, ahí se puede ver
como está denido el sistema de la cámara.
. . . . . . . . . . . . . . . . . . . . .
9
2.2.
Codicación en inverse depth. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
3.1.
Patrón plano utilizado para la calibración de la cámara.
. . . . . . . . . . . . . .
12
3.2.
Imágenes para calibrar la cámara. . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.3.
Imagen a color y su descomposición en bandas de colores. Las bandas de rojo y
de azul tienen zonas muy claras y muy oscuras, respectivamente, en las cuales
se aprecia muy poco contraste. Por contra, en la banda de verde es donde más
contraste hay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4.
13
Las 4 subguras son el mismo frame de la misma secuencia procesada sin ltrado de
brillos (3.4(a) y 3.4(b)) y con ltrados de brillos (3.4(c) y 3.4(d)). En las imágenes
sin ltrar se puede ver que la aplicación ha detectado algunos brillos (puntos en
blanco) como características los cuales no aparecen en las imágenes ltradas. . . .
3.5.
14
Medición de la altura de una eventración con una goma elástica para ligar vasos.
El recuadro verde indica el agujero ventral que hay que medir. Se puede apreciar
que con la goma elástica roja no se puede medir de forma precisa ese agujero.
. .
17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.6.
Interfaces
4.1.
Frames de una exploración abdominal. En la gura se muestra 1 frame de cada 30.
4.2.
21
Vistas de la reconstrucción nal de la secuencia de la gura 4.1. Los puntos rojos
y amarillos son las características detectadas por monoSlam y utilizadas en la
reconstrucción densa. Las líneas verdes son las aristas de los triángulos obtenidos
4.3.
4.4.
con la triangulación de Delaunay. . . . . . . . . . . . . . . . . . . . . . . . . . . .
22
Frames de la segunda secuencia. En la gura se muestra 1 frame de cada 14. . . .
22
Reconstrucción de la secuencia de la gura 4.3 con la medida de la anchura de la
eventración (doble echa blanca) y su error. . . . . . . . . . . . . . . . . . . . . .
2
23
ÍNDICE DE FIGURAS
4.5.
3
Inserción de un elemento virtual, en este caso un cilindro (rojo), que podría representar por ejemplo un vaso sanguíneo. En 4.5(a) se ha insertado el cilindro denido
por las 2 características en blanco. El cilindro es visible tanto como en realidad
aumentada sobre la imagen del endoscopio (izq.) como en realidad virtual sobre la
reconstrucción 3D (der.). En 4.5(b) el cilindro ha desaparecido del campo de visión
del endoscopio, sin embargo este está localizado dentro de la reconstrucción 3D la
cual ha aumentado el fov que el cirujano ve. Finalmente, en 4.5(c), el endoscopio
vuelve a estar dirigido a la zona donde está el cilindro, por lo tanto este vuelve a
aparecer como realidad aumentada sobre la imagen del endoscopio (izq.). . . . . .
5.1.
23
En ambas subguras el rectángulo negro representa la imagen vista por la cámara
y el color gris representa la falta de textura. En 5.1(a) existía un triángulo con
textura. Al desplazarse la cámara, un vértice de ese triángulo se ha salido de la
imagen, creándose una nueva característica (rojo) que ha ocasionado una nueva
retriangulación formando 3 triángulos, 2 de los cuales se han quedado sin textura
por estar uno de sus vértices fuera de la imagen. En 5.1(b) se tenían 3 triángulos
con textura. Al desplazarse la cámara, uno de los vértices se ha salido de la imagen
y, a su vez, otro se ha eliminado (rojo) causando una nueva retriangulación y
pasando de 3 triángulos a 1 sin textura por tener uno de sus vértices fuera de la
imagen.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
Capítulo 1
Introducción
1.1. Contexto
La cirugía endoscópica, también denominada laparoscópica cuando se realiza dentro de la
cavidad abdominal, se ha extendido hoy en día a la mayoría de las especialidades quirúrgicas,
incluidas la cirugía general, torácica, urología y ginecología. Este tipo de cirugía presenta varios
benecios con respecto a la cirugía tradicional tanto para los pacientes porque la intervención es
menos traumática (menor perdida de sangre y por lo tanto menor número de transfusiones, menor
consumo de analgésicos, y periodos de hospitalización más cortos) [1], como para los cirujanos
porque son más ecientes y precisos. Por todo esto y como la utilización del acceso endoscópico
permite realizar la mayoría de las intervenciones, esta está sustituyendo al acceso convencional,
evitando así practicar una gran incisión cutánea que penetra dentro de las cavidades abdominales
o torácicas.
Sin embargo, este tipo de cirugía presenta actualmente varios problemas de usabilidad de
cara al cirujano relacionados con el campo de visión de la cámara y con la tecnología de visión
utilizada (imágenes monoculares).
Por una parte, los sistemas actuales de cirugía endoscópica muestran al cirujano, únicamente,
la imagen que la cámara endoscópica está captando en cada momento, sin mostrar información
del resto de la cavidad. Por lo tanto, la visión que se tiene del campo quirúrgico está limitada al
campo de vista de la cámara (fov), el cual es más reducido que en la visión humana por no existir
la visión periférica. Esto hace que sólo se detecte una pequeña porción de la anatomía donde
se está trabajando. Además, este problema se complica por usar lentes de ángulo estrecho para
tener mayor magnicación. Al estar limitada la visión al fov, el cirujano desconoce la localización
de las estructuras anatómicas que quedan fuera de este además, esta visión limitada, diculta la
localización precisa de los propios instrumentos quirúrgicos.
Por otra, el cirujano, al basar sus intervenciones en imágenes bidimensionales, desconoce por
completo la profundidad de la cavidad donde opera y las dimensiones de las vísceras que va
viendo por la cámara (el cirujano no puede hacer ninguna medición de distancia). Esto obliga
a un continuo movimiento de la cámara para valorar la distancia entre los instrumentos y la
estructura anatómica que se quiere intervenir, lo que ocasiona falta de precisión, movimientos
parásitos y posibilidad de lesión de estructuras vitales (p. ej. grandes vasos sanguíneos u órganos
vitales).
4
1. Introducción
5
1.2. Trabajos relacionados
La visión por computador se ha utilizado en cirugía laparoscópica sobre todo para detectar y
seguir a las herramientas. Wei et al. [2] las localizan y las siguen por medio de marcas de colores
jadas a estas y con un laparoscopio estereoscópico. Krupa et al. [3], para localizar las herramientas, utilizan marcadores ópticos sobre el eje de estas y, para calcular su distancia y orientación
con respecto al órgano, proyectan sobre este un patrón de puntos láser. Hynes et al. [4] utilizan
marcadores ópticos, que son parches de múltiples colores y que ellos denominan encoders, sobre
el eje de la herramienta para detectarla y así poder realizar varias tareas de forma autónoma.
Todos estos trabajos hacen visual servoing donde el objetivo es mover automáticamente y de
forma segura los instrumentos quirúrgicos. Otro trabajo en el que se detectan las herramientas
pero que no está interesado en el visual servoing es el de Voros et al. [1]. En este trabajo, la
detección de los instrumentos se hace utilizando geometría epipolar con los puntos de inserción
en la cavidad abdominal de las herramientas y la cámara y, en vez de utilizar marcadores ópticos,
utilizando un modelo de forma de los instrumentos. También, determinan la distancia entre el
instrumento y la cámara para controlar el zoom y la orientación de esta. Aunque todos estos
trabajos necesitan calcular la posición de la herramienta con respecto al fondo de la cavidad,
ninguno de ellos permite hacer otro tipo de medidas como por ejemplo medir la anchura de un
órgano determinado. Además, ninguno de ellos permite aumentar el fov.
Trabajos como [5, 6] hacen reconstrucciones endoscópicas usando endoscopios estéreo. Wu
et al. [7] hace un modelado en 3D usando su método de factorización basado en restricciones
(CBFM). Este método usa secuencias de imágenes laparoscópicas para hacer una reconstrucción
densa cercana a tiempo real sin usar datos adicionales de CT o MR. Estos trabajos, con pequeñas
modicaciones, permitirían realizar mediciones ya que para hacer la reconstrucción densa se precisan conocer la posición relativa entre cada punto de referencia. Además, con una reconstrucción
densa se aumenta el fov de una forma sintética. El problema de estos trabajos es que no lo hacen
en tiempo real.
1.3. Objetivos
El objetivo de este trabajo es aplicar las técnicas de visión por computador en tiempo real
recientemente desarrolladas en el campo de la robótica al de la imagen médica endoscópica.
1 en
Una cámara monocular es un sensor proyectivo que mide la orientación de características
las imágenes. Es bien sabido, que dada una secuencia de imágenes de una estructura 3D rígida
tomada con una cámara que se mueve, se puede calcular la estructura de la escena y el movimiento de la cámara hasta un factor de escala. Para inferir la posición 3D de una característica,
la cámara debe de observarla repetidamente cada vez capturando un rayo de luz que une a la característica con el centro óptico de la cámara. El ángulo medido entre los rayos capturados desde
diferentes puntos de vista, el cual es conocido como paralaje, permite estimar la profundidad de
la característica [8].
La técnica de slam monocular (slam visual) hace uso de las imágenes que proporciona una
cámara de vídeo con 6 grados de libertad para localizar y detectar los movimientos de la cámara
1
Puntos destacados e inequívocos que se corresponden de forma unívoca en varias imágenes de la misma escena.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
1. Introducción
6
dentro del entorno en el que se encuentra (en este caso sería la cavidad abdominal) y, al mismo tiempo, generar un mapa de este entorno localizando características rígidas (características
que permanecen en una posición ja en el tiempo), todo ello en tiempo real a frecuencia de vídeo.
La realidad virtual permite visualizar entornos sintéticos en tiempo real representando en
ellos, por ejemplo, la reconstrucción 3D de la cavidad que está siendo operada. Esto permite
aumentar el fov al utilizarse varias imágenes de distintos puntos de vista de la cavidad para
hacer la reconstrucción virtual, además, le ofrece al cirujano el poder cambiar la perspectiva de
visualización de la cavidad u órgano que está operando ayudándole a comprender la naturaleza
de esta/e.
Por otro lado, la realidad aumentada permite añadir información virtual a la información
física ya existente. Para ello, se generan modelos virtuales relacionados con la realidad física y
se determina la situación exacta de cada uno de ellos en la escena para mostrar al usuario una
representación de la realidad física, la imagen del endoscopio, con el entorno virtual superpuesto.
En realidad aumentada es necesario determinar la localización de la cámara con precisión para
que los elementos visuales (objetos físicos reales e información virtual) estén perfectamente alineados en la imagen. Esta información es aportada directamente por el slam visual.
En este proyecto se propone un sistema computerizado de visualización basado en realidades virtual y aumentada donde se muestra al cirujano un mapa 3D fotorrealista de la cavidad
operada, construido en tiempo real, de modo que él vea tanto la imagen de la cámara como un
entorno virtual añadido. Este sistema se compone de un PC estándar, conectado directamente al
endoscopio, que captura las imágenes de vídeo de este y las procesa para mostrárselas al cirujano
con realidad aumentada y con un mapa 3D sintético y fotorrealista de la cavidad operada, todo
realizado en tiempo real. También se dispone de herramientas para la realización de mediciones
de distancias relativas a cuatro puntos de la escena reconstruida.
1.4. Distribución de la memoria
El capítulo 2 está dedicado a la presentación de slam monocular con profundidad inversa. En
el capítulo 3 se habla sobre todo el trabajo realizado en este proyecto (captura de secuencias, calibración de la cámara, detección de puntos de interés, reconstrucción densa, realidad aumentada
y virtual, medición de distancias, desarrollo del entorno de realidad aumentada, arquitectura de
la aplicación y parametrización). Los resultados obtenidos se presentan en el capítulo 4. Finalmente, las líneas de trabajo futuras y las conclusiones alcanzadas son tratadas en el capítulo
5.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
Capítulo 2
Trabajos previos
2.1. MonoSlam
SLAM es un acrónimo de Simultaneous Localization and Mapping. Esta técnica, desarrollada
en el campo de la robótica, consiste en que moviendo un robot con una localización desconocida
y usando sus sensores, los cuales devuelven datos sobre el entorno dentro del cual se mueve, el
robot es capaz de calcular el mapa del entorno al mismo tiempo que se va autolocalizando dentro
de este [9]. Se ha demostrado que ambos problemas, la localización y el mapeo, están acoplados
y que para resolver uno es preciso resolver el otro.
Tradicionalmente, el SLAM se realizaba sobre todo con sensores láser o con sónares pero,
recientemente, se han empezado a usar cámaras de vídeo lo que ha permitido la aparición de los
primeros sistemas de visión 3D en tiempo real.
Los trabajos iniciales sobre reconstrucción de la trayectoria de la cámara y de la geometría 3D
de la escena o estructura, conocidos como Structure From Motion (SFM), se realizaban oine.
En ellos, se capturaba una secuencia de imágenes que más tarde se procesaba para reconstruir
la trayectoria seguida por la cámara y la estructura de la escena observada. Para obtener la
máxima precisión posible, estos algoritmos se basaban en una optimización no lineal conocida
como Bundle Adjustment [10].
No fue hasta los trabajos sobre SLAM monocular (MonoSlam) de A. Davison [11, 12] cuando
se empezó a realizar SLAM con visión en tiempo real. Davison presentó un algoritmo que permitía trabajar con secuencias de vídeo a altas tasas de frame (30Hz o 30 imágenes/s) utilizando un
ltro de Kalman extendido (EKF) que linealizaba el proceso de reconstrucción de la trayectoria
y de la estructura 3D.
Este algoritmo procesa las imágenes que proporciona una cámara de vídeo con 6 grados de
libertad para localizar y detectar los movimientos de esta dentro del entorno en el que se encuentra (p. ej. la cavidad abdominal) y al mismo tiempo generar un mapa 3D de este entorno
todo ello basado en la localización y emparejamiento de características rígidas (características
que permanecen en una posición ja en el tiempo).
El núcleo de este algoritmo es un EKF (capítulo 3 de [13]), que se ejecuta para cada frame,
cuyos 3 pasos son:
1. Predicción: El ltro predice la posición y la velocidad de la cámara así como sus incerti-
7
2. Trabajos previos
8
dumbres de acuerdo a un modelo de movimiento suave probabilístico a priori de la cámara.
2. Asociación de datos: Este paso consiste en emparejar características del mapa, detectadas
en frames anteriores, con sus observaciones en la imagen. El mapa se basa en la extracción
automática de características de Shi-Tomasi [14] o de Harris [15] guardando para cada característica una máscara de correlación. En la asociación de datos se predice la posición de
las características del mapa sobre la imagen para posteriormente emparejarlas (encontrarlas en la imagen mediante sus máscaras de correlación). Por lo tanto, es un paso crítico ya
que es primordial que no realice falsos emparejamientos (emparejamientos espurios) porque, uno solo mal hecho, puede arruinar toda la estimación y hacer que el sistema falle.
Neira y Tardós, con su test de compatibilidad conjunta (JCBB) en [16], tienen en cuenta
que los emparejamientos están correlados entre si, lo que les permite rechazar satisfactoriamente los espurios con gran abilidad. En Clemente et al. [17] se muestra esta capacidad
mostrando además, como la JCBB posibilita la construcción de grandes mapas con visión
monocular.
Una vez se tiene la localización de la cámara predicha, EKF predice cual es la posición de
cada característica del mapa dentro de la imagen seleccionando aquellas que son visibles
en esta. Luego, intenta emparejar cada característica seleccionada dentro de una región de
incertidumbre centrada en la posición predicha para dicha característica. Una vez que se
han realizado todos los emparejamientos, EKF calcula su innovación a partir de los errores
entre las posiciones real y la predicha de cada característica.
3. Actualización: Conocida la innovación, EKF actualiza las posiciones de las características
y la localización actual de la cámara reduciendo las incertidumbres de la cámara y de las
características.
Tras el paso del ltro de Kalman, se realizan las operaciones de mantenimiento del mapa,
primero, haciendo una búsqueda activa de nuevas posibles características en la imagen, puntos de
Shi-Tomasi, para añadir a este y después, eliminando características que se han predicho varias
veces consecutivas pero que no se han conseguido medir o se han medido pocas veces. Estos dos
últimos pasos dan n al procesado del frame actual y se espera a que la cámara devuelva el
siguiente para repetir todo el proceso.
MonoSlam necesita un sistema de referencia jo y absoluto el cual es usado para localizar globalmente a todas las características y a la cámara. Este sistema de coordenadas (sistema mundo)
se establece al iniciar el algoritmo. En este momento se dene el origen del sistema de coordenadas
como la posición actual de la cámara, el eje Z como el eje que sale del centro óptico hacia la escena, el eje Y como el eje perpendicular a Z y que apunta a la parte superior de la cámara y el eje
X como el perpendicular al Y y al Z y que apunta hacia la izquierda de la cámara (ver gura 2.1).
El mapa está representado por un vector de estado
x̂,
el cual está compuesto por las estima-
ciones de estado apiladas de la cámara y de las características, y por una matriz de covarianza
P
la cual está formada por las matrices de covarianza entre la cámara y las características como
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
2. Trabajos previos
9
Figura 2.1: Denición del sistema de coordenadas. La posición (1) de la cámara es donde se ha
inicializado el sistema y por lo tanto es donde se dene el sistema mundo. A la posición (2) se
llega tras mover la cámara de la posición original, ahí se puede ver como está denido el sistema
de la cámara.
sigue:
 

x̂v
Pxx Pxy1
ŷ1 
Py x Py y
1 1
 
 1
x̂ = ŷ  , P = P
P
2
y
x
y
2 y1
 
 2
.
.
.
.
.
.
Pxy2
Py1 y2
Py2 y2
.
.
.
.
.
.

...
. . .

. . .

..
(2.1)
.
xv (13 parámetros) está formado por un
rW , un cuaternio de orientación qRW , un vector de velocidad vW y un vector
R relativos al sistema mundo W y al sistema robot R :
angular ω
Explícitamente, el vector de estado de la cámara
vector de posición
de velocidad
xv = r W
qW R vW
ωR
Finalmente, un vector de estado de una característica
T
yi
(2.2)
es un vector de 3 dimensiones con
la localización en el sistema mundo de la característica. Esta forma de codicar la localización
es conocida como depth encoding:
yi = Xi Yi Zi
T
(2.3)
2.2. Inverse Depth
MonoSlam muestra dicultades al estimar la incertidumbre en profundidad de las características recién inicializadas de modo que las trata de forma separada al mapa principal esperando
a que la cámara se traslade lo suciente como para detectar el paralaje necesario que permita
reducir la incertidumbre en profundidad antes de introducirlas en el mapa.
Montiel y Civera, en sus trabajos [18, 8], mostraron que usando una codicación inverse depth
para la localización de las características, en vez de depth encoding, se resolvían las dicultades
que MonoSlam presentaba con las características recién inicializadas introduciéndolas directamente en el mapa y evitando que el sistema se tuviera que inicializar con un objeto conocido
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
2. Trabajos previos
10
delante de la cámara.
Una localización de una característica codicada en inverse depth necesita de un vector de 6
dimensiones en vez de uno de 3 como en depth encoding:
yi = xi yi zi θi φi ρi
T
(2.4)
Ahora, la característica se localiza dentro del sistema mundo como:
   
Xi
xi
1



xi = Yi = yi  + m(θi , φi )
ρi
Zi
zi
m = cos φi sin θi − sin φi cos φi cos θi
En la ecuación (2.4), el vector
yi
(2.5)
T
.
codica el rayo desde la posición de la cámara desde la cual
la característica fue observada por primera vez hacia la característica siendo
óptico de la cámara y
θ i , φi
x i , yi , z i
el centro
el azimut y la elevación (codicados en el sistema mundo) deniendo
un vector direccional unitario
di
(2.6)
m(θi , φi ). La profundidad de
ρi = 1/di (ver gura 2.2).
la característica a lo largo del rayo
está codicada en su inversa
Figura 2.2: Codicación en inverse depth.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
Capítulo 3
SLAM visual aplicado a imágenes de
endoscopio
3.1. Captura y codicación de secuencias
El sistema habitual de registro de operaciones en laparoscopia son vídeos comprimidos en
MPEG. Estas secuencias presentan problemas por un lado por el entrelazado de las imágenes
y por otro por las compresiones intra e inter frame producidas por el sistema de captura del
endoscopio.
Muchos endoscopios actuales emplean imágenes entrelazadas sin embargo, la aplicación de
monoSlam trabaja con imágenes digitales no entrelazadas. Por lo tanto, es necesario desentrelazar y digitalizar las imágenes antes de pasarselas a esta aplicación. Este entrelazamiento produce
artefactos como el efecto peine, el cual es pernicioso para monoSlam ya que se detectan características destacables de la imagen donde no las hay. Este problema se soluciona ignorando las
las y las columnas (aunque estas últimas no es necesario) pares o impares de la imagen original
y por lo tanto trabajando con una imagen a la cuarta parte de la original.
Por otro lado, el ordenador del endoscopio permite registrar cada operación en MPEG. Esta
compresión provoca que las imágenes aparezcan difuminadas para el extractor de características
de monoSlam, aunque no para el ojo humano, lo que hace que se obtengan pocas y malas características sobre las cuales realizar el slam visual. Para solucionar este problema se emplea una
tarjeta capturadora de vídeo que, conectada al endoscopio y a un portátil estándar, permite obtener cada frame en crudo (sin compresión alguna). Además, esta tarjeta tiene la opción de realizar
el subsampling de la imagen (ignorar las las y las columnas pares o impares) solucionando por
hardware el problema del entrelazado.
3.2. Calibración de la cámara endoscópica
La calibración es un proceso para estimar los parámetros intrínsecos de la cámara (distancia
focal en mm, tamaño del píxel, distorsión radial y centro óptico) los cuales permiten relacionar
1
las mediciones sobre la imagen con la orientación de los correspondientes rayos proyectantes .
1
Rayo proyectante: rayo que une el centro óptico de la cámara con el objeto a medir y que intersecta con el
plano de proyección (plano de imagen) registrando en él la imagen bidimensional de dicho objeto.
11
3. SLAM visual aplicado a imágenes de endoscopio
12
Anchura Imagen
384,0
px
Altura Imagen
288,0
px
Centro X
204,5
px
Centro Y
134,6
px
Focal X
248,96
px
Focal Y
268,22
px
Tamaño píxel
0,0167
K1
0,009003
K2
-0,000287
mm · px−1
mm−2
mm−4
Cuadro 3.1: Ejemplo de parámetros de calibración (px: píxeles; mm: milímetros).
Se ha usado un software comercial de fotogrametría (PhotoModeler) que está basado en el
método de calibración de patrón plano propuesto por Zhang [19]. Este método calcula la calibración de la cámara aplicando un método de optimización no lineal sobre varias imágenes tomadas,
desde diferentes orientaciones, a un mismo patrón plano. Tanto la cámara como el patrón pueden
ser movidos a mano y el movimiento de la cámara no necesita ser conocido. Comparado con las
técnicas de calibración clásicas, esta es más exible y barata además de robusta.
El trabajo de Zhang se complementa con el de Strum [20] donde se muestran las posibles
singularidades de la calibración basada en patrón plano. Este trabajo muestra como evitar esas
singularidades para obtener una calibración exitosa. Además, para llevar a cabo la calibración,
se necesita un mínimo de 5 imágenes (Hartley y Zisserman [21]).
Figura 3.1: Patrón plano utilizado para la calibración de la cámara.
Copyright 2003 Eos Systems Inc - PhotoModeler Pro Calibration Grid
Por lo tanto, para hacer una calibración correcta, se deben de tomar varias imágenes de un
patrón plano (ver g. 3.1) desde determinados puntos de vista con la misma cámara endoscópica
y con la misma lente usada en cirugía. Con PhotoModeler y con un conjunto de imágenes libre de
singularidades (ver g. 3.2) se han calculado los parámetros intrínsecos de la cámara (ver tabla
3.2).
El problema que tienen estos parámetros es que son especícos para cada cámara y cada lente
que se monta en ella por lo que la calibración hay que hacerla justo antes de cada intervención.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
3. SLAM visual aplicado a imágenes de endoscopio
13
Figura 3.2: Imágenes para calibrar la cámara.
3.3. Detección de puntos de interés en las imágenes
Como muchas aplicaciones de visión por computador, monoSlam trabaja con imágenes en
blanco y negro (B&N) muy texturizadas sobre las que se detectan puntos de Shi-Tomasi, pero el
endoscopio devuelve las imágenes a color. Por lo tanto, es preciso obtener imágenes en B&N a
partir de las de color. Por otro lado, las imágenes viscerales son propensas a contener brillos. Esto
provoca que el extractor de características de monoSlam los mal detecte como características y,
por ello, tienen que ser eliminados.
3.3.1. Obtención de imágenes en B&N
Tras varios experimentos con secuencias, se ha notado que una buena forma de obtener una
imagen en B&N de los órganos internos es extrayendo el canal de verde de las imágenes a color. Por el alto contenido en rojo y en azul de este tipo de imágenes, estas dos bandas nos
aportan muy poca información visual, sin embargo, la banda de verde mejora el contraste de la
imagen en B&N resaltando características y texturas que de otra forma se perderían (ver g. 3.3).
(a) Color
(b) Rojo
(c) Verde
(d) Azul
Figura 3.3: Imagen a color y su descomposición en bandas de colores. Las bandas de rojo y de
azul tienen zonas muy claras y muy oscuras, respectivamente, en las cuales se aprecia muy poco
contraste. Por contra, en la banda de verde es donde más contraste hay.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
3. SLAM visual aplicado a imágenes de endoscopio
14
Este preprocesamiento ha sido añadido al bucle principal de monoSlam antes de la detección
de los puntos de Shi-Tomasi y de la obtención de las máscaras de correlación empleadas para la
correspondencia.
3.3.2. Eliminación de los brillos
La fuente de luz fría, la cual es solidaria a la cámara, apunta directamente a los tejidos produciendo brillos
2 en las imágenes. El extractor de características de monoSlam interpreta estos
brillos como características destacadas y salientes y son introducidas en el mapa. Sin embargo, no
son auténticas características porque su localización y su forma varían a medida que la cámara
se mueve.
Para evitar tener en cuenta este tipo de características y como los brillos en la imagen son
píxeles con valores cercanos al blanco, se ha establecido un umbral dentro del extractor de
características para ltrar aquellas que contengan algún píxel de valor mayor a este (ver g. 3.4).
(a) Brillos en la imagen a color
(c) Imagen a color sin brillos
(b) Brillos en la banda verde
(d) Banda de verde sin brillos
Figura 3.4: Las 4 subguras son el mismo frame de la misma secuencia procesada sin ltrado de
brillos (3.4(a) y 3.4(b)) y con ltrados de brillos (3.4(c) y 3.4(d)). En las imágenes sin ltrar se
puede ver que la aplicación ha detectado algunos brillos (puntos en blanco) como características
los cuales no aparecen en las imágenes ltradas.
2
Un brillo es un atributo de percepción visual en el cual una fuente parece emitir o reejar una cierta cantidad
de luz dada. Son provocados por iluminar a un objetivo visual.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
3. SLAM visual aplicado a imágenes de endoscopio
15
3.4. Reconstrucción Densa
MonoSlam estima la localización de las características en el sistema mundo y, muestra su
distribución espacial y sus distancias relativas como una nube de puntos en un visualizador 3D,
sin mostrar nada sobre la textura de las estructuras de la escena. Este tipo de reconstrucción es
útil en robótica, pero no es suciente para cirugía, donde tiene más interés un mapa 3D denso
que facilite la interpretación del modelo 3D reconstruido.
Como lo que se busca es aumentar el fov de la cámara utilizando realidad virtual, se puede
utilizar la reconstrucción que hace monoSlam como base y sobre ella montar una red de triángulos que acumulen la textura de la supercie 3D observada, obteniendo así una reconstrucción
densa y sintética 3D de la cavidad, la cual aporta más información espacial que las imágenes
aisladas del laparoscopio.
La reconstrucción implementada aquí es una adaptación de la de Civera [22], con la diferencia
de que él la hacía para una cámara que solo rotaba y en este proyecto se hace para una cámara
que se desplaza.
Algorithm 1 Triangulación
1: global Lista de triángulos T
2: global Lista de correspondencias CL
3:
4:
L ← lista vacía
D ← lista vacía
Lista de características
Lista de triángulos
{La triangulación requiere 3 características o más}
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
if
≥ 3 then
for all f en lista de características de MonoSlam do
if f no fue medido en el último EKF o la profundidad f
n
o de características en MonoSlam
> umbral
then
Continuar
else
f0 ←
Proyección
f
sobre el plano X-Y del sistema mundo
Añadir la correspondencia entre
0
Añadir f a
end if
end for
f
y
f0
a
CL
L
{La triangulación requiere 3 características o más}
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
if
n
o de características en
D←
L≥
3
then
Triangulación_Delaunay(L)
end if
end if
for all t en D do
if t no está en T then
Añadir
t
a
T
Obtener la textura desde la imagen a color original
end if
end for
Eliminar de
T
los triángulos sin alguno de sus vértices o los que han sido reparticionados
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
3. SLAM visual aplicado a imágenes de endoscopio
16
Esta reconstrucción consta de 2 etapas principales. La primera calcula una triangulación de
Delaunay sobre el plano X-Y del sistema mundo de las últimas características emparejadas por
monoSlam, añadiendo los nuevos triángulos obtenidos a una lista de triángulos existente, además, borra los triángulos en los que alguno de sus vértices ha sido eliminado o esos que han
sido reparticionados en triángulos más pequeños. La segunda etapa extrae las texturas de las
imágenes a color originales y las pega sobre los triángulos (ver alg. 1).
En el algoritmo 1, la lista de triángulos
T
es una lista global donde se guardan desde el
principio de la ejecución todos los triángulos utilizados en la reconstrucción densa. La lista de
correspondencias
CL
guarda la correspondencia entre una característica y su proyección en el
plano X-Y del sistema mundo.
Con esta reconstrucción se produce una réplica completa de la cavidad observada, lo que hace
que aumente el fov de forma sintética. Sobre esta reconstrucción se puede insertar información
virtual que sirva de ayuda durante la operación. Por ejemplo, se pueden mostrar regiones críticas
de la cavidad que tienen que ser protegidas y que por lo tanto los cirujanos tienen que tener en
cuenta o, se puede superponer planos de resección por donde se tiene que realizar el corte de un
órgano. Esta información virtual permanecerá en el visualizador 3D aunque la cámara apunte a
otros lugares diferentes donde esta radica y será superpuesta, a modo de realidad aumentada,
sobre la imagen del laparoscopio cuando la cámara la observe.
Algunas reconstrucciones obtenidas se pueden ver en las guras 4.2 y 4.4.
3.5. Realidad aumentada y virtual
La razón para implementar elementos de realidad aumentada y virtual es ayudar al cirujano
dándole información adicional sobre la operación y guiarle en ella. Esta información se muestra
en tiempo real, tanto en forma de realidad aumentada sobre la imagen en color del endoscopio,
como en forma de realidad virtual sobre la reconstrucción sintética. Se han implementado dos
tipos de elementos virtuales (cilindros y planos) para marcar las áreas vitales de la cavidad que
tienen que ser protegidas (p. ej. vasos sanguíneos) o para marcar planos o áreas que tienen que
ser reseccionados.
3
Por ejemplo, el uso de los cilindros podría ser útil en las colecistectomías . En este tipo de
operaciones el conducto y la arteria cística tienen que ser cortados sin dañar la vía ni la arteria
biliar. Estas dos últimas estructuras se pueden marcar con un cilindro de modo que el cirujano
sepa en todo momento donde están, aunque la cámara apunte a otro lado.
4
El uso de planos puede tener sentido en operaciones como las hepatectomías , ya que con
ellos se puede denir el plano de resección que el cirujano tiene que seguir para extirpar el trozo
de hígado dañado. Esto puede evitar daños innecesarios del hígado siendo la cirugía menos traumática para el paciente.
Un ejemplo de la inserción de un cilindro se puede ver en la gura 4.5. Un vídeo donde se
realizan inserciones virtuales se puede encontrar en http://robots.unizar.es/data/videos/
3
4
Resección de la vesícula biliar.
Resección de una porción del hígado.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
3. SLAM visual aplicado a imágenes de endoscopio
17
reconstruccionDensa/005_ElementosVirtuales_divx.avi.
3.6. Medición de distancias
5 donde el cirujano necesita hacer me-
Hay operaciones como por ejemplo las eventraciones
didas de distancias de lo que está viendo. Actualmente, esas medidas se hacen comparando la
distancia a medir con un objeto conocido. Este método presenta 2 problemas. Por un lado, el
gran tiempo que le lleva al cirujano la realización de las medidas. Por otro, la falta de precisión
por la dicultad de acceso a la estructura a medir y por la carencia de percepción de profundidad
(ver g. 3.5).
Figura 3.5: Medición de la altura de una eventración con una goma elástica para ligar vasos. El
recuadro verde indica el agujero ventral que hay que medir. Se puede apreciar que con la goma
elástica roja no se puede medir de forma precisa ese agujero.
Como monoSlam trabaja inriendo la estructura 3D hasta un factor de escala, se ha desarrollado un método de medición precisa a partir de imágenes. Por otro lado, los instrumentos tienen
dimensiones conocidas y por lo tanto se conoce su longitud de forma precisa. Entonces, aprovechando estos dos factores, se ha desarrollado un método que obtiene las distancias de monoSlam
y les aplica el factor de escala que se obtiene de la longitud conocida de los instrumentos al medirlos a través de monoSlam. Con este método, se conoce con mucha precisión cualquier medida
entre dos puntos dentro de la cavidad abdominal. Además, aprovechando que monoSlam estima
las incertidumbres de las características, el método desarrollado hace propagación de errores, lo
que permite obtener el resultado de la medición junto con una estimación del error.
Para implementar el sistema de medición hay que denir la distancia entre dos puntos, codicados en inverse depth, y el factor de escala. La distancia euclídea
es:
d(i, j) =
d
entre dos puntos del mapa
q
(xi − xj )2 + (yi − yj )2 + (zi − zj )2
(3.1)
Como se está trabajando con inverse depth, la ecuación (3.1) tiene que representarse usando
las ecuaciones (2.5) obteniendo que la distancia a partir de la codicación en inverse depth es:
q
d(i, j) = (Xi − Xj )2 + (Yi − Yj )2 + (Zi − Zj )2
5
(3.2)
Protrusión del intestino a través de la pared abdominal. También conocido como hernia ventral.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
3. SLAM visual aplicado a imágenes de endoscopio
18
Donde:
cos φj sin θj
cos φi sin θi
− xcj −
ρi
ρj
sin φj
sin φi
Yi − Yj = yci −
− ycj +
ρi
ρj
cos φi cos θi
cos φi cos θi
− zcj −
Zi − Zj = zci +
ρi
ρj
Xi − Xj = xci +
(3.3)
Las mediciones en monoSlam se hacen relativas a la distancia que separa a 2 puntos de referencia
d(r1 , r2 )
de los cuales se conoce con exactitud su distancia real. Estos 2 puntos pueden
encontrarse sobre algún instrumento cuya distancia real, que será el factor de escala
s,
ha sido
medida previamente. Este instrumento se introduce por el trocar y se ja para evitar cualquier
movimiento.
Entonces, para medir la distancia relativa con MonoSlam entre dos puntos
referencia
r1
y
r2
i
y
j
y los de
se procede de la siguiente forma:
dM (i, j) =
Aplicando a (3.4) el factor de escala
s
d(i, j)
d(r1 , r2 )
(3.4)
dR (i, j)
se obtiene la distancia real
dR (i, j) = s · dM (i, j)
entre
i
y
j:
(3.5)
Aprovechando que monoSlam da la covarianza conjunta de estimación para todos los puntos
del mapa, se puede propagar el error mediante el siguiente jacobiano:
J=
En (3.6),
v
∂dR (i, j)
∂v
(3.6)
es un vector de 24 componentes compuesto por 4 vectores de 6 componentes (un
vector por cada característica tenida en cuenta en (3.4):
i, j, r1 , r2 ).
Cada componente de cada
uno de los 4 vectores es un parámetro en inverse depth como en (2.4) dando:
vx = xcx ycx zcx θx φx ρx
v = vi vj vr1 vr2
(3.7)
Así pues, el error de medida al 95'44 % es:
√
ε = 2 JP JT
Siendo
P
una matriz compuesta por las submatrices
conjunta de las características
i, j , r1 y r2:

Pii
 Pji
P =
Pr1 i
Pr2 i
Pij
Pjj
Pr1 j
Pr2 j
Pir1
Pjr1
Pr1 r1
Pr2 r1
(3.8)
Pxy
las cuales representan la covarianza

Pir2
Pjr2 

Pr1 r2 
Pr2 r2
(3.9)
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
3. SLAM visual aplicado a imágenes de endoscopio
19
3.7. Desarrollo de un entorno de realidad aumentada para cirugía
Como consecuencia de la adaptación de monoSlam a la laparoscopia, el interfaz gráco original se ha tenido que adecuar a las nuevas exigencias que esta adaptación requería.
El nuevo interfaz se programó con unas librerías grácas actuales (QT) abandonando las
anteriores las cuales ya no son mantenidas por su autor (Glow), además se añadieron varios
botones que daban acceso a las nuevas funcionalidades:
1. Selección de cualquier tipo de elemento desde el visualizador 3D o desde la imagen del
laparoscopio.
2. Inserción de características por parte del usuario.
3. Inserción de elementos virtuales como planos y cilindros para realizar anotaciones en realidad virtual y aumentada.
4. Eliminación de cualquier elemento virtual o cualquier característica.
5. Establecimiento de la escala para poder hacer mediciones de distancias reales.
6. Realización de mediciones de distancias.
Junto con la nueva botonera, se añadió una zona donde establecer un panel informativo/interactivo sobre el cual el usuario puede ver información sobre el elemento seleccionado (p. ej. las
coordenadas 3D de una característica) o puede interactuar con él (p. ej. cambiar el tamaño de
un cilindro).
El interfaz original y el nuevo pueden ser vistos en la g. 3.6.
(a) Interfaz antiguo.
(b) Interfaz nuevo.
Figura 3.6: Interfaces
3.8. Reestructuración interna de la arquitectura software
Para la adaptación de monoSlam a laparoscopia se tuvo que hacer una reorganización interna
de la arquitectura del software. Se pasó de una arquitectura con 2 threads que accedían en cualquier momento a las secciones críticas que compartían, a un sistema de 2 threads con accesos a
las secciones críticas limitadas a un único punto en todo el programa y controlado por semáforos.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
3. SLAM visual aplicado a imágenes de endoscopio
20
Con esto se solucionaron los problemas de estabilidad del sistema original producidos por
condiciones de carrera entre los threads. Estas provocaban que los refrescos de pantalla fuesen
en algunos momento lentos y a veces producían que el programa abortase, sobre todo, cuando el
usuario quería interactuar con la aplicación añadiendo o seleccionando características a medir.
Ahora el usuario puede interactuar con la aplicación en tiempo real y puede añadir o eliminar
características, elementos virtuales o realizar mediciones sin que el programa aborte y se cancele.
3.9. Parametrización por chero
Una de las tareas más importantes realizada en este proyecto ha sido la parametrización de
todo el sistema en cheros externos a él. MonoSlam tenía todos los parámetros necesarios para
su funcionamiento denidos como constantes dispersas por el código lo que hacía que, para cada
ejecución que se quería realizar, se tuvieran que anar en diversos cheros y hubiera que compilar
la aplicación entera. Con la parametrización por chero se han centralizado todos los parámetros
en un único chero, pudiéndose denir sin la necesidad de compilar en cada momento. Esto,
además, permite generar un chero de conguración para cada simulación a realizar permitiendo
mantener todas las conguraciones de todas las ejecuciones realizadas.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
Capítulo 4
Pruebas y resultados
4.1. Pruebas y resultados
Los experimentos se han realizado fuera de quirófano, con secuencias de unos pocos cientos
de frames tomadas de operaciones reales en el hospital clínico universitario Lozano Blesa de Zaragoza. Todas las secuencias cumplían los mismos requisitos: eran secuencias de una estructura
rígida, tenía poco movimiento producido por la respiración o por los latidos del corazón; no aparecían elementos móviles, instrumentos quirúrgicos desplazándose por la imagen; y no contenían
grandes oclusiones. Este tipo de secuencias ocurre cuando el cirujano hace una exploración de la
cavidad para ver su estado. Aprovechando esta, se aplica el software desarrollado en este proyecto
a esa secuencia obteniendo unas reconstrucciones en tiempo real bastante dedignas.
En la gura 4.1 vemos algunos frames de una secuencia de una exploración de la cavidad abdominal. Esta secuencia consta de 341 frames que tras procesarla con la aplicación desarrollada
produce la reconstrucción densa de la estructura observada (g. 4.2).
Figura 4.1: Frames de una exploración abdominal. En la gura se muestra 1 frame de cada 30.
La gura 4.3 corresponde a una eventración. En ella se muestran varios de los 135 frames de
una secuencia de la pared abdominal en busca de adherencias. En la gura 4.4 se muestra su
reconstrucción densa además de mostrar el resultado de una medición realizada.
Por último, para demostrar el uso de la realidad aumentada, en la gura 4.5 se presenta la
inserción de un elemento virtual que podría representar perfectamente a un gran vaso que hay
que tener localizado en todo momento.
21
4. Pruebas y resultados
22
(a) Frontal
(b) Superior
(d) Derecha
(c) Inferior
(e) Izquierda
Figura 4.2: Vistas de la reconstrucción nal de la secuencia de la gura 4.1. Los puntos rojos y
amarillos son las características detectadas por monoSlam y utilizadas en la reconstrucción densa.
Las líneas verdes son las aristas de los triángulos obtenidos con la triangulación de Delaunay.
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
(i)
(j)
Figura 4.3: Frames de la segunda secuencia. En la gura se muestra 1 frame de cada 14.
Algunos vídeos sobre los resultados obtenidos se pueden ver en:
http://robots.unizar.es/data/videos/reconstruccionDensa/: Contiene 4 vídeos donde se
prueban la reconstrucción, la inserción de elementos y la medición de distancias.
http://robots.unizar.es/data/videos/icra09/video01.avi: Vídeo de una reconstrucción de
una eventración.
http://robots.unizar.es/data/videos/icra09/video02.avi: Animación del resultado nal del
vídeo anterior.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
4. Pruebas y resultados
23
(a)
(b)
(c)
(d)
(e)
(f)
(g)
(h)
Figura 4.4: Reconstrucción de la secuencia de la gura 4.3 con la medida de la anchura de la
eventración (doble echa blanca) y su error.
(a)
(b)
(c)
Figura 4.5: Inserción de un elemento virtual, en este caso un cilindro (rojo), que podría representar por ejemplo un vaso sanguíneo. En 4.5(a) se ha insertado el cilindro denido por las 2
características en blanco. El cilindro es visible tanto como en realidad aumentada sobre la imagen del endoscopio (izq.) como en realidad virtual sobre la reconstrucción 3D (der.). En 4.5(b)
el cilindro ha desaparecido del campo de visión del endoscopio, sin embargo este está localizado
dentro de la reconstrucción 3D la cual ha aumentado el fov que el cirujano ve. Finalmente, en
4.5(c), el endoscopio vuelve a estar dirigido a la zona donde está el cilindro, por lo tanto este
vuelve a aparecer como realidad aumentada sobre la imagen del endoscopio (izq.).
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
Capítulo 5
Trabajos Futuros y Conclusiones
5.1. Línea de investigación futura
Este proyecto sirve como una importante introducción a un conjunto de posibles trabajos de
investigación que se complementarían entre sí y que servirían para crear un producto de utilidad
quirúrgica a corto o medio plazo.
Actualmente existen varias restricciones que deben de cumplir las secuencias para que la
aplicación funcione bien. La escena tiene que ser rígida, es decir, tiene que carecer de elementos
móviles. Los movimientos con la cámara tienen que ser suaves, nada de movimientos bruscos.
Por último, las imágenes tienen que ser claras, contiguas y sin oclusiones de la cavidad que está siendo reconstruida. Si la lente queda ocluida, por ejemplo, al entrar en contacto físico con
un tejido o se producen movimientos bruscos o se saca de la cavidad por el trocar entonces, la
aplicación fallará y no se sabrá recuperar, la aplicación se habrá perdido. Además de estas restricciones, otro asunto que convendría realizar de forma automática es la calibración de la cámara.
Para evitar todos estos inconvenientes y proporcionar otras mejoras se propone la siguiente
línea de investigación:
1. Mejora de la reconstrucción densa en tiempo real: Uno de los problemas que tiene la reconstrucción aquí empleada es cuando se producen retriangulaciones de triángulos parcialmente
visibles dentro de la imagen, bien porque se ha eliminado alguna característica, o bien porque se ha creado una nueva característica dentro de un triángulo existente (gura 5.1).
Esto provoca que se pierda la textura de triángulos que tienen alguno de sus vértices fuera
de la imagen y por lo tanto la reconstrucción sea incompleta.
2. Relocalización en caso de pérdida: Actualmente existen trabajos que hacen relocalización
con monoSlam [23, 24, 25] pero el problema todavía no está cerrado. Entonces, habría que
adaptar alguno de estos a la laparoscopia o bien, como se trabaja dentro de cavidades más
reducidas, investigar alguna forma que sea más propicia para este tipo de imágenes. Otra
asunto que tendría interés es el utilizar una base de datos de imágenes de control ya vistas
las cuales se pudieran usar tanto para la relocalización en caso de pérdida, como para la
obtención de texturas en los casos en los que se ha retriangulado y la textura no se puede
obtener de la imagen actual.
3. Soportar secuencias de imágenes de entornos con oclusiones severas: Las oclusiones ocurren
cuando un instrumento pasa muy cerca de la cámara o cuando esta entra en contacto físico
con un tejido. Actualmente, si esto ocurre, la aplicación se pierde. Por lo tanto, habría que
24
5. Trabajos Futuros y Conclusiones
25
investigar algún sistema de detección de oclusiones que junto con la relocalización eviten
que el programa se pierda.
4. Autocalibración de la cámara: Una idea que ahorraría bastante tiempo es aplicar alguna
metodología de autocalibración de la cámara. Existen trabajos que demuestran que esta
es posible [26]. Actualmente, para experimentación, la calibración se tiene que hacer antes
o después de cada intervención y, aunque es un proceso fácil, conlleva bastante tiempo. Si
se quiere un sistema de uso quirúrgico, este paso debería de optimizarse al máximo ya que
tiene que ser un paso previo a la intervención por lo tanto, la mejor solución sería adaptar
un sistema de autocalibración que lo evite. Además de esto, existen cirugías en medio es
acuoso en las que la calibración cambia respecto del medio aéreo (p. ej. las artroscopias) y
donde la autocalibración sería una solución bastante razonable.
5. Imágenes no rígidas: Como se ha comentado, la aplicación solo funciona con estructuras
que tienen una cierta rigidez, si en las estructuras aparecieran movimientos no rígidos
producidos, por ejemplo, por los latidos del corazón, el sistema fallará. Para evitar esto,
habría que buscar un modelo de movimiento de las vísceras para introducirlo en el proceso
de estimación.
6. Estimación de la posición de las herramientas dentro de la cavidad: Otro tema que tendría gran interés es la detección automática de las herramientas dentro de la imagen y la
estimación de su posición en la cavidad. Esto sería especialmente útil para saber si una herramienta ha entrado en una región crítica que está fuera de la imagen, pero que es visible
en la reconstrucción densa. Además, esta estimación también tiene interés en el área de la
robótica médica para el control de las herramientas a través de un robot (visual servoing).
7. Trabajar de cara a otras líneas como, por ejemplo, intentar obtener un modelo 3D más
preciso y un modelo matemático de la cavidad para su posterior recreación en simulaciones
o, intentar fusionar información de CT y/o MR y mostrarla como realidad aumentada y
virtual dentro de la aplicación, de este modo, esta información preoperatoria le serviría de
ayuda al cirujano en el momento de la intervención.
(a) Retriangulación por nuevo vértice.
(b) Retriangulación por eliminación de vértice.
Figura 5.1: En ambas subguras el rectángulo negro representa la imagen vista por la cámara
y el color gris representa la falta de textura. En 5.1(a) existía un triángulo con textura. Al
desplazarse la cámara, un vértice de ese triángulo se ha salido de la imagen, creándose una nueva
característica (rojo) que ha ocasionado una nueva retriangulación formando 3 triángulos, 2 de
los cuales se han quedado sin textura por estar uno de sus vértices fuera de la imagen. En 5.1(b)
se tenían 3 triángulos con textura. Al desplazarse la cámara, uno de los vértices se ha salido de
la imagen y, a su vez, otro se ha eliminado (rojo) causando una nueva retriangulación y pasando
de 3 triángulos a 1 sin textura por tener uno de sus vértices fuera de la imagen.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
5. Trabajos Futuros y Conclusiones
26
5.2. Conclusiones
Con este proyecto se ha demostrado que es posible obtener el 3D de la cavidad observada,
aplicar realidad aumentada que guíe al cirujano durante la intervención, aumentar el fov que
se aprecia de una forma sintética y realizar mediciones precisas aplicando, únicamente, técnicas
de visión por computador, fotogrametría y robótica sin requerir de instrumentos adicionales al
endoscopio, todo ello en tiempo real. Estos resultados han servido para hacer un artículo cientíco sometido a Workshop on Advanced Sensing and Sensor Integration in Medical Robotics
(ICRA09) y una versión extendida será sometida al congreso Medical Image Computing and
Computer Assisted Intervention (MICCAI09).
Además del artículo cientíco, si la línea de trabajo futura se desarrolla de la forma esperada,
se está barajando la idea de crear una patente que proteja los derechos de propiedad intelectual
del sistema integro y de transferir estos resultados a la industria quirúrgica a corto o medio plazo.
Aunque este proyecto solo se ha centrado en la cirugía laparoscópica, las técnicas aquí expuestas se podrían aplicar a otro tipo de cirugías o exploraciones que se realicen con cámaras de
visible como, por ejemplo, artroscopias, endoscopias digestivas o colonoscopias.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
Bibliografía
[1] S. Voros, JA. Long, and P. Cinquin.
Automatic detection of instruments in laparoscopic
images: A rst step towards high-level command of robotic endoscopic holders. 26:1173
1190, 2007.
[2] G. Q. Wei, K. Arbter, and G. Hirzinger. Real-time visual servoing for laparoscopic surgery.
controlling robot motion with color image segmentation. 16(1):4045, 1997.
[3] A. Krupa, J. Ganglo, C. Doignon, M. F. de Mathelin, G. Morel, J. Leroy, L. Soler, and
J. Marescaux. Autonomous 3D positioning of surgical instruments in robotized laparoscopic
surgery using visual servoing. 19(5), 2003.
[4] P. Hynes, G. I. Dodds, and A. J. Wilkinson.
robot for surgical tasks.
Uncalibrated visual-servoing of a dual-arm
In IEEE Int. Symp. on Computational Intelligence in Robotics;
Automation, 2005.
[5] D. Stoyanov, A. Darzi, and G. Z. Yang. Dense 3D depth recovery for soft tissue deformation
during robotically assisted laparoscopic surgery. In Springer-Verlag, editor, Proc. MICCAI,
ser. LNCS, volume 3217, pages 4148, 2002.
[6] F. Mourgues, F. Devernay, and É. Coste-Manière. 3D reconstruction of the operating eld
for image overlay in 3D endoscopic surgery. In Proc. IEEE/ACM Symp. Augmented. Reality,
pages 191192, 2001.
[7] C. Wu, Y. Sun, and C. Chang. Three-dimensional modeling from endoscopic video using
geometric constraints via feature poisitioning. 54(7), 2007.
[8] J. Civera, A. J. Davison, and J.M.M. Montiel. Inverse depth parametrization for monocular
slam. 24(5), 2008.
[9] IEEE Hugh Durrant-Whyte, Fellow and Tim Bailey. Simultaneous localisation and mapping
(slam): Part i the essential algorithms.
[10] B. Triggs, P. F. McLauchlan, R. I. Hartley, and A. W. Fitzgibbon. Bundle adjustment a
modern synthesis. In LECTURE NOTES IN COMPUTER SCIENCE, 1999.
[11] A. J. Davison. Real-time simultaneous localisation and mapping with a single camera. In
Proc. International Conference on Computer Vision, 2003.
[12] A. J. Davison, I. D. Reid, N. D. Molton, and O. Stasse. Monoslam: Real-time single camera
slam. 29(6), 2007.
27
BIBLIOGRAFÍA
28
[13] Sebastian Thrun, Wolfram Burgard, and Dieter Fox. Probabilistic Robotic. The MIT Press,
2005.
[14] J. Shi and C. Tomasi. Good features to track. In IEEE CS Press, editor, IEEE CSConf.
Computer Vision and Pattern Recognition, pages 593600, 1994.
[15] C. Harris and M Stephens. A combined corner and edge detector. In Fourth Alvey Vision
Conference, pages 147151, 1988.
[16] J. Neira and J. D. Tardos. Data association in stochastic mapping using the joint compatibility test. pages 890897, 2001.
[17] L. A. Clemente, A. J. Davison, I. D. Reid, J. Neira, and J. D. Tardós. Mapping large loops
with a single hand-held camera. In Robotics Science and Systems, 2007.
[18] J.M.M. Montiel, J. Civera, and A. J. Davison. Unied inverse depth parametrization for
monocular slam. In Robotics Science; Systems Conference.
[19] Z. Zhang. A exible new technique for camera calibration. 22(11):13301334, 2000.
[20] P. F. Strum and S. J. Maybank. On plane-based camera calibration: A general algorithm,
singularities, applications. In Proc. of the IEEE Computer Society Conference, pages 432
437, 1999.
[21] R. Hartley and A Zisserman. Multiple View Geometry in Computer Vision. CAMBRIDGE
UNIVERSITY PRESS, 2003.
[22] J. Civera, A. J. Davison, J. A. Magallón, and J. M. M. Montiel. Drift-free real-time sequential
mosaicing. International Journal of Computer Vision, page Aceptado, 2008.
[23] G. Klein and D. Murray.
Improving the agility of keyframe-based slam.
In Proc. Eu-
ropean Conference on Computer Vision, editor, Proc. European Conference on Computer
Vision, 2008.
[24] B. Williams, G. Klein, and I. D. Reid. Real-time slam relocalisation. In IEEE, editor, Int.
Conf. on Computer Vision, pages 18, 2007.
[25] M. Cummins and P. Newman.
Probabilistic appearance based navigation and loop clo-
sing. In International Conference on Robotics and Automation, editors, IEEEInternational
Conference on Robotics and Automation ICRA07, 2007.
[26] J Civera, D. Bueno, A. J. Davison, and J.M.M Montiel. Camera self-calibration for sequential
bayesian structure from motion. page Aceptado, 2009.
Proyecto Fin de Máster: Utilización de MonoSlam con realidad aumentada en laparoscopia.
Descargar