iCaveats
Integración de componentes y arquitecturas para la visión
embebida en aplicaciones de transporte y seguridad

Objetivo general

Grado de cumplimiento de los objetivos evaluado en septiembre de 2018

 

Concebir, implementar y demostrar un conjunto de operaciones de sensado y procesamiento cercano al sensor que permitan la aceleración de tareas de visión de bajo y medio nivel, con el fin de poder construir un sistema de visión integrado orientado a aplicaciones que, como en el transporte inteligente y la seguridad, requieren de sistemas autónomos, compactos, de alto rendimiento pero de bajo consumo de potencia. Estas tareas aceleradas por hardware van a poder ser utilizadas por parte de los programadores de aplicaciones de manera transparente, es decir, sin que sean expertos en hardware, ya que van a estar definidas conforme a estándares industriales para la visión por computador.

Anotaciones sobre el grado de cumplimientode los objetivos:

Hemos de reconocer que el ambicioso objetivo de integrar todos los componentes desarrollados a lo largo del proyecto en un único chip de visión no ha podido lograrse. Sí que hemos integrado varios chips prototipo que combinan algunas de estas funciones, por ejemplo, el sensado 2D/3D con estrategias de minimización del consumo de energía, o también la recolección de energía a partir de la corriente fotogenerada para alimentar circuitería lógica, o incluso un sensor para el muestreo compresivo que elabora una representación simplificada de la escena on-chip. Otras funciones de más alto nivel, como la generación de vectores descriptores y loa algoritmos de seguimiento, se han prototipado sobre tecnologías más flexibles, como FPGAs, con el fin de continuar avanzando en su optimización. Como colofón a este trabajo, se han desarrollado demostradores que evidencian la potencialidad de este hardware en escenarios realistas. Entendemos que este objetivo general se ha cumplido en 80-90%.

En cuanto a las aplicaciones, nuestro esfuerzo va a estar encaminado al desarrollo de sistemas de visión optimizados para plataformas móviles no tripuladas y nudos de una red de sensores de visión para vigilancia adaptativa y coordinada. Este diagrama conceptual correspondería al sistema de visión integrado:


 

 

Objetivos específicos

Grado de cumplimiento de los objetivos evaluado en septiembre de 2018

 

  1. La implementación de manera concurrente de sensores con procesamiento de bajo nivel de la imagen totalmente paralelo con el fin de generar una representación simplificada de la escena. Nos fijamos como objetivo de eficiencia a realización de estas tareas con un consumo máximo de 150mW.
    El grado de cumplimiento de este objetivo está en el 80%, a la espera del test de un prototipo de sensor para muestreo compresivo de la imagen. Este chip se ha fabricado en una tecnología CMOS standard de 0.18um, tiene 64x64 píxeles y se espera que tenga un consumo por debajo de los 100mW operando a 30fps.
     
  2. La minimización del hardware per pixel con el fin de no comprometer la resolución espacial del sensor de imagen. Nos planteamos como objetivo una resolución espacial mínima de 640x480 píxeles (VGA).
    Cumplido en un 90%. Ninguno de los prototipos consiste un imager de este tamaño pero, en colaboración con la Universidade Federal do Rio de Janeiro (Brasil), se han prototipado píxeles de un tamaño compatible con esta resolución espacial. Se trata de pequeños arrays que incorporan la funcionalidad de filtrado gaussiano en el plano focal con una hardware mínimo.
     
  3. La incorporación de nuevas modalidades de operación de las estructuras de sensado de la luz compatibles CMOS que permitan extraer información tridimensional de la escena. El objetivo va a ser integrar la captura de información 2D y 3D en un mismo chip, cosa que hasta la fecha sólo se ha logrado de manera testimonial.
    Este objetivo se ha cumplido en un 100%. Se ha desarrollado un chip de 64x64 píxeles, basado en SPADs, capaz de capturar imágenes 2D mediante el conteo de fotones e imágenes 3D mediante la estimación directa del tiempo de vuelo. A pesar de estar desarrollado en una tecnología standard de 0.18um, y tener por lo tanto unos fotodiodos muy ruidosos, en términos de DCR, el prototipo, junto a una FPGA empleada para el cálculo del histograma de las medidas de cada píxel, es capaz de obtener imágenes 2D/3D con relativa calidad.
     
  4. El diseño de un convertidor de tiempo a digital (TDC) capaz de detectar intervalos temporales con una precisión por debajo de los 100ps. Este componente es básico para la lectura de diferencias en tiempo de vuelo equivalentes a distancias por debajo de los 3cm. En aplicaciones de vigilancia o de ayuda a la navegación en plataformas móviles no tripuladas, va a ser necesario un mapa de profundidades con una resolución en el eje z de ese orden.
    El grado de cumplimiento de este objetivo es de un 80%. También estamos a la espera de las medidas sobre un prototipo de SiPMs que contiene el diseño del TDC referido. Este chip se ha diseñado en una tecnología CIS por lo que esperamos que el comportamiento de los fotosensores sea menos ruidoso.
     
  5. La generación on-chip de representaciones alternativas de la escena basadas en la extracción de características, y mediante la explotación de la relativa levedad de la descripción de la escena en ciertas bases de referencia. Nos planteamos mantener un frame rate de 30fps al tiempo que logramos reducir el consumo de potencia apoyados en estas técnicas.
    Este objetivo está cumplido al 80% con el diseño del prototipo de sensor para muestreo compresivo de la imagen y el estudio de la inclusión de la extracción de características en la estrategia de muestreo.
     
  6. El diseño de algoritmos de visión distribuida basados en el intercambio de información de alto nivel de la imagen, bien sea para la visión colaborativa en aplicaciones de seguimiento a través del área vigilada o bien para la visión cooperativa en aplicaciones de detección de eventos, gestos o actitudes dentro del área observada mediante la combinación de información de diferentes puntos de vista.
    Cumplido sólo en un 10%. No hemos avanzado más allá de las descripciones básicas de la escena para un nodo sensor.
     
  7. El desarrollo de un demostrador de aplicación orientado a la vigilancia en entornos naturales en asuntos como la detección temprana de incendios, la monitorización de perímetros y el seguimiento de actividad en áreas controladas de manera autónoma.
    Grado de cumplimiento 10%. en este aspecto no hemos avanzado más allá del estudio del escenario de aplicación a partir de experiencias previas.
     
  8. Hacer un estudio a nivel de dispositivo de las estructuras fotosensoras más adecuadas para trabajar tanto en modo imagen como en modo recolección de energía fotoeléctrica.
    Este objetivo se ha cumpido en un 100%. Se han estudiado las estructuraas, sus modos de operación y se han diseñado circuitos para el tracking del punto de máxima transferencia de potencia.
     
  9. Diseñar un chip en tecnología CMOS estándar de 0.18µm reconfigurable en modo recolección de energía fotoeléctrica y captación de imágenes con bajo consumo de potencia. El chip deberá generar decenas de µW/mm2 en iluminación exterior (~30klux), energía suficiente para alimentar el modo captación de imagen.
    El grado de cumplimiento de este objetivo es también del 100%. Hemos fabricado un chip en tecnología CMOS UMC 0.18µm y lo hemos testado con éxito, dando lugar a publicaciones de impacto.
     
  10. Aplicar técnicas de escalado dinámico de tensión (DVS) a la circuitería digital que implementa los operadores de medio nivel para bajar consumo de potencia. Dada nuestra relativa inexperiencia en este tema, y dada la fuerte dependencia con la circuitería a implementar, no cuantificamos la ganancia en consumo de potencia. Sí cuantificamos, sin embargo, la métrica de los convertidores DC/DC, tratando de alcanzar el nivel del estado del arte con capacidades MIM, cuantificado en una eficiencia de al menos 80% con 1mW/mm2 y tres niveles de tensión a seleccionar.
    Este es un objetivo meramente técnico, que no presenta a priori retos científicos de importancia, pero lo cierto es que no hemos avanzado en esta dirección, por lo que está pendiente de realización.
     
  11. Implementar algoritmos de visión por computador basados en detectores de características para realizar seguimiento de objetos móviles (tracking) en la plataforma Parallela con el chip Epiphany para evaluar diferentes arquitecturas. Aunque el objetivo es evaluar arquitecturas, nos proponemos alcanzar los 30fps para imágenes de tamaño VGA.
    En la actualidad estamos integrando algoritmos basados en redes neuronales convolucionales (CNNs), que se encuentran en el estado del arte en la detección y clasificación de objetos. Estamos utilizando la plataforma empotrada Jetson TX2 de NVIDIA, para soluciones embarcadas a bordo de UAVs. Aunque esto significa una redefinición de la metodología planteada al comienzo del proyecto, pensamos que de esta forma incorporamos los avances más significativos en este campo. Grado de consecución: 50%.
     
  12. Evaluar el impacto de los errores derivados de una implementación física de un circuito integrado en los algoritmos arriba señalados.
    Hemos abordado una implementación hardware propia en el dominio digital de los algoritmos detectores de características FAST y BRIEF, un chip que implementa la pirámide Gausiana, y la implementación del algoritmo de sustracción de fondo PBAS. Grado de consecución: casi al 100%.
     
  13. Implementar un camino de datos con operadores de bajo nivel y medio nivel por medio de detectores FAST, descriptores BRIEF y operadores de correspondencias (matching). La implementación se hará tanto a nivel de lenguaje de descripción hardware (VHDL), como a nivel de transistor en tecnología CMOS estándar de 0.18µm, contribuyendo al diseño final del Chip III. En términos numéricos el objetivo es llegar a 30fps para resolución VGA sobre FPGA, y menos de 200mW en circuito integrado.
    Este objetivo se ha cumplido en un 50%, en el sentido de que se está completando y refinando el diseño de la combinación del detector FAST y los descriptores BRIEF sobre una FPGA. La migración a un ASIC del código VHDL generado no estará exenta de problemas específicos de esta implementación. Es por esto que consideramos que sólo se ha cumplido a la mitad.
     
  14. Implementar la parte correspondiente a la detección de características para ejecutar V-SLAM sobre el UAV AscTec Pelican del CiTIUS, mostrando cierre de lazos en interiores al menos a 10fps.
    En este caso no hemos embarcado todavía ninguna solución a bordo de un UAV. Esperamos conseguirlo hacia el final del tercer año, a medida que se vayan cerrando las distintas soluciones de tracking descritas en los objetivos anteriores. Grado de consecución: 0%
     
  15. Diseñar la circuitería de conversión analógico-digital en tecnología CMOS estándar de 0.18 µm que optimice de forma global el consumo y el área de silicio para satisfacer las especificaciones de fps del sensor de visión (VGA, 30fps).
    Grado de cumplimiento: 85%. Hemos desarrollado el diseño de un ADC cíclico en tecnología CIS de 110nm para un sensor de imagen. Entre las técnicas de diseño empleadas, se ha utilizado la compartición de opamps para una reducción del área y del consumo de potencia, y la adaptación de la corriente de polarización del par diferencial. Se ha verificado el diseño de acuerdo al ADCtest del IEEE obteniendo un FoM de 110fJ/step.
     
  16. Sintetizar a nivel de registro (VHDL) los algoritmos de procesado de nivel intermedio de la escena (operadores de correlación y detector SIFT). Esta implementación tendrá como primer objetivo alcanzar tasas generación de 6.5µs por vector descriptor, equivalente a 5ms por frame para una complejidad de imagen VGA estándar que arroje un 1% de puntos de interés.
    Grado de consecución 95%: Los problemas más importantes han aparecido a la hora de la generación de vectores descriptores. Muchas de las funciones necesitan ser aproximadas para ser implementadas por un hardware compacto, como resultado se pierden muchos keypoints. Se está trabajando en el refinamiento sub-píxel para eliminar puntos inestables y bordes.
     
  17. Realizar la integración y evaluación de los algoritmos de procesado de nivel intermedio descritos a nivel de registro por los grupos USC y UPCT sobre un chip de lógica programable de tipo FPGA. A partir de los resultados obtenidos se proporcionará la realimentación adecuada para corregir las desviaciones observadas.
    La arquitectura desarrollada se ha implementado sobre una FPGA Xilinx. Tiene capacidad para generar 3072 vectores descriptores para una imagen VGA (el 1% de su tamaño) a una tasa de 99 frames por segundo (10,05 ms por frame ) empleando un reloj de 100 MHz. Grado de consecución: 50 %.
     
  18. Sintetizar a nivel de dispositivo en tecnología CMOS estándar de 0.18µm los algoritmos de procesado de nivel intermedio (operadores de correlación y detector SIFT) para su integración en el chip III, con el objetivo de alcanzar tasas de generación de 6µs por vector descriptor.
    Aún se está trabajando en la migración de los operadores elementales, descritos en VHDL y sintetizados en FPGA, hacia una implementación ASIC. El grado de cumplimiento de este objetivo es del 20%.
     
  19. Realizar la integración de las comunicaciones y transferencia de datos entre los señores/procesadores y el chipset, de acuerdo con los estándares industriales (SPI, I2C).
    En esta dirección no hemos progresado. Estaría pendiente de realización.
     
  20. Implementar la parte correspondiente del demostrador sobre plataforma fija para la identificación y seguimiento de objetivos en entornos no estructurados.
    En esta dirección no hemos progresado. Estaría pendiente de realización.