Tesis "Arquitectura de Hardware Basada en FPGA para la Extracción de Características Locales en Imágenes"
Alumno: Juan Ángel García Reyes
Asesor: Dr. José Gabriel Ramírez Torres
Sinodales: Dr. Eduardo A. Rodríguez Tello, Dr. Gregorio Toscano Pulido
Resumen:
Las características locales de la imagen son píxeles sobresalientes de la imagen que son únicos e idealmente consistentes. Esta detección ocurre comúnmente debido a cambios bruscos en los valores de intensidad de la imagen u otra propiedad que los diferencia de los píxeles en la región vecina. Los descriptores son generados mediante el procesamiento de los pixeles que rodean la la posición de la característica a describir, los cuales son representados mediante un vector n-dimensional que captura información de alguna propiedad fotométrica.
Hoy en día, este tipo de características visuales son un enfoque común para el registro de imágenes de manera compacta y ha demostrado ser exitoso en varias aplicaciones de visión por computadora, que van desde el reconocimiento de objetos y la realidad aumentada, hasta la localización de robots y la reconstrucción 3D monocular. La automatización y navegación autónoma son algunas de las competencias más difíciles requeridas por un robot móvil, especialmente vehículos aéreos no tripulados. El éxito en la navegación requiere el éxito en las primeras etapas de procesamiento como la percepción y el conocimiento del entorno. El desarrollo de algoritmos de visión por computadora relacionados con vehículos aéreos no tripulados impone desafíos adicionales, pues los sistema de percepción deben producir resultados que no sólo son numéricamente correctos, sino también cumplir con las limitaciones de tiempo de respuesta requeridos para las funciones de control del vehículo. La detección y extracción de características locales de la imagen es una tarea demandante, que requiere el procesamiento de millones de píxeles. Las investigaciones recientes sobre visión por computadora para tareas relacionadas con vehículos aéreos no tripulados resalta la complejidad del proceso, mostrando que más del 90% del tiempo de CPU consumido en el procesamiento de las CLI. En particular, el sistema de percepción a acelerar es incapaz ejecutarse en tiempo real debido a la sobrecarga introducida en la extracción de características de la imagen.
El rendimiento de las aplicaciones de procesamiento de imágenes ha sido en gran medida ligada a los avances en la velocidad de operación de los procesadores secuenciales. Los algoritmos de visión por computadora son cada vez más demandantes, pues requieren el procesamiento de imágenes de mayor resolución a mayor velocidad de captura. Por lo tanto, las aplicaciones de sistemas embebidos tienen que optar por soluciones alternativas para aumentar la velocidad de procesamiento, en lugar de simplemente confiar en el aumento de las frecuencias de operación en procesadores secuenciales. El diseño de arquitecturas de hardware dedicadas, especialmente basadas en FPGA, es especialmente beneficioso ya que es inherentemente paralelo y permite el prototipado rápido de componentes. Los algoritmos pueden ser divididos para ejecutarse de diferentes maneras y pueden realizar cálculos de manera completamente independiente. Para el cómputo masivo de datos o el cálculo de un gran número de operaciones matemáticas, un FPGA puede ser una ventaja sobre un sistema basado un procesador secuencial.
Basándose en que esto podría conducir hacia un sistema de percepción visual en tiempo real para vehículos aéreos no tripulados, en este trabajo, se presenta una arquitectura de hardware dedicado para la extracción de características locales de la imagen. La arquitectura propuesta se basa en el uso de la imagen integral con un enfoque de bajo consumo de memoria, las características locales de la imagen se detectan con suSURF y se describen con un método simple basado en OSIFT. La arquitectura propuesta es prototipada en una FPGA y diseñada para mejorar significativamente el rendimiento.