(论文笔记)Deep Learning Strong Parts for Pedestrian Detection

这篇论文做的主要创新是,使用对身体的局部检测来降低对行人检测的丢失率。进行局部检测的目的主要是为了处理行人身体被遮挡的问题。

关于论文的部分检测器(Part Detectors)
训练部分检测器,
1、先构造了部分池(Part Pool)
2、对于每一个部分,训练一个单独的检测器
3、使用互补的部分检测器推断出全身的得分

部分池
使用2m*m的网格来定义一个人的全身,将身体的部分原型(Part prototype)定义为P={(x,y,w,h,i)|x,y为正整数,w,h分别为网格的宽高,i表示第几个部分原型(Part prototype)}。其中,为了避免可能有太细小的部分生成,使w和h的最小值为2。在具体的实现中定义了45个部分原型。

 

 

对于每个Part,都单独训练了卷积网络分类器。对于特定部分块的生成(Part Specific Patch Generation),(1)负样本为对应区域不是行人的候选区;(2)正样本是当ground truth中可见得部分能覆盖部分原型(Part prototype)时,提取对应部分为作为正样本。

 

处理偏移问题
在单方向上相对ground truth偏移10%,就会使IoU为0.9,但是当在两个方向同时偏移10%时,IoU就成了0.68,这就可能导致人体重要部分丢失,所以就要解决偏移问题。如果使用抖动的方法在每个候选区上截取多个图像块,然后用这些图像块去进行检测,花费的时间太多(每个候选区截取k个图像块,就会使测试时间增加k倍)。
为了减少时间花费,使用一个改装的(reformulate)带有全连接层的卷积神经网络,使其不受图像输入规格的限制,称其为全卷积神经网络(fully convolutional neural network)。将每个图像块送给全卷积神经网络之前,重调它的大小为(227+32n)*(227+32n),最后就可以得到对应于每个227*227区域的(1+n)*(1+n)个score map。最后的得分是这些score map中的值减去惩罚因子后的最大值。

 

posted @ 2017-10-30 19:03  unicoe  阅读(1252)  评论(0编辑  收藏  举报