En visión por computadora , el modelo de bolsa de palabras ( modelo BoW) a veces llamado modelo de bolsa de palabras visuales [1] [2] se puede aplicar a la clasificación o recuperación de imágenes , tratando las características de la imagen como palabras. En la clasificación de documentos , una bolsa de palabras es un vector escaso de recuentos de palabras; es decir, un histograma escaso sobre el vocabulario. En la visión por computadora , una bolsa de palabras visuales es un vector de recuentos de ocurrencias de un vocabulario de características de imágenes locales.
Representación de imágenes basada en el modelo BoW
Para representar una imagen utilizando el modelo BoW, una imagen puede tratarse como un documento. Del mismo modo, las "palabras" en las imágenes también deben definirse. Para lograr esto, generalmente incluye los siguientes tres pasos: detección de características, descripción de características y generación de libros de códigos. [1] [2] [3] Una definición del modelo BoW puede ser la "representación de histograma basada en características independientes". [4] La indexación y recuperación de imágenes basadas en contenido (CBIR) parece ser la primera en adoptar esta técnica de representación de imágenes. [5]
Representación de características
Después de la detección de características, cada imagen es abstraída por varios parches locales. Los métodos de representación de características tratan sobre cómo representar los parches como vectores numéricos. Estos vectores se denominan descriptores de características. Un buen descriptor debe tener la capacidad de manejar la intensidad, rotación, escala y variaciones afines hasta cierto punto. Uno de los descriptores más famosos es la transformación de características invariantes de escala (SIFT). [6] SIFT convierte cada parche en un vector de 128 dimensiones. Después de este paso, cada imagen es una colección de vectores de la misma dimensión (128 para SIFT), donde el orden de los diferentes vectores no tiene importancia.
Generación de libro de códigos
El paso final para el modelo BoW es convertir parches representados por vectores en "palabras de código" (análogas a las palabras en documentos de texto), que también produce un "libro de códigos" (analogía a un diccionario de palabras). Una palabra en clave puede considerarse representativa de varios parches similares. Un método simple consiste en realizar agrupaciones de k medias sobre todos los vectores. [7] Las palabras de código se definen entonces como los centros de los grupos aprendidos. El número de grupos es el tamaño del libro de códigos (análogo al tamaño del diccionario de palabras).
Por tanto, cada parche de una imagen se asigna a una determinada palabra de código a través del proceso de agrupación y la imagen se puede representar mediante el histograma de las palabras de código.
Aprendizaje y reconocimiento basado en el modelo BoW
Los investigadores de la visión por computadora han desarrollado varios métodos de aprendizaje para aprovechar el modelo BoW para tareas relacionadas con la imagen, como la categorización de objetos . Estos métodos se pueden dividir aproximadamente en dos categorías, modelos supervisados y no supervisados. Para problemas de categorización de etiquetas múltiples, la matriz de confusión se puede utilizar como métrica de evaluación.
Modelos no supervisados
Aquí hay algunas anotaciones para esta sección. Suponga que el tamaño del libro de códigos es.
- : cada parche es un vector V-dimensional que tiene un solo componente igual a uno y todos los demás componentes iguales a cero (para la configuración de agrupamiento de k-medias, el componente único igual a uno indica el grupo que pertenece a). LaLa palabra de código en el libro de códigos se puede representar como y por .
- : cada imagen está representada por , todos los parches en una imagen
- : la a imagen en una colección de imágenes
- : categoría de la imagen
- : tema o tema del parche
- : proporción de la mezcla
Dado que el modelo BoW es una analogía del modelo BoW en PNL, los modelos generativos desarrollados en dominios de texto también se pueden adaptar a la visión por computadora. Se discuten el modelo simple Naïve Bayes y los modelos jerárquicos Bayesianos.
Bayes ingenuo
El más simple es el clasificador Naïve Bayes . [2] Utilizando el lenguaje de los modelos gráficos , el clasificador Naïve Bayes se describe mediante la siguiente ecuación. La idea básica (o suposición) de este modelo es que cada categoría tiene su propia distribución sobre los libros de códigos, y que las distribuciones de cada categoría son observablemente diferentes. Tome una categoría de rostro y una categoría de automóvil como ejemplo. La categoría de rostro puede enfatizar las palabras de código que representan "nariz", "ojo" y "boca", mientras que la categoría de automóvil puede enfatizar las palabras de código que representan "rueda" y "ventana". Dada una colección de ejemplos de entrenamiento, el clasificador aprende diferentes distribuciones para diferentes categorías. La decisión de categorización la toma
Dado que el clasificador Naïve Bayes es simple pero efectivo, generalmente se usa como método de referencia para la comparación.
Modelos bayesianos jerárquicos
La suposición básica del modelo Naïve Bayes no se sostiene a veces. Por ejemplo, una imagen de escena natural puede contener varios temas diferentes. El análisis semántico latente probabilístico (pLSA) [8] [9] y la asignación de Dirichlet latente (LDA) [10] son dos modelos de temas populares de dominios de texto para abordar el problema similar de múltiples "temas". Tome LDA como ejemplo. Para modelar imágenes de escenas naturales usando LDA, se hace una analogía con el análisis de documentos:
- la categoría de la imagen se asigna a la categoría del documento;
- la proporción de mezcla de temas mapea la proporción de mezcla de temas;
- el índice de temas se asigna al índice de temas;
- la palabra de código se asigna a la palabra.
Este método muestra resultados muy prometedores en la categorización de escenas naturales en 13 categorías de escenas naturales . [3]
Modelos supervisados
Dado que las imágenes se representan según el modelo BoW, se puede probar cualquier modelo discriminativo adecuado para la categorización de documentos de texto, como la máquina de vectores de soporte (SVM) [2] y AdaBoost . [11] El truco del kernel también es aplicable cuando se usa un clasificador basado en kernel, como SVM. El kernel Pyramid Match es uno desarrollado recientemente basado en el modelo BoW. El enfoque de características locales de usar la representación del modelo BoW aprendido por clasificadores de aprendizaje automático con diferentes kernels (por ejemplo, EMD-kernel ykernel) ha sido ampliamente probado en el área de reconocimiento de texturas y objetos. [12] Se han informado resultados muy prometedores sobre una serie de conjuntos de datos. Este enfoque [12] ha logrado resultados muy impresionantes en el PASCAL Visual Object Classes Challenge .
Núcleo de partido piramidal
Pyramid Match kernel [13] es un algoritmo rápido (complejidad lineal en lugar de uno clásico en complejidad cuadrática) función de kernel (que satisface la condición de Mercer ) que mapea las características de BoW, o el conjunto de características en alta dimensión, a histogramas multidimensionales de resolución múltiple . Una ventaja de estos histogramas de resolución múltiple es su capacidad para capturar características concurrentes. El kernel de coincidencia piramidal crea histogramas de resolución múltiple agrupando puntos de datos en regiones discretas de tamaño creciente. Por lo tanto, los puntos que no coinciden con resoluciones altas tienen la posibilidad de coincidir con resoluciones bajas. El kernel de coincidencia piramidal realiza una coincidencia de similitud aproximada, sin búsqueda explícita o cálculo de la distancia. En cambio, cruza los histogramas para aproximarse a la coincidencia óptima. En consecuencia, el tiempo de cálculo es solo lineal en el número de características. En comparación con otros enfoques de kernel, el kernel de coincidencia piramidal es mucho más rápido, pero proporciona una precisión equivalente. El kernel de coincidencia piramidal se aplicó a la base de datos ETH-80 y la base de datos Caltech 101 con resultados prometedores. [13] [14]
Limitaciones y desarrollos recientes
Una de las desventajas notorias de BoW es que ignora las relaciones espaciales entre los parches, que son muy importantes en la representación de imágenes. Los investigadores han propuesto varios métodos para incorporar la información espacial. Para mejoras a nivel de característica, las características de correlograma pueden capturar co-ocurrencias espaciales de características. [15] Para los modelos generativos, también se tienen en cuenta las posiciones relativas [16] [17] de las palabras de código. El modelo jerárquico de forma y apariencia para la acción humana [18] introduce una nueva capa de parte ( modelo de constelación ) entre la proporción de mezcla y las características de BoW, que captura las relaciones espaciales entre las partes de la capa. Para los modelos discriminativos, la coincidencia piramidal espacial [19] realiza la coincidencia piramidal dividiendo la imagen en subregiones cada vez más finas y calcula histogramas de características locales dentro de cada subregión. Recientemente, un aumento de descriptores de imagen local (es decir, SIFT ) por sus coordenadas espaciales normalizadas por el ancho y la altura de la imagen ha demostrado ser un enfoque robusto y simple de Codificación de Coordenadas Espaciales [20] [21] que introduce información espacial en el modelo BoW.
El modelo BoW aún no se ha probado exhaustivamente para determinar la invariancia del punto de vista y la invariancia de escala, y el rendimiento no está claro. Además, el modelo BoW para la segmentación y localización de objetos no se comprende bien. [4]
Una comparación sistemática de los procesos de clasificación encontró que la codificación de las estadísticas de primer y segundo orden (Vector de descriptores agregados localmente (VLAD) [22] y Fisher Vector (FV) ) aumentó considerablemente la precisión de clasificación en comparación con BoW, mientras que también disminuyó el tamaño del libro de códigos, reduciendo así el esfuerzo computacional para la generación de libros de códigos. [23] Además, una comparación detallada reciente de los métodos de codificación y agrupación [21] para BoW ha demostrado que las estadísticas de segundo orden combinadas con la codificación dispersa y una agrupación adecuada como la normalización de potencia pueden superar aún más los vectores de Fisher e incluso aproximarse a los resultados de modelos simples de Red neuronal convolucional en algunos conjuntos de datos de reconocimiento de objetos como Oxford Flower Dataset 102 .
Ver también
- Modelos basados en piezas
- Codificación de Fisher Vector
- Categorización de objetos basada en segmentación
- Modelo de espacio vectorial
- Modelo de bolsa de palabras
- Extracción de características
Referencias
- ↑ a b J. Sivic y A. Zisserman (2003). "Video Google: un enfoque de recuperación de texto para la coincidencia de objetos en videos" (PDF) . Proc. de ICCV .
- ^ a b c d G. Csurka; C. Danza; Ventilador LX; J. Willamowski y C. Bray (2004). "Categorización visual con bolsas de keypoints" . Proc. del Taller Internacional ECCV sobre Aprendizaje Estadístico en Visión por Computador .
- ^ a b Fei-Fei Li; Perona, P. (2005). Un modelo jerárquico bayesiano para el aprendizaje de categorías de escenas naturales . 2005 IEEE Computer Society Conference sobre visión por ordenador y reconocimiento de patrones (CVPR'05) . 2 . pag. 524. doi : 10.1109 / CVPR.2005.16 . ISBN 978-0-7695-2372-9.
- ^ a b L. Fei-Fei; R. Fergus y A. Torralba. "Reconocimiento y aprendizaje de categorías de objetos, curso corto CVPR 2007" .
- ^ Qiu, G. (2002). "Indexación de patrones cromáticos y acromáticos para la recuperación de imágenes en color basadas en contenido" (PDF) . Reconocimiento de patrones . 35 (8): 1675–1686. doi : 10.1016 / S0031-3203 (01) 00162-5 .
- ^ Vidal-Naquet; Ullman (1999). "Reconocimiento de objetos con características informativas y clasificación lineal" (PDF) . Actas Novena Conferencia Internacional IEEE sobre Visión por Computador . págs. 1150-1157. CiteSeerX 10.1.1.131.1283 . doi : 10.1109 / ICCV.2003.1238356 . ISBN 978-0-7695-1950-0.
- ^ T. Leung; J. Malik (2001). "Representar y reconocer la apariencia visual de materiales mediante textones tridimensionales" (PDF) . Revista Internacional de Visión por Computador . 43 (1): 29–44. doi : 10.1023 / A: 1011126920638 .
- ^ T. Hoffman (1999). "Análisis semántico latente probabilístico" (PDF) . Proc. de las XV Jornadas sobre Incertidumbre en Inteligencia Artificial . Archivado desde el original (PDF) el 10 de julio de 2007 . Consultado el 10 de diciembre de 2007 .
- ^ Sivic, J .; Russell, BC; Efros, AA; Zisserman, A .; Freeman, WT (2005). "Descubrimiento de objetos y su ubicación en imágenes" (PDF) . Décima Conferencia Internacional IEEE sobre Visión por Computador (ICCV'05) Volumen 1 . pag. 370. CiteSeerX 10.1.1.184.1253 . doi : 10.1109 / ICCV.2005.77 . ISBN 978-0-7695-2334-7.
- ^ D. Blei; A. Ng y M. Jordan (2003). Lafferty, John (ed.). "Asignación de Dirichlet latente" (PDF) . Revista de investigación sobre aprendizaje automático . 3 (4–5): 993–1022. doi : 10.1162 / jmlr.2003.3.4-5.993 . Archivado desde el original (PDF) el 22 de agosto de 2008 . Consultado el 10 de diciembre de 2007 .
- ^ Serre, T .; Wolf, L .; Poggio, T. (2005). "Reconocimiento de objetos con características inspiradas en Visual Cortex" (PDF) . 2005 IEEE Computer Society Conference sobre visión por ordenador y reconocimiento de patrones (CVPR'05) . 2 . pag. 994. CiteSeerX 10.1.1.71.5276 . doi : 10.1109 / CVPR.2005.254 . ISBN 978-0-7695-2372-9. Archivado desde el original (PDF) el 6 de julio de 2017 . Consultado el 10 de diciembre de 2007 .
- ^ a b Jianguo Zhang; Marcin Marszałek; Svetlana Lazebnik ; Cordelia Schmid (2007). "Características locales y núcleos para la clasificación de texturas y categorías de objetos: un estudio completo" (PDF) . Revista Internacional de Visión por Computador . 73 (2): 213–238. doi : 10.1007 / s11263-006-9794-4 .
- ^ a b Grauman, K .; Darrell, T. (2005). "El kernel de coincidencia piramidal: clasificación discriminativa con conjuntos de características de imagen" (PDF) . Décima Conferencia Internacional IEEE sobre Visión por Computador (ICCV'05) Volumen 1 . pag. 1458. CiteSeerX 10.1.1.644.6159 . doi : 10.1109 / ICCV.2005.239 . ISBN 978-0-7695-2334-7.
- ^ Jianchao Yang; Kai Yu; Yihong Gong; Huang, T. (2009). "Coincidencia de pirámide espacial lineal utilizando codificación escasa para la clasificación de imágenes" . 2009 Conferencia IEEE sobre visión artificial y reconocimiento de patrones . pag. 1794. doi : 10.1109 / CVPR.2009.5206757 . ISBN 978-1-4244-3992-8.
- ^ Savarese, S .; Winn, J .; Criminisi, A. (2006). "Modelos de clase de objeto discriminativo de apariencia y forma por correlaciones" (PDF) . 2006 IEEE Computer Society Conference sobre Visión por Computador y Reconocimiento de Patrones - Volumen 2 (CVPR'06) . 2 . pag. 2033. CiteSeerX 10.1.1.587.8853 . doi : 10.1109 / CVPR.2006.102 . ISBN 978-0-7695-2597-6. Archivado desde el original (PDF) el 29 de octubre de 2013 . Consultado el 10 de diciembre de 2007 .
- ^ Sudderth, EB; Torralba, A .; Freeman, WT; Willsky, AS (2005). "Aprendizaje de modelos jerárquicos de escenas, objetos y partes" (PDF) . Décima Conferencia Internacional IEEE sobre Visión por Computador (ICCV'05) Volumen 1 . pag. 1331. CiteSeerX 10.1.1.128.7259 . doi : 10.1109 / ICCV.2005.137 . ISBN 978-0-7695-2334-7.
- ^ E. Sudderth; A. Torralba; W. Freeman y A. Willsky (2005). "Describir escenas visuales mediante procesos de Dirichlet transformados" (PDF) . Proc. de los sistemas de procesamiento de información neuronal .
- ^ Niebles, Juan Carlos; Li Fei-Fei (2007). "Un modelo jerárquico de forma y apariencia para la clasificación de la acción humana" (PDF) . 2007 Conferencia IEEE sobre visión artificial y reconocimiento de patrones . pag. 1. CiteSeerX 10.1.1.173.2667 . doi : 10.1109 / CVPR.2007.383132 . ISBN 978-1-4244-1179-5.
- ^ Lazebnik, S .; Schmid, C .; Ponce, J. (2006). "Más allá de las bolsas de características: Coincidencia de pirámides espaciales para reconocer categorías de escenas naturales" (PDF) . 2006 IEEE Computer Society Conference sobre Visión por Computador y Reconocimiento de Patrones - Volumen 2 (CVPR'06) . 2 . pag. 2169. CiteSeerX 10.1.1.651.9183 . doi : 10.1109 / CVPR.2006.68 . ISBN 978-0-7695-2597-6. Archivado desde el original (PDF) el 8 de mayo de 2018 . Consultado el 10 de diciembre de 2007 .
- ^ Koniusz, Piotr; Yan, Fei; Mikolajczyk, Krystian (1 de mayo de 2013). "Comparación de enfoques de codificación de características de nivel medio y estrategias de agrupación en la detección de conceptos visuales". Visión por computadora y comprensión de imágenes . 117 (5): 479–492. doi : 10.1016 / j.cviu.2012.10.010 . ISSN 1077-3142 .
- ^ a b Koniusz, Piotr; Yan, Fei; Gosselin, Philippe Henri; Mikolajczyk, Krystian (24 de febrero de 2017). "Agrupación de sucesos de orden superior para bolsas de palabras: detección de concepto visual". Transacciones IEEE sobre análisis de patrones e inteligencia de máquinas . 39 (2): 313–326. doi : 10.1109 / TPAMI.2016.2545667 . hdl : 10044/1/39814 . ISSN 0162-8828 . PMID 27019477 .
- ^ Jégou, H .; Douze, M .; Schmid, C .; Pérez, P. (1 de junio de 2010). Agregar descriptores locales en una representación de imagen compacta . 2010 IEEE Computer Society Conference sobre visión por computadora y reconocimiento de patrones . págs. 3304–3311. doi : 10.1109 / CVPR.2010.5540039 . ISBN 978-1-4244-6984-0.
- ^ Seeland, Marco; Rzanny, Michael; Alaqraa, Nedal; Wäldchen, Jana; Mäder, Patrick (24 de febrero de 2017). "Clasificación de especies de plantas mediante imágenes de flores: un estudio comparativo de representaciones de características locales" . PLOS ONE . 12 (2): e0170629. doi : 10.1371 / journal.pone.0170629 . ISSN 1932-6203 . PMC 5325198 . PMID 28234999 .
enlaces externos
- Bolsa de palabras visuales en pocas palabras, un breve tutorial de Bethea Davida.
- Una demostración de dos clasificadores de bolsa de palabras de L. Fei-Fei, R. Fergus y A. Torralba.
- Caja de herramientas de búsqueda de imágenes a gran escala de Caltech : una caja de herramientas Matlab / C ++ que implementa la búsqueda de archivos invertidos para el modelo Bolsa de palabras. También contiene implementaciones para la búsqueda rápida del vecino más cercano aproximado utilizando un árbol kd aleatorio , hash sensible a la localidad y k-medias jerárquicas .
- Biblioteca DBoW2 : una biblioteca que implementa un paquete rápido de palabras en C ++ con soporte para OpenCV .