Table Of Content´
INSTITUTO POLITECNICO NACIONAL
´ ´
CENTRO DE INVESTIGACION EN COMPUTACION
Aplicación de redes neuronales para la
identificación de objetos en tiempo real en
imágenes tomadas por un quadrotor.
TESIS
Que para obtener el grado de
MAESTRIA EN CIENCIAS EN INGENIERÍA DE
CÓMPUTO CON OPCIÓN EN SISTEMAS
DIGITALES.
Presenta
Ing. Gerardo Hernández Hernández
Directores
Dr. Juan Humberto Sossa Azuela
Dr. Carlos Aguilar Ibáñez
México, D.F. Noviembre 2014
Resumen
En la presente tesis se proponen e implementan un conjunto de técnicas para la
identificación de objetos (autos y maniquís a escala) en línea, con el fin de analizar
la factibilidad de uso de herramientas como lo son los Quadrotores en tareas de
vigilancia. Para realizar lo anterior, se realiza un estudio comparativo entre
diferentes tipos de clasificadores estadísticos y redes neuronales artificiales.
Las técnicas propuestas hacen uso de le teoría de “puntos de interés”, que permiten
extraer rasgos descriptores, que resultan ser robustos al ruido.
La plataforma robótica que se utiliza es un Quadrotor, que, como se sabe, es muy
versátil por sus características intrínsecas, pero que resulta difícil en su manejo.
Como producto final se presenta una interfaz software, que permite visualizar la
operación de las redes neuronales artificiales analizadas y presentar los resultados
de la clasificación en tiempo real en forma gráfica al usuario.
Abstract
This thesis proposes and implements a set of techniques for identifying objects (like
cars and human dummy at scale) in real time to analyze the feasibility of using
Quadrotors in surveillance task. To do this, a comparative study is performed based
on different types of statistics classifiers and artificial neural networks.
The proposed techniques use the theory of "interest points" which is a feature
extraction technique, where the extracted features are robust to noise.
The robotic tool used is a Quadrotor, which is a very versatile platform due to its
intrinsic characteristics, but it is difficult in handling.
As a final product, a software interface is presented, which implements the artificial
neural networks algorithms analyzed and presents the classification results in real
time to the user graphically.
Agradecimientos
Agradezco a mi familia y principalmente a mi madre por ser el pilar de mi vida y
brindarme siempre esos consejos sabios que solo una madre puede dar.
A Abigail por su compañía y cariño incondicional.
A mis hermanos compañeros de toda mi vida y ejemplos a seguir.
A mis amigos y compañeros de estudio.
A mis profesores, cuya guía es inconmensurable.
Al Instituto Politécnico Nacional y al Centro de Investigación en Computación, por
los apoyos económicos para la realización de este trabajo de investigación. Este
trabajo de investigación fue realizado en el marco de los proyectos con número de
registro SIP 20131505, SIP 20131182, SIP 20144538, SIP 20140776 y CONACyT
155014.
Contenido
Índice de Tablas .............................................................................................................................. v
Índice de Figuras ............................................................................................................................ vi
Índice de Anexos............................................................................................................................. x
Glosario de Siglas .......................................................................................................................... xi
Capítulo 1 Introducción .................................................................................................................. 1
1.1 Antecedentes .................................................................................................................... 3
1.2 Planteamiento del problema ............................................................................................. 5
1.3 Justificación ...................................................................................................................... 6
1.4 Objetivo general ............................................................................................................... 6
1.5 Objetivos específicos........................................................................................................ 7
1.6 Consideraciones iniciales ................................................................................................. 7
1.7 Organización de la tesis.................................................................................................... 8
Capítulo 2 Estado del arte .............................................................................................................. 9
2.1 Uso de UAVs como plataformas de investigación........................................................... 9
2.1.1 Método mejorado de rastreo de objetos en videos tomados por un UAV .............. 10
2.1.2 Evasión de obstáculos en vuelo simulado con base en visión artificial .................. 10
2.1.3 Identificación de imágenes objetivo basado en SIFT ............................................. 12
2.1.4 Implementación de rastreo y aterrizaje visual para un Quadrotor .......................... 13
2.1.5 Investigación en deslizamientos de tierra con procesamiento de imágenes ........... 14
Capítulo 3 Marco teórico ............................................................................................................. 15
3.1 Visión Artificial.............................................................................................................. 15
3.1.1 Mejoramiento de la Imagen .................................................................................... 18
i
3.1.2 Segmentación y Etiquetado..................................................................................... 18
3.1.3 Representación y Descripción ................................................................................. 19
3.1.4 Reconocimiento de Formas..................................................................................... 19
3.1.5 Detección de Color ................................................................................................. 19
3.2 Scale Invariant Feature Transform (SIFT) ..................................................................... 20
3.2.1 Localización de puntos de interés (SIFT Keys) ...................................................... 20
3.2.2 Estabilidad de los puntos de interés SIFT ............................................................... 21
3.3 Speed Up Robust Features (SURF) ................................................................................ 21
3.3.1 Detección de puntos de interés ............................................................................... 22
3.3.2 Imágenes Integrales ................................................................................................ 22
3.3.3 Matriz de Hessian en base a los puntos de interés .................................................. 23
3.3.4 Representación en espacio de escala....................................................................... 23
3.3.5 Localización de los puntos de interés ..................................................................... 24
3.3.6 Descripción y apareo de los puntos de interés ........................................................ 24
3.4 Redes neuronales artificiales .......................................................................................... 26
3.5 Red neuronal de perceptrones multicapa (MPL)........................................................... 29
3.6 Red Neuronal Artificial de Base Radial ......................................................................... 31
3.7 Máquina de soporte vectorial ......................................................................................... 32
3.7.1 SVM Kernel ............................................................................................................ 33
3.8 Clasificadores Estadísticos ............................................................................................. 34
3.8.1 Naive Bayes ............................................................................................................ 35
3.8.2 Bayes Net ................................................................................................................ 35
3.8.3 K Nearest Neighbor (KNN) .................................................................................... 36
3.9 AR Drone 2.0 Parrot....................................................................................................... 37
3.9.1 Características y Componentes ............................................................................... 38
3.9.2 Operación ................................................................................................................ 41
3.9.3 Control .................................................................................................................... 43
Capítulo 4 Metodología ............................................................................................................... 46
4.1 Control del Quadrotor .................................................................................................... 46
4.1.1 Ambiente de pruebas para las API de control del Ar. Drone .................................. 47
4.1.2 Información de la posición de vuelo ....................................................................... 49
4.1.3 Configuración de parámetros de vuelo ................................................................... 50
ii
4.1.4 Configuración de video ........................................................................................... 51
4.1.5 Control mediante teclado ........................................................................................ 53
4.1.6 Transmisión y extracción de video ......................................................................... 54
4.2 Extracción de puntos de interés ...................................................................................... 55
4.3 Afinación del detector de puntos de interés ................................................................... 60
4.4 Extracción de descriptores de puntos de interés............................................................. 62
4.5 Análisis de los puntos de interés y sus descriptores ....................................................... 63
4.5.1 Pruebas de confiabilidad de los descriptores de puntos de interés ......................... 63
4.5.2 Pruebas con transformaciones de rotación, escala e iluminación ........................... 65
4.6 Clasificación de descriptores de puntos de interés ......................................................... 66
4.6.1 Adecuación de los descriptores de puntos de interés para su clasificación ............ 66
4.6.2 Clasificación de conjunto reducido de puntos de interés ........................................ 68
4.6.3 Validación grafica de la clasificación mediante MLP ............................................ 70
4.7 Extensión del conjunto de objetos a clasificar ............................................................... 70
4.8 Adecuación de descriptores puntos de interés del conjunto extendido .......................... 72
4.9 Clasificación del conjunto extendido de objetos ............................................................ 74
4.10 Filtrado de puntos de interés por desviación estándar post clasificación ....................... 75
4.11 Análisis temporal de puntos de interés post clasificación .............................................. 76
4.12 Flujo de Datos ................................................................................................................ 77
4.13 Arquitectura propuesta de la aplicación ......................................................................... 78
4.14 Planteamiento de la ruta de vuelo .................................................................................. 81
Capítulo 5 Experimentos y Resultados ........................................................................................ 84
5.1 Resultados de clasificación del primer conjunto de entrenamiento ............................... 84
5.2 Resultados de clasificación del conjunto extendido de entrenamiento .......................... 85
5.3 Resultados de clasificación de cada objeto .................................................................... 87
5.4 Resultados de clasificación de 2 objetos ........................................................................ 92
5.5 Resultados de clasificación de 3 objetos ........................................................................ 94
5.6 Resultados de filtrado espacial por desviación estándar post clasificación ................... 99
5.7 Arquitectura de la red neuronal MLP implementada ................................................... 101
5.8 Descripción de la interface gráfica ............................................................................... 102
5.8.1 Módulo de Análisis Automático ........................................................................... 103
5.9 Ruta de vuelo ................................................................................................................ 106
iii
5.10 Discusión de resultados ................................................................................................ 108
Capítulo 6 Conclusiones, trabajo a futuro y recomendaciones .................................................. 110
6.1 Conclusiones ................................................................................................................ 110
6.2 Trabajo a futuro ............................................................................................................ 111
6.3 Recomendaciones ......................................................................................................... 112
6.3.1 Recomendaciones Hardware ................................................................................. 112
6.3.2 Recomendaciones de software genérico y de aplicación ...................................... 112
Referencias .................................................................................................................................. 114
iv
Description:La plataforma robótica que se utiliza es un Quadrotor, que, como se sabe, es muy versátil por sus características intrínsecas, pero que resulta difícil en su manejo. Como producto final se presenta una interfaz software, que permite visualizar la operación de las redes neuronales artificiales