转载:http://blog.csdn.net/marvin521/article/details/9091555
基于霍夫森林的目标检测
上节说了霍夫变换(HT)和广义霍夫变换(GHT),今天就接着广义霍夫变换说下去,在广义霍夫变换中,每个投票元素(比如边缘像素中的点)在霍夫空间中累加投票的权重是相等的,每个元素投票的权重互不影响,这其实是假设了图像空间中的每个像素点是独立的,但现实是这样的吗?答案:不是,尤其是牵扯到我们今天的基于部件的投票时,这种投票元素互相独立的观点更站不脚,学过概率图模型(probabilistic graphic model)的都知道,图模型里有一种V结构,如(图一)所示:

(图一)
X1,X2是投票元素,Y是我们在霍夫空间中的投票,假设我们观察Y时,或者说给定Y时,就是观察图像空间中的目标,假设X1和X2是目标生成的,X1和X2是独立的吗?很明显不是,这些元素应该向Y投票的权重应该更大才说的通,而其他元素投更小的权重(图一也可以看出,当给定Y=1时,X1,X2的概率由0.25提高0.33)。这就是Judea peal提出的explain away问题(Even if two hidden causes are independent in the prior, they can become dependent when we observe an effect that they can both influence)。既然有现成的框架:概率图模型,或者严格的说概率模型,那我们就改进广义霍夫投票,进入概率空间。
先来说说霍夫森林吧,霍夫森林是Juergen Gall在2009发表在CVPR上的。它通过构建一个随机森林把图像块(patch appearance)直接映射成对目标重心位置的投票,找到了目标重心也就找到了目标,其他做法也有构建codebook来作为投票元素。无论用什么方法,我们都可以把他们看成像霍夫变换中图像空间里的像素点一样的投票元素,然后进入霍夫空间找峰值点来检测目标。别忘了今天的主题是进入概率空间进行投票,下面来看看作者是怎么进入概率空间的。作者构建一个随机森林模型,叉开一下,随机森林由N个决策树构成,这N个决策时互相独立,分别来对目标分类,最终由N个分类的数目类别多少来决定目标类别。每个决策树的训练样本是
,其中I是目标的一个局部图像块(patch),c是它的类标签(1表示是目标,0表示背景),d表示bouding box内图像块到目标中心的偏移(offset)矢量(2D),这个对后面的目标重心投票起着很大的作用;随机树生长的目的是使节点样本的类别和offset不纯度最小化,这两项的具体定义如(图二)中的公式(2)、(3)所示:

(图二)
节点上的分裂准则采用了像素值比较的方法,通过交替的最小化(公式一)来完成决策树的构建。
更多文章请关注《万象专栏》
转载请注明出处:https://www.wanxiangsucai.com/read/cv13389