Full text
Proyecto Final de Carrera Ingeniería Industrial Curso 2012-2013 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio Rubén Lumbreras Roche Director: José María Martínez Montiel Departamento de Informática e Ingeniería de Sistemas Escuela de Ingeniería y Arquitectura Universidad de Zaragoza Marzo 2013
Agradecimientos • Agradecimiento a Oscar García Grasa y al equipo de cirujanos del Hospital Clínico Lozano Blesa (Ismael Gil, Ernesto Bernal y Santiago Casado) por las secuencias in-vivo de operaciones de hernia ventral en humanos. • A George Klein por su generosidad al permitir el empleo del software "PTAM" para uso de investigación. • Y una mención especial a 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. i
iii Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio Resumen En la actualidad la intervención con cirugía laparoscópica se ha convertido en una técnica habitual en las diferentes especialidades quirúrgicas. El empleo de esta técnica en sustitución a la cirugía convencional, que se realiza mediante una incisión en el abdomen, presenta grandes benecios al ser una técnica menos invasiva. El uso que se le da a las imágenes que proporciona el endoscopio durante la intervención se limita a su visualización por el monitor, para ser inmediatamente desechadas. El objetivo es analizar de qué manera los recientes resultados de visión por computador desarrollados para la robótica móvil pueden explotarse en la cirugía laparoscópica. Se ha focalizado el trabajo en los métodos de construcción de mapas simultáneos a la localización a partir de imágenes porque presenta gran similitud entre la robótica y la cirugía: una cámara móvil (endoscopio), observa una escena (cavidad abdominal) por primera vez, siendo el objetivo construir, en tiempo real a frecuencia de video, un mapa de la escena y estimar simultáneamente la localización de la cámara (endoscopio) respecto del mapa construido. Una vez obtenido este resultado pueden realizarse medidas geométricas sobre la escena, dar soporte a anotaciones de realidad aumenta. También permite mostrar una reconstrucción de la escena que cubre la unión de todas las observaciones parciales que ha detectado el endoscopio consiguiendo así aumentar el campo de vista del endoscopio. El empleo de técnicas de SLAM visual permiten conocer la trayectoria seguida por la cámara durante todo la toma de imágenes así como obtener el mapa que conforma la estructura de la escena. El problema de estos algoritmos es que en la práctica, la estimación de la trayectoria de la cámara es correcta pero la estimación del modelo 3D de la escena es errónea debida a la aparición de puntos espurios, puntos 3D erróneamente estimados en el mapa. Este proyecto se centra en mejorar la calidad del mapa, por una parte mediante la reducción de la tasa de espurios en tiempo real y por otra mediante el procesado del mapa a posteriori para una eliminación nal de espurios y la construcción de un mapa de apariencia fotorrealista. Esta reconstrucción se realiza aplicando técnicas de mallado triangular sobre el mapa semidenso estimado de manera que aplicando un texturizado sobre la supercie creada se genere la reconstrucción fotorealista de la escena. La presencia de puntos espurios arruina este modelo por lo que es preciso obtener un mapa 3D con baja densidad de espurios. Los métodos propuestos son validados sobre secuencias reales de eventroplastia por laparoscopia in-vivo en humanos. Pudiendo concluir que las técnicas de SLAM pueden aplicarse con éxito en la cirugía laparoscópica. Este trabajo se enmarca dentro del proyecto de investigación del Plan Nacional: "DPI2009- 07310. Visión 3D robusta y en tiempo real. Aplicación de la realidad aumentada en cirugía con endoscopia." desarrollado por el Grupo de Robótica, Percepción y Tiempo Real de la Universidad de Zaragoza que tiene como uno de sus objetivos la aplicación de técnicas de visión por computador a la cirugía con endoscopia para la reparación de hernias ventrales.
Índice general Agradecimientos ......................................... i Resumen.............................................. iii 1. Introducción 1 1.1. EstadodelArte....................................... 1 1.2. MotivaciónyObjetivos................................... 2 1.3. Estructuradelamemoria ................................. 3 2. Algoritmo de SLAM visual: PTAM 5 2.1. Seguimiento de la posición de la cámara: Tracking . . . . . . . . . . . . . . . . . . . 5 2.2. Estimación del mapa de la escena: Mapping . . . . . . . . . . . . . . . . . . . . . . . 6 2.3. Resultadosobtenidos.................................... 7 3. Eliminación de espurios a posteriori 9 3.1. Eliminación segu« Error de Reproyección . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2. Eliminación por ángulo de paralaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3. Eliminación por Error de Mínima Mediana en profundidad . . . . . . . . . . . . . . . 11 4. Eliminación de espurios en tiempo real 15 4.1. Sintonización del algoritmos de eliminación de puntos con Error de Reproyección excesivo ........................................... 15 4.2. Eliminación de puntos no reobservables en frames . . . . . . . . . . . . . . . . . . . . 17 5. Reconstrucción fotorealista de la escena 19 5.1. Algoritmo de triangulación implementado . . . . . . . . . . . . . . . . . . . . . . . . 20 6. Validación y Resultados 25 6.1. Eliminación de espurios a posteriori . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 6.2. Eliminación de espurios en Tiempo Real . . . . . . . . . . . . . . . . . . . . . . . . . 29 6.3. Reconstrucciones3D.................................... 32 6.4. Tiemposdecómputo.................................... 35 v
vi ÍNDICE GENERAL 7. Conclusiones y Trabajo Futuro 37 7.1. Conclusiones ........................................ 37 7.2. Líneas de investigación futuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 Bibliografía 41 A. Resultados y Reconstrucciones 43 A.1.Secuencia2011-02-28.................................... 44 A.2.Secuencia2011-04-04.................................... 46 A.3.Secuencia2011-09-27.................................... 48 A.4.Secuencia2011-10-03.................................... 50 A.5.Secuencia2011-10-17.................................... 52 A.6.Secuencia2011-10-18.................................... 54 A.7.Secuencia2011-11-29.................................... 56 A.8.Secuencia2012-01-23.................................... 58 A.9.Secuencia2012-02-06.................................... 60 A.10.Secuencia2012-03-06.................................... 62 A.11.Secuencia2012-05-21(1) .................................. 64 A.12.Secuencia2012-05-21(2) .................................. 66 A.13.Secuencia2012-06-04.................................... 68 A.14.Secuencia2012-07-02(1) .................................. 69 A.15.Secuencia2012-07-02(2) .................................. 71 Lista de guras 73 Lista de tablas 76
Capítulo 1 Introducción 1.1. Estado del Arte La visión por computador es la disciplina que tiene como objetivo la tarea de programar un computador para que "entienda" una escena o interprete las características de una imagen. Abarca muchos campos de trabajo como la detección, localización y reconocimiento de objetos en imágenes, seguimiento de objetos o mapeo de una escena para la generación de modelos tridimensionales. Existen variedad de algoritmos que permiten la obtención de modelos 3D a partir de secuencias de imágenes de manera secuencial. Agarwal [30] presenta la posibilidad de obtener la reconstrucción 3D de ciudades enteras mediante el empleo de miles de cientos de imágenes desordenadas de la misma. Furukawa [31] plantean la posibilidad de obtener modelos densos de objetos y lugares también a partir de un conjunto de imágenes de la escena aplicando técnicas de emparejamiento sobre imágenes y su expansión sobre píxeles cercanos, dotando al algoritmo de la capacidad de discernir puntos outliers en la escena. En concreto, este proyecto se va a centrar en el empleo de técnicas de SLAM visual (Simultaneous camera Locatization And Mapping) para la generación de modelos 3D de la escena a partir de una secuencia real de cirugía de reparación de hernia ventral en humanos. Será en los trabajos de Stoyanow [23] y Mourgues [24] donde se puedan ver algunos de los resultados de aplicar este tipo de técnicas de visión por computador sobre secuencias médicas para la obtención de modelos 3D haciendo uso de endoscopios monoculares. Koppel [22], estima la profundidad de la escena en una operación colonoscópica a partir de la disparidad entre los puntos en las diferentes imágenes de la secuencia generando un modelo 3D preciso de la escena. En la actualidad existen diversos softwares libres al alcance del usuario que permiten realizar reconstrucciones fotorealistas no secuenciales a partir de una secuencia de imagenes. Un ejemplo de este tipo de softowares es 123D Catch desarrollado por Autodesk. A partir de una secuencia de imágenes de la escena que se desea reconstruir, este software permite llevar a cabo un modelizado de la misma, generando una malla densa texturizada que puede ser visualizada (g. 1.1). Además permite realizar mediciones sobre la escena una vez se ha realizado el modelo 3D. Como se puede ver en los resultados obtenidos, es posible generar un modelo 3D dedigno a partir de una secuencia de imágenes de una operación real de cirugía de reparación de hernia ventral. Sin embargo, este tipo de programas y algoritmos no cubren las necesidades que se requieren en el empleo de este tipo de técnicas en cirugía laparoscópica. Todos estos trabajos como se ha visto permiten obtener modelos 3D pero no lo hacen en tiempo real a frecuencia de vídeo. 1
2 . Algoritmo de SLAM visual: PTAM 8 Figura 2.2: Reconstrucción 3D de la cavidad abdominal a partir del mapa estimado por PTAM. En el siguiente capítulo 3 se presenta un algoritmo que asegura la obtención de un modelo 3D libre de espurios. Una vez se haya conseguido un método que asegure la eliminación total de puntos espurios del mapa estimado, se analizará el algoritmo actual de detección y eliminación de espurios implementado en PTAM para vericar su correcto funcionamiento, modicándolo convenientemente para conseguir un mapa libres de puntos espurios en tiempo real y a frecuencia de vídeo. Estás mejoras se presentan el capítulo 4. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
Capítulo 3 Eliminación de espurios a posteriori El objetivo que se persigue a lo largo de todo el proyecto es obtener un mapa de puntos 3D estimado de la escena (cavidad abdominal) libre de espurios que permita obtener un modelo 3D lo más dedigno posible. Para garantizarlo se ha desarrollado un algoritmo que realice un tratamiento a posteriori de los datos obtenidos por el algoritmo PTAM eliminando todos los puntos que perturban la escena y dañan la reconstrucción 3D. El algoritmo consta de tres etapas: la primera de ellas se centra en la eliminación de puntos espurios a partir de su error de reproyección. La segunda de las etapas eliminará puntos espurios según su ángulo de paralaje. Como último paso en la eliminación de espurios aparece un ltrado de puntos espurios en función de la profundidad relativa de los puntos con respecto a la de sus vecinos (relación entre la coordenada Z del punto y la de sus vecinos). Los resultados que se obtienen pueden verse en el capítulo 6 y en el anexo A. 3.1. Eliminación segu« Error de Reproyección La primera etapa del algoritmo se centra en la detección automatizada de emparejamientos espurios y su correspondiente eliminación en función del error de reproyección estimado. A partir del mapa 3D estimado y la información que aporta cada KF (puntos homólogos y posición de la cámara) es posible llevar a cabo un análisis a posteriori de la información. El procedimiento a seguir en esta etapa será: 1. Reproyectar el mapa de puntos 3D estimado sobre los diferentes KFs. 2. Determinar el error de reproyección entre el punto y sus correspondencias. 3. Eliminación de aquellos puntos con un error de reproyección por encima del threshold σ . El modelo de proyección empleado para determinar el error de reproyección de los puntos es el mismo que se emplea en el algoritmo PTAM (ver cap. 2). Será el módulo de este error de reproyección ej el que se emplee en el algoritmo de eliminación para aceptar los puntos inliers del mapa (ec. 3.1): |ej|=qe2 jx +e2 jy (3.1) El error de reproyección varía según el nivel de la escala en la que fue detectada la característica. Por ese motivo, es necesario ajustar todos los puntos del mapa al mismo nivel. Para ello, el error 9
3 . Eliminación de espurios a posteriori 10 de reproyección se divide para un valor de ruido σ= 2l como sucede en el cálculo de la función objetivo de Tukey ec. 2.7. Siendo l igual al nivel de la pirámide (donde l= 0 equivale a escala na y l= 3 a la escala basta) en el que fue detectado. Normalizados los valores al mismo nivel de escala se procede a determinar si el punto debe eliminarse del mapa. En el capítulo siguiente (Eliminación de espurios en tiempo real) se analiza el algoritmo de detección y eliminación implementado en PTAM en tiempo real pero como pequeño adelanto comentar que el algoritmo original implementado se focaliza también en la detección y eliminación de espurios en función del error de reproyección. Por esa razón, el threshold empleado en esta etapa de eliminación es el mismo que en el empleado en la detección y eliminación de espurios en tiempo real por PTAM (ver cap.4). Concretamente se empleará el threshold (valor de corte σ ) que se propone como mejora y que se comentará en el capítulo siguiente. |ej| ≤ σ (3.2) No resulta coherente emplear un valor más restrictivo de σ , por ejemplo σ= 1 , para esta etapa de eliminación de espurios siendo que el sistema de detección y eliminación en tiempo real implementado en PTAM no elimina puntos con error de reproyección menor a un threshold jado. Además, resulta innecesario ser tan restrictivos eliminando puntos según error de reproyección para garantizar un mapa nal que reconstruya de manera dedigna la escena 3D. 3.2. Eliminación por ángulo de paralaje Además de la existencia de espurios debida al error de reproyección, se pudo comprobar como una sección de aquellos puntos considerados espurios durante el análisis inicial, cumplían una serie de condiciones comunes: eran puntos vistos por cámaras muy próximas entre sí (en alguna ocasión consecutivas) y además eran únicamente vistos por un par de KFs de la secuencia. Como eliminar todos los puntos vistos únicamente por dos cámaras o cámaras que estuvieran demasiado próximas originaba que se eliminaran mayor cantidad de puntos inliers que outliers y no todos los espurios eran eliminados, se planteó que el algoritmo eliminara puntos espurios en función de su ángulo de paralaje. El método para la eliminación de puntos espurios con respecto a su ángulo de paralaje es el siguiente: 1. Búsqueda de los keyframes que tienen correspondencia con el punto. 2. Cálculo de los rayos de proyección del punto respecto a las cámaras con emparejamiento. 3. Cálculo del ángulo de paralaje para los distintos pares de rayos de proyección. 4. Eliminación del punto que posee un ángulo de paralaje menor a un threshold. El ángulo de paralaje es el ángulo que forma la intersección de los rayos de luz que unen el punto del mapa 3D con el centro óptico de la cámara que observa la característica [10]. Se calculan los vectores directores de estos rayos ( ~u y ~v ) y se determina el ángulo α (ec. 3.3) que se crea como intersección entre rectas (g. 3.1(b)). α= arc cos ~u~v |~u||~v| (3.3) Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
3 . Eliminación de espurios a posteriori 11 (a) (b) Figura 3.1: (a) Búsqueda de los distintos KFs que ven el punto. (b) Cálculo del ángulo entre los rayos de los KFs. Se han convertido los ángulos obtenidos de grados a pixeles, para mantener una coherencia entre unidades en el proceso de eliminación de espurios. El ángulo de visión de la cámara endoscópica es ( 70◦ ) y el tamaño de la imagen de captura de (384x288 px). Al no ser el pixel cuadrado, se hace una pequeña aproximación suponiéndolo de 310x310 px para obtener la relación de conversión de grados a píxeles (ec. 3.4). grados pixel =ang _ endoscopio Tam _ imagen (3.4) El mayor de todos los ángulos de paralaje (g. 3.1(a)) calculados para un punto, será el elegido para determinar si el punto cumple o no la condición de ángulo de paralaje ya que será el que tenga mayor peso de entre todos los ángulos calculados. Todo punto cuyo mayor ángulo de paralaje sea menor a 10 píxel (threshold de eliminación) será considerado espurio y eliminado del mapa. Como ocurría en la etapa de eliminación de espurios con error de reproyección, es preciso ajustar el ángulo de paralaje de todos los puntos al mismo nivel de escala. Es por eso que se multiplica el ángulo de paralaje por su nivel de ruido correspondiente al nivel de escala en el que ha sido visto ( σ= 2l , con l el nivel de escala). 3.3. Eliminación por Error de Mínima Mediana en profundidad Se analizaron las reconstrucciones fotorealistas que se obtenían aplicando los algoritmos de eliminación anteriores y se comprobó que sobre el mapa nal seguían apareciendo puntos espurios. Estos puntos espurios aparecían de manera aleatoria por toda la reconstrucción por lo que se pensó en hacer un análisis local de todos los puntos del mapa. La solución que se plantea es analizar de manera individual las características de cada punto con la de sus vecinos. En concreto la característica empleada para la determinación de si un punto es espurio o no la marcará la coordenada Z del mismo (profundidad en la escena). El método de eliminación que se propone es el siguiente: 1. Comprobar si la característica se encuentra entre los umbrales de profundidad del KF ( dSceneDepthMean ) en el que se observa. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
3 . Eliminación de espurios a posteriori 12 2. Proyección del punto 3D sobre el primer KF en el que se ve el punto. 3. Búsqueda de los puntos del mapa 3D que se encuentran en un radio próximo al punto. 4. Determinación de las coordenadas Z de los puntos seleccionados y comparación con la del punto analizado ( dSceneDepthMedian ). 5. Eliminación del punto si el valor de la coordenada Z no se encuentra entre unos umbrales jados. La primera parte de este algoritmo hace una comparación entre la profundidad de la escena ( DepthMean ) y la coordenada Z del punto pj . Una vez se ha ajustado la posición de la cámara mediante la minimización de la función robusta del error de reproyección durante el Tracking, se calcula el valor medio de la profundidad de la escena (ec. 3.5 y ec. 3.6). DepthMean = N X k=1 zk N (3.5) σ2= N X k=1 z2 j−N∗DepthMean2 N (3.6) Donde N es el número de puntos empleados para determinar la profundidad del frame, zj es el valor de la coordenada z de cada punto k del conjunto. La condición de eliminación según la profundidad media de la escena es poco restrictiva ya que para el cálculo de DepthMean no se ha empleado todo el mapa estimado sino una pequeña porción de este conjunto (ec. 3.7 y 3.8) por lo que se da cierta permisividad al resultado. pj(z)≥DepthMean −3∗σmedia (3.7) pj(z)≤DepthMean + 3 ∗σmedia (3.8) Sobre la gura 3.2 se puede ver un ejemplo aplicado sobre una de las secuencias reales con las que se ha trabajado. El mapa de puntos representados es el conjunto de puntos que se observan desde uno de los KFs. Aquellos puntos que se encuentren fuera de los umbrales establecidos a partir de la dSceneDepthMean (línea verde) y la desviación estándar σmedia (líneas rojas) de la cámara serán eliminados (puntos azules). En la segunda etapa se realiza una eliminación local de los puntos 3D. Se buscará para cada punto, en qué KF ha sido visto el punto por primera vez y se proyectará el mapa estimado sobre él. Iterativamente, se buscarán aquellos puntos que se encuentren dentro del radio de búsqueda R que determinará si el punto es outlier. El mínimo número de puntos para llevar a cabo el análisis es de 10 puntos inliers. De manera progresiva, se irá incrementado el valor de R hasta que se hayan detectado el mínimo de puntos inliers. Si superado el valor máximo de R (50 píxeles) no se detectan el suciente número de puntos, el punto pj será considerado espurio y eliminado del mapa. Si por el contrario para alguno de los radios de búsqueda se alcanza el mínimo de puntos, se procederá a calcular el error de mínima mediana. Se emplea la mediana porque es robusta siempre Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
3 . Eliminación de espurios a posteriori 13 Figura 3.2: Eliminación de puntos outliers en función de la profundidad media del KF y cuando el porcentaje de espurios sea inferior al 50%. Algo que no ocurre con la media donde un valor espurio perturba los resultados de este estimador estadístico. Para cada punto pz de los puntos detectados durante la búsqueda radial, se determinará el error de mediana de las diferencias absolutas de las coordenadas Z del conjunto de puntos P (ec. 3.9). errorprof =med(|pz−zj|:zj∈P) (3.9) ErrorMinMedian será aquél que haga mínimo el error de mediana de las diferencias entre las coordenadas de los puntos (ec. 3.10). ErrorMinMedian =min(errorprof ) (3.10) σmedian = 1.4826 ∗(1 + 5 N∗2−2)∗√ErrorMinMedian2 (3.11) La desviación estándar robusta se calculará a partir a partir de la ecuación planteada por Rousseeuw [11] en la que el cálculo de la desviación estándar estimado está relacionado con la mediana de los errores absolutos de profundidad (ec. 3.11), siendo N igual a 10. Como condición adicional es necesario que el punto todavía siga siendo considerado inlier para que se tenga en cuenta a la hora de la búsqueda de los vecinos más próximos. Si el valor del error de mediana en profundidad Z para el punto analizado ( errorprof (j) ) no se encuentra dentro del umbral de aceptación, el punto se considerará outlier y será eliminado del mapa nal (ec. 3.12). |errorprof (j)| σmedian >2.5 (3.12) Este método propuesto permite la eliminación de parte de los puntos correspondientes al instrumental médico-quirúrgico empleado en la operación. Estos puntos verdaderamente no están mal estimados pero a la hora de llevar a cabo la reconstrucción 3D puede perturbar la escena y generar una interpretación errónea de la misma. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
Capítulo 4 Eliminación de espurios en tiempo real En el capítulo anterior se ha presentado un algoritmo que asegura la obtención de mapas nales libres de espurios para su posterior procesado en la obtención de modelos 3D fotorealistas. El siguiente objetivo es conseguir que sea el propio algoritmo PTAM el que lleve a cabo la detección y eliminación de espurios durante la ejecución de la secuencia, en tiempo real y a frecuencia de vídeo. Cuanta menor sea la necesidad de empleo del algoritmo de eliminación a posteriori, se demostrará que las modicaciones propuestas en el algoritmo original mejoran la precisión del mapa, eliminando mayor fracción de espurios durante la ejecución de la secuencia. PTAM cuenta con su propio algoritmo de detección y eliminación de espurios, que focaliza su eliminación en el error de reproyección de los puntos 3D. En la primera parte de este capítulo se analizará el algoritmo original implementando para la eliminación de espurios y se propondrán una serie de mejoras que posibiliten la reducción de la tasa de espurios. Como complemento a estas mejoras sobre el algoritmo actual de detección de espurios, se presenta una nueva condición de detección y eliminación según la observabilidad de los puntos en los frames de la secuencia. Esta mejora pretende cubrir las necesidades que aparecen tras comprobar que existe la posibilidad de que no todos los puntos espurios se eliminen únicamente con el sistema actual de eliminación. 4.1. Sintonización del algoritmos de eliminación de puntos con Error de Reproyección excesivo La detección y eliminación de espurios se lleva de manera conjunta por los procesos de mapping y tracking. La tarea de mapping se encarga de la eliminación mientras que el tracking se centra en la detección y determinación de qué puntos deben ser considerados espurios. Para cada punto estimado del mapa se computa el número de veces que ese punto ha sido visto como espurio ( nSeenOutlier ) y cuántas ha sido visto como bueno ( nSeenInlier ) en los frames de la secuencia. En cada iteración de la tarea del mapping se comprueban estos valores para proceder a la eliminación del punto del mapa. La condición que rige si un punto pj debe mantenerse en el mapa 3D o por el contrario debe eliminarse del conjunto, viene determinada por la ecuación 4.1. if nSeenOutlier ≥20 && nSeenInlier nSeenInlier+nSeenOutlier ≤50 % ⇓ pj=Outlier (4.1) Al menos el 50% de las veces que pj ha sido visto y detectado en los frames de la secuencia, debe computarse como inlier para que el punto continúe en el mapa. Como condición adicional, a 15
4 . Eliminación de espurios en tiempo real 16 cada punto se le otorga una vida previa antes de proceder a su eliminación del mapa. Debe ser visto al menos 20 veces como outlier antes de proceder a su eliminación, de tal forma que se permite a un punto recién creado en el mapa ajustar su posición en la escena tras un ajuste local y global (Bundle Adjustment) sin proceder a su instantánea eliminación. Como mejora en la detección y eliminación de espurios, se propone modicar esta condición de aceptación de puntos inliers en el mapa ( sintonización de la puntuación acumulada de observaciones espurias ). Haciendo más restrictiva la condición que se reere al número de veces que debe ser un punto visto y detectado como inlier. El objetivo que se busca es conseguir eliminar mayor fracción de espurios durante la ejecución y así conseguir disminuir la tasa de espurios en el mapa estimado. En este caso, aumentar en exceso esta condición reduce la densidad del mapa sin la certeza de asegurar que los puntos eliminados hubieran sido ajustados en un posible ajuste de haces (Bundle Adjustment Local y Global) posterior. Por esta razón es necesario encontrar un equilibrio entre lo estricto que se quiere ser eliminando y la densidad que se desea en el mapa nal. Se ha modicado la fracción de forma que ahora será necesario que un punto haya sido contabilizado como inlier por lo menos el 80% de las veces que ha sido visto (ec. 4.2) en los frames. if nSeenOutlier ≥20 && nSeenInlier nSeenInlier+nSeenOutlier ≤ 80% ⇓ pj=Outlier (4.2) El Tracking por su parte, se encarga de ir estimando la posición local de la cámara para cada frame y a su vez determinar si los puntos observados son espurios o no. Es un proceso iterativo en el que por medio de técnicas de optimización no lineal se estima la posición del frame en función del mapa que observa (ec. 2.5). El peso que cada punto tiene en el ajuste del frame viene determinado por el estimador de mediana robusto ( σT ) de la distribución de la desviación estándar de los residuos de los puntos que intervienen en el ajuste del frame. Aquellos puntos cuyo residuo supera el valor del estimador robusto se les atribuye un peso nulo en el ajuste de la posición del frame. Así mismo, aquellos puntos cuyo peso en el ajuste sea nulo serán considerados espurios y se añadirán a la cuenta de espurios. La determinación de si un punto es espurio o no, se realiza en la última de las diez iteraciones del ajuste de la posición de la cámara. Como los valores que se obtienen del estimador robusto de mediana son muy elevados, en las últimas iteraciones del cálculo de la posición de la cámara, este valor se ja a 4 píxeles. De manera que aquellos puntos cuyo error de reproyección sea mayor a 4 píxeles tendrán un peso nulo en la estimación de la posición de la cámara y por tanto, considerados espurios. Obligados a ser lo más precisos posibles para su posterior tratamiento, errores de reproyección de esa magnitud son inaceptables. Por esta razón como segunda mejora, se propone separar el threshold de detección de espurios ( sintonización del umbral de marcado de observaciones espurias ) del threshold empleado en la estimación de la posición de la cámara, manteniendo los umbrales de aceptación utilizados para tal efecto ya que la estimación de la trayectoria de la cámara no se ve perturbada por la aparición de puntos espurios. Tras varios experimentos realizados con secuencias reales, se ha comprobado que reducir el valor de σ en exceso implica que el sistema se pierda y no sea posible obtener un mapa estimado de la escena. Estos resultados plantean la necesidad de encontrar un equilibrio entre lo estricto que se quiere ser a la hora de detectar puntos espurios y la necesidad de que el sistema no se pierda. De tal forma que el valor mínimo aceptado hasta el que se puede reducir el valor de sigma sin que el sistema se pierda en este tipo de secuencias es de 2 píxeles. Aquellos puntos cuyo error de Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
4 . Eliminación de espurios en tiempo real 17 reproyección sea menor a 2 píxeles serán considerados inliers. Este valor de σ será el mismo que se emplee en el algoritmo de detección y eliminación de espurios a posteriori en la etapa de eliminación de espurios explicado en el capítulo anterior (3). Estas pequeñas modicaciones además de mejorar los resultados en el mapa estimado, permiten mejorar la estimación de la trayectoria ya que se reduce el número de espurios utilizados para estimar la posición de la cámara durante el Tracking permitiendo ser lo más precisos posibles en el cálculo de la trayectoria. 4.2. Eliminación de puntos no reobservables en frames Durante una ejecución in-vivo sobre una secuencia de cirugía de hernia ventral se puede ir observando sobre cada frame el mapa estimado. Con el algoritmo trabajando a frecuencia de vídeo (30Hz o 30 imágenes/s) se observa cómo algunos puntos no encuentran correspondencia entre frames consecutivos. Si el punto está bien estimado cabría esperar que hasta que el endoscopio no terminara de barrer la zona en la que ese punto es visto, el punto fuera detectado en la imagen. En la gura 4.1 se puede ver un ejemplo de que este hecho no ocurre así. Figura 4.1: Frames consecutivos en los que se puede apreciar cómo no todo el mapa estimado es proyectado sobre ellos. Que ciertos puntos del mapa no encuentren correspondencia cuando son proyectados en ciertos frames, plantea la posibilidad de que esos puntos hayan sido mal estimados y por esa razón no obtengan correspondencia alguna. Por este motivo se ha creado una nueva condición que elimine aquellos puntos que siendo potencialmente visibles en el frame, no han sido detectados ( condición de reobservabilidad de puntos en frame ). De esta forma lo que se quiere evitar es la aparición de emparejamientos espurios que únicamente se vean en 2 cámaras consecutivas ya que para este tipo de emparejamientos, el error de reproyección que generan es 0 y por tanto, por medio del anterior algoritmo de eliminación, no serían detectados y eliminados del mapa. El punto de inclusión de esta nueva condición de detección, será en la sección de código que se encarga de determinar si un punto potencialmente visible en el frame ha sido detectado o no (proceso de tracking). Se computarán las veces que ha sido detectado y visto a lo largo de la secuencia de tal forma que puntos que debiendo estar en la imagen (visibles) y que no han sido detectados, se considerarán espurios. Al igual que ocurría con el algoritmo de eliminación según el error de reproyección en la que el mapping se encarga de la eliminación de los puntos que no cumplían la condición, en esta ocasión el proceso de mapping se encargará también de eliminar los puntos que no cumplan la condición de reobservabilidad en el frame (visible y detectado). Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
Capítulo 6 Validación y Resultados Las secuencias empleadas para la consecución de los experimentos constan de unos cuantos cientos de frames y han sido extraídas de cirugías de eventroplastia laparoscópica in-vivo en humanos grabadas en el Hospital Clínico Universitario Lozano Blesa de Zaragoza. En la gura 6.1 se puede ver un frame de cada una de las cavidades abdominales empleadas para la validación de los resultados. (a) (b) (c) (d) (e) (f) (g) (h) (i) (j) (k) (l) (m) (n) (ñ) Figura 6.1: Secuencias reales de operaciones con endoscopio proporcionadas por el Hospital clínico Lozano Blesa para vericar los resultados. Este tipo de secuencias analizadas presentan un común denominador entre ellas: la estructura de la escena es prácticamente rígida en su totalidad, no existe movimiento debido a la respiración del paciente o cualquier movimiento de los órganos. Además, no contienen grandes oclusiones que limiten la visión durante su ejecución que puedan llevar a pérdida por parte del algoritmo PTAM. Ante la diversidad de texturas de las hernias ventrales utilizadas para la validación, se puede razonar que si los experimentos propuestos son válidos para estas secuencias, el método empleado de detección y eliminación de espurios y el algoritmo de reconstrucción 3D podrán emplearse de manera generalizada en otras secuencias de endoscopio. Todas las secuencias han sido probadas con las diferentes propuestas en la detección y eliminación de espurios y la generación de modelos 3D fotorealistas. En este capítulo se presentan los 25
6 . Validación y Resultados 26 resultados obtenidos para una de ellas en concreto y un comentario general del resto que verique el correcto funcionamiento. El resto de resultados y modelos 3D quedan recogidos en el anexo A. Los resultados se centrarán en vericar el correcto funcionamiento de los distintos algoritmos implementados: algoritmo de eliminación a posteriori que garantice un mapa nal libre de espurios, algoritmo de eliminación en tiempo real que reduzca la tasa de espurios durante la ejecución de la secuencia a frecuencia de vídeo y algoritmo de triangulación en la generación de modelos 3D. Además se comprobarán los tiempos de cómputo de manera que se pueda garantizar que el sistema funciona en todo momento en tiempo real. 6.1. Eliminación de espurios a posteriori En primer lugar se va a comprobar la efectividad del algoritmo de detección y eliminación de espurios a posteriori. El objetivo es asegurar que el algoritmo implementando permite obtener un mapa nal libre de espurios que puede ser procesado para obtener un modelo 3D de la escena. Cada etapa se aplica de manera progresiva sobre el mapa estimado, de manera que los resultados que se obtengan de las etapas anteriores tengan validez en las siguientes. Si un punto ha sido considerado espurio en la etapa anterior, no volverá a ser tenido en cuenta en el resto de etapas. El orden de aplicación de las etapas de detección y eliminación será: 1. Eliminación según error de reproyección de los puntos 3D y sus correspondencias. 2. Eliminación según ángulo de paralaje de los puntos estimados del mapa. 3. Eliminación según error de mínima mediana en profundidad. La primera de las etapas corresponde a la eliminación según el error de reproyección de los puntos. El algoritmo será válido si del mapa nal se eliminan todos aquellos puntos que tengan un error de reproyección en alguno de sus emparejamientos, mayor a 2 píxeles. En la gura 6.2 se muestran los errores de reproyección acumulados de los puntos del mapa estimado tras nalizar la ejecución del PTAM y tras su paso por la etapa de eliminación según el error de reproyección. Figura 6.2: Porcentaje acumulado del Error de Reproyección para la secuencia de (b) de la g. 6.1 según el criterio de eliminación de error de reproyección a posteriori. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
6 . Validación y Resultados 27 Como se puede observar, los errores de reproyección tras la aplicación del algoritmo a posteriori, aseguran un mapa nal de puntos con errores de reproyección menores a los 2 píxeles. Para la segunda de las etapas (ángulo de paralaje) se comprobó que todos aquellos puntos que pasaban la etapa de eliminación cumplían la condición de aceptación, su ángulo de paralaje era mayor a 10 píxeles que era el threshold de corte jado (sección 3.2). Se comprobó manual y visualmente qué características tenían los puntos eliminados tras aplicar esta etapa de eliminación. En la gura 6.3 se puede ver el mapa nal obtenido tras la ejecución del algoritmo (punto blancos) junto con los puntos eliminados por la condición de ángulo de paralaje (puntos rojos). Figura 6.3: Mapa nal tras aplicar la etapa de eliminación según ángulo de paralaje. En rojo, los puntos eliminados en la etapa de ángulo de paralaje. Visualmente se puede apreciar cómo los puntos eliminados por la etapa de eliminación según ángulo de paralaje se concentran en zonas de la pared abdominal que a priori no dan la impresión de estar erróneamente estimadas. El problema que surge es que son puntos vistos por cámaras muy próximas y que generan ángulos de paralaje pequeños y, por esa razón, son eliminados del mapa. Además, se pudo ver que no todos los puntos espurios eran eliminados por esta condición. Se vio la necesidad de implementar la última etapa de las etapas de eliminación de espurios, error de mínima mediana de profundidad (sec. 3.3) para vericar que es posible obtener un mapa nal libre de espurios. Esta tercera etapa tiene como objetivo eliminar los puntos remanentes aún no eliminados por las etapas anteriores, de manera que se consiga un mapa libre de espurios. En la gura 6.4 se pueden ver los puntos eliminados por las etapas de ángulo de paralaje y error de profundidad así como el mapa nal generado para el modelo 3D. Visto que esta última etapa cubre las carencias que presenta la etapa de eliminación por ángulo de paralaje, se plantea la posibilidad de que el algoritmo de eliminación tenga únicamente 2 etapas: eliminación por error de reproyección y por error de mínima mediana en profundidad. De manera que la etapa de eliminación según ángulo de paralaje quede excluida al comprobarse que elimina mayor tasa de puntos inliers que outliers. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
6 . Validación y Resultados 28 Figura 6.4: Mapa nal tras aplicar la etapa de eliminación según ángulo de paralaje y error de mínima mediana. En rojo, puntos eliminados en la etapa de ángulo de paralaje. En azul, puntos eliminados en la etapa de error de mínima mediana. En la gura 6.5 se puede ver el mapa nal que se obtiene de aplicar únicamente la etapa de error de mínima mediana y suprimir la etapa de eliminación según ángulo de paralaje. El resultado muestra que se consiguen eliminar todos los puntos espurios que perturban la escena. Además destacar que, aunque en esta etapa también son eliminados algunos puntos inliers, la tasa de espurios eliminada es mayor que en el caso de aplicar la eliminación por ángulo de paralaje. Figura 6.5: Mapa nal tras aplicar la etapa de eliminación según ángulo de paralaje. En rojo, los puntos eliminados en la etapa de ángulo de paralaje. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
6 . Validación y Resultados 29 En resumen, aplicando las condiciones de eliminación según error de reproyección y error de mínima medina en profundidad, es posible garantizar un mapa nal libre de espurios con el que conseguir un modelo 3D fotorealista de la escena. Aplicar la etapa de eliminación según ángulo de paralaje, no aporta ningún benecio ya que reduce la densidad del mapa nal, eliminando más puntos inliers que espurios. 6.2. Eliminación de espurios en Tiempo Real Se comparará el algoritmo original del PTAM con las modicaciones propuestas. Estas mejoras se aplicarán de manera acumulativa de forma que el efecto de la modicación anterior tenga validez sobre la siguiente. El orden en el que se incluirán las mejoras será: 1. Sintonización del umbral para el marcado de una observación espúrea ( σ = 2). 2. Sintonización de la puntuación acumulada de observaciones espurias (Inlier > 50% ⇒ Inlier > 80%). 3. Adición de la condición de reobservación en la detección y eliminación de espurios (Detectados y Vistos > 30%). El objetivo que se persigue con la eliminación en tiempo real es conseguir que todo el peso de la detección y eliminación de espurios recaiga sobre el algoritmo PTAM y no sobre el algoritmo de detección y eliminación a posteriori. De manera que los resultados que se obtengan tras la ejecución de PTAM con las diferentes mejoras, se aproximen lo máximo posible al caso de aplicar el algoritmo a posteriori que es el que asegura un mapa nal libre de espurios. La manera de proceder para en la comprobación de los resultados, será determinar en primer lugar los errores de reproyección de cada uno de los puntos del mapa estimado por PTAM para cada una de las mejoras. En la gráca 6.6 se puede ver el error de reproyección acumulado para los distintos casos planteados y los errores de reproyección tras la aplicación del algoritmo de eliminación a posteriori. Los errores de reproyección de cada punto corresponden al error máximo del punto con respecto a todos sus emparejamientos. La curva en color rojo, corresponde al algoritmo PTAM original. Como se puede ver, la curva se encuentra muy desplazada hacia la derecha de lo que sería el caso ideal (curva verde de raya discontinua) que corresponde a los resultados obtenidos tras la aplicación del algoritmo a posteriori. Se puede ver como una reducción en el umbral de marcado de puntos espurios (curva azul) consigue una mejor aproximación al caso de eliminación a posteriori. Tomando como unidad de referencia comparativa los 2 píxeles de error, se puede ver como el porcentaje de espurios se ve reducido en un 7% para el caso de sintonización del umbral de marcado. Añadir la sintonización de la puntuación acumulada a la sintonización del umbral de marcado (línea verde continua) presenta una reducción del 15% de puntos espurios con error mayor a los 2 píxeles. En el caso de la adición de la condición de reobservabilidad (línea negra), se puede ver cómo los resultados que se obtienen son prácticamente idénticos a los del caso anterior, incluso en este caso se puede ver como el porcentaje de puntos con un error pequeño (0.5 píxeles) es menor que en el caso de no aplicar la condición de reobservabilidad. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
6 . Validación y Resultados 30 Figura 6.6: Porcentaje acumulado del Error de Reproyección para la secuencia de (b) de la g. 6.1. Estas dos últimas propuestas (umbral de puntuación y condición de reobervabilidad), son las que consiguen aproximar mejor la curva obtenida con el caso de eliminación a posteriori. Sin embargo la adición de la condición de reobservabilidad plantea un inconveniente. Además de no verse reducido el porcentaje de espurios eliminados por la condición de reobservabilidad, no se aproxima mejor a la curva del algoritmo de eliminación a posteriori, el número de puntos nal del mapa 3D estimado se ve reducido en mayor medida (tabla 6.1). PTAM Original PTAM σ= 2 Inlier > 80% Visto >30% Mapa Final (ptos) 2548 2143 2124 1758 Tabla 6.1: Tamaño del mapa nal estimado tras la aplicación del algoritmo de eliminación a posteriori aplicando los tres criterios de eliminación: error de reproyección, ángulo de paralaje y error de mínima mediana en profundidad. Esto plantea la posibilidad de que realmente con esta nueva condición de reobservabilidad lo que se esté haciendo sea eliminar más puntos inliers que espurios del mapa. En la gura 6.7 se muestra el mapa nal estimado para la secuencia tras la ejecución de PTAM (puntos blancos) y los puntos eliminados durante la ejecución según la condición de reobservabilidad (puntos rojos). Verdaderamente esta condición elimina puntos que a priori sí son espurios pero, sin embargo, elimina también puntos que pertenecen a la zona interna del defecto herniario sin ser espurios. La fracción de puntos espurios eliminados por esta condición es menor que la fracción de inliers eliminada. El problema que plantea esta condición, como ya se comentó en la sección 4.2, es que puntos que se encuentran en el interior del defecto, debido al movimiento lateral de la cámara en la trayectoria exploratoria, sean no detectados cuando si que son potencialmente visibles en la imagen. Esta nueva condición no supone una mejora real en los resultados, llegando incluso en algunas ocasiones a obtener unos resultados más contraproducentes para alguna de las secuencias (aumento Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
6 . Validación y Resultados 31 Figura 6.7: Mallado obtenido tras aplicar la condición de reobservabilidad. En blanco aparecen los puntos considerados inliers tras la aplicación del algoritmo a posteriori y que generan el mallado 3D. En rojo los puntos eliminados durante la ejecución según la condición de reobservabilidad. de los porcentajes de espurios con error mayor a 2 píxeles). Por esa razón y a la vista de los resultados obtenidos, las mejoras que proporcionan una mejor aproximación a la situación idónea en la que se obtendría un mapa libre de espurios que sería tras la aplicación del algoritmo a posteriori, son la sintonización del umbral de marcado y de la puntuación acumulada. En la tabla 6.2, se recogen los porcentajes de puntos eliminados por cada una de las etapas del algoritmo de eliminación a posteriori y el tamaño de mapa obtenido para las distintas propuestas de mejora en el algoritmo de eliminación en tiempo real. % Error>2px % Mediana Mapa Final(ptos) PTAM Original 23% 6% 2951 PTAM σ= 2 16% 5% 2677 Inlier > 80% 8% 7% 2311 Visto > 30% 8% 6% 2033 Tabla 6.2: Porcentajes de puntos espurios tras aplicar las condiciones de error de reproyección y profundidad del punto. Se incluye también el tamaño del mapa obtenido al nal de la simulación. Se puede comprobar cmo la condición de eliminación de reobservabilidad de los puntos no reduce los porcentajes de espurios eliminados sino que además disminuye la densidad del mapa nal. Comprobados los resultados obtenidos para una de las secuencias de laparoscopio, se lleva a cabo el mismo análisis para el resto de ejecuciones. Los resultados para todas ellas pueden verse en el Anexo A (Resultados y Reconstrucciones). En la gura 6.8 se recogen los porcentajes de puntos del mapa 3D estimado cuyo error máximo de reproyección es mayor a 2 píxeles. La situación ideal sería obtener un error de reproyección del 0% para asegurar una correcta efectividad del algoritmo de detección y eliminación en tiempo real según error de reproyección. La primera barra corresponde al algoritmo original de detección y eliminación de espurios y la segunda barra a la modicación del algoritmo tras una sintonización del umbral de marcado de Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
6 . Validación y Resultados 32 Figura 6.8: Porcentajes de puntos espurios con error de reproyección mayor a 2 píxeles para las distintas secuencias. espurios y la sintonización de la puntuación acumulada de eliminación que es la solución que mejores resultados genera. Se puede ver cómo el porcentaje se ve reducido para todas y cada una de las secuencias sobre las que se ha analizado. Si bien es cierto comentar que para las secuencias (e) y (m) se han tenido ciertas dicultades a la hora de procesar las secuencias con el algoritmo PTAM. En el caso de la secuencia (e) para poder obtener un mapa 3D se debe detener la ejecución antes de que acabe, ya que si se permite que el vídeo termine, el algoritmo PTAM se pierde y es imposible obtener un resultado able de la estructura de la escena. En el caso de la secuencia (m) el problema que surge es que su mapa estimado tiene tan baja densidad de puntos que en ocasiones el sistema se pierde y como ocurría en el caso de la secuencia (e) es imposible obtener un mapa nal correcto de la escena. Como resumen general se puede concluir que la mejor solución de entre las distintas mejoras en la detección y eliminación de espurios en tiempo real planteadas es la correcta sintonización del umbral de aceptación de puntos inliers ( σ = 2) y la sintonización de la puntuación acumulada en eliminación (Inlier > 80%). La nueva condición de reobservación para este tipo de secuencia no aporta mejoras en lo que a la reducción de puntos espurios se reere y además reduce la densidad de los mapas nales. 6.3. Reconstrucciones 3D En esta sección se presentan los modelos 3D obtenidos a partir del algoritmo de triangulación implementado. El mapa empleado para su obtención ha sido procesado por el algoritmo de detección y eliminación a posteriori de manera que se pueda asegurar un mapa nal libre de espurios. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
6 . Validación y Resultados 33 La gura 6.9 corresponde a la reconstrucción 3D obtenida para la secuencia 6.1(b). En la imagen de la izquierda se puede observar el proceso de texturización seguido para la reconstrucción. Los puntos que se observan en la imagen están coloreados según la escala más na en la que fueron vistos. La relación de colores en función de la escala en la que fueron cogidos desde la más na a la más basta es: rojo, azul, verde, morado. Para todas las reconstrucciones fotorealistas únicamente se van a emplear los puntos correspondientes a la escala na y subna (rojos y azules) que son aquellos puntos que aportan mayor precisión geométrica. Figura 6.9: Reconstrucción 3D de la secuencia (b) de la g. 6.1 En la imagen de la izquierda puede verse también el mallado triangular obtenido antes de aplicar la texturización. También puede verse la posición nal de los puntos del mapa, una vez se ha aplicado el suavizado Laplaciano a la malla (cap. 5). El desplazamiento que se produce sobre cada punto queda reejado mediante la líneas que aparecen en la imagen que unen la posición inicial y nal de los puntos empleados en la reconstrucción de la escena. Las líneas generadas durante el paso de suavizado no unen puntos muy distantes del mapa 3D por lo que puede decirse que la eliminación de espurios en tiempo real y el algoritmo de eliminación de espurios a posteriori han eliminado todos los puntos outliers del mapa que pudiera haber. En la gura de la derecha se puede ver el resultado nal de la reconstrucción 3D, aplicada sobre la malla la textura correspondiente de la escena. Como se puede observar el resultado muestra una reconstrucción de la escena 3D muy dedigna a lo que se visualiza en la secuencia laparoscópica. En la g. 6.10 se pueden ver otras vistas del modelo 3D obtenido para la cavidad abdominal. Las reconstrucciones fotorealistas para las diferentes secuencias laparoscópicas se encuentran incluidas en el anexo A. Ha sido posible obtener modelos 3D para todas las secuencias sobre las que ha sido probado el algoritmo de triangulación excepto para 2 de ellas. El tamaño medio de los mapas nales obtenidos libres de espurios es de alrededor del millar de puntos. Para la secuencia (m) el mapa estimado de la escena contiene una densidad baja de puntos (decenas de puntos) y a la hora de aplicar los métodos de eliminación de espurios del algoritmo de eliminación a posteriori, en concreto el ajuste de error de mínima mediana, se elimina todo el mapa ya que la distancia entre puntos en el mapa es superior al radio de búsqueda creado y no se encuentran sucientes emparejamientos. Además, en ocasiones, el sistema también se pierde debida Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
Bibliografía [1] Klein, G., Murray, D.: Parallel Tracking and Maping for Small AR Workspaces. In:Symposium on Mixed and Augmented Reality (ISMAR). (2007). [2] F. Devernay and D. Faugeras. Straight lines have to be straigth. Machine Vision and Appliations, 13(1):14-24,2001. [3] P. Huber. Robust Statistics. Wiley, 1981. [4] B Triggs, P McLauchlan, R Hartley, A Fitzgibbon: Bundle adjustment,A modern synthesis. Vision Algorithms: Theory and Practice, 2000 . Springer. [5] Zoltan Csaba Marton and Radu Bogdan Rusu and Michael Beetz: On Fast Surface Reconstruction Methods for Large and Noisy Datasets, Proceedings of the IEEE International Conference on Robotics and Automation (ICRA 2009), Mayo 2009. [6] Michael Kazhdan, Matthew Bolitho, Hugues Hoppe, "Poisson surface reconstruction", SGP '06 Proceedings of the fourth Eurographics symposium on Geometry processing [7] Civera, J., Davison, A.J., Magallón, J.A., Montiel, J.M.M.: Drift-free real-time sequential mosaicing. Int. Journal of Computer Vision 51(2) (2009) 128137 [8] O. Grasa, J. Civera, A. Güemes, V. Muñoz, and M. J.M.M., EKF monocular slam 3d modeling, measuring and augmented reality from endoscope image sequences, in 5th Workshop on Augmented Environments for Medical Imaging including Augmented Reality in Computer-Aided Surgery.(MICCAI 2009), 2009. [9] Hartley R.I y Zisserman A. 'Multiple View Geometry',pages 325:338, Cambridge University Press. Second Edition. 2004. [10] J. Civera, A. J. Davison, and J.M.M. Montiel. Inverse depth parametrization for monocular slam. 24(5), 2008 [11] Rousseeuw PJ. (1987). Robust Regression and Outlier Detection. Wiley Sons. [12] The VTK website: http://www.vtk.org [13] W. Schroeder, K. Martin and B. Lorensen. Visualization Toolkit: An Object-Oriented Approach to 3D Graphics, 4th Edition, 2006. [14] E. Rosten and T. Drummond. Machine learning for high-speed corner detection. In Proc. 9th European Conference on Computer Vision (ECCV'06), Graz, May 2006. [15] Foley, van Damm, Feiner, Hughes. Computer Graphics: Principles and Practice in C (2nd Edition). 1995. 41
7 . Bibliografía 42 [16] N. Bray. Notes on Mesh Smoothing. 2004. [17] Desbrun, M., Meyer, M., Schroder, P., and Barr, A. H. 1999. Implicit Fairing of Irregular Meshes Using Diusion and Curvature Flow. In Proceedings of SIGGRAPH 99, 317324. [18] Andrew Nealen , Takeo Igarashi , Olga Sorkine , Marc Alexa, Laplacian mesh optimization, Proceedings of the 4th international conference on Computer graphics and interactive techniques in Australasia and Southeast Asia, November 29-December 02, 2006, Kuala Lumpur, Malaysia [doi>10.1145/1174429.1174494] [19] Fisher, J., Visualizing the connection among convex hull, voronoi diagram and delaunay triangulation, in: 37th Midwest Instruction and Computing Symposium, 2004 [20] De Berg, van Kreveld, Overmars, Schwarzkopf. Computational Geometry: Algorithms and Applications. 2nd edition, Springer-Verlag. ISBN 3540656200. [21] A. M. Andrew, "Another Ecient Algorithm for Convex Hulls in Two Dimensions", Info. Proc. Letters 9, 216-219 (1979) [22] D. Koppel, C.-I. Chen, Y.-F. Wang, L. H., J. Gu, A. Poirson, and R. Wolters, Toward automated model building from video in computer assisted diagnoses in colonoscopy, in Proceedings of the SPIE Medical Imaging Conference, 2007. [23] Stoyanov, D., Darzi, A., Yang, G.Z.: A practical approach towards accurate dense 3d depth recovery for robotic laparoscopic surgery. Computer Aided Surgery (2005) 199208 [24] Mourgues, F., Devernay, F., Coste-Mani`re, E.: 3D reconstruction of the operating eld for image overlay in 3D endoscopic surgery. In: IEEE/ACM Symp. Augmented. Reality. (2001) 191192 [25] Luis Manuel Arteaga. Triangulaciones de nubes de puntos en Java. 2002. [26] I. Gil, J. Marín, J.M. Martínez, E. Bernal, S. Casado, Óscar G. Grasa, J. Quintana. Augmented Reality and 3D Measurement for Monocular Laparoscopic Abdominal Wall Hernia Repair. 2011 European Society for Surgical Research (ESSR2011), Aachen (Germany), 2011. [27] Óscar G. Grasa, Javier Civera, J. M. M. Montiel. EKF Monocular SLAM with Relocalization for Laparoscopic Sequences. 2011 IEEE International Conference on Robotics and Automation (ICRA2011), Shanghai (China), 2011. [28] Richard A. Newcombe, Steven Lovegrove and Andrew J. Davison. DTAM: Dense Tracking and Mapping in Real-Time. ICCV 2011 *(The associated live demonstration won ICCV Best Demo)* [29] H. Stewénius, C. Engels, and D. Nistér. Recent developments on direct relative orientation. ISPRS Journal of Photogrammetry and Remote Sensing, 60:284294, June 2006. [30] Sameer Agarwal, Yasutaka Furukawa, Noah Snavely, Brian Curless, Steven M. Seitz and Richard Szeliski Communications of the ACM, Vol. 54, No. 14, Pages 105-112, October 2011. [31] Yasutaka Furukawa and Jean Ponce. Accurate, Dense, and Robust Multi-View Stereopsis. PAMI, August 2010. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
Apéndice A Resultados y Reconstrucciones El propósito de este anexo es detallar los resultados obtenidos para las distintas secuencias laparoscópicas del estudio. Cada una de las secciones del apéndice ha sido nombrada con la fecha en la que la toma de imágenes se realizó. De tal forma que se pueda vericar que todas ellas han sido extraídas de intervenciones reales. Todas ellas tienen la misma estructura en las que se puede ver: 1. Una selección de frames característicos de la secuencia laparoscópica. 2. Tabla resumen con los porcentajes de de puntos eliminados con el algoritmo nal de ltrado de espurios para cada uno de los sucesos planteados en la sintonización del algoritmo de detección y eliminación de espurios en tiempo real. 3. Tiempos de cómputo del algoritmo de eliminación a posteriori y de tiempos de reconstrucción 3D de la escena. 4. Gráca resumen de los porcentajes de error que se obtienen al nalizar la ejecución para las distintas mejoras propuestas en comparación con la situación ideal de uso del algoritmo de eliminación a posteriori. 5. Vistas de la reconstrucción 3D obtenida tras la aplicación del algoritmo de triangulación. 43
A . Resultados y Reconstrucciones 44 A.1. Secuencia 2011-02-28 Figura A.1: Frames característicos seleccionados de la secuencia (a) de la g. 6.1. % Error>2px % Mediana Mapa Final(ptos) PTAM Original 13% 6% 6098 PTAM σ= 2 6% 5 % 6300 Inlier > 80% 5 % 6% 5562 Visto > 30% 11% 7% 2755 Tabla A.1: Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (a) g. 6.1. Algoritmo Eliminación Posteriori Algoritmo Triangulación % Error>2px % Error Mínima Mediana Modelo 3D Tiempo cómputo (seg) 7.1 1.3 9.8 Tabla A.2: Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (a) g. 6.1. Figura A.2: Porcentaje acumulado del Error de Reproyección para la secuencia de (a) de la g. 6.1. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 45 Figura A.3: Vistas de la reconstrucción nal de la secuencia (a) de la g. 6.1 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 46 A.2. Secuencia 2011-04-04 Figura A.4: Frames característicos seleccionados de la secuencia (b) de la g. 6.1. % Error>2px % Mediana Mapa Final(ptos) PTAM Original 23% 6% 2951 PTAM σ= 2 16% 5% 2677 Inlier > 80% 8% 7% 2311 Visto > 30% 8% 6% 2033 Tabla A.3: Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (b) g. 6.1. Algoritmo Eliminación Posteriori Algoritmo Triangulación % Error>2px % Error Mínima Mediana Modelo 3D Tiempo cómputo (seg) 1.5 0.33 1.19 Tabla A.4: Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (b) g. 6.1. Figura A.5: Porcentaje acumulado del Error de Reproyección para la secuencia de (b) de la g. 6.1. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 47 Figura A.6: Vistas de la reconstrucción nal de la secuencia (b) de la g. 6.1 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 48 A.3. Secuencia 2011-09-27 Figura A.7: Frames característicos seleccionados de la secuencia (c) de la g. 6.1. % Error>2px % Mediana Mapa Final(ptos) PTAM Original 9% 3% 1350 PTAM σ= 2 5% 3 % 1333 Inlier > 80% 3 % 3% 1107 Visto > 30% 3% 3% 1037 Tabla A.5: Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (c) g. 6.1. Algoritmo Eliminación Posteriori Algoritmo Triangulación % Error>2px % Error Mínima Mediana Modelo 3D Tiempo cómputo (seg) 0.29 0.09 0.34 Tabla A.6: Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (c) g. 6.1. Figura A.8: Porcentaje acumulado del Error de Reproyección para la secuencia de (c) de la g. 6.1. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 49 Figura A.9: Vistas de la reconstrucción nal de la secuencia (c) de la g. 6.1 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 56 A.7. Secuencia 2011-11-29 Figura A.19: Frames característicos seleccionados de la secuencia (g) de la g. 6.1 % Error>2px % Mediana Mapa Final(ptos) PTAM Original 19% 1% 428 PTAM σ= 2 18% 2% 472 Inlier > 80% 7 % 1% 291 Visto > 30% 8% 1 % 262 Tabla A.13: Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (g) g. 6.1. Algoritmo Eliminación Posteriori Algoritmo Triangulación % Error>2px % Error Mínima Mediana Modelo 3D Tiempo cómputo (seg) 0.08 0.01 0.08 Tabla A.14: Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (g) g. 6.1. Figura A.20: Porcentaje acumulado del Error de Reproyección para la secuencia de (g) de la g. 6.1. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 57 Figura A.21: Vistas de la reconstrucción nal de la secuencia (g) de la g. 6.1 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 58 A.8. Secuencia 2012-01-23 Figura A.22: Frames característicos seleccionados de la secuencia (h) de la g. 6.1. % Error>2px % Mediana Mapa Final(ptos) PTAM Original 29% 3% 3919 PTAM σ= 2 14% 3% 4523 Inlier > 80% 7% 3% 3897 Visto > 30% 7% 2% 3348 Tabla A.15: Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (h) g. 6.1. Algoritmo Eliminación Posteriori Algoritmo Triangulación % Error>2px % Error Mínima Mediana Modelo 3D Tiempo cómputo (seg) 2.2 0.51 2.51 Tabla A.16: Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (h) g. 6.1. Figura A.23: Porcentaje acumulado del Error de Reproyección para la secuencia de (h) de la g. 6.1. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 59 Figura A.24: Vistas de la reconstrucción nal de la secuencia (h) de la g. 6.1 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 60 A.9. Secuencia 2012-02-06 Figura A.25: Frames característicos seleccionados de la secuencia (i) de la g. 6.1. % Error>2px % Mediana Mapa Final(ptos) PTAM Original 28% 6% 1433 PTAM σ= 2 14% 6% 1442 Inlier > 80% 7% 7% 1431 Visto > 30% 8% 6% 1264 Tabla A.17: Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (i) g. 6.1. Algoritmo Eliminación Posteriori Algoritmo Triangulación % Error>2px % Error Mínima Mediana Modelo 3D Tiempo cómputo (seg) 0.56 0.15 0.60 Tabla A.18: Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (i) g. 6.1. Figura A.26: Porcentaje acumulado del Error de Reproyección para la secuencia de (i) de la g. 6.1. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 61 Figura A.27: Vistas de la reconstrucción nal de la secuencia (i) de la g. 6.1 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 62 A.10. Secuencia 2012-03-06 Figura A.28: Frames característicos seleccionados de la secuencia (j) de la g. 6.1. % Error>2px % Mediana Mapa Final(ptos) PTAM Original 29% 8% 1069 PTAM σ= 2 15% 6% 1054 Inlier > 80% 5% 9% 803 Visto > 30% 5% 9% 704 Tabla A.19: Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (j) g. 6.1. Algoritmo Eliminación Posteriori Algoritmo Triangulación % Error>2px % Error Mínima Mediana Modelo 3D Tiempo cómputo (seg) 0.23 0.09 0.32 Tabla A.20: Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (j) g. 6.1. Figura A.29: Porcentaje acumulado del Error de Reproyección para la secuencia de (j) de la g. 6.1. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 63 Figura A.30: Vistas de la reconstrucción nal de la secuencia (j) de la g. 6.1 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 64 A.11. Secuencia 2012-05-21(1) Figura A.31: Frames característicos seleccionados de la secuencia (k) de la g. 6.1. % Error>2px % Mediana Mapa Final(ptos) PTAM Original 14% 7% 1293 PTAM σ= 2 13% 5% 1055 Inlier > 80% 3% 5% 784 Visto > 30% 4% 4% 689 Tabla A.21: Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (k) g. 6.1. Algoritmo Eliminación Posteriori Algoritmo Triangulación % Error>2px % Error Mínima Mediana Modelo 3D Tiempo cómputo (seg) 0.49 0.06 0.20 Tabla A.22: Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (k) g. 6.1. Figura A.32: Porcentaje acumulado del Error de Reproyección para la secuencia de (k) de la g. 6.1. Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 65 Figura A.33: Vistas de la reconstrucción nal de la secuencia (k) de la g. 6.1 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Resultados y Reconstrucciones 72 Figura A.44: Vistas de la reconstrucción nal de la secuencia (ñ) de la g. 6.1 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
Índice de guras 1.1. Modelo fotorealista obtenido aplicando el software 123D Catch. ............... 2 2.1. Selección de frames de una operación real de reparación de hernia ventral. ......... 7 2.2. Reconstrucción 3D de la cavidad abdominal a partir del mapa estimado por PTAM. .... 8 3.1. (a) Búsqueda de los distintos KFs que ven el punto. (b) Cálculo del ángulo entre los rayos de los KFs. .......................................... 11 3.2. Eliminación de puntos outliers en función de la profundidad media del KF ......... 13 4.1. Frames consecutivos en los que se puede apreciar cómo no todo el mapa estimado es proyectado sobre ellos. ....................................... 17 5.1. Reconstrucción 3D de la cavidad abdominal a partir de una secuencia real de cirugía . . . . 19 5.2. Método de búsqueda empleado para la triangulación Greedy. (a) silueta del contorno que debería dar forma a la cavidad abdominal. (b) Búsqueda de los k-vecinos que se encuentran dentro del radio de búsqueda. (c) Selección de los puntos que cumplen la condición de aceptación y que serán triangulados. En verde, la línea que debería seguir el mallado correcto. 20 5.3. Reconstrucción fotorealista obtenida para la secuencia (f) de la g. 6.1. La imagen de la izq. muestra el resultado tras aplicar una triangulación DELAUNAY sobre el plano XY. La de la derecha es el resultado nal obtenido tras la aplicación del algoritmo desarrollado de triangulación. ......................................... 21 5.4. Triangulación Delaunay del mapa estimado sobre el primer KF de la secuencia 6.1(b). . . . 22 5.5. Método de triangulación de puntos interiores a la Triangulación Delaunay inicial. Si un punto del mapa se encuentra en el interior de un triángulo ya creado, este se reparticiona eliminando el triángulo original y generando 3 nuevos triángulos al conjunto. .............. 23 6.1. Secuencias reales de operaciones con endoscopio proporcionadas por el Hospital clínico Lozano Blesa para vericar los resultados. ........................... 25 6.2. Porcentaje acumulado del Error de Reproyección para la secuencia de (b) de la g. 6.1 según el criterio de eliminación de error de reproyección a posteriori. ................ 26 6.3. Mapa nal tras aplicar la etapa de eliminación según ángulo de paralaje. En rojo, los puntos eliminados en la etapa de ángulo de paralaje. ........................ 27 6.4. Mapa nal tras aplicar la etapa de eliminación según ángulo de paralaje y error de mínima mediana. En rojo, puntos eliminados en la etapa de ángulo de paralaje. En azul, puntos eliminados en la etapa de error de mínima mediana. ..................... 28 73
A . Índice de guras 74 6.5. Mapa nal tras aplicar la etapa de eliminación según ángulo de paralaje. En rojo, los puntos eliminados en la etapa de ángulo de paralaje. ........................ 28 6.6. Porcentaje acumulado del Error de Reproyección para la secuencia de (b) de la g. 6.1. . . . 30 6.7. Mallado obtenido tras aplicar la condición de reobservabilidad. En blanco aparecen los puntos considerados inliers tras la aplicación del algoritmo a posteriori y que generan el mallado 3D. En rojo los puntos eliminados durante la ejecución según la condición de reobservabilidad. 31 6.8. Porcentajes de puntos espurios con error de reproyección mayor a 2 píxeles para las distintas secuencias. .......................................... 32 6.9. Reconstrucción 3D de la secuencia (b) de la g. 6.1 ..................... 33 6.10. Vistas de la reconstrucción nal de la secuencia (b) de la g. 6.1 .............. 34 A.1. Frames característicos seleccionados de la secuencia (a) de la g. 6.1. ............ 44 A.2. Porcentaje acumulado del Error de Reproyección para la secuencia de (a) de la g. 6.1. . . . 44 A.3. Vistas de la reconstrucción nal de la secuencia (a) de la g. 6.1 .............. 45 A.4. Frames característicos seleccionados de la secuencia (b) de la g. 6.1. ............ 46 A.5. Porcentaje acumulado del Error de Reproyección para la secuencia de (b) de la g. 6.1. . . . 46 A.6. Vistas de la reconstrucción nal de la secuencia (b) de la g. 6.1 .............. 47 A.7. Frames característicos seleccionados de la secuencia (c) de la g. 6.1. ............ 48 A.8. Porcentaje acumulado del Error de Reproyección para la secuencia de (c) de la g. 6.1. . . . 48 A.9. Vistas de la reconstrucción nal de la secuencia (c) de la g. 6.1 .............. 49 A.10. Frames característicos seleccionados de la secuencia (d) de la g. 6.1. ............ 50 A.11. Porcentaje acumulado del Error de Reproyección para la secuencia de (d) de la g. 6.1. . . . 50 A.12. Vistas de la reconstrucción nal de la secuencia (d) de la g. 6.1 .............. 51 A.13. Frames característicos seleccionados de la secuencia (e) de la g. 6.1. ............ 52 A.14. Porcentaje acumulado del Error de Reproyección para la secuencia de (e) de la g. 6.1. . . . 52 A.15. Vistas de la reconstrucción nal de la secuencia (e) de la g. 6.1 .............. 53 A.16. Frames característicos seleccionados de la secuencia (f) de la g. 6.1. ............ 54 A.17. Porcentaje acumulado del Error de Reproyección para la secuencia de (f) de la g. 6.1. . . . 54 A.18. Vistas de la reconstrucción nal de la secuencia (f) de la g. 6.1 .............. 55 A.19. Frames característicos seleccionados de la secuencia (g) de la g. 6.1 ............ 56 A.20. Porcentaje acumulado del Error de Reproyección para la secuencia de (g) de la g. 6.1. . . . 56 A.21. Vistas de la reconstrucción nal de la secuencia (g) de la g. 6.1 .............. 57 A.22. Frames característicos seleccionados de la secuencia (h) de la g. 6.1. ............ 58 A.23. Porcentaje acumulado del Error de Reproyección para la secuencia de (h) de la g. 6.1. . . . 58 A.24. Vistas de la reconstrucción nal de la secuencia (h) de la g. 6.1 .............. 59 A.25. Frames característicos seleccionados de la secuencia (i) de la g. 6.1. ............ 60 A.26. Porcentaje acumulado del Error de Reproyección para la secuencia de (i) de la g. 6.1. . . . 60 A.27. Vistas de la reconstrucción nal de la secuencia (i) de la g. 6.1 .............. 61 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
A . Índice de guras 75 A.28. Frames característicos seleccionados de la secuencia (j) de la g. 6.1. ............ 62 A.29. Porcentaje acumulado del Error de Reproyección para la secuencia de (j) de la g. 6.1. . . . 62 A.30. Vistas de la reconstrucción nal de la secuencia (j) de la g. 6.1 .............. 63 A.31. Frames característicos seleccionados de la secuencia (k) de la g. 6.1. ............ 64 A.32. Porcentaje acumulado del Error de Reproyección para la secuencia de (k) de la g. 6.1. . . . 64 A.33. Vistas de la reconstrucción nal de la secuencia (k) de la g. 6.1 .............. 65 A.34. Frames característicos seleccionados de la secuencia (l) de la g. 6.1. ............ 66 A.35. Porcentaje acumulado del Error de Reproyección para la secuencia de (l) de la g. 6.1. . . . 66 A.36. Vistas de la reconstrucción nal de la secuencia (l) de la g. 6.1 .............. 67 A.37. Frames característicos seleccionados de la secuencia (m) de la g. 6.1. ............ 68 A.38. Porcentaje acumulado del Error de Reproyección para la secuencia de (m) de la g. 6.1. . . 68 A.39. Frames característicos seleccionados de la secuencia (n) de la g. 6.1. ............ 69 A.40. Porcentaje acumulado del Error de Reproyección para la secuencia de (n) de la g. 6.1. . . . 69 A.41. Vistas de la reconstrucción nal de la secuencia (n) de la g. 6.1 .............. 70 A.42. Frames característicos seleccionados de la secuencia (ñ) de la g. 6.1. ............ 71 A.43. Porcentaje acumulado del Error de Reproyección para la secuencia de (ñ) de la g. 6.1. . . . 71 A.44. Vistas de la reconstrucción nal de la secuencia (ñ) de la g. 6.1 .............. 72 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio
Indice de tablas 6.1. Tamaño del mapa nal estimado tras la aplicación del algoritmo de eliminación a posteriori aplicando los tres criterios de eliminación: error de reproyección, ángulo de paralaje y error de mínima mediana en profundidad. . . . . . . . . . . . . . . . . . . 30 6.2. Porcentajes de puntos espurios tras aplicar las condiciones de error de reproyección y profundidad del punto. Se incluye también el tamaño del mapa obtenido al nal de lasimulación......................................... 31 6.3. Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo aposteriori.......................................... 35 6.4. Tiempo de cómputo empleado en la generación del modelo 3D de la escena. . . . . . 35 A.1. Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (a) g. 6.1. . . . . . . . . . . . . 44 A.2. Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (a) g. 6.1. . . . . 44 A.3. Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (b) g. 6.1. . . . . . . . . . . . . 46 A.4. Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (b) g. 6.1. . . . . 46 A.5. Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (c) g. 6.1. . . . . . . . . . . . . 48 A.6. Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (c) g. 6.1. . . . . 48 A.7. Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (d) g. 6.1. . . . . . . . . . . . . 50 A.8. Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (d) g. 6.1. . . . . 50 A.9. Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (e) g. 6.1. . . . . . . . . . . . . 52 A.10.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (e) g. 6.1. . . . . 52 A.11.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (f) g. 6.1. . . . . . . . . . . . . 54 77
A . Indice de tablas 78 A.12.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (f) g. 6.1. . . . . 54 A.13.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (g) g. 6.1. . . . . . . . . . . . . 56 A.14.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (g) g. 6.1. . . . . 56 A.15.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (h) g. 6.1. . . . . . . . . . . . . 58 A.16.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (h) g. 6.1. . . . . 58 A.17.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (i) g. 6.1. . . . . . . . . . . . . 60 A.18.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (i) g. 6.1. . . . . 60 A.19.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (j) g. 6.1. . . . . . . . . . . . . 62 A.20.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (j) g. 6.1. . . . . 62 A.21.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (k) g. 6.1. . . . . . . . . . . . . 64 A.22.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (k) g. 6.1. . . . . 64 A.23.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (l) g. 6.1. . . . . . . . . . . . . 66 A.24.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (l) g. 6.1. . . . . 66 A.25.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (m) g. 6.1. . . . . . . . . . . . . 68 A.26.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (m) g. 6.1. . . . . 68 A.27.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (n) g. 6.1. . . . . . . . . . . . . 69 A.28.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (n) g. 6.1. . . . . 69 A.29.Porcentaje de puntos eliminados aplicando las etapas de eliminación según error de reproyección y error de mínima mediana. Secuencia (ñ) g. 6.1. . . . . . . . . . . . . 71 A.30.Tiempo de cómputo de las diferentes etapas de eliminación de espurios del algoritmo a posteriori y de obtención del modelo 3D de la escena. Secuencia (ñ) g. 6.1. . . . . 71 Reconstrucción 3D en tiempo real a partir de imágenes de endoscopio