1. Introducción
Dada una imagen de consulta, el reconocimiento visual de lugares puede ser vista como la tarea de recuperar imágenes [3, 7, 20, 35, 44, 45]. Esta tarea consiste en determinar la coincidencia entre una imagen consulta y las imágenes de lugares visitados con anterioridad, almacenadas en una gran base de datos [24]. En los últimos años esta tarea ha recibido considerable atención por parte de la comunidad de visión por computadora [3, 6, 7, 13, 20] debido a sus importantes aplicaciones, como la navegación automática [25], más específicamente ante la falta de información sobre el posicionamiento global, así como el geo-etiquetado automático y realidad aumentada [27].
Tradicionalmente, cada imagen de la base de datos era codificaba al extraer las características locales robustas [46] mediante métodos como SIFT / SURF / ORB [5, 23, 34]. Estos rasgos eran luego agregados a una única representación vectorial para toda la imagen, esto se logra al usar métodos de codificación como la bolsa de palabras visuales [33, 38], VLAD [2, 18] y Vector de Fisher [19, 32]. La representación resultante es normalmente comprimida e indexada de manera eficiente [17, 38].
Sin embargo, el problema del reconocimiento visual de lugares sigue siendo una tarea desafiante; se busca lograr una representación adecuada que sea lo suficientemente robusta que permita distinguir entre lugares similares aún bajo cambios extremos de punto de vista, oclusión parcial y cambios en la iluminación, pero que también sea lo suficiente eficiente y compacta.
Motivado por el éxito del aprendizaje profundo en el área de visión por computadora [9], el enfoque en el reconocimiento visual de lugares se ha desplazado del uso de técnicas tradicionales de características obtenidas a mano como SIFT / SURF / ORB [5, 23, 34], al uso de características más genéricas obtenidas mediante aprendizaje profundo y extraídas a través de redes neuronales convolucionales (RNC).
Lo que se busca con este enfoque es la utilización del aprendizaje profundo para generar representaciones adecuadas una la imagen desde una RNC previamente entrenada. En general, los enfoques basados en aprendizaje profundo actuales se dividen en dos grandes categorías:
La imagen completa es directamente alimentada a la RNC, se extraen las activaciones de las capas convolucionales, estas son agregadas. El resultado es una representación global de la imagen [41, 4].
De la imagen se extraen regiones de interés, la RNC previamente entrenada se utiliza sobre cada una de estas regiones. Los resultados de cada una de estas regiones se agregan para crear una representación de imagen final.
Por lo general, el primer enfoque, aplana o agrega directamente las activaciones de una sola capa de la RNC para crear una representación global de la imagen, la cual generalmente resulta en una representación menos robusta frente a efectos como la oclusión parcial o las variaciones severas del punto de vista. Por otro lado, la representación generada por el segundo enfoque, resulta ser más robusta e invariable ante cambios de puntos de vista extremos y oclusiones parciales. Tiende a enfocarse en áreas más importantes de la imagen [40], sin embargo, resulta computacionalmente intensiva y a usar técnicas externas de extracción de regiones de interés.
En [8, 12, 28, 22, 47, 43], considerados como trabajos del estado del arte, se identifican las regiones de interés mediante las activaciones de las capas convolucionales. En [8], los autores utilizaron la red VGG-16 [37] previamente entrenada en el conjunto de datos ImageNet [1]. A pesar de que sus resultados son mejores comparados a los otros métodos, este trabajo presenta varios inconvenientes. Uno es que el modelo RNC fue previamente entrenado con una base de datos centrados en objetos, lo que hace que la RNC intente poner más énfasis en los objetos en vez del lugar en sí, lo que conduce a más casos de falla.
Además, el enfoque propuesto de identificación de regiones de interés dificulta la identificación de regiones estáticas que pueden ser más efectivas bajo condiciones y variaciones de puntos de vista. También, afirma superar a trabajos clásicos como FABMAP [12], SEQSLAM [12] y otros métodos de codificación como Sum-Pooling [47], Max-Pooling [43] y Cross-Pooling [22].
Inspirado en estos resultados, en este artículo se propone un nuevo método de codificación, basado en la identificación automática de las características convolucionales de regiones de interés de un modelo RNC. El trabajo propone el entrenamiento del modelo RNC con una nueva función de perdida diseñada específicamente para la comparación de lugres. La ventaja de este enfoque es que, en lugar de depender de técnicas de extracción de regiones de interés externas o de la selección manual de la capa convolucional, el método propuesto identifica las regiones de interés automáticamente en la última capa convolucional. Para lograr mejores resultados se agrega un transformador espacial totalmente convolucional para la normalización de las áreas de interés, lo cual fue inspirado por el trabajo [16]. Esto ayuda a lograr una mayor robustez, que hasta donde se sabe, este es el primer trabajo que combina estos enfoques en la tarea de recuperación de imágenes. En contraste con otros métodos que usan modelos previamente entrenados en conjunto de datos enfocado en objetos [1], el modelo de RNC descrito en este trabajo, se entrenó con un conjunto de datos centrado en lugares [30].
El enfoque propuesto representa cada imagen como un conjunto de regiones de interés (es decir, parches rectangulares) que luego se codifican con el método VLAD. La motivación para usar VLAD [18, 2] viene de los resultados superiores obtenidos en comparación a otros enfoques como bolsa de palabras [38] y otros como [12, 28, 22, 47, 43]. La evaluación de estas regiones permite la comparación de dos imágenes y determinar su similitud.
Esto se ilustra en la Figura 1. Para determinar la eficiencia trabajo propuesto, se evaluó comparándolo con otros algoritmos de reconocimiento de lugares considerado en el estado del arte, en varios conjuntos de datos de referencia, los cuales exhiben variaciones de apariencia, iluminación, oclusión y punto de vista.
A partir de este momento, y por facilidad, nos referiremos a nuestro trabajo como CorVlad-Net (Correspondence Vlad Network).
En particular, se realizan las siguientes contribuciones principales:
− Aprendizaje mediante el uso de la función de pérdida de correspondencias propuesta en este trabajo, la cual permite identificar las áreas de interés directamente, las cuales se usan para crear la codificación de la imagen.
− La integración de un transformador espacial totalmente convolucional en la arquitectura de la RNC, el cual se utiliza en la normalización de las regiones de interés, lo cual logra una codificación más robusta.
− Un modelo RNC entrenado y ajustado con un conjunto de datos centrado en lugares [30], a diferencia de otros enfoques que entrenados con datos centrados en objetos [1].
− Un sistema de aprendizaje profundo de reconocimiento visual de lugares basado en la región de interés que puede abordar variaciones tanto en el punto de vista, oclusiones e iluminación.
El resto del artículo está organizado de la siguiente manera. En la sección 2 se presenta el trabajo relacionado en el reconocimiento de imágenes. En la sección 3, se presenta a detalle la metodología propuesta. La sección 4 ilustra y discute los resultados logrados en varios conjuntos de datos de referencia. En la sección 5 se enumeran las conclusiones obtenidas.
2. Trabajos relacionados
En esta sección se describen los principales trabajos con el reconocimiento visual de lugares, así como los métodos que se han desarrollado para codificar características basadas en RNC.
Los primeros trabajos [12, 28] utilizaban características locales como SIFT / SURF / ORB [5, 23, 34]. Esta información luego era codificada principalmente mediante la representación de bolsa de palabras [33]. Estos trabajos mostraron buenos resultados bajo cambios de punto de vista, ya que aprovechaban las propiedades de invariancia de los descriptores. Se convirtieron en el estado del arte en el área. Las investigaciones se enfocaron en diseñar mejores características de este tipo. Sin embargo, motivado por el éxito del aprendizaje profundo en el ara de visión por computador, los primeros trabajos que atacaron el problema haciendo uso de un modelo RNC fueron [9, 41, 36, 40, 31]. En [9, 36], los autores utilizaron modelos previamente entrenados en el conjunto de datos centrado en objetos ImageNet [1]. Para realizar la comparación entre imágenes utilizaban diferentes medidas de distancia usando las activaciones de los mapas de características de la RNC. Esto trabajos han mostrado resultados muy superiores a los que métodos clásicos que utilizaban características diseñadas a mano como SIFT / SURF / ORB [5, 23, 34].
En [10], los autores introdujeron dos modelos tipo RNC diseñados específicamente para la tarea de reconocimiento de lugares, los cuales han sido entrenados y ajustados en un conjunto de datos SPED [8], y centrados en el reconocimiento de lugares. El conjunto de datos SPED consiste en miles de imágenes de lugares con variaciones de el mismo lugar durante diferentes épocas del año. Los resultados mostrados han sido muy superiores respecto a otros trabajos.
Los enfoques mencionados anteriormente extraen representaciones globales de la imagen completa, las cuales mostraban resultados superiores, pero presentaban problemas en los casos de oclusiones parciales de la estructura de la escena o variaciones severas del punto de vista. En cambio, los enfoques que dividían la imagen en regiones más pequeñas (siendo estas las que mejor caracterizaban a la imagen) obtenían mejores resultados en esos casos.
En el trabajo reportado en [26], los autores hacían uso de este enfoque, el cual mostraba ser más robusto frente a las variaciones de escala y punto de vista. Los enfoques presentados en [40, 42], combinaban un detector de regiones de interés externo, los cuales también mostraban buenos resultados. Nuestro trabajo CorVlad-Net se inspira en estos métodos, como la representación de la imagen basada en regiones de interés. En contraste, nuestro enfoque no requiere ninguna técnica externa de extracción de regiones de interés.
El enfoque propuesto identifica directamente las regiones de interés en la última capa convolucional. Unos de los inconvenientes en este enfoque es que las RNCs solo son robustas para algunos tipos de transformaciones como la traslación y en menor medida al escalado, debido a las operaciones en las capas como convolución y agrupación. Sin embargo, la gestión explícita de tales variaciones se ha manejado aumentando más los datos de entrenamiento con tales variaciones [15].
Por lo que es deseable poder agregar más invariabilidad a estas áreas de interés sin tener que aumentar los datos. En [16] atacan este problema y proponen una red de tranformadores espaciales que permite a la RNC aprender a escalar, rotar o aplicar transformaciones arbitrarias a un objeto de interés. Este enfoque, a nuestro conocimiento, nunca había sido utilizado en el reconocimiento visual de lugares previamente. Esta es una de las ideas en que se basa este trabajo, al implementar un módulo de trasformación especial, para lograr una normalización de las regiones de interés, lo cual logra una codificación más robusta.
Normalmente una vez extraídas las características como SIFT y SURF [5, 23] o las regiones de interés [48, 29, 9], se codifican mediante el método de bolsa de palabras (BoW) [38].
Se han desarrollado otros métodos de codificación los cuales utilizan directamente las activaciones de las capas convolucionales, Sum-Pooling [47], Max-Pooling [43] y Cross-Pooling [22], son algunos de estos métodos. Estas codificaciones han mostrado resultados superiores y prometedores en varias tareas de visión por computadora como la clasificación de imágenes y detección de objetos [43, 22].
En otros trabajos [22, 21] se utilizaron otras representaciones como el vector Fisher [32] y el vector de descriptores localmente agregados (del inglés, VLAD) [2], los cuales logran mucho mejores resultados que los otros métodos de codificación mencionados, además de utilizar vocabularios de palabras visuales mucho más reducidos. Por esta razón, en este trabajo se utiliza la codificación VLAD en nuestra propuesta CorVlad-Net.
3. Método propuesto
En esta sección, se describen en detalle los pasos de la metodología propuesta. Se comienza con la idea de la correspondencia espacial entre el mapa de características de una capa convolucional y la imagen y cómo se puede usar como codificación de la misma. Luego se muestran los pasos para la extracción de regiones de interés.
Después se muestran los pasos seguidos para la codificación VLAD y las medidas de similitud usadas para comparar dos imágenes. Finalmente, se muestra la función de perdida usada en el entrenamiento de CorVlad-Net para obtener las regiones de interés. El flujo de trabajo de la metodología propuesta se muestra en la Figura 2.
3.1. Uso del método de características de una imagen
Dada una imagen 𝐼, la salida de una capa convolucional de una RNC es un tensor 3D 𝑇 de dimensiones 𝐻 × 𝑊 × 𝐶, con 𝐻 y 𝑊, el ancho y la altura de cada mapa de características, respectivamente y 𝐶 denota el número de mapas de características.
Como se muestra en la Figura 3, las activaciones en una ubicación espacial en todos los mapas de características 𝐶 puede ser concatenadas en un descriptor 𝑑 local 𝐶-dimensional que representa una región en la imagen. El tamaño de esta región es igual al campo receptivo del filtro.
De esta manera, se pueden apilar las activaciones de la capa convolucional, y se pueden considerar como una matriz 2D, donde cada elemento es un descriptor 𝑑 local 𝐶-dimensionales, muy parecido a la idea de los descriptores locales tradicionales como SURF / SIFT. Si 𝑅𝐶 define el conjunto 𝐻 × 𝑊 de descriptores 𝑑 para el mapa de características 𝑐 = {1,..., 𝐶} y 𝐽 representa el conjunto de los descriptores 𝑑𝑤 𝐶-dimensionales de la capa convolucional. Esto queda expresado por la siguiente ecuación:
3.2. Minería de patrones distintivos de una red neuronal convolucional
Las regiones de interés para caracterizar una imagen son extraídas directamente de la última capa convolucional. Generalmente, las activaciones en esta capa indican que existen patrones útiles; son más escasas y corresponden a patrones visuales de la imagen que son semánticamente significativas. Por lo tanto, aún bajo cambios de vista extremos u oclusiones, estas se conservarán y serán muy parecidas en los mismos lugares en las imágenes.
Para cada mapa de características 𝐶, se asignan las activaciones 𝑎𝑖 de los mapas de características a los grupos 𝐺𝑗, ∀𝑗 ∈ {1, …, 𝐸}, donde 𝐸 indica el número de grupos. Consideramos como grupo a todas aquellas activaciones 𝑎𝑖 diferentes a cero que sea vecino con dos o más activaciones. Una vez identificados los grupos, se calcula la activación promedio de cada uno de ellos, como se muestra en la siguiente ecuación:
donde 𝑎𝑗𝑖 denota la 𝑖−ésima activación en el grupo 𝐺𝑗 y 𝐻𝑗 representa la activación promedio del grupo 𝐺𝑗. Dado las activaciones promedio de esos grupos 𝐻𝑗, se ordenan y se seleccionan los 𝑄 grupos con las activaciones promedio más altas. Llamaremos a los grupos seleccionados como las regiones de interés 𝑅. La siguiente ecuación muestra este proceso:
Los descriptores dados por la ecuación 1 que caigan en estas regiones de interés 𝑅 son agregados en la ecuación 4. Cada área de interés es representada por un descriptor 𝑓𝑘 de tamaño 1 × 𝐶. La imagen es representada por el conjunto de descriptores 𝐹 dado en las siguientes ecuaciones:
Un ejemplo del as regiones de interés generado con este procedimiento se muestra en la Figura 4.
3.3. Vocabulario basado en regiones uso de VLAD para el apareamiento de imágenes
La técnica de vectores de descriptores localmente agregados (del inglés VLAD) [2] es un método de agrupación de descriptores bastante popular para la recuperación de imágenes [2]. El método captura información sobre los descriptores locales, agregándolos al diccionario de palabras visuales. A diferencia del popular método de bolsa de palabras (BoW) [38], que agrega la información manteniendo el recuento de palabras visuales, VLAD almacena la suma de los residuos (vector de diferencia entre el descriptor y su centro de agrupación correspondiente) para cada palabra visual. Para crear este diccionario de palabras visuales 𝐶, se empleó la totalidad de las imágenes que se usaron en el entrenamiento. Dichas imágenes incluyen entornos suburbanos en múltiples momentos del día. Las imágenes consisten en recorridos que cuentan con grandes variaciones en puntos de vista y oclusiones. Se utilizó el algoritmo 𝐾−medias para obtener los grupos de palabras visuales usadas en VLAD tomando en cuenta la siguiente formulación:
VLAD codifica 𝐹 como se muestra en la siguiente ecuación, al utilizar el diccionario 6 de palabras visuales. Sea 𝑞𝑖𝑘 la fuerza de la asociación del descriptor 𝑓𝑘 al grupo 𝑚𝑘, de modo que 𝑞𝑖𝑘 ≥ 0 y
Estos residuos luego se apilan para obtener un descriptor de tamaño 𝑄 × 𝐾. La implementación de VLAD admite varias estrategias de normalización. Las utilizadas en este trabajo se basan en la siguiente formulación, la cual se aplica a todos los componentes escalares del descriptor VLAD:
Esto es seguido por una normalización 𝑙2, como sigue:
Finalmente, la representación VLAD viene dada como:
3.4. Similitud entre imágenes
Para determinar la similitud entre dos imágenes 𝐴 y 𝐵, se realiza una comparación cruzada entre todos los elementos del vector VLAD 𝑃𝐴 y 𝑃𝐵 que se extrajeron de ambas imágenes. La similitud entre el vector 𝑖 de 𝐴 y el vector 𝑗 de 𝐵 se calcula como:
La verificación cruzada se aplica este caso para aceptar solo coincidencias mutuas. Como resultado, la similitud general entre dos imágenes 𝐴 y 𝐵 se calcula la sumando las diferencias entre elementos de estas imágenes como se muestra a continuación:
Finalmente, para encontrar la mejor coincidencia entre la imagen de referencia de 𝐴 respecto a la imagen de consulta 𝐵, se consultan todas las imágenes de referencia de la base de datos y se selecciona la que tenga la puntuación de similitud más alta, esto viene dado como sigue:
3.5. Función de pérdida por puntos de correspondencia
Usar solo las regiones de interés para la representación de una imagen tiene la propiedad de que la representación es más robusta a cambios de vista extremos u oclusiones, por lo que la idea es poder seleccionar estas regiones. Trabajos como [40, 31] utilizan detectores externos, los cuales no se especializan en esta tarea y se enfocan más en la detección de objetos, además de que se requieren pasos extras, ya que estas regiones se introducen en otros modelos RNC para obtener una representación convolucional de estas áreas. Por otro lado, en [10], los autores utilizan las activaciones de los mapas de características para detectar estas regiones.
Este enfoque tiene la ventaja que no requiere pasos extras y las regiones están más enfocadas al reconocimiento de lugares. Sin embargo, tiene el inconveniente que se tiene que seleccionar manualmente la capa convolucional para extraer estas regiones. En este trabajo se propone aprender a generar estas regiones de interés automáticamente en la última capa junto a su representación, Esto requiere aprender las características que correspondan en dos imágenes, por lo que es necesario usar una función de perdida diseñada para esta tarea.
Basándonos en la idea propuesta por [11], para la identificación de puntos de interés, nuestro método CorVlad-Net se enfoca en regiones de interés. Para aprender estas correspondencias se define una función de perdida que toma 𝑁 regiones locales de las imágenes 𝐼 e 𝐼´, dadas por las áreas 𝑎𝑖 y 𝑎𝑖´. Sean 𝐹𝑖(𝑎𝑖) las características en la región de interés en la imagen 𝐼 dada por el ´área cubierta por el rectángulo 𝑎𝑖 = (𝑥𝑖, 𝑦𝑖, 𝑧𝑖 + ℎ, 𝑦𝑖 + 𝑡), para pares correspondientes positivas de esta región con 𝐼´, se espera que estas sean parecidas en el espacio de características, y la función de perdida reduzca la distancia entre estas, para correspondencias negativas con 𝐼´, se espera aumentar la distancia lo máximo posible o por lo menos sea un margen mínimo 𝑚.
Se denotarán las correspondencias positivas entre estas regiones como 𝑐 = 1 y 𝑐 = 0 en caso contrario, estas correspondencias vienen dadas por los datos de entrenamiento previamente etiquetados. La función de pérdida propuesta viene dada como sigue:
La función de perdida consiste en dos términos. El primer término minimiza la distancia entre pares positivos y el segundo término empuja a los pares negativos a separarse al menos una distancia mínima entre ellos.
3.6. Regiones de interés robustas
Las RNCs pueden manejar cierto grado de variaciones de escala y rotación. Sin embargo, para lidiar con esto y hacer el modelo más robusto, tradicionalmente se ataca el problema explícitamente al aumentar los datos mediante diferentes transformaciones, como el descrito en [15] se utilizan estructuras especiales. En el problema tratado se busca la correspondencia espacial entre regiones de interés entre diferentes imágenes, por lo que es necesario poder comparar regiones de interés de diferentes imágenes sometidas a diferentes cambios de vista, escalado e iluminación y las soluciones clásicas no son suficientes. Esto se logra mediante la normalización de parches mediante el trasformador espacial.
Para lograr esta normalización de regiones de interés, se utilizó el modulo propuesto en [16], el cual se basa en transformadores espaciales, lo que permite que las regiones de interés en las imágenes pueden experimentar una transformación independiente en cada una. Esta característica es especialmente importante para las lograr una buena correspondencia entre imágenes con gran variación en puntos de vista y oclusiones; para cada característica, el transformador espacial aplica una transformación espacial independiente. El módulo de trasformador espacial se ilustra en la Figura 5.
4. Conjuntos de datos de entrenamiento
En esta sección, se describe el conjunto de datos que se utilizó para entrenar a CorVlad-Net. El conjunto de datos usado fue el de Google Landmark Boxes, el cual se basa en el conjunto de datos de monumentos históricos de Google (GLD) [30], y el cual se anotó a mano por ellos. El conjunto de datos contiene 1,2 millones de imágenes de 15,000 puntos de referencia únicos, con una amplia variedad de objetos, incluidos edificios, monumentos, puentes, estatuas y puntos de referencia naturales como montañas, lagos y cascadas. Cada imagen en este conjunto de datos solo representa un punto de referencia. En algunos casos, un punto de referencia puede consistir en un conjunto de edificios: por ejemplo, los horizontes, que son comunes en este conjunto de datos, se consideran como un punto de referencia único.
El objetivo del conjunto de datos es capturar el punto de referencia más destacado en la imagen, el cual se marca mediante rectángulos y a cada imagen solo se le asigna una etiqueta de punto de referencia. Cada rectángulo debe reflejar el objeto principal (o conjunto de objetos) que se muestra en cada imagen del conjunto de datos.
En GLD, algunos puntos de referencia están asociados a varios miles de imágenes, mientras que para aproximadamente la mitad de las clases solo se proporcionan 10 o menos imágenes. Por este motivo se separó parte del conjunto de entrenamiento de 1.2M en un conjunto de validación.
Se seleccionaron al azar cuatro imágenes de entrenamiento y cuatro de validación por punto de referencia. En total, esto produce 58k y 36k imágenes para entrenamiento y validación, respectivamente. En la Figura 6 se muestran ejemplos de imágenes del conjunto de datos con sus regiones de marcadas. Estas áreas de correspondencia son las que se utilizan en la función de perdida 14 y 15.
5. Métodos comparados
En esta sección se describen las principales características y ventajas de los métodos con los cuales se compara el trabajo propuesto. En la Tabla 1 se muestra las diferencias entre los diferentes trabajos y CorVlad-Net. Se compran diferentes aspectos como el conjunto de datos utilizados para entrenar los modelos, el tipo de arquitectura de la RNC, el tipo de características, etcétera, Se utiliza el nombre corto en la descripción de cada trabajo.
Trabajo | Nombre corto | Entrenamiento |
[12] | FABMAP | |
[28] | SEQSLAM | |
[8] | AMOSNet HybridNet | SPED [8] |
[10] | OnlyLookOnce | IMAGNET |
CorVlad-Net | GLD [30] | |
Trabajo | Nombre corto | Características |
[12] | FABMAP | SURF |
[28] | SEQSLAM | |
[8] | AMOSNet HybridNet | Convolucional |
[10] | OnlyLookOnce | Convolucional |
CorVlad-Net | Convolucional | |
Trabajo | Nombre corto | Tipo de características |
[12] | FABMAP | Local |
[28] | SEQSLAM | Local |
[8] | AMOSNet HybridNet | Global |
[10] | OnlyLookOnce | Regiones locales, activaciones |
CorVlad-Net | Regiones locales, activaciones | |
Trabajo | Nombre corto | Arquitectura |
[12] | FABMAP | |
[28] | SEQSLAM | |
[8] | AMOSNet HybridNet | VGG 16 |
[10] | OnlyLookOnce | VGG 16 |
CorVlad-Net | Googlenet | |
Trabajo | Nombre corto | Codificación |
[12] | FABMAP | Bolsa de palabras |
[28] | SEQSLAM | |
[8] | AMOSNet HybridNet | Pooling multiescala |
[10] | OnlyLookOnce | Codificación novedosa, similar a la bolsa de palabras |
CorVlad-Net | VLAD |
El método aprende un modelo generativo de apariencia del lugar. Al dividir el problema de aprendizaje en dos partes, se pueden aprender nuevos modelos de lugares en línea a partir de una sola observación de un lugar. La complejidad del algoritmo es lineal en el número de lugares del mapa y es particularmente adecuado para la detección de cierre de bucle en línea.
Fue el primer trabajo que utilizó descriptores de características tipo SURF con codificación BoW. Demostró robustez bajo los cambios de punto de vista al aprovechar las propiedades de variación de SURF. En SEQSLAM en lugar de calcular la ubicación única más probable dada una imagen actual, el enfoque calcula la mejor ubicación de coincidencia candidata dentro de cada secuencia de navegación local. La localización se logra al reconocer secuencias coherentes de estas ”mejores coincidencias locales”.
Este enfoque elimina la necesidad de un rendimiento de coincidencia global por parte de la interfaz de visión; en su lugar, solo debe elegir la mejor coincidencia dentro de una secuencia corta de imágenes. El enfoque es aplicable a los cambios de entorno que hacen que las técnicas tradicionales basadas en características como FAB-MAP sean ineficaces. Ha mostrado un desempeño notable bajo severos cambios de apariencia. Sin embargo, es incapaz de lidiar con cambios simultáneos y la variación del punto de vista. Aprovechando la información secuencial, SEQSLAM ha mostrado un rendimiento de vanguardia.
En el trabajo donde se propone HybridNet, los autores entrenaron dos arquitecturas para la tarea de reconocimiento de lugar específico y emplearon un método de codificación de características de múltiples escalas para generar características robustas a cambio de condiciones y puntos de vista. Para llevar a cabo el entrenamiento de las redes neuronales, los autores desarrollaron un conjunto de datos masivo de lugares (SPED). HybridNet tiene pesos inicializados por CaffeNet previamente entrenada.
Los resultados mostrados fueron sobresalientes en conjuntos de datos a gran escala y demostró en varios conjuntos de datos desafiantes que las representaciones internas aprendidas de las redes son más sólidas contra las variaciones de apariencia y puntos de vista que las extraídas de redes centradas en objetos.
El último trabajo onlylookonce, los autores dan un paso más en la estructura interna de las RNC y proponen características de imagen novedosas basadas en RNC para el reconocimiento de lugares identificando regiones sobresalientes y creando sus representaciones regionales directamente a partir de las activaciones de la capa convolucional.
Inspirado por el éxito de las representaciones de imágenes basadas en regiones para el reconocimiento de lugares y el reciente auge de las técnicas de aprendizaje profundo, el trabajo presenta un método de codificación de características novedoso para crear representaciones de imágenes utilizando las activaciones de capas convolucionales de CNN basadas en el método bolsa de palabras.
El método utiliza una capa convolucional para la extracción de características locales y otra capa convolucional tardía para identificar regiones destacadas, de las cuales se pueden extraer características locales. La presentación de la imagen derivada codifica varias regiones de imagen distintivas que se pueden usar para la comparación cruzada en una etapa de recuperación posterior.
Las comparaciones con técnicas de vanguardia en amplios conjuntos de datos de evaluación comparativa demuestran un rendimiento superior del método propuesto en tareas de reconocimiento de lugar con fuertes variaciones de puntos de vista y condiciones. La RNC usada está entrenada en un conjunto de datos de reconocimiento de objetos, y trabajos anteriores parece indicar que las redes entrenadas para el reconocimiento de lugares ofrecen resultados superiores.
A diferencia de los trabajos mencionados, el enfoque propuesto en este trabajo identifica directamente las regiones de interés en la última capa convolucional. En los trabajos ya mencionados, se debe escoger que capa usar para obtener las características que se usaran para la representación.
Además, las RNCs son solo robustas para algunos tipos de transformaciones como la traslación y en menor medida al escalado, por lo que cambios brucos en la imagen siguen siendo problemáticos para otros trabajos, por lo que, en este trabajo, para aumentar la robustez de las características se implementó un transformador espacial que permite a la RNC aprender a escalar, rotar o aplicar transformaciones arbitrarias a las regiones de interés.
También se propone una función de pérdida específica a la tarea de reconocimiento de lugares por lo que la RNC aprender a generar estas regiones de interés automáticamente, a diferencia de los otros trabajos donde se usan las mismas funciones que se utilizan en el reconocimiento de objetos. Además, la RNC propuesta también se entrena en un conjunto de datos específico a en la tarea de reconocimiento de lugares.
6. Experimentos
En esta sección se presentan los detalles de implementación del método propuesto. También se muestra el rendimiento en la tarea de recuperación de imágenes. La comparación del método propuesto se llevó a cabo contra otros trabajos de última generación considerados estados del arte, para hacer la comparación se utilizaron varios conjuntos de datos de referencia los cuales cuentan con diferentes características como cambios de vista y luz, para poder medir cómo se comporta cada método en cada uno de los conjuntos de datos. Finalmente, se exponen y comparan los resultados obtenidos.
6.1. Conjuntos de datos de prueba
Los conjuntos de datos usados para las pruebas y evaluación el sistema propuesto fueron los siguientes: Gardens Point fue capturado en el campus de QUT con una travesía tomada durante el día en la caminata lateral izquierda y la otra fue registrada en la caminata lateral derecha durante la noche [8]. Los conjuntos Berlin Halenseestrasse y Berli A100 fueron recopilados de la plataforma de geo-etiquetado de origen público llamada Mapillary.
Cada conjunto de datos cubre dos recorridos de la misma ruta cargados por diferentes usuarios. Un recorrido es utilizado como datos de referencia y el otro se usa como datos de pruebas. Los detalles de estos conjuntos de datos y sus diferentes características se muestran en la Tabla 2.
7. Detalles de implementación de los métodos comparados
El método propuesto se implementó usando la arquitectura Googlenet [11], entrenada con el conjunto de datos Google Landmark Boxes [30]. Se empleó este modelo RNC para la extracción de características basadas en la región con un tamaño de imagen de entrada de 256 × 256. Como se mencionó en la metodología, se utilizó la última capa convolucional para crear el descriptor, el cual se codificó mediante la representación VLAD. Se utilizaron las primeras 64 regiones de interés para la codificación y se entrenó un vocabulario de 3.1k palabras visuales.
Se compararon los resultados obtenidos usando el trasformador espacial y sin él. Se utilizaron también otros métodos de agregación de características como CrossPooling, MaxPooling, SumPool, sin agregación y se compararon los resultados.
Para mostrar el desempeño se hizo la comparación contra otros métodos considerados de vanguardia pero que utilizan enfoques diferentes al nuestros como: FABMAP y SEQSLAM, en donde se utilizó la implementación estándar de FABMAP [12] y para SEQSLAM [12] se utilizó la configuración de tres tramas secuenciales.
También se comparó contra HybridNet (SPP) [8] y el trabajo de [10], el cual es el enfoque más parecido al nuestros y obtiene resultados similares, al que llamaremos CrossBow.
7.1. Tiempos de procesamiento
El uso de la metodología propuesta de RNC es computacionalmente demandante por lo que, una evaluación de su rendimiento en tiempo de ejecución es especialmente importante.
Para llevar a cabo la medición se escogieron 1000 imágenes y se registró el tiempo promedio de ejecución. Para una sola imagen, una pasada hacia adelante a través de la red Googlenet tarda aproximadamente 214 ms en una GPU NVIDIA RTX 2080 TI y la codificación de la característica toma alrededor de 0,712 s.
En comparación con el trabajo [10] que utiliza una metodología similar, reportan que con una red VGG16 tarda aproximadamente 59,4 ms en una GPU NVIDIA Titan X Pascal y codificar las características aproximadamente 0,349s. Nuestro método es muchísimo más lento que el método propuesto en [10].
Esto se debe a la elección de usar Googlenet e incorporar el trasformador espacial en la arquitectura, una alternativa seria usar una arquitectura más rápida como VGG16, por lo que se tendría que estudiar cómo afecta en los resultados obtenidos.
8. Resultados
En las tareas de recuperación de imágenes donde existe un desequilibrio grande entre las clases, lo que significa que las muestras de clase positiva son bastante raras en comparación con las clases negativas, las curvas de Precisión /Recuperación generalmente se emplean como métrica de evaluación [14].
Es por esto que se reporta el área bajo la curva (AUC) para estas en los experimentos.
8.1. Berlin A100
Este conjunto de datos exhibe ambientes dinámicos, aparte de cambios de vista moderados. Los resultados obtenidos se muestran en la Tabla 3. Los resultados muestran que nuestro enfoque CorVlad-Net logra resultados similares a los reportados en [10].
Métodos | AUC | Métodos | AUC |
CorVlad-Net | 0.742 | CorVlad-Net-No-pooling | 0.431 |
CorVlad-Net-Sin-Tec | 0.621 | onlylookonce | 0.753 |
CorVlad-Net-Cross-Pooling | 0.221 | HybridNet | 0.036 |
CorVlad-Net-Max-Pooling | 0.124 | SEQSLAM | 0.151 |
CorVlad-Net-Sum-Pooling | 0.209 | FABMAP | 0.101 |
Ya que los cambios no son tan grandes y no se requiere una codificación tan robusta, por lo que los métodos se desempeñan de manera similar. Aun así, los otros enfoques como HyridNet no obtienen resultados convincentes.
Puede deberse a que HybridNet se entrenó usando el conjunto de datos SPED [8], el cual contiene solo cambios mínimos entre los mismos lugares capturados en varias veces al año a diferencia del conjunto de datos que se está probando, el cual contiene cambios lo suficientemente significativos para ser un problema para este método.
Para las técnicas de agrupación Sum-Pool, Max-Pool y Cross-Pool, dado que las condiciones y las variaciones del punto de vista son más grandes, en este conjunto de datos, se obtienen resultados pobres. Además, este conjunto de datos cuenta con intervalos de tiempos muy variados entre las imágenes capturadas, por lo que SEQSLAM y FABMAP también obtienen un rendimiento muy inferior.
8.2. Berlin Halenseestrass
Los resultados obtenidos se muestran en la Tabla 4, los resultados de CorVlad-Net para el conjunto de datos superan significativamente a todos los demás métodos de vanguardia. Sorprendente-mente, los resultados para onlylookonce tienen un rendimiento inferior con un gran margen en comparación de CorVlad-Net.
Métodos | AUC | Métodos | AUC |
CorVlad-Net | 0.812 | CorVlad-Net-No-pooling | 0.223 |
CorVlad-Net-Sin-Tec | 0.503 | onlylookonce | 0.523 |
CorVlad-Net-Cross-Pooling | 0.423 | HybridNet | 0.073 |
CorVlad-Net-Max-Pooling | 0.086 | SEQSLAM | 0.021 |
CorVlad-Net-Sum-Pooling | 0.104 | FABMAP | 0.132 |
El conjunto de datos contiene cambios extremos en el punto de vista, que es el problema que CorVlad-Net se diseñó a resolver, por lo que los resultados son esperados y superiores a todos los demás trabajos. El uso del trasformador espacial es de gran ayuda ya que logra una representación más robusta en este conjunto de datos con cambios extremos de vista.
Como se mencionó, el segundo mejor resultado es Cross-Bow, que toma un enfoque parecido al de nosotros, pero falla en ofrecer una mayor robustez a los cambios extremos presente en este conjunto de datos. Por otro lado, los métodos clásicos FABMAP y SEQSLAM, debido a la naturaleza del conjunto de datos, se desempeñan pobremente.
Entre los mejores métodos de agregación usados esta CorVlad-Net-Cross-Pooling, el cual muestra resultados parecidos a Cross-Bow, ya que usa en método de codificación similar.
8.3. Garden Point
Los recorridos en este conjunto de datos muestran fuertes variaciones de luz y fuerte coherencia temporal entre las imágenes. Los resultados obtenidos se muestras en la Tabla 5 CorVlad-Net logra un rendimiento similar pero superior que Cross-BoW.
Métodos | AUC | Métodos | AUC |
CorVlad-Net | 0.791 | CorVlad-Net-No-pooling | 0.510 |
CorVlad-Net-Sin-Tec | 0.633 | onlylookonce | 0.682 |
CorVlad-Net-Cross-Pooling | 0.413 | HybridNet | 0.506 |
CorVlad-Net-Max-Pooling | 0.053 | SEQSLAM | 0.721 |
CorVlad-Net-Sum-Pooling | 0.095 | FABMAP | 0.034 |
Por lo que se sigue mostrando una gran robustez en diferentes conjuntos de datos y condiciones. El método SEQSLAM reporta resultados de vanguardia debido a que los conjuntos de datos presentan una muy fuerte coherencia secuencial que es en lo que mejor se desempeña este método.
Sin embargo, los métodos basados en regiones de interés como CorVlad-Net y Cross-BoW, obtienen resultados similares, pero superiores en otras pruebas por lo que resultan más robustos en más situaciones. Los enfoques que incluyen Sum-Pool, Max-Pool y FABMAP tuvieron un rendimiento bastante bajo aun para este tipo de condiciones.
9. Conclusiones
Obtener un rendimiento y precisión de vanguardia en la tarea de reconocimiento de lugares de manera visual en presencia de grandes cambios de puntos de vista, iluminación y oclusiones es altamente deseable. Sin embargo, resulta un problema aun desafiante.
Inspirado por el auge y éxito de las técnicas de aprendizaje profundo en los últimos años, en diferentes tareas de visión por computadora y reconocimiento de patrones, este trabajo afronta esta problemática presentando una nueva metodología y arquitectura RNC, denominada CorVlad-Net. Esta arquitectura produjo resultados superiores para diferentes conjuntos de datos, superando a otros métodos del estado del arte.
Con los resultados obtenidos se pudo concluir que el método propuesto que utiliza regiones de interés de imagen obtiene resultados de vanguardia, sobre todo con conjunto de datos en presencia de puntos de vista extremos y oclusiones. Además, el trasformador espacial que se integró en la arquitectura del modelo RNC ayuda significativamente a la normalización de estas regiones de interés, lo cual logra una representación aún más robusta de la codificación de la imagen.
Otra ventaja fue el uso de la función de perdida de correspondencia propuesta, la cual permite entrenar el modelo de manera completa, de principio a fin. No se necesitan pasos intermedios; directamente se aprende a identificar las regiones de interés que mejor caracterizan la imagen en la última capa convolucional, a diferencia de otros métodos donde se requieren pasos adicionales. Por último, la función de perdida propuesta permite entrenar con el nuevo conjunto de datos Google Landmark Boxes, el cual fue creado específicamente para la tarea de reconocimiento de lugares, lo cual ayuda a obtener aún mejores resultados que otros métodos entrenados con conjuntos de datos de objetos. La combinación de todos estos métodos permitió alcanzar resultados de vanguardia en conjuntos, en comparación a otros métodos considerados estado del arte.
Para trabajos futuros se propone analizar el rendimiento del marco conceptual propuesto con otros conjuntos de datos más desafiantes.
Además, como el método sigue dependiendo de la selección de ciertos parámetros, como el número de regiones interés que se utilizan en la codificación, se propone explorar la posibilidad de seleccionar de estas regiones de interés de características en forma automática mediante otras técnicas de búsqueda como algoritmos genéticos, técnicas de enjambre, etcétera.