CN110766681A - 一种基于三重损失网络的竹条表面缺陷检测方法 - Google Patents
一种基于三重损失网络的竹条表面缺陷检测方法 Download PDFInfo
- Publication number
- CN110766681A CN110766681A CN201911029088.9A CN201911029088A CN110766681A CN 110766681 A CN110766681 A CN 110766681A CN 201911029088 A CN201911029088 A CN 201911029088A CN 110766681 A CN110766681 A CN 110766681A
- Authority
- CN
- China
- Prior art keywords
- convolution
- stage
- loss
- prediction matrix
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30161—Wood; Lumber
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明涉及一种基于三重损失网络的竹条表面缺陷检测方法。步骤S1、通过安装在竹条分选机器人上的相机采集竹条表面缺陷数据,形成竹条表面缺陷数据集;步骤S2、竹条表面缺陷数据集中的图像经过三重损失网络训练得到锚点预测矩阵、尺寸预测矩阵和热力图预测矩阵;步骤S3、计算锚点预测矩阵损失、尺寸预测矩阵损失和热力图预测矩阵损失,得到三重损失网络更新的总损失;步骤S4、基于步骤S3计算得到的三重损失网络更新的总损失不断更新并优化获得最优的卷积权值参数和偏置参数;步骤S5、将竹条表面缺陷数据集中的测试图像通过更新卷积权值参数和偏置参数的三重损失网络,得到锚点预测矩阵和尺寸预测矩阵,而后即可得到检测的目标缺陷所属类别和大小。
Description
技术领域
本发明属于缺陷检测领域,具体涉及一种基于三重损失网络的竹条表面缺陷检测方法。
背景技术
竹子在世界森林资源中占有相当重要的地位,被誉为“第二森林”。中国是世界上最大的产竹国,竹产业同时也是我国林业产业的重要组成部分,在我国经济、社会发展中发挥着不可替代的作用。竹坯板是大部分工艺品的成型的第一步,其是由竹子经破片、烘干、碳化等工艺处理后的竹条拼接而成。通常,在拼接之前,竹条需要先进行缺陷检测,然后根据不同缺陷以及缺陷的严重程度,拼接成不同品质的竹坯板。但是,工厂需要消耗大量的财力和人力在竹条的缺陷检测上,同时检测人员水平参差不齐导致产品质量无法保证。
为了进行竹条表面缺陷的检测,需要使用摄像头拍摄竹条表面图像,然后利用机器视觉检测技术自动识别缺陷,达到替代人工的效果。目前,国内在竹条表面缺陷检测方向已有一些分析和研究。贺峰等[1]提出一种基于小波多尺度分解的方法实现竹条六种缺陷的检测,该方法首先通过图像共生矩阵的逆差矩差分值获得的最佳小波分解层对竹条纹理进行滤除,然后利用Otsu自动阈值检测算法完成缺陷检测。李叶妮等[2]研究了一种基于灰度共生矩和SVM的竹条瑕疵识别算法,该算法提取图像的三个纹理特征并采用svm模型对竹条瑕疵类型进行分类识别。
随着深度学习的发展,许多基于卷积神经网络的检测方法开始应用于许多目标检测领域,但是目前还没有人将该类方法运用在竹条表面缺陷检测领域上。在目标检测领域,RenS等人[3]的研究成果二阶式(Two-Stage)目标检测方法Faster-RCNN将传统方法中区域提名(Proposal)、分类、回归等操作全部采用卷积操作实现,将其可进行端对端训练,但是其运算速度较慢,达不到实时检测的需求。RedmonJ等人[4]提出的一阶式(One-Stage)目标检测算法YOLOv3是在检测速度和检测效果之间权衡的一种算法。最新的,DuanK等人[5]提出的CenterNet把目标检测问题变成了一个标准的关键点估计问题,并且不需要非极大值抑制的后处理算法,速度得到了进一步的提升。
相关研究在竹条表面缺陷检测领域和目标检测领域都取得了一些成果,但还存在一些问题。当采用传统的机器视觉检测算法来检测竹条缺陷时,由于其涉及较多超参数并且竹条缺陷形态千变万化,检测效果不是太理想。目前,还没人采用基于深度学习的检测算法来进行竹条表面缺陷。如果将二阶式目标检测的算法运用在该缺陷的检测,因为该类算法耗时较长,达不到实时检测的效果。如果使用一阶式目标检测算法,由于该类算法的骨干网络并不是为竹条缺陷量身设计,会导致检测精度不够等问题。
发明内容
本发明的目的在于提供一种基于三重损失网络的竹条表面缺陷检测方法,能够在保持较快检测速度的同时还能对十几种竹条的缺陷有较好的检测效果。
为实现上述目的,本发明的技术方案是:一种基于三重损失网络的竹条表面缺陷检测方法,包括如下步骤:
步骤S1、通过安装在竹条分选机器人上的相机采集竹条表面缺陷数据,形成竹条表面缺陷数据集;
步骤S2、训练阶段:竹条表面缺陷数据集中的图像I(x)经过三重损失网络训练得到锚点预测矩阵、尺寸预测矩阵和热力图预测矩阵;
步骤S3、计算锚点预测矩阵损失、尺寸预测矩阵损失和热力图预测矩阵损失,得到三重损失网络更新的总损失;
步骤S4、基于步骤S3计算得到的三重损失网络更新的总损失不断更新并优化获得最优的卷积权值参数和偏置参数;
步骤S5、将竹条表面缺陷数据集中的测试图像I(x)通过基于最优参数的三重损失网络,得到锚点预测矩阵和尺寸预测矩阵,而后经处理即可得到检测的目标缺陷所属类别和大小。
在本发明一实施例中,所述步骤S2具体实现如下:
步骤S21、初始阶段:输入图像I(x)进行卷积运算和激活函数运算得到其对应的第1层输出结果Fi,n(I(x)),其计算公式是:
Fi,n(I(x))=max(W1 2*F1 1(I(x))+b1 2,0),i=1,n=1;
上述式子中,W1 1和分别是三重损失网络第一层网络中第一个卷积的卷积权值参数和偏置参数;W1 2和分别是三重损失网络第一层网络中第二个卷积的卷积权值参数和偏置参数;
步骤S22、多尺度特征提取阶段:将第i(i∈[1,2,3,4])阶段提取的卷积特征输入到由n(n∈[2,4,8,16])个3×3×c1(c1∈[32,64,128,256])和1×1×c2(c2∈[64,128,256,512])卷积核组成的卷积层组,得到第i+1个阶段的卷积特征,然后将第i阶段提取的卷积特征通过跨越连接与第i+1个阶段的卷积特征融合,最后将第i+1阶段融合的卷积特征通过一个步长为2,3×3×c3(c3∈[128,256,512])卷积核进行下采样,其计算公式如下:
上述式子中,分别是第i+1个阶段的3×3×c1卷积层、1×1×c2卷积层和3×3×c3卷积层的卷积权值参数,分别是第i+1个阶段的3×3×c1卷积层、1×1×c2卷积层和3×3×c3卷积层的偏置参数,和Fi+1,n(I(x))分别是第i+1个阶段的3×3×c1卷积层、1×1×c2卷积层、跨越连接和3×3×c3卷积层的输出结果;
步骤S23、上采样阶段:上采样阶段由3个洗牌模块和2个上采样操作组成,该阶段具体实现过程为:将第i(i∈[5,6,7])阶段的输出卷积特征输入到由2个1×1×c1(c1∈[512,512,128])卷积,1个通道洗牌操作,2个3×3×c2(c2∈[1024,512,256])卷积组成的洗牌模块里;其中第i(i∈[5,6])阶段的输出卷积特征会经过一个3×3×c3(c3∈[512,256])反卷积,得到的卷积特征与第j(j∈[4,5])阶段的输出卷积特征进行堆叠操作,得到第i+1阶段的卷积特征输出,其计算公式如下:
上述式子中,和和分别是第i+1个阶段的1×1×c1卷积层和3×3×c2卷积层的卷积权值参数,和和分别是i+1个阶段1×1×c1卷积层、3×3×c2卷积层的偏置参数;和分别是第i+1个阶段的3×3×c3反卷积层的卷积权值参数和偏置参数;g是通道洗牌操作;是第i+1(i∈[5,6])个阶段的输出结果,是第i+1(i=7)个阶段的输出结果;
步骤S24、锚点预测阶段:将多尺度特征提取网络计算阶段得到的卷积特征经过一个3×3×c1(c1=512)的卷积得到的卷积特征作为两个支路的输入:一方面,该卷积特征先通过一次全局池化操作,然后经过两次全连接操作,得到通道掩码;另一方面,该卷积特征再经过一次3×3×c2(c2为目标类型数)的卷积操作得到锚点预测阶段初始卷积特征;最后,通道掩码与锚点预测阶段初始卷积特征相乘,得到锚点预测矩阵,其计算公式如下:
步骤S25、尺寸预测阶段:将多尺度特征提取阶段得到的卷积特征,依次经过1次3×3×c1(c1=512)可行变卷积,1次3×3×c2(c2=256)卷积,1次3×3×c3(c3=128)可行变卷积,1次3×3×c4(c4=64)卷积,1次3×3×c5(c5=3)可行变卷积,得到尺寸预测矩阵,其计算公式如下:
步骤S26、热力图预测阶段:将多尺度特征提取阶段得到的卷积特征,依次经过1次3×3×c1(c1=512)卷积,1次1×1×c2(c2=256)卷积,1次3×3×c3(c3=128)卷积,1次1×1×c4(c4=64)卷积,1次3×3×c5(c5=3)卷积,得到热力图预测矩阵,其计算公式如下:
在本发明一实施例中,所述步骤S3具体实现如下:
步骤S31、将锚点预测矩阵与实际目标所在锚点矩阵进行比较,计算两个矩阵之间的focal损失focalloss;
步骤S32、将尺寸预测矩阵与实际目标尺寸矩阵进行比较,计算两个矩阵之间的欧式距离损失sizeloss;
步骤S33、将热力图预测矩阵与实际缺陷的热力图矩阵进行比较,计算两个矩阵之间的l2损失heatmaploss;
步骤S34、将锚点预测矩阵的损失focalloss、尺寸预测矩阵的欧式距离损失sizeloss和热力图预测矩阵的l2损失heatmaploss赋予不同的权重,作为三重损失网络更新的总损失,其计算公式如下:
loss=α×focalloss+β×sizeloss+γ×heatmaploss
其中,α=1,β=0.1,γ=0.1。
在本发明一实施例中,所述步骤S4的具体实现过程为:当三重损失网络预测的缺陷所在位置、所属类别与真实缺陷所在位置、所属类别比较时,没有获得预先设定的检测效果,则继续进行反向传播,利用梯度下降优化算法更新卷积权值参数和偏置参数,重新执行步骤S2-S4;当三重损失网络预测的缺陷所在位置、所属类别与真实缺陷所在位置、所属类别比较时,达到预先设定的检测效果,则停止反向传播,并最终求得步骤S2所需的最优的卷积权值参数和偏置参数。
在本发明一实施例中,所述步骤S5具体实现如下:
步骤S51、将竹条表面缺陷数据集中的测试图像I(x)通过更新卷积权值参数和偏置参数的三重损失网络得到锚点预测矩阵和尺寸预测矩阵;
步骤S52、遍历锚点预测矩阵的所有通道,然后找到每个通道的锚点预测矩阵的激活点,即每个锚点预测矩阵不为零的点,那么这个点所在的坐标即锚点坐标,这个点所在的通道即其所属的类别;
步骤S53、将步骤S52所得到的锚点坐标代入尺寸预测矩阵中,所得到的值即为检测的目标缺陷的大小。
相较于现有技术,本发明具有以下有益效果:
第一,本发明是第一个用深度学习方法来解决竹条表面缺陷检测问题,专门针对竹条缺陷设计的多尺度特征提取网络结构,能够检测到狭长的缺陷,同时避免使用非极大抑制(NMS)后处理方法,节省了大量计算时间,满足了实时检测的要求;
第二,本发明没有基于锚点框先验知识,而是端对端地进行坐标和尺寸的预测;此外,提出的锚点预测模块中采用了通道注意力机制,通过学习的方式来自动获得每个特征通道的重要程度,然后依靠这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征;
第三,本发明的尺寸预测模块中采用可形变卷积替代普通的卷积,因为其卷积核的形状是可变化的,变形的卷积核能让网络看到只感兴趣的图像区域,对于变化多样的竹条缺陷来说,预测的尺寸更加精准;
第四,本发明采用三重损失对网络参数进行优化,尤其是利用多尺度特征提取阶段得到的卷积特征去估计缺陷位置所对应的热力图,然后将该热力图作为网络的参数优化方案,从而达到提高多尺度特征提取能力和增加各种缺陷特征描述能力的目的。
附图说明
图1为本发明基于三重损失网络的竹条表面缺陷检测算法的整体原理示意图;
图2为本发明网络结构中的局部模块示意图;
图3为本发明中竹条缺陷示意图(一);
图4为本发明中竹条缺陷示意图(二);
图5为本发明中竹条缺陷检测算法的检测效果图(一);
图6为本发明中竹条缺陷检测算法的检测效果图(二);
图7为本发明与现有模型的mAP值比较。
具体实施方式
下面结合附图,对本发明的技术方案进行具体说明。
本发明提供了一种基于三重损失网络的竹条表面缺陷检测方法,包括如下步骤:
步骤S1、通过安装在竹条分选机器人上的相机采集竹条表面缺陷数据,形成竹条表面缺陷数据集;
步骤S2、训练阶段:竹条表面缺陷数据集中的图像I(x)经过三重损失网络训练得到锚点预测矩阵、尺寸预测矩阵和热力图预测矩阵;
步骤S3、计算锚点预测矩阵损失、尺寸预测矩阵损失和热力图预测矩阵损失,得到三重损失网络更新的总损失;
步骤S4、基于步骤S3计算得到的三重损失网络更新的总损失不断更新并优化获得最优的卷积权值参数和偏置参数;
步骤S5、将竹条表面缺陷数据集中的测试图像I(x)通过基于最优参数的三重损失网络,得到锚点预测矩阵和尺寸预测矩阵,而后经处理即可得到检测的目标缺陷所属类别和大小。
以下为本发明的具体实现过程。
如图1所示,本发明采用的技术方案是一种基于三重损失网络的竹条表面缺陷检测方法,其包括如下步骤:
步骤1、训练数据库的制作:本发明的训练数据集是相机安装在竹条分选机器人上实时采集的,其涵盖了大约六万张竹条缺陷数据。采集完图像后,经过专业培训过的人员标定成训练数据。
步骤2、训练阶段:将图像I(x)分别执行初始阶段、多尺度特征提取阶段、上采样阶段、锚点预测阶段、尺寸预测阶段和热力图预测阶段;
如图2所示,所述步骤2具体实现如下:
步骤2.1、初始阶段:输入图像I(x)进行卷积运算和激活函数运算得到其对应的第1层输出结果Fi,n(I(x)),其计算公式是:
Fi,n(I(x))=max(W1 2*F1 1(I(x))+b1 2,0),i=1,n=1;
步骤2.2、多尺度特征提取阶段:多尺度特征提取阶段:与一般目标检测方法中的骨干网络不同的是,本发明充分考虑了竹条缺陷的特征,尤其是裂片特征呈狭长状,不宜做过多次的下采样否则会导致特征丢失,从而降低检测精度。此外,考虑到应用场景实时性的要求,该多尺度特征提取采用了多个1×1和3×3的卷积组合加速并且网络深度适中,保证了计算的效率。
为了提取不同尺度的竹条缺陷特征,本发明将第i(i∈[1,2,3,4])阶段提取的卷积特征输入到由n(n∈[2,4,8,16])个3×3×c1(c1∈[32,64,128,256])和1×1×c2(c2∈[64,128,256,512])卷积核组成的卷积层组,得到第i+1个阶段的卷积特征,然后将第i阶段提取的卷积特征通过跨越连接与第i+1个阶段的卷积特征融合,最后将第i+1阶段融合的卷积特征通过一个步长为2,3×3×c3(c3∈[128,256,512])卷积核进行下采样,其计算公式如下:
上述式子中,分别是第i+1个阶段的3×3×c1卷积层、1×1×c2卷积层和3×3×c3卷积层的卷积权值参数,分别是第i+1个阶段的3×3×c1卷积层、1×1×c2卷积层和3×3×c3卷积层的偏置参数,和Fi+1,n(I(x))分别是第i+1个阶段的3×3×c1卷积层、1×1×c2卷积层、跨越连接和3×3×c3卷积层的输出结果;
步骤2.3、上采样阶段:本发明的上采样阶段由3个洗牌模块和2个上采样操作组成,该阶段具体实现过程为:将第i(i∈[5,6,7])阶段的输出卷积特征输入到由2个1×1×c1(c1∈[512,512,128])卷积,1个通道洗牌操作,2个3×3×c2(c2∈[1024,512,256])卷积组成的洗牌模块里;其中第i(i∈[5,6])阶段的输出卷积特征会经过一个3×3×c3(c3∈[512,256])反卷积,得到的卷积特征与第j(j∈[4,5])阶段的输出卷积特征进行堆叠操作,得到第i+1阶段的卷积特征输出,其计算公式如下:
上述式子中,和和分别是第i+1个阶段的1×1×c1卷积层和3×3×c2卷积层的卷积权值参数,和和分别是i+1个阶段1×1×c1卷积层、3×3×c2卷积层的偏置参数;和分别是第i+1个阶段的3×3×c3反卷积层的卷积权值参数和偏置参数;g是通道洗牌操作;是第i+1(i∈[5,6])个阶段的输出结果,是第i+1(i=7)个阶段的输出结果;
步骤2.4、锚点预测阶段:本发明与一般深度学习目标检测方法预测的x,y,w,h不同,本发明将目标检测问题变成了标准锚点的估计问题。该发明中,以目标中心点来代表目标,令I(x)∈Rw×h×3(其中宽为w,高为h,通道为3)作为输入图像,通过多尺度特征提取阶段后,经过锚点预测阶段会得到激活后的特征图其中c为锚点类别数。最重要的是,本发明在锚点预测阶段,采用了通道注意力机制,将目标所在的通道赋予更大的权重,从而能将更多的注意力集中在目标所在通道。一旦确定目标所属类别(即所属通道被注意),那么目标锚点的预测则更为精确。
具体地,将多尺度特征提取网络计算阶段得到的卷积特征经过一个3×3×c1(c1=512)的卷积得到的卷积特征作为两个支路的输入:一方面,该卷积特征先通过一次全局池化操作,然后经过两次全连接操作,得到通道掩码;另一方面,该卷积特征再经过一次3×3×c2(c2为目标类型数)的卷积操作得到锚点预测阶段初始卷积特征;最后,通道掩码与锚点预测阶段初始卷积特征相乘,得到锚点预测矩阵,其计算公式如下:
步骤2.5、尺寸预测阶段:本发明与一般方法不同的是,在尺寸预测阶段引入了可形变卷积操作。因为竹条缺陷的形状大多不规整,更不都是矩形状。如果在此阶段使用规整的3×3等正常卷积,不易于捕捉缺陷特征。所以,在此阶段加入可行变卷积操作,使得尺寸预测变得更加精准。
具体地,将多尺度特征提取阶段得到的卷积特征,依次经过1次3×3×c1(c1=512)可行变卷积,1次3×3×c2(c2=256)卷积,1次3×3×c3(c3=128)可行变卷积,1次3×3×c4(c4=64)卷积,1次3×3×c5(c5=3)可行变卷积,得到尺寸预测矩阵,其计算公式如下:
步骤2.6、热力图预测阶段:本发明的另一个技术特征在于利用多尺度特征提取阶段得到的卷积特征去估计缺陷位置所对应的热力图,然后利用该热力图作为网络的参数优化方案,从而达到多尺度特征提取的目标和提高各种缺陷特征描述的能力。
具体地,将多尺度特征提取阶段得到的卷积特征,依次经过1次3×3×c1(c1=512)卷积,1次1×1×c2(c2=256)卷积,1次3×3×c3(c3=128)卷积,1次1×1×c4(c4=64)卷积,1次3×3×c5(c5=3)卷积,得到热力图预测矩阵,其计算公式如下:
在本发明一实施例中,所述步骤3具体实现如下:
步骤3.1、将锚点预测矩阵与实际目标所在锚点矩阵进行比较,计算两个矩阵之间的focal损失focalloss;
步骤3.2、将尺寸预测矩阵与实际目标尺寸矩阵进行比较,计算两个矩阵之间的欧式距离损失sizeloss;
步骤3.3、将热力图预测矩阵与实际缺陷的热力图矩阵进行比较,计算两个矩阵之间的l2损失heatmaploss;
步骤3.4、将锚点预测矩阵的损失focalloss、尺寸预测矩阵的欧式距离损失sizeloss和热力图预测矩阵的l2损失heatmaploss赋予不同的权重,作为三重损失网络更新的总损失,其计算公式如下:
loss=α×focalloss+β×sizeloss+γ×heatmaploss
其中,α=1,β=0.1,γ=0.1。
所述步骤4的具体实现过程为:当三重损失网络预测的缺陷所在位置、所属类别与真实缺陷所在位置、所属类别比较时,没有获得预先设定的检测效果,则继续进行反向传播,利用梯度下降优化算法更新卷积权值参数和偏置参数,重新执行步骤2-4;当三重损失网络预测的缺陷所在位置、所属类别与真实缺陷所在位置、所属类别比较时,达到预先设定的检测效果,则停止反向传播,并最终求得步骤2所需的最优的卷积权值参数和偏置参数。
所述步骤5具体实现如下:
步骤5.1、将竹条表面缺陷数据集中的测试图像I(x)通过更新卷积权值参数和偏置参数的三重损失网络得到锚点预测矩阵和尺寸预测矩阵;
步骤5.2、遍历锚点预测矩阵的所有通道,然后找到每个通道的锚点预测矩阵的激活点,即每个锚点预测矩阵不为零的点,那么这个点所在的坐标即锚点坐标,这个点所在的通道即其所属的类别;
步骤5.3、将步骤5.2所得到的锚点坐标代入尺寸预测矩阵中,所得到的值即为检测的目标缺陷的大小。
为了验证本发明的有效性,收集了1万张各类缺陷作为测试数据集,每类缺陷占比大体呈等比例分布。该数据集包括竹青,竹黄,裂片,缺边,内碳等十多种缺陷。如图3和图4所示,其中有的缺陷之间比较相似,有的缺陷差别比较大。
本发明的检测效果与一些现有的YOLOv3[4]和CenterNet[5]进行比较。本发明采用mAP(mean Average Precision)来衡量算法的检测效果和采用FPS(frame per second)来比较算法的计算速度。
表1本发明与现有技术的模型性能比较
检测算法 | YOLOv3<sup>[4]</sup> | CenterNet<sup>[5]</sup> | 本发明 |
mAP | 77.67 | 82.17 | 84.05 |
FPS | 20 | 28 | 32 |
从表1中可以看出,本发明的mAP值(即所有类别的平均预测精确率)为84.05%明显高于现有的模型算法YOLOv3[4]77.67%和CenterNet[5]82.17%的精确率。
图5和图6分别展示了YOLOv3[4]、CenterNet[5]和本发明对缺边(crack_edge)和竹青(bamboo_green)缺陷的检测结果图。在缺边的缺陷检测上,YOLOv3[4]对此缺陷出现了漏检,CenterNet[5]则是没有将缺陷完整检出且检测框过大,而本发明中则能很好的将此缺陷完整的检测出来。同样的,在对于竹青缺陷的检测上,YOLOv3[4]对缺陷位置的检测出现了坐标漂移,CenterNet[5]则出现了误检的情况,本发明展现出了相对精准的检测度。CenterNet[5]出现误检是因为其默认被激活了的通道都是预测到的类别。在裂片缺陷的检测上,YOLOv3[4]和CenterNet[5]均出现了严重的漏检问题,这是由于这两类算法在骨干网络进行过多的下采样,导致裂片的特征消失,导致漏检情况的出现;而本发明针对这种情况,重新设计了网络结构并且选择了适合的下采样次数,很好的避免了这类问题。
从每一类缺陷的检测精确度也能反映出上述实验结果。图7展示了YOLOv3[4]、CenterNet[5]和本发明对所有类别的平均预测准确率,其中每一小行表示每一类别的AP(Average Precision)值。通过每类AP值的比较,能明显的看到本发明几乎在所有类缺陷都有提升,尤其能针对狭长缺陷如竹黄、裂片、裂边等得到较大的提升。具体来说,本发明的竹黄(bamboo_yellow)AP值为74%、裂片(crack)AP值为87%、缺边(crack_edge)AP值为83%,均高于现有算法模型的67%的竹黄AP值、84%的裂片AP值和79%的缺边AP值。
同时从表1中可以看出,本发明的FPS值(即每秒可以计算的帧数)为32,高于CenterNet[4]28FPS和YOLOv3[5]20FPS。由于FPS值大于分选机的喂料节拍,因此能够满足实时检测的需求。
本发明提出的一种基于三重损失网络的竹条表面缺陷检测方法的创新性主要体现在四个方面:第一,本发明是第一个用深度学习方法来解决竹条表面缺陷检测问题,专门针对竹条缺陷设计的多尺度特征提取网络结构,能够检测到狭长的缺陷,同时避免使用非极大抑制(NMS)后处理方法,节省了大量计算时间,满足了实时检测的要求。第二,本发明没有基于锚点框先验知识,而是端对端地进行坐标和尺寸的预测;此外,提出的锚点预测模块中采用了通道注意力机制,通过学习的方式来自动获得每个特征通道的重要程度,然后依靠这个重要程度去提升有用的特征并抑制对当前任务用处不大的特征;第三,本发明的尺寸预测模块中采用可形变卷积替代普通的卷积,因为其卷积核的形状是可变化的,变形的卷积核能让网络看到只感兴趣的图像区域,对于变化多样的竹条缺陷来说,预测的尺寸更加精准;第四,本发明采用三重损失对网络参数进行优化,尤其是利用多尺度特征提取阶段得到的卷积特征去估计缺陷位置所对应的热力图,然后将该热力图作为网络的参数优化方案,从而达到提高多尺度特征提取能力和增加各种缺陷特征描述能力的目的。
以上是本发明的较佳实施例,凡依本发明技术方案所作的改变,所产生的功能作用未超出本发明技术方案的范围时,均属于本发明的保护范围。
参考文献:
[1]贺峰,秦现生,刘琼,等.基于小波多尺度分解的竹条缺陷检测算法[J].机电一体化,2010,16(1):46-49.
[2]李叶妮,林晓佳,陈吉鹏,etal.基于灰度共生矩和SVM的碳化竹条瑕疵识别[J].集美大学学报(自然版),2017,22(3):49-54.
[3]Ren S,He K,Girshick R,etal.FasterR-CNN:Towards Real-Time ObjectDetection with Region Proposal Networks[J].2015.
[4]RedmonJ,Farhadi A.YOLOv3:An Incremental Improvement[J].2018.
[5]Xingyi Z,Dequan W,Philipp K.Objects as Points[J].2019.。
Claims (5)
1.一种基于三重损失网络的竹条表面缺陷检测方法,其特征在于,包括如下步骤:
步骤S1、通过安装在竹条分选机器人上的相机采集竹条表面缺陷数据,形成竹条表面缺陷数据集;
步骤S2、训练阶段:竹条表面缺陷数据集中的图像I(x)经过三重损失网络训练得到锚点预测矩阵、尺寸预测矩阵和热力图预测矩阵;
步骤S3、计算锚点预测矩阵损失、尺寸预测矩阵损失和热力图预测矩阵损失,得到三重损失网络更新的总损失;
步骤S4、基于步骤S3计算得到的三重损失网络更新的总损失不断更新并优化获得最优的卷积权值参数和偏置参数;
步骤S5、将竹条表面缺陷数据集中的测试图像I(x)通过基于最优参数的三重损失网络,得到锚点预测矩阵和尺寸预测矩阵,而后经处理即可得到检测的目标缺陷所属类别和大小。
2.根据权利要求1所述的一种基于三重损失网络的竹条表面缺陷检测方法,其特征在于,所述步骤S2具体实现如下:
步骤S21、初始阶段:输入图像I(x)进行卷积运算和激活函数运算得到其对应的第1层输出结果Fi,n(I(x)),其计算公式是:
Fi,n(I(x))=max(W1 2*F1 1(I(x))+b1 2,0),i=1,n=1;
步骤S22、多尺度特征提取阶段:将第i(i∈[1,2,3,4])阶段提取的卷积特征输入到由n(n∈[2,4,8,16])个3×3×c1(c1∈[32,64,128,256])和1×1×c2(c2∈[64,128,256,512])卷积核组成的卷积层组,得到第i+1个阶段的卷积特征,然后将第i阶段提取的卷积特征通过跨越连接与第i+1个阶段的卷积特征融合,最后将第i+1阶段融合的卷积特征通过一个步长为2,3×3×c3(c3∈[128,256,512])卷积核进行下采样,其计算公式如下:
上述式子中,分别是第i+1个阶段的3×3×c1卷积层、1×1×c2卷积层和3×3×c3卷积层的卷积权值参数,分别是第i+1个阶段的3×3×c1卷积层、1×1×c2卷积层和3×3×c3卷积层的偏置参数,和Fi+1,n(I(x))分别是第i+1个阶段的3×3×c1卷积层、1×1×c2卷积层、跨越连接和3×3×c3卷积层的输出结果;
步骤S23、上采样阶段:上采样阶段由3个洗牌模块和2个上采样操作组成,该阶段具体实现过程为:将第i(i∈[5,6,7])阶段的输出卷积特征输入到由2个1×1×c1(c1∈[512,512,128])卷积,1个通道洗牌操作,2个3×3×c2(c2∈[1024,512,256])卷积组成的洗牌模块里;其中第i(i∈[5,6])阶段的输出卷积特征会经过一个3×3×c3(c3∈[512,256])反卷积,得到的卷积特征与第j(j∈[4,5])阶段的输出卷积特征进行堆叠操作,得到第i+1阶段的卷积特征输出,其计算公式如下:
上述式子中,和和分别是第i+1个阶段的1×1×c1卷积层和3×3×c2卷积层的卷积权值参数,和和分别是i+1个阶段1×1×c1卷积层、3×3×c2卷积层的偏置参数;和分别是第i+1个阶段的3×3×c3反卷积层的卷积权值参数和偏置参数;g是通道洗牌操作;是第i+1(i∈[5,6])个阶段的输出结果,是第i+1(i=7)个阶段的输出结果;
步骤S24、锚点预测阶段:将多尺度特征提取网络计算阶段得到的卷积特征经过一个3×3×c1(c1=512)的卷积得到的卷积特征作为两个支路的输入:一方面,该卷积特征先通过一次全局池化操作,然后经过两次全连接操作,得到通道掩码;另一方面,该卷积特征再经过一次3×3×c2(c2为目标类型数)的卷积操作得到锚点预测阶段初始卷积特征;最后,通道掩码与锚点预测阶段初始卷积特征相乘,得到锚点预测矩阵,其计算公式如下:
步骤S25、尺寸预测阶段:将多尺度特征提取阶段得到的卷积特征,依次经过1次3×3×c1(c1=512)可行变卷积,1次3×3×c2(c2=256)卷积,1次3×3×c3(c3=128)可行变卷积,1次3×3×c4(c4=64)卷积,1次3×3×c5(c5=3)可行变卷积,得到尺寸预测矩阵,其计算公式如下:
步骤S26、热力图预测阶段:将多尺度特征提取阶段得到的卷积特征,依次经过1次3×3×c1(c1=512)卷积,1次1×1×c2(c2=256)卷积,1次3×3×c3(c3=128)卷积,1次1×1×c4(c4=64)卷积,1次3×3×c5(c5=3)卷积,得到热力图预测矩阵,其计算公式如下:
3.根据权利要求1所述的一种基于三重损失网络的竹条表面缺陷检测方法,其特征在于,所述步骤S3具体实现如下:
步骤S31、将锚点预测矩阵与实际目标所在锚点矩阵进行比较,计算两个矩阵之间的focal损失focalloss;
步骤S32、将尺寸预测矩阵与实际目标尺寸矩阵进行比较,计算两个矩阵之间的欧式距离损失sizeloss;
步骤S33、将热力图预测矩阵与实际缺陷的热力图矩阵进行比较,计算两个矩阵之间的l2损失heatmaploss;
步骤S34、将锚点预测矩阵的损失focalloss、尺寸预测矩阵的欧式距离损失sizeloss和热力图预测矩阵的l2损失heatmaploss赋予不同的权重,作为三重损失网络更新的总损失,其计算公式如下:
loss=α×focalloss+β×sizeloss+γ×heatmaploss
其中,α=1,β=0.1,γ=0.1。
4.根据权利要求1所述的一种基于三重损失网络的竹条表面缺陷检测方法,其特征在于,所述步骤S4的具体实现过程为:当三重损失网络预测的缺陷所在位置、所属类别与真实缺陷所在位置、所属类别比较时,没有获得预先设定的检测效果,则继续进行反向传播,利用梯度下降优化算法更新卷积权值参数和偏置参数,重新执行步骤S2-S4;当三重损失网络预测的缺陷所在位置、所属类别与真实缺陷所在位置、所属类别比较时,达到预先设定的检测效果,则停止反向传播,并最终求得步骤S2所需的最优的卷积权值参数和偏置参数。
5.根据权利要求1所述的一种基于三重损失网络的竹条表面缺陷检测方法,其特征在于,所述步骤S5具体实现如下:
步骤S51、将竹条表面缺陷数据集中的测试图像I(x)通过更新卷积权值参数和偏置参数的三重损失网络得到锚点预测矩阵和尺寸预测矩阵;
步骤S52、遍历锚点预测矩阵的所有通道,然后找到每个通道的锚点预测矩阵的激活点,即每个锚点预测矩阵不为零的点,那么这个点所在的坐标即锚点坐标,这个点所在的通道即其所属的类别;
步骤S53、将步骤S52所得到的锚点坐标代入尺寸预测矩阵中,所得到的值即为检测的目标缺陷的大小。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911029088.9A CN110766681B (zh) | 2019-10-28 | 2019-10-28 | 一种基于三重损失网络的竹条表面缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911029088.9A CN110766681B (zh) | 2019-10-28 | 2019-10-28 | 一种基于三重损失网络的竹条表面缺陷检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110766681A true CN110766681A (zh) | 2020-02-07 |
CN110766681B CN110766681B (zh) | 2023-04-14 |
Family
ID=69334303
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911029088.9A Active CN110766681B (zh) | 2019-10-28 | 2019-10-28 | 一种基于三重损失网络的竹条表面缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110766681B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111369550A (zh) * | 2020-03-11 | 2020-07-03 | 创新奇智(成都)科技有限公司 | 图像配准与缺陷检测方法、模型、训练方法、装置及设备 |
CN111598856A (zh) * | 2020-05-08 | 2020-08-28 | 浙江工商大学 | 基于缺陷导向多点定位神经网络的芯片表面缺陷自动检测方法及系统 |
CN111968093A (zh) * | 2020-08-19 | 2020-11-20 | 创新奇智(上海)科技有限公司 | 磁瓦表面缺陷检测方法、装置、电子设备及存储介质 |
CN112184698A (zh) * | 2020-10-19 | 2021-01-05 | 三明帝视机器人科技有限公司 | 基于辅助学习网络的竹条缺陷检测方法 |
CN112215795A (zh) * | 2020-09-02 | 2021-01-12 | 苏州超集信息科技有限公司 | 一种基于深度学习的服务器部件智能检测方法 |
CN112634237A (zh) * | 2020-12-25 | 2021-04-09 | 福州大学 | 一种基于YOLOv3改进网络的长竹条表面缺陷检测方法及系统 |
CN113643228A (zh) * | 2021-05-26 | 2021-11-12 | 四川大学 | 一种基于改进的CenterNet网络的核电站设备表面缺陷检测方法 |
CN114820582A (zh) * | 2022-05-27 | 2022-07-29 | 北京工业大学 | 一种基于混合注意力形变卷积神经网络的手机表面缺陷精准分级方法 |
CN114820582B (zh) * | 2022-05-27 | 2024-05-31 | 北京工业大学 | 一种基于混合注意力形变卷积神经网络的手机表面缺陷精准分级方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092960A (zh) * | 2017-04-17 | 2017-08-25 | 中国民航大学 | 一种改进的并行通道卷积神经网络训练方法 |
WO2019042139A1 (zh) * | 2017-08-29 | 2019-03-07 | 京东方科技集团股份有限公司 | 图像处理方法、图像处理装置、神经网络的训练方法 |
CN109446888A (zh) * | 2018-09-10 | 2019-03-08 | 唯思科技(北京)有限公司 | 一种基于卷积神经网络的细长类物品检测方法 |
CN110135486A (zh) * | 2019-05-08 | 2019-08-16 | 西安电子科技大学 | 基于自适应卷积神经网络的筷子图像分类方法 |
-
2019
- 2019-10-28 CN CN201911029088.9A patent/CN110766681B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092960A (zh) * | 2017-04-17 | 2017-08-25 | 中国民航大学 | 一种改进的并行通道卷积神经网络训练方法 |
WO2019042139A1 (zh) * | 2017-08-29 | 2019-03-07 | 京东方科技集团股份有限公司 | 图像处理方法、图像处理装置、神经网络的训练方法 |
CN109446888A (zh) * | 2018-09-10 | 2019-03-08 | 唯思科技(北京)有限公司 | 一种基于卷积神经网络的细长类物品检测方法 |
CN110135486A (zh) * | 2019-05-08 | 2019-08-16 | 西安电子科技大学 | 基于自适应卷积神经网络的筷子图像分类方法 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111369550A (zh) * | 2020-03-11 | 2020-07-03 | 创新奇智(成都)科技有限公司 | 图像配准与缺陷检测方法、模型、训练方法、装置及设备 |
CN111369550B (zh) * | 2020-03-11 | 2022-09-30 | 创新奇智(成都)科技有限公司 | 图像配准与缺陷检测方法、模型、训练方法、装置及设备 |
CN111598856A (zh) * | 2020-05-08 | 2020-08-28 | 浙江工商大学 | 基于缺陷导向多点定位神经网络的芯片表面缺陷自动检测方法及系统 |
CN111598856B (zh) * | 2020-05-08 | 2024-05-10 | 无锡瑞特思普智能科技有限公司 | 基于缺陷导向多点定位神经网络的芯片表面缺陷自动检测方法及系统 |
CN111968093A (zh) * | 2020-08-19 | 2020-11-20 | 创新奇智(上海)科技有限公司 | 磁瓦表面缺陷检测方法、装置、电子设备及存储介质 |
CN112215795B (zh) * | 2020-09-02 | 2024-04-09 | 苏州超集信息科技有限公司 | 一种基于深度学习的服务器部件智能检测方法 |
CN112215795A (zh) * | 2020-09-02 | 2021-01-12 | 苏州超集信息科技有限公司 | 一种基于深度学习的服务器部件智能检测方法 |
CN112184698A (zh) * | 2020-10-19 | 2021-01-05 | 三明帝视机器人科技有限公司 | 基于辅助学习网络的竹条缺陷检测方法 |
CN112634237A (zh) * | 2020-12-25 | 2021-04-09 | 福州大学 | 一种基于YOLOv3改进网络的长竹条表面缺陷检测方法及系统 |
CN113643228A (zh) * | 2021-05-26 | 2021-11-12 | 四川大学 | 一种基于改进的CenterNet网络的核电站设备表面缺陷检测方法 |
CN113643228B (zh) * | 2021-05-26 | 2024-01-19 | 四川大学 | 一种基于改进的CenterNet网络的核电站设备表面缺陷检测方法 |
CN114820582A (zh) * | 2022-05-27 | 2022-07-29 | 北京工业大学 | 一种基于混合注意力形变卷积神经网络的手机表面缺陷精准分级方法 |
CN114820582B (zh) * | 2022-05-27 | 2024-05-31 | 北京工业大学 | 一种基于混合注意力形变卷积神经网络的手机表面缺陷精准分级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110766681B (zh) | 2023-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110766681B (zh) | 一种基于三重损失网络的竹条表面缺陷检测方法 | |
CN105067638B (zh) | 基于机器视觉的轮胎胎膜表面字符缺陷检测方法 | |
CN108520114B (zh) | 一种纺织布疵点检测模型及其训练方法和应用 | |
CN110610475B (zh) | 一种深度卷积神经网络的视觉缺陷检测方法 | |
CN109272500B (zh) | 基于自适应卷积神经网络的织物分类方法 | |
CN113822889B (zh) | 一种热轧钢板表面缺陷检测方法 | |
CN113239930B (zh) | 一种玻璃纸缺陷识别方法、系统、装置及存储介质 | |
CN109472769A (zh) | 一种不良图像缺陷检测方法和系统 | |
CN107328787A (zh) | 一种基于深度卷积神经网络的金属板带表面缺陷检测系统 | |
CN112132196B (zh) | 一种结合深度学习和图像处理的烟盒缺陷识别方法 | |
CN113469951B (zh) | 一种基于级联区域卷积神经网络的轮毂缺陷检测方法 | |
CN111178177A (zh) | 一种基于卷积神经网络的黄瓜病害识别方法 | |
CN109215015A (zh) | 一种基于卷积神经网络的蚕茧在线视觉检测方法 | |
CN116883393B (zh) | 一种基于无锚框目标检测算法的金属表面缺陷检测方法 | |
CN101477025B (zh) | 基于图像处理的藏展材料的快速评估方法 | |
CN110334775B (zh) | 一种基于宽度学习的无人机线路故障识别方法和装置 | |
CN110544249A (zh) | 一种面向任意角度机箱装配视觉检测的卷积神经网络质量鉴别方法 | |
CN113962929A (zh) | 光伏电池组件缺陷检测方法、系统及光伏电池组件生产线 | |
CN117392116A (zh) | 一种超宽幅金属表面瑕疵检测与识别方法 | |
CN114596273B (zh) | 利用yolov4网络的陶瓷基板多种瑕疵智能检测方法 | |
CN112184698B (zh) | 基于辅助学习网络的竹条缺陷检测方法 | |
CN115222735A (zh) | 一种基于麻点缺陷的金属模具质量检测方法 | |
CN112949666A (zh) | 一种剥锌机故障阴极板图像识别方法 | |
CN112686915A (zh) | 一种基于全卷积神经网络的光伏组件图片切割方法 | |
CN112149582A (zh) | 一种高光谱图像材质识别方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |