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 ...
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