2023年12月6日发(作者:起亚福瑞迪2020款)
(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号
CN 114120037 A(43)申请公布日
2022.03.01(21)申请号 2.6(22)申请日 2021.11.25(71)申请人 中国农业科学院农业信息研究所地址 100081 北京市海淀区中关村南大街12号(72)发明人 代国威 闫燊 胡林 樊景超 张翔鹤 (74)专利代理机构 北京市盛峰律师事务所
11337代理人 于国富(51).G06V
10/764(2022.01)G06V
10/774(2022.01)G06V
10/80(2022.01)G06K
9/62(2022.01)权利要求书3页 说明书12页 附图5页
G06N
3/04(2006.01)G06N
3/08(2006.01)CN
114120037
A(54)发明名称一种基于改进yolov5模型的发芽马铃薯图像识别方法(57)摘要本发明公开了一种基于改进yolov5模型的发芽马铃薯图像识别方法,包括以下步骤:构建图像识别网络模型,获取马铃薯图片数据集,分为训练集和测试数据集;对数据集进行预处理分析,得到数据可视化结果,基于可视化结果确定采用训练集数据集进行特征融合时采用的模型;对构建图像识别网络模型进行训练,获取图像识别网络模型的各个参数指标,得到训练后的图像识别网络模型;采用测试数据集对训练后的图像识别网络模型进行测试,对测试结果的精度进行评价。利用9?Mosaic算法对获取到的马铃薯图片进入backbone前进行增强优化,强化小目标特征,调整backbone内图内卷积传递规则,使用跨图卷积CrossConv替代Conv连接两个图内卷积,增强特征相似性,提高了发芽马铃薯识别的准确度。CN 114120037 A权 利 要 求 书1/3页1.一种基于改进yolov5模型的发芽马铃薯图像识别方法,其特征在于,包括以下步骤:S1,构建基于改进yolov5模型的图像识别网络模型,所述图像识别网络模型具体包括输入层640*640的图像张量、Backbone?Network、Neck?Network和Detector,其中,所述输入层加入马赛克数据增强模块;所述Backbone?Network是YOLOv5的核心结构,由Focus、Conv、C3和SPP模块组成;所述Neck?Network中加入FPN+PAN结构;Prediction中将边界锚框的损失函数由CIOU损失改进为广义IoU损失;在目标检测后处理过程中,YOLOv5采用加权NMS运算对多个目标锚框进行筛选;S2,获取马铃薯图片数据集,并将数据集分为训练集和测试数据集;S3,对数据集进行预处理分析,得到数据可视化结果,基于可视化结果确定数据集进行特征融合时采用的模型;S4,采用训练集对构建图像识别网络模型进行训练,获取图像识别网络模型的各个参数指标,得到训练后的图像识别网络模型;S5,采用测试数据集对训练后的图像识别网络模型进行测试,对测试结果的精度进行评价。2.根据权利要求1所述的基于改进yolov5模型的发芽马铃薯图像识别方法,其特征在于,步骤S2中获取数据集的方法具体包括以下步骤:S21,通过网络爬虫获取不同品种的马铃薯图像,按照剔除芽已经分化的马铃薯、场景较为单一的发芽马铃薯以及非马铃薯图像的规则获取数据集;数据集中包括健康马铃薯和发芽马铃薯;S22,使用waifu2x?caffe对数据集中的图像数据按照降噪与转换模式在RGB图像模式中进行处理,保存为JPG格式;S23,将处理好的马铃薯样本数据集分为训练集和测试集,比例为3∶1。3.根据权利要求2所述的基于改进yolov5模型的发芽马铃薯图像识别方法,其特征在于,步骤S3中所述的不同品种的马铃薯包括但不限于荷兰薯、中薯8号、陇薯、大西洋薯、坝薯9号、豫马铃薯1号和川芋5号。4.根据权利要求1所述的基于改进yolov5模型的发芽马铃薯图像识别方法,其特征在于,步骤S3中的基于可视化结果确定数据集进行特征融合时采用的模型检测尺度范围具体包括:80*80、40*40、20*20和4*4像素。5.根据权利要求1所述的基于改进yolov5模型的发芽马铃薯图像识别方法,其特征在于,步骤S1中构建的网络模型中,马赛克数据增强模块的数据处理方式为:载入一张原始图片,随机选取8张图片,进行拼接组合,并使用超参数translate、scale、shear对拼接后的图像进行处理。6.根据权利要求5所述的基于改进yolov5模型的发芽马铃薯图像识别方法,其特征在于,所述超参数通过超参数进化模型机制获得,选自下面的表格:2CN 114120037 A权 利 要 求 书2/3页7.根据权利要求1所述的基于改进yolov5模型的发芽马铃薯图像识别方法,其特征在于,步骤S1中构建的网络模型中,对Backbone?Network中的Conv采用的改进原理为:公式(1)中代替邻接矩阵,为的转置矩阵,转置矩阵代表图元信息的变换;图像增强操作看作是细粒度的矩阵转置;从或conv得到相似度的选取k?1层的v1,v2为特征向量通过Cross?为更新的权重。8.根据权利要求1所述的基于改进yolov5模型的发芽马铃薯图像识别方法,其特征在于,步骤S1中的所述Detector结构为三个Detect模块准备不同宽高的初始Anchors,采用K?means聚类算法与遗传算法匹配最佳的锚点使用层数为4层。9.根据权利要求1所述的基于改进yolov5模型的发芽马铃薯图像识别方法,其特征在于,步骤S5中对测试结果的精度进行评价的过程具体包括:S51,分别计算正确找到正例发芽马铃薯比例TP,错误找到正例发芽马铃薯的比例TN,错误划分负例的发芽马铃薯比例FP以及找到错误正例的发芽马铃薯比例FN;S52,采用下列公式分别计算评价参数:3CN 114120037 A权 利 要 求 书3/3页4CN 114120037 A说 明 书1/12页一种基于改进yolov5模型的发芽马铃薯图像识别方法技术领域[0001]本发明涉及图像识别技术领域,尤其涉及一种基于改进yolov5模型的发芽马铃薯图像识别方法。背景技术[0002]马铃薯是世界粮食供应的核心,在100多个国家种植。作为仅次于玉米、小麦和水稻的第四大作物,马铃薯的生产是食品工业的一个主要关注点,它支持大量的研究项目。特别是对马铃薯产业的一个重要过程,马铃薯的储存进行了定期研究[1]。中国将马铃薯作为主食的战略清楚地表明需要改进马铃薯加工,而这一战略的瓶颈在于选择合适的原料和加工马铃薯的技术和设备。事实上,马铃薯在加工期间的储存期发芽,对整个行业来说是非常致命,发芽薯含有的龙葵素仅?0.2mg/g导致窒息甚至死亡[2],导致工业净损失和食品浪费增加。因此,自二十世纪初以来,人们对发芽马铃薯识别分级进行了大量研究。其中一些基于传统计算机视觉系统外部质量检测的研究,主要有:向静等提出的结合计算机视觉的马铃薯外部品质检测技术,解决了马铃薯表皮的损伤部位定位以及品质分级[3]。高尚基于SVM和加权欧氏距离的发芽马铃薯检测,实现了利用传统机器学习算法在工业相机捕捉的原始图像下对发芽薯个体识别分级[4]。吕钊钦等提出的在Gabor?特征的马铃薯图像芽眼识别,在特定的图像采集场景下,通过Gabor特征剔除马铃薯边界连通区域进行芽眼识别,对马铃薯块茎切块中的芽眼识别提供技术支持[5]。而另一些专注于不明显质量(颜色、纹理、尺寸)评估中,则基于高光谱和多光谱成像。主要有:Gao,HL等提出的高光谱传输与反射成像技术比较研究,解决利用反射光谱和传输光谱通过子窗口排列分析(SPA),实现随机放置的马铃薯损伤识别[6]。Song,S低成本的超光谱成像,利用线性可变带通滤波器在在450?到900nm之间表现出良好的光谱性能可用于确定马铃薯植物健康状况,准确率接近[0003]同时随着深度学习技术的不断发展,由于其有着良好的深层特征感知能力,在农产品质量分级中得到了广泛的应用。在马铃薯芽眼识别的研究中,主要有:王飞云等提出的基于yolov3模型识别发芽马铃薯,通过原始yolov3模型,对在多光源场景下CCD相机拍摄图像进行识别,进而对发芽马铃薯进行检测识别及框选[8]。席芮等改进Faster?R?CNN的马铃薯芽眼识别方法,同样在固定的图像采集系统下采集图像数据,利用高斯降权函数对R?CNN中的NMS算法进行优化,从而以提高马铃薯芽眼的识别效果,识别精度为96.32%[9]。上述识别方法,都是在预知的具体场景中提出,所构建的数据模型需要满足所设立的图像采集系统。前人研究提出的这些技术主要满足马铃薯某一状态或者某一个场景下利用不同检测手段实现马铃薯的品质分级,而利用计算机视觉技术在多种复合复杂的场景下对发芽马铃薯的检测分级较少涉及。[0004]yolov5是ultralytics在2020年6月推出。至今已经迭代了7个版本,从推出yolov5??v1.0开始,将实验性较好的网络,作为参数结构形式集成到backbone中,包括CSP?改进backbone,加快小目标推理的FP16、减参数增加精确度的PANet,其在COCO?数据集上的检测速度和精度都优于之前的YOLOv4和YOLOv3算法。推出v5s、?v5m、v5l、v5x四种不同权重5CN 114120037 A说 明 书2/12页的模型,不在需要构建网络模型的文件中进行配置,由depth?multiple与width?multiple参数控制模型的深度与宽度,对应yolov5四种不同的模型级别。四种模型的mAP依次增强,但是速度依次降低。[0005]因此亟待找到一种识别准确度高,同时识别速度更快的方法。发明内容[0006]本发明的目的在于提供一种基于改进yolov5模型的发芽马铃薯图像识别方法,从而解决现有技术中存在的前述问题。[0007]为了实现上述目的,本发明采用的技术方案如下:[0008]一种基于改进yolov5模型的发芽马铃薯图像识别方法,包括以下步骤:[0009]S1,构建基于改进yolov5模型的图像识别网络模型,所述图像识别网络模型具体包括输入层640*640的图像张量、Backbone?Network、Neck?Network和?Detector,其中,所述输入层加入马赛克数据增强模块;所述Backbone?Network?是YOLOv5的核心结构,由Focus、Conv、C3和SPP模块组成;[0010]所述Neck?Network中加入FPN+PAN结构;Prediction中将边界锚框的损失函数由CIOU损失改进为广义IoU损失;在目标检测后处理过程中,YOLOv5采用加权NMS运算对多个目标锚框进行筛选;[0011]S2,获取马铃薯图片数据集,并将数据集分为训练集和测试数据集;[0012]S3,对数据集进行预处理分析,得到数据可视化结果,基于可视化结果确定数据集进行特征融合时采用的模型;[0013]S4,采用训练集对构建图像识别网络模型进行训练,获取图像识别网络模型的各个参数指标,得到训练后的图像识别网络模型;[0014]S5,采用测试数据集对训练后的图像识别网络模型进行测试,对测试结果的精度进行评价。[0015]优选的,步骤S2中获取数据集的方法具体包括以下步骤:[0016]S21,通过网络爬虫获取不同品种的马铃薯图像,按照剔除芽已经分化的马铃薯、场景较为单一的发芽马铃薯以及非马铃薯图像的规则获取数据集;数据集中包括健康马铃薯和发芽马铃薯;[0017]S22,使用waifu2x?caffe对数据集中的图像数据按照降噪与转换模式在RGB?图像模式中进行处理,保存为JPG格式;[0018]S23,将处理好的马铃薯样本数据集分为训练集和测试集,比例为3∶1。[0019]优选的,步骤S3中所述的不同品种的马铃薯包括但不限于荷兰薯、中薯8?号、陇薯、大西洋薯、坝薯9号、豫马铃薯1号和川芋5号。[0020]优选的,步骤S3中的基于可视化结果确定数据集进行特征融合时采用的模型检测40*40、20*20和4*4像素。尺度范围具体包括:80*80、[0021]优选的,步骤S1中构建的网络模型中,马赛克数据增强模块的数据处理方式为:载入一张原始图片,随机选取8张图片,进行拼接组合,并使用超参数?translate、scale、shear对拼接后的图像进行处理。[0022]优选的,所述超参数通过超参数进化模型机制获得,选自下面的表格:6CN 114120037 A说 明 书3/12页[0023][0024][0025]优选的,步骤S1中构建的网络模型中,对Backbone?Network中的Conv采用的改进原理为:[0026][0027][0028][0029]公式(1)中代替邻接矩阵,为的转置矩阵,转置矩阵代表图元信息的变换;图像增强操作看作是细粒度的矩阵转置;从或Cross?conv得到相似度的[0030]选取k?1层的v1,?v2为特征向量通过为更新的权重。优选的,步骤S1中的所述Detector结构为三个Detect模块准备不同宽高的初始Anchors,采用K?means聚类算法与遗传算法匹配最佳的锚点使用层数为4?层。[0031]优选的,步骤S5中对测试结果的精度进行评价的过程具体包括:[0032]S51,分别计算正确找到正例发芽马铃薯比例TP,错误找到正例发芽马铃薯的比例TN,错误划分负例的发芽马铃薯比例FP以及找到错误正例的发芽马铃薯比例FN;[0033]S52,采用下列公式分别计算评价参数:[0034]7CN 114120037 A[0035]说 明 书4/12页[0036][0037][0038]本发明的有益效果是:[0040]本发明提出一种基于改进yolov5模型的发芽马铃薯图像识别方法,利用9??Mosaic算法对获取到的马铃薯图片进入Backbone前进行增强优化,强化小目标特征,调整Backbone内图内卷积传递规则,使用跨图卷积Cross?Conv替代Conv连接两个图内卷积,增强特征相似性,提高了发芽马铃薯识别的准确度。同时本发明在模型中融合k?means先验框对目标框大小进行锚定,使能快速对模型进行收敛,其次使用超参数进化机制,对模型的精确度进行微调,并使用multi?scale策略进行训练,提升模型的泛化能力。实验结果表明改在多场景下识别发芽马铃薯能力明显提升,满足了多场景下的马铃薯质进后yolov5模型,量分级的要求。附图说明[0041]图1是现有技术中所采用的YOLOV5模型结构示意图;[0042]图2是实施例1中提供的YOLOV5模型结构中的空间金字塔池化模块示意图;[0043]图3是实施例1中的输入图像通过马赛克数据增强处理后的拼接图片;[0044]图4是实施例1中采用遗传算法计算锚框的过程示意图;[0045]图5是实施例1中测试适应率随遗传迭代次数变化的曲线;[0046]图6(a)现有技术原始网络结构中的SPP使用三个尺度5、9、13进行多尺度融合池化示意图;图6(b)是实施例1中采用的改进后的SPPF使用单个参数5进行池化示意图;[0047]图7(a)是实施例1中的马铃薯数据集进行数据可视化处理后的结果示意图,?(b)是马铃薯数据集中马铃薯的大小分布示意图。[0048]图8是实施例1中训练和验证集的训练期间,框损失、目标损失、分类损失、精确度、召回率和平均精确度(mAP)曲线图;[0049]图9是测试数据集的图像显示了检测三个马铃薯类别的性能分析图,(a)为现有的yolov5模型检测,(b)为采用改进yolov5模型检测,由上至下分别为腐烂马铃薯;马铃薯;马铃薯的芽。具体实施方式[0050]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不用于限定本发明。8[0039]CN 114120037 A[0051][0052]说 明 书5/12页实施例1本发明提供了一种基于改进yolov5模型的发芽马铃薯图像识别方法,包括以下步骤:S1,构建基于改进yolov5模型的图像识别网络模型,所述图像识别网络模型具体包括输入层640*640的图像张量、Backbone?Network、Neck?Network和?Detector,其中,所述输入层加入马赛克(Mosaic)数据增强模块;所述Backbone Network是YOLOv5的核心结构,由Focus、Conv、C3(CSP?Bottleneck?with?3?convolutions)和空间金字塔池化(Spatial?Pyramid?Pooling,SPP)模块组成;Focus?模块将输入在纵向和横向间隔切片再拼接,与卷积下采样相比,Focus输出深度提升4倍,保留更多的图像信息。Conv为YOLOv5的基本卷积单元,对输入依次进行二维卷积、正则化、激活操作。C3由若干个Bottleneck模块组成,Bottleneck?为一种经典残差结构,输入经过两层卷积层后与原始值进行Add操作,在不增加输出深度的同时完成残差特征传递。SPP为空间金字塔池化层,SPP对输入执行三种不同尺寸的最大池化操作,并将输出结果进Concat拼接,输出深度与输入深度相同。[0054]所述Neck?Network中加入FPN+PAN结构(Path?Aggregation Network);Prediction中将边界锚框的损失函数由CIOU(Complete?IoU)损失改进为广义IoU(Generalized?IoU,GIoU)损失;在目标检测后处理过程中,YOLOv5采用加权NMS(Non?Maximum?Suppression)运算对多个目标锚框进行筛选;不同于YOLOv4网络模型在骨干网络中只使用CSP结构,本实施例中的YOLOv5网络模型设计了两种新的CSP结构,以YOLOv5网络,骨干网络采用CSP1_1结构和?CSP1_3结构,颈部采用CSP2_1结构,加强网络之间的特征融合。[0055]S2,获取马铃薯图片数据集,并将数据集分为训练集和测试数据集;[0056]S3,对数据集进行预处理分析,得到数据可视化结果,基于可视化结果确定数据集进行特征融合时采用的模型;[0057]S4,采用训练集对构建图像识别网络模型进行训练,获取图像识别网络模型的各个参数指标,得到训练后的图像识别网络模型;[0058]S5,采用测试数据集对训练后的图像识别网络模型进行测试,对测试结果的精度进行评价。[0059]本实施例中采用的改进后的YOLO?V5网络结构如表1所示:[0060]表1改进的YOLO?V5网络结构[0053]9CN 114120037 A说 明 书6/12页[0061][0062]其中,表中的From表示接受上一层网络的输入,具有Concat层中,From表示当前层与指定层的特征进行融合;Params为当前层网络参数的累计量,Module为当前层使用的主要模型,本文除增加了一个检测尺度外,同时增加一个上采样层,将序号20处所在的层与第二层进行融合,输出的特征图作为4倍采样检测。?arguments列的值分别代表该模块的输入通道数、输出通道数、卷积核大小和步长信息。[0064]本实施例中提供的网络模型的高级特征映射具有更宽的接受域,侧重于抽象语义信息的表达,适用于目标分类任务,但分辨率较低,表示定位细节和信息的能力较差。网络层越深,向下采样过程中对较小目标的信息损失越大。低层地物图的接收场小,分辨率高,与小目标的大小相对应。低层特征图更注重目标的细节和位置信息,更有利于提取轮廓、颜色等细节特征和小目标位置的回归。?YOLOv5包含三个特征检测尺度。例如,当输入图像尺寸为640*640时,三个检测尺度范围分别为80*80、40*40、20*20。这意味着当小目标小于8*8像素时,模板缺失。针对这种情况,本文在模型中增加了一个检测比例尺,160*160,640除以160等于4,使模型可以检测4*4像素以上的目标,可以满足较小目标的检测需求。[0065]跨图卷积(Cross通过计算两图?Conv)在两个待匹配的特征图结构之间传递特征。[0063]10CN 114120037 A说 明 书7/12页之间任意两个向量的相似度,构造一个的相似度矩阵,采用Sinkhorn算法对相似度矩阵求解得到一个匹配关系,预测得到的匹配关系作为两个图结构之间跨图更新的权重。因此,跨图卷积层在匹配过程中同时考虑了两个待匹配图结构的信息,通过跨图卷积更新,两图之间原本较为相似的特征会更加相似,因此,如图2使用Cross?conv对YOLOv5模型C3中的Conv进行改进。[0066][0067][0068][0069]公式(1)中代替邻接矩阵,为的转置矩阵,转置矩阵代表图元信息的变换;图像增强操作看作是细粒度的矩阵转置;从或Cross?conv得到相似度的[0070]选取k?1层的v1,v2为特征向量通过为更新的权重。本实施例中在数据输入时采用马赛克增强,提出的9?Mosaic数据增强在?Cutmix上做出改进,提出了新的数据处理方式:载入一张原始图片,随机选取8?张图片,进行拼接组合,并使用表1中的超参数translate、scale、shear对其进行处理。得到效果图如下图3所示。这种方式优点是丰富检测物体的背景,特别是随机缩放增加了小目标,使得网络的鲁棒性得到一定提升。另一方面经过9?Mosaic?数据增强后BN计算九张图片的数据,batch?size隐性增加,初始设置的batch?size?值可以无需很大也可以快速收敛,对GPU性能要求相对降低。[0071]本实施例中的Detector结构为三个Detect模块准备不同宽高的初始Anchors,初始Anchors包含对目标数据的先验知识,其选择将对网络的学习和目标检测效果有积极作用,能够提升模型收敛速度,减小训练周期。本实施例采用K?means?聚类算法与遗传算法(Genetic?Algorithm)匹配最佳的锚点如图4所示。在Img??size=640或940、Thr=0.4迭代1500次,其中Img?size为输入图像的尺寸,提高Img??size有助于识别精度提升,但增加计算负担,Thr决定了标签中Height与Weight的比例;迭代次数、Img?size、锚点K共同决定的fitness,提升这些参数有助于提升识别的精确度,通过图5可衡量遗传次数增大为网络快速收敛带来的增益变化关系,在K=9遗传迭代500次时,Img?size=960的fitness大于Img?size=640,继续遗传迭代800次后,fitness基本保持稳定;对比发现,在K=12时,前三个周?提升较快,从第800个遗传周期后保持稳定,对比K=9有一定的提升效果。期的fitness[0072]因此本实施例中采用Img?size=640,锚点使用4层,即K=12,遗传迭代1500次重新获取初始锚框为表2,网络可在保持高精确度的同时减小输入图像尺寸过大带来的负增益影响。[0073]表2遗传迭代获取锚点结果11CN 114120037 A说 明 书8/12页[0074]在改进的YOLO?V5网络结构中,表1中序号8一般可理解为模型网络第8层,这里第8层为Backbone层,SPP一般处于Backbone的末尾,一般认为提取特征的能力随着网络的加深而增强,图6(a)原始网络结构中的SPP使用三个尺度5、9、?13进行多尺度融合池化,如果融合的马铃薯特征图的形状较为统一,带有重叠的小目标位置信息将在融合过程中变得不准确,甚至在严重情况下丢失。由于数据集中有大量马铃薯的芽与腐烂马铃薯重合交叉,会出现漏检和准确度降低的情况。这里使用SPPF(SPP?Fast)代替原始网络结构中的SPP。图6(b)改进后的SPPF使用单个参数5进行池化,减少了融合参数数量,加速了融合池化速度,提升融合后对马铃薯检测准确率。[0076]在机器学习中,超参数优化在机器学习研究中占有重要地位。作为科学过程的一部分,我们希望不断调整超参数优化模型,超参数与模型参数不同,需要在模型训练前设置超参数。超参数通常是不直观的,但它们对模型性能有很大的影响。与模型参数不同,超参数通常是不可预测的。因此,超参数的优化通常需要经验搜索来评估模型在训练和验证样本上的性能。在自动超参数优化被提出之后,对超参数调优的效率进一步提高,但并不是所有数据集都合适使用自动超参数调优,当数据集过大时将会直接影响模型训练的效率,数据集选择的所有超参数并不是都对模型有积极作用。[0077]本实施例中使用自动随机搜索来探索更多重要超参数,随机搜索对超参数设定一个随机值,每次进化训练后对模型评估,进而选择一个最优的参数设置值;由于本文数据集只有1098张图像,所以将所有数据纳入超参数进化过程。对超参数(Hyperparameter)进化300次,最终选取进化256次时的超参数如下表3所示,使用这些超参数对模型进行训练,通常会获得更好的性能。[0078]表3超参数迭代后的结果[0079][0075]12CN 114120037 A说 明 书9/12页[0080]注:表中仅为重要超参数,不代表全部参数[0082]马铃薯数据集的数据源主要通过网络爬虫获取与Fruits?360剥离的马铃薯数据集组成。按照品种划分包含有荷兰薯、中薯8号、陇薯、大西洋薯、坝薯9号、豫马铃薯1号和川芋5号等系列;按照颜色分为红色未洗马铃薯、红色水洗马铃薯、甜马铃薯、白马铃薯。数据按照剔除芽已经分化的马铃薯、场景较为单一的发芽马铃薯以及非马铃薯图像的规则筛选1098张图像数据,最后取得合乎规则的数据共计513张,加上Fruits?360的1803张马铃薯图像,共计2316张图像;用于创建训练和测试数据集。数据集由马铃薯与发芽马铃薯、腐烂马铃薯构成。通过网络爬取图像数据规范性较差,各类图像大小不一,为了统一数据;使用waifu2x??caffe[26]对马铃薯图像数据按照降噪Level1与转换模式2,均在RGB图像模式处理,保存的格式为JPG。将马铃薯样本分为训练集和测试集,比例为8:2。训练集图像数量1843张,其中训练集标签类别数量如下表;测试集461张。[0083]表4训练数据集标签类别数量[0081]13CN 114120037 A说 明 书10/12页[0084]通过使用表2锚点对马铃薯数据集预处理后进行分析,得到数据可视化结果。图7(a)中x、y是指中心点的位置,蓝色方块越集中代表该点位置目标框的中心点越集中,图7(b)中width、height分别代表数据集标签中物体的宽高。从图7(a)(b)?可以看出数据集物体分布比较均匀,且中小物体占比更大,同时说明该数据集合适采样值较小的融合特征;图7(a)中坐标值存在颜色较深的方形块,说明数据集中的马铃薯发芽体有许多重叠的地方。但是,使用Cross?Conv对模型改造后,问题能够得到缓解,Cross?conv改进C3后的模型如图2所示。[0086]进行网络模型训练时,本实施例中使用ultralytics?YOLO?V5进行训练,U版?YOLO?V5提供强大的模型配置功能,对每一个模块按照细粒度划分,无需关注繁琐的流程控制。马铃薯数据集与COCO预置权重并不相关,我们这里不使用。我们添加了表3中的超参数,并调整了要训练的Batch?size为64、图像尺寸为?640*640,以300个Epoch训练一个模型大约需要5小时。下表中显示了我们实验环境的配置,图7显示了改进的模型在训练集和验证集的不同性能指标。[0087]表5实验环境配置参数[0085][0088]图8中显示了三种不同类型的损失:框损失(box_loss)、目标损失(obj_loss)和分类损失(cls_loss)。框损失表示算法能够定位对象中心的程度,以及预测的边界框覆盖对象的程度。目标性本质上是对某个对象存在于所提议的感兴趣区域的概率的度量。如果客观性较高,这意味着图像窗口可能包含对象。分类损失给出了算法预测给定对象正确类别的能力。该模型在精度、召回率和平均精度方面迅速提高,在大约200个epoch之后趋于平稳。验证数据的框、目标和分类损失也显示出快速下降,直到第300epoch左右。我们使用提前停止来选择最佳权重。[0090]为了实现对马铃薯检测模型的评价,利用目标检测领域最常用的指标查准确?(Precision)、查全率(Recall)、F1、均值平均精度(mAp)对模型进行评估。本文使用461张马铃薯图像组成的测试数据进行性能测试。可以得到四类检测结果图像,除了表4中马铃薯数据集我们定义了三类标签,其他类别的图像将不会被检测。[0091]在公式(4)中,正确找到正例马铃薯的比TP包括能正确找到正例腐烂马铃薯比例;例;正确找到正例马铃薯的芽比例,TN为错误找到正例腐烂马铃薯的比例;错误找到正例马14[0089]CN 114120037 A说 明 书11/12页铃薯的比例;错误找到正例马铃薯的芽比例,FP为错误划分负例的腐烂马铃薯;错误划分负例马铃薯的比例;错误划分负例马铃薯的芽比例,FN为划分错误正例腐烂马铃薯比例;错误划分正例马铃薯的比例;错误划分正例马铃薯的芽比例,上述描述每一类的三种比例分别由表4的标签类别表示。公式(8)中,mAP计算对多个发芽马铃薯测试集个体平均AP值,计算过程如公式(4?8)?所示,得到的试验数据如表6和表7所示。[0092][0093][0094][0095][0096][0097][0098]表6?YOLO?V5s模型的表现[0099][0100]表7改进YOLO?V5s模型的表现[0101]依据表6、表7实验结果可知:本文改进的YOLO?V5模型能够有效提高对马铃薯、马铃薯芽、腐烂马铃薯的检测精度。将461张马铃薯图像组成的测试数据集分别在改进的模型与原始YOLO?V5下进行测试,在所有类别(all)下,改进的模型对马铃薯检测平均准确度为90.1%,对马铃薯芽平均准确度为81.2%,对腐烂马铃薯平均准确度为97.1%,mAP@.5达到88%,高出原始YOLO?V5模型mAP@.5?7.4%。在potato类别下,原始模型对比改进的模型马铃薯检测mAP@.5高出2.6%,这里相比于原始模型出现mAP@.5下降,通常情况下精确率与召回率此消彼长,对比两者F1都为91%,说明改进的模型在此类别下作用影响较小,但不存在负增益。[0103]在germ与badpotato类别下,原始模型对比改进的模型马铃薯检测mAP@.5分别高出15.1%、9.9%,说明改进模型对于后两者影响作用较大。[0104]由此说明,本模型在马铃薯检测分级准确性方面较为优秀,能够满足多场景下马[0102]15CN 114120037 A说 明 书12/12页铃薯检测的准确率要求。[0105]我们从验证集中选取了三张具有代表性的马铃薯图像,代表了在复杂场景下对马铃薯识别,识别的结果一定程度上可以泛化为真实场景下对于马铃薯识别有效性保证。如图9所示,图9(a)表示基础YOLO?V5模型的下马铃薯识别结果,图9(b)表示本文改进YOLO?V5模型下的马铃薯识别结果。其中,图9(a)中的红色箭头表示与图9(b)中的识别的差异,差异具体体现在蓝色框不同程度上的遗失;图9(a)中的黑色箭头表示对图9(b)中的识别结果的否定,具体体现在蓝色框错误的将非定义语义标签类别,识别为存在的特征目标。通过分析,图9(a)从上到下相对于图9(b),对于马铃薯等三类特征识别遗失框分别为5、2、5,以表4我们定义的三类标签为例,共失去12个特征标签,平均一张图像损失4个标签。图9(a)、图9(b)中部的图像,相对于其他两类图像,表现出马铃薯目标体积较大、遮盖较少特点,通过基础YOLO?V5模型检测,实际结果相较于图9(a)其他两类结果表现稍好;但是对于图9(b)中部图像比较而言,缺出现了多次识别同一个马铃薯的问题,重复识别同一个目标,说明原始YOLO?V5模型对于特征的提取程度较浅。同时,由图9(a)底部图像黑色箭头所指的germ特征,在图9(b)底部图像中并没有出现,说明原始YOLO?V5模型对于特征识别的泛化性较差。同时也说明改进的?YOLO?V5模型对于小目标、多遮盖的检测效果好于原始模型。[0106]综上所述,改进后的YOLO?V5模型有效地解决了上述问题,在复杂环境下具有良好的鲁棒性。[0107]通过采用本发明公开的上述技术方案,得到了如下有益的效果:[0108]本发明公开了一种基于改进YOLO?V5的发芽马铃薯图像识别模型,对YOLO V5模型结构进行优化,并引入多种提高识别精度机制,通过调整Backbone图内卷积传递规则,增强特征相似性,强化小目标特征。引入9?mosaic数据增强、基于遗传算法的K?means先验框、加速空间金字塔SPPF、Cross?Conv替代C3模块中的Conv连接两个图内卷积,增强特征相似性等机制到网络模型;针对实际应用需求,改进YOLO?V5模型被证明能够以较高精度对马铃薯的三种状态分级,平均mAP@.5始终高于88%。在同一测试集中,与原始的模型相比,精度提高7.4%。所有测试和结果证明,该网络具有良好的性能和足够的速度,在面对多场景下的发芽马铃薯识别时也具备强泛化能力,且保持识别精度的稳定性。后续工作将解决如何对模型进行剪枝与移动端的模型部署,在农业工程应用中验证并完善所提模型;同时将发芽马铃薯与其他关联特征相结合,实现实用性更强的马铃薯品质监督系统,以更好满足农业实际需求。[0109]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。16CN 114120037 A说 明 书 附 图1/5页图1图217CN 114120037 A说 明 书 附 图2/5页图3图418CN 114120037 A说 明 书 附 图3/5页图5图619CN 114120037 A说 明 书 附 图4/5页图7图820CN 114120037 A说 明 书 附 图5/5页图921
更多推荐
马铃薯,模型,进行,数据,发芽,网络
发布评论