• No se han encontrado resultados

Navegación autónoma en entornos de interior basada en mapas topológicos visuales con técnicas de transformaciones reductoras (PCA y LDA)

N/A
N/A
Protected

Academic year: 2020

Share "Navegación autónoma en entornos de interior basada en mapas topológicos visuales con técnicas de transformaciones reductoras (PCA y LDA)"

Copied!
55
0
0

Texto completo

(1)Escuela Técnica Superior de Ingenieros Informáticos Universidad Politécnica de Madrid. Navegación autónoma en entornos de interior basada en mapas topológicos visuales con técnicas de transformaciones reductoras (PCA y LDA). Trabajo Fin de Máster Máster Universitario en Inteligencia Artificial. AUTOR: Pablo Trullos Pastor TUTOR: Darı́o Maravall Gómez-Allende. 2018.

(2)

(3) i. AGRADECIMIENTOS En primer lugar, quiero agradecer a Darı́o Maravall Gómez-Allende, Doctor Ingeniero de Telecomunicación por la Universidad Politécnica de Madrid (UPM) y catedrático de la Facultad de Informática de la misma Universidad, su ilustrada orientación a lo largo de todo el Trabajo Fin de Máster, ası́ como su confianza depositada en mı́. Y en segundo y último lugar, gracias Ama, Aita, Juan y Sara por el eterno apoyo que me habéis dado siempre y que sé que siempre me daréis. Pero sobre todo, gracias por ayudarme a convertirme en quién soy ahora. Algún dı́a espero poder devolveros todo lo que me habéis dado..

(4) ii.

(5) iii. RESUMEN La localización de vehı́culos viene resuelta desde hace una década con la tecnologı́a GPS. Sin embargo, en espacios reducidos cubiertos como el interior de un edificio, la precisión del GPS falla. Es por ello que es necesario desarrollar otro tipo de tecnologı́as que permitan un posicionamiento preciso en entornos de interior. En este proyecto se analizan y comparan dos técnicas de Visión por Computador, Eigenlandmarks y Fisherlandmarks, basadas en transformaciones reductoras de dimensión, PCA y LDA respectivamente, para construir un reconocedor de landmarks que, asociado a un mapa topológico, sirva para localizar a tiempo real un robot móvil en un entorno de interior. Primeramente, se evaluará el rendimiento de las dos técnicas mencionadas en un dataset de imágenes pertenecientes a 7 landmarks distintos que se encuentran en diferentes zonas de la planta de un edificio. Para ello, se ha realizado una clasificación K -NN con validación cruzada leaving-one-out, analizando también cual de las dos métricas empleadas, Euclı́dea o Mahalanobis, ofrece rendimientos mayores. Y en segundo lugar, se planteará el algoritmo de un reconocedor de landmarks dinámico. Este reconocedor será capaz de analizar los frames de un vı́deo y determinar cuándo se encuentra frente a un landmark. Se probarán distintas técnicas de procesamiento de imagen cuyo rendimiento sin el uso del mapa topológico no será lo suficientemente efectivo. Es por ello que se planteará un algoritmo robusto que, además de explotar la información del mapa topológico, realice dos transformaciones sobre los frames: proyectiva y reductora. La primera con la intención de alinear los frames con las imágenes del dataset, mientras que la segunda se usará para buscar el vecino más cercano y asignarle su clase en caso de que la distancia esté por debajo de un umbral..

(6) iv.

(7) v. SUMMARY Vehicle location was solved a decade ago with the GPS technology. Nevertheless, in small indoors places like the inside of a building, GPS accuracy fails. This is the reason why it is necessary to develop other kind of technologies that provide precise positioning in indoor environments. In this project two Computer Vision techniques, Eigenlandmarks and Fisherlandmarks, based on dimension reductive transformations, PCA and LDA respectively, are analysed and compared in order to build a landmark recognizer which, linked to a topological map, allows real-time localization of a mobile robot in an indoor environment. Firstly, the accuracy of the above-mentioned techniques will be evaluated in a dataset of images from 7 different landmarks located in the inside of a building’s floor. In order to comply this, a K-NN classification has been carried out, analysing as well which of the metrics used, Euclidean or Mahalanobis, provides better results. And secondly, a dynamic landmark recognizer algorithm will be proposed. This recognizer will be capable of analysing video frames and determining whether there is a landmark or not, and which landmark is it. Different image processing techniques whose accuracy without the use of the topological map will not be effectie enough will be tested. This will lead to the proposition of a robust algorithm which will perform two transformations in the frames: projective and reductive. The first one will serve to align the frames with the images in the dataset, while the second one will be used to search the nearest neighbor and assign its label to the frame providing the distance is below a thershold..

(8) vi.

(9) Índice. vii. Índice 1. ESTADO DEL ARTE . . . . . . . . . . . . . . . . . . . . . . . . . 1.1. Fundamentos teóricos de la navegación basada en mapas topológicos visuales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1. Grafos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2. Mapas topológicos visuales . . . . . . . . . . . . . . . . . . . 1.2. Técnicas de proyección en subespacios: PCA y LDA . . . . . . . . . 1.2.1. Eigenlandmarks . . . . . . . . . . . . . . . . . . . . . . . . . 1.2.2. Fisherlandmarks . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Modelos clasificadores K -NN con distancias Euclı́dea y Mahalanobis 1.3.1. K -NN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2. Distancia Euclı́dea . . . . . . . . . . . . . . . . . . . . . . . 1.3.3. Distancia Mahalanobis . . . . . . . . . . . . . . . . . . . . . 2. NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MTV . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. Descripción del entorno de interiores experimental escogido . . . . . 2.2. Estudio comparativo de Eigenlandmarks y Fisherlandmarks . . . . 2.2.1. Dataset del entorno experimental . . . . . . . . . . . . . . . 2.2.2. Reconocimiento en estático . . . . . . . . . . . . . . . . . . . 2.2.2.1. Técnica Eigenlandmarks . . . . . . . . . . . . . . . 2.2.2.2. Técnica Fisherlandmarks . . . . . . . . . . . . . . . 2.2.3. Reconocimiento en dinámico . . . . . . . . . . . . . . . . . . 3. CONCLUSIONES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4. LÍNEA FUTURA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5. APÉNDICE A: Técnicas de procesamiento de imagen . . . . . . . . 6. APÉNDICE B: Códigos Python empleados . . . . . . . . . . . . . .. .. 1. . . . . . . . . . .. 1 1 1 2 3 5 7 7 7 7. . . . . . . . . . . . .. 9 9 9 10 11 11 16 18 25 27 29 41.

(10) viii. Índice.

(11) Índice de figuras. ix. Índice de figuras 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.. Grafo representado como diagrama . . . . . . . . . . . . . . . . . . . Recorte del mapa del Metro de Madrid como ejemplo de mapa topológico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Conversión de imagen en escala de grises a vector rasterizado . . . . . Grafos del mapa topológico del entorno de la escuela . . . . . . . . . Muestras de las 7 clases del dataset . . . . . . . . . . . . . . . . . . . Precisiones logradas con un leaving-one-out reducido (100 ciclos de entrenamiento-testeo) . . . . . . . . . . . . . . . . . . . . . . . . . . . Obtención del número óptimo de componentes principales . . . . . . Eigenlandmarks: distancias al vecino más cercano y al más cercano de la segunda clase más próxima . . . . . . . . . . . . . . . . . . . . . Representación visual de algunas Eigenimages . . . . . . . . . . . . . Fisherlandmarks: distancias al vecino más cercano y al más cercano de la segunda clase más próxima . . . . . . . . . . . . . . . . . . . . . Representación visual de todas las Fisherimages . . . . . . . . . . . . Transformación proyectiva usando extracción de caracterı́sticas ORB Kernel Laplaciano . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Comparación de la convolución Laplaciana para medir la borrosidad . Ejemplo de un proceso de reconocimiento . . . . . . . . . . . . . . . . Rendimientos η para distintos números de componentes principales en la técnica Eigenlandmarks . . . . . . . . . . . . . . . . . . . . . . Análisis en dinámico de Eigenlandmarks . . . . . . . . . . . . . . . . Análisis en dinámico de Fisherlandmarks con métrica Mahalanobis . . Transformación de un par de imágenes en isolumı́nicas . . . . . . . . Conversión de imagen isolumı́nica en vector rasterizado . . . . . . . . Rendimientos η para distintos números de componentes principales en la técnica Eigenlandmarks con imágenes isolumı́nicas . . . . . . . . Análisis en dinámico de Eigenlandmarks con imágenes isolumı́nicas, 90 componentes principales y métrica Euclı́dea . . . . . . . . . . . . . Análisis en dinámico de Fisherlandmarks con preprocesado isolumı́nico Filtrado SKF de un par de imágenes en escala de grises . . . . . . . . Análisis en dinámico de Eigenlandmarks y Fisherlandmarks con métrica Euclı́dea y preprocesado SKF . . . . . . . . . . . . . . . . . . . . . Búsqueda del número óptimo de componentes con el método de concatenación de los 3 histogramas . . . . . . . . . . . . . . . . . . . . . Análisis en dinámico de Eigenlandmarks con el método de concatenación de los 3 histogramas y métrica Euclı́dea . . . . . . . . . . . . . Análisis en dinámico de Fisherlandmarks con el método de concatenación de los 3 histogramas y métrica Euclı́dea . . . . . . . . . . . . .. 1 2 3 10 11 12 13 15 16 17 17 19 20 21 24 30 31 32 32 33 33 34 35 36 37 38 39 40.

(12) 1. 1.. ESTADO DEL ARTE DE LA NAVEGACIÓN AUTÓNOMA MEDIANTE TÉCNICAS DE PROYECCIÓN A UN SUBESPACIO: PCA Y LDA. 1.1.. Fundamentos teóricos de la navegación basada en mapas topológicos visuales. 1.1.1.. Grafos. En el campo de las matemáticas, un grafo representa un conjunto de objetos conectados entre sı́ por enlaces. Estos objetos suelen recibir el nombre de nodos o vértices, mientras que a los enlaces se les denomina aristas o arcos. La Figura 1 muestra la representación de un grafo con un diagrama.. Fig. 1: Grafo representado como diagrama. 1.1.2.. Mapas topológicos visuales. Recibe el nombre de Mapa Topológico Visual (MTV) la representación de un entorno mediante un grafo de forma que cada nodo se corresponde con un punto de referencia o landmark del entorno, y los arcos representan las rutas o instrucciones de movimiento entre nodos. [1], [2], [3], [4] Estos mapas reducen el problema de navegación a encontrar a encontrar una ruta desde un nodo inicial hasta uno final, atravesando los nodos que componen el camino uno a uno. Existen diversos algoritmos de búsqueda de caminos más cortos en grafos para la resolución de este problema, como los clásicos A*[5] o Dijkstra[6]. Sin embargo, para el caso de los mapas topológicos, no es posible calcular un camino óptimo entre dos nodos, dado que no existe información explı́cita sobre la geometrı́a del entorno. La gran ventaja de los mapas topológicos es que, para localizar la posición de un vehı́culo en un entorno, no se depende de la odometrı́a, que usa la información sobre.

(13) 2. 1 ESTADO DEL ARTE. la rotación de las ruedas para estimar cambios en la posición a lo largo del tiempo. Simplemente identificando los landmarks del entorno es suficiente. Esto aumenta la precisión en la localización ya que la odometrı́a lleva implı́cita un error acumulativo por, entre otros factores, imperfecciones en el terreno que puedan causar derrape o inexactitudes en la medida de rotación de las ruedas. Un ejemplo cotidiano de un mapa topológico serı́a el del Metro de Madrid, como muestra la Figura 2.. Fig. 2: Recorte del mapa del Metro de Madrid como ejemplo de mapa topológico. 1.2.. Técnicas de proyección en subespacios: PCA y LDA. Método holı́stico para reconocimiento facial. Los algoritmos que se usarán para la reducción de dimensión son el Análisis de Componentes Principales (PCA) [7] y el Análisis Discriminante Lineal (LDA) [8], los cuales serán explicados y desmenuzados en las Secciones 1.2.1 y 1.2.2. Dado que estos métodos son ampliamente empleados en el mundo del reconocimiento facial, se introducirá brevemente en qué consiste esta aplicación. Entre los diversos métodos de reconocimiento de caras, el holı́stico es uno de los más populares gracias a los buenos resultados que suele ofrecer y la relativa simplicidad de su implementación. Al contrario que otros métodos centrados en extraer caracterı́sticas faciales de la imagen (ojos, nariz, boca, etc.), la estrategia holı́stica recibe toda la región de la cara como dato de entrada para el reconocimiento. El método holı́stico comienza realizando una reducción de dimensión. Para ello, transforma una imagen (de m filas y n columnas) en un vector unitario, también.

(14) 1.2 Técnicas de proyección en subespacios: PCA y LDA. 3. conocido como vector rasterizado (Figura 3), contenido en un espacio de imágenes d -dimensional (d = m x n). A éste se le substrae la imagen promedio y se proyecta el vector resultante en un subespacio de menor dimensión, usando uno de los métodos de reducción de dimensión (o extracción de caracterı́sticas). Esta proyección se compara con la proyección de un conjunto de imágenes de una base. El resultado del proceso de reconocimiento es la clase del vector más similar, utilizando algún criterio de similitud. Las dos técnicas holı́sticas más populares empleadas en el reconocimiento facial son Eigenfaces y Fisherfaces [9].. Fig. 3: Conversión de imagen en escala de grises a vector rasterizado. 1.2.1.. Eigenlandmarks. Se construye con técnicas de Análisis de Componentes Principales (PCA) [7]. La idea que subyace es que un dataset de alta dimensionalidad está normalmente descrito por variables correlacionadas y, por consecuente, tan solo unas pocas dimensiones contienen la mayorı́a de la información. El método PCA proyecta linealmente el espacio de imágenes a un subespacio de caracterı́sticas, de forma que se maximice la dispersión de todas las imágenes proyectadas. La descripción algorı́tmica se detalla en el Algoritmo 1..

(15) 4. 1 ESTADO DEL ARTE. Algoritmo 1 Eigenlandmarks Dado un vector aleatorio X = {I1 , I2 , ..., IN } donde Ii representa el vector rasterizado de la imagen i, es decir, que Ii ∈ Rd con d = m × n. 1. Calcular la media μ. N 1  Ii μ= N i=1. (1). 2. Calcular la Matriz de Covarianzas Σ 1 (Ii − μ)(Ii − μ)T n i=1 N. Σ=. (2). 3. Calcular los valores propios (eigenvalues) λi y los vectores propios (eigenvectors) νi de Σ Σνi = λi νi , i = 1, 2, ..., N (3) 4. Ordenar los vectores propios en orden descendiente según su valor propio. Los k componentes principales son los vectores propios correspondientes a los k mayores valores propios. Por lo tanto, los k componentes principales de un vector I son: y = W T (I − μ). (4). donde W = (ν1 , ν2 , ..., νk ). Y la reconstrucción desde el subespacio PCA serı́a: I = Wy + μ. (5). El método Eigenlandmarks realiza el reconocimiento facial de la siguiente forma: Proyecta las instancias de entrenamiento en el subespacio PCA. Proyecta una imagen de entrada nueva en el subespacio PCA. Encuentra el vecino más cercano entre esta imagen y las imágenes de entrenamiento proyectas.. El Algoritmo 1 deja un problema sin resolver. Imagı́nese un dataset de 400 imágenes de resolución 100 × 100 pı́xeles. El PCA resuelve la matriz de covarianzas Σ = XX T , donde, para el ejemplo en cuestión, tama no(X) = 10000 × 400. Se obtendrı́a una matriz de 10000 × 10000, aproximadamente 0.8GB. Puesto que la resolución de este problema es inviable, se utiliza un atajo algebraico. Una matriz de M × N con M > N únicamente puede tener N − 1 valores propios distintos de cero, por lo que se puede elegir la descomposición de valores propios Σ = XX T de.

(16) 1.2 Técnicas de proyección en subespacios: PCA y LDA. 5. tamaño N × N en su lugar y aplicarla a la Ecuación 3: X T Xνi = λi νi. (6). y obtener los vectores propios originales de Σ = XX T con una multiplicación por la izquierda de la matriz de datos: XX T (Xνi ) = λi (Xνi ). (7). Los vectores propios resultantes son ortogonales.. 1.2.2.. Fisherlandmarks. Propuesto por [8], este método combina PCA con una generalización del Discriminante Lineal de Fisher (FLD) [10], resultando en un proceso que han denominado Análisis Discriminante Lineal (LDA). El método Eigenlandmarks descrito en la Sección 1.2.1 maximiza la dispersión de todo el conjunto de imágenes proyectadas, sin tener en cuenta las clases a las que pertenecen. A pesar de ser una forma muy potente de representar los datos, puede que mucha información discriminatoria esté siendo desaprovechada. Éste es el motivo por el cual la técnica Fisherlandmarks realiza un LDA maximizando la separación entre clases. El proceso completo de esta técnica viene detallado en el Algoritmo 2..

(17) 6. 1 ESTADO DEL ARTE. Algoritmo 2 Fisherlandmarks Dado un vector aleatorio X con muestras extraı́das de c clases: X = X1 , X2 , ..., Xc Xi = I1 , I2 , ..., IN Se calculan las matrices de dispersión ΣB y ΣW como: ΣB =. c . Ni (μi − μ)(μi − μ)T. (8). i=1. ΣW =. c  . (Ij − μi )(Ij − μi )T. (9). i=1 Ij ∈Xi. donde μ es el promedio total: μ=. N 1  Ii N i=1. (10). y μi es el promedio de la clase i ∈ 1, ..., c: μi =. 1  Ij |Xi | I ∈X j. (11). i. En este punto, el algoritmo clásico de Fisher busca una proyección W que maximice el criterio de separación de las clases: Wopt. |W T ΣB W | = arg máx T |W ΣW W | W. (12). Siguiendo con lo propuesto por [8], la solución para el problema de optimización viene dada al resolver el Problema General de los Valores Propios: ΣB ν i = λ i Σ W ν i. (13). Σ−1 W Σ B ν i = λi ν i. (14). En el Algoritmo 2, queda un problema por resolver: el rango de ΣW es, como mucho, (N − c), con N muestras y c clases. En problemas de reconocimiento de patrones, el número de muestras N suele ser más pequeño que la dimensión de los datos de entrada (número de pı́xeles), convirtiendo la matriz de dispersión ΣW en singular. La solución que ofrecieron en [8] fue realizar un PCA sobre los datos y proyectar las muestras al subespacio de dimensión (N − c). Tras esto, se realiza un LDA sobre los datos reducidos, puesto que ΣW ya no es singular..

(18) 1.3 Modelos clasificadores K -NN con distancias Euclı́dea y Mahalanobis. 7. El problema de optimización se puede reformular de la siguiente manera: Wpca = arg máx|W T ΣT W |. (15). W. Wf ld = arg máx W. T |W T Wpca ΣB Wpca W | T T |W Wpca ΣW Wpca W |. (16). La matriz de transformación W , que proyecta una muestra al subespacio de dimensión (c − 1) viene dada por: T W = WfTld Wpca (17). 1.3.. Modelos clasificadores K-NN con distancias Euclı́dea y Mahalanobis. 1.3.1.. K-NN. En el campo de reconocimiento de patrones, el algoritmo de los K vecinos más próximos (en inglés, K -nearest neighbors, K -NN) es un método no paramétrico de clasificación supervisada. Un objeto es clasificado según un criterio de votación entre sus vecinos más cercanos. Normalmente, al objeto se le asigna la clase más común entre sus K vecinos más próximos. En el caso K = 1, la clase asignada al objeto es simplemente la del vecino más cercano. Éste último será el modelo empleado en el estudio comparativo entre los reconocedores Eigenlandmarks y Fisherlandmarks. El algoritmo K -NN es uno de los más simples dentro de los pertenecientes al machine learning. Existen diversos criterios de “cercanı́a” entre vecinos o métricas. Se analizarán dos de ellas, que serán las empleadas en el estudio comparativo: Euclı́dea y Mahalanobis. 1.3.2.. Distancia Euclı́dea. Se define como distancia o métrica Euclı́dea a la distancia en lı́nea recta entre dos puntos de un espacio Euclı́deo. En un espacio n-dimensional, la distancia Euclı́dea d serı́a:  d(p, q) = (p1 − q1 )2 + (p2 − q2 )2 + ... + (pi − qi )2 + ... + (pn − qn )2 (18) 1.3.3.. Distancia Mahalanobis. Introducida en 1936 por Mahalanobis [11], la distancia Mahalanobis entre dos − − variables aleatorias → x e→ y con la misma distribución de probabilidad y con matriz de covarianza S se define de la siguiente manera:  → − → − − − − − dm ( x , y ) = (→ x −→ y )T S −1 (→ x −→ y) (19).

(19) 8. 1 ESTADO DEL ARTE. La Ecuación 19 deriva de la siguiente formulación de la distancia Mahalanobis:  2  → 2 2 → − − − → − − − y1 y2 yn x1−→ x2−→ xn−→ → − → − dm ( x , y ) = + + ... + (20) σ1 σ2 σn Donde σi es la desviación estándar de la componente i de los vectores pertenecientes a un conjunto de datos. La métrica Mahalanobis, al tener en cuenta las desviaciones tı́picas, concede más peso en la distancia a las variables con menos varianza que aquéllas con mayor varianza..

(20) 9. 2.. NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MAPAS TOPOLÓGICOS VISUALES. Para el sistema de localización analizado en este proyecto, se usará únicamente un mapa topológico. Por lo tanto, el primer paso consistirá en generar dicho mapa. Como entorno, se ha escogido la segunda planta del ala sur del edificio-bloque 2 de la Escuela Técnica Superior de Ingenieros Informáticos de la Universidad Politécnica de Madrid, concretamente, desde la salida del ascensor del bloque 2 a la puerta del aula 3202. De ahora en adelante, se hará referencia a este entorno como el de la escuela.. 2.1.. Descripción del entorno de interiores experimental escogido. Para la construcción del mapa topológico, se han establecido 7 landmarks en el recorrido, cuya distribución se recoge en la Figura 4a. Los nodos representan: A, ascensor del bloque 2; B, puerta del Departamento de Lenguajes y Sistemas Informáticos e Ingenierı́a del Software; C, puerta de entrada al bloque 3; D, pasillo; E, puerta de entrada al aula 3202 (simbolizando E1 y E2 la puerta abierta y cerrada respectivamente); y F, interior del aula 3202. Una vez conocido el grafo, se tomaron imágenes de cada landmark para la obtención de los nodos visuales. La Figura 4b muestra el mapa topológico visual del entorno de la escuela.. 2.2.. Estudio comparativo de las variables discriminantes basadas en las transformaciones reductoras de imágenes: Eigenlandmarks y Fisherlandmarks. Para realizar la comparación entre estas dos técnicas, se hicieron dos tipos de análisis. El primero fue en estático, es decir, realizando una validación cruzada leaving-one-out sobre el dataset de imágenes. El segundo, en dinámico, consistı́a en analizar una serie de vı́deos grabados en primera persona recorriendo el mapa topológico de la escuela, en donde se pretendı́a valorar la eficacia de estas técnicas para reconocer landmarks con un cierto grado de confianza. Tanto los algoritmos empleados como las gráficas mostradas en los siguientes apartados se realizaron usando el lenguaje de programación Python (versión 2.7)..

(21) 10 2 NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MTV. (a) Grafo dirigido del recorrido. (b) Grafo con los nodos visuales. Fig. 4: Grafos del mapa topológico del entorno de la escuela 2.2.1.. Dataset del entorno experimental. Para formar un buen dataset de imágenes, era necesario obtener una gran cantidad de fotos con perspectivas ligeramente distintas de cada landmark. Para ello, se grabaron vı́deos de unos pocos segundos de duración en los que se enfocaban los distintos nodos del recorrido. Posteriormente, se extrajeron 61 frames de cada vı́deo y, teniendo en cuenta que se han escogido 7 landmarks, se construyó el dataset de imágenes con un total de 427 muestras. Con el fin de ahorrar en el número de operaciones computacionales, se realizó.

(22) 2.2 Estudio comparativo de Eigenlandmarks y Fisherlandmarks. 11. una reducción inicial de la resolución de las imágenes, pasando de 1280x720 pı́xeles a 160x90 pı́xeles. Además, se han convertido a escala de grises para poder tratarlas posteriormente como un vector unidimensional. La Figura 5 muestra una imagen a escala 1:1 de cada una de las 7 clases que componen el dataset.. Fig. 5: Muestras de las 7 clases del dataset. 2.2.2. 2.2.2.1.. Reconocimiento en estático Técnica Eigenlandmarks. Como se ha explicado en la Sección 1.2.1, el algoritmo Eigenlandmarks requiere una se defina el número de componentes principales que se van a extraer de la imagen. Para buscar la cantidad óptima, se realizó un leaving-one-out reducido con distintos números de componentes principales. El leaving-one-out fue reducido ya que no se realizaba el proceso de entrenamiento-testeo para cada muestra del dataset, sino que se realizó cien veces para cada valor del número de componentes principales. La instancia utilizada para el testeo se extraı́a aleatoriamente del dataset en cada fase de entrenamiento-testeo. Finalmente, se tomaba como medida de precisión el número.

(23) 12 2 NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MTV. total de aciertos en las predicciones tras cada testeo. Con esto, se pretendı́a hacer una búsqueda explorativa del número de componentes principales. Cabe recordar que la clase de la instancia se calcula usando un K -NN con K = 1 y con métricas Euclı́dea y Mahalanobis. La Figura 6 muestra las precisiones o accuracies logradas con distintos números de componentes principales.. Fig. 6: Precisiones logradas con un leaving-one-out reducido (100 ciclos de entrenamiento-testeo) Además de un porcentaje de acierto alto, interesa que el número de componentes principales sea el mı́nimo posible para que el coste computacional sea mı́nimo también. En la Figura 6 se aprecia que el rango [30,80] obtiene muy buenos porcentajes en ambas métricas, Euclı́dea y Mahalanobis. Por ello, se ejecutó una validación cruzada leaving-one-out, esta vez sı́, realizando todas las iteraciones. De esta forma, se pretendı́a hacer una búsqueda más explotativa y precisa del número de componentes principales óptimo. Los resultados de esta batida se muestran en la Figura 7. Tal y como se puede observar, el modelo con mayor precisión y menor número de componentes para Eigenlandmarks en estático (validación cruzada leaving-one-out sobre el dataset de imágenes) es el 1 -NN con métrica Mahalanobis y 40 componentes principales, logrando un porcentaje de acierto del 99.76 %..

(24) 2.2 Estudio comparativo de Eigenlandmarks y Fisherlandmarks. 13. Fig. 7: Obtención del número óptimo de componentes principales Cabe mencionar que los errores registrados en todas las validaciones cruzadas corresponden a clasificar la entrada del aula con la puerta abierta como la entrada del aula con la puerta cerrada, y viceversa. El número óptimo de componentes resultó ser 40, por lo que, para los siguientes procedimientos y gráficas mostradas, éste será el valor definido. Con ánimo de obtener una impresión visual de la distribución del dataset tras las transformaciones reductoras, se graficaron (Figura 8), para cada imagen del mismo, la distancia al vecino más cercano y la distancia al vecino más cercano perteneciente a la segunda clase más próxima. Una de las pretensiones iniciales de esto era, además de comparar las distribuciones de las instancias con las técnicas Eigenlandmarks y Fisherlandmarks, intentar definir un umbral de confianza para reconocer un landmark en dinámico (en un vı́deo con ciertos frames que no pertenecen a ninguna clase al estar desplazándose de un landmark a otro). Posteriormente, se observó que el vı́deo recoge perspectivas distintas de los landmarks, por lo que se descartó seguir con este método de búsqueda del umbral de confianza. Con el fin de ayudar en la interpretación de las gráficas de dispersión de puntos de la Figura 8, se aclararán algunos conceptos: A cada punto se le ha asignado el color que representa la clase a la que pertenece. Los colores de cada clase vienen recogidos en la leyenda de las Figuras 8a y 8b en cuestión (y, el reparto de colores será el mismo para todas las gráficas mostradas de este punto en adelante). r representa la distancia al vecino más cercano promedio entre el conjunto de instancias pertenecientes a una clase. El color de la circunferencia de radio r es.

(25) 14 2 NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MTV. aquel que representa la clase mayoritaria en el conjunto de puntos que hacen el promedio. R representa la distancia al vecino más cercano de la segunda clase más próxima promedio entre el conjunto de instancias pertenecientes a una clase. El color de la circunferencia de radio R es aquel que representa la clase mayoritaria en el conjunto de puntos que hacen el promedio. El cı́rculo semitransparente interior abarca todos los puntos que promedian r. El criterio de color es análogo al de la circunferencia de radio r. La corona semitransparente exterior engloba todos los puntos que promedian R. El criterio de color es análogo al de la circunferencia de radio R. La representación visual de las distancias (1 dimensión) en el plano (2 dimensiones) se ha realizado asignando un ángulo aleatorio a cada punto, respetando el valor de las distancias al centro del plano (punto origen)..

(26) 2.2 Estudio comparativo de Eigenlandmarks y Fisherlandmarks. 15. (a) Distancias Euclı́deas mı́nimas. (b) Distancias Mahalanobis mı́nimas. Fig. 8: Eigenlandmarks: distancias al vecino más cercano y al más cercano de la segunda clase más próxima La Figura 9 muestra algunas de las 40 eigenimages (eigenvectors) finales elaboradas a partir de todo el conjunto de imágenes del dataset, donde se puede atisbar en qué zonas de la imagen repara más el reconocedor (representadas con tonos más luminosos)..

(27) 16 2 NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MTV. Fig. 9: Representación visual de algunas Eigenimages. 2.2.2.2.. Técnica Fisherlandmarks. Procediendo de forma análoga a la Sección 2.2.2.1 (exceptuando la parte de optimización del número de componentes principales), se dibujó una gráfica de dispersión de puntos (Figura 10) para analizar la distribución del dataset tras la reducción de dimensión con la técnica Fisherlandmarks. Como la técnica Fisherlandmarks tiene fijado el número de componentes principales (número total de clases menos uno), no hizo falta realizar una búsqueda del valor óptimo como en el caso de Eigenlandmarks. La precisión en estático del método Fisherfaces con clasificador 1 -NN se estimó mediante una validación cruzada leaving-one-out. El resultado fue un porcentaje de acierto del 100 % con ambas métricas, Euclı́dea y Mahalanobis. En contraste con la Figura 9, la Figura 11, que exhibe las 6 fisherimages (fishervectors) obtenidas a partir del dataset, muestra una búsqueda mucho más detallada en la extracción de caracterı́sticas. Esto tiene sentido ya que el número de componentes principales pasa de ser 40 en Eigenlandmarks a 6 en Fisherlandmarks, lo que requiere mayor discriminación y, por consiguiente, minuciosidad..

(28) 2.2 Estudio comparativo de Eigenlandmarks y Fisherlandmarks. 17. (a) Distancias Euclı́deas mı́nimas. (b) Distancias Mahalanobis mı́nimas. Fig. 10: Fisherlandmarks: distancias al vecino más cercano y al más cercano de la segunda clase más próxima. Fig. 11: Representación visual de todas las Fisherimages.

(29) 18 2 NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MTV. 2.2.3.. Reconocimiento en dinámico. El objetivo principal para el reconocimiento en dinámico era crear un algoritmo que, al pasarle un vı́deo, detectase a tiempo real los landmarks. Por ello, habı́a que establecer un umbral de confianza en las distancias al vecino más cercano para determinar cuándo habı́a un landmark y cuándo no. Inicialmente se trató de construir un reconocedor que no dependiera del mapa topológico, pues tendrı́a un uso mucho más versátil. Puesto que el método estándar, realizando la transformación reductora de cada frame y buscando el vecino más cercano, no dio buenos resultados, se probaron distintas técnicas de procesamiento de imagen para alterar tanto el dataset de imágenes como los frames que se iban leyendo de los vı́deos. Concretamente: conversión a imágenes isolumı́nicas, filtrado SKF (Spatial Kernel Filtering) y concatenación de los tres histogramas. Sin embargo, ninguno de los dos métodos, Eigenlandmarks y Fisherlandmarks, ofrecieron buenos resultados tras utilizar estas técnicas de procesamiento de imagen. A fin de no sobrecargar la memoria del Trabajo de Fin de Máster, el desarrollo, resultados y análisis de estas pruebas se han excluido del cuerpo principal y se han incluido en el Apéndice A. Tras probar las distintas técnicas mencionadas, se decidió abordar el problema con un enfoque distinto basado en dos pilares principales: Primeramente, se decidió tratar de buscar una homografı́a entre el frame del vı́deo y algunas imágenes del dataset de los landmarks para, posteriormente, realizar una transformación proyectiva del frame. De esta forma, se pretendı́a reducir las diferencias en caso de que un landmark saliera con una perspectiva distinta a las imágenes del dataset. Y en segundo lugar, se decidió explotar la información del mapa topológico. Es decir, aprovechar el conocimiento que proporciona el mapa sabiendo el orden en que van a aparecer los landmarks. Para calcular la homografı́a entre un frame del vı́deo y una imagen del dataset, lo primero que hay que hacer es escoger un método para computarla de forma automática. Se usará el algoritmo ORB (Oriented FAST and Rotated BRIEF ) [12], desarrollado por OpenCV Labs y de código abierto, para la extracción de caracterı́sticas de las imágenes, a los que se referirá como descriptores. Una vez computados los descriptores del frame del vı́deo, se tendrán que comparar con los de las imágenes del dataset y se generará automáticamente la homografı́a, que se usará para realizar la transformación proyectiva del frame. La Figura 12 muestra una transformación proyectiva de un frame de uno de los vı́deos tomando como referencia una imagen de la base de datos y usando la extracción de puntos caracterı́sticos ORB..

(30) 2.2 Estudio comparativo de Eigenlandmarks y Fisherlandmarks. 19. Fig. 12: Transformación proyectiva usando extracción de caracterı́sticas ORB Sin embargo, no se pueden utilizar los descriptores de todas las imágenes del dataset, puesto que serı́a demasiado costoso computacionalmente. Por ello, al principio se decidió usar una imagen del dataset por cada landmark como referencia para la transformación proyectiva del frame. Las imágenes de referencia se escogı́an de la siguiente manera: para cada clase, calcular la imagen media y buscar la imagen perteneciente al dataset más cercana a esta imagen media. De esta forma, se podı́an calcular los descriptores ORB, puesto que se escogı́a una imagen en la que los bordes prevalecı́an y no salı́an difuminados, como en el caso de la imagen media. El primer algoritmo reconocedor que se pretendı́a probar consistı́a en los siguientes pasos: 1. Para cada frame del vı́deo, extraer los descriptores ORB 2. Compararlos con los siete conjuntos de descriptores de las imágenes de referencia extraı́das del dataset (una por cada landmark ) 3. Escoger los mejores emparejamientos de descriptores para cada caso 4. Calcular las siete homografı́as 5. Realizar la transformación proyectiva del frame con cada homografı́a.

(31) 20 2 NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MTV. 6. Proyectar el resultado a un subespacio con cualquiera de las técnicas Eigenlandmarks o Fisherlandmarks 7. Realizar un K -NN para buscar el vecino más cercano, cuya clase será la clasificación asignada al frame No obstante, existen dos problemas fundamentales en este algoritmo: no se está aprovechando la información del mapa topológico y usar una imagen de referencia por cada landmark para la transformación proyectiva parece insuficiente, puesto que se pierde parte de la diversidad aportada por las distintas perspectivas que ofrecen las imágenes del dataset respecto de cada landmark. Por consiguiente, se realizaron un par de cambios en el diseño del reconocedor, resultando en el Algoritmo 3, el modelo definitivo. Se incluyen también algunas lı́neas de comando en el lenguaje de programación Python 3.6. Además de esto, para tratar de aportar una mayor robustez al reconocedor, se nutrió el dataset de algunos frames extraı́dos de los vı́deos, remplazando varias imágenes de la base de datos y manteniendo el número de imágenes por landmark. Uno de los factores que se tuvieron en cuenta al realizar este remplazo fue la borrosidad de la imagen. Cuanto más difuminada sale la imagen, más difı́cil es que se detecten puntos caracterı́sticos ORB, puesto que se suavizan los gradientes de color. Es por ello que es de alto interés conservar las imágenes menos borrosas. Con el propósito de automatizar el proceso de búsqueda de las imágenes más nı́tidas, se utilizó como “medida de borrosidad” la varianza de la convolución de la imagen con el kernel Laplaciano, mostrado en la Figura 13. Este método simple, fácil de implementar y con una buena base cientı́fica fue propuesto por Pech-Pacheco et. al en su publicación [13] en la Conferencia Internacional de Reconocimiento de Patrones (ICPR).. Fig. 13: Kernel Laplaciano La Figura 14 muestra la comparación entre una imagen nı́tida (izquierda) y otra borrosa (derecha). Cuanto mayor sea la varianza de la imagen tras la convolución con el kernel Laplaciano, mayor es la nitidez de la imagen..

(32) 2.2 Estudio comparativo de Eigenlandmarks y Fisherlandmarks. Fig. 14: Comparación de la convolución Laplaciana para medir la borrosidad. 21.

(33) 22 2 NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MTV. Algoritmo 3 Reconocedor dinámico for cada landmark Li del dataset de imágenes: · Realizar un K-means con K = 5 para agrupar las imágenes etiquetadas como Li en 5 clústers. Como instancias, se usan los vectores rasterizados de las imágenes en escala de grises. · Extraer los centroides de cada clúster y buscar el individuo más cercano a cada uno de ellos usando como criterio la distancia Euclı́dea. Estas instancias serán las imágenes de referencia. · Calcular 300 descriptores ORB de las imágenes de referencia: ref descriptors. end for for cada frame Fi del vı́deo: · Calcular 300 descriptores ORB de Fi : orb = cv2.ORB create(300) keypoints, descriptors = orb.detectAndCompute(frame, None) · Emparejar los descriptores de Fi con los ref descriptors de los dos landmarks que más cerca estén de aparecer: matcher = cv2.DescriptorMatcher create() matches = matcher.match(descriptors, ref descriptors[j], None) · Para cada caso, escoger el 5 % mejor de los emparejamientos y descartar el resto. · Calcular las homografı́as entre Fi y cada una de las imágenes de referencia empleadas en los emparejamientos: homography, mask = cv2.findHomography(keypoints, ref keypoints[j]) · Realizar la transformación proyectiva de Fi con cada homografı́a: frame new = cv2.warpPerspective(frame, homography, (width, height)) · Proyectar las transformaciones del frame a un subespacio de 40 componentes principales con la técnica Eigenlandmarks. · Para cada proyección del frame, realizar un K -NN con métrica Euclı́dea y K = 1 tomando como individuos las imágenes del dataset etiquetadas como cualquiera de los dos landmarks que más cerca estén de aparecer. · Tras buscar el vecino más cercano para cada proyección del frame, escoger el que esté a menor distancia. · Si esta distancia es menor que un umbral preestablecido y distinto para cada landmark, asignar a Fi la clase del individuo escogido. end for El motivo principal por el que se terminó usando la técnica Eigenlandmarks en vez de Fisherlandmarks, fue que esta última, en general, no ofrecı́a una separación clara entre los vecinos más cercanos de manera que se pudiese obtener un umbral.

(34) 2.2 Estudio comparativo de Eigenlandmarks y Fisherlandmarks. 23. de confianza para cada landmark. Para la determinación de estos umbrales se emplearon gráficas similares a las adjuntas en el Apéndice A. Por lo que a la métrica del K -NN respecta, la distancia Euclı́dea superaba en dos aspectos a la Mahalanobis: la separación entre vecinos más cercanos era más clara y, por tanto, facilitaba la definición de un umbral de confianza, y computacionalmente se calcula más rápido ya que no requiere del uso de la matriz de covarianzas. En cuanto al valor de algunos parámetros como el número de centroides predefinidos en el K-means, la cantidad de descriptores ORB a computar o el porcentaje de emparejamientos que se toman para la calcular la homografı́a, se seleccionaron tras experimentar con pequeñas variaciones de estos. Además de esto, cabe mencionar que se probó el reconocedor explotando la información del mapa topológico, pero sin realizar transformación proyectiva alguna sobre los frames del vı́deo, ya que podı́a ser más ventajoso computacionalmente. Los resultados no fueron nada buenos y es por ello que no se incluye ninguna figura sobre ello. A continuación se explicará con un ejemplo el proceso que sigue el reconocedor, suponiendo que empieza desde el landmark inicial, el ascensor, y termina en la puerta del aula. La Figura 15 muestra las distintas fases por la que pasa el reconocedor. Los nodos en rojo representan la última ubicación conocida, mientras que los nodos en naranja representan los landmarks que está buscando. Como se ha añadido en el Algoritmo 3, el reconocedor compara los frames que le van llegando del vı́deo únicamente con las imágenes del dataset pertenecientes a los dos siguientes landmarks por aparecer. Por ejemplo, cuando el último landmark reconocido ha sido Corridor (nodo D), el reconocedor únicamente busca el vecino más cercano en las muestras pertenecientes a Door Close y Door Open (nodos E1 y E2) y a Classroom (nodo F). Este último se incluye en la búsqueda por si no se detectara la puerta..

(35) 24 2 NAVEGACIÓN AUTÓNOMA EN INTERIORES DE LA ESCUELA MEDIANTE MTV. Fig. 15: Ejemplo de un proceso de reconocimiento.

(36) 25. 3.. CONCLUSIONES. En este proyecto se han analizado y comparado dos técnicas de transformaciones reductoras, PCA (Eigenlandmarks) y LDA (Fisherlandmarks), para la navegación autónoma en entornos de interior basada en mapas topológicos visuales. Como modelo clasificador o reconocedor de landmarks se ha utilizado el K -NN, comparando también los rendimientos obtenidos con las métricas Euclı́dea y Mahalanobis. Para evaluar estos métodos, se han llevado a cabo dos tipos de análisis: estático, realizando un leaving-one-out sobre el dataset, y dinámico, detectando landmarks en un vı́deo en diferido para idealmente poder hacerlo a tiempo real. Del análisis en estático se extrae una conclusión clara: ambas técnicas, Eigenlandmarks y Fisherlandmarks, ofrecen rendimientos excelentes. En el primer caso, Eigenlandmarks, se ha realizado una búsqueda del número óptimo de componentes principales, obteniendo la cifra de 40 como mejor valor. El rendimiento más alto se obtuvo con métrica Mahalanobis, 99.76 %, superando ligeramente al obtenido con la Euclı́dea, 99.53 %. En lo que a la técnica Fisherlandmarks respecta, se obtuvo un porcentaje de acierto del 100 % con ambas métricas, Euclı́dea y Mahalanobis. Con ánimo de visualizar y comparar las distribuciones del dataset tras las transformaciones reductoras PCA y LDA, se dibujaron las gráficas de dispersión de putos: Figuras 8 y 10, respectivamente. Estas gráficas muestran, para cada imagen del dataset, las distancias al vecino más cercano y las distancias al vecino más cercano perteneciente a la segunda clase más próxima. En estas figuras se puede comprobar cómo la transformación reductora LDA distribuye mejor el dataset de imágenes que la PCA, distanciando más las coronas exteriores (que abarcan los vecinos más cercanos de la segunda clase más próxima) de los cı́rculos interiores (que contienen los vecinos más cercanos). Respecto al análisis en dinámico, primeramente se intentó abordar el problema sin hacer uso del mapa topológico, es decir, buscando, para cada frame del vı́deo, el vecino más cercano entre todas las muestras del dataset. Como ninguno de los dos métodos, Eigenlandmarks y Fisherlandmarks, dieron buenos resultados con las imágenes en escala de grises, se probaron distintas técnicas de procesamiento de imagen: transformación isolumı́nica, filtrado SKF (Spatial Kernel Filtering) y concatenación de los tres histogramas. Los resultados ofrecidos por estas técnicas tampoco fueron buenas, por lo que se introdujeron dos nuevos enfoques: realizar una transformación proyectiva del frame para tratar de alinearlo con las imágenes del dataset y explotar la información del mapa topológico. Con motivo de realizar la transformación proyectiva del frame automáticamente, se utilizó el algoritmo de detección de puntos caracterı́sticos ORB, incluido en la librerı́a de código abierto de Python OpenCV. Tras la proyección del frame, se realiza la transformación reductora PCA y se busca el vecino más próximo (con métrica.

(37) 26. 3 CONCLUSIONES. Euclı́dea) perteneciente a los dos landmarks que más cerca estén de aparecer. Si la distancia a este vecino no rebasa un umbral predefinido se asigna la clase del mismo al frame. Además, para garantizar una mayor robustez del reconocedor dinámico, se nutrió la base de datos de imágenes de frames extraı́dos de algunos de los vı́deos, utilizando la variación de la convolución Laplaciana para importar automáticamente las muestras menos borrosas. El modelo final del reconocedor con la base de datos actualizada se ha testado en 5 vı́deos distintos y reconoce perfectamente todos los landmarks que aparecen. Es decir, se ha logrado una precisión del 100 % en la detección de landmarks en dinámico. Sin embargo, con el hardware empleado (Intel Core i7-5500U CPU @ 2.40GHz ), el reconocedor tarda, de media, 15 centésimas de segundo en procesar un frame y determinar si aparece un landmark en él. Por lo tanto, asumiendo que un vı́deo se reproduzca a 25 frames/segundo, es decir, 1 frame cada 4 centésimas, el reconocedor deberı́a procesar 1 de cada 4 frames para poder funcionar a tiempo real. Esto no es un problema ya que no es necesario analizar todos los frames del vı́deo, puesto que se obtienen los mismos resultados. Finalmente, se remarcarán dos observaciones de los experimentos. Por un lado, para un número de componentes principales bajo, es mejor realizar un LDA directamente en vez de un PCA, ya que realiza una distribución más discriminante (entre clases) del dataset. Por otro lado, a medida que el número de componentes principales aumenta, el rendimiento del K -NN con métrica Mahalanobis empeora linealmente, mientras que con métrica Euclı́dea se mantiene relativamente estable, hechos que se pueden constatar observando las Figuras 16 y 26..

(38) 27. 4.. LÍNEA FUTURA. El paso a seguir tras la finalización del presente proyecto serı́a la migración del sistema de reconocimiento de landmarks a un prototipo fı́sico, es decir, implementar el algoritmo reconocedor en un robot móvil. Además, debido al tiempo de procesamiento de los frames, se deberı́an analizar distintas opciones como el procesado en paralelo o el uso de una red local o de tipo nube para disponer de un hardware potente..

(39) 28. 4 LÍNEA FUTURA.

(40) 29. 5.. APÉNDICE A: Técnicas de procesamiento de imagen. La idea inicial fue construir un reconocedor que no dependiese del mapa topológico. Con el ánimo de encontrar un umbral de confianza para cada landmark, se realizaron los procedimientos explicados a continuación. Para cada vı́deo, se apuntaron de forma manual los frames en los que aparecı́a un landmark para, posteriormente, compararlos con la salida del clasificador. Gracias a esto, se pudo definir la medida de rendimiento en dinámico, η, para calcular la efectividad de las técnicas en cada vı́deo: η=. no de f rames clasif icados correctamente no de f rames en los que sale un landmark. (21). Para interpretar correctamente las gráficas incluidas en las siguientes páginas, es necesario aclarar algunos conceptos. Se realizará el análisis en dinámico con cuatro vı́deos; por lo tanto, las figuras que estén descritas a pie de imagen como “análisis en dinámico”estarán compuestas de cuatro sub-ejes de coordenadas, cada uno representando el resultado del clasificador sobre un vı́deo distinto. En estos análisis se grafican los labels reales sobre el eje horizontal, que representa los frames del vı́deo. El eje vertical, por su parte, representa las distancias al vecino más cercano, ya sea Euclı́dea o Mahalanobis. Cada punto de la gráfica tiene el color de la clase predicha por el clasificador K -NN para un frame concreto. En las figuras que muestran rendimientos para distintos valores del número de componentes principales también aparecen los resultados para los cuatro vı́deos. El rendimiento o accuracy mostrado en estas gráficas se calcula según la Ecuación 21, y aparece en porcentaje. Se referirá a los vı́deos enumerándolos del 1 al 4 empezando por el que está en el sub-eje de cada figura de arriba a la izquierda (Vı́deo 1), siguiendo por el de arriba a la derecha (Vı́deo 2), abajo a la izquierda (Vı́deo 3) y terminando por el de abajo a la derecha (Vı́deo 4). Es importante tener en cuenta tanto el análisis en dinámico como la búsqueda del número de componentes principales más efectivo (que mejor rendimiento medio tenga entre los cuatro vı́deos) para el caso de Eigenlandmarks, ya que el primero puede ser clave para determinar la distancia umbral de confianza, mientras que el segundo dicta con qué frecuencia se detecta correctamente un landmark cuando se.

(41) 30. 5 APÉNDICE A: Técnicas de procesamiento de imagen. está delante de él. La Figura 16 muestra los rendimientos en dinámico para distintos valores del número de componentes principales usando el método Eigenlandmarks. El rendimiento empeora considerablemente con la métrica Mahalanobis a medida que aumenta el número de componentes, lo que podrı́a ser un indicio de que el K -NN Mahalanobis funcione mal cuando los individuos tienen muchas dimensiones.. Fig. 16: Rendimientos η para distintos números de componentes principales en la técnica Eigenlandmarks El mejor rendimiento medio entre los cuatro vı́deos con la técnica Eigenlandmarks se obtiene con 110 componentes principales y métrica Euclı́dea: 81.07 %. El rendimiento máximo obtenido se da en el Vı́deo 3 con 50 componentes principales y métrica Mahalanobis: 89.55 %. Sin embargo, estos mismos parámetros dan malos resultados en el segundo vı́deo. Se decidió por tanto analizar estas dos combinaciones de parámetros: Figuras 17a y 17b respectivamente. Como se puede observar, la detección de landmarks no es muy precisa. Es cierto que algunos landmarks son identificados correctamente en todos los vı́deos como el Corridor (en morado) o el HallFront (en verde). Pese a esto, ninguno de los clasificadores es fiable para el resto de landmarks..

(42) 31. (a) 110 componentes principales y métrica Euclı́dea. (b) 50 componentes principales y métrica Mahalanobis. Fig. 17: Análisis en dinámico de Eigenlandmarks Con la técnica Fisherlandmarks no hace falta realizar una búsqueda del número más efectivo de componentes principales ya que este valor se queda fijado en 6 (no de clases − 1). Para esta técnica, tanto el mejor rendimiento medio entre los cuatro vı́deos como el rendimiento más alto se obtuvo con métrica Mahalanobis: 72.99 % y 82.60 % respectivamente. Este último se alcanzó en el análisis del Vı́deo 2. La Figura 18 muestra el reconocimiento en dinámico de los cuatro vı́deos usando la técnica Fisherlandmarks, que ofrece unos resultados más inestables..

(43) 32. 5 APÉNDICE A: Técnicas de procesamiento de imagen. Fig. 18: Análisis en dinámico de Fisherlandmarks con métrica Mahalanobis Aunque los resultados nos son malos, ninguna de las dos técnicas (Eigenlandmarks y Fisherlandmarks) parecen ser suficientemente buenas como para implementar un reconocedor de landmarks fiable. Es por ello que se decidió probar una serie de técnicas de preprocesado de imagen cuyos procedimientos y resultados se detallarán y analizarán a continuación. La primera alternativa que se probó fue convertir las imágenes del dataset a isolumı́nicas [14], [15]. Esto consiste básicamente en pasar de un color con tres grados de libertad a uno con dos grados de libertad, asignando una intensidad fija e idéntica para todos los pı́xeles de la imagen. En la Figura 19 se muestran un par de ejemplos de esta conversión.. Fig. 19: Transformación de un par de imágenes en isolumı́nicas La mayor ventaja de esta técnica consiste en que se reducen las variaciones originadas por la iluminación. Además, únicamente se necesitan dos capas de colores de luz primarios de la imagen RGB para extraer toda la información de la imagen. Es decir, que si se conocen las capas R (red) y G (green) de la imagen, se puede deducir.

(44) 33. la capa B (blue) ya que la suma de los tres valores RGB es idéntica para cada pı́xel de la imagen. Por lo tanto, el vector rasterizado de una imagen isolumı́nica tendrá el doble de longitud que el de una en escala de grises. El método de transformación de imagen isolumı́nica en vector rasterizado utilizado en este proyecto viene representado visualmente en la Figura 20.. Fig. 20: Conversión de imagen isolumı́nica en vector rasterizado En la Figura 21 se muestra el rendimiento de la técnica Eigenlandmarks con el preprocesado isolumı́nico. En general, se observa un deterioro en los resultados con respecto a la técnica Eigenlandmarks sin preprocesado. El rendimiento máximo medio entre los cuatro vı́deos fue de 72.88 %, con 90 componentes principales y métrica Euclı́dea. La métrica Mahalanobis ofrece resultados bastante peores en general, salvo en el Vı́deo 4, donde mejora ligeramente los rendimientos de la Euclı́dea.. Fig. 21: Rendimientos η para distintos números de componentes principales en la técnica Eigenlandmarks con imágenes isolumı́nicas.

(45) 34. 5 APÉNDICE A: Técnicas de procesamiento de imagen. El análisis en dinámico del clasificador con los parámetros más eficaces (90 componentes principales y métrica Euclı́dea) viene representado en la Figura 22. En comparación con la técnica Eigenlandmarks sin preprocesado (Figura 17), la precisión del clasificador baja. Sin embargo, con esta técnica las distancias al vecino más cercano tienen mayor desviación tı́pica, como se puede apreciar visualmente comparando los resultados de las dos técnicas. Esto es un punto a favor del preprocesado isolumı́nico, ya que facilitarı́a la obtención de un umbral de confianza.. Fig. 22: Análisis en dinámico de Eigenlandmarks con imágenes isolumı́nicas, 90 componentes principales y métrica Euclı́dea Respecto a la técnica Fisherlandmarks con preprocesado isolumı́nico, el mejor rendimiento medio se obtuvo con métrica Mahalanobis: 65.54 %. El rendimiento máximo, sin embargo, se dio con métrica Euclı́dea en el Vı́deo 1: 73.91 %. Ambos rendimientos dejan mucho que desear. El análisis en dinámico de esta técnica se incluye en la Figura 23..

(46) 35. (a) Métrica Euclı́dea. (b) Métrica Mahalanobis. Fig. 23: Análisis en dinámico de Fisherlandmarks con preprocesado isolumı́nico Dado que algunos landmarks todavı́a no se detectan correctamente, se decidió experimentar con otro preprocesado de imagen: Spatial Kernel Filtering, SKF (Algoritmo 4). Se ha incluido la Figura 24 como muestra ejemplar de lo que serı́a un preprocesado SKF de dos imágenes en blanco y negro. Puesto que el preprocesado SKF tiene un par de parámetros cuyo valor óptimo es desconocido (el lado del kernel n y el umbral predefinido λ), se analizaron los resultados combinando valores de n en el rango [5,17] con valores de λ en el rango [10,100]. La Figura 25 recoge algunos de los mejores resultados obtenidos para cada caso. Se muestran únicamente las gráficas de los clasificadores K -NN con métrica Euclı́dea,.

(47) 36. 5 APÉNDICE A: Técnicas de procesamiento de imagen. Algoritmo 4 Spatial Kernel Filtering Dada una imagen, una vecindad espacial N (x, y) (e.g. un kernel de n × n) y umbral predefinido λ: for cada pı́xel I(i, j) de la imagen: Calcular la media Im y el rango de intensidades (Imax − Imin ) de los pı́xeles pertenecientes a la vecindad N. if (Imax − Imin < λ) then I(i, j) = Im else then I(i, j) = Imax − Imin end if end for Devolver la imagen con los pı́xeles actualizados, la cual será proyectada a un subespacio. NOTA 1: El primer caso es una transformación de filtro paso bajo y el segundo una transformación de filtro paso alto. NOTA 2: El tamaño del kernel espacial N (x, y) y el umbral predefinido λ son parámetros arbitrarios con los que hay que experimentar.. Fig. 24: Filtrado SKF de un par de imágenes en escala de grises ya que con métrica Mahalanobis los resultados fueron muy imprecisos. Además, se muestran únicamente los resultados de un vı́deo (el Vı́deo 3) como ejemplo, ya que los resultados en general fueron bastante malos. Se puede apreciar en las Figuras 25b y 25c que los landmarks Elevator (amarillo), HallBack (cian), HallFront (verde) y DoorClose (rojo) se detectan correctamente con la técnica Eigenlandmarks. Sin embargo, fallan en la detección de Corridor (violeta). Además, las distancias al vecino más cercano son bastante grandes, por lo que serı́a muy difı́cil establecer un umbral de confianza en el que se pudiera afirmar que hay un landmark en el frame actual del vı́deo..

(48) 37. (a) n = 5, λ = 50. (b) n = 11, λ = 40. (c) n = 17, λ = 35. Fig. 25: Análisis en dinámico de Eigenlandmarks y Fisherlandmarks con métrica Euclı́dea y preprocesado SKF.

(49) 38. 5 APÉNDICE A: Técnicas de procesamiento de imagen. Si se observa la Figura 24, se puede ver cómo se amplifica el efecto causado por la iluminación. En el par de imágenes de la derecha, por ejemplo, se puede apreciar cómo el reflejo de una bombilla en el suelo aumenta el área tras la conversión SKF. Este efecto es claramente desfavorable para el reconocimiento de landmarks por lo que puede ser uno de los motivos por los que ofrece tan malos resultados. Por lo tanto, al ser evidente que el preprocesado SKF no es un buen método para el propósito del proyecto, se descartó incluirlo en el reconocedor dinámico y se procedió a experimentar con otra técnica. El siguiente método que se probó fue utilizar como vector a proyectar en un subespacio la concatenación de los histogramas de cada canal de la imagen (rojo, verde y azul). Es decir, el vector que representa a cada imagen tiene una longitud de 768 (256 × 3). La Figura 26 muestra la búsqueda para Eigenlandmarks de un número de componentes óptimo en función del rendimiento (en porcentaje) y con métricas Euclı́dea y Mahalanobis. . Lo mismo se aplica a la Figura 27, que muestra el análisis en dinámico de los cuatro vı́deos con métrica Euclı́dea (ya que los resultados con distancia Mahalanobis son bastante peores y se decidió omitirlos).. Fig. 26: Búsqueda del número óptimo de componentes con el método de concatenación de los 3 histogramas Si uno se fija detenidamente, la única diferencia entre las Figuras 27a y 27b es que la distancia al vecino más cercano aumenta ligeramente como tónica general cuando el número de componentes asciende de 10 a 150. Exceptuando este cambio, la forma de la gráfica para cada vı́deo apenas cambia, dato que cuadra con lo observado en la Figura 26, donde se aprecia que el rendimiento con métrica Euclı́dea no varı́a independientemente del número de componentes principales..

(50) 39. (a) 10 componentes principales. (b) 150 componentes principales. Fig. 27: Análisis en dinámico de Eigenlandmarks con el método de concatenación de los 3 histogramas y métrica Euclı́dea.

(51) 40. 5 APÉNDICE A: Técnicas de procesamiento de imagen. En el caso de Fisherlandmarks (Figura 28), los resultados son muy parecidos al Eigenlandmarks. Los rendimientos obtenidos para cada uno de los cuatro vı́deos con métrica Euclı́dea han sido: 87.68 %, 68.55 %, 62.44 % y 70.29 %. Aunque puedan parecer resultados aceptables, se puede observar que el clasificador falla sistemáticamente en la detección de ciertos landmarks, como DoorClose (en rojo), por ejemplo. Sabiendo esto, no se puede considerar como admisible la efectividad del clasificador.. Fig. 28: Análisis en dinámico de Fisherlandmarks con el método de concatenación de los 3 histogramas y métrica Euclı́dea.

(52) 41. 6.. APÉNDICE B: Códigos Python empleados. Todos los códigos empleados a lo largo del proyecto se encuentran en: https://github.com/eltrujo/landmark-recognizer..

(53) 42. 6 APÉNDICE B: Códigos Python empleados.

(54) Referencias. 43. Referencias [1] Documentación y transparencias de la asignatura Robots Autónomos del Máster Universitario en Inteligencia Artificial por la ETSIInf. Universidad Politécnica de Madrid. [2] Garcı́a C. (2016) Sistema de ayuda a la navegación en interiores mediante mapas topológicos visuales. Trabajo Fin de Máster Universitario en Inteligencia Artificial por la ETSIInf. Universidad Politécnica de Madrid. [3] Maravall, D.; de Lope, J.; Fuentes, J.P. (2009) Navigation and Self-Semantic Location of Drones in Indoor Environments by Combining the Visual Bug Algorithm and Entropy-Based Vision. Frontiers in Neurorobotics, pp. 1-10 [4] Maravall, D.; de Lope, J.; Fuentes, J.P. (2015) Vision-based anticipatory controller for the autonomous navigation of an IAV using artificial neural networks. Neurocomputing, Vol. 15, Part 1, pp. 101-105 [5] Hart, P. E.; Nilsson, N. J.; Raphael, B. (1968) A Formal Basis for the Heuristic Determination of Minimum Cost Paths. IEEE Transactions on Systems Science and Cybernetics SSC4, Vol. 4, No. 2, pp. 100-107 [6] Dijkstra, E. W. (1959) A note on two problems in connexion with graphs (PDF). Numerische Mathematik, Vol. 1, pp. 269–271 [7] Pearson, K. (1901) On lines and planes of closest fit to systems of points in space. Philosophical Magazine Vol. 2, pp. 559-572 [8] Belhumeur, P.N.; Hespanha, J.P.; Kriegman, D.J. (1996) Eigenfaces vs. Fisherfaces: Recognition using class specific linear projection. Computer Vision — ECCV ’96, Lecture Notes in Computer Science, Vol. 1064, Springer, Berlin, Heidelberg [9] Ottado, G. (2010) Reconocimiento de caras: Eigenfaces y Fisherfaces. Trabajo Fin de Máster en la Facultad de Ingenierı́a de la Universidad de la República. Uruguay [10] Fisher, R. A. (1936) The use of multiple measurements in taxonomic problems. Annals of Eugenics, Vol. 7, pp. 179-188 [11] Mahalanobis, P. C. (1936) Proceedings National Institute of Science of India, Vol. 2, No. 1, pp. 49-55 [12] Rublee E.; Rabaud V.; Konolige K.; Bradski G. R. (2011) ORB: An efficient alternative to SIFT or SURF. ICCV 2011, pp. 2564-2571 [13] Pech-Pacheco J. L.; Cristóbal G.; Chamorro-Martı́nez J.; Fernández-Valdivia J. (2000) Diatom autofocusing in brightfield microscopy: a comparative study. ICPR 2000, Vol. 3, pp. 314-317.

(55) 44. Referencias. [14] Gegenfurtner, K. R. (2003) Cortical mechanisms of colour vision. Nature Reviews Neuroscience, Vol. 4, pp. 563-572 [15] Benitez-Quiroz, C. F.; Srinivasan, R.; Martinez, A. M. (2018) Facial color is an efficient mechanism to visually transmit emotion. Proceedings of the National Academy of Sciences, Mar 2018, 201716084.

(56)

Referencias

Documento similar

Cedulario se inicia a mediados del siglo XVIL, por sus propias cédulas puede advertirse que no estaba totalmente conquistada la Nueva Gali- cia, ya que a fines del siglo xvn y en

Después de una descripción muy rápida de la optimización así como los problemas en los sistemas de fabricación, se presenta la integración de dos herramientas existentes

diabetes, chronic respiratory disease and cancer) targeted in the Global Action Plan on NCDs as well as other noncommunicable conditions of particular concern in the European

The part I assessment is coordinated involving all MSCs and led by the RMS who prepares a draft assessment report, sends the request for information (RFI) with considerations,

 Tejidos de origen humano o sus derivados que sean inviables o hayan sido transformados en inviables con una función accesoria..  Células de origen humano o sus derivados que

En cada antecedente debe considerarse como mínimo: Autor, Nombre de la Investigación, año de la investigación, objetivo, metodología de la investigación,

La siguiente y última ampliación en la Sala de Millones fue a finales de los años sesenta cuando Carlos III habilitó la sexta plaza para las ciudades con voto en Cortes de

El fenómeno del cuidado, emerge como necesidad la simbiosis entre el proceso de enfermería y su transcendencia en la investigación científica a través de la enfermería basada