本研究论文展示了在用于自动驾驶应用的现场可编程门阵列硬件上实现的实时行人检测算法。该算法结合了方向梯度直方图(HoG)与支持向量机(SVM)分类器,实验结果在速度、功耗和资源利用率方面均表现出较高的效率。
方法文章
* These authors contributed equally
本研究论文展示了在用于自动驾驶应用的现场可编程门阵列硬件上实现的实时行人检测算法。该算法结合了方向梯度直方图(HoG)与支持向量机(SVM)分类器,实验结果在速度、功耗和资源利用率方面均表现出较高的效率。
自动驾驶为应对交通事故导致的死亡人数上升问题提供了一种有前景的解决方案。自动驾驶汽车包含多种功能,但行人检测能力至关重要,且具有挑战性,与监控、人员追踪和态势感知等多种实时场景密切相关。准确识别行人十分困难,因为行人的外形、姿态和位置各不相同,可能穿着不同类型的衣物,有时部分被遮挡,或与周围物体融为一体。本文聚焦于基于一种流行的硬件平台——现场可编程门阵列(FPGA)Ultra 96 v2,实现面向自动驾驶汽车的实时行人检测。该研究在FPGA板上采用基于方向梯度直方图(HOG)与支持向量机(SVM)分类器相结合的方法进行行人检测,并利用高级综合(HLS)工具实现。该系统已在静态图像和实时视频上进行了测试验证。结果表明,以Ultra 96 v2为代表的先进FPGA平台显著提升了系统性能指标。系统工作时钟频率为150 MHz,资源占用不到可用资源的一半,功耗约为2.5 W。此外,系统报告的行人检测准确率接近95%,其他检测评估指标也表现良好,如精确率(78.6%)、召回率(88.3%)和F1分数(83.1%)。综上所述,所开发的系统能够实现实时行人检测,有望显著推动智能与安全交通环境的发展。
城市化发展与智慧城市兴起是全球关注的热点话题。各国都在致力于城市建设,力求构建安全、舒适的生活环境1,2。然而目前观察到,随着人口增长和道路拥堵加剧,因驾驶疏忽及能见度不佳导致的道路交通事故死亡率正急剧上升。一个有前景的解决方案是全球范围内自动驾驶车辆的出现,这已激发了大量创新1,2,3,4,研究人员正努力开发完全自动驾驶的车辆,使乘客能够安心放松,无需担忧驾驶问题。自动驾驶车辆的发展需求源于这样一个事实:即使经验丰富的驾驶员,在恶劣天气条件下也可能面临压力、决策困境、疲劳或环境感知困难,而这些问题均可能导致交通事故。自动驾驶汽车旨在避免行驶过程中的事故,优化发动机资源使用,并遵守交通法规,这无疑将提升交通运输的安全性与效率2,4。自动驾驶车辆配备了多种功能、传感器和系统,能够精确感知周围环境,避免碰撞和事故,因此已成为实现安全、可靠交通的有前景解决方案1,2,3,4。
在自动驾驶汽车所集成的所有功能中,行人检测是最关键的功能之一。一个可靠的行人检测系统能够显著降低道路交通事故的死亡率5,6,7,8,因为这些事故中的大多数受害者都是行人。行人检测旨在识别道路上的个体,并避免与之发生碰撞。这一功能不仅对自动驾驶汽车有益,还可广泛应用于人群监控、人员识别与跟踪等其他领域9,10,11。该检测过程的关键在于检测的速度与准确性。必须快速而准确地检测出行人,以最大限度地缩短响应时间。然而,行人检测面临巨大挑战:道路上的行人可能穿着各异、外貌多样、姿态不一,并可能因恶劣天气或遮挡而难以被发现10,11,12,13,14。此外,行人自身可能并不遵守交通规则,而人类行为无法被完全控制,因此最有效的应对策略是为车辆配备足够的智能,以应对各种不当行为并避免伤亡事故的发生。本研究工作的完整流程以及行人检测硬件实现背后的动机,可从下文的图1中清晰理解,该图阐明了行人检测的必要性、其多种应用领域、所面临的挑战,以及在FPGA上的实现方式,以充分利用其提供的优势。

图1:行人检测。行人检测的需求、行人检测的主要应用领域、行人检测所面临的技术挑战,以及在FPGA板上实现行人检测的流程。请点击此处查看此图的放大版本。
为了识别道路上的行人,目前已存在多种算法。该总体任务主要可分为两个子任务:第一步是从输入图像中提取特征,仅保留具有显著性并能传达相关信息的特征,同时忽略冗余特征。为了在图像中有效识别出人类或行人,这些特征必须能够表明场景中存在人体轮廓13,14。在完成特征提取后,需将这些特征送入分类器,以判断所识别的特征是否对应于人类。因此,该算法需要包含特征提取与描述阶段,随后进行分类,以确定输入场景中是否存在行人。目前已有多种可用于此目的的算法。然而,迄今为止在行人检测领域最广泛接受的方法仍是方向梯度直方图(HoG)与支持向量机(SVM)分类器的结合12,13,14,15。尽管已有大量软件层面的技术进步实例,但最终目标是将其实现移植到兼容的硬件平台上,以便集成至应用系统中实现实时运行。因此,当前的研究重点在于硬件实现。可以说,有必要开发一种适用于行人检测系统的硬件实现方案,使配备适当硬件的摄像头能够部署于车辆上,实时识别道路上的行人。在考虑适用于此类实现的硬件时,现场可编程门阵列(FPGA)是最常采用的选项之一,因其具备诸多优势,包括缩短设计周期、可扩展性强、易于修改、可重构性高,以及更低的能耗与功耗15,16,17,18,19,20,21,22。
现场可编程门阵列(FPGA)开发板不断发展,现已广泛应用于复杂的高级计算机视觉任务,涵盖从基础图像处理到目标检测、增强现实以及深度学习等多个领域20,21,22。目前,多种高性能FPGA开发板提供了卓越的架构能力,能够满足这些复杂应用所需的大量计算处理需求。若将自动驾驶汽车中的高级功能(如行人检测)实现在此类硬件平台上,则这些平台在快速原型开发与性能分析方面具有重要价值;经过优化后,所实现的算法还可移植到实际的专用集成电路中,集成至最终系统。
十多年来,已有大量关于在不同FPGA平台上采用HoG和SVM方法实现行人检测的重要出版物。表1总结了2015年至2025年间该领域的相关文献15,16,17,18,19,20,21,22,23,24,重点关注图像分辨率、吞吐量或每秒帧数(FPS)、分类器类型,以及各论文的关键亮点或主要贡献。
| 参考文献 | FPGA 平台 | 图像分辨率 | 分类器 | 主要亮点 / 贡献 |
| 15 | Xilinx Zynq | 640×480 | AdaBoost | 实现了实时 FPGA 处理;资源高效;采用二值化进行优化;检测准确率高。 |
| 16 | Terasic 的 DE1-SOC 开发板 | 640×480 | SVM | 高性能 HOG 特征提取器;集成了 SVM;单尺度检测;低延迟流水线。 |
| 17 | Altera DE2-115 | 640×480 | AdaBoost | 在多个视角下评估性能;实现了 HOG 与 AdaBoost 的 FPGA 部署;实现实时行人检测。 |
| 18 | Intel Stratix V | 640×480 | SVM | 多尺度行人检测;适用于 FPGA 的 HOG 与 SVM 流水线设计;突出展示了准确率与硬件效率之间的权衡。 |
| 19 | Zynq UltraScale+ MPSoC | 3840×2160 | SVM | 支持实时超高清处理;采用流水线式 HOG 与 SVM 架构;基于 SoC 的 FPGA 实现;定点数优化;可扩展的架构设计。 |
| 20 | 未指定 | 未指定 | SVM | 检测准确率达到 >95%;实现实时 FPGA 处理;充分利用并行性;为行人检测提供了详细的 HOG 与 SVM FPGA 设计方案。 |
| 21 | Zynq 7000 FPGA | 1920×1080 | SVM | 为 HOG 与 SVM 设计了高吞吐量流式架构;支持高清分辨率;适用于 FPGA 加速的高效流水线。 |
| 22 | Ultra96 (rev1) | 240×320 | SVM | 采用高级综合(HLS)实现 FPGA 设计;可检测红色交通信号灯;在 891 个区域中计算概率;延迟范围为 153,838 至 19 个时钟周期。 |
| 23 | Xilinx Zynq-7000 FPGA | 640 × 480 | HOG + SVM | 在 FPGA 上实现了基于 HOG-SVM 的行人检测,相较于 CPU 处理,在降低功耗的同时实现了实时性能;展示了适用于嵌入式视觉应用的优化特征提取流水线。 |
| 24 | Xilinx Virtex-6 FPGA | 640 × 480 | 定点目标检测器(Haar-like 特征) | 提出了一种基于定点运算的高吞吐量 FPGA 加速方案,可在保持检测精度的同时降低计算开销;相比 CPU 实现,速度提升达 15 倍,并实现了高效的硬件资源利用。 |
表1:基于现场可编程门阵列(FPGA)的行人检测研究文献综述(2015–2025年)。
表1总结了在行人检测领域已有大量文献报道,而硬件实现是研究人员关注的重点方向。显然,目前已有多种先进的深度学习与机器学习技术被应用于行人检测任务,例如基于卷积神经网络(CNN)的检测器(如YOLO)、基于Transformer的架构等。这些方法在检测精度上甚至优于传统的方向梯度直方图(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架构,是计算机视觉、图像处理、机器学习、边缘计算等应用的强大平台24。Ultra96 v2是一款集成了基于Arm架构的AMD Xilinx Zynq UltraScale+ MPSoC的开发板27。该开发板包含处理系统(PS)部分,由基于ARM的CPU核心组成,负责项目中的软件层面任务;以及可编程逻辑(PL)部分,支持定制化的硬件加速功能20,21,22。这两个部分协同工作,增强了混合系统的功能性:其中PS部分负责控制及与外部组件的交互,而PL部分则承担实际的数据处理逻辑。
访问受限。请登录或开始试用以查看此内容。
本研究采用的实现流程基于在 FPGA 板上使用 HoG + SVM 进行行人检测,并利用了高层次综合的优势,如下方图2所示。

图2:在FPGA板上实现行人检测的设计流程。第1阶段:在HLS工具中使用HoG+SVM实现行人检测算法,并生成IP核模块。第2阶段:为实际FPGA实现使用HoG+SVM的行人检测算法,并生成比特流文件。第3阶段:使用生成的比特流文件对开发板进行编程。请点击此处查看该图的放大版本。
1. 在HLS工具上使用HoG和SVM进行行人检测
2. 编程 FPGA 板

图 3:使用 HoG + SVM 导入 IP 实现行人检测的模块图。 请点击此处查看此图的放大版本。
3. 在 FPGA 开发板上的最终实现
访问受限。请登录或开始试用以查看此内容。
在HLS上实现行人检测
图4展示了使用HoG + SVM进行行人检测时在HLS工具中的仿真结果。将包含行人的输入图像作为测试输入提供给代码,输出则显示检测到的行人。图像分为两个部分:在第一部分检测结果中,同一个行人周围反复出现多个边界框;而在第二部分图像中,重叠的边界框被移除并抑制,仅保留主要的检测框。

图 4:HLS 工具的仿真结果。(A、B)两幅不同的输...
访问受限。请登录或开始试用以查看此内容。
本研究在基于Zynq UltraScale+ MPSoC开发板的先进FPGA硬件上,成功实现了利用HoG + SVM算法的实时行人检测系统24。结果表明,传统的人体检测HoG算法11检测准确率接近95%,且仅占用板载FPGA一半的资源(LUT、FF、BRAM、DSP),为集成更多处理任务预留了充足的资源空间。在分析整个实现方法时,可发现其中涉及多个关键步骤。其中一个主要步骤是使用合适的训练数据集对SVM模型18,19,24进行训练,以有效实现行人检测,并从中提取权重用于FPGA编程。训练代码将反映性能准确率,且需通过正则化参数仔细调整检测阈值,以达到接近95%的准确率。训练中选用的参数包括自定义的HoG描述子,窗口大小为64 × 128,块大小为16 × 16,单元格大小为8 × 8,方向区间数设为9。目前,训练使用的是INRIA数据集
访问受限。请登录或开始试用以查看此内容。
作者声明不存在利益冲突。
| 姓名 | 公司 | 目录编号 | 评论 |
|---|---|---|---|
| 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) |
访问受限。请登录或开始试用以查看此内容。
申请许可以重复使用本 JoVE 文章的文本或图表
申请许可