(论文笔记)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中的值减去惩罚因子后的最大值。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 对象命名为何需要避免'-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