scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

El objetivo del proyecto ha sido diseñar e implementar un sistema de reconocimiento de objetos basado en la información 3D que son capaces de obtener los nuevos sensores de visión y profundidad como kinect, para así comprobar las ventajas que ofrecen frente a las técnicas más convencionales. Para ello ha sido necesario un estudio de literatura relacionada con el problema, diseñar e implementar un sistema convencional de reconocimiento y evaluarlo, para poder encontrar las principales ventajas e inconvenientes que ofrecen las técnicas 2D. Después y como parte central del proyecto diseñar e implementar un sistema de reconocimiento que mezcla las técnicas 2D y 3D y evaluarlo para comprobar cuales son las principales ventajas que ofrece la tecnología 3D. Se ha desarrollado un sistema de reconocimiento que arroja unos resultados satisfactorios y de bajo coste de cómputo. Este sistema evidencia las mejoras que aportan las técnicas 3D frente a las convencionales. Por último, el sistema desarrollado se compara con otro sistema de características similares, donde se observa que el sistema desarrollado alcanza un buen rendimiento respecto a métodos recientes publicados en la literatura relacionada. Bueno Monge, David; Murillo Arnal, Ana Cristina

Full text

Proyecto Final de Carrera Ingenier´ıa en Inform´atica Curso 2011-2012 Reconocimiento de Objetos en 3D Utilizando Sensores de Visi´on y Profundidad de Bajo Coste David Bueno Monge Mayo de 2012 Directora: Ana Cristina Murillo Arnal Departamento de Inform´atica e Ingenier´ıa de Sistemas Escuela de Ingenier´ıa y Arquitectura Universidad de Zaragoza Reconocimiento de Objetos en 3D Utilizando Sensores de Visi´on y Profundidad de Bajo Coste RESUMEN La visi´on por computador tiene en nuestros d´ıas multitud de aplicaciones: desde entornos industriales, con sistemas de control de calidad y monitorizaci´on, a entornos dom´esticos, como aplicaciones en videojuegos, seguridad u otras m´as recientes como coches aut´onomos. El presente proyecto se centra en el reconocimiento de objetos en entornos dom´esticos, y en particular teniendo en mente sistemas rob´oticos de servicio en estos entornos. Este campo de investigaci´on tiene actualmente nuevos retos gracias a la reciente aparici´on de sensores de visi´on capaces de medir la profundidad a que est´an los objetos de la imagen, lo que supone un gran cambio de concepto respecto a los m´etodos basados en im´agenes convencionales. Estos sensores se conocen como RGB-depth o RGB-d. El objetivo de este proyecto ha sido dise˜nar e implementar un sistema de reconocimien- to de objetos basado en la informaci´on 3D que son capaces de obtener estos nuevos sensores, para as´ı comprobar las ventajas que ofrecen frente a las t´ecnicas m´as convencionales. Para ello ha sido necesario un estudio de literatura relacionada con el problema, dise˜nar e implementar un sistema convencional de reconocimiento y evaluarlo, para poder encontrar las principales ventajas e inconvenientes que ofrecen las t´ecnicas 2D. Despu´es y como parte central del proyecto, dise˜nar e implementar un sistema de reconocimiento que mezcla t´ecnicas 2D y 3D y evaluarlo para comprobar cuales son las principales ventajas que ofrece la tecnolog´ıa 3D. Todo este trabajo ha implicado el estudio de diversas t´ecnicas de manejo de la informaci´on contenida en las im´agenes, como la representaci´on de la informaci´on en nubes de puntos o el uso de descriptores VFH, ORB, SURF, e histogramas de color. Se han estudiado varios algoritmos y medidas de similitud entre dichos descriptores, como el algoritmo de b´usqueda del vecino m´as cercano o la representaci´on de los descriptores en vocabularios de palabras visuales. Tambi´en se estudiaron procesos de segmentaci´on de im´agenes basados en informaci´on 3D y m´etodos de aprendizaje y reconocimiento que permitan identificar los objetos. Se ha desarrollado un sistema de reconocimiento que arroja unos resultados satisfactorios y de bajo coste de c´omputo. Este sistema evidencia las mejoras que aportan las t´ecnicas 3D frente a las convencionales. Por ´ultimo, el sistema desarrollado se compara con otro sistema de caracter´ısticas similares, donde se observa que el sistema desarrollado alcanza un buen rendimiento respecto a m´etodos recientes publicados en la literatura relacionada. III IV ´ Indice 1. Introducci´on 1 1.1. Motivaci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2. Objetivos y alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3. Herramientas y entorno de trabajo . . . . . . . . . . . . . . . . . . . . . . 3 1.4. Organizaci´on de la memoria . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Reconocimiento basado en 2D 5 2.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Representaci´on de las im´agenes . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.1. Descriptores locales . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.2.2. Descriptores globales . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.3. Algoritmos de similitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.3.1. B´usqueda del vecino m´as cercano . . . . . . . . . . . . . . . . . . . 9 2.3.2. Bolsa de palabras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.4. Experimentos y decisiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3. Reconocimiento basado en 3D 17 3.1. Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3.2. Representaci´on de la informaci´on . . . . . . . . . . . . . . . . . . . . . . . 18 3.3. Segmentaci´on de la escena . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.3.1. Eliminaci´on de planos de fondo . . . . . . . . . . . . . . . . . . . . 20 3.3.2. Clusterizaci´on de objetos . . . . . . . . . . . . . . . . . . . . . . . . 20 3.4. Descriptores de informaci´on 3D . . . . . . . . . . . . . . . . . . . . . . . . 22 4. Sistema de reconocimiento 25 4.1. Creaci´on del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 4.2. Funcionamiento del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4.2.1. Selecci´on y evaluaci´on de los objetos candidatos . . . . . . . . . . . 29 4.3. Rendimiento del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 5. Conclusiones y trabajo futuro 35 5.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 5.2. Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 A. El dispositivo Kinect 39 B. Gesti´on del proyecto 41 V ´ INDICE ´ INDICE C. Experimentos sobre el sistema de reconocimiento 2D 43 C.0.1. Experimentos con el algoritmo de b´usqueda de vecino m´as cercano . 43 C.0.2. Experimentos utilizando bolsa de palabras . . . . . . . . . . . . . . 45 D. Experimentos sobre el sistema de reconocimiento 3D 49 E. Diagrama de m´odulos del sistema de reconocimiento 53 F. Informaci´on de los objetos de la base de datos 55 VI 1. Introducci´on Este cap´ıtulo describe la motivaci´on que ha llevado al desarrollo de este proyecto y los objetivos y el alcance del mismo. As´ı mismo, describe las herramientas utilizadas y el entorno de trabajo, y finalmente incluye una descripci´on de la organizaci´on de la memoria. 1.1. Motivaci´on De todas las tareas de visi´on artificial, analizar una escena reconociendo todos los objetos que aparecen en ella sigue siendo una de las m´as complejas. Mientras que la tecnolog´ıa ha avanzado hasta poder reconstruir de manera precisa escenas 3D, a partir de im´agenes 2D o m´as recientemente gracias a nuevos sensores con capacidad para medir la profundidad, todav´ıa no es f´acil aprender a detectar y reconocer todos los objetos presentes en una foto. Ni siquiera hay un consenso entre los investigadores sobre cuando se podr´ıa alcanzar el nivel de aprendizaje visual de un ni˜no. Es precisamente el reconocimiento de objetos el tema general de este proyecto. La visi´on por computador ha visto mejoras espectaculares en los ´ultimos a˜nos y sigue siendo un ´area de investigaci´on en expansi´on. Este trabajo tambi´en tiene cierta relaci´on con el campo de la rob´otica, para permitir que un sistema inteligente se desenvuelva de manera lo m´as aut´onoma posible hay que proveerle de capacidades para identificar objetos y eventos a su alrededor en situaciones realistas, con los que tendr´a que interactuar. La incorporaci´on de un sistema de reconocimiento de objetos fiable a un robot puede multiplicar la cantidad de tareas que dicho robot puede realizar. Consid´erese por ejemplo un robot dom´estico que pueda reconocer los objetos comunes que puedan encontrarse en una casa, y por tanto tomar decisiones de acuerdo con la naturaleza de dichos objetos. Recientemente, gracias a la comercializaci´on de dispositivos de bajo coste que incorporan c´amaras y sensores de profundidad, tambi´en denominados c´amaras RGB-d, est´an surgiendo muchas oportunidades y temas de investigaci´on nuevos. Como se puede ver en la Figura 1.1, la informaci´on que aporta una de estas c´amaras ayuda en problemas irresolubles con una sola imagen. Estos dispositivos ofrecen multitud de aplicaciones y capacidad de mejora respecto a los sistemas que trabajan con c´amaras sin percepci´on de profundidad. Concretamente, este proyecto se ha realizado con el dispositivo kinect1, una c´amara RGB-d desarrollada por Microsoft y de reciente comercializaci´on. Para m´as informaci´on sobre el dispositivo v´ease el anexo A. 1http://www.xbox.com/es-ES/kinect 1 1. Introducci´on 1.2 Objetivos y alcance Figura 1.1: ¿Es una naranja o la foto de una naranja? A la derecha se muestra una imagen de color normal, tomada por una c´amara corriente, y a la izquierda el mapa de profundidad de la misma imagen que pueden aportar las c´amaras RGB-d. Estas c´amaras nos permiten distinguir que la naranja de la derecha es en realidad la foto de una naranja. 1.2. Objetivos y alcance El objetivo principal del proyecto es dise˜nar e implementar un sistema de reconocimien- to de objetos utilizando t´ecnicas 3D donde se demuestre el beneficio de aplicar dichas t´ecnicas respecto a sistemas de reconocimiento convencionales. El sistema deber´a aprender un modelo visual de cualquier objeto a partir de unas pocas im´agenes que luego podr´a ser utilizado para identificar dicho objeto en otras im´agenes. La clave residir´a en c´omo aprovechar e integrar la informaci´on de profundidad que el sensor ofrece para lograr mejores resultados que los que se lograr´ıan con una c´amara convencional. Las tareas a realizar para cumplir los objetivos son las siguientes. Estudio de documentaci´on sobre los siguientes temas •Controladores y librer´ıas del dispositivo kinect. •Librer´ıas para trabajar con algoritmos de de procesamiento de imagen y visi´on por computador. •Art´ıculos de investigaci´on sobre t´ecnicas t´ıpicas de reconocimiento de objetos. •Art´ıculos de investigaci´on sobre propuestas para reconocimiento de objetos utilizando informaci´on 3D Dise˜no e implementaci´on de un sistema de aprendizaje de modelos y reconocimiento b´asico que solo utilice informaci´on 2D. Evaluaci´on del sistema inicial para encontrar los puntos d´ebiles y fuertes del reconocimiento 2D. Dise˜nar e implementar un sistema de reconocimiento que utilice t´ecnicas 3D y aproveche las virtudes del reconocimiento 2D. Evaluar el sistema final y encontrar las principales mejoras que ofrece la aplicaci´on de t´ecnicas 3D. Comparar el sistema desarrollado con otros m´etodos de la literatura relacionada. 2 1. Introducci´on 1.3 Herramientas y entorno de trabajo 1.3. Herramientas y entorno de trabajo Todo el desarrollo del proyecto se ha llevado a cabo bajo el sistema operativo Kubuntu 11.04 Natty2y se ha implementado utilizando el lenguaje C++. Para el manejo del sensor kinect se ha utilizado el driver OpenKinect3para la primera versi´on del sistema que solo utiliza t´ecnicas 2D, pues es muy sencillo de utilizar. Sin embargo, para el desarrollo del sistema final, se trabaj´o con el driver OpenNI4ya que es mucho m´as potente y ofrece mayor funcionalidad. Durante todo el proyecto se ha hecho uso de las librer´ıas de visi´on por computador OpenCV5para procesamiento de im´agenes y t´ecnicas de reconocimiento 2D. Para el manejo de la informaci´on 3D y el uso de t´ecnicas de segmentaci´on y reconocimiento 3D se ha empleado la novedosa librer´ıa PCL (Point Cloud Library)[1]. Por ´ultimo, para manejar kd-trees[9] y realizar b´usquedas sobre ellos se ha utilizado la librer´ıa FLANN (Fast Approximate Nearest Neighbours)[2]. 1.4. Organizaci´on de la memoria En el cap´ıtulo 2 se detallan los m´etodos estudiados y empleados para construir el sistema inicial de reconocimiento basado en t´ecnicas 2D. Tambi´en aparece la evaluaci´on de dicho sistema y las decisiones que se tomaron a ra´ız de dicha evaluaci´on. En el cap´ıtulo 3 se muestran todas las t´ecnicas 3D estudiadas y que posteriormente se utilizaron para construir el sistema de reconocimiento final. En el cap´ıtulo 4 se detalla el funcionamiento y el rendimiento del sistema desarrollado, mientras que en el cap´ıtulo 5 se describen las conclusiones extra´ıdas de la elaboraci´on del proyecto. El documento tambi´en consta de varios anexos que detallan informaci´on adicional sobre el proyecto. El Anexo A describe el sensor kinect. El Anexo B muestra la gesti´on que se ha seguido para elaborar el proyecto, junto a un diagrama de Gantt que detalla el tiempo dedicado a cada tarea. El Anexo C describe todos los experimentos llevados a cabo para evaluar el sistema de reconocimiento inicial implementado, mientras que en el Anexo D se exponen todos los experimentos realizados sobre el sistema de reconocimiento final. En el Anexo E aparece una descripci´on de los m´odulos que forman el sistema desarrollado. Finalmente, en el Anexo F aparece informaci´on de los objetos que se han utilizado como modelos para la base de datos del sistema de reconocimiento. 2http://www.kubuntu.org 3http://openkinect.org/wikiMain Page 4http://openni.org 5http://opencv.willowgarage.com/wiki 3 2. Reconocimiento basado en 2D 2.3 Algoritmos de similitud Figura 2.5: Algoritmo de b´usqueda del vecino m´as cercano. Las caracter´ısticas de la imagen de test se comparan con las caracter´ısticas de las im´agenes de referencia, obteniendo como resultado aquella imagen de referencia donde se encuentren m´as correspondencias con la imagen de test. recorre todos los descriptores de cada imagen de referencia y las compara con los descriptores de la imagen de test. Se garantiza que se encuentra la soluci´on ´optima, pero el coste de ejecuci´on es cuadr´atico con el n´umero de descriptores que se quieren emparejar: O(n2). B´usqueda aproximada En esta alternativa, se sustituye la b´usqueda exhaustiva o de fuerza bruta por una b´usqueda aproximada. Para ello, en la fase de entrenamiento se genera una estructura m´as compleja, los kd-trees [9] para ordenar los datos. Esta estructura de ´arbol logra reducir el coste de ejecuci´on a O(log n). La clara ventaja de esta alternativa es la disminuci´on del coste de c´omputo, sin embargo, el algoritmo no garantiza encontrar la soluci´on ´optima, por lo que los resultados pueden empeorar. Estas t´ecnicas sirven para comparar im´agenes representadas tanto con descriptores globales como locales, la diferencia radica en c´omo medir la distancia entre descriptores. A continuaci´on se explica con m´as detalle cuales han sido las medidas utilizadas, dependiendo de la naturaleza del descriptor. 10 2. Reconocimiento basado en 2D 2.3 Algoritmos de similitud B´usqueda del vecino m´as cercano con descriptores locales Para medir la distancia entre los descriptores locales estudiados, SURF y ORB, se ha aplicado la distancia eucl´ıdea. No se ha estudiado una mediada m´as compleja ya que el n´umero de descriptores a comparar puede ser muy grande, as´ı como las componentes de cada descriptor, por lo que una medida m´as compleja resultar´ıa en un tiempo de c´omputo demasiado elevado. Por otra parte, con los descriptores locales se puede realizar una comprobaci´on m´as robusta de las correspondencias (vecinos m´as cercanos) encontradas mediante el algoritmo RANSAC, explicado a continuaci´on. RANSAC La medida explicada anteriormente puede obtener correspondencias incorrectas entre las im´agenes, por lo que puede ser recomendable a˜nadir un paso de estimaci´on robusta con objeto de eliminar dichas correspondencias err´oneas. El algoritmo RANSAC (RAndom SAmple Consensus) [10] es un buen complemento para conseguirlo. Este m´etodo a˜nade una restricci´on geom´etrica que consigue rechazar las correspondencias que no sean consistentes con el modelo geom´etrico de la escena. Aunque aplicar el algoritmo RANSAC supone una importante mejora en los resultados basados en la b´usqueda del vecino m´as cercano, no siempre es aconsejable utilizarlo, pues su coste de c´omputo es elevado y supone un notable incremento en el tiempo de ejecuci´on. En la Figura 2.6 se muestra el resultado de aplicar b´usqueda del vecino m´as cercano y RANSAC. Figura 2.6: Correspondencias entre imagen de test (izquierda) e imagen de referencia(derecha). Las l´ıneas azules representan las correspondencias encontradas por el algoritmo de b´usqueda de vecino m´as cercano y admitidas por RANSAC. Las l´ıneas rojas representan las correspondencias rechazadas por RANSAC. B´usqueda del vecino m´as cercano con descriptores globales En el caso de los descriptores globales, como el n´umero de comparaciones es menor, pues solo hay un descriptor por imagen que comparar, se ha evaluado el uso de una distancia m´as compleja y robusta que la eucl´ıdea, aqu´ı resumida. Earth Mover’s Distance La t´ecnica Earth Mover’s Distance (EMD) [13] se ha estudiado para ser utilizada 11 2. Reconocimiento basado en 2D 2.3 Algoritmos de similitud como medida de similitud entre los histogramas de color. Se ha elegido esta medida porque el concepto se ajusta muy bien a las necesidades del problemas, ya que la EMD es una medida de distancia entre histogramas, en vez de emparejamiento. Esto resulta muy ´util ya que histogramas de color del mismo objeto pero en diferentes escenas pueden sufrir cambios de iluminaci´on, lo que causar´ıa un desplazamiento de dichos histogramas, pero mantendr´ıan la misma “forma”. En estos casos la distancia EMD logra unos resultados m´as deseables que los conseguidos con otras t´ecnicas conocidas de comparaci´on de histogramas, como el m´etodo Chi-Cuadrado o la distancia de Bhattacharyya. Conceptualmente, la distancia EMD se define como la cantidad de trabajo que llevar´ıa encajar la forma de un histograma en la del otro. Calcular esta distancia se basa en resolver el conocido problema de transporte Monge-Kantorovich [14]. Supongamos una red de proveedores, cada uno con una cantidad de provisiones, y otra red de consumidores, cada uno con unas necesidades de consumo, y un coste de transporte entre cada proveedor y consumidor. El problema se reduce a encontrar el flujo de m´ınimo coste para que los proveedores satisfagan las necesidades de los consumidores. Extrapolado al caso de los histogramas, la red de proveedores ser´ıa un histograma, cada componente un proveedor y el peso su cantidad de provisiones. El histograma restante representar´ıa la red de consumidores, cada componente un consumidor y el peso las necesidades de consumo. El coste de transporte vendr´ıa determinado por la distancia entre las componentes de los histogramas. 2.3.2. Bolsa de palabras Esta t´ecnica, estudiada como alternativa a la b´usqueda del vecino m´as cercano, pretende almacenar una representaci´on m´as comprimida de los descriptores de la base de datos. Para ello primero hay que crear un vocabulario de palabras durante la fase de entrenamiento, que consiste en agrupar los ndescriptores en un conjunto de kpalabras oclusters, siendo k≤n. Este vocabulario almacena por un lado los centroides de cada palabra y por otro una estructura denominada inverted file index [11] que almacena en que im´agenes y con que frecuencia aparece cada palabra. Utilizando diversas medidas de similitud, basadas en analizar que palabras aparecen en la imagen de test, se puede decidir que imagen de referencia es la m´as similar. El proceso queda esquematizado en la Figura 2.7, y explicado m´as detalladamente a continuaci´on. Creaci´on del vocabulario (fase de entrenamiento) Para crear el vocabulario, se ha estudiado el algoritmo K-means [12], sin duda uno de los algoritmos de clusterizaci´on m´as utilizados. Este algoritmo necesita como entrada la informaci´on que queremos agrupar, en este caso los descriptores de las im´agenes de referencia, y el n´umero de clusters en las que queremos agruparla. Como salida obtendremos los centroides de cada cluster y una referencia sobre a que cluster queda asignado cada descriptor. En este punto, se construye la matriz inverted file index con objeto de tener la informaci´on de forma m´as compacta y ordenada. Esta matriz se define como un histograma de votos a cada palabra de cada imagen de referencia (Figura 2.8). 12 2. Reconocimiento basado en 2D 2.3 Algoritmos de similitud Figura 2.7: Algoritmo de la bolsa de palabras. A partir de los descriptores de las im´agenes de referencia se forma el vocabulario a) de kpalabras, en este caso 4. A partir de dicho vocabulario se crea la matriz inverted file index b), almacenando la informaci´on de manera m´as compacta y ordenada. Para cada imagen de test se crea su histograma de consulta c) a partir del vocabulario. Finalmente, con el histograma de consulta y la inverted file index se puede emplear un algoritmo de comparaci´on d) para decidir qu´e imagen es la m´as similar. Fase de consulta Cuando se quiere evaluar la similitud de una imagen de test con las de referencia, se siguen los siguientes pasos: 1. Extracci´on de caracter´ısticas de la imagen de test. En este caso se extraer´ıan los descriptores ORB o SURF. 2. Comparando con el valor de los centroides del vocabulario, se asocia a cada nuevo descriptor de la imagen de test el cluster al que pertenece, seg´un el centroide al que m´as se parece. 3. Con lo obtenido en el paso anterior, se crea un histograma de longitud el n´umero de clusters del vocabulario, en el que queda reflejado la frecuencia con la que cada cluster o palabra aparece en la imagen. 4. Con la ayuda de este histograma y la matriz inverted file index pueden estudiarse diversas medidas de similitud entre los histogramas para decidir que imagen de referencia es la m´as similar. En la Secci´on C.0.2 se detallan las medidas estudiadas y los resultados obtenidos. 13 2. Reconocimiento basado en 2D 2.4 Experimentos y decisiones Figura 2.8: Inverted File Index. Representa para cada imagen de referencia el n´umero de de votos a cada palabra del vocabulario, es decir, su histograma. 2.4. Experimentos y decisiones En esta secci´on se presentan las decisiones que se tomaron gracias a los experimentos llevados a cabo con el fin de de decidir que formas de representar las im´agenes y que algoritmos de similitud son los m´as adecuados para el desarrollo del proyecto. Los resultados detallados de todos los experimentos se encuentran en el Anexo C. Adem´as, es necesario evaluar y tener un algoritmo de partida que solo utilice informaci´on 2D para poder evaluar las mejoras adquiridas gracias al uso de los nuevos sensores con informaci´on 3D. Por ello, para llevar a cabo estos experimentos se implement´o un sencillo sistema de reconocimiento basado en t´ecnicas 2D que utilizaba los algoritmos explicados anteriormente, exceptuando los dedicados a los histogramas de color, pues este sistema de base no incluye ning´un tipo de segmentaci´on, por lo que los histogramas que se calcularan incorporar´ıan informaci´on del fondo de la imagen, incorporando demasiado ruido al histograma como para que ´estos fueran de utilidad. La evaluaci´on de este tipo de similitud se realiza m´as adelante, donde el sistema completo desarrollado en este proyecto cuenta con un proceso previo de segmentaci´on. El sistema mantiene una peque˜na base de datos de 13 objetos, con 8 fotos de cada objeto, lo que hace un total de 104 fotos de referencia. Una vez realizados todos los experimentos, se tomaron las siguientes decisiones. Es necesaria una etapa de segmentaci´on de la imagen. El reconocedor mantiene unos buenos resultados mientras los objetos a reconocer se encuentren sobre un fondo blanco, pero cuando se enfrenta situaciones m´as reales, donde el objeto se encuentra rodeado de otros elementos, el rendimiento baja hasta extremos inaceptables. Se desech´o la alternativa del algoritmo de bolsa de palabras como algoritmo de similitud. Los experimentos reflejan que los resultados obtenidos con el algoritmo de b´usqueda del vecino m´as cercano superan claramente el rendimiento ofrecido por la bolsa de palabras. Por tanto, se decidi´o que el sistema de reconocimiento final integrar´ıa el algoritmo de similitud de b´usqueda del vecino m´as cercano para reconocer objetos cuando se tratara de utilizar t´ecnicas 2D. El descriptor local utilizado ser´a el SURF. Los resultados muestran que aunque el coste de c´omputo es mayor para los descriptores SURF, ofrecen unos resultados mucho mejores que la alternativa de los descriptores ORB. La medida de similitud entre dos im´agenes ImiyImjque mejores resultados ofrece, 14 2. Reconocimiento basado en 2D 2.4 Experimentos y decisiones y por tanto la que se utilizar´a en el sistema final, ser´a la siguiente. Sim =Matchesij/Max(NumDesci, NumDescj) (2.1) Siendo Matchesij el n´umero de correspondencias entre las im´agenes iyjy NumDesciel n´umero de descriptores extra´ıdos de la imagen i. La b´usqueda exhaustiva ofrece unos resultados ligeramente mejores que la b´usqueda aproximada, aunque tambi´en es m´as lenta. Sin embargo, la ganancia en cuanto a tiempo de ejecuci´on que implica el uso de la b´usqueda aproximada no es muy alta debido al tama˜no de la base de datos utilizada. Por tanto, hasta que no se conozca con m´as detalle la arquitectura del sistema de reconocimiento final y el tama˜no de la base de datos a manejar, se deja la puerta abierta a las dos opciones. Aplicar el algoritmo RANSAC mejora los resultados, sobretodo en experimentos de entorno m´as real, pero el coste de ejecuci´on aumenta considerablemente. Por ello se decidi´o esperar ha implementar el proceso de segmentaci´on, lo que permitir´a evaluar si es necesario seguir aplicando RANSAC o el hecho de segmentar la imagen en regiones de posibles objetos ofrece robustez suficiente. 15 16 3. Reconocimiento de objetos con informaci´on 3D 3.1. Introducci´on La aparici´on en el mercado de c´amaras RGB-d con un bajo coste ha servido como catalizador para que las investigaciones sobre reconocimiento y en general sobre visi´on por computador utilizando informaci´on 3D avancen r´apidamente. Antes de la aparici´on de dichos sensores, la visi´on en 3D pod´ıa conseguirse mediante la sincronizaci´on de dos c´amaras est´andar a una distancia conocida, a partir de la informaci´on obtenida de dichas c´amaras se pueden obtener los valores de profundidad de la escena y posteriormente construir el modelo 3D. Sin embargo, construir dicha escena conlleva un coste de ejecuci´on alto, por lo que resulta un problema para desarrollar sistemas que trabajen en tiempo real. Los nuevos sensores obtienen los valores t´ıpicos de color, por ejemplo en formato RGB, y de profundidad de forma sincronizada y casi instant´anea, por lo que el mayor problema queda eliminado. En la Figura 3.1 se observa una imagen t´ıpica de color, que podr´ıa haber sido tomada por cualquier c´amara del mercado, con su correspondiente mapa de profundidad. En este caso el mapa de profundidad, que te´oricamente marca para cada p´ıxel de la imagen la distancia al sensor, se ha convertido en una imagen donde los colores m´as c´alidos denotan m´as cercan´ıa. Las zonas de color negro son valores de profundidad indeterminados, porque el sensor no ha podido realizar la medici´on correctamente. Figura 3.1: Escena RGB (derecha) y su mapa de profundidad asociado (izquierda). Los p´ıxeles del mapa de profundidad de valor negro indican valores indeterminados. Estas zonas suelen encontrarse en objetos transparentes o que reflejan la luz, como en este caso el cristal que se encuentra encima de la mesa. En este cap´ıtulo se van a presentar las t´ecnicas estudiadas que implican uso de 17 3. Reconocimiento basado en 3D 3.2 Representaci´on de la informaci´on informaci´on 3D. Primero se discutir´a sobre la necesidad de un nuevo modelo de representaci´on de la informaci´on, (Secci´on 3.2) para continuar despu´es con t´ecnicas propias del problema de reconocimiento de objetos, como son la segmentaci´on de la escena, que se pueden abordar de manera muy eficaz gracias al uso de informaci´on 3D (Secci´on 3.3) y el uso de descriptores de informaci´on 3D para construir los modelos de los objetos a reconocer (Secci´on 3.4). 3.2. Representaci´on de la informaci´on Un nuevo paradigma de trabajo, como es a˜nadir una tercera dimensi´on a la informaci´on con la que se trabaja, conlleva plantear un nuevo sistema para representar dicha informaci´on. Hay que plantear un nuevo modelo que se ajuste a las necesidades del problema, ya no es suficiente con una matriz de p´ıxeles que represente el color de cada imagen. Para ajustarse a estas necesidades se ha optado por trabajar con el modelo denominado nube de puntos, que se explica a continuaci´on. Nube de puntos Una nube de puntos representa la posici´on XYZ de cada p´ıxel de la escena respecto a la c´amara con la que se ha tomado la foto, as´ı como el color de dicho p´ıxel. Por tanto, para cada punto que forme parte de la nube, existir´an 4 n´umeros en coma flotante o floats que lo describan: Tres para denotar la posici´on XYZ y un cuarto que almacene de forma compacta los valores RGB del p´ıxel. Conseguir los valores XYZ de los puntos de la nube es relativamente sencillo si se cuenta con un mapa de profundidad que indique en metros la distancia de cada p´ıxel a la c´amara. Concretamente, para calcular los valores XYZ de un elemento [i, j] del mapa de profundidad basta con aplicar las siguientes f´ormulas. X= (i−ci)∗depth[i, j]/f Y= (j−cj)∗depth[i, j]/f Z=depth[i, j] Siendo ciycjlos ´ındices del centro de la matriz de profundidad (en caso de que la matriz fuera de 640x480 elementos los valores ser´ıan 320 y 240 respectivamente), depth[i, j] el valor de la profundidad en la posici´on [i, j] y fla distancia focal, un par´ametro propio de la c´amara con la que se tome la escena. Adicionalmente, a esta informaci´on se le podr´ıa a˜nadir los valores de color que correspondan al elemento [i, j] del mapa de profundidad. En la Figura 3.2 puede observarse varios puntos de vista de una nube de puntos que representa parte de una habitaci´on, mientras que en la Figura 3.3 se observa de forma gr´afica la informaci´on de todos los campos que forman los puntos de la nube. 3.3. Segmentaci´on de la escena Gracias a los resultados que arrojaron los experimentos de la Secci´on C.0.1, qued´o claro que era necesaria una etapa de segmentaci´on si se quer´ıan conseguir buenos resultados 18 3. Reconocimiento basado en 3D 3.3 Segmentaci´on de la escena Figura 3.2: Distintas perspectivas de una misma nube de puntos. La imagen de la izquierda corresponde con el punto de vista original con el que se tom´o la foto, mientras que las de la derecha representan rotaciones de dicha escena. Figura 3.3: Distinta informaci´on que almacena la nube de puntos. De izquierda a derecha, componentes X, Y, Z (donde colores m´as c´alidos indican distancias menores) y RGB del modelo. trabajando en entornos reales, objetos sobre fondo con ruido. Aunque trabajos como [16] o [17] logran resultados aceptables trabajando solo con informaci´on 2D, pero en algunos casos el coste es muy elevado, para la realizaci´on de este proyecto se ha optado por utilizar t´ecnicas que trabajen con nubes de puntos, pues t´ecnicas basadas en 3D facilitan y mejoran los resultados que se obtendr´ıan con herramientas 2D. Por otra parte, aplicar segmentaci´on a una escena para conservar solo la informaci´on que realmente interesa para el reconocimiento tiene tambi´en la ventaja de permitir que el proceso sea m´as r´apido, pues habr´a menos informaci´on que procesar. Las dos t´ecnicas de segmentaci´on que se han utilizado en este proyecto son la eliminaci´on de planos que suelen pertenecer al fondo de la escena y la clusterizaci´on de puntos contiguos que son probables de pertenecer a un mismo objeto. Estas t´ecnicas se explican en las siguientes secciones, pero antes de ello, va a mostrarse un filtro que se ha utilizado como paso previo a la segmentaci´on para hacerla m´as sencilla. Filtro Pass Through Este filtro se sirve de la representaci´on de la informaci´on en nubes de puntos para poder desechar f´acil y r´apidamente todos los puntos de la nube que est´en m´as all´a de una distancia dada, en cualquiera de las direcciones de los ejes de coordenadas. Por ejemplo, podemos optar por descartar toda la informaci´on de la escena que se encuentre a una profundidad mayor de 1.5 metros con respecto a la c´amara, lo que corresponder´ıa en este caso con la direcci´on Z. Pensando en el problema de reconocimiento de objetos peque˜nos, donde est´a centrado el proyecto, resulta muy ´util descartar de antemano toda la informaci´on que 19 4. Sistema de reconocimiento 4.1 Creaci´on del modelo ´unicamente los descriptores de las im´agenes que alcancen un determinado n´umero de puntos SURF. N´otese que un objeto puede tener textura o no dependiendo del punto de vista, por lo que el n´umero de im´agenes de las que se guardan sus descriptores SURF puede variar desde 0 (objeto sin textura) al total de im´agenes tomadas (objeto con mucha textura). Por ´ultimo, y de nuevo a partir de la imagen 2D y la m´ascara, se construye el histograma de color del objeto, para detalles de la construcci´on del histograma v´ease Secci´on 2.2.2. Conviene se˜nalar que cada descriptor, de la clase que sea, almacenado en la base de datos est´a asociado a una etiqueta que denota de que objeto se trata, que se almacena al mismo tiempo que el propio descriptor. Figura 4.1: Diagrama de creaci´on de modelos de los objetos. Cada nube de puntos se segmenta, a partir de cada nube de puntos segmentada se almacena el descriptor VFH y a partir de cada imagen m´ınima y su m´ascara se almacena el histograma de color y los descriptores SURF en caso de que el objeto tuviera textura. Tambi´en se almacena una etiqueta junto a cada descriptor que denota de que objeto se trata. Figura 4.2: Datos de la nube de puntos tras la segmentaci´on. De izquierda a derecha la nube segmentada, la imagen 2D m´ınima y la m´ascara. As´ı pues, para cada objeto se almacena alrededor de 24 descriptores VFH, el mismo n´umero de histogramas de color, y un n´umero de descriptores SURF variable asociado a cada imagen en la que se haya encontrado textura en el objeto. Con toda esta informaci´on 26 4. Sistema de reconocimiento 4.2 Funcionamiento del sistema queda construido el modelo del objeto, defini´endolo a un nivel de detalle suficiente como para poder tratar el problema del reconocimiento de objetos con garant´ıas. 4.2. Funcionamiento del sistema En esta secci´on se va a explicar c´omo funciona el sistema de reconocimiento, describiendo todos los pasos que sigue hasta dar con la soluci´on. En la Figura 4.3 se describe gr´aficamente el proceso, y a continuaci´on se explica con detalle los pasos del algoritmo. Figura 4.3: Diagrama de reconocimiento del contenido de una imagen de test. Tras la segmentaci´on, para cada cluster se extraen los distintos descriptores, se realizan b´usquedas y se obtienen medidas de similitud con los descriptores de los objetos almacenados en la base de datos. Una vez obtenida dicha informaci´on, se decide que objeto es el cluster que se est´a reconociendo. 1. La entrada al sistema corresponde con una nube de puntos, que es segmentada para conseguir dividirla en diferentes clusters que representar´an los distintos objetos que aparezcan en la escena. Por tanto, para cada cluster, al igual que en el proceso de creaci´on del modelo, se tiene la nube de puntos recortada, la imagen 2D m´ınima y su m´ascara. A partir de este momento, los siguientes pasos se realizan para cada cluster encontrado. 2. Se extrae el descriptor VFH del cluster y se realiza una b´usqueda con la base de datos de descriptores VFH almacenados. Esta b´usqueda se realiza en un kd-tree 27 4. Sistema de reconocimiento 4.2 Funcionamiento del sistema y se calcula la distancia Chi-Cuadrado del descriptor de test a los kvecinos m´as cercanos. La f´ormula de dicha distancia para el descriptor xdel cluster a reconocer y un descriptor yde un objeto de la base de datos es la siguiente: χ2=X i (xi−yi)2 yi El hecho de llevar a cabo la b´usqueda en un ´arbol implica que el tiempo de b´usqueda conlleva un coste de O(log n) siendo nel n´umero de objetos almacenados en la base de datos. Que el coste sea logar´ıtmico respecto al aumento de la base de datos es una caracter´ıstica muy deseable en sistemas de reconocimiento que necesitan ser flexibles a posibles incrementos de tama˜no. 3. Gracias a la b´usqueda realizada se construye una lista de posibles objetos candidatos. Esta lista representa los objetos que el sistema cree que puede ser el cluster en cuesti´on. Esta caracter´ıstica permite que las siguientes b´usquedas se realicen sobre un subconjunto de la base de datos de objetos, permitiendo mayor rapidez. Esta jerarquizaci´on en la b´usqueda de los distintos descriptores tambi´en es una caracter´ıstica deseable y muy usada en sistemas de reconocimiento, como por ejemplo en [19, 21, 22]. M´as informaci´on sobre c´omo se construye esta lista de candidatos y qu´e informaci´on almacena durante todo el proceso de reconocimiento se ver´a a continuaci´on en la Secci´on 4.2.1. 4. Si la lista no contiene ning´un candidato, se dice que el obje- to a reconocer no corresponde con ning´un objeto de la base de datos, si solamente hay un candidato, esa ser´a la soluci´on. Pero si la lista contiene m´as de un candidato, son necesarios los siguientes pasos para intentar decidir de qu´e objeto se trata. 5. Se extraen los puntos SURF de la imagen del cluster, con ayuda de la m´ascara para solo extraer en las zonas que pertenezcan al objeto. Si se supera un umbral determinado de puntos encontrados, se considera que el objeto tiene textura y se realiza una b´usqueda, mientras que si no se alcanza el umbral se pasa al paso siguiente. Esta b´usqueda est´a basada en el algoritmo de b´usqueda del vecino m´as cercano, pero solo se compara con los objetos de la lista de candidatos. Por este motivo la b´usqueda que se hace es exhaustiva en lugar de aproximada, pues se comparar´a con pocos candidatos. No obstante el sistema permite configurar que esta b´usqueda sea aproximada. 6. En este paso se computa el histograma de color del cluster y se realiza una b´usqueda con los histogramas de los objetos de la lista de candidatos. Como medida de similitud se utiliza la distancia EMD explicada en 2.3.1. 7. Al llegar ha este punto la lista de candidatos ha ido recolectando informaci´on de las b´usquedas entre los distintos descriptores, almacenando una puntuaci´on entre el cluster de test y los objetos candidatos. Sin embargo, la puntuaci´on adquirida para cada una de las tres b´usquedas es de muy diferente naturaleza, por lo que debe normalizarse para poder ser tenida en cuenta por igual. Un algoritmo de decisi´on se 28 4. Sistema de reconocimiento 4.2 Funcionamiento del sistema encarga de ello y de estimar a partir de esa informaci´on cual es el objeto. Para m´as informaci´on sobre este paso del algoritmo v´ease la Secci´on 4.2.1. 8. Por ´ultimo, cuando ya se ha decidido qu´e objeto es cada cluster de la nube de puntos de entrada, se muestra una imagen se˜nalando los objetos que el sistema estima en la posici´on de los clusters originales. El sistema tambi´en cuenta con 3 niveles de verbosidad que permiten obtener por consola mayor o menor informaci´on sobre la traza de ejecuci´on del sistema. En la Figura 4.4 se muestra una entrada al sistema de reconocimiento y la salida obtenida. Figura 4.4: Entrada y salida del sistema de reconocimiento. A la izquierda la nube de puntos de entrada, a la derecha una imagen 2D, donde un recuadro envuelve los clusters encontrados y especifica el objeto que ha reconocido. 4.2.1. Selecci´on y evaluaci´on de los objetos candidatos En esta secci´on se va a explicar con m´as detalle el m´etodo que sigue el sistema de reconocimiento para seleccionar y posteriormente evaluar una lista de objetos candidatos. Concretamente se va a comentar como se crea la lista de posibles objetos reconocidos (objetos candidatos), la informaci´on que almacena a lo largo del proceso y finalmente como se normaliza esa informaci´on para decidir que objeto de la lista es el m´as similar al objeto de test. Lista de candidatos La creaci´on de la lista de candidatos es un paso muy importante, pues hay que asegurar que en ella este contenido el objeto al que corresponde el cluster que se est´a reconociendo, aunque debido a ello se introduzcan m´as candidatos. Los siguientes pasos que eval´uan m´as descriptores ya se encargar´an de pulir la decisi´on. Por tanto, en la lista de candidatos se crea de la siguiente manera: tras la extracci´on del descriptor VFH en el cluster que estamos evaluando de la imagen de test, y calcular la distancia Chi-Cuadrado entre este cluster y los ejemplos de la base de datos, se eligen los nvecinos m´as cercanos dentro de la base 29 4. Sistema de reconocimiento 4.2 Funcionamiento del sistema de datos. De entre estos vecinos se incluyen en la lista todos los objetos cuya distancia d cumpla estas condiciones: d < 3mindist si mindist ≤20 d < 2mindist ∧d < 100 si mindist > 20 Siendo mindist la distancia del primer vecino m´as cercano. Se decidi´o ampliar la condici´on de entrada a la lista de candidatos hasta 3mindist para casos con mindist muy peque˜na para asegurar m´as la inclusi´on del objeto al que corresponde el cluster a reconocer en la lista de candidatos. Es muy posible que un mismo objeto de la base de datos corresponda a varios de los vecinos m´as cercanos que cumplen las condiciones arriba expuestas, pero solo conviene guardar una distancia por objeto en esta lista de candidatos. Por tanto, la distancia (xi) para el descriptor VFH evaluado del objeto ide la lista de candidatos es la siguiente: xi= ( k X j=1 dj i k)·(1 −repi 100 ) Siendo dj ila j-´esima mejor distancia Chi-Cuadrado del objeto i,repiel n´umero de veces que el objeto isatisface las condiciones para entrar en la lista de candidatos y kobtenido con la siguiente expresi´on: k=3 si repi≥3 repisi repi<3 Esta distancia almacenada es la media de hasta las tres mejores distancias, pero se le resta un 1 % a esa distancia por cada vez que se repita el objeto, para premiar la repetici´on. Todas las constantes num´ericas de estas expresiones est´an tomados emp´ıricamente. descripci´on mas detallada de objetos candidatos. Una vez extra´ıdas las caracter´ısticas SURF de los elementos de la lista de candidatos, para los que resulten como objetos con textura, porque se encontraron suficientes puntos SURF, se almacena la mejor medida de similitud Sim (Ecuaci´on 2.1) encontrada. En cuanto a los histogramas de color, se almacena la mejor medida de similitud encontrada para cada objeto de la lista. Dicha medida de similitud corresponde con la distancia EMD explicada en la Secci´on 2.3.1. Evaluaci´on de los candidatos y elecci´on de la soluci´on En este punto, la lista de candidatos cuenta con distintas medidas para cada candidato, que representan la probabilidad de que dicho candidato sea el objeto a reconocer. Sin embargo, estas medidas, las distancias o medidas de similitud de cada descriptor, son de distinta naturaleza y orden de magnitud, por lo que es necesario normalizarlas. Se ha optado por una normalizaci´on por el m´aximo, consiguiendo de esta manera para la medida de cada descriptor un ratio entre 0 y 1, donde mayor valor significa mayor probabilidad de que el objeto candidato sea el objeto de test, es decir, se consigue una medida de similitud normalizada. Concretamente, estas son las operaciones que se realizan: 30 4. Sistema de reconocimiento 4.3 Rendimiento del sistema •Para la normalizaci´on del descriptor VFH se calcula: simNormvfh = 1 −minvfh −xvfh maxvfh Siendo xvfh la distancia a normalizar, minvfh la menor distancia encontrada en la lista de candidatos y maxvfh la distancia l´ımite que no deb´ıa superarse para que un objeto entrara en la lista de candidatos. •Para la normalizaci´on del descriptor SURF se calcula: simNormsurf =xsurf maxsurf Siendo xsurf la medida de similitud a normalizar y maxsurf la mejor similitud encontrada en la lista de candidatos. •Para la normalizaci´on de los histogramas de color se calcula: maxdist =maxcolor si maxcolor ≤7,5 7,5 si maxcolor >7,5 simNormcolor = 1 −xcolor maxdist Siendo xcolor la medida de similitud a normalizar y maxcolor la mayor distancia EMD encontrada en la lista de candidatos. En este caso no se normaliza por el m´aximo absoluto, sino que si maxcolor supera cierto umbral, se considera ese umbral como el m´aximo. Esto se decidi´o as´ı porque en la pr´actica, valores m´as all´a de 7.5 reflejan una coincidencia nula entre los objetos. El valor 7.5 es la mitad del valor m´aximo que la distancia EMD puede devolver, que es 15, ya que los histogramas manejados son de 16 componentes. Selecci´on final del objeto. Una vez las medidas est´an normalizadas, simplemente se calcula la media y se escoge como elecci´on aquel objeto de la lista que tenga una media m´as alta. Sin embargo, en el caso de que el objeto tenga textura y por tanto se tenga en cuenta la valoraci´on de los descriptores SURF, la valoraci´on del histograma de color pierde la mitad de su peso a la hora de hacer la media. Esta decisi´on se tom´o tras comprobar emp´ıricamente que los objetos con textura, susceptibles de tener muchos colores, no presentaban resultados excesivamente buenos a la medida de similitud propuesta. 4.3. Rendimiento del sistema Para poder determinar el rendimiento del sistema se llevaron a cabo una serie de experimentos, detallados en el anexo D, que permiten averiguar como se comporta dependiendo de la naturaleza de los objetos a reconocer, la combinaci´on de descriptores usados y si los objetos sufren oclusiones o no. Como medida de rendimiento, en todos los experimentos se han utilizado los coeficientes precision yrecall, medida muy habitual para evaluar reconocedores, y que son definidos de la siguiente manera: precision =tp tp+fp recall =tp tp+fn (4.1) 31 4. Sistema de reconocimiento 4.3 Rendimiento del sistema Siendo tp el n´umero de verdaderos positivos, fp el de falsos positivos y fn el de falsos negativos. En esta secci´on se van a presentar los dos experimentos que mejor resumen el rendimiento del sistema. En el anexo D hay experimentos adicionales que eval´uan las combinaciones de descriptores seg´un la forma de los objetos a reconocer, (se intenta reconocer objetos con forma diferente, parecida o igual a otros objetos de la base de datos), y si tienen textura o no. Tambi´en se eval´ua el sistema cuando se intentan reconocer objetos que sufren oclusiones. Experimento con objetos variados y personalmente fotografiados En este experimento se pretende averiguar el rendimiento del sistema cuando se enfrenta al reconocimiento de objetos de distinta naturaleza, todo tipo de formas y teniendo o no textura. La base de datos durante la ejecuci´on de este experimento conten´ıa 42 objetos, (aproximadamente 24 im´agenes por objeto para crear el modelo), la mayor´ıa de ellos fotografiados personalmente, aunque se incorporaron varios modelos procedentes de un dataset p´ublico [23] con objeto de que no todos los modelos provengan de la misma fuente. En el Anexo F aparece informaci´on sobre los objetos capturados, as´ı como de los objetos del dataset p´ublico citado. Se han reconocido 118 objetos repartidos en 28 fotos de test. La Tabla 4.1 muestra los resultados. descriptores Tiempo de ejecuci´on (seg) Precision Recall forma 207.523 0.602 1.0 forma+color 208.311 0.576 1.0 forma+surf 214.181 0.737 1.0 forma+surf+color 214.821 0.805 1.0 surf+color 228.684 0.475 1.0 Tabla 4.1: Resultados de reconocimiento sobre tests objetos de diferentes tipos. Los resultados muestran un buen rendimiento general del sistema cuando se utilizan todos los descriptores posibles, pues dependiendo de la naturaleza del objeto, ser´a un descriptor u otro el que discrimine con m´as garant´ıas el objeto del que se trata. Cabe se˜nalar que el peor resultado es el de la combinaci´on de descriptores que no utilizan informaci´on 3D para reconocer, no solo en aciertos, sino tambi´en en tiempo de ejecuci´on. Esto era de esperar ya que al no existir para ese caso la lista de candidatos creada de acuerdo al descriptor de forma, se deben comparar SURF e histogramas de color con todos los objetos de la base de datos. Esto muestra las ventajas de las t´ecnicas de reconocimiento 3D, n´otese que los resultados arrojados por la combinaci´on “surf+color” son muy bajos, pero a´un lo ser´ıan m´as si realmente no se hubiera segmentado la regi´on de inter´es utilizado informaci´on 3D. Comparaci´on con otro sistema de reconocimiento En este experimento se quiere comparar el sistema de reconocimiento desarrollado en este proyecto por el propuesto recientemente en [23], que tambi´en utiliza informaci´on 3D. 32 4. Sistema de reconocimiento 4.3 Rendimiento del sistema Para ello se va a utilizar el mismo dataset, aunque en este caso un subconjunto del mismo debido a su gran tama˜no, y se va a replicar uno de los experimentos llevados a cabo en el sistema citado. El experimento consiste en almacenar como modelo de un objeto im´agenes tomadas desde dos puntos de vista diferentes, y como im´agenes de test las de ese mismo objeto pero desde un punto de vista diferente. Cabe destacar que el sistema citado almacena descriptores extra´ıdos del orden de 250 im´agenes por modelo, mientras que el sistema propuesto aqu´ı almacena solo descriptores extra´ıdos de 24 im´agenes por modelo. Para este experimento se ha mantenido una base de datos con 60 objetos diferentes, y se han reconocido 448 objetos, uno por imagen. En la Figura 4.5 se muestra la gr´afica precision-recall de los dos sistemas. Figura 4.5: Curvas Precision-Recall de los dos sistemas. La gr´afica muestra que el sistema desarrollado no alcanza el rendimiento del sistema propuesto en [23], aunque la diferencia no es demasiado elevada, y sin embargo muestra la ventaja de ser mucho m´as estable en cuanto a fallos de tipo falso negativo, es decir, el sistema raramente reconoce un objeto donde realmente no lo hay. Tambi´en debe tenerse en cuenta que el n´umero de im´agenes por modelo en la base de datos es alrededor de 10 veces menor en el sistema desarrollado en este proyecto. 33 4. Sistema de reconocimiento 4.3 Rendimiento del sistema 34 5. Conclusiones y trabajo futuro En este cap´ıtulo se presentan las conclusiones extra´ıdas tras la realizaci´on de este proyecto, as´ı como propuestas de trabajo futuro. 5.1. Conclusiones La aparici´on del sensor kinect en el mercado ha supuesto poco menos que una revoluci´on en el mundo de la visi´on por computador. Su capacidad para extraer en tiempo real el mapa de profundidad de una escena ha impulsado varias l´ıneas de investigaci´on que siguen muy activas. El deseo de formar parte de dicho trabajo unido con el inter´es por la visi´on por computador han sido motivaci´on m´as que suficiente para llevar a cabo el proyecto. El objetivo principal del proyecto ha sido dise˜nar e implementar un sistema de reconocimiento con informaci´on 3D que demuestre el beneficio que aportan dichos sensores frente a sistemas de reconocimiento convencionales, objetivo que se ha cumplido con unos resultados satisfactorios. Para lograrlo, se estudiaron diversas librer´ıas para el manejo de kinect, as´ı como literatura relacionada con reconocimiento con im´agenes convencionales necesaria para construir un sistema inicial que evidenciara los puntos m´as d´ebiles y m´as fuertes del reconocimiento que se ha denominado como 2D. Posteriormente se estudi´o literatura relacionada con t´ecnicas de reconocimiento utilizando informaci´on de profundidad de cada p´ıxel de la imagen (que se ha denominado como reconocimiento 3D). Finalmente se dise˜n´o e implement´o un sistema basado en la combinaci´on de ambas t´ecnicas, que mejorara lo implementado con anterioridad en la literatura estudiada. Los puntos donde m´as diferencia ha marcado el uso de t´ecnicas 3D han sido la segmentaci´on de la imagen a analizar y la jerarquizaci´on en las comparaciones entre descriptores de im´agenes. Sin las t´ecnicas 3D el proceso de segmentaci´on no alcanzar´ıa los niveles de rendimiento obtenidos, ya que ser´ıa mucho mas costoso eliminar el plano de fondo correspondiente al suelo o una mesa, agrupar los p´ıxeles de la imagen en clusters que parezcan pertenecer a un objeto e incluso descartar las partes de la escena demasiado lejanas como para ser de inter´es. En cuanto a la jerarquizaci´on del sistema de evaluaci´on de similitud, esta ha sido posible gracias al descriptor de forma 3D, ya que es aplicable a todos los objetos, todos tienen forma, y es lo suficientemente discriminante como para poder descartar r´apidamente la mayor´ıa de objetos de la base de datos, dejando como candidatos un peque˜no porcentaje del total. Esto consigue un funcionamiento mucho m´as r´apido y que el coste del reconocimiento crezca de forma logar´ıtmica respecto al tama˜no de la base de datos, pues la b´usqueda se realiza en un ´arbol. 35