• No se han encontrado resultados

Sistema de exploración en ambientes forestales basado en aprendizaje profundo

N/A
N/A
Protected

Academic year: 2020

Share "Sistema de exploración en ambientes forestales basado en aprendizaje profundo"

Copied!
95
0
0

Texto completo

(1)

Sistema de exploraci´on en

ambientes forestales basado en

aprendizaje profundo

por

Ing. Dania Andrea Largo Jaimes

Tesis sometida como requisito parcial para

obtener el grado de

MAESTRO EN CIENCIAS EN LA

ESPECIALIDAD DE ELECTR ´ONICA

en el

Instituto Nacional de Astrof´ısica, ´Optica y

Electr´onica

Agosto 2017

Tonantzintla, Puebla

Supervisada por:

Dr. Israel Cruz Vega

Docente Catedr´atico CONACYT-INAOE

Dr. Jos´e Martinez Carranza

Investigador Titular INAOE

c

INAOE 2017

El autor otorga al INAOE el permiso de

reproducir y distribuir copias en su totalidad o en

(2)
(3)

Sistema de exploraci´

on en ambientes forestales

basado en aprendizaje profundo

Tesis de Maestr´ıa

Por:

Ing. Dania Andrea Largo Jaimes

Asesores: Dr. Israel Cruz Vega

Dr. Jos´e Mart´ınez Carranza

Instituto Nacional de Astrof´ısica ´Optica y Electr´onica Coordinaci´on de Electr´onica

(4)
(5)
(6)
(7)

Agradecimientos

Gracias a mis padres y hermanos por su amor y apoyo incondicional durante toda mi vida.

Gracias a mi esposo Jose Julian y a mi hija Antonia por ser mi soporte y mi inspiraci´on, el esfuerzo fue de los tres.

Gracias al pueblo de M´exico que, mediante el CONACyT y el INAOE, me apoy´o para realizar los estudios de maestr´ıa.

Gracias a mis asesores, el Dr. Jos´e y el Dr. Israel, por darme la oportunidad de trabajar con ellos y por orientar este trabajo.

Gracias a mis sinodales, Dra. Pilar, Dr. Juan Manuel y Dr. Jorge, por evaluar mi trabajo de tesis.

Gracias a Leticia Oyuki Rojas Perez, Aldrich Alfredo Cabrera Ponce y Roberto Munguia Silva por su apoyo al desarrollo de este trabajo.

Gracias a mis nuevos amigos porque su cari˜no, su compa˜n´ıa y afecto fueron muy importantes para nosotros.

(8)
(9)

Resumen

Entre los retos actuales relacionados con los veh´ıculos a´ereos no tripulados (VANT) est´a la navegaci´on aut´onoma en entornos sin acceso a GPS. Los bosques son un ejem-plo de escenario en el que el acceso a un sistema de localizaci´on convencional no es posible. Por otro lado, el rendimiento de los m´etodos cl´asicos de localizaci´on basa-dos en la visi´on decae debido a la repetibilidad y ambig¨uedad del entorno. Motivado por lo anterior, con este trabajo se dise˜na una versi´on inicial de un sistema de vue-lo aut´onomo basado en visi´on. El procesamiento visual se realiz´o a trav´es de una red neuronal convolucional profunda, la cual funciona como clasificador de la escena vista desde del veh´ıculo a´ereo no tripulado y la cual a trav´es de la abstracci´on de caracter´ısticas complejas mapea a la salida los comandos de control del VANT. El sistema fue probado en tiempo real, donde el veh´ıculo a´ereo no tripulado navega de forma aut´onoma a trav´es de diferentes escenarios forestales y se consider´o exitoso cuando viaja sin colisionar con ning´un ´arbol. Los resultados muestran la efectividad del sistema ya que en el 97.36 % de los casos el vuelo tuvo ´exito.

(10)
(11)

Abstract

Among the current challenges related to unmanned aerial vehicles is that of auto-nomous navigation in GPS-denied environments. Forest is an example of a scenario in which access to a conventional localisation system is not an option. On the other hand, the performance of classic methods of location based on vision decays due to the repeatability and ambiguity of the environment. Motivated by the above, in this paper we propose an initial version of an autonomous flight system based on vision. To deal with the problem of the extraction of the characteristics in ambiguous en-vironments, a convolutional neural network was designed. The latter is capable of generating the navigation commands of the drone from the visual information obtai-ned with an on-board frontal monocular camera. The system was tested in real time, where the drone navigates autonomously through different forest scenarios and it was considered successful when it travels without colliding with a tree. The results show the effectiveness of the system and that in the 97.36 % of the cases the flight was successful.

(12)
(13)

Tabla de Contenido

(14)
(15)

´

Indice de Figuras

(16)
(17)

´

Indice de Tablas

(18)
(19)

Cap´ıtulo 1

Introducci´

on

El mercado de los veh´ıculos a´ereos no tripulados y de los micro veh´ıculos a´ereos (VANT / MVA) ha crecido sustancialmente en las ´ultimas d´ecadas. Los VANT abren la posibilidad de nuevas tareas que antes eran imposibles con aviones tripulados, ya que los VANT pueden ser operados desde cerca o lejos. Los MVA adem´as son capaces de volar en ambientes con ´area de vuelo reducida. Tradicionalmente, los VANT son piloteados a distancia, sin embargo, hay un gran esfuerzo para desarrollar VANT completamente aut´onomos.

El vuelo aut´onomo es una competencia que requiere conocimiento sobre la posici´on del UAV y una representaci´on del entorno en el que vuela. En esencia, los sensores y las estrategias de detecci´on proporcionan la informaci´on del medio ambiente y son cruciales para el ´exito de un sistema aut´onomo de VANT. Los principales sistemas utilizados para los sistemas de navegaci´on de VANT son los Sistemas Globales de Navegaci´on por Sat´elite (GNSS, por sus siglas en ingl´es) (incluido el Sistema de Po-sicionamiento Global - por sus siglas en ingl´es GPS) y los Sistemas de Navegaci´on Inercial (INS, por sus siglas en ingl´es). Su naturaleza complementaria ha sido reco-nocida, y como resultado, los sensores GPS e INS son la pareja de sensores preferida para la mayor´ıa de los sistemas de piloto autom´atico [?]. Pero hay varios escenarios donde la se˜nal GNSS puede ser poco fiable o incluso inaccesible, por ejemplo, ca˜nones urbanos, ambientes interiores y entornos forestales, para esto se exploran otras alter-nativas.

Los sensores de ondas de radio (RADAR, por sus siglas en ingl´es radio detection and ranging y LIDAR por sus siglas en ingl´esLaser Imaging Detection and Ranging) son otra opci´on para la navegaci´on, pero es necesario considerar el alto consumo de energ´ıa y el hecho de que no se encuentran a menudo en drones [?].Por el contrario, la mayor´ıa de los VANT cuentan con alg´un tipo de sensor electro-´optico (EO). Los

(20)

2 1. Introducci´on

sensores de EO t´ıpicamente encontrados en UAV son: c´amaras de espectro visible, c´amara infrarroja (IR) o sistemas de adquisici´on de im´agenes hiperespectrales [?]. Gran parte de los VANT disponibles comercialmente en la actualidad cuentan con una c´amara incorporada (est´ereo o monoculares); por tanto, un sistema de vuelo aut´onomo basado en visi´on computacional resulta una opci´on viable ya que elimina la dependencia del sistema de vuelo de la se˜nal GPS, puede ser implementada en diferentes plataformas con pocas variaciones y no afecta la resistencia de los VANT con bajas capacidades de carga. As´ı, la soluci´on que se desarrollar´a a lo largo de este trabajo para la tarea de navegaci´on aut´onoma en ambientes forestales se basa en el uso de una c´amara monocular a bordo del VANT.

Ya que el sistema a desarrollar se basa en el uso de un ´unico sensor, la c´amara monocular (independiente de cualquier ayuda externa), es importante procesar de manera adecuada la informaci´on visual ya que de esta depende el pilotaje del VANT. Este procesamiento se implement´o con una red neuronal convolucional profunda, la cual funciona como clasificador de la escena actual vista desde el VANT, con ella se logra la abstracci´on de caracter´ısticas complejas de las im´agenes que son mapeadas a la salida como los comandos de control del VANT. En general es un control reactivo confiable, el cual funciona con una ´unica entrada visual y puede manejar situaciones donde mapas 3D o planeadores de trayectoria de alto nivel fallan.

1.1.

Descripci´

on del problema

Los ambientes forestales sobre los cuales se busca lograr que los VANT operen de manera aut´onoma tienen limitaci´on en cuanto al acceso a se˜nal limpia de GPS o a un mapa previo para la localizaci´on del VANT. Adem´as son ambientes no estructurados y saturados de ´arboles que exigen al sistema realizar maniobras evasivas. Por tanto, se requiere un sistema de vuelo basado en visi´on capaz de extraer suficiente informaci´on del ambiente como para permitir el control aut´onomo del veh´ıculo sin chocar con los ´arboles. En el caso de los entornos boscosos es importante tener en cuenta la complejidad de las im´agenes ya que presentan colores y texturas repetitivos tal como lo resalta [?] en su trabajo.

Es necesario desarrollar un sistema de vuelo aut´onomo que funcione en tiempo real y que sea suficientemente efectivo en el sensado y detecci´on de obst´aculos para poder lograr el desplazamiento del VANT a trav´es de un ambiente como el bosque.

(21)

1.2 Justificaci´on 3

1.2.

Justificaci´

on

En los ambientes forestales sobre los cuales se busca lograr que el sistema opere suele presentarse la necesidad de operaciones de b´usqueda y rescate, de monitoreo o de exploraci´on. Para estas tareas los VANT generalmente se pilotean de manera remota, lo que implica la intervenci´on humana. As´ı, quien toma el control del VANT debe ser experto en el pilotaje, adem´as si se trata de ´areas de dif´ıcil acceso o peligrosas, el piloto se va a ubicar en una locaci´on distante por lo que la tarea de percepci´on del entorno a trav´es de las im´agenes captadas por la c´amara a bordo ser´a muy complicada. Con este trabajo se busca dise˜nar una primera versi´on de un sistema que pueda suplir la necesidad de un experto a la hora de volar un VANT en un entorno forestal.

1.3.

Objetivos

1.3.1.

Objetivo general

Desarrollar un sistema de vuelo aut´onomo en ambientes forestales para veh´ıculos a´ereos no tripulados basado en visi´on computacional usando redes neuronales convo-lucionales.

1.3.2.

Objetivos espec´ıficos

Implementar un sistema de comunicaci´on para el veh´ıculo a´ereo no tripulado que permita la adquisici´on de im´agenes de la c´amara a bordo y el env´ıo de los comandos de control de vuelo desde la estaci´on en tierra.

Establecer una base de datos de ejemplos debidamente etiquetados para el en-trenamiento y validaci´on de la red neuronal convolucional.

Dise˜nar una arquitectura de red para el proceso de visi´on por computadora a partir de la cual se pueda generar el control aut´onomo del veh´ıculo a´ereo no tripulado.

Proponer una pol´ıtica de vuelo adecuada para el vuelo evasivo en ambientes forestales.

(22)

4 1. Introducci´on

Integrar el m´odulo de comunicaci´on, el m´odulo de visi´on computacional y el m´odulo de control en un s´olo sistema para el pilotaje aut´onomo del veh´ıculo a´ereo no tripulado.

Evaluar en tiempo real el sistema propuesto.

1.4.

Organizaci´

on del trabajo

Este trabajo se encuentra organizado de la siguiente manera:

Cap´ıtulo 2. Estado del arte: en este cap´ıtulo se presenta una revisi´on del trabajo relacionado centrada en dos aspectos: 1) vuelo aut´onomo de VANT en ambientes sin acceso a GPS y 2) la aplicaci´on de redes neuronales convolucionales al vuelo aut´onomo de VANT.

Cap´ıtulo 3. Veh´ıculos a´ereos no tripulados (VANT): en este cap´ıtulo se presentan los bases te´oricas relacionadas a los VANT. Se presenta la definici´on de los veh´ıculos a´ereos no tripulados junto con sus principales caracter´ısticas, clasificaci´on y aplicacio-nes. Finalmente se presentan con mayor profundidad las caracter´ısticas de los VANT quadrotor.

Cap´ıtulo 4. Aprendizaje profundo en redes neuronales convolucionales: en este cap´ıtulo se documentan los aspectos m´as relevantes acerca del aprendizaje profundo, redes neuronales convoluciones, transferencia de aprendizaje y finalmente se presenta la red neuronal convolucional conocida como AlexNet.

Cap´ıtulo 6. Sistema operativo de robots (ROS): en este cap´ıtulo se describen las generalidades del sistema operativo de robots y se hace ´enfasis en la librer´ıa bebop autonomy que corresponde a un driver para el control de vuelo de los quadric´opteros Parrot Bebop 1.0 y 2.0.

Cap´ıtulo 7. Sistema de exploraci´on en ambientes forestales basado en aprendizaje profundo: en este cap´ıtulo se presenta el sistema de vuelo propuesto. En primer lugar, se describe de manera general la estrategia, luego, se plantea la pol´ıtica de vuelo y la arquitectura de la red neuronal convolucional.

Cap´ıtulo 8. Experimentos y resultados: en este cap´ıtulo se expone el proceso de desarrollo del sistema y su validaci´on. Inicialmente se describe la base de datos em-pleada para el entrenamiento de la red. A continuaci´on, se muestran las caracter´ısticas de entrenamiento de la red y su correspondiente validaci´on mediante 5-Fold Cross

(23)

Va-1.4 Organizaci´on del trabajo 5

lidation, luego se dan los detalles de la plataforma empleada para la validaci´on del sistema completo en tiempo real; para finalmente presentar los resultados y el an´alisis. Cap´ıtulo 9. Conclusiones: es el cap´ıtulo final y abarca las principales conclusiones del trabajo junto con la propuesta para el trabajo futuro.

(24)
(25)

Cap´ıtulo 2

Estado del arte

El enfoque de esta investigaci´on es el desarrollo de un sistema de vuelo aut´onomo para VANT en ambientes forestales sin acceso a GPS, usando para el procesamiento visual redes neuronales convolucionales profundas. Es por esto que la revisi´on del trabajo relacionado se centr´o en dos aspectos: 1) vuelo aut´onomo de VANT en am-bientes sin acceso a GPS y 2) la aplicaci´on de redes neuronales convolucionales al vuelo aut´onomo de VANT. A continuaci´on se referencian los principales aspectos encontrados en la literatura con respecto a estos dos enfoques.

2.1.

Vuelo aut´

onomo de VANT en ambientes sin

acceso a GPS

En la literatura se reportan diferentes enfoques para el control de posici´on, tanto de sensado como de estrategias de control; los enfoques m´as comunes se basan en la estimaci´on de la posici´on a partir de GPS, el cual brinda una gran precisi´on siempre y cuando se disponga de una se˜nal limpia. Como se mencion´o, el enfoque que se busca con este trabajo es encontrar una estrategia aplicable en ambientes sin GPS, lo cual lleva a la b´usqueda de otras opciones, como en el caso de [?] que presentan resultados exitosos usando laser range finder y [?] quienes emplean la misma tecnolog´ıa para el vuelo en ambientes internos, en la figura ?? se observa la platafoma de vuelo que usaron y el esquema del sistema implementado. El uso de esta tecnolog´ıa no es ´optimo ya que estos sensores tienen una restricci´on en la distancia de percepci´on y l´ımite en el campo visual. El alto consumo de energ´ıa es tambi´en factor importantes a tener en cuenta cuando se quiere implementar en un MAV [?].

Otra alternativa ampliamente explorada es la instalaci´on de c´amaras externas con

(26)

8 2. Estado del arte

(a) Plataforma de vuelo (b) Esquema de control

Figura 2.1: Ejemplo de sistema de vuelo aut´onomo basado en LIDAR.

Esquema del sistema de detecci´on jer´arquica, control y planificaci´on. En el nivel de base, la IMU y el controlador (Verde) crean un lazo de retroalimentaci´on ajustado

para estabilizar el veh´ıculo en roll y pitch. Los m´odulos amarillos constituyen la detecci´on en tiempo real y el bucle de control que estabiliza la posici´on del veh´ıculo a

nivel local y evita los obst´aculos. Por ´ultimo, los m´odulos rojos proporcionan mapeo y planificaci´on de funcionalidades. Fuente: [?]

una posici´on conocida y a trav´es de estas rastrear al veh´ıculo. En los ´ultimos a˜nos, excelentes resultados han sido logrados usando motion capture system de ViconR

(ver figura ??). Un sistema de alta resoluci´on basado en c´amaras externas que ras-trean las posturas de uno o m´as VANT con alta precisi´on. Estos sistemas son muy eficientes y robustos para prop´ositos de prueba y pueden ser usados como referen-cia para la evaluaci´on de algoritmos de control en posicionamiento. Sin embargo, no son opci´on para ambientes grandes y para misiones en las cuales la instalaci´on de la infraestructura externa no es factible [?].

Figura 2.2: Ejemplos de aplicaci´on de c´amaras Vicon.

Fuente: [?]

(27)

2.2 Aplicaci´on de redes neuronales convolucionales al vuelo aut´onomo de VANT 9

mapping(SLAM), emplean las se˜nales entregadas por una c´amara y un sensor inercial a bordo del veh´ıculo. El enfoque que proponen es contruir un mapa (3D) del ambiente, localizarse con respecto al mapa y finalmente navegar a trav´es de ´el. Para estimar la posici´on emplean el algoritmo visual SLAM y a partir de ella alimentan un contralor ´

optimo lineal con el cual logran las maniobras b´asicas del veh´ıculo. Usualmente la construcci´on del mapa requiere de cierto tiempo de procesamiento y quiz´a no funcione de manera inmediata en tiempo real.

2.2.

Aplicaci´

on de redes neuronales

convoluciona-les al vuelo aut´

onomo de VANT

Los algoritmos de control inteligente tienen diferentes enfoques como l´ogica difusa, redes neuronales, aprendizaje de m´aquina, algoritmos evolutivos, entre otros [?]. De estos los m´as usados son las redes neuronales y la l´ogica difusa. [?] y [?], presentan dos metodolog´ıas de control difuso para la evasi´on de obst´aculos. En [?] emplean teor´ıa de entrop´ıa cruzada para optimizar las ganancias de los controladores mientras que el procesamiento visual se logra a partir del algoritmo CamShift que realiza las tareas de detecci´on y seguimiento del objeto en escena. En [?] aplican igualmente una estrategia basada en controlador l´ogico difuso con optimizaci´on mediante entrop´ıa cruzada, pero en este caso la optimizaci´on se centra en los factores de escalamiento y la funci´on de membres´ıa. Adem´as, usan Monocular Visual Inercial (SLAM) para la detecci´on visual de los obst´aculos. Un m´etodo de aprendizaje reforzado para exploraci´on de robots m´oviles en ambientes interiores con informaci´on de profundidad a partir de un ´

unico sensor RGB-D es propuesto en [?].

S. Ross, et al [?] presentan un sistema de navegaci´on aut´onoma para un quadrotor en ambientes forestales basado en el mapeo de caracter´ısticas de la im´agenes RGB de la c´amara a los comandos de control. Usan t´ecnica de aprendizaje por imitaci´on para transferir las demostraciones humanas a la navegaci´on aut´onoma. Sin embargo, este m´etodo no generaliza a trayectorias fuera de las demostraciones entrenadas a partir de los vuelos controlados por personas [?].

Por otro lado, [?] describen un sistema de evasi´on de obst´aculos basado en vi-si´on para robots m´oviles fuera de carretera. El enfoque que abordan es resolver el problema entero de mapear im´agenes est´ereo de entrada a un posible ´angulo de

(28)

10 2. Estado del arte

ci´on para el robot mediante aprendizajeend-to-end. El sistema de aprendizaje es una red convolucional de 6 capas cuya entrada son dos im´agenes (izq/der) sin procesar, y la salida es la predicci´on del ´angulo de direcci´on del robot proporcionado por un conductor humano durante el entrenamiento en diferentes escenarios.

[?] logran que un dron realice el seguimiento aut´onomo de un camino rural a partir del procesamiento de una sola imagen monocular proveniente de la c´amara a bordo del robot. Emplean un enfoque basado en redes neuronales profundas, el cual, a partir de la clasificaci´on de la vista actual de un dron genera la direcci´on principal del camino comparada con la direcci´on de vista. Este sistema aplica cuando existe un ´

unico sendero gu´ıa para el desplazamiento del veh´ıculo. En la figura?? se muestra la metodolog´ıa propuesta en su art´ıculo.

Figura 2.3: Efoque de vuelo propuesto por Giusti2016.

El quadrotor adquiere las im´agenes del camino a trav´es de una c´amara que mira hacia el frente; una red neural profunda clasifica las im´agenes para determinar qu´e

acci´on mantendr´a al robot en el camino. Fuente: [?]

Un enfoque muy cercano al que se pretende desarrollar en este trabajo es el presen-tado por [?], aplican el aprendizaje autosupervisado al vuelo de drones en interiores. Hacen la recopilaci´on de datos de vuelos a partir de accidentes llamados vuelos ne-gativos adem´as de datos de vuelos positivos para generar una gran base de datos. Este conjunto de datos es usado para entrenar una red neuronal convolucional que funciona como clasificador y cuya salida determina el control del dron mediante la pol´ıtica de evasi´on de obst´aculos.

(29)

Cap´ıtulo 3

Veh´ıculos a´

ereos no tripulados

(VANT)

3.1.

Definici´

on

En la literatura se encuentran diferentes t´erminos que hacen referencia a los veh´ıcu-los a´ereos no tripulados.

La Administraci´on Federal de Aviaci´on (Federal Aviation Administration) define el t´ermino aeronave no tripulada como la aeronave que es operada sin la posibilidad de intervenci´on humana directa desde dentro o sobre la aeronave. Tambi´en define el t´ermino sistema de aeronave no tripulada como el conjunto de la aeronave no tripulada y los elementos necesarios para que el mando funcione de manera segura y eficiente en el sistema de espacio a´ereo nacional asociados (incluyendo los enlaces de comunicaci´on y los componentes que controlan la aeronave no tripulada) [?].

El Instituto Americano de Astron´autica y Aeron´autica (American Institute of Aeronautics and Astronautics (AIAA)) citado en [?] defineveh´ıculo a´ereo no tripulado

como aquella aeronave dise˜nada o modificada, para no llevar un piloto humano y operada a trav´es de entrada electr´onica, iniciada por el controlador de vuelo o por un sistema de control de vuelo aut´onomo a bordo que no requiere intervenci´on del controlador de vuelo.

3.2.

Clasificaci´

on de los VANT

Los VANT abarcan muchos tipos diferentes de aeronaves con una gran variedad de tipos de fuselaje y tecnolog´ıas de elevaci´on, con pesos m´aximos de despegue que

(30)

12 3. Veh´ıculos a´ereos no tripulados (VANT)

Masa (kg) Rango (Km) Altura de Vuelo (m) Resistencia

Micro <5 <10 250 1

Mini <20/25/30/150 <10 150/250/300 <2

T´actico

Alcance cercano 25-150 10-30 3,000 2-4 Corto alcance 50-250 30-70 3,000 3-6 Alcance medio 150-500 70-200 5,000 6-10 Resistencia y alcance medio 500-1500 >500 8,000 10-18 Baja altitud y penetraci´on profunda 250-2,500 >250 50-9,000 0.5-1 Baja altitud y larga resistencia 15-25 >500 3,000 >24 Altitud media y larga resistencia 1,000-1,500 >500 3,000 24-48

Estrat´egico

Alta altitud y larga resistencia 2,500-5,000 >2000 20,000 24-48 Estratosf´erico >2,500 >2,000 >20,000 >48 Exo-estratosf´erico TBD TDB >30,500 TDB

Misiones especiales

Veh´ıculo a´ereo no tripulado de combate >1,000 1,500 12,000 2

Letal TDB 300 4,000 3-4

Se˜nuelo 150-250 0-500 50-5,000 <4

Tabla 3.1: Clasificaci´on de diferentes VANT existentes. Fuente: Traducci´on de [?]

van desde varios gramos hasta m´as de 10000 kg, las opciones de velocidad var´ıan desde el vuelo suspendido hasta m´as de 1000 km/h, y con duraciones de vuelo que van de minutos a d´ıas [?]. Este amplio y diverso conjunto de posibilidades representa un amplio espectro de aplicaciones. Se han propuesto diferentes esquemas de clasifi-caci´on de UAV basados en sus caracter´ısticas operativas y sus capacidades. Dichas clasificaciones incluyen el peso medio de despegue (mean takeoff weigth, MTOW), tama˜no, condiciones de operaci´on, capacidades o combinaciones de estas. La tabla??

muestra una clasificaci´on comprensible donde se aprecia la gran variedad de sistemas disponibles [?].

Los VANT pueden ser clasificados seg´un su plataforma, [?] propone 4 clases:

1.- VANT de ala fija: se refieren a aviones no tripulados (con alas) que requieren una pista para despegar y aterrizar, o lanzamiento de catapulta. Generalmente tienen resistencia y puede volar a altas velocidades de crucero.

2.- VANT de ala rotatoria: tambi´en llamados VANT helic´optero o VANT de des-pegue y aterrizaje verticales (VTOL, por sus siglas en ingl´es), que tienen las ventajas de capacidad para flotar y una gran maniobrabilidad. Estas capaci-dades son ´utiles para cualquier misi´on rob´otica, especialmente en aplicaciones civiles. Un VANT helic´optero puede tener diferentes configuraciones, con roto-res principales y de cola (helic´optero convencional), rotores coaxiales, rotores en t´andem, rotores m´ultiples, etc.

(31)

3.3 Aplicaciones de los VANT 13

3.- Dirigibles: son m´as ligeros que el aire y tienen larga resistencia, vuelan a velo-cidades lentas, y generalmente son de gran tama˜no. Ejemplo de estos son los globos y los dirigibles.

4.- VANT de alas m´oviles: tienen alas flexibles inspiradas en p´ajaros e insectos voladores.

Por otra parte, los VANT pueden clasificarse en funci´on de su propiedad como p´ublico o estatal cuando son propiedad y son operados por entidades p´ublicas como agencias federales o la polic´ıa local y civil cuando son propiedad de la industria o de partes privadas [?].

3.3.

Aplicaciones de los VANT

Los VANT tienen m´ultiples aplicaciones en contextos militares y civiles. En el ´

ambito militar se utilizan para inteligencia, vigilancia y reconocimiento, adem´as apli-caciones m´as complejas enfocadas al ataque y defensa se encuentran en desarrollo.

En cuanto a las aplicaciones civiles el mercado contin´ua en desarrollo y ofreciendo nuevos sistemas de vuelo no tripulado con potenciales aplicaciones en ´areas como: inspecci´on de terreno, tuber´ıas, servicios p´ublicos, edificios, etc., aplicaci´on de la ley y aplicaciones de seguridad, gesti´on de desastres y crisis, b´usqueda y rescate, monitoreo ambiental, agricultura y bosques, lucha contra incendios, mapeo a´ereo y meteorolog´ıa, producci´on visual, investigaci´on entre otras [?].

3.4.

Control de los VANT

En cuanto a las metodolog´ıas de control de lo VANT en la literatura aparecen dos categor´ıas, las basadas en modelo matem´atico y los algoritmos de control inteligente. Los m´as destacados en la primera modalidad son el control proporcional, integral y derivativo o PID, el regulador lineal cuadr´atico, el control en modo deslizante, el con-trol backstepping, los algoritmos de control adaptivo, algoritmos de control robusto, algoritmos de control ´optimo, feedback linerization [?], estos m´etodos requieren fun-cionamiento en tiempo real e informaci´on de estado precisa entregada por un sistema de captura de movimiento [?]. Por otra parte, los algoritmos de control inteligente

(32)

14 3. Veh´ıculos a´ereos no tripulados (VANT)

tienen diferentes enfoques de inteligencia artificial como l´ogica difusa, redes neurona-les, aprendizaje de m´aquina, algoritmos evolutivos, entre otros [?]. De estos los m´as usados son las redes neuronales y la l´ogica difusa.

3.5.

VANT Quadrotor

Figura 3.1: Acciones de control de un VANT quadrotor.

En particular los VANT quadric´opteros son helic´opteros de cuatro rotores di-se˜nados t´ıpicamente en configuraci´on cruz con dos rotores girando en sentido de las manecillas del reloj y los otros dos en sentido contrario para balancear el torque [?]. En la figura??se muestran las accionesroll,pitch,yaw yup thrust del dron, las cuales son controladas cambiando el empuje de los rotores mediante modulaci´on de ancho de pulso (MAP) para obtener el comportamiento deseado en la figura se muestran esquemas de la configuraci´on de los rotores para generar el desplazamiento de un quadricoptero. Los VANT no tienen tripulaci´on a bordo, por esto son operados de manera aut´onoma o remota y resultan ser una gran plataforma para la investigaci´on de sistemas de control por su naturaleza no lineal y su configuraci´on sub-actuada [?].

(33)

Cap´ıtulo 4

Aprendizaje profundo en redes

neuronales convolucionales

El aprendizaje profundo es un sub-campo del aprendizaje de m´aquina que abar-ca los algoritmos de aprendizaje de abstracciones de alto nivel en datos mediante la utilizaci´on de arquitecturas jer´arquicas. Los algoritmos de aprendizaje profundo seg´un el m´etodo b´asico se pueden dividir en cuatro categor´ıas: redes neuronales con-volucionales, m´aquinas de Boltzmann restringidas, autocodificadores y codificaci´on Sparse. Las aplicaciones de estos algoritmos en visi´on computacional abarcan tareas como clasificaci´on de im´agenes, detecci´on de objetos, restauraci´on de im´agenes, seg-mentaci´on sem´antica, entre otras. Las redes neuronales son uno de los enfoques m´as notables y han sido encontradas altamente efectivas en diversas aplicaciones de visi´on computacional y son abordadas con m´as detalle a continuaci´on [?].

4.1.

Redes neuronales convolucionales

Las redes neuronales convolucionales (CNN, por sus siglas en ingl´es), son un tipo especializado de red neuronal para el procesamiento de datos que tienen una topo-log´ıa conocida de rejilla (como series de datos o im´agenes). La arquitectura de las redes neuronales convolucionales se construyen a partir de capas que involucran al menos una capa de convoluci´on. Una red neuronal convolucional se forma median-te 3 capas neuronales principales: capas convolucionales, capas de pooling y capas completamente conectadas.

A continuaci´on se describen las principales caracter´ısticas de las diferentes capas de las CNN.

(34)

16 4. Aprendizaje profundo en redes neuronales convolucionales

4.1.1.

Capa de Convoluci´

on

En esta primera capa se realizan las respectivas convoluciones para producir un conjunto de activaciones lineales. Luego, cada resultado es pasado a trav´es de una fun-ci´on de activaci´on no lineal, como una unidad de activaci´on lineal rectificadora ( Rec-tified Linear Units (ReLU)). La funci´on de activaci´on es de la formaf(x) = m´ax(0, x) (Ver figura ??). Las redes neuronales convolucionales profundas que emplean ReLU son entrenadas varias veces m´as r´apido que aquellas que emplean los modelos est´andar que utilizan para la funci´on de salida de las neuronas la tangente hiperb´olica o la sig-moide [?]. Esta etapa es conocida como etapa de detecci´on.

Figura 4.1: Gr´afica de la funci´on de activaci´on lineal rectificadora.

En el contexto de las redes neuronales convolucionales, el primer argumento de la convoluci´on es referido como entrada y el segundo argumento comokernel. La salida se conoce como mapa de caracter´ısticas. La entrada es un arreglo multidimensional de datos y el kernel es un arreglo multidimensional de par´ametros adaptados por el algoritmo de aprendizaje [?]. Las convoluciones se usan sobre m´as de un eje al tiempo. Por ejemplo, si se usan una imagen I, y un kernel K de dos dimensiones:

s(i, j) = (IK)(i, j) = X

m

X

n

I(m, n)K(im, jn) (4.1.1)

La convoluci´on es conmutativa. Adem´as muchas librer´ıas implementan una funci´on similar llamadacorrelaci´on-cruzada, la cual es la misma convoluci´on, pero sin reflejar

(35)

4.1 Redes neuronales convolucionales 17

el kernel, para el ejemplo anterior:

s(i, j) = (IK)(i, j) =X

m

X

n

I(i+m, j+n)K(m, n) (4.1.2)

En aprendizaje de m´aquina al implementar la correlaci´on-cruzada tambi´en es lla-mada convoluci´on. Para el desarrollo de este trabajo se llamar´a convoluci´on a las dos operaciones.

4.1.2.

Capa de Pooling

La funci´on de pooling remplaza la salida de la red con una suma estad´ıstica de las salidas vecinas. Por ejemplo, la operaci´on max pooling reporta la m´axima salida entre una vecindad rectangular. Otra funci´on de pooling popular que incluye el promedio de una vecindad rectangular, es la norma L2, o un promedio ponderado basado en

la distancia desde el pixel central. En todos los casos, el pooling ayuda a hacer que la representaci´on sea aproximadamente invariante a peque˜nos desplazamientos de la entrada. Como el pooling resume las respuestas sobre una vecindad completa, se produce una reducci´on en el tama˜no de la entrada a la siguiente capa mejorando la eficiencia computacional de la red y reduciendo los requisitos de memoria para el almacenamiento de par´ametros [?].

4.1.3.

Capa completamente conectada

Siguiendo a la ´ultima capa de pooling de la red, se conectan varias capas de tipo completamente conectadas para convertir los mapas de caracter´ısticas de 2D a un vector de caracter´ısticas de 1D.

4.1.4.

Entrenamiento

Hay dos etapas para el entrenamiento de la red: una etapa hacia adelante (forward) y otra hacia atr´as (backward). La primera tiene el objetivo principal de representar la imagen de entrada con los par´ametros actuales en cada capa (pesos y bias). Luego la predicci´on actual es usada para calcular la funci´on de p´erdida con los valores base reales. Basada en la funci´on de p´erdida, en la etapa hacia atr´as se computa el gradien-te de cada parametro con las reglas directrices. Todos los par´ametros son actualizados

(36)

18 4. Aprendizaje profundo en redes neuronales convolucionales

con base en el gradiente y preparados para el siguiente computo directo. Despu´es de suficientes iteraciones de etapas hacia adelante y hacia atr´as o al alcanzar el ren-dimiento deseado, el parendizaje se puede detener [?]. Con el aprendizaje profundo se logra abastraer m´as informaci´on que con el aprendizaje superficial. Sin embargo, la gran cantidad de par´ametros puede introducir un problema de sobrealimentaci´on. Para la prevenci´on de este efecto existen t´ecnicas de regularizaci´on que influyen en la eficiencia del entrenamiento como las siguientes.

Dropout y dropconect

Consiste en omitir de manera aleatoria la mitad de los detectores de caracter´ısticas. Las neuronas que son “dropped out” no contribuyen en la conexi´on hacia adelante y no participan en la retro-propagaci´on (back-propagation). As´ı cada vez que una entrada es presentada, la red neuronal muestra una arquitectura diferente, pero todas estas arquitecturas comparten estos pesos [?]. La prinicipal motivaci´on detr´as del algoritmo es prevenir la coadaptaci´on de los detectores de caracter´ısticas, o la sobrealimentaci´on al forazar a las neuronas a ser robustas y confiar en el comportamiento de la poblaci´on, en lugar de en la actividad de otras unidades espec´ıficas. [?]

Aumento de datos

Esta t´ecnica es usada cuando las CNN son aplicadas al reconocimiento visual, el aumento de datos se usa para generar datos adicionales sin introducir costo extra de etiquetado. Ejempos de est´a t´ecnica son la generaci´on de im´agenes a partir de la traslaci´on de la imagen original o la reflexi´on. Otra forma de aumentar los datos es alterar las intensidades de los canales RGB de las im´agenes [?].

4.2.

Transferencia del aprendizaje

La transferencia del aprendizaje tiene como objetivo desarrollar un sistema ra-zonablemente realizado para una nueva tarea, dominio o distribuci´on, de manera eficiente y eficaz, reteniendo y aprovechando el conocimiento adquirido de una o m´as tareas, dominios o distribuciones similares. La transferencia de aprendizaje enfatiza el desempe˜no de la tarea de destino mediante la transferencia de conocimiento a trav´es de tareas, dominios y distribuciones que son similares, pero no son iguales.

(37)

4.2 Transferencia del aprendizaje 19

Debido a que las caracter´ısticas m´as abstractas e invariantes est´an representadas por las capas ocultas, las redes neuronales profundas (Deep Neural Networks (DNN)) son adecuadas para la transferencia de aprendizaje. La transferencia de aprendiza-je tiene grandes implicaciones pr´acticas. En muchas aplicaciones del mundo real, debido al alto costo del etiquetado manual humano y/o a las restricciones ambien-tales/sociales, no es raro que no se disponga de suficientes datos de entrenamiento. En tales casos, la transferencia de aprendizaje entre los dominios de tareas es muy deseable [?]. La transferencia de aprendizaje se ha aplicado con ´exito a muchas tareas de aprendizaje autom´atico. En estas aplicaciones, la transferencia de caracter´ısticas, es el enfoque principal para transferir conocimientos entre tareas.

En este caso particular se har´a uso de la transferencia de aprendizaje a partir de la red pre-entrenada AlexNet, con el fin de lograr un buen ´ındice de clasificaci´on y superar la necesidad de una base de datos etiquetada m´as grande, adem´as, mediente su aplicaci´on se reduce el tiempo de entrenamiento, a continuaci´on se abordan las caracter´ısticas principales de la arquitectura de la red AlexNet.

4.2.1.

AlexNet

Es una red neuronal convolucional profunda entrenada para clasificar las 1.2 mi-llones de im´agenes en alta resoluci´on de la competencia ILSVRC-2010 (ImageNet Large Scale Visual Recognition Challenge) en 1000 clases diferentes, obteniendo los mejores resultados en la historia de dicha competencia. La red completa tiene cinco capas convolucionales y tres capas completamente conectadas [?].

La primera capa convolucional filtra las im´agenes de entrada de 224 ×224 × 3 con 96 kernels de tama˜no 11 × 11× 3 con un stride de 4 pixeles. La segunda capa convolucional toma como entrada la salida de la primera capa convolucional (respuesta normalizada y agrupada (pooled)) y la filtra con 256 kernels de tama˜no 5×5×48. La tercera, cuarta y quinta capas est´an conectadas una a la otra sin ninguna intervenci´on de agrupaci´on o normalizaci´on. La tercera capa convolucional tiene 384 kernels de tama˜no 3×3×256 conectada a la salida de la segunda capa convolucional (normalizada, agrupada). La cuarta capa convolucional tiene 384 kernels de tama˜no 3×3×192, y la quinta capa convolucional tiene 256 kernels de tama˜no 3×3×192. Las capas conectadas completamente tienen 4096 neuronas cada una [?]. El ´exito de la red vino del uso eficiente de GPU, la aplicaci´on de ReLU, una t´ecnica de regularizaci´on

(38)

20 4. Aprendizaje profundo en redes neuronales convolucionales

Figura 4.2: Esquema de la arquitectura original de la red neuronal convolucional AlexNet. La imple-mentaci´on ilustrada corresponde a la implementaci´on de la red en dos GPU.

Fuente: [?].

llamada dropout y el empleo de t´ecnicas para generar m´as muestras de entrenamiento a partir de la deformaci´on de las existentes. Este hecho marc´o un punto de revoluci´on en la visi´on por computadora, son ahora uno de los enfoques dominantes en casi todas las tareas de reconocimiento y detecci´on [?].

(39)

Cap´ıtulo 5

Sistema operativo de robots (ROS)

5.1.

Definici´

on

El sistema operativo de robots ((ROS), por sus siglas en ingl´esRobot Operating System, ) proporciona bibliotecas y herramientas para ayudar a los desarrolladores de software a crear aplicaciones de robots. Proporciona abstracci´on de hardware, controladores de dispositivos, bibliotecas, visualizadores, paso de mensajes, adminis-traci´on de paquetes y mucho m´as. ROS est´a licenciado bajo una licencia de c´odigo abierto, BSD [?]. ROS en la actualidad s´olo se ejecuta de forma totalmente funcional en plataformas basadas en UNIX. el Software de ROS est´a principalmente probado en Ubuntu y Mac OSX, aunque la comunidad ROS ha contribuido al apoyo a Fedora, Gentoo, Arch Linux y adem´as de otras plataformas Linux.

5.2.

Conceptos b´

asicos

ROS est´a basado en una arquitectura de grafos donde el procesamiento toma lugar en los nodos que pueden recibir, mandar y multiplexar mensajes de sensores, control, estados, planificaciones y actuadores, entre otros. A continuaci´on se definen los conceptos b´asicos de la estructura de ROS.

Nodo (nodes): Un nodo realmente no es mucho m´as que un archivo ejecutable dentro de un paquete ROS. Los nodos ROS utilizan una biblioteca cliente ROS para comunicarse con otros nodos. Los nodos pueden publicar o suscribirse a un t´opico. Los nodos tambi´en pueden proporcionar o utilizar un Servicio. Mensajes (messages): Tipo de datos ROS utilizado al suscribir o publicar en un tema.

(40)

22 5. Sistema operativo de robots (ROS)

T´opico o Tema (topics): es el sistema usado por los nodos para comunicarse entre ellos. Los nodos pueden publicar mensajes en un tema as´ı como suscribirse a un tema para recibir mensajes. Puede haber varios editores y suscriptores concurrentes a un mismo tema, y un ´unico nodo puede publicar y/o suscribirse a m´ultiples temas. En general, los editores y suscriptores no son conscientes de la existencia de los dem´as. Se puede pensar en un tema como un Bus de mensajes. Cada Bus tiene un nombre, y cualquier persona puede conectarse al bus para enviar o recibir mensajes, siempre y cuando sean del tipo correcto.

Maestro (master): Servicio de nombres para ROS (es decir, ayuda a que los nodos se encuentren). Sin el Maestro, los nodos no encontrar´ıan mensajes en-tre s´ı, o intercambiarlos, o invocar servicios, lo que hace que sea totalmente indispensable a la hora de ejecutar cualquier tipo de programa.

Rosout: ROS equivalente a stdout / stderr.

Roscore: Master + rosout + servidor de par´ametros.

La comunicaci´on sobre t´opicos se produce enviando mensajes ROS entre nodos (ver figura ??). Para que el nodo pubolicador y el nodo suscriptor se comuniquen, el editor y el suscriptor deben enviar y recibir el mismo tipo de mensaje. Esto significa que un tipo de t´opico se define por el tipo de mensaje publicado en ´el.

Figura 5.1: Ejemplo de conexi´on a trav´es de ROS.

(41)

5.3 Bebop autonomy 23

5.3.

Bebop autonomy

Bebop autonomy es un driver ROS para drones Parrot Bebop 1.0 y 2.0 (qua-dricopteros), basado en el ARDroneSDK3 oficial de Parrot. Este controlador ha sido desarrollado en Autonomy Lab de la Universidad Simon Fraser por Mani Monajjemi y otros contribuyentes. Este software es mantenido por Sepehr MohaimenianPour (Au-tonomyLab, Universidad Simon Fraser), Thomas Bamford (Laboratorio de Sistemas Din´amicos, Universidad de Toronto) y Tobias Naegeli (Laboratorio de Tecnolog´ıas Interactivas Avanzadas, ETH Z¨urich) [?].

Este driver funciona sobre ROSIndigo, Jade oKinetic y solo ha sido probado en Ubuntu. Por otra parte, el driver trae el paquetebebop tools que viene con un archivo de lanzamiento para teleoperar el Bebop. A trav´es de este paquete es posible enviar al quadricoptero comandos de despegar, aterrizar, emergencia, pilotear y mover la c´amara virtual.

Despegar: Publicar un mensaje de tipo std msgs/Empty al tematakeoff. Aterrizar: Publicar un mensaje de tipo std msgs/Empty al tema land. Emergencia: Publicar un mensaje de tipo std msgs/Empty al temareset. Pilotear: Para mover el Bebop alrededor, se publican mensajes del tipo geo-metry msgs/Twist al tema cmd vel mientras Bebop est´a volando. El efecto de cada campo del mensaje en el movimiento de Bebop se muestra a continuaci´on:

linear.x (+) Translate forward () Translate backward linear.y (+) Translate to left

() Translate to right linear.z (+) Ascend

() Descend

angular.z (+) Rotate counter clockwise () Rotate clockwise

El rango aceptable para todos los campos es [1..1]. El drone ejecuta el ´ultimo comando recibido mientras el controlador est´a en ejecuci´on. Este comando se resta-blece a cero cuando se recibe el comando de despegue, aterrizaje o emergencia. Para

(42)

24 5. Sistema operativo de robots (ROS)

hacer que el Bebop flote y mantenga su posici´on actual, debe publicar un mensaje con todos los campos establecidos en cero en cmd vel.

Las partes linear.x y lineal.y de este mensaje fijan los ´angulos de pitch y de roll del Bebop, respectivamente, controlando as´ı sus aceleraciones delantera y lateral. Los ´

angulos de pitch/roll resultantes dependen del valor del par´ametro PilotingSettings-˜ MaxTiltCurrent, que se especifica en grados y es din´amicamente reconfigurable.

La parte linear.z de este mensaje controla la velocidad vertical del Bebop. La velocidad resultante en m/s depende del valor del par´ametroSpeedSettingsMaxVerti-˜ calSpeedCurrent, que se especifica en metros por segundo y tambi´en es din´amicamente reconfigurable. De forma similar, el componente angular.z de este mensaje controla la velocidad de rotaci´on del Bebop (alrededor del eje z). El par´ametro de escala co-rrespondiente es SpeedSettingsMaxRotationSpeedCurrent (en grados por segundo).

roll degree = linear.y * max tilt angle pitch degree = linear.x * max tilt angle ver vel m per s = linear.z * max vert speed rot vel deg per s = angular.z * max rot speed Con este driver es posible adaptar el archivo a un controlador propio.

(43)

Cap´ıtulo 6

Sistema de exploraci´

on en

ambientes forestales basado en

aprendizaje profundo

6.1.

Estrategia del sistema

El sistema de vuelo realiza la detecci´on y evasi´on de obst´aculos en ambientes forestales de manera reactiva. El enfoque aplicado se basa en la utilizaci´on de una red neuronal convolucional como clasificador de la escena captada por la c´amara monocular a bordo del quadrotor y a partir de ella mapear a la salida el comando de control de vuelo. A continuaci´on, se presentan la pol´ıtica de vuelo para el control del dron y las caracter´ısticas de la red neuronal convolucional empleada.

6.2.

Pol´ıtica de vuelo

La pol´ıtica de vuelo que se propone es simple, permitiendo evaluar el desempe˜no de la CNN para ´esta aplicacion. A partir de los resultados obtenidos es posible proponer pol´ıticas de vuelo m´as complejas y que mejoren el vuelo del VANT. El objetivo de vuelo del veh´ıculo es dirigirse de manera frontal siempre y cuando no se encuentre un ´

arbol en el ´area de vuelo normal, en caso de encontrarse con un ´arbol debe realizar la maniobra de evasi´on hacia la derecha hasta que de nuevo encuentre un ´area de vuelo libre.

La figura?? representa un esquema general del comportamiento deseado cuando el UAV vuela, detecta y evita un ´arbol mientras vuela hacia adelante. La CNN se

(44)

26 6. Sistema de exploraci´on en ambientes forestales basado en aprendizaje profundo

Figura 6.1: Vista superior de maniobra de evasi´on.

ejecuta todo el tiempo mientras recibe las im´agenes capturadas con la c´amara a bordo del VANT. Los resultados de la clasificaci´on de cada imagen pueden ser de dos clases: a. espacio libre, lo cual indica que el VANT debe continuar volando de frente (ver figura ??), ya que no hay un obstaculo suficientemente cerca; b. obst´aculo, la cual indica que el VANT se encuentra frente a un ´arbol y se realiza la evasi´on (ver figura

??). Lo anterior se logra enviando el comando de velocidad al controlador roll que genera el desplazamiento lateral hacia la derecha.

Figura 6.2: Esquema del comportamiento esperado del quadrotor con la calse frente. La primera columna muestra la representaci´on de la vista de la c´amara cuando el quadrotor se acerca al ´arbol; la segunda columna muestra el movimiento correspondidente que se genera al enviar el comando de control de avanzar, finalmente en la tercera columna el dron finaliza su movimiento en el momento en el que el sistema detecta que se acaba el espacio para avanzar.

(45)

6.3 Arquitectura de la red basada en AlexNet 27

Figura 6.3: Esquema del comportamiento esperado del quadrotor al momento de la detecci´on del obst´aculo. La primera columna muestra el momento a partir del cual se inicia la maniobra de evasi´on, la segunda el desplazamiento hacia la derecha respondiendo a la pol´ıtica de vuelo y finalmente el dron se detiene para luego continuar avanzando.

6.3.

Arquitectura de la red basada en AlexNet

Como se mencion´o, las redes neuronales convolucionales se construyen a partir de capas que involucran al menos una capa de convoluci´on; en este caso, se us´o la red pre-entrenada AlexNet, para crear una red de clasificaci´on binaria a partir de la cual determinar si el quadrotor deber´ıa avanzar de frente o no, por lo cual las salidas de la red son obst´aculo o espacio libre. En la figura ?? se representa la arquitectura de red.

Figura 6.4: Esquema de la red neuronal convolucional basada en la arquitectura AlexNet.

(46)
(47)

Cap´ıtulo 7

Experimentos y resultados

7.1.

Plataforma de vuelo: Parrot

R

BEBOP 2.0

Tanto para la captura de las im´agenes como para las pruebas en tiempo real se emple´o el veh´ıculo BEBOP 2 de la compa˜n´ıa ParrotR (ver figura??). Esta plataforma

tiene 4 motores sin escobillas Outrunner, PA12 estructura reforzada de fibra de vidrio (20 %) y Grilamid (casco) con un peso de 500 g y sus dimensiones 38×33×9 cm.

Es un quadrotor equipado con una c´amara de 14 Megap´ıxeles y un lente Sunny “ojo de pez”, una resoluci´on de video de 1920×1080 p (30 fps). Tiene conectidad Wifi (802.11) con un alcance de 300 m. El veh´ıculo ofrece una autonom´ıa de 25 minutos de vuelo con una bater´ıa 2700mAh [?].

Figura 7.1: ParrotR BEBOP 2.0.

Fuente: [?].

7.2.

Base de datos

Los datos usados en redes neuronales convolucionales consisten en diferentes ca-nales, donde cada uno es la observaci´on de diferentes cantidades en alg´un punto en el tiempo o el espacio [?]. En este caso se trabaj´o con muestras de entrenamiento y

(48)

30 7. Experimentos y resultados

Figura 7.2: Esquema del proceso de toma de im´agenes de las clasesespacio libre yobst´aculo

validaci´on con igual n´umero de canales que corresponden a im´agenes RGB obtenidas con la c´amara monocular frontal del VANT quadrotor. Se construyeron dos bases de datos, para las cuales fueron adquiridas im´agenes cargando manualmente el quadro-tor y caminando a trav´es de diferentes escenarios forestales. El tama˜no de captura de las im´agenes fue de 720×840. Para el entrenamiento y ejecuci´on de la red neuronal convolucional la resoluci´on es reducida a un tama˜no final de 227×227 pixels.

La base de datos est´a formada por 12,000 ejemplos, 6,000 etiquetados de clase

espacio libre y los restantes 6,000 etiquetados de clase obst´aculo. Los primeros fueron obtenidos caminando alrededor de un ´arbol a m´as de 100 cm. Los ejemplos de la clase

obst´aculo fueron obtenidos caminando alrededor del ´arbol pero a distancias menores de 30 cm variando la altura del VANT de 30 cm a 160 cm del suelo. La figuras ?? y

?? son algunos ejemplos de las im´agenes tomadas para cada una de las clases.

(49)

7.3 Entrenamiento y validaci´on de la CNN 31

Figura 7.4: Ejemplos de im´agenes de claseespacio libre.

7.3.

Entrenamiento y validaci´

on de la CNN

La base de datos inicialmente se dividi´o en dos grupos, uno para entrenamiento y el otro para validaci´on, cada uno con la mitad de las muestras de cada clase y separados de forma aleatoria. El resultado de dicho entrenamiento fue el empleado para para evaluaci´on del sistema en ambiente real. El entrenamiento de la red neuronal profunda se ejecut´o en una computadora equipada con una tarjeta NVIDIA GeForce GTX 970M GPU.

Para la sintonizaci´on fina de la red neuronal convolucional con la nueva base de datos, se emple´o gradiente descendiente, con un m´aximo de 20 iteraciones. Como lo deseado con el proceso de transferencia de aprendizaje es mantener las caracter´ısticas de las capas pre-entrenadas (los pesos de las capas transferidas), se seleccion´o una tasa de aprendizaje inicial baja, mientras que la taza de aprendizaje de las capas a reentrenar (las ´ultimas 3) se seleccion´o de valor alto.

Una vez entrenada la red se generan en total 56’211,970 par´ametros, de los cuales 1’669,632 corresponden a las capas convolucionales y 54’542,338 corresponden a las capas completamente conectadas.

7.3.1.

Visualizaci´

on de los mapas de caracter´ısticas

La tabla??muestra la red neuronal profunda, se listan las principales propiedades de cada capa y los mapas de caracter´ısticas de cada etapa de convoluci´on.

(50)

32 7. Experimentos y resultados

Tabla 7.1: Principales propiedades de cada capa de la red implementada con base a la arquitectura de la red AlexNet con dos clases y vista de los mapas de caracter´ısticas de cada etapa de convoluci´on.

C0-Capa de entrada

Tama˜no de entrada: [227 227 3]

C1-Capa convolucional

Num. Canales: 3

Tama˜no de filtros: [11 11] Num. Filtros: 96 Paso: [4 4] Padding: [0 0]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0]

C2-Capa convolucional

Num. Canales: [48 48]

Tama˜no de filtros: [5 5] Num. Filtros: [128 128] Paso: [1 1] Padding: [2 2]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0]

C3-Capa convolucional

Num. Canales: [48 48]

Tama˜no de filtros: [5 5] Num. Filtros: [128 128] Paso: [1 1] Padding: [2 2]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0]

C4-Capa convolucional

Num. Canales: [48 48]

Tama˜no de filtros: [5 5] Num. Filtros: [128 128] Paso: [1 1] Padding: [2 2]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0] Tama˜no de entrada: [227 227 3]

C5-Capa convolucional

Num. Canales: [48 48]

Tama˜no de filtros: [5 5] Num. Filtros: [128 128] Paso: [1 1] Padding: [2 2]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0]

C6-Capa completamente conectada1

Tama˜no de entrada: 9216 Tama˜no de salida: 4096

C7-Capa completamente conectada

Tama˜no de entrada: 4096 Tama˜no de salida: 4096

C-Capa completamente conectada

Tama˜no de entrada: 4096 Tama˜no de salida: 2

(51)

7.3 Entrenamiento y validaci´on de la CNN 33

7.3.2.

Visualizaci´

on de las activaciones de la CNN

La visualizaci´on de las activaciones de las capas convolucionales de la CNN, revela el est´ımulo que produce la excitaci´on de mapas de caracter´ısticas individuales con una entrada particular. Este m´etodo permite observar la evoluci´on de las caracter´ısticas en las diferentes etapas de la red.

Las figuras a continuaci´on corresponden a los mapas de caracter´ısticas generados para la primera capa convolucional junto a un zoom del mapa que present´o l´os m´ axi-mos valores de activaci´on de cada capa. Los valores de activaci´on representados en las im´agenes no corresponden a los valores reales de activaci´on sino a la normalizaci´on. El valor de activaci´on m´as alto corresponde al color blanco mientras que el valor de activaci´on m´as bajo corresponde al color negro. Las activaciones de todas las capas convolucionales pueden ser vistas en el ap´endice ??.

(a) Activaciones (b) M´axima activaci´on (F-90)

Figura 7.5: Activaciones de la primera capa convolucional para imagen de claseespacio libre.

(a) Activaciones (b) M´axima activaci´on (F-85)

Figura 7.6: Activaciones de la primera capa convolucional para imagen de claseobst´aculo.

En la figura??se puede ver la evoluci´on de las activaciones m´aximas de cada capa convolucional. La gama de las figuras corresponde a la normalizaci´on de los valores.

(52)

34 7. Experimentos y resultados

Se puede notar c´omo a medida que se avanza en las capas de convoluci´on son m´as los valores de activaci´on altos de las im´agen de claseobst´aculo mientras que en la imagen de claseespacio libre son muchos m´as los valores de activaci´on bajo.

(a)Espacio libre (b) Obst´aculo

(c) Espacio libre (d) Obst´aculo

(e) Espacio libre (f) Obst´aculo

(g)Espacio libre (h) Obst´aculo)

(i) Espacio libre (j) Obst´aculo

Figura 7.7: Evoluci´on de las activaciones de las capas convolucionales.

Este es un enfoque no param´etrico de ver la invarianza, muestra cuales patrones del conjunto de entrenamiento activan los mapas de caracter´ısticas.

(53)

7.3 Entrenamiento y validaci´on de la CNN 35

7.3.3.

Validaci´

on de la CNN

Para la validaci´on la red neuronal profunda y garantizar la independencia de los resultados a la partici´on de los datos en los conjuntos de entrenamiento y prueba, se llev´o a cabo un proceso de validaci´on cruzada de 5 iteraciones.

En la tabla??se muestran los resultados, el promedio de clasificaci´on de los datos fue del 100

Tabla 7.2: validaci´on cruzada de 5 iteraciones

Grupos de entrenamiento Grupo de validaci´on Error de Validaci´on g2, g3, g4, g5 g1 100 %

g1, g3, g4, g5 g2 100 % g1, g2, g4, g5 g3 100 % g1, g2, g3, g5 g4 100 % g1, g2, g3, g5 g5 100 %

7.3.4.

Validaci´

on del sistema

La implementaci´on del sistema se muestra en la figura ??. consta de una c´amara frontal a bordo del dron y una estaci´on en tierra que se enlazan usando una red wifi. Una vez una imagen es enviada a la estaci´on se hace el procesamiento visual, se ejecuta el algoritmo de control y son devueltos al veh´ıculo los comandos de vuelo.

Figura 7.8: Esquema de la implementaci´on del sistema en tiempo real.

(54)

36 7. Experimentos y resultados

La validaci´on del sistema completo fue desarrollada en tiempo real. Los experimen-tos tuvieron lugar en diferentes escenarios con ´arboles. Cada experimento consisti´o en el vuelo aut´onomo a trav´es de una trayectoria donde el VANT se encontraba de frente con: un ´arbol, dos ´arboles o tres ´arboles. Cada vuelo fue catalogado como ´ exi-toso o fallido. Durante los vuelos exiexi-tosos el VANT mantuvo vuelo frontal y realiz´o las maniobras para evitar el choque con los ´arboles. Los resultados se presentan en la tabla ??.

Tabla 7.3: Resultados de los vuelos de prueba.

´

Arboles en la trayectoria Vuelos totales Vuelos exitosos Validaci´on

1 25 24 96 %

2 10 20 100 %

3 3 9 100 %

En la figura??se muestra una secuencia de las tomas de la c´amara a bordo VANT quadrotor y de la vista exterior de su comportamiento. En cada toma se enuncian la clase generada por la red neuronal convolucional profunda y la fase de vuelo.

(a) Clase:espacio libre. Vuelo frontal. (b) Clase:espacio libre. Vuelo frontal.

(c) Clase: obst´aculo. Inicia maniobra eva-siva.

(55)

7.4 Modificaci´on del enfoque original 37

(e) Clase:obst´aculo. Maniobra evasiva. (f) Clase: obst´aculo. Fin de maniobra eva-siva.

(g) Clase:espacio libre. Vuelo frontal. (h) Clase:espacio libre. Vuelo frontal.

Figura 7.9: Secuencia de vuelo del quadrotor con ´arbol al frente. Vista exterior y vista de la c´amara a bordo del dron.

La tabla ??muestra los resultados de las pruebas en funci´on de la evasi´on indivi-dual de los ´arboles.

Tabla 7.4: Resultados de detecci´on.

´

Arboles totales Arboles evadidos´ Impactos con ´arboles Validaci´on

54 53 1 97.36 %

7.4.

Modificaci´

on del enfoque original

Con el fin de suavizar la transici´on de velocidades de la etapa de vuelo normal a la etapa de evasi´on, se modifica el enfoque presentado anteriormente, estableciendo una nueva clase en la red neuronal convolucional profunda. El nuevo enfoque considera las clasesespacio libre,obst´aculo lejos yobst´aculo cerca(ver figura ). Con esta nueva clase se busca lograr la detecci´on temprana del ´arbol e iniciar la reducci´on de la velocidad

(56)

38 7. Experimentos y resultados

hasta el momento en el que la red detecta la claseobst´aculo cerca y entonces se ejecuta la maniobra evasiva hacia la derecha.

Figura 7.10: Ejemplos de im´agenes de claseobst´aculo cerca

La nueva base de datos est´a formada por 45,000 ejemplos, 15,000 etiquetados de claseespacio libre, 15,000 etiquetados de claseobst´aculo lejos y los restantes 6,000 eti-quetados de claseobst´aculo cerca. Los primeros fueron obtenidos caminando alrededor de 5 ´arboles a m´as de 200 cm.

Los ejemplos de la clase obst´aculo lejos fueron obtenidos caminando alrededor del ´

arbol a distancias entre 50 cm y 150 cm mientras que los ejemplos de la claseobst´aculo cerca se tomaron a una distancia aproximada de 30 cm del ´arbol. En todos los casos se vari´o la altura del VANT de 30 cm a 160 cm del suelo. En la figura ??se muestra un esquema del proceso de toma de de im´agenes y en las figuras ??, ?? y ?? son algunos ejemplos de las im´agenes tomadas para cada una de las clases.

Figura 7.11: Esquema del proceso de toma de im´agenes de las clases espacio libre, obst´aculo lejos y obst´aculo cerca

(57)

7.4 Modificaci´on del enfoque original 39

Figura 7.12: Ejemplos de im´agenes de claseobst´aculo cerca

Figura 7.13: Ejemplos de im´agenes de claseobst´aculo lejos

Figura 7.14: Ejemplos de im´agenes de claseespacio libre

(58)

40 7. Experimentos y resultados

7.4.1.

Entrenamiento y validaci´

on de la CNN

Los par´ametros de entrenamiento y la estrategia de validaci´on para la nueva red neuronal convolucional son los empleados en el enfoque original.

7.4.2.

Visualizaci´

on de las activaciones y de los mapas de

caracter´ıstica

(a) Espacio libre (b)Obst´aculo lejos (c) Obst´aculo cerca

(d) Espacio libre (e) Obst´aculo lejos (f) Obst´aculo cerca

(g) Espacio libre (h)Obst´aculo lejos (i) Obst´aculo cerca

(j) Espacio libre (k)Obst´aculo lejos (l) Obst´aculo cerca

(m) Espacio libre (n)Obst´aculo lejos (˜n) Obst´aculo cerca

(59)

7.4 Modificaci´on del enfoque original 41

Tabla 7.5: Principales propiedades de cada capa de la red implementada con base a la arquitectura de la red AlexNet con 3 clases y vista de los mapas de caracter´ısticas de cada etapa de convoluci´on.

C0-Capa de entrada

Tama˜no de entrada: [227 227 3]

C1-Capa convolucional

Num. Canales: 3

Tama˜no de filtros: [11 11] Num. Filtros: 96 Paso: [4 4] Padding: [0 0]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0]

C2-Capa convolucional

Num. Canales: [48 48]

Tama˜no de filtros: [5 5] Num. Filtros: [128 128] Paso: [1 1] Padding: [2 2]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0]

C3-Capa convolucional

Num. Canales: [48 48]

Tama˜no de filtros: [5 5] Num. Filtros: [128 128] Paso: [1 1] Padding: [2 2]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0]

C4-Capa convolucional

Num. Canales: [48 48]

Tama˜no de filtros: [5 5] Num. Filtros: [128 128] Paso: [1 1] Padding: [2 2]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0] Tama˜no de entrada: [227 227 3]

C5-Capa convolucional

Num. Canales: [48 48]

Tama˜no de filtros: [5 5] Num. Filtros: [128 128] Paso: [1 1] Padding: [2 2]

Capa ReLU

Capa de normalizaci´on Capa max Pooling

Tama˜no Pool: [3 3] Paso: [2 2] Padding: [0 0]

C6-Capa completamente conectada2

Tama˜no de entrada: 9216 Tama˜no de salida: 4096

C7-Capa completamente conectada

Tama˜no de entrada: 4096 Tama˜no de salida: 4096

C-Capa completamente conectada

Tama˜no de entrada: 4096 Tama˜no de salida: 3

(60)

42 7. Experimentos y resultados

Una vez entrenada la red se generan en total 56’216,067 par´ametros, de los cuales 1’669,632 corresponden a las capas convolucionales y 54’546435 corresponden a las capas completamente conectadas.

7.4.3.

Validaci´

on de la CNN

Para la validaci´on la nueva red neuronal profunda igual se llev´o a cabo el proceso de validaci´on cruzada de 5 iteraciones.

En la tabla??se muestran los resultados, el promedio de clasificaci´on de los datos fue del 100

Tabla 7.6: 5-Fold Cross-Validation

Grupos de entrenamiento Grupo de validaci´on Validaci´on g2, g3, g4, g5 g1 100 % g1, g3, g4, g5 g2 100 % g1, g2, g4, g5 g3 100 % g1, g2, g3, g5 g4 100 % g1, g2, g3, g5 g5 100 %

7.4.4.

Validaci´

on del sistema

La metodolog´ıa de validaci´on del sistema completo fue desarrollada en tiempo real de la misma manera que en el caso del enfoque incial y al igual que la implementaci´on del sistema (ver figura ??).

Los experimentos tuvieron lugar en diferentes escenarios con ´arboles. Cada expe-rimento consisti´o en el vuelo aut´onomo a trav´es de una trayectoria donde el VANT se encontraba de frente con un ´arbol. Cada vuelo fue catalogado como ´exitoso o fallido. Durante los vuelos exitosos el VANT mantuvo vuelo frontal a una velocidad alta y al momento de encontrarse con un ´arbol a una distancia prudente se disminuy´o la velocidad para finalmente realizar la maniobra evasiva. Los resultados se presentan en la tabla ??.

(61)

7.4 Modificaci´on del enfoque original 43

Tabla 7.7: Resultados de los vuelos de prueba.

´

Arboles en la trayectoria Vuelos totales Vuelos exitosos Validaci´on

1 10 10 100 %

En la figura??se muestra una secuencia de las tomas de la c´amara a bordo VANT quadrotor y de la vista exterior de su comportamiento. En cada toma se enuncian la clase generada por la red neuronal convolucional profunda y la fase de vuelo.

(a) Clase:espacio libre. Vuelo frontal r´apido. (b) Clase:espacio libre. Vuelo frontal r´apido.

(c) Clase:obst´aculo lejos. Vuelo frontal lento. (d) Clase:obst´aculo lejos. Vuelo frontal lento.

(e) Clase:obst´aculo cerca. Vuelo evasivo. (f) Clase:obst´aculo cerca. Vuelo evasivo.

(62)

44 7. Experimentos y resultados

(g) Clase:espacio libre. Fin de evasi´on. (h) Clase:espacio libre. Vuelo frontal r´apido.

Figura 7.16: Secuencia de vuelo del quadrotor con ´arbol al frente. Vista exterior y vista de la c´amara a bordo del dron.

Con este enfoque se consigui´o que el VANT lograra un mejor comportamiento en cuanto a la velocidad a la que desplaz´o. Ya que durante el tiempo de vuelo frontal en ´areas de vuelo despejadas la velocidad de vuelo se incrementa y al detectar un obst´aculo a una distancia prudente se disminuye. Este proceso facilita el cambio de la direcci´on de desplazamiento a la hora de hacer la evasi´on y se evita una posible colisi´on debida a los retardos del sistema.

(63)

Cap´ıtulo 8

Conclusiones

Con este primer intento por lograr un sistema de vuelo aut´onomo para VANT en ambientes forestales sin acceso a GPS o a un mapa previo del lugar, se consigui´o probar la efectividad de las redes neuronales convolucionales profundas, ya que se logr´o un enfoque de clasificaci´on de la escena que permite ejecutar una pol´ıtica de vuelo evasivo. El sistema es aplicable a VANT de peque˜na escala que cuenten con una c´amara monocular y un sistema de control de orientaci´on incorporado.

Se desarrollaron dos enfoques del sistema. El primero basado en una red que clasifica la escena vista por el VANT en dos grupos, el primero correspondiente a la clase espacio libre y el segundo a la clase obst´aculo. Las clases implican dos tipos de movimiento para el VANT, el primero corresponde a un desplazamiento frontal a una velocidad constante y el segundo a la maniobra evasiva que corresponde a un desplazamiento lateral derecho a una velocidad constante. Con este primer sistema se observ´o que apesar de que la clasificaci´on de la escena se daba oportunamente, el tiempo de procesamiento y de ejecuci´on de la maniobra provocaban que la maniobra se realizara muy cerca del ´arbol limitando la velocidad de vuelo del VANT.

El segundo enfoque es una variante del primero y con este se busca que la transici´on de un movimiento al otro sea m´as suave y que la maniobra de evasi´on se realice sin riesgo de chocar. Consiste en clasificar las escenas vistas por el VANT en tres grupos, el primero correspondiente a la clase espacio libre, el segundo a la clase obst´aculo lejos y el tercero a la clase obst´aculo cerca. Las clases implican tres tipos de moviento para el VANT, el primero corresponde a un desplazamiento frontal a una velocidad constante, el segundo a un desplazamiento frontal pero con reducci´on de velocidad y el tercero a la maniobra evasiva que corresponde a un desplazamiento lateral derecho a una velocidad constante. Con este enfoque se consigui´o que el VANT viajara a una mayor velocidad y se demostr´o la capacidad de la red para clasificar distancia.

Referencias

Documento similar

La Normativa de evaluación del rendimiento académico de los estudiantes y de revisión de calificaciones de la Universidad de Santiago de Compostela, aprobada por el Pleno or-

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o

Se estima una distancia de más de 11 millones de años luz hablando de una cantidad de sistemas solares que no tendrían espacio en nuestra mente y esto solo hablando del grupo

A medida que las organizaciones evolucionan para responder a los cambios del ambiente tanto para sobrevivir como para crecer a partir de la innovación (Stacey, 1996), los

En cuarto lugar, se establecen unos medios para la actuación de re- fuerzo de la Cohesión (conducción y coordinación de las políticas eco- nómicas nacionales, políticas y acciones

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería

Tome el MacRm media libra de Manecca de puerca ,media Je Manmca de Bac media de A- yre Rolado ,media de Azeyre Violado, y re poMc'tn holla vi- driadaafuegommfo,paza que

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,