基于改进YOLOv4-Tiny的FPGA加速方法
2022-04-21曹远杰高瑜翔杜鑫昌涂雅培吴美霖
曹远杰,高瑜翔*,杜鑫昌,涂雅培,吴美霖
(1.成都信息工程大学 通信工程学院,四川 成都 610225;2.气象信息与信号处理四川省高校重点实验室,四川 成都 610225)
0 引言
近年来,随着神经网络的快速发展,目标检测领域的要求越来越高。深度学习算法从AlexNet[1]到VGG[2],GoogLeNet[3],再到后来出现的ResNet[4]和DenseNet[5]。这些算法在性能提高的同时,效率也变得越来越低。由于存储空间、算力以及带宽资源限制,神经网络模型在移动设备和嵌入式设备上的存储与计算仍然是一个巨大的挑战。
在算法方面,为了降低算法所需资源,有模型压缩和设计轻量级主干网络2个方向。模型压缩方式有知识蒸馏、剪枝[6]、量化等。例如Han等人[7]提出对网络迭代剪枝,获得一个精简模型,最终在没有精度损失的前提下AlexNet参数量减少了9倍。段杰等人[8]提出将BN层融入卷积层,可以加快前向推理速度。但仅仅依靠模型压缩来实现轻量化还是不够,还有一种方式是设计轻量级模型,例如SqueezeNet[9],MobileNets[10],Xception[11]等轻量级算法。许多轻量级算法并没有考虑硬件实现等问题,计算量虽然有所降低,但硬件实现的效率依然很低。例如FPGA处理器遵循Roofline模型,根据算法的不同,瓶颈也不同。这种轻量级的模型计算量低,但是层数增加导致访存量也增加,计算效率依然很低。为解决以上问题,提出了一种访存量、参数量、计算量较小且采用Ghost残差结构所构建的轻量级主干网络(YOLO-GhostNet)[12]。
在硬件方面,由于卷积大部分时间在计算上,普通CPU无法满足深度学习算法的实用性,用并行架构的处理器能够更好地适配神经网络,因此硬件平台转向GPU和FPGA等并行处理器。……
