一种基于FPGA加速的MobileNet-SSD目标检测装置及方法制造方法及图纸

技术编号:29099453 阅读:82 留言:0更新日期:2021-06-30 10:11
本发明专利技术提供了一种基于FPGA加速的MobileNet

【技术实现步骤摘要】
一种基于FPGA加速的MobileNet

SSD目标检测装置及方法


[0001]本专利技术涉及目标检测识别
,具体涉及一种基于FPGA加速的MobileNet

SSD目标检测装置及方法。

技术介绍

[0002]目标检测在人工智能、医疗研究和国防安全等民用和军用领域等都应用广泛,基于深度学习的目标检测算法是利用卷积神经网络CNN(Convolutional Neural Network)提取特征并完成图像分类和定位,精度和速度相较于传统算法都大幅度提升,但卷积神经网络往往存在庞大的参数量和计算量,并且网络层参数和结构多变,这导致目标检测算法很难应用在资源有限、要求高处理速度和低功耗的嵌入式场合。相较于GPU和ASIC嵌入式平台,FPGA具有低成本、可重构、能效比高等优势,故在FPGA硬件平台上完成基于深度学习的目标检测算法硬件加速实现。
[0003]将目前最先进的基于CNN的目标检测算法部署到FPGA中以达到硬件加速的目的主要存在以下两个难点:(1)以卷积神经网络为基础的目标检测算法通常网络模型较复杂、参数量和计算量较大,而FPGA存储资源、计算资源和系统带宽都极其有限,这造成了系统在实时性方面的问题。(2)大多数的基于CNN的目标检测算法模型具有不同的网络规模和结构,并且由于卷积神经网络的层次化结构,不同的网络层参数也可能是不同的(例如不同的卷积层具有不同大小的卷积核和步长等)。故需要更合适的嵌入式硬件平台和更准确且轻量化的目标检测算法应用改善目前的难点。
>
技术实现思路

[0004]本专利技术的目的是针对现有技术存在的上述问题,克服现有技术的不足之处,采用改进的Mobilenet

SSD作为目标检测算法,通过并行分块参数优化法和流水线算法运行Mobilenet

SSD卷积神经网络,对目标类别进行预测,并回归检测目标位置,从而实现高精度目标检测。
[0005]为解决上述技术问题,本专利技术采用的技术方案为:
[0006]一种基于FPGA加速的MobileNet

SSD目标检测方法,包括如下步骤:
[0007]Step1:获取待检测目标初始图像,将目标初始图像数据和卷积神经网络权值文件存储于外部储存器DDR中;
[0008]Step2:在Mobilenet

SSD卷积神经网络中加入检测层,在不同网络层间共享加速器,CNN加速器上设置片上缓冲区;
[0009]Step3:通过并行分块参数优化法运行Mobilenet

SSD卷积神经网络,输出目标图像的特征图通道和卷积核通道的分块系数;
[0010]Step4:通过流水线算法,完成Mobilenet

SSD卷积神经网络的目标特征提取、边界框回归及物体类别预测;
[0011]Step5:对卷积神经网络得到的目标特征提取、边界框回归及物体类别预测信息进
行后处理;
[0012]Stsp6:在待检测目标图像上测试目标检测结果。
[0013]进一步的,step2中片上缓冲区包括:

输入缓存区,用来储存输入特征图数据;

权值缓存区,用来存储权重;

输出缓存区,用来储存中间结果和最终输出特征图数据。
[0014]优选的,Step2中Mobilenet

SSD卷积神经网络是以Mobilenet作为主干网络,仿照VGG

SSD的结构,在Mobilenet的conv13后面添加8个卷积层,然后抽取6层用作检测,Mobilenet包含深度上可分离的卷积运算,减少卷积核的冗余表达,减少网络的参数量和计算量。
[0015]进一步的,Step3中并行分块参数优化法包括如下步骤:
[0016]Step3.1:分别计算输入特征值的宽和高的分块系数T
wi
和T
hi

[0017]T
wi
=S*T
w
+K

S
ꢀꢀ
(1)
[0018]T
hi
=S*T
h
+K

S
ꢀꢀ
(2)
[0019]其中,T
wi
表示输入特征值的宽的分块系数,T
hi
表示输入特征值的高的分块系数,T
w
表示输出特征图的宽的分块系数,T
h
表示输出特征图的高的分块系数,K表示卷积核的大小,S表示卷积步长,
[0020]Step3.2:基于分块系数,计算通信比CR:
[0021][0022]其中,CR表示通信比,W表示输出特征图的宽,H表示输出特征图的高,M表示输出特征图的通道数,N表示输出特征图的卷积核通道数,K表示卷积核的大小,α
in
表示输入层所需计算存储的所有分块数,β
in
表示输入层所需计算存储的分块数大小,α
w
表示卷积层所需计算存储的所有分块数,β
w
表示卷积层所需计算存储的分块数的大小,α
out
表示输出层所需计算存储的所有分块数,β
out
表示输出层所需计算存储的分块数的大小,
[0023]上述公式中,α
in
、β
in
、α
w
、β
w
、α
out
和β
out
分别基于下述公式求解:
[0024]β
in
=T
ni
T
wi
T
hi
ꢀꢀ
(4)
[0025]β
w
=T
m
T
n
K2ꢀꢀ
(5)
[0026]β
out
=T
m
T
w
T
h
ꢀꢀ
(6)
[0027][0028][0029]其中,T
ni
表示输入特征图的通道对应的分块系数,T
w
表示输出特征图的宽的分块系数,表示,T
h
表示输出特征图的高的分块系数,T
m
表示输出特征图的通道数的分块系数,T
n
表示输出特征图的卷积核通道数的分块系数,
[0030]Step3.3:按照资源瓶颈近似公式,计算资源瓶颈R:
[0031][0032]其中,R表示资源瓶颈,与总操作数和系统时钟频率正向相关,与执行周期数反向相关,
[0033]Step3.4:基于约束条件,在Mobilenet

SSD卷积神经网络下求解全局最优的T
m
和T...

【技术保护点】

【技术特征摘要】
1.一种基于FPGA加速的MobileNet

SSD目标检测方法,其特征在于,包括如下步骤:Step1:获取待检测目标初始图像,存储目标初始图像数据和卷积神经网络权值文件;Step2:在Mobilenet

SSD卷积神经网络中加入检测层,在不同网络层间共享加速器,加速器上设置片上缓冲区;Step3:通过并行分块参数优化法运行Mobilenet

SSD卷积神经网络,输出目标图像的特征图通道和卷积核通道的分块系数;Step4:通过流水线算法,完成Mobilenet

SSD卷积神经网络的目标特征提取、边界框回归及物体类别预测;Step5:对卷积神经网络得到的目标特征提取、边界框回归及物体类别预测信息进行后处理;Stsp6:在待检测目标图像上测试目标检测结果。2.根据权利要求1所述的一种基于FPGA加速的MobileNet

SSD目标检测方法,其特征在于,step2中片上缓冲区包括:

输入缓存区,用来储存输入特征图数据;

权值缓存区,用来存储权重;

输出缓存区,用来储存中间结果和最终输出特征图数据。3.根据权利要求1所述的一种基于FPGA加速的MobileNet

SSD目标检测方法,其特征在于,Step2中Mobilenet

SSD卷积神经网络是以Mobilenet作为主干网络,仿照VGG

SSD的结构,在Mobilenet的conv13后面添加8个卷积层,然后抽取6层用作检测,Mobilenet包含深度上可分离的卷积运算,减少卷积核的冗余表达,减少网络的参数量和计算量。4.根据权利要求1所述的一种基于FPGA加速的MobileNet

SSD目标检测方法,其特征在于,Step3中并行分块参数优化法包括如下步骤:Step3.1:分别计算输入特征值的宽和高的分块系数T
wi
和T
hi
:T
wi
=S*T
w
+K

S
ꢀꢀ
(1)T
hi
=S*T
h
+K

S
ꢀꢀ
(2)其中,T
wi
表示输入特征值的宽的分块系数,T
hi
表示输入特征值的高的分块系数,T
w
表示输出特征图的宽的分块系数,T
h
表示输出特征图的高的分块系数,K表示卷积核的大小,S表示卷积步长,Step3.2:基于分块系数,计算通信比CR:其中,CR表示通信比,W表示输出特征图的宽,H表示输出特征图的高,M表示输出特征图的通道数,N表示输出特征图的卷积核通道数,K表示卷积核的大小,α
in
表示输入层所需计算存储的所有分块数,β
in
表示输入层所需计算存储的分块数大小,α
w
表示卷积层所需计算存储的所有分块数,β
w
表示卷积层所需计算存储的分块数的大小,α
out
表示输出层所需计算存储的所有分块数,β
out
表示输出层所需计算存储的分块数的大小,上述公式中,α
in
、β
in
、α
w
、β
w
、α
out
和β
out
分别基于下述公式求解:β
in
=T
ni
T
wi
T
hi
ꢀꢀ
(4)β
w
=T
m
T
n
K2ꢀꢀ
(5)β
out
=T
m
T
w
T
h
ꢀꢀ
(6)
其中,T
ni
表示输入特征图的...

【专利技术属性】
技术研发人员:程明潘国标
申请(专利权)人:南京工业大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1