论文部分内容阅读
随着社会汽车保有量的逐年增加,交通事故发生率不断增长,对汽车视觉辅助驾驶的需求日益增加。目标检测是汽车视觉辅助驾驶系统的核心组成部分,近年来深度学习发展迅速,目标检测算法的识别精度和速度都有了较大的提高,然而基于深度学习的目标检测算法由于结构复杂、计算量大、对硬件的性能要求高,在工程应用中往往难以实现。本文首先比较分析了当前基于深度学习的目标检测算法的优劣,与其他主流的目标检测算法相比,YOLO系列算法具有检测速度快、实时性好的优点。在硬件实现方面,相较于CPU、GPU和ASIC嵌入式硬件,FPGA具有低功耗、可编程、并行性、成本低等优势。本文以目标检测算法在智能驾驶中的实际工程应用为目标来选择合适的低功耗嵌入式硬件,并部署最佳的目标检测算法,同时,采用深鉴科技公司研发的DP-8020开发板和DNNDK深度压缩工具,实现了MobileNet-YOLOv3目标检测算法在FPGA上的实时目标检测,主要工作概括如下:
(1)为了使目标检测算法更切合实际应用场景,本文首先使用Infiray公司的A3D红外热像仪采集视频数据,并自制5万张(分辨率为384×288像素)红外图像数据集,用于算法模型的训练和测试。
(2)从目标检测算法实际应用的可行性出发,以YOLOv3、Tiny-YOLOv3和MobileNet-YOLOv3模型算法为研究对象,分析了影响模型精度的重要超参数,重点对学习率、训练代数、批大小三个超参数进行了调参优化,使得算法模型与数据集更加匹配,提升了训练效果,最后对比分析了三个算法的平均准确率均值和帧率,选择MobileNet-YOLOv3算法作为最佳目标检测算法,移植到FPGA平台上。
(3)采用DNNDK深度压缩工具对MobileNet-YOLOv3算法模型进行压缩优化,然后利用Vivado软件搭建FPGA硬件模块,利用PetaLinux系统构建DP-8020平台嵌入式Linux系统,利用xilinxSDK软件创建算法检测可执行程序,最后将做好的系统和文件移植到FPGA,完成目标检测算法的移植和功能实现。实验结果表明,基于FPGA平台的MobileNet-YOLOv3算法实时检测的平均准确率均值可达82.50%,帧率可达38fps,能够满足工程应用的实时目标检测要求,具有工程应用的优势和价值。
(1)为了使目标检测算法更切合实际应用场景,本文首先使用Infiray公司的A3D红外热像仪采集视频数据,并自制5万张(分辨率为384×288像素)红外图像数据集,用于算法模型的训练和测试。
(2)从目标检测算法实际应用的可行性出发,以YOLOv3、Tiny-YOLOv3和MobileNet-YOLOv3模型算法为研究对象,分析了影响模型精度的重要超参数,重点对学习率、训练代数、批大小三个超参数进行了调参优化,使得算法模型与数据集更加匹配,提升了训练效果,最后对比分析了三个算法的平均准确率均值和帧率,选择MobileNet-YOLOv3算法作为最佳目标检测算法,移植到FPGA平台上。
(3)采用DNNDK深度压缩工具对MobileNet-YOLOv3算法模型进行压缩优化,然后利用Vivado软件搭建FPGA硬件模块,利用PetaLinux系统构建DP-8020平台嵌入式Linux系统,利用xilinxSDK软件创建算法检测可执行程序,最后将做好的系统和文件移植到FPGA,完成目标检测算法的移植和功能实现。实验结果表明,基于FPGA平台的MobileNet-YOLOv3算法实时检测的平均准确率均值可达82.50%,帧率可达38fps,能够满足工程应用的实时目标检测要求,具有工程应用的优势和价值。