本研究文章演示了在现场可编程门阵列硬件上实现实时行人检测算法,主要应用于自动驾驶应用。该算法结合了定向梯度直方图(HoG)与支持向量机(SVM)分类器,结果显示在速度、功耗和资源利用方面具有效率。
Method Article
* These authors contributed equally
本研究文章演示了在现场可编程门阵列硬件上实现实时行人检测算法,主要应用于自动驾驶应用。该算法结合了定向梯度直方图(HoG)与支持向量机(SVM)分类器,结果显示在速度、功耗和资源利用方面具有效率。
自动驾驶为应对交通事故死亡人数的上升提供了一种有前景的方式。自动驾驶车辆具备许多功能,但检测行人的能力至关重要,具有挑战性,并且适用于各种实时情境,如监控、追踪人员和监控。准确识别行人很难,因为他们可能以不同的形状、姿势和姿态出现。他们可以穿着各种类型的衣服,有时会部分隐藏,或者与附近的物体隐蔽在一起。本文重点关注使用一种流行的硬件平台——现场可编程门阵列(FPGA),Ultra 96 v2,实现自动驾驶汽车对行人的实时检测。本研究采用了一种基于定向梯度直方图(HOG)和支持向量机(SVM)分类器相结合的行人检测方法,利用高级综合(HLS)工具识别FPGA板上的个体。该系统的有效性已通过静态图像和实时视频进行测试。结果显示,像Ultra 96 v2这样的先进FPGA板显著提升了性能指标。该系统以150 MHz的时钟频率运行,使用不到一半可用资源,功耗约2.5瓦。此外,系统报告行人检测准确率接近95%,以及其他高效的检测评估指标,如准确度(78.6%)、召回率(88.3%)和F1评分(83.1%)。总之,开发的系统能够实时检测行人,有潜力显著提升智能安全交通环境的发展。
城市发展和智慧城市的兴起是全球关注的话题。所有国家都在努力建设能够以安全舒适的方式建设城市,让居民能够安全舒适。但目前观察到,随着人口增长和道路拥堵加剧,因驾驶疏忽和能见度差导致的交通事故死亡率正令人担忧地上升。解决这些问题的一个有前景的方案是全球自动驾驶汽车的出现,这激发了创新,研究人员正在努力开发能够让乘客安心放松的全自动驾驶车辆。自动驾驶车的发展需求源于即使是经验丰富的司机也可能面临压力、困境、疲劳或因恶劣天气导致环境感知困难,而这些问题最终导致交通事故。自动驾驶车辆旨在避免旅行中事故,优化发动机资源利用,并遵守交通法规,这无疑将提升交通效率2,4。自动驾驶车辆配备了多种功能、传感器和功能,能够非常精确地感知周围环境,避免碰撞和事故,因此它们现在已成为让交通安全可靠的有前景的解决方案。
在自动驾驶车辆所有功能中,行人检测是最重要的之一。强大的行人检测系统能显著降低道路交通事故的死亡人数5,6,7,8,因为大多数事故受害者是行人。行人检测包括识别路上的人员并避免与其发生碰撞。这一功能不仅对自动驾驶汽车有益,也适用于人群监测、人员识别和9、10、11跟踪等多种应用领域。该检测过程的关键在于探测的速度和准确性。准确且迅速地发现行人至关重要,以缩短响应时间。行人检测带来了巨大的挑战。路上行人可以穿着任何服装、外貌或姿势,且因恶劣天气或阻塞而可能隐形,见10、11、12、13、14。此外,行人很可能自己不遵守规则,人性无法控制,因此最好的做法是为车辆配备智能,以应对错误行为并避免死亡。本研究的完整流程及硬件行人检测实现背后的动机可从下图1轻松理解,图1解释了行人检测的必要性、其多个应用领域、所面临的挑战,以及如何在FPGA上实现以利用这些优势。

图1:行人检测。行人检测的需求、行人检测的关键应用领域、行人检测面临的挑战,以及在FPGA板上实施行人检测流程。 请点击此处查看该图的放大版本。
为了识别路上的行人,存在许多算法。这一总体任务主要分为两个子任务:第一步从输入图像中提取特征,只保留重要且传递相关信息的特征,忽略冗余特征。为了有效识别图像中的人类或行人,这些特征必须表明场景中存在人形,这一点至关重要。13,14。提取后,特征需要发送到分类器,以判断所识别特征是否对应人类。因此,该算法需要进行特征提取和描述阶段,随后进行分类步骤以确定输入场景中的行人存在。为此目的有多种算法可用。然而,迄今为止最广泛接受的行人检测方法是将定向梯度直方图(HoG)与支持向量机(SVM)分类器12、13、14、15结合。存在许多软件进步的例子,但最终目标是将实现移植到兼容的硬件平台,然后将其集成到应用系统中以实现实时使用。因此,目前的重点是硬件实现。因此,可以说有必要开发合适的行人检测系统的硬件实现,使配备相应硬件的摄像头能够部署在车辆上,识别道路上的行人。在考虑适合此类实现的硬件时,最常用的选项之一是现场可编程门阵列(FPGA),因其诸多优点,包括缩短设计时间、可扩展性、易于修改、可重构性以及更低的能耗和功耗 15,16,17,18,19,20,21,22岁。
FPGA板一直在不断发展,如今被广泛应用于复杂、先进的计算机视觉应用,涵盖从基础图像处理到物体检测、增强现实和深度学习等领域。目前,几款高性能FPGA板具备卓越的架构能力,以适应这些复杂应用所需的大量处理。如果自动驾驶车辆的先进功能,如行人检测,能够在这些硬件平台上实现,这些平台将非常有助于快速原型开发以分析性能,优化后,实现的算法可以转移到实际集成电路中集成。
十多年来,基于HoG和SVM方法在不同FPGA平台上实现行人检测的成果,已有大量文献发表。表1总结了2015年至2025年间该领域的文章,时间为15,16,17,18,19,20,21,22,23,24,重点关注关键因素,如图像分辨率、吞吐量或帧率(FPS)、分类器类型,以及关键亮点或贡献纸张。
| 参考文献 | FPGA平台 | 图像分辨率 | 分类器 | 主要亮点/贡献 |
| 15 | 赛灵思Zynq | 640×480 | 阿达增强 | 实时FPGA实现;资源高效;使用二分化进行优化;侦测准确率很高。 |
| 16 | Terasic的DE1-SOC板 | 640×480 | 特别空间管理 | 高性能HOG抽取器;集成SVM;单一尺度检测;低延迟流水线。 |
| 17 | 阿尔特拉 DE2-115 | 640×480 | 阿达增强 | 从多个视角评估绩效;HOG+AdaBoost的FPGA实现;实时行人检测。 |
| 18 | 英特尔 Stratix V | 640×480 | 特别空间管理 | 多尺度行人检测;对FPGA友好的HOG+SVM流水线;强调了准确性与硬件效率之间的权衡。 |
| 19 | Zynq UltraScale+ MPSoC | 3840×2160 | 特别空间管理 | 实时超高清处理;流水线HOG+SVM;SoC FPGA实现;不动点优化;可扩展架构。 |
| 20 | 未具体说明 | 未具体说明 | 特别空间管理 | 实现>95%的侦测准确率;实时FPGA实现;利用并行性;详细的HOG+SVM步行检测FPGA设计。 |
| 21 | Zync 7000 FPGA | 1920×1080年 | 特别空间管理 | HOG+SVM 的高吞吐量流架构;支持高清分辨率;高效的FPGA加速流水线。 |
| 22 | Ultra96(第一代) | 240×320 | 特别空间管理 | 利用HLS实现FPGA;检测红灯;计算891个区域的概率;延迟范围为153,838到19个周期。 |
| 23 | 赛灵思Zynq-7000 FPGA | 640×480 | HOG + 战略定位器 | 在FPGA上使用HOG-SVM实现行人检测,实现实时性能且相较CPU处理更低功耗。演示了适用于嵌入式视觉应用的优化特征提取流水线。 |
| 24 | 赛灵思Virtex-6 FPGA | 640×480 | 定点物体探测器(类似Haar特征) | 提出利用定点运算实现高通量FPGA物体检测加速,降低计算成本同时保持准确性。显示出相比CPU实现,速度提升了15×,且硬件资源利用效率高。 |
表1:基于FPGA行人检测的研究文献综述(2015–2025年)。
表1总结了行人检测领域已有大量文献,硬件实现是研究人员关注的领域。同样显而易见的是,存在先进的深度学习和机器学习技术,如基于卷积神经网络(CNN)的探测器如YOLO、基于变压器架构等,用于行人检测任务。它们甚至在准确性上优于传统HoG算法,但考虑到硬件实现,高级算法导致资源利用率巨大23,24 由于算法的复杂性,这也可能影响其他性能参数,同时观察到由于复杂度增加,传统HoG算法的速度略有提升24,25岁。研究还发现,在硬件24,26上实现高级技术时,功耗更高。因此,本文实现的工作目标是在FPGA硬件上利用传统的HoG和SVM框架进行行人检测,并在实时嵌入时实现有利的精度、速度、资源和功耗权衡。从表1可以清楚看出,当分析基于HoG和SVM的工作时,可以观察到有限的出版物利用了新推出的基于Zynq UltraScale+ MPSoC(多处理器系统芯片)的FPGA开发板27来探索这些板的能力,因为从架构角度来看,这些板块已经不断演进。 并且在高端实时计算机视觉应用实现方面具有巨大潜力。目前已有少数文献在FPGA板上实时实现了整个行人检测系统。然而,他们更注重高效实施或改进中间任务。此外,大多数实现基于通过硬件描述语言在FPGA板上实现整个系统。很少有人利用高阶综合(HLS)工具的优势来加快设计周期。本文演示了在专用于自动驾驶应用的FPGA板上设计和实现实时行人检测的过程。论文利用HoG和SVM框架,用于对静态图像、视频或真实摄像头输入进行行人检测。所使用的硬件是一块最前沿且最近发布的FPGA板Ultra96 v2,这是一种先进的FPGA架构,是计算机视觉、图像处理、机器学习、边缘计算等领域的强大平台。Ultra96 v2 是一款开发板,搭载基于 Arm 的 AMD Xilinx Zynq UltraScale+ MPSoC27。该板包括处理系统(PS)段,由基于ARM的CPU核心组成,负责管理项目的软件部分,以及可编程逻辑(PL)段,支持可定制的硬件加速20、21、22。这些组件共同增强了混合系统的功能,其中 PS 部分管理控制和与外部元件的交互,而 PL 部分负责实际的处理逻辑。
Access restricted. Please log in or start a trial to view this content.
本研究采用的实现过程基于FPGA板上HoG + SVM的行人检测,利用高层次综合的优势,如下 图2 所示。

图2:FPGA板上行人检测实现的设计流程。第一阶段:在HLS工具上使用HoG+SVM的行人检测算法并生成IP块。第二阶段:使用HoG+SVM进行实际FPGA实现和生成位文件的行人检测算法。第三阶段:用生成的位文件对电路板进行编程。 请点击此处查看该图的放大版本。
1. 利用 HoG 和 SVM 在 HLS 工具上进行行人检测
2. FPGA板的编程

图3:使用HoG + SVM导入IP进行行人检测的方框图。请点击此处查看该图的更大版本。
3. FPGA板上的最终实现
Access restricted. Please log in or start a trial to view this content.
HLS上的行人检测实现
图4 展示了利用HoG + SVM进行行人检测的HLS工具模拟结果。输入的行人图像作为测试输入代码,输出显示检测到的行人图像。图片中有两个部分。第一个检测显示多个边界框围绕同一行人反复出现,而在第二张图中,重叠的框被移除并被抑制,只剩下主检测框。

图4:HLS工具的模拟结果。(A,B)两个不同的输入图像以及与检测到的行人的图像。
Access restricted. Please log in or start a trial to view this content.
本研究有效实现了基于Zynq UltraScale+ MPSoC开发板24的先进FPGA硬件上HoG + SVM算法的实时行人检测系统。结果表明,传统的人类检测11算法准确率接近95%,且仅利用了一半的FPGA内置资源(LUT、FF、BRAM、DSP),因此有很大能力包含更多处理以完成不同任务。当分析整个实施方法时,可以发现涉及多个关键步骤。一个重要步骤是用合适的数据集训练SVM模型18、19、24,以便有效检测行人,从而提取权重并用于FPGA编程。训练代码会显示性能准确率,检测阈值需要通过正则化参数仔细调整,以达到接近95%的准确率。训练中选定的参数是自定义的HoG描述符,窗口大小为64 x 128,块大小为16 x 16,单元格大小为8 x 8,且选择的箱数为9。目前,训练已在INRIA...
Access restricted. Please log in or start a trial to view this content.
作者声明他们没有利益冲突。
| Name | Company | Catalog Number | Comments |
|---|---|---|---|
| Python | Python | 版本 3.10 | |
| Ultra 96 V2 FPGA 开发板 | Xilinx | 2018 年推出 | 用于实现行人检测算法的硬件实现平台 |
| Vivado | AMD | 2019.2 | 用于使用行人检测算法对 Ultra 96 v2 FPGA 开发板进行编程的 FPGA 编程工具 |
| Vivado HLS | AMD | 2019.2 | 用于高层编程论文中的行人检测代码以导出知识产权 (IP) 的高级综合工具 |
Access restricted. Please log in or start a trial to view this content.
Request permission to reuse the text or figures of this JoVE article
Request Permission