首页> 中国专利> 一种基于小麦图像的目标检测算法

一种基于小麦图像的目标检测算法

摘要

本发明涉及一种基于小麦图像的目标检测算法,所述检测算法包括以下步骤:步骤1:第一阶段为算法的训练阶段,步骤2:第二阶段为算法的实时推理阶段。针对小麦数据集优化后的YOLOv5算法具有较高的精度和较高的推理速度,可以实现实时推理,其线下训练也可在单块GPU上完成(例如GTX1080ti或者RTX2080Ti等),极大的降低了对硬件的要求。

著录项

  • 公开/公告号CN112488006A

    专利类型发明专利

  • 公开/公告日2021-03-12

    原文格式PDF

  • 申请/专利权人 东南大学;

    申请/专利号CN202011406565.1

  • 发明设计人 范淑卷;孙长银;陆科林;徐乐玏;

    申请日2020-12-05

  • 分类号G06K9/00(20060101);G06K9/62(20060101);G06N3/04(20060101);G06N3/08(20060101);

  • 代理机构32206 南京众联专利代理有限公司;

  • 代理人杜静静

  • 地址 210096 江苏省南京市玄武区四牌楼2号

  • 入库时间 2023-06-19 10:11:51

说明书

技术领域

本发明涉及一种检测算法,具体涉及一种基于小麦图像的目标检测算法,属于人工智能计算机视觉技术领域。

背景技术

目标检测是人工智能计算机视觉领域的一个基础方向,通常的目标检测属于监督学习。给定数据集和标签,分别通过预处理、特征提取、特征融合和检测等对所给数据集中包含目标的类别和位置来进行训练,从而达到可以预测训练集之外的相似图片中包含的目标类别和位置的目的。

目标检测算法主要有三个组成部分:backbone、neck和head。其中backbone为特征提取的部分,常见的backbone有VGG、resnet、darknet等;neck为特征融合部分,从2017年特征金字塔FPN问世以来,neck部分加入了几乎所有的目标检测网络中,常见的neck有FPN、PANet、Bi-FPN等;head部分负责从提取到的这些特征中,获得检测目标的位置和类别。目标检测算法一般分为one-stage和two-stage算法两大类,所谓的two-stage算法就是指先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类;而one-stage算法则没有提取候选框这一步骤,直接对目标类别和位置进行回归。而这两者在结构上的区别之一体现在head部分,常见的one-stage算法的head有:yolo、ssd等,two-stage算法的head有Faster R-CNN等。先进的一些目标检测算法已经能够很好的解决自然数据集上的分类和识别问题,例如自然图像数据集ImageNet被学术界认为是已被解决的问题,从2013年开始不再举办每年一度的ImageNet比赛。但是目标检测算法在具体的应用上还是会面对不尽相同的问题,例如:数据集样本少、遮挡问题、小目标、聚集、类别不均衡等。所以在我们的小麦数据集中也有一些特定的困难亟待解决。

发明内容

本发明正是针对现有技术中存在的问题,提供一种基于小麦图像的目标检测算法,该技术方案针对自然图像通用的目标检测算法不能很好的解决遮挡问题,以及特定场景下数据集样本数量少的局限性,通过赋予半监督学习的方法,实现了一种能够实现针对于小麦检测的半监督学习算法。

为了实现上述目的,本发明的技术方案如下,一种基于小麦图像的目标检测算法,所述检测算法包括以下步骤:

步骤1:第一阶段为算法的训练阶段,

步骤2:第二阶段为算法的实时推理阶段。

该方案针对于使用的数据集用k-means算法对anchor进行聚类;使用cutout对原始图片进行数据增强,在模拟遮挡的同时扩大数据集;对带有标签的图片使用YOLOv5进行训练得到初步的模型;使用伪标签再次扩大训练集;再次使用YOLOv5对新的数据集进行训练从而得到训练好的模型。

本发明解决技术问题在推理阶段所采用的技术方案是:使用TTA(Test TimeAugment)进行推理阶段的数据增强;使用OOF(Out Of Fold)进行最佳的score阈值选择;使用加权盒融合算法进行box的去重,从而获得最终的预测框。

在训练阶段:

所述的anchor聚类是为了获得更好的固定参考框。Anchor与实际的box越相似,那么收敛速度就越快,也越容易学到精度更高的模型。YOLOv5中的anchor是通过coco的真实box标签使用k-means聚类来得,所以默认的anchor值更加拟合coco数据集的目标大小和形状,所以为了获得对于小麦数据集更好的参考框,需要对小麦数据集的真实box标签使用k-means算法重新进行聚类。

所述的cutout为一种较强的数据增强方法。Cutout的出发点和随机擦除一样,也是模拟遮挡,目的是提高泛化能力,但是cutout实现比随机擦除简单很多,而且效果更好。cutout的具体实现是:随机选择一个固定大小的正方形区域,然后采用全0填充,为了避免填充0值对训练的影响,要对数据进行中心归一化操作,归一化到0。因为cutout模拟了遮挡的效果,因此从某种程度上减缓了小麦数据集中的严重遮挡问题。

进一步的,使用改变了anchor的YOLOv5算法,在进行了cutout等数据增强后的数据集上进行训练,其它的训练参数采用YOLOv5默认的参数。YOLOv5模型主要可分为三部分:backbone、neck和head。其backbone采用的是CSPdarknet-53,其中CSP(Cross-stagepartial connections)为跨阶段部分连接,其与resnet一样,可以解决梯度消失和梯度爆炸问题;neck采用的是PANet,PANet与FPN一样都是起到多尺度特征融合的作用,但是PANet更充分的利用了不同尺度的信息,效果更好;head采用的是YOLOv3的head,分别从三个尺度对大、中、小目标进行预测。

所述的伪标签扩大训练集,是一种半监督的学习方式。其通过对无标签的图像来进行预测,从而扩充到有标签的训练集中,达到扩充数据集的作用,提高泛化能力。

进一步的,将得到的伪标签和测试集图片加入到训练集中,形成新的数据集。这样就达到了扩充数据集的目的,并且应用到了待预测图像的信息。之后用改变了anchor的YOLOv5算法在新的数据集上进行训练,得到最终的预测模型。

在推理阶段:

所述的TTA,是指测试阶段的数据增强,这里我们仅仅采用比较简单的翻转操作,并不采用例如mixup、cutout和mosaic等高级数据增强方式,因为如果采用高级数据增强方法的话可能会降低训练好的模型对测试数据的识别准确率。

所述的OOF,是一种自动寻找score阈值的方式。在用训练好模型预测待预测图片时,会产生若干的预测框,对于所有的预测框都会给一定的置信度,即score。Score反应的便是这个框有多大概率最接近真实的box,因此在去掉重复框之前我们需要去掉score过低的框,以减少后处理的工作量。但是不同的score阈值会产生不同的精度:如果阈值过低,则会使降低准确率,提高召回率,而阈值变高则会提升准确率,降低召回率,因此我们需要在准确率和召回率中在一个权衡,寻找更合适的阈值达到最优的精度。

所述的加权盒融合算法是一种后处理方式,其目的与NMS和softNMS相同,都是进行对预测框的去重,从而得到最后的预测框。但是NMS与softNMS都有其局限性。对于NMS来说,针对某一个特定区域,他只给出一个置信度最大的预测框,所有的与该预测框iou大于NMS阈值的框都会被去掉,哪怕是两者的置信度非常接近,较低置信度的预测框也会被直接去掉,这就很容易造成严重遮挡情况下的漏检。softNMS是对NMS的改进,其对iou大于阈值的框进行一个置信度的降低,如果降低后的置信度仍然大于置信度的阈值,则将其保留,若低于置信度阈值才将其删除。这一定程度上提高了对高度重叠目标的检测精度,但是其最终预测框必定是来源于单个的最初预测框,并没有融合多个预测框的信息,因此它并没有有效的利用所有的预测信息。而加权盒融合算法形成的最终预测框则是由初步的预测框融合而来的,每一个框都会对最终预测框的位置和大小产生影响,分数越高产生的影响越大,因此加权盒融合算法很好的利用了多个预测框的信息,一般情况下会取得更好的效果。

相对于现有技术,本发明的有点如下:本发明在YOLOv5的基础上进行了改进,在增加精度的同时并未降低其推理速度,训练的速度也并未减慢太多。针对小麦数据集中小麦头的严重遮挡现象,本算法使用cutout来模拟遮挡,并使用加权盒融合做后处理,从而使优化后的YOLOv5算法具有更高的精度;YOLOv5属于one-stage的目标检测方法,不需要生成预选框步骤,因此拥有较高的推理速度优势,可以实现实时推理,其线下训练也可在单块GPU上完成(例如RTX1080ti或者RTX2080Ti等),极大的降低了对硬件的要求。

附图说明

图1是算法训练阶段的训练步骤;

图2是算法推理阶段的执行步骤。

具体实施方式:

为了加深对本发明的理解,下面结合附图对本实施例做详细的说明。

实施例1:参见图1,一种基于小麦图像的目标检测算法,所述检测算法包括以下步骤:

步骤1:第一阶段为算法的训练阶段,

步骤2:第二阶段为算法的实时推理阶段。

如图1所示,本算法给出了训练阶段的训练步骤:

步骤S11,对YOLOv5的anchor使用k-means进行聚类。将小麦训练集标签中所有的box的宽w和长h添加到列表中,定义A和B两个box之间的距离

步骤S12,对原图像进行cutout数据增强。即将原图像resize为512*512后,每张图中随机选择8个64*64的正方形区域,并将这些区域的元素值全部置0。

步骤S13,使用更换过anchor的YOLOv5对训练集数据进行训练,使用YOLOv5在coco数据集上的预训练权重进行训练,算法在训练50epoch左右收敛,得到初步训练好的模型。

步骤S14,使用伪标签扩充数据集。使用初步训练好的模型检测待检验的测试集图片,生成一系列与图片相对应的预测标签。

步骤S15,将步骤S14中生成的预测标签与测试集图片合并到原有的训练集中。这两步是使用类似半监督学习的方法扩充了原有数据集。

步骤S16,使用更换过anchor的新的YOLOv5对扩充过的新的数据集进行训练,再训练20epoch进行微调,得到最终用于检测的模型,训练过程结束。值得注意的是,扩充的数据集不宜超过原数据集的两倍,否则存在降低其精度的可能性。

如图2所示,本算法给出了推理阶段的处理步骤。

步骤S21,对测试集图片进行测试阶段的数据增强。此处只进行简单的翻转操作,分别旋转90°、180°、270°,使得测试集图片数量变为原来的四倍,注意之后的box应该向相反方向旋转相应的角度,不然box的位置会出现错误。在TTA(Test Time Augment)阶段,不进行例如cutout、mixup等高级的数据增强操作,因为这些高级的数据增强操作对图片的改变过于强大,可能会使的训练好的模型不能很好的识别正确的目标。

步骤S22,使用OOF(Out Of Fold)对score的最优阈值进行自动选择。score阈值的作用是先对步骤S22中产生的预测框进行初步的处理,去掉置信度(即score)低于阈值的框,从而减小步骤S24中的计算量。此处OOF使用一个简单的循环,分别计算score阈值在区间(0,1]中不同分数阈值的精度,其中步长取0.01,算法会分别计算100次不同score阈值下的精度情况,并选择最优的score阈值用作最终的预测。

步骤S23,使用训练阶段训练好的模型对扩充了四倍后的测试集进行初步检测,得到一系列不同置信度的预测框。

步骤S24,使用加权盒融合算法进行后处理,即完成预测框的去重。其与NMS以及softNMS作用相同,但是却优于这两者。对于NMS来说,针对某一个特定区域,他只给出一个置信度最大的预测框,所有的与该预测框iou大于NMS阈值的框都会被去掉,哪怕是两者的置信度非常接近,较低置信度的预测框也会被直接去掉,这就很容易造成严重遮挡情况下的漏检。softNMS是对NMS的改进,其对iou大于阈值的框进行一个置信度的降低,如果降低后的置信度仍然大于置信度的阈值,则将其保留,若低于置信度阈值才将其删除。这一定程度上提高了对高度重叠目标的检测精度,但是其最终预测框必定是来源于单个的最初预测框,并没有融合多个预测框的信息,因此它并没有有效的利用所有的预测信息。而加权盒融合算法的每一个最终预测结果都是若干个初步预测结果融合而成的,其操作也非常简单,将每一个类别的box按照置信度从高到低排序,从高到低依次将其加入到最终的预测中,如果与其中任何一个box的iou都小于阈值,则直接将其加入,如果与其中的一个box的iou大于阈值,则将他们融合,融合的方法也比较简单,新的置信度等于融合前若干box的置信度均值,新的box的x、y、w和h都是用相同的公式计算而来,

需要说明的是上述实施例,并非用来限定本发明的保护范围,在上述技术方案的基础上所作出的等同变换或替代均落入本发明权利要求所保护的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号