CN113744220A - 一种基于pynq的无预选框检测系统 - Google Patents

一种基于pynq的无预选框检测系统 Download PDF

Info

Publication number
CN113744220A
CN113744220A CN202110980885.6A CN202110980885A CN113744220A CN 113744220 A CN113744220 A CN 113744220A CN 202110980885 A CN202110980885 A CN 202110980885A CN 113744220 A CN113744220 A CN 113744220A
Authority
CN
China
Prior art keywords
convolution
detection
processing
post
pynq
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110980885.6A
Other languages
English (en)
Other versions
CN113744220B (zh
Inventor
张瑞琰
姜秀杰
安军社
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Space Science Center of CAS
Original Assignee
National Space Science Center of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by National Space Science Center of CAS filed Critical National Space Science Center of CAS
Priority to CN202110980885.6A priority Critical patent/CN113744220B/zh
Publication of CN113744220A publication Critical patent/CN113744220A/zh
Application granted granted Critical
Publication of CN113744220B publication Critical patent/CN113744220B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10032Satellite or aerial image; Remote sensing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20112Image segmentation details
    • G06T2207/20132Image cropping

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Image Processing (AREA)

Abstract

本发明公开了一种基于PYNQ的无预选框检测系统,部署在FPGA上,其特征在于,所述系统包括:预处理模块、预先建立和训练好的检测模型和后处理模块;其中,所述预处理模块,用于将光学遥感图形进行裁剪和归一化处理;所述检测模型为基于CenterNet算法,采用分离卷积、剪枝、蒸馏及量化模型压缩方法,提取得到的精简型模型,用于在保证前向推断速度的同时,通过若干次循环的进行分段量化缩放系数和后处理融合对预处理后的图形进行检测,输出包含定位、回归和中心偏移的检测结果至后处理模块;所述后处理模块,用于根据检测结果输出带有标记框的图片,完成预测。本发明的系统实现了在硬件端快速部署采用通用框架训练的检测网络。

Description

一种基于PYNQ的无预选框检测系统
技术领域
本发明涉及计算机视觉的实际应用领域,适用于无预选框检测模型在FPGA开发板部署领域,尤其涉及一种基于PYNQ的无预选框检测系统。
背景技术
现阶段,随着人工智能技术的崛起,卷积神经网络在图像分类、目标检测、视频追踪等方面取得了卓越的效果,在生产生活、安保安防等实际应用场景中具备广泛的应用价值。然而由于卷积神经网络的参数量高,层数深等特性,使得其在实际资源受限的硬件平台上部署困难。因此,基于深度卷积模型的压缩算法及硬件部署等方面的研究具备十分重要的现实意义。
研究人员常采用量化的模型压缩方法将复杂网络部署于边缘端。算法层面的量化训练是指将参数值(weight)和激活值(Activation)缩放为一定范围内的定点数,而二者的缩放系数保持浮点精度。Raghuraman Krishnamoorthi提出了关于量化及反量化的具体方式和步骤,在GPU或CPU中可直接实现。但对于全定点运算的FPGA来说,其部署和CPU端模拟存在着不完全匹配现象,对研究人员直接部署硬件造成较大困难。首先,两个平台的数据类型及精度不同。现阶段算法常用PyTorch框架。但PyTorch没有低比特定点数的数据类型,须用浮点数来代替定点数进行伪量化,这在计算精度上造成CPU模拟结果和FPGA实际结果有所不同。其次,算法方面的差异。传统量化算法大多考虑参数值和激活值的量化,并将缩放系数视为浮点数。然而在实际部署中,缩放系数和偏移值也需要量化为定点数。由于参数值和激活值的表达范围是一定的,各通道间量级的差异性便体现为缩放系数值的不同。对缩放系数的量化采取单纯的截断操作会造成大量精度损失。最后,网络结构的差异。在PyTorch框架计算中,卷积层和激活层是无关联的两个独立层。但FPGA要求卷积运算输出定点值结果,即激活值需要量化为下层卷积输入可用的定点数。根据以上三个方面的差异,直接部署FPGA会造成算法精度的大幅下跌,尤其是针对多尺度多类别的检测算法。由于光学遥感目标具备尺度差异大,疏密差异大等特点,常用的基于预选框的检测算法的精度并不理想且后处理过程(非极大值抑制等操作)复杂,如YOLO等。
发明内容
本发明的目的在于克服现有技术缺陷,提出了一种基于PYNQ的无预选框检测系统。
为了实现上述目的,本发明提出了一种基于PYNQ的无预选框检测系统,部署在FPGA上,所述系统包括:预处理模块、预先建立和训练好的检测模型和后处理模块;其中,
所述预处理模块,用于将光学遥感图形进行裁剪和归一化处理;
所述检测模型为基于CenterNet算法,采用分离卷积、剪枝、蒸馏及量化模型压缩方法,提取得到的精简型模型,用于在保证前向推断速度的同时,通过若干次循环的进行分段量化缩放系数和后处理融合对预处理后的图形进行检测,输出包含定位、回归和中心偏移的检测结果至后处理模块;
所述后处理模块,用于根据检测结果输出带有标记框的图片,完成预测。
作为上述系统的一种改进,所述预处理模块的具体处理过程包括:对接收的光学遥感图像进行裁剪处理,经归一化处理得到符合预设尺寸和像素范围值的预处理图像。
作为上述系统的一种改进,所述检测模型的主干网络为ResNet_9,包括串联的残差卷积层、分支检测层和后处理融合层;其中,
所述残差卷积层采用宽高维度作为循环展开的外层循环,通道维度作为里层内循环,实现特征图在通道维度的并行计算;
所述分支检测层包括三路分支检测支路,分别输出定位预测热点图,回归预测热点图和中心偏移预测热点图;
所述后处理融合层,用于通过最大池化的方法从定位预测热点图中找到一定区域的最大值,由此确定目标位置。
作为上述系统的一种改进,残差卷积层包括5个串联的子模块,每个子模块的卷积运算用于进行图片尺寸的缩小,反卷积运算用于实现图片尺寸的扩大,每个子模块包括普通分离卷积块或分离反卷积块,以及点卷积块,对于具有普通分离卷积或分离反卷积处理的子模块采用非对称的填充方式,对于步长为2的卷积运算的子模块采用下采样融合方式。
作为上述系统的一种改进,每个子模块的处理过程包括:
通过AXI总线读取特征图、参数值、整体缩放系数值以及整体的偏移系数值,传入处理寄存器;
进行普通分离卷积或分离反卷积处理,并将缓存的中间特征图通过AXI总线传入DDR中;
当所有通道维度均处理完毕,通过AXI总线传回特征图缓存值,并将所有通道的值累加以完成一次普通分离卷积运算;
将处理完毕的数据通过AXI总线传回CPU端。
作为上述系统的一种改进,,所述普通分离卷积块用于将权值通过AXI总线传入片上缓存区域,并转换为所需的三维结构,采用滑窗思想进行卷积计算,填充特征图周围若干个像素。
作为上述系统的一种改进,所述分离反卷块用于对特征图各通道的值加权,卷积核步长为1,采用直接流水计算,在特征图的像素点之间填充,使得特征图尺度扩张若干倍。
作为上述系统的一种改进,所述后处理融合层包括在FPGA端进行的最大池化操作。
作为上述系统的一种改进,所述后处理模块的具体处理过程包括:
对定位预测热点图进行排序,得到前K个点;K为设置的最大检测目标数;根据K个点得到对应的坐标索引,再根据坐标索引在回归预测热点图中得到预测的宽度和高度,在中心偏移预测热点图中得到中心点在x轴和y轴上的偏移量,输出带有标记框的图片,完成预测。
作为上述系统的一种改进,所述检测模型的训练过程包括:
从公开的光学遥感数据集NWPU VHR-10中选取有标注信息不同目标的图像建立训练集;
对训练集的数据进行裁剪和线性变换处理;
将处理后的数据输入检测模型,调整模型参数,得到满足阈值要求的检测模型与现有技术相比,本发明的优势在于:
1、本发明主要基于软硬件转换过程中的不匹配因素提出了一套高精度可复用的卷积加速模块,在硬件层面实现每层可控的系数调节卷积层,以实现在硬件端快速部署采用通用框架训练的检测网络;
2、本发明基于CenterNet算法,采用分离卷积、剪枝、蒸馏及量化等模型压缩方法获得了小型网络CTiny,并设计了一种适合该算法的可复用卷积加速模块,在FPGA端设计了分块量化缩放系数和分层量化缩放系数两种方式,相比于传统方式的阶段量化的方式,提高了目标检测的精度;
3、本发明提出非对称的填充方式和下采样融合的处理方式,非对称填充适合于卷积层同时满足普通卷积运算和反卷积运算,下采样融合方式则针对于步长为2的卷积层,为保持计算前后特征图尺度不变,提高资源利用率;
4、本发明将图片预处理和后处理的定位操作从CPU端提前至FPGA端,减少了检测时间,提高了卷积模块复用率。
附图说明
图1是Residual模块的详细流程;
图2是基于FPGA的总体网络模型设计;
图3是普通分离卷积块处理流程;
图4是点卷积块处理流程;
图5是各卷积层的M和B的统计图,其中图5(a)是各卷积层整体缩放系数值M的最大值,图5(b)是各卷积层整体偏移系数值B的最大值;
图6是非对称填充方法示意;
图7是步长为2时的下采样拼接;
图8是输入层的归一化融合;
图9是最大池化的PL融合过程;
图10是CPU调用卷积IP核的具体流程图;
图11是后处理模块示意图;
图12是本发明的检测模型结构图。
具体实施方式
本设计采用无预选框检测网络CenterNet来实现多尺度遥感目标检测。现阶段的FPGA实际部署基于预选框检测模型居多,无预选框模型的实际部署应用仍旧欠缺。考虑到整个检测过程中输入图片和输出值需要在CPU端分别进行预处理和后处理,这无疑会增加检测时间。
针对现有技术存在的缺陷和不足,主要基于CenterNet检测模型展开,本发明将基于该检测模型应用模型压缩的技术提取精简模型CTiny,并划分为可复用的子模块部署于FPGA开发板上,具体将解决的技术问题为:
本设计基于CenterNet算法,采用分离卷积、剪枝、蒸馏及量化等模型压缩方法获得了小型网络CTiny,并设计了一种适合该算法的可复用卷积加速模块。首先,本设计融合多类卷积模块、参数采样重组模块、分段量化缩放系数等方法以实现检测模型的前向推断功能。然后,将图像预处理及后处理操作融合入FPGA端,以提高检测速度。最后,采用多通道并行传输数据,提高总线带宽的利用率。
1、CTiny模型结构
本发明的检测模型基于CenterNet模型压缩而得。主干网络为ResNet_9,其中的卷积运算和反卷积运算均采用分离卷积。为实现卷积层的高复用性,将卷积核大小统一为3×3、1×1和4×4。网络中的卷积模块按照功能分为普通分离卷积(Depthwise3x3Convolution,DW),分离反卷积(Depthwise4x4 Deconvolution,DDW),以及点卷积(Pointwise Convolution,PW)。其中,ResNet中的Residual模块的详细计算流程如图1所示。
由于CTiny网络结构较复杂,以及输入图片的分辨率较大,将网络整体放在PYNQ上处理并不现实。因此,我们这里需要按照资源使用情况对网络进行模块划分。这里将网络划分为5个模块,如表1所示,其中ADD代表ResNet网络中的直连层相加操作,MP指最大池化操作。表2为Ctiny网络结构。
表1子模块划分
Figure BDA0003228995250000051
表2 Ctiny网络结构
Figure BDA0003228995250000052
Figure BDA0003228995250000061
鉴于板上资源的限制,每个子模块的处理流程为:首先,从AXI总线读取特征图、参数值、整体缩放系数值以及整体的偏移系数值,并传入处理寄存器,由于图片尺寸较大,读取缓存数据的过程需重复多次。然后,进行DW或DDW操作,并将缓存的中间特征图通过AXI总线传入DDR中。待到所有通道维度均处理完毕,再从AXI总线传回特征图缓存值,并将所有通道的值累加以完成一次PW运算。最后,将处理完毕的数据通过AXI总线传回CPU端。至此完成了一次完整的子模块处理流程。本设计所提的CTiny模型在FPGA上的总体网络模型设计如图2所示,其中FM为输入特征图,Weight为参数值,Multiplier(M)为整体缩放系数值,Bias(B)为整体偏移系数值。
2、深度分离卷积设计及非对称填充方式
2.1深度分离卷积设计简介
本设计的主要应用领域为光学遥感图像,图像尺寸在一千像素左右。将图片输入检测网络时,需要对该大幅图像进行裁剪处理。最终输入检测网络的尺寸统一为512×512。即便如此,PYNQ-z2开发板的资源依然无法处理整幅图片,因此需将图像分割为片上能处理的最小处理单元。
因FPGA中计算资源的限制,需在输出通道数、特征图长度及宽度三个维度进行循环展开,分块进行卷积运算。本发明中,采用宽高维度作为循环展开的外层循环,通道维度作为里层内循环,由此可实现特征图在通道维度的并行计算。故中间特征图的存取方式应以通道维度优先。这里设置AXI传输带宽为128位,特征图每个像素点占据8位,因此每次缓存图数据突发可获得16个通道并行输入。同理设置权重值为6位,为对齐传输值,以8位数据传入,在实际计算时只考虑6位。而偏置值和量化系数值为32位浮点数据,这里将其转换为16位定点数据,故AXI数据突发传输为8个通道,可在设计时连续进行两次突发传输。
首先,DW卷积模块设计如图3所示。本设计将weight通过AXI总线传入片上缓存区域,并转换为所需的三维结构。设所需处理的特征图为
Figure BDA0003228995250000071
将其切割为片上能处理的最小处理单元
Figure BDA0003228995250000072
其中Cin为输入通道数,Hin、Win为片上所需处理图片的高和宽,并满足C=Nc×Cin,H=Nh×Hin,W=Nw×Win。因此一整幅图片的卷积操作需要重复Fin操作的次数为Nc×Nh×Nw。该种循环展开利于实现特征图分块载入片上缓存并流水复用的目的。但缺点是一次总线连续突发长度较短,为Hin
这里的卷积运算采用经典的滑窗思想。首先,按行输入,每次缓存k行,k为卷积核尺寸。然后,在每个时钟右移一个像素并进行卷积计算。最后,计算完k行后向下滑动计算特征图的下一组k行。因每个维度都是独立的,将Cin维度的卷积核按维度展开,每次可实现并行处理Cin次,因此每个时钟可并行计算Cin×k×k个像素点。另外,这里的DW模块需要适应三种计算情况,分别是(1)第一层卷积(只有3个输入通道);(2)步长为2;及(3)步长为1。
其次,考虑PW卷积模块设计。如图4所示。PW只涉及1×1的卷积核且步长为1,因此可以直接流水计算,计算方式如图5(a)和图5(b)所示。将卷积核按输出维度展开,每次可实现并行处理Cout×Cin个像素点。考虑到ResNet直连层中包含步长为2的PW卷积,本设计采用提前间隔采样的解决方法。由于PW模块本质上是特征图的各通道的值加权后得到的结果,并不涉及特征图的宽高维度的运算操作。因此对于步长为2的卷积操作,可以在采样阶段直接对其进行间隔采样,将采样结果组成一个完整的特征图。这种方式只存储最终参与卷积运算的数值,而提前抛弃不需要的数值,从采样阶段避免了存储资源的浪费。同时增加了PW模块的复用率,提高了资源的利用率。
最后,DDW模块的设计与DW模块基本相同,且步长均为1。不同之处在于卷积核大小不同以及特征图的填充方式不同。DW模块只需填充特征图周围P个像素,而DDW还需要在特征图的像素点之间填充,以达到尺度扩张若干倍的效果。
2.2卷积层中的分段量化缩放系数
本发明的分段量化缩放系数主要存在于卷积层的设计。Weight量化中每个卷积核独享一个量化缩放系数,Activation量化则是所有卷积核共享一个量化缩放系数。
设第i层激活值浮点数为Ai,第i+1层的激活值为Ai+1。相对应地,参与FPGA中MAC运算的量化激活值为
Figure BDA0003228995250000081
Figure BDA0003228995250000082
这里采用对称量化,激活值的量化比特数为NA,S为量化系数,该过程如式(1)所示:
Figure BDA0003228995250000083
其中:
Figure BDA0003228995250000084
设权重值的量化比特数为Nw,量化系数为Si.j W,其中下标i指第i层卷积,下标j代表卷积的第j个通道。则该层中的不同通道的卷积量化过程如式(2)所示,其中H和W为卷积核的高和宽。
Figure BDA0003228995250000085
再将式(2)传入批量归一化层(BN),γ为BN层的缩放系数,β为偏移,μ为批量数据的均值,σ为方差。将BN层融入卷积层的过程如式(3)所示,可保证一次卷积运算直接得到下一层的量化输入值。
Figure BDA0003228995250000086
其中:
Figure BDA0003228995250000087
其中M为该卷积层的整体缩放系数,B为整体偏移系数。这里先叠加B的原因是可以提前一步确定计算结果是否比0小,比零小的数据不再进行乘M的计算,更节约计算成本。本发明这里以有符号的16bit的定点数表示两种系数,其中M为远小于1的小数,因此需要将其量化为[-215,215-1]。而为了不消耗MAC资源,这里采用左/右移操作来实现两种缩放系数的反量化。
本发明所用检测网络的卷积层包含卷积运算和反卷积运算,其中卷积层进行图片尺度的缩小,而反卷积层实现图片尺度的扩大,最终输出高分辨率热点图,输出尺度为原始图片缩小四倍。图5中(a)和(b)分别为各层卷积激活值的整体缩放系数及整体偏移系数的最大值统计图。横坐标为各卷积层的索引值,纵坐标分别为整体缩放系数值和整体偏移系数值。不同层的整体缩放系数最大相差1000倍,而整体偏移系数相差4000倍。现有技术将二者每层缩放固定值。其不影响最终效果是因为该工作的检测目标呈现尺度相似的特点,且检测网络的卷积层较为规整,不包含ResNet的直连层。但面对本发明这种背景复杂,目标尺度差异大的检测图像,包含直连层的检测网络才能得到较好的检测精度。为了使本设计具有更强的易迁移性和通用性,因此本发明提出分段量化整体缩放系数。
由上述可知,M的值极小而B的值极大。部署时需要将其通过线性运算分布于[-215,215-1]。本发明提出对量化系数采取分段量化和逐层量化两种方式。分段量化需要设置分段数为R,而逐层量化则为每一层卷积设置不同量化系数。设某一段每个卷积层缩放系数为M,其定点数为
Figure BDA0003228995250000091
的右移位数为KM,偏移系数B的左移位数为KB,这样B可获得较大分布范围,对于检测大尺度目标效果显著。则为了经过四舍五入后与浮点数更接近,需叠加一个常量G,这里G=1<<(KM-1)。这里算法的参数值存储需要配合该硬件的改进。则该段的计算过程为:
Figure BDA0003228995250000092
2.3非对称填充
在进行卷积操作之前,需要从总线中读取所需要的数据,并组合成为片上能处理的最小单元,该过程被称为Load_IMG。为了最大化资源的利用率,本设计希望能设计出一种通用的卷积Load_IMG函数,使得特征图的缓存值满足所有的子模块需求,即包含两次下采样卷积(stride=2以及最大池化操作)、一次下采样卷积、无下采样卷积和反卷积。
这里主要考虑最复杂的两种情况,分别是子模块中包含两次下采样卷积和反卷积操作。针对反卷积操作,本设计提出一种左右非对称填充方法,即在图像左上侧补充3个像素点,右下侧补充一个像素点。在第一个子模块中,第一层卷积下采样操作对应输入特征图四周补一列0,第二层最大池化操作也需要周围补0。最大池化操作的每个值对应上一层的感受野是3×3。因此,为兼顾两层,输入特征图四周应补充3列0。而本设计中图片右侧及下侧仅补充1个像素点的原因是为了满足步长为1的卷积操作,同时兼顾两次下采样操作,分析最大池化和卷积操作可得,其感受野均为3×3,输入特征图为偶数,则刚好不需要右侧填充。该过程的详细介绍如图6所示。设图中输入图片大小为8×8,如阴影所示,左边填充3,右边填充1后,得到12×12的图片。进行第一次卷积操作后,得到6×6的图片大小(浅蓝色像素点)。之后进行最大池化操作,便可得到预期的2×2的图片。而对比于通常意义上的左右对称填充(需要左右各填充3个像素),可以减小缓存的图片尺寸,从而降低计算资源。对于反卷积来说,其需要左右对称填充,因此这里可设置在输入特征图的左右两侧各填充2个像素点,同时在各像素之间补充数值。
2.4下采样拼接
下采样拼接致力于解决DW中卷积步长为2的情况,如图7所示。下采样融合将四个片上处理单元视为一组。当卷积步长为2时,输出的特征图的面积为之前的1/4,。设置输入特征图为片上最小处理单元的大小
Figure BDA0003228995250000101
则输出特征图为
Figure BDA0003228995250000102
为了使得输出特征图仍旧适用于最小处理单元,设置输出坐标点的分块位置,如图所示。则每输入完一组图片(4次)便可得到原始图片大小,便于后续的存储和读取。
3、输入层的归一化融合及后处理融合
3.1输入层融合
正如我们所常处理的数据一样,输入的光学遥感图像也为RGB三通道数据,并且每通道数据采用8bit存储。但常见的检测算法需要先对图片进行预处理,并将数值归一化为正态分布,其数值有正有负。而在部署过程中,该步骤存在一定的困难。其一,硬件的输入输出的定点数均设置为无符号的8比特定点数,存在数据类型不匹配问题。若将归一化后的原始图像通过均匀量化转为[0,255]之间,会产生放缩和偏移量,而从硬件层面上说,卷积计算中,输入数据直接进行乘累加操作,无多余的操作来进行输入数据的反量化处理,而开辟新的计算模块会使得复用率低,造成资源浪费。其二,两次转换会造成较大的精度损失。因此,我们考虑在硬件的Load_IMG步骤中融入归一化操作。
设原始输入图像为X0,数据集均值为mean∈R3×1,标准差为std∈R3×1。输入图片的正态化过程定义如下:
Figure BDA0003228995250000103
数据归一化后经过卷积层和BN层后的结果如式(6)所示:
Figure BDA0003228995250000104
与式(3)对照可得
Figure BDA0003228995250000105
简化式(6)可得
Figure BDA0003228995250000106
Figure BDA0003228995250000107
其中I是个与输入数据无关的常数值,只与通道有关,因此可以提前计算出输入三个通道的数值,并将其视为整体偏移系数的一部分。
归一化处理时需要注意的是,载入图像Load_IMG过程中需要对原始图像进行补0操作。因为算法层面是在归一化之后补零,而本发明所提硬件方法是在归一化之前补0。当按照上述的输入层归一化融合操作后,硬件层面补充的0值相当于实际运算中多余偏移值I。因此本设计将补充值按照不同通道分别补充IP=255×mean,代替以往的0值。该过程如图8所示,其中j代表第j通道,Bj为原始的整体偏移系数。
3.2后处理融合
目标检测网络的FPGA实现常基于预选框检测网络,其需要输出若干个预选框之后进行非极大值抑制操作,而这一复杂的操作又只能在CPU端处理,因此极大地影响了检测速度。CTiny网络则是输出高分辨率的热点图,并通过最大池化的方法找到一定区域内的最大值,以此确定目标的位置。最大池化操作在CPU端运行极为缓慢,因此本发明考虑将算法中的最大池化操作和sigmoid函数操作调换顺序,在FPGA端处理MP,以此可大大降低预测时间。如图9所示,PS指CPU端,PL指FPGA端。将MP操作提前后,sigmoid操作可在后续处理过程中省去。因后续已经确定目标出现位置,只需将宽、高和偏移量提取出即可,无需sigmoid进一步操作。因图像处理结果输出值大于0等同于Sigmoid操作输出值大于0.5,所以FPGA端的MP操作可提前筛选掉分类概率小于0.5的目标。因此,本发明所提后处理融合可极大的节约检测时间。
本发明的CPU端调用该卷积核IP的流程图如图10所示。本设计中共有15个子模块,每个子模块经过卷积处理后的输出值作为新的输入传入下个子模块,共循环15次,直到输出最终包含定位、回归和中心偏移的检测结果,经过后处理在原始图片上框出目标,最终输出带有标记框的图片,并显示出来。
后处理时,需要从预测定位热点图中进行排序,得到前K个点(K为设置的最大检测目标数)。这K个点代表了检测到的物体的中心点。并根据K个点得到对应的坐标索引,再根据坐标索引在回归预测热点图中得到预测的宽度和高度,在偏移预测热点图中得到中心点在x轴和y轴上的偏移量。该过程如图11所示,图中(x0,y0)和(x1,y1)为K中的两个预测物体的中心点坐标索引,它们代表周围区域中的最大点。最终,可以输出预测结果。
基于上述分析,得到本发明的检测模型结构图如图12所示。
下面结合附图和实施例对本发明的技术方案进行详细的说明。
实施例1
本发明的实施例1提供了一种基于PYNQ的无预选框检测系统。
具体实施方法包含以下步骤:
1、测试数据集的选取
采用公开的光学遥感数据集NWPU VHR-10。NWPU VHR-10有标注信息的图像650张,共包含10类目标,分别为:飞机、舰船、油罐、棒球场、网球场、篮球场、田径场、港口、桥梁和车辆。这里只采用有数据集的图像进行训练。对数据集进行裁剪处理,裁剪后图像尺寸为640×640,两张相邻图像的重叠像素点为140。输入图像进行线性变换尺寸为512×512。将裁剪后图像的20%作为测试集。从各类中随机挑出两张作为可视化测试图片,用以检测输出检测标记框是否准确。
2、检测指标
本发明采用的检测指标为平均检测均值(mAP),即计算所有类别的平均检测精度。首先,本设计中检测算法设置一张图中检出目标数最多为64。其次,在64个候选目标框中挑选其中与真实目标框的交并比大于0.5的框,并认为这些预测框检测到了目标。交并比(Iou)即指两个候选框之间的交集与并集的比值,其公式如式(9)所示:
Figure BDA0003228995250000121
其中P为预测目标框,R为真实目标框。然后,计算预测目标中每类的平均精度(AP),即Precision-Recall曲线下的面积。其中准确率(Precision)是指被预测为正样本中的真实正样本的比例,而召回率(Recall)指被预测为正样本占所有真实正样本的比例。最后,通过求取AP的平均值得到本算法的mAP值,mAP值越高,检测性能越好。
3、内存资源占用
本设计将压缩后的网络称为CTiny模型,原始模型称为CenterNet。在算法端按照前文所述的压缩方法压缩后,占用的存储空间如表3所示。可以看到,经模型压缩方法处理后的检测模型内存占用极低,参数量减少为之前的5%,且所有数值均为定点数,更适合于FPGA端部署。
4、为验证本发明所提方法的有效性,本设计评估定点数检测网络CTiny、CTiny_cut、CTiny_block和CTiny_piece基于NWPU VHR-10数据集的检测平均准确率,并详细对比了各类别的平均精度,如表格3所示。从表格可以看出,经蒸馏后的量化小型网络CTiny基本可以实现检测需求,虽然主干网络只有9层完整卷积(共18层分离卷积),参数值和激活值也分别量化为了6比特和8比特,但其检测准确度达到了89.08%mAP。在M和B从32位浮点数量化为16位定点数后,经FPGA部署,CTiny网络的检测精度会大幅下降。采用直接截断、分块量化和逐层量化的方式分别量化M和B的结果如表格中CTiny_cut、CTiny_block和CTiny_piece中数据所示。通过结果可以看出,直接取中间值截断的方法CTiny_cut效果最差,分析是因为大量削减了数值中的大数,而这些数值较大的M和B往往是决定检测效果的关键数据。CTiny_block取折中的方法,分析每层量化系数和偏置的数值,统计它们的分布范围,最终将其划分在4个区域块中,CTiny_block综合考虑了所有层的量化系数和偏置的影响,有效提高了检测效果。而针对每层系数均做处理的CTiny_piece则进一步提高了该小型定点网络的检测性能,相比CTiny_cut和CTiny_block分别提高了14.27%mAP和2.63%mAP,证明了本发明所提高放缩的分段量化系数的方法的有效性。
CTiny_cut、CTiny_block和CTiny_piece运行36层分离卷积的时间及所占资源分别如表3、表4所示。CTiny_piece和CTiny_block均为在PL端实现MP操作,而CTiny_piece(woMP)的Sigmoid函数和MP操作均在PS端实现。表5可以看出CTiny_piece(woMP)的后处理时间长达9.48s,远远不能达到实际需求,而将Sigmoid操作省去,在FPGA端提前处理MP则将后处理时间控制在0.24s,极大地减少了后处理时间,而FPGA端时间仅增加了0.008s,证明了本设计的有效性。表6为FPGA资源占用率。
表3 CTiny与CenterNet的内存占用比较
Figure BDA0003228995250000131
表4不同模型在NWPU VHR-10数据集的平均检测精度对比
Figure BDA0003228995250000132
Figure BDA0003228995250000141
表5基于PYNQ-z2开发板的前向推断时间(单位:s)
Figure BDA0003228995250000142
表6 FPGA资源占用率
Figure BDA0003228995250000143
创新点:
本方案主要实现了CTiny检测网络在PYNQ框架下的部署和实现,主要的创新点如下:
(1)在卷积模块,在FPGA端设计了分块量化缩放系数和分层量化缩放系数两种方式,相比于传统方式的阶段量化的方式,提高了目标检测的精度。
(2)提出非对称的填充方式和下采样融合的处理方式。非对称填充适合于卷积层同时满足普通卷积运算和反卷积运算,下采样融合方式则针对于步长为2的卷积层,为保持计算前后特征图尺度不变,提高资源利用率。
(3)将图片预处理和后处理的定位操作从CPU端提前至FPGA端,减少了检测时间,提高了卷积模块复用率。
本发明提出了一种基于PYNQ的无预选框检测网络设计及实现方法,在资源受限的开发板上分块部署了CTiny模型,在保证前向推断速度的同时,通过分段量化缩放系数的方法提高检测精度,通过图像预处理融合和后处理融合的方式提高检测速度,最终实现完整的部署方案。通过模型压缩得到的CTiny模型的资源占用仅为250.5KB,在工作频率为100MHz的PYNQ-z2开发板上运行36次分离卷积操作需要376ms,是工作频率150MHz的YOLO-v2算法处理图像速度的2倍。同时经实验验证证明,本设计所提的高放缩量化系数的方法在公开的光学遥感数据集NWPU VHR-10的检测平均精度达到81.6%mAP,与截断量化方法的67.33%mAP相比,检测精度提升了14.27%mAP,降低了量化部署导致的精度损失,在实际部署方面有广泛的应用前景。
本发明基于CenterNet算法,采用分离卷积、剪枝、蒸馏及量化等模型压缩方法获得了小型网络CTiny,并设计了一种适合该算法的可复用卷积加速模块;首先本发明融合多类卷积模块、参数采样重组模块、分段量化缩放系数等方法以实现检测模型的前向推断功能;然后,将图像预处理及后处理操作融合入FPGA端,以提高检测速度;最后,采用多通道并行传输数据,提高总线带宽的利用率。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种基于PYNQ的无预选框检测系统,部署在FPGA上,其特征在于,所述系统包括:预处理模块、预先建立和训练好的检测模型和后处理模块;其中,
所述预处理模块,用于将光学遥感图形进行裁剪和归一化处理;
所述检测模型为基于CenterNet算法,采用分离卷积、剪枝、蒸馏及量化模型压缩方法,提取得到的精简型模型,用于在保证前向推断速度的同时,通过若干次循环的进行分段量化缩放系数和后处理融合对预处理后的图形进行检测,输出包含定位、回归和中心偏移的检测结果至后处理模块;
所述后处理模块,用于根据检测结果输出带有标记框的图片,完成预测。
2.根据权利要求1所述的基于PYNQ的无预选框检测系统,其特征在于,所述预处理模块的具体处理过程包括:对接收的光学遥感图像进行裁剪处理,经归一化处理得到符合预设尺寸和像素范围值的预处理图像。
3.根据权利要求1所述的基于PYNQ的无预选框检测系统,其特征在于,所述检测模型的主干网络为ResNet_9,包括串联的残差卷积层、分支检测层和后处理融合层;其中,
所述残差卷积层采用宽高维度作为循环展开的外层循环,通道维度作为里层内循环,实现特征图在通道维度的并行计算;
所述分支检测层包括三路分支检测支路,分别输出定位预测热点图,回归预测热点图和中心偏移预测热点图;
所述后处理融合层,用于通过最大池化的方法从定位预测热点图中找到一定区域的最大值,由此确定目标位置。
4.根据权利要求3所述的基于PYNQ的无预选框检测系统,其特征在于,残差卷积层包括5个串联的子模块,每个子模块的卷积运算用于进行图片尺寸的缩小,反卷积运算用于实现图片尺寸的扩大,每个子模块包括普通分离卷积块或分离反卷积块,以及点卷积块,对于具有普通分离卷积或分离反卷积处理的子模块采用非对称的填充方式,对于步长为2的卷积运算的子模块采用下采样融合方式。
5.根据权利要求4所述的基于PYNQ的无预选框检测系统,其特征在于,每个子模块的处理过程包括:
通过AXI总线读取特征图、参数值、整体缩放系数值以及整体的偏移系数值,传入处理寄存器;
进行普通分离卷积或分离反卷积处理,并将缓存的中间特征图通过AXI总线传入DDR中;
当所有通道维度均处理完毕,通过AXI总线传回特征图缓存值,并将所有通道的值累加以完成一次普通分离卷积运算;
将处理完毕的数据通过AXI总线传回CPU端。
6.根据权利要求5所述的基于PYNQ的无预选框检测系统,其特征在于,所述普通分离卷积块用于将权值通过AXI总线传入片上缓存区域,并转换为所需的三维结构,采用滑窗思想进行卷积计算,填充特征图周围若干个像素。
7.根据权利要求6所述的基于PYNQ的无预选框检测系统,其特征在于,所述分离反卷块用于对特征图各通道的值加权,卷积核步长为1,采用直接流水计算,在特征图的像素点之间填充,使得特征图尺度扩张若干倍。
8.根据权利要求3所述的基于PYNQ的无预选框检测系统,其特征在于,所述后处理融合层包括在FPGA端进行的最大池化操作。
9.根据权利要求1所述的基于PYNQ的无预选框检测系统,其特征在于,所述后处理模块的具体处理过程包括:
对定位预测热点图进行排序,得到前K个点;K为设置的最大检测目标数;根据K个点得到对应的坐标索引,再根据坐标索引在回归预测热点图中得到预测的宽度和高度,在中心偏移预测热点图中得到中心点在x轴和y轴上的偏移量,输出带有标记框的图片,完成预测。
10.根据权利要求1所述的基于PYNQ的无预选框检测系统,其特征在于,所述检测模型的训练过程包括:
从公开的光学遥感数据集NWPU VHR-10中选取有标注信息不同目标的图像建立训练集;
对训练集的数据进行裁剪和线性变换处理;
将处理后的数据输入检测模型,调整模型参数,得到满足阈值要求的检测模型。
CN202110980885.6A 2021-08-25 2021-08-25 一种基于pynq的无预选框检测系统 Active CN113744220B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110980885.6A CN113744220B (zh) 2021-08-25 2021-08-25 一种基于pynq的无预选框检测系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110980885.6A CN113744220B (zh) 2021-08-25 2021-08-25 一种基于pynq的无预选框检测系统

Publications (2)

Publication Number Publication Date
CN113744220A true CN113744220A (zh) 2021-12-03
CN113744220B CN113744220B (zh) 2024-03-26

Family

ID=78732912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110980885.6A Active CN113744220B (zh) 2021-08-25 2021-08-25 一种基于pynq的无预选框检测系统

Country Status (1)

Country Link
CN (1) CN113744220B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114897292A (zh) * 2022-03-28 2022-08-12 南京林业大学 基于多尺度残差卷积变分网络故障诊断方法和诊断系统

Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729799A (zh) * 2017-06-13 2018-02-23 银江股份有限公司 基于深度卷积神经网络的人群异常行为视觉检测及分析预警系统
CN109684910A (zh) * 2018-10-30 2019-04-26 中国科学院遥感与数字地球研究所 一种网络检测输电线路地表环境变化的方法及系统
CN109948415A (zh) * 2018-12-30 2019-06-28 中国科学院软件研究所 基于背景过滤和尺度预测的光学遥感图像目标检测方法
CN110532859A (zh) * 2019-07-18 2019-12-03 西安电子科技大学 基于深度进化剪枝卷积网的遥感图像目标检测方法
CN111091105A (zh) * 2019-12-23 2020-05-01 郑州轻工业大学 基于新的边框回归损失函数的遥感图像目标检测方法
CN111459877A (zh) * 2020-04-02 2020-07-28 北京工商大学 基于FPGA加速的Winograd YOLOv2目标检测模型方法
CN111666836A (zh) * 2020-05-22 2020-09-15 北京工业大学 M-f-y型轻量化卷积神经网络的高分辨率遥感影像目标检测方法
CN111709522A (zh) * 2020-05-21 2020-09-25 哈尔滨工业大学 一种基于服务器-嵌入式协同的深度学习目标检测系统
CN111767847A (zh) * 2020-06-29 2020-10-13 佛山市南海区广工大数控装备协同创新研究院 一种集成目标检测和关联的行人多目标跟踪方法
CN112308019A (zh) * 2020-11-19 2021-02-02 中国人民解放军国防科技大学 基于网络剪枝和知识蒸馏的sar舰船目标检测方法
CN112364719A (zh) * 2020-10-23 2021-02-12 西安科锐盛创新科技有限公司 一种遥感图像目标快速检测方法
CN112446327A (zh) * 2020-11-27 2021-03-05 中国地质大学(武汉) 一种基于无锚框的遥感图像目标检测方法
CN112529178A (zh) * 2020-12-09 2021-03-19 中国科学院国家空间科学中心 一种适用于无预选框检测模型的知识蒸馏方法及系统
CN112991382A (zh) * 2019-12-02 2021-06-18 中国科学院国家空间科学中心 一种基于pynq框架的异构视觉目标跟踪系统及方法
CN113177503A (zh) * 2021-05-13 2021-07-27 中国人民解放军陆军炮兵防空兵学院 基于yolov5的任意朝向目标十二参数检测方法
US20210256680A1 (en) * 2020-02-14 2021-08-19 Huawei Technologies Co., Ltd. Target Detection Method, Training Method, Electronic Device, and Computer-Readable Medium

Patent Citations (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729799A (zh) * 2017-06-13 2018-02-23 银江股份有限公司 基于深度卷积神经网络的人群异常行为视觉检测及分析预警系统
CN109684910A (zh) * 2018-10-30 2019-04-26 中国科学院遥感与数字地球研究所 一种网络检测输电线路地表环境变化的方法及系统
CN109948415A (zh) * 2018-12-30 2019-06-28 中国科学院软件研究所 基于背景过滤和尺度预测的光学遥感图像目标检测方法
CN110532859A (zh) * 2019-07-18 2019-12-03 西安电子科技大学 基于深度进化剪枝卷积网的遥感图像目标检测方法
CN112991382A (zh) * 2019-12-02 2021-06-18 中国科学院国家空间科学中心 一种基于pynq框架的异构视觉目标跟踪系统及方法
CN111091105A (zh) * 2019-12-23 2020-05-01 郑州轻工业大学 基于新的边框回归损失函数的遥感图像目标检测方法
US20210256680A1 (en) * 2020-02-14 2021-08-19 Huawei Technologies Co., Ltd. Target Detection Method, Training Method, Electronic Device, and Computer-Readable Medium
CN111459877A (zh) * 2020-04-02 2020-07-28 北京工商大学 基于FPGA加速的Winograd YOLOv2目标检测模型方法
CN111709522A (zh) * 2020-05-21 2020-09-25 哈尔滨工业大学 一种基于服务器-嵌入式协同的深度学习目标检测系统
CN111666836A (zh) * 2020-05-22 2020-09-15 北京工业大学 M-f-y型轻量化卷积神经网络的高分辨率遥感影像目标检测方法
CN111767847A (zh) * 2020-06-29 2020-10-13 佛山市南海区广工大数控装备协同创新研究院 一种集成目标检测和关联的行人多目标跟踪方法
CN112364719A (zh) * 2020-10-23 2021-02-12 西安科锐盛创新科技有限公司 一种遥感图像目标快速检测方法
CN112308019A (zh) * 2020-11-19 2021-02-02 中国人民解放军国防科技大学 基于网络剪枝和知识蒸馏的sar舰船目标检测方法
CN112446327A (zh) * 2020-11-27 2021-03-05 中国地质大学(武汉) 一种基于无锚框的遥感图像目标检测方法
CN112529178A (zh) * 2020-12-09 2021-03-19 中国科学院国家空间科学中心 一种适用于无预选框检测模型的知识蒸馏方法及系统
CN113177503A (zh) * 2021-05-13 2021-07-27 中国人民解放军陆军炮兵防空兵学院 基于yolov5的任意朝向目标十二参数检测方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
YONGSAI HAN: "Effective Complex Airport Object Detection in Remote Sensing Images Based on Improved End-to-End Convolutional Neural Network", 《IEEE XPLORE》, 4 September 2020 (2020-09-04) *
吴俣: "基于深度学习的弱监督目标检测研究", 《CNKI中国知网》, 15 May 2021 (2021-05-15) *
韩传毅: "面向铁路场景的轻量化行人检测网络设计与实现", 《CNKI中国知网》, 15 March 2021 (2021-03-15) *
魏玮: "改进CenterNet的遥感图像目标检测", 《计算机工程与应用》, no. 57, pages 1 - 2 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114897292A (zh) * 2022-03-28 2022-08-12 南京林业大学 基于多尺度残差卷积变分网络故障诊断方法和诊断系统

Also Published As

Publication number Publication date
CN113744220B (zh) 2024-03-26

Similar Documents

Publication Publication Date Title
CN114120019B (zh) 一种轻量化的目标检测方法
CN112329658B (zh) 一种对于yolov3网络的检测算法改进方法
CN109241982B (zh) 基于深浅层卷积神经网络的目标检测方法
CN111461083A (zh) 基于深度学习的快速车辆检测方法
CN110533022B (zh) 一种目标检测方法、系统、装置及存储介质
CN111144329A (zh) 一种基于多标签的轻量快速人群计数方法
CN113326930B (zh) 数据处理方法、神经网络的训练方法及相关装置、设备
WO2022095253A1 (zh) 一种基于深度通道感知的去除云雾方法
CN113052006B (zh) 一种基于卷积神经网络的图像目标检测方法,系统及可读存储介质
CN110569851A (zh) 门控多层融合的实时语义分割方法
CN115035295B (zh) 一种基于共享卷积核和边界损失函数的遥感图像语义分割方法
CN116469100A (zh) 一种基于Transformer的双波段图像语义分割方法
CN113901928A (zh) 一种基于动态超分辨率的目标检测方法、输电线路部件检测方法及系统
CN112215199A (zh) 基于多感受野与密集特征聚合网络的sar图像舰船检测方法
CN115565043A (zh) 结合多表征特征以及目标预测法进行目标检测的方法
CN116580184A (zh) 一种基于YOLOv7的轻量化模型
Zhang et al. FFCA-YOLO for small object detection in remote sensing images
Wu et al. Vehicle detection based on adaptive multi-modal feature fusion and cross-modal vehicle index using RGB-T images
CN113744220A (zh) 一种基于pynq的无预选框检测系统
CN114373104A (zh) 一种基于动态聚合的三维点云语义分割方法及系统
CN117612153A (zh) 基于图像与点云信息补全的三维目标识别与定位方法
CN112132207A (zh) 基于多分支特征映射目标检测神经网络构建方法
CN114494284B (zh) 一种基于显式监督区域关系的场景解析模型及方法
CN116363415A (zh) 一种基于自适应特征层融合的船舶目标检测方法
CN116309213A (zh) 一种基于生成对抗网络的高实时多源图像融合方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant