一种基于SSD算法的特征融合的粮虫识别方法和识别系统与流程

文档序号:23754908发布日期:2021-01-29 15:52阅读:63来源:国知局
一种基于SSD算法的特征融合的粮虫识别方法和识别系统与流程
一种基于ssd算法的特征融合的粮虫识别方法和识别系统
技术领域
[0001]
本发明涉及粮虫识别技术领域,具体涉及一种基于ssd算法的特征融合的粮虫识别方法和识别系统。


背景技术:

[0002]
粮油食品在其生产、加工、储藏的全过程中,都会受到储粮害虫的侵害。粮虫不仅会食用粮食,造成粮食数量的损失,而且其生活代谢的产物会使粮食发热,加剧粮食微生物的活动,使粮食腐烂变质,并可能诱发微生物毒素的产生。另外,由于害虫的尸体和排泄物在粮食中的存在,也对粮食造成了污染,使粮食的卫生质量下降,危害使用者的健康。
[0003]
目前随着计算机技术的发展,粮食行业的信息化要求也越来越高。因为智能仓储技术的引入,在仓储环节中的粮食品质监控也是越来越高效。粮虫检测作为粮食品质监控环节中的重要一环,基于图像处理的粮虫检测已经逐渐成为近些年的研究热点。粮虫图像检测包括传统的数字处理和深度学习图像处理两种方式。根据智能仓储的在线监控要求,粮虫检测的精度和实时性需要进一步的提高。传统的图像处理技术由于精度和实时性问题已经逐渐被淘汰。深度学习图像处理技术中的目标检测算法,不仅可以对检测目标进行精准定位,而且单阶段的目标检测算法,经过不断的优化处理速度已经达到实时的要求。
[0004]
单阶段目标检测算法以yolo(you only live once)和ssd(single shot multi-box detector)为代表,以检测速度快而闻名,目前已经应用交通标志检测、无人机目标检测、遥感目标检测、行人视频监控等各个行业中,但是由于粮虫的体积较小,现有技术中的检测方法对其进行识别时,存在识别结果不准确的问题。


技术实现要素:

[0005]
本发明的目的是提供一种基于ssd算法的特征融合的粮虫识别方法和识别系统,以解决现有技术中对粮虫识别不准确的问题。
[0006]
为实现上述目的,本发明采用如下技术方案:
[0007]
一种基于ssd算法的特征融合的粮虫识别方法,包括如下步骤:
[0008]
步骤一:建立数据集;
[0009]
步骤二:建立神经网络模型,并采用数据集的训练数据对其进行训练,得到训练后的神经网络模型;
[0010]
步骤三:采集待识别的粮虫图像,将其输入到训练后的神经网络模型中,检测出其中的粮虫种类和位置;
[0011]
所述数据集中的训练数据包括多张粮虫图片,每张图片上只有一种粮虫的图像,每张图片分辨率为640
×
480;
[0012]
所述神经网络模型的特征图包括block12、block7、block8、block9和block10,其中block12由卷积层conv4_3和conv5_3输出的特征图通过top-down模块融合而成,block7、block8、block9和block10分别为卷积层conv7、conv8_2、conv9_2和conv10_2输出的特征
图,各特征图先验框的大小通过k-means算法进行聚类得到。
[0013]
进一步的,使用top-down模块融合卷积层conv4_3和conv5_3输出的特征图方法为:
[0014]
对卷积层conv5_3输出的特征图进行一次卷积和两次反卷积,然后接入bn模块;
[0015]
对浅层卷积层conv4_3输出特征图进行两次卷积操作,然后接入bn模块;
[0016]
对卷积层conv5_3输出的特征图和卷积层conv4_3输出特征图进行特征融合,最后经过relu激活函数输出最终融合后的特征图。
[0017]
进一步的,采用点乘的方式对卷积层conv5_3输出的特征图和卷积层conv4_3输出特征图进行特征融合。
[0018]
进一步的,通过k-means算法计算各特征图先验框大小的方法包括如下步骤:
[0019]
对数据集图像中的粮虫进行标注,并进行初始化,得到m个聚类中心;
[0020]
计算数据集中所有gt与各个聚类中心之间的距离,将与其距离最近的聚类中心作为其索引,将索引相同的特征点作为同一聚类;
[0021]
当连续两次的聚类结果相同时,判断为聚类结束;
[0022]
将各聚类的最小包围框作为先验框。
[0023]
进一步的,所述粮虫包括但不限于玉米象、赤拟谷盗、谷蠹、锈赤扁谷盗和印度谷螟。
[0024]
一种基于sdd算法的特征融合的粮虫识别系统,包括处理器和存储器,存储器上存储有用于在处理器上执行的计算机程序;所述处理器执行所述计算机程序时,实现基于sdd算法的特征融合的粮虫识别方法,该方法包括如下步骤:
[0025]
步骤一:建立数据集;
[0026]
步骤二:建立神经网络模型,并采用数据集的训练数据对其进行训练,得到训练后的神经网络模型;
[0027]
步骤三:采集待识别的粮虫图像,将其输入到训练后的神经网络模型中,检测出其中的粮虫种类和位置;
[0028]
所述数据集中的训练数据包括多张粮虫图片,每张图片上只有一种粮虫的图像,每张图片分辨率为640
×
480;
[0029]
所述神经网络模型的特征图包括block12、block7、block8、block9和block10,其中block12由卷积层conv4_3和conv5_3输出的特征图通过top-down模块融合而成,block7、block8、block9和block10分别为卷积层conv7、conv8_2、conv9_2和conv10_2输出的特征图,各特征图先验框的大小通过k-means算法进行聚类得到。
[0030]
进一步的,使用top-down模块融合卷积层conv4_3和conv5_3输出的特征图方法为:
[0031]
对卷积层conv5_3输出的特征图进行一次卷积和两次反卷积,然后接入bn模块;
[0032]
对浅层卷积层conv4_3输出特征图进行两次卷积操作,然后接入bn模块;
[0033]
对卷积层conv5_3输出的特征图和卷积层conv4_3输出特征图进行特征融合,最后经过relu激活函数输出最终融合后的特征图。
[0034]
进一步的,采用点乘的方式对卷积层conv5_3输出的特征图和卷积层conv4_3输出特征图进行特征融合。
[0035]
进一步的,通过k-means算法计算各特征图先验框大小的方法包括如下步骤:
[0036]
对数据集图像中的粮虫进行标注,并进行初始化,得到m个聚类中心;
[0037]
计算数据集中所有gt与各个聚类中心之间的距离,将与其距离最近的聚类中心作为其索引,将索引相同的特征点作为同一聚类;
[0038]
当连续两次的聚类结果相同时,判断为聚类结束;
[0039]
将各聚类的最小包围框作为先验框。
[0040]
进一步的,所述粮虫包括但不限于玉米象、赤拟谷盗、谷蠹、锈赤扁谷盗和印度谷螟。
[0041]
本发明的有益效果:本发明所提供的技术方案,将神经网络模型中的卷积层conv4_3和conv5_3输出的特征图进行融合,删除对小目标检测不利的block11,并且采用k-means聚类算法得到适合粮虫的先验框,改善原始ssd算法中默认先验框的缺陷,使之更有利于粮虫的识别和定位。因此,本发明所提供的技术方案能够解决现有技术中对粮虫识别准确性差的问题。
附图说明
[0042]
图1是本发明方法实施例中基于ssd算法的特征融合的粮虫识别方法的流程图;
[0043]
图2是本发明方法实施例中神经网络模型的结构示意图;
[0044]
图3是本发明方法实施例中浅层特征图和深层特征图融合过程示意图。
具体实施方式
[0045]
本发明的目的是提供一种基于ssd算法的特征融合的粮虫识别方法和识别系统,在所建立的神经网络模型中将深度特征层和浅度特征层进行融合,采用k-means算法得到各特征层的先验框,以解决现有技术中对粮虫识别不准确的问题。
[0046]
方法实施例:
[0047]
本实施例提供一种基于ssd算法的特征融合的粮虫识别方法,其流程如图1所示,包括如下步骤:
[0048]
步骤一:建立数据集。
[0049]
数据集中的训练数据包括多种粮虫图像,粮虫包括但不限于有玉米象、赤拟谷盗、谷蠹、锈赤扁谷盗和印度谷螟。采集图像时,使用活体成虫进行拍摄,由于活体虫子较为活泼,可以保证采集样本的多样性。采集时图片时先拍摄粮虫的视频,然后对其进行截图,完成数据集图片的制作。
[0050]
在本实施例的数据集中的训练数据共有1998张图像,每幅图像大小为640
×
480,每幅图像有3-10只粮虫,且每张图片只有一种粮虫。数据集中1438张图像用于训练神经网络模型,360张图像用于验证神经网络模型,200张用于测试神经网络模型。
[0051]
步骤二:建立神经网络模型。
[0052]
本实施例中所建立的神经网络模型以vgg16网络为特征提取网络,其结构如图2所示,图中的圆形标志即为图2中所示的top-down模块,使用该模块将conv4_3和conv5_3的输出的特征图进行融合。
[0053]
本实施例中的神经网络模型包括block12、block7、block8、block9和block10,其
中block12由卷积层conv4_3和conv5_3输出的特征图通过top-down模块融合而成,block7、block8、block9和block10分别为卷积层conv7、conv8_2、conv9_2和conv10_2输出的特征图。各特征图先验框的大小通过k-means算法进行聚类得到。
[0054]
步骤三:采用数据集中的训练数据对所建立的神经网络模型进行训练,得到训练后的神经网络模型。
[0055]
在采用数据集中的训练数据对所建立的神经网络模型进行训练时,以数据集中的训练数据的图像为输入,以图像中粮虫的种类和位置为输出,得到训练后的神经网络模型。
[0056]
步骤四:采集待识别粮虫的图像,将其输入到训练后的神经网络模型中,识别出其中的粮虫种类和数量。
[0057]
本实施例中使用top-down模块将conv4_3输出的浅层特征图和conv5_3输出的深层特征图进行融合,融合过程如图3所示,包括步骤:
[0058]
步骤1.1:对深层特征图进行一次卷积和两次反卷积,使其尺寸转换为原来的两倍,然后再接入bn模块,其中卷积和反卷积是深度学习中的运算方式;
[0059]
步骤1.2:对浅层特征图进行两次卷积操作,然后接入bn(batch normalization,批量标准化)模块;
[0060]
步骤1.3:对深层特征图和浅层特征图进行特征融合,本实施例中是将浅层特征图和深层特征图在每个通道进行点乘运算的方式将对深层特征图和浅层特征图进行特征融合;
[0061]
步骤1.4:采用relu激活函数将点乘之后的特征图进行激活,得到最终的融合后的特征图,其中relu激活函数是卷积神经网络引用非线性的一种操作。
[0062]
本实施例中在对深层特征图和浅层特征图进行融合的过程中,在进行卷积操作时,卷积核采用的是3
×3×
c1的卷积核。
[0063]
本实施例采用k-means算法进行聚类,遍历数据集,确定各特征图先验框的长宽比,使所建立的神经网络模型更容易、准确的对粮虫进行定位。
[0064]
采用k-means得到先验框的过程包括如下步骤:
[0065]
步骤2.1:对数据集图像中的粮虫进行标注,并进行初始化,得到m个聚类中心,即从所有gt(ground truth,手动标记的边界框)中随机选取m个边界框,m为大于1的正整数;
[0066]
步骤2.2:计算数据集中所有gt与各个聚类中心之间的距离,选取距离最小的聚类中心并将其保存其索引;当连续两次聚类结果一致时,判断为聚类结束。
[0067]
步骤2.3:将同一聚类中心的标注点作为同一类,得到每个类的最小包围框,包围框即为先验框。
[0068]
根据聚类结果,每层输出的特征图对应的先验框长宽比如表1所示。
[0069]
表1
[0070]
特征图先验框的长宽比block12[1,1

,2,1./2,1./4,1./3]block7[1,1

,2,1./2,1./4,1./3]block8[1,1

,2,1./2,1./4,1./3]block9[1,1

,2,1./2,1./4,1./3]block10[1,1

,2,1./2]
[0071]
本实施例中采用precision(精确率)、recall(召回率)、ap(平均精确度)、以及map(平均准确率)和fps(每秒帧率)来衡量所建立的神经网络模型的优劣。所有指标都是数值取值越大,代表检测性能越好。其中fps代表检测速度,数值越大,代表检测速度越快。
[0072]
其中精确率和召回率的计算公式为:
[0073][0074][0075]
all det ectioons=tp+fp
[0076]
all ground truthes=fn+tp
[0077]
其中tp为正确划分为正样本的正样本个数(true positive),fp为被错误划分为正样本的负样本个数(false positive),fn为被错误划分为负样本的正样本个数(false negative)。
[0078]
相对于原ssd算法,优化之后的ssd模型,map从88.56%提升到96.74%,有了很大的提升。虽然fps由25降低到21,但仍然能够达到实时检测的要求。优化后的神经网络检测结果的map对比如表1所示,优化后的神经网络模型模型对于粮虫的目标检测精度上有了很大的提升。
[0079]
表1
[0080]
模型map/%赤拟谷盗谷蠹玉米象锈赤扁谷盗印度谷螟fps优化前的ssd88.5691.2790.3793.4376.0691.6625优化后的ssd96.7495.4098.6396.9595.6797.0621
[0081]
系统实施例:
[0082]
本实施例提供一种基于sdd算法的特征融合的粮虫识别系统,包括处理器和存储器,存储器上存储有用于在处理器上执行的计算机程序;所述处理器执行所述计算机程序时,实现如上述方法实施例中所提供的基于sdd算法的特征融合的粮虫识别方法。
[0083]
以上公开的本发明的实施例只是用于帮助阐明本发明的技术方案,并没有尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。
[0084]
本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1