Metodología de diseño y síntesis sobre hardware reconfigurable de arquitecturas de procesamiento de imágenes en tiempo real

  1. RUBIO IBÁÑEZ, PABLO
Dirigida por:
  1. Ginés Doménech Asensi Director
  2. José Javier Martínez Álvarez Codirector

Universidad de defensa: Universidad Politécnica de Cartagena

Fecha de defensa: 27 de octubre de 2022

Tribunal:
  1. Miguel Ángel Zamora Izquierdo Presidente/a
  2. Francisco Javier Garrigós Guerrero Secretario
  3. Cristina López Bravo Vocal

Tipo: Tesis

Resumen

Resumen de la tesis: El diseño de sistemas por computador embebido es un campo de investigación con un enorme potencial de crecimiento. Cada vez se precisan más sistemas capaces de realizar tareas de identificación o reconocimiento de personas, animales u objetos sobre imágenes de gran tamaño y, en el caso de los sistemas portátiles, con el menor consumo de energía posible. Sin embargo, algunos de estos algoritmos son complejos y su integración sobre hardware no es sencilla, puesto que requieren, en una etapa previa, una simplificación que permita adaptarlos a las características propias y a las limitaciones de los recursos hardware de la tecnología electrónica sobre la que se van a implementar. Por otra parte, el diseño de sistemas electrónicos de visión por computador es un proceso que requiere cada vez más de la participación de ingenieros cualificados tanto en el campo del diseño electrónico como en el de la inteligencia artificial, y más concretamente en el ámbito de las redes neuronales de aprendizaje profundo. Durante la última década hemos asistido a la expansión de este tipo de redes que han comenzado a reemplazar, en algunas aplicaciones, a técnicas clásicas de extracción de características. Este hecho se debe en parte a la flexibilidad que presentan para resolver diferentes problemas de visión por computador en aplicaciones tan diversas como la robótica, la medicina, los sistemas de transporte autónomos, etc. exhibiendo, en muchos casos, una eficiencia superior al de los algoritmos clásicos de identificación o reconocimiento de patrones. Al amparo de esta expansión, se ha desarrollado igualmente un ecosistema de lenguajes y bibliotecas de programación orientados a facilitar y acelerar el diseño de este tipo de redes y su aplicación sobre bases de datos de imágenes de tamaño ingente. Sin embargo, el paso de generar diseños electrónicos a partir de los diseños obtenidos con estas herramientas no es trivial y depende de la experiencia del ingeniero y, sobre todo, de un largo proceso de diseño . Esta Tesis Doctoral aborda el estudio y la propuesta de arquitecturas hardware digitales para la realización de tareas de visión por computador. En concreto, la Tesis se centra en el diseño a nivel de registro tanto de módulos empleados en algoritmos de extracción de características como de módulos utilizados para la construcción de redes neuronales de aprendizaje profundo empleadas para el reconocimiento e identificación de objetos. En el caso de las técnicas de extracción de características, tras una revisión bibliográfica de los algoritmos más utilizados, esta Tesis toma como referencia el algoritmo SIFT, basado en la extracción y etiquetado de puntos característicos de una imagen, cuya primera etapa es común a otros algoritmos de este tipo como el SURF. Las diferentes implementaciones hardware de este algoritmo propuestas en la bibliografía científica tienden a obviar, debido a su complejidad, dos etapas que aumentan el número de puntos característicos y la precisión de la localización de los mismos sobre la imagen. En este trabajo se ha planteado la implementación hardware de dichas etapas como hipótesis para mejorar el rendimiento de las implementaciones digitales del algoritmo. Con respecto a las redes neuronales, esta Tesis propone el uso de una herramienta software de síntesis automática capaz de generar diseños hardware a nivel de registro a partir de las descripciones de alto nivel de redes neuronales de aprendizaje profundo. La hipótesis planteada es que el uso de esta herramienta puede generalizar y abaratar la implementación de este tipo de redes sobre dispositivos embebidos debido a la reducción del tiempo de diseño y la facilidad de su implementación. Los principales resultados obtenidos durante la realización de esta Tesis Doctoral han sido los siguientes: i) el desarrollo e implementación a nivel de registro de dos de los módulos hardware empleados en la primera etapa del algoritmo SIFT. Por una parte, se ha desarrollado el escalado de imágenes en tiempo real para su aplicación tanto en la primera etapa del algoritmo SIFT como en cualquier otro algoritmo que precise esta operación. Por otra parte, se ha creado un módulo más complejo capaz de realizar el refinamiento sub-pixel que permite incrementar la precisión de la localización de los puntos característicos de una imagen. Ambos módulos han sido diseñados a nivel de registro empleando VHDL y se han sintetizado sobre una FPGA; ii) la creación de una biblioteca de módulos hardware útil para la creación de sistemas de visión por computador basados en redes neuronales de aprendizaje profundo. Estos módulos son parametrizables, no solo para poder ser empleados en redes neuronales de diferentes topologías, sino también para dotar al diseñador de la capacidad de toma de decisiones respecto al equilibrio entre la latencia del sistema digital o la cantidad de recursos hardware necesarios para una tecnología de destino determinada; iii) La integración de dicha biblioteca de módulos en una herramienta software capaz de traducir descripciones de alto nivel de redes neuronales en diseños a nivel de registro aptos para ser sintetizados sobre una FPGA o un ASIC. Esta herramienta se ha complementado con otra dedicada a optimizar la cuantización de los parámetros de la red neuronal como paso previo a su síntesis, proceso imprescindible para reducir el tamaño de la red y la enorme cantidad de recursos de memoria y de procesamiento que requiere este tipo de algoritmos. El trabajo realizado en esta Tesis sobre las técnicas de implementación hardware de algoritmos de visión complejos sienta las bases para profundizar en el diseño de la denominada computación en el borde, en la que el procesamiento de los datos captados por un sensor se realiza en el propio sensor o sobre un dispositivo anexo cuya capacidad de cómputo es varias órdenes de magnitud inferior a la de un servidor central. En esta línea, los resultados obtenidos son igualmente aplicables al desarrollo de nuevos dispositivos de visión implementados sobre hardware embebido o sobre dispositivos portátiles que precisan de algoritmos de procesamiento adaptados a sus requisitos característicos de pequeño tamaño o bajo consumo energético. Finalmente, la contribución en el campo de la automatización del diseño electrónico abre la vía a la profundización en el desarrollo de herramientas CAD que reduzcan el tiempo del ciclo de desarrollo de un producto, haciendo que éste sea más competitivo. http://repositorio.bib.upct.es/dspace/