【技术实现步骤摘要】
一种基于改进YOLOv3算法的木结瑕疵检测方法
本专利技术涉及一种基于改进YOLOv3算法的木结瑕疵检测方法,属于机器视觉
技术介绍
如何合理地充分利用林木资源是我国林业科研工作人员急需解决的重大问题,其中对木材进行瑕疵检测是一种可以提高我国木材综合使用率的有效手段,也是需要研究的重点。木条作为一种普遍存在于自然界中具有高度纹理化的天然材料,其瑕疵表现为嵌入在木条表面纹理中、颜色差异明显的区域。木结瑕疵识别的主要挑战在于从拥有复杂特征的自然纹理中对其进行精准检测与定位,这使得已经进入高投入、低效率阶段的人工检测方法难以胜任。所以研究一种准确度高、检测速度快、成本低的智能检测识别木结瑕疵方法对高质量木条加工有着极为重要的理论意义以及非常迫切的现实需求。近年来,机器视觉技术得到了快速发展,在工业生产中,人们已经利用该技术成功对各种产品外观检测实现自动化操作。但是木条表面图像反映一种不依赖于色彩或亮度变化的复杂纹理,通过机器视觉系统采集木条表面图像,并利用传统的图像处理算法检测木结瑕疵,会面对巨大的挑战。随着卷积神经网络在图像领域的普遍应用以及GPU的迅猛发展,人们将注意力越来越多的转移到深度学习方面,已广泛应用于人脸识别、车辆检测、视频中物体检测与识别、无人机导航等许多领域,成为当前的主流算法。由于自然纹理的形状多数不规则,分布位置的不确定性较大,基于深度学习的目标检测算法凭借着速度更快、精确度更高的优点,正逐渐替代传统的图像处理算法。基于深度学习的目标检测算法分为基于候选区域和基于回归。基于候选区域主要有R-CNN、FastR-CNN、Faster ...
【技术保护点】
1.一种基于改进YOLOv3算法的木结瑕疵检测方法,其特征在于,所述方法包括:步骤1:利用光学成像系统进行原始长木条表面图像的采集;步骤2:将步骤1采集到的原始长木条表面图像分割成高宽尺寸相同的图像;步骤3:随机选取有木结瑕疵图像和无瑕疵图像作为训练和测试数据样本集;步骤4:在上位机PC端,使用训练数据样本集离线训练改进后YOLOv3算法模型;步骤5:利用步骤4训练好的改进后YOLOv3算法模型在线检测木条表面图像中木结瑕疵分类与定位位置;步骤6:将上位机检测结果进行输出与显示,以驱动下位机运动执行机构对被检测的长木条进行实时裁剪加工,构造木结瑕疵检测系统。
【技术特征摘要】
1.一种基于改进YOLOv3算法的木结瑕疵检测方法,其特征在于,所述方法包括:步骤1:利用光学成像系统进行原始长木条表面图像的采集;步骤2:将步骤1采集到的原始长木条表面图像分割成高宽尺寸相同的图像;步骤3:随机选取有木结瑕疵图像和无瑕疵图像作为训练和测试数据样本集;步骤4:在上位机PC端,使用训练数据样本集离线训练改进后YOLOv3算法模型;步骤5:利用步骤4训练好的改进后YOLOv3算法模型在线检测木条表面图像中木结瑕疵分类与定位位置;步骤6:将上位机检测结果进行输出与显示,以驱动下位机运动执行机构对被检测的长木条进行实时裁剪加工,构造木结瑕疵检测系统。2.根据权利要求1所述的方法,其特征在于,所述步骤3还包括,对训练数据样本集进行数据扩增与标注,以增加样本光照的多样性,提升训练数据样本集的图像质量,包含如下步骤:步骤3.1:采集死结瑕疵和活结瑕疵两大类图像和无瑕疵图像作为训练样本集和测试样本集,其中有死结瑕疵瑕疵、有活结瑕疵瑕疵和无瑕疵高宽尺寸相同的图像各选取5000张;步骤3.2:采用水平和垂直镜像扩充图像数据样本集;步骤3.3:对扩充后数据样本集进行标注木结瑕疵,其中分类标签为死结和活结两类木结瑕疵;步骤3.4:采用自适应直方图均衡化对数据样本集进行图像增强;步骤3.5步:在训练过程中,对输入图像进行饱和度和曝光度调整、随机裁剪、以及±15°、±30°旋转。3.根据权利要求2所述的方法,其特征在于,所述步骤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为anchorbox的个数;聚类目标函数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的矩阵;采用Leakey函数替换YOLOv3的Relu函数;当输入x小于0时,输出为0.01x,具体表达式为F(·)=Leakey(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-wi·hi,可根据宽高调整权重系数,以降低bbox尺寸对Errcoord产生的影响;为第i个网格的预测值,xi,yi,wi,hi为其真实值;表示目标是否存在于第i个网格的第j个bbox内;pi(c)为在的前提下第i个网格包含属于第c类目标的真实条件概率;为其预测条件概率;Class为总目标类别数;Lcross-entropy为二元交叉熵(logistic)函数,具体表达式为Lcross...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。