pix4.pdf

download pix4.pdf

of 113

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