首页> 中国专利> 一种基于改进YOLOv3模型的木材缺陷检测方法

一种基于改进YOLOv3模型的木材缺陷检测方法

摘要

一种基于改进YOLOv3模型的木材缺陷检测方法,本发明的目的是为了解决现有缺陷检测方法对缺陷识别的泛化能力差,模型计算量大,识别效率和精度低,难以工业使用的问题。过程为:1.采集数据集;2.对数据集进行划分;3.选定检测网络模型;4.设置模型的置信度损失函数;步骤5.将训练集输入网络模型,使用动量项衰减为0.9的异步随机梯度下降优化策略寻优,训练N次;6.每训练n次将验证集输入网络模型,选取检测精度最好的模型作为训练好的检测网络模型;7.使用训练好的检测网络模型对测试集的木材缺陷图片进行识别,得到检测的准确率,召回率,以及三类缺陷的AP和总的mAP;本发明用于木材缺陷检测领域。

著录项

  • 公开/公告号CN112819771A

    专利类型发明专利

  • 公开/公告日2021-05-18

    原文格式PDF

  • 申请/专利权人 东北林业大学;

    申请/专利号CN202110112032.0

  • 发明设计人 王宝刚;杨春梅;夏鹏;

    申请日2021-01-27

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

  • 代理机构23213 哈尔滨华夏松花江知识产权代理有限公司;

  • 代理人岳昕

  • 地址 150040 黑龙江省哈尔滨市香坊区和兴路26号

  • 入库时间 2023-06-19 11:02:01

说明书

技术领域:

本发明涉及深度学习技术领域和工业缺陷检测技术领域,特别涉及一种基于改进YOLOv3模型的木材缺陷检测方法。

背景领域:

木材加工现场往往会出现很多木材严重缺陷,如虫洞,结节和裂缝,不仅影响了木材的加工利用,同时也对木材的美观造成很大影响,所以对木材缺陷进行及时准确的缺陷检测具有十分重要的研究意义。

早期的木材缺陷检测主要依靠人眼和传感器的检测,但是人眼检测的成功率很低而靠传感器又特别昂贵。随着机器视觉的发展,大量依靠人工设计特征的木材缺陷检测技术出现,但是这些技术由于很依赖人所设计的特征,复用率很低。直到深度学习技术在目标检测领域大放异彩,而木材缺陷检测属于目标检测的工业应用。基于深度学习的缺陷检测技术大幅度提高了检测的精度和速度,而且移植性好,复用效率高。

现有的YOLOv3在检测木材缺陷过程中,对于裂缝这种细小缺陷,出现学习特征不充分的问题,而且由于模型设计的原因,参数量巨大,很难移植到工业嵌入式平台。针对以上情况,本发明提出一种基于改进YOLOv3模型的木材缺陷检测方法。

发明内容:

本发明的目的是为了解决现有缺陷检测方法对缺陷识别的泛化能力差,模型计算量大,识别效率和精度低,难以工业使用的问题,而提出一种基于改进YOLOv3模型的木材缺陷检测方法。

一种基于改进YOLOv3模型的木材缺陷检测方法具体过程为:

步骤1.采集数据集:

在木材加工现场收集木材缺陷的图片,包括裂缝,虫洞和结节三类木材缺陷;

步骤2.对数据集进行划分,划分为训练集,验证集和测试集;

步骤3.选定检测网络模型;

步骤4.设置选定检测网络模型的置信度损失函数;

步骤5.将训练集输入选定检测网络模型,使用动量项衰减为0.9的异步随机梯度下降优化策略寻优,训练N次;

步骤6.每训练n次将验证集输入选定的检测网络模型,选取检测精度最好的模型作为训练好的检测网络模型;1≤n≤N;

步骤7.使用训练好的检测网络模型对测试集的木材缺陷图片进行识别,得到检测的准确率,召回率,以及三类缺陷的AP和总的mAP;

所述AP为精度;

mAP为平均精度。

本发明有益效果:

本发明利用多种数据增强技术,尤其是使用了GridMask数据增强技术,采取数据增强技术提高了网络对缺陷特征的学习和识别,同时减小了模型训练时发生过拟合的风险。提高了模型的泛化能力,增强了鲁棒性。

本发明利用GhostModule的线性操作,组成GhostBlock的结构替换了原YOLOv3中大量使用的残差结构。明显减少了模型中的参数数量,同时提高了模型对缺陷的预测速度。

本发明使用Focal Loss改进原网络的损失函数,减小了网络中负样本和简单样本对网络收敛的影响,给模型提供一个正确指导的损失函数,进一步提高了模型的精度。

本发明在于提供一种可以在工业现场对木材缺陷进行实时检测的基于改进YOLOv3模型的缺陷检测方法,大大提高了缺陷检测的精度和识别效率,降低计算量,易于工业使用.

附图说明:

图1为本发明的流程图;

图2为数据增强效果图,original为原始的,random_brightness为随机亮度,random_contrast为随机对比,random_color为随机颜色,random_sharpness为随机清晰度;random_crop为随机裁剪,random_flip为随机翻转,random_rotate为随机旋转,random_noise为随机噪声;

图3a为普通卷积操作图;

图3b为GhostModule操作图,φ

图3c为残差结构图;

图3d为GhostBlock结构图;

图4为本发明改进后YOLOv3的结构图;

图5为原网络和本发明网络对缺陷检测的效果对比图,Wormhole为虫洞,knot为结节,Crack为裂缝,Our algorithm为本发明算法。

具体实施方式

具体实施方式一:结合图1说明本实施方式,本实施方式一种基于改进YOLOv3模型的木材缺陷检测方法具体过程为:

步骤1.采集数据集:

在木材加工现场收集木材缺陷的图片,包括裂缝,虫洞和结节三类木材缺陷;

步骤2.对数据集进行划分,划分为训练集,验证集和测试集;

步骤3.选定检测网络模型;

步骤4.设置选定检测网络模型的置信度损失函数;

步骤5.将训练集输入选定检测网络模型,使用动量项衰减为0.9的异步随机梯度下降优化策略寻优,训练N次;

步骤6.每训练n次将验证集输入选定的检测网络模型,选取检测精度最好的模型作为训练好的检测网络模型;1≤n≤N;

步骤7.使用训练好的检测网络模型对测试集的木材缺陷图片进行识别,得到检测的准确率,召回率,以及三类缺陷的AP和总的mAP;

所述AP为精度;

mAP为平均精度。

具体实施方式二:本实施方式与具体实施方式一不同的是:所述步骤1中采集数据集:在木材加工现场收集木材缺陷的图片,包括裂缝,虫洞和结节三类木材缺陷;具体过程为:

从工业加工现场加工的木材单板上通过相机收集包含裂缝,虫洞和结节的图片,然后使用LabelImg软件对缺陷位置和类型进行标注,得到包含缺陷左上角和右下角信息的.xml文件,然后通过脚本转换成YOLOv3训练使用的包含缺陷标签信息和位置的.txt文件。

YOLOv3网络通过左上角和右下角的x,y坐标,就可以确定物体的位置框;

然后使用LabelImg软件对缺陷位置进行标注,得到的缺陷类型和位置信息送入网络中进行训练。

其它步骤及参数与具体实施方式一相同。

具体实施方式三:本实施方式与具体实施方式一或二不同的是:所述步骤2中对数据集进行划分,划分为训练集,验证集和测试集;具体过程为:

步骤2a、将步骤1中采集的数据集(包含一个或多个缺陷的木材图像)按照8:1:1的比例划分为训练集,验证集和测试集;

步骤2b、对步骤2a中的训练集图像进行数据增强;

数据增强方法可以分为三类:

一是空间的变换,如随机等比例裁剪,随机翻转,随机旋转等;

二是颜色的变化,如随机改变亮度,随机改变对比度,随机改变颜色,随机改变清晰度等;

三是信息删除的方法-Grid Mask数据增强技术,通过删除图片的一部分信息,可以让卷积网络可以更关注目标的全部区域而不是特定的区域,从而增强模型的泛化能力。

其它步骤及参数与具体实施方式一或二相同。

具体实施方式四:本实施方式与具体实施方式一至三之一不同的是,所述步骤2b中的GridMask数据增强具体为:

生成一个和原图相同分辨率的mask图像,然后将该mask图像和原图像相乘,得到了一个删除了均匀区域(删除的是一个均匀分布的矩形阵列,相当于生成一个n×n的矩形框,隔一个矩形,删除区域。如图2所示的GridMask操作d指的是黑色矩形的边长。)的新图像,删除区域的边长为d∈random(178,416),d取随机值,同时控制批图像被Grid Mask增强的概率,随着迭代次数的增加,概率从0增长到0.7停止使用,然后对网络进行微调。

其它步骤及参数与具体实施方式一至三之一相同。

具体实施方式五:本实施方式与具体实施方式一至四之一不同的是:所述步骤3中选定检测网络模型;具体过程为:

选定检测网络模型为改进后YOLOv3模型;

改进后YOLOv3模型的结构包括:

第一卷积层Conv2D、第二卷积层Conv2D、第一Ghost Block、第三卷积层Conv2D、第二Ghost Block、第三Ghost Block、第四卷积层Conv2D、第四Ghost Block、第五GhostBlock、第六Ghost Block、第七Ghost Block、第八Ghost Block、第九Ghost Block、第十Ghost Block、第十一Ghost Block、第五卷积层Conv2D、第十二Ghost Block、第十三GhostBlock、第十四Ghost Block、第十五Ghost Block、第十六Ghost Block、第十七GhostBlock、第十八Ghost Block、第十九Ghost Block、第六卷积层Conv2D、第二十Ghost Block、第二十一Ghost Block、第二十二Ghost Block、第二十三Ghost Block、Avgpool层、Connected层、Softmax层、Scale1、Scale2、Scale3(Scale1(尺度1)负责大物体,Scale2(尺度2)负责中等大小物体,Scale3(尺度三)负责小物体。);

第一卷积层Conv2D卷积核数量为32,卷积核大小3×3,步长为1,输出特征图尺寸为416×416×32;

第二卷积层Conv2D卷积核数量为64,卷积核大小3×3,步长为2,输出特征图尺寸为208×208×64;

第一Ghost Block由第一GhostModule和第二GhostModule组成,第一GhostModule卷积核数量为16,卷积核大小1×1,步长为1,输出特征图尺寸为208×208×32;第二GhostModule卷积核数量为32,卷积核大小3×3,步长为1,输出特征图尺寸为208×208×64;

第三卷积层Conv2D卷积核数量为128,卷积核大小3×3,步长为2,输出特征图尺寸为104×104×128;

第二Ghost Block由第三GhostModule和第四GhostModule组成,第三GhostModule卷积核数量为32,卷积核大小1×1,步长为1,输出特征图尺寸为104×104×64;第四GhostModule卷积核数量为64,卷积核大小3×3,步长为1,输出特征图尺寸为104×104×128;

第三Ghost Block由第五GhostModule和第六GhostModule组成,第五GhostModule卷积核数量为32,卷积核大小1×1,步长为1,输出特征图尺寸为104×104×64;第六GhostModule卷积核数量为64,卷积核大小3×3,步长为1,输出特征图尺寸为104×104×128;

第四卷积层Conv2D卷积核数量为256,卷积核大小3×3,步长为2,输出特征图尺寸为52×52×256;

第四Ghost Block由第七GhostModule和第八GhostModule组成,第七GhostModule卷积核数量为64,卷积核大小1×1,步长为1,输出特征图尺寸为52×52×128;第八GhostModule卷积核数量为128,卷积核大小3×3,步长为1,输出特征图尺寸为52×52×256;

第五Ghost Block由第九GhostModule和第十GhostModule组成,第九GhostModule卷积核数量为64,卷积核大小1×1,步长为1,输出特征图尺寸为52×52×128;第十GhostModule卷积核数量为128,卷积核大小3×3,步长为1,输出特征图尺寸为52×52×256;

第六Ghost Block由第十一GhostModule和第十二GhostModule组成,第十一GhostModule卷积核数量为64,卷积核大小1×1,步长为1,输出特征图尺寸为52×52×128;第十二GhostModule卷积核数量为128,卷积核大小3×3,步长为1,输出特征图尺寸为52×52×256;

第七Ghost Block由第十三GhostModule和第十四GhostModule组成,第十三GhostModule卷积核数量为64,卷积核大小1×1,步长为1,输出特征图尺寸为52×52×128;第十四GhostModule卷积核数量为128,卷积核大小3×3,步长为1,输出特征图尺寸为52×52×256;

第八Ghost Block由第十五GhostModule和第十六GhostModule组成,第十五GhostModule卷积核数量为64,卷积核大小1×1,步长为1,输出特征图尺寸为52×52×128;第十六GhostModule卷积核数量为128,卷积核大小3×3,步长为1,输出特征图尺寸为52×52×256;

第九Ghost Block由第十七GhostModule和第十八GhostModule组成,第十七GhostModule卷积核数量为64,卷积核大小1×1,步长为1,输出特征图尺寸为52×52×128;第十八GhostModule卷积核数量为128,卷积核大小3×3,步长为1,输出特征图尺寸为52×52×256;

第十Ghost Block由第十九GhostModule和第二十GhostModule组成,第十九GhostModule卷积核数量为64,卷积核大小1×1,步长为1,输出特征图尺寸为52×52×128;第二十GhostModule卷积核数量为128,卷积核大小3×3,步长为1,输出特征图尺寸为52×52×256;

第十一Ghost Block由第二十一GhostModule和第二十二GhostModule组成,第二十一GhostModule卷积核数量为64,卷积核大小1×1,步长为1,输出特征图尺寸为52×52×128;第二十二GhostModule卷积核数量为128,卷积核大小3×3,步长为1,输出特征图尺寸为52×52×256;

第五卷积层Conv2D卷积核数量为512,卷积核大小3×3,步长为2,输出特征图尺寸为26×26×512;

第十二Ghost Block由第二十三GhostModule和第二十四GhostModule组成,第二十三GhostModule卷积核数量为128,卷积核大小1×1,步长为1,输出特征图尺寸为26×26×256;第二十四GhostModule卷积核数量为256,卷积核大小3×3,步长为1,输出特征图尺寸为26×26×512;

第十三Ghost Block由第二十五GhostModule和第二十六GhostModule组成,第二十五GhostModule卷积核数量为128,卷积核大小1×1,步长为1,输出特征图尺寸为26×26×256;第二十六GhostModule卷积核数量为256,卷积核大小3×3,步长为1,输出特征图尺寸为26×26×512;

第十四Ghost Block由第二十七GhostModule和第二十八GhostModule组成,第二十七GhostModule卷积核数量为128,卷积核大小1×1,步长为1,输出特征图尺寸为26×26×256;第二十八GhostModule卷积核数量为256,卷积核大小3×3,步长为1,输出特征图尺寸为26×26×512;

第十五Ghost Block由第二十九GhostModule和第三十GhostModule组成,第二十九GhostModule卷积核数量为128,卷积核大小1×1,步长为1,输出特征图尺寸为26×26×256;第三十GhostModule卷积核数量为256,卷积核大小3×3,步长为1,输出特征图尺寸为26×26×512;

第十六Ghost Block由第三十一GhostModule和第三十二GhostModule组成,第三十一GhostModule卷积核数量为128,卷积核大小1×1,步长为1,输出特征图尺寸为26×26×256;第三十二GhostModule卷积核数量为256,卷积核大小3×3,步长为1,输出特征图尺寸为26×26×512;

第十七Ghost Block由第三十三GhostModule和第三十四GhostModule组成,第三十三GhostModule卷积核数量为128,卷积核大小1×1,步长为1,输出特征图尺寸为26×26×256;第三十四GhostModule卷积核数量为256,卷积核大小3×3,步长为1,输出特征图尺寸为26×26×512;

第十八Ghost Block由第三十五GhostModule和第三十六GhostModule组成,第三十五GhostModule卷积核数量为128,卷积核大小1×1,步长为1,输出特征图尺寸为26×26×256;第三十六GhostModule卷积核数量为256,卷积核大小3×3,步长为1,输出特征图尺寸为26×26×512;

第十九Ghost Block由第三十七GhostModule和第三十八GhostModule组成,第三十七GhostModule卷积核数量为128,卷积核大小1×1,步长为1,输出特征图尺寸为26×26×256;第三十八GhostModule卷积核数量为256,卷积核大小3×3,步长为1,输出特征图尺寸为26×26×512;

第六卷积层Conv2D卷积核数量为1024,卷积核大小3×3,步长为2,输出特征图尺寸为13×13×1024;

第二十Ghost Block由第三十九GhostModule和第四十GhostModule组成的残差结构组成,第三十九GhostModule卷积核数量为256,卷积核大小1×1,步长为1,输出特征图尺寸为13×13×512;第四十GhostModule卷积核数量为512,卷积核大小3×3,步长为1,输出特征图尺寸为13×13×1024;

第二十一Ghost Block由第四十一GhostModule和第四十二GhostModule组成,第四十一GhostModule卷积核数量为256,卷积核大小1×1,步长为1,输出特征图尺寸为13×13×512;第四十二GhostModule卷积核数量为512,卷积核大小3×3,步长为1,输出特征图尺寸为13×13×1024;

第二十二Ghost Block由第四十三GhostModule和第四十四GhostModule组成的残差结构组成,第四十三GhostModule卷积核数量为256,卷积核大小1×1,步长为1,输出特征图尺寸为13×13×512;第四十四GhostModule卷积核数量为512,卷积核大小3×3,步长为1,输出特征图尺寸为13×13×1024;

第二十三Ghost Block由第四十五GhostModule和第四十六GhostModule组成的残差结构组成,第四十五GhostModule卷积核数量为256,卷积核大小1×1,步长为1,输出特征图尺寸为13×13×512;第四十六GhostModule卷积核数量为512,卷积核大小3×3,步长为1,输出特征图尺寸为13×13×1024;

其它步骤及参数与具体实施方式一至四之一相同。

具体实施方式六:本实施方式与具体实施方式一至五之一不同的是:所述改进后YOLOv3模型的连接关系表征如下:

第一卷积层Conv2D连接第二卷积层Conv2D,第二卷积层Conv2D连接第一GhostBlock,第一Ghost Block连接第三卷积层Conv2D,第三卷积层Conv2D连接第二GhostBlock,第二Ghost Block连接第三Ghost Block,第三Ghost Block连接第四卷积层Conv2D,第四卷积层Conv2D连接第四Ghost Block,第四Ghost Block连接第五Ghost Block,第五Ghost Block连接第六Ghost Block,第六Ghost Block连接第七Ghost Block,第七GhostBlock连接第八Ghost Block,第八Ghost Block连接第九Ghost Block,第九Ghost Block连接第十Ghost Block,第十Ghost Block连接第十一Ghost Block,第十一Ghost Block连接第五卷积层Conv2D,第五卷积层Conv2D连接第十二Ghost Block,第十二Ghost Block连接第十三Ghost Block,第十三Ghost Block连接第十四Ghost Block,第十四Ghost Block连接第十五Ghost Block,第十五Ghost Block连接第十六Ghost Block,第十六Ghost Block连接第十七Ghost Block,第十七Ghost Block连接第十八Ghost Block,第十八GhostBlock连接第十九Ghost Block,第十九Ghost Block连接第六卷积层Conv2D,第六卷积层Conv2D连接第二十Ghost Block,第二十Ghost Block连接第二十一Ghost Block,第二十一Ghost Block连接第二十二Ghost Block,第二十二Ghost Block连接第二十三GhostBlock,第二十三Ghost Block连接Avgpool层,Avgpool层连接Connected层,Connected层连接Softmax层;

第十一Ghost Block输出特征图为Scale1特征图;

第十九Ghost Block输出特征图为Scale2特征图;

第二十三Ghost Block输出特征图为Scale3特征图;

对Scale1进行二倍上采样和Scale2特征图融合,得到融合后的特征图2;

对Scale2进行二倍上采样和Scale3特征图融合,得到融合后的特征图3;

改进后YOLOv3模型输出Scale1特征图、特征图2和特征图3总共三个特征图(这里结构和原YOLOv3模型结构一致)。

其它步骤及参数与具体实施方式一至五之一相同。

具体实施方式七:本实施方式与具体实施方式一至六之一不同的是:所述针对每个GhostBlock由两个GhostModule组成,输入x,经过两个GhostModule得到F(x),然后F(x)和x相加输入下一层。

其它步骤及参数与具体实施方式一至六之一相同。

具体实施方式八:本实施方式与具体实施方式一至七之一不同的是:所述针对每个Ghost Block包括的两个GhostModule,其中一个GhostModule使用该GhostModule对应的卷积核数量,先生成一半的特征图,对这一半的特征图中的每一个特征图分别使用不加relu激活函数的3×3卷积(正常每个卷积后加relu激活函数,这里不加),生成另一半特征图,对两半特征图进行连接,生成一个GhostModule输出的特征图。

这样就通过线性的操作,生成了另一半的特征图,减少了卷积操作中参数量,从而达到轻量化的目的。

这样既利用了Ghost Module中的线性操作减少了参数量,同时使用残差结构的快捷链路,减小了网络梯度消失的风险。

如图2所示,在按照比例划分数据集后,对训练集的图片进行数据增强操作,图中显示的是数据增强后的效果图。

图3a是普通卷积操作,通过卷积核的个数控制生成的特征图数量,但是生成的特征图中含有大量冗余的特征。

图3b为GhostModule操作,先利用一半的卷积核生成一半特征图,然后在对这一半的特征图使用不加入relu激活函数的3×3卷积,group为特征图的个数,这样就通过线性的操作,生成了另一半的特征图,减少了卷积操作中参数凉,从而达到轻量化的目的。

图3c、图3d为残差块和由GhostModule组合成的GhostBlock对比图,不同的是在第二个Ghost Module中不使用relu激活函数,替换了DarkNet53中大量使用的残差块结构,这样既利用了Ghost Module中的线性操作减少了参数量,同时使用残差结构的快捷链路,减小了网络梯度消失的风险。

如图4所示为替换后的YOLOv3的结构图,在每一个GhostModule中使用一半的卷积核。

其它步骤及参数与具体实施方式一至七之一相同。

具体实施方式九:本实施方式与具体实施方式一至八之一不同的是:所述步骤4中设置选定检测网络模型的置信度损失函数;具体过程为:

设置改进后YOLOv3模型的置信度损失函数Focal Loss,降低模型中负样本和简单样本对模型收敛的影响。

所述步骤4中进一步具体为:使用Focal Loss改进原网络的置信度损失函数,Focal Loss的计算公式如下所示,

其中,p∈[0,1]代表模型预测的概率值,y为真实标注标签,y=1为目标,y=0为背景;α为惩罚系数,为了降低负样本的比重,γ为调制因子,让模型专注于困难的样本。

本发明中设置惩罚系数α为0.75,设置调制因子γ为2。

其它步骤及参数与具体实施方式一至八之一相同。

具体实施方式十:本实施方式与具体实施方式一至九之一不同的是:所述步骤5中将训练集输入选定检测网络模型,使用动量项衰减为0.9的异步随机梯度下降优化策略寻优,训练N次;具体过程为:

采用的动量项为0.9的异步随机梯度下降策略寻优,同时设置学习率为0.001,在总迭代次数的8/12和11/12处分别将学习率设为0.0001和0.00001,用更小的学习率帮助模型找到最优的解,训练N次。

其它步骤及参数与具体实施方式一至九之一相同。

采用以下实施例验证本发明的有益效果:

实施例一:

选择原YOLOv3网络和本发明提出的YOLOv3模型分别对测试集进行检测,最终分析各项测试结果。

表1测试结果对比

从表1中可以看出,相比原版的YOLOv3模型,改进后的算法在准确率,召回率,mAP,参数数量和测试速度上都有不少的提升。

如图5所示为原YOLOv3和改进后的模型在木材缺陷上检测的效果对比图,可以看出原版YOLOv3大量出现错检漏检,而改进后的模型在三类缺陷的识别上效果都好了很多。

从以上可以看出:本发明提出的改进YOLOv3的木材缺陷检测的方法,在对缺陷检测的精度和效率上都有不小的提升。

虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号