温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
ZYNQ
Yolo_v3
SPP
实时
目标
检测
系统
张丽丽
第 31 卷 第 4 期2023 年 2 月Vol.31 No.4Feb.2023光学 精密工程 Optics and Precision Engineering基于 ZYNQ 的 Yolo v3-SPP实时目标检测系统张丽丽,陈真*,刘雨轩,屈乐乐(沈阳航空航天大学 电子信息工程学院,辽宁 沈阳 110000)摘要:基于卷积神经网络的目标检测算法发展迅速,随着计算复杂度增加,对设备的性能及功耗要求越来越高。为了使目标检测算法能够部署在嵌入式设备上,本文采用软硬件协同设计方法,使用 FPGA 对算法进行硬件加速,提出了ZYNQ 平台下的 Yolo v3-SPP 目标检测系统。本文将该系统部署在 XCZU15EG 芯片上,并对系统所需的功耗、硬件资源及性能进行了分析。首先对要部署的网络模型进行优化,并在 Pascal VOC 2007 数据集上进行训练,最后使用 Vitis AI工具对训练后的模型进行量化、编译,使其适用于 ZYNQ 端的部署。为了选取最佳的配置方案,探究了各配置对硬件资源及系统性能的影响,从系统功耗(W)、检测速度(FPS)、各类别平均精度的平均值(mAP)、输出误差等方面对系统进行了分析。结果表明:在 300 M 时钟频率下,输入图片大小为(416,416)时,针对 Yolo V3-SPP和 Yolo V3-Tiny网络结构,检测速度分别为 38.44 FPS 和 177FPS,mAP 分别为 80.35%和 68.55%,片上芯片功耗为 21.583 W,整板功耗23.02 W。满足嵌入式设备部署神经网络模型的低功耗、实时性、高检测精度等要求。关键词:目标检测;硬件加速;ZYNQ;Yolo v3-SPP;Yolo v3-Tiny中图分类号:TP394.1;TH691.9 文献标识码:A doi:10.37188/OPE.20233104.0543Yolo v3-SPP real-time target detection system based on ZYNQZHANG Lili,CHEN Zhen*,LIU Yuxuan,QU Lele(College of Electronic and Information Engineering,Shenyang Aerospace University,Shenyang 110000,China)*Corresponding author,E-mail:chenzhen_Abstract:The target detection algorithm based on the convolutional neural network is developing rapidly,and with the increase in computational complexity,requirements for device performance and power consumption are increasing.To enable the target detection algorithm to be deployed on embedded devices,this study proposes a Yolo v3-SPP target detection system based on the ZYNQ platform by using a hardware and software co-design approach and hardware acceleration of the algorithm through FPGA.The system is deployed on the XCZU15EG chip,and the required power consumption,hardware resources,and performance of the system are analyzed.The network model to be deployed is first optimized and trained on the Pascal VOC 2007 dataset,and finally,the trained model is quantified and compiled using the Vitis AI tool to make it suitable for deployment on the ZYNQ platform.To select the best configuration scheme,the impact of each configuration on hardware resources and system performance is explored.The system power consumption(W),detection speed(FPS),mean value of average precision(mAP)for 文章编号 1004-924X(2023)04-0543-09收稿日期:2022-06-02;修订日期:2022-07-14.基金项目:国家自然科学基金资助项目(No.61671310);辽宁省兴辽英才计划项目基金资助项目(No.XLYC1907134);辽宁省教育厅项目资助(No.LJKZ0174)第 31 卷光学 精密工程each category,output error,etc.are also analyzed.The experimental results show that the detection speed is 38.44 FPS and 177 FPS for Yolo V3-SPP and Yolo V3-Tiny network structures,respectively,with mAPs of 80.35%and 68.55%,on-chip power consumption of 21.583 W,and board power consumption of 23.02 W at 300 M clock frequency and input image size of(416,416).This shows that the proposed target detection system meets the requirements of embedded devices for deploying neural network models with low power consumption,real-time,and high detection accuracy.Key words:object detection;hardware acceleration;ZYNQ;Yolo v3-SPP;Yolo v3-Tiny1 引 言目标检测是计算机视觉领域的一个重要研究方向,近年来,基于卷积神经网络的目标检测算法取得了巨大突破,在自动驾驶、人脸识别、行人检测等领域都获得了广泛应用,文献 1 针对Yolo v3 提 出 使 用 Generalized Intersection over Union(GIOU)计算损失、密集连接等方法,实现了 2.11%的性能提升,文献 2 指出传统的目标检测算法对于小尺寸目标的检测效果较差,针对此问题,文献 3 通过不同通道特征图的叠加,引入空间注意力机制,增强了模型对于小目标的检测能力,文献 4 使用 Mish 激活函数替换 ReLu激活函数,使用 Complete Intersection over Union(CIoU)计算损失,实现 1.88%的性能提升,然而随着检测性能的提升,目标检测算法计算冗杂、网络参数繁多、计算复杂度大幅增加,使得其只能在高性能计算机上运行,在实时性要求更高的应用场景中,传统的中央处理器的计算架构无法满足实时计算的需求,需要硬件加速器进行加速计算,降低延时,主流的解决方法之一是采用现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)提高运算速度,FPGA 具有高实时性、低功耗以及并行处理等特点,使其能够完成多种情形的工作,具有较好的实用性和灵活性,适用于目标检测算法的各种应用场景。文献 5 中,Wei等人实现了 Yolo 网络的加速,并将网络中的 Leaky ReLu 激活函数替换为ReLu 激活函数以减少资源消耗,在 ZYNQ7035中实现了 19 FPS 的性能;文献 6 提出了一种轻量级 Yolo v2 的实现方法,该方法通过使用二值化的特征提取网络减少了计算量与内存消耗,并使用支持向量机回归对物体进行分类,在 XCZU9EG 器件上实现了 40.81 FPS 的性能,该设计通过降低算法的复杂度成功地提高了速度;文献 7 对 Yolo 网络进行了优化,针对优化后的网络,使用 AXI4总线封装了应用程序接口,并且使用 ReLu 激活函数替换 Leaky ReLu 激活函数,参数模型全部存储在片上存储器中以减少外部存储器的访问,实现了 19.6 FPS 的性能;文献 8采用流水线架构,所部署的神经网络中的每一层均映射到专门的硬件模块,在 Virtex XC7VX486T 器件上实现了 109 FPS 的性能,该方案需要相当大的片上存储空间,对于一些中低端芯片,部署难度大。相对于 Yolo v2 而言,Yolo v3在检测精度方面有了巨大提升,同时也带来了更多的计算量,于是部分工作中采用 Yolo v3-Tiny 网络进行部署,文献 9 中通过将 Yolo v3-Tiny 网络中的特征图映射为矩阵并且将归一化层与卷积层合并以降低计算复杂度,在 XCZU7EV 器件上实现了 8.3 FPS 的性能;文献 10 使用 Yolo v3-Tiny 网络在 XCZU9EG 器件上实现了 104 FPS 的性能,但其未提到图片大小、可检测物体种类数图 1Yolo v3-SPP网络结构Fig.1Yolo v3-SPP network structure544第 4 期张丽丽,等:基于 ZYNQ 的 Yolo v3-SPP实时目标检测系统以及资源消耗,以上工作需要针对网络进行特定的优化,灵活性低,对开发者硬件知识储备要求较高,对于非专业硬件开发人员而言上手难度大,且开发周期较长,难以适应快速迭代神经网络模型,因此需要一种普适性强,开发周期短,开发流程简洁的神经网络模型加速方法。针对上述需求,为达到嵌入式设备部署神经网络时所需的低功耗、高检测准确度、实时性以及方便移植的目的,本文提出了一种目标检测网络模型在 ZYNQ 平台上的实现方法,该方法采用软硬件协同设计,使用 ZYNQ 芯片中的 FPGA 部分对算法进行硬件加速处理,实现了两个目标检测模型,分别是改进后的 Yolo v3-Tiny 与 Yolo v3-SPP。首先优化 Yolo v3-Tiny与 Yolo v3-SPP模型结构使其适用于 ZYNQ 端的部署,并对其进行训练,然后将训练好的模型进行量化,再对量化后的模型根据构建的硬件信息进行编译,得到可以在 ZYNQ 端执行的模型文件,最后编写程序调用该模型文件,达到硬件加速的目的。2 目标检测算法介绍及优化Yolo v1-v311-13是 一 种 被 广 泛 使 用 的 one stage 目标检测架构,Yolo v3 网络模型在保证检测精度的同时兼顾了检测速度,由于该模型参数量较大,在使用 ZYNQ 芯片中的 FPGA 部分对算法进行加速时,无法直接将模型的全部参数存储于 FPGA 上有限的片上存储器中,且其参数类型为 float32,不适于 FPGA 等硬件设备进行计算加速,因此需要对其进行量化、编译等操作以使其适用于 FPGA 的部署,而 Yolo v3模型在量化、编译之后会有较大的精度损失,为