Вы находитесь на странице: 1из 113

Escuela Superior de Ingenieros

Universidad de Sevilla

G E N E R A C I N D E M A PA S 3 D A
PA R T I R D E I M G E N E S A R E A S
juan jess ruiz

Proyecto fin de carrera


Ingeniera de Telecomunicaciones

Julio 2013
Juan Jess Ruiz: Generacin de mapas 3D a partir de imgenes areas,
Proyecto fin de carrera, Ingeniera de Telecomunicaciones,

tutor:
Anbal Ollero Baturone

lugar:
Sevilla

Fecha:
Julio 2013
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.


AGRADECIMIENTOS

En primer lugar, me gustara agradecerle a mi familia su apoyo incon-


dicional durante los buenos y malos momentos; sin su ayuda jams
hubiera podido terminar esta aventura.

Tambin quiero expresar mi agradecimiento a todas las personas


que ,de una manera u otra, me han aportado algo durante los ltimos
seis aos:

A mis hermanos postizos Ignacio Reinoso y Daniel Valdera, porque


compartimos este objetivo desde pequeos y ahora se hace realidad.
Si algo he aprendido en la carrera es que la amistad no es ni ser una
funcin de la distancia.

A mis compaeros de promocin y aquellos que he ido conocien-


do a lo largo de la carrera, en especial a Sebastin del Moral, Roberto
Serrano, Manuel Snchez, Gilberto Surez y Daniel Callejo.

A profesores como Antonio Gonzlez y Fernando Fernndez por ser


grandes docente y saber cmo estimular a sus alumnos. A Luis Daz
y Francisco Prez de los cuales, a pesar de no ser profesores, he apren-
dido muchsimo durante el desarrollo de este proyecto.

Y por ltimo y no menos importante, agradecer a aquellas personas


con las que he compartido algn momento de mi vida durante estos
aos en especial a Andrea Adones, por soportarme en este sprint final
de carrera.

v
P R E FA C I O

En la ltima dcada, se ha producido una importante evolucin tanto


en el desarrollo de cmaras digitales de bajo coste como en la potencia
de procesamiento de los ordenadores convencionales. Esta evolucin
ha permitido que se haya creado una comunidad de investigacin
muy activa en torno a la fotografa digital y la visin artificial, con
el consiguiente desarrollo de algoritmos de mapeado 3D que hasta
hace unos aos eran , computacionalmente hablando, imposibles de
abordar . . .

vii
NDICE GENERAL

i introduccin 1
1 introduccin 3
1.1 Motivacin 3
1.2 Alcance y objetivos 4
1.3 Planificacin temporal 4
1.4 Estructura del documento 6
2 estado del arte 7
2.1 Introduccin 7
2.2 Contexto 7
2.3 Mapas 3D desde imgenes areas 8
2.4 Servicios de Cloud Computing 9
2.4.1 Pix4D 9
2.4.2 Sensefly 9
2.5 Herramientas Open Source 10
2.5.1 OpenCV y PCL 11
2.5.2 VisualSFM 11
2.5.3 MICMAC 12

ii generacin de mapas 3d 13
3 adquisicin de imgenes 15
3.1 Introduccin 15
3.2 Sistemas de visin 15
3.2.1 Sistemas estereos convencionales 15
3.2.2 Sistemas estreo con una sola cmara 17
3.2.3 Mapeado lser 3D con imgenes areas 17
3.3 Seleccin e integracin de la cmara 18
3.3.1 Cmaras digitales 18
3.3.2 Parmetros de la cmara 20
3.3.3 Montaje de la cmara 21
4 diseo de un vuelo de mapeado 3d 23
4.1 Introduccin 23
4.2 Ground Sample Distance 24
4.3 Altitude Ground Level 24
4.4 Solapamiento 25
4.5 Plan de vuelo 25
5 algoritmos de mapeado 3d 29
5.1 Introduccin 29
5.2 Modelo de caja negra 29
5.2.1 Imgenes areas 30
5.2.2 Parmetros extrnsecos 30
5.2.3 Parmetros intrnsecos 33

ix
x ndice general

5.2.4 Mapas 3D 34
5.3 Mapas 3D dispersos 35
5.3.1 Detectores de caractersticas 35
5.3.2 Establecimiento de correspondencias 38
5.3.3 Triangulacin 42
5.3.4 Bundle Adjustment 43
5.4 Mapas 3D densos 44
5.4.1 Aproximacin multi-resolucin 45
5.4.2 Funcin de energa 46
5.4.3 Coeficiente de correlacin 47
5.4.4 Procesado de la nube de puntos 47

iii evaluacin de la precisin en mapas 3d 51


6 definicin del experimento 53
6.1 Introduccin 53
6.2 Prdidas de precisin en mapas 3D 53
6.3 Simulacin de GPS 54
6.3.1 Errores en receptores de GPS 54
6.3.2 Receptores GPS a simular 54
6.3.3 Modelo de ruido 56
6.4 Experimentos a realizar 56
7 diseo del experimento 59
7.1 Introduccin 59
7.2 Localizacin del experimento 59
7.3 Material utilizado 60
7.3.1 UAV 60
7.3.2 Cmara 60
7.3.3 Sistema de posicionamiento VICON 61
7.3.4 PIX4UAV 62
7.4 Parmetros de configuracin 62
7.4.1 Parmetros de vuelo 62
7.4.2 Parmetros de la cmara 63
7.5 Realizacin del experimento 64
7.5.1 Generacin ruido de GPS 64
7.5.2 Asignacin imgenes-datos GPS 65
7.5.3 Generacin de mapas 3D 66
7.5.4 Evaluacin precisin 66
7.5.5 Uso de Ground Control Points 68
8 resultados 69
8.1 Introduccin 69
8.2 Experimento 1 69
8.3 Experimento 2 70
8.4 Conclusiones 70

iv conclusiones 73
9 conclusiones y trabajos futuros 75
ndice general xi

v apndices 77
a publicacin de artculo en uav-g2013 79
b generacin de mapas 3d con micmac 85
b.1 Introduccin 85
b.2 Instalacin y distribucin 85
b.3 Proceso de generacin de mapas 3D 85
b.3.1 Deteccin de caracteristas y establecimiento de
correspondencias 86
b.3.2 Triangulacin y Bundle Adjustment 86
b.3.3 Generacin de matrices de Proyeccin 86
b.3.4 Densificacin de mapa 3D 87
c ejemplos de mapas 3d 89
c.1 Introduccin 89
c.2 Dataset 1 90
c.3 Dataset 2 91
c.4 Dataset 3 92

bibliografa 93
NDICE DE FIGURAS

Figura 1 Adquisicin de imgenes areas para mapea-


do 3D 3
Figura 2 Proyecto fin de carrera. Universidad de Sevi-
lla. 4
Figura 3 Comparativa de diferentes sistemas de capta-
cin de imgenes. 8
Figura 4 Diferentes servicios de 3D mapping 10
Figura 5 Ejemplos de software open-source 12
Figura 6 Sistema estreo convencional formado por dos
cmaras alineadas. 15
Figura 7 Ejemplo de sistema estreo con una cmara
17
Figura 8 Mapeado 3D con lser e imgenes areas 18
Figura 9 Efecto de rolling shutter 19
Figura 10 Sistema de estabilizacin de la cmara 21
Figura 11 Esquema de diseo de un vuelo para mapeado
3D 23
Figura 12 Clculo de la altura de vuelo 24
Figura 13 Importancia del solapamiento en vuelos de ma-
peado 3D 26
Figura 14 Ejemplos de diferentes planes de vuelo 27
Figura 15 Modelo de caja negra de la generacin de ma-
pas 3D 29
Figura 16 Correspondencia de angulos de Euler con los
ngulos de navegacin 32
Figura 17 Diferentes etapas del mapeado 3D 35
Figura 18 Esquema general de generacin de mapas dis-
persos (Structure from Motion). 36
Figura 19 Prueba de rotacin para extractores de carac-
tersticas 37
Figura 20 Prueba de escalado para extractores de carac-
tersticas. 37
Figura 21 Prueba de rendimiento para extractores de ca-
ractersticas. 38
Figura 22 Importancia del contenido en imgenes areas 39
Figura 23 Resultado del proceso de matching entre dos
imgenes areas consecutivas. 40
Figura 24 Definicin de recta epipolar 41
Figura 25 Resultado del proceso de filtrado de corres-
pondencias 42
Figura 26 Principio de multi-proyeccin 42

xii
Figura 27 Ejemplo de optimizacin usando Bundle Ad-
justment. En azul los puntos iniciales. En ver-
de, la reproyeccin del punto 45
Figura 28 Ejemplo de aproximacin multi-resolucin. 46
Figura 29 Comparativa de diferentes sistemas de capta-
cin de imgenes. 48
Figura 30 Triangulacin de Delaunay. 49
Figura 31 Ejemplo de tcnicas de reconstruccin de su-
perficies 50
Figura 32 Ejemplo de funcionamiento de sistema GBAS 55
Figura 33 Esquema de generacin de proceso aleatorio 57
Figura 34 Testbed indoor situado en CATEC 59
Figura 35 Quadrotor utilizado para el experimento 60
Figura 36 Software de telecontrol de la cmara 61
Figura 37 Sistema VICON de posicionamiento. 62
Figura 38 Modelo Simulink para generacin de proceso
aleatorio. 64
Figura 39 Muestreo del proceso aleatorio de Gauss-Markov. 65
Figura 40 Colocacin de puntos de control. 67
Figura 41 Esquema general del experimento 67
Figura 42 Plan de vuelo utilizado para el experimento. 68
Figura 43 Resultados de precisin obtenidos al evaluar
diferentes receptores GPS 69
Figura 44 Resultados de precisin obtenidos haciendo uso
de 5 GCPs 70
Figura 45 Mapa 3D del escenario propuesto. 71
Figura 46 Factores de mejora de lo algoritmos de recons-
truccin 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 TA B L A S

Tabla 1 Ejemplos de diferentes modelos de cmaras usa-


dos para mapeado 3D. Unidades: peso (gra-
mos), resolucin (megapxeles) , precio(e) 19
Tabla 2 Definicin de parmetros extrnsecos 31
Tabla 3 Definicin de parmetros intrnsecos 33

xiii
xiv ndice de tablas

Tabla 4 Ejemplo de distribucin de prdidas en un re-


ceptor GPS. 55
Tabla 5 Ejemplos de diferentes receptores GPS junto a
sus desviaciones tpicas 56
Tabla 6 Ejemplos de diferentes receptores GPS en el es-
cenario escalado 57
Tabla 7 Caractersticas de la cmara usada 61
Tabla 8 Caractersticas de adquisicin del dataset 1 90
Tabla 9 Caractersticas de adquisicin del dataset 2 91
Tabla 10 Caractersticas de adquisicin del dataset 3 92
ACRNIMOS

agl Altitude above Ground Level

bsd Licencia de software permisiva

cmos Complementary metal-oxide-semiconductor

ccd Charge-Coupled Device

dgps Diferential Global Positioning System

dem Modelo digital de altura

egnos European Geostationary Navigation Overlay Service

gbas Ground Based Augmentation Systems

gsd Ground Sample Distance

gis Geographic Information Systems

gtp Ground Truth Point

gcp Ground Control Point

gpu Graphic Processing Unit

gia Ground Imaging Area

ppp Precise Point Positioning

rtk Real-Time Kinematics

snr Relacion seal a ruido

sfm Structure From Motion

sift Scale-Invariant Feature Transform

sbas Satellite Based Augmentation Systems

sa Selective Availability

utm Universal Transverser Mercator

uav Unmanned Aerial Vehicle

uas Unmanned Aircraft Systems

wgs84 World Geodetic System 84

waas Wide Area Augmentation System

xv
Parte I

INTRODUCCIN
INTRODUCCIN
1
1.1 motivacin

Durante los ltimos aos, las tcnicas de mapeado a travs de im-


genes areas han sido objeto de gran inters, sobre todo tras la apa-
ricin de los sistemas areos no tripulados (UAV). Este auge ha sido
tal que ha absorbido el mercado que hasta ahora posean las tcnicas
de mapeado a partir de imgenes tomadas por satlites o aviones tri-
pulados. La necesidad de modelos 3D ms precisos y detallados en
campos tales como medio ambiente, agricultura y monitorizacin de
recursos naturales ha provocado que las fotografas que ofrecen los
satlites no sean las adecuadas. Adems, la adquisicin de imgenes
es muy lenta y solo posible con condiciones meteorolgicas favora-
bles. Aunque por otro lado el uso de aviones tripulados cubre esas
necesidades de resolucin y precisin, este tipo de tcnicas son muy
costosas y su limitacin de vuelo es de pocas horas. Resumiendo, las
tcnicas de adquisicin de imgenes areas utilizadas hasta antes de
la aparicin de los UAV poseen varias limitaciones tales como altos
costes de vuelo, maniobrabilidad restringida, baja resolucin etc [1].
En la figura 1 se puede observar como a medida que aumenta la
cobertura disminuye el nivel de detalle de las imgenes obtenidas. El
uso de UAS permite capturar imgenes con gran detalle a la vez que
se de las imgenes obtenidas evitan las perturbaciones producidas
por fenmenos atmosfricos a tales como nubes o niebla.

Figura 1: Adquisicin de imgenes areas para mapeado 3D

3
4 introduccin

1.2 alcance y objetivos

El principal objetivo de este proyecto fin de carrera es el estudio y


diseo de un sistema de generacin de mapas 3D utilizando imge-
nes areas captadas por un UAV. Para tal propsito se tratarn los
siguientes puntos a lo largo de la memoria:

Estudio de los antecedentes y el estado del arte de la temtica.

Diseo del sistema de adquisicin de imgenes y su integracin


en la plataforma area.

Anlisis de los algoritmos utilizados para la generacin de ma-


pas 3D.

Evaluacin de la precisin de los mapas 3D generados a travs


de una serie de experimentos.

El enfoque utilizado a la hora de generar este documento ha sido


un enfoque descriptivo, con el propsito de ofrecer al lector los prin-
cipales conceptos relacionados con el mapeado 3D. Este tipo de tc-
nicas abarcan varios algoritmos de carcter complejo los cuales han
sido simplificados y explicados de manera clara y resumida. Para un
estudio ms a fondo de estos algoritmos, se recomienda el uso de
bibliografa recomendada.

1.3 planificacin temporal

Este proyecto fin de carrera es est situado cronolgicamente entre


Septiembre de 2012 y Julio de 2013. A continuacin se expone el dia-
grama de Gantt correspondiente a las tareas realizadas durante dicho
periodo:

Figura 2: Proyecto fin de carrera. Universidad de Sevilla.


1.3 planificacin temporal 5

DIAGRAMA DE GANTT

2012 2013

MESES: 9 10 11 12 1 2 3 4 5 6 7

1 Documentacin inicial 100 % Completado

1.1 Estado del arte 100 % Completado

START-TO-START
1.2 Lenguaje C++ 100 % Completado

FINISH-TO-START
1.3 OpenCV 100 % Completado

2 Generacin mapas 3D 83 % Completado

2.1 Implementacin inicial 100 % Completado

FINISH-TO-START
2.2 Libreras MICMAC 100 % Completado

FINISH-TO-START
2.3 Optimizacin 50 % Completado

3 Experimentos realizados 100 % Completado

3.1 Diseo del experimento 100 % Completado

FINISH-TO-START
3.2 Experimentos 100 % Completado

FINISH-TO-START
3.3 Redaccin del paper 100 % Completado

4 Redaccin del PFC 100 % Completado

HOY
En este diagrama se puede observar la distribucin de tareas a lo
largo del tiempo en el que se ha desarrollado el proyecto. Los prime-
ros meses se invirtieron en una puesta en marcha o procedimiento de
setup, en el que la actividad se centr en la bsqueda de documenta-
cin. Una vez adquiridos los conocimientos necesarios, se pas a una
etapa de desarrollo donde se implementaron varios de los algoritmos
estudiados con anterioridad. A continuacin, se realizaron las fases
de diseo del experimento a la vez que se segua implementando
y consultando libreras de generacin de mapas 3D. Por ltimo, los
conocimientos adquiridos durante la experimentacin fueron plasma-
dos en la redaccin tanto de un paper para la conferencia UAVg-2013
6 introduccin

(Unmanned Aerial Vehicles in Geomatics) como del Proyecto Fin de


Carrera del autor.

1.4 estructura del documento

La estructura de este Proyecto Fin de Carrera se ha dividido en 9


captulos y 3 apndices agrupados en 4 partes con el objetivo de seg-
mentar el contenido de una manera clara y especfica.

parte i, introduccin: En esta primera parte se introducen los


objetivos y motivacin del proyecto as como un estado del arte
sobre las tcnicas actuales de mapeado 3D y las empresas que
ofrecen este tipo de servicio.

parte ii, generacin de mapas 3d : La parte dos pretende in-


troducir al lector a las tcnicas utilizadas para la generacin de
mapas 3D. Para ello, se han escrito tres captulos que engloban
desde el diseo de un vuelo especfico de mapeado 3D hasta un
repaso por la cadena de algoritmos utilizados.

parte iii, precisin en mapas 3d : Por ltimo, se presenta un


caso prctico de diseo de vuelo y generacin de mapas 3D.
Con ese objetivo, se ha utilizado las instalaciones de CATEC
para identificar las principales fuentes de error que afectan a
la precisin de estos algoritmos. Como resultado de estos ex-
perimentos, se ha publicado un artculo de congreso para el
prximo UAVg-2013.

parte iv: conclusiones : Esta parte consta de solo un captulo,


en el cual se recogen los aspectos ms relevantes de la memoria.

parte v: apndices : Formado por tres captulos, esta parte suple-


mentaria est dedicada a documentos relativos a la generacin
de mapas 3D que no tienen cabida en las anteriores secciones
del documento.
E S TA D O D E L A R T E
2
2.1 introduccin

El continuo desarrollo de la electrnica y la fotografa ha permitido


que la generacin de mapas 3D sea una realidad a da de hoy. Al tra-
tase de una tecnologa reciente, muchas son las empresas que ofrecen
este novedoso servicio al usuario final. Por tanto, el objetivo de esta
seccin es realizar un estudio tanto de dichas empresas como de las
alternativas de cdigo abierto que existen actualmente.

2.2 contexto

Hasta principios del ao 2000, los grupos de investigacin de fotogra-


metra y visin artificial haban trabajado de manera independiente
en la reconstruccin de entornos 3D, coincidiendo slo en la reso-
lucin de problemas basados en visin estereoscpica. Por un lado,
los fotogrametristas se centraron en el uso de cmaras de alto coste
bien calibradas e imgenes de alta resolucin analgicas, a las que se
les aplicaban algoritmos de optimizacin, los cuales necesitaban de
bastante interaccin humana. Sin embargo, la comunidad de visin
artificial trabajaba en sistemas de tiempo real, utilizando imgenes de
baja resolucin y siendo stos sistemas totalmente autnomos.

Es entonces cuando, en torno al ao 2010 se produjo un importante


descenso en el precio de las cmaras digitales. Era posible por ejem-
plo, adquirir cmaras reflex con unas caractersticas de resolucin y
SNR parecidas a las que se utilizaban a principios del ao 2000 en
fotogrametra. No es de extraar que este hecho provocar una evo-
lucin natural en el tratamiento de imgenes areas, donde se combi-
naron las prestaciones ms relevantes de la fotogrametra y la visin
artificial. Gracias a ello, se han estado desarrollando herramientas au-
tomticas y bastantes precisas que permiten modelar un entorno 3D
utilizando para ello imgenes tomadas desde una cmara comercial
de bajo coste.

Sin embargo, antes de que estas herramientas se pudieran ofrecer


al pblico convencional como un servicio, fue necesario el desarrollo
de una serie de algoritmos que permitieran que la reconstruccin de
modelos 3D fuese factible desde el punto de vista computacional.

7
8 estado del arte

2.3 mapas 3d desde imgenes areas

Previamente al desarrollo de las tcnicas anteriormente citadas, la


generacin de mapas geogrficos era una tarea que normalmente se
hacia utilizando imgenes procedentes de vuelos a media altura o
de satlites que orbitaban sobre la tierra [2]. Las imgenes obtenidas
de estos satlites posean una resolucin y calidad muy baja y eran
afectadas drsticamente por fenmenos atmosfricos (ver figura 3c)
que ocultaban parte de la zona que se pretenda mapear.

(a) Imagen obtenida por un aeroplano (1500 (b) Imagen captada por un UAV (300 m).
m).

(c) Fotografa desde satlite. (d) Fenmenos atmosfricos adversos.

Figura 3: Comparativa de diferentes sistemas de captacin de imgenes.

Con el desarrollo de sistemas areos no tripulados (UAV) (ver figu-


ra 3a) surge una alternativa a las tcnicas de mapeado que se reali-
zaban hasta entonces, pudiendo realizar vuelos a baja altura con una
mayor resolucin y calidad de imagen. Adems, la integracin de sen-
sores inerciales en los UAV permite la generacin no solo de mapas
ortogonales georeferenciados, sino tambin de modelos digitales de
altura (DEM).
2.4 servicios de cloud computing 9

En definitiva, todos los factores mencionados anteriormente han


creado una gran expectacin en torno a la generacin de mapas 3D,
gracias a sus mltiples aplicaciones y al bajo coste que supone. Se tra-
ta pues un mercado relativamente joven en el que empresas ofrecen
este tipo de servicios de manera trasparente al usuario, aunque existe
tambin herramientas open-source que permiten la implementacin
de los diferentes algoritmos necesarios. En las siguientes secciones se
plantean cada una de estas alternativas.

2.4 servicios de cloud computing

La principal ventaja de este tipo de servicios es la facilidad para el


usuario, pues no tiene la necesidad de instalar ningn programa en
su ordenador. Sin embargo, existen una serie de inconvenientes relati-
vos sobre todo a la privacidad de los algoritmos utilizados, ya que el
cdigo no es accesible por el usuario (se ejecutan en la nube directa-
mente), por lo que el control sobre el resultado final es prcticamen-
te nulo. Adems, es normal por parte de estas empresas el ofrecer
una serie de servicios adicionales, como podra ser atencin al clien-
te, venta de cmaras fotogrficas o venta de sistemas completos de
adquisicin de imgenes 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 ingeniera suiza con amplia experiencia tanto en robtica
como en inteligencia artificial [3].

Entre los productos que oferta esta empresa, destaca Pix4UAV (ver
figura 4a), una solucin software disponible tanto en la nube como
versin de escritorio. Este paquete software permite la reconstruccin
de mapas 3D a partir de imgenes areas as como la generacin de
mapas 2D georreferenciados o la posibilidad de integrar el resultado
final con Google Maps. La principal diferencia entre la versin en
la nube y la de escritorio reside en el precio, ya que en la versin
de escritorio se paga una licencia completa, mientras que para un
procesamiento en la nube solo es necesario abonar cada proyecto de
manera independiente.

2.4.2 Sensefly

Sensefly Ltd es una compaia suiza basada en Ecublens que surgi de


igual manera que Pix4D como una spin-off del EPFL [4]. La principal
diferencia entre ambas reside en que Sensefly centra su actividad en
el desarrollo de UAV propios destinados a ofrecer servicios civiles
como por ejemplo mapeado de zonas forestales, minas etc. Ofrece
10 estado del arte

(a) Suite de Software PixUAV. (b) UAV ultraligero desarrollado por Sensefly.

Figura 4: Diferentes servicios de 3D mapping

tambin la posibilidad de conseguir una suite de software la cual es


compatible nicamente con sus gama de UAV. Entre los productos
que oferta Sensefly, destacan:

Post-flight service. Sensefly permite a sus clientes la generacin


tanto de mapas de elevacin como de ortomosaicos de manera
automtica a travs de su web. Existen varias modalidades de
acceso dependiendo del servicio que se desee y , por tanto, el
precio del producto tambin vara.

Swinglet Cam. Este UAV (ver figura 4b ) permite la toma de fo-


tografas areas a travs de su cmara de 12 megapxeles. Equi-
pado con un sistema de inteligencia artificial basado en sensores
inerciales, permite autopilotaje y aterrizaje de forma autnoma.
Junto con el sistema areo, se ofrece una suite de software que
permite realizar un plan de vuelo previo, as como generar la
informacin necesaria para utilizar sus servicios de generacin
de mapas de altura y ortomosaicos.

2.5 herramientas open source

Junto a la evolucin que ha sufrido la visin artificial en los ltimos


aos, se han creado varios grupos de desarrollo cuyo objetivo es la li-
beracin de diferentes herramientas de cdigo abierto. La integracin
de estas herramientas permite abordar problemas ms complejos co-
mo es el caso del mapeado 3D cuya dificultad reside en la implemen-
tacin de los diferentes algoritmos que necesita.

En contrapartida a los servicios que ofrecen las empresas priva-


das, las soluciones Open Source son las ms utilizadas tanto por la
comunidad cientfica, como por grupos de investigacin o empresas
privadas. Estas herramientas son gratuitas y ofrecen la posibilidad
de tener control pleno de cada uno de los parmetros que componen
2.5 herramientas open source 11

los algoritmos utilizados, pudiendo as adaptar y cambiar esos par-


metros segn la necesidad del usuario. A continuacin se exponen
las herramientas Open Source ms destacadas, as como proyectos de
cdigo libre relacionados con la reconstruccin 3D.

2.5.1 OpenCV y PCL

OpenCV es una biblioteca libre de visin artificial originalmente desa-


rrollada por Intel. Desde que apareci su primera versin alfa en el
mes de enero de 1999, se ha utilizado en multitud de aplicaciones
como por ejemplo sistemas de seguridad con deteccin de movimien-
to o aplicaciones de control de procesos donde se requiere recono-
cimiento de objetos. Esto se debe a que su publicacin se da bajo
licencia BSD, que permite que sea usada libremente para propsitos
comerciales y de investigacin con las condiciones en ella expresadas.

OpenCV es multiplataforma [5], existiendo versiones para GNU/-


Linux, Mac OS X y Windows. Contiene ms de 500 funciones que
abarcan una gran gama de reas en el proceso de visin, como reco-
nocimiento de objetos, calibracin de cmaras, visin estreo y reco-
nocimiento de caras.

En lo relativo a reconstruccin 3D, OpenCV ofrece implementacio-


nes de los algoritmos ms utilizados tales como detectores de ca-
ractersticas, establecimiento de correspondencias o algoritmos ms
complejos utilizados en visin estreo como el conocido Semi-Global
Matching o Graph Cut. Destaca tambin la re-implementacin de los
citados algoritmos para que sean usados en las emergentes memorias
GPU, que permite una aceleracin considerable en el tratamiento de
imgenes de alta resolucin.

Por ltimo, comentar tambin la aparicin de librerias para el tra-


tamiento de nubes de puntos en 3D como Point Cloud Library (PCL)
[6], cuya publicacin tambin se da bajo licencia BSD.

2.5.2 VisualSFM

VisualSFM es una herramienta para la reconstruccin de entornos 3D


que implementa el conocido pipeline Structure From Motion [7]. Fue
creada en 2006 por Changchang Wu, un estudiante de la universidad
de North Carolina que posteriormente trabajara en el proyecto Photo-
Tourism, predecesor del conocido software de Microsoft Photosynch.

Este software est destinado sobre todo a la reconstruccin de en-


tornos 3D de paisajes urbanos tales como edificios o monumentos
sin tener porqu usar imgenes tomadas desde el aire. Sin embargo,
implementa varios elementos que se utilizan para la generacin de
12 estado del arte

mapas 3D como por ejemplo, Multicore Bundle Adjustment, o SIFTG-


PU entre otros.

VisualSFM es por tanto una herramienta de propsito general (ver


figura 5a) que permite la reconstruccin de entornos 3D incluso cuan-
do las imgenes son tomadas por gente con poco conocimiento sobre
fotografa. En consecuencia, el precio a pagar por esta flexibilidad es
una formulacin matemtica ms inexacta, que incurre en prdidas
de precisin para algunas aplicaciones, como es el caso de la genera-
cin 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 francs (IGN) decidi en 2007 que el


software que estaban desarrollando internamente en sus laboratorios
podra ser de inters para la comunidad cientfica liberando as la
primera versin de MICMAC/APERO [8].

Implementado en el lenguaje de programacin C++, estas libreras


eran utilizadas para propsitos cartogrficos utilizando para ello im-
genes areas. Desde 2007 en adelante, MICMAC ha ido evolucionan-
do incorporando a sus libreras diferentes mdulos que permiten la
generacin de mapas de profundidad (ver figura 5b) as como la ex-
traccin de nubes de puntos 3D con gran resolucin.

La principal diferencia de MICMAC con respecto a otras soluciones


de cdigo abierto como VisualSFM o Bundler ([9]) reside en asimilar
modelos matemticos ms complejos, lo que permite una precisin
final mas alta. En contrapartida a esta precisin se encuentra la difi-
cultad para interactuar con la librera, para la cual se necesitan cono-
cimientos ms amplios sobre fotografa y sobre los algoritmos que se
ejecutan en cada etapa.
Parte II

G E N E R A C I N D E M A PA S 3 D
ADQUISICIN DE IMGENES
3
3.1 introduccin

En el presente captulo se exponen los diferentes sistemas de visin


utilizados para la generacin de mapas 3D con el objetivo de mostrar
cuales son los ms utilizados y cuales estn actualmente en desarro-
llo. Por ltimo, una vez elegido el sistema de adquisicin de imge-
nes, se realiza un anlisis del efecto de los diferentes parmetros de
configuracin de la cmara adems de un estudio de la seleccin e
integracin de la cmara en la plataforma area.

3.2 sistemas de visin

A continuacin se presentan los sistemas de visin ms utilizados pa-


ra reconstruccin 3D entre los que se encuentran los sistemas estreos
convencionales, los sistemas monoestreos y por ltimo una tcnica
que combina sensores de imagen con informacin proveniente de un
lser.

3.2.1 Sistemas estereos convencionales

Consideremos un sistema estreo formado por dos cmaras con sus


ejes pticos paralelos, tal y como se muestra en la figura 6.

Figura 6: Sistema estreo convencional formado por dos cmaras alineadas.

Sea (x,y,z) las coordenadas de un punto del entorno expresadas en


un sistema de coordenadas definido justo en la mitad del segmento
que une los centros de las lentes. La coordenada z representa la dis-
tancia al punto o profundidad, es decir, la coordenada buscada para
la representacin 3D.

15
16 adquisicin de imgenes

Asumiremos que ambas cmaras poseen la misma distancia focal f,


y que el punto antes mencionado se proyecta (segn el mismo sistema
de coordenadas) en los puntos (xi,yi) y (xd,yd). De acuerdo con [10],
resolviendo las ecuaciones que se plantean obtenemos:

0 0
(x x )/2
x = b i 0 d0 (1)
(yi yd )

0 0
(y y )/2
y = b i 0 d0 (2)
(xi xd )

f
z=b 0 0 (3)
(xi xd )

Del estudio de las ecuaciones anteriores se puede deducir las si-


guientes afirmaciones:

La coordenada z (ecuacin 3) es inversamente proporcional a la


disparidad. La distancia a objetos prximos puede medirse de
forma ms precisa que a objetos lejanos.

Para un error determinado en el plano de imagen, el interva-


lo de incertidumbre en la determinacin de z aumenta con la
distancia.

Para un valor fijo de disparidad, la precisin en la determina-


cin de Z aumenta al separar ms las cmaras. Sin embargo,
cuando esta separacin aumenta, las imgenes son menos simi-
lares con lo cual el establecimiento de correspondencias es ms
difcil, pudiendo llegarse incluso a que puntos de una imagen
no aparezcan en la otra.

Por tanto, hace falta controlar dos factores a la hora del desarrollo
de un sistema estreo convencional: la distancia a los objetos y la
separacin entre las cmaras. Atendiendo al caso de mapeado 3D a
partir de imgenes areas estas afirmaciones se traduciran en vuelos
a baja altura y en el uso de una distancia base bastante elevada.

Debido a problemas de implementacin, los sistemas estreos con-


vencionales no son recomendados en aeronaves pequeas o UAVs. En
contrapartida, se utiliza una tcnica denominada estreo con una c-
mara o motion stereo, la cual comparte muchas caractersticas con las
tcnicas estreo convencionales.
3.2 sistemas de visin 17

3.2.2 Sistemas estreo con una sola cmara

Los sistemas esteros que utilizan solo una cmara cubren el caso par-
ticular de visin estreo donde los ejes pticos de las cmaras no son
paralelos. Por consiguiente, es necesario determinar la transforma-
cin que existe entre los sistemas de referencias asociado a la cmara
en cada una de las imgenes obtenidas. Por este motivo, la imple-
mentacin de este tipo de tcnicas es muy apropiada en aeronaves
pequeas debido a la integracin de sensores inerciales de posiciona-
miento (GPS,IMU), que permiten la localizacin de la cmara en un
sistema de coordenadas terrestre.

En la figura 7 podemos observar cmo utilizando una sola cmara


podemos cubrir la zona de inters si realizamos las fotografas en
las posiciones adecuadas. En el caso de imgenes areas, se deber
realizar un plan de vuelo o path planning, acorde a unas condiciones
de solapamiento entre imgenes.

Figura 7: Ejemplo de sistema estreo con una cmara

3.2.3 Mapeado lser 3D con imgenes areas

Por ltimo, se presenta una tecnologa consistente en la integracin


de un sistema monoestreo junto a un lser para la generacin de ma-
pas de alturas. Conocido como Airbone Light Detection and Ranging
(LiDAR), este lser provee informacin sobre la distancia a la que se
encuentran los objetos cercanos a la aeronave. La cooperacin de los
sensores inerciales con estas medidas permiten la generacin direc-
ta de mapas 3D, los cuales poseen una resolucin espacial bastante
elevada.
18 adquisicin de imgenes

El uso de LiDAR posee varias ventajas respecto a los mapas 3D


obtenidos directamente desde imgenes areas como pueden ser la
supresin de zonas ocultas en las imgenes y una mayor precisin.
En contrapartida, LiDAR no provee informacin sobre la textura o
color del terreno. En vista a la generacin de mapas ms realistas (ver
figura 8b) se puede introducir un sistema de adquisicin de imgenes
a bordo del UAV, surgiendo la necesidad de desarrollar un software
que relacione las texturas 2D con el modelo 3D proporcionado por
LiDAR haciendo uso de tcnicas 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 lser e imgenes areas

En definitiva, el uso de un sensor lser para reconstruir entornos


3D posee varias ventajas con respecto a tcnicas del state-of-art basa-
das solamente en imgenes areas. Si adems se combina esta infor-
macin con una cmara digital, podemos obtener modelos de eleva-
cin ms detallados con una resolucin bastante alta.

3.3 seleccin e integracin de la cmara

En esta seccin se propone el anlisis de las diferentes cmaras dis-


ponibles en el mercado y recomendadas por empresas que ofrecen
servicios de mapeado 3D. Adems, se plantea una configuracin ini-
cial de parmetros relativos a la cmara, as como un estudio de la
integracin de la misma en la plataforma area.

3.3.1 Cmaras digitales

La eleccin de una cmara digital debe ser acorde a una serie de ne-
cesidades provenientes de los algoritmos de reconstruccin 3D. Por
tanto, las imgenes tomadas deben cumplir unos requisitos en cuan-
to a calidad y resolucin se refiere, adems de tener la opcin de
poder configurar parmetros tales como la velocidad de obturacin,
la apertura de la lente, la ISO etc..
3.3 seleccin e integracin de la cmara 19

Por estas razones se recomienda desde [3] escoger la cmara que


mejor se adapte a cada tipo de proyecto. La tabla 1 recoge varios tipos
de cmaras en funcin a su tecnologa, precio y peso. Este ultimo
parmetro es critico si se desarrolla este tipo de sistemas para un
UAV, donde la carga de pago suele ser un factor limitante.

tipo de cmara modelo peso resolucin precio

Canon Ixus 220HS 135 16.1 119.13


Compactas
Sony RX 100 240 20.2 649
Sony Nex 5/7 270-350 24.3 1273.81
Compactas DSLR
Canon 5D mark ii >500 22 2469
Hasselblad h5d >2000 50 20,900
Cmaras PRO
Leica rcd30 >4000 60

Tabla 1: Ejemplos de diferentes modelos de cmaras usados para mapeado 3D. Unidades:
peso (gramos), resolucin (megapxeles) , precio(e)

Por ltimo, es necesario evitar el efecto rolling shutter o de gelatina.


Este efecto se produce al utilizar sensores CMOS y tomar fotografas
de objetos en movimiento rpido, como es el caso de la captura de
imgenes areas desde un UAV (ver figura 9a). La naturaleza de es-
te fenmeno viene dada por el modo de lectura del sensor, el cual
realiza un barrido lnea por lnea en vez de realizar una captura ge-
neral de los fotodiodos, lo que produce un efecto de distorsin en la
imagen final (figura 9b).

(a) Efecto de rolling shutter en imagen en mo- (b) Explicacin grfica del efecto.
vimiento

Figura 9: Efecto de rolling shutter

En este sentido, cabe aclarar que no solo las cmaras de gama baja
estn afectadas. Las cmaras de gama alta con sensor CMOS (prc-
ticamente todas las disponibles en el mercado fotogrfico actual), en
modo vdeo producen el mismo efecto. No lo producen al tomar fo-
tografas ya que primero se exponen los fotodiodos, se cierran las
20 adquisicin de imgenes

cortinas y por ultimo se lee la informacin. En el modo vdeo, todo el


tiempo se esta leyendo y grabando la informacin, sin accin de las
cortinas, produciendo esta sensacin de imagen gelatinosa. Por tanto,
se descartar el uso de la mayora de video-cmaras para mapeado
3D, utilizando para ello cmaras convencionales en modo fotografa.

3.3.2 Parmetros de la cmara

Una vez se ha seleccionado el modelo a utilizar, es importante ade-


cuar los parmetros de la cmara en funcin de la escena, con el
objetivo de conseguir una buena calidad de imagen. A continuacin
se exponen los principales parmetros que debemos tener en cuenta
a la hora de obtener las imgenes:

Sensibilidad ISO: Hace referencia a la sensibilidad de cada una


de las celdas que componen el sensor o chip CCD. Esta sensibili-
dad es fija y est en torno a 100 ISO. Los ndices ISO superiores
que nos ofrece la cmara digital se logran mediante un amplifi-
cado posterior de la seal, lo que conlleva una amplificacin de
la emisin aleatoria del chip.

Velocidad de obturacin: Hace referencia al tiempo de exposi-


cin o lo que es lo mismo, al periodo de tiempo durante el cual
esta abierto el obturador de la cmara fotogrfica. Se expresa en
segundos y fracciones de segundo por lo cual se entiende que
estamos hablando de tiempo y no de velocidad (tiempo/distan-
cia). Es muy importante en imgenes areas dependiendo de la
velocidad del UAV.

Apertura de la lente: En fotografa, la magnitud de la apertu-


ra est controlada por el diafragma, el cual es una estructura
interpuesta en la trayectoria de la luz para regular la cantidad
de sta admitida en el sistema. En combinacin con la veloci-
dad de obturacin, el tamao de apertura regula el grado de
exposicin a la luz del filme o sensor, determinando as el valor
de exposicin. Grandes aperturas estn relacionadas con una
menor profundidad de campo y nitidez, mientras una apertura
pequea consigue concentrar ms la luz produciendo una ma-
yor profundidad de campo y nitidez en la fotografa resultante.

Una buena estrategia a la hora de configurar la cmara para la


adquisicin de imgenes areas se basa en utilizar una sensibilidad
ISO acorde a la iluminacin de la escena (siempre intentando utilizar
el valor ms pequeo), as como una velocidad de obturacin en torno
a 1/300 y 1/1800 segundos. En lo relativo a la apertura de la lente, la
mayora de las cmaras poseen un modo de funcionamiento en el cual
la configuracin de este parmetro se hace de manera automtica,
ajustndola siempre a la mayor apertura posible.
3.3 seleccin e integracin de la cmara 21

3.3.3 Montaje de la cmara

Los sistemas areos no tripulados presentan un entorno no habitual


para las cmaras fotogrficas debido a que deben soportar golpes y
vibraciones durante el vuelo a realizar. Adems, estas cmaras deben
de ser lo suficientemente ligeras y compactas en vistas a reducir la
carga de pago o payload.

Por tanto, el problema principal reside en la eleccin 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 suspensin Car-
dana. Este tipo de monturas presentan un mecanismo de suspensin
consistente en estructuras concntricas cuyos ejes forman un ngulo
recto, lo cual permite mantener la orientacin de la cmara aunque
su soporte se mueva.

(a) Graduacin de la inclinacin de la cmara.

(b) Ejemplo de gimbal.

Figura 10: Sistema de estabilizacin de la cmara

En la figura 10 se presentan este tipo de sistemas junto a su sistema


de control basado en un servo mecnico que permite configurar el
grado de inclinacin de la cmara.
DISEO DE UN VUELO DE MAPEADO 3D
4
4.1 introduccin

El primer paso antes de desarrollar un sistema de generacin de ma-


pas 3D es realizar un estudio de uso de este tipo de tcnicas. Existen
diferentes reas de aplicacin tales como la exploracin de sitios inac-
cesibles, documentacin arqueolgica, restauracin etc.. para las cua-
les la utilizacin de un modelo tridimensional resulta de gran ayuda.
Por tanto, cada una de las posibles aplicaciones antes mencionadas
tendr unas necesidades en cuanto a resolucin y precisin del resul-
tado final se refiere.

La figura 11 recoge el esquema de diseo que se seguir a lo largo


del captulo. Partiendo de una resolucin inicial (GSD), calcularemos
la altura media de vuelo (AGL) haciendo uso de diferentes parme-
tros de la cmara. Si la altura de vuelo fuese un factor limitante, se
recalculara la GSD. Por ltimo se calcula superficie cubierta por una
imagen o GIA, con el objetivo de disear un plan de vuelo acorde a
los parmetros ya descritos y a un solape entre imgenes requerido.

Figura 11: Esquema de diseo de un vuelo para mapeado 3D

23
24 diseo de un vuelo de mapeado 3d

4.2 ground sample distance

Este trmino es usado en fotografa digital para hacer referencia a la


distancia entre el centro de pxeles adyacentes medido desde tierra y
utilizando unidades de medidas relativas. Debido a que un pxel es
cuadrado, el rea que cubrir cada pxel ser:

Area = GSD GSD (m/pixeles)2 . (4)


No debemos confundir la GSD con la resolucin de la imagen to-
mada ya que ,como se demostrar en el siguiente apartado, depende
de la resolucin de la cmara y la altura de vuelo.

4.3 altitude ground level

Una vez se ha fijado la resolucin por pxel que necesita nuestra apli-
cacin, la altura de vuelo o Altitude above Ground Level (AGL) es el
segundo parmetro a calcular. La altura a la que tomaremos las im-
genes depende de la distancia focal de la cmara, de las dimensiones
del sensor y de la GSD definida en el apartado anterior. La imagen
12 recoge un esquema de una situacin real, sealando los aspectos
de inters.

Se definen los siguientes parmetros:


Sw = anchura del sensor ptico [mm]
f = distancia focal [mm]
h = altura de vuelo [m]
d = distancia cubierta en el suelo por una
imagen [m]
Si establecemos tringulos semejantes se de-
duce la siguiente relacin:

Figura 12: Clculo de fd


h= (5)
la altura de Sw
vuelo

La distancia cubierta en el suelo por una imagen captada desde el


aire viene dada por la resolucin/pxel as como por el tamao de la
imagen en pxeles:

d = GSD Imwidth (6)


donde :
4.4 solapamiento 25

GSD = Ground Sample Distance [cm/pxel]

Imwidth = Ancho de la imagen [pxel]

Si combinamos (5 y 6), obtenemos que:

f Imwdith GSD
h= (7)
Sw 100
Expresin que relaciona la mxima altura de vuelo desde donde po-
demos realizar las fotografas para cumplir unos requisitos de resolu-
cin por pxel. Ordenes de magnitud tpicos para vuelos de mapeado
3D tratan con resoluciones en el rango [1,10] cm/pxel y alturas de
vuelo 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, por
lo que habr que llegar a una relacin de compromiso entre AGL y
GSD.

4.4 solapamiento

El solapamiento es un concepto muy importante a tener en cuenta a


la hora de la adquisicin de imgenes para reconstruccin 3D. El uso
de una sola cmara hace que surja la necesidad de establecer zonas
comunes entre las imgenes adquiridas, por lo que habr que hacer
un estudio del solapamiento que se necesita en cada situacin.

De acuerdo con [3],el solapamiento requerido para la mayora de


los casos es 75 % en la direccin de vuelo y un 50 % de solapamiento
lateral. Sin embargo, en terrenos difciles tales como bosques, zonas
de 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 del
terreno previo que permita disear una ruta de vuelo adecuada.

4.5 plan de vuelo

Un factor muy importante a la hora de preparar un vuelo de recons-


truccin 3D es el path planning o planificacin de la trayectoria. Debi-
do a que se ha definido ya una altura de vuelo fija para cumplir una
determinada GSD, disear 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], el
diseo 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)


26 diseo de un vuelo de mapeado 3d

(a) Definicin de solapamiento (b) Solapamiento requerido en condi-


ciones normales.

Figura 13: Importancia del solapamiento en vuelos de mapeado 3D

donde:
rx ,ry = resolucin horizontal y vertical de la cmara (pi-
xels)
gx ,gy = GSD horizontal y vertical deseada (m/pxel)
A continuacin, se divide el rea a mapear en una cantidad fini-
ta de rectngulos del mismo tamao, normalmente en forma de
malla. Se utiliza este tipo de divisin ya que se asume que a una
altura de vuelo constante y con un giro pitch and roll mnimo, la
GIA de cada una de las imgenes ser muy similar.
La eleccin del tamao de mallado se elige en funcin al sola-
pamiento requerido. Para un solapamiento entre un 60 % y un
80 %, se recomienda utilizar un mallado 3 o 4 veces ms peque-
o que la GIA anteriormente calculada.

2. Una vez establecido la malla sobre la superficie a mapear, se


debe tomar una fotografa en el centro de cada rectngulo. Dise-
ar una ruta que minimice la distancia recorrida es una versin
del problema del viajero o TSP. Este problema es ampliamente
conocido y estudiado en la literatura ( [13] y [14]), por lo que
no se tendr en cuenta en este estudio. Sin embargo en [12] se
propone una versin del algoritmo adaptado al problema que
nos ocupa.
4.5 plan de vuelo 27

(a) Ejemplo de plan de vuelo en forma de malla (b) Planificacin de un vuelo de doble
mallado.

Figura 14: Ejemplos de diferentes planes de vuelo

En la figura 14, se presenta un ejemplo de flight planning en forma


de malla, donde se ha optado por un recorrido en zigzag para cumplir
con las especificaciones de solapamiento.
ALGORITMOS DE MAPEADO 3D
5
5.1 introduccin

A continuacin se presentan los diferentes algoritmos que componen


cada una de las partes que se ocupan de la generacin de mapas 3D.
Tpicamente, este proceso se divide en dos etapas: en la primera se
genera un mapa 3D disperso de la escena, haciendo uso de la tcnica
conocida como Structure From Motion. En base a este mapa disperso,
se utilizarn tcnicas de correlacin y procesado de nubes de puntos
3D para generar un mapa denso de la superficie.

En el caso de mapas 3D dispersos, se ha realizado una implemen-


tacin en C++ haciendo uso de funciones de la librera OpenCV y
PCL, mientras que para el mapeado denso se introducir el uso del
paquete open-source MICMAC.

5.2 modelo de caja negra

De forma resumida, el esquema de software o pipeline que conlleva


la generacin de mapas 3D puede verse como un modelo de caja
negra donde obtenemos unas salidas a partir de unas entradas dadas.
Aunque se profundizar ms adelante en el interior de esa caja, en
esta seccin se realizar esa abstraccin para estudiar cuales son las
necesidades desde el punto de vista entrada-salida.

Figura 15: Modelo de caja negra de la generacin de mapas 3D

En la figura 15 se presenta este tipo de modelos, los cuales son


tpicos de empresas que ofrecen servicios de mapeado 3D como por
ejemplo, Pix4D. Aparte de las propias imgenes areas, se necesita
informacin sobre el posicionamiento de la cmara en un sistema
de coordenadas as como de los parmetros relativos al proceso de

29
30 algoritmos de mapeado 3d

calibracin. En las siguientes secciones se describen estos parmetros


comnmente conocidos como parmetros extrnsecos e intrnsecos
respectivamente, adems de describir el formato de las imgenes y
los mapas 3D obtenidos.

5.2.1 Imgenes areas

Desde el punto de vista de los algoritmos de reconstruccin 3D, las


imgenes utilizadas para tal fin deben cumplir una serie de requisitos
los cuales se muestran a continuacin:

Calidad de la imagen: Las imgenes que se usen deben estar


bien enfocadas y con una iluminacin acorde a la escena a re-
construir. Para ello, hay que configurar adecuadamente parme-
tros de la cmara relacionados con la exposicin o la sensibili-
dad ISO.

Solapamiento entre imgenes: Como ya se mencion anterior-


mente, el principio de reconstruccin 3D se basa en el estableci-
miento de correspondencias entre las imgenes captadas. Para
ello, habr que disear 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.
Fenmenos atmosfricos como destellos o sombras provocarn
unas imgenes que no sern aptas para la generacin de mapas
3D. Por este mismo motivo, se debe evitar las zonas homog-
neas como mares o grandes campos, en los cuales los algoritmos
utilizados fallan.

Resolucin: A ms resolucin, ms caractersticas podremos ob-


tener de una imagen, lo que mejorar considerablemente la re-
solucin espacial del resultado final, al disminuir la GSD. Las
cmaras actuales ofrecen la posibilidad de captar imgenes con
una resolucin en torno a los 16 megapxeles.

En resumen, antes del proceso de adquisicin de imgenes se nece-


sita un estudio previo sobre el terreno a mapear, ya que los parme-
tros arriba expuestos dependen sensiblemente del diseo de un buen
plan de adquisicin. Para un estudio ms profundo, se recomienda la
lectura del captulo 3: Diseo de un vuelo para mapeado 3D, donde
se dan las pautas necesarias para cumplir con estos requisitos.

5.2.2 Parmetros extrnsecos

Los parmetros extrnsecos (ver tabla 2) definen la transformacin de


la posicin de la cmara a lo largo del tiempo en un sistema de re-
5.2 modelo de caja negra 31

ferencia global. Es necesario pues, realizar un tracking o seguimiento


de la cmara para cada una de las imgenes tomadas.

Parmetro extrnseco Descripcin del parmetro

Rx , Ry , Rz ngulos de rotacin para la transformacin del


sistema de referencia global al de la cmara.
Tx , Ty , T z Componentes de traslacin para la transforma-
cin del sistema de referencia global de cada
imagen.

Tabla 2: Definicin de parmetros extrnsecos

Como se ver ms adelante, esta informacin de posicionamiento


tambien puede obtenerse mediante el establecimiento de puntos en
comn entre cada una de las imgenes. Sin embargo, es necesario
informacin externa para deshacer la ambigedad de proyeccin que
existe utilizando este mtodo. En el caso de integracin de cmaras
fotogrficas en un UAV, se puede asignar a cada imagen un dato
proveniente de los sensores inerciales (GPS/IMU) para representar
el movimiento de la cmara en un sistema de coordenadas dado. A
partir de estos datos, se crearn unas matrices de traslacin y rotacin
que definan ese movimiento, de manera que la matriz de proyeccin
P sea:

P = [R|t] (9)

5.2.2.1 Matriz de traslacin


Puesto que una traslacin es un caso particular de transformacin
afn pero no una transformacin lineal, generalmente se usan coorde-
nadas homogneas para representar la traslacin mediante una ma-
triz y poder as expresarla como una transformacin lineal sobre un
espacio de dimensin superior.

As un vector tridimensional T = (Tx , Ty , Tz ) puede ser reescrito


usando cuatro coordenadas homogneas de manera que :
0
t = (Tx , Ty , Tz , 1) (10)

Por ltimo, debido a que el sistema de ecuaciones que resolveremos


ms adelante es lineal, se har uso de un sistema de coordenadas car-
tesiano. Usualmente, los GPS que se encuentran a bordo de los UAV
obtienen la posicin en coordenadas WGS84, el cual utiliza un siste-
ma de coordenadas esfrico. Ser necesario pues una transformacin
a otro tipo de sistemas cartesianos como por ejemplo UTM.
32 algoritmos de mapeado 3d

5.2.2.2 Matriz de rotacin


En matemticas, el teorema de rotacin de Euler [15] dice que cual-
quier rotacin o conjunto de rotaciones sucesivas puede expresarse
siempre como una rotacin alrededor de una nica direccin o eje
de rotacin principal. De este modo, para definir una rotacin en el
espacio se hace uso de tres ngulos de giro conocidos como ngulos
de Euler.

Estos ngulos (, , ) corresponden con los ngulos convenciona-


les de roll (), pitch() y yaw () que se utilizan en navegacin para
especificar la actitud de un mvil. El ngulo de roll es el giro de las
alas del avin, el ngulo de pitch la inclinacin del morro y el ngulo
de yaw es el giro del morro del avin respecto al norte tal y como se
define en la figura 16.

Figura 16: Correspondencia de angulos de Euler con los ngulos de navega-


cin

Cada ngulo de giro tiene asociada una matriz de rotacin, segn


las ecuaciones 11, 12 y 13:


cos() sen() 0

R =
sen() cos() 0
(11)
0 0 1


cos() 0 sen()

R =
0 1 0
(12)
sen() 0 cos()


1 0 0

R =
0 cos() sen()
(13)
0 sen() cos()
5.2 modelo de caja negra 33

En general, cualquier rotacin puede expresarse como el producto


de las matrices anteriores. Al tratarse de producto de matrices, no
cumple la propiedad conmutativa por lo que es importante el orden
de aplicacin. Por ejemplo, si aplicamos los giros en el orden yaw,
pitch y roll, obtenemos una matriz de rotacin resultante:

Rn = R R R (14)


coscos cossen sen

Rn =
cossinsen sencos coscos + sensensen cossen
cossencos + sensen sensencos cossen coscos
(15)
Por tanto, para el calculo de la matriz de rotacin habr que tener
en cuenta cual es el sistema de referencia y aplicar la transformacin
en el orden correcto. Como en el caso anterior, se asignar a cada ima-
gen unos ngulos de Euler concretos los cuales sern proporcionados
por los sensores inerciales a bordo del UAV.

5.2.3 Parmetros intrnsecos

Los parmetros intrnsecos sirven para efectuar la transformacin de


un punto en 3D en el sistema de referencia de la cmara a un punto
en 2D en el sistema de coordenadas de la imagen, y su descripcin se
muestra en la tabla 3

Parmetro intrnseco Descripcin del parmetro

fx , fy Distancia focal efectiva en el modelo de cma-


ra estenopica, que equivale a la distancia del
origen de coordenadas de la cmara al plano
de la imagen.
s Factor de skew
Cx , Cy Coordenadas (en pxeles) del centro de distor-
sin radial de la imagen.

Tabla 3: Definicin de parmetros intrnsecos

Asociada a estos parmetros, se define la matriz K, tal que:


fx s cx

K=
0 fy cy
(16)
0 0 1
A continuacin se realiza algunas generalizaciones con respecto a
esta matriz:
34 algoritmos de mapeado 3d

1. El factor skew es cero.

2. Los pxeles son cuadrados fx = fy .

3. El punto principal (Cx , Cy ) es conocido y suele coincidir con el


centro de la imagen.

Existen parmetros intrnsecos no lineales como las distorsiones de


lente que no son contempladas por este tipo de modelo de cmara.
Sin embargo existen muchos algoritmos de calibracin para calcular
cada uno de estos parmetros, entre los ms famosos se encuentra el
algoritmo de Tsai [16]

5.2.4 Mapas 3D

Prosiguiendo con el modelo de caja negra, a continuacin se detallan


los principales outputs o salidas del sistema de generacin de mapas
3D:

Mapa 3D disperso: En una primera etapa, se reconstruye la es-


tructura a partir del establecimiento de correspondencias entre
imagenes. Debido a que los detectores de caracteristicas detec-
tan un nmero pequeo de puntos en comn, el mapa obtenido
es un mapa disperso. La densidad del mapa suele rondar el mi-
lln de puntos 3D y el formato ms usado es el .ply

Mapa 3D denso: Posteriormente, se utiliza la estructura anterior


como esqueleto para utilizar tcnicas de correlacin 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 y
cuyo formato ms comn es el .obj

Ortomosaico: Una vez tenemos el mapa 3D denso, se realiza


una vista ortogonal del mismo para la creacin de un ortomo-
saico geo-referenciado. Los formatos ms comunes son el .TIFF
y el .GEOTIFF debido a la posibilidad de incluir metadatos de
geolocalizacin, para su posterior procesado en programas soft-
ware GIS tales como arcGIS o similares.

Ficheros KML: Por ltimo, se propone tambien la generacin


de los ficheros .KML necesarios para compatibilizar el mapa
con los servicios ofrecidos por Google Earth, lo cual es muy til
para aplicaciones que usen esa plataforma.

En la figura 17 se muestra la diferencia entre un mapa disperso y


uno denso al aplicar los algoritmos de mapeado 3D sobre un dataset
proporcionado por la empresa Elimco.
5.3 mapas 3d dispersos 35

(a) Mapa 3D disperso (b) Mapeado 3D denso.

Figura 17: Diferentes etapas del mapeado 3D

5.3 mapas 3d dispersos

Con carcter general, el planteamiento de la reconstruccin 3D a par-


tir de imgenes debe resolver las siguientes cuestiones:

1. Geometra de la escena (structure): Una vez establecidas corres-


pondencia entre varias imgenes, Cuales son los puntos 3D
correspondientes a esos puntos?

2. Establecimiento de correspondencias (stereo matching): Dado un


punto 2D en una imagen, Cmo se localiza ese punto en las
dems imgenes?.

3. Geometra de la cmara (motion): Una vez establecida la corres-


pondencias entre los diferentes puntos, Cuales son los parme-
tros extrnsecos asociados a cada una de las imgenes?

En ingls, al conjunto de algoritmos que permiten resolver stas


cuestiones se conoce como Structure from Motion (SfM). Esta tcnica
calcula la geometra 3D a partir del flujo ptico o movimiento en 2D.
En el caso de la toma de imgenes areas se asumir que la escena es
esttica y es la cmara 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 imgenes con el
objetivo de obtener esas coordenadas 3D mediante una serie de algo-
ritmos de triangulacin. Finalmente, una vez obtenida la estructura
se somete el modelo 3D a un proceso de optimizacin, minimizan-
do lo que se conoce como el error de reproyeccin. En las siguientes
secciones se realizar un anlisis ms a fondo de estos conceptos.

5.3.1 Detectores de caractersticas

En visin artificial la deteccin de caractersticas o feature detection


hace referencia a los mtodos que calculan puntos caractersticos de
36 algoritmos de mapeado 3d

Figura 18: Esquema general de generacin de mapas dispersos (Structure from Motion).

una imagen para resolver cierto problema. Estos rasgos o features en


la imagen pueden tratarse de puntos aislados, curvas o regiones co-
nectadas.

La deteccin de caractersticas puede verse como una operacin de


bajo nivel, ya que se examina cada pxel en busca de un determinado
patrn. Normalmente este bloque suele ser el primero en una cadena
de procesado mayor, por lo que la bondad del algoritmo completo
suele depender en parte de estos detectores.

Debido a que muchos algoritmos de visin artificial empiezan con


una extraccin de caractersticas, existen varios operadores como Canny,
Sobel o el detector de esquinas de Harris. Sin embargo, para la gene-
racin de un modelo 3D disperso, se necesita la mayor cantidad de
caractersticas posible adems de que el detector sea capaz de identi-
ficar caractersticas ante cambios de escala y rotacin, pues se proce-
sarn imgenes desde diferentes ngulos.

Con el objetivo de elegir el mejor descriptor de caractersticas, se


presenta a continuacin 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 caractersticas.

5.3.1.1 Test de rotacin


En este test se ha rotado la imagen original 360 con respecto a su
centro con el objetivo de ver la dependencia de la extraccin de carac-
tersticas con la rotacin. Como se puede observar, todos los descrip-
tores escogidos son invariantes a rotacin excepto BRIEF, por lo que
se obtienen buenos resultados en general.
5.3 mapas 3d dispersos 37

Figura 19: Prueba de rotacin para extractores de caractersticas

5.3.1.2 Test de escalado

Figura 20: Prueba de escalado para extractores de caractersticas.

Para la realizacin de este test, se ha escalado la imagen original


desde 0.25X hasta 2X con el propsito de ver como actan los descrip-
tores de caractersticas ante cambios de escala. El resultado muestra
como SIFT y SURF poseen una mejor estabilidad debidos a que son
ms costosos computacionalmente hablando.
38 algoritmos de mapeado 3d

Figura 21: Prueba de rendimiento para extractores de caractersticas.

5.3.1.3 Test de rendimiento


La figura 21 muestra el tiempo de extraccin para N caractersticas, el
cual crece de manera lineal teniendo en cuenta la escala logartmica
del eje y.

5.3.1.4 Eleccin del extractor de caractersticas


En conclusin, para obtener un modelo 3D disperso necesitamos es-
tablecer el mayor nmero de correspondencias posibles as como con-
fiar en que estas correspondencias sean invariantes a escalado y ro-
tacin. En nuestro caso, el tiempo de computacin no es un factor
limitante por tanto, la mejor opcin disponible actualmente se basa
en el uso de descriptores SIFT o SURF.

Para finalizar, en la figura 22 se ha realizado una prueba de extrac-


cin de caractersticas utilizando los descriptores SIFT disponibles en
OpenCV, donde se puede apreciar la dependencia del contenido de
la imagen con el nmero de caractersticas detectadas.

5.3.2 Establecimiento de correspondencias

Una vez se han extrado las diferentes caractersticas, debemos reali-


zar un seguimiento de esos puntos en el resto de imgenes captadas.
Por tanto, hay que ordenar el set de imgenes para ver cuales poseen
zonas de solape. La opcin ms fcil sera comparar todas con todas
en busca de puntos en comn, lo cual es extremadamente ineficiente
en datasets de centenares de imgenes de alta resolucin. En vistas a
realizar una comparacin ms eficiente, se proponen dos alternativas:
5.3 mapas 3d dispersos 39

(a) Imagen con mucho detalle,35969 keypoints. (b) Imagen homognea con 4580 keypoints.

Figura 22: Importancia del contenido en imgenes areas

Anlisis geomtrico. Debido a que tenemos el posicionamiento


GPS y la GIA de la cmara, se puede calcular geomtricamente
aquellas imgenes entre las cuales existe cierto solape. Sin em-
bargo, en vuelos donde se realizan varias pasadas, este tipo de
procedimiento puede ser algo tedioso.

Anlisis a baja resolucin. Como vimos en el apartado anterior,


el uso de descriptores SIFT es invariante al escalado y su tiempo
de ejecucin disminuye bastante si reducimos el tamao de la
imagen. La forma de proceder sera realizar una comparacin
de todas las imgenes entre s, haciendo un escalado previo
en torno a 10 veces el tamao original. Aquellas imgenes que
tengan un umbral de caractersticas en comn, se relacionarn
entre s para realizar a posteriori un anlisis a la resolucin real.

Para establecer correspondencias en aquellas imgenes con solape,


se hace uso de descriptores, los cuales generan un vector que caracte-
riza el entorno de vecindad del punto caracterstico antes calculado. A
continuacin se compara cada vector de descriptores buscando la m-
nima distancia entre cada uno de sus elementos. La figura 23 muestra
un ejemplo del uso de este tipo detectores o matchers implementado
en OpenCV:

Uno de los principales problemas del proceso de matching es la


presencia de falsas detecciones o outliers. Con el objetivo de eliminar-
las, se proponen a continuacin una serie de filtros que realizan esta
accin [17]:

5.3.2.1 Filtro de distancia


En el proceso de establecimiento de correspondencias, se seleccionan
para cada caracterstica los dos mejores candidatos en trminos de
distancia entre descriptores. Este filtro propone aceptar aquellas co-
rrespondencias en funcin de la distancia entre esos dos candidatos.
40 algoritmos de mapeado 3d

Figura 23: Resultado del proceso de matching entre dos imgenes areas con-
secutivas.

Si la distancia del mejor candidato es pequea y la del segundo es


muy grande, se acepta con seguridad la eleccin del primero, pues es
claramente la mejor opcin. Recprocamente, si la distancia de ambos
candidatos son del mismo orden de magnitud, existe la posibilidad
de cometer un error si elegimos uno u otro, por lo que se eliminaran
esos puntos.

5.3.2.2 Filtro de simetra


Si tenemos dos imgenes, todo el proceso de establecimiento de co-
rrespondencias se realiza en ambos sentidos con el objetivo de poder
establecer una similitud entre ambos sets de emparejamientos.

Una vez se ha eliminado outliers mediante el test de distancia, se


aplica este filtro con el objetivo de eliminar aquellos puntos que no
cumplan con una determinada regla de simetra. Esta regla consiste
en 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 falsas
detecciones.

5.3.2.3 Filtro basado en la geometra Epipolar


Como ltima etapa se propone un filtrado mediante el uso de las res-
tricciones propuestas por la geometra epipolar. Despus del filtrado
anterior, se deben haber eliminado la mayora de outliers, por lo que
despus de esta ltima etapa, la mayora de los puntos emparejados
sern correctos.

De acuerdo con [18], consideremos dos imgenes consecutivas cap-


tadas por una cmara, 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 proyeccin
5.3 mapas 3d dispersos 41

Figura 24: Definicin de recta epipolar

de la cmara. A la inversa, el punto que observamos desde x puede


estar localizado en cualquier parte de esa linea en el espacio 3D. Esto
implica que si queremos encontrar la correspondencia de un punto
en la otra imagen, es necesario buscar a lo largo de la proyeccin de
esa linea en la segunda imagen. Esta lnea imaginaria se conoce co-
mo lnea epipolar. Se define pues, como una condicin que deben
cumplir dos puntos conjugados de tal forma que el homlogo de un
punto cualquiera debe estar situado sobre la linea epipolar de ese
punto en la otra imagen y viceversa.

Matemticamente, se puede demostrar que la relacin entre un


punto y su correspondiente linea epipolar se puede expresar usan-
do una matriz denominada matriz fundamental o F, de tal manera
que :


0
l1 x
0
l = F y (17)
2
0
l3 1
0 0
Donde (x,y) son los puntos que satisfacen la ecuacin l1 x + l2 y +
0
l3 = 0 (el superndice indica que esta lnea pertenece a la segunda
imagen). 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 clculo de F, es
necesario resolver el siguiente sistema de ecuaciones:

0
x T Fx = 0 (18)
Donde x y x hacen referencia a puntos homlogos (expresados en
coordenadas homogneas) y F es una matriz 3X3. De acuerdo con
42 algoritmos de mapeado 3d

[19] se puede reconstruir unas matrices de traslacin y rotacin rela-


tivas a partir de la matriz fundamental F. Sin embargo, esto lleva a
una ambigedad en la proyeccin, lo que no es deseable ya que el
objetivo de este proyecto es la creacin de mapas georreferenciados
y escalados adecuadamente. Finalmente, la figura 25 recoge el proce-
so de establecimiento de correspondencias y las diferentes etapas de
filtrado.

Figura 25: Resultado del proceso de filtrado de correspondencias

5.3.3 Triangulacin

Se conoce as al proceso de determinar la posicin del punto P en el


espacio fsico, a partir de al menos dos imgenes distintas en las que
se pueda ver el punto, y el conocimiento de la pose de las cmaras
para cada una de las imgenes tal como se muestra en la figura:

Figura 26: Principio de multi-proyeccin

Supongamos pues, que tenemos dos imgenes de las cuales se co-


0
nocen sus matrices de proyeccin P,P y sean {xi xi } los puntos en
5.3 mapas 3d dispersos 43

comn anteriormente calculados y filtrados. Se pretende estimar un


punto 3D que cumpla con esas proyecciones, por tanto:

0 0
x =PX x = PX (19)
Estas ecuaciones pueden combinarse de la forma AX=0 , la cual
es una ecuacin lineal en X. Como se desarrolla en [20], A es de la
forma:


xp3T p1T
3T
xp p2T

A= 0 (20)
3T p 0 1T
xp
0 0
xp 3T p 2T
donde piT son las filas de P. Se tienen 4 ecuaciones con 4 incgnitas
homogneas. Esto es un sistemas de ecuaciones redundante, ya que la
solucin est determinada para un cierto factor de escala. Desde [21]
se propone la implementacin de una solucin iterativa que permite
resolver este sistema de ecuaciones, con el objetivo de reconstruir los
puntos 3D proyectados.

Por ltimo hay que especificar que los resultados obtenidos siem-
pre tendrn un cierto grado de error, debido a que a lo largo del
proceso hay muchos puntos en los que se va perdiendo precisin y
acumulando grados de error. Por ejemplo, estamos situando la pro-
yeccin de X en el plano de imagen exactamente en un pxel, cuando
puede darse en el espacio sub-pxel, o podemos tener errores de co-
rrespondencia que generen modelos no vlidos e introduzcan error
en la estimacin. Una medida geomtrica denominada error de re-
proyeccin cuantifica este error, al medir la distancia entre el punto
original xi y la proyeccin del punto 3D obtenido xR i = Pi X de tal
manera que:



errorrep = xi xR
i
(21)

5.3.4 Bundle Adjustment

Sean n puntos 3D vistos desde M vistas diferentes , xR ij la re-proyeccin


del 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 el
error de reproyeccin total de tal manera que:

n X
X m

min vij xij xR
ij
(22)
aj ,bi
i=1 j=1
44 algoritmos de mapeado 3d

Para conseguir reducir el error de reproyeccin se utiliza un al-


goritmo de minimizacin no lineal robusto que modifica los valores
estimados de los parmetros conjuntamente, o dicho de otra forma,
intenta ajustar el grupo (bundle) de rayos que unen las proyecciones y
los puntos fsicos de tal forma que el error de reproyeccin sea el me-
nor posible. Este mtodo fue creado en el campo de la fotogrametra
durante la dcada de 1950 y ha incrementado su uso en los ltimos
aos gracias a los avances en visin artificial.

Al tratarse de un problema de optimizacin sobre una funcin no


lineal, bundle adjustment hace uso de algoritmos de mnimos cua-
drados. El ms conocido, Levenberg-Marquardt (LM) ha probado ser
uno de las mejores opciones debido a su fcil implementacin y rpi-
da convergencia.Para poder empezar con la optimizacin, LM necesi-
ta un punto de partida, un conjunto de valores para los parmetros y
las mediciones de error para dichos parmetros. A cada iteracin de
LM se calcula un nuevo conjunto de parmetros que reduce el error,
hasta llegar a la solucin ptima, y la modificacin que se produce
entre una iteracin y la siguiente es aquella que minimiza el error en
un cierto grado.

En cuanto a su implementacin, existen herramientas open source


como sba [22] el cual implementa en el lenguaje de programacin C++
una versin dispersa del algoritmo LM especialmente adaptado a re-
construccin 3D. En la figura 27 se ha representado de manera grfica
el error de reproyeccin con el objetivo de ver el efecto de bundle ad-
justment. En 27a el error de reproyeccin era de unos 400 pxeles de
media mientras que en 31b el error disminuye hasta 0,3 pxeles. Cabe
aclarar que el error de reproyeccin es una medida geomtrica, por
lo que no corresponde con medidas de error absolutas.

5.4 mapas 3d densos

Hasta ahora, el procedimiento seguido para la reconstruccin de un


punto 3D aislado ha sido localizar ese punto en las imgenes de las
que disponemos y mediante tcnicas de triangulacin y optimizacin,
calcular su coordenada 3D. Como ya se mencion anteriormente, la
media de puntos emparejados entre dos imgenes suele rondar los
10.000 pxeles en imgenes cuya resolucin ronda los 14 millones de
pxeles. El rendimiento de deteccin 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 haciendo
uso de tcnicas de correlacin. Para ello, se explicar la implementa-
cin sugerida por el IGN francs a travs de su librera open-source
MICMAC
5.4 mapas 3d densos 45

(a) Error de reproyeccin antes de Bundle Adjustment

(b) Error de reproyeccin despus de Bundle Adjustment.

Figura 27: Ejemplo de optimizacin usando Bundle Adjustment. En azul los puntos ini-
ciales. En verde, la reproyeccin del punto

5.4.1 Aproximacin multi-resolucin

MICMAC utiliza una estrategia multi-resolucin que permite mejo-


rar el tiempo de computacin y asegurar que las correspondencias
encontradas en diferentes niveles son similares. Esta estrategia es la
siguiente:

Primero se calcula una pirmide de N imgenes de resolucin


2K K [1 : N]

Se genera un mapa de profundidad a baja resolucin utilizando


la primera etapa de la pirmide.

Si en estamos en el paso k-simo, se utilizar la informacin


generada en la etapa anterior para predecir el mapa de pro-
fundidad de ese nivel, pues los verdaderos puntos homlogos
estarn cercanos en todas las etapas de la pirmide.

La figura 28 muestra el escalado inicial de las imgenes utilizadas


as como el factor de escala usado.
46 algoritmos de mapeado 3d

(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 aproximacin multi-resolucin.

5.4.2 Funcin de energa

El principal objetivo del establecimiento de correspondencias es cal-


cular una funcin Fz con la restriccin de que las imgenes que se
apliquen sean similares (de hecho sern las utilizadas en la aproxima-
cin piramidal).
Sea:

Corr(x, y, Fz (x, y))) > 0 un criterio para medir la similitud en-


tre las diferentes imgenes. Cuando Corr=0 las imgenes son
perfectamente idnticas.

5(Fz ) el gradiente de Fz .
reg

5(Fz ) la norma del gradiente que es usada como un par-
metro de regulacin (penaliza la variacin de Fz ).

Se define la funcin de energa a minimizar como:

ZZ reg

(Fz ) Corr(x, y, Fz (x, y) + 5(Fz ) (23)
5.4 mapas 3d densos 47

Para minimizar esta funcin varios son los algoritmos propuestos


por MICMAC. El primero de ellos trata de buscar el mnimo absoluto,
lo cual es muy ineficiente computacionalmente hablando en proble-
mas de dos dimensiones. Al contrario, el segundo algoritmo se basa
en el clculo un pseudo-ptimo a travs de programacin dinmica.
Este ltimo mtodo tiene la ventaja de ser mucho ms rpido que el
anterior, adems de que puede ser generalizable para problemas de
dos dimensiones.

5.4.3 Coeficiente de correlacin

Como criterio para establecer correspondencias, MICMAC hace uso


del coeficiente de correlacin ZNCC (Zero-mean Normalized Cross
Correlation). Este criterio se adapta bien a la generacin de mapas,
debido a que entre las imgenes existe variacin de intensidad y con-
traste. La correlacin en el punto x = (x, y)T en un entorno de vecin-
dad 4 = (4x , 4y)T se define:

P 0 0
(I(x + i) I(x))(I (x + 4 + i) I (x + 4))
Corrx (4) = P P 0 0 1
( i (I(x + i) I(x))2 i (I (x + 4 + i) I (x + 4)2 ) 2
(24)
0
donde I y I hace referencia al valor medio de la intensidad de la
ventana elegida y centrada en x.

Por ltimo, la figura 29 muestra los mapas de correlacin haciendo


uso de la aproximacin multi-resolucin mencionada anteriormente.

5.4.4 Procesado de la nube de puntos

Una vez tenemos el mapa 3D densificado, es necesario aplicar un


post-procesado a la nube de puntos obtenida con el objetivo de textu-
rizar y dar continuidad al mapa. El principal problema de las tcnicas
de correlacin es que no solucionan el problema de las occluded zones
o zonas oscuras. Este problema est presente debido a la presencia
de zonas homogneas en la imagen las cuales poseen un coeficiente
de correlacin ZNCC bajo. En vistas a obtener un modelo continuo,
se propone a continuacin el uso de tcnicas de interpolacin 3D que
permitir la obtencin de un modelo triangular del mapa 3D.

5.4.4.1 Triangulacin de Delaunay


La triangulacin de Delaunay consiste en la creacin de una red de
tringulos a partir de un set de puntos aislados los cuales cumplen la
condicin de Delaunay.
48 algoritmos de mapeado 3d

(a) Mapa de correlacin escalado 2k k=1. (b) Mapa de correlacin escalado 2k k=3.

(c) Mapa de correlacin escalado 2k k=5. (d) Mapa de correlacin escalado 2k k=7.

Figura 29: Comparativa de diferentes sistemas de captacin de imgenes.

Segn la definicin de Delaunay la circunferencia circunscrita es va-


ca, si no contiene otros vrtices aparte de los tres que la definen. La
condicin de Delaunay dice que una red de tringulos es una triangu-
lacin de Delaunay si todas las circunferencias circunscritas de todos
los tringulos de la red son vacas. Esa es la definicin original pa-
ra espacios bidimensionales. Sin embargo, es posible ampliarla para
espacios tridimensionales usando la esfera circunscrita en vez de la
circunferencia circunscrita.
En la figura 46 se puede observar un ejemplo de triangulacin de
Delaunay

5.4.4.2 Reconstruccin de superficies de Poisson


El algoritmo de reconstruccin de superficies de Poisson es una apro-
ximacin que permite el clculo de superficies como una solucin a
5.4 mapas 3d densos 49

(a) Puntos iniciales. (b) Creacin del mo- (c) Aplicacin de la


delo triangular condicin de De-
launay

Figura 30: Triangulacin de Delaunay.

una ecuacin de Poisson. De acuerdo con [23] primero se calcula el


indicador de funcin de la figura, definido como:


1 ifp M
M (p) = (25)
0 ifp
/M

Adems se sabe que existe una relacin entre los puntos muestrea-
dos de una superficie y el indicador de funcin del modelo. Ms
especficamente, el gradiente del indicador de funcin es un campo
vectorial que es cero en casi todo el modelo excepto en los puntos
cercanos a la superficie, donde es igual a la normal en ese punto.
Entonces, el problema se resume en encontrar una funcin escalar
cuyo gradiente mejor se aproxime al campo vectorial V~ tal que:


~
min 5 V (26)

Aplicando el operador de divergencia, este problema se transforma


en un problema de Poisson:

~ 52 = 5 V
5 (5) = 5 V ~ (27)

Existen varias implementaciones de estos algoritmos aunque la que


se ha hecho uso para este proyecto es la implementacin en la librera
de tratamiento de nubes de puntos PCL [6]. La figura 31muestra el
modelo triangular haciendo uso de la implementacin del algoritmo
de Poisson. Se ha realizado la triangulacin sobre el modelo disperso
con vistas a observar mejor la interpolacin realizada.
50 algoritmos de mapeado 3d

(a) Reconstruccin de superficies de Poisson sobre modelo 3D disperso

(b) Visualizacin octree del mapa 3D.

Figura 31: Ejemplo de tcnicas de reconstruccin de superficies


Parte III

E VA L U A C I N D E L A P R E C I S I N E N M A PA S
3D
DEFINICIN DEL EXPERIMENTO
6
6.1 introduccin

El objetivo de este experimento es evaluar cmo afectan las desvia-


ciones en el sistema de posicionamiento de un UAV en la generacin
de mapas 3D. Para llevar a cabo el experimento, se ha utilizado un
testbed indoor situado en las instalaciones del Centro Avanzado de
Tecnologas Aeroespaciales (CATEC). Este testbed posee un sistema
de posicionamiento con una precisin milimtrica, lo que ha permiti-
do simular unos sensores inerciales ideales. Finalmente, se ha distor-
sionado esta seal haciendo uso de un modelo de ruido de GPS con
el objetivo de simular diferentes calidades en la recepcin de la seal
GPS y as cuantificar cmo afectan estos parmetros a la precisin del
modelo 3D final.

6.2 prdidas de precisin en mapas 3d

Los errores acumulados en la generacin de mapas 3D pueden de-


berse a diversas fuentes, debido a la gran cantidad de algoritmos
que integra. Sin embargo, observando el esquema entrada-salida y
conociendo cmo funcionan dichos algoritmos, las fuentes de errores
pueden clasificarse esencialmente en tres grupos:
Adquisicin de imgenes: Dentro de este grupo entran los pa-
rmetros relativos a calidad de imagen y solapamiento. Como
ya se mencion en el correspondiente captulo, las imgenes de-
ben estar bien definidas y contener las texturas suficientes para
que los detectores de caractersticas puedan generar un modelo
3D disperso adecuado. Por tanto, se deben controlar factores ta-
les como la exposicin de la cmara o el solapamiento existente
entre las imgenes.
Altura de vuelo: La altura de vuelo o AGL est directamente
relacionada con la resolucin por pxel o GSD de las imgenes
captadas. Cuanta ms resolucin contenga las imgenes capta-
das (lo que es equivalente a una AGL baja) ms precisin ten-
dremos a la hora reconstruir los diferentes puntos 3D.
Sistema de posicionamiento: Aparte de las propias imgenes, es
necesario aportar informacin sobre el posicionamiento de stas
en algn sistema de coordenadas con vistas a generar mapas 3D
georreferenciados. Para ello se hace uso de los sensores inercia-
les a bordo del UAV, los cuales suelen ser equipos de bajo coste

53
54 definicin del experimento

y por tanto presentan errores que hay que considerar. Adems,


es necesario una buena sincronizacin durante la asignacin de
una medida de posicionamiento a una imagen, sobre todo en
plataformas areas que viajen a gran velocidad.

A lo largo del experimento, se ha trabajado en un entorno contro-


lado donde se han definido una serie de parmetros con el objetivo
de minimizar los errores producidos por el primer y segundo grupos
anteriormente citados. Por tanto, de aqu en adelante se centrar el
estudio en acotar el error producido por el sistema de posicionamien-
to.

6.3 simulacin de gps

El objetivo principal del experimento consiste en estudiar cmo afec-


tan las desviaciones en los receptores GPS en la generacin de mapas
3D. Con ese objetivo, la siguiente seccin pretende caracterizar el mo-
delo de ruido de un GPS, as como realizar un breve anlisis de las
desviaciones tpicas en los diferentes receptores que existen en la ac-
tualidad.

6.3.1 Errores en receptores de GPS

Los errores de posicionamiento en los GPS estn distribuidos a lo


largo de tres segmentos definidos: el segmento espacial, el segmen-
to de control y el segmento de usuario [24]. Los causas de error en
estos segmentos es muy variada y se debe a sobretodo a tiempos de
propagacin, sincronizacin de rbita y ruido del receptor (ver tabla
4).

Con el objetivo de evaluar el efecto combinado, se crea una medida


de error experimentada por el usuario, denominado User Equivalent
Range Error (UERE). Normalmente, errores provenientes de diferentes
fuentes poseen unas propiedades estadsticas diferentes. Sin embargo,
si se considera una cierta cantidad de tiempo determinado, todas esas
fuentes de error pueden tratarse como la suma de procesos aleatorios
independientes de media cero, combinndose todos esos efectos en
una sola UERE.

Por ultimo, la precisin final en los receptores GPS es una funcin


del UERE y la constelacin de satlites disponible. Normalmente, esta
precisin se divide en precisin horizontal y vertical.

6.3.2 Receptores GPS a simular

Despus de la desactivacin del conocido como selective availability


[25], un receptor de GPS de uso civil puede tener una precisin en
6.3 simulacin de gps 55

segmento fuente de error uere (m)

Estabilidad del reloj del satlite 3.0


Espacio Perturbaciones del satlite 1.0
Otros 0.5 m

Error de efemrides 4.2


Control
Otros 0.5 m

Propagacin en ionosfera 5.0


Propagacin en troposfera 1.5
Espacio Multitrayecto 2.5
Ruido de medida 1.5
Otros 0.5

UERE Total 8.0

Tabla 4: Ejemplo de distribucin de prdidas en un receptor GPS.

torno a unos 15-20 metros, dependiendo del nmero y posicin de


satlites disponibles.

La siguiente mejora en este campo fue el uso de los sistemas Ground


Based Augmentation Systems (GBAS). Estos sistemas usan informacin
proveniente de receptores de referencia situados en tierra, los cuales
calculan correcciones a la informacin proveniente de los satlite, pu-
dindose alcanzar precisiones por debajo del metro. Ejemplos de sis-
temas GBAS son los GPS diferenciales (DGPS), Real-Time Kinematics
(RTK) y Precise Point Positioning (PPP).

(a) Explicacin grfica del efecto.

Figura 32: Ejemplo de funcionamiento de sistema GBAS


56 definicin del experimento

Finalmente aparecieron los sistemas denominados Space Based Aug-


mentation Systems (SBAS) que utilizan un sistema de satlites de refe-
rencias situadas a lo largo de un continente entero. Por tanto, no es
necesario el uso de equipamiento extra en tierra, alcanzando precisio-
nes en torno a 1-3 metros. Los sistemas WAAS en Norte Amrica o
EGNOS en Europa son ejemplos de sistemas SBAS.

En la tabla 5 se recogen los diferentes sistemas anteriormente cita-


dos junto a sus valores tpicos de precisin horizontal y vertical.

nombre precisin horizontal precisin vertical

RTK / PPP 0.1 m 0.3m


WAAS / EGNOS 1m 3m
DGPS 3m 5m
GPS con SA desactivado 5m 15m

Tabla 5: Ejemplos de diferentes receptores GPS junto a sus desviaciones tpicas

6.3.3 Modelo de ruido

De acuerdo a [26] los errores acumulados en el GPS pueden mode-


larse como un proceso de Gauss-Markov de bajo orden, el cual posee
una funcin de correlacin que decae de manera exponencial.

La manera de proceder en la experimentacin ser simular durante


el tiempo de vuelo dos procesos de Gauss-Markov acorde a unas des-
viaciones mximas en la horizontal y vertical correspondientes a los
diferentes receptores GPS. Estas dos desviaciones sern aadidas a
la seal proveniente del sistema de posicionamiento que nos propor-
cionar el testbed obteniendo as nuestra seal GPS simulada. Este
proceso queda plasmado en la figura 33

6.4 experimentos a realizar

Los vuelos de prueba se han realizado en un testbed indoor de una


altura aproximadamente 5 metros lo que limitar el diseo del plan
de vuelo. En vistas a adaptarnos a esta circunstancia, en el captulo
7 se plantea el uso de un escenario con un factor de escala 1:100. Por
tanto se definen dos experimentos por cada receptor GPS a simular
(ver tabla 6):

1. Clculo de la precisin horizontal y vertical: Esta medida se


ha realizado calculando una seal de ruido diferente para ca-
da receptor GPS y generando un mapa 3D a partir de esta in-
formacin. A continuacin se mide la distancia existente entre
6.4 experimentos a realizar 57

Figura 33: Esquema de generacin de proceso aleatorio

diferentes puntos de control y sus homlogos en el modelo 3D


generado.

2. Uso de puntos de control (GCP): En este segundo experimento


se vuelve a proceder de la misma forma que en el punto anterior
salvo que se pretende comprobar como afectan el uso de puntos
de control en tierra para ajustar el mapa 3D resultante

nombre precisin horizontal precisin vertical

RTK / PPP 0.1cm 0.3cm


WAAS / EGNOS 1cm 3cm
DGPS 3cm 5cm
GPS con SA desactivado 5cm 15cm

Tabla 6: Ejemplos de diferentes receptores GPS en el escenario escalado


DISEO DEL EXPERIMENTO
7
7.1 introduccin

Una vez definido el experimento, el presente captulo trata de descri-


bir paso a paso la ejecucin del mismo, haciendo un repaso tanto por
los materiales utilizados como por los parmetros de configuracin.

7.2 localizacin del experimento

Para la realizacin de este experimento se ha utilizado las instala-


ciones del Centro Avanzado de Tecnologas Aeroespaciales (CATEC).
Este centro de investigacin est situado en el Parque Tecnolgico y
Aeronutico de Andaluca en la localidad de La Rinconada, Sevilla.

CATEC es un centro tecnolgico que desarrolla su actividad en ba-


se a nuevas tecnologas y proyectos de I+D+i siendo el trabajo con ae-
ronaves no tripuladas una de sus principales lineas de investigacin.
Este hecho ha permitido que gracias a sus instalaciones y recursos,
sea el lugar idneo donde llevar a cabo este tipo de experimentos.

El desarrollo del experimento se llev acabo en un testbed indoor


utilizado para la experimentacin con quadrotors. Este testbed est
formado por un volumen de 14x14x5 metros el cual cuenta con un
sistema de posicionamiento formado por 20 cmaras VICON.

Figura 34: Testbed indoor situado en CATEC

59
60 diseo del experimento

7.3 material utilizado

A la hora de realizar un vuelo de mapeado 3D, es necesario desa-


rrollar una serie de herramientas tanto software como hardware. A
continuacin se presenta el material utilizado para la ejecucin de los
experimentos:

7.3.1 UAV

El sistema areo no tripulado elegido para realizar el vuelo indoor


ha sido el que se muestra en la figura 35. Denominado Pelican, este
UAV de la empresa AscTec ha sido diseado de manera que se opti-
mizen aspectos de potencia y carga de pago, pudiendo portar hasta
650 gramos de peso.

En cuanto al microprocesador, se ha actualizado la versin de Ubun-


tu que vena de fbrica, hasta tener la versin Ubuntu server 11.4, con
el objetivo de tener una versin ms estable y compatible con el desa-
rrollo que se llevaba a cabo en otros ordenadores.

Figura 35: Quadrotor utilizado para el experimento

7.3.2 Cmara

La cmara fotogrfica utilizada ha sido la Canon G10 Powershot, cu-


yas especificaciones ms relevantes se recogen en la tabla 7

En cuanto a la programacin de la cmara, se ha hecho uso de las


libreras libgphoto2 [27], las cuales permiten controlar de forma remo-
ta y configurar la cmara mediante el USB. La cmara va conectada
por USB al UAV y a travs de una conexin TCP con un servidor
instalado en el quadrotor, se ha desarrollado un software especifico
de telecontrol. As, como muestra la figura 36, podemos configurar
7.3 material utilizado 61

caracterstica descripcin

1/1.7 tipo CCD


Sensor
14.7 Megapxeles

28-140 mm
Lentes 5x zoom ptico
F2.8-4.5

Peso 350 gramos

Tamao imgenes 4416x3312 pxeles

Velocidad de obturacin 15-1/4000 sec

Tabla 7: Caractersticas de la cmara usada

parmetros en tiempo real adems de descargar las imgenes para


comprobar que los parmetros configurados son los adecuados.

(a) Panel de configuracin de parmetros de la (b) Panel de descarga de imgenes desde la c-


cmara. mara.

Figura 36: Software de telecontrol de la cmara

7.3.3 Sistema de posicionamiento VICON

La idea original del experimento es sustituir el receptor GPS que po-


seen los UAVs por un sistema de posicionamiento ms preciso. Para
ello, se va a utilizar el sistema VICON situado en el testbed indoor
de CATEC. Este sistema es capaz de calcular el tiempo real (100Hz
de tasa de refresco) la posicin y la actitud de cualquier objeto mvil
que se encuentre en el volumen contenido por el testbed. En la figu-
ra 37 podemos ver un ejemplo de cmaras VICON y los marcadores
utilizados para el seguimiento dentro del volumen.
62 diseo del experimento

(a) Cmara usada con marcadores de VI- (b) Cmaras VICON para
CON el rastreo de la cmara

Figura 37: Sistema VICON de posicionamiento.

7.3.4 PIX4UAV

Durante la elaboracin de este proyecto fin de carrera, se ha desarro-


llado el software necesario para la generacin de mapas 3D dispersos,
utilizando las libreras OpenCV y PCL. Adems se ha estudiado la
densificacin de estos mapas a travs de las libreras MICMAC. Sin
embargo, con el objetivo de evaluar la precisin final de los mapas 3D
generados, se va a hacer uso de una versin trial del software propor-
cionado por la empresa Pix4d, Pix4UAV. El motivo de la eleccin es
buscar la abstraccin de la cadena de algoritmos usados y centrar el
esfuerzo en el proceso de adquisicin de datos. Por otra parte, Pix4d
es la empresa a la vanguardia en la creacin de mapas 3D, por lo
que comprobar la precisin usando sus productos permite dar ms
verosimilitud a los resultados obtenidos.

7.4 parmetros de configuracin

A continuacin se exponen los diferentes parmetros de configura-


cin necesarios antes de cualquier vuelo de mapeado 3D. Para tal fin
se seguir el esquema presentado en el captulo 4.

7.4.1 Parmetros de vuelo

Debido a las limitaciones de espacio (ya que el vuelo se har en in-


teriores), se ha montado un escenario escalado con respecto a una
situacin real. El factor de escala escogido es de 1:100, lo cual es acor-
de a las dimensiones del testbed. Hay que disear por tanto, la altura
de vuelo y el flight planning acorde a una determinada GSD. Procede-
mos por partes:
7.4 parmetros de configuracin 63

1. Definicin de una GSD objetivo: En un vuelo de mapeado


3D normal, los valores tpicos de GSD rondan los 4-5 cm/pxel.
En nuestro caso, escogeremos una GSD de 2 cm/pixel, lo que
en el escenario escalado, correspondera con una GSD de 0.2
mm/pixel. En la eleccin del parmetro de escalado ha influido
el campo de visin de la cmara, ya que si se hubiera escogido
un factor 1:10, el escenario a montar sera demasiado grande.

2. Altura de vuelo: La altura de vuelo vendr dada por la frmula:

fd 6,34823 mm 0,2 mm/pixel 4416 pixel


h= = = 755,95 mm
Sw 7,4168 mm
(28)

Donde los parmetros relativos al tamao del sensor y la distan-


cia focal se han tomado del catlogo de la cmara. En conclusin
es necesario volar en torno a un metro de altura. Esta medida es
razonable si la comparamos con una situacin real en el que el
quadrotor puede volar en torno a 80-100 metros para conseguir
una GSD en torno al centmetro.

3. Clculo de la GIA: La GIA o superficie de visin de la cmara


vendr determinada por:

(GIAx , GIAy ) = (gx rx , gy ry ) = (883,2 662,4)(mm, mm) (29)

Lo que quiere decir que, una imagen tomada a esa altura cubre
una superficie aproximadamente de 0,5 m2 . El escenario pro-
puesto tiene unas medidas de 2 metros por 1 metro. Se ha li-
mitado el tamao del escenario con el objetivo de asegurar un
solape suficiente.

4. Diseo de un plan de vuelo: Para asegurar un solape en torno a


un 60-70 %, se van a realizar fotografas cada 10 cm configuran-
do para ello tanto la velocidad del UAV como la frecuencia de
captura de imgenes. A la hora de elegir el plan de vuelo, se ha
optado por la opcin de mallado en zigzag, tal como indica la
figura 42a donde adems se ha realizado una vuelta alrededor
del escenario en forma de circunferencia.

7.4.2 Parmetros de la cmara

En cuanto a los parmetros de la cmara, se ha optado por utilizar


una configuracin similar a la propuesta en el captulo 3. Debido a
que se tenan buenas condiciones lumnicas, se ha configurado la ve-
locidad ISO al mnimo en vistas a reducir el ruido en la imagen. La
64 diseo del experimento

velocidad de obturacin debe configurarse acorde a la velocidad del


quadrotor, para mantener la lente abierta el tiempo necesario para
captar la imagen sin desenfocarla. En nuestro caso, se configur la
velocidad de obturacin a 1/200 segundos. Finalmente, se ha hecho
uso del modo TV de cmara, la cual permite que la cmara ajuste
automticamente la apertura de la lente acorde a los parmetros an-
teriormente configurados.

7.5 realizacin del experimento

Los experimentos realizados consistieron en la construccin de un


escenario escalado y la adquisicin tanto de imgenes como de infor-
macin relativa al posicionamiento de las mismas dentro del sistema
de coordenadas del testbed. Se realizaron varios vuelos hasta con-
seguir el dataset que utilizaramos como prueba. A continuacin se
describen las tareas realizadas durante el experimento

7.5.1 Generacin ruido de GPS

Como se coment en el captulo anterior, se modelar el ruido prove-


niente de los receptores GPS como un proceso aleatorio de bajo orden
de Gauss-Markov. La generacin del ruido as como el procesado con
los datos originales se hizo en Matlab. Por tanto, se procesar el log
de datos de VICON con el objetivo de simular diferentes tipos de re-
ceptores GPS. El bloque de Simulink que genera el proceso aleatorio
se muestra en la figura 38:

Figura 38: Modelo Simulink para generacin de proceso aleatorio.

Los parmetros necesarios para generar el ruido se explican a con-


tinuacin:

Posicin inicial: La idea es generar un ruido con media cero, por


lo que la posicin inicial sera nula.

Varianza eje horizontal: Aqu se introducir la varianza que se


pretende simular. De acuerdo con la tabla del captulo anterior,
7.5 realizacin del experimento 65

se simularn 4 tipos diferentes de receptores GPS dependien-


do de la precisin que posean. En nuestro caso, este valor se
dividir entre el factor de escala que poseemos (1:100).

Varianza eje vertical: Cumple la misma funcionalidad del par-


metro anterior pero aplicada a la componente Z del sistema de
posicionamiento.

Tiempo de generacin de ruido: Se generar un ruido acorde al


tiempo de vuelo usado para la adquisicin de las imgenes.

La perturbacin de la seal de posicionamiento original se realizar


de la siguiente manera: una vez generado el ruido aditivo tanto para
X,Y como Z se muestrea este ruido justo en el instante de adquisicin
de cada imagen obteniendo un valor que ser el utilizado para distor-
sionar la seal. Este proceso se muestra en la siguiente figura, donde
se simul durante 180 segundos de vuelo el ruido en un receptor GPS
con una desviacin de 3 metros en la horizontal y 5 en la vertical.

Figura 39: Muestreo del proceso aleatorio de Gauss-Markov.

7.5.2 Asignacin imgenes-datos GPS

Como ya se ha comentado, es necesario asignar una medida de posi-


cionamiento a cada imagen. Para ello, VICON proporciona una API
en C++ que permite la interaccin con las cmaras situadas en el
testbed para obtener el posicionamiento y ngulos de navegacin de
unos determinados objetos previamente definidos. Se han colocado
marcadores de VICON en la cmara (ver figura 37a), definiendo el
centro de la lente, donde se forma la imagen.

El algoritmo de asignacin imgenes-posicionamiento es el siguien-


te: se generan dos procesos en el microprocesador del UAV correspon-
dientes al programa que controla la cmara y al programa que lee la
posicin de la misma. En ambos programas se genera un log donde
66 diseo del experimento

se coloca una marca de tiempo por cada dato e imagen obtenidos. A


continuacin, se asignar a cada imagen la marca de posicionamien-
to ms cercana en tiempo. Esto es factible debido a que la marca de
tiempo est relacionada con el reloj del procesador, el cual tiene una
precisin de centsimas de segundo.

7.5.3 Generacin de mapas 3D

El dataset obtenido del experimento est formado por 105 imgenes


con sus respectivos datos de posicionamiento. Se crearon 4 logs modi-
ficados uno por cada receptor GPS a simular. Para la generacin del
mapa 3D se hizo uso de la aplicacin Pix4UAV. De uso sencillo, los
pasos seguidos para obtener el mapa final fueron:
1. Creacin de un nuevo proyecto: Desde File->New Project pode-
mos crear un nuevo proyecto donde se nos pide que introduz-
camos tanto las imgenes como los datos de posicionamiento.
2. Creacin de mapa disperso: Una vez configurado unos modos
de ejecucin sencillos, se pulsa la opcin Local processing el
cual ejecuta el establecimiento de correspondencias y bundle
adjustment obteniendo un modelo 3D disperso.
3. Densificacin del modelo final: Cuando termina el paso anterior,
se genera un informe automtico en PDF indicando los resulta-
dos obtenidos en cuanto a caractersticas detectadas, error de
reproyeccin etc.. y automticamente empieza la etapa de den-
sificacin, hasta obtener el resultado final.

7.5.4 Evaluacin precisin

Para medir la precisin del modelo 3D se repartieron 18 marcadores


de VICON a lo largo del escenario. La colocacin de estos marca-
dores se ha llevado acabo tal como recomienda [28] el cual sugiere
distribuirlos de manera uniforme y distanciarlos una cantidad apro-
ximadamente equivalente al 10 % de la diagonal de la zona a evaluar.
La figura 40 refleja esta distribucin.

v
u n
u1 X 
HOR =t X2i + Yi2 (30)
n
i=1

v
u n
u1 X 
VER =t Z2i (31)
n
i=1

La estadstica elegida para medir la precisin es la raz cuadrada


del error cuadrtico medio (ver ecuacin 30 y 31), donde se ha divido
7.5 realizacin del experimento 67

(a) Distribucin homognea (b) Distancia mnima nece-


de puntos de control saria de separacin

Figura 40: Colocacin de puntos de control.

la precisin en horizontal y vertical tal y como recomienda la fuente


anteriormente citada. En estas ecuaciones, n=18 y {Xi , Yi , Zi } ha-
ce referencia a la diferencia en valor absoluto entre el punto real y el
mismo punto en el modelo 3D.

Por ltimo y a modo de resumen, se presenta a continuacin un


esquema general del experimento realizado, donde GTP o Ground
Truth Point hace referencia a los puntos proporcionados por el siste-
ma VICON:

Figura 41: Esquema general del experimento


68 diseo del experimento

7.5.5 Uso de Ground Control Points

Los puntos de control en tierra o Ground Control Points (GCP) son un


mtodo alternativo de referenciar el mapa 3D a partir de puntos de
los cuales se conocen previamente su localizacin.En una situacin
real, se colocaran receptores GPS en tierra en unos determinados
puntos estratgicos para despus ajustar el mapa 3D generado a esos
puntos.

El uso de GCPs se propone como una alternativa a la integracin


de un GPS de alta calidad en el UAV. Segn [29] se puede tener un re-
ceptor GPS de baja calidad y obtener un buen resultado si se conocen
algunos puntos de control en tierra. En vistas a confirmar esta teora,
se propone un segundo experimento utilizando 5 marcadores de VI-
CON como GCPs (ver figura 42b) y volviendo a calcular la precisin
para los diferentes modelos de receptores GPS.

(a) Plan de vuelo sin GCPs (b) Colocacin de GCPs

Figura 42: Plan de vuelo utilizado para el experimento.


R E S U LTA D O S
8
8.1 introduccin

Este ltimo captulo pretende recopilar los resultados y conclusiones


obtenidos a lo largo del experimento. En teora, se espera que tanto
la precisin horizontal como la vertical disminuya considerablemen-
te a medida que aumenta el error en el sistema de posicionamiento.
Asimismo, se espera comprobar cmo afecta el uso de GCPs en el
mapa 3D final y ver cal es el tipo de dependencia que tiene con la
precisin del GPS utilizado.

8.2 experimento 1

Figura 43: Resultados de precisin obtenidos al evaluar diferentes receptores GPS

La figura 43 muestra el resultado obtenido al medir la precisin


sobre 18 puntos uniformemente distribuidos a lo largo del escenario.
Para cada receptor GPS se han calculado tanto la precisin horizon-
tal como la vertical, expresndolas en milmetros debido al factor de
escala del experimento. Se puede observar una tendencia casi expo-
nencial a medida que aumenta la deriva del GPS. La deriva en la
vertical suele ser mayor que en la horizontal debido a la precisin
original de los receptores GPS. Sin embargo, en nuestro experimen-
to, el dato relativo al receptor GPS WAAS/EGNOS no cumple esta
relacin. Este efecto lo atribuimos al carcter aleatorio del ruido, as
como a una prdida de precisin en el propio proceso de medida, la
cual se ha estimado en torno a 1 mm.

69
70 resultados

8.3 experimento 2

Figura 44: Resultados de precisin obtenidos haciendo uso de 5 GCPs

La dependencia de la precisin tanto horizontal como vertical con


el uso de GCPs se muestra en la figura 44. Atendiendo a los resul-
tados, el error final tiende a una distribucin uniforme sin depender
prcticamente de la calidad del GPS. De nuevo existe cierto error en
la medida, ya que sta se realiza de forma manual y, en este caso, los
puntos homlogos estaban muy cercanos en el espacio.

8.4 conclusiones

Existen muchas publicaciones analizando el efecto de los diferentes


parmetros que afectan a la reconstruccin de mapas 3D [29]. Sin
embargo, no se ha encontrado ningn estudio que calcule la depen-
dencia de la precisin final con el sistema de posicionamiento GPS.
Como se ha demostrado en el primer experimento, existe una fuerte
relacin entre la precisin del mapa 3D con la calidad del receptor
GPS utilizado.

Como alternativa al uso de un GPS de altas prestaciones, se propo-


ne utilizar puntos de control en tierra o GCPs. Estos puntos permiten
adaptar el resultado final acorde a una serie de medidas provenientes
de receptores GPS colocados en tierra. Si se observa la figura 44, se
puede comprobar como la dependencia de la precisin con los dife-
rentes receptores GPS es casi nula, pues en todos los casos tiende a
una distribucin similar. Por tanto, una estrategia a la hora de realizar
un vuelo de mapeado 3D sera utilizar un GPS de bajas prestaciones y
colocar GCPs a lo largo del escenario. Como inconveniente, no siem-
pre va a ser posible colocar estos puntos de control debido al tipo
de terreno o la accesibilidad al mismo, en cuyo caso la precisin del
8.4 conclusiones 71

modelo final depende solamente del sistema de posicionamiento del


UAV.

Finalmente se proponen otro tipo de experimentos con el objetivo


de medir la precisin de mapas 3D de una manera ms detallada :

Dependencia con la GSD: Uno de los parmetros que ms in-


fluye a la hora de la generacin de modelos 3D es la resolucin
por pxel o GSD. En nuestro caso, hemos supuesto una GSD fi-
ja, a partir de la cual se ha calculado una determinada altura de
vuelo. Se propone pues, realizar vuelos a varias alturas con el
propsito de estudiar la dependencia de la precisin del mapa
3D con la altura de vuelo

Comparacin con un Ground Truth: Este experimento consisti-


ra en la generacin de un mapa 3D haciendo uso de un sensor
lser a bordo del UAV. La precisin de este tipo de modelos
suele ser bastante mayor que la de los obtenidos directamente
con imgenes, por lo que podra ser un buen patrn con el que
comparar el mapa 3D. En nuestro caso se ha realizado una es-
timacin utilizando 18 puntos de control mientras que con este
patrn se podra comparar tantos puntos como quisiramos.

Por ltimo la figura 45 presenta el mapa 3D generado a lo largo de


este experimento.

(a) Vista en perspectiva del modelo 3D genereado (b) Mapa de profundidad

Figura 45: Mapa 3D del escenario propuesto.


Parte IV

CONCLUSIONES
CONCLUSIONES Y TRABAJOS FUTUROS
9
La generacin de mapas 3D a partir de imgenes areas es una tecno-
loga que se ha desarrollado sobre todo en la ltima dcada, debido
a la aparicin de sistemas areos no tripulados que han permitido re-
ducir costes con respecto a los sistemas de adquisicin de imgenes
areas utilizados hasta entonces.
Aplicaciones tales como monitorizacin de recursos naturales, ins-
peccin de sitios inaccesibles etc.. hacen de este tipo de tcnicas un
servicio en el que varias empresas estn enfocando sus lineas profe-
sionales. Sin embargo, se trata de un mercado relativamente joven,
por lo que la normativa referente al uso de estos sistemas areos no
tripulados no est del todo definida en algunos pases.
Por otro lado, aparte del sistema de adquisicin de imgenes, es ne-
cesario el desarrollo de un software especfico para la generacin de
dichos de mapas 3D. A lo largo de esta memoria se ha implementado
parte de estos algoritmos, los cuales estn siendo cada vez ms pti-
mos a medida que avanza la tecnologa. Destacar en este aspecto la
integracin, cada vez ms notoria, de las GPU o tarjetas grficas, las
cuales permiten optimizar la velocidad de ejecucin de los diferentes
algoritmos haciendo uso de la programacin en paralelo. Adems,
la evolucin de las cmaras fotogrficas permitirn , en un futuro
no muy lejano , grabar vdeo a gran resolucin, permitiendo extraer
varios frames consecutivos con una calidad similar a las fotografas
actuales, lo que mejorar notablemente los resultados obtenidos con
este tipo de tcnicas.

(a) Programacin en paralelo, GPU (b) Sistema SBAS de mejora de pre-


cisin GPS

Figura 46: Factores de mejora de lo algoritmos de reconstruccin 3D .

75
76 conclusiones y trabajos futuros

En ltima instancia, es muy importante intentar acotar y medir la


precisin obtenidas con estos modelos 3D. Para ello, es necesario mi-
nimizar los errores procedentes tanto de la fase de adquisicin de
imgenes como de los diferentes algoritmos utilizados. En este aspec-
to, los errores relacionados con el posicionamiento (provenientes de
los distintos receptores GPS) estn siendo minimizados con el uso
e implementacin de sistemas SBAS y GBAS, como por ejemplo el
sistema EGNOS desarrollado en Europa.
Con el objetivo de acotar este error, en este proyecto se han desa-
rrollado una serie de experimentos cuyos resultados han sido publi-
cados en un congreso de UAV celebrado en Septiembre de 2013 en la
Universidad de Rostock, Alemania.
Parte V

APNDICES
P U B L I C A C I N D E A R T C U L O E N U AV- G 2 0 1 3
A
EVALUATING THE ACCURACY OF DEM GENERATION ALGORITHMS FROM UAV
IMAGERY

J. J. Ruiza , L. Diaz-Masa , F. Pereza, , A. Viguriaa


a
Center for Advanced Aerospace Technologies (CATEC), Seville, Spain -
(jjruiz.ext, ldiaz, fjperez, aviguria)@catec.aero

Commission ICWG I/5

KEY WORDS: Digital Elevation Model, Unmanned Aerial Vehicle, GPS error

ABSTRACT:

In this work we evaluate how the use of different positioning systems affect the accuracy of Digital Elevation Models (DEMs) gen-
erated from aerial imagery obtained with Unmanned Aerial Vehicles (UAVs). In this domain, state-of-the-art SFM algorithms suffer
from typical errors obtained by INS devices in the position measurements associated to each picture obtained. The deviations from
these measurements to real world positions are about meters. The experiments have been carried out using a small quadrotor in the
indoor testbed of the Center for Advanced Aerospace Technologies (CATEC). This testbed houses a system that is able to track small
markers mounted on the UAV and along the scenario with millimetric precision. This provides very precise position measurements,
to which we can add random noise to simulate errors in different GPS receivers. The results showed that DEM accuracy depends
on the positioning information. Furthermore, the introduction of Ground-Control-Points (GCPs) in the scenario clearly reduces the
georeferencing deviation, even for the less precise GPS receivers.

1 INTRODUCTION them with their positions in the generated 3D model. We define


these markers as Ground-Truth-Points (GTPs).
Unmanned Aerial Vehicles (UAVs) have seen an exponential progress
In the experimentation, we simulate different sorts of GPS by
in the last decades, thanks to their ability to perform complex
adding artificial random deviations to the accurate camera po-
tasks on limited environments. The scientific community has put
sition measurements given by our testbed. The flight planning
great effort on exploiting their potential in applications such as re-
phase, including factors like altitude and image overlapping, is
mote sensing, disaster response, surveillance, search and rescue,
also briefly discussed. Other authors (Strecha et al., 2011) make
atmospheric survey, among others.
use of GCPs to improve the geolocalization accuracy. The final
experiments cover this case and compares both georeferencing
The automatic generation of Digital Elevation Models (DEMs) methods.
has also gained attention in recent years. Several companies and
research groups have achieved remarkable advances in this topic The paper is structured as follows. Section 2 contains a summary
and they provide software packages or web services for the au- of the factors that affect the process of DEM generation using
tomatic generation of these 3D models. The common process- standard Structure from Motion (SFM) algorithms. In section 3,
ing pipeline for the DEM generation depends on several factors we introduce the different GPS devices that were considered in
such as overlapping, flight altitude, camera resolution, etc. The this study, and justify the noise model used for simulating posi-
variation of these parameters affect in the final accuracy of the tioning errors. Section 4 presents the indoor experiments setup
model obtained, and many works (Hudzietz and Saripalli, 2011), and the obtained results. Finally, the conclusions of this work are
(Strecha et al., 2011), (Nagai et al., 2009) have analyzed how exposed in section 5.
each of them affect.

Standard DEM generation algorithms suffer from typical errors 2 SFM PIPELINE
obtained by INS devices, especially in the position measurements
associated to each acquired image. In this work we focus on the The processing pipeline for the generation of DEMs consist of
analysis of how these deviations affect the accuracy of the final the cooperation of several procedures and techniques in which
3D reconstruction. Especially in the case of UAVs, payload and different sensors are involved (Ze-tao et al., 2009). In order to
cost restrictions limit the use of precise equipment, hence posi- understand how they relate each other, a brief discussion about
tioning errors are common. In order to study this effect, we per- them is presented along with a classification of the common vari-
formed the experiments in a controlled environment where high ables that affect the accuracy of the final DEM.
precision information of the UAV position is available. This is
accomplished by using the indoor testbed of the CATEC, which DEM generation from UAV imagery is normally developed within
provides a highly precise and time-synchronized motion capture the framework of a sequential SFM pipelining (Irschara et al.,
system, based on VICON cameras. The tracking system is able to 2012). State-of-art SFM algorithms are usually divided into two
locate small markers with millimetric precision. A small quadro- stages. First, a sparse 3D model is obtained from triangulating
tor was used in the experiments, whose position and attitude could correspondences between images in scene. For this purpose, data
be precisely determined by placing markers on its airframe. Scaled from inertial sensors and camera parameters are necessary to es-
scenarios were configured in our testbed in order to circumvent timate a projection matrix for each image. This information al-
the differences with a real outdoor scenario. Markers were also lows to recover the 3D position from matched points using fea-
used on the simulated scenarios as reference positions to compare ture detectors. After an optimisation step (Manolis and Antonis,

79
80 publicacin de artculo en uav-g2013

2004), dense descriptors are computed and triangulated in order


to increase the spatial resolution of the structure (Ze-tao et al.,
2009). The 3D point cloud is then smoothed and filtered eliminat-
ing noisy data. Finally, dense point cloud is interpolated using a
mesh-grid generator. The complete flowchart of SFM algorithms
is depicted in Fig. 1. In each of these techniques and algorithms,
there exist several factors that can influence the final DEM. Nev-
ertheless, we found that the final accuracy is more affected by
the input data than by the specific algorithms parameters. The
following subsections deal with the most relevant factors that we
have considered in this work.

Figure 2: Example of UAV flight planning. Using a desired over-


lapping and a GSD value, a Ground Imaging Area (GIA) is de-
fined. Grid path is formed linking check points optimally.

2.3 Geotagging information

Geometric information from matched features allow to obtain


projection matrices up to a projective ambiguity. In order to solve
such uncertainty, external Inertial Navigation System (INS) data
is required to locate each image in a reference coordinate system.
Figure 1: Flowchart of SFM algorithms.
Given m images of n fixed 3D points, a 3D point Xj is obtained
from 2D multi-view projections xij through the projection matrix
2.1 Image quality Pi , where i = {1, .., m} and j = {1, .., n}.

It is important to note that the original quality and clarity of the


input images are essential in the output result of SFM algorithms. xij = Pi Xj (1)
A low resolution or blurring effect on them will infer a low num-
ber of matched features between overlapped images. In order
Fig. 3 depicts the general approach for estimating the 3D posi-
to obtain the best image quality possible, the camera parameters
tions from image features.
must be adjusted depending on the scenario and lighting condi-
tions. An equilibrated trade-off between shutter speed and lens
aperture will avoid blurred images, hence preventing the detec-
tion of useless features. A common strategy would be based on
setting an ISO sensibility as low as possible and choose a certain
shutter speed according to flight parameters and lighting.

Environmental factors such as climatic conditions or the own


structural peculiarities of the scene must be also considered for
obtaining useful image data sets (Bosak, 2012). Shadows, flash-
ing lights or water areas might create occlusions in the final 3D
model due to the absence of texture in the images. These occlu-
sions are interpolated in the mesh-grid generation step, accumu-
lating errors during this process.

2.2 Flight planning

Once the camera is properly configured according to the scene, a


flight planning must be designed and carried out. Firstly, a study
of the terrain elements must be performed in order to assert that Figure 3: SFM projection scheme.
the images will contain enough features. The overlapping be-
tween consecutive images is crucial for achieving a good esti- Assuming a pinhole camera model, the projection matrix is esti-
mation of the real 3D positions. A factor of 60-70 % is normally mated with information from inertial measurements and intrinsic
employed. Overlapping directly affects to the number of matched parameters as follows:
features and consequently, the calibration step and the final result
might vary.
Pi = K [R|t] (2)
A general method for designing flight plans is presented in (Hudzi-
etz and Saripalli, 2011), where altitude is defined using the cam- where K is the intrinsic camera matrix, R the rotation matrix
era parameters and the desirable 3D model resolution, expressed and t the translation vector. Since inertial data provides an ini-
as Ground Sample Distance (GSD). Fig. 2 represents a typical tial estimate of extrinsic parameters, errors in INS devices induce
UAV flight path in a grid form. deviations in the 3D points locations.
publicacin de artculo en uav-g2013 81

Furthermore, a good synchronization between the image acqui- Name Horizontal Vertical
sition time and the corresponding INS data sample is required. RTK/PPP 1 dm 3 dm
Even with a poor synchronization, projection matrices are opti- WAAS/EGNOS 1m 3m
mized during the bundle adjustment step using geometric infor- DGPS 3m 5m
mation from images. However, inaccuracies and global shift in GPS with SA deactivated 5m 15 m
positioning sensors directly affect to the final result.
Table 1: Typical accuracy in different GPS receivers

3 GPS SIMULATION
three zero-mean Gauss-Markov processes were simulated and sam-
The main contribution of this work is to study how different GPS pled over the image acquisition timeline.
receivers mounted on-board UAV platforms affect the DEM gen-
As illustrated in the Fig. 4, positioning information from CATEC
eration. In order to isolate the influence of GPS effects, we will
testbed system is distorted by adding a noise process with a cer-
assume that the image acquisition and flight planning issues are
tain standard deviation depending on the GPS device to simulate.
correctly configured. Firstly we present a brief overview of the
The distorted signal is then used to generate the final DEM that
different existing GPS receivers and secondly, the noise model
is compared with GTPs.
adopted for the experimentation will be discussed.

3.1 Errors in GPS

The positioning errors in GPS are distributed along three defined


segments: the space segment, the control segment and the user
segment (Solimeno, 2007). Errors in these segments are caused
by many different sources such as propagation delays, orbit syn-
chronization or receiver noise.

In order to evaluate the combined effects, they are converted into


an equivalent range error experienced by a user, called User Equiv-
alent Range Error (UERE). Commonly, errors from different
sources have different statistical properties. Nonetheless, if suf-
ficiently long time periods are considered, all errors can be as-
sumed as independent zero-mean random processes that can be
combined to form a single UERE. Figure 4: Experiments flowchart

Final accuracy in GPS devices is a function of the UERE and


4 EXPERIMENTATION
the constellation geometry and is usually split into horizontal and
vertical accuracy.
Several experiments have been carried out to test the accuracy of
the generated DEMs. The UAV flights were carried out in the
3.2 GPS receivers under test
indoor testbed at CATEC in Seville, Spain.
After selective availability deactivation (Service, 2011), a stan-
4.1 Indoor aerial testbed
dard GPS receiver for civil use could be located within 15-20
meters, depending on the number and position of available satel-
CATEC facilities count with an indoor multi-vehicle aerial testbed
lites.
that can be used to develop and test different algorithms applied
to multiple aerial platforms. The tests can be conducted in a
The next improvement in this field was the use of Ground Based
15m 15m 5m volume. The testbed has installed an indoor
Augmentation Systems (GBAS). GBAS uses data from reference
localization system based on 20 VICON cameras (see Figure 5)
receivers and calculates corrections to the pseudo ranges for all
that only needs the installation of passive markers on the aerial
visible satellites, allowing to reach a sub-meter accuracy. Exam-
vehicle and along the scenario. This system is able to provide,
ples of GBAS systems are Differental GPS (DGPS), Real-Time
in real-time, the position and attitude of the aerial vehicle with
Kinematics (RTK) and Precise Point Positioning (PPP).
sub-millimetric precision. The sample rate of data acquisition is
Finally, Space Based Augmentation Systems (SBAS) use a net- 100 Hz.
work of reference stations deployed across an entire continent.
No extra equipment is needed since SBAS signal is broadcast by
geostationary satellites able to cover vast areas, with error posi-
tioning around 1-3 meters. WAAS in North America or EGNOS
in Europe are examples of SBAS systems.

Table 1 summarizes the typical GPS receivers accuracy using the


aforementioned techniques.

3.3 Noise model

According to (Minha and Yang, 2008), GPS errors can be mod-


eled as time correlated low-order Gauss-Markov processes, which
have an exponentially decaying correlation. For this purpose, Figure 5: VICON tracking system and indoor testbed in CATEC
82 publicacin de artculo en uav-g2013

4.2 Experiment setup Where {Xi , Yi , Zi } is the Euclidean distance between GTPs
and the matched points in the DEM.
The positions measurements reported by the testbed system re-
place the ones obtained from INS devices for UAV imagery. After
adding the noise signal to these measurements, the input images
and positional data are introduced in a DEM generation pipeline
similar to Fig. 1. For this purpose, the experiments have been
performed using the software Pix4UAV Desktop (Strecha et al.,
2011) that offers an optimized implementation of the algorithms
described above. Finally, accuracy is calculated as the distance
between the real point and the matched point in the 3D model.
Complete flowchart is shown in Fig. 4.

The scale factor between our testbed dimensions and a typical


flight scenario for UAVs is about (1 : 100). Artificial objects
were placed on the scenario to simulate buildings and other struc-
Figure 7: Accuracy of DEMs generated using different GPS re-
tures at a small scale. Table 2 compares several parameters used
ceivers
in the scaled scenario with typical parameters in a mapping flight.
The Fig. 7 shows the results obtained using 18 GTPs distributed
Scaled scenario Real flight evenly along the scaled scenario. Planimetric and vertical accu-
GSD 0.2 mm 1-5 cm racy are expressed in millimeters, which correspond to a decime-
Flight height 80-90 cm 80-100 m ter accuracy in a real scenario. This error model tends to two
GPS sensibility 1 cm 1m exponential distributions, since accuracy rises heavily for GPS
Flight planning grid grid deviation higher than 100 GSD. However, smaller deviation
values present a lower growth of accuracy.
Table 2: Typical horizontal accuracy in different GPS. Note the
(1 : 100) scale factor. After these experiments, 5 GCPs were placed in the scaled sce-
nario in order to compare results. For this purpose, 5 of the 18
GTPs were selected to fix the final DEM. The deviation of the re-
For these experiments, we have used a Pelican quadrotor as aerial
maining 13 GTPs was calculated to analyze DEM accuracy. Final
platform (see Fig. 6), from Ascending Technologies. The plat-
results are presented in Fig. 8, where it is easy to check that the
form has a 500gr payload and up to 15 minutes of autonomy. The
four experiments show a similar final error after applying GCPs
camera used for taking photos was a Canon PowerShot G10.
correction.

Figure 6: Pelican UAV used in experiments


Figure 8: Accuracy of DEMs generated using different GPS re-
4.3 Results ceivers and GCPs

Four different GPS data sets were selected according to Table 1, 5 CONCLUSIONS
and the scale factor of our scenario has a relationship with com-
mon UAV flights of (1 : 100). Both planimetric and elevation There exist several publications analyzing the effect of different
accuracy were tested separately. In order to measure and report parameters of the SFM pipeline on DEM accuracy. However, the
the simulated GPS data quality, the root mean square error statis- precision of position measurements had not yet been deeply con-
tic was computed (Minnesota-Planning, 1999). sidered in this domain. UAV imagery is strongly affected by posi-
tioning errors due to the use of low-cost INS equipment. Experi-
v mentation takes into account common errors of different position-
u n
u1 X ing systems (RTK, GBAS, DGPS and GPS). The results reveal a
P LAN =t (Xi2 + Yi2 ) (3) correlation between the positioning errors and the final DEM ac-
n
i=1 curacy, which rapidly grows with standard GPS receivers. The
indoor testbed at CATEC allowed to acquire very precise infor-
v mation as ground-truth, in order to test the different approaches.
u n Alternatively, using GCPs strongly helps improving the spatial
u1 X
V ER = t (Zi2 ) (4) accuracy. However, placing GCPs might not be always possible,
n depending on the terrain type or accessibility.
i=1
publicacin de artculo en uav-g2013 83

Finally, to achieve a more thorough analysis on DEM accuracy, Minnesota-Planning, 1999. Positional accuracy handbook: Us-
more experiments modifying GSD and flight planning parameters ing the national standard for spatial data accuracy to measure and
are necessary. report geographic data quality. Technical report, Minnesota Plan-
ning Agency.

Nagai, M., T., C., R., S., H., K. and A., A., 2009. Uav-borne
3-d mapping system by multisensor integration. Sensors 47(3),
pp. 701708.

Service, E. G. N. O., 2011. User guide for egnos application


developers. Technical report, European Geostationary Navigation
Overlay Service.

Solimeno, A., 2007. Low-cost ins/gps data fusion with extended


kalman filter for airborne applications. Masters thesis, Universi-
dade Tcnica de Lisboa.

Strecha, C., Van Gool, L. and Fua, P., 2011. The accuracy of au-
tomatic photogrammetric techniques on ultra-light uav imagery.
In: Proceedings of the International Conference on Unmanned
Aerial Vehicle in Geomatics (UAV-g).

Ze-tao, J., Bi-na, Z., Min, W. and Zhong-xiang, C., 2009. A 3d


reconstruction method based on images dense stereo matching.
In: Genetic and Evolutionary Computing, 2009. WGEC 09. 3rd
International Conference on, pp. 319323.

Figure 9: Scaled scenario and DEM generated during experi-


ments

REFERENCES

Bosak, K., 2012. Secrets of uav photomapping. Technical report,


Pteryx.

Hudzietz, B. P. and Saripalli, S., 2011. An experimental evalu-


ation of 3d terrain mapping with an autonomous helicopter. In:
Proceedings of the International Conference on Unmanned Aerial
Vehicle in Geomatics (UAV-g).

Irschara, A., Rumpler, M., Meixner, P., Pock, T. and Bischo, H.,
2012. Efficient and globally optimal multi view dense match-
ing for aerial images. In: ISPRS Annals of the Photogrammetry,
Remote Sensing and Spatial Information Sciences.

Manolis, I. A. L. and Antonis, A. A., 2004. The design and


implementation of a generic sparse bundle adjustment software
package based on the levenberg-marquardt algorithm. Technical
report.

Minha, P. and Yang, G., 2008. Error and performance analysis of


mems-based inertial sensors with a low-cost gps receiver. Sensors
8(4), pp. 22402261.
G E N E R A C I N D E M A PA S 3 D C O N M I C M A C
B
b.1 introduccin

MICMAC es una librera liberada por el Instituto de Geografia Na-


cional Francs (IGN) en 2007. Ofrece tanto el cdigo fuente como di-
ferentes modulos ya compilados y configurables mediantes ficheros
.XML. El objetivo de este apendice consiste en recopilar la informa-
cin bsica para utilizar dicha libreria.

b.2 instalacin y distribucin

Las herramientas proporcionadas por el IGN estn escritas en el len-


guaje de programacin C++. Su distribucin se lleva a cabo en forma
de cdigo fuente que necesita ser compilado. Para descargar los fuen-
tes, hace falta el uso de la herramienta subversion. Una vez instalado,
se ejecuta el siguiente comando:

svn co http://www.micmac.ign.fr/svn/micmac/trunk micmac



En el directorio donde se ha instalado se encontrar un fichero
Readme.txt el cual describe el proceso de instalacin. Adems del
cdigo fuente, existe una serie de ejemplos de uso en otro repositorio
aparte. Para descargarlo, volvemos a hacer uso de subversion:

svn co http://www.micmac.ign.fr/svn/micmac_data/trunk
micmac_data

Durante el proceso de instalacin, se requieren una serie de depen-
dencias a otras librerias o programas, los cuales se pueden obtener a
partir de los repositorios oficiales de Linux:

sudo aptget install x11protocoredev libx11dev




b.3 proceso de generacin de mapas 3d

Una vez instalado MICMAC, se aade la carpeta /bin a la PATH del


sistema con el objetivo de poder realizar llamadas a los binarios com-
pilados de MICMAC de manera directa. A continuacin colocamos
las imgenes en una carpeta y ejecutamos los siguientes comandos:

85
86 generacin de mapas 3d con micmac

b.3.1 Deteccin de caracteristas y establecimiento de correspondencias

El primer paso consiste en la extraccin de las caractersticas en las


imgenes y el establecimiento de correspondencias entre ellas. Para
llevar a cabo esta tarea (ver comando a continuacin), MICMAC hace
uso de descriptores SIFT en todas las imagenes que cumplan con el
patrn *.JPG. El parmetro MulScale hace referencia a un anlisis pre-
vio a baja resolucin, con el propsito de acelerar el proceso. Una vez
establecido que pares de imgenes tiene zonas de solape, se hace un
analisis a resolucin mxima y se filtran las correspondencias hacien-
do uso de la geometra epipolar. Como salida del comando Tapioca,
tendremos en la carpeta donde se encuentran las imgenes una serie
de ficheros que hacen referencia a los puntos en comn.

cd MY_FOLDER
Tapioca MulScale .*.JPG 500 1500


b.3.2 Triangulacin y Bundle Adjustment

En esta segunda etapa, se calcula unas matrices de proyeccin relati-


vas a partir de las correspondencias establecidas entre las imgenes
en el paso anterior. Con estas matrices de proyeccin se triangula y
se ejecuta el proceso de optimizacin de Bundle Adjustment, el cual
permite refinar la posicin de las cmaras y minimizar el error de re-
proyeccin. El parmetro FraserBasic toma un modelo de distorsin
radial de la cmara. El fichero Apero_init.xml contiene informacin
sobre los parmetros configurables durante el paso de bundle adjust-
ment. Por ltimo, el comando AperiCloud permite la generacin de
un fichero .ply donde se recoge el modelo del mapa 3D disperso y
coloca los ficheros relativos a las matrices de proyeccin en la carpeta
Init.

Tapas FraserBasic .*.JPG Out=Init


Apero Apero_Init.xml
AperiCloud .*.JPG Init Out=AperiCloud.ply


b.3.3 Generacin de matrices de Proyeccin

Hasta ahora, hemos generado un mapa disperso utilizando las orien-


taciones relativas sacadas de la informacin proveniente de las im-
genes. El siguiente paso es referenciar nuestro mapa utilizando infor-
macin del GPS. Para ello, MICMAC necesita que se referencie cada
imagen utilizando un sistema de coordenadas cartesiano. Si supone-
mos que las medidas GPS proveniente del UAV vienen en el sistema
de coordenadas WGS84, tenemos dos opciones:
B.3 proceso de generacin de mapas 3d 87

Utilizar una herramienta interna de MICMAC para traducir


esas coordenadas a un sistema cartesiano interno.

Realizar una transformacin previa de coordenadas WGS84 a


coordenadas UTM

Una vez se ha procesado la informacin proveniente del GPS, crea-


mos una carpeta con el nombre Ori-BDDC y editamos un fichero .xml
por cada imagen con el siguiente formato:

fichero: OrientationIMG_XXXX.JPG.xml

<Centre>X Y Z</Centre>

<ParamRotation>
<CodeAngulaire> heading pitch roll</CodeAngulaire>
</ParamRotation>

<ConvOri>
<KnownConv> eConvAngPhotoMDegre </KnownConv>
</ConvOri>

Donde X Y Z hace referencia a la posicin de la imagen en el sis-
tema de referencia y ParamRotation a los ngulos de navegacin. El
ltimo parmetro sirve para especificar cual convenio queremos se-
guir a la hora de construir la matriz de rotacin.
Ya hemos creado una pequea base de datos con la informacin de
posicionamiento real. Para volver a calcular de nuevo las matrices de
proyeccin se ejecuta el siguiente comando, el cual vuelve a lanzar el
proceso de bundle adjustment:

Apero Apero_Geo.xml
AperiCloud .*.JPG Ground Out=AperiCloud.ply


b.3.4 Densificacin de mapa 3D

Lo que se ha realizado hasta ahora ha servido para la generacin de


mapas 3D dispersos. El siguiente paso consiste en densificar ese ma-
pa haciendo uso de tcnicas de correlacin que permitan aumentar la
resolucin espacial del mapa final. Para ello MICMAC necesita gene-
rar una primera aproximacin del ortomosaico as como especificar
una mscara o imagen de referencia sobre ese ortomosaico. Para ello,
ejecutamos:

Tarama .*.JPG Ground


SaisieMasq TA/TA_LeChantier.tif

88 generacin de mapas 3d con micmac

Donde Tarama calcula ese ortomosaico haciendo uso de las orien-


taciones especificadas en el paso anterior y situadas en la carpeta
Ground. Le herramienta SaisieMasq abre una ventana que permite al
usuario seleccionar la mscara donde se quiere realizar la densifica-
cin del mapa 3D. El ltimo paso es invocar al comando MICMAC y
a su fichero de configuracin, el cual realizar el resto del proceso:

MICMAC Micmacorthocloud.xml

E J E M P L O S D E M A PA S 3 D
C
c.1 introduccin

El propsito del siguiente capitulo es la presentacin de los mapas


3D generados durante la duracin del proyecto. Para tal fin, se han
seleccionado tres datasets de diferente naturaleza:

Dataset 1: Proporcionado por la propia empresa Sensefly, como


demo de sus productos. Incluye imgenes originales y logs de
vuelo. Se trata de una cantera situada en Suiza.

Dataset 2: Dataset proporcionado por la empresa ELIMCO que


captur imgenes de unas canteras en la provincia de Sevilla.

Dataset 3: Escenario utilizado para los experimentos realizados


a lo largo de este proyecto. Generados en las instalaciones de
CATEC.

A continuacin se presenta para cada dataset tanto un ejemplo del


ortomosaico, como del mapa de alturas y una vista en perspectiva.
Algunos datasets tienen un link de vdeo disponible si se tiene acceso
a internet.

89
90 ejemplos de mapas 3d

c.2 dataset 1

caracterstica descripcin

85 fotografias
Imgenes
4000 x 3000 pxeles

Canon IXUS 220 HS


Cmara 1/500 segundos
F2.8 apertura
Altura de vuelo 80 m

Link a vdeo http://youtu.be/A25Mkx-a8aw

Tabla 8: Caractersticas de adquisicin del dataset 1

Figura 47: Ortomosaico, mapa de altura y vista en perspectiva del modelo 3D del dataset 1.
C.3 dataset 2 91

c.3 dataset 2

caracterstica descripcin

35 fotografas
Imgenes
4592 x 3056 pxeles

SAMSUNG NX100
Cmara 1/3200 segundos
ISO 200
Altura de vuelo 130 m

Link a vdeo http://youtu.be/sIgbvh_ELa8

Tabla 9: Caractersticas de adquisicin del dataset 2

Figura 48: Ortomosaico, mapa de altura y vista en perspectiva del modelo 3D del dataset 2
92 ejemplos de mapas 3d

c.4 dataset 3

caracterstica descripcin

105 fotografias
Imgenes
4000 x 3000 pxeles

Canon IXUS 220 HS


Cmara 1/200 segundos
Modo TV

Altura de vuelo 1m

Tabla 10: Caractersticas de adquisicin del dataset 3

Figura 49: Ortomosaico, mapa de altura y vista en perspectiva del modelo 3D del dataset 3.
BIBLIOGRAFA

[1] LIN Zongjian. Uav for mapping, low altitude photogrammetric


survey. Technical report, Chinese Academy of Surveying and
Mapping, 2009. Citado en la pgina 3.

[2] Krzysztof Bosak. Secrets of uav photomapping. Technical report,


Pteryx, 2012. Citado en la pgina 8.

[3] Pix4D. Pagina web. [Pgina web]. Citado en las pginas 9, 19


y 25.

[4] Sensefly. Pagina web. http://www.sensefly.com/home.html. Ci-


tado en la pgina 9.

[5] OpenCV. Pagina web oficial. http://opencv.org/. Citado en la


pgina 11.

[6] Point Cloud Library (PCL). Pagina web oficial. http://


pointclouds.org/. Citado en las pginas 11 y 49.

[7] Changchang Wu. Visual Structure From Motion software. Pagina


web. http://homes.cs.washington.edu/~ccwu/vsfm/. Citado
en la pgina 11.

[8] IGN francs. MICMAC. Pagina web. http://www.micmac.ign.


fr/. Citado en la pgina 12.

[9] Bundler. Pagina web. [Pgina web]. Citado en la pgina 12.

[10] Anbal Ollero. Sistemas de Percepcin. 2006. Citado en la pgina


16.

[11] Lu Wang and Ulrich Neumann. A robust approach for automatic


registration of aerial images with untextured aerial lidar data.
Technical report, University of Southern California. Citado en
la pgina 18.

[12] Brance P. Hudzietz and Srikanth Saripalli. An experimental eva-


luation of 3d terrain mapping with an autonomous helicopter.
Technical report, Arizona State University, 2011. Citado en las
pginas 25 y 26.

[13] J. Kruskal. On the shortest spanning subtree of a graph and the


traveling salesman problem. Technical report, Proceedings of the
American Mathematical society, 1956. Citado en la pgina 26.

[14] Gelatt Kirkpatrick, S. Optimization by simulated annealing.


Technical report, 1983. Citado en la pgina 26.

93
94 bibliografa

[15] Bob Palais. A disorienting look at euler theorem on the axis of


a rotation. Technical report, THE MATHEMATICAL ASSOCIA-
TION OF AMERICA, 2009. Citado en las pginas 32 y 36.
[16] Tsai R. A versatile camera calibration technique for highaccuracy
3d machine vision metrology using off-the-shelf tv cameras and
lenses. Technical report, IEEE Journal of Robotics and Automa-
tion, 1987. Citado en la pgina 34.
[17] Ievgen Khvedchenia. Feature descriptor comparison report. [Pgina
web]. Citado en la pgina 39.
[18] S. Torr. Bayesian Model Estimation and Selection for Epipolar Geo-
metry and Generic Manifold Fitting. 2002. Citado en la pgina
40.
[19] Svein Atle F. Arnesen. Structure From Motion in CUDA. 2010.
Citado en la pgina 42.
[20] Richard Hartley and Andrew Zisserman. Multiple View Geometry
in Computer Vision. Cambridge University Press. Citado en la
pgina 43.
[21] Richard I. Hartley and Peter Sturm. Triangulation. Technical
report. Citado en la pgina 43.
[22] Antonis A. Argyros Manolis I. A. Lourakis. Sba: a software pac-
kage for generic sparse bundle adjustment. Technical report,
ACM Transactions on Mathematical Software, 2009. Citado en
la pgina 44.
[23] Michael Kazhdan. Poisson surface reconstruction. Technical re-
port, Johns Hopkins University, 2006. Citado en la pgina 49.
[24] Adriano Solimeno. Low-cost ins/gps data fusion with extended
kalman filter for airborne applications. Masters thesis, Univer-
sidade Tcnica de Lisboa, 2007. Citado en la pgina 54.
[25] European Geostationary Navigation Overlay Service. User guide
for egnos application developers. Technical report, European
Geostationary Navigation Overlay Service, 2011. Citado en la
pgina 54.
[26] Park Minha and Gao Yang. Error and performance analysis of
mems-based inertial sensors with a low-cost gps receiver. Sen-
sors, 8(4):22402261, 2008. Citado en la pgina 56.
[27] Tim Waugh. The Gphoto2 manual. 2009. Citado en la pgina 60.
[28] Minnesota-Planning. Positional accuracy handbook: Using the
national standard for spatial data accuracy to measure and re-
port geographic data quality. Technical report, Minnesota Plan-
ning Agency, 1999. Citado en la pgina 66.
bibliografa 95

[29] C. Strecha, L. Van Gool, and P. Fua. The accuracy of automatic


photogrammetric techniques on ultra-light uav imagery. In Pro-
ceedings of the International Conference on Unmanned Aerial Vehicle
in Geomatics (UAV-g), 2011. Citado en las pginas 68 y 70.
colofn

Este Proyecto Fin de Carrera ha sido compuesta con latex utilizando


la fuente Bera Mono, desarrollada originalmente por Bitstream, Inc.
como Bitstream Vera.
El estilo tipogrfico se ha inspirado en el brillante trabajo de Bring-
hurst presentado en The Elements of Typographic Style. Se puede des-
cargar gratuitamente para LATEX va CTAN como classicthesis.

Вам также может понравиться