pix4.pdf
-
Upload
alex-guevara -
Category
Documents
-
view
215 -
download
0
Transcript of pix4.pdf
-
8/18/2019 pix4.pdf
1/113
Escuela Superior de IngenierosUniversidad de Sevilla
G E N E R A C I Ó N D E M A PA S 3 D APA R T I R D E I M Á G E N E S A É R E A S
juan jesús ruiz
Proyecto fin de carrera
Ingeniería de Telecomunicaciones
Julio 2013
-
8/18/2019 pix4.pdf
2/113
Juan Jesús Ruiz: Generación de mapas 3D a partir de imágenes aéreas,Proyecto fin de carrera, Ingeniería de Telecomunicaciones, ©
tutor:Aníbal Ollero Baturone
lugar:Sevilla
Fecha: Julio 2013
-
8/18/2019 pix4.pdf
3/113
Cuando creemos en lo que no vemos, acabamos por no ver lo que tenemos
delante
— José Luis Sampedro
A mi madre y hermano, imposible sin ellos.
-
8/18/2019 pix4.pdf
4/113
-
8/18/2019 pix4.pdf
5/113
A G R A D E C I M I E N T O S
En primer lugar, me gustaría agradecerle a mi familia su apoyo incon-dicional durante los buenos y malos momentos; sin su ayuda jamáshubiera podido terminar esta aventura.
También quiero expresar mi agradecimiento a todas las personasque ,de una manera u otra, me han aportado algo durante los últimosseis años:
A mis hermanos postizos Ignacio Reinoso y Daniel Valdera, porquecompartimos este objetivo desde pequeños y ahora se hace realidad.Si algo he aprendido en la carrera es que la amistad no es ni será una
función de la distancia.
A mis compañeros de promoción y aquellos que he ido conocien-do a lo largo de la carrera, en especial a Sebastián del Moral, RobertoSerrano, Manuel Sánchez, Gilberto Suárez y Daniel Callejo.
A profesores como Antonio González y Fernando Fernández por sergrandes docente y saber cómo estimular a sus alumnos. A Luis Díazy Francisco Pérez de los cuales, a pesar de no ser profesores, he apren-dido muchísimo durante el desarrollo de este proyecto.
Y por último y no menos importante, agradecer a aquellas personascon las que he compartido algún momento de mi vida durante estosaños en especial a Andrea Adones, por soportarme en este sprint finalde carrera.
v
-
8/18/2019 pix4.pdf
6/113
-
8/18/2019 pix4.pdf
7/113
P R E F A C I O
En la última década, se ha producido una importante evolución tantoen el desarrollo de cámaras digitales de bajo coste como en la potenciade procesamiento de los ordenadores convencionales. Esta evoluciónha permitido que se haya creado una comunidad de investigaciónmuy activa en torno a la fotografía digital y la visión artificial, conel consiguiente desarrollo de algoritmos de mapeado 3D que hastahace unos años eran , computacionalmente hablando, imposibles deabordar ...
vii
-
8/18/2019 pix4.pdf
8/113
-
8/18/2019 pix4.pdf
9/113
Í N D I C E G E N E R A L
i i nt ro du c ci ó n 11 i n tr od uc c ió n 3
1.1 Motivación 31.2 Alcance y objetivos 41.3 Planificación temporal 41.4 Estructura del documento 6
2 e s ta do d e l a r te 7
2.1 Introducción 72.2 Contexto 72.3 Mapas 3D desde imágenes aéreas 82.4 Servicios de Cloud Computing 9
2.4.1 Pix4D 92.4.2 Sensefly 9
2.5 Herramientas Open Source 102.5.1 OpenCV y PCL 112.5.2 VisualSFM 112.5.3 MICMAC 12
ii g enera c ió n de mapa s 3d 13
3 a d qu i si c i ón d e i mág enes 15
3.1 Introducción 15
3.2 Sistemas de visión 153.2.1 Sistemas estereos convencionales 153.2.2 Sistemas estéreo con una sola cámara 173.2.3 Mapeado láser 3D con imágenes aéreas 17
3.3 Selección e integración de la cámara 183.3.1 Cámaras digitales 183.3.2 Parámetros de la cámara 203.3.3 Montaje de la cámara 21
4 d i seño d e un v uelo d e ma pead o 3d 23
4.1 Introducción 234.2 Ground Sample Distance 244.3 Altitude Ground Level 244.4 Solapamiento 254.5 Plan de vuelo 25
5 a lg or i tmos d e ma pead o 3d 29
5.1 Introducción 295.2 Modelo de caja negra 29
5.2.1 Imágenes aéreas 305.2.2 Parámetros extrínsecos 305.2.3 Parámetros intrínsecos 33
ix
-
8/18/2019 pix4.pdf
10/113
x índice general
5.2.4 Mapas 3D 345.3 Mapas 3D dispersos 35
5.3.1 Detectores de características 355.3.2 Establecimiento de correspondencias 385.3.3 Triangulación 42
5.3.4 Bundle Adjustment 435.4 Mapas 3D densos 44
5.4.1 Aproximación multi-resolución 455.4.2 Función de energía 465.4.3 Coeficiente de correlación 475.4.4 Procesado de la nube de puntos 47
iii evaluación de la precisión en mapas 3d 51
6 d ef ini c ió n d el exper imento 53
6.1 Introducción 536.2 Pérdidas de precisión en mapas 3D 536.3 Simulación de GPS 54
6.3.1 Errores en receptores de GPS 546.3.2 Receptores GPS a simular 546.3.3 Modelo de ruido 56
6.4 Experimentos a realizar 567 d i s eño d el experi mento 59
7.1 Introducción 597.2 Localización del experimento 597.3 Material utilizado 60
7.3.1 UAV 60
7.3.2 Cámara 607.3.3 Sistema de posicionamiento VICON 617.3.4 PIX4UAV 62
7.4 Parámetros de configuración 627.4.1 Parámetros de vuelo 627.4.2 Parámetros de la cámara 63
7.5 Realización del experimento 647.5.1 Generación ruido de GPS 647.5.2 Asignación imágenes-datos GPS 657.5.3 Generación de mapas 3D 667.5.4 Evaluación precisión 667.5.5 Uso de Ground Control Points 68
8 r e su lt ad os 69
8.1 Introducción 698.2 Experimento 1 698.3 Experimento 2 708.4 Conclusiones 70
iv c o nclu s io nes 73
9 c o nclu s io nes y tra ba jo s f u tur o s 75
-
8/18/2019 pix4.pdf
11/113
índice general xi
v a pé nd ic es 77
a publicación de artículo en uav-g2013 79b g enera c ió n d e ma pa s 3d c o n mic mac 85
b.1 Introducción 85b.2 Instalación y distribución 85
b.3 Proceso de generación de mapas 3D 85b.3.1 Detección de caracteristas y establecimiento de
correspondencias 86b.3.2 Triangulación y Bundle Adjustment 86b.3.3 Generación de matrices de Proyección 86b.3.4 Densificación de mapa 3D 87
c ej emplo s d e ma pa s 3d 89
c.1 Introducción 89c.2 Dataset 1 90c.3 Dataset 2 91
c.4 Dataset 3 92bibliografía 93
-
8/18/2019 pix4.pdf
12/113
Í N D I C E D E F I G U R A S
Figura 1 Adquisición de imágenes aéreas para mapea-do 3D 3Figura 2 Proyecto fin de carrera. Universidad de Sevi-
lla. 4Figura 3 Comparativa de diferentes sistemas de capta-
ción de imágenes. 8Figura 4 Diferentes servicios de 3D mapping 10Figura 5 Ejemplos de software open-source 12Figura 6 Sistema estéreo convencional formado por dos
cámaras alineadas. 15Figura 7 Ejemplo de sistema estéreo con una cámara
17
Figura 8 Mapeado 3D con láser e imágenes aéreas 18Figura 9 Efecto de rolling shutter 19Figura 10 Sistema de estabilización de la cámara 21Figura 11 Esquema de diseño de un vuelo para mapeado
3D 23Figura 12 Cálculo de la altura de vuelo 24Figura 13 Importancia del solapamiento en vuelos de ma-
peado 3D 26Figura 14 Ejemplos de diferentes planes de vuelo 27
Figura 15 Modelo de caja negra de la generación de ma-pas 3D 29Figura 16 Correspondencia de angulos de Euler con los
ángulos de navegación 32Figura 17 Diferentes etapas del mapeado 3D 35Figura 18 Esquema general de generación de mapas dis-
persos (Structure from Motion). 36Figura 19 Prueba de rotación para extractores de carac-
terísticas 37Figura 20 Prueba de escalado para extractores de carac-
terísticas. 37Figura 21 Prueba de rendimiento para extractores de ca-
racterísticas. 38Figura 22 Importancia del contenido en imágenes aéreas 39Figura 23 Resultado del proceso de matching entre dos
imágenes aéreas consecutivas. 40Figura 24 Definición de recta epipolar 41Figura 25 Resultado del proceso de filtrado de corres-
pondencias 42Figura 26 Principio de multi-proyección 42
xii
-
8/18/2019 pix4.pdf
13/113
Figura 27 Ejemplo de optimización usando Bundle Ad- justment. En azul los puntos iniciales. En ver-de, la reproyección del punto 45
Figura 28 Ejemplo de aproximación multi-resolución. 46Figura 29 Comparativa de diferentes sistemas de capta-
ción de imágenes. 48Figura 30 Triangulación de Delaunay. 49Figura 31 Ejemplo de técnicas de reconstrucción de su-
perficies 50Figura 32 Ejemplo de funcionamiento de sistema GBAS 55Figura 33 Esquema de generación de proceso aleatorio 57Figura 34 Testbed indoor situado en CATEC 59Figura 35 Quadrotor utilizado para el experimento 60Figura 36 Software de telecontrol de la cámara 61Figura 37 Sistema VICON de posicionamiento. 62Figura 38 Modelo Simulink para generación de proceso
aleatorio. 64Figura 39 Muestreo del proceso aleatorio de Gauss-Markov. 65Figura 40 Colocación de puntos de control. 67Figura 41 Esquema general del experimento 67Figura 42 Plan de vuelo utilizado para el experimento. 68Figura 43 Resultados de precisión obtenidos al evaluar
diferentes receptores GPS 69Figura 44 Resultados de precisión obtenidos haciendo uso
de 5 GCPs 70Figura 45 Mapa 3D del escenario propuesto. 71
Figura 46 Factores de mejora de lo algoritmos de recons-trucción 3D . 75
Figura 47 Ortomosaico, mapa de altura y vista en pers-pectiva del modelo 3D del dataset 1. 90
Figura 48 Ortomosaico, mapa de altura y vista en pers-pectiva del modelo 3D del dataset 2 91
Figura 49 Ortomosaico, mapa de altura y vista en pers-pectiva del modelo 3D del dataset 3. 92
Í N D I C E D E T A B L A S
Tabla 1 Ejemplos de diferentes modelos de cámaras usa-dos para mapeado 3D. Unidades: peso (gra-mos), resolución (megapíxeles) , precio(e) 19
Tabla 2 Definición de parámetros extrínsecos 31Tabla 3 Definición de parámetros intrínsecos 33
xiii
-
8/18/2019 pix4.pdf
14/113
xiv Índice de tablas
Tabla 4 Ejemplo de distribución de pérdidas en un re-ceptor GPS. 55
Tabla 5 Ejemplos de diferentes receptores GPS junto asus desviaciones típicas 56
Tabla 6 Ejemplos de diferentes receptores GPS en el es-
cenario escalado 57Tabla 7 Características de la cámara usada 61Tabla 8 Características de adquisición del dataset 1 90Tabla 9 Características de adquisición del dataset 2 91Tabla 10 Características de adquisición del dataset 3 92
-
8/18/2019 pix4.pdf
15/113
A C R Ó N I M O S
ag l Altitude above Ground Level
bs d Licencia de software permisiva
cmos Complementary metal-oxide-semiconductor
cc d Charge-Coupled Device
dgps Diferential Global Positioning System
de m Modelo digital de altura
egnos European Geostationary Navigation Overlay Service
gbas Ground Based Augmentation Systemsgs d Ground Sample Distance
gi s Geographic Information Systems
gt p Ground Truth Point
gc p Ground Control Point
gp u Graphic Processing Unit
gi a Ground Imaging Area
pp p Precise Point Positioning
rt k Real-Time Kinematics
sn r Relacion señal a ruido
sf m Structure From Motion
sift Scale-Invariant Feature Transform
sbas Satellite Based Augmentation Systems
sa Selective Availability
ut m Universal Transverser Mercator
uav Unmanned Aerial Vehicle
uas Unmanned Aircraft Systems
wgs84 World Geodetic System 84
waas Wide Area Augmentation System
xv
-
8/18/2019 pix4.pdf
16/113
-
8/18/2019 pix4.pdf
17/113
Parte I
I N T R O D U C C I Ó N
-
8/18/2019 pix4.pdf
18/113
-
8/18/2019 pix4.pdf
19/113
1I N T R O D U C C I Ó N
1.1 mo tiva c ió n
Durante los últimos años, las técnicas de mapeado a través de imá-genes aéreas han sido objeto de gran interés, sobre todo tras la apa-rición de los sistemas aéreos no tripulados (UAV). Este auge ha sidotal que ha absorbido el mercado que hasta ahora poseían las técnicasde mapeado a partir de imágenes tomadas por satélites o aviones tri-pulados. La necesidad de modelos 3D más precisos y detallados encampos tales como medio ambiente, agricultura y monitorización derecursos naturales ha provocado que las fotografías que ofrecen lossatélites no sean las adecuadas. Además, la adquisición de imágeneses muy lenta y solo posible con condiciones meteorológicas favora-
bles. Aunque por otro lado el uso de aviones tripulados cubre esasnecesidades de resolución y precisión, este tipo de técnicas son muycostosas y su limitación de vuelo es de pocas horas. Resumiendo, lastécnicas de adquisición de imágenes aéreas utilizadas hasta antes dela aparición de los UAV poseen varias limitaciones tales como altoscostes de vuelo, maniobrabilidad restringida, baja resolución etc [1].
En la figura 1 se puede observar como a medida que aumenta lacobertura disminuye el nivel de detalle de las imágenes obtenidas. Eluso de UAS permite capturar imágenes con gran detalle a la vez quese de las imágenes obtenidas evitan las perturbaciones producidaspor fenómenos atmosféricos a tales como nubes o niebla.
Figura 1: Adquisición de imágenes aéreas para mapeado 3D
3
-
8/18/2019 pix4.pdf
20/113
4 i nt ro du cc ió n
1.2 a lc anc e y o bj eti v os
El principal objetivo de este proyecto fin de carrera es el estudio ydiseño de un sistema de generación de mapas 3D utilizando imáge-nes aéreas captadas por un UAV. Para tal propósito se tratarán los
siguientes puntos a lo largo de la memoria:
• Estudio de los antecedentes y el estado del arte de la temática.
• Diseño del sistema de adquisición de imágenes y su integraciónen la plataforma aérea.
• Análisis de los algoritmos utilizados para la generación de ma-pas 3D.
• Evaluación de la precisión de los mapas 3D generados a travésde una serie de experimentos.
El enfoque utilizado a la hora de generar este documento ha sidoun enfoque descriptivo, con el propósito de ofrecer al lector los prin-cipales conceptos relacionados con el mapeado 3D. Este tipo de téc-nicas abarcan varios algoritmos de carácter complejo los cuales hansido simplificados y explicados de manera clara y resumida. Para unestudio más a fondo de estos algoritmos, se recomienda el uso de
bibliografía recomendada.
1.3 pla nif i c ac i ón tempor a l
Este proyecto fin de carrera es está situado cronológicamente entreSeptiembre de 2012 y Julio de 2013. A continuación se expone el dia-grama de Gantt correspondiente a las tareas realizadas durante dichoperiodo:
Figura 2: Proyecto fin de carrera. Universidad de Sevilla.
-
8/18/2019 pix4.pdf
21/113
1.3 p la n if ic ac ió n t em po ra l 5
DIAGRAMA DE GANTT
HOY
2012 2013
MESES: 9 10 11 12 1 2 3 4 5 6 7
100 % Completado1 Documentación inicial
100 % Completado1.1 Estado del arte
100 % Completado1.2 Lenguaje C++
100 % Completado1.3 OpenCV
83 % Completado2 Generación mapas 3D
100 % Completado2.1
Implementación inicial
100 % Completado2.2 Librerías MICMAC
50 % Completado2.3 Optimización
100 % Completado3 Experimentos realizados
100 % Completado3.1 Diseño del experimento
100 % Completado3.2 Experimentos
100 % Completado3.3 Redacción del paper
100 % Completado4 Redacción del PFC
START-TO-START
FINISH-TO-START
FINISH-TO-START
FINISH-TO-START
FINISH-TO-START
FINISH-TO-START
En este diagrama se puede observar la distribución de tareas a lolargo del tiempo en el que se ha desarrollado el proyecto. Los prime-ros meses se invirtieron en una puesta en marcha o procedimiento desetup, en el que la actividad se centró en la búsqueda de documenta-ción. Una vez adquiridos los conocimientos necesarios, se pasó a unaetapa de desarrollo donde se implementaron varios de los algoritmosestudiados con anterioridad. A continuación, se realizaron las fasesde diseño del experimento a la vez que se seguía implementandoy consultando librerías de generación de mapas 3D. Por último, losconocimientos adquiridos durante la experimentación fueron plasma-dos en la redacción tanto de un paper para la conferencia UAVg-2013
-
8/18/2019 pix4.pdf
22/113
6 i nt ro du cc ió n
(Unmanned Aerial Vehicles in Geomatics) como del Proyecto Fin deCarrera del autor.
1.4 es tru c tur a d el d o cu mento
La estructura de este Proyecto Fin de Carrera se ha dividido en 9capítulos y 3 apéndices agrupados en 4 partes con el objetivo de seg-mentar el contenido de una manera clara y específica.
parte i , introducción: En esta primera parte se introducen losobjetivos y motivación del proyecto así como un estado del artesobre las técnicas actuales de mapeado 3D y las empresas queofrecen este tipo de servicio.
parte ii , generación de mapas 3d : La parte dos pretende in-troducir al lector a las técnicas utilizadas para la generación de
mapas 3D. Para ello, se han escrito tres capítulos que englobandesde el diseño de un vuelo específico de mapeado 3D hasta unrepaso por la cadena de algoritmos utilizados.
parte iii , precisión en mapas 3d : Por último, se presenta uncaso práctico de diseño de vuelo y generación de mapas 3D.Con ese objetivo, se ha utilizado las instalaciones de CATECpara identificar las principales fuentes de error que afectan ala precisión de estos algoritmos. Como resultado de estos ex-perimentos, se ha publicado un artículo de congreso para elpróximo UAVg-2013.
parte iv : conclusiones : Esta parte consta de solo un capítulo,en el cual se recogen los aspectos más relevantes de la memoria.
parte v : apéndices : Formado por tres capítulos, esta parte suple-mentaria está dedicada a documentos relativos a la generaciónde mapas 3D que no tienen cabida en las anteriores seccionesdel documento.
-
8/18/2019 pix4.pdf
23/113
2E S T A D O D E L A R T E
2.1 i n tr od uc c ió n
El continuo desarrollo de la electrónica y la fotografía ha permitidoque la generación de mapas 3D sea una realidad a día de hoy. Al tra-tase de una tecnología reciente, muchas son las empresas que ofreceneste novedoso servicio al usuario final. Por tanto, el objetivo de estasección es realizar un estudio tanto de dichas empresas como de lasalternativas de código abierto que existen actualmente.
2.2 c on te xt o
Hasta principios del año 2000, los grupos de investigación de fotogra-metría y visión artificial habían trabajado de manera independienteen la reconstrucción de entornos 3D, coincidiendo sólo en la reso-lución de problemas basados en visión estereoscópica. Por un lado,los fotogrametristas se centraron en el uso de cámaras de alto coste
bien calibradas e imágenes de alta resolución analógicas, a las que seles aplicaban algoritmos de optimización, los cuales necesitaban de
bastante interacción humana. Sin embargo, la comunidad de visiónartificial trabajaba en sistemas de tiempo real, utilizando imágenes de
baja resolución y siendo éstos sistemas totalmente autónomos.
Es entonces cuando, en torno al año 2010 se produjo un importantedescenso en el precio de las cámaras digitales. Era posible por ejem-plo, adquirir cámaras reflex con unas características de resolución ySNR parecidas a las que se utilizaban a principios del año 2000 enfotogrametría. No es de extrañar que este hecho provocará una evo-lución natural en el tratamiento de imágenes aéreas, donde se combi-naron las prestaciones más relevantes de la fotogrametría y la visiónartificial. Gracias a ello, se han estado desarrollando herramientas au-
tomáticas y bastantes precisas que permiten modelar un entorno 3Dutilizando para ello imágenes tomadas desde una cámara comercialde bajo coste.
Sin embargo, antes de que estas herramientas se pudieran ofreceral público convencional como un servicio, fue necesario el desarrollode una serie de algoritmos que permitieran que la reconstrucción demodelos 3D fuese factible desde el punto de vista computacional.
7
-
8/18/2019 pix4.pdf
24/113
8 e sta do d el a rt e
2.3 ma pa s 3d d es d e i mág enes a ér eas
Previamente al desarrollo de las técnicas anteriormente citadas, lageneración de mapas geográficos era una tarea que normalmente sehacia utilizando imágenes procedentes de vuelos a media altura o
de satélites que orbitaban sobre la tierra [2]. Las imágenes obtenidasde estos satélites poseían una resolución y calidad muy baja y eranafectadas drásticamente por fenómenos atmosféricos (ver figura 3c)que ocultaban parte de la zona que se pretendía mapear.
(a) Imagen obtenida por un aeroplano (1500m).
(b) Imagen captada por un UAV (300 m).
(c) Fotografía desde satélite. (d) Fenómenos atmosféricos adversos.
Figura 3: Comparativa de diferentes sistemas de captación de imágenes.
Con el desarrollo de sistemas aéreos no tripulados (UAV) (ver figu-ra 3a) surge una alternativa a las técnicas de mapeado que se reali-zaban hasta entonces, pudiendo realizar vuelos a baja altura con unamayor resolución y calidad de imagen. Además, la integración de sen-sores inerciales en los UAV permite la generación no solo de mapasortogonales georeferenciados, sino también de modelos digitales dealtura (DEM).
-
8/18/2019 pix4.pdf
25/113
2.4 se rv ic io s d e c lo ud c om pu ti ng 9
En definitiva, todos los factores mencionados anteriormente hancreado una gran expectación en torno a la generación de mapas 3D,gracias a sus múltiples aplicaciones y al bajo coste que supone. Se tra-ta pues un mercado relativamente joven en el que empresas ofreceneste tipo de servicios de manera trasparente al usuario, aunque existe
también herramientas open-source que permiten la implementaciónde los diferentes algoritmos necesarios. En las siguientes secciones seplantean cada una de estas alternativas.
2.4 s er vi c i os de clo u d c o mputi ng
La principal ventaja de este tipo de servicios es la facilidad para elusuario, pues no tiene la necesidad de instalar ningún programa ensu ordenador. Sin embargo, existen una serie de inconvenientes relati-vos sobre todo a la privacidad de los algoritmos utilizados, ya que el
código no es accesible por el usuario (se ejecutan en la nube directa-mente), por lo que el control sobre el resultado final es prácticamen-te nulo. Además, es normal por parte de estas empresas el ofreceruna serie de servicios adicionales, como podría ser atención al clien-te, venta de cámaras fotográficas o venta de sistemas completos deadquisición de imágenes formados por quadrotors o drones.
2.4.1 Pix4D
Pix4D fue fundada a finales de 2009 como una spin-off de EPFL, es-cuela de ingeniería suiza con amplia experiencia tanto en robóticacomo en inteligencia artificial [3].
Entre los productos que oferta esta empresa, destaca Pix4UAV (verfigura 4a), una solución software disponible tanto en la nube comoversión de escritorio. Este paquete software permite la reconstrucciónde mapas 3D a partir de imágenes aéreas así como la generación demapas 2D georreferenciados o la posibilidad de integrar el resultadofinal con Google Maps. La principal diferencia entre la versión enla nube y la de escritorio reside en el precio, ya que en la versiónde escritorio se paga una licencia completa, mientras que para un
procesamiento en la nube solo es necesario abonar cada proyecto demanera independiente.
2.4.2 Sensefly
Sensefly Ltd es una compañia suiza basada en Ecublens que surgió deigual manera que Pix4D como una spin-off del EPFL [4]. La principaldiferencia entre ambas reside en que Sensefly centra su actividad enel desarrollo de UAV propios destinados a ofrecer servicios civilescomo por ejemplo mapeado de zonas forestales, minas etc. Ofrece
-
8/18/2019 pix4.pdf
26/113
10 e sta do d el a rt e
(a) Suite de Software PixUAV. (b) UAV ultraligero desarrollado por Sensefly.
Figura 4: Diferentes servicios de 3D mapping
también la posibilidad de conseguir una suite de software la cual es
compatible únicamente con sus gama de UAV. Entre los productosque oferta Sensefly, destacan:
• Post-flight service. Sensefly permite a sus clientes la generacióntanto de mapas de elevación como de ortomosaicos de maneraautomática a través de su web. Existen varias modalidades deacceso dependiendo del servicio que se desee y , por tanto, elprecio del producto también varía.
• Swinglet Cam. Este UAV (ver figura 4 b ) permite la toma de fo-tografías aéreas a través de su cámara de 12 megapíxeles. Equi-
pado con un sistema de inteligencia artificial basado en sensoresinerciales, permite autopilotaje y aterrizaje de forma autónoma. Junto con el sistema aéreo, se ofrece una suite de software quepermite realizar un plan de vuelo previo, así como generar lainformación necesaria para utilizar sus servicios de generaciónde mapas de altura y ortomosaicos.
2.5 her r ami enta s o pen s o ur c e
Junto a la evolución que ha sufrido la visión artificial en los últimos
años, se han creado varios grupos de desarrollo cuyo objetivo es la li- beración de diferentes herramientas de código abierto. La integraciónde estas herramientas permite abordar problemas más complejos co-mo es el caso del mapeado 3D cuya dificultad reside en la implemen-tación de los diferentes algoritmos que necesita.
En contrapartida a los servicios que ofrecen las empresas priva-das, las soluciones Open Source son las más utilizadas tanto por lacomunidad científica, como por grupos de investigación o empresasprivadas. Estas herramientas son gratuitas y ofrecen la posibilidadde tener control pleno de cada uno de los parámetros que componen
-
8/18/2019 pix4.pdf
27/113
2.5 he rr a mi en ta s o pe n s ou rc e 11
los algoritmos utilizados, pudiendo así adaptar y cambiar esos pará-metros según la necesidad del usuario. A continuación se exponenlas herramientas Open Source más destacadas, así como proyectos decódigo libre relacionados con la reconstrucción 3D.
2.5.1 OpenCV y PCL
OpenCV es una biblioteca libre de visión artificial originalmente desa-rrollada por Intel. Desde que apareció su primera versión alfa en elmes de enero de 1999, se ha utilizado en multitud de aplicacionescomo por ejemplo sistemas de seguridad con detección de movimien-to o aplicaciones de control de procesos donde se requiere recono-cimiento de objetos. Esto se debe a que su publicación se da bajolicencia BSD, que permite que sea usada libremente para propósitoscomerciales y de investigación con las condiciones en ella expresadas.
OpenCV es multiplataforma [5], existiendo versiones para GNU/-Linux, Mac OS X y Windows. Contiene más de 500 funciones queabarcan una gran gama de áreas en el proceso de visión, como reco-nocimiento de objetos, calibración de cámaras, visión estéreo y reco-nocimiento de caras.
En lo relativo a reconstrucción 3D, OpenCV ofrece implementacio-nes de los algoritmos más utilizados tales como detectores de ca-racterísticas, establecimiento de correspondencias o algoritmos máscomplejos utilizados en visión estéreo como el conocido Semi-Global
Matching o Graph Cut. Destaca también la re-implementación de loscitados algoritmos para que sean usados en las emergentes memoriasGPU, que permite una aceleración considerable en el tratamiento deimágenes de alta resolución.
Por último, comentar también la aparición de librerias para el tra-tamiento de nubes de puntos en 3D como Point Cloud Library (PCL)[6], cuya publicación también se da bajo licencia BSD.
2.5.2 VisualSFM
VisualSFM es una herramienta para la reconstrucción de entornos 3Dque implementa el conocido pipeline Structure From Motion [7]. Fuecreada en 2006 por Changchang Wu, un estudiante de la universidadde North Carolina que posteriormente trabajaría en el proyecto Photo-Tourism, predecesor del conocido software de Microsoft Photosynch.
Este software está destinado sobre todo a la reconstrucción de en-tornos 3D de paisajes urbanos tales como edificios o monumentossin tener porqué usar imágenes tomadas desde el aire. Sin embargo,implementa varios elementos que se utilizan para la generación de
-
8/18/2019 pix4.pdf
28/113
12 e sta do d el a rt e
mapas 3D como por ejemplo, Multicore Bundle Adjustment, o SIFTG-PU entre otros.
VisualSFM es por tanto una herramienta de propósito general (verfigura 5a) que permite la reconstrucción de entornos 3D incluso cuan-do las imágenes son tomadas por gente con poco conocimiento sobrefotografía. En consecuencia, el precio a pagar por esta flexibilidad esuna formulación matemática más inexacta, que incurre en pérdidasde precisión para algunas aplicaciones, como es el caso de la genera-ción de mapas 3D.
(a) Ejemplo de uso de VisualSFM. (b) Mapa de profundidad ge-nerado por MICMAC.
Figura 5: Ejemplos de software open-source
2.5.3 MICMAC
El Instituto Geografico Nacional francés (IGN) decidió en 2007 que elsoftware que estaban desarrollando internamente en sus laboratoriospodría ser de interés para la comunidad científica liberando así laprimera versión de MICMAC/APERO [8].
Implementado en el lenguaje de programación C++, estas libreríaseran utilizadas para propósitos cartográficos utilizando para ello imá-genes aéreas. Desde 2007 en adelante, MICMAC ha ido evolucionan-
do incorporando a sus librerías diferentes módulos que permiten lageneración de mapas de profundidad (ver figura 5 b) así como la ex-tracción de nubes de puntos 3D con gran resolución.
La principal diferencia de MICMAC con respecto a otras solucionesde código abierto como VisualSFM o Bundler ([9]) reside en asimilarmodelos matemáticos más complejos, lo que permite una precisiónfinal mas alta. En contrapartida a esta precisión se encuentra la difi-cultad para interactuar con la librería, para la cual se necesitan cono-cimientos más amplios sobre fotografía y sobre los algoritmos que seejecutan en cada etapa.
-
8/18/2019 pix4.pdf
29/113
Parte II
G E N E R A C I Ó N D E M A PA S 3 D
-
8/18/2019 pix4.pdf
30/113
-
8/18/2019 pix4.pdf
31/113
3A D Q U I S I C I Ó N D E I M Á G E N E S
3.1 i n tr od uc c ió n
En el presente capítulo se exponen los diferentes sistemas de visiónutilizados para la generación de mapas 3D con el objetivo de mostrarcuales son los más utilizados y cuales están actualmente en desarro-llo. Por último, una vez elegido el sistema de adquisición de imáge-nes, se realiza un análisis del efecto de los diferentes parámetros deconfiguración de la cámara además de un estudio de la selección eintegración de la cámara en la plataforma aérea.
3.2 s i st e ma s d e v i si ó n
A continuación se presentan los sistemas de visión más utilizados pa-ra reconstrucción 3D entre los que se encuentran los sistemas estéreosconvencionales, los sistemas monoestéreos y por último una técnicaque combina sensores de imagen con información proveniente de unláser.
3.2.1 Sistemas estereos convencionales
Consideremos un sistema estéreo formado por dos cámaras con susejes ópticos paralelos, tal y como se muestra en la figura 6.
Figura 6: Sistema estéreo convencional formado por dos cámaras alineadas.
Sea (x,y,z) las coordenadas de un punto del entorno expresadas enun sistema de coordenadas definido justo en la mitad del segmentoque une los centros de las lentes. La coordenada z representa la dis-tancia al punto o profundidad, es decir, la coordenada buscada parala representación 3D.
15
-
8/18/2019 pix4.pdf
32/113
16 a dq ui si ci ó n d e i má ge ne s
Asumiremos que ambas cámaras poseen la misma distancia focal f,y que el punto antes mencionado se proyecta (según el mismo sistemade coordenadas) en los puntos (xi,yi) y (xd,yd). De acuerdo con [10],resolviendo las ecuaciones que se plantean obtenemos:
x = b(x
i − x
d)/2
( y
i − y
d)(1)
y = b( y
i − y
d)/2
(x
i − x
d)(2)
z = b f
(x
i − x
d)(3)
Del estudio de las ecuaciones anteriores se puede deducir las si-guientes afirmaciones:
• La coordenada z (ecuación 3) es inversamente proporcional a ladisparidad. La distancia a objetos próximos puede medirse deforma más precisa que a objetos lejanos.
• Para un error determinado en el plano de imagen, el interva-lo de incertidumbre en la determinación de z aumenta con ladistancia.
• Para un valor fijo de disparidad, la precisión en la determina-ción de Z aumenta al separar más las cámaras. Sin embargo,cuando esta separación aumenta, las imágenes son menos simi-lares con lo cual el establecimiento de correspondencias es másdifícil, pudiendo llegarse incluso a que puntos de una imagenno aparezcan en la otra.
Por tanto, hace falta controlar dos factores a la hora del desarrollode un sistema estéreo convencional: la distancia a los objetos y laseparación entre las cámaras. Atendiendo al caso de mapeado 3D apartir de imágenes aéreas estas afirmaciones se traducirían en vuelos
a baja altura y en el uso de una distancia base bastante elevada.
Debido a problemas de implementación, los sistemas estéreos con-vencionales no son recomendados en aeronaves pequeñas o UAVs. Encontrapartida, se utiliza una técnica denominada estéreo con una cá-mara o motion stereo, la cual comparte muchas características con lastécnicas estéreo convencionales.
-
8/18/2019 pix4.pdf
33/113
3.2 s is te ma s d e v is ió n 17
3.2.2 Sistemas estéreo con una sola cámara
Los sistemas esteréos que utilizan solo una cámara cubren el caso par-ticular de visión estéreo donde los ejes ópticos de las cámaras no sonparalelos. Por consiguiente, es necesario determinar la transforma-
ción que existe entre los sistemas de referencias asociado a la cámaraen cada una de las imágenes obtenidas. Por este motivo, la imple-mentación de este tipo de técnicas es muy apropiada en aeronavespequeñas debido a la integración de sensores inerciales de posiciona-miento (GPS,IMU), que permiten la localización de la cámara en unsistema de coordenadas terrestre.
En la figura 7 podemos observar cómo utilizando una sola cámarapodemos cubrir la zona de interés si realizamos las fotografías enlas posiciones adecuadas. En el caso de imágenes aéreas, se deberárealizar un plan de vuelo o path planning, acorde a unas condiciones
de solapamiento entre imágenes.
Figura 7: Ejemplo de sistema estéreo con una cámara
3.2.3 Mapeado láser 3D con imágenes aéreas
Por último, se presenta una tecnología consistente en la integraciónde un sistema monoestéreo junto a un láser para la generación de ma-pas de alturas. Conocido como Airbone Light Detection and Ranging(LiDAR), este láser provee información sobre la distancia a la que seencuentran los objetos cercanos a la aeronave. La cooperación de lossensores inerciales con estas medidas permiten la generación direc-ta de mapas 3D, los cuales poseen una resolución espacial bastanteelevada.
-
8/18/2019 pix4.pdf
34/113
18 a dq ui si ci ó n d e i má ge ne s
El uso de LiDAR posee varias ventajas respecto a los mapas 3Dobtenidos directamente desde imágenes aéreas como pueden ser lasupresión de zonas ocultas en las imágenes y una mayor precisión.En contrapartida, LiDAR no provee información sobre la textura ocolor del terreno. En vista a la generación de mapas más realistas (ver
figura 8 b) se puede introducir un sistema de adquisición de imágenesa bordo del UAV, surgiendo la necesidad de desarrollar un softwareque relacione las texturas 2D con el modelo 3D proporcionado porLiDAR haciendo uso de técnicas basadas en Mutual Information [11](ver figura 8a).
(a) Ejemplo de Mutual Information. (b) Perspectiva de mapa 3D de una ciudad.
Figura 8: Mapeado 3D con láser e imágenes aéreas
En definitiva, el uso de un sensor láser para reconstruir entornos3D posee varias ventajas con respecto a técnicas del state-of-art basa-das solamente en imágenes aéreas. Si además se combina esta infor-mación con una cámara digital, podemos obtener modelos de eleva-ción más detallados con una resolución bastante alta.
3.3 s elecc i ó n e i nteg r ac i ó n d e la c á mar a
En esta sección se propone el análisis de las diferentes cámaras dis-ponibles en el mercado y recomendadas por empresas que ofrecenservicios de mapeado 3D. Además, se plantea una configuración ini-cial de parámetros relativos a la cámara, así como un estudio de laintegración de la misma en la plataforma aérea.
3.3.1 Cámaras digitales
La elección de una cámara digital debe ser acorde a una serie de ne-cesidades provenientes de los algoritmos de reconstrucción 3D. Portanto, las imágenes tomadas deben cumplir unos requisitos en cuan-to a calidad y resolución se refiere, además de tener la opción depoder configurar parámetros tales como la velocidad de obturación,la apertura de la lente, la ISO etc..
-
8/18/2019 pix4.pdf
35/113
3.3 s e le c ci ó n e i n t eg r ac i ó n d e l a c á ma r a 19
Por estas razones se recomienda desde [3] escoger la cámara quemejor se adapte a cada tipo de proyecto. La tabla 1 recoge varios tiposde cámaras en función a su tecnología, precio y peso. Este ultimoparámetro es critico si se desarrolla este tipo de sistemas para unUAV, donde la carga de pago suele ser un factor limitante.
tipo de cámara modelo peso resolución precio
CompactasCanon Ixus 220HS 135 16.1 119.13
Sony RX 100 240 20.2 649
Compactas DSLRSony Nex 5/7 270-350 24.3 1273.81
Canon 5D mark ii >500 22 2469
Cámaras PROHasselblad h5d >2000 50 20,900
Leica rcd30 >4000 60 —
Tabla 1: Ejemplos de diferentes modelos de cámaras usados para mapeado 3D. Unidades:peso (gramos), resolución (megapíxeles) , precio(e)
Por último, es necesario evitar el efecto rolling shutter o de gelatina.Este efecto se produce al utilizar sensores CMOS y tomar fotografíasde objetos en movimiento rápido, como es el caso de la captura deimágenes aéreas desde un UAV (ver figura 9a). La naturaleza de es-te fenómeno viene dada por el modo de lectura del sensor, el cualrealiza un barrido línea por línea en vez de realizar una captura ge-neral de los fotodiodos, lo que produce un efecto de distorsión en laimagen final (figura 9 b).
(a) Efecto de rolling shutter en imagen en mo-vimiento
(b) Explicación gráfica del efecto.
Figura 9: Efecto de rolling shutter
En este sentido, cabe aclarar que no solo las cámaras de gama bajaestán afectadas. Las cámaras de gama alta con sensor CMOS (prác-ticamente todas las disponibles en el mercado fotográfico actual), enmodo vídeo producen el mismo efecto. No lo producen al tomar fo-tografías ya que primero se exponen los fotodiodos, se cierran las
-
8/18/2019 pix4.pdf
36/113
20 a dq ui si ci ó n d e i má ge ne s
cortinas y por ultimo se lee la información. En el modo vídeo, todo eltiempo se esta leyendo y grabando la información, sin acción de lascortinas, produciendo esta sensación de imagen gelatinosa. Por tanto,se descartará el uso de la mayoría de video-cámaras para mapeado3D, utilizando para ello cámaras convencionales en modo fotografía.
3.3.2 Parámetros de la cámara
Una vez se ha seleccionado el modelo a utilizar, es importante ade-cuar los parámetros de la cámara en función de la escena, con elobjetivo de conseguir una buena calidad de imagen. A continuaciónse exponen los principales parámetros que debemos tener en cuentaa la hora de obtener las imágenes:
• Sensibilidad ISO: Hace referencia a la sensibilidad de cada unade las celdas que componen el sensor o chip CCD. Esta sensibili-dad es fija y está en torno a 100 ISO. Los índices ISO superioresque nos ofrece la cámara digital se logran mediante un amplifi-cado posterior de la señal, lo que conlleva una amplificación dela emisión aleatoria del chip.
• Velocidad de obturación: Hace referencia al tiempo de exposi-ción o lo que es lo mismo, al periodo de tiempo durante el cualesta abierto el obturador de la cámara fotográfica. Se expresa ensegundos y fracciones de segundo por lo cual se entiende queestamos hablando de tiempo y no de velocidad (tiempo/distan-cia). Es muy importante en imágenes aéreas dependiendo de lavelocidad del UAV.
• Apertura de la lente: En fotografía, la magnitud de la apertu-ra está controlada por el diafragma, el cual es una estructurainterpuesta en la trayectoria de la luz para regular la cantidadde ésta admitida en el sistema. En combinación con la veloci-dad de obturación, el tamaño de apertura regula el grado deexposición a la luz del filme o sensor, determinando así el valorde exposición. Grandes aperturas están relacionadas con unamenor profundidad de campo y nitidez, mientras una apertura
pequeña consigue concentrar más la luz produciendo una ma-yor profundidad de campo y nitidez en la fotografía resultante.
Una buena estrategia a la hora de configurar la cámara para laadquisición de imágenes aéreas se basa en utilizar una sensibilidadISO acorde a la iluminación de la escena (siempre intentando utilizarel valor más pequeño), así como una velocidad de obturación en tornoa 1/300 y 1/1800 segundos. En lo relativo a la apertura de la lente, lamayoría de las cámaras poseen un modo de funcionamiento en el cualla configuración de este parámetro se hace de manera automática,ajustándola siempre a la mayor apertura posible.
-
8/18/2019 pix4.pdf
37/113
3.3 s e le c ci ó n e i n t eg r ac i ó n d e l a c á ma r a 21
3.3.3 Montaje de la cámara
Los sistemas aéreos no tripulados presentan un entorno no habitualpara las cámaras fotográficas debido a que deben soportar golpes yvibraciones durante el vuelo a realizar. Además, estas cámaras deben
de ser lo suficientemente ligeras y compactas en vistas a reducir lacarga de pago o payload.
Por tanto, el problema principal reside en la elección de una mon-tura que permita anular el efecto producido tanto por movimientos
bruscos como por las propias vibraciones de la estructura del UAV.Para tal fin, normalmente se hace uso de gimbals o suspensión Car-dana. Este tipo de monturas presentan un mecanismo de suspensiónconsistente en estructuras concéntricas cuyos ejes forman un ángulorecto, lo cual permite mantener la orientación de la cámara aunquesu soporte se mueva.
(a) Graduación de la inclinación de la cámara.
(b) Ejemplo de gimbal.
Figura 10: Sistema de estabilización de la cámara
En la figura 10 se presentan este tipo de sistemas junto a su sistemade control basado en un servo mecánico que permite configurar elgrado de inclinación de la cámara.
-
8/18/2019 pix4.pdf
38/113
-
8/18/2019 pix4.pdf
39/113
4D I S E Ñ O D E U N V U E L O D E M A P E A D O 3 D
4.1 i n tr od uc c ió n
El primer paso antes de desarrollar un sistema de generación de ma-pas 3D es realizar un estudio de uso de este tipo de técnicas. Existendiferentes áreas de aplicación tales como la exploración de sitios inac-cesibles, documentación arqueológica, restauración etc.. para las cua-les la utilización de un modelo tridimensional resulta de gran ayuda.Por tanto, cada una de las posibles aplicaciones antes mencionadastendrá unas necesidades en cuanto a resolución y precisión del resul-tado final se refiere.
La figura 11 recoge el esquema de diseño que se seguirá a lo largodel capítulo. Partiendo de una resolución inicial (GSD), calcularemosla altura media de vuelo (AGL) haciendo uso de diferentes paráme-tros de la cámara. Si la altura de vuelo fuese un factor limitante, serecalcularía la GSD. Por último se calcula superficie cubierta por unaimagen o GIA, con el objetivo de diseñar un plan de vuelo acorde alos parámetros ya descritos y a un solape entre imágenes requerido.
Figura 11: Esquema de diseño de un vuelo para mapeado 3D
23
-
8/18/2019 pix4.pdf
40/113
24 d i se ñ o d e u n v u el o d e m a pe a do 3 d
4.2 g r ou nd s a mple d i s ta nc e
Este término es usado en fotografía digital para hacer referencia a ladistancia entre el centro de píxeles adyacentes medido desde tierra yutilizando unidades de medidas relativas. Debido a que un píxel es
cuadrado, el área que cubrirá cada píxel será:
Area = GSD · GSD (m/pixeles)2. (4)
No debemos confundir la GSD con la resolución de la imagen to-mada ya que ,como se demostrará en el siguiente apartado, dependede la resolución de la cámara y la altura de vuelo.
4.3 a lti tud e g r ou nd lev el
Una vez se ha fijado la resolución por píxel que necesita nuestra apli-cación, la altura de vuelo o Altitude above Ground Level (AGL) es elsegundo parámetro a calcular. La altura a la que tomaremos las imá-genes depende de la distancia focal de la cámara, de las dimensionesdel sensor y de la GSD definida en el apartado anterior. La imagen12 recoge un esquema de una situación real, señalando los aspectosde interés.
Figura 12: Cálculo de
la altura devuelo
Se definen los siguientes parámetros:
• Sw
= anchura del sensor óptico [mm]
• f = distancia focal [mm]
• h = altura de vuelo [m]
• d = distancia cubierta en el suelo por unaimagen [m]
Si establecemos triángulos semejantes se de-duce la siguiente relación:
h =
f · d
Sw (5)
La distancia cubierta en el suelo por una imagen captada desde elaire viene dada por la resolución/píxel así como por el tamaño de laimagen en píxeles:
d = GSD · Im width (6)
donde :
-
8/18/2019 pix4.pdf
41/113
4.4 s ol apa mi en to 25
• GSD = Ground Sample Distance [cm/píxel]
• Im width = Ancho de la imagen [píxel]
Si combinamos (5 y 6), obtenemos que:
h = f · Im wdith ·GSD
Sw · 100 (7)
Expresión que relaciona la máxima altura de vuelo desde donde po-demos realizar las fotografías para cumplir unos requisitos de resolu-ción por píxel. Ordenes de magnitud típicos para vuelos de mapeado3D tratan con resoluciones en el rango [1,10] cm/píxel y alturas devuelo entre 80 y 200 metros. Sin embargo, muchas veces la altura má-xima de vuelo es un factor limitante en el caso de utilizar UAVs, porlo que habrá que llegar a una relación de compromiso entre AGL yGSD.
4.4 s o la pa m ie n to
El solapamiento es un concepto muy importante a tener en cuenta ala hora de la adquisición de imágenes para reconstrucción 3D. El usode una sola cámara hace que surja la necesidad de establecer zonascomunes entre las imágenes adquiridas, por lo que habrá que hacerun estudio del solapamiento que se necesita en cada situación.
De acuerdo con [3],el solapamiento requerido para la mayoría de
los casos es 75 % en la dirección de vuelo y un 50 % de solapamientolateral. Sin embargo, en terrenos difíciles tales como bosques, zonasde nieve o campo abierto estas cifras aumentan hasta el 85 % y 60 %respectivamente (ver figura 13).
Por tanto, para cada tipo de proyecto se necesita un estudio delterreno previo que permita diseñar una ruta de vuelo adecuada.
4.5 p la n d e v ue lo
Un factor muy importante a la hora de preparar un vuelo de recons-
trucción 3D es el path planning o planificación de la trayectoria. Debi-do a que se ha definido ya una altura de vuelo fija para cumplir unadeterminada GSD, diseñar una plan de vuelo pasa de ser un proble-ma en 3D a un problema 2D. En base a esto y de acuerdo con [12], eldiseño de una ruta óptima se puede dividir en dos fases:
1. En primera instancia, se calcula el denominado Ground Ima-ging Area (GIA) o superficie total que abarca una imagen:
(GIAx, GIAy) = (gx · rx, gy · ry)(m , m ) (8)
-
8/18/2019 pix4.pdf
42/113
26 d i se ñ o d e u n v u el o d e m a pe a do 3 d
(a) Definición de solapamiento (b) Solapamiento requerido en condi-ciones normales.
Figura 13: Importancia del solapamiento en vuelos de mapeado 3D
donde:
• rx,ry = resolución horizontal y vertical de la cámara (pi-xels)
• gx,gy = GSD horizontal y vertical deseada (m/píxel)
A continuación, se divide el área a mapear en una cantidad fini-ta de rectángulos del mismo tamaño, normalmente en forma demalla. Se utiliza este tipo de división ya que se asume que a unaaltura de vuelo constante y con un giro pitch and roll mínimo, la
GIA de cada una de las imágenes será muy similar.La elección del tamaño de mallado se elige en función al sola-pamiento requerido. Para un solapamiento entre un 60 % y un80 %, se recomienda utilizar un mallado 3 o 4 veces más peque-ño que la GIA anteriormente calculada.
2. Una vez establecido la malla sobre la superficie a mapear, sedebe tomar una fotografía en el centro de cada rectángulo. Dise-ñar una ruta que minimice la distancia recorrida es una versióndel problema del viajero o TSP. Este problema es ampliamenteconocido y estudiado en la literatura ( [13] y [14]), por lo queno se tendrá en cuenta en este estudio. Sin embargo en [12] sepropone una versión del algoritmo adaptado al problema quenos ocupa.
-
8/18/2019 pix4.pdf
43/113
4.5 p la n d e v uel o 27
(a) Ejemplo de plan de vuelo en forma de malla (b) Planificación de un vuelo de doblemallado.
Figura 14: Ejemplos de diferentes planes de vuelo
En la figura 14, se presenta un ejemplo de flight planning en formade malla, donde se ha optado por un recorrido en zigzag para cumplircon las especificaciones de solapamiento.
-
8/18/2019 pix4.pdf
44/113
-
8/18/2019 pix4.pdf
45/113
5A L G O R I T M O S D E M A P E A D O 3 D
5.1 i n tr od uc c ió n
A continuación se presentan los diferentes algoritmos que componencada una de las partes que se ocupan de la generación de mapas 3D.Típicamente, este proceso se divide en dos etapas: en la primera segenera un mapa 3D disperso de la escena, haciendo uso de la técnicaconocida como Structure From Motion. En base a este mapa disperso,se utilizarán técnicas de correlación y procesado de nubes de puntos3D para generar un mapa denso de la superficie.
En el caso de mapas 3D dispersos, se ha realizado una implemen-tación en C++ haciendo uso de funciones de la librería OpenCV yPCL, mientras que para el mapeado denso se introducirá el uso delpaquete open-source MICMAC.
5.2 mo d elo d e c a ja neg r a
De forma resumida, el esquema de software o pipeline que conllevala generación de mapas 3D puede verse como un modelo de cajanegra donde obtenemos unas salidas a partir de unas entradas dadas.
Aunque se profundizará más adelante en el interior de esa caja, enesta sección se realizará esa abstracción para estudiar cuales son lasnecesidades desde el punto de vista entrada-salida.
Figura 15: Modelo de caja negra de la generación de mapas 3D
En la figura 15 se presenta este tipo de modelos, los cuales sontípicos de empresas que ofrecen servicios de mapeado 3D como porejemplo, Pix4D. Aparte de las propias imágenes aéreas, se necesitainformación sobre el posicionamiento de la cámara en un sistemade coordenadas así como de los parámetros relativos al proceso de
29
-
8/18/2019 pix4.pdf
46/113
30 a lg or it mo s d e m ap ea d o 3 d
calibración. En las siguientes secciones se describen estos parámetroscomúnmente conocidos como parámetros extrínsecos e intrínsecosrespectivamente, además de describir el formato de las imágenes ylos mapas 3D obtenidos.
5.2.1 Imágenes aéreas
Desde el punto de vista de los algoritmos de reconstrucción 3D, lasimágenes utilizadas para tal fin deben cumplir una serie de requisitoslos cuales se muestran a continuación:
• Calidad de la imagen: Las imágenes que se usen deben estar bien enfocadas y con una iluminación acorde a la escena a re-construir. Para ello, hay que configurar adecuadamente paráme-tros de la cámara relacionados con la exposición o la sensibili-dad ISO.
• Solapamiento entre imágenes: Como ya se mencionó anterior-mente, el principio de reconstrucción 3D se basa en el estableci-miento de correspondencias entre las imágenes captadas. Paraello, habrá que diseñar un plan de vuelo acorde a un solapa-miento previamente calculado.
• Contenido: Para poder establecer esas correspondencias, es ne-cesario que la imagen sea rica en lo que a textura se refiere.Fenómenos atmosféricos como destellos o sombras provocaránunas imágenes que no serán aptas para la generación de mapas3D. Por este mismo motivo, se debe evitar las zonas homogé-neas como mares o grandes campos, en los cuales los algoritmosutilizados fallan.
• Resolución: A más resolución, más características podremos ob-tener de una imagen, lo que mejorará considerablemente la re-solución espacial del resultado final, al disminuir la GSD. Lascámaras actuales ofrecen la posibilidad de captar imágenes conuna resolución en torno a los 16 megapíxeles.
En resumen, antes del proceso de adquisición de imágenes se nece-
sita un estudio previo sobre el terreno a mapear, ya que los paráme-tros arriba expuestos dependen sensiblemente del diseño de un buenplan de adquisición. Para un estudio más profundo, se recomienda lalectura del capítulo 3: Diseño de un vuelo para mapeado 3D, dondese dan las pautas necesarias para cumplir con estos requisitos.
5.2.2 Parámetros extrínsecos
Los parámetros extrínsecos (ver tabla 2) definen la transformación dela posición de la cámara a lo largo del tiempo en un sistema de re-
-
8/18/2019 pix4.pdf
47/113
5.2 mo de lo d e c aja n eg ra 31
ferencia global. Es necesario pues, realizar un tracking o seguimientode la cámara para cada una de las imágenes tomadas.
Parámetro extrínseco Descripción del parámetro
Rx, Ry, Rz Ángulos de rotación para la transformación delsistema de referencia global al de la cámara.
T x, T y, T z Componentes de traslación para la transforma-ción del sistema de referencia global de cadaimagen.
Tabla 2: Definición de parámetros extrínsecos
Como se verá más adelante, esta información de posicionamientotambien puede obtenerse mediante el establecimiento de puntos encomún entre cada una de las imágenes. Sin embargo, es necesarioinformación externa para deshacer la ambigüedad de proyección queexiste utilizando este método. En el caso de integración de cámarasfotográficas en un UAV, se puede asignar a cada imagen un datoproveniente de los sensores inerciales (GPS/IMU) para representarel movimiento de la cámara en un sistema de coordenadas dado. Apartir de estos datos, se crearán unas matrices de traslación y rotaciónque definan ese movimiento, de manera que la matriz de proyecciónP sea:
P = [R|t ] (9)
5.2.2.1 Matriz de traslación
Puesto que una traslación es un caso particular de transformaciónafín pero no una transformación lineal, generalmente se usan coorde-nadas homogéneas para representar la traslación mediante una ma-triz y poder así expresarla como una transformación lineal sobre unespacio de dimensión superior.
Así un vector tridimensional T = (T x, T y, T z) puede ser reescritousando cuatro coordenadas homogéneas de manera que :
t = (T x, T y, T z, 1)
(10)
Por último, debido a que el sistema de ecuaciones que resolveremosmás adelante es lineal, se hará uso de un sistema de coordenadas car-tesiano. Usualmente, los GPS que se encuentran a bordo de los UAVobtienen la posición en coordenadas WGS84, el cual utiliza un siste-ma de coordenadas esférico. Será necesario pues una transformacióna otro tipo de sistemas cartesianos como por ejemplo UTM.
-
8/18/2019 pix4.pdf
48/113
32 a lg or it mo s d e m ap ea d o 3 d
5.2.2.2 Matriz de rotación
En matemáticas, el teorema de rotación de Euler [15] dice que cual-quier rotación o conjunto de rotaciones sucesivas puede expresarsesiempre como una rotación alrededor de una única dirección o ejede rotación principal. De este modo, para definir una rotación en elespacio se hace uso de tres ángulos de giro conocidos como ángulosde Euler.
Estos ángulos (φ, θ, ψ) corresponden con los ángulos convenciona-les de roll (φ), pitch(θ) y yaw ( ψ) que se utilizan en navegación paraespecificar la actitud de un móvil. El ángulo de roll es el giro de lasalas del avión, el ángulo de pitch la inclinación del morro y el ángulode yaw es el giro del morro del avión respecto al norte tal y como sedefine en la figura 16.
Figura 16: Correspondencia de angulos de Euler con los ángulos de navega-ción
Cada ángulo de giro tiene asociada una matriz de rotación, segúnlas ecuaciones 11, 12 y 13:
Rψ =
cos( ψ) sen( ψ) 0
−sen( ψ) cos( ψ) 0
0 0 1
(11)
Rθ =
cos(θ) 0 sen(θ)
0 1 0
−sen(θ) 0 cos(θ)
(12)
Rφ =
1 0 0
0 cos(φ) sen(φ)
0 −sen(φ) cos(φ)
(13)
-
8/18/2019 pix4.pdf
49/113
5.2 mo de lo d e c aja n eg ra 33
En general, cualquier rotación puede expresarse como el productode las matrices anteriores. Al tratarse de producto de matrices, nocumple la propiedad conmutativa por lo que es importante el ordende aplicación. Por ejemplo, si aplicamos los giros en el orden yaw,pitch y roll, obtenemos una matriz de rotación resultante:
Rn = Rψ · Rθ · Rφ (14)
Rn =
cosθcosψ cosθsenψ −senθ
cosψsinθsenφ − senψcosθ cosψcosφ + senθsenψsenφ cosθsenφ
cosψsenθcosφ + senψsenφ senψsenθcosφ − cosψsenφ cosθcosφ
(15)
Por tanto, para el calculo de la matriz de rotación habrá que tener
en cuenta cual es el sistema de referencia y aplicar la transformaciónen el orden correcto. Como en el caso anterior, se asignará a cada ima-gen unos ángulos de Euler concretos los cuales serán proporcionadospor los sensores inerciales a bordo del UAV.
5.2.3 Parámetros intrínsecos
Los parámetros intrínsecos sirven para efectuar la transformación deun punto en 3D en el sistema de referencia de la cámara a un puntoen 2D en el sistema de coordenadas de la imagen, y su descripción se
muestra en la tabla 3
Parámetro intrínseco Descripción del parámetro
fx, fy Distancia focal efectiva en el modelo de cáma-ra estenopéica, que equivale a la distancia delorigen de coordenadas de la cámara al planode la imagen.
s Factor de skew
Cx, Cy Coordenadas (en píxeles) del centro de distor-sión radial de la imagen.
Tabla 3: Definición de parámetros intrínsecos
Asociada a estos parámetros, se define la matriz K, tal que:
K =
fx s cx
0 fy cy
0 0 1
(16)
A continuación se realiza algunas generalizaciones con respecto aesta matriz:
-
8/18/2019 pix4.pdf
50/113
34 a lg or it mo s d e m ap ea d o 3 d
1. El factor skew es cero.
2. Los píxeles son cuadrados fx = fy.
3. El punto principal (Cx, Cy) es conocido y suele coincidir con elcentro de la imagen.
Existen parámetros intrínsecos no lineales como las distorsiones delente que no son contempladas por este tipo de modelo de cámara.Sin embargo existen muchos algoritmos de calibración para calcularcada uno de estos parámetros, entre los más famosos se encuentra elalgoritmo de Tsai [16]
5.2.4 Mapas 3D
Prosiguiendo con el modelo de caja negra, a continuación se detallan
los principales outputs o salidas del sistema de generación de mapas3D:
• Mapa 3D disperso: En una primera etapa, se reconstruye la es-tructura a partir del establecimiento de correspondencias entreimagenes. Debido a que los detectores de caracteristicas detec-tan un número pequeño de puntos en común, el mapa obtenidoes un mapa disperso. La densidad del mapa suele rondar el mi-llón de puntos 3D y el formato más usado es el .ply
• Mapa 3D denso: Posteriormente, se utiliza la estructura anterior
como esqueleto para utilizar técnicas de correlación que permi-tan expandir regiones y densificar el mapa. Obtenemos así ma-pas con densidades en torno a los 5 o 6 millones de puntos ycuyo formato más común es el .obj
• Ortomosaico: Una vez tenemos el mapa 3D denso, se realizauna vista ortogonal del mismo para la creación de un ortomo-saico geo-referenciado. Los formatos más comunes son el .TIFFy el .GEOTIFF debido a la posibilidad de incluir metadatos degeolocalización, para su posterior procesado en programas soft-ware GIS tales como arcGIS o similares.
• Ficheros KML: Por último, se propone tambien la generaciónde los ficheros .KML necesarios para compatibilizar el mapacon los servicios ofrecidos por Google Earth, lo cual es muy útilpara aplicaciones que usen esa plataforma.
En la figura 17 se muestra la diferencia entre un mapa disperso yuno denso al aplicar los algoritmos de mapeado 3D sobre un datasetproporcionado por la empresa Elimco.
-
8/18/2019 pix4.pdf
51/113
5.3 m apa s 3 d d is pe rs os 35
(a) Mapa 3D disperso (b) Mapeado 3D denso.
Figura 17: Diferentes etapas del mapeado 3D
5.3 ma pa s 3d d i s per s os
Con carácter general, el planteamiento de la reconstrucción 3D a par-
tir de imágenes debe resolver las siguientes cuestiones:1. Geometría de la escena (structure): Una vez establecidas corres-
pondencia entre varias imágenes, ¿Cuales son los puntos 3Dcorrespondientes a esos puntos?
2. Establecimiento de correspondencias (stereo matching): Dado unpunto 2D en una imagen, ¿Cómo se localiza ese punto en lasdemás imágenes?.
3. Geometría de la cámara (motion): Una vez establecida la corres-pondencias entre los diferentes puntos, ¿Cuales son los paráme-
tros extrínsecos asociados a cada una de las imágenes?
En inglés, al conjunto de algoritmos que permiten resolver éstascuestiones se conoce como Structure from Motion (SfM). Esta técnicacalcula la geometría 3D a partir del flujo óptico o movimiento en 2D.En el caso de la toma de imágenes aéreas se asumirá que la escena esestática y es la cámara la que se mueve en el entorno.
El modo de funcionamiento de los algoritmos SfM se puede divi-dir en 4 etapas, las cuales se muestran en la figura 18. En resumen,se establecen correspondencias entre las diferentes imágenes con el
objetivo de obtener esas coordenadas 3D mediante una serie de algo-ritmos de triangulación. Finalmente, una vez obtenida la estructurase somete el modelo 3D a un proceso de optimización, minimizan-do lo que se conoce como el error de reproyección. En las siguientessecciones se realizará un análisis más a fondo de estos conceptos.
5.3.1 Detectores de características
En visión artificial la detección de características o feature detectionhace referencia a los métodos que calculan puntos característicos de
-
8/18/2019 pix4.pdf
52/113
36 a lg or it mo s d e m ap ea d o 3 d
Figura 18: Esquema general de generación de mapas dispersos (Structure from Motion).
una imagen para resolver cierto problema. Estos rasgos o features enla imagen pueden tratarse de puntos aislados, curvas o regiones co-nectadas.
La detección de características puede verse como una operación de bajo nivel, ya que se examina cada píxel en busca de un determinadopatrón. Normalmente este bloque suele ser el primero en una cadenade procesado mayor, por lo que la bondad del algoritmo completosuele depender en parte de estos detectores.
Debido a que muchos algoritmos de visión artificial empiezan conuna extracción de características, existen varios operadores como Canny,Sobel o el detector de esquinas de Harris. Sin embargo, para la gene-ración de un modelo 3D disperso, se necesita la mayor cantidad decaracterísticas posible además de que el detector sea capaz de identi-ficar características ante cambios de escala y rotación, pues se proce-sarán imágenes desde diferentes ángulos.
Con el objetivo de elegir el mejor descriptor de características, sepresenta a continuación el trabajo recogido en [15], en el que se so-mete una imagen a diferentes transformaciones para comparar la efi-
ciencia de varios extractores de características.
5.3.1.1 Test de rotación
En este test se ha rotado la imagen original 360º con respecto a sucentro con el objetivo de ver la dependencia de la extracción de carac-terísticas con la rotación. Como se puede observar, todos los descrip-tores escogidos son invariantes a rotación excepto BRIEF, por lo quese obtienen buenos resultados en general.
-
8/18/2019 pix4.pdf
53/113
5.3 m apa s 3 d d is pe rs os 37
Figura 19: Prueba de rotación para extractores de características
5.3.1.2 Test de escalado
Figura 20: Prueba de escalado para extractores de características.
Para la realización de este test, se ha escalado la imagen originaldesde 0.25X hasta 2X con el propósito de ver como actúan los descrip-tores de características ante cambios de escala. El resultado muestracomo SIFT y SURF poseen una mejor estabilidad debidos a que sonmás costosos computacionalmente hablando.
-
8/18/2019 pix4.pdf
54/113
38 a lg or it mo s d e m ap ea d o 3 d
Figura 21: Prueba de rendimiento para extractores de características.
5.3.1.3 Test de rendimiento
La figura 21 muestra el tiempo de extracción para N características, elcual crece de manera lineal teniendo en cuenta la escala logarítmicadel eje y.
5.3.1.4 Elección del extractor de características
En conclusión, para obtener un modelo 3D disperso necesitamos es-tablecer el mayor número de correspondencias posibles así como con-fiar en que estas correspondencias sean invariantes a escalado y ro-tación. En nuestro caso, el tiempo de computación no es un factorlimitante por tanto, la mejor opción disponible actualmente se basaen el uso de descriptores SIFT o SURF.
Para finalizar, en la figura 22 se ha realizado una prueba de extrac-ción de características utilizando los descriptores SIFT disponibles enOpenCV, donde se puede apreciar la dependencia del contenido dela imagen con el número de características detectadas.
5.3.2 Establecimiento de correspondencias
Una vez se han extraído las diferentes características, debemos reali-zar un seguimiento de esos puntos en el resto de imágenes captadas.Por tanto, hay que ordenar el set de imágenes para ver cuales poseenzonas de solape. La opción más fácil sería comparar todas con todasen busca de puntos en común, lo cual es extremadamente ineficienteen datasets de centenares de imágenes de alta resolución. En vistas arealizar una comparación más eficiente, se proponen dos alternativas:
-
8/18/2019 pix4.pdf
55/113
5.3 m apa s 3 d d is pe rs os 39
(a) Imagen con mucho detalle,35969 keypoints. (b) Imagen homogénea con 4580 keypoints.
Figura 22: Importancia del contenido en imágenes aéreas
• Análisis geométrico. Debido a que tenemos el posicionamiento
GPS y la GIA de la cámara, se puede calcular geométricamenteaquellas imágenes entre las cuales existe cierto solape. Sin em- bargo, en vuelos donde se realizan varias pasadas, este tipo deprocedimiento puede ser algo tedioso.
• Análisis a baja resolución. Como vimos en el apartado anterior,el uso de descriptores SIFT es invariante al escalado y su tiempode ejecución disminuye bastante si reducimos el tamaño de laimagen. La forma de proceder sería realizar una comparaciónde todas las imágenes entre sí, haciendo un escalado previoen torno a 10 veces el tamaño original. Aquellas imágenes que
tengan un umbral de características en común, se relacionaránentre sí para realizar a posteriori un análisis a la resolución real.
Para establecer correspondencias en aquellas imágenes con solape,se hace uso de descriptores, los cuales generan un vector que caracte-riza el entorno de vecindad del punto característico antes calculado. Acontinuación se compara cada vector de descriptores buscando la mí-nima distancia entre cada uno de sus elementos. La figura 23 muestraun ejemplo del uso de este tipo detectores o matchers implementadoen OpenCV:
Uno de los principales problemas del proceso de matching es lapresencia de falsas detecciones o outliers. Con el objetivo de eliminar-las, se proponen a continuación una serie de filtros que realizan estaacción [17]:
5.3.2.1 Filtro de distancia
En el proceso de establecimiento de correspondencias, se seleccionanpara cada característica los dos mejores candidatos en términos dedistancia entre descriptores. Este filtro propone aceptar aquellas co-rrespondencias en función de la distancia entre esos dos candidatos.
-
8/18/2019 pix4.pdf
56/113
40 a lg or it mo s d e m ap ea d o 3 d
Figura 23: Resultado del proceso de matching entre dos imágenes aéreas con-secutivas.
Si la distancia del mejor candidato es pequeña y la del segundo esmuy grande, se acepta con seguridad la elección del primero, pues es
claramente la mejor opción. Recíprocamente, si la distancia de amboscandidatos son del mismo orden de magnitud, existe la posibilidadde cometer un error si elegimos uno u otro, por lo que se eliminaríanesos puntos.
5.3.2.2 Filtro de simetría
Si tenemos dos imágenes, todo el proceso de establecimiento de co-rrespondencias se realiza en ambos sentidos con el objetivo de poderestablecer una similitud entre ambos sets de emparejamientos.
Una vez se ha eliminado outliers mediante el test de distancia, seaplica este filtro con el objetivo de eliminar aquellos puntos que nocumplan con una determinada regla de simetría. Esta regla consisteen comprobar si la correspondencia es la mejor en ambas direcciones,es decir, se calcula los mejores candidatos en ambas direcciones y ,en caso de no coincidencia, se eliminan, al ser considerados falsasdetecciones.
5.3.2.3 Filtro basado en la geometría Epipolar
Como última etapa se propone un filtrado mediante el uso de las res-
tricciones propuestas por la geometría epipolar. Después del filtradoanterior, se deben haber eliminado la mayoría de outliers, por lo quedespués de esta última etapa, la mayoría de los puntos emparejadosserán correctos.
De acuerdo con [18], consideremos dos imágenes consecutivas cap-tadas por una cámara, tal y como se muestra en la siguiente figura:
Con el objetivo de encontrar la imagen x de un punto 3D X, se pue-de trazar la linea que une este punto 3D con el centro de proyección
-
8/18/2019 pix4.pdf
57/113
5.3 m apa s 3 d d is pe rs os 41
Figura 24: Definición de recta epipolar
de la cámara. A la inversa, el punto que observamos desde x puedeestar localizado en cualquier parte de esa linea en el espacio 3D. Estoimplica que si queremos encontrar la correspondencia de un puntoen la otra imagen, es necesario buscar a lo largo de la proyección deesa linea en la segunda imagen. Esta línea imaginaria se conoce co-mo línea epipolar. Se define pues, como una condición que debencumplir dos puntos conjugados de tal forma que el homólogo de unpunto cualquiera debe estar situado sobre la linea epipolar de esepunto en la otra imagen y viceversa.
Matemáticamente, se puede demostrar que la relación entre unpunto y su correspondiente linea epipolar se puede expresar usan-
do una matriz denominada matriz fundamental o F, de tal maneraque :
l
1
l
2
l
3
= F
x
y
1
(17)
Donde (x,y) son los puntos que satisfacen la ecuación l
1x + l
2 y +
l
3 = 0 (el superíndice indica que esta línea pertenece a la segundaimagen). Por tanto, la matriz Fundamental mapea un punto 2D en
una imagen en su correspondiente linea epipolar en la otra imagen.De forma resumida, el objetivo de este filtro es estimar la matriz
fundamental F para verificar que los puntos afines se encuentran so- bre sus correspondientes lineas epipolares. Para el cálculo de F, esnecesario resolver el siguiente sistema de ecuaciones:
xT · F · x = 0 (18)
Donde x’ y x hacen referencia a puntos homólogos (expresados encoordenadas homogéneas) y F es una matriz 3X3. De acuerdo con
-
8/18/2019 pix4.pdf
58/113
42 a lg or it mo s d e m ap ea d o 3 d
[19] se puede reconstruir unas matrices de traslación y rotación rela-tivas a partir de la matriz fundamental F. Sin embargo, esto lleva auna ambigüedad en la proyección, lo que no es deseable ya que elobjetivo de este proyecto es la creación de mapas georreferenciadosy escalados adecuadamente. Finalmente, la figura 25 recoge el proce-
so de establecimiento de correspondencias y las diferentes etapas defiltrado.
Figura 25: Resultado del proceso de filtrado de correspondencias
5.3.3 Triangulación
Se conoce así al proceso de determinar la posición del punto P en elespacio físico, a partir de al menos dos imágenes distintas en las quese pueda ver el punto, y el conocimiento de la pose de las cámaraspara cada una de las imágenes tal como se muestra en la figura:
Figura 26: Principio de multi-proyección
Supongamos pues, que tenemos dos imágenes de las cuales se co-nocen sus matrices de proyección P,P’ y sean {xi ↔ x
i} los puntos en
-
8/18/2019 pix4.pdf
59/113
5.3 m apa s 3 d d is pe rs os 43
común anteriormente calculados y filtrados. Se pretende estimar unpunto 3D que cumpla con esas proyecciones, por tanto:
x
= P
X x = PX (19)
Estas ecuaciones pueden combinarse de la forma AX=0 , la cuales una ecuación lineal en X. Como se desarrolla en [20], A es de laforma:
A =
xp3T − p1T
xp3T − p2T
xp3T − p
1T
xp3T − p
2T
(20)
donde piT son las filas de P. Se tienen 4 ecuaciones con 4 incógnitas
homogéneas. Esto es un sistemas de ecuaciones redundante, ya que lasolución está determinada para un cierto factor de escala. Desde [21]se propone la implementación de una solución iterativa que permiteresolver este sistema de ecuaciones, con el objetivo de reconstruir lospuntos 3D proyectados.
Por último hay que especificar que los resultados obtenidos siem-pre tendrán un cierto grado de error, debido a que a lo largo delproceso hay muchos puntos en los que se va perdiendo precisión yacumulando grados de error. Por ejemplo, estamos situando la pro-yección de X en el plano de imagen exactamente en un píxel, cuando
puede darse en el espacio sub-píxel, o podemos tener errores de co-rrespondencia que generen modelos no válidos e introduzcan erroren la estimación. Una medida geométrica denominada error de re-proyección cuantifica este error, al medir la distancia entre el puntooriginal xi y la proyección del punto 3D obtenido xRi = Pi · X de talmanera que:
errorrep =xi − xRi
(21)
5.3.4 Bundle Adjustment
Sean n puntos 3D vistos desde M vistas diferentes , xRij la re-proyeccióndel punto i en la imagen j y xij el punto original. Sea vij una variable
binaria igual a 1 si el punto i es visible en la imagen j y 0 en caso con-trario. Se define bundle adjustment como el proceso que minimiza elerror de reproyección total de tal manera que:
minaj,bi
ni=1
mj=1
vij
xij − xRij (22)
-
8/18/2019 pix4.pdf
60/113
44 a lg or it mo s d e m ap ea d o 3 d
Para conseguir reducir el error de reproyección se utiliza un al-goritmo de minimización no lineal robusto que modifica los valoresestimados de los parámetros conjuntamente, o dicho de otra forma,intenta ajustar el grupo (bundle) de rayos que unen las proyecciones ylos puntos físicos de tal forma que el error de reproyección sea el me-
nor posible. Este método fue creado en el campo de la fotogrametríadurante la década de 1950 y ha incrementado su uso en los últimosaños gracias a los avances en visión artificial.
Al tratarse de un problema de optimización sobre una función nolineal, bundle adjustment hace uso de algoritmos de mínimos cua-drados. El más conocido, Levenberg-Marquardt (LM) ha probado seruno de las mejores opciones debido a su fácil implementación y rápi-da convergencia.Para poder empezar con la optimización, LM necesi-ta un punto de partida, un conjunto de valores para los parámetros ylas mediciones de error para dichos parámetros. A cada iteración de
LM se calcula un nuevo conjunto de parámetros que reduce el error,hasta llegar a la solución óptima, y la modificación que se produceentre una iteración y la siguiente es aquella que minimiza el error enun cierto grado.
En cuanto a su implementación, existen herramientas open sourcecomo sba [22] el cual implementa en el lenguaje de programación C++una versión dispersa del algoritmo LM especialmente adaptado a re-construcción 3D. En la figura 27 se ha representado de manera gráficael error de reproyección con el objetivo de ver el efecto de bundle ad-
justment. En 27a el error de reproyección era de unos 400 píxeles demedia mientras que en 31 b el error disminuye hasta 0,3 píxeles. Cabeaclarar que el error de reproyección es una medida geométrica, porlo que no corresponde con medidas de error absolutas.
5.4 m a pa s 3 d d e ns os
Hasta ahora, el procedimiento seguido para la reconstrucción de unpunto 3D aislado ha sido localizar ese punto en las imágenes de lasque disponemos y mediante técnicas de triangulación y optimización,calcular su coordenada 3D. Como ya se mencionó anteriormente, lamedia de puntos emparejados entre dos imágenes suele rondar los10.000 píxeles en imágenes cuya resolución ronda los 14 millones depíxeles. El rendimiento de detección es muy bajo y , por consiguiente,el mapa 3D obtenido es disperso. Por tanto, el objetivo de esta eta-pa consiste en expandir esas regiones de correspondencia haciendouso de técnicas de correlación. Para ello, se explicará la implementa-ción sugerida por el IGN francés a través de su librería open-sourceMICMAC
-
8/18/2019 pix4.pdf
61/113
5.4 m apa s 3 d d en so s 45
(a) Error de reproyección antes de Bundle Adjustment
(b) Error de reproyección después de Bundle Adjustment.
Figura 27: Ejemplo de optimización usando Bundle Adjustment. En azul los puntos ini-
ciales. En verde, la reproyección del punto
5.4.1 Aproximación multi-resolución
MICMAC utiliza una estrategia multi-resolución que permite mejo-rar el tiempo de computación y asegurar que las correspondenciasencontradas en diferentes niveles son similares. Esta estrategia es lasiguiente:
• Primero se calcula una pirámide de N imágenes de resolución
2
K
K ∈ [1 : N ]• Se genera un mapa de profundidad a baja resolución utilizando
la primera etapa de la pirámide.
• Si en estamos en el paso k-ésimo, se utilizará la informacióngenerada en la etapa anterior para predecir el mapa de pro-fundidad de ese nivel, pues los verdaderos puntos homólogosestarán cercanos en todas las etapas de la pirámide.
La figura 28 muestra el escalado inicial de las imágenes utilizadasasí como el factor de escala usado.
-
8/18/2019 pix4.pdf
62/113
46 a lg or it mo s d e m ap ea d o 3 d
(a) Imagen escalada 2k k=1. (b) Imagen escalada 2k k=3.
(c) Imagen escalada 2k k=5. (d) Imagen escalada 2k k=7.
Figura 28: Ejemplo de aproximación multi-resolución.
5.4.2 Función de energía
El principal objetivo del establecimiento de correspondencias es cal-cular una función Fz con la restricción de que las imágenes que seapliquen sean similares (de hecho serán las utilizadas en la aproxima-ción piramidal).
Sea:
• Corr(x, y, Fz(x, y))) 0 un criterio para medir la similitud en-tre las diferentes imágenes. Cuando Corr=0 las imágenes sonperfectamente idénticas.
• (Fz) el gradiente de Fz.
•(Fz)
reg la norma del gradiente que es usada como un pará-metro de regulación (penaliza la variación de Fz).
Se define la función de energía a minimizar como:
ε(Fz)
Corr(x, y, Fz(x, y) +
(Fz)reg (23)
-
8/18/2019 pix4.pdf
63/113
5.4 m apa s 3 d d en so s 47
Para minimizar esta función varios son los algoritmos propuestospor MICMAC. El primero de ellos trata de buscar el mínimo absoluto,lo cual es muy ineficiente computacionalmente hablando en proble-mas de dos dimensiones. Al contrario, el segundo algoritmo se basaen el cálculo un pseudo-óptimo a través de programación dinámica.
Este último método tiene la ventaja de ser mucho más rápido que elanterior, además de que puede ser generalizable para problemas dedos dimensiones.
5.4.3 Coeficiente de correlación
Como criterio para establecer correspondencias, MICMAC hace usodel coeficiente de correlación ZNCC (Zero-mean Normalized CrossCorrelation). Este criterio se adapta bien a la generación de mapas,debido a que entre las imágenes existe variación de intensidad y con-
traste. La correlación en el punto x = (x, y)T
en un entorno de vecin-dad = (x, y)T se define:
Corrx() =
(I(x + i) − Ī(x))(I
(x ++ i) − Ī
(x +))
(i(I(x + i) −
Ī(x))2i(I
(x ++ i) − Ī (x +)2)12
(24)
donde Ī y Ī
hace referencia al valor medio de la intensidad de laventana elegida y centrada en x.
Por último, la figura 29 muestra los mapas de correlación haciendouso de la aproximación multi-resolución mencionada anteriormente.
5.4.4 Procesado de la nube de puntos
Una vez tenemos el mapa 3D densificado, es necesario aplicar unpost-procesado a la nube de puntos obtenida con el objetivo de textu-rizar y dar continuidad al mapa. El principal problema de las técnicasde correlación es que no solucionan el problema de las occluded zoneso zonas oscuras. Este problema está presente debido a la presencia
de zonas homogéneas en la imagen las cuales poseen un coeficientede correlación ZNCC bajo. En vistas a obtener un modelo continuo,se propone a continuación el uso de técnicas de interpolación 3D quepermitirá la obtención de un modelo triangular del mapa 3D.
5.4.4.1 Triangulación de Delaunay
La triangulación de Delaunay consiste en la creación de una red detriángulos a partir de un set de puntos aislados los cuales cumplen lacondición de Delaunay.
-
8/18/2019 pix4.pdf
64/113
48 a lg or it mo s d e m ap ea d o 3 d
(a) Mapa de correlación escalado 2k k=1. (b) Mapa de correlación escalado 2k k=3.
(c) Mapa de correlación escalado 2k k=5. (d) Mapa de correlación escalado 2k k=7.
Figura 29: Comparativa de diferentes sistemas de captación de imágenes.
Según la definición de Delaunay la circunferencia circunscrita es va-cía, si no contiene otros vértices aparte de los tres que la definen. Lacondición de Delaunay dice que una red de triángulos es una triangu-lación de Delaunay si todas las circunferencias circunscritas de todoslos triángulos de la red son vacías. Esa es la definición original pa-ra espacios bidimensionales. Sin embargo, es posible ampliarla paraespacios tridimensionales usando la esfera circunscrita en vez de lacircunferencia circunscrita.
En la figura 46 se puede observar un ejemplo de triangulación de
Delaunay
5.4.4.2 Reconstrucción de superficies de Poisson
El algoritmo de reconstrucción de superficies de Poisson es una apro-ximación que permite el cálculo de superficies como una solución a
-
8/18/2019 pix4.pdf
65/113
5.4 m apa s 3 d d en so s 49
(a) Puntos iniciales. (b) Creación del mo-delo triangular
(c) Aplicación de lacondición de De-launay
Figura 30: Triangulación de Delaunay.
una ecuación de Poisson. De acuerdo con [23] primero se calcula elindicador de función de la figura, definido como:
χM( p) =
1 ifp ∈ M
0 ifp /∈ M(25)
Además se sabe que existe una relación entre los puntos muestrea-dos de una superficie y el indicador de función del modelo. Másespecíficamente, el gradiente del indicador de función es un campovectorial que es cero en casi todo el modelo excepto en los puntoscercanos a la superficie, donde es igual a la normal en ese punto.Entonces, el problema se resume en encontrar una función escalar χcuyo gradiente mejor se aproxime al campo vectorial