200 likes | 331 Views
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
E N D
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 • División del trabajo • Aplicaciones y algoritmos • Arquitectura del Coprocesador • Mapeado: CASSE • Integración
RESEARCH Miembros participantes
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 for intELLigent Imaging Applications Core
Arquitectura del Sistema • Requerimientos: • Flexibilidad: soporte de múltiples aplicaciones con una única arquitectura • Capacidad de procesado • Bajo coste: • Mínima área de silicio • Esfuerzo de desarrollo: arquitectura e interfaces genéricos • Bajo consumo de potencia • Compromiso entre flexibilidad y eficiencia • Programabilidad vs. adaptación a los algoritmos
Arquitectura del Sistema Controlador Memoria Memoria Sistema Coprocesadores Bridge VideoIN Smart Imaging Estimador Movimiento CPU ARM9 RAM Periféricos
División del trabajo • El proyecto se organiza en paquetes de trabajo (Work Packages WP): • Organización • Especificación • Algoritmos • Arquitectura • Mapeado • Integración • Validación • Diseminación
CAMELLIA Especificación: aplicaciones Comunicaciones móviles Automoción
Especificación: aplicaciones • Elección de las aplicaciones como de los escenarios de validación de estas. • Aplicaciones de automoción: • Detección de peatones • Detección de objetos a baja velocidad • Aplicaciones de comunicaciones móviles • Estabilización de imágenes • Seguimiento de cabezas
HLA MLA MLA MLA MLA LLA LLA LLA LLA Algoritmos • Estructura: HLA: High Level Algorithm MLA: Medium Level Algorithm LLA: Low Level Algorithm SourceForge: Camellia Image Processing Library
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
Algoritmos • MLA: Detección de sombras: • Busca áreas de oscuridad en la carretera • Utiliza: Histograma, Thresholding, Erosión, Etiquetado+Blob 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.
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ículos • Utiliza: Histograma, Thresholding, Etiquetado + Blob
Algoritmos • Secuencia ejemplo:
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 coprocesador • Identificación de la funcionalidad requerida por los algoritmos • Análisis del tipo y orden de ejecución de las operaciones • Extracción de coincidencias entre los algoritmos • Implementación del coprocesador en SystemC
Mapeado • Necesidad de un entorno de simulación que sirva para el modelado del comportamiento del sistema • Creación del “CAmellia System Simulation Environment (CASSE) “ modelo de alto nivel del sistema Camellia, compuesto por • Modelos de arquitectura • Protocolos de comunicación • Librerí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 aplicaciones • Obtención de métricas de la carga de comunicación y estimaciones de las prestaciones del sistema • Varios niveles de abstracción: • Transaction-Level Modelling (TLM) • Bus Cycle Accurate level (BCA)
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 ARM9 • Verificación final
CAMELLIA:Core for Ambient and Mobile intELLigent Imaging Applications