Full text
1 Equation Chapter 1 Section 1 Trabajo de Fin de Máster Máster Universitario en Ingeniería Electrónica, Robótica y Automática Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Autor: Salvador Cruz Muñoz Tutor es: Antonio González Morgado Guillermo Heredia Benot Dpto. de Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2024
Trabajo Fin de Máster Máster Universitario en Ingeniería Electrónica, Robótica y Automática Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Autor: Salvador Cruz Muñoz Tutores: Antonio González Morgado Doctorando Guillermo Heredia Benot Catedrático de Universidad Dpto. de Ingeniería de Sistemas y Automática Escuela Técnica Superior de Ingeniería Universidad de Sevilla Sevilla, 2024
Proyecto Fin de Máster: Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Autor: Salvador Cruz Muñoz Tutores: Antonio González Morgado Guillermo Heredia Benot El tribunal nombrado para juzgar el Proyecto arriba indicado, compuesto por los siguientes miembros: Presidente: Vocales: Secretario: Acuerdan otorgarle la calificación de: Sevilla, 2024 El Secretario del Tribunal
A mi familia A mis maestros
i Agradecimientos Al igual que en el resto de los aspectos de la vida, este trabajo no sería posible sin la colaboración de muchos implicados, y es obligatoria una mención en este escrito, por breve que sea. Agradecer a mi familia y amigos el apoyo emocional, allanando el camino a lo largo de esta travesía que ha sido mi carrera universitaria. A cada paso, frustración y alegría han ofrecido, el acompañamiento, consuelo y celebración correspondiente. Soy afortunado de contar con ellos. Especial mención a mis hermanos, por sembrar una referencia heroica en mi vida, que ha servido de faro para tener siempre claros mis objetivos. A María, por acompañarme en el camino. A mi amigo Alberto, por creer en mí siempre. También, agradecer a mi tutor, Antonio, por la ayuda inestimable ofrecida en este trabajo. Su nivel de compromiso ha alcanzado un valor que va muy por encima de la ayuda técnica A mis padres… por TODO. Mi deuda con ellos siempre será eterna. Salvador Cruz Muñoz Estudiante del Máster Universitario en Ingeniería Electrónica, Robótica y Automática Sevilla, 2024
Figura Anexo 3: Relación de puntos Plano-Imagen/Realidad [14]. 58 Figura Anexo 4: Gráfico explicativo de valor atípico [39]. 59
1 1 Introducción 1.1 Inspección con UAVs En los últimos años, los Vehículos Aéreos No Tripulados (UAVs, por sus siglas en inglés) han demostrado ser una herramienta de gran utilidad en una amplia variedad de campos de aplicación, desde la agricultura y el medio ambiente hasta la seguridad y la industria. Gracias a su capacidad de operar en zonas de difícil acceso, su maniobrabilidad, y su autonomía, los UAVs han abierto nuevas posibilidades en actividades que requieren movilidad, precisión y acceso a entornos complejos [1]. Figura 1.1: UAV en tareas de agricultura [2]. Una de las áreas en las que los UAVs han cobrado mayor relevancia es en las tareas de inspección visual. Equipados con cámaras de alta resolución y sensores avanzados, estos dispositivos permiten capturar imágenes y datos de zonas que, de otro modo, serían peligrosas o inaccesibles para el ser humano. En especial, el uso de cámaras para inspección visual desde UAVs ha permitido detectar daños, desgaste y otros problemas estructurales en infraestructuras como puentes, edificios, aerogeneradores, y redes de tuberías. Figura 1.2: UAVs en tareas de inspección de infraestructuras [3].
Introducción 2 Para llevar la inspección visual a un nivel superior, se ha comenzado a integrar la capacidad de los UAVs para escanear entornos completos y representar estos espacios en modelos tridimensionales (3D). Estos modelos permiten a los operarios visualizar y analizar el estado de las infraestructuras en tiempo real o de forma remota, ofreciendo una perspectiva detallada y precisa del entorno inspeccionado. Figura 1.3: UAVs realizando reconstrucción 3D de un puente [4]. En este Trabajo Fin de Máster se desarrollan metodologías para la reconstrucción 3D de entornos, específicamente de tuberías, con fines de inspección visual. El objetivo es implementar una solución en la que un UAV, equipado con una cámara, escanee una tubería y posteriormente se reconstruya en un modelo 3D. Esto permitirá que el operario inspeccione visualmente la tubería desde tierra, identificando posibles problemas o desgastes sin necesidad de acceder físicamente al lugar. Este enfoque no solo mejora la seguridad y eficiencia del proceso de inspección, sino que también representa un avance significativo en el uso de UAVs para la monitorización y mantenimiento de infraestructuras complejas. 1.2 Metodologías de reconstrucción 3D A continuación, se presentan diferentes soluciones para la reconstrucción 3D de entornos. 1.2.1 Reconstrucción 3D por ultrasonidos La reconstrucción por ultrasonido es un método que utiliza ondas sonoras de alta frecuencia para penetrar objetos y reflejarse en un sensor. Luego, el sensor convierte las ondas sonoras en señales eléctricas, que son procesadas por una computadora para generar imágenes en 3D. La reconstrucción por ultrasonido se usa comúnmente en aplicaciones médicas, como imágenes prenatales, pero también se puede usar para escanear en 3D otros objetos, como esculturas, plantas o animales. El escaneo por ultrasonido tiene algunas ventajas sobre otros métodos de escaneo 3D, como el escaneo láser, la fotogrametría o el escaneo con luz estructurada. La reconstrucción por ultrasonido puede capturar la estructura interna de los objetos, no solo la superficie, lo que puede ser útil para estudiar la anatomía, las propiedades de los materiales o las características ocultas. También puede funcionar en entornos ruidosos o con poca luz, donde otros métodos pueden fallar o producir imágenes distorsionadas. La ecografía también tiene algunas limitaciones y desafíos que debe tener en cuenta. La exploración por ultrasonido puede producir imágenes de menor resolución y calidad que otros métodos, ya que las ondas sonoras tienen una frecuencia y longitud de onda más bajas que las ondas de luz. La exploración por ultrasonido también puede verse afectada por las propiedades acústicas del objeto, como la densidad, la elasticidad o la atenuación, lo que puede causar artefactos, ruido o sombras en las imágenes. El escaneo por ultrasonido también puede ser difícil de alinear y unir varias imágenes, ya que no captura información de color o textura.
3 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Figura 1.4: Reconstrucción por ultrasonidos [5][6]. 1.2.2 Reconstrucción 3D por contacto En la reconstrucción 3D se utiliza una sonda o palpador que toca la superficie del objeto para medir sus dimensiones. La posición de cada punto de contacto se registra respecto a un punto de referencia solidario al equipo 3D y se guardan las coordenadas espaciales palpadas, generando el modelo 3D. Ciertamente, estos equipos van más enfocados a la medición comparativa frente a modelo teórico, que a la reconstrucción 3D. Figura 1.5: Reconstrucción por palpado [7][8].
Introducción 4 1.2.3 Reconstrucción 3D por luz estructurada La luz estructurada se basa en proyectar patrones de luz conocidos, como líneas o cuadriculas sobre el objeto a reconstruir. Cuando este patrón de luz incide en el objeto, se distorsiona debido a la forma y la profundidad de su superficie. Una cámara, situada en un ángulo distinto al del proyector, captura las imágenes de estas distorsiones. Las distorsiones de luz observadas en los patrones permiten deducir las variaciones de profundidad y contorno del objeto. Usando geometría y triangulación se puede calcular la distancia de cada punto en el objeto respecto a la cámara y, en consecuencia, reconstruir el modelo en 3D. Para facilitar el cálculo de profundidad, los patrones proyectados suelen tener características específicas: • Patrones de franjas paralelas: Un patrón básico en el que se proyectan líneas paralelas que se deforman al caer sobre el objeto. La cámara captura cómo las líneas se curvan o distorsionan, lo que da información sobre la topografía del objeto. • Patrones codificados temporalmente: En este caso, se proyectan múltiples patrones en secuencia sobre el objeto. Esto ayuda a reducir las ambigüedades en la reconstrucción, ya que cada punto en el objeto puede identificarse unívocamente gracias al cambio de patrones. Al igual que cualquier metodología basada en luz es sensible a factores de iluminación externa, lo cual puede afectar la precisión. Además, presenta dificultad para escanear superficies transparentes o muy reflectantes, por la distorsión de patrones de forma errática. Si la pieza es de grandes dimensiones, es necesario utilizar dianas de referenciado, para poder escanear superficies modeladas que se salen de las dimensiones del campo de visión. Figura 1.6: Reconstrucción por luz estructurada [9]. 1.2.4 Reconstrucción 3D por laser LIDAR Light Detection and Ranging of Laser Imaging Detection and Ranging, LIDAR. Su funcionamiento del dispositivo es sencillo: El sensor emite señales LASER (ondas electromagnéticas en el rango infrarrojo estimuladas, Luz) que impactan sobre objetos. Las señales LASER que se ven reflejadas por dichos objetos son recogidas por la lente del mismo dispositivo. Así, en función del tiempo que haya tardado en realizar la trayectoria completa y, teniendo en cuenta que la velocidad es constante e igual a la velocidad de la luz (c), puede obtenerse de forma muy básica un mapeo de la distancia que existe con los objetos del entorno. 𝑥𝑥= (𝑐𝑐∗𝑡𝑡)/2
5 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Figura 1.7: Reconstrucción 3D por LIDAR [10] 1.2.5 Reconstrucción 3D mediante la utilización de cámaras desde múltiples vistas Fundamentalmente, la reconstrucción 3D mediante el uso de cámaras desde múltiples vistas, utiliza múltiples imágenes tomadas desde diferentes ángulos alrededor del objeto a reconstruir. A través del análisis de las distintas imágenes, resulta posible identificar características comunes y, de ahí, utilizando transformaciones geométricas de las imágenes y entendiendo las relaciones geométricas que existen entre estas características comunes, partir hacia una reconstrucción espacial. Figura 1.8: Reconstrucción mediante la utilización de cámaras [11]. A este método de reconstrucción 3D se le denomina Multi-View, y será objeto de explicación detallada en la próxima sección.
Introducción 6 1.2.6 Reconstrucción 3D mediante la utilización de cámaras de profundidad En este caso se utiliza una cámara equipada para captar no solo la imagen en color de un objeto o escena, sino también la distancia de cada punto en la escena respecto a la cámara, es decir, la profundidad. Esto permite construir un modelo tridimensional al obtener un mapa de profundidad que representa la distancia desde cada punto en la imagen hasta la cámara. Existen varias tecnologías para obtener esta información de profundidad, cada una con sus particularidades. A estas cámaras se les denomina cámaras RGBD, que representan los 4 canales de información que entrega. • Color: Composición de los 3 primeros canales, rojo, verde y azul (Red, Green, Blue). • D: Matriz de profundidad asociada a cada píxel de color (Depth). Además de la cámara que aporta la imagen de color, las cámaras presentan otro sensor incorporado que permiten obtener la profundidad: • Laser: emite pulsos de luz, generalmente infrarroja, hacia los objetos y miden el tiempo que tarda la luz en regresar a la cámara después de reflejarse en el objeto. Con esta información, la cámara calcula la distancia a cada punto. Los LIDARs se comportan igual, ofreciendo únicamente la información de profundidad Figura 1.9: Cámara RGBD con infrarrojos [12]. • Cámara Estéreo: consiste en dos cámaras colocadas a una distancia fija entre sí. Al comparar las imágenes obtenidas por cada cámara, se puede estimar la profundidad de cada punto dado el conocimiento de la posición relativa fija de una cámara respecto a la otra. Figura 1.10: Cámara RGBD con estéreo [13]. A este método de reconstrucción 3D se le denomina RGBD, y se explicará detalladamente en la siguiente sección junto con el método MultiView.
7 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad 1.3 Objetivo y estructura del documento El objetivo de este Trabajo Fin de Máster es el uso de diferentes soluciones para reconstrucción de entornos 3D, con el propósito de que pueda ser incorporado en el futuro en reconstrucción de tuberías para inspección. Debido a que es necesario tener una capa de color para poder realizar la inspección visual de las tuberías, las dos únicas soluciones que lo ofrecen son la reconstrucción multiview y la RGBD. Por lo tanto, este documento detalla el funcionamiento de ambas soluciones (método multiview y método RGBD), validando ambos métodos experimentalmente ante diferentes escenarios. El resto del documento se estructura de la siguiente forma: • En el capítulo 2 se detalla el funcionamiento del método de reconstrucción multiview y del método de reconstrucción RGBD. • En el capítulo 3 se presenta la implementación de ambos métodos a nivel software así como hardware. • En el capítulo 4 se validan y comparan ambos métodos con diferentes escenarios. Así mismo, se proponen posibles futuras mejoras para ambos métodos. • Finalmente, en el capítulo 5 se presentan las conclusiones del documento.
9 2 Métodos de reconstrucción 3D n esta sección se explicará en detalle dos metodologías de reconstrucción que involucran directamente la utilización de cámaras. Las cámaras que intervienen directamente en la metodología de reconstrucción son cámaras tradicionales RGB y cámaras de profundidad RGBD. El primer método, reconstrucción mediante la utilización de cámaras RGB desde múltiples vistas o MultiView, que utilizará características comunes encontradas en las imágenes obtenidas desde las distintas vistas y las utilizará para reconstruir el modelo tridimensional. El segundo método, reconstrucción mediante la utilización de cámaras de profundidad RGBD, que utilizará la información de profundidad para crear el modelo tridimensional y, posteriormente, añadirá el color a la reconstrucción creada. 2.1 Modelo de reconstrucción Multi-View El flujo completo o pipeline que conlleva una reconstrucción 3D Multi-View se divide a grandes rasgos en 3 etapas bien diferenciadas[14]: • Búsqueda de correspondencias: En esta primera etapa se buscan geometrías características o puntos clave comunes a más de una imagen y sus equivalencias con el set de imágenes obtenido desde las múltiples vistas. • Reconstrucción incremental dispersa: En esta segunda etapa, se utiliza la información de correspondencias entre las geometrías características de las imágenes para poder estimar su posición espacial utilizando las distintas vistas del mismo punto característico. Se realiza una aproximación incremental, comenzando por dos imágenes desde distintas vistas. Una vez que se estiman la profundidad espacial de estos puntos clave, se van incluyendo más imágenes de forma incremental para poder realizar corrección de errores de estimación. • Reconstrucción densa: Esta tercera etapa completa la reconstrucción dispersa colocando en el espacio todos los puntos de todas las imágenes del set de datos con el fin de “dar cuerpo” a la reconstrucción. Figura 2.1: Pipeline Completo para reconstrucción Multiview [14]. E
Métodos de reconstrucción 3D 16 Figura 2.9: Ajuste de marco [20]. • Filtro de Ouliers: A pesar de los métodos robustos que se han aplicado en las parejas de imágenes antes de la inicialización, algunos outliers sobreviven a los primeros filtros en las parejas de imágenes two-view, especialmente en características repetitivas a lo largo de toda la imagen. Se vuelve de nuevo esencial aplicar RANSAC para el filtrado de outliers, esta vez del marco completo de reocostrucción, reduciendo desalineaciones y acumulación de errores, fortaleciendo la precisión de la reconstrucción en los siguientes pasos. El resultado final al añadir la última imagen del set al marco global es una reconstrucción dispersa de los puntos característicos que deberá ser completada por la última etapa: La reconstrucción Densa 2.1.3 Reconstrucción densa La etapa de Reconstrucción Densa busca convertir la reconstrucción inicial y dispersa de una escena en una representación mucho más detallada. Esto implica pasar de una estructura de puntos básicos a una densa nube de que describe con precisión la geometría y apariencia de la escena real [14][21]. Aquí, se debe hacer una parada para explicar el concepto de Epipolaridad, que completa de forma muy acertada al proceso de triangulación explicado en los anexos. La geometría epipolar indica que dado un punto 𝐷𝐷 en una imagen, con su punto correspondencia 𝐷𝐷′ en la segunda imagen, se puede reducir la triangulación del resto de puntos de un problema bidimensional 2𝐷𝐷 a un problema unidimensional 1𝐷𝐷, gracias a la línea ortogonal, que une el centro estimado de una cámara 𝐶𝐶1 con el punto en el espacio y que puede ser proyectado sobre el plano imagen de la otra cámara, resolviendo la triangulación de todos los puntos que constituyen la línea. La Figura 2.8 explica este concepto de forma gráfica.
17 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Figura 2.10: Geometría Epipolar [14]. Con el concepto de epipolaridad claro, es el momento de explicar las dos fases principales de la reconstrucción densa: • Multi-View: Se estima la profundidad y orientación de cada píxel desde múltiples perspectivas. Esto se facilita gracias a la geometría epipolar, que define la relación espacial entre dos imágenes. Al comparar píxeles entre una imagen de referencia y otras imágenes cercanas (considerando la línea epipolar), se obtiene una idea de la distancia a la que se encuentra cada píxel en la escena. Sin embargo, debido a la falta de textura, superficies repetitivas, y posibles oclusiones, la precisión de este paso puede verse afectada, produciendo mapas de profundidad con ruido y errores. Para mitigar estos problemas se aplican prioridades de suavidad que alientan a que la profundidad de los píxeles adyacentes sea similar, logrando superficies más uniformes. Este proceso se realiza en múltiples vistas para aumentar la robustez y reducir los errores. • Fusión de Múltiples Vistas: Este paso transforma las estimaciones de profundidad y orientación en una nube de puntos densa y coherente. Durante esta fusión, se eliminan aún más los errores gracias a la comparación de datos de varias vistas, consolidando una representación precisa de la escena. La salida de esta etapa es una nube de puntos densa con información tanto de la apariencia (color) como de la orientación de la superficie.
Métodos de reconstrucción 3D 18 2.2 Reconstrucción 3D a partir de sensor RGBD En este modelo de reconstrucción 3D partimos de la utilización de un sensor entrega tanto la información visual como de profundidad. Cámaras con sensores de escáner integrados ofrecen esta posibilidad, entregando un tensor de 4 canales: RGBD. Por cada Imagen Ii tenemos el canal Di asociado, (Ii, Di) Con esta 4 canal extra la aproximación a una reconstrucción tridimensional se realiza desde una perspectiva opuesta a la reconstrucción MultiView. Primero se realiza la reconstrucción de una nube de puntos cruda, únicamente, con la información de profundidad ofrecida por el canal D. A esta reconstrucción se le añade la información de apariencia tonal (color) buscando la continuidad de tono sobre la nube de puntos. El pipeline es sencillo: • Se obtienen dos nubes de puntos correspondientes a dos imágenes consecutivas • Se asigna un valor inicial de alineación. • Comienza el proceso iterativo de alineamiento mediante el uso del algoritmo ICP, Interactive Closest Point • Se realiza el registro de color a la nube de puntos. Figura 2.11: Pipeline de modelo RGBD. 2.2.1 Elección del Valor inicial y Optimización Robusta La elección del valor inicial de alineamiento debe ser certera. Elecciones equivocadas de este punto inicial de aproximación puede llevar a un alineamiento divergente por la existencia de un mínimo local a lo largo de las dos superficies alineadas. Existen dos posibles aproximaciones para una elección correcta del valor inicial: • Muestras aleatorias de puntos: Es el método que aplica para el modelo de este apartado. • Extracción de características para búsqueda de correspondencias: Mediante estrategias descritas en el
19 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad modelo del apartado de reconstrucción Multi-View La metodología utilizada por el pipeline del modelo es mediante la elección de muestras aleatorias y la optimización robusta de ésta.[22] • Muestras Aleatorias: Se seleccionan muestras aleatorias de puntos de uno de los conjuntos y mediante la utilización de algoritmos de optimización robusta como RANSAC, se buscan las transformaciones posibles que maximicen la coincidencia con el otro conjunto. 𝐸𝐸(𝑇𝑇)=��(𝐷𝐷−𝑇𝑇𝑇𝑇)𝑛𝑛𝑝𝑝�2=��𝐺𝐺𝑖𝑖(𝑇𝑇)�2 𝑁𝑁 𝑖𝑖=1(𝑝𝑝,𝑞𝑞)𝜖𝜖𝑘𝑘 𝑅𝑅𝑅𝑅𝑁𝑁𝑅𝑅𝑅𝑅𝐶𝐶(��𝐺𝐺𝑖𝑖(𝑇𝑇)�2 𝑁𝑁 𝑖𝑖=1 ) • Transformación Probable: Se aplica una transformación candidata para alinear los puntos y se mide cuántos puntos coinciden de manera cercana con el otro conjunto. • Evaluación: La transformación que logra la mayor cantidad de correspondencias válidas se selecciona como la mejor transformación inicial para ICP. 2.2.2 ICP:Interactive Closest Point Una vez que las dos nubes consecutivas han sido prealineadas en el valor inicial, es el momento de utilizar el algoritmo ICP.[23][24][25] Dada una nube de puntos fuente y una nube de puntos objetivo, se pretende alinear ambas nubes de puntos minimizando la distancia euclídea de todos los puntos de ambas nubes. En otras palabras, a cada punto de la nube fuente 𝐷𝐷𝑖𝑖 se le busca el punto de la nube objetivo 𝑇𝑇𝑖𝑖 más cercano. Como resultado se obtienen un conjunto de pares de puntos donde 𝐷𝐷𝑖𝑖 tiene asignado el punto 𝑇𝑇𝑖𝑖 más cercano a éste en términos de distancia. 𝑐𝑐𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝐺𝑐𝑐𝐷𝐷𝐺𝐺𝑛𝑛𝑑𝑑𝐺𝐺𝑛𝑛𝑐𝑐𝑐𝑐𝑎𝑎(𝐷𝐷𝑖𝑖)=arg min 𝑞𝑞𝑖𝑖||𝐷𝐷𝑖𝑖−𝑇𝑇𝑖𝑖|| Resuelta la correspondencia de puntos y teniendo todas las parejas (𝐷𝐷𝑖𝑖,𝑇𝑇𝑖𝑖), se calcula de la transformación que se le debe realizar a la nube de puntos fuente para que comience las iteraciones de alineamiento con la nube objetivo. Para ello se utiliza el método SVD (Singular Value Descomposition). Singular Value Descomposition: • Cálculo de centro de masas: Se calcula el centro de masas de ambas nubes. 𝑃𝑃�= 1 𝑁𝑁�𝑃𝑃𝑖𝑖 𝑁𝑁 𝑖𝑖=1 ; 𝑄𝑄�= 1 𝑁𝑁�𝑄𝑄𝑖𝑖 𝑁𝑁 𝑖𝑖=1 • Cálculo de puntos centrados: Se restan los centros de masa a cada punto para obtener puntos centrados 𝑃𝑃𝑖𝑖′=𝑃𝑃𝑖𝑖−𝑃𝑃� ; 𝑄𝑄𝑖𝑖′=𝑄𝑄𝑖𝑖−𝑄𝑄�
Métodos de reconstrucción 3D 20 • Obtención de la matriz de correlación 𝐻𝐻: Contendrá los productos principales y productos cruzados de cada punto de ambas nubes. 𝐻𝐻= �𝑄𝑄𝑖𝑖′(𝑃𝑃𝑖𝑖′)𝑇𝑇 𝑁𝑁 𝑖𝑖=1 • Cálculo de la descomposición en valores singulares (SVD) de la matriz 𝐻𝐻: La descomposición de la matriz de correspondencia resulta de la obtención de los autovalores y autovectores de ambas nubes, que desde un punto de vista grafico significa obtener las direcciones principales de inercia de ambas nubes y la escala de inercia (en este caso de área) en cada una de las direcciones principales. 𝐻𝐻=𝑈𝑈Σ𝑉𝑉𝑇𝑇→�𝑈𝑈:𝐷𝐷𝑐𝑐𝐺𝐺 𝑑𝑑𝐺𝐺 𝑓𝑓𝑓𝑓𝐺𝐺𝑛𝑛𝑡𝑡𝐺𝐺 𝑉𝑉:𝐷𝐷𝑐𝑐𝐺𝐺 𝑑𝑑𝐺𝐺 𝐺𝐺𝑏𝑏𝑗𝑗𝐺𝐺𝑡𝑡𝑐𝑐𝑣𝑣𝐺𝐺 Σ: 𝜆𝜆 𝑑𝑑𝐺𝐺 𝐷𝐷𝑐𝑐𝐺𝐺 • Determinación de la matriz de rotación 𝑅𝑅: Con las direcciones principales resulta trivial. 𝑅𝑅=𝑉𝑉𝑈𝑈𝑇𝑇 • Cálculo del vector de traslación 𝑇𝑇: 𝑇𝑇=𝑄𝑄�−𝑅𝑅𝑃𝑃� El algoritmo resuelve la correspondencia de forma iterativa hasta llegar a la convergencia de total de la nube de puntos y repite el proceso de transformación espacial hasta alcanzar la convergencia. Figura 2.12: Algoritmo ICP [26]. La principal ventaja del Algoritmo ICP es que no requiere un análisis previo de características en la nube de
21 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad puntos, es decir, no necesita entender los datos abstractos que se presentan en los datos de entrada (Puntos característicos, descriptores…). Además de eso, si el valor inicial es favorable, la convergencia es asegurada. Esto es, que la alineación total se garantiza si en la inicialización las nubes están en posiciones favorables, cerca del mínimo global. Las limitaciones del algoritmo se dan en los casos que fallan las suposiciones comentadas. • Asunción de Subconjunto: Requiere que una de las superficies sea un subconjunto de la otra, lo cual es restrictivo. • Coste Computacional Elevado: La búsqueda de puntos correspondientes en cada iteración puede ser computacionalmente costosa. • Suposición de Correspondencia Euclidea: La correspondencia entre puntos se basa en la distancia euclidea mínima, lo cual puede inducir errores si la forma de la superficie varía drásticamente. Pueden existir mínimos locales si el objeto presenta una geometría regular, dando lugar a la solución para un mínimo local y no global. • Dependencia de Buen Valor Inicial: Para que el registro sea preciso, es necesario partir de una suposición inicial de la posición de las nubes relativamente próxima. 2.2.2.1 Modificaciones del algoritmo ICP Con el fin de reducir el coste computacional que puede llegar a tener el cálculo de distancia punto a punto entre las dos nubes en cada iteración, se propone un camino alternativo que puede acelerar la convergencia mediante el cálculo de distancias punto a plano. Este método considera la orientación de las superficies representadas por los puntos, y es más preciso en situaciones donde las superficies son planas y continuas: • Para cada punto 𝐷𝐷𝑖𝑖 en la nube fuente, se calcula el punto más cercano 𝑇𝑇𝑖𝑖 en la nube objetivo, igual que en el caso anterior. • Luego, en lugar de medir solo la distancia euclidiana directa entre 𝐷𝐷𝑖𝑖y 𝑇𝑇𝑖𝑖 se proyecta 𝐷𝐷𝑖𝑖 en el plano tangente de 𝑇𝑇𝑖𝑖 definido por la normal de 𝑇𝑇𝑖𝑖 .La distancia punto a plano es la distancia perpendicular entre 𝐷𝐷𝑖𝑖 y este plano tangente de 𝑇𝑇𝑖𝑖. Esto permite que la optimización no solo intente minimizar la distancia entre los puntos, sino que también alinee las orientaciones de las superficies. Cada iteración tiene un peso computacional mayor, pero la convergencia se produce antes gracias al alineamiento considerando orientaciones. Muy útil cuando las superficies son razonablemente regulares.[22] 𝐸𝐸(𝑇𝑇)=��(𝐷𝐷−𝑇𝑇𝑇𝑇)𝑛𝑛𝑝𝑝�2←𝑀𝑀𝑐𝑐𝑛𝑛𝑐𝑐𝐺𝐺𝑐𝑐𝑀𝑀𝑎𝑎𝑐𝑐𝑐𝑐ó𝑛𝑛 𝑃𝑃𝑓𝑓𝑛𝑛𝑡𝑡𝐺𝐺 𝑎𝑎 𝑃𝑃𝑒𝑒𝑎𝑎𝑛𝑛𝐺𝐺 (𝑝𝑝,𝑞𝑞)𝜖𝜖𝑘𝑘
Métodos de reconstrucción 3D 22 Figura 2.13: ICP: Distancia punto a plano [27]. 2.2.3 Registro de color sobre la nube de puntos Hasta ahora el algoritmo ICP ha resuelto la reconstrucción espacial de una nube de puntos en el marco global. Sin embargo, esta versión estándar del algoritmo no ofrece ninguna solución para la apariencia tonal, es decir, el color de la nube de puntos. Para ofrecer un objetivo de optimización conjunto de color y geometría se plantea una actualización del algoritmo.[28] 𝐸𝐸(𝑇𝑇)=(1−𝜎𝜎)𝐸𝐸𝑐𝑐(𝑇𝑇)+𝜎𝜎𝐸𝐸𝐺𝐺(𝑇𝑇) Siendo 𝐸𝐸𝐺𝐺(𝑇𝑇) el término de geométrico abordado hasta ahora por el algoritmo ICP y 𝐸𝐸𝑐𝑐(𝑇𝑇) el término de color introducido para optimización de ambos. El parámetro 𝜎𝜎 controla el equilibrio entre ambos términos. Para la optimización de color, la idea básica es convertir la información discreta de color de cada punto en una función continua, de modo que, no existan saltos de tonalidad bruscos debido a las distintas condiciones de contorno de las imágenes RGBD, (Ii, Di). De este modo, se introduce el concepto de cámara virtual que observa a cada punto p desde la dirección de su normal, formando un plano de imagen, tangente en p y definiendo una función continua a lo largo del plano tangente, 𝐶𝐶p(𝑓𝑓), siendo 𝑓𝑓 la proyección del punto 𝐷𝐷′ sobre el plano tangente a 𝐷𝐷. A efectos matemáticos, lo que se está planteando es una aproximación en serie de Taylor que homogeniza la tonalidad para los puntos vecinos en el plano tangente al punto p. De ese modo, la función continua tendrá la siguiente apariencia: 𝐶𝐶p(𝑓𝑓)≈𝐶𝐶(𝐷𝐷)+𝑑𝑑𝑝𝑝𝑇𝑇𝑓𝑓
23 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Siendo 𝑑𝑑𝑝𝑝𝑇𝑇 el gradiente tonal que del vector que conforman el punto 𝐷𝐷 y 𝑓𝑓 (proyección de 𝐷𝐷′ sobre plano tangente a 𝐷𝐷). Este gradiente se obtiene de buscar la solución en el sentido de mínimos cuadrados de la tendencia tonal para toda la vecindad de puntos con respecto a p, siendo la función que se optimiza: 𝑓𝑓(𝑐𝑐)≈𝑐𝑐+𝑛𝑛𝑝𝑝(𝑐𝑐−𝐷𝐷)𝑇𝑇𝑛𝑛𝑝𝑝 En la Figura2.15 se representa la idea gráfica de optimización de gradiente. Todos los vectores proyectados en el plano tangente a p (vectores morados), formarán parte en el cálculo del gradiente en el sentido de mínimos cuadrados. Así, se obtiene una continuidad tonal a lo largo de toda la nube de puntos. Figura 2.14: Explicación vectorial de optimización de gradiente De tal modo que la solución completa del IPC pasa por la optimización conjunta de: 𝐸𝐸𝐺𝐺(𝑇𝑇)=��(𝐷𝐷−𝑇𝑇𝑇𝑇)𝑛𝑛𝑝𝑝�2 (𝑝𝑝,𝑞𝑞)𝜖𝜖𝑘𝑘 𝐸𝐸𝐶𝐶(𝑇𝑇)=��𝐶𝐶𝑝𝑝(𝑓𝑓(𝑐𝑐(𝑇𝑇,𝑇𝑇))−𝐶𝐶(𝑇𝑇)�2 (𝑝𝑝,𝑞𝑞)𝜖𝜖𝑘𝑘
25 3 Implementación na vez presentados los dos métodos estudiados en este trabajo fin de máster, se presentará la implementación de dichos métodos. Para ello, esta sección presenta la cámara utilizada así como el software utilizado para la implementación. 3.1 Sensor RealSense D435i Para el método RGBD se necesita una cámara de profundidad que te ofrezca los 4 canales que conforman el color (RGB) y la profundidad (D). Aprovechando los 3 primeros canales RGB entregados por esta misma cámara también se puede aplicar el método MultiView, por lo que, con un mismo dispositivo se puede realizar la implementación de campo de ambos métodos. Con la idea de usar la misma cámara de profundidad para la implementación de dos metodologías, se presenta la cámara RealSense D435i. Figura 3.1: Cámara RealSense D435i [13]. U
Implementación 32 o Registro de nubes de puntos: Permite alinear diferentes nubes de puntos en un mismo sistema de referencia, útil para fusionar datos de distintas fuentes o vistas. o Segmentación: Utiliza algoritmos avanzados para segmentar partes de una nube de puntos, por ejemplo, para separar elementos en una escena escaneada. • Arquitectura Técnica: o Basado en C++ con enlaces para Python, lo que lo hace flexible y rápido. o Visualización optimizada con una interfaz gráfica que aprovecha OpenGL para renderizado rápido. o Integración con ML/DL: Soporta bibliotecas como PyTorch y TensorFlow, lo que permite usar redes neuronales para segmentación y clasificación en datos 3D. • Aplicaciones de Open3D: o Robótica: Para navegación y mapeo usando datos de sensores LiDAR y cámaras de profundidad. o Desarrollo de Inteligencia Artificial y aprendizaje profundo: Al analizar y clasificar objetos en entornos 3D, útil en visión 3D y percepción. o Rehabilitación y medicina: Permite análisis de escaneos médicos en 3D y modelos anatómicos. o Automoción: Open3D es ampliamente usado en aplicaciones de mapeo y percepción en vehículos autónomos. o Simulación y juegos: Donde el análisis de entornos 3D es crucial para la interacción en tiempo real y la creación de entornos precisos.
33 4 Validación n esta sección se mostrarán los resultados obtenidos de la implementación por los métodos MultiView y RGBD. El objetivo principal y objeto de este documento, es aplicar los dos métodos sobre tuberías de distinta textura, reflexión y color. Sin embargo, para tener referencias de los posibles resultados a esperar, primero se implementan ambos modelos sobre entornos controlados en cuanto a geometría y color se refieren. 4.1 Referencias de control Se han seleccionado dos objetos de control buscando establecer una referencia extremadamente opuesta en cuanto a características tonales y geométricas se refiere: • Una caja de geometría simple y monocolor, de grandes dimensiones (60x40x14cm) . Figura 4.1: Referencia de geometría y apariencia tonal sencillas. E
Validación 34 • Un dron con geometría compleja, tonalidad heterogénea y de pequeñas dimensiones (15x15x10cm). Figura 4.2: Referencia de geometría y apariencia tonal compleja. 4.1.1 COLMAP: Resultados de referencias de control A continuación se presentan los resultados de COLMAP cuando se usa sobre las referencias de control anteriormente presentadas.
35 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Figura 4.3: Referencia de geometría y apariencia tonal sencilla COLMAP. Vistas A y B. Figura 4.4: Referencia de geometría y apariencia tonal sencilla COLMAP. Vistas C y D.
Validación 36 Figura 4.5: Referencia de geometría y apariencia tonal compleja COLMAP. Vistas A y B. Figura 4.6: Referencia de geometría y apariencia tonal compleja COLMAP. Vistas C y D. 4.1.2 Open3D: Resultados de referencias de control A continuación se presentan los resultados de Open3D cuando se usa sobre las referencias de control anteriormente presentadas.
37 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Figura 4.7: Referencia de geometría y apariencia tonal sencilla Open3D. Vistas A y B.
Validación 38 Figura 4.8: Referencia de geometría y apariencia tonal sencilla Open3D. Vistas C y D.
39 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Figura 4.9: Referencia de geometría y apariencia tonal compleja Open3D. Vistas A y B. Figura 4.10: Referencia de geometría y apariencia tonal compleja Open3D. Vistas C y D.
Validación 40 4.2 Experimentación directa sobre tuberías Para la implementación directa sobre tuberías, las dos tuberías elegidas tienen distinto diámetro, textura y nivel de reflexión. A ambas tuberías se le han añadido marcas de colores simulando defectos. Las tuberías se presentan a continuación: • Tubería aislada con alta reflexión y gran diámetro Figura 4.11: Tubería aislada de alta reflexión para validación. • Tubería de PVC de menor diámetro Figura 4.12: Tubería de PVC para validación.
41 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad 4.2.1 COLMAP: Resultados de tuberías A continuación se presentan los resultados de COLMAP cuando se usa sobre las tuberías. Figura 4.13: Tubería Aislada COLMAP. Vistas A y B. Figura 4.14: Tubería Aislada COLMAP. Vistas C y D. Figura 4.15: Tubería Aislada COLMAP. Vistas E y F.
Validación 48 Entonces, dos líneas de mejoras posibles se presentan: • Incremento de velocidad de ejecución para la reconstrucción por el modelo Multiview: En esta línea de mejora se propondrá el uso de la biblioteca ORB-SLAM2, que simplifica la obtención de puntos característicos permitiendo la utilización de modelo MultiView en tiempo real • Mejora de relación de aspectos geométricos reconstruidos a través del modelo RGBD: En esta línea de mejora se propondrá un pipeline alternativo que pretende robustecer el método RGBD utilizando correspondencias características para una alineación inicial optima. 4.4.1 ORB-SLAM2: MultiView en tiempo real ORB-SLAM2 es una biblioteca de código abierto y en tiempo real para la localización y mapeo simultáneos (SLAM) en tiempo real altamente eficiente, diseñada para trabajar en escenarios 3D utilizando imágenes monoculares, estéreo y RGB-D. [34][35] 1. Características Principales • ORB (Oriented FAST and Rotated BRIEF): Utiliza detectores y descriptores ORB para identificar puntos característicos en las imágenes. Estos puntos son robustos y eficientes de procesar, lo que permite un seguimiento estable y rápido en tiempo real. • Mapeo y localización en tiempo real: Permite generar un mapa del entorno y localizarse en él simultáneamente en tiempo real, incluso en entornos grandes y complejos. • Loop closure: Incluye un sistema de cierre de bucle que permite corregir la trayectoria cuando el sistema detecta que ha regresado a un lugar previamente visitado, mejorando la precisión del mapa. • Re-localización: Si el sistema pierde la localización, ORB-SLAM2 puede volver a ubicarse utilizando los puntos del mapa ya generados. El pipeline que sigue esta biblioteca sigue el modelo MultiView. La principal diferencia radica en el uso de algoritmo ORB para detección de puntos característicos y una programación concurrente basada en 3 hilos más enfocada a una aproximación de ejecución en tiempo real. 4.4.1.1 ORB: Oriented FAST and Rotated BRIEF ORB se apoya en otros dos algoritmos principales: • Features from Accelerated Segment Test, FAST; para detectar puntos característicos en una imagen. El algoritmo FAST busca esquinas o puntos de interés mediante un análisis rápido de gradientes de color de los píxeles alrededor de un punto. • Binary Robust Independent Elementary Features, BRIEF: para la descripción de los puntos caracteristicos. BRIEF es un descriptor binario que analiza las relaciones de intensidad entre pares de píxeles en una región alrededor de cada punto clave. No es invariante a la rotación, por lo que, ORB incorpora una versión que ajusta el patrón de comparación de píxeles según la orientación del punto clave, logrando descriptores invariantes a rotación Se debe entender que, gracias al algoritmo ORB, el tiempo de búsqueda de puntos característicos y correspondencia disminuye órdenes de magnitud. Sin embargo, es necesario aclarar que los puntos característicos obtenidos por SIFT son mucho más ricos y complejos, coincidiendo con la definición de descriptor invariante, univoco para otro tipo de puntos que no tengan la misma correspondencia.
49 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Figura 4.30: Puntos característicos obtenidos antes de formar el descriptor [36]. 4.4.1.2 Sistema multihilos ORB-SLAM2 se organiza en tres hilos independientes que trabajan en paralelo o concurrentemente, dependiendo del número de núcleos de la CPU: • Seguimiento (Tracking): se encarga de procesar cada nueva imagen, detectando y extrayendo puntos caracteristicos y buscando correspondencias. Realiza el registro de la imagen y actualiza el mapa de nube de puntos. • Optimización Local (Local Mapping): Realiza el ajuste de marco, bundle adjustment, a nivel local, es decir, el área entorno a la cámara y los planos imagen cercanos. • Cierre de Bucle (Loop Closing): detecta cuando la cámara ha regresado a una ubicación previamente visitada. Con el cierre del bucle realiza un ajuste de marco, bundle adjustment, a nivel global.
Validación 50 Figura 4.31: Pipeline multihilo de ORB-SLAM2 [37]. Se debe entender que esta biblioteca, aunque increíblemente eficiente, solo realiza una reconstrucción dispersa en tiempo real, es decir, una reconstrucción exclusiva de los puntos característicos. Para una reconstrucción densa será necesario realizar la ejecución offline o buscar una metodología de tipo RGBD. Figura 4.32: Reconstrucción dispersa con ORB-SLAM2 [38].
51 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad 4.4.2 Pipeline propuesto: Inicialización robusta del algoritmo ICP Dado que la reconstrucción densa es muy dependiente del número de puntos característicos de entorno a reconstruir y que posee una carga computacional elevada, se plantea un pipeline alternativo que combina las dos metodologías explicadas en este documento. Figura 4.33: Pipeline propuesto.
Validación 52 El objetivo de este pipeline sería resolver los problemas de convergencia por mínimos locales que presenta el algoritmo ICP cuando realiza una inicialización aleatoria. Con la correspondencia acelerada de puntos característicos, junto con un filtro RANSAC para eliminar outliers de errores de correspondencia, la alineación inicial debería estar bien condicionada. Con esto un alineamiento certero de nubes de puntos es casi asegurado. La salida teórica de este pipeline sería una Reconstrucción Densa con mejor relación de forma y geometría y a una velocidad de ejecución acelerada. Si la velocidad de ejecución no presenta ser un problema, también se puede plantear este mismo pipeline utilizando el algoritmo SIFT, que minimizará los errores de correspondencia.
53 5 Conclusiones ste proyecto ha presentado la valoración de los métodos MultiView y RGBD como alternativas a otros métodos de reconstrucción que no ofrecen la información de color, la cual es necesaria para la aplicación en estudio: Reconstrucción de tuberías para inspección con UAVs. Aproximaciones completamente opuestas se siguen desde ambas metodologías. El método MultiView parte de un análisis de canal de color para estimar la profundidad. De forma contraria, el método RGBD analiza y trabaja directamente con la profundidad para, posteriormente, registrar la información de color. Se ha utilizado el sensor IntelRealSense D435i para probar las dos alternativas de reconstrucción ya que ofrece tanto la información de color, como de profundidad. Bajo un marco de referencia previamente testeado con distintos objetos de control, y posterior prueba sobre los sistemas de tuberías objeto de estudio, ambos métodos han dado resultados muy polivalentes. El análisis comparativo de los modelos de reconstrucción 3D MultiView y RGBD revela fortalezas y debilidades distintas. El modelo MultiView demuestra superioridad entregando una fiel relación de aspectos y precisión de color por una triangulación precisa de puntos. No obstante, esta metodología requiere una significativa carga computacional, lo que implica que su ejecución deba ser offline. Por otro lado, el modelo RGBD destaca en eficiencia de tiempo y densidad de reconstrucción, logrando una ejecución en tiempo real. Sin embargo, esta velocidad sacrifica en parte la exactitud de los aspectos geométricos y la continuidad tonal en la reconstrucción. La implementación de ORB-SLAM2 en el metodo MultiView ofrece una alternativa en tiempo real por utilización de características descriptivas de menor riqueza, pero con un rendimiento computacionalmente más eficiente, lo que sugiere una solución viable para aplicaciones que exigen rapidez y precisión aceptable. Alternativamente, se propone un pipeline que utilice una inicialización robusta del algoritmo ICP, basada en una rápida correspondencia de puntos. Esta combinación de técnicas permite una reconstrucción densa y precisa en menor tiempo. De forma conclusiva, cabe indicar que ninguno de los dos métodos es inflexible, y la combinación de sus fortalezas creará una tendencia creciente de mejora en el campo de la reconstrucción tridimensional. E
55 Anexos Modelo de cámara En el modelo de cámara ideal, una imagen ℝ2 captura la luz emitida por los puntos de una escena ℝ3 que componen la realidad fotografiada. Figura Anexo 1: Modelo de Cámara [14]. La Figura de este anexo muestra el modelo ideal de cámara de donde se puede obtener matemáticamente la relación entre plano imagen y coordenadas mundo. 𝑥𝑥=𝑓𝑓𝑓𝑓 𝑍𝑍;𝑦𝑦= 𝑓𝑓𝑓𝑓 𝑍𝑍→𝜆𝜆[𝑓𝑓,𝑣𝑣 1]𝑇𝑇≅𝜆𝜆[𝑓𝑓𝑓𝑓 𝑓𝑓𝑓𝑓 1]; 𝜆𝜆:𝑃𝑃𝑎𝑎𝐺𝐺𝑎𝑎𝐺𝐺𝐺𝐺𝑡𝑡𝐺𝐺𝑐𝑐𝑀𝑀𝑎𝑎𝑐𝑐𝑐𝑐ó𝑛𝑛 𝑑𝑑𝐺𝐺 𝑍𝑍
Anexos 56 Nota: La relación entre figura representada en plano imagen tiene una rotación en x e y de 180º en el modelo de cámara ideal, que no se ha tenido en cuenta para simplificación del concepto teórico. En la ecuación anterior, se introduce el factor de escala 𝜆𝜆 para pasar a coordenadas homogéneas. A diferencia de las coordenadas cartesianas, las homogéneas introducen una coordenada adicional que facilita cálculos de transformaciones (como traslaciones, rotaciones, escalados y proyecciones) y permite representar puntos en el infinito. • Si 𝜆𝜆= 1, las coordenadas homogéneas (𝑥𝑥,𝑦𝑦, 1) corresponden al punto (𝑥𝑥,𝑦𝑦) en coordenadas cartesianas. • Si 𝜆𝜆≠1, las coordenadas homogéneas (𝑥𝑥,𝑦𝑦, 1) corresponden al punto (𝑥𝑥/𝜆𝜆,𝑦𝑦/𝜆𝜆) en coordenadas cartesianas. La utilización de estas coordenadas se vuelve necesaria debido al problema inherente de no linealidad por la dependencia directa de las coordenadas del plano imagen con la profundidad del punto real. Así el sistema geométrico en coordenadas homogéneas queda de la siguiente manera: 𝑥𝑥�≅𝜆𝜆[𝑓𝑓 𝑣𝑣 1]𝑇𝑇=𝑃𝑃𝑓𝑓�=�𝑓𝑓0 0 𝑐𝑐𝑥𝑥 0 𝑓𝑓0𝑐𝑐𝑦𝑦 0 0 0 1 ��𝑓𝑓𝑓𝑓𝑍𝑍1� Cuando se abandona este modelo de cámara ideal, estas relaciones geométricas entre las coordenadas mundo y el plano imagen se recogen de forma paramétrica, siendo estos parámetros desconocidos a priori. • Parámetros o calibración extrínsecos: R y T representan la transformación euclídea que se produce de coordenadas mundo a plano imagen. • Parámetros o calibración intrínsecos: C, a y s representan distancia al centro principal, anisotropía y rectangularidad de pixeles, respectivamente. Recogen las propiedades geométricas o de forma de la cámara. Matemáticamente, la transformación de coordenadas mundo a plano imagen puede expresarse de la siguiente forma para el modelo paramétrico queda: 𝑥𝑥�≅𝜆𝜆[𝑓𝑓 𝑣𝑣 1]𝑇𝑇=𝑃𝑃𝑓𝑓�=𝐾𝐾 [𝑅𝑅 𝑇𝑇]𝑓𝑓�=𝐾𝐾[𝑅𝑅 −𝑅𝑅𝑇𝑇𝐶𝐶]𝑓𝑓� 𝑅𝑅=[𝐺𝐺𝐺𝐺𝑡𝑡(3𝑥𝑥3)]; 𝑇𝑇=[𝑇𝑇𝐺𝐺𝑎𝑎𝑐𝑐(3𝑥𝑥1)] →𝐾𝐾=�𝑓𝑓 𝑐𝑐 𝑐𝑐𝑥𝑥 0 𝑎𝑎𝑓𝑓 𝑐𝑐𝑦𝑦 0 0 1 � Esta transformación a coordenadas homogéneas permite linealizar el modelo de cámara. 𝜆𝜆[𝑓𝑓 𝑣𝑣 1]𝑇𝑇=�𝑓𝑓 𝑐𝑐 𝑐𝑐𝑥𝑥 0 0 𝑎𝑎𝑓𝑓 𝑐𝑐𝑦𝑦0 0 0 1 0�[X Y Z 1]T
57 Reconstrucción de Tuberías con UAVs basado en Cámaras de Profundidad Triangulación El concepto de triangulación parte del sistema linealizado del modelo de cámara. Entre dos imágenes, dada la hipótesis de correspondencia de una característica local o punto en dos imágenes diferentes. [𝑓𝑓 𝑣𝑣 1]𝑇𝑇=�𝑃𝑃1𝑇𝑇 𝑃𝑃2𝑇𝑇 𝑃𝑃3𝑇𝑇�𝑓𝑓�→ 𝑃𝑃3𝑇𝑇𝑓𝑓𝑓𝑓=𝑃𝑃1𝑇𝑇𝑓𝑓 𝑃𝑃3𝑇𝑇𝑓𝑓𝑣𝑣=𝑃𝑃2𝑇𝑇𝑓𝑓 Dado un punto 𝑥𝑥1 en el plano imagen de una de las dos imágenes, y suponiendo que los parámetros intrínsecos y extrínsecos de la cámara son conocidos, si se quiere calcular ese mismo punto en coordenadas mundo, la resolución de las ecuaciones lineales para una sola imagen generará un sistema compatible indeterminado SCI con 2 ecuaciones para resolver las 3 coordenadas espaciales. Conceptualmente, esto se traduce en que todos los puntos a lo largo de la proyección ortogonal 𝑦𝑦1son solución válida del mismo, al no conocer el factor de escala que recogía la información de profundidad, perdida en el proceso de conversión de ℝ3 mundo a ℝ2 plano imagen del modelo de cámara. Al añadir la segunda correspondencia de ese punto o característica en otra imagen, x2, el problema queda automáticamente sobredimensionado a un sistema de 4 ecuaciones para las 3 coordenadas espaciales. En un modelo ideal de cámara una de las ecuaciones será combinación lineal de las otras 3. Sin embargo, en un caso no ideal esta última ecuación sobredetermina el sistema explicado por un posible ruido en la imagen o una falta de calibración de los parámetros intrínsecos y extrínsecos de la cámara. Esta sobredeterminación puede verse en la Figura de este anexo. 𝑃𝑃3𝑇𝑇𝑓𝑓𝑓𝑓1=𝑃𝑃1𝑇𝑇𝑓𝑓 𝑃𝑃3𝑇𝑇𝑓𝑓𝑣𝑣1=𝑃𝑃2𝑇𝑇𝑓𝑓 𝑃𝑃3𝑇𝑇𝑓𝑓𝑓𝑓2=𝑃𝑃2𝑇𝑇𝑓𝑓 𝑃𝑃3𝑇𝑇𝑓𝑓𝑣𝑣2=𝑃𝑃2𝑇𝑇𝑓𝑓 Sistema Sobredeterminado Figura Anexo 2: Concepto de Triangulación [14].