a boundary fragment model for object detection
作者提出使用边界片段进行目标检测
三个关键概念:boosting , contour fragments 和 hough votes
Boosting 用来选择一些边界片段的结合从而构造一个强"Boundary-Fragment-Model" 检测器。作者指出其得到如下两个结论:
(1) BFM检测其能够表示和检测由形状定义的目标
(2)于其他公布的结果对比,BFM检测器有很好的性能并且有较少的监督
特点:使用边界信息进行投票,并决定目标质心位置。
作者也指出其并不是说这个基于边界的检测模型可以取代基于表观信息的检测模型,其只是提供了一个补充特征进行目标检测。
这篇文章包括如下两个方面:
(1) boundary-fragment codebook 的学习方法
(2)使用boosting在一系列构建在boundary fragments上的弱检测上构建一个强检测器。
第一部分:learning boundary fragments
两个数据集:
训练图像集合:目标使用bounding box进行标出
校正图像集合:其被标注是否object存在和目标质心
训练图像提供了所有候选boundary fragments,这些候选boundary fragments通过校正集合进行优化。对于候选boundary fragment有什么要求呢?(1)匹配正样本上的edge chains ,但不匹配负样本;(2)在正样本上有一个好的质心定位。接下来,我们解释怎样根据它满足这两个条件给一个boundary fragment进行打分,从而从训练图像中挑选处候选fragments。
对一个boundary fragment进行打分
首先linked edges 通过canny进行获得。
在训练图像中一个linked edge被认为是一个候选boundary fragment ,其分数是两项的成绩:
(1):这个fragment 于在校正图像中edge chains的匹配代价
其中表示负校正图像的数目,表示正校正图像的数目,表示boundary fragment于在图像中最佳匹配的edge chain之间的距离:
其中是距离变换。
(2):在所有正校正图像集合上真实object centroid与这个boundary fragment预测的质心位置之间的距离
如何挑选boundary fragments呢??
首先在每一个训练图像的边界上进行随机撒种子,然后在每一个种子上我们抽取boundary fragments。我们让每一个 gragment 生长,并且在每一步上我们计算其在校正集上的。
之后为了降低codebook 的冗余性,我们可以进行聚类。
第二部分: Training an object detector using Boosting
我们结合boundary fragments 来构造一个weak detector,然后使用boosting 框架从而这些弱的weak detector学习到一个strong detector。
弱检测器
一个弱检测器是由个boundary fragments构成。我们想要一个检测器,如果(1)个boundary fragments匹配图像edge chains(2)在正images上预测的质心重合,(3)预测质心与实际质心符合,则这个检测器有
这个分类器的输出定义如下:
其中是每个学习得到的阈值,定义为
使用boosting 构建强分类器——需要结合所有的弱分类器(注意哦,这与cascade的想法是不同的)