(论文笔记)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 @   unicoe  阅读(1268)  评论(0编辑  收藏  举报
努力加载评论中...
编辑推荐:
· 对象命名为何需要避免'-er'和'-or'后缀
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
阅读排行:
· C# 中比较实用的关键字,基础高频面试题!
· .NET 10 Preview 2 增强了 Blazor 和.NET MAUI
· Ollama系列05:Ollama API 使用指南
· 为什么AI教师难以实现
· 如何让低于1B参数的小型语言模型实现 100% 的准确率
历史上的今天:
2014-10-30 NUC_HomeWork1 -- POJ1068
点击右上角即可分享
微信分享提示