• No se han encontrado resultados

Estimación de un mapa disperso de profundidad usando visión estéreo

N/A
N/A
Protected

Academic year: 2017

Share "Estimación de un mapa disperso de profundidad usando visión estéreo"

Copied!
50
0
0

Texto completo

(1)

1

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA DEPARTAMENTO DE ELECTRÓNICA

Estimación de un mapa disperso de profundidad usando

visión estéreo

Ing. IVAN DARIO ESTEVEZ REYES

TRABAJO DE INVESTIGACIÓN PARA OPTAR POR EL TÍTULO DE MAGISTER EN INGENIERÍA ELECTRÓNICA

DIRECTOR

Ing. Carlos Alberto Parra Rodríguez, Ph.D.

PONTIFICIA UNIVERSIDAD JAVERIANA FACULTAD DE INGENIERÍA

(2)

2

PONTIFICIA UNIVERSIDAD JAVERIANA

FACULTAD DE INGENIERÍA

CARRERA DE INGENIERÍA ELECTRÓNICA

RECTOR MAGNÍFICO:

PADRE JOAQUÍN EMILIO SÁNCHEZ GARCÍA S.J DECANO ACADÉMICO:

ING. FRANCISCO JAVIER REBOLLEDO MUÑOZ DECANO DEL MEDIO UNIVERSITARIO:

PADRE SERGIO BERNAL RESTREPO S.J

DIRECTOR DE LA MAESTRIA EN INGENIERÍA ELECTRÓNICA: ING. CARLOS ALBERTO PARRA RODRÍGUEZ Ph.D.

DIRECTOR DE PROYECTO:

(3)

3

ARTÍCULO 23 DE LA RESOLUCIÓN No. 12 DE JUNIO DE 1946

“La universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de grado.

Sólo velará porque no se publique nada contrario al dogma y la moral católica y porque los trabajos no contengan ataques o polémicas puramente personales.

(4)

4

Tabla de contenido

1. Introducción ... 6

2. Estado del Arte sobre Visión estéreo ... 8

2.1. Introducción ... 8

2.2. Generalidades ... 8

2.3. Geometría de un sistema de visión estéreo... 9

2.4. Geometría del Sistema Estéreo Configuración Canónica ... 10

2.5. Triangulación ... 12

2.6. Error en la medición ... 13

2.7. Calibración ... 15

2.8. Distorsión de los Lentes ... 16

2.9. Calibración estéreo ... 17

2.10. Preprocesamiento, suavizado ... 18

3. Métodos de correspondencia en visión estéreo ... 19

3.1. Antecedentes de los métodos de correspondencia ... 19

3.2. Detectores ... 19

3.3. Descriptores ... 20

3.4. Técnicas de emparejamiento (Matching) ... 21

3.4.1. Criterios de correlación usando ventanas ... 22

3.5. SURF, Speeded-Up Robust Features ... 22

3.6. OpenCV ... 24

4. Descripción del algoritmo ... 25

5. Protocolo de pruebas ... 30

6. Evaluación y análisis de resultados ... 33

7. Conclusiones y Trabajo Futuro ... 45

(5)

5

Tabla de figuras

Figura 1 Sistema de percepción humano ... 8

Figura 2 a).Modelo real de una cámara b) Representación de la cámara ... 9

Figura 3 Geometría de la proyección de un punto 3D en 2D ... 9

Figura 4 Configuración Canónica de un sistema estéreo ... 10

Figura 5 Correlación ... 11

Figura 6 Configuración de un sistema de visión estéreo ... 12

Figura 7 Configuración Estéreo, precisión ... 14

Figura 8 Variación de la resolución en la profundidad ... 14

Figura 9 Distorsión de lentes a)Sin distorsión b)Radial c)Descentrada ... 16

Figura 10 Calibración Estéreo ... 17

Figura 11 Derivada parcial Gausiana, lyy, lxy, Aproximaciones Dxx y Dxy ... 23

Figura 12 a. Escalado Imagen b. Escala del filtro ... 23

Figura 13 Descriptor Surf Figura 14 Orientación del descriptor... 24

Figura 15 Ventanas de 2w*2w, , y la transformada de Haar extraída a cada subventana Dx,Dy .... 27

Figura 16 Interfax Programa ... 29

Figura 17 Filtro en el tiempo ... 27

Figura 18 Imagen Derecha e Izquierda del objeto a 100 cms, SBF100 ... 33

Figura 19 Comparativo algoritmos objetivo a 100cm ... 33

Figura 20 Medición de puntos algoritmo propuesto a 100 cm ... 34

Figura 21 Representación 3D de los resultados ... 35

Figura 22 Imagen Derecha e Izquierda del objeto a 220 cm, SBF220 ... 35

Figura 23 Resultados algoritmo Propuesto a 220 cm, con filtro y sin filtro ... 36

Figura 24 Algoritmos SSD, SAD Y NCC con filtro y sin filtro a 220 cm ... 36

Figura 25 Imagen Derecha e Izquierda del objeto a 300 cm, SBF300 ... 37

Figura 26 Comparativo del Algoritmo con filtrado y sin filtrado en el tiempo ... 37

Figura 27 Resultados algoritmos SSD SAD y NCC a 300 cm ... 38

Figura 28 Imagen Derecha e Izquierda del objeto a 400 cm, SBF400 ... 38

Figura 29 Algoritmo propuesto a 400 cm ... 39

Figura 30 Comparativo algoritmo propuesto de 100cm a 400cm ... 39

Figura 31 Imagen Derecha e Izquierda del objeto a 100 cm SBL100 ... ¡Error! Marcador no definido. Figura 32 objeto a 220 cms con luces profesionales (SBL220XXNNN) ... 40

Figura 33 Comparativo algoritmo propuesto con iluminación fluorescente y luces profesionales .. 40

Figura 34 Imagen Objeto a 45º, puntos Harris, puntos emparejados, reconstrucción 3D ... 41

Figura 35 Distribución de Puntos SURF y Algoritmo Propuesto ... 42

Figura 36 Distribución Normalizada SURF y Propuesto a 220cm ... 43

Figura 37 Imagen derecha e izquierda pasillo, derecha con medidas en cm. ... 44

Figura 38 Imagen sawtooth, izquierda puntos Harris, Derecha puntos emparejados Azules ... 43

(6)

6

1.

Introducción

La investigación en robótica es un tema que ha llegado a una madurez suficiente para enfocarse hacia aplicaciones complejas, como las que deben realizar los robots de vigilancia, robots guías o enfermeras. Estos robots poseen sistemas de navegación autónoma, reconocimiento de personas, comandos por voz, capacidad para reconocer y manipular objetos entre otros.

Para lograr que los robot realicen tareas en ambientes complejos, es importante analizar algunas de las características de los ambientes interiores construidos por humanos como son oficinas, casas etc., en donde en primer lugar se encuentran grandes secciones planas que delimitan los espacios, pisos, paredes y puertas, generalmente denominados como

background. En segundo lugar se encuentran superficies planas sobre las cuales se trabaja,

en las que se colocan o manipulan los objetos con los que diariamente el ser humano interactúa como: mesas, escritorios etc. Estos objetos pueden ser descritos por facetas es decir por secciones planas. Basados en la importancia de definir estas características de un ambiente interior, este trabajo se basa sobre el proceso inicial donde se establecen los puntos de interés de la imagen y se calcula su profundidad, es decir la distancia al sistema de adquisición de imágenes ubicado sobre el robot.

El trabajo de grado se enmarca en las teorías de reconstrucción 3D a partir de visión estéreo. Específicamente versa sobre la medición de distancias a determinados puntos de interés en la escena, estos son extraídos usando técnicas como Harris [1] y CeSurE [2]. Para el emparejamiento se usan características de Haar definidas por el autor, las pruebas se realizan a una distancia de operación entre 100cm y 400 cm.

El algoritmo propuesto puede ser usado como etapa inicial para la creación de un mapa 3D, que será usado por un robot móvil para localizarse, reconocer obstáculos y definir las áreas de trabajo en las cuales puede operar.

Este trabajo tiene como resultado el desarrollo de un sistema de visión estéreo, compuesto por el hardware y el software. Este sistema consta de dos cámaras web Deluxe DB1 con sus ejes focales paralelos y el algoritmo de procesamiento de la imagen, el cual está dividido en cuatro etapas: preprocesamiento, emparejamiento, medición y representación 3D.

En el preprocesamiento se realiza la calibración individual y estéreo de la cámaras, suavizado de la imagen (Gauss, Blur) y la extracción de los puntos de interés usando la técnica de Harris. En el emparejamiento (matching), se utilizan características de Haar

(7)

7

Las mediciones obtenidas pueden ser usadas para la localización de un robot móvil en un ambiente interior. Es importante resaltar que a diferencia de los métodos de reconstrucción densos, es decir donde se evalúa la correspondencia de todos los píxeles en la imagen, y se calcula la disparidad de cada uno, el algoritmo propuesto utiliza los puntos de interés de la imagen y halla su correspondiente par para determinar la profundidad o distancia al sistema de cámaras. Este tipo de algoritmo es usado en lo que se conoce como reconstrucción por características y permite generar un mapa disperso o sparse.

Este mapa es una herramienta para cumplir con un requerimiento fundamental de un robot autónomo, que es la habilidad de localizarse en ambientes desconocidos y reconocer su posición real en el ambiente en que se encuentra.

Adicionalmente el programa desarrollado podrá ser utilizado como base para desarrollar sistemas que utilicen servo-visión, ya que las coordenadas de los objetos en 3D podrán definirse con el sistema, al asociar los puntos de interés y mediciones realizadas a un objeto en particular.

Para abordar el desarrollo de este trabajo se inicia en el capítulo 2 con un marco teórico necesario pare entender cómo funciona un sistema de visión estéreo. Allí se introducen los temas relacionados con la geometría del sistema estéreo, la triangulación y calibración entre otros. Para hacer un análisis más detenido de los elementos de un sistema de visión estéreo se describen en el capítulo 3 las etapas de un algoritmo de emparejamiento, en donde se hallan los detectores o punto de interés, posteriormente se le extrae a cada punto sus características lo que se conoce como el descriptor y finalmente se realiza el emparejamiento usando diferentes medidas de distancia. Adicional a esto se hace una breve introducción sobre el algoritmo de SURF donde se pueden observar claramente el uso de estas tres etapas.

En el capítulo 4 se describe detalladamente el algoritmo de visión estéreo usado en el proyecto y el detalle del descriptor propuesto. Para realizar la evaluación del algoritmo y su comparación con otros algoritmos en el capítulo 5 se enuncia el protocolo de pruebas, donde se describen las variables que se modifican, como la distancia al objetivo, el tamaño de la ventana de búsqueda y las imágenes de las diferentes escenas utilizadas para evaluar y comparar el algoritmo. Posteriormente se evalúan y analizan los resultados obtenidos en las condiciones anteriormente mencionadas.

(8)

8

2.

Estado del Arte sobre Visión estéreo

2.1.

Introducción

En este capítulo se describen los conceptos generales de un sistema de visión estéreo, la geometría de un sistema estéreo con sus ejes paralelos es conocido como configuración canónica. A continuación, se presenta cómo se realiza la medida de un punto en el espacio usando la proyección del punto en los planos de las imágenes izquierda y derecha, conocida como triangulación y finalmente se hace una breve descripción del proceso de calibración de una sola cámara y la calibración de un sistema de dos cámaras.

2.2.

Generalidades

Los humanos son capaces de percibir la profundidad con sus dos ojos, un objeto en la distancia es proyectado en la retina del ojo izquierdo y derecho, la proyecciones difieren en su posición y el cerebro humano define la profundidad basado en el análisis de estas dos imágenes, como se observa en la Figura 1. Los sistemas de visión por computador tratan de reproducir este concepto, en el cual el objetivo es reconstruir un mapa de profundidad con al menos dos cámaras, la información de profundidad es calculada por el emparejamiento de un punto en ambas imágenes y la disparidad “d” en la proyección de el par de puntos encontrados[4].

1

1

3D Object Modelling via Registration of Stereo Range Data[3].

(9)

9

2.3.

Geometría de un sistema de visión estéreo

Antes de iniciar la descripción del sistema estéreo, se define el sistema de proyección para una sola cámara, en la Figura 2.a. se identifica el punto P el cual es proyectado en el plano S, que se encuentra a una distancia f del lente, conocida como distancia focal, se aprecia el eje óptico (optical axis). Para la representación de la geometría de este sistema se utiliza el

plano delante del centro del lente a una distancia igual a la focal como se muestra en la

Figura 2.b. que en el caso de una cámara digital es el sensor CDD o CMOS según sea el

caso.

Figura 2 a).Modelo real de una cámara b) Representación de la cámara 2

A continuación se define la nomenclatura y geometría de la proyección de un punto P en el espacio sobre el plano de la imagen en 2D.

2

Modificado de http://www.dis.uniroma1.it/~iocchi/stereo/triang.html Plano de la Imagen

P

P’

Eje óptico

P’

P

Distancia

focal f

Plano de la Imagen

Distancia focal f

Eje óptico

S

O’

z

Y

P’=(x,y)

P(X,Y,Z)

X x

y

y

x

f O

(1)

(2)

(10)

10

En la Figura 3, se observa el punto P en el espacio con coordenadas X,Y,Z, tomados con respecto al sistema de referencia O, la proyección de este punto sobre el plano S ubicado sobre la imagen, se denota con P’( x , y), que se encuentra en el plano de la imagen que tendrá coordenadas “x” y “y” respectivamente, para precisar la nomenclatura estas serán las coordenadas de la imagen I(x,y) en la pantalla, que de acuerdo a la convención usada el punto de origen O’ de este plano se encuentra en la parte superior izquierda de la imagen. El sistema de referencia O(X,Y,Z) representa el origen, donde la coordenada Z corresponde

al eje que sale de la cámara, como ilustra la Figura 3. Para determinar la relación entre el sistema de coordenadas O y O’ se tienen las ecuaciones 1 y 2 que definen las coordenadas de la imagen en función de las coordenadas del espacio y la distancia focal.

2.4.

Geometría del Sistema Estéreo Configuración Canónica

3

En la definición de la geometría de un sistema estéreo se iniciará con la geometría de una configuración particular conocida como Sistema Canónico, en el cual las cámaras se encuentran en forma paralela, es decir sus ejes ópticos no se intersecan, esta será la configuración usada en este trabajo. La otra configuración que existe es una en la cual los ejes se interceptan, conocida como convergente, que no se describe en este trabajo.

3Tomado de S. Prehn, GPU Stereo Vision [4]

.

baseline

Linea epipolar

x

z

y

P(x,y,z)

[image:10.612.99.463.305.547.2]

PLANO IMAGEN

(11)

11

En la Figura 4, se observa el sistema canónico o no convergente donde se tiene la proyección de un punto P en el espacio, proyectado sobre las imágenes , , proyección en la imagen Izquierda y Derecha respectivamente. Las imágenes se encuentran a una distancia “b” entre sus centros, que corresponde a la magnitud de una línea llamada baseline que une los dos puntos focales de las cámaras denotados y

respectivamente, el plano formado por la unión del punto P con y se denota como plano epipolar.

La proyección de la línea del punto focal al punto P sobre el plano de la imagen derecha (línea en rojo) se conoce como línea epipolar , la proyección en la imagen derecha , del punto P, siempre se encontrará sobre la línea epipolar, a esto se le llama

[image:11.612.98.527.309.517.2]

restricción epipolar lo cual simplifica el problema de correspondencia. Es decir el punto de interés encontrado en la imagen izquierda , se debe encontrar en la imagen derecha sobre la línea epipolar.

Figura 5 Correlación4

En el modelo real esta restricción no siempre es precisa, ya que la ubicación de la cámaras en una posición paralela exacta y que estén perfectamente alineadas en el eje horizontal no

4

(12)

12

siempre es posible, por lo tanto por medio de la calibración estéreo (ver Sección 2.6) se hace la corrección de estas diferencias.

Para lograr solucionar el problema de similitud después de extraer los puntos de interés, es necesario determinar una forma de compararlos con los puntos en otra imagen para hallar su similitud, una de las formas más comunes es usando ventanas alrededor de sus vecinos, por ejemplo comparando la intensidad de cada píxel sobre toda la ventana. En la Correlación se observa en la imagen izquierda el punto de interés detectado encerrado por un cuadrado rojo que representa el tamaño de la ventana, el cual es comparado con todos los puntos de la imagen derecha sobre la misma línea usando alguna técnica de correlación.

2.5.

Triangulación

En esta sección se describe cómo se calcula la distancia Z de un punto P en el espacio al sistema de cámaras.

Teniendo P(x,y,z) en el espacio, siendo y las coordenadas en eje x de las proyecciones del punto P en la imagen izquierda y derecha, y su diferencia denotada como disparidad , “b” es la distancia entre cámaras que se denomina baseline, y

[image:12.612.121.469.410.607.2]

“f” distancia focal, como se observa en la figura 6.

Figura 6 Configuración de un sistema de visión

Para realizar el cálculo de la distancia z, se utiliza la semejanza de triángulos, como sigue: Cámara derecha: : (3) Camara izquierda: (4)

Plano Imagen Derecha Plano

Imagen Izquierda

P(X,Y,Z)

Z

(13)

13

Usando el cálculo de la

(5)

Se despeja Y y X de (3): y (6)

2.6.

Error en la medición

Para evaluar el error en la medición se parte de la ecuación 4 evaluada en [5], descrita en la sección anterior.

despejando d

(7)

Donde se puede evaluar que si el objeto tiende a estar en el infinito, es decir

entonces e igualmente si entonces

Por lo que queda claro, un objeto lejano tiende a estar en el mismo píxel, así que como mínimo se debe tener d=1píxel para poder calcular la distancia de un punto al sistema de adquisición. Esta medida también depende de la distancia focal y de la distancia entre cámaras, con lo que la máxima distancia a evaluar es:

/1pixel

(8)

El siguiente aspecto a calcular es la precisión en la medida de la profundidad. Par ello, se usa el desarrollo de Leclercq [5]. Se inicia tomando dos puntos P2’ y P2” en el espacio, a

la distancia en el eje Z del punto P2’ se le denotada , y a la distancia entre estos dos puntos la denotada por , como se observa en la

figura 7.

Tomando ahora que representa la distancia entre un punto P2’ a una distancia en el

eje Z y un punto justo en frente de este a una distancia cuya proyección es , igualmente se toma como la distancia entre un punto P2’a una distancia en Z de

y el punto justo detrás de este a con proyección .

Dado que la mínima disparidad que se puede tener es de un píxel, se evalúa en cada uno de los dos casos que están planteados, los cuales están referenciados respecto al punto y su proyección así:

(9)

Definiendo el para ambos casos:

(14)

14

5Figura 7 Configuración Estéreo, precisión

Utilizando la ecuación (5) y reemplazando

Como siempre positivos se toma el que es el mayor de los dos para el análisis.

(11)

Con lo cual se observa que a mayor distancia se aumenta el error o a mayor distancia entre cámaras el error disminuye, esto se presenta más claramente en la Figura 8.

6Figura 8

Variación de la resolución en la profundidad

5

Tomada de D. Scharstein, "View Synthesis using stereo vision".[42]

6

Tomada de D. Scharstein, "View Synthesis using stereo vision".[42]

(15)

15

2.7.

Calibración

Con el objetivo de corregir los errores que se generan por la distorsión de los lentes de las cámaras y poder realizar buenas mediciones sobre el sistema estéreo, las cámaras deben estar calibradas. Para este fin en el proyecto, se usa el programa desarrollado por Danail Stoyanov, Camera Calibration Tool del Imperial College London7.

Al programa se le ingresa una serie de imágenes conocidas como el tablero de ajedrez, en este caso se toman las dos imágenes izquierda y derecha desde la misma posición para poder realizar lo que se denota calibración estéreo que se explica más adelante.

El programa devuelve los valores intrínsecos y extrínsecos del sistema de las cámaras, que se explica en esta sección, estos datos son los utilizados en el proyecto para obtener las imágenes corregidas.

A continuación se describe el proceso de calibración usando como base el desarrollo realizado por Tola[6]. Retomando de la sección anterior la geometría de proyección de un punto P se tiene que los valores de las coordenadas proyectadas en el plano de la imagen están definidos por:

[ ] [ ] (12)

Expresando esto en forma matricial

[

] [

] [

]

=

[

] [ ] [

]

(13)

̅ ̅

, donde P=

[

]

,

̅ [

]

,

̅ [

]

Ahora incluyendo

la

translación de los centros los cuales se tomas desde la parte inferior de la cámara la transformación queda así:

[ ] [

]

Ahora expresándola en forma matricial

7

(16)

16

[

] [

] [

]

=

[

] [ ] [

]

̅ [ ]

̅

(14)

Donde K es conocida como la matriz de Calibración que define los parámetros intrínsecos, estos son la óptica, la geometría y la características digitales de punto de vista de la cámara, los cuales se busca caracterizar con la calibración.

Ahora es necesario un sistema de referencia diferente del centro de la cámara. Para el caso del sistema estéreo se tiene que la cámara derecha tiene como sistema de referencia el origen en la izquierda como se ve en la Figura 4, para esto debemos agregar una translación

t y una rotación R para representar las transformaciones reales de una cámara a otra,

̅ [ ]

̅

(15)

Los parámetros de la matriz K son llamados parámetros intrínsecos y los de la matriz de rotación y translación parámetros extrínsecos.

2.8.

Distorsión de los Lentes

Para cámaras con ejes ópticos desalineados o imperfectos ópticos se pueden observar dos tipos de distorsión que son evidentes en los bordes de la imagen, la geometría no lineal de estas distorsiones se puede clasificar en distorsiones radiales y descentradas [7].

Uno de los métodos para corregir estas distorsiones es usar figuras geométricas lineales, un ejemplo es usar un tablero de ajedrez con número de columnas y filas diferentes. El objetivo es conociendo la configuración real del objeto, hallar la transformación geométrica entre el objeto real y el observado en la imagen. En este caso (Figura 9 la relación entre las líneas rectas de la Figura 9(a) y las curvas que se formas como las observadas en la Figura 9 (b) y 9(c).

8Figura 9 Distorsión de lentes a)Sin distorsión b)Radial c)Descentrada

[image:16.612.89.389.528.626.2]
(17)

17

Partiendo que cada punto tiene coordenadas reales (x, y) y las observadas ( ̃, ̃ ), la relación con su posición estimada ( ̂, ̂) dada por:

̂ ̃ ̃

(16)

̂ ̃ ( ̃

)

(17)

Donde son los parámetros de la distorsión y ( son las coordenadas del centro y r las distancia al centro dada por

̃

̃

(18)

Como se observa en la figura

9

tomada de [7] y en las ecuaciones anteriores la distorsión se incrementa radialmente y hacia el centro no existe distorsión.

2.9.

Calibración estéreo

La calibración estero se realiza para establecer la transformación que hay entre los planos de las dos imágenes, es decir la translación que existe entre el centro focal de una y otra. Además de esto la orientación de una respecto a la otra, este tipo de discrepancias será posibles definirlas mediante la calibración estéreo, hallando lo que se denota como la matriz fundamental que se define a continuación.

[image:17.612.95.448.528.650.2]

La matriz fundamental es la relación algebraica que describe la relación de perspectiva entre dos imágenes, es usada para representar el mapeo geométrico entre un punto y la línea en el par de imágenes estéreo, esta encapsula la información intrínseca y extrínseca de la cámara.[6] . En el capítulo 4 de Henrichsen [8], se describen varios formas en las cuales se puede obtener la matriz fundamental.

(18)

18

El programa de Stoyanov usado en la calibración de una cámara también proporciona la opción de la calibración estéreo, en esta opción ingresamos las parejas de imágenes ingresadas tomadas desde la misma posición. El resultado es la matriz fundamental y un ajuste en los parámetros intrínsecos y extrínsecos de las cámaras. Además muestra una gráfica como la figura 10, donde deja ver cómo se capturaron las imágenes.

2.10.

Preprocesamiento, suavizado

Este tipo de operaciones tiene por objetivo reducir el ruido que puede presentarse en una imagen a consecuencia del proceso de captura, digitalización y transmisión. Este proceso es necesario antes de iniciar los pasos para realizar un procesamiento de visión estéreo.

El ruido se puede reducir por medio de la aplicación de un filtro, que en nuestro caso será un filtro gausiano, los coeficientes de Gauss están definidos por:

(19)

(19)

19

3.

Métodos de correspondencia en visión estéreo

En esta sección se describe desde el estado del arte las técnicas de correspondencia o emparejamiento, esta no es una descripción completa pero trata de ilustrar sobre los elementos y métodos principales reportados en la literatura descritos en [9]. En concordancia con los pasos que se siguen en el proyecto, se enumeran en primera instancia los trabajos realizados para extracción de puntos de interés (detectores), seguido por los de extracción de características a los puntos de interés las cuales son usadas como elementos de comparación (descriptores). Posteriormente se enuncian las técnicas de emparejamiento y finalmente se describe brevemente el algoritmo se SURF, el cual es usado para comparar el desempeño del algoritmo propuesto.

3.1.

Antecedentes de los métodos de correspondencia

La reconstrucción 3D a partir de imágenes estéreo es un tema ampliamente estudiado en visión por computador en la última década, sobre este tema existen dos tendencias en las cuales se trabaja[9], se encuentran métodos basados en áreas, que se basan en la resolución radiométrica de los píxeles mediante el uso de ventanas. En este caso se obtienen buenos resultados cuando las escenas se componen de superficies bien texturadas. Estos métodos se utilizan para generar mapas de disparidades densos.

Por otro lado los métodos basados en características que explotan las primitivas geométricas de la imagen, que son elementos como píxeles de los bordes, segmentos lineales o curvas de los bordes, regiones, entre otros o con atributos distintivos de posición, orientación, curvatura, que se usan para encontrar las correspondencias. Sobre este método se desarrolla este trabajo.

A continuación, se describen las tres etapas en el proceso de correspondencia, la extracción de los puntos de interés conocida como detector, la extracción de las características distintivas de estos puntos denotada como descriptor y finalmente la técnica para hallar la similitud entre cada punto, emparejamiento o matching.

3.2.

Detectores

El objetivo principal de un detector es encontrar características estructurales en una imagen como esquinas, blobs, simetrías locales y puntos representativos que sean independientes

del punto de vista[10], de la escala y la iluminación.

Las características de un buen detector según Agrawal [2] deben ser:

(20)

20

 Invariabilidad: Debe ser invariante a la rotación y escala de imagen

La estabilidad de un punto es una característica importante, ya que el punto se puede extraer o encontrar en diferentes cuadros (frames), por ejemplo en la captura realizada por

un robot móvil.

La clasificación de estos detectores según Szumilas [10], puede hacerse según el tipo de estructura detectadaen los siguientes tipos:

 Detectores de esquinas(corner): En esta clasificación se encuentran los trabajos desarrollados por Moravec [11], Harris [1], CeSurE [2]. Susan[12]. Además se reportan modificaciones a Harris como la planteada por Mikolajczyk[13] en la que plantean un algoritmo para extraer los puntos de Harris en diferentes escalas y se evalúan otras características, para hacerlo invariante a la escala y a las transformaciones, este es conocido como Harris-Laplance que es bastante usado en la actualidad. Existen otros como SIFT[14] y SURF[15], en el cual los puntos son invariantes a escala y rotación. Algunos autores han realizado evaluaciones de la repetitividad y precisión de estas técnicas de extracción de puntos de interés [16] [17], en las cuales presentan como mejor opción los puntos de Harris. Respecto a los puntos de SURF se conocen como muy estables pero tienen un alto costo computacional, por ello se han planteado modificaciones a este como la de [18]PCA-SIFT, para reducir el tamaño del descriptor.

 Detectores de blobs: Basados en los trabajos de Witkin [19], el de Koenderink [20]

tienen como base métodos diferenciales como Laplacian of Gaussians (LoG), Difference of Gaussians (DoG) and Determinant of Hessian (DoH) [21].

 Detectores de Simetría: Este detector busca la simetría rotacional o simetría de espejo de una región sobre una imagen 2D, por ejemplo rostros o similares, un ejemplo de estos son los trabajos de realizados por Resifeld en.[22], [23] y el método llamado

Radial Symmetry Transform en [10].

3.3.

Descriptores

Los descriptores deben ser distintivos, es decir que podamos diferenciar un punto de otro usando las características o propiedades halladas en el descriptor, además deben ser robustos al ruido en la imagen.

Existe un gran número de posibles descriptores y medidas de similitud. Para crear estos descriptores se utilizan diferentes propiedades de las imágenes como la intensidad, el color, la textura, los contornos etc.[24].

(21)

sum-21

of-absolute differences (SAD) [28][29][30], normalized cross-correlation (NCC), que se

describen en la sección 3.4.1.

A continuación se enumeran algunos tipos de descriptores basados en el trabajo de Szumilas [10].

 Descriptores basados en la distribución: Esta técnica usa histogramas para representar las diferentes características de apariencia o forma, un ejemplo de este descriptor puede ser la intensidad de los píxeles representada por un histograma. Zabih and Woodfill [31] desarrollaron una técnica robusta invariante a los cambios de iluminación, la cual binariza la relación de las intensidades de los píxeles, conocido como transformadas de CENSUS.

Lowe [14] Propuso Scale Invariant Feature Transform (SIFT), el cual combina detectores invariantes a la escala y descriptores basados en la distribución de gradiente. En la sección 3.5 se explicará más detalladamente la Técnica de SURF, que está basado en el trabajo de Lowe.

 Descriptores basados en la frecuencia espacial: Una de las técnicas más comunes son las que usan las transformadas de Fourier para representar la imagen. Otro ejemplo de este es el uso de la transformadas de Gabor [32] usados generalmente para clasificación de textura.

Descriptores diferenciales: Las propiedades de derivadas fue estudiado por Koenderink [20]. En estas se evalúa la derivada en dirección del gradiente con lo que se logra que sea invariante a la rotación. Estas derivadas son obtenidas por la convolución de la imagen con la derivada de las Gausianas en varias escalas, con lo que se logra que sean invariantes a la escala.

3.4.

Técnicas de emparejamiento (Matching)

En forma general el emparejamiento consiste en encontrar una serie de puntos en una imagen los cuales puedan ser identificados como los mismos puntos en otra imagen. En el caso de visión estéreo los de la imagen izquierda con los de la derecha. Algunas de las técnicas de emparejamiento son descritas en la siguiente sección, para mayor detalle ver Mikolajczyk[24].

 Basados en umbral (threshold): dos regiones son emparejadas si la distancia entre

sus descriptores es menor que un umbral determinado.

 Usando nearest neighbor: 2 regiones a y b son emparejadas si el descriptor Db es nearest neighbor de Da y si la distancia entre ellos es menor que un umbral

(22)

22

 La tercera estrategia es similar a nearest neighbor matching, excepto que el umbral

es aplicado a la distancia del radio entre el primer y segundo nearest neighbor. Esto

es las regiones son emparejadas si

‖ ‖ ‖ ‖

Donde Db y Dc es el primer y el segundo nearest neighbor a Da respectivamente.

En la siguiente sección se detallan algunas de las técnicas más comunes usando correlación sobre ventanas

.

3.4.1.

Criterios de correlación usando ventanas

Entre los métodos más comunes de correlación usando ventanas encontramos, la comparación del valor de la intensidad en cada pixel,[33][25][34], el uso de sum-of-squared differences (SSD)[25][26][27], el uso sum-of-absolute differences (SAD) [28][29][30], normalized cross-correlation (NCC) [35][36]. Existen otros como el planteado por

Muhlmann[37] donde usa la medida de correlación SAD en imágenes RGB, Zadeh plantea el uso de multiwavelets[38].

A continuación, se relacionan las ecuaciones para establecer los valores de SSD, SAD y NCC, en la cual se comparan dos imágenes I y D usando una ventana de tamaño w, el algoritmo propuesto se evaluará comparándolo con estas tres técnicas.

∑ ∑ | | (20)

∑ ∑ ( ) (21)

∑ ( )

∑ ( ) ∑ ( )

(22)

3.5.

SURF, Speeded-Up Robust Features

(23)

23

SURF es un método de reconocimiento de objetos que se basa en el algoritmo de SIFT,

Scale Invariant Feature Tracking realizado por Lowe[14]. A continuación se enumeran

brevemente las 3 etapas: Extracción del descriptor, como se enuncio anteriormente el punto de interés o descriptor debe ser invariante a diferentes condiciones como escala, rotaciones etc. Para cumplir con estos requerimientos en el algoritmo de SURF , se utiliza una aproximación de la matriz Hessiana, donde se tiene el punto x = (x, y) en la imagen I, en la

escala y es la convolución de la Gausiana derivada parcial de segundo orden de la Gausiana en la dirección horizontal.

[

[image:23.612.101.452.250.398.2]

]

Figura 11 Derivada parcial Gausiana, lyy, lxy, Aproximaciones Dxx y Dxy

[image:23.612.223.513.519.656.2]

Para lograr que sea invariante a la escala se utiliza este filtro en diferentes escalas, aplicado sobre la misma imagen sin modificar, es decir el filtro aumenta de tamaño mientras la imagen permanece igual como se presenta en la Figura 12 iniciando con ventanas de tamaño de 9*9, 15*15.. etc

(24)
[image:24.612.94.404.95.210.2]

24

Figura 13 Descriptor Surf Figura 14 Orientación del descriptor

En la figura 13 podemos observar la constitución del descriptor, en esta etapa para lograr que el descriptor sea invariante a la rotación se aplica el filtro de Haar en la dirección X y Y a cada punto alrededor del punto de interés, que se encuentre a una distancia menor de 6s,

donde “s” es la escala donde se obtuvo el punto, posteriormente se calcula la orientación de

todos estos puntos, la orientación del descriptor la define hacia donde se encuentren mayor cantidad de puntos, como se ve en la figura 14. Posteriormente se define una ventana de 20s alrededor del punto de interés, esta se subdivide en por 4*4 sub-ventanas a las cuales se les extrae la repuesta wavelet a cada punto, ver figura 13.

En cada una de las 16 ventanas se obtienen las sumas de los gradientes y la suma absoluta de los gradientes , , , que son los elementos del descriptor SURF, que suman un total de 64 descriptores en total por cada punto de interés.

3.6.

OpenCV

OpenCV es un conjunto de bibliotecas de código abierto desarrolladas en un principio por Intel y ahora soportado por Willow, disponibles desde [7]. Están desarrolladas en lenguaje C, con puertos a C++, phyton y octave. Además, se pueden ejecutar desde diversos sistemas operativos como Windows y Linux.

(25)

25

4.

Descripción del algoritmo

[image:25.612.87.529.182.398.2]

En una primera etapa se capturarán las dos imágenes a partir de un sistema de cámaras ubicadas en forma paralela, es decir eje focal paralelo, con una distancia entre ejes focales de 13.78cm, la resolución de las imágenes capturadas es de 320*240 píxeles, el montaje de las cámaras se ve en la figura 15.

Figura 15 Montaje del sistema de cámaras

Las imágenes adquiridas son procesadas realizando tres etapas, que se describen a continuación:

1. Pre-procesamiento de Imágenes: que consiste en una obtención de la imagen corregida por el proceso de calibración individual y estéreo, para esto se usa el programa realizado por Danail Stoyanov, Camera Calibration Tool del Imperial College London9. Con la aplicación de esta calibración se obtienen las matrices de

transformación con los valores intrínsecos y extrínsecos de las cámaras con las cuales se corrigen las imágenes. Esta calibración solo se realiza una vez, pero cada vez que se realiza la captura de las imágenes se realiza la corrección de estas usando las matrices obtenidas en el proceso de calibración.

Los valores obtenidos en la calibración son los siguientes: <Distortion type_id="opencv-matrix">

-0.482672 0.454801 -0.001107 0.000288</data>

9

(26)

26

<Intrinsics type_id="opencv-matrix">

427.996613 0.000000 161.641846

0.000000 423.962830 122.532951

0.000000 0.000000 1.000000</data></Intrinsics> Las funciones de OpenCV usadas para la calibración son:

cvInitUndistortMap(intrinsicDER,distortionDER,mapx,mapy);

cvRemap( imagen, originalDER, mapx, mapy );

Donde intrinsicDER, distortionDER, son los valores de la matrices intrínsecas y de distorsión respectivamente.

Posteriormente se extraen los puntos de interés usando el algoritmo de Harris [1], la función de OpenCV utilizada es:

cvGoodFeaturesToTrack(dstIZQ,eig_imageIZQ,temp_imageIZQ,cornersIZQ, &corner_countIZQ,quality_levelIZQ,min_distanceIZQ,NULL,eig_block_si zeIZQ,use_harrisIZQ);

En esta etapa también se realiza un suavizado de la imagen dependiendo de la opción que se escoja en el momento de ejecutar el programa, es decir, que se cuenta con la opción de realizar o no el suavizado, por esta razón en la gráfica 1 donde se encuentra el algoritmo completo esta etapa se encuentra en línea punteada, además se cuenta en el programa desarrollado con la opción de poder realizarle esta operación a la imagen de 0 a 6 veces.

La intención de esta etapa es evaluar la estabilidad y repetitividad de los puntos de interés ante el suavizado o no de la imagen, además de la respuesta del algoritmo ante estos cambios en la imagen, la función usada es:

cvSmooth(originalIZQ,originalIZQ,CV_BLUR);

2. Correlación: en esta etapa se establece la correlación de cada uno de los puntos de interés definidos anteriormente y se calcula su distancia Z al sistema de cámaras.

Este es uno de los puntos más importantes del algoritmo, pues establece la similitud entre los puntos de la imagen izquierda con su par en la imagen derecha.

El principal aporte de este proyecto radica en la definición del descriptor usado para hallar la correlación entre los diferentes puntos extraídos, este descriptor está compuesto por 8 características, que en forma general se define como la derivada en

(27)

27

Para hallar esta correlación también se evalúan diferentes métodos como SAD, SSD, NCC y el algoritmo propuesto Haar(4*2), el cual consiste en una ventana de tamaño (4.w×4.w) alrededor del punto de interés, y esta se subdivide en 4 ventanas de (2w×2w) a las cuales se les calcula el gradiente en la dirección X y Y, el tamaño de la variable w variará de 2-7 píxeles el cual se evalúa en el protocolo de pruebas.

.

3. Medición y Filtrado, Se calcula Z=f.b/(Xl-Xr), donde f es la distancia focal, b la distancia entre la cámaras, y Xl y Xr, la posición del punto de interés en la imagen izquierda y derecha respectivamente.

El filtrado en el tiempo se detalla en la figura 17. En este se hace la comparación de los puntos y emparejamientos en diferentes cuadros para ver su estabilidad en un periodo de tiempo determinado, en este caso el número de cuadros evaluados en el tiempo es de 4 cuadros consecutivos. Es decir si el punto hallado P con coordenadas X, Y, Z, permanece constante en el plano X-Z, la coordenadas tomadas como referencia aceptan un error de +/-1cm en X y Z, Si permanece estable, quiere decir que tiene valores con poca variación en esa coordenada durante cuatro cuadros seguidos, por ello el punto es tomado como válido para la medición, ver figura 17.

P P

P X

Z

Cuadro (i)

Cuadro (i+n) Cuadro (i+1) Plano(X-Z)

Figura 17 Filtro en el tiempo

1

2

3

4

4W

I.O.

Figura 16 Ventanas de 2w*2w, alrededor del punto de interés, y la transformada de Haar extraída a cada subventana Dx,Dy

2W

Dy - Dx

(28)

28

4. Representación: inicialmente se definirá un matriz 3D para la representación de los puntos obtenidos, definiendo el estado de cada espacio como libre, ocupado o desconocido similar al trabajo presentado en [39].

GRAFICA 1,ESQUEMA GENERAL DEL SISTEMA

(29)

29

El programa se desarrolló en la plataforma Visual C++, y se usaron las bibliotecas de OpenCV para la captura y procesamiento de las imágenes

Para la formulación de este algoritmo se tomó como base el trabajo realizado por Viola[40], para la identificación de rostros en el cual se usan diferentes características de Haar, además del trabajo de Bay en SURF[15], donde se evalúan los gradientes en diferentes direcciones.

Las representación de los puntos es en forma matricial, esta se puede obtener tanto en cuadro por cuadro o en promedio en el tiempo, es decir el mismo punto se evalúa en diferentes frames o cuadros durante un periodo de tiempo, con lo cual se filtran los puntos

que no permanecen estables durante todo el tiempo.

En la grafica 2 se observa la interfaz del programa implementado para evaluar los diferentes algoritmos, con las opciones necesarias para modificar el algoritmo usado, el tamaño de la ventana y el suavizado de la imagen.

Grafica 2 Interfaz Programa

Imagen Izquierda, punto de

emparejado Imagen Derecha,

punto de Harris encontrado

[image:29.612.86.526.341.605.2]
(30)

30

5.

Protocolo de pruebas

En esta sección describe el protocolo establecido para poder realizar la evaluación del rendimiento del algoritmo tanto en forma individual y como en forma comparativa con los métodos SSD, SAD, NCC y SURF.

Con este protocolo de pruebas se establecen las diferentes respuestas del algoritmo a cambios en las variables internas del algoritmo como el tamaño de la ventana del descriptor y el suavizado de la imagen. Este suavizado se puede establecer como opción para la captura de las imágenes, además se busca medir la robustez del algoritmo a cambios en las características de la escena, como la escala, la orientación y la iluminación.

Al seleccionar la base de datos de imágenes o escenas se tuvo en cuenta la evaluación realizada por Vaudrey [41], en la cual se enuncia que los algoritmos con mejores resultados en la base de datos de Middlebury[27], que es la más usada para evaluar algoritmos de visión estéreo usando correspondencia densa, obtienen bajos resultados en escenas reales. Por esto se usan escenas tomadas en los laboratorios de la Universidad para las pruebas, las diferentes imágenes y cuadros de los videos de evaluación se pueden observar en la capítulo 6 de evaluación y resultados. Además de estas se usa la base de datos de Middlebury.

En el anexo 2 se ven los resultados comparativos entre las técnicas de Harris vs CenSure, para la detección de puntos de esquinas. En esta prueba se observa un mejor desempeño del algoritmo propuesto usando Harris, que es el algoritmo usado en todas las pruebas. La convención usada para referenciar las pruebas es la siguiente:

Tipo de filtro

B:Blur G: Gausiano M: Media

Filtro en el tiempo S: Con filtro N: Sin filtro

Algoritmo MIO: propuesto SSD: Sum Square diff.

SAD:. Sum absolute diff NCC: Normal Cross Corr. SUR:SURF.

Tipo Iluminación

B: Fluorescente G: Luces para video N: Natural

Suavizado de la Imagen(b) De 0a 6

Tamaño de la ventana(2*w) W: De 2 a 7 píxeles Distancia al

objeto en cm 100, 220, 300, 400

(31)

31

Prueba A objeto de 100 cm a 400cm con iluminación de fluorescentes (SBFx00wbNNN)

En la primera prueba en la cual la orientación de las cámaras es perpendicular al cuadro, se busca establecer el error en el emparejamiento de los algoritmos, debido a que la imagen es plana todos los puntos extraídos deben estar a la misma distancia y por lo tanto deben tener la misma disparidad entre ellos.

Para iniciar el protocolo se toman los videos de referencia desde diferentes distancias (1, 2.2, 3, 4 mts), cada video posee 100 cuadros, y una resolución de 320*240 píxeles para todos los videos de prueba realizados.

Luego de esto se le extraen los puntos de interés (detectores) usando funciones de OpenCV, que usan las características de Harris para extraer los puntos.

Esta operación se realiza sobre la imagen derecha, hecho lo anterior se ejecuta el programa usando las diferentes opciones que modifican:

a. el tamaño de la ventana, (w) de 2 a 7 píxeles b. el suavizado de la imagen, (b)de 0 a 6

Con esto se busca para medir la respuesta a diferentes variaciones de tamaño de la ventana del descriptor y el suavizado de la imagen de cada uno de los diferentes algoritmos evaluados y el propuesto.

Además en esta prueba también se busca ver el aumento del error en el cálculo de la distancia a medida que esta aumenta entre las cámaras y el objetivo.

En esta prueba se evalúan los cuadros capturados en forma individual y también en el tiempo usando el filtrado en el tiempo.

Prueba B objeto de 100 cm a 400cm con iluminación de luces de video profesionales (SBLx00WBNNN)

Esta prueba se realiza bajo condiciones de luz controladas, usando las mismas variaciones de distancia, suavizado y orientación del objetivo para evaluar respuesta de los algoritmos a los cambios de iluminación.

Igual que el proceso anterior se evalúa los puntos en el tiempo para medir su estabilidad, pero a diferencia de la anterior se espera que los puntos sean estables en el tiempo, ya que la iluminación seria constante.

(32)

32

Prueba C objeto de 140 cm con iluminación natural (SBNx00WBNNN)

La siguiente prueba a realizar será en ambientes interiores donde las condiciones no son controladas y se quiere ver el comportamiento de los algoritmos.

Igual que en los anteriores se variará el tamaño de la ventana y suavizado de la imagen. La siguiente prueba a realizar será en ambientes interiores donde las condiciones no son controladas y se quiere ver el comportamiento de los algoritmos, esta se realiza sobre un video de un pasillo en horas de la noche.

En esta la medida del error se debe hacer en forma manual, es decir los emparejamientos reales se deben realizar a mano, ya que la disparidad entre todos los puntos varia.

La importancia de esta prueba radica que el programa debe funcionar en ambientes reales y se quiere evaluar la robustez del algoritmo.

Prueba D objeto de 100cm. y 220 cm. ( SURF y algoritmo propuesto (21 y 51))

En esta prueba se utiliza el ejemplo del algoritmo se SURF implementado en OpenCV, al cual se le suministra los videos de prueba realizados a 100cm y 220 cm. Los videos son calibrados antes de ser procesados por el programa se SURF.

La configuración del algoritmo propuesto que se utiliza en esta prueba es con ventana de 2,5 y suavizado de 1, refiérase como (21) (51).

(33)

33

6.

Evaluación y análisis de resultados

En esta sección se presentan los resultados obtenidos bajo las diferentes pruebas realizadas según el protocolo propuesto en el capítulo anterior.

[image:33.612.86.526.463.676.2]

Figura 18 Imagen Derecha e Izquierda del objeto a 100 cm, SBF100

Prueba A1. objeto a 100 cm con iluminación de fluorescentes (SBF100XXNNN)

En esta prueba se toman 100 cuadros de un objeto ubicado a 100 cm del sistema de cámaras (ver figura 19), a cada imagen se le extraen 20 puntos de interés. Los resultados mostrados en la figura 20, tienen un filtro de 4 cuadros en el tiempo, en la gráfica en el eje inferior se aprecia la sigla wb, que significa w para el tamaño de la ventana y b para el numero de suavizados que se le realizan a la imagen. El número total de mediciones realizadas en esta prueba es aproximadamente (100cuadros)*(20 puntos)*(38 variaciones de w y b)*(4 algoritmos)=304000.

Figura 19 Comparativo algoritmos objetivo a 100cm

0% 20% 40% 60% 80% 100% 120% 2 0 2 2 2 4 2 6 3 1 3 3 3 5 4 0 4 2 4 4 4 6 5 1 5 3 5 5 6 0 6 2 6 4 7 1 7 3

(wb) 2*w tamaño ventana, b blur

Comparativo, objetivo a 100cm+-5(5% )

(34)

34

Del análisis se estos resultados se puede extraer que el desempeño del algoritmo varia de un 100% a un 80%, con el suavizado de la imagen, con lo que se plantea la necesidad de realizarle un suavizado a la imagen al menos una vez para obtener un desempeño superior al 90%. Algoritmo Propuesto w,b Número de Puntos Centro (cm) Desviación Estándar

2,0 1772 99.9 32.9

2,1 1450 99.20 13.7

2,2 1705 101.10 24.1

2,3 1575 106.83 52.1

2,4 1642 106.11 54.0

2,5 1766 121.75 98.8

[image:34.612.85.525.491.680.2]

2,6 1731 124.43 103.7

Tabla 1 Centros y desviación estándar del algoritmo propuesto

De la tabla 1 se observa que la desviación estándar y el centro de la configuración w=2, b=1 está en un intervalo muy cercano al valor real de la medida de 100cm. Con lo que queda confirmado que esta es una de las mejores configuraciones para evaluar el algoritmo propuesto. Los datos completos de las pruebas de evaluación se listan en el anexo 1.

En la figura 21, se presenta la distribución real de los puntos para la evaluación del algoritmo propuesto, en esta prueba se varió el tamaño de la ventana y el suavizado de la imagen. En esta figura se observa que la distribución oscila alrededor de los 100cm y que un porcentaje menor al 10% se encuentra más allá del +/-5% del error para la mayoría de las configuraciones evaluadas. Los colores representan las diferentes configuraciones.

Figura 20 Medición de puntos por algoritmo propuesto a 100 cm 0 100 200 300 400 500 600 700 800 1

11 21 31 41 51 61 71 81 91 101 111 121 131 141 151 161 171 181 191 201 211 221 231 241 251 261 271 281 291

N ú m e ro d e p u n to s

Distancia en centímetros

(35)
[image:35.612.86.313.197.341.2]

35

En la figura 22 se observa la representación 3D, de la matriz obtenida con las coordenadas X Y y Z de cada punto. En este caso se ven los resultados obtenidos para el objeto ubicado a 100cm donde cada línea horizontal roja gruesa representa 1 metro, es decir coordenada Z, la altura de las barras la coordenada Y, y la X dada por la posición de la barra. El cubo azul representa el sistema de cámaras.

Figura 21 Representación 3D de los resultados

Prueba A2. Objeto a 220 cm con iluminación de fluorescentes (SBF220XXNNN)

Figura 22 Imagen Derecha e Izquierda del objeto a 220 cm, SBF220

En esta prueba al igual que en la anterior, se toman 100 cuadros a un objeto ubicado a 220 cm con respecto al sistema de cámaras ver figura 23, a cada imagen se le extrajeron 20 puntos de interés. Los resultados mostrados en la figura 24, tienen un filtro de 4 cuadros en el tiempo, en el eje inferior vemos la sigla w b, que significa w para el tamaño de la ventana y b para el numero de suavizados que se le realizó a la imagen.

[image:35.612.92.357.427.526.2]
(36)
[image:36.612.82.545.91.268.2]

36

Figura 23 Resultados algoritmo Propuesto a 220 cm, con filtro y sin filtro

Los resultados para los algoritmos de SSD, SAD, y NCC, se pueden observar en la figura 25, donde el desempeño de estos entre un 35% y 55%.

Los mejores resultados para estos algoritmos se encuentran con w=4, lo que quiere decir que la ventana es de tamaño 2*w=8, lo cual está de acuerdo con los resultados obtenidos en la literatura [23].

Figura 24 Algoritmos SSD, SAD Y NCC con filtro y sin filtro a 220 cm 0% 20% 40% 60% 80% 100% 120% 2 0 2 1 2 2 2 3 2 4 2 5 2 6 3 0 3 1 3 2 3 3 3 4 3 5 3 6 4 0 4 1 4 2 4 3 4 4 4 5 4 6 5 0 5 1 5 2 5 3 5 4 5 5 5 6 6 0 6 1 6 2 6 3 6 4 7 0 7 1 7 2 7 3 7 4 Algoritmo propuesto objeto a 220cm+-11 (5%)

Con Filtro Sin Filtro w b 0% 10% 20% 30% 40% 50% 60% 2 0 N CC 2 0 S A D 2 0 S S D 2 1 N CC 2 1 S A D 2 1 S S D 3 0 N CC 3 0 S A D 3 1 N CC 3 1 S A D 3 1 S S D 4 0 N CC 4 0 S A D 4 0 S S D 4 1 N CC 4 1 S A D 4 1 S S D 5 0 N CC 5 0 S A D 5 0 S S D 5 1 N CC 5 1 S A D 5 1 S S D 6 0 N CC 6 0 S A D 6 0 S S D 6 1 N CC 6 1 S A D 6 1 S S D 7 0 N CC 7 0 S A D 7 0 S S D 7 1 S A D 7 1 S S D

SAD, SSD, NCC, objeto a 220cm+-11 (5%)

Sin Filtro

[image:36.612.88.531.377.543.2]
(37)

37

Prueba A3. Objeto a 300 cm con iluminación de fluorescentes (SBF300XXNNN)

[image:37.612.86.377.122.229.2]

Figura 25 Imagen Derecha e Izquierda del objeto a 300 cm, SBF300

Desempeño del algoritmo propuesto con un objeto ubicado a una distancia de 300cm ver figura 26. Los resultados con y sin la aplicación del filtro en el tiempo a los puntos, se puede apreciar en la figura 27.

[image:37.612.86.559.397.634.2]

En esta prueba se ve que el desempeño del algoritmo oscila entre un 92% y 77%, obteniendo los mejores resultados para la configuración w=2, b=1. Con lo cual se ve cómo afecta la distancia al algoritmo.

Figura 26 Comparativo del Algoritmo con filtrado y sin filtrado en el tiempo 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% 2 0 2 1 2 2 2 3 2 4 2 5 2 6 3 0 3 1 3 2 3 3 3 4 3 5 3 6 4 0 4 1 4 2 4 3 4 4 4 5 4 6 5 0 5 1 5 2 5 3 5 4 5 5 5 6 6 0 6 1 6 2 6 3 6 4 7 0 7 1 7 2 7 3 Algoritmo propuesto objeto a 300 cm +-15(5%)

Sin Filtro

Con Filtro

(38)
[image:38.612.89.511.120.294.2]

38

Figura 27 Resultados algoritmos SSD SAD y NCC a 300 cm

En esta prueba se ve en la figura 28 , los resultados para los algoritmos de SAD,SSD, con un incremento en su desempeño hasta un 70%, en una configuración de w=3 y sin filtrado en la imagen.

Prueba cuatro objeto a 400 cm iluminación con fluorescentes (SBF400XXNNN)

Figura 28 Imagen Derecha e Izquierda del objeto a 400 cm, SBF400

En esta prueba se toman 100 cuadros a un objeto ubicado a 400 cm al sistema de cámaras ver figura 29, a cada imagen se le extrajeron 20 puntos de interés.

En esta prueba se ve como la variación del suavizado de la imagen y el tamaño de la ventana afecto el desempeño del algoritmo, obteniendo los mejores resultados para (w,b)=(2,1), (3,1), (5,1) ver figura 30.

0% 10% 20% 30% 40% 50% 60% 70%

[image:38.612.88.411.421.540.2]
(39)
[image:39.612.87.512.83.272.2]

39

Figura 29 Algoritmo propuesto a 400 cm

Resumen de la prueba (A) bajo condiciones de luz usando fluorescentes:

En esta sección se analiza el desempeño del algoritmo propuesto en forma comparativa con los resultados obtenidos anteriormente con la variación de la distancia al objetivo de 100 a 400 cm, variación en el tamaño de la ventana w de 2 a 7 píxeles y la aplicación del suavizado a la imagen b de 0 a 6 veces.

En la figura 31 se observa que el mejor desempeño promedio se obtuvo para (w,b)=(2,1),(5,1) tamaño de la ventana y suavizado de la imagen respectivamente, con un resultado para 21 de 94% y para 51 de 93%.

Figura 30 Comparativo algoritmo propuesto de 100cm a 400cm 0% 20% 40% 60% 80% 100% 2 0 2 1 2 2 2 3 2 4 2 5 2 6 4 0 3 1 3 2 3 3 3 4 3 5 3 6 4 0 4 1 4 2 4 3 4 4 4 5 4 6 5 0 5 1 5 2 5 3 5 4 5 5 5 6 6 0 6 1 6 2 6 3 6 4 7 0 7 1 7 2 7 3

Algoritmo propuesto, objeto a 400 cm +-28 (7%)

Sin filtro

[image:39.612.85.533.469.680.2]
(40)

40

Basado en estos resultados se plantearon las siguientes pruebas evaluando el algoritmo propuesto bajo estas dos condiciones (w,b)=(2,1) y (w,b)=(5,1)

En la figura 31 se ve claramente como empieza a disminuir el desempeño del algoritmo a medida que la distancia aumenta, lo cual era un resultado esperado de acuerdo a lo planteado en el marco teórico, donde la precisión de este tipo de algoritmos es inversamente proporcional a la distancia.

Prueba B2. objeto a 220 cm con luces profesionales (SBL220XXNNN)

Figura 31 objeto a 220 cms con luces profesionales (SBL220XXNNN)

[image:40.612.79.525.477.658.2]

En esta prueba se tomaron 100 cuadros a un objeto ubicado a 220 cm al sistema de cámaras ver figura 33, a cada imagen se le extrajeron 20 puntos de interés, para controlar las condiciones de iluminación se utilizaron luces profesionales para grabar el video.

Figura 32 Comparativo algoritmo propuesto con iluminación fluorescente y luces profesionales 0 100 200 300 400 500 600 700 800 900 21 0 21 1 21 2 21 3 21 4 21 5 21 6 21 7 21 8 21 9 22 0 22 1 22 2 22 3 22 4 22 5 22 6 22 7 22 8 22 9 23 0

Comparativo con Iluminacion fluoerescente y Luz profesional

Iluminacion Luz Pro

(41)

41

Como se aprecia en la figura 33 la diferencia entre las diferentes clase de iluminaciones no es representativo para los resultados, en este se evalúa con el algoritmo propuesto usando ventana de 5 y suavizado 1 (51).

Estos resultados son debido a que el ruido propio del sistema de cámaras, genera que algunos puntos no sean estables en el transcurso del tiempo, así se controlen la condiciones de iluminación.

[image:41.612.87.526.233.341.2]

Prueba objeto rotado 45 grados respecto a las cámaras

Figura 33 Imagen Objeto a 45º, puntos Harris, puntos emparejados, reconstrucción 3D

(42)

42

Prueba para el algoritmo propuesto y SURF, objeto a 100 cm y 220 cm

[image:42.612.86.531.200.399.2]

En esta prueba se toman hasta 50 puntos para el algoritmo propuesto, y para SURF se deja sin modificación del algoritmo original implementado en OpenCV.

Figura 34 Distribución de Puntos SURF y Algoritmo Propuesto

En los resultados de esta prueba se obtienen una desviación estándar para SURF de 30.83 y de 32.10 para el propuesto con los centros ubicados en 100.89 cm, y 105.71 cm respectivamente.

La cantidad de puntos obtenidos en SURF es de 5291 y para el propuesto es de 3760, teniendo en cuenta que con el filtro en el tiempo, se filtraron 1219 adicionales, teniendo un total de 4979 puntos evaluados.

De los resultados obtenidos también podemos extraer que el total de puntos con un error de +/- 5cm para cada uno de los algoritmos es de 4786 puntos para SURF y 3471 para el propuesto, lo que equivale al 90% y 92% respectivamente, ver figura 36.

En la segunda prueba a 220cm se obtuvo una desviación estándar de 12.60 para SURF y de 3.67 para el algoritmo propuesto, con centros ubicados en 218.45 y 219.87 respectivamente. La distribución de normalizada de los puntos se puede ver en la figura 37.

0 500 1000 1500 2000

85 87 89 91 93 95 97 99 101 103 105 107 109 111

N

u

m

.

d

e

p

u

n

to

s

Medida en Centimetros

Distribucion de puntos

SURF

(43)
[image:43.612.85.553.121.313.2]

43

Figura 35 Distribución Normalizada SURF y Propuesto a 220cm

Prueba usando la base de datos Middleburg

Figura 36 Imagen sawtooth, izquierda puntos Harris, Derecha puntos emparejados Azules

En esta prueba se observa que el emparejamiento es realizado completo sobre los 20 puntos de Harris encontrados, ver figura 37 y figura 38. La comparación de estos se hace en forma manual.

En este caso no se puede comparar distancia ya que no se conoce la distancia entre las cámaras. 0% 20% 40% 60% 80% 100% 19 9 20 1 20 3 20 5 20 7 20 9 21 1 21 3 21 5 21 7 21 9 22 1 22 3 22 5 22 7 22 9 23 1 23 3 23 5 23 7 23 9

Comparativo normalizado a 220 cm

[image:43.612.86.393.423.557.2]
(44)
[image:44.612.93.399.104.240.2]

44

Figura 37 Imagen Venus, izquierda puntos de Harris, Derecha emparejados Azules

[image:44.612.87.500.299.451.2]

Prueba del algoritmo propuesto sobre el pasillo

Figura 38 Imagen derecha e izquierda pasillo, derecha con medidas en cm.

En esta prueba se usó la configuración w=2,5 y b=1, es decir ventana del descriptor 2*w=4 y suavizado de la imagen 1. El sistema de cámaras se encuentra a una distancia 225cm de los puntos 6,0 ,11 en la figura 39, y al punto 8 y 19 a una distancia de 321cm. las medidas como se ven en la figura 39 dadas por el programa son de 217cm y 309cm, ver Tabla 2, teniendo como base que el error es del +/- 5%, quiere decir que las medidas están en el intervalo de la media obtenida en las pruebas anteriores, inclusive para medidas superiores a los 400cm como el punto 12 a 700cm.

MEDIDAS DE LOS PUNTOS EN EL PASILLO

PUNTOS Medida Real Alg. Propuesto

6,0,11 225 217

8,19 321 309

16 440 419

12 700 734

[image:44.612.83.335.593.687.2]

Figure

Figura 4 Configuración canónica de un sistema estéreo
Figura 5 Correlación4
Figura 6 Configuración de un sistema de visión
Figura 9 (b) y 9(c).
+7

Referencias

Documento similar

The notified body that issued the AIMDD or MDD certificate may confirm in writing (after having reviewed manufacturer’s description of the (proposed) change) that the

En estos últimos años, he tenido el privilegio, durante varias prolongadas visitas al extranjero, de hacer investigaciones sobre el teatro, y muchas veces he tenido la ocasión

que hasta que llegue el tiempo en que su regia planta ; | pise el hispano suelo... que hasta que el

Para ello, trabajaremos con una colección de cartas redactadas desde allí, impresa en Évora en 1598 y otros documentos jesuitas: el Sumario de las cosas de Japón (1583),

Entre nosotros anda un escritor de cosas de filología, paisano de Costa, que no deja de tener ingenio y garbo; pero cuyas obras tienen de todo menos de ciencia, y aun

E Clamades andaua sienpre sobre el caua- 11o de madera, y en poco tienpo fue tan lexos, que el no sabia en donde estaña; pero el tomo muy gran esfuergo en si, y pensó yendo assi

Sanz (Universidad Carlos III-IUNE): &#34;El papel de las fuentes de datos en los ranking nacionales de universidades&#34;.. Reuniones científicas 75 Los días 12 y 13 de noviembre

(Banco de España) Mancebo, Pascual (U. de Alicante) Marco, Mariluz (U. de València) Marhuenda, Francisco (U. de Alicante) Marhuenda, Joaquín (U. de Alicante) Marquerie,