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