Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Evaluacion de Algoritmos de Correspondencia PDF
Evaluacion de Algoritmos de Correspondencia PDF
Evaluacion de Algoritmos de Correspondencia PDF
Resumen— Este trabajo presenta una evaluación de estéreo entre dos imágenes y su implementación so-
algoritmos para el cálculo de distancias en sistemas bre FPGA. El objetivo es determinar la solución más
de visión estereoscópica y su implementación hard-
ware sobre FPGA. Se han estudiado las principales apropiada para ser integrada en un sistema de re-
soluciones basadas en área para el cálculo del mapa conocimiento de la mano [6] en aplicaciones embe-
de disparidad. Los resultados muestran el compro- bidas en entornos no controlados donde tanto la
miso entre calidad de dicho mapa y consumo de re-
cursos hardware que ofrece cada solución, con el fin de
cámara como la escena pueden estar en movimiento.
servir de guı́a en la implementación de algoritmos de Este artı́culo está organizado de la siguiente ma-
correspondencia estéreo en sistemas de procesamiento nera. El apartado 2 describe los conceptos básicos
en tiempo real.
de algoritmos de correspondencia en visión este-
Palabras clave— visión estéreo, SAD, Census, Rank, reoscópica. El apartado 3 presenta los resultados
filtrado mediana
obtenidos en la evaluación software de diferentes al-
goritmos, mientras que en el apartado 4 se evalúa el
I. Introducción coste en recursos de una determinada tasa de acier-
tos en cada algoritmo y se presentan los resultados
L A visión binocular permite a los seres humanos
desenvolvernos en el mundo tridimensional que
nos rodea. Las pequeñas diferencias en las imágenes
de implementación para diferentes configuraciones.
Finalmente, en el apartado 5 se exponen las conclu-
adquiridas por nuestros ojos, debidas a la sepa- siones.
ración entre ellos, son procesadas por el cerebro para
percibir el volumen de los objetos y la distancia a II. Visión estereoscópica
ellos. Inspirados en ella, los sistemas de visión estere- Un sistema básico de visión estereoscópica está
oscópica intentan emular esta capacidad. La gran formado por dos cámaras separadas una determi-
cantidad de campos de aplicación, desde la robótica y nada distancia sobre un eje situado en un plano hori-
la interacción hombre-máquina hasta la arquitectura, zontal, y cuyos ejes ópticos son paralelos entre sı́ y
en los que la información de volúmenes y distancia al plano horizontal, y perpendiculares a dicho eje.
resulta de interés y conlleva un salto cualitativo en Dada esta disposición, las imágenes I e I 0 capturadas
las prestaciones, hace que la visión estereoscópica sea por las cámaras presentan, debido a la distancia en-
actualmente una de las grandes lı́neas de trabajo de tre éstas, pequeñas diferencias que se traducen en
la visión por computador. que un mismo punto P en el espacio ocupa posi-
El trabajo en este campo se centra en obtener ma- ciones I(x1 , y1 ) e I 0 (x2 , y2 ) con coordenadas diferen-
pas de disparidad de máxima calidad, para lo que tes en cada imagen. A la diferencia relativa en la
habitualmente se proponen algoritmos optimizados posición de un mismo objeto en una y otra imagen,
para lograr alta precisión a costa de una complejidad que por estar en el mismo plano horizontal los cen-
computacional que limita su integración en sistema tros ópticos de las cámaras sólo puede producirse
embebidos de tiempo real. La necesidad de encontrar en dirección horizontal (y1 = y2 ), se la denomina
un equilibrio entre el tiempo de ejecución y la calidad disparidad d = x1 − x2 . El valor de disparidad del
del mapa ha sido considerada recientemente por [1], punto P está directamente relacionado con la distan-
pero no incluye en su análisis la implementación so- cia a la que se encuentre dicho punto de las cámaras.
bre hardware reconfigurable. Sin embargo, los dis- El objetivo de los algoritmos de correspondencia de
positivos FPGA constituyen la plataforma hardware visión estereoscópica es estimar un mapa de dispari-
ideal para explotar al máximo los diferentes nive- dad a partir de las imágenes adquiridas con un sis-
les de paralelismo de las operaciones involucradas tema de cámaras de geometrı́a determinada. Para
en los algoritmos de correspondencia estéreo, espe- ello, consideran un punto en una de las imágenes y
cialmente de los basados en área, como demuestran buscan su posición en la otra. Esta búsqueda se rea-
diferentes implementaciones descritas en la literatura liza, como se ha comentado, a lo largo de una lı́nea
(p.ej. [2], [3], [4], [5]). En estos trabajos, la compara- horizontal, y se acota a un valor de distancia lı́mite
ción de prestaciones resulta complicada por las dife- denominado disparidad máxima. Los valores de dis-
rentes configuraciones especı́ficas para su aplicación paridad estimados en una serie de puntos forman el
adoptadas por los autores. mapa de disparidad.
El presente trabajo realiza una evaluación de Existen básicamente dos aproximaciones al cálculo
algoritmos para el cálculo de la correspondencia de un mapa de disparidad: basada en caracterı́sticas
1 Dpto. Electrónica y Tecnologı́a de Computadores,
y basada en área. En la primera, los puntos para
Univ. Politécnica de Cartagena los cuales se determina la disparidad corresponden
e-mail: javier.toledo@upct.es a la posición de determinadas caracterı́sticas, como
bordes o esquinas, en las imágenes. En este caso, el las ventanas por medio de las transformaciones no
mapa de disparidad está formado por la diferencia en paramétricas Census y Rank.
las posiciones en una y otra imagen de cada carac- La transformada Census [9] persigue proporcionar
terı́stica. El número de correspondencias estableci- robustez frente a variaciones de iluminación. Para
das determina la densidad del mapa de disparidad, ello, considera una ventana M × N centrada en un
y depende por tanto del número de caracterı́sticas pı́xel I(x, y) de la imagen y codifica la información de
encontradas en la imagen que son resueltas satisfac- la ventana en una cadena de M N − 1 bits en la que
toriamente. asigna valor ‘1’ al bit asociado a cada pı́xel con valor
Por su parte, los métodos basados en área con- mayor que el central y valor ‘0’ en otro caso. En su
sideran una determinada ventana alrededor de un aplicación a visión estereoscópica, una vez transfor-
pı́xel de una de las imágenes y resuelven la corres- madas las ventanas centradas en I(x1 , y1 ) e I 0 (x2 , y2 )
pondencia buscando en la otra imagen la ventana en las correspondientes cadenas, el algoritmo Census
del mismo tamaño más parecida. El grado de simi- utiliza la distancia Hamming como función de coste
litud de las ventanas en una y otra imagen es es- para evaluar el grado de parecido entre ellas.
timado por una determinada función de coste, que Con el mismo propósito de mejorar la fiabilidad
para cada ventana centrada en I(x1 , y1 ) se evalúa en frente a variaciones de iluminación, la transformada
todo el rango I 0 (x1 + d, y1 ) acotado por la disparidad Rank [9] considera una ventana de P × Q pı́xeles
máxima d ∈ [0, dmax ]. Calculadas todas las funciones centrada en I(x, y) y le asigna a éste un valor igual
de coste de I(x1 , y1 ), la solución más extendida es al número de pı́xeles que en dicha ventana tienen
aplicar el algoritmo WTA (Winner Take All) y es- un valor menor que el propio pı́xel central. Reali-
tablecer como valor de disparidad la diferencia entre zada la transformación, la evaluación del grado de
la posición del punto de la imagen de referencia y similitud entre ventanas de diferentes imágenes se
el centro de la ventana en la otra imagen que mini- puede realizar con cualquiera de las funciones de
miza la función de coste. De esta manera, el mapa coste mencionadas, siendo SAD la más habitual [10].
de disparidad toma valor para cada pı́xel donde se El tamaño de ventana de la transformada Rank es
considere centrada una ventana. En el caso ideal, es independiente de la que define el área sobre la que se
posible determinar una correspondencia para cada estima la correspondencia con la otra ventana.
pı́xel de la imagen, obteniéndose un mapa de dis- Para una primera estimación de la utilidad de
paridad del mismo tamaño que las imágenes y, en la información de distancia en la aplicación men-
consecuencia, de mucha mayor densidad que el gene- cionada, se ha optado por estudiar estos métodos.
rado por los métodos basados en caracterı́sticas. Para ello, se han utilizado las imágenes Tsukuba,
En la actualidad, las aplicaciones y los trabajos Venus, Teddy y Cones disponibles en la web dedi-
sobre métodos basados en área predominan sobre los cada a la visión estéreo en la Universidad de Middle-
de caracterı́sticas. Por un lado, la mayor densidad bury [11], que actualmente constituyen una referen-
de sus mapas de disparidad es considerada más in- cia para la evaluación de algoritmos [8]. Las Figu-
teresante en muchos campos [7]. Por otro, las tareas ras 1, 2 y 3 recogen las tasas de acierto en función
de procesamiento que requieren son más fácilmente del tamaño de ventana. Estos porcentajes han sido
paralelizables, lo cual se traduce en una ventaja com- calculados considerando una tolerancia del 5% en la
putacional que posibilita su implementación en sis- disparidad estimada sobre la real. La Figura 4 mues-
temas embebidos de tiempo real. Por ambos mo- tra los mapas de disparidad obtenidos con diferentes
tivos, en este trabajo se ha optado por evaluar soluciones para la imagen Cones de la mencionada
métodos basados en área para el cálculo del mapa base de datos.
de disparidad.
La Figura 1 muestra el porcentaje de aciertos
para SAD, SSD y NCC en función del tamaño N
III. Evaluación de algoritmos de de ventana. En ella se observa que SAD, SSD y
correspondencia estéreo basados en NCC presentan un comportamiento muy similar, no
área apreciándose mejoras significativas en el mapa de la
Los algoritmos utilizados para determinar la simi- Figura 4.4 frente al de la 4.3. Por tanto, el mayor
litud entre ventanas y para transformar las imágenes coste computacional del cálculo del cuadrado de la
de entrada dan lugar a muy diferentes soluciones diferencia en SSD o de la normalización en NCC no
basadas en área. El gran interés que la aplicación se traduce en mejoras significativas en los resulta-
de la visión estéreo despierta en numerosos campos dos con respecto a la diferencia absoluta utilizada en
ha propiciado una considerable cantidad de trabajos SAD. Además, se detecta que los resultados tienden
que proponen muy diferentes técnicas. No obstante, a empeorar a partir de un determinado tamaño de
la revisión bibliográfica realizada [1], [7], [8] ha reve- ventana, debido al excesivo suavizado de los bordes
lado que las funciones de coste más extendidas son tal y como puede apreciarse en la Figura 4.6.
SAD (Sum of Absolute Differences), SSD (Sum of El impacto de la transformación previa de las
Squared Differences) y NCC (Normalized Cross Cor- imágenes de entrada por medio de Rank se mues-
relation), y también que es frecuente manipular la in- tra en la Figura 2. En todos los casos, son posibles
formación contenida en las imágenes como paso pre- tasas de acierto superiores a las del algoritmo SAD
vio a la evaluación de la función de búsqueda sobre original a partir de un determinado valor de ventana
N , que se reduce a N = 5 a partir de ventanas Rank 95
% aciertos
80
el incremento del tamaño de la transformada no se SAD Rank 7x7
75 SAD Rank 11x11
traduce en mejores resultados.
70 SAD Rank 15x15
De acuerdo con los resultados en la Figura 1, Cen-
65
sus requiere un tamaño de ventana de al menos
60
17 × 17 para aproximarse a los resultados ofreci- 3 5 7 9 11 13 15 17 19 21
dos por SAD. Al visualizar los mapas de disparidad Tamaño N de la ventana
obtenidos para configuraciones con tasas de acier-
Fig. 2. Tasas de acierto del algoritmo SAD con transfor-
tos similares, se observa que las imágenes de Cen- mada Rank previa de diferentes tamaños, para diferentes
sus presentan un serie de errores que se asemejan al tamaños de ventana N .
ruido impulsional. Es el caso de los mapas genera-
95
dos por SAD 11 × 11 y Census 21 × 21 en las Figuras
4.3 y 4.7, respectivamente. Para tratar de mejorar
los resultados, es posible completar la transformada 90 SAD Rank 7x7
Census original con información adicional, de manera sin mediana
que la cadena de bits resultante no dependa exclusi- mediana 3x3 CensusE
% aciertos
85
vamente del valor del pı́xel central. Para ello se ha mediana 5x5
considerado información del gradiente en direcciones sin mediana
horizontal y vertical, calculado por medio del opera- 80
mediana 3x3 Census
dor Sobel. A esta modificación se la ha denominado
mediana 5x5
CensusE (Census Extendido), y para 21 × 21 corres-
75
ponde al mapa de la Figura 4.8. Como se aprecia 3 5 7 9 11 13 15 17 19 21
70
SSD diente función de coste C el grado de similitud de
65
60
NCC dos ventanas. Para SAD, requiere calcular la suma
55 Census de M × N diferencias absolutas:
50 CensusE
45
i=w
X j=w
X
40 CSAD (x, y, d) = AD(x + i, y + j, d)
3 5 7 9 11 13 15 17 19 21
i=−w j=−w
Tamaño N de la ventana
con
Fig. 1. Tasas de acierto
de los algoritmos SAD, SSD, NCC, AD(x, y, d) = |I(x, y) − I 0 (x + d, y)|
Census y CensusE, para diferentes tamaños de ventana N .
suponiendo ventanas cuadradas M = N = 2w + 1.
Para Census supone calcular la distancia Hamming
Finalmente, la Figura 3 también compara estas de dos cadenas de M N − 1 bits:
configuraciones de Census y CensusE con SAD so-
CCENSUS (x, y, d) = dHAMMING (t(x, y), t(x + d, y))
bre la transformada Rank, comprobándose que exis-
te un tamaño de máscara del filtro para el cual los siendo t(x, y) la transformada Census en una ventana
dos primeros ofrecen mejores resultados. de M × N pı́xeles de cada imagen.
u 103
900
800
700
Census
600 CensusE
500
SAD
# LUTs
SAD Rparcial
1) Imagen original 2) ground truth 400
SAD Rtotal
300
200
100
0
3 5 7 9 11 13 15 17 19 21
Tamaño N de la ventana
SAD(3,4,0)= AD(1,2,0) + AD(2,2,0) + AD(3,2,0) + AD(4,2,0) + AD(5,2,0) SAD(4,4,0)= AD(2,2,0) + AD(3,2,0) + AD(4,2,0) + AD(5,2,0) + AD(6,2,0)
AD(1,3,0) + AD(2,3,0) + AD(3,3,0) + AD(4,3,0) + AD(5,3,0) AD(2,3,0) + AD(3,3,0) + AD(4,3,0) + AD(5,3,0) + AD(6,3,0)
AD(1,4,0) + AD(2,4,0) + AD(3,4,0) + AD(4,4,0) + AD(5,4,0) AD(2,4,0) + AD(3,4,0) + AD(4,4,0) + AD(5,4,0) + AD(6,4,0)
AD(1,5,0) + AD(2,5,0) + AD(3,5,0) + AD(4,5,0) + AD(5,5,0) AD(2,5,0) + AD(3,5,0) + AD(4,5,0) + AD(5,5,0) + AD(6,5,0)
AD(1,6,0) + AD(2,6,0) + AD(3,6,0) + AD(4,6,0) + AD(5,6,0) AD(2,6,0) + AD(3,6,0) + AD(4,6,0) + AD(5,6,0) + AD(6,6,0)
# Kbits memoria
SAD Rparcial
− CSADy (x − w − 1, y, d) 100 SAD Rtotal
j=w
1
X
CSADy (x, y, d) = |I(x, y + j) − I 0 (x + d, y + j)| 3 5 7 9 11 13 15 17 19 21
j=−w Tamaño N de la ventana
Extendido el análisis en dirección vertical, en cada Fig. 7. Estimación de Kbits de memoria necesarios para
guardar resultados parciales con RParcial y RTotal en
columna y se pueden reutilizar datos anteriores, función de N .
puesto que:
TABLA I
Resultados de implementación para diferentes configuraciones de algoritmos de correspondencia sobre Virtex-4
% aciertos
Census 9 × 9 con mediana 5 × 5 y de CensusE 5 × 5 70 5×5
7×7
con el mismo filtro de mediana. Estas son las configu- 9×9
11×11
raciones que en las gráficas de la Figura 8 alcanzan 60
13×13
el 90% de tasa de aciertos con un menor número 15×15
17×17
de recursos. Los diseños han sido realizados con 50 19×19
Xilinx System Generator. La tabla recoge de ma- 21×21