Sunteți pe pagina 1din 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 incondicional 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 conociendo 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 aprendido 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.

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
2.4 Servicios de Cloud Computing
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

8
9

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

ndice general

5.3

5.4

5.2.4 Mapas 3D
34
Mapas 3D dispersos
35
5.3.1 Detectores de caractersticas
35
5.3.2 Establecimiento de correspondencias
5.3.3 Triangulacin
42
5.3.4 Bundle Adjustment
43
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

38

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

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

xi

NDICE DE FIGURAS

Figura 1
Figura 2
Figura 3
Figura 4
Figura 5
Figura 6
Figura 7
Figura 8
Figura 9
Figura 10
Figura 11
Figura 12
Figura 13
Figura 14
Figura 15
Figura 16
Figura 17
Figura 18
Figura 19
Figura 20
Figura 21
Figura 22
Figura 23
Figura 24
Figura 25
Figura 26

xii

Adquisicin de imgenes areas para mapeado 3D


3
Proyecto fin de carrera. Universidad de Sevilla.
4
Comparativa de diferentes sistemas de captacin de imgenes.
8
Diferentes servicios de 3D mapping
10
Ejemplos de software open-source
12
Sistema estreo convencional formado por dos
cmaras alineadas.
15
Ejemplo de sistema estreo con una cmara
17
Mapeado 3D con lser e imgenes areas
18
Efecto de rolling shutter
19
Sistema de estabilizacin de la cmara
21
Esquema de diseo de un vuelo para mapeado
3D
23
Clculo de la altura de vuelo
24
Importancia del solapamiento en vuelos de mapeado 3D
26
Ejemplos de diferentes planes de vuelo
27
Modelo de caja negra de la generacin de mapas 3D
29
Correspondencia de angulos de Euler con los
ngulos de navegacin
32
Diferentes etapas del mapeado 3D
35
Esquema general de generacin de mapas dispersos (Structure from Motion).
36
Prueba de rotacin para extractores de caractersticas
37
Prueba de escalado para extractores de caractersticas.
37
Prueba de rendimiento para extractores de caractersticas.
38
Importancia del contenido en imgenes areas
Resultado del proceso de matching entre dos
imgenes areas consecutivas.
40
Definicin de recta epipolar
41
Resultado del proceso de filtrado de correspondencias
42
Principio de multi-proyeccin
42

39

Figura 27

Figura 28
Figura 29
Figura 30
Figura 31
Figura 32
Figura 33
Figura 34
Figura 35
Figura 36
Figura 37
Figura 38
Figura 39
Figura 40
Figura 41
Figura 42
Figura 43
Figura 44
Figura 45
Figura 46
Figura 47
Figura 48
Figura 49

Ejemplo de optimizacin usando Bundle Adjustment. En azul los puntos iniciales. En verde, la reproyeccin del punto
45
Ejemplo de aproximacin multi-resolucin.
46
Comparativa de diferentes sistemas de captacin de imgenes.
48
Triangulacin de Delaunay.
49
Ejemplo de tcnicas de reconstruccin de superficies
50
Ejemplo de funcionamiento de sistema GBAS
55
Esquema de generacin de proceso aleatorio
57
Testbed indoor situado en CATEC
59
Quadrotor utilizado para el experimento
60
Software de telecontrol de la cmara
61
Sistema VICON de posicionamiento.
62
Modelo Simulink para generacin de proceso
aleatorio.
64
Muestreo del proceso aleatorio de Gauss-Markov.
65
Colocacin de puntos de control.
67
Esquema general del experimento
67
Plan de vuelo utilizado para el experimento.
68
Resultados de precisin obtenidos al evaluar
diferentes receptores GPS
69
Resultados de precisin obtenidos haciendo uso
de 5 GCPs
70
Mapa 3D del escenario propuesto.
71
Factores de mejora de lo algoritmos de reconstruccin 3D .
75
Ortomosaico, mapa de altura y vista en perspectiva del modelo 3D del dataset 1.
90
Ortomosaico, mapa de altura y vista en perspectiva del modelo 3D del dataset 2
91
Ortomosaico, mapa de altura y vista en perspectiva del modelo 3D del dataset 3.
92

N D I C E D E TA B L A S

Tabla 1

Tabla 2
Tabla 3

Ejemplos de diferentes modelos de cmaras usados para mapeado 3D. Unidades: peso (gramos), resolucin (megapxeles) , precio(e)
19
Definicin de parmetros extrnsecos
31
Definicin de parmetros intrnsecos
33

xiii

xiv

ndice de tablas

Tabla 4
Tabla 5
Tabla 6
Tabla 7
Tabla 8
Tabla 9
Tabla 10

Ejemplo de distribucin de prdidas en un receptor GPS.


55
Ejemplos de diferentes receptores GPS junto a
sus desviaciones tpicas
56
Ejemplos de diferentes receptores GPS en el escenario escalado
57
Caractersticas de la cmara usada
61
Caractersticas de adquisicin del dataset 1
90
Caractersticas de adquisicin del dataset 2
91
Caractersticas de adquisicin del dataset 3
92

ACRNIMOS

agl

Altitude above Ground Level

bsd

Licencia de software permisiva


Complementary metal-oxide-semiconductor

cmos

Charge-Coupled Device

ccd

Diferential Global Positioning System

dgps

Modelo digital de altura

dem

egnos

European Geostationary Navigation Overlay Service

Ground Based Augmentation Systems

gbas
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
waas

World Geodetic System 84


Wide Area Augmentation System

xv

Parte I
INTRODUCCIN

INTRODUCCIN

1.1

motivacin

Durante los ltimos aos, las tcnicas de mapeado a travs de imgenes areas han sido objeto de gran inters, sobre todo tras la aparicin 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 tripulados. 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 favorables. 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

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 imgenes 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 mapas 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 principales conceptos relacionados con el mapeado 3D. Este tipo de tcnicas 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 diagrama de Gantt correspondiente a las tareas realizadas durante dicho
periodo:

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

1.3 planificacin temporal

DIAGRAMA DE GANTT
2012
MESES:

2013

10 11 12 1

100 % Completado

1 Documentacin inicial
1.1 Estado del arte

100 % Completado

START-TO-START

1.2 Lenguaje C++

100 % Completado

FINISH-TO-START

1.3 OpenCV

100 % Completado

83 % Completado

2 Generacin mapas 3D
2.1 Implementacin inicial

100 % Completado

FINISH-TO-START

2.2 Libreras MICMAC

100 % Completado
FINISH-TO-START

2.3 Optimizacin

50 % Completado

100 % Completado

3 Experimentos realizados
3.1 Diseo del experimento

100 % Completado
FINISH-TO-START

3.2 Experimentos

100 % Completado
FINISH-TO-START

3.3 Redaccin del paper

4 Redaccin del PFC

100 % Completado

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 primeros meses se invirtieron en una puesta en marcha o procedimiento de
setup, en el que la actividad se centr en la bsqueda de documentacin. 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 plasmados en la redaccin tanto de un paper para la conferencia UAVg-2013

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 segmentar 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 introducir 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 experimentos, 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 suplementaria 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.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 tratase 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 fotogrametra y visin artificial haban trabajado de manera independiente
en la reconstruccin de entornos 3D, coincidiendo slo en la resolucin 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 ejemplo, 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 evolucin natural en el tratamiento de imgenes areas, donde se combinaron las prestaciones ms relevantes de la fotogrametra y la visin
artificial. Gracias a ello, se han estado desarrollando herramientas automticas 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.

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


m).

(b) Imagen captada por un UAV (300 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 figura 3a) surge una alternativa a las tcnicas de mapeado que se realizaban hasta entonces, pudiendo realizar vuelos a baja altura con una
mayor resolucin y calidad de imagen. Adems, la integracin de sensores 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

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 trata 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 relativos sobre todo a la privacidad de los algoritmos utilizados, ya que el
cdigo no es accesible por el usuario (se ejecutan en la nube directamente), por lo que el control sobre el resultado final es prcticamente nulo. Adems, es normal por parte de estas empresas el ofrecer
una serie de servicios adicionales, como podra ser atencin al cliente, 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, escuela 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 fotografas areas a travs de su cmara de 12 megapxeles. Equipado 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 liberacin de diferentes herramientas de cdigo abierto. La integracin
de estas herramientas permite abordar problemas ms complejos como es el caso del mapeado 3D cuya dificultad reside en la implementacin de los diferentes algoritmos que necesita.
En contrapartida a los servicios que ofrecen las empresas privadas, 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

los algoritmos utilizados, pudiendo as adaptar y cambiar esos parmetros 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 desarrollada 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 movimiento o aplicaciones de control de procesos donde se requiere reconocimiento 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 reconocimiento de objetos, calibracin de cmaras, visin estreo y reconocimiento de caras.
En lo relativo a reconstruccin 3D, OpenCV ofrece implementaciones de los algoritmos ms utilizados tales como detectores de caractersticas, 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 tratamiento 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 PhotoTourism, predecesor del conocido software de Microsoft Photosynch.
Este software est destinado sobre todo a la reconstruccin de entornos 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

11

12

estado del arte

mapas 3D como por ejemplo, Multicore Bundle Adjustment, o SIFTGPU entre otros.
VisualSFM es por tanto una herramienta de propsito general (ver
figura 5a) que permite la reconstruccin de entornos 3D incluso cuando 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 generacin de mapas 3D.

(a) Ejemplo de uso de VisualSFM.

(b) Mapa de profundidad generado 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 imgenes areas. Desde 2007 en adelante, MICMAC ha ido evolucionando incorporando a sus libreras diferentes mdulos que permiten la
generacin de mapas de profundidad (ver figura 5b) as como la extraccin 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 dificultad para interactuar con la librera, para la cual se necesitan conocimientos 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.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 desarrollo. Por ltimo, una vez elegido el sistema de adquisicin de imgenes, 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 para 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 distancia 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

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

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

z=b

f
0
(xi xd )
0

(1)

(2)

(3)

Del estudio de las ecuaciones anteriores se puede deducir las siguientes 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 intervalo de incertidumbre en la determinacin de z aumenta con la
distancia.
Para un valor fijo de disparidad, la precisin en la determinacin de Z aumenta al separar ms las cmaras. Sin embargo,
cuando esta separacin aumenta, las imgenes son menos similares 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 convencionales no son recomendados en aeronaves pequeas o UAVs. En
contrapartida, se utiliza una tcnica denominada estreo con una cmara o motion stereo, la cual comparte muchas caractersticas con las
tcnicas estreo convencionales.

3.2 sistemas de visin

3.2.2

Sistemas estreo con una sola cmara

Los sistemas esteros que utilizan solo una cmara cubren el caso particular de visin estreo donde los ejes pticos de las cmaras no son
paralelos. Por consiguiente, es necesario determinar la transformacin que existe entre los sistemas de referencias asociado a la cmara
en cada una de las imgenes obtenidas. Por este motivo, la implementacin de este tipo de tcnicas es muy apropiada en aeronaves
pequeas debido a la integracin de sensores inerciales de posicionamiento (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 mapas 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 directa de mapas 3D, los cuales poseen una resolucin espacial bastante
elevada.

17

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 basadas solamente en imgenes areas. Si adems se combina esta informacin con una cmara digital, podemos obtener modelos de elevacin 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 disponibles en el mercado y recomendadas por empresas que ofrecen
servicios de mapeado 3D. Adems, se plantea una configuracin inicial 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 necesidades provenientes de los algoritmos de reconstruccin 3D. Por
tanto, las imgenes tomadas deben cumplir unos requisitos en cuanto 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
Compactas
Compactas DSLR
Cmaras PRO

modelo

peso

resolucin

precio

Canon Ixus 220HS

135

16.1

119.13

Sony RX 100

240

20.2

649

Sony Nex 5/7

270-350

24.3

1273.81

Canon 5D mark ii

>500

22

2469

Hasselblad h5d

>2000

50

20,900

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 este fenmeno viene dada por el modo de lectura del sensor, el cual
realiza un barrido lnea por lnea en vez de realizar una captura general de los fotodiodos, lo que produce un efecto de distorsin en la
imagen final (figura 9b).

(a) Efecto de rolling shutter en imagen en movimiento

(b) Explicacin grfica del efecto.

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 (prcticamente todas las disponibles en el mercado fotogrfico actual), en
modo vdeo producen el mismo efecto. No lo producen al tomar fotografas 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 adecuar 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 sensibilidad es fija y est en torno a 100 ISO. Los ndices ISO superiores
que nos ofrece la cmara digital se logran mediante un amplificado posterior de la seal, lo que conlleva una amplificacin de
la emisin aleatoria del chip.
Velocidad de obturacin: Hace referencia al tiempo de exposicin 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/distancia). Es muy importante en imgenes areas dependiendo de la
velocidad del UAV.
Apertura de la lente: En fotografa, la magnitud de la apertura 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 velocidad 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 mayor 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

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 montura 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 Cardana. 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.

21

DISEO DE UN VUELO DE MAPEADO 3D

4.1

introduccin

El primer paso antes de desarrollar un sistema de generacin de mapas 3D es realizar un estudio de uso de este tipo de tcnicas. Existen
diferentes reas de aplicacin tales como la exploracin de sitios inaccesibles, documentacin arqueolgica, restauracin etc.. para las cuales 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 resultado 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 parmetros 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 tomada 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 aplicacin, la altura de vuelo o Altitude above Ground Level (AGL) es el
segundo parmetro a calcular. La altura a la que tomaremos las imgenes 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 deduce la siguiente relacin:
Figura 12: Clculo de
la altura de
vuelo

h=

fd
Sw

(5)

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
donde :

(6)

4.4 solapamiento

GSD = Ground Sample Distance [cm/pxel]


Imwidth = Ancho de la imagen [pxel]
Si combinamos (5 y 6), obtenemos que:

h=

f Imwdith GSD
Sw 100

(7)

Expresin que relaciona la mxima altura de vuelo desde donde podemos realizar las fotografas para cumplir unos requisitos de resolucin 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 mxima 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 reconstruccin 3D es el path planning o planificacin de la trayectoria. Debido 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 problema 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 Imaging Area (GIA) o superficie total que abarca una imagen:

(GIAx , GIAy ) = (gx rx , gy ry )(m, m)

(8)

25

26

diseo de un vuelo de mapeado 3d

(a) Definicin de solapamiento

(b) Solapamiento requerido en condiciones normales.

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

donde:
rx ,ry = resolucin horizontal y vertical de la cmara (pixels)
gx ,gy = GSD horizontal y vertical deseada (m/pxel)
A continuacin, se divide el rea a mapear en una cantidad finita 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 solapamiento requerido. Para un solapamiento entre un 60 % y un
80 %, se recomienda utilizar un mallado 3 o 4 veces ms pequeo 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. Disear 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

(a) Ejemplo de plan de vuelo en forma de malla

27

(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.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 implementacin 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 reconstruir. Para ello, hay que configurar adecuadamente parmetros de la cmara relacionados con la exposicin o la sensibilidad ISO.
Solapamiento entre imgenes: Como ya se mencion anteriormente, el principio de reconstruccin 3D se basa en el establecimiento de correspondencias entre las imgenes captadas. Para
ello, habr que disear un plan de vuelo acorde a un solapamiento previamente calculado.
Contenido: Para poder establecer esas correspondencias, es necesario 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 homogneas como mares o grandes campos, en los cuales los algoritmos
utilizados fallan.
Resolucin: A ms resolucin, ms caractersticas podremos obtener de una imagen, lo que mejorar considerablemente la resolucin 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 necesita un estudio previo sobre el terreno a mapear, ya que los parmetros 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

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 transformacin 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:

(9)

P = [R|t]
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 coordenadas homogneas para representar la traslacin mediante una matriz 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 :
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 cartesiano. Usualmente, los GPS que se encuentran a bordo de los UAV
obtienen la posicin en coordenadas WGS84, el cual utiliza un sistema de coordenadas esfrico. Ser necesario pues una transformacin
a otro tipo de sistemas cartesianos como por ejemplo UTM.

31

32

algoritmos de mapeado 3d

5.2.2.2

Matriz de rotacin

En matemticas, el teorema de rotacin de Euler [15] dice que cualquier 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 convencionales 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 navegacin

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


las ecuaciones 11, 12 y 13:

cos()

cos()

sen() 0

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

R =

0 sen()
1

sen() 0 cos()

R =
0 cos() sen()
0 sen() cos()

(11)

(12)

(13)

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 imagen unos ngulos de Euler concretos los cuales sern proporcionados
por los sensores inerciales a bordo del UAV.
Parmetros intrnsecos

5.2.3

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 cmara estenopica, que equivale a la distancia del
origen de coordenadas de la cmara al plano
de la imagen.

Factor de skew

Cx , Cy

Coordenadas (en pxeles) del centro de distorsin radial de la imagen.

Tabla 3: Definicin de parmetros intrnsecos

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

fx

K=
0
0

cx

fy cy

(16)

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 estructura a partir del establecimiento de correspondencias entre
imagenes. Debido a que los detectores de caracteristicas detectan un nmero pequeo de puntos en comn, el mapa obtenido
es un mapa disperso. La densidad del mapa suele rondar el milln 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 permitan expandir regiones y densificar el mapa. Obtenemos as mapas 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 ortomosaico 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 software 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

(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 partir de imgenes debe resolver las siguientes cuestiones:
1. Geometra de la escena (structure): Una vez establecidas correspondencia 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 correspondencias entre los diferentes puntos, Cuales son los parmetros 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 dividir 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 algoritmos de triangulacin. Finalmente, una vez obtenida la estructura
se somete el modelo 3D a un proceso de optimizacin, minimizando 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

35

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 conectadas.
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 generacin de un modelo 3D disperso, se necesita la mayor cantidad de
caractersticas posible adems de que el detector sea capaz de identificar caractersticas ante cambios de escala y rotacin, pues se procesarn 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 somete una imagen a diferentes transformaciones para comparar la eficiencia 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 caractersticas con la rotacin. Como se puede observar, todos los descriptores escogidos son invariantes a rotacin excepto BRIEF, por lo que
se obtienen buenos resultados en general.

5.3 mapas 3d dispersos

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 descriptores 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.

37

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 establecer el mayor nmero de correspondencias posibles as como confiar en que estas correspondencias sean invariantes a escalado y rotacin. 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 extraccin 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 realizar 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

(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 embargo, 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 caracteriza el entorno de vecindad del punto caracterstico antes calculado. A
continuacin se compara cada vector de descriptores buscando la mnima 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 eliminarlas, 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 correspondencias en funcin de la distancia entre esos dos candidatos.

39

40

algoritmos de mapeado 3d

Figura 23: Resultado del proceso de matching entre dos imgenes areas consecutivas.

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 correspondencias 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 restricciones 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 captadas 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 puede trazar la linea que une este punto 3D con el centro de proyeccin

5.3 mapas 3d dispersos

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 como 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 usando una matriz denominada matriz fundamental o F, de tal manera
que :


0
l1
x
0

l = F y
2

0
l3
1

(17)

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 sobre 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

41

42

algoritmos de mapeado 3d

[19] se puede reconstruir unas matrices de traslacin y rotacin relativas 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 proceso 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 co0


nocen sus matrices de proyeccin P,P y sean {xi xi } los puntos en

5.3 mapas 3d dispersos

comn anteriormente calculados y filtrados. Se pretende estimar un


punto 3D que cumpla con esas proyecciones, por tanto:
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
3T p 0 1T
xp

(20)

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 siempre 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 proyeccin de X en el plano de imagen exactamente en un pxel, cuando
puede darse en el espacio sub-pxel, o podemos tener errores de correspondencia que generen modelos no vlidos e introduzcan error
en la estimacin. Una medida geomtrica denominada error de reproyeccin 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 contrario. Se define bundle adjustment como el proceso que minimiza el
error de reproyeccin total de tal manera que:

min
aj ,bi

n X
m
X
i=1 j=1





vij xij xR

ij

(22)

43

44

algoritmos de mapeado 3d

Para conseguir reducir el error de reproyeccin se utiliza un algoritmo 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 menor 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 cuadrados. El ms conocido, Levenberg-Marquardt (LM) ha probado ser
uno de las mejores opciones debido a su fcil implementacin y rpida convergencia.Para poder empezar con la optimizacin, LM necesita 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 reconstruccin 3D. En la figura 27 se ha representado de manera grfica
el error de reproyeccin con el objetivo de ver el efecto de bundle adjustment. 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 etapa consiste en expandir esas regiones de correspondencia haciendo
uso de tcnicas de correlacin. Para ello, se explicar la implementacin 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 iniciales. En verde, la reproyeccin del punto

5.4.1

Aproximacin multi-resolucin

MICMAC utiliza una estrategia multi-resolucin que permite mejorar 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 profundidad 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 calcular una funcin Fz con la restriccin de que las imgenes que se
apliquen sean similares (de hecho sern las utilizadas en la aproximacin piramidal).
Sea:
Corr(x, y, Fz (x, y))) > 0 un criterio para medir la similitud entre 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 parmetro de regulacin (penaliza la variacin de Fz ).
Se define la funcin de energa a minimizar como:
ZZ
(Fz )


reg


Corr(x, y, Fz (x, y) + 5(Fz )

(23)

5.4 mapas 3d densos

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 problemas 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 contraste. La correlacin en el punto x = (x, y)T en un entorno de vecindad 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
2 21
2
0

( i (I(x + i) I(x))
i (I (x + 4 + i) I (x + 4) )
(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 texturizar 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.

47

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 vaca, si no contiene otros vrtices aparte de los tres que la definen. La
condicin de Delaunay dice que una red de tringulos es una triangulacin de Delaunay si todas las circunferencias circunscritas de todos
los tringulos de la red son vacas. Esa es la definicin original para 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 aproximacin que permite el clculo de superficies como una solucin a

5.4 mapas 3d densos

(a) Puntos iniciales.

(b) Creacin del modelo triangular

(c) Aplicacin de la
condicin de Delaunay

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:

M (p) =

1 ifp M
0 ifp
/M

(25)

Adems se sabe que existe una relacin entre los puntos muestreados 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
~ tal que:
cuyo gradiente mejor se aproxime al campo vectorial V




~
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.

49

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.1

introduccin

El objetivo de este experimento es evaluar cmo afectan las desviaciones 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 permitido simular unos sensores inerciales ideales. Finalmente, se ha distorsionado 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 deberse 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 parmetros relativos a calidad de imagen y solapamiento. Como
ya se mencion en el correspondiente captulo, las imgenes deben 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 tales 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 captadas (lo que es equivalente a una AGL baja) ms precisin tendremos 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 inerciales 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 controlado 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 posicionamiento.
6.3

simulacin de gps

El objetivo principal del experimento consiste en estudiar cmo afectan las desviaciones en los receptores GPS en la generacin de mapas
3D. Con ese objetivo, la siguiente seccin pretende caracterizar el modelo de ruido de un GPS, as como realizar un breve anlisis de las
desviaciones tpicas en los diferentes receptores que existen en la actualidad.
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 segmento 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

segmento

Espacio

Control

Espacio

UERE

fuente de error

uere (m)

Estabilidad del reloj del satlite

3.0

Perturbaciones del satlite

1.0

Otros

0.5 m

Error de efemrides

4.2

Otros

0.5 m

Propagacin en ionosfera

5.0

Propagacin en troposfera

1.5

Multitrayecto

2.5

Ruido de medida

1.5

Otros

0.5

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, pudindose alcanzar precisiones por debajo del metro. Ejemplos de sistemas 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

55

56

definicin del experimento

Finalmente aparecieron los sistemas denominados Space Based Augmentation Systems (SBAS) que utilizan un sistema de satlites de referencias situadas a lo largo de un continente entero. Por tanto, no es
necesario el uso de equipamiento extra en tierra, alcanzando precisiones 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 citados 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 modelarse 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 desviaciones 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 proporcionar 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 cada receptor GPS y generando un mapa 3D a partir de esta informacin. 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.1

introduccin

Una vez definido el experimento, el presente captulo trata de describir 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 instalaciones 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 base a nuevas tecnologas y proyectos de I+D+i siendo el trabajo con aeronaves 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 desarrollar 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 optimizen aspectos de potencia y carga de pago, pudiendo portar hasta
650 gramos de peso.
En cuanto al microprocesador, se ha actualizado la versin de Ubuntu 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 desarrollo 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, cuyas 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 remota 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

caracterstica
Sensor

61

descripcin
1/1.7 tipo CCD
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


cmara.

(b) Panel de descarga de imgenes desde la cmara.

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 poseen 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 figura 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 VICON

(b) Cmaras VICON para


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 desarrollado 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 proporcionado 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 configuracin 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 interiores), se ha montado un escenario escalado con respecto a una
situacin real. El factor de escala escogido es de 1:100, lo cual es acorde a las dimensiones del testbed. Hay que disear por tanto, la altura
de vuelo y el flight planning acorde a una determinada GSD. Procedemos por partes:

7.4 parmetros de configuracin

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:

h=

fd
6,34823 mm 0,2 mm/pixel 4416 pixel
=
= 755,95 mm
Sw
7,4168 mm
(28)

Donde los parmetros relativos al tamao del sensor y la distancia 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 propuesto tiene unas medidas de 2 metros por 1 metro. Se ha limitado 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 configurando 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 velocidad ISO al mnimo en vistas a reducir el ruido en la imagen. La

63

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 anteriormente 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 informacin relativa al posicionamiento de las mismas dentro del sistema
de coordenadas del testbed. Se realizaron varios vuelos hasta conseguir 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 proveniente 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 receptores 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 continuacin:


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

se simularn 4 tipos diferentes de receptores GPS dependiendo 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 parmetro 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 distorsionar 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 posicionamiento 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 siguiente: se generan dos procesos en el microprocesador del UAV correspondientes al programa que controla la cmara y al programa que lee la
posicin de la misma. En ambos programas se genera un log donde

65

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 posicionamiento 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 modificados 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 podemos crear un nuevo proyecto donde se nos pide que introduzcamos 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 resultados obtenidos en cuanto a caractersticas detectadas, error de
reproyeccin etc.. y automticamente empieza la etapa de densificacin, 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 marcadores se ha llevado acabo tal como recomienda [28] el cual sugiere
distribuirlos de manera uniforme y distanciarlos una cantidad aproximadamente equivalente al 10 % de la diagonal de la zona a evaluar.
La figura 40 refleja esta distribucin.

HOR

v
u n
u1 X

=t
X2i + Yi2
n

(30)

i=1

VER

v
u n
u1 X

=t
Z2i
n

(31)

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

(a) Distribucin homognea


de puntos de control

(b) Distancia mnima necesaria 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 } hace 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 sistema VICON:

Figura 41: Esquema general del experimento

67

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 receptor 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 VICON 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.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 considerablemente 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 horizontal como la vertical, expresndolas en milmetros debido al factor de
escala del experimento. Se puede observar una tendencia casi exponencial 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 experimento, 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 resultados, 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 dependencia 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 propone 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 diferentes 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 siempre 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

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 influye a la hora de la generacin de modelos 3D es la resolucin
por pxel o GSD. En nuestro caso, hemos supuesto una GSD fija, 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 consistira 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 estimacin 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.

71

Parte IV
CONCLUSIONES

CONCLUSIONES Y TRABAJOS FUTUROS

La generacin de mapas 3D a partir de imgenes areas es una tecnologa que se ha desarrollado sobre todo en la ltima dcada, debido
a la aparicin de sistemas areos no tripulados que han permitido reducir costes con respecto a los sistemas de adquisicin de imgenes
areas utilizados hasta entonces.
Aplicaciones tales como monitorizacin de recursos naturales, inspeccin de sitios inaccesibles etc.. hacen de este tipo de tcnicas un
servicio en el que varias empresas estn enfocando sus lineas profesionales. 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 necesario 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 ptimos 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 precisin 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 minimizar los errores procedentes tanto de la fase de adquisicin de
imgenes como de los diferentes algoritmos utilizados. En este aspecto, 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 desarrollado una serie de experimentos cuyos resultados han sido publicados 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

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) generated 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

Unmanned Aerial Vehicles (UAVs) have seen an exponential progress


in the last decades, thanks to their ability to perform complex
tasks on limited environments. The scientific community has put
great effort on exploiting their potential in applications such as remote sensing, disaster response, surveillance, search and rescue,
atmospheric survey, among others.
The automatic generation of Digital Elevation Models (DEMs)
has also gained attention in recent years. Several companies and
research groups have achieved remarkable advances in this topic
and they provide software packages or web services for the automatic generation of these 3D models. The common processing pipeline for the DEM generation depends on several factors
such as overlapping, flight altitude, camera resolution, etc. The
variation of these parameters affect in the final accuracy of the
model obtained, and many works (Hudzietz and Saripalli, 2011),
(Strecha et al., 2011), (Nagai et al., 2009) have analyzed how
each of them affect.
Standard DEM generation algorithms suffer from typical errors
obtained by INS devices, especially in the position measurements
associated to each acquired image. In this work we focus on the
analysis of how these deviations affect the accuracy of the final
3D reconstruction. Especially in the case of UAVs, payload and
cost restrictions limit the use of precise equipment, hence positioning errors are common. In order to study this effect, we performed the experiments in a controlled environment where high
precision information of the UAV position is available. This is
accomplished by using the indoor testbed of the CATEC, which
provides a highly precise and time-synchronized motion capture
system, based on VICON cameras. The tracking system is able to
locate small markers with millimetric precision. A small quadrotor was used in the experiments, whose position and attitude could
be precisely determined by placing markers on its airframe. Scaled
scenarios were configured in our testbed in order to circumvent
the differences with a real outdoor scenario. Markers were also
used on the simulated scenarios as reference positions to compare

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


these markers as Ground-Truth-Points (GTPs).
In the experimentation, we simulate different sorts of GPS by
adding artificial random deviations to the accurate camera position measurements given by our testbed. The flight planning
phase, including factors like altitude and image overlapping, is
also briefly discussed. Other authors (Strecha et al., 2011) make
use of GCPs to improve the geolocalization accuracy. The final
experiments cover this case and compares both georeferencing
methods.
The paper is structured as follows. Section 2 contains a summary
of the factors that affect the process of DEM generation using
standard Structure from Motion (SFM) algorithms. In section 3,
we introduce the different GPS devices that were considered in
this study, and justify the noise model used for simulating positioning errors. Section 4 presents the indoor experiments setup
and the obtained results. Finally, the conclusions of this work are
exposed in section 5.
2

SFM PIPELINE

The processing pipeline for the generation of DEMs consist of


the cooperation of several procedures and techniques in which
different sensors are involved (Ze-tao et al., 2009). In order to
understand how they relate each other, a brief discussion about
them is presented along with a classification of the common variables that affect the accuracy of the final DEM.
DEM generation from UAV imagery is normally developed within
the framework of a sequential SFM pipelining (Irschara et al.,
2012). State-of-art SFM algorithms are usually divided into two
stages. First, a sparse 3D model is obtained from triangulating
correspondences between images in scene. For this purpose, data
from inertial sensors and camera parameters are necessary to estimate a projection matrix for each image. This information allows to recover the 3D position from matched points using feature 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 eliminating 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. Nevertheless, 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 overlapping and a GSD value, a Ground Imaging Area (GIA) is defined. 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.
2.1

Image quality

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


input images are essential in the output result of SFM algorithms.
A low resolution or blurring effect on them will infer a low number of matched features between overlapped images. In order
to obtain the best image quality possible, the camera parameters
must be adjusted depending on the scenario and lighting conditions. An equilibrated trade-off between shutter speed and lens
aperture will avoid blurred images, hence preventing the detection 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.

Given m images of n fixed 3D points, a 3D point Xj is obtained


from 2D multi-view projections xij through the projection matrix
Pi , where i = {1, .., m} and j = {1, .., n}.
xij = Pi Xj

(1)

Fig. 3 depicts the general approach for estimating the 3D positions from image features.

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, flashing lights or water areas might create occlusions in the final 3D
model due to the absence of texture in the images. These occlusions are interpolated in the mesh-grid generation step, accumulating 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
the images will contain enough features. The overlapping between consecutive images is crucial for achieving a good estimation of the real 3D positions. A factor of 60-70 % is normally
employed. Overlapping directly affects to the number of matched
features and consequently, the calibration step and the final result
might vary.
A general method for designing flight plans is presented in (Hudzietz and Saripalli, 2011), where altitude is defined using the camera parameters and the desirable 3D model resolution, expressed
as Ground Sample Distance (GSD). Fig. 2 represents a typical
UAV flight path in a grid form.

Figure 3: SFM projection scheme.


Assuming a pinhole camera model, the projection matrix is estimated with information from inertial measurements and intrinsic
parameters as follows:
Pi = K [R|t]

(2)

where K is the intrinsic camera matrix, R the rotation matrix


and t the translation vector. Since inertial data provides an initial estimate of extrinsic parameters, errors in INS devices induce
deviations in the 3D points locations.

publicacin de artculo en uav-g2013

Name
RTK/PPP
WAAS/EGNOS
DGPS
GPS with SA deactivated

Furthermore, a good synchronization between the image acquisition time and the corresponding INS data sample is required.
Even with a poor synchronization, projection matrices are optimized during the bundle adjustment step using geometric information from images. However, inaccuracies and global shift in
positioning sensors directly affect to the final result.
3

GPS SIMULATION

The main contribution of this work is to study how different GPS


receivers mounted on-board UAV platforms affect the DEM generation. In order to isolate the influence of GPS effects, we will
assume that the image acquisition and flight planning issues are
correctly configured. Firstly we present a brief overview of the
different existing GPS receivers and secondly, the noise model
adopted for the experimentation will be discussed.
3.1

Horizontal
1 dm
1m
3m
5m

81

Vertical
3 dm
3m
5m
15 m

Table 1: Typical accuracy in different GPS receivers


three zero-mean Gauss-Markov processes were simulated and sampled over the image acquisition timeline.
As illustrated in the Fig. 4, positioning information from CATEC
testbed system is distorted by adding a noise process with a certain standard deviation depending on the GPS device to simulate.
The distorted signal is then used to generate the final DEM that
is compared with GTPs.

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 synchronization or receiver noise.
In order to evaluate the combined effects, they are converted into
an equivalent range error experienced by a user, called User Equivalent Range Error (UERE). Commonly, errors from different
sources have different statistical properties. Nonetheless, if sufficiently long time periods are considered, all errors can be assumed as independent zero-mean random processes that can be
combined to form a single UERE.
Final accuracy in GPS devices is a function of the UERE and
the constellation geometry and is usually split into horizontal and
vertical accuracy.
3.2

GPS receivers under test

After selective availability deactivation (Service, 2011), a standard GPS receiver for civil use could be located within 15-20
meters, depending on the number and position of available satellites.
The next improvement in this field was the use of Ground Based
Augmentation Systems (GBAS). GBAS uses data from reference
receivers and calculates corrections to the pseudo ranges for all
visible satellites, allowing to reach a sub-meter accuracy. Examples of GBAS systems are Differental GPS (DGPS), Real-Time
Kinematics (RTK) and Precise Point Positioning (PPP).
Finally, Space Based Augmentation Systems (SBAS) use a network 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 positioning around 1-3 meters. WAAS in North America or EGNOS
in Europe are examples of SBAS systems.

Figure 4: Experiments flowchart


4

EXPERIMENTATION

Several experiments have been carried out to test the accuracy of


the generated DEMs. The UAV flights were carried out in the
indoor testbed at CATEC in Seville, Spain.
4.1

Indoor aerial testbed

CATEC facilities count with an indoor multi-vehicle aerial testbed


that can be used to develop and test different algorithms applied
to multiple aerial platforms. The tests can be conducted in a
15m 15m 5m volume. The testbed has installed an indoor
localization system based on 20 VICON cameras (see Figure 5)
that only needs the installation of passive markers on the aerial
vehicle and along the scenario. This system is able to provide,
in real-time, the position and attitude of the aerial vehicle with
sub-millimetric precision. The sample rate of data acquisition is
100 Hz.

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 modeled 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

4.2

publicacin de artculo en uav-g2013

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 replace 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 structures at a small scale. Table 2 compares several parameters used
in the scaled scenario with typical parameters in a mapping flight.
GSD
Flight height
GPS sensibility
Flight planning

Scaled scenario
0.2 mm
80-90 cm
1 cm
grid

Real flight
1-5 cm
80-100 m
1m
grid

Table 2: Typical horizontal accuracy in different GPS. Note the


(1 : 100) scale factor.
For these experiments, we have used a Pelican quadrotor as aerial
platform (see Fig. 6), from Ascending Technologies. The platform has a 500gr payload and up to 15 minutes of autonomy. The
camera used for taking photos was a Canon PowerShot G10.

Figure 6: Pelican UAV used in experiments


4.3

Four different GPS data sets were selected according to Table 1,


and the scale factor of our scenario has a relationship with common UAV flights of (1 : 100). Both planimetric and elevation
accuracy were tested separately. In order to measure and report
the simulated GPS data quality, the root mean square error statistic was computed (Minnesota-Planning, 1999).

P LAN

(3)

i=1

v
u n
u1 X

V ER = t

i=1

(Zi2 )

The Fig. 7 shows the results obtained using 18 GTPs distributed


evenly along the scaled scenario. Planimetric and vertical accuracy are expressed in millimeters, which correspond to a decimeter accuracy in a real scenario. This error model tends to two
exponential distributions, since accuracy rises heavily for GPS
deviation higher than 100 GSD. However, smaller deviation
values present a lower growth of accuracy.
After these experiments, 5 GCPs were placed in the scaled scenario in order to compare results. For this purpose, 5 of the 18
GTPs were selected to fix the final DEM. The deviation of the remaining 13 GTPs was calculated to analyze DEM accuracy. Final
results are presented in Fig. 8, where it is easy to check that the
four experiments show a similar final error after applying GCPs
correction.

Figure 8: Accuracy of DEMs generated using different GPS receivers and GCPs

Results

v
u n
u1 X
(Xi2 + Yi2 )
=t

Figure 7: Accuracy of DEMs generated using different GPS receivers

(4)

CONCLUSIONS

There exist several publications analyzing the effect of different


parameters of the SFM pipeline on DEM accuracy. However, the
precision of position measurements had not yet been deeply considered in this domain. UAV imagery is strongly affected by positioning errors due to the use of low-cost INS equipment. Experimentation takes into account common errors of different positioning systems (RTK, GBAS, DGPS and GPS). The results reveal a
correlation between the positioning errors and the final DEM accuracy, which rapidly grows with standard GPS receivers. The
indoor testbed at CATEC allowed to acquire very precise information as ground-truth, in order to test the different approaches.
Alternatively, using GCPs strongly helps improving the spatial
accuracy. However, placing GCPs might not be always possible,
depending on the terrain type or accessibility.

publicacin de artculo en uav-g2013

Finally, to achieve a more thorough analysis on DEM accuracy,


more experiments modifying GSD and flight planning parameters
are necessary.

83

Minnesota-Planning, 1999. Positional accuracy handbook: Using the national standard for spatial data accuracy to measure and
report geographic data quality. Technical report, Minnesota Planning 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, Universidade Tcnica de Lisboa.
Strecha, C., Van Gool, L. and Fua, P., 2011. The accuracy of automatic 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 experiments


REFERENCES
Bosak, K., 2012. Secrets of uav photomapping. Technical report,
Pteryx.
Hudzietz, B. P. and Saripalli, S., 2011. An experimental evaluation 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 matching 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.1

introduccin

MICMAC es una librera liberada por el Instituto de Geografia Nacional Francs (IGN) en 2007. Ofrece tanto el cdigo fuente como diferentes modulos ya compilados y configurables mediantes ficheros
.XML. El objetivo de este apendice consiste en recopilar la informacin bsica para utilizar dicha libreria.
b.2

instalacin y distribucin

Las herramientas proporcionadas por el IGN estn escritas en el lenguaje de programacin C++. Su distribucin se lleva a cabo en forma
de cdigo fuente que necesita ser compilado. Para descargar los fuentes, 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 dependencias 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 compilados 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 previo 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 haciendo 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 relativas 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 reproyeccin. 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 adjustment. 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 orientaciones relativas sacadas de la informacin proveniente de las imgenes. El siguiente paso es referenciar nuestro mapa utilizando informacin del GPS. Para ello, MICMAC necesita que se referencie cada
imagen utilizando un sistema de coordenadas cartesiano. Si suponemos 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, creamos 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 sistema de referencia y ParamRotation a los ngulos de navegacin. El
ltimo parmetro sirve para especificar cual convenio queremos seguir 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 mapa haciendo uso de tcnicas de correlacin que permitan aumentar la
resolucin espacial del mapa final. Para ello MICMAC necesita generar 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 orientaciones 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 densificacin 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.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
Imgenes

descripcin
85 fotografias
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

c.3

91

dataset 2

caracterstica
Imgenes

descripcin
35 fotografas
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
Imgenes

descripcin
105 fotografias
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. Citado 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.
pointclouds.org/. Citado en las pginas 11 y 49.

http://

[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 evaluation 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 ASSOCIATION 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 Automation, 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 Geometry 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 package 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 report, 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, Universidade 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. Sensors, 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 report geographic data quality. Technical report, Minnesota Planning Agency, 1999. Citado en la pgina 66.

bibliografa

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


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

95

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 Bringhurst presentado en The Elements of Typographic Style. Se puede descargar gratuitamente para LATEX va CTAN como classicthesis.

S-ar putea să vă placă și