Publicado el 11 de Julio del 2017
1.194 visualizaciones desde el 11 de Julio del 2017
2,7 MB
18 paginas
Creado hace 14a (04/04/2011)
Técnicas de inteligencia artificial
Visión Artificial
Visión 3D
Indice
Introducción
Visión estéreo
Introducción
Cuando usamos una cámara, perdemos la
información 3D
x
y
yz
x
yz
x
Sin embargo, la información 3D nos da medidas
de la distancia a la que se encuentran los objetos
•Puede ser usada para reconocer objetos
•También en otras tareas (por ejemplo, robótica)
Introducción
Por ello, es interesante recuperar esa información
3D:
Con cámaras especiales (infrarrojos)
Con láseres 3D
Con ciertos métodos (estructura a partir de X: sombra,
movimiento, forma, foco, ...)
Con visión estéreo
Visión estéreo
Usamos dos cámaras, usualmente izquierda y
derecha
Los objetos en la imagen aparecerán en distinta
posición en una imagen y en la otra
Cuanto más cerca estén los objetos de la cámara,
mayor será su cambio relativo
Disparidad: desplazamiento relativo de los objetos
Existe una relación directa entre la profundidad y
en las dos imágenes
la disparidad
Funcionamiento interno de una cámara
Un punto se proyecta en el plano imagen siguiendo
una trayectoria recta hacia el centro de proyección
(focal)
Geometría de una cámara estéreo
Un punto P en el espacio
se proyectará en puntos
distintos de las dos cámaras,
dependiendo de su
profundidad
Podemos calcular la distancia
a la que se encuentra un punto
calculando la disparidad del mismo
punto en ambas imágenes
Correspondencia de puntos en imágenes
Debemos ser capaces de encontrar para cada punto
en una imagen, su correspondencia en la otra
imagen
Se suelen usar dos métodos:
Correlación: se basa en usar una zona alrededor de un
punto para “compararla” con puntos de la otra imagen
Características (esquinas, aristas, etc.): en zonas
uniformes no se pueden encontrar correspondencias, se
usan discontinuidades
Correlación
La correlación es un proceso que consiste en sumar el
resultado de multiplicar píxel a píxel una cierta
vecindad en las dos imágenes
Se define una cierta ventana de tamaño W
Para cada punto x, y de la imagen izquierda calculamos el
desplazamiento (dx, dy) que se produce en la imagen derecha
Para cada posible desplazamiento (dx, dy) se calcula:
Encontramos el desplazamiento que maximiza la anterior
I l( x+k , y +l)∗I r( x+d x+k , y +d y+l )
c (x , y ,d x , d y)= ∑
∑
k =−W
l=−W
W
W
función
(d xmax
,d y max)=arg max c( x , y , d x , d y)
Búsqueda de la correspondencia
Hemos comentado que para cada píxel buscamos el
desplazamiento que se produce en la otra imagen
Podemos hacer uso de la geometría reducir la búsqueda
(geometría epipolar)
En vez de buscar por toda la imagen, solo buscamos por la
línea epipolar correspondiente
http://www.ai.sri.com/~luong/research/Meta3DViewer/EpipolarGeo.html
Búsqueda de la correspondencia
d1
Izq.
d2
Der.
Disparidad
Otro ejemplo: tres cámaras
Top
Disparity
Left
Right
Correlation + Triangulation
Imagen de disparidad
La imagen de disparidad nos da información relativa a
la distancia entre los píxeles
Para calcular las coordenadas X,Y,Z se debe realizar un
proceso de calibrado de la cámara para poder conocer
los parámetros asociados: distancia entre las cámaras,
distancia focal y otros.
Problema del estéreo. Otras fuentes de datos 3D
El estéreo no es capaz de encontrar emparejamientos
en zonas homogéneas
Existen otros sistemas que nos proporcionan datos de
profundidad
Láser 3D: láser 2D con basculante. No
proporciona información de color
Cámaras de infrarrojos: usa el tiempo de vuelo
para determinar la profundidad
Kinect: proyecta un patrón para evitar la
pérdida en zonas homogéneas
Kinect
Hardware:
Una cámara CMOS convencional nos da una imagen RGB
Un laser infrarrojo proyecta un patrón de puntos.
Una cámara infrarroja capta este patrón. Por hardware se
calcula la profundidad de cada punto
http://www.ros.org/wiki/kinect_calibration/technical
Cálculo de la profundidad
El patrón de puntos está memorizado para una profundidad
conocida. Al poner objetos delante, el patrón aparece
“desplazado” y así se puede calcular la profundidad
Video con el patrón proyectado
http://www.youtube.com/watch?v=IHsPb5Yv5G8
Bajo coste (150€)
Proporciona 30 fps a buena resolución (640x480)
Capta profundidad en zonas sin textura, cosa que el
estéreo no puede hacer
Funciona totalmente a oscuras
Capacidades de la Kinect
Ventajas
Inconvenientes
Alcance limitado (50cm – 4m)
Puede fallar en zonas que reflejen mal la luz infrarroja
Suele fallar en los bordes de los objetos
Ejemplo de aplicación con datos 3D
Comentarios de: Técnicas de inteligencia artificial - Visión Artificial - Visión 3D (0)
No hay comentarios