HOG feature Jose Alejandro Libreros, Ing Inicio El punto de partida: ● La imagen original ● Una región de interés segm
Views 161 Downloads 0 File size 737KB
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:
Cálculo de la dirección del gradiente:
La magnitud será la 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. 2.
Permite guardar la proporción con el tamaño 64x128. Para personas, se ha comprobado que describe mejor
11
Cálculo de HOG Magnitud
Dirección
Por qué las direcciones no están de [0 360] o [-180 180]?
12
Cálculo de HOG Magnitud
Dirección
Enteros con signo tendrán la 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 80
0
36
20
5
10
40
Magnitud 0
...
60
2
80
3
100
4
4
120
3
140
...
160 15
Crear el histograma (HOG) Dirección 80
36
5
10
Magnitud 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 80
36
5
10
Magnitud 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 80
36
5
10
Magnitud 0
...
2
3
4
4
3
...
2
0
20
40
60
80
100
120
140
160 18
Crear el histograma (HOG) Dirección 80
36
5
2
2
0
20
10
Magnitud 0
...
2
3
4
4
3
...
2
40
60
80
100
120
140
160 19
Crear el histograma (HOG) Dirección 80
36
5
10
Magnitud 0
...
2
3
4
4
3
...
¿Qué se hace si está entre 160 y 180 grados?
2
2
0
20
2
40
60
80
100
120
140
160 20
Crear el histograma (HOG) Dirección 80
36
5
10
Magnitud 0
...
2
3
4
4
3
...
Lo mismo pero se considera el bin 160 y 0
2
2
0
20
2
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? [email protected]
30