El histograma de gradientes orientados (HOG) es un descriptor de características utilizado en visión artificial y procesamiento de imágenes para la detección de objetos . Esta técnica contabiliza las ocurrencias de orientación de gradiente en porciones localizadas de una imagen. Este método es similar al de los histogramas de orientación de bordes , los descriptores de transformación de características invariantes a la escala y los contextos de forma , pero se diferencia en que se calcula sobre una cuadrícula densa de celdas uniformemente espaciadas y utiliza una normalización de contraste local superpuesta para mejorar la precisión.

Robert K. McConnell de Wayland Research Inc. describió por primera vez los conceptos detrás de HOG sin usar el término HOG en una solicitud de patente en 1986. [ 1 ] En 1994, los conceptos fueron utilizados por Mitsubishi Electric Research Laboratories . [ 2 ] Sin embargo, su uso solo se generalizó en 2005 cuando Navneet Dalal y Bill Triggs , investigadores del Instituto Nacional Francés de Investigación en Ciencias de la Computación y Automatización ( INRIA ), presentaron su trabajo complementario sobre descriptores HOG en la Conferencia sobre Visión por Computadora y Reconocimiento de Patrones (CVPR). En este trabajo se centraron en la detección de peatones en imágenes estáticas, aunque desde entonces ampliaron sus pruebas para incluir la detección de personas en videos, así como a una variedad de animales y vehículos comunes en imágenes estáticas.
Teoría
La idea fundamental del descriptor de histograma de gradientes orientados (HGDR) es que la apariencia y la forma de los objetos locales dentro de una imagen se pueden describir mediante la distribución de gradientes de intensidad o direcciones de borde. La imagen se divide en pequeñas regiones conectadas llamadas celdas, y para los píxeles dentro de cada celda, se compila un histograma de direcciones de gradiente. El descriptor es la concatenación de estos histogramas. Para una mayor precisión, los histogramas locales se pueden normalizar por contraste calculando una medida de la intensidad en una región más amplia de la imagen, llamada bloque, y luego utilizando este valor para normalizar todas las celdas dentro del bloque. Esta normalización resulta en una mayor invariancia a los cambios de iluminación y sombras.
El descriptor HOG presenta algunas ventajas clave sobre otros descriptores. Dado que opera sobre celdas locales, es invariante a las transformaciones geométricas y fotométricas, excepto a la orientación del objeto. Dichos cambios solo se manifestarían en regiones espaciales más amplias. Además, como descubrieron Dalal y Triggs, el muestreo espacial grueso, el muestreo de orientación fino y la fuerte normalización fotométrica local permiten ignorar el movimiento corporal individual de los peatones siempre que mantengan una posición aproximadamente erguida. Por lo tanto, el descriptor HOG es particularmente adecuado para la detección de personas en imágenes. [ 3 ]
Implementación del algoritmo
Cálculo del gradiente
El primer paso del cálculo en muchos detectores de características en el preprocesamiento de imágenes consiste en asegurar la normalización de los valores de color y gamma. Sin embargo, como señalan Dalal y Triggs, este paso puede omitirse en el cálculo del descriptor HOG, ya que la normalización del descriptor subsiguiente logra esencialmente el mismo resultado. Por lo tanto, el preprocesamiento de imágenes tiene poco impacto en el rendimiento. En cambio, el primer paso del cálculo es el cálculo de los valores del gradiente. El método más común consiste en aplicar la máscara de derivada discreta puntual centrada en 1D en una o ambas direcciones, horizontal y vertical. Específicamente, este método requiere filtrar los datos de color o intensidad de la imagen con los siguientes núcleos de filtro:
Dalal y Triggs probaron otras máscaras más complejas, como la máscara Sobel de 3x3 o las máscaras diagonales, pero estas máscaras generalmente tuvieron un rendimiento inferior en la detección de personas en las imágenes. También experimentaron con el suavizado gaussiano antes de aplicar la máscara derivada, pero de manera similar encontraron que la omisión de cualquier suavizado ofrecía mejores resultados en la práctica. [ 4 ]
Clasificación por orientación
El segundo paso del cálculo consiste en crear los histogramas de las celdas. Cada píxel dentro de la celda emite un voto ponderado para un bin del histograma basado en la orientación, según los valores obtenidos en el cálculo del gradiente. Las celdas pueden ser rectangulares o radiales, y los canales del histograma se distribuyen uniformemente entre 0 y 180 grados o entre 0 y 360 grados, dependiendo de si el gradiente es "sin signo" o "con signo". Dalal y Triggs descubrieron que los gradientes sin signo, utilizados junto con 9 canales de histograma, ofrecían el mejor rendimiento en sus experimentos de detección humana, mientras que observaron que los gradientes con signo generaban mejoras significativas en el reconocimiento de otras clases de objetos, como automóviles o motocicletas. En cuanto al peso del voto, la contribución del píxel puede ser la magnitud del gradiente en sí misma o alguna función de dicha magnitud. En las pruebas, la magnitud del gradiente suele producir los mejores resultados. Otras opciones para el peso del voto podrían incluir la raíz cuadrada o el cuadrado de la magnitud del gradiente, o alguna versión recortada de la magnitud. [ 5 ]
Bloques descriptivos
Para tener en cuenta los cambios de iluminación y contraste, las intensidades del gradiente deben normalizarse localmente, lo que requiere agrupar las células en bloques más grandes conectados espacialmente. El descriptor HOG es entonces el vector concatenado de los componentes de los histogramas de células normalizados de todas las regiones del bloque. Estos bloques suelen superponerse, lo que significa que cada célula contribuye más de una vez al descriptor final. Existen dos geometrías de bloque principales: bloques R-HOG rectangulares y bloques C-HOG circulares. Los bloques R-HOG son generalmente cuadrículas cuadradas, representadas por tres parámetros: el número de células por bloque, el número de píxeles por célula y el número de canales por histograma de célula. En el experimento de detección humana de Dalal y Triggs, se encontró que los parámetros óptimos eran cuatro células de 8x8 píxeles por bloque (16x16 píxeles por bloque) con 9 canales de histograma. Además, encontraron que se podía obtener una pequeña mejora en el rendimiento aplicando una ventana espacial gaussiana dentro de cada bloque antes de tabular los votos del histograma para ponderar menos los píxeles alrededor del borde de los bloques. Los bloques R-HOG son bastante similares a los descriptores SIFT ( Scale-invariant feature transform ); sin embargo, a pesar de su estructura similar, los bloques R-HOG se calculan en cuadrículas densas a una única escala sin alineación de orientación, mientras que los descriptores SIFT se calculan generalmente en puntos clave de la imagen, dispersos e invariantes a la escala, y se rotan para alinear la orientación. Además, los bloques R-HOG se utilizan conjuntamente para codificar información de forma espacial, mientras que los descriptores SIFT se utilizan individualmente.
Los bloques HOG circulares (C-HOG) se pueden encontrar en dos variantes: aquellos con una sola celda central y aquellos con una celda central dividida angularmente. Además, estos bloques C-HOG se pueden describir con cuatro parámetros: el número de bins angulares y radiales, el radio del bin central y el factor de expansión para el radio de los bins radiales adicionales. Dalal y Triggs encontraron que las dos variantes principales proporcionaban un rendimiento igual, y que dos bins radiales con cuatro bins angulares, un radio central de 4 píxeles y un factor de expansión de 2 proporcionaban el mejor rendimiento en su experimentación (para lograr un buen rendimiento, utilice al menos esta configuración). Además, la ponderación gaussiana no proporcionó ningún beneficio cuando se usó junto con los bloques C-HOG. Los bloques C-HOG parecen similares a los descriptores de contexto de forma , pero difieren notablemente en que los bloques C-HOG contienen celdas con varios canales de orientación, mientras que los contextos de forma solo utilizan un único recuento de presencia de borde en su formulación. [ 6 ]
Normalización de bloques
Dalal y Triggs exploraron cuatro métodos diferentes para la normalización de bloques.sea el vector no normalizado que contiene todos los histogramas en un bloque dado,sea su k -norma paraySea una pequeña constante (el valor exacto, afortunadamente, no es importante). Entonces, el factor de normalización puede ser uno de los siguientes:
- Norma L2:
- L2-hys: norma L2 seguida de recorte (limitando los valores máximos de v a 0,2) y renormalización, como en [ 7 ].
- Norma L1:
- L1-raíz cuadrada:
En sus experimentos, Dalal y Triggs encontraron que los esquemas L2-hys, L2-norm y L1-sqrt ofrecen un rendimiento similar, mientras que el L1-norm ofrece un rendimiento ligeramente menos fiable; sin embargo, los cuatro métodos mostraron una mejora muy significativa con respecto a los datos no normalizados. [ 8 ]
Reconocimiento de objetos
Los descriptores HOG pueden utilizarse para el reconocimiento de objetos proporcionándolos como características a un algoritmo de aprendizaje automático . Dalal y Triggs utilizaron descriptores HOG como características en una máquina de vectores de soporte (SVM); [ 9 ] sin embargo, los descriptores HOG no están vinculados a un algoritmo de aprendizaje automático específico.
Actuación
En su experimento original de detección humana, Dalal y Triggs compararon sus bloques descriptores R-HOG y C-HOG con ondículas de Haar generalizadas , descriptores PCA-SIFT y descriptores de contexto de forma . Las ondículas de Haar generalizadas son ondículas de Haar orientadas y fueron utilizadas en 2001 por Mohan, Papageorgiou y Poggio en sus propios experimentos de detección de objetos. Los descriptores PCA-SIFT son similares a los descriptores SIFT, pero se diferencian en que el análisis de componentes principales se aplica a los parches de gradiente normalizados. Los descriptores PCA-SIFT fueron utilizados por primera vez en 2004 por Ke y Sukthankar y se afirmó que superaban a los descriptores SIFT regulares. Finalmente, los contextos de forma utilizan contenedores circulares, similares a los utilizados en los bloques C-HOG, pero solo tabulan votos en función de la presencia de bordes, sin hacer distinción con respecto a la orientación. Los contextos de forma fueron utilizados originalmente en 2001 por Belongie, Malik y Puzicha.
Las pruebas comenzaron con dos conjuntos de datos diferentes. La base de datos de peatones del Instituto Tecnológico de Massachusetts (MIT) contiene 509 imágenes de entrenamiento y 200 imágenes de prueba de peatones en calles de la ciudad. El conjunto solo contiene imágenes que muestran la parte frontal o posterior de figuras humanas y presenta poca variedad en la postura humana. El conjunto es bien conocido y se ha utilizado en varios experimentos de detección de personas, como los realizados por Papageorgiou y Poggio en 2000. La base de datos del MIT está disponible actualmente para investigación en https://web.archive.org/web/20041118152354/http://cbcl.mit.edu/cbcl/software-datasets/PedestrianData.html . El segundo conjunto fue desarrollado por Dalal y Triggs exclusivamente para su experimento de detección de personas debido a que los descriptores HOG tuvieron un rendimiento casi perfecto en el conjunto del MIT. Su conjunto, conocido como INRIA, contiene 1805 imágenes de personas tomadas de fotografías personales. El conjunto contiene imágenes de personas en una amplia variedad de poses e incluye fondos complejos, como escenas con multitudes, lo que lo hace más complejo que el conjunto del MIT. La base de datos INRIA está disponible para consulta en http://lear.inrialpes.fr/data .
El sitio web mencionado anteriormente contiene una imagen que muestra ejemplos de la base de datos de detección humana de INRIA.
En cuanto a los resultados, los descriptores de bloques C-HOG y R-HOG se desempeñan de manera comparable, con los descriptores C-HOG manteniendo una ligera ventaja en la tasa de detección fallida a tasas de falsos positivos fijas en ambos conjuntos de datos. En el conjunto MIT, los descriptores C-HOG y R-HOG produjeron una tasa de detección fallida de prácticamente cero a una tasa de falsos positivos de 10 − 4. En el conjunto INRIA, los descriptores C-HOG y R-HOG produjeron una tasa de detección fallida de aproximadamente 0,1 a una tasa de falsos positivos de 10 − 4. Las ondículas de Haar generalizadas representan el siguiente enfoque de mayor rendimiento: produjeron una tasa de detección fallida de aproximadamente 0,01 a una tasa de falsos positivos de 10 − 4 en el conjunto MIT, y una tasa de detección fallida de aproximadamente 0,3 en el conjunto INRIA. Los descriptores PCA-SIFT y los descriptores de contexto de forma se desempeñaron bastante mal en ambos conjuntos de datos. Ambos métodos produjeron una tasa de error de 0,1 con una tasa de falsos positivos de 10 − 4 en el conjunto MIT y una tasa de error cercana a 0,5 con una tasa de falsos positivos de 10 − 4 en el conjunto INRIA.
Desarrollo posterior
Como parte del taller Pascal Visual Object Classes 2006, Dalal y Triggs presentaron resultados sobre la aplicación de descriptores de histograma de gradientes orientados a objetos de imagen distintos de personas, como automóviles, autobuses y bicicletas, así como animales comunes como perros, gatos y vacas. Incluyeron en sus resultados los parámetros óptimos para la formulación de bloques y la normalización en cada caso. La imagen de la referencia que aparece a continuación muestra algunos de sus ejemplos de detección de motocicletas. [ 10 ]
Como parte de la Conferencia Europea de Visión por Computadora (ECCV) de 2006, Dalal y Triggs se asociaron con Cordelia Schmid para aplicar detectores HOG al problema de la detección de personas en películas y videos. Combinaron descriptores HOG en fotogramas de video individuales con sus histogramas de movimiento interno (IMH) recientemente introducidos en pares de fotogramas de video consecutivos. Estos histogramas de movimiento interno utilizan las magnitudes del gradiente de los campos de flujo óptico obtenidos de dos fotogramas consecutivos. Estas magnitudes del gradiente se utilizan luego de la misma manera que las producidas a partir de datos de imágenes estáticas dentro del enfoque del descriptor HOG. Al realizar pruebas en dos grandes conjuntos de datos tomados de varias películas, el método combinado HOG-IMH arrojó una tasa de error de aproximadamente 0,1 en untasa de falsos positivos. [ 11 ]
En el Simposio de Vehículos Inteligentes de 2006, F. Suard , A. Rakotomamonjy y A. Bensrhair presentaron un sistema completo para la detección de peatones basado en descriptores HOG. Su sistema funciona con dos cámaras infrarrojas. Dado que los seres humanos aparecen más brillantes que su entorno en las imágenes infrarrojas, el sistema primero localiza las posiciones de interés dentro del campo de visión más amplio donde podrían encontrarse personas. A continuación, clasificadores de máquinas de vectores de soporte operan sobre los descriptores HOG obtenidos de estas posiciones de interés más pequeñas para tomar una decisión sobre la presencia de un peatón. Una vez que los peatones se encuentran dentro del campo de visión, su posición real se estima mediante visión estéreo. [ 12 ]
En la Conferencia IEEE sobre Visión por Computadora y Reconocimiento de Patrones de 2006, Qiang Zhu , Shai Avidan , Mei-Chen Yeh y Kwang-Ting Cheng presentaron un algoritmo para acelerar significativamente la detección de personas utilizando métodos de descriptores HOG. Su método utiliza descriptores HOG en combinación con el algoritmo de clasificadores en cascada, normalmente aplicado con gran éxito a la detección de rostros. Además, en lugar de depender de bloques de tamaño uniforme, introducen bloques que varían en tamaño, ubicación y relación de aspecto. Para aislar los bloques más adecuados para la detección de personas, aplicaron el algoritmo AdaBoost para seleccionar aquellos bloques que se incluirían en la cascada. En sus experimentos, su algoritmo logró un rendimiento comparable al del algoritmo original de Dalal y Triggs, pero operó a velocidades hasta 70 veces más rápidas. En 2006, los Laboratorios de Investigación de Mitsubishi Electric solicitaron la patente estadounidense de este algoritmo con el número de solicitud 20070237387. [ 13 ]
En la Conferencia Internacional IEEE sobre Procesamiento de Imágenes de 2010, Rui Hu , Mark Banard y John Collomosse extendieron el descriptor HOG para su uso en la recuperación de imágenes basada en bocetos (SBIR). Se extrapoló un campo de orientación denso a partir de las respuestas dominantes en el detector de bordes de Canny bajo una restricción de suavidad laplaciana , y se calculó HOG sobre este campo. El descriptor HOG de campo de gradiente resultante (GF-HOG) capturó la estructura espacial local en bocetos o mapas de bordes de imagen. Esto permitió que el descriptor se utilizara dentro de un sistema de recuperación de imágenes basado en contenido que se puede buscar mediante formas dibujadas a mano alzada. [ 14 ] Se demostró que la adaptación GF-HOG superaba a los descriptores de histograma de gradiente existentes, como SIFT , SURF y HOG, en aproximadamente un 15 por ciento en la tarea de SBIR. [ 15 ]
En 2010, Martin Krückhans introdujo una mejora del descriptor HOG para nubes de puntos 3D. [ 16 ] En lugar de gradientes de imagen, utilizó distancias entre puntos (píxeles) y planos, denominadas residuos, para caracterizar una región local en una nube de puntos. Su descriptor de histograma de residuos orientados (HOR) se utilizó con éxito en tareas de detección de objetos en nubes de puntos 3D. [ 17 ]
Véase también
Referencias
- ↑ "Método y aparato para el reconocimiento de patrones" .
- ↑ "Histogramas de orientación para el reconocimiento de gestos con las manos" .
- ↑ "Histogramas de gradientes orientados para la detección humana" (PDF) . pág. 2.
- ↑ "Histogramas de gradientes orientados para la detección humana" (PDF) . pág. 4.
- ↑ "Histogramas de gradientes orientados para la detección humana" (PDF) . pág. 5.
- ↑ "Histogramas de gradientes orientados para la detección humana" (PDF) . pág. 6.
- ↑ DG Lowe. Características distintivas de imágenes a partir de puntos clave invariantes a la escala. IJCV, 60(2):91–110, 2004.
- ↑ "Histogramas de gradientes orientados para la detección humana" (PDF) . pág. 6.
- ↑ "Histogramas de gradientes orientados para la detección humana" (PDF) . pág. 1.
- ↑ "Detección de objetos mediante histogramas de gradientes orientados" (PDF) . Archivado del original (PDF) el 5 de diciembre de 2013. Consultado el 10 de diciembre de 2007 .
- ↑ "Detección humana mediante histogramas orientados de flujo y apariencia" (PDF) . Archivado del original (PDF) el 5 de septiembre de 2008. Consultado el 10 de diciembre de 2007 .(El documento original ya no está disponible; un documento similar se encuentra archivado el 28 de enero de 2023 en Wayback Machine ).
- ↑ "Detección de peatones mediante imágenes infrarrojas e histogramas de gradientes orientados" (PDF) .
- ↑ "Detección rápida de personas mediante una cascada de histogramas de gradientes orientados" (PDF) .
- ↑ "Descriptor de campo de gradiente para la recuperación y localización de imágenes basadas en bocetos" (PDF) .
- ↑ "Una evaluación del rendimiento del descriptor HOG de campo de gradiente para la recuperación de imágenes basada en bocetos" (PDF) .
- ↑ Krückhans, Martín. "Ein Detektor für Ornamente auf Gebäudefassaden auf Basis des" histograma-de-gradientes-orientados "-Operadores" (PDF) .(alemán)
- ↑ "Mapas Octree 3D semánticos basados en campos aleatorios condicionales" (PDF) .
Enlaces externos
- http://www.mathworks.com/matlabcentral/fileexchange/33863 Una implementación para Matlab (archivo mex)
- https://www.cs.cmu.edu/~yke/pcasift/ - Código para detección de objetos PCA-SIFT
- http://lear.inrialpes.fr/software/ Archivado el 19/09/2009 en Wayback Machine - Kit de herramientas de software para la detección de objetos HOG (página web del equipo de investigación)
- https://web.archive.org/web/20100502032344/http://www.navneetdalal.com/software - Kit de herramientas de software para la detección de objetos HOG (página principal de Navneet Dalal)
- http://dlib.net/imaging.html#scan_fhog_pyramid - Kit de herramientas de software en C++ y Python para la detección de objetos HOG
- http://pascal.inrialpes.fr/data/human/ Archivado el 5 de mayo de 2010 en Wayback Machine - Conjunto de datos de imágenes humanas de INRIA
- http://cbcl.mit.edu/software-datasets/PedestrianData.html - Conjunto de datos de imágenes de peatones del MIT
- Detección de características (visión por computadora)
- Reconocimiento y categorización de objetos