拥挤场景中基于深度学习的目标检测

发布于 2024-3-27 16:16
浏览
0收藏

在拥挤的场景中进行物体检测具有挑战性。当物体聚集时,它们往往会在很大程度上彼此重叠,从而导致遮挡。由相同类别的对象引起的遮挡称为类内遮挡,也称为人群遮挡。物体检测器需要确定人群中不同物体的位置,并准确描绘其边界。即使对于人类注释者,许多情况也极具挑战性。在自动驾驶中,至少有几种场景需要处理拥挤场景中的物体检测:停车场或城市街道中的车辆检测以及十字路口上的行人检测。

拥挤场景中基于深度学习的目标检测-AI.x社区

用于行人和车辆检测的拥挤场景示例

人群场景的挑战

拥挤场景用于物体检测较为困难有以下几种原因。

  • 当对象彼此严重重叠时,不同实例的语义特征也会交织在一起,并使扇区难以区分实例边界。
  • 即使检测器成功地区分并检测到实例,它们仍然可以通过非最大抑制(NMS)进行抑制。NMS(甚至是其改进的版本soft-NMS和matrix-NMS)遵循一个隐含的假设,即具有高重叠度的检测框对应于同一对象,因此需要分组并简化为一个框。这个假设相当合理,但是,在拥挤的场景中,物体不再相互遮挡和重叠,这种假设不再适用。
  • 包含或专门从事人群检测的许多数据集(CrowdHuman,CityPersons,WiderPersons等)和实际应用程序(自动驾驶)都需要模态对象检测。这意味着检测器会预测一个覆盖整个对象的盒子,即使它在图像中不完全可见,例如由于其他对象的部分遮挡也是如此。实际上,这就是人类对环境的看法。由于无模态边界框之间的重叠通常比可见边界框高得多,这进一步使对象检测复杂化。


拥挤场景中基于深度学习的目标检测-AI.x社区可见边界框与非模态边界框

非极大值抑制(NMS)的困境

人群检测的最关键挑战可能是NMS。如下所示,人群对象检测中几乎所有现有的作品都可以在NMS上或直接在NMS上工作。尽管现代物体检测器中的大多数零件都是端到端可训练的,但NMS仍然是人类最后制造的组件之一。NMS贪婪地选择得分最高的边界框,并压制与其高度重叠的边界框。重叠是通过将“交叉口相交”(IoU)阈值与通常在0.3到0.5之间的预定义阈值进行比较来测量的。NMS对阈值非常敏感-阈值越高,意味着抑制能力越低,可能会带来更多的FP;阈值越低,意味着抑制性就越强,并且可能导致检测漏检。


拥挤场景中基于深度学习的目标检测-AI.x社区蓝色框显示丢失的对象,红色框突出显示误报

密集框改进的损失

为了降低检测结果对NMS阈值的敏感性,一些研究提出了新的损失以确保更严格的预测。他们提出了额外的惩罚措施,以生产更紧凑的边框,并且对NMS的敏感性降低。相应地,它们对出现在两个行人中间的bbox施加了额外的惩罚,解决了人群对象检测的问题之一。

RepLoss (在人群中检测行人,CVPR 2018)提出了一种新颖的bbox回归损失,专门针对人群场景设计。这不仅推动每个提案达到其设计目标,而且还使其远离其他周围物体。

RepGT损失会惩罚与非目标GT对象的重叠。RepBox的损失鼓励了两个具有不同指定目标的预测框之间的IoU区域需要很小。这意味着在NMS之后,具有diff回归目标的预测框不太可能合并为一个。

AggLoss (可识别遮挡的R-CNN:在人群中检测行人,ECCV 2018)提出了一个新的损失条款,以强制将提案紧凑地定位到指定的地面真实对象。具体而言,它会在锚的平均预测与相应的GT之间强制执行SL1损失。


拥挤场景中基于深度学习的目标检测-AI.x社区RepLoss和AggLoss的比较

RepLoss和AggLoss都通过修改损失函数来鼓励更紧密的bbox。但是,有时在NMS为对象检测器的性能设置上限的高度拥挤的情况下,更严格的检测结果也无济于事。例如,在CrowdHuman数据集中,如果应用IoU阈值为0.5(源)的标准NMS,将在检测中丢失近10%的地面实例。换句话说,即使是完美的检测器(100%的召回率和精确的边界框精度)也将无法在NMS之后检测所有实例。

遮挡感知NMS

为了在拥挤的场景中实现更好的目标检测性能,需要以更加原则化的方式解决NMS的瓶颈。许多论文努力重新设计NMS,以更适当地处理遮挡情况,同时又不降低正常情况下的性能。

自适应NMS(人群中的完善行人检测,CVPR 2019口头)指出,NMS的困境是由强制选择单个阈值引起的。本文提出的自适应NMS应用了一种动态抑制策略,其中,阈值随着实例的聚集和遮挡而升高,而当实例分别出现时则降低。它使用单独的子网在线预测对象密度得分(或拥挤度),并将其用作NMS的自适应阈值。对于高物体密度区域中的物体,使用最大动态阈值(fixed_threshold,crowdness)执行NMS。这可以在拥挤度得分高的拥挤区域自适应地调整阈值。就是说,拥挤度估计是一项艰巨的任务,并且回合真密度与预测边界框的IoU之间通常存在不一致。


拥挤场景中基于深度学习的目标检测-AI.x社区

Double Anchor(用于在人群中进行人类检测的Double Anchor R-CNN,Arxiv 2019)的开发旨在捕获成对的身体和头部。本文特别针对人类的检测,并且其背后的直觉很简单:与人体相比,头部通常具有较小的比例,较少的重叠以及在真实世界图像中的更好视线,因此姿势更健壮变化和人群遮挡。该网络基于Faster RCNN框架,可以预测头部框和身体框,每个箱体都有一个置信度得分。然后,联合NMS方法使用来自head bbox得分和body bbox得分的加权得分,如果身体重叠或头部重叠超过某个阈值,则具有较低得分的盒子将被抑制。


拥挤场景中基于深度学习的目标检测-AI.x社区Double Anchor的体系结构

Double Anchor的直觉很棒,但头部框和身体框的概念仅限于行人检测的范围。几乎按照定义,物体的可见部分受遮挡的影响要小得多。我们是否可以通过身体框和头部箱重新定义为无模态全箱(封闭遮挡范围)和可见框,使“双锚”方法更通用?

R2-NMS (CVPR 2020)和VG-NMS(NeurIPS 2019研讨会)正是做到了这一点。这两项粗略的当代研究都预测了完整的bbox和可见区域,并将可见区域用于NMS。R2-NMS专注于拥挤的行人检测,并使用类似Faster-RCNN的两阶段目标检测框架,而VG-NMS则更多关注于停车场或城市场景中的拥挤车辆检测,并使用类似于SDD的单阶段对象检测框架。


拥挤场景中基于深度学习的目标检测-AI.x社区R2-NMS和VG-NMS的示意图

CrowdDet (CVPR 2020)预测每个锚点进行多次检测以进行人群检测。预期来自同一锚点的预测框会推断出相同的实例集,而不是像大多数对象检测器中的单个预测范式那样区分单个实例。修改后的集合NMS在很大程度上遵循正常的NMS程序,但是跳过了对来自相同锚点的预测的抑制。

由于每个锚点现在可以预测一组对象实例而没有任何特定顺序,因此需要修改损耗以测量两组之间的距离。EMD(地球移动者的距离)损耗用于在所有匹配的排列中选择损耗最小的最佳匹配。它还添加了将其类别标签视为背景的虚拟框,并掩盖了回归损失。这些想法实际上与许多范式转移的DETR论文非常相似,我将在后面写总结。


拥挤场景中基于深度学习的目标检测-AI.x社区单一预测与集合预测范例

上述人为的病理情况说明了单预测范例的基本局限性。在拥挤的场景中,从本质上很难从单个锚点预测单个实例,因为提案具有非常相似的功能。而且,在香草NMS之后,很可能只有一个预测能幸免。

尽管在自动驾驶和许多实际应用中,上述人为情况极不可能发生,但这确实是没有设计现代物体检测器无法处理的一个极端情况,无论是基于锚的一阶段或两阶段或无锚。一般来说,物体检测是要分辨物体在哪里以及物体有多大。但是,这种情况既有中心位置冲突(无法通过中心热图处理)又有大小冲突(无法通过多尺度特征图处理)。

无网管

现在我们知道NMS是对象检测器必不可少的弊端,为什么不消除它呢?有确实是最近的锚自由和NMS-无物体探测器波,最具代表性的是CenterNet(的arXiv 2019)和FCOS(ICCV 2019)为总体目标检测和CSP (CVPR 2019)奉献给行人检测。

尽管无锚的方法可以消除传统意义上的NMS,但必须在预测的中心热图中选择局部最大值。这些免锚(或单锚,取决于您的查看方式)方法可以减轻基于锚的方法的NMS引起的问题。免锚方法的性能在很大程度上仍取决于如何制定检测问题。正确的方法似乎仍然是R2-NMS / VG-NMS方法或CrowdDet方法。


拥挤场景中基于深度学习的目标检测-AI.x社区用于无锚CSP的行人检测的极其简单的管道

没有拥塞的密集场景

在以上所有研究中,我们假设场景拥挤且有遮挡。一个相关但略有不同的领域是在密集场景中(例如在架子上展示中)的物体检测。在这样的零售场景中,许多物体看起来相似或相同,并且通常放置得很近,但没有太多的遮挡。通用物体检测器在这里也会惨遭失败。SKU110K (CVPR 2019)提出了一种EM合并算法来代替NMS来过滤,合并和拆分重叠的检测簇,以解决每个对象的单个检测问题。


拥挤场景中基于深度学习的目标检测-AI.x社区RetinatNet与EM-merger算法之间的比较

结论

NMS是现代物体探测器的重要组成部分。NMS有一个基本的假设,即需要抑制高度重叠的预测,但只有一个。然而,拥挤的场景从定义上挑战了这一假设。

人群对象检测中几乎所有现有的作品都在NMS上或直接在NMS上运作。RepLoss和AggLoss鼓励更严格的边界框预测,从而减轻了对NMS阈值的敏感性。

自适应NMS动态预测将在推理中使用的NMS阈值。联合NMS(双锚点),R2-NMS,VG-NMS会为每个实例预测两个盒子,并在NMS期间使用不太容易遮挡的盒子。Set NMS(CrowdDet)从根本上解决了大多数现代对象检测器无法处理的位置和比例冲突的极端情况。预测一组边界框的想法与DETR相似,并且可能是超越当前密集预测范式的对象检测的未来。

在实践中,R2-NMS和VG-NMS使用的方法似乎是处理遮挡的最实用方法,并且实际上应该处理大多数人群遮挡的情况。在NMS之前可视化检测结果也似乎是功能强大的调试工具。

本文转载 小白遇见AI ,作者:小烦

原文链接:​​https://mp.weixin.qq.com/s/UkliiIvy0cABBUJ6xX8HIA​

收藏
回复
举报
回复
相关推荐