-
TCNICAS DE PROCESAMIENTO DE IMGENES ESTEREOSCPICAS
Jos Miguel Guerrero Hernndez, Gonzalo Pajares Martinsanz,
Mara Guijarro Mata-Garca
Departamento de Ingeniera del Software e Inteligencia Artificial
Universidad Complutense de Madrid
Resumen
En los ltimos aos ha crecido sustancialmente el desarrollo de aplicaciones enfocadas a la tecnologa
de Visin por Computador, cuyo objetivo principal es proporcionar al sistema de las sensaciones realistas del
mundo. Uno de los conceptos que caracteriza la Visin por Computador es la sensacin tridimensional que se
consigue mediante la obtencin de imgenes estereoscpicas generadas por dos cmaras, las cuales adquieren
dos imgenes distintas de la misma escena.
En este artculo se presenta una revisin de mtodos para correspondencia estereoscpica con el fin de
tratar de encontrar el mejor de los posibles adems de mejorarlo. Se aprovechan las bondades de los algoritmos
estudiados para la realizacin del nuevo mtodo buscado. Se utiliza tcnicas de suavizado comunes tales como la
media o la mediana junto con un mtodo de enfriamiento simulado y otro de propagacin que se ha creado
expresamente para este fin. Los resultados de estas dos tcnicas se comparan con los mtodos clsicos
previamente seleccionados.
Palabras clave: visin estereoscpica, correspondencia, filtro de la media, filtro de la mediana, propagacin,
enfriamiento simulado.
Abstract
In recent years developing applications focused on computer vision technology are appearing, and the
main objective is supply realistic sensations of the world to the system. One of the concepts that characterize the
Computer Vision is the three-dimensional sense obtained by capturing images generated by two stereoscopic
cameras, which acquire two images of the same scene.
This paper presents a revision of classical methods in stereovision matching. This is intended for
selecting the best approach and to improve its performance. It takes advantage of the benefits of the algorithms
used to perform a new method to improve outcome. It uses common filtering techniques such as mean or median
along a simulated annealing technique and a spread that has been created as a research contribution. The results
of these two techniques are compared with classical methods which are previously selected.
Key words: stereoscopic vision, average filtering, median filtering, propagation, simulated annealing.
1. Visin estereoscpica La visin estereoscpica constituye un procedimiento para la obtencin de la forma de
los objetos en la escena. En este caso la forma se determina a travs de la distancia de los
objetos en relacin con un sistema de referencia por lo que se trata de un mtodo para la
obtencin de la tercera dimensin.
Para la obtencin de la estructura de la escena, existen dos tipos de mtodos: activos y
pasivos. Los mtodos pasivos son aquellos que intervienen externamente sobre la escena, bien
iluminndola o bien enviando un haz energtico, tales como sensores de ultrasonidos, luz
estructurada, triangulacin, telmetro de tiempo de vuelo, etc. Por el contrario, los pasivos no
actan sobre la escena, siendo la visin estereoscpica, el principal mtodo que constituye el
objetivo final de estudio en este trabajo.
-
La visin estereoscpica toma como referencia el modelo estereoscpico biolgico
donde el desplazamiento relativo de los ojos permite obtener la profundidad de los objetos o
tercera dimensin mediante un simple proceso de triangulacin a partir de las dos imgenes
generadas por el mismo objeto de la escena 3D en cada ojo. Esto se debe al hecho de que los
ojos estn distanciados, esto hace que las imgenes de los objetos en sendos ojos se muestren
desplazadas segn la distancia de los objetos a los ojos. Si se solapan las imgenes obtenidas
en ambos ojos se obtiene la imagen de la Figura 1.1(b) en la que se observa que la separacin
relativa entre las imgenes de los dos tringulos es menor que la separacin relativa entre las
imgenes de las estrellas. Este fenmeno se explica por el hecho de que la estrella en la
escena 3-D se encuentra ms prxima a los ojos que el tringulo. Estas separaciones relativas
de los objetos en las imgenes obtenidas en cada ojo, es lo que se denomina disparidad y que
es el centro de estudio de este trabajo.
a
b
Figura 1.1 - (a) Sistema de visin estereoscpica biolgico; (b) Superposicin de las imgenes de ambos ojos, donde se observa la separacin relativa de cada objeto de la escena (a menor distancia,
ms lejos se encuentra el objeto; a menor distancia, ms cerca est).
En visin estereoscpica artificial generalmente se utilizan dos cmaras separadas
entre s una cierta distancia relativa con las que se obtienen las correspondientes imgenes del
par estreo. El procedimiento consiste en captar dos imgenes de una misma escena, cada
imagen es capturada desde una posicin de las cmaras ligeramente diferente, por lo que las
imgenes se presentan tambin ligeramente desplazadas entre s, siendo ste el fundamento
bsico de la visin estereoscpica, ya que este hecho es el que va a permitir la obtencin de la
distancia a la que se encuentra un determinado objeto.
En la Figura 1.2 (a) y (b) se muestra un par de imgenes estereoscpicas originales
captadas mediante un sistema de visin artificial con dos cmaras alineadas horizontalmente,
de forma que los objetos en las imgenes slo presentan un desplazamiento horizontal y no
vertical.
La captura de las imgenes de la escena se puede obtener por alguno de los dos
procedimientos siguientes:
a) Alineando dos cmaras de forma que se siten ligeramente desplazadas en el espacio.
b) Desplazando una nica cmara una cierta distancia y captando las imgenes en las diferentes posiciones de desplazamiento.
En ambos casos la geometra del sistema puede disearse de forma que las cmaras
tengan sus ejes pticos paralelos o convergentes. El modelo ms utilizado en visin artificial
es el de ejes pticos paralelos.
-
(a) (b)
Figura 1.2 - (a) Imagen original estereoscpica izquierda; (b) Imagen original estereoscpica derecha. Como se puede observar nicamente aparece un ligero desplazamiento horizontal debido a la posicin
de las cmaras.
2. Geometra del sistema estereoscpico
Un sistema convencional est caracterizado por un par de cmaras con sus ejes pticos
(ZI y ZD) mutuamente paralelos y separados por una distancia horizontal que se denomina lnea
base, en la Figura 1.3 se identifica con el parmetro b. Las cmaras tienen sus ejes pticos
perpendiculares a la lnea base y sus lneas de exploracin o epipolares paralelas a la lnea base.
Las lneas epipolares son lneas que unen un mismo punto en la escena en las imgenes
izquierda y derecha.
Como se puede ver en la Figura 1.3 en este sistema de ejes pticos paralelos el
desplazamiento entre los centros pticos de las dos cmaras es horizontal, esto se traduce en el
hecho de que las imgenes de un punto determinado de la escena captado por ambas cmaras
difiere solamente en la componente horizontal.
Las Figura 1.3 muestra la geometra de un par de cmaras en estreo, representadas por
sus modelos puntuales con sus planos imagen, II e ID reflejados sobre sus centros de proyeccin,
OI y OD, respectivamente.
El origen del sistema de coordenadas de referencia o del mundo est en O, siendo la
longitud focal efectiva de cada cmara f, y la lnea base b como ya se ha definido
anteriormente. Los ejes de coordenadas del mundo X, Y, y Z se sitan entre los ejes de ambas
cmaras. Como consecuencia de la geometra de la imagen se obtiene la denominada
restriccin epipolar, que ayuda a limitar el espacio de bsqueda de correspondencias, de
manera que en el sistema de ejes paralelos convencional todos los planos epipolares originan
lneas horizontales al cortarse con los planos de las imgenes. En un sistema con la geometra
anterior se obtiene un valor de disparidad d, para cada par de puntos emparejados PI (xI, yI) y PD(xD, yD) dado por d = xI - xD.
-
P(X,Y,Z)
Objeto
Z
XOI OD
PI PDII(x,y) ID(x+d,y)f : Distancia focal
b
xDxI
ZI ZD
Distancia entre las
lentes de la cmara
Figura 1.3 - Representacin de la proyeccin estreo. Geometra de dos cmaras en estreo con ejes pticos paralelos desde una perspectiva superior.
3. Obtencin de la distancia
Considerando una relacin geomtrica de semejanza de tringulos, las coordenadas del
punto de la escena P(X,Y,Z) pueden deducirse fcilmente sin ms que observar la Figura 1.3,
obteniendo los resultados dados por la ecuacin (1.1). Se deduce a partir de la ecuacin (1.1)
que cuando se utiliza esta geometra, la profundidad Z, es inversamente proporcional a la
disparidad de la imagen y para una profundidad dada, a mayor b mayor d.
2
2
: 2
d
2:
II I
I D
DD
D
bX
Z
bX
Z
x f bO x X
f Zfb fb
x x ZZ d
f bx Xx ZO
f
(1.1)
4. Mtodos de correspondencia
En visin estereoscpica se pueden distinguir dos grupos de tcnicas para establecer la
correspondencia a partir de dos imgenes estereoscpicas: basadas en el rea (area-based) y basadas en las caractersticas (feature-based).
Los mtodos basados en caractersticas restringen la bsqueda a un conjunto disperso
de caractersticas. Se emplean propiedades simblicas y numricas de las caractersticas,
obtenidas a partir de los llamados descriptores, los cuales se encargan de procesar y extraer
caractersticas de una determinada imagen.
-
En los mtodos basados en rea, los elementos a comparar son ventanas de la imagen
de dimensin fija, y el criterio de semejanza es una medida de la correspondencia entre las
ventanas de las dos imgenes. El elemento correspondiente queda determinado por la ventana
que maximiza el criterio de semejanza dentro de la regin de bsqueda. Dentro de este
segundo grupo se pueden distinguir mtodos como: la suma de diferencias absolutas (Sum of
Absolute Differences: SAD), la suma de diferencias al cuadrado (Sum of Squared Differences:
SSD), la correlacin cruzada normalizada (Normalized Cross Correlation: NCC) y el
coeficiente de correlacin de Pearson (Lpez-Valles y col., 2005; Pajares y Cruz, 2007;
Kanade y Okutomi, 1994; Okutomi y Kanade, 1993; Matthies y col., 1988, 1989;
Hirschmller y col., 2002).
5. Medidas del error
En este artculo se abordan distintos mtodos y tcnicas de procesamiento de imgenes
estereoscpicas, en concreto se estudian los mtodos basados en la correlacin de Pearson, as
como la minimizacin del error global de energa y la correspondencia estreo basada en lnea
de crecimiento propuestas en Baykant (2008), y la correspondencia estreo basada en la
segmentacin, estudiada en Klaus y col. (2006) e implementada por Lankton (2010). Adems,
se estudian distintos tipos de filtrado que pueden ser aplicados a las imgenes obtenidas
mediante las tcnicas anteriores, con el fin de suavizar los resultados obtenidos.
Para poder comparar los algoritmos, se ha utilizado el porcentaje de error. Se trata de
una simple comparacin entre la disparidad obtenida mediante estas tcnicas y la imagen de
disparidad que se ha considerado como vlida, en base a la informacin proporcionada por los
suministradores de las mismas, Middlebury (2010). Con ello, se obtiene el porcentaje de error
que se comete al aplicar cada tcnica, contando el nmero de pxeles divididos entre el
nmero de pxeles total (ecuacin 5.1)
1 1 M N
i j
e
M N (5.1)
donde e es el nmero de errores que cumple: , ,real i j obtenido i j
Adems de dicha medida de comparacin, se utiliza el Error Cuadrtico Medio. Esta
funcin proporciona la medida de las diferencias en promedio de los valores obtenidos y los
observados a partir de las imgenes de disparidad real (ecuacin 5.2). De esta forma no slo
se puede comparar si son exactamente iguales ambas imgenes, sino que adems da un valor
del error medio al cuadrado cometido por cada pxel de la imagen. Esto hace que aunque el
porcentaje de error sea mayor en una determinada tcnica, si su error cuadrtico medio es
inferior, dicha tcnica pueda ser mejor que aquella que obtiene un porcentaje de error menor y
mayor error cuadrtico medio.
2
1 1
, ,M N
i j
real i j obtenido i j
M N
(5.2)
Por ello, hay que buscar el equilibrio correcto entre en el porcentaje de errores y el
error cuadrtico medio, intentado que ambos sean lo ms pequeo posible.
-
6. Correspondencia estereoscpica basada en la segmentacin
En Klaus y col. (2006) se propone un algoritmo (Segment-based stereo matching) que
utiliza la segmentacin del color en la imagen de referencia y una coincidencia auto-
adaptativa del resultado que maximiza el nmero de correspondencias fiables, asignando un
plano de disparidad a cada segmento en lugar de un valor de disparidad a cada pxel.
El primer paso consiste en descomponer la imagen de referencia en regiones de color
homogneo o escala de grises, asumiendo que los valores en esas regiones varan suavemente
y que las discontinuidades de profundidad slo ocurren en los lmites de cada regin.
Este mtodo est modelado por un conjunto de planos de disparidad. Un plano est
definido por tres parmetros 1 2 3, ,c c c que determinan una disparidad d para cada pxel de la
imagen de referencia 1 2 3d c x c y c .
Debido a la gran cantidad de planos de disparidad que pueden existir, el nmero de
stos se reduce a la obtencin de un conjunto representativo. Este procedimiento se realiza
aplicando correspondencia local en el dominio del pxel seguido de una estimacin del plano
de disparidad.
Rectificacin de las lneas epipolares
en las imgenes de entrada
Mapa de disparidad
Extraccin de las
regiones homogneas en
la imagen de referencia
Aplicar correspondencia
local basada en la ventana
de vecindad
Extraer un conjunto de
planos de disparidad
Aproximacin ptima del
plano de disparidad
asignado
Figura 6.1 - Esquema del algoritmo de correspondencia estreo basada en segmentos, con imgenes de entrada, intermedias y resultados finales del mtodo propuesto.
-
Para la correspondencia local se define una ventana de agregacin y un resultado de
correspondencia. En este enfoque se utiliza una medida auto-adaptativa para la disparidad que
combina la suma de diferencias absolutas de intensidad (SAD) y una medida basada en el
gradiente (GRAD) (ecuaciones 6.1 y 6.2).
1 2( , ) ( , )
, , , ,SADi j N x y
C x y d I i j I i d j
(6.1)
1 2 1 2( , ) ( , ) ( , ) ( , )
, , , , , ,x y
GRAD x x y y
i j N x y i j N x y
C x y d I i j I i d j I i j I i d j
(6.2)
Donde ,N x y es una ventana 3 x 3 abierta alrededor de la posicin ,x y ; ,xN x y es una
ventana alrededor de la posicin ,x y sin la columna de ms a la derecha; ,yN x y es una
ventana alrededor de la posicin ,x y sin la fila inferior; x es el gradiente en x hacia la derecha;
y es el gradiente en y hacia abajo. Las imgenes en color tienen en cuenta la
suma de la medida de disparidad para todos los canales (R,G,B).
Opcionalmente se introduce un peso entre SADC y GRADC que determina el nmero
mximo de correspondencias fiables que son filtradas mediante una prueba de verificacin
cruzada, eligiendo la disparidad que tiene menor coste de correspondencia. El resultado de la
diferencia de similitudes viene dado por la ecuacin (6.3).
, , 1 * , , * , ,SAD GRADC x y d C x y d C x y d (6.3)
Para aumentar la precisin del plano de disparidad se establece, por repeticin, el
plano adecuado para regiones agrupadas que estn en el mismo plano de disparidad:
1) Se calcula el coste de correspondencia para cada asignacin del segmento al plano. Esto se calcula sumando el coste de correspondencia para cada pxel dentro del
segmento S, ecuacin (6.4).
( , )
, , ,SEGx y S
C S P C x y d
(6.4)
donde P es un plano de disparidad que define la disparidad d.
2) Se asigna a cada segmento el plano de disparidad con menor coste de correspondencia.
3) Se agrupan los segmentos que son asignados al plano de disparidad.
4) Se repite la estimacin del plano para todos los grupos de segmentos.
En el paso final, se busca la solucin ptima para la asignacin del plano de disparidad
al segmento. Por lo tanto, la correspondencia estreo se formula como un problema de
minimizacin de energa para el etiquetado f , que asigna a cada segmento s R el plano
correspondiente f s D . La energa para un etiquetado f viene dado por la ecuacin (6.5)
data smoothE f E f E f (6.5)
-
donde
( , )data SEGs R
E f C s f f
(6.6)
( , ) |
,
i j N i j
smooth disc i j
s s S f s f s
E f s s
(6.7)
NS representa el conjunto de todos los segmentos adyacentes y ,disc i js s es un factor de penalizacin que incorpora la longitud de los bordes comunes y la media de similitud del
color como se propone en Bleyer y col. (2005).
7. Filtrado de imgenes
Como se quiere un proceso automtico, y asumiendo que los algoritmos de visin
estereoscpica pueden generar errores en el clculo de la disparidad, es conveniente recurrir a
filtrados de los mapas de disparidad. Estos filtrados, pretenden reconocer qu valores pueden
estar mal calculados y les da un valor acorde a su situacin en el mapa.
7.1. Enfriamiento simulado (Simulated Annealing)
Se asume que un valor de disparidad que difiere mucho del resto de vecinos en una
ventana MxN, sigue siendo un valor errneo, por lo que el objetivo sigue siendo tratar de
modificar estos valores. Este proceso utiliza una funcin de energa para la imagen, ecuacin
(7.5), de esta manera se quiere minimizar este valor en cada paso del algoritmo. Es a esta
minimizacin lo que se le llama Enfriamiento Simulado o Simulated Annealing. Esta tcnica ha sido utilizada por Pajares y Cruz (2004) para correspondencia en visin
estereoscpica, si bien para segmentos de borde, por lo que de ella se toma simplemente la
idea y la propuesta del algoritmo mostrado en la Figura 7.1, que a su vez se encuentra descrito
en Duda y col. (2001).
Acotar la imagen en el intervalo 1,1
Repetir:
1 1
M N
i ij j
i j
l w S
11ii i
lS f S
T k
Hasta k kmax 1k kE E aumentoEnergia U
Desacotar la imagen a su intervalo inicial 0,dmax
Figura 7.1 - Esquema del algoritmo de enfriamiento simulado
-
Los detalles del algoritmo mostrado en la figura 7.1 son los siguientes:
1) Como entrada recibe el mapa de disparidad previamente calculado.
2) Por cada pxel se genera un nodo, y ese nodo tendr un valor de estado iS
correspondiente al valor de la disparidad en ese momento asociada al pxel que le
corresponde.
3) Los valores iS deben estar acotados en el intervalo 1,1 por lo que antes de aplicar el algoritmo, es necesario tratar la imagen. Para ello, se transforman los valores de los
nodos mediante la ecuacin 7.1, que proyecta el rango 0,dmax al rango 1,1 . Siendo dmax el valor mximo de disparidad, que se corresponde con el valor mximo
de los estados de los nodos de la imagen.
2 1iiS
Sdmax
(7.1)
4) Para la evaluacin de los pesos ijw se abre una ventana de vecindad MxN alrededor del
nodo a tratar. Pese a que la imagen se trata como una red neuronal donde todos los
nodos estn interconectados, nicamente influyen los nodos que pertenecen a la
ventana de vecindad miN , por lo que para el resto de nodos que no pertenecen, se anula
su peso.
Sj = 22 22 22
22 Si = 65 65
21 21 21
wij
Figura 7.2 - Peso entre dos nodos
1 11
0
k k mi j i
ij m
i
S S j Nw
j N
(7.2)
La ecuacin (7.2), tiene en cuenta la diferencia entre los valores de los estados de dos
nodos ( iS y jS ), otorgando un valor mayor cuanto ms similares sean, asignando 1 en
caso de ser exactamente iguales, y -1 en caso contrario, es decir, cuando uno tome el
valor -1 y el otro 1, o viceversa.
5) La funcin de temperatura T debe ser una funcin decreciente (ecuacin 7.3), en este caso depende del parmetro K que ser una constante y representa la temperatura
inicial. Esta constante puede o no suavizar ms la curvatura, a medida que se aumenta
K, disminuyen los valores y por lo tanto se enfra ms la red. Adems, la temperatura disminuye con las iteraciones k
log( 2)
KT k
k (7.3)
-
6) La funcin f (ecuacin 7.4) es la encargada de modificar el valor obtenido de dividir
el sumatorio de los pesos de sus vecinos entre la temperatura actual de la iteracin.
Esta funcin acota en el intervalo 1.313,1.313 y utiliza como base la tangente hiperblica (tanh). Este valor viene determinado por la necesidad de que
aumente/disminuya el valor de la operacin de divisin anterior. Tras varias pruebas y
ensayos, la inversa de la tangente hiperblica de 1 es el valor que mejores resultados
ha, haciendo que los valores ms bajos disminuyan su valor inicial, y que los valores
ms altos aumenten, dejando fijos los valores para los cuales se acot la imagen en el
punto 2. De esta forma, los valores de 0, -1 y 1 mantienen su valor, modificndose
nicamente los valores comprendidos entre 1,0 y 0,1 .
tanh( )( ) 1.313 tanh( )
tanh(1)
xf x x (7.4)
7) La funcin de energa (ecuacin 7.5) se emplea como criterio de parada del algoritmo, que bajo el enfoque del enfriamiento simulado debe ser decreciente y adems
mantenerse por debajo de un cierto valor umbral U, que ha sido fijado a 2 en los
experimentos. Para todos los nodos i de la red, se calcula la energa de la ventana de
vecindad, la cual se va acumulando para obtener la energa global de la imagen. Pese a
que la funcin deber disminuir, en algn momento puede aumentar para salir de un
mnimo global, pero en caso de que aumente en sucesivas iteraciones, o que al
disminuir lo haga por debajo de un rango , se detiene el algoritmo. De esta forma se pretende ahorrar tiempo y coste computacional.
1 1
1
2
M N
i i ij j
i j
E E w S
(7.5)
8) La proporcin utilizada entre los vecinos y el propio nodo, indica en qu medida los vecinos del nodo influyen en la decisin final. Este valor pertenece al intervalo
0,1 , y como lo que se quiere es suavizar, para ello se tiene que asemejar ms a sus vecinos, por lo que dicho valor debe ser superior a 0.5, valor para el cual los vecinos y
el nodo tienen la misma influencia. El valor que mejores resultados ha obtenido segn
los experimentos, es 0.8, ya que tiene en cuenta en su mayora a los vecinos, y
tambin, aunque en menor medida, el propio valor del nodo.
9) Adems de utilizar la energa como criterio de parada, se utiliza una variable k. Esta variable se utiliza para realizar un nmero mximo de iteraciones kmax, de esta forma
se controla que la evolucin de la red no sea excesiva.
10) Una vez se ha procesado la imagen, hay que devolver los valores iS pertenecientes al
intervalo 1,1 a su rango original de disparidades. Para ello, se transforman los
valores de los nodos mediante la ecuacin (7.6), que desacota del rango 1,1 al
rango 0,dmax . Siendo dmax el mismo valor mximo de disparidad correspondiente al valor mximo de los estados de los nodos de la imagen inicial.
1
2
ii
Sd dmax
(7.6)
-
7.2. Propagacin
Tras el estudio realizado este filtro se ha creado para ser utilizado junto a la propuesta
estudiada en Klaus y col. (2006) e implementada por Lankton (2010), por lo que representa
realmente un aporte a la investigacin mejorando los resultados obtenidos con la tcnica de
correspondencia basada en la segmentacin. Se ha utilizado este algoritmo de
correspondencia como base, porque obtiene buenos resultados en un tiempo reducido, ya que
lo que se busca es que esta tcnica pueda ser aplicada en un sistema de tiempo real.
Se trata de un filtro que tiene en cuenta nicamente aquellos pxeles para los cuales no
se ha obtenido una buena disparidad mediante la correspondencia basada en la segmentacin.
A dichos pxeles se les aplica este filtrado, el cual se encarga de propagar los valores de los
vecinos para determinar la disparidad correspondiente a los pxeles que mediante la
correspondencia no se ha podido definir su valor. Esto hace que el filtrado sea sencillo, rpido
y eficiente, adems de poder ser implementado en sistemas reales mejorando los tiempos de
simulacin obtenidos.
Un estudio detallado del algoritmo, muestra que la imagen obtenida tras aplicar la
correspondencia local basada en la ventana de vecindad no difiere en gran medida de la
imagen que se considera que tiene la disparidad real. Se observa que en promedio, por cada
pxel se comete un error de 6.3 por lo que se trata de un error relativamente reducido. Con el fin de determinar si se puede tratar la imagen para obtener mejores resultados antes de
aplicar los filtrados, se obtiene la mediana de las variaciones que sufre cada valor de
disparidad obtenido con respecto al valor real. Para ello, debido a que mediante este algoritmo
se asigna un valor desconocido NaN a aquellos pxeles cuya disparidad no se puede hallar mediante esta correspondencia, nicamente se tienen en cuenta aquellos valores para los
cuales se obtiene un valor de disparidad. De este conjunto de valores se calcula la mediana y
se observa que en las imgenes de prueba, en su mayora los errores cometidos son +1, lo que
indica que para la mayora de los pxeles se est cometiendo un exceso de disparidad.
En vista de los resultados obtenidos, este algoritmo utiliza como base la imagen
obtenida al aplicar la correspondencia local basada en la ventana de vecindad, donde todava
no se ha extrado el conjunto de planos de disparidad (paso 3, Figura 6.1).
Partiendo de dicha imagen, los valores para los cuales no se ha podido definir un valor
de disparidad aparecen con el valor infinito ( ). nicamente se van a modificar los valores
de dichos pxeles, al contrario que en los filtros anteriores donde todos los son tratados por
igual y pueden ver modificado su valor. Para determinar el valor de disparidad, se abre una
ventana de vecindad MxN alrededor del pxel cuyo valor sea infinito, y para el conjunto de
valores de vecindad que s tengan una disparidad fija, se obtiene la mediana (ecuacin 7.7), la
cual ser asignada al pxel de estudio.
,, ,..., ; ,...,
,2 2 2 2
Disp a bM M N NDisp a b mediana D a a b b
D a b (7.7)
Para realizar el recorrido de la imagen, en un primer momento se realiz de izquierda a
derecha y de arriba hacia abajo (Direccin 1 de la Figura 7.3). El problema de este recorrido
es que la mayora de los valores de infinito vienen provocados por la oclusin que aparece en
las imgenes del par estereoscpico, por lo que no son tenidas en cuenta. Al tratarse de
oclusiones hay que considerar que un valor errneo puede provocar un fallo irreversible en el
sistema (por ejemplo, un robot autnomo), y por lo tanto, si no se sabe determinar el valor
exacto, conviene dar un valor alto para impedir que dicha zona sea accesible. Por ello, en el
-
algoritmo original se asigna un valor de infinito, si bien lo que idealmente se desea es poder
aproximar un valor que se asemeje ms a la realidad. Por ello, no se realiza un nico recorrido
de la imagen en la direccin indicada, sino que se realiza un recorrido en 4 direcciones,
partiendo de cada una de las cuatro esquinas de la imagen (Figura 7.3).
Una vez se ha realizado la propagacin de los valores en las cuatro direcciones se
obtienen cuatro mapas de disparidad filtrados, realizando una nueva pasada sobre la imagen
que se ha utilizado como base y asignando el valor mximo de los cuatro filtrados anteriores
(ecuacin 7.8), al cual se le debe restar una unidad de disparidad a todos los pxeles. Esta
disminucin se debe al estudio previo del algoritmo que revel que los valores que se
obtienen mediante esta tcnica de correlacin, aumentan su disparidad en dicha unidad con
respecto a las imgenes de las cuales se ha considerado que tienen la disparidad real.
Direccin 1 Direccin 2
Direccin 3 Direccin 4 Figura 7.3 - Direcciones del filtrado, siguiendo en cada caso la direccin de la flecha mayor hasta el
lmite de la imagen y continuando por la direccin de la flecha menor.
, max 1 , , 2 , , 3 , , 4 , 1Disp a b Dir a b Dir a b Dir a b Dir a b (7.8)
A continuacin se detallan los pasos del algoritmo propuesto:
1. Obtener la imagen generada al aplicar la correspondencia local basada en la ventana de vecindad, donde todava no se ha extrado el conjunto de planos de disparidad de la
propuesta de Klaus y col. (2006) (paso 3, Figura 6.1).
2. Realizar un recorrido por cada una de las cuatro direcciones de la Figura 7.3 donde para cada valor de disparidad asignado como infinito se abre una ventana de vecindad
alrededor del pxel, y cada valor de la ventana distinto de infinito se aade a un
conjunto del cual se obtiene la mediana (ecuacin 7.7).
3. Una vez obtenidos los filtrados realizados desde las cuatro direcciones, para cada valor de disparidad no definido en la imagen obtenida en el paso 1, se le asigna el mximo
de los valores obtenidos en el paso 2 al que se le resta 1 unidad de disparidad
(ecuacin 7.8).
Una de las principales ventajas de este filtrado es que puede ser paralelizado, al
tratarse de realizar cuatro filtrados para obtener el resultado final, todos estos filtrados en las
cuatro direcciones pueden realizarse a la vez, de esta forma se reduce an ms el tiempo de
ejecucin del proceso de la obtencin del mapa de disparidad.
-
8. Resultados
Los mtodos propuestos en este estudio han sido evaluados utilizando imgenes del
banco de pruebas de Middlebury (2010) que proporcionan Scharstein y Szeliski (2002). En
concreto se han elegido diez pares de imgenes de dicha base de datos cuyas caractersticas
esenciales son las que se mencionan a continuacin:
1) Son imgenes de interior con la iluminacin perfectamente controlada y, donde las tonalidades de color aparecen con una clara nitidez.
2) No poseen distorsin ni aberraciones debido al sistema ptico.
3) No poseen desplazamientos verticales, por lo que la bsqueda de correspondencias se puede realizar considerando la componente horizontal.
4) Con las imgenes originales, se incluye dos imgenes que denominan base de verdad o ground truth correspondindose con la disparidad supuestamente real de cada una de las imgenes estereoscpicas.
La finalidad de la eleccin de este tipo de imgenes consiste en verificar el
comportamiento de los algoritmos con el fin de aislar los problemas inherentes a los mismos,
de tal manera que en el siguiente paso consistente en su aplicacin al mundo real, slo queden
aquellos problemas derivados de esta naturaleza, tales como: distintos niveles de intensidad
en las dos imgenes como consecuencia de brillos y otros efectos derivados de la iluminacin
en entornos no estructurados, distorsiones radiales de las lentes o desplazamientos verticales
de las cmaras.
Los resultados que se presentan, se han conseguido calculando el promedio de los
datos obtenidos del conjunto de diez pares de imgenes elegidas al azar del banco de pruebas
de Middlebury. En cada algoritmo, se han calculado los datos de dos formas distintas:
utilizando una disparidad mxima fijada a un valor de 70, y utilizando la mxima obtenida a
partir de las imgenes base proporcionadas (ver Anexo).
En cualquier caso, se tienen en cuenta todos los valores de disparidad en la realizacin
de los clculos, ya que las imgenes de Middlebury contienen valores de disparidad cero, lo
que significa que la disparidad no es conocida. Estos valores se deben o bien a una oclusin, o
bien a que el objeto est muy cerca de las cmaras.
En los algoritmos utilizados, tambin es posible que se obtenga un valor de disparidad
cero, por ello, siempre que aparezca este valor, o bien en las imagen obtenida, o bien en la que
se utiliza para realizar la comparacin, si su valor homlogo en la otra imagen del par
estereoscpico no es cero se considera un error, es decir, los valores de disparidad cero s se
tienen en cuenta para el clculo del error. Con esto se consigue obtener el mximo error
posible de disparidad, ya que si se omiten estos valores el error se ver reducido, pero as se
evita que en algn caso el error pueda aumentar.
A continuacin se muestra un resumen, Tablas 1 y 2, de los resultados obtenidos por
los algoritmos anteriores as como el resultado de aplicar los diferentes filtrados a la imagen
obtenida de la correspondencia basada en la segmentacin justo despus de aplicar la
correlacin basada en la ventana de vecindad y antes de la extraccin del conjunto de planos
de disparidad. Adems, en las Figuras 8.1 y 8.2 se muestran grficamente estos mismos
resultados para una mejor visualizacin.
-
Figura 8.1 - Grfico que muestra el resultado de los algoritmos y filtro con dmax obtenida de la imagen con disparidad real.
Figura 8.2 - Grfico que muestra el resultado de los algoritmos y filtro con dmax fijo a 70.
Tiempo
minutos
dmax*1
Tiempo
segundos
dmax*2
% error sin
recortar*3
Error
cuadrtico
medio sin
recortar*4
% error
recortada*5
Error
cuadrtico
medio
recortada*6
Tiempo
minutos dmax
lankton +
filtro*7
Tiempo
segundos
dmax lankton
+ filtro*8
Correlacin 5,27 316,04 95,38 265,17 94,82 84,67 - -
Lankton - basada segmentacin 0,45 27,11 88,09 102,76 89,65 68,22 - -
Mnimo error de energa global 3,84 230,29 - - 41,62 101,67 - -
Lnea de crecimiento 0,2 12,19 - - 78,49 679,05 - -
Enfriamiento simulado 0,15 9,18 78,98 148,09 77,52 120,91 0,564 35,106
Filtro media 0,01 0,44 57,28 213,7 53,31 178,04 0,448 26,758
Filtro media vecinos 0,01 0,4 97,43 197,89 97,14 162,85 0,448 26,722
Filtro mediana 0,12 7,53 43,37 229,28 37,95 191,3 0,556 33,94
Filtro mediana vecinos 0,11 7,25 42,64 211,61 37,15 173,65 0,55 33,5
Filtro propagacin 0,44 26,97 38,26 119,68 32,91 98,85 0,854 51,468
FILTRO DE LANKTON ANTES DE EXTRAER EL CONJUNTO DE PLANOS DE DISPARIDAD MODIFICADO
ALGORITMOS ESTEREO
Tabla 1 - Promedio de los resultados obtenidos utilizando como disparidad mxima el valor de mximo de la imagen de disparidad real utilizada como base.
-
Tiempo
minutos
disparidad fija
a 70*1
Tiempo
segundos
disparidad fija
a 70*2
% error sin
recortar*3
Error
cuadrtico
medio sin
recortar*4
% error
recortada*5
Error
cuadrtico
medio
recortada*6
Tiempo
minutos fijo a
70 algoritmo
lankton +
filtro*7
Tiempo
segundos fijo
a 70 algoritmo
lankton +
filtro*8
Correlacin 6,11 366,61 95,89 269,86 95,4 86,59 - -
Lankton - basada segmentacin 0,5 29,69 88,12 102,38 89,86 68,91 - -
Mnimo error de energa global 4,7 281,95 - - 42,3 107,48 - -
Lnea de crecimiento 0,2 11,83 - - 78,51 647,25 - -
Enfriamiento simulado 0,15 9,18 77,47 223,4 75,9 173,61 0,622 37,752
Filtro media 0,01 0,38 59,33 330,14 55,32 264,26 0,484 29,028
Filtro media vecinos 0,01 0,39 98,25 313,85 98,02 247,93 0,484 29,03
Filtro mediana 0,12 7,42 44,33 360,02 38,68 291,61 0,572 36,066
Filtro mediana vecinos 0,12 7,5 43,58 339,75 37,83 270,08 0,592 36,142
Filtro propagacin 0,45 27,2 37,9 117,98 32,58 98,25 0,9 54,174
ALGORITMOS ESTEREO
FILTRO DE LANKTON ANTES DE EXTRAER EL CONJUNTO DE PLANOS DE DISPARIDAD MODIFICADO
Tabla 2 - Promedio de los resultados obtenidos utilizando como disparidad mxima un valor fijo de 70.
9. Conclusiones
A lo largo del presente trabajo se han estudiado diferentes algoritmos de
correspondencia estereoscpica con el fin de identificar de entre ellos los ms favorables para
su aplicacin en entornos reales. En principio, este estudio se ha centrado en la evaluacin de
los mismos desde el punto de vista de su efectividad en trminos de rendimiento y en tiempos
de cmputo. La evaluacin se ha hecho sobre imgenes proporcionadas por la base de datos
mencionada dado que adems de poseer imgenes fiables, se dispone de mapas de disparidad
de referencia.
El algoritmo que mejores resultados ha generado es el basado en la combinacin de la
correspondencia mediante la segmentacin junto con el filtro denominado propagacin de
disparidad.
La modificacin realizada a las imgenes junto con el filtrado, permite reducir
aproximadamente alrededor de un 57% el error obtenido, ello pese a que cada error a nivel de
pxel que se comete aumenta aproximadamente en un 1.5 , cantidad que resulta asumible debido a la considerable mejora del porcentaje de error, ya que aunque el error aumenta, lo
hace de forma insignificante al haber menos pxeles errneos.
Adems, cumple con la condicin de que debe de completarse en un tiempo
medianamente reducido, ya que a costa de aumentar el tiempo de ejecucin del algoritmo
unos segundos ms, se obtiene la mejora indicada. Por tanto, sta se perfila como una posible
solucin para su traslado a sistemas reales.
En el estudio realizado se ha mostrado la disparidad obtenida asignando un valor fijo
de 70 y un valor variable al ancho de la ventana de disparidad (dmax) que se determina en
funcin de la imagen de disparidad real. No obstante, en el futuro cuando se trabaje con
sistemas reales, este valor ser desconocido por lo que ser necesario establecer algn tipo de
criterio para fijar dicho valor. Adems, como se ha visto en las diferentes imgenes
mostradas, existen zonas que por el diseo del algoritmo la disparidad obtenida no es fiable y
por lo tanto se hace necesario acotar dichas zonas en las imgenes, que tambin depender de
las condiciones del diseo fsico del sistema.
-
Bibliografa
Baykant Alagoz, B. (2008). Obtaining Depth Maps From Color Images By Region Based Stereo Matching Algorithms, OncuBilim Algorithm And System Labs. Vol. 08, Art.No:04, Computer Vision and Pattern Recognition.
Bleyer, M., Gelautz, M. (2005). Graph-based surface reconstruction from stereo pairs using
image segmentation. In SPIE, pages vol. 5665: 288299, January 2005.
Duda, R.O., Hart, P.E. and Stork, D.G. (2001). Pattern Classification, Wiley, New York.
Hirschmller, H., Innocent, Peter R., Garibaldi, Jonathan M. (2002): Real-Time Correlation-Based Stereo Vision with Reduced Border Errors. International Journal of Computer Vision 47(1-3): 229-246
Kanade, T., Okutomi, M. (1994). A Stereo Matching Algorithm with an Adaptive Window: Theory and Experiment. IEEE Trans. Pattern Anal. Mach. Intell. 16(9): 920-932.
Klaus, A., Sormann, M., Karner, K. (2006). Segmented-Based Stereo Matching Using Belief Propagation and Self-Adapting Dissimilarity Measure, In: Proc. of 18th Int. Conference on Pattern Recognition, vol. 3, pp. 15-18.
Lankton, Shawn M. (2010), (http://www.shawnlankton.com/2007/12/3d-vision-with-stereo-
disparity/, disponible online)
Lpez Valles, Jos M., Fernndez Caballero, A., Fernndez, Miguel A. (2005). Conceptos y Tcnicas de Estereovisin por Computador. Inteligencia Artificial. Revista Iberoamericana de Inteligencia Artificial, otoo, 35-62.
Matthies, L., Kanade, T., Szeliski, R. (1989). Kalman filter-based algorithms for estimating depth from image sequences. International Journal of Computer Vision 3(3): 209-238.
Matthies, L., Szeliski, R. and Kanade, T. (1988). Kalman Filter-based Algorithms for Estimating depth from Image Sequences. Proc. DARPA Image Understanding Workshop, Cambridge, MA, pp. 199-213.
Middlebury (2010). (http://vision.middlebury.edu/stereo, disponible on-line).
Okutomi, M., Kanade, T. (1993). A Multiple-Baseline Stereo. IEEE Trans. Pattern Anal. Mach. Intell. 15(4): 353-363.
Pajares, G., Cruz, J.M. (2007). Visin por Computador: Imgenes digitales y aplicaciones, 2
ed., RA-MA, Madrid.
Pajares, G., Cruz, J.M. (2004). On combining support vector machines and simulated
annealing in stereovision matching, IEEE Trans. Systems Man and Cybernetics, Part
B, 34(4), 1646-1657.
Scharstein, D., Szeliski, R. (2002). A taxonomy and evaluation of dense two-frame stereo
correspondence algorithms, Int. J. Computer Vision, vol. 47(1-3), pp. 742.
-
Notas
*1: Tiempo del algoritmo en minutos.
*2: Tiempo del algoritmo en segundos.
*3: Porcentaje de error del mapa disparidad completo.
*4: Error cuadrtico medio del mapa disparidad completo.
*5: Porcentaje de pxeles errneos recortando la zona de disparidad mxima en la cual la disparidad no es fiable
debido al desplazamiento de las cmaras. *6
: Error cuadrtico medio recortando la zona de disparidad mxima en la cual la disparidad no es fiable debido
al desplazamiento de las cmaras. *7
: Tiempo en minutos que se tarda en aplicar el filtro al mapa de disparidad obtenido mediante el algoritmo de
lankton. *8
: Tiempo en segundos que se tarda en aplicar el filtro al mapa de disparidad obtenido mediante el algoritmo de
lankton.
-
Anexo
EJEMPLO DE MAPAS DE DISPARIDAD OBTENIDOS MEDIANTE LA
CORRESPONDENCIA BASADA EN LA SEGMENTACIN Y ERRORES DE LOS MISMOS
Figura 1 - Imagen izquierda del par estreo.
Figura 2 - Imagen derecha del par estreo.
Figura 3 - Disparidad obtenida mediante la
correspondencia basada en la segmentacin con un
valor fijo (dmax=70).
Figura 4 - Disparidad obtenida mediante correspondencia
basada en la segmentacin con el valor mximo de la
imagen base (dmax=55).
Figura 5 - Errores (puntos negros) provocados por la
correspondencia basada en la segmentacin con dmax
70 comparada con la imagen base.
Figura 6 - Errores (puntos negros) provocados por
correspondencia basada en la segmentacin con dmax
obtenida de la imagen base con la que se compara.
-
EJEMPLO DE SUAVIZADO UNA VEZ APLICADO ENFRIAMIENTO SIMULADO
Figura 7 - Resultado de aplicar enfriamiento simulado
a una imagen con dmax 70.
Figura 8 - Resultado aplicar enfriamiento simulado a una
imagen con dmax obtenida de la imagen con disparidad
real.
Figura 9 - Resultado de aplicar enfriamiento simulado
a una imagen con dmax 70 (errores, puntos negros).
Figura 10 - Resultado de aplicar enfriamiento a una
imagen con dmax obtenida de la imagen con disparidad
real (errores, puntos negros).
-
EJEMPLO DE SUAVIZADO UNA VEZ APLICADO PROPAGACIN
Figura 11 - Resultado de aplicar la propagacin de
disparidad a una imagen con dmax 70.
Figura 12 - Resultado aplicar la propagacin de
disparidad a una imagen con dmax obtenida de la
imagen con disparidad real.
Figura 13 - Resultado de aplicar la propagacin de
disparidad a una imagen con dmax 70 (errores, puntos
negros) .
Figura 14 - Resultado de aplicar la propagacin de
disparidad con dmax obtenida de la imagen con
disparidad real (errores, puntos negros).