CAMELLIA: Core for Ambient and Mobile intELLigent Imaging Applications

Preview:

DESCRIPTION

CAMELLIA: Core for Ambient and Mobile intELLigent Imaging Applications. C. Ruiz, V. Reyes, P. Santos, R. Peñate, T. Bautista, P.P. Carballo, G. Marrero y A. Nuñez. División Sistemas Industriales y CAD. Índice. Miembros participantes e Introducción Arquitectura del sistema - PowerPoint PPT Presentation

Citation preview

I J ornada de Microelectrónica Aplicada

Instituto Universitario de Microelectrónica AplicadaLas Palmas de Gran Canaria, 16 de julio de 2004

CAMELLIA:Core for Ambient and Mobile intELLigent

Imaging ApplicationsC. Ruiz, V. Reyes, P. Santos, R. Peñate, T. Bautista, P.P. Carballo, G. Marrero y A.

Nuñez

División Sistemas Industriales y CAD

2

Índice

Miembros participantes e IntroducciónArquitectura del sistemaDivisión del trabajoAplicaciones y algoritmosArquitectura del CoprocesadorMapeado: CASSEIntegración

4

forintELLigent Imaging Applications

Introducción

Objetivos:Desarrollar un prototipo de SoC para aplicaciones “Smart Imaging” aplicadas a automoción y entornos móviles.

Empotrado en un sistema de compresión de video

Bajo coste y bajo consumo de potencia con máxima flexibilidad.

Ambient and Mobile Core

5

Arquitectura del Sistema

Requerimientos:Flexibilidad: soporte de múltiples aplicaciones con una única arquitecturaCapacidad de procesadoBajo coste:

• Mínima área de silicio• Esfuerzo de desarrollo: arquitectura e interfaces genéricos

Bajo consumo de potenciaCompromiso entre flexibilidad y eficiencia

Programabilidad vs. adaptación a los algoritmos

6

Arquitectura del Sistema

MemoriaSistema

ControladorMemoria

PeriféricosRAMARM9

Video IN EstimadorMovimiento

Smart ImagingB

ridge

Coprocesadores

CPU

7

División del trabajo

El proyecto se organiza en paquetes de trabajo (Work Packages WP):

OrganizaciónEspecificaciónAlgoritmosArquitectura

MapeadoIntegraciónValidaciónDiseminación

8

Especificación: aplicaciones

CAMELLIA

Automoción Comunicaciones móviles

9

Especificación: aplicaciones

Elección de las aplicaciones como de los escenarios de validación de estas.

Aplicaciones de automoción:Detección de peatonesDetección de objetos a baja velocidad

Aplicaciones de comunicaciones móvilesEstabilización de imágenesSeguimiento de cabezas

10

Algoritmos

Estructura:HLA: High Level AlgorithmMLA: Medium Level AlgorithmLLA: Low Level Algorithm

HLA

MLA MLA MLA MLA

LLA LLA LLA LLA

SourceForge: Camellia Image Processing Library

11

Algoritmos

Ejemplo: Detección de objetos a baja velocidad:Algoritmo de alto nivel : Filtro de partículas (probabilidades)Algoritmos de nivel medio

• Segmentación de movimiento• Detección de sombras• Detección de luces• Detección de bordes• Detección de simetría

Algoritmos de bajo nivel

12

Algoritmos

MLA: Detección de sombras:Busca áreas de oscuridad en la carreteraUtiliza: Histograma, Thresholding, Erosión, Etiquetado+Blob

Road Histogram

020406080

100120140160180

1 21 41 61 81 101 121 141 161 181 201 221 241

Pixel value

Num

of P

ixel

s

Series1

Imagen a procesar. Valores del histograma de una región de la carretera. Imagen “thresholded” antes de la erosión. Imagen después de la erosión.

13

Algoritmos

MLA: Detección de luces:Busca zonas de alta componente en luminancia en la imagen, (utiliza el plano V) para detectar las luces traseras y la matrícula de los vehículosUtiliza: Histograma, Thresholding, Etiquetado + Blob

14

Algoritmos

Secuencia ejemplo:

15

Arquitectura del coprocesador “Smart Imaging”

Ejecutar todos los algoritmos “Smart Imaging” en un único coprocesador:

Limitada programabilidad Adaptación de las etapas aritméticas y control al área de aplicación

Análisis de los algoritmos a mapear en el coprocesadorIdentificación de la funcionalidad requerida por los algoritmos Análisis del tipo y orden de ejecución de las operacionesExtracción de coincidencias entre los algoritmos

Implementación del coprocesador en SystemC

16

Arquitectura del coprocesador “Smart Imaging”

17

Mapeado

Necesidad de un entorno de simulación que sirva para el modelado del comportamiento del sistemaCreación del “CAmellia System Simulation Environment (CASSE) “ modelo de alto nivel del sistema Camellia, compuesto por

Modelos de arquitecturaProtocolos de comunicaciónLibrería con las aplicaciones

Sirve de testbench para la verificación funcional del coprocesador y como plataforma virtual para facilitar el portar el software de las aplicacionesObtención de métricas de la carga de comunicación y estimaciones de las prestaciones del sistemaVarios niveles de abstracción:

Transaction-Level Modelling (TLM) Bus Cycle Accurate level (BCA)

18

Mapeado: CASSE

LSOD_SW_task

SI_HW_task

ME_HW_task

Video_Input_task

MacroInst

Ack

Light_results Shadow_results

Edge_results Symmetry_results

Motion vectors

Best SADs

Control/sync

Input Frame

Pr o to co l T r an s lato r W r ap p e r s (PT W )

0

10000

20000

30000

40000

50000

60000

70000

80000

PE1.PTW(CPU)

PE2.PTW(SI)

PE3.PTW(ME)

PE4.PTW(V IDEO)

syn

chro

niz

atio

n c

alls

Ne tw o r k C o m p o n e n t 2

02468

101214161820

PE1 .INIT2(CPU)

PE2 .INIT2(S I)

PE3 .INIT2( ME)

PE4.INIT2( V IDEO)

Mb

ytes

19

Integración

Implementación del prototipo en una FPGA AVALON:

Excalibur XA10: Core ARM922T APEX 20KE1500.AMBA high performance bus (AHB).

Necesidad de implementar la infraestructura de comunicaciones, bridges y wrappers entre los distintos protocolos, controladores de memoria.Portar el código de los algoritmos (HLAs y MLAs) al ARM9Verificación final

20

CAMELLIA:Core for Ambient and Mobile intELLigent Imaging

Applications

Recommended