[发明专利]一种基于改进YOLOv3算法的木结瑕疵检测方法有效
申请号: | 201910529463.X | 申请日: | 2019-06-19 |
公开(公告)号: | CN110310259B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 白瑞林;岳慧慧 | 申请(专利权)人: | 江南大学 |
主分类号: | G06T7/00 | 分类号: | G06T7/00;G06N3/04;G06N3/08;G06K9/62 |
代理公司: | 哈尔滨市阳光惠远知识产权代理有限公司 23211 | 代理人: | 彭素琴 |
地址: | 214000 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 改进 yolov3 算法 瑕疵 检测 方法 | ||
1.一种基于改进YOLOv3算法的木结瑕疵检测方法,其特征在于,所述方法包括:
步骤1:利用光学成像系统进行原始长木条表面图像的采集;
步骤2:将步骤1采集到的原始长木条表面图像分割成高宽尺寸相同的图像;
步骤3:随机选取有木结瑕疵图像和无瑕疵图像作为训练和测试数据样本集;
步骤4:在上位机PC端,使用训练数据样本集离线训练改进后YOLOv3算法模型;
步骤5:利用步骤4训练好的改进后YOLOv3算法模型在线检测木条表面图像中木结瑕疵的类别与位置;
步骤6:将上位机检测结果进行输出与显示,以驱动下位机运动执行机构对被检测的长木条进行实时裁剪加工,构造木结瑕疵检测系统;
所述步骤4中,使用训练数据样本集离线训练改进后YOLOv3算法模型,其中改进后YOLOv3算法模型的改进过程具体如下:
步骤4.1:利用k-means++聚类算法对人工标注的死结和活结瑕疵目标框进行维度聚类,得到适合木结瑕疵的K个初始候选框;选用改进后的k-means++算法对木条表面数据集作聚类分析在于相距较远点有更大概率被选为下一个聚类中心,利用交并比IOU参与欧式距离计算,从而提高木结瑕疵的定位精确度;其中欧式距离函数为Di(xj),具体表达式为
Di(xj)=1-IOU(xj,ki)
式中xj∈X={x1,x2,…}为真实目标框;ki∈{k1,k2,…,kK}为聚类中心;K为anchor box的个数;聚类目标函数J(K)表示每个样本到其聚类中心的距离之和最小值,具体表达式为
步骤4.2:构造深层卷积神经网络Darknet-53,具体结构为:第0层输入像素为416×416,通道数为3的图像,32层卷积核,每个卷积核大小为3×3,其输出为32个通道的416×416大小的特征图;从第0层一直到74层,一共有53个卷积层,其余为res层,使用一系列的3×3和1×1卷积构成残差模块,有效避免训练过程中出现梯度消失或者爆炸问题;在网络训练过程中,卷积层的输出作为下一层池化层的输入,而池化层的输出又作为下一层卷积层的输入;在第j个卷积核中,可得第l个卷积层的第i个卷积操作输出矩阵,表达式为
式中F(·)为激活函数,b为偏置,x为n×n的卷积核,m为输入图像m×m的矩阵;
采用Leaky函数替换YOLOv3的Relu函数;当输入x小于0时,输出为0.01x,具体表达式为
F(·)=Leaky(x)=max(0.01x,x)
选用平均值池化操作对卷积层的输出进行下采样,进一步减小计算量、提高泛化性;在第j个池化区域中,可得第l个池化层的第i个池化操作输出矩阵,表达式为
式中n为第(l-1)个卷积层的神经元个数,为该层卷积操作输出矩阵之和,N为池化步长;
步骤4.3:根据对比度和归一化思想改进loss损失函数;所述loss损失函数用于在预测目标类别时,优化木结瑕疵类别与bbox位置坐标,同时引入尺度因子λcoord和λnoobj,修正IOU误差和坐标误差,抑制非目标区域的敏感度,提升模型的稳定性;考虑到图像中木结瑕疵目标大小对网络参数更新和小尺寸瑕疵检测结果产生影响,利用对比度和归一化思想,对坐标误差中的w和h进行改进,改进后的坐标误差可以有效提高木结瑕疵的定位精确度,具体表达式为
式中B为每个网格预测边界框的个数;x和y为预测边界框的中心位置相对于其所属的网格边界的位置;w和h为预测边界框相对于整个图像的宽度和高度;S2为输入图像被分割成S×S个网格后的网格数;Errcoord为预测数据与标定数据之间的坐标误差;ErrIOU为IOU误差;Errclass为分类误差;λcoord为2-ωi·hi,可根据宽高调整权重系数,以降低bbox尺寸对Errcoord产生的影响;为第i个网格的预测值,xi,yi,wi,hi为其真实值;表示目标是否存在于第i个网格的第j个bbox内;pi(c)为在的前提下第i个网格包含属于第c类目标的真实条件概率;为其预测条件概率;Class为总目标类别数;Lcross-entropy为二元交叉熵函数,具体表达式为
Lcross-entropy(p,q)=p·log(q)+(1-p)·log(1-q)
式中为第i个网格中识别目标类别数的预测值;Ci为其真实标定值;λnoobj为权重0.5;表示目标是否不存在于第i个网格的第j个bbox内;
步骤4.4:将3种尺度缩减至2种尺度,构造多尺度检测网络,通过卷积核的方式表现特征图之间的局部特征,从第75到95层为YOLOv3网络的特征交互层,分为两个尺度,具体输入与输出为:
最小尺度层输入为13×13的特征图,一共1024个通道,输出为13×13的特征图,一共75个通道,在此基础上进行分类和位置回归;
中尺度层输入是将第79层的13×13、512通道的特征图进行卷积操作,生成13×13、256通道的特征图,然后进行上采样,生成26×26、256通道的特征图,同时与第61层的26×26、512通道的中尺度的特征图合并,进行卷积操作,输出为26×26大小的特征图,一共75个通道,然后在此基础上进行分类和位置回归;
步骤4.5:使用训练数据样本集离线训练改进后YOLOv3算法模型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江南大学,未经江南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910529463.X/1.html,转载请声明来源钻瓜专利网。