您的位置:首页 > 移动开发 > Objective-C

(论文分析) Object Detection -- Class-Specific Hough Forests for Object Detection

2014-02-17 08:50 281 查看
Class-Specific hough forests for object detection

从这篇文章中我们可以学习到generic hough transform 和 random forest 的应用

Hough Forests 如何建造呢?

对于Hough forests, 每棵树基于一系列patch

进行建造,其中

是这个patch的appearance,

是这个patch的标签,

是这个patch离object中心的偏移(offset)。

下面我们具体描述一下如何从训练样本中抽取这些patch :

从背景图像中抽取得到的patch,其类别标签

,从使用bounding boxes框住的图像内部抽取的patch其类别标签为

。对于每一个object patch也赋予一个从bounding box 中心(即目标中心)到patch中心的偏移。对于一个background patch这个offset不赋值。

在所构建的树上,对于每一个叶节点,在训练时到达这个叶节点的所有patch的信息保存。于是,我们存储

(到达这个叶节点的object pathes的比例)和

针对于所有到达这个叶节点的object patches的偏移值(用于投票使用)。于是这棵树的叶子节点就形成了一个用于目标中心可能位置的discriminative codebook。在运行时,这些信息用来对object的所有可能位置进行投票。

我们应该选用什么样的patch appearance 和 binary tests呢?

在训练和测试时,所有的patches 使用一个固定大小,例如16*16,对于apperance 可以使用扩展的特征通道来定义。于是一个patch 的apperance可以写成

,其中

是一个16*16的图像,

是通道数。

对一个patch appearance 的二值测试

能够用许多方式来定义,但是作者选择基于pixel 测试。像这样的测试使用通道索引

,两个位置



,阈值

,从而测试可以写成如下形式:



现在我们开始建立树了:

Hough forests 中树的建立遵循这一般随机森林的框架。每一棵树从根开始迭代建立。在构建过程中,每个节点收到一系列training patches。如果节点深度等于一个最大值(

)或者patches的数目很小(

),被构建的节点就可以成为一个叶节点,并且叶节点的信息

被累计并且存储。否则一个非叶节点被创建并且一个最优的测试(binary test)被挑选。

如何挑选这个最优测试呢?

核心原则:越走向叶节点,所接收到得patches的类别标签和偏移向量的不确定度逐渐减少。为了实现这个目标,作者定义了两个对patch不确定性的测量方法。假设对于一个节点收到的patches

。class-label 不确定性,其是用来衡量class labels

的不纯性:



其中,entropy定义为



偏移不确定性,其用来衡量偏移向量的不纯性:



其中

是平均偏移。

注意我们忽略背景patches。

现在两个测量不确定性的方式已经给出,我们采用如下的方式进行binary tests。给定一系列training patches



,我们依靠均匀抽样

来产生一系列像素测试

。然后随机决策被建立。一般来说,除非negative patches 太少,我们等概率地选择,在这种情况下,选择最小化offset uncertainty。最后我们选择可以使两个不确定度测量都最小化的binary test



如何使用hough forest 进行目标检测呢?

现在假设

对应于在图像中的位置

目标出现的随机事件。我们感兴趣的时计算

,其可以解释为这个patch的appearance

可以带来在图像中得位置

处的

事件。

我们需要区分两个情况:是否

属于以x为中心的bounding box

。如果

,那么我们可以假设

对于

是没有信息价值的。

在这片文章中,作者假设第二种情况

。于是我们有:



对于第一项的估计方法如下:

使用基于在训练中在叶节点存储的偏移向量集

,和 Parzen-window进行估计。第二项可以直接使用在训练期间的object patches 的比例

。对于一棵单独的树,我们有



而对于一个森林呢?



(6)和(7)定义了一个single patch的关于目标是否存在的概率投票。为了整合来自于不同patches的投票信息。我们使用一种additive way累计他们进入2D Hough 图像:



如果我们完全按照(6)~(8)来进行计算的话,这是没有效率的。作者给出了更好的策略



见即将公布的 eagleeye 框架

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐