41
High Performance image processing engines for embedded systems Eduardo Ros and Javier Díaz Depto. Arquitectura y Tecnología de Computadores. Universidad de Granda 4th Thematic PRISMA network meeting, Granada 11-11 February 2010

High Performance image Processing engines for embedded systems

Embed Size (px)

DESCRIPTION

Eduardo Ros and Javier Díaz. Dpto. Arquitectura y Tecnología de Computadores. Universidad de Granada. 4th Thematic PRISMA network meeting, Granada 11-12 February 2010.

Citation preview

Page 1: High Performance image Processing engines for embedded systems

High Performance image processing engines for

embedded systems

Eduardo Ros and Javier Díaz

Depto. Arquitectura y Tecnología de Computadores.Universidad de Granda

4th Thematic PRISMA network meeting, Granada 11-11 February 2010

Page 2: High Performance image Processing engines for embedded systems

Índice1. Presentación del grupo y proyectos2. Introducción: visión en tiempo real y

hardware reconfigurable.3. Proyectos EU Ecovision y DRIVSCO.4. Proyecto PIMA-Anafocus5. Sistemas de ayuda para baja visión6. Resumen y conclusiones

Page 3: High Performance image Processing engines for embedded systems

Grupo de investigación Departamento de Arquitectura y Tecnología de Computadores

ATC. 34 profesores más de 32 investigadores (contratados y becarios).

Líneas de investigación en supercomputación, sistemas empotrados, inteligencia artificial, Ingeniería biomédica, etc..

Grupo de sistemas empotrados y procesamiento de imágenes. Dirigido por Eduardo Ros Vidal. Más de 14 investigadores (profesores y

personal contratado)

Líneas de investigación en robótica bioinspirada, hardware reconfigurable (FPGAs), procesamiento en tiempo real, biomedicina, sistemas empotrados certificables, etc..

Proyectos nacionales (DINAMVISION, MULTIVISION, DEPROVI), Europeos del Programa Marco (SPIKEFORCE, ECOVISION, SENSOPAC, DRIVSCO) y colaboraciones con empresas (Telefónica I+D, Anafocus, Seven Solutions, etc..).

Page 4: High Performance image Processing engines for embedded systems

Proyectos I Proyectos Europeos del V y VI programa marco:

ECOVISION: Artificial Vision Systems based on early cognitive cortical processing (FP5-IST-2001-32114 ). (01-01-2002 hasta 30-12-2004)

DRIVSCO: Learning to emulate perception action cycles in a driving school scenario (FP6-IST- 016276-2). (01-02-2006 hasta 31-07-2009)

Proyectos nacionales CICYT: DEPROVI: Diseño de sistemas empotrados para procesamiento de visión en

tiempo real. Aplicaciones en medicina, vehículos y robots (DPI2004-07032) (13-12-2004 hasta 13-12-2007).

DINAMVISION: Sistema de visión dinámica en tiempo real y su aplicación en robótica, vehículos y biomedicina. (DPI2007-61683). (01-10-07 hasta 30-09-10).

Proyectos autonómicos (Excelencia) MULTIVISION: Sistema de visión en tiempo real multi-cámara para

interpretación de escenas (TIC-3873). (01-1-2009 hasta 31-12-2011). ITREBA: Procesamiento de Imagen/video en Tiempo Real para Exploración

Biomédica Activa (01-1-2010 hasta 31-12-2012).

Page 5: High Performance image Processing engines for embedded systems

Proyectos II Robótica bioinspirada proyectos EU V y VI programa SPIKEFORECE y

SENSOPAC (esté último en ejecución). Certificación de sistemas empotrados multicore RECOMP: Reduced

Certification Costs for Trusted Multi-core Platforms Proyecto EU VII programa marco: ARTEMIS (inicio Abril 2010).

Proyectos I+D con empresas PIMA ANAFOCUS: Migración de ADAS a la plataforma Eye-RIS de la

empresa Anafocus. eQUIROFANO TELEFONICA I+D: Entorno Colaborativo Multimedia (eQECM). ATICA TELEFONICA I+D: Arquitectura de Tecnologías de Comunicaciones

Inalámbricas para la mejora de la Calidad asistencial en la sanidad. Moria Kandor Graphics: Tecnología 3D para fusión de contenidos reales y

virtuales (en preparación)

Spin-off: Seven Solutions S.L. (http://www.sevensols.com) Diseño de sistemas empotrados a medida de altas prestaciones y Sistemas de

videovigilancia inteligente.

Page 6: High Performance image Processing engines for embedded systems

6

ActionAction

Real-time perception machine

Real-time perception machine

Target platformTarget platform

Active Vision

Visión en tiempo-real: Motivación Procesamiento en tiempo real

para experimentos con robots (“embodiment concept”)

Visión activa Pensando como ingeniero: Lo

entiendo cuando lo construyo. Sistemas de visión avanzados

para aplicaciones reales.

El trabajo en esta línea se ha financiado principalmente por los siguientes proyectos: ECOVISION: Artificial Vision Systems based on early

cognitive cortical processing.(2002-2004) DRIVSCO: Learning to emulate perception action

cycles in a driving school scenario. (2006-2009)

Page 7: High Performance image Processing engines for embedded systems

Tecnología

Procesamiento bioinspirado

SoCs Hardware reconfigurable (FPGAs) Metodologías de diseño de SoCs

Procesamiento paralelo (circuitos con más de 3268 unidades de cómputo) vs. Compartición de recursos.

Diseño de unidades de procesamiento con segmentación de cauce de grano fino y alto rendimiento (altas prestaciones a bajas frecuencias de reloj).

Particionamiento hardware-software. Técnicas de diseño de circuitos basadas en lenguajes de alto

nivel.

Page 8: High Performance image Processing engines for embedded systems

Proyectos Europeos

ECOVISION Y DRIVSCO

Page 9: High Performance image Processing engines for embedded systems

ECOVISIONVisión en tiempo real para monitorización de adelantamientos

Hardware FPGA. Seguimiento basado en flujo

óptico. Aplicaciones: angulo

muerto, distracciones durante maniobras de cambio de carril, etc..

Page 10: High Performance image Processing engines for embedded systems

Optical flow system Architecture

Page 11: High Performance image Processing engines for embedded systems

Superscalar/superpipelined

Page 12: High Performance image Processing engines for embedded systems

Overtaking car monitor architecture

Page 13: High Performance image Processing engines for embedded systems

ECOVISION

1-3 m/s1-3 m/s 5-10 m/s5-10 m/s 15-20 m/s15-20 m/s 25-30 m/s0

10

20

30

40

50

60

70

80

90

2 Lanes case 3 Lanes case

Det

ectio

n di

stan

ce (m

)

(3)

(4)

(3)

(4)

(2)

(2)

(2)

Page 14: High Performance image Processing engines for embedded systems

DRIVSCO: Extracción de un modelo de conductor mediante la abstracción de comportamiento

Universidad de Granada: Desarrollo de un sistema de visión multimodal en tiempo real Validación de su utilidad en un sistema de asistencia para la

conducción nocturna

Visibility (Dark Obstacles)

Stopping Distance (100 km/h)

ADILIS® up to 150 meters ca. 80 meters

Low beam light range: ~ 60 m

IR beam: ~150 m

(percepción-acción en ciclo cerrado)

Page 15: High Performance image Processing engines for embedded systems

DRIVSCO: Vehículo instrumentado

LVDS (V

ideo D

ata)

Unidad sensorUnidad de procesamiento

Adqusición de imagenProcesamiento de imagenEstrategia de aviso (Aplicación)

Interfaz al visor superpuesto) u otros sistemas

Head-up-Display

Módulo-IR

Page 16: High Performance image Processing engines for embedded systems

DRIVSCO UGR: Visión-on-chip

Page 17: High Performance image Processing engines for embedded systems

Optical Flow Architecture

Page 18: High Performance image Processing engines for embedded systems

Stereo Architecture

Page 19: High Performance image Processing engines for embedded systems

System Architecture

Page 20: High Performance image Processing engines for embedded systems

On board Memory Map

• Green: 8 bit data, packed by 4• Red: 12 bit data, packed by 2• Gray: 12 bit data, packed by 3

Memory consumption:0.5 + 1 + 0.75 = 2.25 MB

Large bandwidth:(2.25+0.5) * 25 MB/s

for a 512x512 image @ 25 fps

4 x 8MB ZBT banks36 bit /word

Page 21: High Performance image Processing engines for embedded systems

Recursos (FPGA Virtex-4)

CircuitTotal 4 input

LUTs(out of 84352)

Slice Flip Flops

(out of 84352)

Slices(out of 42176)

DSP(out of 160)

Block RAM (out of 376) Freq.

Board Interface 4774 (5%) 5195 (6%) 5388 (12%) 0 36 (9%) 112,4 MHz

Local Features 14356 (17%) 13364 (15%) 12401 (29%) 142(88%) 50 (13%) 57,2 MHz

Disparity 33466 (39%) 23154 (27%) 23630 (56%) 83 (51%) 85 (22%) 46,3 MHz

Optical Flow 41419 (49%) 35006 (41%) 29342 (69%) 132 (82%) 98(26%) 46,5 MHz

Total System

76828 (91%)

49762 (58%)

42072 (99%) 160 (100%) 132 (35%) 46,4 MHz

Las últimas familias de FPGAs tienen un x4 más de recursos (acorde a la Ley de Moore!)

3268 unidades básicas de procesamiento en paralelo.

Page 22: High Performance image Processing engines for embedded systems

On-chip front-end Low level image processing engine

Page 23: High Performance image Processing engines for embedded systems

Software interface

Page 24: High Performance image Processing engines for embedded systems

Software interface

Page 25: High Performance image Processing engines for embedded systems

DEMOS

Page 26: High Performance image Processing engines for embedded systems

DEMOS II

Page 27: High Performance image Processing engines for embedded systems

En realización... Detección de IMOs

(Independent Moving Objects) Fusión de la información de

estereo y flujo. Acumulación de hipótesis

para esas regiones.

Page 28: High Performance image Processing engines for embedded systems

Parámetros de aprendizaje

Información del tipo de alarma

Visión de las cámaras

DRIVSCO GUI

Page 29: High Performance image Processing engines for embedded systems

24 de abril de 2023

DRIVSCO: impacto mediatico

Page 30: High Performance image Processing engines for embedded systems

Proyectos con Empresas

PIMA ANAFOCUS

Page 31: High Performance image Processing engines for embedded systems

Proyecto SAPVIA-PIMA (Anafocus)

Objetivos: estudio de la plataforma EyeRis en diferentes aplicaciones. Migración del monitor de adelantamientos.

Tecnología: Procesador plano focal (Q-Eye) + procesador digital de 32 bits (Nios)

Page 32: High Performance image Processing engines for embedded systems

Proyecto SAPVIA-PIMA (Anafocus)

Procesamiento de flujo óptico

Page 33: High Performance image Processing engines for embedded systems

Proyecto SAPVIA-PIMA (Anafocus)

Seguimiento de vehículos. Incorporación de nuevos sensores (acelerómetros

y giróscopos).

Page 34: High Performance image Processing engines for embedded systems

Medición de la distancia de Detección

Se realizaron 27 pruebas con diferentes velocidades (20, 40 y 60 Km/h) y diferentes desfases del hemisferio izquierdo para aumentar el rango de detección.

Distancia de detección media en función del desfase

Velocidad Relativa Tiempo de reacción20 Km/h 4.86 s40 Km/h 2.4 s60 Km/h 1.6 s

Tiempos de reacción del conductor

Page 35: High Performance image Processing engines for embedded systems

Sistemas ayuda baja visión

PLATAFORMA SERBA

Page 36: High Performance image Processing engines for embedded systems

36

Augmented viewAugmented viewpara visión en túnel

See-through HMD Videocámara gran angular ~70º Detección de bordes

en imagen (dibujo) Representación reducida en HMD Permite el movimiento de cabeza y ojo

Page 37: High Performance image Processing engines for embedded systems

37

SERBA

AspectoNOMAD Retinal Display

Exview CCD Low Light

MinicameraLow cost FPGA reconfigurable

Page 38: High Performance image Processing engines for embedded systems

38

Imagen Nomad Paloma

Page 39: High Performance image Processing engines for embedded systems

39

Video ejemplos

Page 40: High Performance image Processing engines for embedded systems

Resumen/conclusiones Hemos presentado arquitecturas de procesamiento

de altas prestaciones basadas en FPGAs. También tenemos experiencia en optimización de

software en GPUs, procesadores y DSPs. Actualmente podemos computar on-chip flujo

óptico, estéreo y características locales de la imagen en tiempo real.

Aplicaciones: Sistemas de ayuda a la conducción. Sistemas para baja visión

Page 41: High Performance image Processing engines for embedded systems

Preguntas o comentarios

Email contacto: [email protected]: http://atc.ugr.es/~jdiaz