行人检测综述 之 精华提取——图表与挑战

news2025/1/23 7:06:41

From Handcrafted to Deep Features for Pedestrian Detection:A Survey

从手工制作到深度特征的行人检测:一项调查

调查内容:

  1. 关于行人检测的传统算法和深度学习算法;
  2. 关于行人检测的单光谱检测和多光谱检测;
  3. 关于行人检测的多种数据集;
  4. 关于行人检测的问题和挑战。

一篇好的论文(此综述发表在PAMI期刊,SCI一区TOP),只看图表便可以大概读懂其内容,所以,本博客不对综述内容进行逐句翻译,只撰写综述中的图表和未来挑战。

目录

1 摘要

2 行人检测综述之图像

3 行人检测综述之表格

4 挑战

4.1 尺度方差

4.2 堵塞(遮挡)

4.3 领域自适应

4.4 多传感器融合

4.5 实时检测

5 结论


1 摘要

行人检测是计算机视觉中一个重要但具有挑战性的问题,尤其是在以人为中心的任务中。在过去的十年里,在手工制作和深度特征的帮助下,已经见证了显著的进步。在这里,我们对行人检测的最新进展进行了全面的调查。首先,我们对单光谱检测进行了详细的综述,包括手工制作的基于特征的方法和基于深度特征的方法。对于基于手工特征的方法,我们对方法进行了广泛的回顾,发现在形状和空间上具有大自由度的手工特征具有更好的性能。在基于深度特征的方法的情况下,我们将其分为纯基于CNN的方法和同时使用手工和基于CNN的特征的方法。我们给出了这些方法的统计分析和趋势,其中特征增强、部分感知和后处理方法引起了主要关注。除了单光谱行人检测外,我们还回顾了多光谱行人检测,它为照明变化提供了更稳健的特征。此外,我们还介绍了一些相关的数据集和评估指标,并进行了深入的实验分析。我们在结束这项调查时强调了需要解决的悬而未决的问题,并强调了未来的各种方向。

索引术语:行人检测、基于手工特征的方法、基于深度特征的方法和多光谱行人检测。


什么是图像的单光谱和多光谱?

  1. 单光谱图像: 单光谱图像是通过一种波长范围内的光学传感器(比如普通的彩色摄像头)捕获到的图像,它只包含了可见光信息或某一特定波长范围的光信息。在行人检测中,单光谱图像通常用于普通的行人检测任务,通过提取图像中的颜色、纹理、形状等特征来识别行人。传统的行人检测算法通常基于单光谱图像进行处理,例如使用Haar特征、HOG(方向梯度直方图)特征等。
  2. 多光谱图像: 多光谱图像是通过同时采集多个波段(多个波长)的光学信息得到的图像,比如红外图像、热成像图像等。多光谱图像可以提供比单光谱图像更丰富的信息,包括不同波段下的光谱特征、热量分布等。在行人检测中,多光谱图像可以用于特殊环境下的行人检测任务,比如夜间或低光照条件下的行人检测,因为红外图像能够捕获到人体在红外波段的特征。因此,多光谱图像在一些特殊场景下可能会比单光谱图像具有更好的适用性。
  3. 应用场景不同:总的来说,单光谱图像和多光谱图像都可以用于行人检测任务,但根据实际的应用场景和需求选择合适的图像数据类型是非常重要的。在一般的日常场景下,单光谱图像已经能够满足大部分行人检测的需求;而在一些特殊环境下,多光谱图像可能会提供更多有用的信息来增强行人检测的效果。

2 行人检测综述之图像

图1. 从2000年到2019年,通过谷歌学者搜索获得的关于行人检测的出版物数量不断增加。


 

图2. 在过去十年中,加州理工学院测试集[43]在对数平均漏检率(miss rate)方面的检测性能改进(越低越好)。顶部:我们显示了在 reasonable(R)set 上的性能比较。底部:我们显示的是在 heavy occluded(HO)set 中的比较。条形图中的白色交叉阴影表示使用更准确的注释[241]进行训练和测试。条形图中的白线阴影表示除了外观信息之外还使用了运动提示。

  • R集包括身高超过50个像素的行人,他们身体的遮挡率不到35%。作者比较了30种方法的性能,包括手工制作、深度学习和混合方法。
  • HO集包括身高超过50像素的行人,他们35%至80%的身体被遮挡。这些结果表明,在遮挡等现实挑战下,检测性能仍远不能令人满意。

[43] Piotr Dollar,Christian Wojek,Bernt Schiele,and Pietro Perona. Pedestrian detection:An evaluation of the state of the art. IEEETransactions on Pattern Analysis and Machine Intelligence,34(4):743–761,2010.

[241] Shanshan Zhang,Rodrigo Benenson,Mohamed Omran,JanHosang,and Bernt Schiele. How far are we from solvingpedestrian detection? Proc.IEEE Conference on Computer Visionand Pattern Recognition,2016.


 

图3.大多数行人检测方法通常包括三个连续步骤。

  • 第一步,提案生成,涉及从输入图像生成候选提案。
  • 第二步,提案分类(和回归),包括将提案分配给正类别(行人)或负类别(背景)。
  • 第三步,后处理步骤旨在抑制属于同一行人的重复边界框。
  • 第一步和第二步中,特征提取是关键,包含手工特征到深度特征的各种特征提取策略。

 

图4. 行人检测中使用的深层特征和手工特征的可视化。

  • 在左边(红虚线之前):特征金字塔网络[109]的不同层(P2、P3和P4)。在这里,我们展示了具有最大响应的特征通道。
  • 右边(红色虚线之后):三个颜色通道的手工特征(即LUV),然后是梯度幅度(最后一列)。

 

图5. 两类不同的单光谱行人检测方法:基于手工特征的方法和基于深度特征的方法。

  • 我们进一步将基于手工制作的方法分为基于通道特征的方法和基于可变形零件模型的方法
  • 此外,基于深度特征的行人检测方法分为混合方法和纯基于CNN的方法

 

图6. 基于通道特征的方法中的一些典型特征,包括SquaresChantrs[5]、Chntrs[42]、InformedHaar[239]、LDCF[131]、Checkerbords[243]和NNNF[17]。形状和空间(局部或非局部)的特征自由度从左到右变大。NNFF特征维度长、多样性高并相互独立、重复性少,所以特征自由度最大。

什么是图像的特征自由度?

图像特征自由度是指图像中可以用来描述和区分不同对象的独立特征的数量。在图像处理和计算机视觉中,特征通常指的是能够从图像中提取出来并用来表示图像内容的某种信息,比如边缘、颜色、纹理等。图像特征自由度的大小直接影响了图像的表达能力和图像处理算法的准确性。

一般来说,图像特征的自由度取决于以下几个因素:

  1. 维度:特征的维度指的是特征向量的长度,也就是用来描述一个特征的参数个数。例如,如果用颜色直方图来描述图像的颜色特征,那么特征的维度就是颜色空间的维度,比如RGB颜色空间的维度是3。
  2. 多样性:特征的多样性指的是特征向量的不同维度之间的独立性,也就是这些特征能够提供多少互相独立的信息。如果多个特征之间存在相关性较高,那么它们提供的信息可能会有冗余,降低了特征的自由度。
  3. 重复性:特征的重复性指的是特征向量中是否包含了冗余的信息,比如同一类图像的特征向量之间有很高的相似性。重复性高会导致特征的自由度下降。

在实际应用中,选择合适的特征提取方法和特征描述子是非常重要的,以确保图像特征的自由度足够高,能够有效地表达图像内容并支持后续的图像处理和分析任务。


 

图7.基于深度特征的方法的架构。(a) 和(b)显示了混合方法中的两种技术,而(c)是纯基于CNN的方法。

  • (a)中,CNN提取深层特征用于提案生成,浅层分类器用于提案分类。
  • (b)中,基于手工特征的方法用于提案生成,CNN用于提案分类。
  • (c)中,纯CNN以端到端的方式用于提案生成和分类。

 

图8.基于深度特征的方法统计。左边部分显示了属于不同类的方法数量的变化。图例中的特征表示融合特征和基于注意力的方法的结合,这两种方法都旨在提高特征描述能力。由于这些方法的数量有限,我们忽略了无锚方法和其他方法。右侧部分显示了不同类别的百分比。


 

图9. 各种规模的行人示例。从左到右,行人规模从小到大不等。不同规模的行人有大规模的变化,小规模的行人相对嘈杂和模糊。


 

图10. 不同类型遮挡(即类间和类内遮挡)下的行人示例。左侧显示了一些类间遮挡的示例,其中遮挡程度从严重到裸露不等。右侧显示了一些类内遮挡的示例,其中类内遮挡发生在不同的行人之间。


 

3 行人检测综述之表格

表1. 与物体检测和人体检测的比较。由于特定的挑战,行人检测已经作为一个独立的问题进行了研究。


 

表2. 21种典型的基于手工特征的行人检测方法总结。

浅分类器用于学习行人检测器,其中:

  • CF表示基于通道特征的方法;
  • PM表示基于变形零件模型的方法;
  • SW表示滑动窗口策略。

表3 用于行人检测的45种典型的基于深度特征的方法的总结。这些方法通常建立在卷积神经网络上,其中,'P-CNN'表示纯CNN方法,'Hybrid'表示混合方法,'SW'表示滑动窗口策略,R-CNN是指R-CNN系列中的特征提取方式,包括R-CNN、Fast R-CNN和Faster R-CNN。


 

表4 多光谱行人检测的12种典型方法汇总。P-CNN表示纯CNN方法,Hybrid表示混合方法。


 

表5 行人数据集汇总。顶部是早期行人数据集,中间是现代行人数据集;底部是多光谱行人数据集。full表示全身边界框,visible表示可见的身体边界框,head表示头部边界框。


 

表6 加州理工学院行人数据集上30种最先进方法的漏检率(MR)。R、HO、R+HO和A的集合用于评估。顶部基于加州理工学院的标准注释[43],底部基于新的准确注释[241]。上标C/K/X/Z/1表示CPU、NVIDIA K40 GPU、NVIDIATitanX GPU、NVID IA TitanZ GPU和NVIDIA 1080Ti GPU。


 

表7 KITTI测试集上21种最先进方法的平均精度(AP)。上标C/K/X/1表示CPU、NVIDIA K40 GPU、NVIDIA TitanX GPU和NVIDIA 1080Ti GPU。


 

表8 CityPersons验证集上17种最先进方法的漏检率(MR)。上标1表示NVIDIA 1080Ti GPU。上标†表示遮挡率超过35%的高度超过50像素的行人,而不是遮挡率超过35-80%的高度超过50%像素的行人。因此,†表示难度更高。


 

表9 CityPersons测试装置上最先进检测器的漏检率。


 

表10 使用[112]提供的注释的KAIST R测试集上最先进检测器的漏检率。所有测试集(all)包含白天子集(day)和夜晚子集(night)。上标X/1表示NVIDIA Titan X/1080Ti。


 

表11 改进CityPersons验证集上用于行人检测的通用物体检测器。


 

表12 训练策略对行人检测的影响。简单地使用附加的对象类并不能提高行人检测。


 

表13 训练期间不同数据处理操作对CityPersons验证集的影响。


 

表14 不同骨干对CityPersons验证集的影响。


 

表15 不同NMS策略对CityPersons验证集的影响。


 

表16 检测器在不同数据集上的泛化能力。


 

4 挑战

尽管取得了巨大成功,行人检测仍然面临以下几个挑战。

4.1 尺度方差

交通和视频监控场景通常包含各种规模的行人。图9 显示了一些示例。大规模和小规模的行人表现出高度的阶级内差异。因此,使用单个检测器来准确检测不同规模的行人是具有挑战性的。

其中一个简单的思想是尺度无关策略,包括基于图像金字塔和基于特征金字塔的方法。对于基于图像金字塔的方法来说,提高其效率是很重要的。相比之下,特征金字塔策略相对有效。然而,如何提取稳健的尺度无关特征对于特征金字塔策略来说是重要的。另一个想法是减少不同规模的行人之间的差异[149],[207],[228]。我们可以利用生成对抗性网络来减少数据和特征级别的类内变化。

此外,小规模行人检测是解决尺度方差问题的瓶颈。然而,现有的方法对小尺度物体检测缺乏足够的研究[64],[230]。因此,有必要将小尺度行人检测视为一个独立的问题。

4.2 堵塞(遮挡)

行人堵塞是一个非常常见的问题。对于站姿,CityPersons数据集[244]中70%的行人被遮挡。图10显示了两种类型的行人遮挡:类间遮挡和类内遮挡。当行人被其他物体(而不是行人)遮挡时,会发生类间遮挡。相比之下,当行人被其它行人遮挡时,则会发生类内遮挡。

类间遮挡的主要解决方案是增强未遮挡部分的特征,抑制遮挡部分的特性。有两种策略:隐式策略[181]《Deep learning strong parts for pedestrian detection》,[214]《Psc-net:学习遮挡行人检测的局部空间协同现象》和显式策略[29]《Pedhunter:拥挤场景中的遮挡鲁棒行人检测器》,[151]《用于遮挡行人检测的面具引导注意力网络》,[260]《用于行人检测和遮挡估计的双盒回归》。

  • 隐式策略通常学习多个部分检测器来覆盖不同的遮挡模式。在这种策略中,如何设置/组合零件是一个悬而未决的问题。
  • 显式策略使用额外的注释(例如,头部或可见部分的注释)。由于额外的注释需要大量的资源消耗,因此使用少量的零件注释来帮助遮挡行人检测是很有用的。

通常,行人检测需要NMS去除重复的边界框。作为一种负面影响,NMS将人群场景中属于不同行人的边界框组合在一起(类内遮挡)。为了解决这个问题,一种解决方案是改进的NMS策略,例如动态NMS阈值。另一个解决方案是通过避免边界框组合操作来实现无NMS策略。

此外,时间信息对于驾驶和监控场景中的遮挡行人检测也很重要。

4.3 领域自适应

现有的大多数方法都专注于特定的行人数据集,无法保证良好的领域自适应能力[195]《Few-shotadaptive faster r-cnn》,[212]《用于静态视频监控的特定场景行人检测》。例如,在良好天气下训练的行人检测器在恶劣天气(如雾和雨)下往往具有次优性能。因此,有必要解决领域自适应问题。大多数领域自适应方法都是基于对抗性学习的,包括数据级[72]、[87]、[89]、[121]、特征级[168]、[215]和实例级[24]、[264]方法。然而,它们主要集中在通用对象检测上。未来,可以通过考虑行人/场景特征来开发行人检测的领域自适应方法。

此外,我们可以在未来利用同域和跨域评估,这将指导研究人员设计出具有良好综合性能的行人检测器。

4.4 多传感器融合

在第4节中,多光谱行人检测采用了两种传感器(即可见光/红外摄像机)。它为照度变化提供了更稳健的检测性能。为了确保安全并生成3D信息,我们不仅需要融合来自同质数据的多个传感器(可见光/红外相机)的信息,还需要融合异构数据的多传感器(相机和激光雷达)的信息。激光雷达可以提供准确的深度信息,而相机具有详细的语义信息。然而,如何在异构数据中融合信息是一项具有挑战性的重要任务。

4.5 实时检测

现有的行人检测方法大多侧重于提高检测精度,而忽略了效率。然而,应用于驾驶/监控场景的计算资源有限,但需要实时检测速度。例如,CityPersons上报道的最快方法在单个NVIDIA180Ti GPU上的推理速度为0.22s,无法满足实际应用的需要。因此,有必要研究嵌入式设备的轻量级实时行人检测方法。

5 结论

在过去的十年里,行人检测取得了巨大的成功,从手工特征到基于深度特征的方法。 

  • 首先,详细总结了这两种类型的方法。
  • 然后,回顾了多光谱行人检测,流行的行人数据集,并对行人检测方法进行了深入分析。
  • 最后,讨论了行人检测中的一些具有挑战性的问题(例如,遮挡、尺度方差和域自适应)。

>>> 如有疑问,欢迎评论区一起探讨。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1190354.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web APIs——综合案例

1、学生就业统计表 2、渲染业务 根据持久化数据渲染页面 步骤: ①:读取localstorage本地数据 如果有数据则转换为对象放到变量里面一会使用它渲染页面如果没有则用默认空数组[]为了测试效果,可以先把initData存入本地存储看效果 ②&…

超声波热量表和电磁热量表有哪些区别?

随着我们能源消耗日益增长,热量计量已成为节能减排、能源管理的重要手段。热量表是用于测量热能消耗的仪表,其中超声波热量表和电磁热量表是常见的两种类型。下面,就由小编来为大家详细的介绍下超声波热量表和电磁热量表的区别,一…

电影《二手杰作》观后感

上周看了电影《二手杰作》,在看电影的时候,自己感觉其实多少有些文艺范,或者有些尴尬的,但是在电影里还好,不过整个故事看下来,多少有点代入感,不多但还是有点。 故事情节,比较简单&#xff0c…

为你摘星辰

欢迎来到程序小院 为你摘星辰 玩法:鼠标控制人物方向,点击鼠标键上升人物,经过⭐️⭐️吃掉获得分数,共三次生命,碰到红色障碍物减去一次生命, 人物掉落底部游戏结束,看你获得多少分^^。开始游…

Linux C基础(9)

1、指针的算术元素 总结: p n:pn对于p向地址增大的方向移动n个数据实际的变化:p sizeof(数据类型)*np - n:p-n对于p向地址减小的方向移动n个数据实际的变化:p - sizeof(数据类型)*np:p向地址增大的方向移动1个数据实际的变化:p …

【手把手教你】将python程序打包成exe可执行文件

1. 安装环境 pip install pyinstaller6.0.02. 打包文件 pyinstaller -D “要启动的文件名“.py比如我的命令就是:pyinstaller -D eval.py 执行完后,会生两个文件夹dist和bulib两个文件和一个xxx.spec文件 3. 删除生成的文件 删除生成的bulid和dist文…

Java实现调用openAI接口返回流式数据

一&#xff0c;添加依赖 <dependency><groupId>com.github.plexpt</groupId><artifactId>chatgpt</artifactId><version>4.0.7</version> </dependency>二&#xff0c;重写SseEmitter 改为UTF-8编码 import org.springframe…

TSINGSEE青犀智能分析网关工服识别算法,如何最大限度保障工人安全?

众所周知&#xff0c;TSINGSEE青犀智能分析网关算法繁多&#xff0c;大多数算法已经和大家讲解过了&#xff0c;今天就和大家聊一聊工服识别算法。工服识别算法一般应用于工地、化工、煤矿等场所&#xff0c;用来监督检测施工人员是否按照要求着工服&#xff0c;最大程度保障人…

助力网络安全攻防演练 | 中睿天下获国网蒙东电力数字化事业部感谢信

近日&#xff0c;中睿天下因积极协助和支撑国网蒙东电力数字化事业部在2023年国家网络安全专项演习期间的工作&#xff0c;有效保障了护网行动期间网络的安全稳定运行&#xff0c;因而获得了国网蒙东电力数字化事业部的高度认可&#xff0c;并向我司致书面表扬信&#xff0c;这…

Aria2 任意文件写入漏洞复现

漏洞描述 Aria2 是一款轻量级、多协议、多源下载工具&#xff08;支持 HTTP/HTTPS、FTP、BitTorrent、Metalink&#xff09;&#xff0c;内置 XML-RPC 和 JSON-RPC 接口。 我们可以使用 RPC 接口来操作 aria2 并将文件下载到任意目录&#xff0c;从而造成任意文件写入漏洞。 …

【CSS】transition、transform以及animation

1.CSS transition 介绍 通常当 CSS 的属性值更改后&#xff0c;浏览器会立即更新相应的样式。 在 CSS3 中加入了一项过渡功能&#xff0c;通过该功能&#xff0c;我们可以将元素从一种样式在指定时间内平滑的过渡到另一种样式&#xff0c;类似于简单的动画&#xff0c;但无需…

Android中Toast与Snack

1. Toast : 使用Toast类的makeText()方法创建Toast对象&#xff0c;makeText()方法有两个参数&#xff0c;第一个参数为显示Tosat的上下文环境&#xff0c;第二个参数为显示时长&#xff08; Toast.LENGTH_LONG 或 Toast.LENGTH_SHORT &#xff09;。 使用Toast类的show()方法…

lvgl 转换和使用新字体

一、背景 如果lvgl 提供的默认字体不符合我们的显示要求&#xff0c;我们可以在网上下载开源字体&#xff0c;或者利用系统自带&#xff08;注意版权问题&#xff09;的字体文件转换lvgl 能识别和调用的字体。 或者为了压缩存储空间&#xff0c;某些字体我们只需要个别字符&…

向量数据库:释放数据潜能,重塑信息世界

前言 想必各位开发者一定使用过关系型数据库MySQL去存储我们的项目的数据&#xff0c;也有部分人使用过非关系型数据库Redis去存储我们的一些热点数据作为缓存&#xff0c;提高我们系统的响应速度&#xff0c;减小我们MySQL的压力。那么你有听说过向量数据库吗&#xff1f;知道…

Docker本地部署Drupal并实现公网访问

文章目录 前言1. Docker安装Drupal2. 本地局域网访问3 . Linux 安装cpolar4. 配置Drupal公网访问地址5. 公网远程访问Drupal6. 固定Drupal 公网地址 前言 Dupal是一个强大的CMS&#xff0c;适用于各种不同的网站项目&#xff0c;从小型个人博客到大型企业级门户网站。它的学习…

多篇论文介绍-Wiou

论文地址 目录 https://arxiv.org/pdf/2301.10051.pdf 01 CIEFRNet&#xff1a;面向高速公路的抛洒物检测算法 02改进 YOLOv5 的 PDC 钻头复合片缺损识别 03 基于SimAM注意力机制的DCN-YOLOv5水下目标检测 04 基于改进YOLOv7-tiny 算法的输电线路螺栓缺销检测 05 基于改…

用友U8定制版在集简云:无需API即可集成客服系统和用户运营

无代码开发的新时代 在这个信息化、自动化的时代&#xff0c;无代码开发已经成为一种新的趋势。集简云就是这样的一款工具&#xff0c;可以轻松连接用友U8 定制版与近千款软件系统&#xff0c;无需开发、无需代码知识就可以打通各种软件之间的数据连接&#xff0c;构建自动化与…

【代码随想录】算法训练计划16

【代码随想录】算法训练计划04 1、111. 二叉树的最小深度 题目&#xff1a; 给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明&#xff1a;叶子节点是指没有子节点的节点。 思路&#xff1a; 用递归&#xff0…

HashMap源码分析(一)

存储结构 说明&#xff1a;本次讲解的HashMap是jdk1.8中的实现&#xff0c;其他版本可能有差异 内部是由Node节点数组组成&#xff0c;Node节点之间又由链表或红黑树组成。 图是网上找的&#xff0c;实在不想画 属性介绍 //存储数据的数组&#xff0c;初次使用时初始化&…

Opencv for unity 下载

GitHub - EnoxSoftware/VideoPlayerWithOpenCVForUnityExample: This example shows how to convert VideoPlayer texture to OpenCV Mat using AsyncGPUReadback. OpenCV for Unity | Integration | Unity Asset Store