基于卷积神经网络的小目标检测方法及检测模型与流程

文档序号:17929371发布日期:2019-06-15 00:41阅读:3688来源:国知局
基于卷积神经网络的小目标检测方法及检测模型与流程

本发明属于计算机视觉和图像处理技术领域,涉及一种基于卷积神经网络的小目标检测方法及检测模型,可用于工业上的大米质量和显微镜下的医疗细胞分析等小目标检测。



背景技术:

目前,目标检测技术迅速发展,使得目标检测的准确率和实时性均有很大程度的提高。从双步检测器rcnn系列模型到端对端的网络模型ssd、yolo等,基于卷积神经网络的目标检测模型在kaggle竞赛和公开数据集上的检测效果不断提升,但对于小目标检测,现有模型存在明显的问题且检测效果一直不理想。

为了提高ssd模型对于小目标检测的准确率,2017年weiliu的团队在ssd基础上进一步改进,提出了dssd(deconvolutionalsingleshotdetector)网络结构。dssd模型的主要改进首先是在基础网络部分用res101替换了vgg-16,并在网络结构中添加了反卷积网络增加了语义信息,但这种方法虽然检测的准确度有所提升,但检测速度降低。

shenz等于2017年提出dsod(deeplysupervisedobjectdetector),dsod可以看作ssd和densenet的结合,对于检测速度和准确率,dsod模型并没有很大的改进。它的贡献仅仅在于证明了网络预训练和直接训练的差异是能缩小的,即训练dsod模型并不需要大量的数据集和预训练好的模型。

通过对ssd原理的深入分析,ssd网络模型对小目标检测效果差的原因主要如下:

1、ssd模型对图像的输入尺寸大小固定且具有一定的要求,目前输入尺寸的大小只有300×300和512×512两种模型。

2、在ssd模型的多尺度检测策略中,对于特征的提取随着层数的递增而越来越抽象,低层特征更加注重目标的细节信息,高层特征则更偏重于一些高级的语义信息。ssd模型主要使用低层特征图上的细节信息来确定小目标的位置,但随着层数的增加,小目标的特征信息经过卷积、池化等多种降维操作,小目标的特征被逐层稀释,导致在高层特征图上能够保留的小目标信息越来越少,特征模糊不清,分辨率不足。所以ssd模型对于占比小的小目标检测效果不好。此外ssd模型仅用conv4_3一层低层特征图来预测小目标,其所提取的小目标细节信息不足,导致特征表达力不充分,虽然ssd还包含多层高层特征信息用来目标的预测,但其所包含的小目标信息已经相当少,这是导致ssd模型对于小目标检测效果弱的最根本原因。

3、目前,所公开的标准数据集中,比如:voc2007+voc2012数据集、imagnet数据集、coco数据集,这些数据集中大、中、小目标的物体都拥有,而且大物体的占比较大。ssd模型主要为检测多个尺度的物体目标而设置,考虑的是检测整体数据集的准确率,所以对于默认框的设置有更多的尺寸大小和纵横比。但当尺寸较大时或者纵横比不合适时,就会失去小目标或者小目标的部分信息。



技术实现要素:

本发明的目的在于针对上述问题,提供了一种基于卷积神经网络的小目标检测方法,加强低层特征,减少冗余提取,简化检测流程,提高检测速度,实时准确地检测出图像中的小目标,解决了现有技术中小目标检测效果差的问题。

本发明的另一目的是,提供一种基于卷积神经网络的小目标检测模型。

本发明所采用的技术方案是,一种基于卷积神经网络的小目标检测方法,具体按照以下步骤进行:

步骤s1,对训练集图像中的小目标进行标注,建立小目标数据集;

步骤s2,配置环境,搭建以caffe-ssd为低层的训练平台;

步骤s3,构建加强低层特征融合的单步检测器模型elfssd:在基于回归的单步检测器ssd模型基础上,修改原ssd模型输入层的数据增强部分、特征提取部分,在预测网络部分将小目标信息丰富的低层特征与相邻卷积层融合,并更新损失函数;

步骤s4,采用预训练的vgg-16网络初始化步骤s3构建的模型,输入lmdb格式的小目标数据集,进行迭代训练;

步骤s5,采用训练好的单步检测器模型elfssd对检测集图像中的小目标进行检测。

进一步的,所述步骤s3中,修改原ssd模型输入层的数据增强部分包括:对原始图像进行尺寸变换,亮度、对比度、饱和度的调整,随机剪裁取样,扩大原始数据集。

进一步的,所述步骤s3中,修改原ssd模型的特征提取部分包括:删除含有小目标信息少的高层特征,保留vgg-16网络全连接层之前小目标信息丰富的低层特征。

进一步的,所述步骤s3中,小目标信息丰富的低层特征与相邻卷积层融合具体为:对较小的特征图按照式d=s×(g-1)+k-2p进行反卷积操作,使其与相邻卷积层的特征图大小相等,其中s代表步长,k代表卷积核尺寸,g为反卷积操作前的特征图尺寸,d为反卷积操作后的特征图尺寸,p代表填充的边界;将特征图大小相等的低层特征和相邻卷积层特征根据下式进行融合:其中,zadd表示融合后的特征图;(xm,ym)表示两个特征图对应的像素坐标,km表示特征图的通道数,m表示特征图的数目。

进一步的,所述步骤s3中,更新损失函数具体按照以下步骤进行:

步骤s31:生成默认框,设置默认框的尺寸缩放范围,设置长宽比;按照设置的尺寸缩放范围、长宽比随机生成预测框,再按照最小重叠度阈值,判断生成的预测框是否合格,大于阈值的预测框为合格的正样本,小于阈值的预测框为不合格的负样本;

步骤s32,构造总体的损失函数l:l=lconf+lloc;其中,lloc为目标位置损失函数,选用原ssd模型中的位置损失函数lloc(x,l,g);对原ssd模型中的类别损失函数进行修改,得到新的目标类别损失函数lconf,即lconf(x,p):

其中,x是样本的默认框,p是各个预测层中检测器计算出各个默认框属于各个类别的概率,pi是检测器计算出第i个默认框属于各个类别的概率,表示第k个类别的第i个默认框和第j个目标是否匹配,pos是正样本集,neg是负样本集,n是默认框和真实目标匹配的个数,α是样本数量权值,γ是聚焦权值。

进一步的,所述步骤s4,具体按照以下步骤进行:

步骤s41,将修改后的单步检测器模型elfssd结构编写为适用于caffe平台的文件;

步骤s42,将修改后的损失函数l添加到caffe平台的源码库中,并重新编译;

步骤s43,将步骤s1中建立的小目标图像数据集转换为caffe平台下卷积神经网络输入层要求的lmdb标准格式并输入;运行模型,得到临时单步检测器模型elfssd;

步骤s44,使用测试集数据测试单步检测器模型elfssd的检测效果,合格后,在caffe平台下,使用lmdb标准格式的小目标数据集中的训练集数据训练单步检测器模型elfssd,具体的训练步骤如下:

步骤s441,采用迁移学习的训练方式,利用在imagenet数据集上预训练的vgg-16网络初始化临时单步检测器模型elfssd的特征提取部分,并将这些层的学习率设置为0;

步骤s442,使用训练集数据微调预测计算部分的模型权重,借助随机梯度下降的反向传播算法,经过多步迭代,更新整个单步检测器模型elfssd,得到最终的单步检测器模型elfssd。

进一步的,所述步骤s1,还包括以下步骤:

步骤s11,搭建拍摄平台,采用ccd工业相机采集图像,对采集到的图像进行初步筛选,统一设置图像大小;

步骤s12,对于每张图像,使用lableimg标注工具人工对筛选后图像中的小目标进行标注,标注内容包含图像名称、目标类别标签、图像中小目标的位置信息;所有图像标注完成后转换为适合caffe平台训练的lmdb格式,制作pascalvoc格式的小目标数据集。

进一步的,所述步骤s5中,采用训练好的单步检测器模型elfssd对检测集图像中的小目标进行检测,具体按照以下步骤进行:

步骤s51,在训练好的单步检测器模型elfssd中输入含有小目标的检测集图像;

步骤s52,每张输入图像经过单步检测器模型eflssd的特征提取和目标预测,计算得到对应的检测结果,检测结果包括目标对应的类别标签、目标属于该类别的概率、目标在图像中的位置信息;

步骤s53,设置适当置信度,显示检测结果;根据每个检测结果的位置信息将其在对应的输入图像中标注,完成图像中小目标检测。

进一步的,所述步骤s53中,设置适当置信度,具体为:设置概率阈值δ为0.5,设置非极大值抑制阈值θ为0.6,将所有检测结果的概率值与δ比较,保存高于δ的检测结果,将保存的检测结果经过非极大值抑制,得到最终的检测结果。

一种基于卷积神经网络的小目标检测模型,采用上述基于卷积神经网络的小目标检测方法,包括

图像数据集构建模块,用于对训练集图像进行标注,建立小目标数据集;

模型构建模块,用于搭建以caffe-ssd为低层的训练平台,在基于回归的单步检测器ssd模型的基础上,修改原ssd模型输入层的数据增强部分、特征提取部分,在预测网络部分将小目标信息丰富的低层特征与相邻卷积层融合,并更新损失函数,构建加强低层特征融合的单步检测器模型elfssd;

模型训练模块,用于采用预训练的vgg-16网络初始化构建的模型,输入lmdb格式的小目标数据集,迭代训练,输出最终单步检测器模型elfssd。

本发明的有益效果是,具有以下优点:本发明小目标检测方法在现有的基于回归的单步检测器ssd模型的基础上,修改原ssd模型输入层的数据增强部分,扩大原始数据集;在预测网络部分,将小目标信息丰富的低层特征与所加位置的相邻卷积层融合,并更新损失函数;增加了小目标的低层信息,提高了小目标的检测精度,准确率达到91%。本发明利用基于回归的单步检测器ssd模型检测快速的特点,修改特征提取部分,减少冗余提取,极大地减少计算量,使得检测速度有了进一步提高;相比深度学习双步检测器5fps(帧每秒)的检测速度,该单步检测器的速度可达15fps,能够实现实时检测,具有较强的实用性和市场推广价值。

本发明构建的小目标检测器模型能够自动从海量标注的图像中学习出小目标的特征,并利用反向传播算法完成多类目标分类和位置回归进行端到端检测,克服了人工设计特征的局限性,解决了目标检测流程复杂的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例的流程图。

图2为本发明实施例中单步检测器模型elfssd的结构示意图。

图3a为稀疏场景下的待检测图像。

图3b为采用本发明单步检测器模型elfssd在稀疏场景下的二分类检测结果。

图3c为采用本发明单步检测器模型elfssd在稀疏场景下的四分类检测结果。

图3d为密集场景下的待检测图像。

图3e为采用本发明单步检测器模型elfssd在密集场景下的检测结果。

图4a为原ssd模型和本发明单步检测器模型elfssd中的loss值对比图。

图4b为原ssd模型和本发明单步检测器模型elfssd中的准确度对比图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例采用caffe深度学习实验平台,具体的实验环境配置如下:intel(r)core(tm)i7-6700的处理器,16g的安装内存,64位操作系统,操作系统为ubuntu16.04,gpu为拥有8g显存的nvidiagtx1080ti,python版本为2.70,opencv版本为2.4.10。具体通过以下步骤实现:图像的采集和筛选,并对训练集大米图像中的小目标(整米、碎米、虫子)进行标注,建立小目标数据集;配置环境,搭建以caffe为低层的训练平台;构建加强低层特征融合的单步检测器模型elfssd(enhancelow-levelfeaturessd),适用于小目标检测;对elfssd网络模型进行训练;利用训练好的网络模型对测试集大米图像中的小目标进行检测。

本发明基于卷积神经网络的小目标检测方法,如图1所示,具体按照以下步骤进行:

步骤s1,构建小目标图像数据集:采集大米图像(含有的小目标为整米、碎米和虫子),并对训练集大米图像进行标注,建立小目标数据集;

步骤s11,搭建拍摄平台,采用ccd工业相机采集大米图像,对采集到的图像进行初步筛选,保存图像为jpg格式,统一将图像大小设置为800×800,并以“000001.jpg”的命名方式顺序排列,放入jpegimage文件夹中,共600张;每张图像上包含整米、碎米和虫子三种小目标,每张图像包含的目标个数为300个,共计180000个小目标;

步骤s12,下载labelimg图像标注工具,并在终端执行以下命令安装并运行该工具://安装pyqt4软件包,//安装解析库lxml,//编译qt4py2,//执行labelimg.py文件,//执行labelimg.py文件,并加载标注图像;对于每张图像,使用lableimg标注工具人工对筛选后的图像中的小目标进行标注,标注内容包含图像名称、目标类别标签(a代表整米,b代表碎米,d代表虫子)、图像中小目标的位置信息(左上角坐标和右下角坐标),并将其保存为txt格式文件;具体标注方法如下:在该工具打开的每张图像中,使用鼠标左键由左上角向右下角拉出一个矩形框,使得该框刚好包围小目标,然后在目标类别选项框中根据具体目标选择“a、b或者d”,保存后点击“n”进入下一张继续标注,所有图像标注完成后点击转换为xml格式,获得对应的xml格式数据,再将其转换为适合caffe平台训练的lmdb格式,制作pascalvoc格式的小目标数据集。

步骤s13,随机选择图像集的60%图像作为训练集,并将该部分图像的名字保存在一个文本文档中(train.txt),图像集的20%图像作为验证集,并将该部分图像的名字保存在另一个文本文档中(val.txt),剩余的20%图像作为测试集,并将该部分图像的名字保存在第三个文本文档中(test.txt)。

步骤s2,配置环境,搭建以caffe-ssd为低层的训练平台;具体按照以下步骤进行:

步骤s21,安装linux操作系统ubuntu16.04;

步骤s22,安装cuda8.0,配置cudnn,使得gpu在计算深层神经网络时进行加速;

步骤s23,配置caffe框架并进行编译和测试;从https://github.com/weiliu89/caffe/下载caffe-ssd源码;修改makefile.config文件中依赖项的工作路径,并编译源码和caffe的python接口。

步骤s3,构建加强低层特征融合的单步检测器模型elfssd,模型的具体网络结构如图2所示。在基于回归的单步检测器ssd模型的基础上,修改回归的单步检测器ssd模型(简称原ssd模型),具体修改步骤如下:由于模型的数据增强对ssd网络识别小物体拥有明显效果,所以根据图像的特点,修改原ssd模型输入层的数据增强部分,包括对原始图像进行尺寸变换,亮度、对比度、饱和度调整,随机剪裁取样等操作,扩大原始数据集。在特征提取部分,为减少计算和存储开销,删除conv9_1和conv9_2(含有小目标信息少)的高层特征;保留vgg-16网络全连接层之前小目标信息丰富的低层特征。在预测网络部分,原ssd模型中用于小目标检测的低层卷积层,仅有conv4_3一层,特征表达能力不够,细节信息不足;故加入conv3_3(小目标信息丰富)的低层特征,并更新损失函数,增强小目标的信息。

步骤s31,数据增强部分的具体修改如下:输入统一的图像尺寸,在网络的数据层中限定“height(高):512,width(宽):512”,表示图像大小为512×512;对图像的亮度、对比度、饱和度做相应调整,在网络的数据层中限定“brightness_prob(调整亮度)”参数为0.5,“brightness_delta(亮度增量值)”参数为35,“contrast_prob(调整对比度)”参数为0.5,“contrast_lower(对比度因子的下界)”参数为0.3,“contrast_upper(对比度因子的上界)”参数为1.6,“hue_prob(调整色调)”参数为0.5,“hue_delta(色调通道数量值)”参数为20,“saturation_prob(调整饱和度)”为0.5,“saturation_lower(饱和度因子的下界)”参数为0.3,“saturation_upper(饱和度因子的上界)”参数为1.6,“max_expand_ratio:3.0(图像的最大扩展比率3.0)”;随机剪裁出一系列与目标具有不同重叠度的区域,在网络的数据层中限定“max_jaccard_overlap(最大重叠度)”参数分别为0.5、0.7、0.9、1.0。数据增强部分的修改能够丰富图像的训练集,扩大样本数量,更好的提取图像特征,此外还可以防止模型过拟合。

步骤s32,特征提取部分的具体网络结构如下:低层特征提取网络保留vgg-16网络全连接层之前小目标信息丰富的低层特征,包含vgg-16网络全连接层之前的部分网络:conv1_1,conv1_2,conv2_1,conv2_2,conv3_1,conv3_2,conv3_3,conv4_1,conv4_2,conv4_3,conv5_1,conv5_2,conv5_3(512)。

高层特征提取网络保留ssd512模型的fc6,fc7,conv6_2、conv7_2、conv8_1和conv8_2层。conv9_1和conv9_2层的特征图只含有少量的小目标信息,对小目标特征的学习和预测无法起到太大的作用,为了减少高层特征的冗余提取,极大地减少计算量,所以删除conv9_1和conv9_2层,提高检测速度。相比深度学习双步检测器5fps(帧每秒)的检测速度,该单步检测器的速度可达15fps,能够实现实时检测。

特征提取网络的具体表示式为:

其中,xn是第n层特征图,fn是包括卷积、池化、激活运算的一系列非线性转换系数,表示fn-1是fn的输入,i是输入的图像数据,即待检测的图像。比如f1表示conv1_1,f2表示conv1-2,第二层的特征图表示:

步骤s33,在预测网络部分,将小目标信息丰富的低层特征(conv3_3)与相邻卷积层特征(conv4_3)通过add方式进行融合,通道数(num_output)设置为256,add的融合方式要求特征图的通道数相等,所以将conv3_3的通道数和conv4_3的通道数一致,具体方法如下:

对较小的特征图conv4_3按照下式进行反卷积操作得到dconv4_3,d=s×(g-1)+k-2p,其中,s代表步长,k代表卷积核尺寸,g为反卷积操作前的特征图尺寸,d为反卷积操作后的特征图尺寸,p代表填充的边界即padding;本发明中conv3_3低层特征图的分辨率为128×128。conv4_3低层的特征分辨率为64×64。为了获得相同大小的特征图,本发明在对conv4_3进行反卷积操作时,设定s=2,k=4,对尺寸为64×64的特征图进行反卷积操作将其扩大为128×128的特征图,使dconv4_3低层特征图与相邻卷积层conv3_3的特征图大小相等。

再将低层特征图conv3_3和dconv4_3进行融合,融合原理为:

式中,zadd表示融合后的特征图,(xm,ym)表示两个特征图对应的像素坐标,km表示特征图的通道数,m表示特征图的数目,“*”代表相乘运算。conv3_3和dconv4_3通过add方式融合后得到特征图记为conv_addf。对相邻卷积层的特征图进行融合,增强了小目标低层的特征,使得目标细节信息更加明显。但特征图的融合一般需要相同的分辨率,故而对尺寸较小的特征图进行反卷积操作,获得高分辨率特征图,然后通过add融合方式对特征图进行融合,提高小目标检测的效率。特征图融合的方式有add和concate,其中add是特殊的concate,要求通道数对应,每个通道下的纬度信息的叠加。

经过上述修改,预测网络部分采用conv_addf,fc6,fc7,conv6_2、conv7_2和conv8_2六个不同尺度的特征图来预测目标框的位置(location)和置信度(confidence)。

步骤s34:默认框生成策略:修改最小尺寸和最大尺寸以及横纵比,确定默认框的大小,使得小目标的占比信息更加丰富;对于默认框的缩放尺度(scale)最小尺度(smin)设置为0.3,最大的尺度(smax)设置为1.0,长宽比设置为1/3、2/3、1/2、1、2。按照设置的缩放比例范围、长宽比随机生成预测框box,再按照最小重叠度(min_jaccard_overlap)阈值为0.5,判断生成的预测框box是否合格,大于阈值的预测框为合格的正样本,小于阈值的预测框为不合格的负样本。

步骤s35,构造总体的损失函数l:l=lconf+lloc;其中,lloc为目标位置损失函数,选用基于回归的单步检测器ssd模型中的位置损失函数lloc(x,l,g);对原ssd模型中的类别损失函数进行修改,得到新的目标类别损失函数lconf,即lconf(x,p):

原ssd模型中的类别损失函数为:

其中,neg是负样本集,pi是检测器计算出第i个默认框属于各个类别的概率,n是默认框和真实目标匹配的个数;若出现默认框的数量较多时,原ssd模型的损失函数在匹配步骤之后,大多数默认框都是负样本,这使得正样本和负样本之间的比例失衡,会对检测精度造成一定的影响。为了解决预测默认框时出现的正负样本不平衡的问题,对原类别损失函数进行修改,得到修改后的类别损失函数为:

其中,x是样本的默认框,p是各个预测层中检测器计算出各个默认框属于各个类别的概率,表示第k个类别的第i个默认框和第j个目标是否匹配,“1”代表匹配,“0”代表不匹配;pos是正样本集,neg是负样本集,n是默认框和真实目标匹配的个数,α是样本数量权值,γ是聚焦权值。

总体的损失函数为:l=lconf(x,p)+lloc(x,l,g)。

步骤s4,采用预训练的vgg-16网络初始化步骤s3构建的模型,输入lmdb格式的小目标数据集,迭代训练得到最终的单步检测器模型elfssd;如图1所示,具体按照以下步骤进行:

步骤s41,将修改后的单步检测器模型elfssd结构编写为适用于caffe平台的文件,包含solver.prototxt(设置模型训练参数)、train.prototxt(训练网络的代码实现)、test.prototxt(测试网络的代码实现)、deplo.prototxt(模型发布版的代码实现);

步骤s42,将修改后的损失函数l添加到caffe平台的源码库中,并重新编译;

步骤s43,将步骤s1中制作的pascalvoc格式的小目标数据集输入;运行create_list.sh生成训练集和测试集的文件名列表文件;运行create_data.sh分别生成训练集和测试集对应的lmdb格式数据,预测目标框位置和置信度,迭代训练得到临时单步检测器模型elfssd;

步骤s44,使用测试集数据测试单步检测器模型elfssd的检测效果,合格后,在caffe平台下使用pascalvoc格式的小目标数据集中的训练集数据训练单步检测器模型elfssd,具体的训练步骤如下:

步骤s441,采用迁移学习的训练方式,利用在imagenet数据集上预训练的vgg-16网络初始化临时单步检测器模型elfssd的特征提取部分,并将这些层的学习率设置为0;

步骤s442,使用训练集数据微调预测计算部分的模型权重,借助随机梯度下降的反向传播算法,经过多步迭代后,更新整个单步检测器模型elfssd,得到最终的单步检测器模型elfssd。

其中solver.prototxt文件中的主要参数设置如下:学习率相关的设置,base_lr(基础学习率):0.001,lr_policy(学习策略):"multistep"(多步学习策略),gamma(调试学习率的因子):0.1,stepsize(降低学习率的间隔步长):200。由于学习策略lr_policy设置为multistep(多步学习策略),所以还需要设置stepvalue(多步学习的变化值)参数对应的值。本文设置了三次多步学习的变化值stepvalue:60000、stepvalue:80000、stepvalue:100000。momentum(梯度更新的权重参数冲量)设置为0.9005,weight_decay(权重衰减项)设置为0.0005,该参数可以防止过拟合。最终经过12万次的迭代训练得到检测器模型。

步骤s5,使用训练好的单步检测器模型elfssd对测试集图像中的小目标进行检测;具体按照以下步骤进行:

步骤s51,在单步检测器模型elfssd中输入测试集中的图像;

步骤s52,每张输入图像经过单步检测器模型eflssd的特征提取和目标预测,计算得到对应的检测结果,对小目标进行检测与定位;检测结果包括目标对应的类别标签、目标属于该类别的概率、目标在图像中的位置信息(左上角坐标和右下角坐标);经过特征提取,产生一系列不同尺度的特征图,选择conv3_3和dconv4_3融合后的特征图dcon_addf,fc6,fc7,conv6_2、conv7_2和conv8_2共6个尺度特征图的输出来预测目标框的位置(location)。

步骤s53,设置适当的置信度(confidence),显示检测结果;设置概率阈值δ为0.5,设置非极大值抑制阈值θ为0.6,将所有检测结果的概率值与δ比较,高于δ则认为是正确的默认框并保存,然后将保存下来的检测结果经过非极大值抑制,去掉重叠度大于θ的检测结果,得到最终的检测结果;再根据每个检测结果的坐标值将其在对应的输入图像中标注出来,完成图像中的小目标检测。

一种基于卷积神经网络的小目标检测模型,采用上述检测方法,包括

图像数据集构建模块,用于对训练集图像中的小目标进行标注,建立小目标数据集;

模型构建模块,用于搭建以caffe-ssd为低层的训练平台,在基于回归的单步检测器ssd模型的基础上,修改原ssd模型输入层的数据增强部分、特征提取部分,在预测网络部分将小目标信息丰富的低层特征与相邻卷积层融合,更新损失函数,构建加强低层特征融合的单步检测器模型elfssd;

模型训练模块,用于采用预训练的vgg-16网络初始化构建的模型,输入lmdb格式的小目标数据集,迭代训练,输出最终单步检测器模型elfssd。

本发明实施例,采用上述小目标检测模型对大米质量进行检测,以图像中的小目标(整米、碎米和虫子)为检测对象,检测结果如图3a-3e所示,小目标识别和检测效率高,小目标检测结果的准确率高,能够快速高效地检测出图像中的整米、碎米和虫子,从而对大米质量进行等级划分,并可用于工业的大米质量检测系统。检测大米图像,原ssd模型(实施例中具体采用ssd512模型)和本发明单步检测器模型elfssd中的loss值对比图,如图4a所示,纵坐标trainloss表示训练阶段的损失值,横坐标表示迭代次数,星点线代表原ssd模型的检测结果,加号线代表本发明模型的检测结果,对于loss值的衰减,本发明模型的loss值由原ssd模型的最低1.8降到最低0.5,衰减速度相对比较平稳。如图4b所示,纵坐标testaccuracy表示测试阶段的准确度,横坐标表示迭代次数,星点线代表原ssd模型的检测结果,加号线代表本发明模型的检测结果,准确度由原ssd模型的84.5%提升到91%。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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