¿Cuáles son las características de HOG en visión artificial en términos simples?

Las características de HOG son un primer paso útil para detectar objetos. Fueron utilizados por el popular DPM, o modelo deformable basado en partes, que fue la técnica de mayor rendimiento en la detección de objetos durante unos años (alrededor de 2008-2011),

HOG, o histograma de gradientes orientados, es una característica diseñada manualmente que debutó en 2005 por Dalal y Triggs.

Es bastante simple, convierte una representación basada en píxeles en una representación basada en gradiente, y a menudo se usa con pirámides de múltiples escalas y técnicas de clasificación lineal.

Están siendo reemplazados lentamente por el “aprendizaje profundo” que en realidad aprende algo como HOG detrás de escena. Pero las funciones de HOG son fáciles de usar, rápidas, e incluso puede crear su propia función similar a HOG en una noche de codificación (solo lea el documento de dalal).

En una oración, “HOG es una versión comprimida y codificada de su imagen”

Si ya conoces un poco la visión por computadora, entonces mira el video del profesor Mubarak Shah,
Centro de Investigación en Visión por Computador de la Universidad de Florida Central

Si eres completamente nuevo en Computer Vision, sé mi lector.

Gradientes de imagen:
En sentido simple, un gradiente es más o menos una derivada. (Los matemáticos se van …)
Por lo tanto, un gradiente de imagen en cualquier ubicación de una imagen, le proporciona el cambio de intensidad en esa ubicación, ya que el gradiente es una cantidad vectorial que tiene magnitud y dirección.

Para más información y matemáticas: gradiente de imagen

Gradientes Orientados:
Cuando hablamos de magnitud, nos referimos a los gradientes como solo gradientes. Cuando consideramos sus orientaciones, los referimos como gradientes orientados (orientación de gradiente).
Ahora en “Histograma de gradientes orientados”, sabemos qué son los gradientes orientados.

Histograma de gradientes orientados:
Un histograma no es más que un gráfico b / w de los valores en la tabla a la frecuencia de sus repeticiones.
Entonces, tome una pequeña porción de una imagen (también llamada parche), encuentre las orientaciones de gradiente y luego trace un histograma de sus orientaciones. Lo que te dice es, la probabilidad de existencia de un gradiente con orientación específica en ese parche.

Dimensionalidad :
Pero el problema es que si solo trazamos las orientaciones en bruto en el histograma, no tendrán mucho sentido. Además, la longitud del histograma sería demasiado alta. Entonces, en su lugar, dividimos las orientaciones (que son -180 a +180) en bloques (es decir, 0-30 un bloque, 30-60 otro, etc.)

Preservación de relaciones especiales:
Para preservar la información de las estructuras locales, extraemos las características en bloques pequeños de manera repetitiva. Finalmente, concatenamos todas estas características de bloques en un vector largo.

Más información,
Histograma de gradientes orientados

Cómo HOG puede diferenciar objetos del resto de las imágenes.
HOG es una técnica de extracción de características. Eso significa que HOG es una versión comprimida y codificada de su imagen. Lo que necesitamos es un algoritmo de aprendizaje, un algoritmo que pueda diferenciar dos conjuntos de características. Un algoritmo que puede trazar una línea entre dos clases separadas de características. Un tipo de algoritmo de este tipo es Support Vector Machines. Lo que suele hacer es tomar características de imágenes de personas (o cualquier conjunto de imágenes de un objeto) y algún conjunto de imágenes aleatorias (donde el objeto que desea detectar no está allí) e intentará dibujar una línea de separación entre Estas dos clases.
Entonces, en tiempo real, cuando le da una imagen de una persona, primero extraemos las características de HOG y luego se la daremos a un SVM capacitado y verificaremos si la característica está cerca de imágenes de personas vistas anteriormente o cerca de imágenes aleatorias .

Máquinas de vectores soporte

En los términos más básicos: imagina una cuadrícula cuadrada colocada sobre una imagen (de modo que divide la imagen en bloques, por ejemplo, nxn bloques). Cada bloque en la cuadrícula se divide en celdas más pequeñas. En estas celdas, los gradientes se calculan por píxel (aplicando un filtro de gradiente horizontal y vertical). Cada píxel ahora tendrá una orientación y magnitud para el borde que se encuentra sobre él. Construya un histograma para todas las orientaciones en una celda usando contenedores de orientación discretos (de 0 a 360). Use la magnitud como el voto en el histograma y luego concatene estos histogramas de celda para cada bloque y luego vectorice en un vector descriptor de características HOG más grande.

Solo para agregar, los gradientes calculados, los coloca en N número de contenedores, creando un histograma.