摘要
目标检测广泛用于自动驾驶、机器人视觉、视频监控以及航天航空等领域,随着深度学习的发展,基于卷积神经网络的目标检测算法逐渐成为主流,但卷积神经网络庞大的计算量和参数量使得其难以在边缘设备上得到应用。本文针对卷积神经网络在边缘设备上推理效率低、部署困难和实时性差的问题进行研究,从软硬协同优化的角度出发,设计基于FPGA的目标检测网络加速器。 首先,将SkyNet作为基础网络,对其进行结构优化,得到适用于FPGA加速器的网络结构。优化主要包括:对第一层逐点卷积进行通道剪枝,以适应加速器的并行度;对分支结构进行优化,用跳跃连接的分支结构替代原有的重排序结构,提升外部缓存读写效率。经结构优化后的SkyNet在模型尺寸上减少了13.6%,计算量减少了15.0%,精度仅下降1.67%。更进一步地,为减少浮点计算对FPGA片上资源的消耗,对优化后的SkyNet进行量化,融合相关参数并定点化,所有参数均定点化后的SkyNet在模型尺寸上减少了73.4%,精度仅下降2.04%。 然后,以ZYNQ器件为目标平台,设计SkyNet专用加速器并给出加速器整体结构框图,充分结合了SkyNet网络的计算特点。片上PS端负责配置加速器参数、进行非极大值抑制以及传输图像数据和预测结果;片上PL端负责对SkyNet的核心计算模块进行硬件实现,并同时采用并行策略和任务级流水策略来加快前向推理速度。此外,为充分利用DRAM带宽,设计了相应的特征图合并存储模式,使推理速度进一步提升。 最后,在ZC706评估板上对SkyNet加速器进行实现,并测试功耗及推理耗时。实验表明,对于分辨率为416×416的图像,推理一次的平均耗时为13.12ms,功耗为16.992W,加速器算力达到201.18GOPS,能效为11.84 GOPS/W,在同类工作中表现较优,具备实际场景下的应用能力。