fhog学习笔记
Posted jay&chuxu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fhog学习笔记相关的知识,希望对你有一定的参考价值。
fhog详解
fhog是在hog基础上进行的优化。
假设F是一个大小为 w ∗ h w*h w∗h 图像的像素级特征映射, k > 0 k>0 k>0是定义的 c e l l cell cell 的大小。通过像素级特征映射的空间聚合来得到基于 c e l l cell cell 的特征映射 C C C,记为: C ( i , j ) C(i,j) C(i,j)。其中 0 ≤ i ≤ [ ( w − 1 ) / k ] \\0\\leq i\\leq[(w-1)/k]\\ 0≤i≤[(w−1)/k], 0 ≤ j ≤ [ ( h − 1 ) / k ] \\0\\leq j\\leq[(h-1)/k]\\ 0≤j≤[(h−1)/k]
这种聚合可以使特征具有对微小形变的不变性,并可以减少特征映射尺寸。
最简单的聚合特征的方法是将像素 ( x , y ) (x,y) (x,y)映射到一个 c e l l cell cell 中( [ x / k ] , [ y / k ] [x/k], [y/k] [x/k],[y/k]),比如 k = 4 , x = 20 , y = 60 , x k = 5 , y k = 12 k=4,x=20,y=60,\\fracxk=5,\\fracyk=12 k=4,x=20,y=60,kx=5,ky=12,则像素 ( x , y ) (x,y) (x,y) 映射到 c e l l ( 5 , 12 ) cell(5,12) cell(5,12) 当中。
像素梯度幅值的统计办法
以下图为例,图像左图是一个 3 × 3 3\\times 3 3×3 个cell,假设每个cell是由 4 × 4 4\\times 4 4×4 个像素组成。假设每个像素梯度幅值为 r ( i , j ) r(i,j) r(i,j)。但是论文中这个像素的梯度幅值,并不是直接等于这个像素位置计算出来的幅值,而是在相邻的四个cell对应位置按照影响按权重计算得来。此处的理解可以参考:opencv 学习笔记-入门(21)之三线性插值-hog(二)。比如下图,统计中间深棕色cell的网格状阴影像素梯度时,要就算它周围相邻cell对应位置上梯度,并做加权处理,才是此处的梯度。同理,斜纹阴影的四个像素的梯度幅值也是如此计算。
假如当前cell要计算的像素特征梯度为
r
(
i
+
0
,
j
+
1
)
r(i+0,j+1)
r(i+0,j+1) ,加号前面的值是该像素所在cell的坐标,简记为
r
i
,
j
r_i,j
ri,j,周围相邻的四个cell对应位置像素梯度值记为
r
i
−
1
,
j
−
1
r_i-1,j-1
ri−1,j−1,
r
i
−
1
,
j
r_i-1,j
ri−1,j,
r
i
,
j
−
1
r_i,j-1
ri,j−1。加权后,最后的像素梯度特征为:
w
1
⋅
r
i
−
1
,
j
−
1
+
w
2
⋅
r
i
−
1
,
j
−
w
2
⋅
r
i
,
j
−
1
−
w
2
⋅
r
i
,
j
w_1\\cdot r_i-1,j-1+w_2\\cdot r_i-1,j-w_2\\cdot r_i,j-1-w_2\\cdot r_i,j
w1⋅ri−1,j−1+w2⋅ri−1,j−w2⋅ri,j−1−w2⋅ri,j。
.png)]
填充cell特征向量
根据梯度幅角,填充cell特征向量。假设将 [ 0 − π ] [0-\\pi] [0−π] 区间分成9份,区间间隔 20°。每个cell有9维方向不敏感的维度值,再将 [ 0 − 2 π ] [0-2\\pi] [0−2π] 分成18份,区间间隔还是20°,分下来,每个cell又有18维方向敏感的维度值。这两者加起来,共有27个维度。设 cell 标记为 C ( i , j ) C(i,j) C(i,j) ,是一个9+27维特征向量,如上图。
1.3 Normalization and Truncation
梯度对偏置改变具有不变性,这种不变性是通过归一化获得的。
作者使用了四种不同的归一化因子,记为:
N
δ
,
r
(
i
,
j
)
N_\\delta ,r(i,j)
Nδ,r(i,j) 其中
δ
,
r
ϵ
−
1
,
1
\\delta ,r \\quad\\epsilon\\beginBmatrix -1,1\\endBmatrix
δ,rϵ−1,1,定义如下:
N
δ
,
r
(
i
,
j
)
=
(
∣
∣
C
(
i
,
j
)
∣
∣
2
+
∣
∣
C
(
i
+
δ
,
j
)
∣
∣
2
+
∣
∣
C
(
i
,
j
+
γ
)
∣
∣
2
+
∣
∣
C
(
i
+
δ
,
j
+
γ
)
∣
∣
2
)
1
2
N_\\delta ,r(i,j)=(||C(i,j)||^2+||C(i+\\delta,j)||^2+||C(i,j+\\gamma)||^2+||C(i+\\delta,j+\\gamma)||^2)^\\frac12
Nδ,r(i,j)=(∣∣C(i,j)∣∣2+∣∣C(i+δ,j)∣∣2+∣∣C(i,j+γ)∣∣2+∣∣C(i+δ,j+γ)∣∣2)21
每个因子都包含一个block的四个cell的能量:
[
N
−
1
,
−
1
(
i
,
j
)
,
N
+
1
,
−
1
(
i
,
j
)
,
N
+
1
,
+
1
(
i
,
j
)
,
N
−
1
,
+
1
(
i
,
j
)
]
[N_-1 ,-1(i,j), N_+1 ,-1(i,j),N_+1 ,+1(i,j),N_-1 ,+1(i,j)]
[N−1,−1(i,j),N+1,−1(i,j),N+1,+1(i,j),N−1,+1(i,j)]
四个列向量,分别对应上图的(1)~(4)中彩色cell部分。
[
N
−
1
,
−
1
(
i
,
j
)
=
(
∣
∣
C
(
i
,
j
)
∣
∣
2
+
∣
∣
C
(
i
−
1
,
j
)
∣
∣
2
+
∣
∣
C
(
i
−
1
,
j
−
1
)
∣
∣
2
+
∣
∣
C
(
i
,
j
−
以上是关于fhog学习笔记的主要内容,如果未能解决你的问题,请参考以下文章