Está en la página 1de 30

HOG feature

Jose Alejandro Libreros, Ing


Inicio

El punto de partida:
● La imagen original
● Una región de interés segmentada

IMPORTANTE:
La relación de tamaño debe ser 1:2 (100x200, 64x128,
etc)

2
Cálculo de gradientes
Cálculo de la magnitud de las derivadas parciales:

Cálculo de la dirección del gradiente:

3
Cálculo de gradientes
Cálculo de la magnitud de las derivadas parciales:

Cálculo de la dirección del gradiente:


¿A qué se parece
esto?

4
Cálculo de gradientes
Cálculo de la magnitud de las derivadas parciales:

Cálculo de la dirección del gradiente:

5
Cálculo de gradientes
Cálculo de la magnitud de las derivadas parciales:

La magnitud será la
Cálculo de la dirección del gradiente: máxima de los tres
canales, en cada pixel.
Lo mismo con la
dirección

mag, angle = cv2.cartToPolar(gx, gy, angleInDegrees=True)

6
Cálculo de gradientes
mag, angle = cv2.cartToPolar(gx, gy, angleInDegrees=True)

|x| |y| magnitud


7
Cálculo de HOG

La imagen se divide en regiones de 8x8

Pregunta 1:
¿Para qué?

8
Cálculo de HOG

La imagen se divide en regiones de 8x8

Al tener 8x8x3=192
pixeles, se representa de
manera más compacta la
información. Así el
descriptor es más
robusto frente al ruido

9
Cálculo de HOG

La imagen se divide en regiones de 8x8

Pregunta 2:
¿Por qué 8x8 y no 10x10, 20x20?

10
Cálculo de HOG

La imagen se divide en regiones de 8x8

1. Permite guardar la proporción con el


tamaño 64x128.
2. Para personas, se ha comprobado que
describe mejor

11
Cálculo de HOG
Magnitud

Por qué las


direcciones no
Dirección están de [0 360]
o [-180 180]?

12
Cálculo de HOG
Magnitud

Enteros con
signo tendrán la
Dirección misma magnitud

13
Crear el histograma (HOG)
Creamos 9 bins representando los grados para cada zona de
tamaño 8x8

0 20 40 60 80 100 120 140 160

14
Crear el histograma (HOG)
Dirección Magnitud
80 36 5 10 0 ... 2 3 4 4 3 ...

0 20 40 60 80 100 120 140 160

15
Crear el histograma (HOG)
Dirección Magnitud
80 36 5 10 0 ... 2 3 4 4 3 ...

¿Qué se pone en el histograma y dónde?

0 20 40 60 80 100 120 140 160

16
Crear el histograma (HOG)
Dirección Magnitud
80 36 5 10 0 ... 2 3 4 4 3 ...

Si la dirección es X, se pone en el bin X la cantidad que hay en la


magnitud en ese píxel

0 20 40 60 80 100 120 140 160

17
Crear el histograma (HOG)
Dirección Magnitud
80 36 5 10 0 ... 2 3 4 4 3 ...

0 20 40 60 80 100 120 140 160

18
Crear el histograma (HOG)
Dirección Magnitud
80 36 5 10 0 ... 2 3 4 4 3 ...

2 2 2

0 20 40 60 80 100 120 140 160

19
Crear el histograma (HOG)
Dirección Magnitud
80 36 5 10 0 ... 2 3 4 4 3 ...

¿Qué se hace si
está entre 160 y
180 grados?

2 2 2

0 20 40 60 80 100 120 140 160

20
Crear el histograma (HOG)
Dirección Magnitud
80 36 5 10 0 ... 2 3 4 4 3 ...

Lo mismo pero
se considera el
bin 160 y 0

2 2 2

0 20 40 60 80 100 120 140 160

21
Crear el histograma (HOG)

22
Crear el histograma (HOG)

Así queda el histograma

23
Crear el histograma (HOG)

Otro ejemplo extraído de aquí

24
Normalización del histograma
Normalizar en un bloque de mayor
tamaño de 16 × 16. Un bloque de 16 ×
16 tiene 4 histogramas que se pueden
concatenar para formar un vector de
elemento de 36 x 1 y se puede
normalizar de la misma manera que se
normaliza un vector de 3 × 1. Luego, la
ventana se mueve 8 píxeles y se calcula
un vector normalizado de 36 × 1 sobre
esta ventana y el proceso se repite.

25
Concatenación de los
histogramas
¿Cuántas posiciones de los bloques 16 × 16 tenemos? Hay 7
posiciones horizontales y 15 verticales haciendo un total de 7
x 15 = 105 posiciones.

Cada bloque de 16 × 16 está representado por un vector de


36 × 1. Entonces, cuando los concatenamos todos en un
vector de ganancia, obtenemos un vector dimensional 36 ×
105 = 3780.

26
HOG

El resultado

27
HOG

La dirección dominante del


histograma captura la forma
de la persona, especialmente
alrededor del torso y las
piernas.

28
Referencias
https://www.learnopencv.com/histogram-of-oriented-gradients/

https://gurus.pyimagesearch.com/lesson-sample-histogram-of-orient
ed-gradients-and-car-logo-recognition/

https://scikit-image.org/docs/dev/auto_examples/features_detection/
plot_hog.html

https://scikit-image.org/docs/dev/api/skimage.feature.html#skimage.f
eature.hog

29
¿Preguntas?
jose.libreros@correounivalle.edu.co

30

También podría gustarte