Detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos

Este documento presenta el desarrollo de un sistema de detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos. El primer paso, consistió en seleccionar un tipo de dataset que permitiera entrenar el sistema de una manera consistente a la realidad de la conducción humana;...

Full description

Autores:
Dussan Narvaez, German Andres
Mosquera Victoria, Camilo Andres
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2020
Institución:
Universidad Autónoma de Occidente
Repositorio:
RED: Repositorio Educativo Digital UAO
Idioma:
spa
OAI Identifier:
oai:red.uao.edu.co:10614/12295
Acceso en línea:
http://red.uao.edu.co//handle/10614/12295
Palabra clave:
Ingeniería Mecatrónica
Seguimiento de múltiples objetos
Carros autónomos
Filtro de kalman
Evaluacion IOU
YOLO
Vehículos autónomos
Detectores de vehículos
Autonomous vehicles
Vehicle detectors
Rights
openAccess
License
Derechos Reservados - Universidad Autónoma de Occidente
Description
Summary:Este documento presenta el desarrollo de un sistema de detección y seguimiento de múltiples objetos en tiempo real para vehículos autónomos. El primer paso, consistió en seleccionar un tipo de dataset que permitiera entrenar el sistema de una manera consistente a la realidad de la conducción humana; el tipo seleccionado fue el Dashcam, que consiste en videos tomados desde una cámara localizada en el parabrisas del auto, grabando continuamente la vista frontal de la carretera. El segundo paso, consistió en seleccionar dos técnicas, una para detección de vehículos y la otra para seguimiento de estos. Dado los grandes avances que se han obtenido en la última década en sistemas basados en inteligencia artificial, se hizo uso de esta para crear el sistema de detección basado en el uso de una red convolucional You Only Look Once (YOLO) de la interfaz Darknet. Este sistema funciona de manera supervisada en su fase de entrenamiento y ha demostrado ser capaz de detectar una gran cantidad de diferentes clases de objetos. Para nuestro caso particular, se realizó un reentrenamiento con el fin de que la detección se limitará solo a vehículos. En este orden de ideas, para realizar la detección, cada imagen procesada es dividida en SxS celdas, sobre las cuales se predicen N posibles cajas delimitadoras de objetos, a las cuales les es asignado una probabilidad basados en el grado de certidumbre relativo al objeto que se desea aprender a detectar. Después de obtener estas predicciones se procede a eliminar las cajas que estén por debajo de un umbral previamente definido. A las cajas restantes se les eliminan posibles objetos que fueron detectados por duplicado y se mantiene únicamente el más exacto de ellos. Con el fin de garantizar una conducción segura, cada vehículo detectado debe ser posteriormente seguido mientras este se encuentre dentro del rango de actuación del vehículo autónomo. Dado que en un ambiente real se pueden tener varias detecciones de diferentes vehículos al mismo tiempo, el seguimiento de cada uno de ellos de manera precisa y eficiente fue llevado a cabo utilizando un estimador conocido como Filtro de Kalman, el cual fue replicado para crear un banco de estimadores, de manera tal que cada estimador dentro del banco sea asignado a un vehículo en particular detectado dentro de la escena. La detección y el posterior seguimiento de cada vehículo dentro de la escena, por sí solas, no permiten al vehículo autónomo tomar decisiones acerca de frenado y reducción o aumento de velocidad. Para esto, se hace imprescindible calcular las 14 distancias relativas entre cada vehículo detectado y el vehículo autónomo, lo cual se logró utilizando una transformación de perspectiva. Después de la selección de los algoritmos de detección y seguimiento, se prosiguió con la validación de estos mismos. Cabe resaltar que, para obtener buenos resultados, se analizaron previamente diferentes dataset los cuales debían contener, para nuestro caso específico, muestras de imágenes de diferentes clases de carros. Teniendo en cuenta lo mencionado, se utilizó una tarjeta JETSON NVIDIA TK1 que permitió compilar los algoritmos eficientemente gracias a la GPU integrada en la tarjeta embebida. Finalmente, esta tarjeta fue montada sobre un vehículo para realizar pruebas de detección, seguimiento y posterior toma de decisiones en cuanto a manejo reactivo en tiempo real