Dynamically reconfigurable architecture for embedded computer vision systems

  1. Nieto Lareo, Alejandro Manuel
Dirigida por:
  1. David López Vilariño Director
  2. Victor Manuel Brea Sánchez Codirector

Universidad de defensa: Universidade de Santiago de Compostela

Fecha de defensa: 14 de diciembre de 2012

Tribunal:
  1. Javier Díaz Bruguera Presidente/a
  2. Roberto Osorio Secretario/a
  3. Xosé Manuel Pardo López Vocal
  4. Ari Paasio Vocal
  5. Carmen Alonso Montes Vocal
Departamento:
  1. Departamento de Electrónica y Computación

Tipo: Tesis

Resumen

Motivación y objetivos Los algoritmos y técnicas de Visión por Computador son cada vez más robustos y precisos, ofreciendo nuevas posibilidades para el tratamiento de la información visual. Sin embargo, esto implica un aumento de los requisitos de cómputo por lo que su implementación en dispositivos más allá del alcance de los prototipos se está volviendo más compleja. Son necesarios nuevos enfoques que no afecten a las características de los algoritmos para conseguir una solución de compromiso en cuanto a velocidad, latencia, consumo de potencia o coste. Esto incluye tanto al apartado del software como al de la arquitectura hardware para poder aprovechar eficientemente las características del dispositivo y explotar plenamente las capacidades de los algoritmos. Para solventar un determinado problema en el ámbito de la Visión por Computador existen muchas técnicas y aproximaciones disponibles en la literatura. La variedad de algoritmos es muy amplia y presentan características muy diferentes, incluyendo no so la representación de datos o las operaciones aritméticas, si no también los paradigmas de computación o la complejidad de los programas. Esto hace que el diseño de las arquitecturas hardware sea un desafío si es la misma arquitectura a que tiene que afrontar algoritmos diferentes cumpliendo unas restricciones estrictas. Los ordenadores de escritorio son a menudo empleados para desarrollar los algoritmos. Ofrecen una gran flexibilidad para ejecutar cualquier algoritmo y evaluar su viabilidad y precisión. Con todo, el dispositivo objetivo depende de la aplicación y suelen emplearse módulos adicionales para acelerar el proceso. Para cumplir los requisitos de la aplicación incluso puede ser necesario diseñar una arquitectura específica. En este caso es posible optimizar todas las figuras de mérito implicadas. Los diferentes campos de aplicación fijan diferentes requisitos por lo que las distintas arquitecturas deben adaptarse a los mismos de forma eficaz. Los avances en la industria del semiconductor permiten incluir cada vez más recursos en la misma unidad de área, manteniendo un consumo de potencia contenido. Esto hizo posible desarrollar nuevos sistemas empotrados con un rendimiento similar a sistemas convencionales recientes. De este modo, las nuevas aplicaciones son técnicamente factibles y el mercado de aplicaciones de visión empotrados está aumentando significativamente. Los sistemas-en-un-chip posibilitan embeber en él todos los módulos necesarios para un sistema dado, incluyendo computación, control y comunicaciones, proporcionando una ventaja significativa sobre su equivalente sistema multi-chip. Sin embargo, los sistemas-en-un-chip requieren un largo período de diseño y muchos recursos, tanto humanos como materiales. Además, las arquitecturas a medida también requieren un período de entrenamiento por los ingenieros de software para explotar plenamente sus capacidades, reduciéndose así la ventaja competitiva disteis sistemas. Esto es crítico cuando crece el número de unidades de propósito específico que ejecutan los diferentes algoritmos empleados. El objetivo de este trabajo es proporcionar una arquitectura capaz de ejecutar la mayoría de los algoritmos de Visión por Computador con un rendimiento adaptable a las distintas etapas de cada algoritmo. Además, tiene que ser capaz de ejecutar las etapas restantes de forma que el rendimiento global no se vea comprometido. La arquitectura también está pensada para reducir el tiempo empleado en migrar los algoritmos, reduciendo esta etapa y facilitando la paralelización y la sincronización entre los diferentes bloques del algoritmo. Desde el punto de vista de la flexibilidad, el sistema tiene que ser modular y escalable para afrontar diferentes áreas de mercado con diferentes requisitos, como rendimiento, consumo de área o coste. Las mejoras en la arquitectura o las modificaciones bajo demanda deben ser posibles sin cambiar dramáticamente la forma en la que la artquiectura trabaja. Todos estos elementos combinados proporcionarán suficiente flexibilidad y rendimiento para ejecutar eficientemente la mayor parte de los algoritmos de Visión por Computador, con el beneficio de emplear uno so dispositivo. Esta tesis está dividida en tres capítulos. El Capítulo 1 presenta los desafíos de la Visión por Computador, incluyendo los diferentes paradigmas de computación y las arquitecturas hardware y dispositivos empleados para afrontar los requisitos de los algoritmos. En el Capítulo 2 se presenta una nueva arquitectura hardware para ejecutar algoritmos de visión tempranera. Después de examinar diferentes aproximaciones, se estudiarán las capacidades de un procesador masivamente paralelo para el procesado de imágenes binarias. Las conclusiones de este estudio son esenciales para el diseño de una arquitectura más eficiente y capaz para tareas de visión temprana. Se testeará empleando un algoritmo usado en aplicaciones médicas, altamente costoso en términos computacionales. En el Capítulo 3, los resultados obtenidos de la comparativa del procesador de propósito general descrito en el capítulo anterior son empleados para definir una nueva arquitectura. Esta arquitectura está diseñada para aplicaciones empotradas y enfocada en la reconfiguración dinámica de su camino de datos para reproducir el flujo de ejecución del algoritmo. De este modo, la arquitectura aumenta su rango de operación y todas las etapas de un algoritmo de Visión por Computador genérico pueden ser implementadas de forma eficiente en un único dispositivo. Los resultados de la ejecución de diversos algoritmos de procesado de imagen y la comparativa con otras soluciones similares completan este capítulo. Finalmente, se extraen las principales conclusiones de este trabajo.