VISIÓN POR COMPUTADOR APLICADA A ROBÓTICAoperaciones análogas (ensamblar, moverse, inspeccionar,...

38
Manuel Mazo QuintasDaniel Pizarro Pérez Departamento de Electrónica. Universidad de Alcalá. [email protected] VISIÓN POR COMPUTADOR APLICADA A ROBÓTICA

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).