一种改进SSD的轻量化小目标检测方法与流程

文档序号:14951121发布日期:2018-07-17 22:34阅读:304来源:国知局



背景技术:
:目标检测是计算机视觉领域的重要研究方向之一,传统的目标检测方法是通过构建特征描述子提取特征后利用分类器对特征进行分类实现目标检测,如梯度方向直方图hog(histogramoforientedgradient)和支持向量机svm(supportvectormachine)。随着深度学习在图像分类领域的优异表现,卷积神经网络在计算机视觉的各领域开始得到了广泛使用。在目标检测领域中使用深度学习实现目标检测成为一个新的方向。

2015年shaoqingren等提出fasterr-cnn深度学习目标检测算法,在平均精准度map(meanaverageprecision)上高于特征描述子与分类器结合的传统方法。但fasterr-cnn存在检测速度慢的问题。

2016年,josephredmon等在cvpr(ieeeconferenceoncomputervisionandpatternrecognition)会议上提出了目标检测算法yolo。同年weiliu等在eccv会议上(europeanconferenceoncomputervision)提出了目标检测算法ssd(single-shotdetector)。yolo与ssd通过回归的方式完成目标检测,使利用深度学习的方式进行目标检测达到实时的检测速度。

fasterr-cnn属于两步目标检测算法,通过分类与回归两步完成目标检测。yolo和ssd属于one-stage目标检测算法,通过单步回归直接实现目标检测,在达到高速的同时存在小目标检测能力差的问题。而在实际工程应用中待检测目标占图像比例较小的情况更为普遍。

ssd虽然可以在titanx等gpu服务器上达到实时的效果,但ssd模型参数过多,运行内存占用量过大,在显存容量较小的gpu设备或arm等移动嵌入式设备上无法运行。



技术实现要素:

发明目的:本发明以ssd为基础,借鉴fpn的网络结构对ssd进行改进。利用低卷积层拥有小局部感知野的特点,通过逆卷积结构将低分辨率高语义信息特征图与高分辨率低语义信息特征图相融合,达到提升目标检测算法的平均精准度的目的。在特征提取部分,利用深度可分离卷积,逐点分组卷积与通道重排提出轻量化特征提取最小单元,更改特征提取模型达到减少网络模型参数数量、降低模型运行内存占用量、加速算法运行速度的目的。

技术方案:

一种改进ssd的轻量化小目标检测方法,该方法在ssd中引入逆卷积结构,在ssd特征提取部分使用轻量化特征提取最小单元,该方法的具体步骤为:

步骤一:在ssd中引入逆卷积结构,

具体步骤如下:

(1)ssd以回归的方式得到目标的类别和位置;选取网络结构中六种不同分辨率的特征图,对这六种特征图取不同尺寸的候选框;六种特征图通过回归得出目标的类别置信度和候选框与真实值之间的偏差;

在卷积神经网络中低卷积层输出高分辨率特征图,具有小局部感知野,适合小目标检测;将ssd中高分辨率特征图添加入检测层以提升ssd小目标检测能力;

(2)将ssd中低分辨率高语义信息特征图做逆卷积,将经逆卷积得到的特征图与原特征图进行特征融合,特征融合方式为对特征图拼接后做卷积运算;

逆卷积运算时将特征图展为一维向量,卷积核展为稀疏矩阵,将逆卷积运算转换为矩阵乘法;逆卷积计算如公式(1)所示,其中表示特征图展开得到的一维向量,c表示卷积核展成的稀疏矩阵,t表示转置运算;

步骤二:在ssd特征提取部分使用轻量化特征提取最小单元,具体步骤如下:

①深度可分离卷积,逐点分组卷积与通道重排:使用深度可分离卷积与逐点分组卷积组合的方式代替特征提取模型中的传统卷积;深度可分离卷积计算如公式(2)所示,其中g代表输出特征图,k代表卷积核,f代表输入特征图,i,j为特征图像素位置,k,l表示输出特征图分辨率,m表示通道数;

gk,l,m=∑i,jki,j,m·fk+i-1,l+j-1,m(2)

在使用深度可分离卷积后利用逐点分组卷积,对各个通道特征图进行特征融合,输出任意数量特征图;通过控制逐点分组卷积的分组数可进一步降低模型参数数量;

深度可分离卷积与逐点分组卷积组合的结构可以达到轻量化的目的,较传统卷积所降低的参数量比例可以定义为公式(3),其中a为深度可分离卷积的卷积核尺寸,n为逐点分组卷积的卷积核数量,m为输入特征图数量,g为逐点分组卷积的分组数;由公式(3)可得出结论,输出特征图数量越多,逐点分组卷积的分组数目越多,较传统卷积参数数量压缩率越大;

在进行深度可分离卷积计算前先进行通道重排,将不同组特征图进行交叉重排后再进行深度可分离卷积与逐点分组卷积;

②轻量化特征提取最小单元:以densenet网络结构为基础设计特征提取的最小单元,在特征提取最小单元中使用深度可分离卷积,逐点分组卷积合与通道重排的组合代替densenet网络结构中的传统卷积层;在特征提取的最小单元中首先使用逐点分组卷积对输入特征图进行降维,然后利用通道重排对逐点分组卷积不同分组内的特征图进行重组,最后利用深度可分离卷积与逐点分组卷积的组合完成特征提取,与该轻量化特征提取最小单元输入特征图进行特征图拼接,得到该轻量化特征提取最小单元的输出特征图。

优点及效果:本发明利用逆卷积将高分辨率低语义信息特征图与低分辨率高语义信息特征图相融合,提高ssd算法的小目标检测能力。同时以densenet为基础,结合深度可分离卷积与通道重排提出轻量化特征提取最小单元。对比fasterr-cnn,yolo和原ssd算法等,经逆卷积改进的ssd算法达到提升平均精准度的目的。对比tinyyolo与经轻量化改进的ssd,改进后的ssd达到降低参数数量,减少内存占用和提升检测速度的目的,能够在arm嵌入式设备或显存容量较小的gpu设备上运行。

附图说明:

图1是ssd网络结构图;

图2是逆卷积示意图;

图3是逆卷积与特征融合网络结构图;

图4是在ssd中使用逆卷积的网络结构图;

图5是通道重排;

图6是轻量化特征提取结构最小单元。

具体实施方式:

总体的技术思想是:在ssd算法中引入逆卷积结构,采用逆卷积将低分辨率高语义信息特征图与高分辨率低语义信息特征图相融合,增加低层特征提取能力,提高ssd目标检测算法的平均精准度。同时针对ssd目标检测算法存在模型过大,运行内存占用量过高,无法在小显存容量gpu设备或嵌入式arm设备上运行的问题,以densenet为基础,结合深度可分离卷积,逐点分组卷积与通道重排提出轻量化特征提取最小单元,可在小显存容量gpu设备或嵌入式arm设备上运行。

一种改进ssd的轻量化小目标检测方法,该方法在ssd中引入逆卷积结构,在ssd特征提取部分使用轻量化特征提取最小单元,该方法的具体步骤为:

步骤一:在ssd中引入逆卷积结构,

具体步骤如下:

(1)ssd以回归的方式得到目标的类别和位置;选取网络结构中六种不同分辨率的特征图,对这六种特征图取不同尺寸的候选框;六种特征图通过回归得出目标的类别置信度和候选框与真实值之间的偏差;

在卷积神经网络中低卷积层输出高分辨率特征图,具有小局部感知野,适合小目标检测;将ssd中高分辨率特征图添加入检测层以提升ssd小目标检测能力;

(2)将ssd中低分辨率高语义信息特征图做逆卷积,将经逆卷积得到的特征图与原特征图进行特征融合,特征融合方式为对特征图拼接后做卷积运算;

逆卷积运算时将特征图展为一维向量,卷积核展为稀疏矩阵,将逆卷积运算转换为矩阵乘法;逆卷积计算如公式(1)所示,其中表示特征图展开得到的一维向量,c表示卷积核展成的稀疏矩阵,t表示矩阵转置;

步骤二:在ssd特征提取部分使用轻量化特征提取最小单元,具体步骤如下:

①深度可分离卷积,逐点分组卷积与通道重排:使用深度可分离卷积与逐点分组卷积组合的方式代替特征提取模型中的传统卷积;深度可分离卷积计算如公式(2)所示,其中g代表输出特征图,k代表卷积核,f代表输入特征图,i,j为特征图像素位置,k,l表示输出特征图分辨率,m表示通道数;

gk,l,m=∑i,jki,j,m·fk+i-1,l+j-1,m(2)

在使用深度可分离卷积后利用逐点分组卷积,对各个通道特征图进行特征融合,输出任意数量特征图;通过控制逐点分组卷积的分组数可进一步降低模型参数数量;

深度可分离卷积与逐点分组卷积组合的结构可以达到轻量化的目的,较传统卷积所降低的参数量比例可以定义为公式(3),其中a为深度可分离卷积的卷积核尺寸,n为逐点分组卷积的卷积核数量,m为输入特征图数量,g为逐点分组卷积的分组数;由公式(3)可得出结论,输出特征图数量越多,逐点分组卷积的分组数目越多,较传统卷积参数数量压缩率越大;

在进行深度可分离卷积计算前先进行通道重排,将不同组特征图进行交叉重排后再进行深度可分离卷积与逐点分组卷积;

②轻量化特征提取最小单元:以densenet网络结构为基础设计特征提取的最小单元,在特征提取最小单元中使用深度可分离卷积,逐点分组卷积合与通道重排的组合代替densenet网络结构中的传统卷积层;在特征提取的最小单元中首先使用逐点分组卷积对输入特征图进行降维,然后利用通道重排对逐点分组卷积不同分组内的特征图进行重组,最后利用深度可分离卷积与逐点分组卷积的组合完成特征提取,与该轻量化特征提取最小单元输入特征图进行特征图拼接,得到该轻量化特征提取最小单元的输出特征图。

下面结合附图和具体的实施方式对本发明做进一步的说明:

ssd属于单步目标检测算法,在多尺度特征图上以回归的方式得到目标的类别和位置,但存在小目标检测能力弱的问题。分析导致ssd小目标检测能力弱的原因,并在ssd中引入逆卷积结构,提升ssd小目标检测能力。ssd采用多尺度特征图回归有利于多尺度目标检测,但ssd依旧存在小目标检测能力弱的问题。提升ssd小目标检测能力将进一步提升map。

ssd在各检测层生成不同尺寸的候选框,选取iou(intersectionoverunion)大于0.5的预测框作为正样本,iou小于0.5的预测框作为负样本。因此大目标物体上覆盖iou大于0.5的预测框多,正负样本均衡。而小目标上覆盖iou大于0.5的预测框少,导致小目标物体对应正负样本不均衡,小目标物体不能得到充分训练。linty等在2017年iccv(ieeeinternationalconferenceoncomputervision)会议上提出的focalloss可以有效解决正负样本不均衡的问题。

本发明进一步分析得出小目标特征提取能力弱的原因。在ssd中,38×38的特征图由于其分辨率较高,主要用来检测图像中的小目标。但其特征表达能力仅取决于前10层卷积层,容易造成欠拟合的问题。而若选择在38×38特征图前加入大量卷积容易造成后续特征图过拟合的问题,出现增加高分辨率特征图特征提取能力时,低分辨率特征图容易过拟合的矛盾。

如图1和图2所示,一种改进ssd的轻量化小目标检测方法,该方法在ssd中引入逆卷积结构,在ssd特征提取部分使用轻量化特征提取最小单元,该方法的具体步骤为:

步骤一:在ssd中引入逆卷积结构,提升ssd目标检测算法的小目标检测能力,具体步骤如下:

(1)ssd以回归的方式得到目标的类别和位置;选取网络结构中六种不同分辨率的特征图,对这六种特征图取不同尺寸的候选框;六种特征图通过回归得出目标的类别置信度和候选框与真实值之间的偏差;

当输入图像分辨率为300×300时,六种特征图分辨率分别为38×38、19×19、10×10、5×5、3×3和1×1;在卷积神经网络中低卷积层输出高分辨率特征图,具有小局部感知野,适合小目标检测,将ssd中的75×75特征图添加入检测层以提升ssd小目标检测能力;实施例中选用输入图像分辨率为300×300,实际应用中还可以选用800×600,1600×1200等。

(2)分别将分辨率为19×19与38×38的特征图做逆卷积,将经逆卷积得到的特征图与原特征图进行特征融合,特征融合方式为对特征图拼接后做卷积运算;卷积运算的特征融合方式较特征图相加的特征融合方式更有利于不同通道特征图之间的信息交互;

如图3和图4所示,采用逆卷积对特征图进行上采样,提升高语义信息特征图分辨率,使其与低语义信息特征图分辨率相同。逆卷积即卷积的逆过程,将低维特征映射成高维输入,与卷积操作的作用相反。通过逆卷积使高语义信息特征图与低语义信息特征图分辨率相同,将两种特征图做特征融合后得到高语义信息高分辨率特征图。逆卷积运算时将特征图展为一维向量,卷积核展为稀疏矩阵,将逆卷积运算转换为矩阵乘法。逆卷积计算如公式(1)所示,其中表示特征图展开得到的一维向量,c表示卷积核展成的稀疏矩阵;t表示矩阵转置。

在进行特征融合时将经过逆卷积得到的特征图与原分辨率特征图拼接后再利用卷积提取特征。利用卷积提取特有利于各通道间的特征融合,优于使用特征图相加实现特征融合的方式。改进后的网络结构中低层特征拟合能力增强,同时高层特征拟合能力不变,不会产生过拟合的问题,增强网络结构小目标检测能力。

将逆卷积与特征融合的结构引入ssd。因为在ssd中,中型尺寸与大型尺寸目标检测能力较好,而在小型尺寸目标上存在检测能力差,所以提升小目标检测能力将进一步提升ssd的平均精准度。只针对低层特征图进行改进,高层特征图保持不动。在高层特征图引入逆卷积对增强ssd小目标检测能力作用较弱,同时会增加计算量。

当输入图像为300×300时,将75×75高分辨率低语义信息特征图添加进检测层。分别将分辨率为19×19与38×38的特征图做逆卷积,19×19与38×38分辨率的特征图特征提取能力较原先的7层卷积和10层卷积层分别提升至16层卷积层和17层卷积层。

如图5和图6所示,以densenet网络结构为基础,结合深度可分离卷积与通道重排设计出轻量化特征提取最小单元,通过更改前端特征提取模型,降低网络结构中参数数量,节省运行内存占用量,以达到在小显存容量gpu设备或嵌入式arm设备上运行的目的。

ssd前端特征提取模型采用vgg-16结构,共有35层卷积层,其中23层卷积层用于特征提取。该目标检测方法使用深度可分离卷积与逐点分组卷积组合的方式代替ssd前端特征提取模型中的传统卷积。深度可分离卷积将卷积核与输入特征图一一对应做卷积计算,避免多通道卷积中卷积核参数数量过多的问题。

深度可分离卷积仅能提取对应特征图的特征,仅能输出与输入特征图数量相同的特征图。所以在深度可分离卷积后利用逐点分组卷积,对各个通道特征图进行特征融合,输出任意数量特征图。同时组卷积还可进一步降低模型参数数量。

但深度可分离卷积与逐点分组卷积均属于组卷积,容易造成通道间信息相互独立的情况,缺少通道间的特征融合。所以在进行深度可分离卷积计算前先进行通道重排,将不同组特征图进行重排后再进行深度可分离卷积与逐点分组卷积有利于特征提取能力的提升。

深度可分离卷积计算过程如公式(2)所示。其中g代表输出特征图,k代表卷积核,f代表输入特征图,i,j为特征图像素位置,k,l表示输出特征图分辨率,m表示通道数。

gk,l,m=∑i,jki,j,m·fk+i-1,l+j-1,m(2)

深度可分离卷积与逐点分组卷积组合的结构可以达到轻量化的目的,较传统卷积所降低的参数量比例可以定义为公式(3),其中a为深度可分离卷积的卷积核尺寸,n为逐点分组卷积的卷积核数量,m为输入特征图数量,n为输出特征图数量,g为逐点分组卷积的分组数。由公式(3)可得出结论,输出特征图数量越多,逐点分组卷积的分组数目越多,较传统卷积参数数量压缩率越大。

以densenet网络结构为基础设计特征提取的最小单元,在特征提取最小单元中使用深度可分离卷积,逐点分组卷积合与通道重排的组合代替传统卷积层。densenet是具有密集连接的卷积神经网络结构,说明卷积神经网络不是一个递进层级结构,网络中的某一层不仅依赖于相邻的上一层的特征,而可以依赖于更前面层学习的特征。

借鉴densenet的思想,每一个轻量化特征提取最小单元之间都有直接的跳跃连接,每一个轻量化特征提取最小单元的输入特征图都是前面所有轻量化特征提取最小单元输出特征图的并集。而该轻量化特征提取最小单元所学习的特征图也会被直接传给其后面所有轻量化特征提取最小单元作为输入特征图,实现特征的重复利用,降低卷积核数量,使网络轻量化。

在轻量化特征提取最小单中首先使用逐点分组卷积对输入特征图进行降维,以减少后续深度可分离卷积的卷积核数量,然后利用通道重排进行通道间特征进行重组,最后利用深度可分离卷积与逐点分组卷积的组合完成特征提取,与输入特征图进行特征图拼接。

在特征重复利用的前提下,轻量化特征提取最小单中的深度可分离卷积可设计较窄,即只学习较少的特征图,达到降低冗余性的目的。轻量化特征提取最小单元所学习的特征图数量应与网络深度成反比。同时在各卷积层前加入批量正则化,避免出现梯度消失或梯度爆炸的现象。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1