• 热点
  • 图片
  • 科技
  • 娱乐
  • 游戏
  • 体育
  • 汽车
  • 财经
  • 搞笑
  • 军事
  • 国际
  • 时尚
  • 旅游
  • 探索
  • 育儿
  • 养生
  • 美文
  • 历史
  • 美食
  • 当前位置: 小苹果范文网 > 美文 > 正文

    面向航空目标检测的神经网络加速器设计

    时间:2023-10-24 15:25:19 来源:小苹果范文网 本文已影响 小苹果范文网手机站

    施立瑞 王帅帅 肖昊

    摘要:卷积神经网络被广泛应用于航空图像目标检测领域。然而,由于航空图像成像背景环境复杂、目标尺寸小且方向任意,为了提取更高层次的特征信息,神经网络模型的结构复杂度不断提高,使得模型计算复杂度高、计算时间长,从而难以满足航空目标检测的实时性需求。本文提出了一种面向航空目标检测的基于Winograd算法的神经网络加速器,通过Winograd卷积算法可大幅减少卷积计算中的乘法数量,并针对Winograd卷积在神经网络计算中由于时域变换引入额外加法计算的问题,提出了一种深流水的矩阵变换计算结构,通过复用加法计算的中间结果以及调整运算顺序减少输入和输出变换的计算量。同时,针对加速器的现场可编程门阵列(FPGA)实现,提出了一种高效的数据流形式和DSP阵列结构。试验结果表明,本文提出的加速器相比CPU和GPU分别获得了32倍和2.6倍的速度提升。

    关键词:目标检测;
    卷积神经网络;
    加速器;
    Winograd算法;
    FPGA

    中图分类号:TP183文献标识码:ADOI:10.19452/j.issn1007-5453.2022.05.013

    近年来,航空图像数据分析需求大幅增加,卷积神经网络(convolutional neural network,CNN)由于其优越的性能被广泛应用于航空目标检测[1-5]。然而,由于航空图像成像背景环境复杂、目标尺寸小且方向任意,为了获取更高的预测准确率,神经网络模型层数逐渐加深,结构更加复杂,使得模型计算复杂度高、计算时间长,从而难以满足航空目标检测中实时性的需求。因此,如何根据遥感图像快速检测目标成为一项巨大的挑战。

    大量研究从软硬件方面优化提升航空图像目标检测速度。在软件算法优化方面,参考文献[6]和文献[7]通过提出轻量级网络模型减少网络参数和计算复杂度。参考文献[6]提出了一种压缩MobileNet网络模型,在特征映射下采样阶段减少瓶颈架构数量,但在特征映射平台阶段增加更多瓶颈,从而减少网络参数,缩短推理时间并提高预测准确性。参考文献[7]提出了一种轻量级神经网络模型G-YOLOv3,其主要构件为嵌套残差块,每个残差块中都包含了本征特征图与相似特征图,且残差块中添加注意力机制,增强网络的学习能力,从而降低网络所需参数和计算复杂度,提升目标检测速度。在硬件加速方面,参考文献[8]在MPSOC硬件平台对网络计算进行硬件加速,通过丰富的可编程逻辑资源提升计算并行度,缩短网络计算时间。然而,上述加速目标检测的方法均基于传统卷积计算,而在航空目标检测中用来提取特征值的卷积神经网络占据了网络推断阶段70%以上的时间[6,9],传统卷积由于高计算复杂度成为限制目标检测速度的瓶颈。因此,本文提出了一种面向航空目标检测的基于Winograd算法的神经网络加速器设计,包括:(1)对航空目标检测网络中的基干网络部分进行硬件加速,通过Winograd算法降低了卷积计算的复杂度,与传统卷积相比减少了75%的乘法计算,同时提出了一种深流水结构的矩阵变换方法,优化Winograd算法中的加法计算,与直接Winograd计算相比减少了18.75%的输入变换计算量和至少76.19%的输出变换计算量;
    (2)在FPGA平台加速卷积神经网络,设计了一种高效的DSP阵列结构和数據流方式,大幅提高DSP的计算效率。本文提出的加速器相比CPU和GPU分别获得了32倍和2.6倍的速度提升。

    1目标检测网络

    1.1网络结构

    航空目标检测网络模型结构如图1所示,整体分为基干网络和检测网络两个部分。其中,基干网络主要完成图片特征值提取的功能,检测网络根据基干网络提取的特征对特定目标进行检测。由于航空图像成像背景复杂且目标尺度较小,为了提取更高层次的特征信息,获得更高的准确率,基干网络采用深层卷积神经网络获取有效特征。其中,卷积计算示意图如图2所示,每个通道上的卷积核分别与对应通道上的输入数据相同大小的区域进行乘累加运算,每个通道上的乘累加后的结果相加得到输出数据中的一个值,接着卷积核以一定的步长不断滑动得到所有的输出数据。可见,传统卷积的滑窗计算方式计算复杂度高,因此,本文引入Winograd算法,利用图像像素点之间的结构相似性,将滑窗卷积变为矩阵点乘运算,大幅降低了卷积运算中乘法计算的数量。

    1.2 Winograd算法

    Winograd算法[10]由数学家Winograd于1980年提出,用于信号处理中的卷积操作。以一维Winograd卷积为例,记输出尺寸为m,卷积核尺寸为r的卷积计算为F(m,r),d为输入数据,g为卷积核数据,我们通过一组具体的计算阐述 Winograd卷积原理。

    将Winograd卷积应用到CNN中的计算流程图如图3所示。第一阶段,将输入特征图和卷积核数据从时域转换到Winograd域;
    第二阶段,变换后的输入特征图和卷积核执行矩阵点乘计算;
    第三阶段,各通道间的卷积结果执行累加;
    第四阶段,将Winograd域的卷积结果变换到时域。其中,第三阶段和第四阶段的执行顺序不影响最终卷积结果。

    2 CNN加速器设计

    2.1目标检测系统架构

    航空目标检测系统架构如图4所示,基干网络部分采用FPGA加速,检测网络在主机完成。其中,加速器主要由输入特征图缓存、权重缓存、输入特征图变换、并行计算单元(PE)、输出特征图缓存组成。由于神经网络参数量巨大而片上存储资源有限,外部存储器中的数据将根据运算阶段分批次加载到片上缓存中。其中,权重变换在片外预处理完成,片上缓存接收到的不再是原始权重数据而是转换后的数据。多个输入特征图转换模块并行处理多通道输入数据,多个PE单元并行处理多个卷积核上的卷积,二者并行度可根据不同硬件平台的资源进行调整。在输出变换中,PE单元循环复用多次,完成所有通道卷积和累加后再执行输出变换,与参考文献[11]相比,输出变换的运算量仅为前者的1/N,N为输入通道数。由于片上存储资源有限,当输出特征图缓存中积累了一定数据后,通过访存控制传输到片外存储器中。当加速器完成特征值提取后,将数据传到主机进行检测网络计算,实现完整目标检测功能。

    2.2输入/输出特征图转换

    2.3 PE单元

    PE单元执行的功能是对转换后的输入特征图和权重进行点乘计算,如何合理地部署DSP資源是PE单元性能的关键。现有设计仅使用DSP中的乘法器处理乘法计算,而DSP中除乘法器外还包含加法器等丰富的计算资源。因此,本文提出了一种高效的DSP计算数据流形式和通道间级联的DSP阵列结构。

    DSP内部的计算结构和数据流安排如图7所示,单个DSP中计算两个卷积核和输入特征图的卷积操作。输入特征图固定从A端口输入,两个卷积核的权重数据分别固定从B端口和D端口输入,两个卷积核复用输入特征图,通过控制DSP的配置参数使其乘法器执行A×B和A×D的乒乓操作。同时,加法器乒乓执行A×B和A×D的计算结果与其各自上一通道结果的累加。图8展示了DSP间级联的阵列结构,其中,Wa,b表示第a个卷积核的第b个通道的权重数据,indata_m为输入特征图第m个通道数据。Psum、psum分别为上一循环和当前的部分和结果。级联结构主要用来处理通道间累加,级联的首个DSP从C口输入上一通道的结果,其余DSP从PCIN口级联输入上一通道的结果,最后输出两个通道的部分和(psum)结果。PE单元包含多组级联的DSP组,假设有M组DSP组,N个输入通道,Z个卷积核,循环复用计算单元N/M次完成单个卷积核的计算,单次循环的最后一组DSP的输出保存在RAM中参与下一次循环计算,直至完成所有通道的累加。

    DSP的数据流安排使得DSP的计算效率在计算过程中提高了4倍;
    DSP级联的阵列结构与参考文献[11]中单独设置加法单元方法相比,减少了累加计算周期。同时,充分利用了DSP中的计算资源,从而节省了片上LUT资源。

    2.4双缓冲区缓存单元

    由于神经网络参数量庞大,减少数据传输时间是加速器性能提升的关键。本文采用图9所示双缓冲区结构对数据进行乒乓读写,隐藏了从片外缓存数据与片上计算之间的延时。

    在F(m2,r2)的二维Winograd卷积中,输入块的大小为n×n,相邻输入块之间重叠r-1个像素点,为了在读取输入图分块时复用重叠数据,在缓存单元中,设计时将输入特征图按行存储在RAM中。首先在n个RAM中分别存储输入特征图的n行数据,然后计算模块开始从缓冲区读取输入特征图块开始计算,同时,缓冲区的(n- r+1)个RAM继续接收来自片外的输入特征图数据。

    当缓冲区中的前n行数据由计算单元读取完成之后,重新从片外缓存(n- r+1)行输入特征图数据,此时计算单元从后n个RAM中读取数据,实现乒乓读写。该方法在复用输入数据的同时使得数据缓存单元和计算单元一直处于工作状态,有效减少了加速器整体运行时间。

    3试验与结果分析

    为验证本文提出的基于Winograd算法的神经网络加速器的综合性能,试验选用经典VGG16网络模型作为航空目标检测的基干网络,SSD网络模型作为检测网络,并在Xilinx VCU118硬件平台部署基干网络部分CNN加速器,模型检测结果如图10所示。

    将本文设计的加速器部署在FPGA上的推理延时与CPU、GPU上运行结果做对比见表2,其中,CPU采用Intel i5-4590处理器,GPU采用NVIDIA RTX2070super。相比CPU和GPU,本文加速器分别获得了32倍和2.6倍的速度提升。

    表3评估了设计的硬件资源使用率、吞吐量、运行时间等性能指标。参考文献[5]加速器采用传统卷积计算,在硬件资源占用率相近的情况下,本文基于Winograd算法的加速器,相比参考文献[12]节省了60.1%的网络推断时间。参考文献[13]和文献[[11]与本文卷积算法相同。其中,参考文献[13]在Winograd卷积计算阶段将输出变换应用在通道累加之前,相比本文增加了71%的冗余计算。因而,在吞吐量相近的情况下,本文的加速器计算延时减少了31.5%。本文相比参考文献[11]增加了不到一倍的DSP资源而计算延时仅为其一半不到。在LUT资源占用上,由于本文优化了变换阶段的计算(主要由LUT实现),与参考文献[9]和文献[11]相比分别减少了20.1%和25.7%。经上述分析可见,本文加速器加速效果更佳。

    4结束语

    本文提出了一种基于航空目标检测的神经网络加速器,通过Winograd卷积算法大幅减少卷积计算中的乘法数量,并针对当前Winograd卷积在CNN计算中由于时域变换引入额外加法计算的问题,提出了一种深流水的矩阵变换计算结构,通过复用加法计算的中间结果以及调整运算顺序减少输入变换和输出变换的计算量。同时,针对加速器的FPGA实现,提出了一种高效的数据流形式和DSP阵列结构。试验结果表明,本文的加速器吞吐量更高、计算延时更短。

    參考文献

    [1]Yi J,Wu P,Liu B,et al. Oriented object detection in aerial images with box boundary-aware vectors[C]// 2021 IEEE Winter Conference on Applications of Computer Vision(WACV),2021:2149-2158.

    [2]Kovbasiuk S,Kanevskyy L,Romanchuk M.Object detection method based on aerial image instance segmentation by unmanned aerial system in the framework of decision making system[C]// 2019 3rd International Conference on Advanced Infor-mation and Communications Technologies(AICT),2019:332-335.

    [3]赵文清,孔子旭,周震东,等.增强小目标特征的航空遥感目标检测[J].中国图象图形学报,2021,26(3):644-653. Zhao Wenqing, Kong Zixu, Zhou Zhendong, et al. Aerial remote sensing target detection with enhanced small target features[J]. Chinese Journal of Image and Graphics, 2021,26(3):644-653. (in Chinese)

    [4]何晓骁,姚呈康.人工智能等新技术在航空训练中的应用研究[J].航空科学技术,2020,31(10):7-11. He Xiaoxiao, Yao Chengkang. Research on the application of new technologies such as artificial intelligence in aviation training[J]. Aeronautical Science & Technology, 2020,31(10):7-11. (in Chinese)

    [5]邓伟伟,段朝阳.人工智能在导弹控制系统中的应用[J].航空科学技术,2020,31(10):30-35. Deng Weiwei, Duan Chaoyang. Application of artificial intelligence in missile control system[J]. Aeronautical Science& Technology,2020,31(10):30-35. (in Chinese)

    [6]He Y,Pan Z,Li L,et al. Real-time vehicle detection from shortrange aerial image with compressed mobileNet[C]//2019 International Conference on Robotics and Automation(ICRA),2019:8339-8345.

    [7]聂子一,张璞.轻量级神经网络与遥感图像目标检测[J].电子制作,2021(18):54-55,62. Nie Ziyi, Zhang Pu. Lightweight neural network and remote sensing image target detection[J] .Electronic Production, 2021(18):
    54-55, 62. (in Chinese)

    [8]任彬,王宇庆,丛振,等.基于MPSOC的航空图像目标检测系统设计[J].液晶与显示,2021,36(7):1006-1017. Ren Bin, Wang Yuqing, Cong Zhen, et al. Design of aerial image target detection system based on MPSOC[J]. Liquid Crystal and Display, 2021,36(7):1006-1017. (in Chinese)

    [9]Ichim L,Popescu D. Road detection and segmentation from aerial images using a CNN based system[C]//2018 41st International Conference on Telecommunications and Signal Pro‐cessing(TSP),2018:1-5.

    [10]WinogradS. Arithmeticcomplexityofcomputations[J]. Society for Industrial & Applied Mathematics Philadelphia,1980,43(2):625-633.

    [11]Liang Y,Lu L,Xiao Q,et al. Evaluating fast algorithms for convolutional neural networks on FPGAs[C]//IEEE Transac‐tions on Computer-Aided Design of Integrated Circuits and Systems,2020,9(4):857-870.

    [12]Yuan T,Liu W,Han J,et al. High performance CNN accelerators based on hardware and algorithm co-optimization[C]//IEEE Transac-tions on Circuits and Systems I:Regular Papers,2021,68(1):250-263.

    [13]Shen J,Huang Y,Wen M,et al. Toward an efficient deep pipelined template-based architecture for accelerating the entire 2D and 3D CNNs on FPGA[C]//IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems,2020,1442-1455.

    Design of Neural Network Accelerator for Aeronautical Target Detection

    Shi Lirui,Wang Shuaishuai,Xiao Hao

    Hefei University of Technology,Hefei 230000,China

    Abstract:
    Convolutional neural networks are widely used in the field of object detection in aerial images. However, in order to extract higher-level feature information of small size and arbitrary direction target in complex background environment, the structural complexity of the neural network model continues to increase, which makes the model computationally complex and time-consuming. So it is difficult to satisfy real-time requirements in aerial target detection. This paper proposes a neural network accelerator based on the Winograd algorithm for aerial target detection. The Winograd convolution algorithm greatly reduces the number of multiplications in the convolution calculation. However, there are many additional calculations in transforming input data and filter to Winograd domain in current Winograd convolution. To addresses this problem, a deep pipeline calculation structure of matrix transformation is proposed, which reduces the calculation amount of input transformation and output transformation by reusing the intermediate results of addition calculation and adjusting the operation order. At the same time, for the field programmable gate array (FPGA) implementation of the accelerator, an efficient data flow format and DSP array structure are proposed. The experimental results show that the accelerator proposed in this paper achieves a speed improvement of 32 times and 2.6 times compared to CPU and GPU respectively.

    Key Words:
    target detection;

    convolutional neural network;

    accelerator;

    Winograd algorithm;

    FPGA

    猜你喜欢 目标检测加速器卷积神经网络 视频中目标检测算法研究软件(2016年4期)2017-01-20基于深度卷积神经网络的物体识别算法计算机应用(2016年12期)2017-01-13行为识别中的人体运动目标检测方法科教导刊·电子版(2016年28期)2017-01-10深度学习算法应用于岩石图像处理的可行性研究软件导刊(2016年9期)2016-11-07基于深度卷积网络的人脸年龄分析算法与实现软件工程(2016年8期)2016-10-25移动机器人图像目标识别科学与财富(2016年28期)2016-10-14基于卷积神经网络的树叶识别的算法的研究电脑知识与技术(2016年10期)2016-06-16等待“加速器”少年博览·小学低年级(2016年5期)2016-05-14基于P3电位的目标检测研究科技视界(2016年4期)2016-02-22头脑体操小哥白尼·趣味科学画报(2009年9期)2009-09-14

    • 生活居家
    • 情感人生
    • 社会财经
    • 文化
    • 职场
    • 教育
    • 电脑上网