VISIÓN POR COMPUTADOR APLICADA A ROBÓTICAoperaciones análogas (ensamblar, moverse, inspeccionar,...
Transcript of VISIÓN POR COMPUTADOR APLICADA A ROBÓTICAoperaciones análogas (ensamblar, moverse, inspeccionar,...
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 1
Manuel Mazo QuintasDaniel Pizarro Pérez
Departamento de Electrónica. Universidad de Alcalá. [email protected]
VISIÓN POR COMPUTADOR APLICADA A ROBÓTICA
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 2
ContenidoContenido
Aspectos generales sobre visión por computador.
Adquisición y geometría de formación de imágenes.
Elección de cámaras (óptica+sensor).
Digitalización y relación entre píxeles.
Manuel Mazo. Departamento de Electrónica 3
Aspectos generales sobre visión por Aspectos generales sobre visión por computadorcomputador
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 4
¿Qué es la visión por computador?¿Qué es la visión por computador?
Dada una imagen o una secuencia de imágenes, Dada una imagen o una secuencia de imágenes, extraer propiedade del mundo 3Dextraer propiedade del mundo 3D
Objetos presentes en la escena Relación entre la escena y observador
Estructura del espacio 3D
•Escena de tráfico.Escena de tráfico.• Numero de vehículos.Numero de vehículos.•Tipo de vehículos.Tipo de vehículos.• Localización de obstáculos Localización de obstáculos próximos.próximos.• Valoración de la densidad Valoración de la densidad (congestión) (congestión)
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 5
¿Por qué la visión por computador?¿Por qué la visión por computador?
Muchos sistemas biológicos dependen de la visión.
El mundo 3D es dinámico y genera una gran cantidad de información
Cámaras y computadores son cada vez más baratos.
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 6
Desafío y enfoqueDesafío y enfoque
Desafio:Desafio:Desarrollar capaciades similares a las de los humanos Desarrollar capaciades similares a las de los humanos para computadores y robots.para computadores y robots.
• Enfoque:● ¿Qué información debe extraerse?● ¿Cómo puede extraerse?● ¿Cómo debe ser representada?● ¿Cómo se puede utilizar para alcanzar los
objetivos?
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 7
Necesidad de ver artificialmenteNecesidad de ver artificialmente
Al igual que le sucede al hombre, el sentido de la vista es de gran importancia para las máquinas.
Las máquinas necesitan “ver” para realizar operaciones análogas (ensamblar, moverse, inspeccionar, etc) a las que efectúan los humanos.
El sentido de la vista permite a las máquinas adquirir información y aprender de su propio entorno.
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 8
Inspección visual Industria Medicina Observaciones aéreas. Robótica (móvil, brazos manipuladores, etc). Agricultura. Seguridad. Geología. Defensa. Asistencia hombre-máquina (tele-operación, reconocimiento de
caracteres, etc).
Aplicaciones de la visión artificialAplicaciones de la visión artificial
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 9
Las imágenes son ambiguas: proyección 3D a 2D.
Variaciones naturales en las clases de objetos: Color, textura, tamaño, formas, partes, relación.
Variaciones en el procesamiento de imágenes: Iluminación (brillos, sombras, contraste), Distorsión de proyección, punto de vista, oclusiones; Ruido, características de sensor y óptica.
Varios aspectos inter-relacionados: localización, reconocimiento, etc.
Gran cantidad de información a tratar (gran potencia de cálculo).
Dificultades de la visión por Dificultades de la visión por computadorcomputador
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 10
Diagrama de bloques de un sistema de Diagrama de bloques de un sistema de visión artificialvisión artificial
Escena 3D
Adquisición
segmentación Imagen(es)
Descripción yreconocimiento
Bordes/regiones
Aplicaciones
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 11
Estructura general de un sistema de Estructura general de un sistema de visión por computadorvisión por computador
EscenaEscena 3D3DAdquisición y formación de imágenes
Pre-procesamiento Extración decaracterísticas
• Iluminación• Óptica• Sensor• Digitalizador
• Ruido• Realce • Transformaciones
• Lineas• Esquinas• Contornos• Regiones• Flujo óptico• Etc.
DescripciónY reconocimiento
AplicaciónAplicación
• Descripción de líneas, contornos, regiones• Reconocimiento
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 12
Espectro electromagnéticoEspectro electromagnético
Espectro visible
Manuel Mazo. Departamento de Electrónica 13
Adquisición y geometría deformación Adquisición y geometría deformación de imágenesde imágenes
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 14
Elementos que se incluyen en la Elementos que se incluyen en la adquisición y formación de imágenesadquisición y formación de imágenes
Escena Iluminación Óptica Sensor
Señal Digitalización Representación digital
Escena: Realidad (espacio 3D).Iluminación: Ilumina la escena (esta estrecamente relacianada con el tipo de
sensor y los objetivos que se quieren alacanzar) Optica: Enfoca {luz} desde la escena sobre el sensorSensor: Convierte {luz} a {energía eléctrica}Señal: representación de la luz incidente como una energía
eléctríca continua.Digitalizador: convierte señales continuas a señales discretasRepresentación digital: Representación final de la escena (realidad) en
la memoria del ordenador
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 15
Punto de partidaPunto de partida
Situación típica en procesamiento de imágenes:● Luz visible● Lentes ideales● Sensores standard (por ejemplo cámaras CCD)● Objetos opacos
Objetivo:
Crear imágenes digitales las cuales puedan ser procesadas para recuperar alguna característica de la escena 3D.
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 16
Adquisición y Formación de imágenesAdquisición y Formación de imágenes
Fuente de luz
Escena
Plano imagenPlano
Óptica Sensor Señal
0001010100010011100011100101
Digitalización
Lente pin-hole
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 17
Representación de una imagenRepresentación de una imagen
Una imagen puede ser representada por una función: f(u,v). El argumento de f(u,v) representa la localización de cada pixel en el plano imagen. El valor de f(u,v) puede tener diferentes interpretaciones en diferentes tipos de
imágenes. Ejemplos:Ejemplos:Imagenes de intensidad:
f(u,v) = intensidad de la escena Imagenes de distancia: f(u,v) = distancia desde la escena
al sistema de captación. Imágenes en color: f(u,v) = {fr(u,v), fg(u,v), fb(u,v)}
Video: f(u,v,t) = secuencia temporal
de imágenes
u
f(u,v)
v
0,0
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 18
Imágenes en colorImágenes en color
Azul Verde Rojo
Pixel
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 19
GeometríaGeometríaAspectos generalesAspectos generales
La geometría describe la proyección de:
Plano imagen (2D)Escena 3D
Suposición típica● La luz se propaga en línea recta.
Eje óptico: La perpendicular desde el plano imagen que pasa por el centro de proyección (pin-hole).
Cada punto de la imagen se corresponde con una dirección definida por el rayo que pasa por ese punto y el centro de proyección.
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 20
ÓpticaÓpticaCámara pin-holeCámara pin-hole
La escena se proyecta en una imagen 2D:● La imagen es invertida● El tamaño se reduce● Se pierde la información sobre la profundidad (distancia)
f es la distancia focal de la lente Se conoce como la “proyección de perspectiva”
Plano imagen
Eje óptico
Lente Pin-hole
f
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 21
ÓpticaÓptica Geometría equivalenteGeometría equivalente
fz
Equivalente matemáticamente
- fz
Plano imagen o de proyección z = 0
“Centro de perspectiva”
“Centro de perspectiva”
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 22
Geometría (Cámara)Geometría (Cámara)Sistema de coordenadasSistema de coordenadas
Caso simple:Se hace coincidir el origen de coordenadas del mundo 3D y el de la imagen. Y alineado con v X alineado con u Z perpendicular al plano imagen
Y
Z
Sistema de Coordenadas globales
(0,0,0)
u
vX
Z
Y
X
p(X,Y,Z)p(u,v)
(0,0)
Sistema de coordenadas imagen
Z=-f
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 23
PerspectivaPerspectiva inversa inversa
u
v
Z
p(u,v)
Z=-f
• Dado un centro de proyección y las coordenadas de un punto sobre el plano imagen p(u,v), no es posible obtener la coordenada Z utilizando una sola imagen.
p(X,Y,Z) puede ser
cualquiera a lo
largo de esta línea
Todos los puntos a lo largo de esta línea tienen la misma proyección en el plano imagen (p(u,v))
En general se requieren al menos dos imágenes del mismo punto, tomadas desde diferentes puntos de vista, para poder obtener la coordenada Z (profundidad)
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 24
FotometríaFotometríaImagen en blanco y negroImagen en blanco y negro
.
Escena Iluminación Óptica Sensor
Óptica
Plano imagen
V(u,v) : Señal eléctrica de vídeo
Imagen L(u,v))
22 34 22 0 18 •••
••••••
VídeoCámara
Conversión A/D
…… ....
Imagen Digital f(u,v) =I(u,v)
Memoria Computador
Niveles de gris
21 152
67
85
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 25
Canal RojoConversión A/DCanal Verde
Conversión A/DÓptica
Plano imagen
V(u,v) : Señal eléctrica de vídeo
Imagen L(u,v))
VídeoCámara
Canal RojoConversión A/D
Memoria Computador
Niveles de gris
…… ....
67
858 15
23
…… ....
67
858 15
23
…… ....
67
858 15
23
B(u,v)
G(u,v)
R(u,v)
FotometríaFotometríaImagen en colorImagen en color
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 26
FotometríaFotometría Sensibilidad espectralSensibilidad espectral
Ojo humano Cámaras CCD
• Figura 1muestra la eficiencia relativa de conversión para el ojo humano (scotopic y photopic curvas) y diversos tipos de cámaras CCD. Nótese la senibilidad de los CCD al Infrarrojo y ultravioleta.
Manuel Mazo. Departamento de Electrónica 27
Elección de cámaras (óptica+sensor)Elección de cámaras (óptica+sensor)
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 28
Elección de cámarasElección de cámaras sensores+ópticasensores+óptica
No existe una “cámara universal”. La cámara debe ser elegida para cada aplicación Algunos aspectos a tener presentes:
● Óptica● Profundidad de campo.● Aberraciones ópticas: Aberraciones cromáticas; Aberraciones de Seidel
(Esférica, Croma, Astigmatismo, Curvatura de campo, Distorsión: cojin (pincushion), barril (barrel).
● Sensor:● Ganancia en función de la longitud de onda.● Resolución (128x128 pixels, 1024x1024 pixels, etc)● Standar (Europeo- CCIR- y Americano – EIA, RS170-)● Tiempo de integración.● Tiempo de adquisisción.● Imágenes por segundo (fps)● Sensibilidad.● Relación de los pixels.● Tipo de barrido● Tipo de sensor (CCD y CMOS)
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 29
Algunos tipos de cámarasAlgunos tipos de cámaras Sensor CCD tipo mosaicoSensor CCD tipo mosaico
El mayor número de píxeles sensibles al verde se justifica porque el ojo humano es mucho más sensible a este color. Por tanto, los tonos verdes tienen mucha menos borrosidad que los rojos o azules, lo que contribuye a mejorar el conjunto de la imagen.
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 30
Parámetros de cámarasParámetros de cámaras
Ganancia en función de la longitud de onda: Relaciona la ganacia de la cámara para las distintas longitudes de onda. Existen cámaras comerciales cuya respuesta máxima está en el espectro visible (las más frecuentes) pero también las hay en el infrarrojo cercano, medio y lejano (calor) .
Resolución (128x128 pixels, 1024x1024 pixels, etc): número de pixels del sensor de imagen. Existen diferentes soluciones comerciales, Existen dos etándares (Europeo- CCIR- y Americano – EIA, RS170-).
Tiempo de integración: Es el tiempo durante el cual la cámara está sometida a los efectos luminosos (para controlarlo, las cámaras permiten fijar el tiempo de exposición, shutter (obturador). Su efecto es similar al del tiempo de obturación de las cámaras de fotos).
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 31
Parámetros de cámarasParámetros de cámaras
Tiempo de adquisisción: Tiempo que necesita la cámara para transmitir la información captada.
Sensibilidad: absoluta: Iluminación mínima para que la cámara produzca una salida (suele ir acompañada por un número F determinado para indicar la apertura del diafragma). Sensibilidad relativa: número de fotones necesarios para que la cámara pase de un valor al siguiente.
Relación de los pixels: Los píxeles pueden ser cuadrados o rectangulares,
con relación u/v = 4/3, para adaptarse a los estándares de televisión.
Tipo de barrido: Barrido progresivo (progressive scan), barrido entrelazado (no son adecuadas para captar imágenes en movimiento, ya que el campo par e impar se adquieren en diferentes instantes de tiempo, por lo que hay un desplazamiento espacial entre ellos). Las cámaras de barrido progresivo toman las líneas de forma consecutiva.
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 32
¿Cámaras CCD o CMOS?¿Cámaras CCD o CMOS?
Tanto las cámaras CCD como CMOS son de estado sólido (silicio) y con un equipamiento muy similar.
Su principio de funcionamiento las hace muy diferentes. CCD:
Cada píxel (photosites) contiene un fotodiodo y una región de retención de carga adyacente.
La luz es captada por toda la superficie del sensor durante un cierto tiempo y la carga de cada píxel se transfiere a su región de retención de carga adyacente.
La lectura de la carga de cada píxel se hace secuencialmente
Salida
p0 p1 p2 pN
Puerta
Registro de transporte
photosites
Amplificador
ltima fila leida
Primera fila leida
Al amplificador de salida
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 33
¿Cámaras CCD o CMOS?¿Cámaras CCD o CMOS?
• CMOS: Se fabrican con procesos estándares y alta densidad de integración. Toda la electrónica periférica (lógica digital, drivers de reloj, amplificadores,
conversores A/D, ..) se pueden integrar en el propio sensor. La arquitectura de un sensor matricial CMOS es similar a un display plano. Cada píxel está formado por un fotodiodo, un convertidor de carga a tensión,
un transistor de reset y select, y un amplificador. La arquitectura permite leer los píxeles por separado, un array entero o una
parte del array, por medio de un sistema de direccionamiento (u,v).
Fotodetector
Amplificador
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 34
¿Cámaras CMOS o CCD?¿Cámaras CMOS o CCD?
CMOS frente a CCD´s: CMOS menor consumo. CMOS mayor velocidad. CMOS más flexibilidad de acceso a datos: se puede leer desde un solo píxel a
un grupo de píxeles (área variable de imagen). Este aspecto es especialmente interesante en sistemas de alta velocidad: si se selecciona un número reducido de píxeles (baja resolución espacial) su lectura requerirá menos tiempo.
Dado que en los CMOS se realiza directamente la conversión carga-tensión, este tipo de cámaras no presentan el efecto “blooming” (en los CCD este efecto se debe a las perdidas de carga -en los elementos de retención de carga- entre píxeles).
La sensibilidad de los CMOS a la luz es menor, lo que hace que no sean apropiados para condiciones de baja luminosidad (fill factor – porcentaje de píxel dedicado a captar luz- = 70% en CMOS y 100% en CCD).
CMOS presentan mayor nivel de ruido.
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 35
Hardware de procesadoHardware de procesado
Existen numerosas alternativas al hardware de procesado en plataformas móviles: Plataformas basadas en micro-PC y nano-PC.
• Mucho software optimizado disponible (OpenCV,visLib,..)
• El diseño y pruebas se puede realizar en cualquier plataforma
• Multitud de periféricos E/S disponibles (Firewire, USB 2.0, PCI)
• El coste es alto y el consumo muy elevado.
• El tamaño es en general superior al de cualquier otra solución, no válido para robots pequeños
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 36
Hardware de procesadoHardware de procesado
Existen numerosas alternativas al hardware de procesado en plataformas móviles: Plataforma reciclada de dispositivo portable (PDA, PALM, etc..)
• Comienza a existir software de visión optimizado para dichas arquitecturas.
• El consumo está muy controlado y en general tienen buenas prestaciones
• Gran cantidad de periféricos y algunos incluyen sensores de visión !!
• No son en general arquitecturas abiertas.
• El coste puede ser del mismo orden que un micro-PC
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 37
Hardware de procesadoHardware de procesado
Existen numerosas alternativas al hardware de procesado en plataformas móviles: Plataforma hardware especializada en visión artificial.
• Suelen incorporar procesadores DSP y FPGA's de alto rendimiento
• El consumo suele ser inferior para la misma potencia de cálculo.
• Suelen trabajar con buses de adquisición estandar o incorporar ellos el sensor.
• El coste es muy alto en la mayoría de los casos (excepciones)
• Suelen ser plataformas para aplicaciones específicas.
Manuel Mazo, Daniel Pizarro. Departamento de Electrónica 38
Software Software
Existe una infinidad de librerías optimizadas para trabajar en diferentes arquitecturas
OpenCv: Librería en continuo crecimiento y soportada en sus inicios por Intel. Es la más utilizada en este momento.
Gandalf: Librería de algoritmos escrita en C++
LTI-LIB: http://ltilib.sourceforge.net/doc/homepage/index.shtml
OpenVidia: Realiza procesado utilizando tarjetas aceleradores Nvidia.
La elección del softare a utilizar debe estar condicionada por su portabilidad (mejor soft libre) y por la capacidad de actualización (Proyectos activos).