Download Seminario de robótica

Document related concepts
no text concepts found
Transcript
Seminario de robótica
Segunda Parte:
Captura de imágenes
Contenidos

Introducción


Tecnologías de los sensores







PAL
Escaneado progresivo
Sensorizado inteligente (Smart Sensors)




Lectura continua y espaciada
CCD
CMOS
Otros
Color
Formatos de imagen y transmisión


Sensores inteligentes
El ojo humano como sensor inteligente
Sensor Log-polar
Otros ejemplos de chips de visión
Análisis de movimiento basado en cambios
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).
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.
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.
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:
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.
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.
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.
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.
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.
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.
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
Muestreo
Retención
Salida
Capacidad
Buffer
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.
Sensores CMOS: Funcionamiento


Célula de acceso casi aleatorio.
El circuito que convierte carga en corriente,
muestrea y retiene es común a todos.
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).
Sensores CMOS: Funcionamiento

Célula básica logarítmica
Sensores CMOS: Funcionamiento

Respuesta logarítmica y ancho de banda
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.
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.
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
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.
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.
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
Formato PAL: Detalles
Formato PAL: Ejemplo entrelazado
Formato PAL: Ejemplo entrelazado
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
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.
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.
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
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.
El ojo humano como sensor inteligente

Estructura
El ojo humano como sensor inteligente

Estructura y distribución de píxeles
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.
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:
Retinas de silicio: Mahowald and
Delbrück's stereo matching chips
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.
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.
Retinas de silicio: Filtro Gaussiano de
Kobayashi y otros

Ejemplo de la implementación de un filtro Gaussiano analógico.
PASIC sensor from Linköping University
MAP2200

Como la anterior pero:



Más resolución
(256x256).
ALU mejorada.
Posibilidad de
comunicación entre
columnas.
Standley's orientation detection chip
Ward & Syrzycki's Receptive Field Sensors
Keast & Sodini's CCD/CMOS Imager and
Processor
Venier et al.'s Solar Illumination
Monitoring Chip
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.
Lyon’s eye


Es uno de los primeros.
Se utilizaba para los
ratones ópticos.
Tanner and Mead's correlating motion
detection chip

La imagen anterior es
binaria y se guarda en
latches.
Tanner and Mead's optic flow motion
detection chip
Bair and Koch's motion detection chip

Se trata de un
circuito que
mide el paso
por cero.
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.
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.
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.
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).
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.
Dron's multi-scale veto CCD motion
sensor


Se basa en detectar
bordes.
Se aplican filtros
espaciales tal como
aparece en la figura.
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.
Indiveri et al.'s time-to-crash sensor


Está basado en redes
de neuronas.
Calcula el tiempo al
impacto, según esta
fórmula:
Indiveri et al.'s direction-of-heading
detector


Busca el FOE (Focus
Of Expansion).
Se basa en el paso por
cero del flujo óptico.
McQuirk's CCD focus of expansion
estimation chip


Calcula FOE suponiendo que en esos puntos el cambio temporal es menor.
Usa CCD y CMOS.
Sarpeshkar et al.'s pulse mode motion
detector

Está basado en correlacionar un píxel anterior con
sus vecinos.
Meitzler et al.'s 2D position and motion
detection chip

Se utilizaba para
detectar la posición
del sol en globos
estratosféricos.
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.
CNNUC Sensores neuronales



Desarrollados en el CNM
de Sevilla.
Cada sensor es una
neurona.
El último llegaba a 64x64
elementos
Etienne-Cummings et al.'s Motion
Detector Chip