HOG中的三线性插值

来源:互联网 发布:知行合一的知的意思 编辑:程序博客网 时间:2024/05/16 07:33

http://blog.csdn.net/zhazhiqiang/article/details/21043637点击打开链接


        

                                                             图1 

    所谓的三线性插值指的是在(x,y,theta)这三个参数空间中进行插值,即x方向、y方向和梯度的角度空间,如图1所示,图中的象素点(x,y)在利用梯度幅值作为权重进行投票时,要根据该象素点距离其他格子中心的距离进行加权,同时该象素点的梯度方向也要在其相邻的区间内进行插值,用数学公式描述如下式所示。

                       

 

                    

                                                      图2 三线性插值示意图

     

    三线性插值在具体实现中,可以利用LUT(look-up-table)来快速计算,若是采用积分直方图,则可以采用Wang等[Wang, 2009]提出的卷积三线性插值方法(Convoluted Trilinear Interpolation,CTI)快速计算,更多关于三线性插值的描述见[Pang, 2011]. 以下用一个简单的例子来说明。

    设图2中所示象素点的梯度方向是85度,梯度幅值是100,该象素点距离格子中心的左、右、上、下的距离分别为2、6、2、6。首先考虑梯度方向上的插值,若每20度为一个区间,85介于70和90之间,到第三个和第四个区间中心的距离分别为15和5,因此若投票值为v,则投票到第三个区间的值是(5/20)*v=0.25v,投票到第四个区间的值是(1-1/4)*v=0.75v。接下来考虑在xy方向上的插值,根据象素点距离各个格子中心的距离,可知在x方向上的权重分配系数为6/8、2/8,在y方向上的权重分配系数也为6/8、2/8。所以梯度幅值分配到第一个格子的值为100*6/8*6/8=56.25,分配到第二个格子的值为100*2/8*6/8=18.75,分配到第三个格子的值为100*6/8*2/8=18.75,分配到第四个格子的值为100*2/8*2/8=6.25。最后,根据梯度方向上的投票权重,可知:第一个格子的直方图第三个区间得到的投票值为56.25*0.25=14.0625,第一个格子的直方图第四个区间得到的投票值为56.26*0.75=42.1875;第二个格子的直方图第三个区间得到的投票值为18.75*0.25=4.6875,第二个格子的直方图第四个区间得到的投票值为18.75*0.75=14.0625;以此类推,可求出第三个和第四个格子的直方图特征。

 

参考文献 

[Wang, 2009] X. Wang, X. Han, and S. Yan. A HOG-LBP human de­tec­tor with par­tial oc­clu­sion han­dling [A]. In Proc. of ICCV[C], 2009.

[Pang, 2011] Y. Pang, Y. Yuan, X. Li, et al. Efficient HOG human detection [J]. Signal Processing, 2011, 91: 773-781.

 

Source Code

1. VLFeat中的HOG实现:http://www.vlfeat.org/overview/hog.html#tut.hog.basic



0 0
原创粉丝点击