seminario de robótica

66
Seminario de robótica Segunda Parte: Captura de imágenes

Upload: sabina

Post on 10-Feb-2016

48 views

Category:

Documents


0 download

DESCRIPTION

Seminario de robótica. Segunda Parte: Captura de imágenes. Contenidos. Introducción Sensores inteligentes Tecnologías de los sensores Lectura continua y espaciada CCD CMOS Otros Color Formatos de imagen y transmisión PAL Escaneado progresivo Sensorizado inteligente (Smart Sensors) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Seminario de robótica

Seminario de robótica

Segunda Parte:Captura de imágenes

Page 2: Seminario de robótica

Contenidos Introducción

Sensores inteligentes Tecnologías de los sensores

Lectura continua y espaciada CCD CMOS Otros Color

Formatos de imagen y transmisión PAL Escaneado progresivo

Sensorizado inteligente (Smart Sensors) El ojo humano como sensor inteligente Sensor Log-polar Otros ejemplos de chips de visión

Análisis de movimiento basado en cambios

Page 3: Seminario de robótica

Introducción Ventajas de la información visual

Se puede extraer mucha información con precisión. Es efectiva en un amplio rango de distancias.

Problemas de la información visual Precisión y un amplio campo de visión implican gran

cantidad de datos. Alto coste computacional combinado con restricciones de

tiempo real. Diversidad de algoritmos de visión artificial Restricciones de consumo, peso y espacio (módulo

portable por un vehículo autónomo).

Page 4: Seminario de robótica

Introducción: Sensores inteligentes Los sensores de visión inteligentes realizan alguna labor de

procesado adicional aparte de la propia captura de la imagen. Suelen ser dispositivos de aplicación específica pues la tarea

que realizan suele tener un objetivo concreto Chip detector de movimiento Chip detector de bordes, etc.

Ventajas Velocidad: Se puede utilizar el paralelismo, además de reducir la

información a ser tratada. Tamaño: En un único chip se puede integrar la cámara y el

procesado, haciéndolo especialmente interesante para robots. Consumo: Se eliminan etapas innecesarias y el consumo de

tener que enviar mucha información a gran velocidad. Integración y modularidad: Liberan a la CPU de tareas y permite

su integración en sistemas de forma jerárquica.

Page 5: Seminario de robótica

Introducción: Sensores inteligentes Inconvenientes

Falta de flexibilidad: Normalmente sólo sirven para una función específica por lo que no suele ser óptimo utilizarlos para otra cosa, aunque quizá se podría.

Resolución: Normalmente el procesamiento viene incluido junto a cada píxel, haciéndolos más grandes de lo normal y limitando así la resolución máxima del sensor.

La calidad suele ser baja debido al ruido digital, falta de emparejamiento, estrategia de captura, escasa relación de apertura, etc.

El diseño es también complejo y arriesgado.

Page 6: Seminario de robótica

Tecnologías de los sensores Las primeras cámaras estaban basadas en un tubo

de rayos catódicos. Hoy en día todos los dispositivos de captura de imágenes están basados en semiconductor.

El objetivo de los sensores es capturar la luz y transformarla en una magnitud medible (normalmente tensión o corriente).

Los dispositivos semiconductores transforman la luz en corriente gracias a la unión P-N:

Page 7: Seminario de robótica

Sensores: Lectura continua y espaciada Los sensores pueden capturar la luz de dos formas:

De forma continua: en cualquier instante se puede leer la información visual sobre la célula.

De forma espaciada: la célula necesita un tiempo de “carga” durante el cual no se puede leer.

Las más utilizadas son las de lectura espaciada, pues ofrecen mayor precisión y menor ruido.

Las de lectura continua son interesantes pues permiten acceder a cualquier píxel de un sensor de imágenes en cualquier instante, sin embargo, presentan un alto ruido y poseen escasa sensibilidad.

Page 8: Seminario de robótica

Sensores CCD La tecnología CCD (Charge Coupled Device) es la

que mayor calidad ofrece. Hasta hace muy poco era la tecnología más

utilizada. Con el aumento de la calidad de los CMOS y su

bajo coste, los dispositivos CCD se utilizan cada vez menos pues resultan más caros.

Por otro lado, las características propias de esta tecnología limitan la flexibilidad que se necesita para la realización de sensores inteligentes.

La circuitería externa que necesitan es compleja.

Page 9: Seminario de robótica

Sensores CCD: Características Los CCD están basados en la captura y transporte

de carga. Son por tanto dispositivos basados en integración y

la lectura no se puede hacer de forma continua. Las células CCD transfieren las cargas en serie por

lo que un acceso aleatorio a los píxeles tampoco es posible en el propio sensor.

Estas características los hacen inadecuados para la realización de sensores inteligentes.

Sin embargo su calidad es muy buena pues no se introduce ruido en el proceso de captura y transporte de la información visual.

Page 10: Seminario de robótica

Sensores CCD: Funcionamiento Durante un tiempo de exposición a la luz (tiempo de integración)

se va generando una carga en la unión PN proporcional al tiempo y a la intensidad de la luz.

En la figura se muestra un CCD de dos fases. Creando tensiones adecuadas entre las dos fases se puede ir

transportando la carga hacia el exterior del sensor como si fuera un registro de desplazamiento analógico.

Page 11: Seminario de robótica

Sensores CCD: una cámara típica Un sensor CCD típico está compuesto por las

células CCD formando una matriz. Una vez transcurrido el tiempo de integración todos

los CCD transfieren su carga por columnas a un CCD de manera que se lee una fila cada vez.

Este CCD conteniendo la fila es leído a continuación en serie.

La carga analógica se suele mandar tal cual al exterior del chip, aunque cada vez son más los sensores que incorporan un conversor analógico/digital entregando una salida directamente digital.

Ver dibujo en la pizarra.

Page 12: Seminario de robótica

Sensores CMOS La tecnología CMOS es la que se utiliza habitualmente para la

realización de circuitos integrados digitales. La principal característica es su bajo coste debido a su gran

popularización. Esta tecnología permite la integración de circuitos de procesado

junto con las células de captura. Son por tanto ideales para la realización de sensores inteligentes.

La transformación de carga a corriente debe realizarse en la propia célula, de manera que puede aparecer ruido asociado a este proceso.

Debido a la flexibilidad de la tecnología se pueden hacer células de integración y también de lectura continua.

Dado que la transformación de las cargas se hace en cada célula, es posible acceder a cada una de forma individual.

Page 13: Seminario de robótica

Sensores CMOS: Funcionamiento La lectura espaciada, basada en un tiempo de

integración, es la más utilizada pues ofrece mayor calidad.

En la figura se muestra el diagrama de bloques de una célula básica (píxel) de un sensor CMOS basado en integración.

Sensor MuestreoRetención Capacidad Buffer

Salida

Page 14: Seminario de robótica

Sensores CMOS: Funcionamiento Circuito básico basado en integración. Es la más sencilla y es de acceso aleatorio. Pero tiene muchos transistores y se puede

simplificar un poco.

Page 15: Seminario de robótica

Sensores CMOS: Funcionamiento Célula de acceso casi aleatorio. El circuito que convierte carga en corriente,

muestrea y retiene es común a todos.

Page 16: Seminario de robótica

Sensores CMOS: Funcionamiento Células basadas en conducción y de acceso realmente aleatorio. Presentan mayor ruido. El tiempo de acceso es alto. Se pueden tener respuestas logarítmicas con facilidad (como el

ojo humano).

Page 17: Seminario de robótica

Sensores CMOS: Funcionamiento Célula básica logarítmica

Page 18: Seminario de robótica

Sensores CMOS: Funcionamiento Respuesta logarítmica y ancho de banda

Page 19: Seminario de robótica

Color Los dispositivos semiconductores apenas son sensibles al color. Lo ideal es tener 3 sensores con un filtro de color por cada píxel

para obtener una componente RGB realista. Se pueden poner tres matrices completos cada uno con un filtro

de color, rojo, verde y azul. Se pueden usar tres células sensoras por cada píxel.

Poner tres sensores completos es una opción muy utilizada en cámaras de vídeo pues ofrece una gran calidad y no es caro.

Sin embargo no parece la opción adecuada para cámaras compactas y de bajo coste.

La segunda opción viene limitada por la resolución propia del sensor que en general no es muy alta.

Para soluciones de bajo coste se utiliza una máscara de filtros de color.

Page 20: Seminario de robótica

Color: Filtro Bayer La tecnología más utilizada para obtener imágenes en color

consiste en ponerle a cada píxel un filtro rojo, verde o azul. Como los sensores son matrices cuadradas es complicado elegir

cómo se distribuyen estos tres colores. Una distribución muy utilizada es la Bayer. En esta distribución se han tenido en cuenta el peso de cada

color en el espectro y los solapamientos entre los diferentes colores.

El cálculo de las componentes RGB se realiza promediando los vecinos del píxel.

El promedio es complejo y está basado en tablas que depende del color, de los filtros, etc.

En este promedio no sólo intervienen los vecinos más cercanos, sino el resto de píxels.

Page 21: Seminario de robótica

Color: Filtro Bayer La resolución de color, utilizando un filtro Bayer, es menor que la

propia del sensor. Sin embargo es difícil precisar de qué resolución se dispone en

color. Normalmente cuando se da la resolución de un sensor en color,

se está dando la del sensor en B/N.

Imagen real Imagen del sensor Imagen reconstruida

Page 22: Seminario de robótica

Formatos de imagen y transmisión El primer uso que se le dio a las cámaras fue el de ser usadas

para Televisión. La forma en que las imágenes son leídas y enviadas está muy

influenciado por estos orígenes de la captura de imágenes. La resolución de las imágenes, la velocidad de adquisición e

incluso el tipo de muestreo han sido durante años los propios de las imágenes de televisión.

Gracias a la proliferación de los sensores CMOS de bajo coste se han podido realizar cámaras cuyo formato está más orientado a la era digital que la de la televisión.

Así hoy en día es posible encontrar cámaras con multitud de resoluciones, velocidades de adquisición (más allá de los 25 fps) y, sobre todo, el tipo de muestreo que ya no tiene que ser el entrelazado.

Page 23: Seminario de robótica

Formato PAL El objetivo de la televisión es que las imágenes se vean con el menor

parpadeo posible y la mayor resolución. Los tubos de televisión, debido a su persistencia, realizan un barrido

que debe ser de al menos 50 veces por segundo para no notar demasiado el parpadeo.

Con la tecnología propia de los comienzos de la televisión, no era posible enviar una imagen completa (625 líneas) 50 veces por segundo.

La solución consistía en enviar media imagen cada vez: en una vez se enviaban las líneas pares y en la siguiente las impares.

Las cámaras de video PAL utilizan el mismo sistema: cada 20 ms (1/50 segundos) se captura la mitad de la imagen, bien la par o bien la impar.

Esto tiene el problema de que no podemos tener una imagen completa en un momento dado: en un instante sólo se tiene la imagen par o la impar, y si juntamos ambas, se tiene una imagen completa pero que no corresponde a un mismo instante de tiempo.

La reproducción de estas imágenes en un monitor es perfecto, sin embargo su procesado digital presenta numerosos problemas.

Page 24: Seminario de robótica

Formato PAL: Detalles El color se envía superpuesto a la señal de gris Las señales de sincronización de línea y cuadro son

pulsos de tensión.

Ejemplo de dos líneas PAL

Page 25: Seminario de robótica

Formato PAL: Detalles

Page 26: Seminario de robótica

Formato PAL: Ejemplo entrelazado

Page 27: Seminario de robótica

Formato PAL: Ejemplo entrelazado

Page 28: Seminario de robótica

Formato PAL: Resoluciones PAL

25 fps 625 líneas (576 de imagen) VHS: 300x360

NTSC 29.97 fps 525 líneas

Vídeo Digital VideoCD (VCD): 352x288 (320x240 NTSC) (no entrelazado) SuperVCD (SVCD): 480x576 (480x480 NTSC) DV y DVD: 720x576 (720x480)

Procesamiento VGA,XVGA: varias Otras

Page 29: Seminario de robótica

Adquisición tradicional de imágenes Normalmente se dispone de un ordenador

con una tarjeta capturadora. La tarjeta capturadora acepta una cámara

que envía una señal de video PAL. Las imágenes por tanto tienen las

limitaciones vistas anteriormente impuestas por el sistema PAL.

Page 30: Seminario de robótica

Escaneado progresivo Los sensores para cámaras de tipo PAL utilizan una

lectura entrelazada de las líneas. Los sensores de algunas cámaras digitales (las que

sirven para procesado de imágenes) utilizan una lectura continua llamada Progressive Scan (Escaneo progresivo).

En este tipo de sensores se capta la imagen completa en un mismo instante de tiempo.

Posteriormente se puede leer de forma continua o entrelazada, pero el instante en que la imagen fue tomada es siempre el mismo.

Page 31: Seminario de robótica

Adquisición digital de imágenes Desde el punto de vista del procesado digital de imágenes

interesa: Que no exista entrelazado. Que la resolución pueda elegirse libremente. Que la velocidad de adquisición sea también libre.

Hasta hace pocos años todos los sensores y cámaras eran de tipo PAL.

Gracias al interés en el procesado digital de imágenes, la aparición de las cámaras digitales, la mejora en la tecnología de los televisores, los DVD, etc., es ya muy corriente encontrar hoy en día sensores para procesado digital.

Captura de imágenes digitales: FireWire (IEEE 1394) USB 2.0

Page 32: Seminario de robótica

El ojo humano como sensor inteligente El ojo humano, y el de muchos animales, presenta

características idóneas para el procesado digital de imágenes.

Muchos sensores inteligentes se han basado en algunas de las características de los ojos biológicos, desde los sistemas de visión de los insectos hasta el del ser humano.

Miles de años de evolución han producido sistemas naturales de visión realmente eficientes.

La investigación en visión artificial apenas lleva unos 50 años.

Page 33: Seminario de robótica

El ojo humano como sensor inteligente Estructura

Page 34: Seminario de robótica

El ojo humano como sensor inteligente Estructura y distribución de píxeles

Page 35: Seminario de robótica

Sensor espacio-variante log-polar Se inspira en la distribución no uniforme de

píxeles del ojo humano. Pero también tiene características

matemáticas interesantes. Ver presentación aparte.

Page 36: Seminario de robótica

Retinas de silicio Las retinas artificiales intentan emular algunas de las funciones que

realiza la retina del ojo humano. Son por tanto sensores que realizan algún procesado simple a nivel de

píxel. Ejemplo: Mahowalds y Med’s silicon retinas:

Page 37: Seminario de robótica

Retinas de silicio: Mahowald and Delbrück's stereo matching chips

Page 38: Seminario de robótica

Retinas de silicio: Retina booleana de Bernard y otros

En esta retina la digitalización se realiza en la propia célula.

La digitalización es una binarización simple.

Algunas operaciones incluyen los desplazamientos, las copias, conjunción, inversión, etc.

Se pueden programar diferentes acciones, lo que le confiere cierta flexibilidad.

Page 39: Seminario de robótica

Retinas de silicio: Andreou and Boahen En las retinas artificiales normalmente se realizan operaciones

analógicas entre píxeles vecinos. La retina de Andreou and Boahen es un ejemplo más.

Page 40: Seminario de robótica

Retinas de silicio: Filtro Gaussiano de Kobayashi y otros Ejemplo de la implementación de un filtro Gaussiano analógico.

Page 41: Seminario de robótica

PASIC sensor from Linköping University

Page 42: Seminario de robótica

MAP2200 Como la anterior pero:

Más resolución (256x256).

ALU mejorada. Posibilidad de

comunicación entre columnas.

Page 43: Seminario de robótica

Standley's orientation detection chip

Page 44: Seminario de robótica

Ward & Syrzycki's Receptive Field Sensors

Page 45: Seminario de robótica

Keast & Sodini's CCD/CMOS Imager and Processor

Page 46: Seminario de robótica

Venier et al.'s Solar Illumination Monitoring Chip

Page 47: Seminario de robótica

Sensores espacio-temporales Los sensores vistos hasta ahora realizaban

un procesador “estático” de la señal, es decir, procesaban la información espacial del sensor.

Los sensores espacio-temporales realizan un procesado que depende también del tiempo.

La mayoría de estos sensores sirven para la detección del movimiento.

Page 48: Seminario de robótica

Lyon’s eye Es uno de los primeros. Se utilizaba para los

ratones ópticos.

Page 49: Seminario de robótica

Tanner and Mead's correlating motion detection chip La imagen anterior es

binaria y se guarda en latches.

Page 50: Seminario de robótica

Tanner and Mead's optic flow motion detection chip

Page 51: Seminario de robótica

Bair and Koch's motion detection chip

Se trata de un circuito que mide el paso por cero.

Page 52: Seminario de robótica

Delbrück's focusing chip Calcula el enfoque de

la imagen. Resta la imagen

original de la suavizada.

El enfoque se tiene cuando esta diferencia es máxima.

Page 53: Seminario de robótica

Delbrück's velocity tuned motion sensor

Detecta movimiento basado en correlación.

Detecta movimiento en un sentido y a un velocidad.

La idea es ir sumando los píxeles añadiendo un cierto retraso.

Page 54: Seminario de robótica

Meitzler et al.'s sampled-data motion chip

Se basa en correlación y en lugar de un retraso, se tiene un circuito de muestreo y retención.

Permite la detección de movimiento en dos sentidos.

Page 55: Seminario de robótica

Moini et al.'s insect vision-based motion detection chip

Está basado en la visión de los insectos.

El circuito básicamente hace la derivada temporal, dando la tendencia del cambio del píxel.

La información es del tipo (incremento, decremento, no cambio).

Page 56: Seminario de robótica

Moini et al.'s second insect vision-based motion detection chip Se trata de una

versión mejorada del anterior.

Al igual que el otro se trata de un sensor 1D formado por 64 células.

Page 57: Seminario de robótica

Dron's multi-scale veto CCD motion sensor Se basa en detectar

bordes. Se aplican filtros

espaciales tal como aparece en la figura.

Page 58: Seminario de robótica

Gottardi and Yang's CCD/CMOS motion sensor Es un sensor de una

dimensión. Está basado en

correlación. Se comparan las dos

últimas imágenes desplazadas hasta 5 píxeles, en uno y otro sentido.

Page 59: Seminario de robótica

Indiveri et al.'s time-to-crash sensor Está basado en redes

de neuronas. Calcula el tiempo al

impacto, según esta fórmula:

Page 60: Seminario de robótica

Indiveri et al.'s direction-of-heading detector Busca el FOE (Focus

Of Expansion). Se basa en el paso por

cero del flujo óptico.

Page 61: Seminario de robótica

McQuirk's CCD focus of expansion estimation chip

Calcula FOE suponiendo que en esos puntos el cambio temporal es menor. Usa CCD y CMOS.

Page 62: Seminario de robótica

Sarpeshkar et al.'s pulse mode motion detector

Está basado en correlacionar un píxel anterior con sus vecinos.

Page 63: Seminario de robótica

Meitzler et al.'s 2D position and motion detection chip

Se utilizaba para detectar la posición del sol en globos estratosféricos.

Page 64: Seminario de robótica

Aizawa et al.'s Image Sensor with Compression

Se compara cada píxel con su anterior, y si no ha cambiado significativamente, no se lee.

32x32 píxels. Este sensor abre la

posibilidad de procesado basado en cambios.

Page 65: Seminario de robótica

CNNUC Sensores neuronales Desarrollados en el CNM de

Sevilla. Cada sensor es una

neurona. El último llegaba a 64x64

elementos

Page 66: Seminario de robótica

Etienne-Cummings et al.'s Motion Detector Chip