针对小目标检测的SSD模型优化方法与流程

文档序号:20920189发布日期:2020-05-29 14:02阅读:1417来源:国知局
针对小目标检测的SSD模型优化方法与流程

本发明属于计算机视觉技术领域,进一步涉及基于深度学习的目标检测技术,具体为一种针对小目标检测的ssd模型优化方法,可用于完成数据中含有大量小目标的目标检测任务。



背景技术:

目标检测是计算机视觉领域的基础研究课题,是图像分类与定位的结合,可用于无人驾驶、视频监控等领域,传统的目标检测方法通过滑动窗口进行区域选择和定位,然后利用支持向量机svm(supportvectormachine)等分类器对手工设计的特征进行分类。随着深度学习的发展,卷积神经网络在目标检测中取得了一系列研究成果。相比基于人工特征构造的传统目标检测算法,基于深度卷积神经网络的检测方法具有特征自动提取、泛化能力强的诸多优点,因此基于深度学习的目标检测方法成为目标检测领域的重要研究课题。

目前基于深度学习的目标检测方法主要分为两类,一类是两阶段目标检测模型,此类模型是基于候选区域的卷积神经网络模型,如r-cnn网络模型,r-cnn网络模型先通过选择性搜索算法提取候选边框,然后使用深度卷积神经网络对候选边框进行提取特征,最后使用svm分类器进行分类,其检测速度较慢,达不到实时检测的要求。另一类是单阶段目标检测模型,此类模型是基于回归的卷积神经网络模型,如ssd网络模型,ssd网络模型将原图作为输入,利用卷积神经网络提取特征并构建多尺度特征图,浅层大尺度特征图检测相对较小的目标,而深层小尺度特征图则负责对大目标进行检测,每个特征图分别进行分类和回归,最后通过非极大值抑制nms(non-maximumsuppression)得到最终检测结果,实现端对端的目标检测;ssd模型检测速度快,可实现实时检测,但对小目标检测的鲁棒性较差。

ssd模型对小目标检测鲁棒性差的原因主要有两个:一是ssd模型采用多尺度特征图预测,不同尺度特征图相互独立,其浅层特征图位置信息虽然较好,但语义信息不够丰富;二是小目标相比于大目标更容易产生正负样本不均衡的问题。

有很多学者针对ssd模型小目标检测鲁棒性差的问题提出了改进方法,例如:dssd引入了resnet-101代替了ssd中的vgg-16来增加卷积深度,并逐层将深层特征图反卷积后与浅层特征图进行融合;m2det采用多级特征金字塔网络fpn(featurepyramidnetworks)级联融合的方式增加特征图的信息量;这两种方法虽然都在不同程度上提高了小目标检测的鲁棒性,但同时大大增加了计算量、降低了检测速度,不能实现实时检测。



技术实现要素:

本发明的目的在于针对ssd模型对小目标检测性能差的问题,提出一种针对小目标检测的ssd模型优化方法,通过在ssd模型中加入fpn结构,将模型的深层特征图进行上采样后与浅层特征图进行融合,再降低小目标正样本筛选中真实框和预测框的交并比阈值,即iou筛选阈值,对小目标正样本进行过采样,最后去掉ssd模型中的难例挖掘ohem,引入损失函数focalloss,从而在不降低ssd模型实时性的情况下有效提升小目标检测鲁棒性。

为实现上述目的,本发明采取的技术方案为:

(1)构建基于多级特征金字塔网络fpn的ssd目标检测模型;

(1.1)用骨干网络vgg-16生成六个特征图,设从第k个特征图开始构建多级特征金字塔网络fpn,且k=1,2,...,6,初始值为6;

(1.2)判断k是否小于2,若小于2则进入步骤(1.3),否则,对第k个特征图进行上采样,得到与第k-1个特征图分辨率一致的上采样图;

(1.3)将上采样图与第k-1个特征图进行融合,得到多级特征金字塔网络fpn的第k-1个融合特征图,对k减1后,返回(1.2);

(1.4)所有融合特征图组成多级特征金字塔网络fpn;

(1.5)骨干网络vgg-16与步骤(1.4)得到的fpn共同构成基于多级特征金字塔网络fpn的ssd目标检测模型;

(2)去掉ssd目标检测模型中的在线困难样本挖掘ohem,加入带权重的交叉熵损失函数lfl;

(3)训练ssd目标检测模型;

(3.1)设样本所在的真实目标框为矩形a、预设目标框为矩形b,通过下式求得a和b的交并比值iouab:

其中,a∩b表示a和b交集部分的面积,a∪b表示a和b并集部分的面积;

(3.2)根据经验在0.3~0.4范围内设定筛选阈值iou'ab,若iouab>iou'ab,则该样本为正样本,否则为负样本;

(3.3)利用步骤(3.2)得到的正负样本,通过反向传播算法训练ssd目标检测模型。

本发明与现有技术相比,具有以下优点:

第一、本发明采用多级特征金字塔网络fpn,将ssd模型上采样后的深层特征图与浅层特征图进行融合,从而在不增加参数量的情况下,使浅层特征图不仅有精确的位置信息,还融合有深层特征图丰富的语义信息;

第二、本发明通过降低小目标正样本的iou筛选阈值对小目标正样本进行过采样,可在不增加计算量的情况下,增加小目标正样本数量。

第三、本发明用带权重的交叉熵损失函数focalloss替代在线困难样本挖掘ohem,降低了大量简单负样本在训练中所占的权重,可以充分利用所有样本的信息,并且在不通过手工设置正负样本比例的情况下,有效解决正负样本不均衡的问题。

附图说明

图1是本发明的实现流程图;

图2是现有技术中ssd目标检测模型的网络结构图;

图3是现有技术中多级特征金字塔网络fpn的结构图;

图4是本发明中iou的阈值求解示意图;

图5是本发明中双线性插值法求解示意图。

具体实施方式

为使本领域技术人员更好地理解本发明的技术方案,下面结合附图,对本发明作进一步详细阐述。

本发明的具体实施步骤如下:

步骤1.构建基于多级特征金字塔网络fpn的ssd目标检测模型。首先用骨干网络vgg-16生成六个特征图,然后利用六个特征图构建多级特征金字塔网络fpn。

ssd模型的网络结构如图2所示,被检测图像经过vgg-16后,选取网络结构中六个不同分辨率的特征图分别进行分类和回归,最后通过nms得到最后检测结果。本发明在利用vgg-16生成的六个特征构建fpn结构,fpn的结构如图3所示,fpn是一种先自下而上再自上而下的过程,利用卷积自下而上提取特征图,再进行自上而下的特征图的融合过程。

fpn的构建过程具体如下:

(1.1)用骨干网络vgg-16生成六个特征图,设从第k个特征图开始构建多级特征金字塔网络fpn,且k=1,2,...,6,初始值为6;

(1.2)判断k的值是否小于2,若小于2则跳至步骤2,否则对ssd模型中第k个特征图进行上采样,得到与第k-1层特征图分辨率一致的上采样图,所述上采样的方法有多种,如单线性插值、双线性插值、反卷积等,本发明采用双线性插值法计算上采样图中目标点的函数值f(p),具体如下:

设上采样图中目标点的坐标为p(x,y),在原图中,与其临近的四个坐标点分别为q11(x1,y1)、q21(x2,y1)、q12(x1,y2)、q22(x2,y2),且这四个点的函数值依次为f(q11)、f(q21)、f(q12)、f(q22),令点q11(x1,y1)与点q21(x2,y1)连线的中点为r1,点q12(x1,y2)与点q22(x2,y2)连线的中点为r2;

则通过下式可得点r1的函数值f(r1):

通过下式可得点r2的函数值f(r2):

将求得的函数值f(r1)与f(r2)代入下式,即可得到关于点p(x,y)的函数值f(p):

(1.3)将(1.2)中得到的上采样图与第k-1层特征图进行融合,得到fpn的第k-1层融合特征图,k值减1,返回(1.2)。所述融合方式有多种,如concat、element-wisesum等,本发明采用element-wisesum的方法,具体步骤如下:

(1.3.1)将上采样图通过1*1的卷积变换通道数,得到与第k-1层特征图尺寸大小和通道数均保持一致的变换后上采样图;

(1.3.2)对变换后上采样图和第k-1层特征图进行对应坐标、对应通道的像素值相加操作,得到融合特征图,完成融合。

步骤2.在构建的基于多级特征金字塔网络fpn的ssd目标检测模型中重新设置损失函数,即去掉ssd模型中的在线困难样本挖掘ohem,加入带权重的交叉熵损失函数lfl;

ssd模型容易产生正负样本不均衡的情况,尤其表现在小目标上;ohem根据样本的损失情况进行排序,只选取损失较大的样本即难分类样本进行训练,显然这样会忽略易分类样本的贡献,带权重的交叉熵损失函数focalloss则可以有效避免此问题。本发明将ssd模型中ohem去掉,引入focalloss,计算损失函数lfl:

其中,y表示真实样本标签;α表示样本平衡因子,α∈[0,1],本实施例取α为0.25;y'表示样本为y的概率;γ表示难易样本损失权重因子;若要减小易分类样本损失权重,则设置γ>0;若要增大易分类样本损失权重,则设置γ<0。

步骤3.训练ssd目标检测模型。

对ssd目标检测模型进行训练时,需要筛选出正负样本,通过降低小目标正样本的iou筛选阈值,对小目标正样本进行过采样。参照图4:

(3.1)设样本所在的真实目标框为矩形a、预设目标框为矩形b,通过下式求得a和b的交并比值iouab:

其中,a∩b表示a和b交集部分的面积,a∪b表示a和b并集部分的面积;

(3.2)根据经验在0.3~0.4范围内设定筛选阈值iou'ab,若iouab>iou'ab,则该样本为正样本,否则为负样本;

ssd目标检测模型中的正样本通过iou值筛选得到,若预先设定0.5为iou筛选阈值,则真实目标所在矩形框与预先设定的矩形框的iou筛选阈值大于0.5为正样本,反之为负样本。本发明为了对小目标正样本进行过采样,将预先设定的像素小于80*80的小尺寸框的iou筛选阈值取值范围定为0.3~0.4之间,本实施例取0.35作为iou筛选阈值对样本进行筛选。

(3.3)利用步骤(3.2)得到的正负样本,通过反向传播算法训练ssd目标检测模型,得到优化后的ssd目标检测模型。

本发明改进后的ssd目标检测模型,在英伟达2080ti平台上,小目标比较多的coco公开数据集上平均精确率提高了1%,检测速度可以达到24帧,既保证了检测实时性,又提高了小目标检测的鲁棒性。

本发明未详细说明部分属于本领域技术人员公知常识。

以上描述仅是本发明的实施例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求的保护范围之内。

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