18.08.2013 Views

Reconocimiento de Objetos en 3D Utilizando Sensores de Visión y ...

Reconocimiento de Objetos en 3D Utilizando Sensores de Visión y ...

Reconocimiento de Objetos en 3D Utilizando Sensores de Visión y ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Proyecto Final <strong>de</strong> Carrera<br />

Ing<strong>en</strong>iería <strong>en</strong> Informática<br />

Curso 2011-2012<br />

<strong>Reconocimi<strong>en</strong>to</strong> <strong>de</strong> <strong>Objetos</strong> <strong>en</strong> <strong>3D</strong> <strong>Utilizando</strong><br />

S<strong>en</strong>sores <strong>de</strong> <strong>Visión</strong> y Profundidad<br />

<strong>de</strong> Bajo Coste<br />

David Bu<strong>en</strong>o Monge<br />

Mayo <strong>de</strong> 2012<br />

Directora: Ana Cristina Murillo Arnal<br />

Departam<strong>en</strong>to <strong>de</strong> Informática e Ing<strong>en</strong>iería <strong>de</strong> Sistemas<br />

Escuela <strong>de</strong> Ing<strong>en</strong>iería y Arquitectura<br />

Universidad <strong>de</strong> Zaragoza


<strong>Reconocimi<strong>en</strong>to</strong> <strong>de</strong> <strong>Objetos</strong> <strong>en</strong> <strong>3D</strong> <strong>Utilizando</strong><br />

S<strong>en</strong>sores <strong>de</strong> <strong>Visión</strong> y Profundidad<br />

<strong>de</strong> Bajo Coste<br />

RESUMEN<br />

La visión por computador ti<strong>en</strong>e <strong>en</strong> nuestros días multitud <strong>de</strong> aplicaciones: <strong>de</strong>s<strong>de</strong><br />

<strong>en</strong>tornos industriales, con sistemas <strong>de</strong> control <strong>de</strong> calidad y monitorización, a <strong>en</strong>tornos<br />

domésticos, como aplicaciones <strong>en</strong> vi<strong>de</strong>ojuegos, seguridad u otras más reci<strong>en</strong>tes como coches<br />

autónomos.<br />

El pres<strong>en</strong>te proyecto se c<strong>en</strong>tra <strong>en</strong> el reconocimi<strong>en</strong>to <strong>de</strong> objetos <strong>en</strong> <strong>en</strong>tornos domésticos,<br />

y <strong>en</strong> particular t<strong>en</strong>i<strong>en</strong>do <strong>en</strong> m<strong>en</strong>te sistemas robóticos <strong>de</strong> servicio <strong>en</strong> estos <strong>en</strong>tornos. Este<br />

campo <strong>de</strong> investigación ti<strong>en</strong>e actualm<strong>en</strong>te nuevos retos gracias a la reci<strong>en</strong>te aparición <strong>de</strong><br />

s<strong>en</strong>sores <strong>de</strong> visión capaces <strong>de</strong> medir la profundidad a que están los objetos <strong>de</strong> la imag<strong>en</strong>,<br />

lo que supone un gran cambio <strong>de</strong> concepto respecto a los métodos basados <strong>en</strong> imág<strong>en</strong>es<br />

conv<strong>en</strong>cionales. Estos s<strong>en</strong>sores se conoc<strong>en</strong> como RGB-<strong>de</strong>pth o RGB-d.<br />

El objetivo <strong>de</strong> este proyecto ha sido diseñar e implem<strong>en</strong>tar un sistema <strong>de</strong> reconocimi<strong>en</strong>to<br />

<strong>de</strong> objetos basado <strong>en</strong> la información <strong>3D</strong> que son capaces <strong>de</strong> obt<strong>en</strong>er estos nuevos s<strong>en</strong>sores,<br />

para así comprobar las v<strong>en</strong>tajas que ofrec<strong>en</strong> fr<strong>en</strong>te a las técnicas más conv<strong>en</strong>cionales.<br />

Para ello ha sido necesario un estudio <strong>de</strong> literatura relacionada con el problema, diseñar<br />

e implem<strong>en</strong>tar un sistema conv<strong>en</strong>cional <strong>de</strong> reconocimi<strong>en</strong>to y evaluarlo, para po<strong>de</strong>r <strong>en</strong>contrar<br />

las principales v<strong>en</strong>tajas e inconv<strong>en</strong>i<strong>en</strong>tes que ofrec<strong>en</strong> las técnicas 2D. Después y<br />

como parte c<strong>en</strong>tral <strong>de</strong>l proyecto, diseñar e implem<strong>en</strong>tar un sistema <strong>de</strong> reconocimi<strong>en</strong>to que<br />

mezcla técnicas 2D y <strong>3D</strong> y evaluarlo para comprobar cuales son las principales v<strong>en</strong>tajas<br />

que ofrece la tecnología <strong>3D</strong>.<br />

Todo este trabajo ha implicado el estudio <strong>de</strong> diversas técnicas <strong>de</strong> manejo <strong>de</strong> la información<br />

cont<strong>en</strong>ida <strong>en</strong> las imág<strong>en</strong>es, como la repres<strong>en</strong>tación <strong>de</strong> la información <strong>en</strong> nubes <strong>de</strong><br />

puntos o el uso <strong>de</strong> <strong>de</strong>scriptores VFH, ORB, SURF, e histogramas <strong>de</strong> color. Se han estudiado<br />

varios algoritmos y medidas <strong>de</strong> similitud <strong>en</strong>tre dichos <strong>de</strong>scriptores, como el algoritmo<br />

<strong>de</strong> búsqueda <strong>de</strong>l vecino más cercano o la repres<strong>en</strong>tación <strong>de</strong> los <strong>de</strong>scriptores <strong>en</strong> vocabularios<br />

<strong>de</strong> palabras visuales. También se estudiaron procesos <strong>de</strong> segm<strong>en</strong>tación <strong>de</strong> imág<strong>en</strong>es<br />

basados <strong>en</strong> información <strong>3D</strong> y métodos <strong>de</strong> apr<strong>en</strong>dizaje y reconocimi<strong>en</strong>to que permitan<br />

i<strong>de</strong>ntificar los objetos.<br />

Se ha <strong>de</strong>sarrollado un sistema <strong>de</strong> reconocimi<strong>en</strong>to que arroja unos resultados satisfactorios<br />

y <strong>de</strong> bajo coste <strong>de</strong> cómputo. Este sistema evi<strong>de</strong>ncia las mejoras que aportan las<br />

técnicas <strong>3D</strong> fr<strong>en</strong>te a las conv<strong>en</strong>cionales. Por último, el sistema <strong>de</strong>sarrollado se compara<br />

con otro sistema <strong>de</strong> características similares, don<strong>de</strong> se observa que el sistema <strong>de</strong>sarrollado<br />

alcanza un bu<strong>en</strong> r<strong>en</strong>dimi<strong>en</strong>to respecto a métodos reci<strong>en</strong>tes publicados <strong>en</strong> la literatura<br />

relacionada.<br />

III


Índice<br />

1. Introducción 1<br />

1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1<br />

1.2. Objetivos y alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2<br />

1.3. Herrami<strong>en</strong>tas y <strong>en</strong>torno <strong>de</strong> trabajo . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.4. Organización <strong>de</strong> la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 5<br />

2.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

2.2. Repres<strong>en</strong>tación <strong>de</strong> las imág<strong>en</strong>es . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

2.2.1. Descriptores locales . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

2.2.2. Descriptores globales . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2.3. Algoritmos <strong>de</strong> similitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8<br />

2.3.1. Búsqueda <strong>de</strong>l vecino más cercano . . . . . . . . . . . . . . . . . . . 9<br />

2.3.2. Bolsa <strong>de</strong> palabras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

2.4. Experim<strong>en</strong>tos y <strong>de</strong>cisiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

3. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> <strong>3D</strong> 17<br />

3.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17<br />

3.2. Repres<strong>en</strong>tación <strong>de</strong> la información . . . . . . . . . . . . . . . . . . . . . . . 18<br />

3.3. Segm<strong>en</strong>tación <strong>de</strong> la esc<strong>en</strong>a . . . . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

3.3.1. Eliminación <strong>de</strong> planos <strong>de</strong> fondo . . . . . . . . . . . . . . . . . . . . 20<br />

3.3.2. Clusterización <strong>de</strong> objetos . . . . . . . . . . . . . . . . . . . . . . . . 20<br />

3.4. Descriptores <strong>de</strong> información <strong>3D</strong> . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 25<br />

4.1. Creación <strong>de</strong>l mo<strong>de</strong>lo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

4.2. Funcionami<strong>en</strong>to <strong>de</strong>l sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

4.2.1. Selección y evaluación <strong>de</strong> los objetos candidatos . . . . . . . . . . . 29<br />

4.3. R<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

5. Conclusiones y trabajo futuro 35<br />

5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

5.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

A. El dispositivo Kinect 39<br />

B. Gestión <strong>de</strong>l proyecto 41<br />

V


ÍNDICE ÍNDICE<br />

C. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to 2D 43<br />

C.0.1. Experim<strong>en</strong>tos con el algoritmo <strong>de</strong> búsqueda <strong>de</strong> vecino más cercano . 43<br />

C.0.2. Experim<strong>en</strong>tos utilizando bolsa <strong>de</strong> palabras . . . . . . . . . . . . . . 45<br />

D. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>3D</strong> 49<br />

E. Diagrama <strong>de</strong> módulos <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to 53<br />

F. Información <strong>de</strong> los objetos <strong>de</strong> la base <strong>de</strong> datos 55<br />

VI


1. Introducción<br />

Este capítulo <strong>de</strong>scribe la motivación que ha llevado al <strong>de</strong>sarrollo <strong>de</strong> este proyecto y<br />

los objetivos y el alcance <strong>de</strong>l mismo. Así mismo, <strong>de</strong>scribe las herrami<strong>en</strong>tas utilizadas y el<br />

<strong>en</strong>torno <strong>de</strong> trabajo, y finalm<strong>en</strong>te incluye una <strong>de</strong>scripción <strong>de</strong> la organización <strong>de</strong> la memoria.<br />

1.1. Motivación<br />

De todas las tareas <strong>de</strong> visión artificial, analizar una esc<strong>en</strong>a reconoci<strong>en</strong>do todos los<br />

objetos que aparec<strong>en</strong> <strong>en</strong> ella sigue si<strong>en</strong>do una <strong>de</strong> las más complejas. Mi<strong>en</strong>tras que la<br />

tecnología ha avanzado hasta po<strong>de</strong>r reconstruir <strong>de</strong> manera precisa esc<strong>en</strong>as <strong>3D</strong>, a partir<br />

<strong>de</strong> imág<strong>en</strong>es 2D o más reci<strong>en</strong>tem<strong>en</strong>te gracias a nuevos s<strong>en</strong>sores con capacidad para medir<br />

la profundidad, todavía no es fácil apr<strong>en</strong><strong>de</strong>r a <strong>de</strong>tectar y reconocer todos los objetos<br />

pres<strong>en</strong>tes <strong>en</strong> una foto. Ni siquiera hay un cons<strong>en</strong>so <strong>en</strong>tre los investigadores sobre cuando<br />

se podría alcanzar el nivel <strong>de</strong> apr<strong>en</strong>dizaje visual <strong>de</strong> un niño.<br />

Es precisam<strong>en</strong>te el reconocimi<strong>en</strong>to <strong>de</strong> objetos el tema g<strong>en</strong>eral <strong>de</strong> este proyecto. La<br />

visión por computador ha visto mejoras espectaculares <strong>en</strong> los últimos años y sigue si<strong>en</strong>do<br />

un área <strong>de</strong> investigación <strong>en</strong> expansión. Este trabajo también ti<strong>en</strong>e cierta relación con el<br />

campo <strong>de</strong> la robótica, para permitir que un sistema intelig<strong>en</strong>te se <strong>de</strong>s<strong>en</strong>vuelva <strong>de</strong> manera lo<br />

más autónoma posible hay que proveerle <strong>de</strong> capacida<strong>de</strong>s para i<strong>de</strong>ntificar objetos y ev<strong>en</strong>tos<br />

a su alre<strong>de</strong>dor <strong>en</strong> situaciones realistas, con los que t<strong>en</strong>drá que interactuar.<br />

La incorporación <strong>de</strong> un sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> objetos fiable a un robot pue<strong>de</strong><br />

multiplicar la cantidad <strong>de</strong> tareas que dicho robot pue<strong>de</strong> realizar. Considérese por ejemplo<br />

un robot doméstico que pueda reconocer los objetos comunes que puedan <strong>en</strong>contrarse <strong>en</strong><br />

una casa, y por tanto tomar <strong>de</strong>cisiones <strong>de</strong> acuerdo con la naturaleza <strong>de</strong> dichos objetos.<br />

Reci<strong>en</strong>tem<strong>en</strong>te, gracias a la comercialización <strong>de</strong> dispositivos <strong>de</strong> bajo coste que<br />

incorporan cámaras y s<strong>en</strong>sores <strong>de</strong> profundidad, también <strong>de</strong>nominados cámaras RGB-d,<br />

están surgi<strong>en</strong>do muchas oportunida<strong>de</strong>s y temas <strong>de</strong> investigación nuevos. Como se pue<strong>de</strong><br />

ver <strong>en</strong> la Figura 1.1, la información que aporta una <strong>de</strong> estas cámaras ayuda <strong>en</strong> problemas<br />

irresolubles con una sola imag<strong>en</strong>. Estos dispositivos ofrec<strong>en</strong> multitud <strong>de</strong> aplicaciones y<br />

capacidad <strong>de</strong> mejora respecto a los sistemas que trabajan con cámaras sin percepción<br />

<strong>de</strong> profundidad. Concretam<strong>en</strong>te, este proyecto se ha realizado con el dispositivo kinect 1 ,<br />

una cámara RGB-d <strong>de</strong>sarrollada por Microsoft y <strong>de</strong> reci<strong>en</strong>te comercialización. Para más<br />

información sobre el dispositivo véase el anexo A.<br />

1 http://www.xbox.com/es-ES/kinect<br />

1


1. Introducción 1.2 Objetivos y alcance<br />

Figura 1.1: ¿Es una naranja o la foto <strong>de</strong> una naranja? A la <strong>de</strong>recha se muestra una imag<strong>en</strong> <strong>de</strong> color<br />

normal, tomada por una cámara corri<strong>en</strong>te, y a la izquierda el mapa <strong>de</strong> profundidad <strong>de</strong> la misma imag<strong>en</strong><br />

que pue<strong>de</strong>n aportar las cámaras RGB-d. Estas cámaras nos permit<strong>en</strong> distinguir que la naranja <strong>de</strong> la<br />

<strong>de</strong>recha es <strong>en</strong> realidad la foto <strong>de</strong> una naranja.<br />

1.2. Objetivos y alcance<br />

El objetivo principal <strong>de</strong>l proyecto es diseñar e implem<strong>en</strong>tar un sistema <strong>de</strong> reconocimi<strong>en</strong>to<br />

<strong>de</strong> objetos utilizando técnicas <strong>3D</strong> don<strong>de</strong> se <strong>de</strong>muestre el b<strong>en</strong>eficio <strong>de</strong> aplicar dichas<br />

técnicas respecto a sistemas <strong>de</strong> reconocimi<strong>en</strong>to conv<strong>en</strong>cionales. El sistema <strong>de</strong>berá apr<strong>en</strong><strong>de</strong>r<br />

un mo<strong>de</strong>lo visual <strong>de</strong> cualquier objeto a partir <strong>de</strong> unas pocas imág<strong>en</strong>es que luego<br />

podrá ser utilizado para i<strong>de</strong>ntificar dicho objeto <strong>en</strong> otras imág<strong>en</strong>es. La clave residirá <strong>en</strong><br />

cómo aprovechar e integrar la información <strong>de</strong> profundidad que el s<strong>en</strong>sor ofrece para lograr<br />

mejores resultados que los que se lograrían con una cámara conv<strong>en</strong>cional.<br />

Las tareas a realizar para cumplir los objetivos son las sigui<strong>en</strong>tes.<br />

Estudio <strong>de</strong> docum<strong>en</strong>tación sobre los sigui<strong>en</strong>tes temas<br />

• Controladores y librerías <strong>de</strong>l dispositivo kinect.<br />

• Librerías para trabajar con algoritmos <strong>de</strong> <strong>de</strong> procesami<strong>en</strong>to <strong>de</strong> imag<strong>en</strong> y visión<br />

por computador.<br />

• Artículos <strong>de</strong> investigación sobre técnicas típicas <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> objetos.<br />

• Artículos <strong>de</strong> investigación sobre propuestas para reconocimi<strong>en</strong>to <strong>de</strong> objetos<br />

utilizando información <strong>3D</strong><br />

Diseño e implem<strong>en</strong>tación <strong>de</strong> un sistema <strong>de</strong> apr<strong>en</strong>dizaje <strong>de</strong> mo<strong>de</strong>los y reconocimi<strong>en</strong>to<br />

básico que solo utilice información 2D.<br />

Evaluación <strong>de</strong>l sistema inicial para <strong>en</strong>contrar los puntos débiles y fuertes <strong>de</strong>l<br />

reconocimi<strong>en</strong>to 2D.<br />

Diseñar e implem<strong>en</strong>tar un sistema <strong>de</strong> reconocimi<strong>en</strong>to que utilice técnicas <strong>3D</strong> y<br />

aproveche las virtu<strong>de</strong>s <strong>de</strong>l reconocimi<strong>en</strong>to 2D.<br />

Evaluar el sistema final y <strong>en</strong>contrar las principales mejoras que ofrece la aplicación<br />

<strong>de</strong> técnicas <strong>3D</strong>.<br />

Comparar el sistema <strong>de</strong>sarrollado con otros métodos <strong>de</strong> la literatura relacionada.<br />

2


1. Introducción 1.3 Herrami<strong>en</strong>tas y <strong>en</strong>torno <strong>de</strong> trabajo<br />

1.3. Herrami<strong>en</strong>tas y <strong>en</strong>torno <strong>de</strong> trabajo<br />

Todo el <strong>de</strong>sarrollo <strong>de</strong>l proyecto se ha llevado a cabo bajo el sistema operativo<br />

Kubuntu 11.04 Natty 2 y se ha implem<strong>en</strong>tado utilizando el l<strong>en</strong>guaje C++.<br />

Para el manejo <strong>de</strong>l s<strong>en</strong>sor kinect se ha utilizado el driver Op<strong>en</strong>Kinect 3 para la primera<br />

versión <strong>de</strong>l sistema que solo utiliza técnicas 2D, pues es muy s<strong>en</strong>cillo <strong>de</strong> utilizar. Sin<br />

embargo, para el <strong>de</strong>sarrollo <strong>de</strong>l sistema final, se trabajó con el driver Op<strong>en</strong>NI 4 ya que es<br />

mucho más pot<strong>en</strong>te y ofrece mayor funcionalidad.<br />

Durante todo el proyecto se ha hecho uso <strong>de</strong> las librerías <strong>de</strong> visión por computador<br />

Op<strong>en</strong>CV 5 para procesami<strong>en</strong>to <strong>de</strong> imág<strong>en</strong>es y técnicas <strong>de</strong> reconocimi<strong>en</strong>to 2D. Para el<br />

manejo <strong>de</strong> la información <strong>3D</strong> y el uso <strong>de</strong> técnicas <strong>de</strong> segm<strong>en</strong>tación y reconocimi<strong>en</strong>to<br />

<strong>3D</strong> se ha empleado la novedosa librería PCL (Point Cloud Library)[1]. Por último, para<br />

manejar kd-trees[9] y realizar búsquedas sobre ellos se ha utilizado la librería FLANN<br />

(Fast Approximate Nearest Neighbours)[2].<br />

1.4. Organización <strong>de</strong> la memoria<br />

En el capítulo 2 se <strong>de</strong>tallan los métodos estudiados y empleados para construir el<br />

sistema inicial <strong>de</strong> reconocimi<strong>en</strong>to basado <strong>en</strong> técnicas 2D. También aparece la evaluación<br />

<strong>de</strong> dicho sistema y las <strong>de</strong>cisiones que se tomaron a raíz <strong>de</strong> dicha evaluación. En el capítulo<br />

3 se muestran todas las técnicas <strong>3D</strong> estudiadas y que posteriorm<strong>en</strong>te se utilizaron para<br />

construir el sistema <strong>de</strong> reconocimi<strong>en</strong>to final. En el capítulo 4 se <strong>de</strong>talla el funcionami<strong>en</strong>to<br />

y el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema <strong>de</strong>sarrollado, mi<strong>en</strong>tras que <strong>en</strong> el capítulo 5 se <strong>de</strong>scrib<strong>en</strong> las<br />

conclusiones extraídas <strong>de</strong> la elaboración <strong>de</strong>l proyecto.<br />

El docum<strong>en</strong>to también consta <strong>de</strong> varios anexos que <strong>de</strong>tallan información adicional<br />

sobre el proyecto. El Anexo A <strong>de</strong>scribe el s<strong>en</strong>sor kinect. El Anexo B muestra la gestión<br />

que se ha seguido para elaborar el proyecto, junto a un diagrama <strong>de</strong> Gantt que <strong>de</strong>talla el<br />

tiempo <strong>de</strong>dicado a cada tarea. El Anexo C <strong>de</strong>scribe todos los experim<strong>en</strong>tos llevados a cabo<br />

para evaluar el sistema <strong>de</strong> reconocimi<strong>en</strong>to inicial implem<strong>en</strong>tado, mi<strong>en</strong>tras que <strong>en</strong> el Anexo<br />

D se expon<strong>en</strong> todos los experim<strong>en</strong>tos realizados sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to final.<br />

En el Anexo E aparece una <strong>de</strong>scripción <strong>de</strong> los módulos que forman el sistema <strong>de</strong>sarrollado.<br />

Finalm<strong>en</strong>te, <strong>en</strong> el Anexo F aparece información <strong>de</strong> los objetos que se han utilizado como<br />

mo<strong>de</strong>los para la base <strong>de</strong> datos <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to.<br />

2 http://www.kubuntu.org<br />

3 http://op<strong>en</strong>kinect.org/wikiMain Page<br />

4 http://op<strong>en</strong>ni.org<br />

5 http://op<strong>en</strong>cv.willowgarage.com/wiki<br />

3


2. <strong>Reconocimi<strong>en</strong>to</strong> <strong>de</strong> objetos con información<br />

2D<br />

2.1. Introducción<br />

Como paso previo al reconocimi<strong>en</strong>to con cámaras RGB-d, este proyecto estudia las<br />

técnicas <strong>en</strong> reconocimi<strong>en</strong>to basado solo <strong>en</strong> visión, es <strong>de</strong>cir, toda la información con la que<br />

se cu<strong>en</strong>ta provi<strong>en</strong>e <strong>de</strong> las fotos que una cámara conv<strong>en</strong>cional pueda tomar. En este contexto<br />

se han <strong>de</strong>sarrollado multitud <strong>de</strong> técnicas que int<strong>en</strong>tan resolver el problema, muchas <strong>de</strong> las<br />

cuales pue<strong>de</strong>n <strong>en</strong>contrarse <strong>en</strong> [3]. Estos trabajos son el punto <strong>de</strong> partida sobre el cual se<br />

aplicarán las mejoras que aportan las técnicas <strong>3D</strong>.<br />

En este capítulo se van a pres<strong>en</strong>tar algunas <strong>de</strong> las citadas técnicas que se han estudiado,<br />

por ser <strong>de</strong> uso ext<strong>en</strong>dido o por su reci<strong>en</strong>te aparición. Todas estas técnicas compart<strong>en</strong> una<br />

estructura similar que se resume <strong>en</strong> la Figura 2.1. La <strong>en</strong>trada al sistema correspon<strong>de</strong><br />

con una imag<strong>en</strong> que conti<strong>en</strong>e los objetos a reconocer, se extra<strong>en</strong> características <strong>de</strong> dicha<br />

imag<strong>en</strong> que luego son comparadas con las características <strong>de</strong> las imág<strong>en</strong>es almac<strong>en</strong>adas <strong>en</strong><br />

una base <strong>de</strong> datos y finalm<strong>en</strong>te, según que imág<strong>en</strong>es <strong>de</strong> refer<strong>en</strong>cia t<strong>en</strong>gan características<br />

más similares se estima que objetos aparec<strong>en</strong> <strong>en</strong> la imag<strong>en</strong>.<br />

Figura 2.1: La imag<strong>en</strong> <strong>de</strong> <strong>en</strong>trada al sistema se procesa para extraer sus característica <strong>de</strong>scriptivas,<br />

posteriorm<strong>en</strong>te se busca <strong>en</strong> la base <strong>de</strong> datos la imag<strong>en</strong> con las características más similares y se propone<br />

dicha imag<strong>en</strong> como el objeto reconocido.<br />

En las sigui<strong>en</strong>tes secciones se resume por tanto como repres<strong>en</strong>tar las imág<strong>en</strong>es y como<br />

utilizar dicha repres<strong>en</strong>tación para evaluar la similitud <strong>en</strong>tre imág<strong>en</strong>es. Finalm<strong>en</strong>te se<br />

muestra la evaluación que se ha llevado a cabo <strong>de</strong> dichos métodos y que <strong>de</strong>cisiones se<br />

han tomado a raíz <strong>de</strong> dicha evaluación.<br />

5


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.2 Repres<strong>en</strong>tación <strong>de</strong> las imág<strong>en</strong>es<br />

2.2. Repres<strong>en</strong>tación <strong>de</strong> las imág<strong>en</strong>es<br />

El primer paso a tomar <strong>en</strong> un problema <strong>de</strong> procesami<strong>en</strong>to <strong>de</strong> imág<strong>en</strong>es es el <strong>de</strong> <strong>de</strong>cidir<br />

cuál será la repres<strong>en</strong>tación <strong>de</strong> la información <strong>de</strong> la imag<strong>en</strong>. En la mayoría <strong>de</strong> los casos<br />

no es conv<strong>en</strong>i<strong>en</strong>te trabajar con la información <strong>en</strong> crudo <strong>de</strong> cada píxel <strong>de</strong> la imag<strong>en</strong>,<br />

sino que se realiza un procesami<strong>en</strong>to para obt<strong>en</strong>er <strong>de</strong>scriptores más complejos que sean<br />

repres<strong>en</strong>tativos <strong>de</strong> la imag<strong>en</strong>. Estos <strong>de</strong>scriptores pue<strong>de</strong>n ser <strong>de</strong> distinta naturaleza, aunque<br />

pue<strong>de</strong>n dividirse <strong>en</strong> dos categorías.<br />

2.2.1. Descriptores locales<br />

En este caso, la imag<strong>en</strong> se repres<strong>en</strong>ta por un conjunto <strong>de</strong> <strong>de</strong>scriptores que capturan<br />

las partes más repres<strong>en</strong>tativas <strong>de</strong> la imag<strong>en</strong>. Las zonas <strong>de</strong> la imag<strong>en</strong> <strong>en</strong> las que se<br />

calculan dichos <strong>de</strong>scriptores vi<strong>en</strong><strong>en</strong> <strong>de</strong>terminadas mediante distintos procesos heurísticos,<br />

<strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong>l <strong>de</strong>scriptor calculado. Exist<strong>en</strong> multitud <strong>de</strong> <strong>de</strong>scriptores <strong>de</strong> esta naturaleza,<br />

aunque con filosofías muy difer<strong>en</strong>tes. Por ejemplo, los hay basados <strong>en</strong> esquinas, contornos,<br />

gradi<strong>en</strong>tes. . . Su principal v<strong>en</strong>taja es su alta capacidad repres<strong>en</strong>tativa, es <strong>de</strong>cir, el conjunto<br />

<strong>de</strong> los <strong>de</strong>scriptores locales que <strong>de</strong>scrib<strong>en</strong> a la imag<strong>en</strong>, realm<strong>en</strong>te consigu<strong>en</strong> capturar las<br />

zonas más repres<strong>en</strong>tativas a un nivel <strong>de</strong> <strong>de</strong>talle sufici<strong>en</strong>te para po<strong>de</strong>r tratar el problema <strong>de</strong>l<br />

reconocimi<strong>en</strong>to <strong>de</strong> objetos. Por otra parte, estos <strong>de</strong>scriptores suel<strong>en</strong> ser bastante costosos<br />

<strong>de</strong> calcular, las operaciones para comparar su similitud son pesadas y es necesaria más<br />

cantidad <strong>de</strong> memoria para almac<strong>en</strong>arlos. Se han estudiado dos alternativas <strong>de</strong> <strong>de</strong>scriptores<br />

locales.<br />

Descriptores ORB<br />

Los <strong>de</strong>scriptores ORB (Ori<strong>en</strong>ted FAST and Rotated BRIEF ) [4] se han estudiado<br />

por ser una alternativa reci<strong>en</strong>te a otros <strong>de</strong>scriptores <strong>de</strong> uso más ext<strong>en</strong>dido. Como<br />

su propio nombre indica, los <strong>de</strong>scriptores ORB están basados <strong>en</strong> otros métodos<br />

anteriores, como el <strong>de</strong>tector <strong>de</strong> puntos <strong>de</strong> interés FAST [5] y los <strong>de</strong>scriptores BRIEF<br />

[6]. La i<strong>de</strong>a <strong>de</strong> estos <strong>de</strong>scriptores es combinar la rapi<strong>de</strong>z <strong>de</strong>l <strong>de</strong>tector <strong>de</strong> puntos <strong>de</strong><br />

interés FAST con las propieda<strong>de</strong>s que aporta el reci<strong>en</strong>tem<strong>en</strong>te <strong>de</strong>sarrollado <strong>de</strong>scriptor<br />

BRIEF, consigui<strong>en</strong>do así un <strong>de</strong>scriptor rápido <strong>de</strong> calcular y que pres<strong>en</strong>ta un bu<strong>en</strong><br />

r<strong>en</strong>dimi<strong>en</strong>to. A<strong>de</strong>más, el tamaño <strong>de</strong>l <strong>de</strong>scriptor es reducido, lo que ayuda a mitigar<br />

el problema <strong>de</strong> memoria que arrastran los <strong>de</strong>scriptores locales. El problema que<br />

pres<strong>en</strong>ta este <strong>de</strong>scriptor, así como todos los basados <strong>en</strong> cálculos <strong>de</strong> gradi<strong>en</strong>te, es que<br />

aplicado al problema <strong>de</strong>l reconocimi<strong>en</strong>to <strong>de</strong> objetos, solo ti<strong>en</strong>e utilidad con objetos<br />

que pres<strong>en</strong>tan una gran cantidad <strong>de</strong> cambios <strong>de</strong>l gradi<strong>en</strong>te <strong>en</strong> sí mismos, los llamados<br />

objetos con textura, ya que <strong>en</strong> caso contrario el algoritmo no <strong>de</strong>tecta puntos clave<br />

o <strong>de</strong> interés don<strong>de</strong> calcular el <strong>de</strong>scriptor.<br />

Descriptores SURF<br />

Los <strong>de</strong>scriptores SURF (Spee<strong>de</strong>d-Up Robust Features) [7] se han estudiado por haber<br />

sido durante años uno <strong>de</strong> los <strong>de</strong>scriptores más utilizados y que mejor r<strong>en</strong>dimi<strong>en</strong>to<br />

han experim<strong>en</strong>tado <strong>en</strong> aplicaciones <strong>de</strong> reconocimi<strong>en</strong>to y <strong>en</strong> g<strong>en</strong>eral <strong>de</strong> visión por<br />

computador. Estos <strong>de</strong>scriptores surg<strong>en</strong> como alternativa a los <strong>de</strong>scriptores SIFT [8],<br />

<strong>de</strong>scriptores muy robustos, invariantes a escala y ori<strong>en</strong>tación, pero a la vez <strong>de</strong>masiado<br />

6


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.2 Repres<strong>en</strong>tación <strong>de</strong> las imág<strong>en</strong>es<br />

complejos como para realizar aplicaciones <strong>de</strong> reconocimi<strong>en</strong>to <strong>en</strong> tiempo real, pues<br />

el cálculo <strong>de</strong> similitud <strong>en</strong>tre <strong>de</strong>scriptores es excesivam<strong>en</strong>te pesado. Así pues, los<br />

<strong>de</strong>scriptores SURF propon<strong>en</strong> una aproximación para mant<strong>en</strong>er la robustez <strong>de</strong> los<br />

<strong>de</strong>scriptores SIFT pero con una mayor efici<strong>en</strong>cia <strong>en</strong> el cálculo y evaluación <strong>de</strong><br />

similitud <strong>de</strong> los <strong>de</strong>scriptores. Sin embargo, los <strong>de</strong>scriptores SURF sufr<strong>en</strong> el mismo<br />

problema que los <strong>de</strong>scriptores ORB, solo son aplicables a objetos con textura. En<br />

la Figura 2.2 pue<strong>de</strong> verse el resultado <strong>de</strong> la extracción <strong>de</strong> puntos SURF <strong>de</strong> un<br />

mismo objeto <strong>en</strong> dos vistas difer<strong>en</strong>tes. Se observa que el reconocimi<strong>en</strong>to mediante<br />

<strong>de</strong>scriptores SURF solo se podrá aplicar a la vista con textura.<br />

Figura 2.2: Se observa la gran difer<strong>en</strong>cia <strong>en</strong>tre la cantidad <strong>de</strong> puntos SURF <strong>en</strong>contrados <strong>en</strong> la figura <strong>de</strong><br />

la izquierda respecto a la <strong>de</strong> la <strong>de</strong>recha, <strong>de</strong>bido a la poca textura <strong>de</strong> la imag<strong>en</strong> <strong>de</strong> la <strong>de</strong>recha.<br />

2.2.2. Descriptores globales<br />

En este caso, un único <strong>de</strong>scriptor repres<strong>en</strong>ta a la imag<strong>en</strong> completa. Estos <strong>de</strong>scriptores<br />

pue<strong>de</strong>n ser histogramas <strong>de</strong> color <strong>de</strong> la imag<strong>en</strong>, nivel <strong>de</strong> gris <strong>de</strong> la imag<strong>en</strong>, histogramas<br />

<strong>de</strong>l gradi<strong>en</strong>te <strong>en</strong>tre píxeles vecinos. . . La principal v<strong>en</strong>taja <strong>de</strong> estos <strong>de</strong>scriptores radica<br />

<strong>en</strong> la rapi<strong>de</strong>z <strong>de</strong> su cálculo y las operaciones que se realizan con ellos, así como la<br />

poca memoria necesaria para almac<strong>en</strong>arlos. Sin embargo, los <strong>de</strong>scriptores globales son<br />

m<strong>en</strong>os repres<strong>en</strong>tativos que los locales, por lo que el r<strong>en</strong>dimi<strong>en</strong>to que ofrec<strong>en</strong> al nivel <strong>de</strong><br />

<strong>de</strong>talle requerido para i<strong>de</strong>ntificar un objeto pue<strong>de</strong> ser <strong>de</strong>masiado bajo. A<strong>de</strong>más, son más<br />

s<strong>en</strong>sibles a los cambios <strong>de</strong> esc<strong>en</strong>a. Como ejemplo <strong>de</strong> <strong>de</strong>scriptor global, se han estudiado<br />

los histogramas <strong>de</strong> color.<br />

Histogramas <strong>de</strong> color<br />

Los histogramas <strong>de</strong> color se han estudiado como una alternativa para el reconocimi<strong>en</strong>to<br />

<strong>en</strong> objetos sin textura, don<strong>de</strong> los <strong>de</strong>scriptores m<strong>en</strong>cionados anteriorm<strong>en</strong>te<br />

carec<strong>en</strong> <strong>de</strong> utilidad.<br />

Exist<strong>en</strong> numerosas alternativas <strong>de</strong> repres<strong>en</strong>tar la información <strong>de</strong>l color, tradicionalm<strong>en</strong>te,<br />

el sistema RGB (Red, Blue, Gre<strong>en</strong>) ha sido el más utilizado, el cual consiste<br />

<strong>en</strong> repres<strong>en</strong>tar el color <strong>de</strong> un <strong>de</strong>terminado píxel como la composición <strong>en</strong> términos <strong>de</strong><br />

la int<strong>en</strong>sidad <strong>de</strong> los colores primarios con que se forma. Sin embargo, este sistema<br />

7


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.3 Algoritmos <strong>de</strong> similitud<br />

es muy s<strong>en</strong>sible a cambios <strong>de</strong> esc<strong>en</strong>a y los histogramas fabricados a partir <strong>de</strong> este<br />

espacio <strong>de</strong> colores son <strong>de</strong> poca utilidad.<br />

Por tanto, hay que <strong>en</strong>contrar otro sistema para repres<strong>en</strong>tar el color, y para la<br />

realización <strong>de</strong> este proyecto, se ha optado por el sistema HSV (Hue, Saturation,<br />

Value - Matiz, Saturación, Valor). Concretam<strong>en</strong>te, solo se ha utilizado el campo Hue<br />

puesto que es este valor el que <strong>de</strong>nota el tono o matiz <strong>de</strong> un color y es relativam<strong>en</strong>te<br />

invariante a cambios <strong>de</strong> esc<strong>en</strong>a, mi<strong>en</strong>tras que los otros valores están relacionados con<br />

la pureza <strong>de</strong> excitación y la iluminación, por lo que son muy s<strong>en</strong>sibles a un cambio<br />

<strong>de</strong> esc<strong>en</strong>a. El matiz, que se repres<strong>en</strong>ta como un ángulo, pue<strong>de</strong> tomar valores <strong>en</strong>tre<br />

0 ◦ y 360 ◦ , por lo que podríamos construir un histograma <strong>de</strong> 360 compon<strong>en</strong>tes. No<br />

obstante, se ha <strong>de</strong>cidido reducir el número <strong>de</strong> compon<strong>en</strong>tes <strong>de</strong>l histograma hasta 16,<br />

evitando así que ligeras variaciones <strong>de</strong>l matiz <strong>de</strong>gra<strong>de</strong>n las medidas <strong>de</strong> similitud. En<br />

la Figura 2.3 se observa unas imág<strong>en</strong>es con sus histogramas asociados.<br />

Figura 2.3: De izquierda a <strong>de</strong>recha, el objeto con su histograma asociado. Pue<strong>de</strong> notarse la gran difer<strong>en</strong>cia<br />

<strong>en</strong>tre los histogramas <strong>de</strong> los dos objetos. El histograma solo pert<strong>en</strong>ece a los píxeles <strong>de</strong>l objeto, sin t<strong>en</strong>er<br />

<strong>en</strong> cu<strong>en</strong>ta el fondo, que <strong>de</strong>berá ser segm<strong>en</strong>tado con anterioridad.<br />

2.3. Algoritmos <strong>de</strong> similitud<br />

Una vez que se ha <strong>de</strong>cidido como va a repres<strong>en</strong>tarse la información <strong>de</strong> las imág<strong>en</strong>es, el<br />

sigui<strong>en</strong>te paso natural es el <strong>de</strong> <strong>de</strong>cidir que medida <strong>de</strong> similitud se va a utilizar. Elegir <strong>de</strong><br />

forma a<strong>de</strong>cuada la medida <strong>de</strong> similitud que mejor se ajuste a las necesida<strong>de</strong>s <strong>de</strong>l problema<br />

es <strong>de</strong> gran importancia, ya que el comportami<strong>en</strong>to <strong>de</strong>l sistema pue<strong>de</strong> variar drásticam<strong>en</strong>te<br />

<strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> la medida utilizada.<br />

8


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.3 Algoritmos <strong>de</strong> similitud<br />

En esta sección se pres<strong>en</strong>tan las distintas técnicas estudiadas, aunque todas ellas<br />

compart<strong>en</strong> una estructura que se resume <strong>en</strong> la Figura 2.4:<br />

1. Fase <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to: El sistema extrae los <strong>de</strong>scriptores <strong>de</strong>seados <strong>de</strong> las<br />

imág<strong>en</strong>es <strong>de</strong> refer<strong>en</strong>cia y los organiza <strong>en</strong> una estructura que facilite una búsqueda<br />

efici<strong>en</strong>te.<br />

2. Fase <strong>de</strong> consulta: Por cada nueva imag<strong>en</strong> a reconocer, el sistema extrae sus<br />

<strong>de</strong>scriptores para luego evaluar la similitud <strong>en</strong> la estructura almac<strong>en</strong>ada, <strong>de</strong>cidi<strong>en</strong>do<br />

así qué imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia es más similar.<br />

Figura 2.4: Algoritmo <strong>de</strong> búsqueda <strong>de</strong> imág<strong>en</strong>es similares <strong>en</strong> una base <strong>de</strong> datos. Se divi<strong>de</strong> <strong>en</strong> dos fases, la<br />

fase <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to y la <strong>de</strong> consulta.<br />

2.3.1. Búsqueda <strong>de</strong>l vecino más cercano<br />

Esta técnica consiste <strong>en</strong> comparar los <strong>de</strong>scriptores <strong>de</strong> la imag<strong>en</strong> <strong>de</strong> test con todos los<br />

<strong>de</strong>scriptores <strong>de</strong> las imág<strong>en</strong>es <strong>de</strong> refer<strong>en</strong>cia, obt<strong>en</strong>i<strong>en</strong>do un número <strong>de</strong> correspon<strong>de</strong>ncias<br />

para cada imag<strong>en</strong>. La imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia con más correspon<strong>de</strong>ncias será consi<strong>de</strong>rada la<br />

más similar. En la Figura 2.5 aparece un esquema <strong>de</strong>l funcionami<strong>en</strong>to <strong>de</strong>l algoritmo.<br />

Se pue<strong>de</strong>n utilizar diversas alternativas como algoritmo <strong>de</strong> búsqueda <strong>en</strong>tre correspon<strong>de</strong>ncias.<br />

Las expuestas a continuación son las estudiadas:<br />

Búsqueda exhaustiva<br />

La versión básica <strong>de</strong>l algoritmo. En la fase <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to simplem<strong>en</strong>te se habrán<br />

almac<strong>en</strong>ado todos los <strong>de</strong>scriptores <strong>de</strong> todas las imág<strong>en</strong>es <strong>de</strong> refer<strong>en</strong>cia. La búsqueda<br />

9


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.3 Algoritmos <strong>de</strong> similitud<br />

Figura 2.5: Algoritmo <strong>de</strong> búsqueda <strong>de</strong>l vecino más cercano. Las características <strong>de</strong> la imag<strong>en</strong> <strong>de</strong> test se<br />

comparan con las características <strong>de</strong> las imág<strong>en</strong>es <strong>de</strong> refer<strong>en</strong>cia, obt<strong>en</strong>i<strong>en</strong>do como resultado aquella imag<strong>en</strong><br />

<strong>de</strong> refer<strong>en</strong>cia don<strong>de</strong> se <strong>en</strong>cu<strong>en</strong>tr<strong>en</strong> más correspon<strong>de</strong>ncias con la imag<strong>en</strong> <strong>de</strong> test.<br />

recorre todos los <strong>de</strong>scriptores <strong>de</strong> cada imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia y las compara con los<br />

<strong>de</strong>scriptores <strong>de</strong> la imag<strong>en</strong> <strong>de</strong> test. Se garantiza que se <strong>en</strong>cu<strong>en</strong>tra la solución óptima,<br />

pero el coste <strong>de</strong> ejecución es cuadrático con el número <strong>de</strong> <strong>de</strong>scriptores que se quier<strong>en</strong><br />

emparejar: O(n 2 ).<br />

Búsqueda aproximada<br />

En esta alternativa, se sustituye la búsqueda exhaustiva o <strong>de</strong> fuerza bruta por<br />

una búsqueda aproximada. Para ello, <strong>en</strong> la fase <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to se g<strong>en</strong>era una<br />

estructura más compleja, los kd-trees [9] para or<strong>de</strong>nar los datos. Esta estructura<br />

<strong>de</strong> árbol logra reducir el coste <strong>de</strong> ejecución a O(log n). La clara v<strong>en</strong>taja <strong>de</strong> esta<br />

alternativa es la disminución <strong>de</strong>l coste <strong>de</strong> cómputo, sin embargo, el algoritmo no<br />

garantiza <strong>en</strong>contrar la solución óptima, por lo que los resultados pue<strong>de</strong>n empeorar.<br />

Estas técnicas sirv<strong>en</strong> para comparar imág<strong>en</strong>es repres<strong>en</strong>tadas tanto con <strong>de</strong>scriptores<br />

globales como locales, la difer<strong>en</strong>cia radica <strong>en</strong> cómo medir la distancia <strong>en</strong>tre <strong>de</strong>scriptores.<br />

A continuación se explica con más <strong>de</strong>talle cuales han sido las medidas utilizadas,<br />

<strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> la naturaleza <strong>de</strong>l <strong>de</strong>scriptor.<br />

10


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.3 Algoritmos <strong>de</strong> similitud<br />

Búsqueda <strong>de</strong>l vecino más cercano con <strong>de</strong>scriptores locales<br />

Para medir la distancia <strong>en</strong>tre los <strong>de</strong>scriptores locales estudiados, SURF y ORB, se ha<br />

aplicado la distancia euclí<strong>de</strong>a. No se ha estudiado una mediada más compleja ya que el<br />

número <strong>de</strong> <strong>de</strong>scriptores a comparar pue<strong>de</strong> ser muy gran<strong>de</strong>, así como las compon<strong>en</strong>tes <strong>de</strong><br />

cada <strong>de</strong>scriptor, por lo que una medida más compleja resultaría <strong>en</strong> un tiempo <strong>de</strong> cómputo<br />

<strong>de</strong>masiado elevado.<br />

Por otra parte, con los <strong>de</strong>scriptores locales se pue<strong>de</strong> realizar una comprobación más<br />

robusta <strong>de</strong> las correspon<strong>de</strong>ncias (vecinos más cercanos) <strong>en</strong>contradas mediante el algoritmo<br />

RANSAC, explicado a continuación.<br />

RANSAC<br />

La medida explicada anteriorm<strong>en</strong>te pue<strong>de</strong> obt<strong>en</strong>er correspon<strong>de</strong>ncias incorrectas<br />

<strong>en</strong>tre las imág<strong>en</strong>es, por lo que pue<strong>de</strong> ser recom<strong>en</strong>dable añadir un paso <strong>de</strong> estimación<br />

robusta con objeto <strong>de</strong> eliminar dichas correspon<strong>de</strong>ncias erróneas. El algoritmo<br />

RANSAC (RAndom SAmple Cons<strong>en</strong>sus) [10] es un bu<strong>en</strong> complem<strong>en</strong>to para<br />

conseguirlo. Este método aña<strong>de</strong> una restricción geométrica que consigue rechazar<br />

las correspon<strong>de</strong>ncias que no sean consist<strong>en</strong>tes con el mo<strong>de</strong>lo geométrico <strong>de</strong> la<br />

esc<strong>en</strong>a. Aunque aplicar el algoritmo RANSAC supone una importante mejora <strong>en</strong> los<br />

resultados basados <strong>en</strong> la búsqueda <strong>de</strong>l vecino más cercano, no siempre es aconsejable<br />

utilizarlo, pues su coste <strong>de</strong> cómputo es elevado y supone un notable increm<strong>en</strong>to <strong>en</strong><br />

el tiempo <strong>de</strong> ejecución. En la Figura 2.6 se muestra el resultado <strong>de</strong> aplicar búsqueda<br />

<strong>de</strong>l vecino más cercano y RANSAC.<br />

Figura 2.6: Correspon<strong>de</strong>ncias <strong>en</strong>tre imag<strong>en</strong> <strong>de</strong> test (izquierda) e imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia(<strong>de</strong>recha). Las líneas<br />

azules repres<strong>en</strong>tan las correspon<strong>de</strong>ncias <strong>en</strong>contradas por el algoritmo <strong>de</strong> búsqueda <strong>de</strong> vecino más cercano<br />

y admitidas por RANSAC. Las líneas rojas repres<strong>en</strong>tan las correspon<strong>de</strong>ncias rechazadas por RANSAC.<br />

Búsqueda <strong>de</strong>l vecino más cercano con <strong>de</strong>scriptores globales<br />

En el caso <strong>de</strong> los <strong>de</strong>scriptores globales, como el número <strong>de</strong> comparaciones es m<strong>en</strong>or,<br />

pues solo hay un <strong>de</strong>scriptor por imag<strong>en</strong> que comparar, se ha evaluado el uso <strong>de</strong> una<br />

distancia más compleja y robusta que la euclí<strong>de</strong>a, aquí resumida.<br />

Earth Mover’s Distance<br />

La técnica Earth Mover’s Distance (EMD) [13] se ha estudiado para ser utilizada<br />

11


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.3 Algoritmos <strong>de</strong> similitud<br />

como medida <strong>de</strong> similitud <strong>en</strong>tre los histogramas <strong>de</strong> color. Se ha elegido esta medida<br />

porque el concepto se ajusta muy bi<strong>en</strong> a las necesida<strong>de</strong>s <strong>de</strong>l problemas, ya que la<br />

EMD es una medida <strong>de</strong> distancia <strong>en</strong>tre histogramas, <strong>en</strong> vez <strong>de</strong> emparejami<strong>en</strong>to. Esto<br />

resulta muy útil ya que histogramas <strong>de</strong> color <strong>de</strong>l mismo objeto pero <strong>en</strong> difer<strong>en</strong>tes<br />

esc<strong>en</strong>as pue<strong>de</strong>n sufrir cambios <strong>de</strong> iluminación, lo que causaría un <strong>de</strong>splazami<strong>en</strong>to<br />

<strong>de</strong> dichos histogramas, pero mant<strong>en</strong>drían la misma “forma”. En estos casos la<br />

distancia EMD logra unos resultados más <strong>de</strong>seables que los conseguidos con otras<br />

técnicas conocidas <strong>de</strong> comparación <strong>de</strong> histogramas, como el método Chi-Cuadrado<br />

o la distancia <strong>de</strong> Bhattacharyya.<br />

Conceptualm<strong>en</strong>te, la distancia EMD se <strong>de</strong>fine como la cantidad <strong>de</strong> trabajo que<br />

llevaría <strong>en</strong>cajar la forma <strong>de</strong> un histograma <strong>en</strong> la <strong>de</strong>l otro. Calcular esta distancia<br />

se basa <strong>en</strong> resolver el conocido problema <strong>de</strong> transporte Monge-Kantorovich [14].<br />

Supongamos una red <strong>de</strong> proveedores, cada uno con una cantidad <strong>de</strong> provisiones, y<br />

otra red <strong>de</strong> consumidores, cada uno con unas necesida<strong>de</strong>s <strong>de</strong> consumo, y un coste <strong>de</strong><br />

transporte <strong>en</strong>tre cada proveedor y consumidor. El problema se reduce a <strong>en</strong>contrar<br />

el flujo <strong>de</strong> mínimo coste para que los proveedores satisfagan las necesida<strong>de</strong>s <strong>de</strong> los<br />

consumidores.<br />

Extrapolado al caso <strong>de</strong> los histogramas, la red <strong>de</strong> proveedores sería un histograma,<br />

cada compon<strong>en</strong>te un proveedor y el peso su cantidad <strong>de</strong> provisiones. El histograma<br />

restante repres<strong>en</strong>taría la red <strong>de</strong> consumidores, cada compon<strong>en</strong>te un consumidor y el<br />

peso las necesida<strong>de</strong>s <strong>de</strong> consumo. El coste <strong>de</strong> transporte v<strong>en</strong>dría <strong>de</strong>terminado por<br />

la distancia <strong>en</strong>tre las compon<strong>en</strong>tes <strong>de</strong> los histogramas.<br />

2.3.2. Bolsa <strong>de</strong> palabras<br />

Esta técnica, estudiada como alternativa a la búsqueda <strong>de</strong>l vecino más cercano,<br />

pret<strong>en</strong><strong>de</strong> almac<strong>en</strong>ar una repres<strong>en</strong>tación más comprimida <strong>de</strong> los <strong>de</strong>scriptores <strong>de</strong> la base<br />

<strong>de</strong> datos. Para ello primero hay que crear un vocabulario <strong>de</strong> palabras durante la fase <strong>de</strong><br />

<strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to, que consiste <strong>en</strong> agrupar los n <strong>de</strong>scriptores <strong>en</strong> un conjunto <strong>de</strong> k palabras<br />

o clusters, si<strong>en</strong>do k ≤ n. Este vocabulario almac<strong>en</strong>a por un lado los c<strong>en</strong>troi<strong>de</strong>s <strong>de</strong> cada<br />

palabra y por otro una estructura <strong>de</strong>nominada inverted file in<strong>de</strong>x [11] que almac<strong>en</strong>a <strong>en</strong><br />

que imág<strong>en</strong>es y con que frecu<strong>en</strong>cia aparece cada palabra. <strong>Utilizando</strong> diversas medidas <strong>de</strong><br />

similitud, basadas <strong>en</strong> analizar que palabras aparec<strong>en</strong> <strong>en</strong> la imag<strong>en</strong> <strong>de</strong> test, se pue<strong>de</strong> <strong>de</strong>cidir<br />

que imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia es la más similar. El proceso queda esquematizado <strong>en</strong> la Figura<br />

2.7, y explicado más <strong>de</strong>talladam<strong>en</strong>te a continuación.<br />

Creación <strong>de</strong>l vocabulario (fase <strong>de</strong> <strong>en</strong>tr<strong>en</strong>ami<strong>en</strong>to)<br />

Para crear el vocabulario, se ha estudiado el algoritmo K-means [12], sin duda uno<br />

<strong>de</strong> los algoritmos <strong>de</strong> clusterización más utilizados. Este algoritmo necesita como<br />

<strong>en</strong>trada la información que queremos agrupar, <strong>en</strong> este caso los <strong>de</strong>scriptores <strong>de</strong> las<br />

imág<strong>en</strong>es <strong>de</strong> refer<strong>en</strong>cia, y el número <strong>de</strong> clusters <strong>en</strong> las que queremos agruparla.<br />

Como salida obt<strong>en</strong>dremos los c<strong>en</strong>troi<strong>de</strong>s <strong>de</strong> cada cluster y una refer<strong>en</strong>cia sobre a<br />

que cluster queda asignado cada <strong>de</strong>scriptor.<br />

En este punto, se construye la matriz inverted file in<strong>de</strong>x con objeto <strong>de</strong> t<strong>en</strong>er la<br />

información <strong>de</strong> forma más compacta y or<strong>de</strong>nada. Esta matriz se <strong>de</strong>fine como un<br />

histograma <strong>de</strong> votos a cada palabra <strong>de</strong> cada imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia (Figura 2.8).<br />

12


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.3 Algoritmos <strong>de</strong> similitud<br />

Figura 2.7: Algoritmo <strong>de</strong> la bolsa <strong>de</strong> palabras. A partir <strong>de</strong> los <strong>de</strong>scriptores <strong>de</strong> las imág<strong>en</strong>es <strong>de</strong> refer<strong>en</strong>cia<br />

se forma el vocabulario a) <strong>de</strong> k palabras, <strong>en</strong> este caso 4. A partir <strong>de</strong> dicho vocabulario se crea la matriz<br />

inverted file in<strong>de</strong>x b), almac<strong>en</strong>ando la información <strong>de</strong> manera más compacta y or<strong>de</strong>nada. Para cada imag<strong>en</strong><br />

<strong>de</strong> test se crea su histograma <strong>de</strong> consulta c) a partir <strong>de</strong>l vocabulario. Finalm<strong>en</strong>te, con el histograma <strong>de</strong><br />

consulta y la inverted file in<strong>de</strong>x se pue<strong>de</strong> emplear un algoritmo <strong>de</strong> comparación d) para <strong>de</strong>cidir qué imag<strong>en</strong><br />

es la más similar.<br />

Fase <strong>de</strong> consulta<br />

Cuando se quiere evaluar la similitud <strong>de</strong> una imag<strong>en</strong> <strong>de</strong> test con las <strong>de</strong> refer<strong>en</strong>cia,<br />

se sigu<strong>en</strong> los sigui<strong>en</strong>tes pasos:<br />

1. Extracción <strong>de</strong> características <strong>de</strong> la imag<strong>en</strong> <strong>de</strong> test. En este caso se extraerían<br />

los <strong>de</strong>scriptores ORB o SURF.<br />

2. Comparando con el valor <strong>de</strong> los c<strong>en</strong>troi<strong>de</strong>s <strong>de</strong>l vocabulario, se asocia a cada<br />

nuevo <strong>de</strong>scriptor <strong>de</strong> la imag<strong>en</strong> <strong>de</strong> test el cluster al que pert<strong>en</strong>ece, según el<br />

c<strong>en</strong>troi<strong>de</strong> al que más se parece.<br />

3. Con lo obt<strong>en</strong>ido <strong>en</strong> el paso anterior, se crea un histograma <strong>de</strong> longitud el número<br />

<strong>de</strong> clusters <strong>de</strong>l vocabulario, <strong>en</strong> el que queda reflejado la frecu<strong>en</strong>cia con la que<br />

cada cluster o palabra aparece <strong>en</strong> la imag<strong>en</strong>.<br />

4. Con la ayuda <strong>de</strong> este histograma y la matriz inverted file in<strong>de</strong>x pue<strong>de</strong>n<br />

estudiarse diversas medidas <strong>de</strong> similitud <strong>en</strong>tre los histogramas para <strong>de</strong>cidir<br />

que imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia es la más similar. En la Sección C.0.2 se <strong>de</strong>tallan las<br />

medidas estudiadas y los resultados obt<strong>en</strong>idos.<br />

13


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.4 Experim<strong>en</strong>tos y <strong>de</strong>cisiones<br />

Figura 2.8: Inverted File In<strong>de</strong>x. Repres<strong>en</strong>ta para cada imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia el número <strong>de</strong> <strong>de</strong> votos a cada<br />

palabra <strong>de</strong>l vocabulario, es <strong>de</strong>cir, su histograma.<br />

2.4. Experim<strong>en</strong>tos y <strong>de</strong>cisiones<br />

En esta sección se pres<strong>en</strong>tan las <strong>de</strong>cisiones que se tomaron gracias a los experim<strong>en</strong>tos<br />

llevados a cabo con el fin <strong>de</strong> <strong>de</strong> <strong>de</strong>cidir que formas <strong>de</strong> repres<strong>en</strong>tar las imág<strong>en</strong>es y que<br />

algoritmos <strong>de</strong> similitud son los más a<strong>de</strong>cuados para el <strong>de</strong>sarrollo <strong>de</strong>l proyecto. Los<br />

resultados <strong>de</strong>tallados <strong>de</strong> todos los experim<strong>en</strong>tos se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> el Anexo C. A<strong>de</strong>más,<br />

es necesario evaluar y t<strong>en</strong>er un algoritmo <strong>de</strong> partida que solo utilice información 2D<br />

para po<strong>de</strong>r evaluar las mejoras adquiridas gracias al uso <strong>de</strong> los nuevos s<strong>en</strong>sores con<br />

información <strong>3D</strong>. Por ello, para llevar a cabo estos experim<strong>en</strong>tos se implem<strong>en</strong>tó un s<strong>en</strong>cillo<br />

sistema <strong>de</strong> reconocimi<strong>en</strong>to basado <strong>en</strong> técnicas 2D que utilizaba los algoritmos explicados<br />

anteriorm<strong>en</strong>te, exceptuando los <strong>de</strong>dicados a los histogramas <strong>de</strong> color, pues este sistema<br />

<strong>de</strong> base no incluye ningún tipo <strong>de</strong> segm<strong>en</strong>tación, por lo que los histogramas que se<br />

calcularan incorporarían información <strong>de</strong>l fondo <strong>de</strong> la imag<strong>en</strong>, incorporando <strong>de</strong>masiado<br />

ruido al histograma como para que éstos fueran <strong>de</strong> utilidad. La evaluación <strong>de</strong> este tipo <strong>de</strong><br />

similitud se realiza más a<strong>de</strong>lante, don<strong>de</strong> el sistema completo <strong>de</strong>sarrollado <strong>en</strong> este proyecto<br />

cu<strong>en</strong>ta con un proceso previo <strong>de</strong> segm<strong>en</strong>tación.<br />

El sistema manti<strong>en</strong>e una pequeña base <strong>de</strong> datos <strong>de</strong> 13 objetos, con 8 fotos <strong>de</strong> cada<br />

objeto, lo que hace un total <strong>de</strong> 104 fotos <strong>de</strong> refer<strong>en</strong>cia.<br />

Una vez realizados todos los experim<strong>en</strong>tos, se tomaron las sigui<strong>en</strong>tes <strong>de</strong>cisiones.<br />

Es necesaria una etapa <strong>de</strong> segm<strong>en</strong>tación <strong>de</strong> la imag<strong>en</strong>. El reconocedor manti<strong>en</strong>e unos<br />

bu<strong>en</strong>os resultados mi<strong>en</strong>tras los objetos a reconocer se <strong>en</strong>cu<strong>en</strong>tr<strong>en</strong> sobre un fondo<br />

blanco, pero cuando se <strong>en</strong>fr<strong>en</strong>ta situaciones más reales, don<strong>de</strong> el objeto se <strong>en</strong>cu<strong>en</strong>tra<br />

ro<strong>de</strong>ado <strong>de</strong> otros elem<strong>en</strong>tos, el r<strong>en</strong>dimi<strong>en</strong>to baja hasta extremos inaceptables.<br />

Se <strong>de</strong>sechó la alternativa <strong>de</strong>l algoritmo <strong>de</strong> bolsa <strong>de</strong> palabras como algoritmo <strong>de</strong><br />

similitud. Los experim<strong>en</strong>tos reflejan que los resultados obt<strong>en</strong>idos con el algoritmo<br />

<strong>de</strong> búsqueda <strong>de</strong>l vecino más cercano superan claram<strong>en</strong>te el r<strong>en</strong>dimi<strong>en</strong>to ofrecido<br />

por la bolsa <strong>de</strong> palabras. Por tanto, se <strong>de</strong>cidió que el sistema <strong>de</strong> reconocimi<strong>en</strong>to<br />

final integraría el algoritmo <strong>de</strong> similitud <strong>de</strong> búsqueda <strong>de</strong>l vecino más cercano para<br />

reconocer objetos cuando se tratara <strong>de</strong> utilizar técnicas 2D.<br />

El <strong>de</strong>scriptor local utilizado será el SURF. Los resultados muestran que aunque el<br />

coste <strong>de</strong> cómputo es mayor para los <strong>de</strong>scriptores SURF, ofrec<strong>en</strong> unos resultados<br />

mucho mejores que la alternativa <strong>de</strong> los <strong>de</strong>scriptores ORB.<br />

La medida <strong>de</strong> similitud <strong>en</strong>tre dos imág<strong>en</strong>es Imi y Imj que mejores resultados ofrece,<br />

14


2. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> 2D 2.4 Experim<strong>en</strong>tos y <strong>de</strong>cisiones<br />

y por tanto la que se utilizará <strong>en</strong> el sistema final, será la sigui<strong>en</strong>te.<br />

Sim = Matchesij/Max(NumDesci, NumDescj) (2.1)<br />

Si<strong>en</strong>do Matchesij el número <strong>de</strong> correspon<strong>de</strong>ncias <strong>en</strong>tre las imág<strong>en</strong>es i y j y<br />

NumDesci el número <strong>de</strong> <strong>de</strong>scriptores extraídos <strong>de</strong> la imag<strong>en</strong> i.<br />

La búsqueda exhaustiva ofrece unos resultados ligeram<strong>en</strong>te mejores que la búsqueda<br />

aproximada, aunque también es más l<strong>en</strong>ta. Sin embargo, la ganancia <strong>en</strong> cuanto a<br />

tiempo <strong>de</strong> ejecución que implica el uso <strong>de</strong> la búsqueda aproximada no es muy alta<br />

<strong>de</strong>bido al tamaño <strong>de</strong> la base <strong>de</strong> datos utilizada. Por tanto, hasta que no se conozca<br />

con más <strong>de</strong>talle la arquitectura <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to final y el tamaño <strong>de</strong><br />

la base <strong>de</strong> datos a manejar, se <strong>de</strong>ja la puerta abierta a las dos opciones.<br />

Aplicar el algoritmo RANSAC mejora los resultados, sobretodo <strong>en</strong> experim<strong>en</strong>tos <strong>de</strong><br />

<strong>en</strong>torno más real, pero el coste <strong>de</strong> ejecución aum<strong>en</strong>ta consi<strong>de</strong>rablem<strong>en</strong>te. Por ello se<br />

<strong>de</strong>cidió esperar ha implem<strong>en</strong>tar el proceso <strong>de</strong> segm<strong>en</strong>tación, lo que permitirá evaluar<br />

si es necesario seguir aplicando RANSAC o el hecho <strong>de</strong> segm<strong>en</strong>tar la imag<strong>en</strong> <strong>en</strong><br />

regiones <strong>de</strong> posibles objetos ofrece robustez sufici<strong>en</strong>te.<br />

15


3. <strong>Reconocimi<strong>en</strong>to</strong> <strong>de</strong> objetos con información<br />

<strong>3D</strong><br />

3.1. Introducción<br />

La aparición <strong>en</strong> el mercado <strong>de</strong> cámaras RGB-d con un bajo coste ha servido como<br />

catalizador para que las investigaciones sobre reconocimi<strong>en</strong>to y <strong>en</strong> g<strong>en</strong>eral sobre visión<br />

por computador utilizando información <strong>3D</strong> avanc<strong>en</strong> rápidam<strong>en</strong>te. Antes <strong>de</strong> la aparición<br />

<strong>de</strong> dichos s<strong>en</strong>sores, la visión <strong>en</strong> <strong>3D</strong> podía conseguirse mediante la sincronización <strong>de</strong> dos<br />

cámaras estándar a una distancia conocida, a partir <strong>de</strong> la información obt<strong>en</strong>ida <strong>de</strong> dichas<br />

cámaras se pue<strong>de</strong>n obt<strong>en</strong>er los valores <strong>de</strong> profundidad <strong>de</strong> la esc<strong>en</strong>a y posteriorm<strong>en</strong>te<br />

construir el mo<strong>de</strong>lo <strong>3D</strong>. Sin embargo, construir dicha esc<strong>en</strong>a conlleva un coste <strong>de</strong> ejecución<br />

alto, por lo que resulta un problema para <strong>de</strong>sarrollar sistemas que trabaj<strong>en</strong> <strong>en</strong> tiempo real.<br />

Los nuevos s<strong>en</strong>sores obti<strong>en</strong><strong>en</strong> los valores típicos <strong>de</strong> color, por ejemplo <strong>en</strong> formato RGB,<br />

y <strong>de</strong> profundidad <strong>de</strong> forma sincronizada y casi instantánea, por lo que el mayor problema<br />

queda eliminado. En la Figura 3.1 se observa una imag<strong>en</strong> típica <strong>de</strong> color, que podría<br />

haber sido tomada por cualquier cámara <strong>de</strong>l mercado, con su correspondi<strong>en</strong>te mapa <strong>de</strong><br />

profundidad. En este caso el mapa <strong>de</strong> profundidad, que teóricam<strong>en</strong>te marca para cada<br />

píxel <strong>de</strong> la imag<strong>en</strong> la distancia al s<strong>en</strong>sor, se ha convertido <strong>en</strong> una imag<strong>en</strong> don<strong>de</strong> los colores<br />

más cálidos <strong>de</strong>notan más cercanía. Las zonas <strong>de</strong> color negro son valores <strong>de</strong> profundidad<br />

in<strong>de</strong>terminados, porque el s<strong>en</strong>sor no ha podido realizar la medición correctam<strong>en</strong>te.<br />

Figura 3.1: Esc<strong>en</strong>a RGB (<strong>de</strong>recha) y su mapa <strong>de</strong> profundidad asociado (izquierda). Los píxeles <strong>de</strong>l mapa<br />

<strong>de</strong> profundidad <strong>de</strong> valor negro indican valores in<strong>de</strong>terminados. Estas zonas suel<strong>en</strong> <strong>en</strong>contrarse <strong>en</strong> objetos<br />

transpar<strong>en</strong>tes o que reflejan la luz, como <strong>en</strong> este caso el cristal que se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong>cima <strong>de</strong> la mesa.<br />

En este capítulo se van a pres<strong>en</strong>tar las técnicas estudiadas que implican uso <strong>de</strong><br />

17


3. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> <strong>3D</strong> 3.2 Repres<strong>en</strong>tación <strong>de</strong> la información<br />

información <strong>3D</strong>. Primero se discutirá sobre la necesidad <strong>de</strong> un nuevo mo<strong>de</strong>lo <strong>de</strong><br />

repres<strong>en</strong>tación <strong>de</strong> la información, (Sección 3.2) para continuar <strong>de</strong>spués con técnicas propias<br />

<strong>de</strong>l problema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> objetos, como son la segm<strong>en</strong>tación <strong>de</strong> la esc<strong>en</strong>a, que<br />

se pue<strong>de</strong>n abordar <strong>de</strong> manera muy eficaz gracias al uso <strong>de</strong> información <strong>3D</strong> (Sección 3.3)<br />

y el uso <strong>de</strong> <strong>de</strong>scriptores <strong>de</strong> información <strong>3D</strong> para construir los mo<strong>de</strong>los <strong>de</strong> los objetos a<br />

reconocer (Sección 3.4).<br />

3.2. Repres<strong>en</strong>tación <strong>de</strong> la información<br />

Un nuevo paradigma <strong>de</strong> trabajo, como es añadir una tercera dim<strong>en</strong>sión a la información<br />

con la que se trabaja, conlleva plantear un nuevo sistema para repres<strong>en</strong>tar dicha<br />

información. Hay que plantear un nuevo mo<strong>de</strong>lo que se ajuste a las necesida<strong>de</strong>s <strong>de</strong>l<br />

problema, ya no es sufici<strong>en</strong>te con una matriz <strong>de</strong> píxeles que repres<strong>en</strong>te el color <strong>de</strong> cada<br />

imag<strong>en</strong>. Para ajustarse a estas necesida<strong>de</strong>s se ha optado por trabajar con el mo<strong>de</strong>lo<br />

<strong>de</strong>nominado nube <strong>de</strong> puntos, que se explica a continuación.<br />

Nube <strong>de</strong> puntos<br />

Una nube <strong>de</strong> puntos repres<strong>en</strong>ta la posición XYZ <strong>de</strong> cada píxel <strong>de</strong> la esc<strong>en</strong>a respecto<br />

a la cámara con la que se ha tomado la foto, así como el color <strong>de</strong> dicho píxel. Por tanto,<br />

para cada punto que forme parte <strong>de</strong> la nube, existirán 4 números <strong>en</strong> coma flotante o floats<br />

que lo <strong>de</strong>scriban: Tres para <strong>de</strong>notar la posición XYZ y un cuarto que almac<strong>en</strong>e <strong>de</strong> forma<br />

compacta los valores RGB <strong>de</strong>l píxel.<br />

Conseguir los valores XYZ <strong>de</strong> los puntos <strong>de</strong> la nube es relativam<strong>en</strong>te s<strong>en</strong>cillo si se<br />

cu<strong>en</strong>ta con un mapa <strong>de</strong> profundidad que indique <strong>en</strong> metros la distancia <strong>de</strong> cada píxel a la<br />

cámara. Concretam<strong>en</strong>te, para calcular los valores XYZ <strong>de</strong> un elem<strong>en</strong>to [i, j] <strong>de</strong>l mapa <strong>de</strong><br />

profundidad basta con aplicar las sigui<strong>en</strong>tes fórmulas.<br />

X = (i − ci) ∗ <strong>de</strong>pth[i, j]/f<br />

Y = (j − cj) ∗ <strong>de</strong>pth[i, j]/f<br />

Z = <strong>de</strong>pth[i, j]<br />

Si<strong>en</strong>do ci y cj los índices <strong>de</strong>l c<strong>en</strong>tro <strong>de</strong> la matriz <strong>de</strong> profundidad (<strong>en</strong> caso <strong>de</strong> que la matriz<br />

fuera <strong>de</strong> 640x480 elem<strong>en</strong>tos los valores serían 320 y 240 respectivam<strong>en</strong>te), <strong>de</strong>pth[i, j] el<br />

valor <strong>de</strong> la profundidad <strong>en</strong> la posición [i, j] y f la distancia focal, un parámetro propio <strong>de</strong><br />

la cámara con la que se tome la esc<strong>en</strong>a. Adicionalm<strong>en</strong>te, a esta información se le podría<br />

añadir los valores <strong>de</strong> color que correspondan al elem<strong>en</strong>to [i, j] <strong>de</strong>l mapa <strong>de</strong> profundidad.<br />

En la Figura 3.2 pue<strong>de</strong> observarse varios puntos <strong>de</strong> vista <strong>de</strong> una nube <strong>de</strong> puntos que<br />

repres<strong>en</strong>ta parte <strong>de</strong> una habitación, mi<strong>en</strong>tras que <strong>en</strong> la Figura 3.3 se observa <strong>de</strong> forma<br />

gráfica la información <strong>de</strong> todos los campos que forman los puntos <strong>de</strong> la nube.<br />

3.3. Segm<strong>en</strong>tación <strong>de</strong> la esc<strong>en</strong>a<br />

Gracias a los resultados que arrojaron los experim<strong>en</strong>tos <strong>de</strong> la Sección C.0.1, quedó claro<br />

que era necesaria una etapa <strong>de</strong> segm<strong>en</strong>tación si se querían conseguir bu<strong>en</strong>os resultados<br />

18


3. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> <strong>3D</strong> 3.3 Segm<strong>en</strong>tación <strong>de</strong> la esc<strong>en</strong>a<br />

Figura 3.2: Distintas perspectivas <strong>de</strong> una misma nube <strong>de</strong> puntos. La imag<strong>en</strong> <strong>de</strong> la izquierda correspon<strong>de</strong><br />

con el punto <strong>de</strong> vista original con el que se tomó la foto, mi<strong>en</strong>tras que las <strong>de</strong> la <strong>de</strong>recha repres<strong>en</strong>tan<br />

rotaciones <strong>de</strong> dicha esc<strong>en</strong>a.<br />

Figura 3.3: Distinta información que almac<strong>en</strong>a la nube <strong>de</strong> puntos. De izquierda a <strong>de</strong>recha, compon<strong>en</strong>tes<br />

X, Y, Z (don<strong>de</strong> colores más cálidos indican distancias m<strong>en</strong>ores) y RGB <strong>de</strong>l mo<strong>de</strong>lo.<br />

trabajando <strong>en</strong> <strong>en</strong>tornos reales, objetos sobre fondo con ruido. Aunque trabajos como [16]<br />

o [17] logran resultados aceptables trabajando solo con información 2D, pero <strong>en</strong> algunos<br />

casos el coste es muy elevado, para la realización <strong>de</strong> este proyecto se ha optado por<br />

utilizar técnicas que trabaj<strong>en</strong> con nubes <strong>de</strong> puntos, pues técnicas basadas <strong>en</strong> <strong>3D</strong> facilitan<br />

y mejoran los resultados que se obt<strong>en</strong>drían con herrami<strong>en</strong>tas 2D.<br />

Por otra parte, aplicar segm<strong>en</strong>tación a una esc<strong>en</strong>a para conservar solo la información<br />

que realm<strong>en</strong>te interesa para el reconocimi<strong>en</strong>to ti<strong>en</strong>e también la v<strong>en</strong>taja <strong>de</strong> permitir que el<br />

proceso sea más rápido, pues habrá m<strong>en</strong>os información que procesar.<br />

Las dos técnicas <strong>de</strong> segm<strong>en</strong>tación que se han utilizado <strong>en</strong> este proyecto son la<br />

eliminación <strong>de</strong> planos que suel<strong>en</strong> pert<strong>en</strong>ecer al fondo <strong>de</strong> la esc<strong>en</strong>a y la clusterización<br />

<strong>de</strong> puntos contiguos que son probables <strong>de</strong> pert<strong>en</strong>ecer a un mismo objeto. Estas técnicas<br />

se explican <strong>en</strong> las sigui<strong>en</strong>tes secciones, pero antes <strong>de</strong> ello, va a mostrarse un filtro que se<br />

ha utilizado como paso previo a la segm<strong>en</strong>tación para hacerla más s<strong>en</strong>cilla.<br />

Filtro Pass Through<br />

Este filtro se sirve <strong>de</strong> la repres<strong>en</strong>tación <strong>de</strong> la información <strong>en</strong> nubes <strong>de</strong> puntos para<br />

po<strong>de</strong>r <strong>de</strong>sechar fácil y rápidam<strong>en</strong>te todos los puntos <strong>de</strong> la nube que estén más allá <strong>de</strong><br />

una distancia dada, <strong>en</strong> cualquiera <strong>de</strong> las direcciones <strong>de</strong> los ejes <strong>de</strong> coor<strong>de</strong>nadas.<br />

Por ejemplo, po<strong>de</strong>mos optar por <strong>de</strong>scartar toda la información <strong>de</strong> la esc<strong>en</strong>a que se<br />

<strong>en</strong>cu<strong>en</strong>tre a una profundidad mayor <strong>de</strong> 1.5 metros con respecto a la cámara, lo que<br />

correspon<strong>de</strong>ría <strong>en</strong> este caso con la dirección Z.<br />

P<strong>en</strong>sando <strong>en</strong> el problema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> objetos pequeños, don<strong>de</strong> está c<strong>en</strong>trado<br />

el proyecto, resulta muy útil <strong>de</strong>scartar <strong>de</strong> antemano toda la información que<br />

19


3. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> <strong>3D</strong> 3.3 Segm<strong>en</strong>tación <strong>de</strong> la esc<strong>en</strong>a<br />

estaría <strong>de</strong>masiado lejos como para po<strong>de</strong>r reconocer algo con éxito. En la Figura 3.4<br />

se pue<strong>de</strong> observar las v<strong>en</strong>tajas <strong>de</strong> utilizar este filtro.<br />

Figura 3.4: Filtro Pass Through. A la izquierda la nube original, a la <strong>de</strong>recha la nube eliminando todo lo<br />

que se <strong>en</strong>cu<strong>en</strong>tre más allá <strong>de</strong> una distancia dada.<br />

3.3.1. Eliminación <strong>de</strong> planos <strong>de</strong> fondo<br />

Como normal g<strong>en</strong>eral, sobretodo cuando se trabaja sobre <strong>en</strong>tornos reales, los objetos<br />

a reconocer suel<strong>en</strong> estar <strong>en</strong>cima <strong>de</strong> una mesa, escritorio, suelo. . . En <strong>de</strong>finitiva, sobre un<br />

plano. Resulta claro que una eliminación <strong>de</strong> dicho plano <strong>en</strong> la nube <strong>de</strong> puntos facilitaría<br />

<strong>en</strong>ormem<strong>en</strong>te el proceso <strong>de</strong> reconocimi<strong>en</strong>to, pues se prescin<strong>de</strong> <strong>de</strong> aquella parte <strong>de</strong> la esc<strong>en</strong>a<br />

que no conti<strong>en</strong>e los objetos. Lograr esto implica que el sistema <strong>de</strong> reconocimi<strong>en</strong>to no pueda<br />

confundir una superficie o parte <strong>de</strong> ella con un objeto o parte <strong>de</strong> él. P<strong>en</strong>sando <strong>en</strong> superficies<br />

con textura como podría ser una pared con baldosas <strong>de</strong>coradas o un suelo con difer<strong>en</strong>tes<br />

colores, la necesidad <strong>de</strong> este paso cobra fuerza.<br />

Recordando que ahora se trabaja con la información almac<strong>en</strong>ada <strong>en</strong> nubes <strong>de</strong> puntos,<br />

don<strong>de</strong> para cada punto t<strong>en</strong>emos las compon<strong>en</strong>tes XYZ respecto a la cámara, no resulta<br />

muy complicado <strong>en</strong>contrar los planos que se <strong>en</strong>cu<strong>en</strong>tran <strong>en</strong> la esc<strong>en</strong>a. Para lograrlo se<br />

ha utilizado una función <strong>de</strong> la librería PCL [1] que utilizando el algoritmo RANSAC<br />

[10] para eliminar puntos atípicos (los que no correspon<strong>de</strong>n al plano) y consi<strong>de</strong>rando una<br />

distancia dada la máxima <strong>en</strong>tre dos puntos que pert<strong>en</strong>ezcan al mismo plano, <strong>de</strong>vuelve los<br />

coefici<strong>en</strong>tes <strong>de</strong>l plano dominante <strong>en</strong>contrado <strong>en</strong> la forma ax + by + cz + d = 0.<br />

Una vez que se ha <strong>en</strong>contrado la ecuación <strong>de</strong>l plano, no hay más que eliminar los puntos<br />

<strong>de</strong> la nube que correspondan a dicho plano. En la Figura 3.5 se observa el resultado <strong>de</strong><br />

aplicar la eliminación <strong>de</strong>l plano dominante a una esc<strong>en</strong>a.<br />

3.3.2. Clusterización <strong>de</strong> puntos pert<strong>en</strong>eci<strong>en</strong>tes al mismo objeto<br />

En este mom<strong>en</strong>to, si los pasos <strong>de</strong> segm<strong>en</strong>tación anteriores han ido bi<strong>en</strong>, la nube <strong>de</strong><br />

puntos solo contará con cuerpos aislados <strong>en</strong>tre si que no form<strong>en</strong> un plano. Esta información<br />

<strong>de</strong>sor<strong>de</strong>nada, que conti<strong>en</strong>e los objetos que se quier<strong>en</strong> reconocer más ruido u otros elem<strong>en</strong>tos<br />

<strong>de</strong> la esc<strong>en</strong>a, necesita ser or<strong>de</strong>nada <strong>en</strong> clusters que logr<strong>en</strong> separar posibles objetos <strong>de</strong> otros,<br />

y así po<strong>de</strong>r reconocer cada objeto <strong>de</strong> forma separada. Este paso es imprescindible para<br />

hacer posible el reconocimi<strong>en</strong>to <strong>de</strong> varios objetos <strong>en</strong> la misma esc<strong>en</strong>a, pues no serviría <strong>de</strong><br />

nada hacer una medida <strong>de</strong> similitud <strong>en</strong>tre los objetos almac<strong>en</strong>ados <strong>en</strong> la base <strong>de</strong> datos y<br />

una imag<strong>en</strong> <strong>de</strong> test <strong>en</strong> la que aparec<strong>en</strong> varios objetos.<br />

20


3. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> <strong>3D</strong> 3.3 Segm<strong>en</strong>tación <strong>de</strong> la esc<strong>en</strong>a<br />

Figura 3.5: Eliminación <strong>de</strong> planos. A la izquierda la nube original, a la <strong>de</strong>recha la nube tras eliminar el<br />

plano <strong>de</strong>l suelo.<br />

Para lograr esta agrupación <strong>de</strong> la información se ha optado por utilizar un algoritmo,<br />

integrado <strong>en</strong> la librería PCL [1] que <strong>de</strong> nuevo se sirve <strong>de</strong> las v<strong>en</strong>tajas <strong>de</strong>l formato <strong>de</strong><br />

nube <strong>de</strong> puntos. Se trata <strong>de</strong> un extractor <strong>de</strong> clusters euclí<strong>de</strong>o, cuyos pasos se explican a<br />

continuación.<br />

1. Crear una repres<strong>en</strong>tación con un kd-tree para la nube <strong>de</strong> puntos <strong>de</strong> <strong>en</strong>trada P ;<br />

2. Crear una lista <strong>de</strong> clusters C, y una cola <strong>de</strong> puntos que necesitan ser comprobados<br />

Q;<br />

3. Entonces, para cada punto pi ∈ P hacer:<br />

Añadir pi a la cola actual Q;<br />

Para cada punto pi ∈ Q hacer:<br />

• Buscar el conjunto P i k <strong>de</strong> vecinos <strong>de</strong> pi <strong>en</strong> una esfera con radio r < d;<br />

• Para cada vecino p i k ∈ P i k<br />

no añadirlo a Q;<br />

comprobar si el punto ya ha sido procesado, y si<br />

Cuando la lista <strong>de</strong> todos los puntos <strong>en</strong> Q se ha procesado, añadir Q a la lista<br />

<strong>de</strong> clusters C, y resetear Q a una cola vacía;<br />

4. El algoritmo termina cuando todos los puntos pi ∈ P han sido procesados y son<br />

ahora parte <strong>de</strong> la lista <strong>de</strong> clusters C;<br />

Cuando se ha acabado el proceso <strong>de</strong> clusterización, es conv<strong>en</strong>i<strong>en</strong>te aplicar un filtro que<br />

<strong>de</strong>seche los clusters <strong>de</strong>masiado pequeños o <strong>de</strong>masiado gran<strong>de</strong>s. Esto ti<strong>en</strong>e como objetivo<br />

eliminar puntos espurios aislados que han quedado como proceso <strong>de</strong> la eliminación <strong>de</strong>l<br />

plano o los clusters que super<strong>en</strong> <strong>en</strong> tamaño la naturaleza <strong>de</strong> los objetos que se quier<strong>en</strong><br />

reconocer. En la Figura 3.6 queda plasmado el resultado <strong>de</strong> la clusterización a una esc<strong>en</strong>a.<br />

21


3. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> <strong>3D</strong> 3.4 Descriptores <strong>de</strong> información <strong>3D</strong><br />

Figura 3.6: Proceso <strong>de</strong> clusterización <strong>de</strong> la esc<strong>en</strong>a. Arriba a la izquierda una esc<strong>en</strong>a tras la etapa <strong>de</strong><br />

segm<strong>en</strong>tación <strong>de</strong>l plano. A la <strong>de</strong>recha la misma esc<strong>en</strong>a pero coloreada <strong>de</strong> un mismo tono para notar más<br />

claram<strong>en</strong>te el ruido que queda tras eliminar el plano. Debajo, el resultado <strong>de</strong> agrupar la imag<strong>en</strong>, don<strong>de</strong><br />

cada tonalidad repres<strong>en</strong>ta un cluster distinto. Nótese que se ha eliminado el ruido, ya que forma clusters<br />

<strong>de</strong>masiado pequeños.<br />

3.4. Descriptores <strong>de</strong> información <strong>3D</strong><br />

Al igual que se hizo cuando se habló <strong>de</strong> las técnicas 2D, don<strong>de</strong> se introdujo el concepto<br />

<strong>de</strong> <strong>de</strong>scriptores, ahora también es interesante repres<strong>en</strong>tar la información <strong>de</strong> la nube <strong>de</strong><br />

forma más compacta logrando capturar sus características más discriminantes. En este<br />

proyecto, <strong>de</strong>spués <strong>de</strong> estudiar las opciones disponibles <strong>en</strong> la literatura y las librerías<br />

<strong>de</strong> manejo <strong>de</strong> kinect, se ha optado por utilizar el <strong>de</strong>scriptor <strong>de</strong> forma VFH (Viewpoint<br />

Feauture Histrogram) [18].<br />

Descriptor VFH<br />

Este <strong>de</strong>scriptor <strong>en</strong>caja <strong>de</strong>ntro <strong>de</strong> los <strong>de</strong>scriptores globales. En concreto es un<br />

histograma calculado por cada imag<strong>en</strong>, que captura tanto la forma <strong>de</strong>l objeto como el<br />

punto <strong>de</strong> vista <strong>de</strong>s<strong>de</strong> don<strong>de</strong> se toma la imag<strong>en</strong>.<br />

Entre las razones <strong>en</strong>contradas para utilizar este <strong>de</strong>scriptor, resaltan los bu<strong>en</strong>os<br />

resultados que muestran sistemas <strong>de</strong> reconocimi<strong>en</strong>to estudiados como [19] que utiliza<br />

dicho <strong>de</strong>scriptor. A<strong>de</strong>más, al tratarse <strong>de</strong> un <strong>de</strong>scriptor global, la memoria necesaria para<br />

almac<strong>en</strong>arlos es mínima, pues solo se calcula un <strong>de</strong>scriptor por objeto, y las operaciones <strong>de</strong><br />

comparación <strong>en</strong>tre ellos son rápidas. No obstante, para almac<strong>en</strong>ar el mo<strong>de</strong>lo <strong>de</strong> un objeto<br />

22


3. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> <strong>3D</strong> 3.4 Descriptores <strong>de</strong> información <strong>3D</strong><br />

<strong>en</strong> la base <strong>de</strong> datos <strong>de</strong> forma efectiva es necesario almac<strong>en</strong>ar varios <strong>de</strong> estos <strong>de</strong>scriptores<br />

<strong>de</strong>s<strong>de</strong> distintos puntos <strong>de</strong> vista, para así capturar la forma y posibles puntos <strong>de</strong> vista <strong>de</strong>l<br />

objeto por completo.<br />

Para calcular este <strong>de</strong>scriptor, primero es necesario calcular las compon<strong>en</strong>tes normales<br />

<strong>de</strong> la nube <strong>de</strong> puntos, <strong>en</strong> nuestro caso <strong>de</strong>l objeto. Estas compon<strong>en</strong>tes se utilizan <strong>en</strong> gran<br />

variedad <strong>de</strong> áreas y exist<strong>en</strong> numerosos métodos para calcularlas. Dada una superficie<br />

geométrica, suele ser trivial inferir la dirección <strong>de</strong> la normal <strong>de</strong> un punto <strong>en</strong> dicha superficie<br />

como el vector perp<strong>en</strong>dicular a la superficie <strong>en</strong> dicho punto. Sin embargo, puesto que las<br />

nubes <strong>de</strong> puntos repres<strong>en</strong>tan conjuntos <strong>de</strong> puntos <strong>en</strong> la superficie real es necesario usar<br />

aproximaciones para inferir las normales directam<strong>en</strong>te <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> la nube. Para<br />

calcular dichas normales se ha utilizado una función implem<strong>en</strong>tada <strong>en</strong> la librería PCL.<br />

Para más información <strong>de</strong> los cálculos utilizados, referirse a [20]. En la Figura 3.7 se observa<br />

una repres<strong>en</strong>tación <strong>de</strong> las normales <strong>de</strong> un subconjunto <strong>de</strong> los puntos <strong>de</strong> un objeto.<br />

Figura 3.7: Repres<strong>en</strong>tación <strong>de</strong> las normales <strong>de</strong> un objeto. El objeto, <strong>en</strong> este caso una jarra, se muestra<br />

como fondo y los vectores <strong>de</strong> color blanco repres<strong>en</strong>tan la dirección <strong>de</strong> las normales <strong>en</strong> un subconjunto <strong>de</strong><br />

los puntos <strong>de</strong> la nube.<br />

Una vez calculadas las compon<strong>en</strong>tes normales, se pue<strong>de</strong> calcular el <strong>de</strong>scriptor VFH.<br />

Para ello, se calculan los ángulos pan-tilt-yaw <strong>en</strong>tre las normales <strong>de</strong> cada punto <strong>de</strong>l objeto<br />

y las normales <strong>de</strong>l c<strong>en</strong>troi<strong>de</strong> <strong>de</strong>l objeto, para <strong>de</strong>spués plasmar la información <strong>en</strong> un<br />

histograma. Concretam<strong>en</strong>te, para cada punto pi <strong>de</strong>l objeto, su compon<strong>en</strong>te normal ni<br />

y el c<strong>en</strong>troi<strong>de</strong> pc se calculan los sigui<strong>en</strong>tes ángulos:<br />

α = v · ni<br />

φ = u · pi − pc<br />

d<br />

θ = arctan(w · ni, u · ni)<br />

Don<strong>de</strong> u, v, w repres<strong>en</strong>tan un marco <strong>de</strong> Darboux 1 elegido <strong>en</strong> pi. La Figura 3.8<br />

repres<strong>en</strong>ta la selección <strong>de</strong>l marco <strong>de</strong> Darboux y una repres<strong>en</strong>tación gráfica <strong>de</strong> los tres<br />

ángulos calculados.<br />

A parte <strong>de</strong> los datos calculados hasta ahora, que <strong>de</strong>scribirían la forma <strong>de</strong>l objeto, el<br />

<strong>de</strong>scriptor incorpora información sobre el punto <strong>de</strong> vista <strong>de</strong>s<strong>de</strong> el que se tomó la foto. Esta<br />

información resulta útil para po<strong>de</strong>r reconocer la pose <strong>en</strong> la que se <strong>en</strong>cu<strong>en</strong>tra el objeto,<br />

aplicación interesante <strong>en</strong> campos como la robótica. Para obt<strong>en</strong>er la información sobre<br />

1 En geometría difer<strong>en</strong>cial <strong>de</strong> superficies, un marco móvil construido <strong>en</strong> una superficie.<br />

23


3. <strong>Reconocimi<strong>en</strong>to</strong> basado <strong>en</strong> <strong>3D</strong> 3.4 Descriptores <strong>de</strong> información <strong>3D</strong><br />

Figura 3.8: El <strong>de</strong>scriptor almac<strong>en</strong>a estadísticas <strong>de</strong> los ángulos relativos <strong>en</strong>tre las normales <strong>de</strong> cada punto<br />

a la normal <strong>de</strong>l c<strong>en</strong>troi<strong>de</strong> <strong>de</strong>l objeto. La parte <strong>de</strong> abajo a la izquierda <strong>de</strong>scribe los tres ángulos calculados<br />

para un par <strong>de</strong> puntos <strong>de</strong> ejemplo. Figura obt<strong>en</strong>ida <strong>de</strong> [18].<br />

el punto <strong>de</strong> vista se calcula un histograma <strong>de</strong> los ángulos que hac<strong>en</strong> cada compon<strong>en</strong>te<br />

normal con el punto <strong>de</strong> vista c<strong>en</strong>tral trasladado a dicha normal. La Figura 3.9 repres<strong>en</strong>ta<br />

gráficam<strong>en</strong>te el concepto.<br />

Figura 3.9: Parte <strong>de</strong> la información <strong>de</strong>l <strong>de</strong>scriptor VFH se calcula a partir <strong>de</strong> las estadísticas <strong>de</strong> los ángulos<br />

relativos <strong>de</strong>l punto <strong>de</strong> vista c<strong>en</strong>tral con cada compon<strong>en</strong>te normal <strong>de</strong> la nube. Figura obt<strong>en</strong>ida <strong>de</strong> [18].<br />

Toda esta información se distribuye <strong>en</strong> un histograma <strong>de</strong> la sigui<strong>en</strong>te manera: 60<br />

subdivisiones para cada uno <strong>de</strong> los tres ángulos pan-tilt-yaw, y 128 subdivisiones para<br />

la compon<strong>en</strong>te <strong>de</strong>l punto <strong>de</strong> vista, lo que <strong>en</strong> total hace un total <strong>de</strong> 308 compon<strong>en</strong>tes, es<br />

<strong>de</strong>cir, solam<strong>en</strong>te son necesarios 308 floats para almac<strong>en</strong>ar el <strong>de</strong>scriptor. En la Figura 3.10<br />

se muestra una repres<strong>en</strong>tación <strong>de</strong> dicho histograma.<br />

Figura 3.10: Ejemplo <strong>de</strong> un histograma VFH para uno <strong>de</strong> los objetos usados. Nótese la concat<strong>en</strong>ación <strong>de</strong><br />

las dos compon<strong>en</strong>tes.<br />

Los resultados obt<strong>en</strong>idos <strong>de</strong> aplicar este <strong>de</strong>scriptor se muestran <strong>en</strong> la Sección 4.3, junto<br />

con el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong> todo el sistema implem<strong>en</strong>tado.<br />

24


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong> objetos<br />

diseñado<br />

En este capítulo va a exponerse todo lo relacionado con el sistema diseñado e<br />

implem<strong>en</strong>tado basándose <strong>en</strong> los estudios explicados anteriorm<strong>en</strong>te. Primero se abordará el<br />

proceso <strong>de</strong> creación <strong>de</strong> los mo<strong>de</strong>los <strong>de</strong> los objetos <strong>en</strong> la base <strong>de</strong> datos (Sección 4.1) para<br />

<strong>de</strong>spués <strong>de</strong>scribir cómo funciona el sistema (Sección 4.2), el método <strong>de</strong> <strong>de</strong>cisión seguido<br />

(Sección 4.2.1) y finalm<strong>en</strong>te evaluar el r<strong>en</strong>dimi<strong>en</strong>to conseguido (Sección 4.3). Para más<br />

información sobre los módulos que forma el sistema, véase el Anexo E.<br />

4.1. Creación <strong>de</strong> mo<strong>de</strong>los <strong>de</strong> los objetos a reconocer<br />

Cada mo<strong>de</strong>lo <strong>de</strong> objeto guardado <strong>en</strong> la base <strong>de</strong> datos consta <strong>de</strong> un conjunto <strong>de</strong><br />

<strong>de</strong>scriptores VFH que <strong>de</strong>notan su forma y punto <strong>de</strong> vista <strong>de</strong>s<strong>de</strong> que se tomó la imag<strong>en</strong>, un<br />

conjunto <strong>de</strong> histogramas <strong>de</strong> color y si el objeto tuviera textura, <strong>de</strong>scriptores SURF que lo<br />

<strong>de</strong>scrib<strong>en</strong>.<br />

Todo este conjunto <strong>de</strong> datos provi<strong>en</strong>e <strong>de</strong> las nubes <strong>de</strong> puntos que se han <strong>de</strong>bido tomar<br />

<strong>de</strong> cada objeto. Como normal g<strong>en</strong>eral, cuantas más imág<strong>en</strong>es y puntos <strong>de</strong> vista distintos se<br />

almac<strong>en</strong><strong>en</strong> <strong>de</strong>l objeto <strong>en</strong> cuestión, mejor <strong>de</strong>scrito quedará <strong>en</strong> la base <strong>de</strong> datos. Sin embargo,<br />

un exceso <strong>de</strong> información pue<strong>de</strong> retrasar <strong>de</strong>masiado el funcionami<strong>en</strong>to <strong>de</strong>l sistema, por lo<br />

que es necesario alcanzar un compromiso. En este proyecto se ha optado por trabajar con<br />

3 puntos <strong>de</strong> vista distintos para cada objeto (lo más comunes según el objeto) y 8 fotos<br />

por cada punto <strong>de</strong> vista, lo que hace un total <strong>de</strong> 24 nubes <strong>de</strong> puntos tomadas para cada<br />

objeto. No obstante, el sistema es flexible <strong>en</strong> cuanto al número <strong>de</strong> datos almac<strong>en</strong>ados por<br />

objeto, por lo que podría variar.<br />

La <strong>en</strong>trada al sistema <strong>de</strong> creación <strong>de</strong>l mo<strong>de</strong>lo consta por tanto <strong>de</strong> un número <strong>de</strong> nubes<br />

<strong>de</strong> puntos <strong>de</strong>l mismo objeto. En la Figura 4.1 se explica el proceso <strong>de</strong> creación <strong>de</strong> dicho<br />

mo<strong>de</strong>lo. Primero, la nube <strong>de</strong> puntos original se segm<strong>en</strong>ta para obt<strong>en</strong>er la nube <strong>de</strong> puntos<br />

<strong>de</strong>l objeto, una imag<strong>en</strong> 2D <strong>de</strong>l tamaño mínimo que <strong>en</strong>globe el objeto y una imag<strong>en</strong> <strong>de</strong><br />

máscara que <strong>de</strong>nota cuáles <strong>de</strong> los píxeles <strong>de</strong> la imag<strong>en</strong> 2D pert<strong>en</strong>ec<strong>en</strong> realm<strong>en</strong>te al objeto,<br />

ver Figura 4.2. Cabe <strong>de</strong>stacar que para obt<strong>en</strong>er la imag<strong>en</strong> recortada tras la segm<strong>en</strong>tación se<br />

añadieron dos campos adicionales a cada punto <strong>de</strong> la nube para facilitar la tarea, que son<br />

los índices [i, j] <strong>de</strong> la imag<strong>en</strong> 2D completa a los que pert<strong>en</strong>ece cada punto <strong>de</strong> la nube. Así,<br />

una vez eliminados <strong>de</strong> la nube los puntos que no forman parte <strong>de</strong>l objeto, se pue<strong>de</strong> extraer<br />

fácilm<strong>en</strong>te los píxeles <strong>de</strong> la imag<strong>en</strong> mínima y su máscara. Tras la segm<strong>en</strong>tación, se extrae<br />

el <strong>de</strong>scriptor VFH <strong>de</strong>l cluster a partir <strong>de</strong> la nube recortada. Después, gracias a la imag<strong>en</strong><br />

2D y la máscara, se int<strong>en</strong>tan extraer los <strong>de</strong>scriptores SURF <strong>de</strong>l objeto, almac<strong>en</strong>ando<br />

25


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 4.1 Creación <strong>de</strong>l mo<strong>de</strong>lo<br />

únicam<strong>en</strong>te los <strong>de</strong>scriptores <strong>de</strong> las imág<strong>en</strong>es que alcanc<strong>en</strong> un <strong>de</strong>terminado número <strong>de</strong><br />

puntos SURF. Nótese que un objeto pue<strong>de</strong> t<strong>en</strong>er textura o no <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong>l punto <strong>de</strong><br />

vista, por lo que el número <strong>de</strong> imág<strong>en</strong>es <strong>de</strong> las que se guardan sus <strong>de</strong>scriptores SURF<br />

pue<strong>de</strong> variar <strong>de</strong>s<strong>de</strong> 0 (objeto sin textura) al total <strong>de</strong> imág<strong>en</strong>es tomadas (objeto con mucha<br />

textura). Por último, y <strong>de</strong> nuevo a partir <strong>de</strong> la imag<strong>en</strong> 2D y la máscara, se construye<br />

el histograma <strong>de</strong> color <strong>de</strong>l objeto, para <strong>de</strong>talles <strong>de</strong> la construcción <strong>de</strong>l histograma véase<br />

Sección 2.2.2. Convi<strong>en</strong>e señalar que cada <strong>de</strong>scriptor, <strong>de</strong> la clase que sea, almac<strong>en</strong>ado <strong>en</strong><br />

la base <strong>de</strong> datos está asociado a una etiqueta que <strong>de</strong>nota <strong>de</strong> que objeto se trata, que se<br />

almac<strong>en</strong>a al mismo tiempo que el propio <strong>de</strong>scriptor.<br />

Figura 4.1: Diagrama <strong>de</strong> creación <strong>de</strong> mo<strong>de</strong>los <strong>de</strong> los objetos. Cada nube <strong>de</strong> puntos se segm<strong>en</strong>ta, a partir<br />

<strong>de</strong> cada nube <strong>de</strong> puntos segm<strong>en</strong>tada se almac<strong>en</strong>a el <strong>de</strong>scriptor VFH y a partir <strong>de</strong> cada imag<strong>en</strong> mínima y<br />

su máscara se almac<strong>en</strong>a el histograma <strong>de</strong> color y los <strong>de</strong>scriptores SURF <strong>en</strong> caso <strong>de</strong> que el objeto tuviera<br />

textura. También se almac<strong>en</strong>a una etiqueta junto a cada <strong>de</strong>scriptor que <strong>de</strong>nota <strong>de</strong> que objeto se trata.<br />

Figura 4.2: Datos <strong>de</strong> la nube <strong>de</strong> puntos tras la segm<strong>en</strong>tación. De izquierda a <strong>de</strong>recha la nube segm<strong>en</strong>tada,<br />

la imag<strong>en</strong> 2D mínima y la máscara.<br />

Así pues, para cada objeto se almac<strong>en</strong>a alre<strong>de</strong>dor <strong>de</strong> 24 <strong>de</strong>scriptores VFH, el mismo<br />

número <strong>de</strong> histogramas <strong>de</strong> color, y un número <strong>de</strong> <strong>de</strong>scriptores SURF variable asociado a<br />

cada imag<strong>en</strong> <strong>en</strong> la que se haya <strong>en</strong>contrado textura <strong>en</strong> el objeto. Con toda esta información<br />

26


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 4.2 Funcionami<strong>en</strong>to <strong>de</strong>l sistema<br />

queda construido el mo<strong>de</strong>lo <strong>de</strong>l objeto, <strong>de</strong>finiéndolo a un nivel <strong>de</strong> <strong>de</strong>talle sufici<strong>en</strong>te como<br />

para po<strong>de</strong>r tratar el problema <strong>de</strong>l reconocimi<strong>en</strong>to <strong>de</strong> objetos con garantías.<br />

4.2. Funcionami<strong>en</strong>to <strong>de</strong>l sistema<br />

En esta sección se va a explicar cómo funciona el sistema <strong>de</strong> reconocimi<strong>en</strong>to,<br />

<strong>de</strong>scribi<strong>en</strong>do todos los pasos que sigue hasta dar con la solución. En la Figura 4.3 se<br />

<strong>de</strong>scribe gráficam<strong>en</strong>te el proceso, y a continuación se explica con <strong>de</strong>talle los pasos <strong>de</strong>l<br />

algoritmo.<br />

Figura 4.3: Diagrama <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong>l cont<strong>en</strong>ido <strong>de</strong> una imag<strong>en</strong> <strong>de</strong> test. Tras la segm<strong>en</strong>tación, para<br />

cada cluster se extra<strong>en</strong> los distintos <strong>de</strong>scriptores, se realizan búsquedas y se obti<strong>en</strong><strong>en</strong> medidas <strong>de</strong> similitud<br />

con los <strong>de</strong>scriptores <strong>de</strong> los objetos almac<strong>en</strong>ados <strong>en</strong> la base <strong>de</strong> datos. Una vez obt<strong>en</strong>ida dicha información,<br />

se <strong>de</strong>ci<strong>de</strong> que objeto es el cluster que se está reconoci<strong>en</strong>do.<br />

1. La <strong>en</strong>trada al sistema correspon<strong>de</strong> con una nube <strong>de</strong> puntos, que es segm<strong>en</strong>tada<br />

para conseguir dividirla <strong>en</strong> difer<strong>en</strong>tes clusters que repres<strong>en</strong>tarán los distintos<br />

objetos que aparezcan <strong>en</strong> la esc<strong>en</strong>a. Por tanto, para cada cluster, al<br />

igual que <strong>en</strong> el proceso <strong>de</strong> creación <strong>de</strong>l mo<strong>de</strong>lo, se ti<strong>en</strong>e la nube <strong>de</strong> puntos<br />

recortada, la imag<strong>en</strong> 2D mínima y su máscara. A partir <strong>de</strong> este mom<strong>en</strong>to,<br />

los sigui<strong>en</strong>tes pasos se realizan para cada cluster <strong>en</strong>contrado.<br />

2. Se extrae el <strong>de</strong>scriptor VFH <strong>de</strong>l cluster y se realiza una búsqueda con la base <strong>de</strong><br />

datos <strong>de</strong> <strong>de</strong>scriptores VFH almac<strong>en</strong>ados. Esta búsqueda se realiza <strong>en</strong> un kd-tree<br />

27


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 4.2 Funcionami<strong>en</strong>to <strong>de</strong>l sistema<br />

y se calcula la distancia Chi-Cuadrado <strong>de</strong>l <strong>de</strong>scriptor <strong>de</strong> test a los k vecinos más<br />

cercanos. La fórmula <strong>de</strong> dicha distancia para el <strong>de</strong>scriptor x <strong>de</strong>l cluster a reconocer<br />

y un <strong>de</strong>scriptor y <strong>de</strong> un objeto <strong>de</strong> la base <strong>de</strong> datos es la sigui<strong>en</strong>te:<br />

χ 2 = (xi − yi) 2<br />

i<br />

El hecho <strong>de</strong> llevar a cabo la búsqueda <strong>en</strong> un árbol implica que el tiempo <strong>de</strong> búsqueda<br />

conlleva un coste <strong>de</strong> O(log n) si<strong>en</strong>do n el número <strong>de</strong> objetos almac<strong>en</strong>ados <strong>en</strong> la base<br />

<strong>de</strong> datos. Que el coste sea logarítmico respecto al aum<strong>en</strong>to <strong>de</strong> la base <strong>de</strong> datos es<br />

una característica muy <strong>de</strong>seable <strong>en</strong> sistemas <strong>de</strong> reconocimi<strong>en</strong>to que necesitan ser<br />

flexibles a posibles increm<strong>en</strong>tos <strong>de</strong> tamaño.<br />

3. Gracias a la búsqueda realizada se construye una lista <strong>de</strong> posibles objetos candidatos.<br />

Esta lista repres<strong>en</strong>ta los objetos que el sistema cree que pue<strong>de</strong> ser el cluster<br />

<strong>en</strong> cuestión. Esta característica permite que las sigui<strong>en</strong>tes búsquedas se realic<strong>en</strong><br />

sobre un subconjunto <strong>de</strong> la base <strong>de</strong> datos <strong>de</strong> objetos, permiti<strong>en</strong>do mayor rapi<strong>de</strong>z.<br />

Esta jerarquización <strong>en</strong> la búsqueda <strong>de</strong> los distintos <strong>de</strong>scriptores también es una<br />

característica <strong>de</strong>seable y muy usada <strong>en</strong> sistemas <strong>de</strong> reconocimi<strong>en</strong>to, como por<br />

ejemplo <strong>en</strong> [19, 21, 22]. Más información sobre cómo se construye esta lista <strong>de</strong><br />

candidatos y qué información almac<strong>en</strong>a durante todo el proceso <strong>de</strong> reconocimi<strong>en</strong>to<br />

se verá a continuación <strong>en</strong> la Sección 4.2.1.<br />

4. Si la lista no conti<strong>en</strong>e ningún candidato, se dice que el objeto<br />

a reconocer no correspon<strong>de</strong> con ningún objeto <strong>de</strong> la base <strong>de</strong><br />

datos, si solam<strong>en</strong>te hay un candidato, esa será la solución. Pero<br />

si la lista conti<strong>en</strong>e más <strong>de</strong> un candidato, son necesarios los sigui<strong>en</strong>tes pasos para<br />

int<strong>en</strong>tar <strong>de</strong>cidir <strong>de</strong> qué objeto se trata.<br />

5. Se extra<strong>en</strong> los puntos SURF <strong>de</strong> la imag<strong>en</strong> <strong>de</strong>l cluster, con ayuda <strong>de</strong> la máscara<br />

para solo extraer <strong>en</strong> las zonas que pert<strong>en</strong>ezcan al objeto. Si se supera un umbral<br />

<strong>de</strong>terminado <strong>de</strong> puntos <strong>en</strong>contrados, se consi<strong>de</strong>ra que el objeto ti<strong>en</strong>e textura y se<br />

realiza una búsqueda, mi<strong>en</strong>tras que si no se alcanza el umbral se pasa al paso<br />

sigui<strong>en</strong>te. Esta búsqueda está basada <strong>en</strong> el algoritmo <strong>de</strong> búsqueda <strong>de</strong>l vecino más<br />

cercano, pero solo se compara con los objetos <strong>de</strong> la lista <strong>de</strong> candidatos. Por este<br />

motivo la búsqueda que se hace es exhaustiva <strong>en</strong> lugar <strong>de</strong> aproximada, pues se<br />

comparará con pocos candidatos. No obstante el sistema permite configurar que<br />

esta búsqueda sea aproximada.<br />

6. En este paso se computa el histograma <strong>de</strong> color <strong>de</strong>l cluster y se realiza una búsqueda<br />

con los histogramas <strong>de</strong> los objetos <strong>de</strong> la lista <strong>de</strong> candidatos. Como medida <strong>de</strong><br />

similitud se utiliza la distancia EMD explicada <strong>en</strong> 2.3.1.<br />

7. Al llegar ha este punto la lista <strong>de</strong> candidatos ha ido recolectando información <strong>de</strong><br />

las búsquedas <strong>en</strong>tre los distintos <strong>de</strong>scriptores, almac<strong>en</strong>ando una puntuación <strong>en</strong>tre<br />

el cluster <strong>de</strong> test y los objetos candidatos. Sin embargo, la puntuación adquirida<br />

para cada una <strong>de</strong> las tres búsquedas es <strong>de</strong> muy difer<strong>en</strong>te naturaleza, por lo que <strong>de</strong>be<br />

normalizarse para po<strong>de</strong>r ser t<strong>en</strong>ida <strong>en</strong> cu<strong>en</strong>ta por igual. Un algoritmo <strong>de</strong> <strong>de</strong>cisión se<br />

28<br />

yi


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 4.2 Funcionami<strong>en</strong>to <strong>de</strong>l sistema<br />

<strong>en</strong>carga <strong>de</strong> ello y <strong>de</strong> estimar a partir <strong>de</strong> esa información cual es el objeto. Para más<br />

información sobre este paso <strong>de</strong>l algoritmo véase la Sección 4.2.1.<br />

8. Por último, cuando ya se ha <strong>de</strong>cidido qué objeto es cada cluster <strong>de</strong> la nube <strong>de</strong> puntos<br />

<strong>de</strong> <strong>en</strong>trada, se muestra una imag<strong>en</strong> señalando los objetos que el sistema estima <strong>en</strong><br />

la posición <strong>de</strong> los clusters originales. El sistema también cu<strong>en</strong>ta con 3 niveles <strong>de</strong><br />

verbosidad que permit<strong>en</strong> obt<strong>en</strong>er por consola mayor o m<strong>en</strong>or información sobre la<br />

traza <strong>de</strong> ejecución <strong>de</strong>l sistema. En la Figura 4.4 se muestra una <strong>en</strong>trada al sistema<br />

<strong>de</strong> reconocimi<strong>en</strong>to y la salida obt<strong>en</strong>ida.<br />

Figura 4.4: Entrada y salida <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to. A la izquierda la nube <strong>de</strong> puntos <strong>de</strong> <strong>en</strong>trada,<br />

a la <strong>de</strong>recha una imag<strong>en</strong> 2D, don<strong>de</strong> un recuadro <strong>en</strong>vuelve los clusters <strong>en</strong>contrados y especifica el objeto<br />

que ha reconocido.<br />

4.2.1. Selección y evaluación <strong>de</strong> los objetos candidatos<br />

En esta sección se va a explicar con más <strong>de</strong>talle el método que sigue el sistema <strong>de</strong><br />

reconocimi<strong>en</strong>to para seleccionar y posteriorm<strong>en</strong>te evaluar una lista <strong>de</strong> objetos candidatos.<br />

Concretam<strong>en</strong>te se va a com<strong>en</strong>tar como se crea la lista <strong>de</strong> posibles objetos reconocidos<br />

(objetos candidatos), la información que almac<strong>en</strong>a a lo largo <strong>de</strong>l proceso y finalm<strong>en</strong>te<br />

como se normaliza esa información para <strong>de</strong>cidir que objeto <strong>de</strong> la lista es el más similar al<br />

objeto <strong>de</strong> test.<br />

Lista <strong>de</strong> candidatos<br />

La creación <strong>de</strong> la lista <strong>de</strong> candidatos es un paso muy importante, pues hay que asegurar<br />

que <strong>en</strong> ella este cont<strong>en</strong>ido el objeto al que correspon<strong>de</strong> el cluster que se está reconoci<strong>en</strong>do,<br />

aunque <strong>de</strong>bido a ello se introduzcan más candidatos. Los sigui<strong>en</strong>tes pasos que evalúan más<br />

<strong>de</strong>scriptores ya se <strong>en</strong>cargarán <strong>de</strong> pulir la <strong>de</strong>cisión. Por tanto, <strong>en</strong> la lista <strong>de</strong> candidatos se<br />

crea <strong>de</strong> la sigui<strong>en</strong>te manera: tras la extracción <strong>de</strong>l <strong>de</strong>scriptor VFH <strong>en</strong> el cluster que estamos<br />

evaluando <strong>de</strong> la imag<strong>en</strong> <strong>de</strong> test, y calcular la distancia Chi-Cuadrado <strong>en</strong>tre este cluster y<br />

los ejemplos <strong>de</strong> la base <strong>de</strong> datos, se elig<strong>en</strong> los n vecinos más cercanos <strong>de</strong>ntro <strong>de</strong> la base<br />

29


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 4.2 Funcionami<strong>en</strong>to <strong>de</strong>l sistema<br />

<strong>de</strong> datos. De <strong>en</strong>tre estos vecinos se incluy<strong>en</strong> <strong>en</strong> la lista todos los objetos cuya distancia d<br />

cumpla estas condiciones:<br />

d < 3mindist si mindist ≤ 20<br />

d < 2mindist ∧ d < 100 si mindist > 20<br />

Si<strong>en</strong>do mindist la distancia <strong>de</strong>l primer vecino más cercano. Se <strong>de</strong>cidió ampliar la condición<br />

<strong>de</strong> <strong>en</strong>trada a la lista <strong>de</strong> candidatos hasta 3mindist para casos con mindist muy pequeña<br />

para asegurar más la inclusión <strong>de</strong>l objeto al que correspon<strong>de</strong> el cluster a reconocer <strong>en</strong> la<br />

lista <strong>de</strong> candidatos.<br />

Es muy posible que un mismo objeto <strong>de</strong> la base <strong>de</strong> datos corresponda a varios <strong>de</strong> los<br />

vecinos más cercanos que cumpl<strong>en</strong> las condiciones arriba expuestas, pero solo convi<strong>en</strong>e<br />

guardar una distancia por objeto <strong>en</strong> esta lista <strong>de</strong> candidatos. Por tanto, la distancia (xi)<br />

para el <strong>de</strong>scriptor VFH evaluado <strong>de</strong>l objeto i <strong>de</strong> la lista <strong>de</strong> candidatos es la sigui<strong>en</strong>te:<br />

xi = (<br />

k<br />

j=1<br />

d j<br />

i repi<br />

) · (1 −<br />

k 100 )<br />

Si<strong>en</strong>do d j<br />

i la j-ésima mejor distancia Chi-Cuadrado <strong>de</strong>l objeto i, repi el número <strong>de</strong> veces<br />

que el objeto i satisface las condiciones para <strong>en</strong>trar <strong>en</strong> la lista <strong>de</strong> candidatos y k obt<strong>en</strong>ido<br />

con la sigui<strong>en</strong>te expresión:<br />

<br />

3 si repi ≥ 3<br />

k =<br />

repi si repi < 3<br />

Esta distancia almac<strong>en</strong>ada es la media <strong>de</strong> hasta las tres mejores distancias, pero se le resta<br />

un 1 % a esa distancia por cada vez que se repita el objeto, para premiar la repetición.<br />

Todas las constantes numéricas <strong>de</strong> estas expresiones están tomados empíricam<strong>en</strong>te.<br />

<strong>de</strong>scripción mas <strong>de</strong>tallada <strong>de</strong> objetos candidatos. Una vez extraídas las características<br />

SURF <strong>de</strong> los elem<strong>en</strong>tos <strong>de</strong> la lista <strong>de</strong> candidatos, para los que result<strong>en</strong> como<br />

objetos con textura, porque se <strong>en</strong>contraron sufici<strong>en</strong>tes puntos SURF, se almac<strong>en</strong>a la mejor<br />

medida <strong>de</strong> similitud Sim (Ecuación 2.1) <strong>en</strong>contrada. En cuanto a los histogramas <strong>de</strong><br />

color, se almac<strong>en</strong>a la mejor medida <strong>de</strong> similitud <strong>en</strong>contrada para cada objeto <strong>de</strong> la lista.<br />

Dicha medida <strong>de</strong> similitud correspon<strong>de</strong> con la distancia EMD explicada <strong>en</strong> la Sección 2.3.1.<br />

Evaluación <strong>de</strong> los candidatos y elección <strong>de</strong> la solución<br />

En este punto, la lista <strong>de</strong> candidatos cu<strong>en</strong>ta con distintas medidas para cada candidato,<br />

que repres<strong>en</strong>tan la probabilidad <strong>de</strong> que dicho candidato sea el objeto a reconocer. Sin<br />

embargo, estas medidas, las distancias o medidas <strong>de</strong> similitud <strong>de</strong> cada <strong>de</strong>scriptor, son<br />

<strong>de</strong> distinta naturaleza y or<strong>de</strong>n <strong>de</strong> magnitud, por lo que es necesario normalizarlas. Se ha<br />

optado por una normalización por el máximo, consigui<strong>en</strong>do <strong>de</strong> esta manera para la medida<br />

<strong>de</strong> cada <strong>de</strong>scriptor un ratio <strong>en</strong>tre 0 y 1, don<strong>de</strong> mayor valor significa mayor probabilidad <strong>de</strong><br />

que el objeto candidato sea el objeto <strong>de</strong> test, es <strong>de</strong>cir, se consigue una medida <strong>de</strong> similitud<br />

normalizada. Concretam<strong>en</strong>te, estas son las operaciones que se realizan:<br />

30


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 4.3 R<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema<br />

• Para la normalización <strong>de</strong>l <strong>de</strong>scriptor VFH se calcula:<br />

simNormvfh = 1 − minvfh − xvfh<br />

maxvfh<br />

Si<strong>en</strong>do xvfh la distancia a normalizar, minvfh la m<strong>en</strong>or distancia <strong>en</strong>contrada <strong>en</strong> la lista<br />

<strong>de</strong> candidatos y maxvfh la distancia límite que no <strong>de</strong>bía superarse para que un objeto<br />

<strong>en</strong>trara <strong>en</strong> la lista <strong>de</strong> candidatos.<br />

• Para la normalización <strong>de</strong>l <strong>de</strong>scriptor SURF se calcula:<br />

simNormsurf = xsurf<br />

maxsurf<br />

Si<strong>en</strong>do xsurf la medida <strong>de</strong> similitud a normalizar y maxsurf la mejor similitud <strong>en</strong>contrada<br />

<strong>en</strong> la lista <strong>de</strong> candidatos.<br />

• Para la normalización <strong>de</strong> los histogramas <strong>de</strong> color se calcula:<br />

maxdist =<br />

maxcolor<br />

si maxcolor ≤ 7,5<br />

7,5 si maxcolor > 7,5<br />

simNormcolor = 1 − xcolor<br />

maxdist<br />

Si<strong>en</strong>do xcolor la medida <strong>de</strong> similitud a normalizar y maxcolor la mayor distancia EMD<br />

<strong>en</strong>contrada <strong>en</strong> la lista <strong>de</strong> candidatos. En este caso no se normaliza por el máximo absoluto,<br />

sino que si maxcolor supera cierto umbral, se consi<strong>de</strong>ra ese umbral como el máximo. Esto<br />

se <strong>de</strong>cidió así porque <strong>en</strong> la práctica, valores más allá <strong>de</strong> 7.5 reflejan una coinci<strong>de</strong>ncia nula<br />

<strong>en</strong>tre los objetos. El valor 7.5 es la mitad <strong>de</strong>l valor máximo que la distancia EMD pue<strong>de</strong><br />

<strong>de</strong>volver, que es 15, ya que los histogramas manejados son <strong>de</strong> 16 compon<strong>en</strong>tes.<br />

Selección final <strong>de</strong>l objeto. Una vez las medidas están normalizadas, simplem<strong>en</strong>te se<br />

calcula la media y se escoge como elección aquel objeto <strong>de</strong> la lista que t<strong>en</strong>ga una media más<br />

alta. Sin embargo, <strong>en</strong> el caso <strong>de</strong> que el objeto t<strong>en</strong>ga textura y por tanto se t<strong>en</strong>ga <strong>en</strong> cu<strong>en</strong>ta<br />

la valoración <strong>de</strong> los <strong>de</strong>scriptores SURF, la valoración <strong>de</strong>l histograma <strong>de</strong> color pier<strong>de</strong> la<br />

mitad <strong>de</strong> su peso a la hora <strong>de</strong> hacer la media. Esta <strong>de</strong>cisión se tomó tras comprobar<br />

empíricam<strong>en</strong>te que los objetos con textura, susceptibles <strong>de</strong> t<strong>en</strong>er muchos colores, no<br />

pres<strong>en</strong>taban resultados excesivam<strong>en</strong>te bu<strong>en</strong>os a la medida <strong>de</strong> similitud propuesta.<br />

4.3. R<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema<br />

Para po<strong>de</strong>r <strong>de</strong>terminar el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema se llevaron a cabo una serie <strong>de</strong><br />

experim<strong>en</strong>tos, <strong>de</strong>tallados <strong>en</strong> el anexo D, que permit<strong>en</strong> averiguar como se comporta<br />

<strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> la naturaleza <strong>de</strong> los objetos a reconocer, la combinación <strong>de</strong> <strong>de</strong>scriptores<br />

usados y si los objetos sufr<strong>en</strong> oclusiones o no. Como medida <strong>de</strong> r<strong>en</strong>dimi<strong>en</strong>to, <strong>en</strong> todos<br />

los experim<strong>en</strong>tos se han utilizado los coefici<strong>en</strong>tes precision y recall, medida muy habitual<br />

para evaluar reconocedores, y que son <strong>de</strong>finidos <strong>de</strong> la sigui<strong>en</strong>te manera:<br />

precision = tp<br />

tp+fp recall = tp<br />

tp+fn<br />

31<br />

(4.1)


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 4.3 R<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema<br />

Si<strong>en</strong>do tp el número <strong>de</strong> verda<strong>de</strong>ros positivos, fp el <strong>de</strong> falsos positivos y fn el <strong>de</strong> falsos<br />

negativos.<br />

En esta sección se van a pres<strong>en</strong>tar los dos experim<strong>en</strong>tos que mejor resum<strong>en</strong> el<br />

r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema. En el anexo D hay experim<strong>en</strong>tos adicionales que evalúan las<br />

combinaciones <strong>de</strong> <strong>de</strong>scriptores según la forma <strong>de</strong> los objetos a reconocer, (se int<strong>en</strong>ta<br />

reconocer objetos con forma difer<strong>en</strong>te, parecida o igual a otros objetos <strong>de</strong> la base <strong>de</strong><br />

datos), y si ti<strong>en</strong><strong>en</strong> textura o no. También se evalúa el sistema cuando se int<strong>en</strong>tan<br />

reconocer objetos que sufr<strong>en</strong> oclusiones.<br />

Experim<strong>en</strong>to con objetos variados y personalm<strong>en</strong>te fotografiados<br />

En este experim<strong>en</strong>to se pret<strong>en</strong><strong>de</strong> averiguar el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema cuando se<br />

<strong>en</strong>fr<strong>en</strong>ta al reconocimi<strong>en</strong>to <strong>de</strong> objetos <strong>de</strong> distinta naturaleza, todo tipo <strong>de</strong> formas y<br />

t<strong>en</strong>i<strong>en</strong>do o no textura. La base <strong>de</strong> datos durante la ejecución <strong>de</strong> este experim<strong>en</strong>to cont<strong>en</strong>ía<br />

42 objetos, (aproximadam<strong>en</strong>te 24 imág<strong>en</strong>es por objeto para crear el mo<strong>de</strong>lo), la mayoría<br />

<strong>de</strong> ellos fotografiados personalm<strong>en</strong>te, aunque se incorporaron varios mo<strong>de</strong>los proce<strong>de</strong>ntes<br />

<strong>de</strong> un dataset público [23] con objeto <strong>de</strong> que no todos los mo<strong>de</strong>los prov<strong>en</strong>gan <strong>de</strong> la misma<br />

fu<strong>en</strong>te. En el Anexo F aparece información sobre los objetos capturados, así como <strong>de</strong> los<br />

objetos <strong>de</strong>l dataset público citado. Se han reconocido 118 objetos repartidos <strong>en</strong> 28 fotos<br />

<strong>de</strong> test. La Tabla 4.1 muestra los resultados.<br />

<strong>de</strong>scriptores Tiempo <strong>de</strong> ejecución (seg) Precision Recall<br />

forma 207.523 0.602 1.0<br />

forma+color 208.311 0.576 1.0<br />

forma+surf 214.181 0.737 1.0<br />

forma+surf+color 214.821 0.805 1.0<br />

surf+color 228.684 0.475 1.0<br />

Tabla 4.1: Resultados <strong>de</strong> reconocimi<strong>en</strong>to sobre tests objetos <strong>de</strong> difer<strong>en</strong>tes tipos.<br />

Los resultados muestran un bu<strong>en</strong> r<strong>en</strong>dimi<strong>en</strong>to g<strong>en</strong>eral <strong>de</strong>l sistema cuando se utilizan<br />

todos los <strong>de</strong>scriptores posibles, pues <strong>de</strong>p<strong>en</strong>di<strong>en</strong>do <strong>de</strong> la naturaleza <strong>de</strong>l objeto, será un<br />

<strong>de</strong>scriptor u otro el que discrimine con más garantías el objeto <strong>de</strong>l que se trata. Cabe<br />

señalar que el peor resultado es el <strong>de</strong> la combinación <strong>de</strong> <strong>de</strong>scriptores que no utilizan<br />

información <strong>3D</strong> para reconocer, no solo <strong>en</strong> aciertos, sino también <strong>en</strong> tiempo <strong>de</strong> ejecución.<br />

Esto era <strong>de</strong> esperar ya que al no existir para ese caso la lista <strong>de</strong> candidatos creada<br />

<strong>de</strong> acuerdo al <strong>de</strong>scriptor <strong>de</strong> forma, se <strong>de</strong>b<strong>en</strong> comparar SURF e histogramas <strong>de</strong> color<br />

con todos los objetos <strong>de</strong> la base <strong>de</strong> datos. Esto muestra las v<strong>en</strong>tajas <strong>de</strong> las técnicas <strong>de</strong><br />

reconocimi<strong>en</strong>to <strong>3D</strong>, nótese que los resultados arrojados por la combinación “surf+color”<br />

son muy bajos, pero aún lo serían más si realm<strong>en</strong>te no se hubiera segm<strong>en</strong>tado la región<br />

<strong>de</strong> interés utilizado información <strong>3D</strong>.<br />

Comparación con otro sistema <strong>de</strong> reconocimi<strong>en</strong>to<br />

En este experim<strong>en</strong>to se quiere comparar el sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong>sarrollado <strong>en</strong><br />

este proyecto por el propuesto reci<strong>en</strong>tem<strong>en</strong>te <strong>en</strong> [23], que también utiliza información <strong>3D</strong>.<br />

32


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 4.3 R<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema<br />

Para ello se va a utilizar el mismo dataset, aunque <strong>en</strong> este caso un subconjunto <strong>de</strong>l mismo<br />

<strong>de</strong>bido a su gran tamaño, y se va a replicar uno <strong>de</strong> los experim<strong>en</strong>tos llevados a cabo<br />

<strong>en</strong> el sistema citado. El experim<strong>en</strong>to consiste <strong>en</strong> almac<strong>en</strong>ar como mo<strong>de</strong>lo <strong>de</strong> un objeto<br />

imág<strong>en</strong>es tomadas <strong>de</strong>s<strong>de</strong> dos puntos <strong>de</strong> vista difer<strong>en</strong>tes, y como imág<strong>en</strong>es <strong>de</strong> test las <strong>de</strong> ese<br />

mismo objeto pero <strong>de</strong>s<strong>de</strong> un punto <strong>de</strong> vista difer<strong>en</strong>te. Cabe <strong>de</strong>stacar que el sistema citado<br />

almac<strong>en</strong>a <strong>de</strong>scriptores extraídos <strong>de</strong>l or<strong>de</strong>n <strong>de</strong> 250 imág<strong>en</strong>es por mo<strong>de</strong>lo, mi<strong>en</strong>tras que el<br />

sistema propuesto aquí almac<strong>en</strong>a solo <strong>de</strong>scriptores extraídos <strong>de</strong> 24 imág<strong>en</strong>es por mo<strong>de</strong>lo.<br />

Para este experim<strong>en</strong>to se ha mant<strong>en</strong>ido una base <strong>de</strong> datos con 60 objetos difer<strong>en</strong>tes, y<br />

se han reconocido 448 objetos, uno por imag<strong>en</strong>. En la Figura 4.5 se muestra la gráfica<br />

precision-recall <strong>de</strong> los dos sistemas.<br />

Figura 4.5: Curvas Precision-Recall <strong>de</strong> los dos sistemas.<br />

La gráfica muestra que el sistema <strong>de</strong>sarrollado no alcanza el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema<br />

propuesto <strong>en</strong> [23], aunque la difer<strong>en</strong>cia no es <strong>de</strong>masiado elevada, y sin embargo muestra<br />

la v<strong>en</strong>taja <strong>de</strong> ser mucho más estable <strong>en</strong> cuanto a fallos <strong>de</strong> tipo falso negativo, es <strong>de</strong>cir, el<br />

sistema raram<strong>en</strong>te reconoce un objeto don<strong>de</strong> realm<strong>en</strong>te no lo hay. También <strong>de</strong>be t<strong>en</strong>erse<br />

<strong>en</strong> cu<strong>en</strong>ta que el número <strong>de</strong> imág<strong>en</strong>es por mo<strong>de</strong>lo <strong>en</strong> la base <strong>de</strong> datos es alre<strong>de</strong>dor <strong>de</strong> 10<br />

veces m<strong>en</strong>or <strong>en</strong> el sistema <strong>de</strong>sarrollado <strong>en</strong> este proyecto.<br />

33


4. Sistema <strong>de</strong> reconocimi<strong>en</strong>to 4.3 R<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema<br />

34


5. Conclusiones y trabajo futuro<br />

En este capítulo se pres<strong>en</strong>tan las conclusiones extraídas tras la realización <strong>de</strong> este<br />

proyecto, así como propuestas <strong>de</strong> trabajo futuro.<br />

5.1. Conclusiones<br />

La aparición <strong>de</strong>l s<strong>en</strong>sor kinect <strong>en</strong> el mercado ha supuesto poco m<strong>en</strong>os que una<br />

revolución <strong>en</strong> el mundo <strong>de</strong> la visión por computador. Su capacidad para extraer <strong>en</strong> tiempo<br />

real el mapa <strong>de</strong> profundidad <strong>de</strong> una esc<strong>en</strong>a ha impulsado varias líneas <strong>de</strong> investigación<br />

que sigu<strong>en</strong> muy activas. El <strong>de</strong>seo <strong>de</strong> formar parte <strong>de</strong> dicho trabajo unido con el interés<br />

por la visión por computador han sido motivación más que sufici<strong>en</strong>te para llevar a cabo<br />

el proyecto.<br />

El objetivo principal <strong>de</strong>l proyecto ha sido diseñar e implem<strong>en</strong>tar un sistema <strong>de</strong><br />

reconocimi<strong>en</strong>to con información <strong>3D</strong> que <strong>de</strong>muestre el b<strong>en</strong>eficio que aportan dichos s<strong>en</strong>sores<br />

fr<strong>en</strong>te a sistemas <strong>de</strong> reconocimi<strong>en</strong>to conv<strong>en</strong>cionales, objetivo que se ha cumplido con unos<br />

resultados satisfactorios. Para lograrlo, se estudiaron diversas librerías para el manejo <strong>de</strong><br />

kinect, así como literatura relacionada con reconocimi<strong>en</strong>to con imág<strong>en</strong>es conv<strong>en</strong>cionales<br />

necesaria para construir un sistema inicial que evi<strong>de</strong>nciara los puntos más débiles y<br />

más fuertes <strong>de</strong>l reconocimi<strong>en</strong>to que se ha <strong>de</strong>nominado como 2D. Posteriorm<strong>en</strong>te se<br />

estudió literatura relacionada con técnicas <strong>de</strong> reconocimi<strong>en</strong>to utilizando información <strong>de</strong><br />

profundidad <strong>de</strong> cada píxel <strong>de</strong> la imag<strong>en</strong> (que se ha <strong>de</strong>nominado como reconocimi<strong>en</strong>to<br />

<strong>3D</strong>). Finalm<strong>en</strong>te se diseñó e implem<strong>en</strong>tó un sistema basado <strong>en</strong> la combinación <strong>de</strong> ambas<br />

técnicas, que mejorara lo implem<strong>en</strong>tado con anterioridad <strong>en</strong> la literatura estudiada.<br />

Los puntos don<strong>de</strong> más difer<strong>en</strong>cia ha marcado el uso <strong>de</strong> técnicas <strong>3D</strong> han sido la<br />

segm<strong>en</strong>tación <strong>de</strong> la imag<strong>en</strong> a analizar y la jerarquización <strong>en</strong> las comparaciones <strong>en</strong>tre<br />

<strong>de</strong>scriptores <strong>de</strong> imág<strong>en</strong>es. Sin las técnicas <strong>3D</strong> el proceso <strong>de</strong> segm<strong>en</strong>tación no alcanzaría<br />

los niveles <strong>de</strong> r<strong>en</strong>dimi<strong>en</strong>to obt<strong>en</strong>idos, ya que sería mucho mas costoso eliminar el plano <strong>de</strong><br />

fondo correspondi<strong>en</strong>te al suelo o una mesa, agrupar los píxeles <strong>de</strong> la imag<strong>en</strong> <strong>en</strong> clusters<br />

que parezcan pert<strong>en</strong>ecer a un objeto e incluso <strong>de</strong>scartar las partes <strong>de</strong> la esc<strong>en</strong>a <strong>de</strong>masiado<br />

lejanas como para ser <strong>de</strong> interés. En cuanto a la jerarquización <strong>de</strong>l sistema <strong>de</strong> evaluación<br />

<strong>de</strong> similitud, esta ha sido posible gracias al <strong>de</strong>scriptor <strong>de</strong> forma <strong>3D</strong>, ya que es aplicable<br />

a todos los objetos, todos ti<strong>en</strong><strong>en</strong> forma, y es lo sufici<strong>en</strong>tem<strong>en</strong>te discriminante como para<br />

po<strong>de</strong>r <strong>de</strong>scartar rápidam<strong>en</strong>te la mayoría <strong>de</strong> objetos <strong>de</strong> la base <strong>de</strong> datos, <strong>de</strong>jando como<br />

candidatos un pequeño porc<strong>en</strong>taje <strong>de</strong>l total. Esto consigue un funcionami<strong>en</strong>to mucho más<br />

rápido y que el coste <strong>de</strong>l reconocimi<strong>en</strong>to crezca <strong>de</strong> forma logarítmica respecto al tamaño<br />

<strong>de</strong> la base <strong>de</strong> datos, pues la búsqueda se realiza <strong>en</strong> un árbol.<br />

35


5. Conclusiones y trabajo futuro 5.2 Trabajo futuro<br />

5.2. Trabajo futuro<br />

Tras la realización <strong>de</strong> este proyecto, ase han abierto nuevas líneas <strong>de</strong> trabajo que<br />

servirían para aum<strong>en</strong>tar o complem<strong>en</strong>tar al sistema <strong>de</strong> reconocimi<strong>en</strong>to diseñado.<br />

Segm<strong>en</strong>tación <strong>de</strong> las regiones <strong>de</strong> interés mezclando técnicas 2D y <strong>3D</strong>. La<br />

segm<strong>en</strong>tación que realiza el sistema propuesto falla <strong>en</strong> un caso, cuando varios<br />

objetos se <strong>en</strong>cu<strong>en</strong>tran <strong>de</strong>masiado juntos como para que la clusterización euclí<strong>de</strong>a los<br />

consi<strong>de</strong>re como cuerpos distintos. En esos casos los objetos serían consi<strong>de</strong>rados como<br />

un cluster a evaluar, con lo que con toda probabilidad se fallaría <strong>en</strong> reconocerlos<br />

todos. Se podría combinar la clusterización <strong>de</strong> puntos <strong>3D</strong> realizada con técnicas para<br />

segm<strong>en</strong>tar imág<strong>en</strong>es basadas <strong>en</strong> información 2D, como los contornos que se pue<strong>de</strong>n<br />

extraer <strong>en</strong> una imag<strong>en</strong>, para int<strong>en</strong>tar <strong>de</strong>cidir si alguno <strong>de</strong> los clusters obt<strong>en</strong>idos<br />

conti<strong>en</strong>e <strong>en</strong> realidad más <strong>de</strong> un objeto.<br />

Integración con un robot. Este proyecto podría ser <strong>de</strong> utilidad para aplicaciones <strong>de</strong><br />

robótica, ya que consigue resultados fiables <strong>en</strong> tiempos aceptables para ejecutar <strong>en</strong><br />

sistemas con restricciones temporales. Para ejecutar este sistema <strong>de</strong> reconocimi<strong>en</strong>to<br />

<strong>de</strong>ntro <strong>de</strong> un robot manipulador que <strong>de</strong>ba buscar y coger objetos, habría que adaptar<br />

el sistema para funcionar <strong>de</strong>ntro <strong>de</strong>l sistema operativo ROS 1 , especialm<strong>en</strong>te creado<br />

para trabajar con robots.<br />

1 http://www.ros.org/wiki/<br />

36


Bibliografía<br />

[1] Radu Bogdan Rusu and Steve Cousins, <strong>3D</strong> is here: Point Cloud Library (PCL). In<br />

IEEE International Confer<strong>en</strong>ce on Robotics and Automation (ICRA), 2011.<br />

[2] Marius Muja and David G. Lowe, Fast Approximate Nearest Neighbors with<br />

Automatic Algorithm Configuration. in International Confer<strong>en</strong>ce on Computer Vision<br />

Theory and Applications (VISAPP’09), 2009.<br />

[3] Richard Szeliski, Computer Vision: Algorithms and Applications. pages 654–734,<br />

2010.<br />

[4] Ethan Rublee, Vic<strong>en</strong>t Rabaud, Kurt Konolige, Gary Bradski, ORB: an effici<strong>en</strong>t<br />

alternative to SIFT or SURF. International Confer<strong>en</strong>ce on Computer Vision, 2011.<br />

[5] E. Rost<strong>en</strong> and T. Drummond, Machine learning for highspeed corner <strong>de</strong>tection. In<br />

European Confer<strong>en</strong>ce on Computer Vision, volume 1, 2006.<br />

[6] M. Calon<strong>de</strong>r, V. Lepetit, C. Strecha, and P. Fua, Brief: Binary robust in<strong>de</strong>p<strong>en</strong><strong>de</strong>nt<br />

elem<strong>en</strong>tary features. In European Confer<strong>en</strong>ce on Computer Vision, 2010.<br />

[7] H. Bay, T. Tuytelaars, and L. Van Gool, Surf: Spee<strong>de</strong>d up robust features. In European<br />

Conf. on Computer Vision, 2006.<br />

[8] David Lowe, Object recognition from local scale-invariant features. Proceedings of the<br />

International Confer<strong>en</strong>ce on Computer Vision, pages 1150–1157, 1999.<br />

[9] Jon Louis B<strong>en</strong>tley, Multidim<strong>en</strong>sional binary search trees used for associative<br />

searching. In Communications of the ACM, 1975.<br />

[10] Martin A. Fischler and Robert C. Bolles, Random sample cons<strong>en</strong>sus: a paradigm<br />

for mo<strong>de</strong>l fitting with applications to image analysis and automated cartography.<br />

Communications of the ACM, Volume 24 Issue 6, 1981.<br />

[11] D. E. Knuth, The Art of Computer Programming. Addison-Wesley, 1973.<br />

[12] Stuart LLoyd, Least square quantization in PCM. IEEE Transactions on Information<br />

Theory, 1982.<br />

[13] Y. Rubner, C. Tomasi, and L. J. Guibas, The earth mover’s distance as a metric for<br />

image retrieval. In International Journal of Computer Vision, 2000.<br />

37


BIBLIOGRAFÍA BIBLIOGRAFÍA<br />

[14] S. T. Rachev, The Monge-Kantorovich mass transfer<strong>en</strong>e problema and its stochastic<br />

applications. Theory of probability and its applications XXIX(4) pages 647–676, 1984.<br />

[15] Javier Arroyo Espallargas, Guía turística <strong>de</strong> monum<strong>en</strong>tos basada <strong>en</strong> reconocimi<strong>en</strong>to<br />

visual con un móvil. PFC Universidad <strong>de</strong> Zaragoza, 2012.<br />

[16] X. R<strong>en</strong> and J. Malik, Learning a classification mo<strong>de</strong>l for segm<strong>en</strong>tation. In Proc. 9th<br />

Int. Conf. Computer Vision, volume 1, pages 10–17, 2003.<br />

[17] Pedro F. Felz<strong>en</strong>szwalb and Daniel P. Hutt<strong>en</strong>locher, Effici<strong>en</strong>t graph-based image<br />

segm<strong>en</strong>tation. In International Journal of Computer Vision, Volume 59, Number 2,<br />

2004.<br />

[18] Radu Bogdan Rusu, Gary Bradski, Romain Thibaux and John Hsu, Fast <strong>3D</strong><br />

Recognition and Pose Using the Viewpoint Feature Histogram. Proceedings of the<br />

23rd IEEE/RSJ International Confer<strong>en</strong>ce on Intellig<strong>en</strong>t Robots and Systems (IROS),<br />

2010.<br />

[19] Marius Muja, Radu Bogdan Rusu, Gary Bradski and David G. Lowe, REIN - A<br />

Fast, Robust, Scalable REcognition INfrastructure. In IEEE International Confer<strong>en</strong>ce<br />

on Robotics and Automation (ICRA), 2011.<br />

[20] Radu Bogdan Rusu, Semantic <strong>3D</strong> Object Maps for Everyday Manipulation in<br />

Human Living Environm<strong>en</strong>ts. PhD Thesis Computer Sci<strong>en</strong>ce <strong>de</strong>partm<strong>en</strong>t, Technische<br />

Universitaet Mu<strong>en</strong>ch<strong>en</strong>, Germany, 2009.<br />

[21] Kevin Lai, Lief<strong>en</strong>g Bo, Xiaof<strong>en</strong>g R<strong>en</strong> and Dieter Fox, A Scalable Tree-based Approach<br />

for Joint Object and Pose Recognition. In AAAI Confer<strong>en</strong>ce on Artificial Intellig<strong>en</strong>ce<br />

2011.<br />

[22] Kevin Lai, Lief<strong>en</strong>g Bo, Xiaof<strong>en</strong>g R<strong>en</strong> and Dieter Fox, Object Recognition with<br />

Hierarchical Kernel Descriptors. In IEEE International Confer<strong>en</strong>ce on Computer<br />

Vision and Pattern Recognition (CVPR) 2011.<br />

[23] Kevin Lai, Lief<strong>en</strong>g Bo, Xiaof<strong>en</strong>g R<strong>en</strong> and Dieter Fox, A Large-Scale Hierarchical<br />

Multi-View RGB-D Object Dataset. In IEEE International Confer<strong>en</strong>ce on Robotics<br />

and Automation (ICRA) 2011.<br />

38


Anexo A.<br />

El dispositivo Kinect<br />

Kinect es un controlador <strong>de</strong> juego y <strong>en</strong>tret<strong>en</strong>imi<strong>en</strong>to <strong>de</strong>sarrollado por Microsoft para<br />

la vi<strong>de</strong>oconsola Xbox 360 y para PC, lanzado al mercado <strong>en</strong> Noviembre <strong>de</strong> 2010. En la<br />

Figura A.1 se muestra una fotografía <strong>de</strong>l dispositivo y sus compon<strong>en</strong>tes.<br />

Figura A.1: Dispositivo Kinect y sus compon<strong>en</strong>tes.<br />

El s<strong>en</strong>sor Kinect es una barra horizontal conectada a una pequeña base con un pivote<br />

motorizado y está diseñado para posicionarse <strong>en</strong>cima o <strong>de</strong>bajo <strong>de</strong> una pantalla <strong>de</strong> ví<strong>de</strong>o.<br />

El dispositivo cu<strong>en</strong>ta con una cámara RGB, un s<strong>en</strong>sor <strong>de</strong> profundidad y varios micrófonos.<br />

También integra un software propietario que permite la captura <strong>de</strong> movimi<strong>en</strong>tos <strong>en</strong> <strong>3D</strong><br />

<strong>de</strong>l cuerpo, reconocimi<strong>en</strong>to facial y reconocimi<strong>en</strong>to por voz. No obstante, <strong>en</strong> este anexo<br />

solo se van a <strong>de</strong>scribir las características relacionadas con visión.<br />

El s<strong>en</strong>sor <strong>de</strong> profundidad consiste <strong>en</strong> un proyector <strong>de</strong> láser infrarrojo combinado con<br />

un s<strong>en</strong>sor CMOS monocromático, lo que captura datos <strong>de</strong> ví<strong>de</strong>o <strong>en</strong> <strong>3D</strong> bajo cualquier<br />

condición <strong>de</strong> luz ambi<strong>en</strong>tal.<br />

La cámara RGB <strong>de</strong>l s<strong>en</strong>sor proporciona ví<strong>de</strong>o a una frecu<strong>en</strong>cia <strong>de</strong> 30 Hz, con una<br />

resolución <strong>de</strong> 640x480 píxeles y una profundidad <strong>de</strong> 8 bits, mi<strong>en</strong>tras que el s<strong>en</strong>sor <strong>de</strong><br />

profundidad cu<strong>en</strong>ta con una resolución <strong>de</strong> 640x480 píxeles con una profundidad <strong>de</strong> 11<br />

bits, lo que provee hasta 2048 niveles <strong>de</strong> s<strong>en</strong>sibilidad. El s<strong>en</strong>sor ti<strong>en</strong>e un rango <strong>de</strong> trabajo<br />

<strong>de</strong> aproximadam<strong>en</strong>te 0.7–6 metros. El s<strong>en</strong>sor ti<strong>en</strong>e un campo <strong>de</strong> visión angular <strong>de</strong> 57 ◦<br />

horizontalm<strong>en</strong>te y <strong>de</strong> 43 ◦ verticalm<strong>en</strong>te, mi<strong>en</strong>tras que el pivote motorizado pue<strong>de</strong> inclinar<br />

el s<strong>en</strong>sor hasta 27 ◦ , hacia arriba o hacia abajo.<br />

39


A. El dispositivo Kinect<br />

Des<strong>de</strong> su lanzami<strong>en</strong>to han aparecido varios controladores <strong>de</strong> código abierto que<br />

permit<strong>en</strong> integrarlo <strong>en</strong> un or<strong>de</strong>nador bajo cualquier sistema operativo, lo cual ha permitido<br />

su explotación para fines <strong>de</strong> investigación. Actualm<strong>en</strong>te este s<strong>en</strong>sor es la herrami<strong>en</strong>ta <strong>de</strong><br />

trabajo <strong>de</strong> multitud <strong>de</strong> investigaciones, pues sus características abr<strong>en</strong> nuevas posibilida<strong>de</strong>s<br />

a áreas <strong>de</strong> investigación relacionadas con la visión por computador, como pue<strong>de</strong>n ser<br />

la reconstrucción <strong>de</strong> esc<strong>en</strong>as <strong>3D</strong>, la <strong>de</strong>tección y reconocimi<strong>en</strong>to <strong>de</strong> objetos, captura <strong>de</strong><br />

gestos. . .<br />

40


Anexo B.<br />

Gestión <strong>de</strong>l proyecto<br />

En este anexo se <strong>de</strong>talla como se ha gestionado el tiempo para la realización <strong>de</strong> este<br />

proyecto. El periodo durante el cual se ha <strong>de</strong>sarrollado el proyecto abarca <strong>de</strong>s<strong>de</strong> principios<br />

<strong>de</strong> Octubre <strong>de</strong> 2011 hasta mediados <strong>de</strong> Abril <strong>de</strong> 2012. El diagrama <strong>de</strong> Gantt repres<strong>en</strong>tado<br />

<strong>en</strong> la Figura B.1 <strong>de</strong>talla las tareas que se han llevado a cabo y el tiempo empleado<br />

<strong>en</strong> ellas. Se pue<strong>de</strong> apreciar dos bloques consecutivos, que son el estudio <strong>de</strong> literatura,<br />

diseño, implem<strong>en</strong>tación y evaluación <strong>de</strong> cada sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong>sarrollado. En el<br />

diagrama se observa que el sistema final ha llevado más tiempo para ser <strong>de</strong>sarrollado, aun<br />

utilizando parte <strong>de</strong>l reconocimi<strong>en</strong>to 2D implem<strong>en</strong>tado <strong>en</strong> el sistema inicial. Las principales<br />

causas son el fuerte estudio <strong>de</strong> docum<strong>en</strong>tación llevado a cabo y el apr<strong>en</strong>dizaje <strong>de</strong> librerías<br />

para manejar y procesar información <strong>3D</strong>. También se observa un tiempo importante <strong>en</strong> la<br />

integración <strong>de</strong>l dispositivo kinect con el or<strong>de</strong>nador. Esto se <strong>de</strong>bió a que <strong>en</strong> aquel mom<strong>en</strong>to<br />

los drivers y librerías para su manejo no eran <strong>de</strong>l todo estables, y su instalación solía ser<br />

dificultosa.<br />

Durante el <strong>de</strong>sarrollo <strong>de</strong>l proyecto se mantuvo una reunión semanal con la directora<br />

que podía ser pres<strong>en</strong>cial o vía Internet. Estas reuniones fueron <strong>de</strong> utilidad para llevar un<br />

control <strong>de</strong> lo que se había hecho hasta el mom<strong>en</strong>to, discutir las posibles vías <strong>de</strong> trabajo y<br />

para recibir ayuda <strong>en</strong> las cuestiones que surgieron durante el <strong>de</strong>sarrollo <strong>de</strong>l proyecto.<br />

41


B. Gestión <strong>de</strong>l proyecto<br />

Figura B.1: Diagrama <strong>de</strong> Gantt que muestra las tareas realizadas y el tiempo empleado <strong>en</strong> cada una <strong>de</strong><br />

ellas.<br />

42


Anexo C.<br />

Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> inicial<br />

<strong>de</strong> reconocimi<strong>en</strong>to 2D<br />

En este anexo se pres<strong>en</strong>tan con <strong>de</strong>talle todos los experim<strong>en</strong>tos llevados a cabo sobre el<br />

sistema <strong>de</strong> reconocimi<strong>en</strong>to 2D inicial con objeto <strong>de</strong> evaluar su r<strong>en</strong>dimi<strong>en</strong>to. Este sistema<br />

manti<strong>en</strong>e una pequeña base <strong>de</strong> datos <strong>de</strong> 13 objetos, con 8 fotos <strong>de</strong> cada objeto, lo que<br />

hace un total <strong>de</strong> 104 fotos <strong>de</strong> refer<strong>en</strong>cia.<br />

C.0.1. Experim<strong>en</strong>tos con el algoritmo <strong>de</strong> búsqueda <strong>de</strong> vecino<br />

más cercano<br />

Todos los algoritmos explicados <strong>en</strong> esta sección utilizan alguna variante <strong>de</strong>l algoritmo<br />

<strong>de</strong> búsqueda <strong>de</strong>l vecino más cercano, exhaustiva o aproximada, y <strong>en</strong> algunos casos<br />

también incorporan la estimación robusta RANSAC.<br />

Experim<strong>en</strong>to 1: SURF vs ORB<br />

Este experim<strong>en</strong>to se ha realizado probando 30 fotos <strong>de</strong> test <strong>de</strong> los objetos <strong>de</strong> la base<br />

<strong>de</strong> datos, un objeto por foto. Las fotos están tomadas sobre fondo blanco para eliminar<br />

ruido y que el reconocimi<strong>en</strong>to sea más s<strong>en</strong>cillo. El objetivo es comparar el r<strong>en</strong>dimi<strong>en</strong>to que<br />

ofrec<strong>en</strong> los <strong>de</strong>scriptores SURF y ORB, así como la búsqueda exhaustiva y la aproximada.<br />

En este caso no se utiliza el algoritmo RANSAC.<br />

Para com<strong>en</strong>zar, dadas dos imág<strong>en</strong>es Imi y Imj se probaron las sigui<strong>en</strong>tes medidas <strong>de</strong><br />

similitud:<br />

Sim1(Imi, Imj) = Matchesij<br />

Sim2(Imi, Imj) = Matchesij/Max(NumDesci, NumDescj)<br />

Si<strong>en</strong>do Matchesij el número <strong>de</strong> correspon<strong>de</strong>ncias <strong>en</strong>tre las imág<strong>en</strong>es i y j y NumDesci<br />

el número <strong>de</strong> <strong>de</strong>scriptores extraídos <strong>de</strong> la imag<strong>en</strong> i. Las Tablas C.1 y C.2 muestran<br />

los resultados obt<strong>en</strong>idos <strong>de</strong> utilizar <strong>de</strong>scriptores SURF y las alternativas <strong>de</strong> búsqueda<br />

exhaustiva y aproximada respectivam<strong>en</strong>te. La columna “Prof. <strong>de</strong> búsqueda” repres<strong>en</strong>ta<br />

el nivel máximo explorado durante la búsqueda <strong>en</strong> árbol.<br />

Las Tablas C.3 y C.4 reflejan el mismo experim<strong>en</strong>to que las anteriores, pero <strong>en</strong> este<br />

caso se utilizan los <strong>de</strong>scriptores ORB.<br />

43


C. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to 2D<br />

Similitud Tiempo <strong>de</strong> ejecución (seg) % Aciertos<br />

Sim1 11.43 90.0<br />

Sim2 11.59 90.0<br />

Tabla C.1: Resultados obt<strong>en</strong>idos utilizando <strong>de</strong>scriptores SURF y búsqueda exhaustiva.<br />

Similitud Prof. <strong>de</strong> búsqueda Tiempo <strong>de</strong> ejecución (seg) % Aciertos<br />

64 30.25 53.33<br />

Sim1 32 11.02 53.33<br />

16 10.23 50.00<br />

64 30.75 80.00<br />

Sim2 32 11.12 76.67<br />

16 10.55 73.33<br />

Tabla C.2: Resultados obt<strong>en</strong>idos utilizando <strong>de</strong>scriptores SURF y búsqueda aproximada.<br />

A la vista <strong>de</strong> los resultados, se <strong>de</strong>cidió trabajar con los <strong>de</strong>scriptores SURF, pues aunque<br />

son más l<strong>en</strong>tos, muestran unos resultados mucho mejores que los <strong>de</strong>scriptores ORB <strong>en</strong> estos<br />

experim<strong>en</strong>tos iniciales.<br />

Observando los resultados, también se aprecia que aunque la alternativa <strong>de</strong> búsqueda<br />

aproximada pue<strong>de</strong> ser un poco más rápida que la búsqueda exhaustiva, <strong>en</strong> este caso la<br />

difer<strong>en</strong>cia es mínima ya que el tamaño <strong>de</strong> la base <strong>de</strong> datos es pequeño y la ganancia<br />

<strong>en</strong> el tiempo <strong>de</strong> búsqueda se pier<strong>de</strong> construy<strong>en</strong>do el árbol <strong>de</strong> búsqueda, los resultados<br />

son significativam<strong>en</strong>te peores. Con una base <strong>de</strong> datos superior la ganancia sería mayor,<br />

pero por otro lado los resultados empeorarían. Así pues, hasta que no se conozca con más<br />

<strong>de</strong>talle cómo va a integrarse el reconocimi<strong>en</strong>to 2D <strong>de</strong>ntro <strong>de</strong>l sistema final, se <strong>de</strong>cidió <strong>de</strong>jar<br />

la puerta abierta a los dos algoritmos.<br />

Como última <strong>de</strong>cisión, a partir <strong>de</strong> ese mom<strong>en</strong>to <strong>en</strong> los experim<strong>en</strong>tos solo se utilizó Sim2<br />

como medida <strong>de</strong> similitud, pues ofrece un r<strong>en</strong>dimi<strong>en</strong>to mejor a la otra alternativa.<br />

Experim<strong>en</strong>to 2: RANSAC<br />

El objetivo <strong>de</strong> este experim<strong>en</strong>to es comprobar cómo afecta el algoritmo RANSAC al<br />

funcionami<strong>en</strong>to <strong>de</strong>l sistema <strong>en</strong> <strong>en</strong>tornos más reales que los <strong>de</strong>l experim<strong>en</strong>to anterior, es<br />

<strong>de</strong>cir, don<strong>de</strong> el objeto a reconocer no está sobre fondo blanco, sino sobre una mesa o una<br />

estantería y ro<strong>de</strong>ado <strong>de</strong> más objetos <strong>en</strong> la esc<strong>en</strong>a. Para ello el experim<strong>en</strong>to se ha realizado<br />

probando 30 fotos <strong>de</strong> test <strong>de</strong> los distintos objetos <strong>de</strong> la base <strong>de</strong> datos, un objeto por foto,<br />

<strong>en</strong> esc<strong>en</strong>arios con mucho ruido.<br />

Las Tablas C.5 y C.6 muestran los resultados obt<strong>en</strong>idos utilizando <strong>de</strong>scriptores SURF,<br />

la medida <strong>de</strong> similitud Sim2 y las alternativas <strong>de</strong> búsqueda exhaustiva y aproximada<br />

respectivam<strong>en</strong>te.<br />

Observando estos resultados, resulta obvio que es necesaria una etapa <strong>de</strong> segm<strong>en</strong>tación<br />

cuando se trabaja <strong>en</strong> <strong>en</strong>tornos más reales, pues ninguna <strong>de</strong> las alternativas arroja unos<br />

resultados aceptables. Se aprecia también que ahora la ganancia <strong>de</strong> tiempo <strong>de</strong> cómputo<br />

<strong>de</strong> la búsqueda aproximada respecto a la exhaustiva es mayor. Esto es así porque ahora el<br />

44


C. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to 2D<br />

Similitud Tiempo <strong>de</strong> ejecución (seg) % Aciertos<br />

Sim1 8.59 70.00<br />

Sim2 8.63 76.67<br />

Tabla C.3: Resultados obt<strong>en</strong>idos utilizando <strong>de</strong>scriptores ORB y búsqueda exhaustiva.<br />

Similitud Prof. <strong>de</strong> búsqueda Tiempo <strong>de</strong> ejecución (seg) % Aciertos<br />

16 11.26 40.00<br />

Sim1 8 8.33 40.00<br />

4 5.97 36.67<br />

16 11.17 50.00<br />

Sim2 8 8.02 50.00<br />

4 5.84 50.00<br />

Tabla C.4: Resultados obt<strong>en</strong>idos utilizando <strong>de</strong>scriptores ORB y búsqueda aproximada.<br />

número <strong>de</strong> puntos SURF que <strong>en</strong>cu<strong>en</strong>tra el algoritmo <strong>en</strong> las imág<strong>en</strong>es <strong>de</strong> test es mayor, y<br />

por tanto comparar todos los <strong>de</strong>scriptores <strong>en</strong>tre sí conlleva una carga pesada. Otro aspecto<br />

que salta a la vista es la notable mejora <strong>de</strong> los resultados cuando se aplica el algoritmo<br />

RANSAC, aunque el tiempo <strong>de</strong> cómputo también aum<strong>en</strong>ta consi<strong>de</strong>rablem<strong>en</strong>te.<br />

T<strong>en</strong>i<strong>en</strong>do todo esto <strong>en</strong> cu<strong>en</strong>ta, se <strong>de</strong>cidió que era necesario implem<strong>en</strong>tar una etapa<br />

<strong>de</strong> segm<strong>en</strong>tación <strong>de</strong> la imag<strong>en</strong> <strong>en</strong> regiones <strong>de</strong> interés que parezcan t<strong>en</strong>er un único objeto<br />

antes <strong>de</strong> int<strong>en</strong>tar el reconocimi<strong>en</strong>to <strong>de</strong>l objeto. Esto permitirá evaluar si finalm<strong>en</strong>te es<br />

necesario utilizar RANSAC o el hecho <strong>de</strong> segm<strong>en</strong>tar regiones <strong>de</strong> la imag<strong>en</strong> <strong>en</strong> posibles<br />

objetos permite una robustez sufici<strong>en</strong>te.<br />

C.0.2. Experim<strong>en</strong>tos utilizando bolsa <strong>de</strong> palabras<br />

En los experim<strong>en</strong>tos explicados <strong>en</strong> esta sección se utiliza como algoritmo <strong>de</strong> similitud<br />

la bolsa <strong>de</strong> palabras, previam<strong>en</strong>te explicado. Las imág<strong>en</strong>es <strong>de</strong> <strong>en</strong>trada son las mismas<br />

que las utilizadas <strong>en</strong> el experim<strong>en</strong>to 1 <strong>de</strong> la sección anterior con el algoritmo <strong>de</strong> búsqueda<br />

<strong>de</strong>l vecino más cercano, es <strong>de</strong>cir, 30 fotos <strong>de</strong> los objetos <strong>de</strong> la base <strong>de</strong> datos sobre fondo<br />

blanco. Las medidas <strong>de</strong> similitud utilizadas <strong>en</strong> los sigui<strong>en</strong>tes experim<strong>en</strong>tos están basadas<br />

<strong>en</strong> el trabajo <strong>de</strong>sarrollado <strong>en</strong> [15]<br />

Experim<strong>en</strong>to 1: comparación <strong>de</strong> histogramas<br />

En este experim<strong>en</strong>to se ha utilizado una medida <strong>de</strong> similitud basada <strong>en</strong> la comparación<br />

<strong>de</strong> los histogramas <strong>de</strong> palabras (Sección 2.3.2) <strong>de</strong> cada imag<strong>en</strong>. Dadas dos imág<strong>en</strong>es Imi<br />

y Imj<br />

Sim(Imi, Imj) = |Hi − Hj|<br />

Si<strong>en</strong>do Hi el histograma <strong>de</strong> palabras asociado a Imi. En la Tabla C.7 se muestran<br />

los resultados obt<strong>en</strong>idos La columna “Número <strong>de</strong> clusters” indica cuantos clusters se<br />

emplearon <strong>en</strong> la creación <strong>de</strong>l vocabulario.<br />

45


C. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to 2D<br />

RANSAC Tiempo <strong>de</strong> ejecución (seg) % Aciertos<br />

NO 33.25 33.33<br />

SÍ 78.93 50.00<br />

Tabla C.5: Resultados obt<strong>en</strong>idos utilizando <strong>de</strong>scriptores SURF y búsqueda exhaustiva.<br />

RANSAC Prof. <strong>de</strong> búsqueda Tiempo <strong>de</strong> ejecución (seg) % Aciertos<br />

64 32.95 23.33<br />

NO 32 20.06 20.00<br />

16 14.27 20.00<br />

64 33.95 36.67<br />

SÍ 32 21.57 33.33<br />

16 16.60 30.00<br />

Tabla C.6: Resultados obt<strong>en</strong>idos utilizando <strong>de</strong>scriptores SURF y búsqueda aproximada.<br />

Los resultados reflejan una gran disminución <strong>en</strong> el tiempo <strong>de</strong> cómputo respecto al<br />

algoritmo <strong>de</strong>l vecino más cercano, pero un porc<strong>en</strong>taje <strong>de</strong> acierto muy por <strong>de</strong>bajo <strong>de</strong> lo<br />

aceptable. La causa <strong>de</strong> esta pobre actuación es <strong>de</strong>bida a que este algoritmo está ori<strong>en</strong>tado<br />

a trabajar con gran<strong>de</strong>s bases <strong>de</strong> datos, don<strong>de</strong> trabajar un algoritmo como el <strong>de</strong> búsqueda<br />

<strong>de</strong>l vecino cercano no sería posible, <strong>de</strong>bido al coste computacional. A<strong>de</strong>más, para po<strong>de</strong>r<br />

obt<strong>en</strong>er un vocabulario <strong>de</strong> palabras visuales repres<strong>en</strong>tativo es necesario t<strong>en</strong>er más<br />

información <strong>de</strong> refer<strong>en</strong>cia don<strong>de</strong> calcularlo. Por tanto, se <strong>de</strong>cidió eliminar esta opción<br />

como alternativa para el sistema final.<br />

Experim<strong>en</strong>to 2: frecu<strong>en</strong>cia <strong>de</strong> aparición<br />

En este caso, la medida <strong>de</strong> similitud está basada <strong>en</strong> la frecu<strong>en</strong>cia con la que aparece<br />

cada palabra w <strong>en</strong> cada imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia Imi. Cada palabra que aparece <strong>en</strong> la imag<strong>en</strong><br />

<strong>de</strong> consulta Imc vota a aquellas imág<strong>en</strong>es <strong>de</strong> refer<strong>en</strong>cia don<strong>de</strong> aparecía con una frecu<strong>en</strong>cia<br />

ma´s similar. La imag<strong>en</strong> más similar será aquella con más votos. Más formalm<strong>en</strong>te:<br />

<br />

Hc(j) si [Hc(j) − Hi(j)] = min([Hc(j) − H1(j)], . . . , [Hc(j) − Hn(j)])<br />

V otos(Imi, wj) =<br />

0 <strong>en</strong> cualquier otro caso<br />

V otosi =<br />

n<br />

V otos(Imi, wj)<br />

j=1<br />

Don<strong>de</strong> Hc(j) es el número <strong>de</strong> votos a la palabra j exist<strong>en</strong>te <strong>en</strong> la imag<strong>en</strong> <strong>de</strong> consulta.<br />

Hi(j) es el número <strong>de</strong> votos a la palabra j exist<strong>en</strong>te <strong>en</strong> la imag<strong>en</strong> <strong>de</strong> refer<strong>en</strong>cia i. En la<br />

Tabla C.8 se muestran los resultados obt<strong>en</strong>idos.<br />

Se observa que <strong>en</strong> este caso los resultados tampoco son sufici<strong>en</strong>tem<strong>en</strong>te bu<strong>en</strong>os. Aunque<br />

el porc<strong>en</strong>taje sea un poco mejor que <strong>en</strong> el experim<strong>en</strong>to anterior, sigue estando muy por<br />

<strong>de</strong>bajo <strong>de</strong> lo aceptable. Por tanto, esta medida <strong>de</strong> similitud también quedó eliminada,<br />

eliminando por ext<strong>en</strong>sión la opción <strong>de</strong>l algoritmo <strong>de</strong> la bolsa <strong>de</strong> palabras como opción a<br />

integrar <strong>en</strong> el sistema final.<br />

46


C. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to 2D<br />

Número <strong>de</strong> Clusters Tiempo <strong>de</strong> ejecución (seg) % Aciertos<br />

200 2.88 20.00<br />

300 2.99 23.33<br />

500 3.06 23.33<br />

750 3.55 33.33<br />

1000 3.82 26.67<br />

Tabla C.7: Resultados obt<strong>en</strong>idos mediante el algoritmo <strong>de</strong> bolsa <strong>de</strong> palabras.<br />

Número <strong>de</strong> Clusters Tiempo <strong>de</strong> ejecución (seg) % Aciertos<br />

200 2.93 23.33<br />

300 3.01 26.67<br />

500 3.25 26.67<br />

750 3.58 33.33<br />

1000 3.69 30.00<br />

Tabla C.8: Resultados obt<strong>en</strong>idos mediante el algoritmo <strong>de</strong> bolsa <strong>de</strong> palabras.<br />

Esto <strong>de</strong>jaba como única opción <strong>de</strong> algoritmo <strong>de</strong> similitud la búsqueda <strong>de</strong>l vecino<br />

cercano, que fue la que finalm<strong>en</strong>te se implantó <strong>en</strong> el sistema <strong>de</strong> reconocimi<strong>en</strong>to con<br />

información <strong>3D</strong>.<br />

47


C. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to 2D<br />

48


Anexo D.<br />

Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> final<br />

<strong>de</strong> reconocimi<strong>en</strong>to <strong>3D</strong><br />

En este anexo se pres<strong>en</strong>tan los experim<strong>en</strong>tos adicionales llevados a cabo para<br />

i<strong>de</strong>ntificar el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema y que no aparec<strong>en</strong> <strong>en</strong> la Sección 4.3. Todos los<br />

experim<strong>en</strong>tos se han ejecutado sobre una base <strong>de</strong> datos <strong>de</strong> 42 objetos, la mayoría <strong>de</strong><br />

ellos fotografiados personalm<strong>en</strong>te, aunque también se incluye algún mo<strong>de</strong>lo obt<strong>en</strong>ido <strong>de</strong>l<br />

dataset [23]. Como medida <strong>de</strong>l r<strong>en</strong>dimi<strong>en</strong>to, <strong>en</strong> todos los experim<strong>en</strong>tos se han utilizado<br />

los coefici<strong>en</strong>tes precision y recall, <strong>de</strong>finidos <strong>en</strong> la Ecuación 4.1<br />

Experim<strong>en</strong>to 1: objetos con forma difer<strong>en</strong>ciable<br />

El objetivo <strong>de</strong> este experim<strong>en</strong>to es comprobar como se comporta el sistema cuando<br />

trata <strong>de</strong> i<strong>de</strong>ntificar objetos <strong>de</strong> forma fácilm<strong>en</strong>te difer<strong>en</strong>ciables, es <strong>de</strong>cir, no hay ningún<br />

objeto <strong>en</strong> la base <strong>de</strong> datos que t<strong>en</strong>ga una forma parecida al objeto a reconocer. Para ello<br />

el experim<strong>en</strong>to se ha dividido <strong>en</strong> dos partes, una para objetos con textura y otra para los<br />

objetos sin textura, ya que todas las combinaciones <strong>de</strong> <strong>de</strong>scriptores no son válidas para los<br />

objetos sin textura. Para la parte con textura, se han reconocido 56 objetos repartidos <strong>en</strong><br />

20 fotos, mi<strong>en</strong>tras que para la parte sin textura se han reconocido 42 objetos repartidos<br />

<strong>en</strong> 15 fotos. En las Tablas D.1 y D.2 se muestran los resultados obt<strong>en</strong>idos.<br />

Descriptores Tiempo <strong>de</strong> ejecución (seg) Precision Recall<br />

forma 132.407 0.678 1.0<br />

forma+color 132.956 0.411 1.0<br />

forma+surf 135.842 0.786 1.0<br />

forma+surf+color 135.928 0.750 1.0<br />

Tabla D.1: Resultados obt<strong>en</strong>idos con objetos difer<strong>en</strong>ciables con textura.<br />

Los resultados muestran que el añadir reconocimi<strong>en</strong>to por SURF y por color ap<strong>en</strong>as<br />

increm<strong>en</strong>ta el tiempo <strong>de</strong> ejecución respecto al reconocimi<strong>en</strong>to básico con el <strong>de</strong>scriptor <strong>de</strong><br />

información <strong>3D</strong>, gracias al uso <strong>de</strong> la lista <strong>de</strong> candidatos. También se observa que <strong>en</strong> el<br />

caso <strong>de</strong> objetos difer<strong>en</strong>ciables, añadir el <strong>de</strong>scriptor <strong>de</strong> color perjudica el r<strong>en</strong>dimi<strong>en</strong>to. Esto<br />

último se <strong>de</strong>be a que estos objetos pose<strong>en</strong> varios colores, que dificultan notablem<strong>en</strong>te su<br />

49


D. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>3D</strong><br />

Descriptores Tiempo <strong>de</strong> ejecución (seg) Precision Recall<br />

forma 101.084 0.730 0.844<br />

forma+color 101.106 0.541 0.800<br />

reconocimi<strong>en</strong>to por color.<br />

Tabla D.2: Resultados obt<strong>en</strong>idos con objetos difer<strong>en</strong>ciables sin textura.<br />

Experim<strong>en</strong>to 2: objetos con forma parecida<br />

En este caso, se quiere comprobar el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema cuando se trata <strong>de</strong><br />

reconocer objetos que ti<strong>en</strong><strong>en</strong> forma parecida a otros objetos almac<strong>en</strong>ados <strong>en</strong> la base <strong>de</strong><br />

datos, es <strong>de</strong>cir, casos <strong>en</strong> los que el <strong>de</strong>scriptor <strong>de</strong> forma no es <strong>de</strong>l todo discriminante. Estos<br />

experim<strong>en</strong>tos también se han dividido <strong>en</strong> objetos con y sin textura, reconoci<strong>en</strong>do para el<br />

primer caso 55 objetos repartidos <strong>en</strong> 20 fotos y 39 objetos repartidos <strong>en</strong> 15 fotos para el<br />

segundo. Las Tablas D.3 y D.4 muestran los resultados.<br />

Descriptores Tiempo <strong>de</strong> ejecución (seg) Precision Recall<br />

forma 115.930 0.489 1.0<br />

forma+color 119.791 0.511 1.0<br />

forma+surf 118.681 0.709 1.0<br />

forma+surf+color 120.120 0.727 1.0<br />

Tabla D.3: Resultados obt<strong>en</strong>idos con objetos <strong>de</strong> forma parecida con textura.<br />

Descriptores Tiempo <strong>de</strong> ejecución (seg) Precision Recall<br />

forma 75.583 0.821 1.0<br />

forma+color 75.823 0.744 1.0<br />

Tabla D.4: Resultados obt<strong>en</strong>idos con objetos <strong>de</strong> forma parecida sin textura.<br />

A raíz <strong>de</strong> los resultados, se observa que <strong>en</strong> este caso el <strong>de</strong>scriptor <strong>de</strong> color ya no<br />

supone una pérdida tan abultada como con los objetos <strong>de</strong> forma difer<strong>en</strong>ciable, incluso<br />

mejora el r<strong>en</strong>dimi<strong>en</strong>to <strong>en</strong> los objetos con textura. También se aprecia la importante<br />

ganancia <strong>de</strong> aplicar el reconocimi<strong>en</strong>to por SURF <strong>en</strong> objetos con textura, don<strong>de</strong> esto<br />

mejora notablem<strong>en</strong>te el r<strong>en</strong>dimi<strong>en</strong>to.<br />

Experim<strong>en</strong>to 3: objetos con forma igual<br />

Este experim<strong>en</strong>to pret<strong>en</strong><strong>de</strong> comprobar el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema <strong>en</strong> casos don<strong>de</strong><br />

se quier<strong>en</strong> reconocer objetos cuya forma es igual, o extremadam<strong>en</strong>te parecida, a otros<br />

objetos <strong>de</strong> la base <strong>de</strong> datos. Esto implica que el <strong>de</strong>scriptor <strong>de</strong> forma es nada o muy<br />

poco discriminante, por lo que los <strong>de</strong>más <strong>de</strong>scriptores <strong>de</strong>berán hacer la mayor parte <strong>de</strong>l<br />

50


D. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>3D</strong><br />

trabajo. También se ha dividido el experim<strong>en</strong>to <strong>en</strong> objetos con y sin textura, reconoci<strong>en</strong>do<br />

53 objetos repartidos <strong>en</strong> 20 fotos <strong>en</strong> el primer caso y 55 objetos repartidos <strong>en</strong> 20 fotos <strong>en</strong><br />

el segundo. Las Tablas D.5 y D.6 muestran los resultados.<br />

Descriptores Tiempo <strong>de</strong> ejecución (seg) Precision Recall<br />

forma 154.171 0.377 1.0<br />

forma+color 154.755 0.340 1.0<br />

forma+surf 161.148 0.717 1.0<br />

forma+surf+color 161.814 0.717 1.0<br />

Tabla D.5: Resultados obt<strong>en</strong>idos con objetos <strong>de</strong> forma igual con textura.<br />

Descriptores Tiempo <strong>de</strong> ejecución (seg) Precision Recall<br />

forma 64.638 0.363 1.0<br />

forma+color 64.805 0.927 1.0<br />

Tabla D.6: Resultados obt<strong>en</strong>idos con objetos <strong>de</strong> forma igual sin textura.<br />

Estos resultados prueban que el empleo <strong>de</strong> <strong>de</strong>scriptores <strong>de</strong> difer<strong>en</strong>te naturaleza es<br />

una i<strong>de</strong>a acertada, pues <strong>en</strong> este caso y como era <strong>de</strong> esperar los resultados obt<strong>en</strong>idos<br />

solam<strong>en</strong>te con el <strong>de</strong>scriptor <strong>de</strong> forma son muy bajos, mi<strong>en</strong>tras que aplicando también<br />

<strong>de</strong>scriptores SURF <strong>en</strong> los objetos con textura y color <strong>en</strong> los objetos sin textura se logra<br />

un r<strong>en</strong>dimi<strong>en</strong>to mucho mayor. También se aprecia <strong>en</strong> este caso un aum<strong>en</strong>to <strong>de</strong>l tiempo <strong>de</strong><br />

ejecución respecto a los <strong>de</strong>más experim<strong>en</strong>tos <strong>en</strong> el caso <strong>de</strong> objetos con textura. Esto se<br />

<strong>de</strong>be a que la lista <strong>de</strong> candidatos formada para cada objeto a reconocer es más abultada,<br />

pues el <strong>de</strong>scriptor <strong>de</strong> forma no discriminará <strong>en</strong>tre todos los objetos <strong>de</strong> la base <strong>de</strong> datos<br />

que t<strong>en</strong>gan la misma forma.<br />

Experim<strong>en</strong>to 4: objetos con oclusiones<br />

En este caso, se quiere comprobar el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema cuando se trata <strong>de</strong><br />

reconocer objetos que pres<strong>en</strong>tan oclusiones, es <strong>de</strong>cir, no se pue<strong>de</strong> ver el objeto completo,<br />

bi<strong>en</strong> porque está tapado por otro objeto o porque está cortado por los límites <strong>de</strong> la esc<strong>en</strong>a.<br />

Los objetos a reconocer son variados, por lo que solo se ha utilizado la combinación<br />

<strong>de</strong> <strong>de</strong>scriptores “forma+surf+color” que es la que mejores resultados arrojaba, véase la<br />

Sección 4.3. Se han reconocido 53 objetos repartidos <strong>en</strong> 12 fotos. La Tabla D.7 muestra<br />

el resultado.<br />

Descriptores Tiempo <strong>de</strong> ejecución (seg) Precision Recall<br />

forma+surf+color 80.685 0.745 0.950<br />

Tabla D.7: Resultados obt<strong>en</strong>idos con objetos con oclusiones.<br />

Los resultados muestran que el sistema manti<strong>en</strong>e unos resultados aceptables incluso<br />

con objetos con oclusión, algo muy <strong>de</strong>seable <strong>en</strong> sistemas <strong>de</strong> reconocimi<strong>en</strong>to, pues no<br />

51


D. Experim<strong>en</strong>tos sobre el sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>3D</strong><br />

siempre se pue<strong>de</strong> asegurar que los objetos que se quieran reconocer vayan a aparecer<br />

completos <strong>en</strong> <strong>en</strong>tornos reales <strong>de</strong> ejecución.<br />

52


Anexo E.<br />

Diagrama <strong>de</strong> módulos <strong>de</strong>l sistema <strong>de</strong><br />

reconocimi<strong>en</strong>to<br />

La Figura E.1 muestra el diagrama <strong>de</strong> los módulos <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to<br />

<strong>de</strong>sarrollado. Dichos módulos se <strong>de</strong>scrib<strong>en</strong> a continuación.<br />

Figura E.1: Diagrama <strong>de</strong> módulos <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to <strong>de</strong>sarrollado.<br />

Reconocedor. Este es el módulo principal <strong>de</strong>l sistema. Se <strong>en</strong>carga <strong>de</strong> realizar las<br />

llamadas a las funciones <strong>de</strong> todos los módulos implem<strong>en</strong>tados y <strong>de</strong> <strong>de</strong>cidir con<br />

ayuda <strong>de</strong> las difer<strong>en</strong>tes medidas <strong>de</strong> similitud calculadas por los módulos cuáles son<br />

los objetos a reconocer.<br />

Captura <strong>de</strong> datos <strong>de</strong> <strong>en</strong>trada. La función <strong>de</strong> este módulo es conseguir un flujo <strong>de</strong><br />

<strong>en</strong>trada <strong>de</strong> datos <strong>en</strong> forma <strong>de</strong> nube <strong>de</strong> puntos a través <strong>de</strong>l s<strong>en</strong>sor kinect. El módulo<br />

utiliza el driver Op<strong>en</strong>NI para comunicarse con el s<strong>en</strong>sor.<br />

Procesami<strong>en</strong>to <strong>de</strong> nubes <strong>de</strong> puntos. Este módulo se <strong>en</strong>carga <strong>de</strong> segm<strong>en</strong>tar las nubes<br />

<strong>de</strong> puntos <strong>de</strong> <strong>en</strong>trada. Entre sus funciones están la <strong>de</strong> recortar zonas <strong>de</strong> la nube<br />

53


E. Diagrama <strong>de</strong> módulos <strong>de</strong>l sistema <strong>de</strong> reconocimi<strong>en</strong>to<br />

<strong>de</strong> puntos que no son <strong>de</strong> interés, por ser zonas <strong>de</strong>masiado lejanas, eliminar planos<br />

que pert<strong>en</strong>ezcan a pare<strong>de</strong>s, suelo, mesas. . . y agrupar los puntos <strong>en</strong> clusters que<br />

repres<strong>en</strong>tan los puntos <strong>de</strong> la nube que pert<strong>en</strong>ec<strong>en</strong> a un mismo objeto. El módulo<br />

utiliza funciones implem<strong>en</strong>tadas <strong>en</strong> la librería PCL.<br />

<strong>Reconocimi<strong>en</strong>to</strong> <strong>3D</strong>. Este módulo es el <strong>en</strong>cargado <strong>de</strong> todo lo relacionado con el<br />

reconocimi<strong>en</strong>to utilizando información <strong>3D</strong>. Sus funciones son extraer los <strong>de</strong>scriptores<br />

VFH <strong>de</strong> los clusters, compararlos con los <strong>de</strong>scriptores almac<strong>en</strong>ados <strong>en</strong> la base <strong>de</strong><br />

datos <strong>de</strong> objetos a través <strong>de</strong> una búsqueda <strong>en</strong> un kd-tree, crear una lista <strong>de</strong> objetos<br />

candidatos y calcular una medida <strong>de</strong> similitud para cada objeto <strong>de</strong> la lista. El módulo<br />

utiliza funciones <strong>de</strong> la librería PCL para extraer los <strong>de</strong>scriptores VFH y la librería<br />

FLANN para realizar la búsqueda.<br />

Pu<strong>en</strong>te PCL Op<strong>en</strong>CV. La función <strong>de</strong> este módulo es transformar la información <strong>3D</strong> <strong>de</strong><br />

las nubes <strong>de</strong> puntos, el tipo <strong>de</strong> datos con el que trabaja la librería PCL, <strong>en</strong> imág<strong>en</strong>es<br />

conv<strong>en</strong>cionales a<strong>de</strong>cuadas para aplicar las técnicas <strong>de</strong> reconocimi<strong>en</strong>to 2D, el tipo <strong>de</strong><br />

datos con el que trabaja la librería Op<strong>en</strong>CV.<br />

<strong>Reconocimi<strong>en</strong>to</strong> SURF. Ese módulo se <strong>en</strong>carga <strong>de</strong> todo lo relacionado con el<br />

reconocimi<strong>en</strong>to por <strong>de</strong>scriptores SURF. Sus funciones son extraer los <strong>de</strong>scriptores<br />

SURF <strong>de</strong> la imag<strong>en</strong> mínima que <strong>en</strong>globa el cluster a reconocer, compararlos con los<br />

<strong>de</strong>scriptores SURF <strong>de</strong> los objetos <strong>de</strong> la lista <strong>de</strong> candidatos y calcular una medida<br />

<strong>de</strong> similitud con cada objeto <strong>de</strong> la lista. El módulo utiliza funciones <strong>de</strong> la librería<br />

OPENCV para extraer los <strong>de</strong>scriptores SURF.<br />

<strong>Reconocimi<strong>en</strong>to</strong> histogramas <strong>de</strong> color. Este módulo se <strong>en</strong>carga <strong>de</strong> todo lo relacionado<br />

con el reconocimi<strong>en</strong>to por histogramas <strong>de</strong> color. Sus funciones son calcular el<br />

histograma <strong>de</strong> color <strong>de</strong>l cluster a reconocer, compararlo con los histogramas <strong>de</strong> los<br />

objetos <strong>de</strong> la lista <strong>de</strong> candidatos y calcular una medida <strong>de</strong> similitud con cada objeto<br />

<strong>de</strong> la lista. El módulo utiliza funciones <strong>de</strong> la librería Op<strong>en</strong>CV para calcular el<br />

espacio <strong>de</strong> color HSV a partir <strong>de</strong> la información RGB y para calcular la distancia<br />

EMD <strong>en</strong>tre dos histogramas.<br />

54


Anexo F.<br />

Información <strong>de</strong> los objetos <strong>de</strong> la base <strong>de</strong><br />

datos<br />

La Tabla F.1 muestra los nombres <strong>de</strong> todos los objetos utilizados para realizar los<br />

experim<strong>en</strong>tos que <strong>de</strong>notan el r<strong>en</strong>dimi<strong>en</strong>to <strong>de</strong>l sistema. La mayoría <strong>de</strong> ellos se capturaron<br />

durante el <strong>de</strong>sarrollo <strong>de</strong>l proyecto, pero algunos pert<strong>en</strong>ec<strong>en</strong> al dataset [23]. En la Tabla<br />

F.2 aparec<strong>en</strong> imág<strong>en</strong>es <strong>de</strong> un subconjunto <strong>de</strong> dichos objetos, solam<strong>en</strong>te <strong>de</strong> los capturados<br />

durante la fase <strong>de</strong> adquisición <strong>de</strong> datos <strong>de</strong>l proyecto. En la Tabla F.3 se muestran los<br />

nombres <strong>de</strong> todos los objetos <strong>de</strong>l citado dataset utilizados <strong>en</strong> el experim<strong>en</strong>to realizado<br />

para comparar el sistema <strong>de</strong>sarrollado con otro <strong>de</strong> la literatura relacionada, mi<strong>en</strong>tras que<br />

<strong>en</strong> la Tabla F.4 aparece un subconjunto <strong>de</strong> imág<strong>en</strong>es <strong>de</strong> dichos objetos.<br />

champú alisado champú <strong>de</strong>liplus champú fructis champú squash champú stylusc<br />

champú azul tazón jarra salero manzana roja<br />

banana taza café 1 taza café 2 taza café 3 libro histories<br />

libro <strong>de</strong>lusion coche pelota amarilla pelota azul pelota roja<br />

pelota ver<strong>de</strong> bota bote t<strong>en</strong>is bote azul bote blanco<br />

bote zaragoza cinta vhs cinta americana caja zeppelin caja gold<br />

caja mmore caja powerball caja verbatin caja comida lata tomate<br />

lata pepsi lata sev<strong>en</strong> up lata comida esponja pasta di<strong>en</strong>tes<br />

linterna gillette<br />

Tabla F.1: Nombres <strong>de</strong> todos los objetos capturados durante el <strong>de</strong>sarrollo <strong>de</strong>l proyecto. Para cada objeto<br />

capturado, se tomaron 24 fotografías.<br />

55


F. Información <strong>de</strong> los objetos <strong>de</strong> la base <strong>de</strong> datos<br />

Tabla F.2: Imág<strong>en</strong>es <strong>de</strong> objetos fotografiadas <strong>en</strong> la parte <strong>de</strong> adquisición <strong>de</strong> datos <strong>de</strong> este proyecto.<br />

manzana roja manzana amarilla pelota fútbol pelota rugby banana<br />

pimi<strong>en</strong>to rojo pimi<strong>en</strong>to ver<strong>de</strong> bol 1 bol 2 bol 3<br />

banana taza café 1 taza café 2 taza café 3 taza café 4<br />

gorra 1 gorra 2 cereales 1 cereales 2 esponja 1<br />

esponja 2 linterna 1 linterna 2 caja comida 1 caja comida 2<br />

caja comida 3 lata comida 1 lata comida 2 lata comida 3 tarrina comida<br />

bote comida 1 bote comida 2 verduras 1 verduras 2 fi<strong>de</strong>os instantáneos<br />

pañuelos limón bombilla 1 bombilla 2 rotulador 1<br />

rotulador 2 naranja melocotón pera jarra 1<br />

jarra 2 jarra 3 patata lata pepsi lata sev<strong>en</strong> up<br />

tomate 1 tomate 2 pasta di<strong>en</strong>tes 1 pasta di<strong>en</strong>tes 2 champú azul<br />

grapadora botella agua 1 botella agua 2 botella agua 3 plato<br />

Tabla F.3: Nombres <strong>de</strong> todos los objetos <strong>de</strong>l dataset [23] empleados. Para cada objeto empleado, se<br />

utilizaron 24 fotografías.<br />

56


F. Información <strong>de</strong> los objetos <strong>de</strong> la base <strong>de</strong> datos<br />

Tabla F.4: Imág<strong>en</strong>es <strong>de</strong> objetos obt<strong>en</strong>idas <strong>de</strong>l dataset [23].<br />

57

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!