CN111161244B - 基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法 - Google Patents
基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法 Download PDFInfo
- Publication number
- CN111161244B CN111161244B CN201911391419.3A CN201911391419A CN111161244B CN 111161244 B CN111161244 B CN 111161244B CN 201911391419 A CN201911391419 A CN 201911391419A CN 111161244 B CN111161244 B CN 111161244B
- Authority
- CN
- China
- Prior art keywords
- network
- wxgboost
- fcn
- picture
- training
- 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.)
- Active
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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/2431—Multiple classes
-
- 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/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20221—Image fusion; Image merging
Abstract
本发明公开了一种基于FCN+FC‑WXGBoost的工业产品表面缺陷检测方法,包括步骤:1)对图片进行尺寸标准化和归一化操作;2)将图片进行在线增强与分批;3)将图片送入全卷积网络FCN与全连接网络FC结合的网络进行训练;4)将全连接网络输出层的输入作为特征向量,训练一个WXGBoost分类模型,使用克隆选择算法进行自动调参,并将全连接层的输出层替换为WXGBoost,再与全卷积网络FCN组合,得到FCN+FC‑WXGBoost网络模型;5)进行检测时将图片输入FCN+FC‑WXGBoost网络,得到缺陷的位置和类别信息。本发明有效降低了光照、曝光和位移等条件对缺陷检测的影响,提高了缺陷检测稳定性,同时降低了缺陷类别不平衡对检测精度的影响,提高检测精度。
Description
技术领域
本发明涉及工业产品表面缺陷检测的技术领域,尤其是指一种基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法。
背景技术
缺陷检测是生产流程中的重要一环,它保障了工业产品的可靠性。工业产品的表面缺陷检测需要对缺陷的位置进行精确定位,并对定位后的缺陷进行分类。在此之前,工业产品的表面缺陷检测技术通常使用传统机器视觉技术,进行图片灰度二值化、边缘轮廓提取以及模板匹配等操作,此类的缺点是对图片的光照、位移等变化十分敏感,鲁棒性较差。同时,不同种类的缺陷出现次数不定,各种缺陷的数量和分布极为不平衡,在进行分类的过程中容易偏向于数量较多的类别,导致对数量稀少的缺陷检测效果较差。
发明内容
本发明的目的在于克服现有的方法对工业产品表面图片的光照变化和位移等条件要求较高,检测的稳定性较差,以及缺陷样本类别不平衡等问题,提出了一种基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法,可有效降低了光照、曝光和位移等条件对缺陷检测的影响,提高了缺陷检测稳定性,同时降低了缺陷类别不平衡对检测精度的影响,提高检测精度,在缺陷检测时具有端到端、泛化性强、精度高等优点。
为实现上述目的,本发明所提供的技术方案为:基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法,包括以下步骤:
1)对选取的工业产品表面图片及其标注进行尺寸标准化和归一化操作,得到训练图片集;
2)对训练图片集进行在线随机数据增强,包括上下左右随机翻转,并将所有图片分为多个批次;
3)根据步骤2)分好的批次,将一个批次的图片输入全卷积网络FCN进行训练,得到输出结果的同时进行反向传播,更新FCN网络参数,并输出网络下采样得到的特征图;
4)将步骤3)得到的每一批次图片上的输出结果进行DBSCAN聚类,并将同一类的像素点使用最小外接矩形标出感兴趣区域,将所有感兴趣区域和步骤3)中提取的特征图输入特征提取算法RoIAlign,提取感兴趣区域特征;
5)搭建全连接网络FC,将步骤4)中提取出的感兴趣区域特征输入全连接网络FC进行训练,通过四步交替训练法,更新全卷积网络FCN和全连接网络FC的权重;
6)重复步骤3)至步骤5),直至训练图片集内的所有批次都已经参与训练,即完成一个轮次的训练;
7)完成一个轮次后,重复步骤2)至步骤6)进行新一轮的训练,直至达到设定的迭代轮次为止;
8)对极限梯度提升算法XGBoost进行加权改进,得到加权极限梯度提升算法WXGBoost,使用WXGBoost算法进行建模并在建模过程中使用克隆选择算法调参,将全连接网络FC的输出层替换为WXGBoost模型,得到FC-WXGBoost网络,再与全卷积网络FCN组合,得到FCN+FC-WXGBoost网络模型;
9)将待检测的工业产品表面图片输入步骤8)中得到的FCN+FC+WXGBoost网络模型,即可输出待检测图片的缺陷位置和类别信息。
在步骤1)中,选取的工业产品表面图片包括含有缺陷的图片和不含缺陷的正常图片,其标注格式为:每一张图片的标注为一个和图片尺寸相同的二维矩阵anno[i][j],i和j分别表示矩阵内的一个点,其数值对应图片上该位置像素的标注,其中背景为0,其余缺陷按种类分别标注为1、2、3……,若为正常图片,则其标注为全0的矩阵;
将图片进行尺寸标准化和归一化,统一缩放到尺寸为H*W的RGB图片,同时缩放标注anno,使其为H*W的二维矩阵,H和W为图片的高和宽。
在步骤3)中,将图片和标注送入FCN进行训练,输入图片为H*W的RGB图片,其标注信息修改为[0,1]二值矩阵anno',其中背景为0,前景为1,尺寸为H*W,H和W为图片的高和宽;
全卷积网络FCN的结构分为两个部分,前半部分为卷积层和池化层组合的下采样部分,中间部分为由两个卷积层组成的卷积部分,后半部分为反卷积层组成的上采样部分,表示为C={C1,C2,C3,C4,C5}和N以及D={D1,D2,D3},其中C表示下采样部分,Ci表示多个卷积层连接一个池化层,i=1,2,3,4,5,共有五层;N表示卷积部分;D表示上采样部分,其中Di表示一个反卷积层,i=1,2,3,共有三层;整个网络每一层输出的特征图分别表示为(m1,m2,...,m9);全卷积网络FCN采用了一种跳级结构,以得到更精准的预测结果,具体操作为:将m6输入D1,反卷积进行2倍上采样,得到m7;再将m4剪裁为m7的尺寸,二者叠加后再输入D2,同样进行2倍上采样,得到输出m8;将m3剪裁为m8的尺寸,二者叠加之后输入D3进行8倍上采样,得到和输入图片相同尺寸的输出m9;
全卷积网络FCN的输出m9为H*W的一维图片,其像素值取值为[0,1],表示原图中该位置像素为缺陷的概率,选取阈值μ将预测概率二值化为0或1,得到输出的二值化一维图片p;则该网络的损失函数为每个像素的交叉熵损失的叠加,即:
其中,CEi,j(pi,j,yi,j)表示单个像素点(i,j)的交叉熵损失,pi,j表示输出p中第(i,j)个像素的预测值,yi,j表示对应像素的真实值,总的损失loss(p,y)为所有像素点损失的加和。
所述步骤4)包括以下步骤:
4.1)对于步骤3)中输出的二值化一维图片p,使用DBSCAN算法对其进行聚类分析,并将聚类结果使用最小外接矩形框出,作为感兴趣区域;
4.2)将感兴趣区域的每个像素与原图的相应区域的标注anno'进行对比,计算预测结果的几何平均值,设定几何平均阈值σ,若几何平均值大于该阈值,则该区域为前景,其类别设置为anno中相应位置标志的缺陷类别,anno为图片的原始标注;否则,将其类别设置为背景;
4.3)将(m3,m4,m5)进行上采样和叠加融合,得到融合特征图m,其中(m3,m4,m5)分别表示全卷积网络第3、4、5层的输出;然后使用特征提取算法RoIAlign从特征图m中提取步骤4.2)中得到的感兴趣区域,得到感兴趣区域特征,并标记其真实值。
在步骤5)中,搭建全连接网络FC,由FC1,FC2,FC3三个全连接层构成,其中FC3为输出层,其节点个数为缺陷类别数与背景之和num;
将步骤4)中得到的感兴趣区域特征输入全连接网络进行训练,在输出层使用softmax损失作为损失函数,即:
其中,y*为1阶n维向量,且仅有其真实类别的维度为1,其余项为0;y为输出层经过softmax函数的输出,同为1阶n维向量,yi表示y中第i个元素的值,表示y*中第i个元素的值,每项的值表示其为对应类别的概率;
使用四步交替法训练全卷积网络FCN和全连接网络FC,其具体步骤为:
5.1)首先训练C,N和D组成的全卷积网络FCN,计算全卷积网络FCN的损失进行反传,得到感兴趣区域,其中C,N和D分别表示网络的下采样部分,卷积部分和上采样部分;
5.2)固定D部分参数,利用上一步得到的感兴趣区域训练C和FC组成的网络,计算全连接网络的损失进行反传,得到分类结果,其中FC表示全连接网络部分;
5.3)固定C和FC,计算全卷积网络的损失进行反传,微调N,D网络参数;
5.4)固定C,N和D,计算全连接网络的损失进行反传,微调FC网络参数。
在步骤8)中,WXGBoost算法是基于极限梯度提升算法XGBoost针对类别不平衡的加权改进算法,对于一个给定含有n个样本和l个特征的样本集Data={(xi,yi)}(|Data|=n,xi∈Rl,yi∈R)其中xi表示第i个样本的特征向量,yi表示该样本的真实类别,Rl为l维的实数向量集,R为实数集;XGBoost算法模型使用K次函数的累加和来进行预测:
其中,φ表示XGBoost模型,fk表示参与累加的单棵回归树,F={f(x)=wq(x)}(q:Rl→T,w∈RT)是回归树的空间,其中,x表示输入的样本特征集合,q表示将样本映射到对应叶子索引上的每棵树的结构,T是树中的叶子数量,RT为T维的实数向量集,每个fk对应一个独立的树结构q和叶子权重w,在每棵回归树的每片叶子上都包含了一个连续的分数,并使用wi来表示第i片叶子的分数,对于给定的例子,使用包含在树结构q中的决策规则,将其分类到叶子上,并通过将所有对应叶子的分数加和来计算最终的结果,该分数由w给出;
XGBoost的每一代的损失函数定义为:
WXGBoost算法对上述函数进行了加权改进,其每一代的损失函数定义为:
其中,t表示迭代轮次,为当代损失函数进行泰勒二阶展开后去掉常数项的结果,ft(xi)表示本轮对样本xi的输出,gi和hi分别为损失函数的一阶和二阶导数,表示前t-1轮累加的预测值,yi表示样本的真实值,WXGBoost的改进在于添加了一个额外的加权参数ki,通过赋予多数类样本更低的权值,少数类样本更高的权值来解决样本不平衡问题,Ω(ft)为正则化项,用以减缓过拟合现象;
将训练图片集输入步骤3)至步骤7)训练的全卷积网络FCN和全连接网络FC中,将全连接网络FC的第二层FC2的输出作为感兴趣区域特征的特征向量,使用WXGBoost算法对其进行建模;
WXGBoost算法建模过程中使用克隆选择算法调参,需要优化的参数包括迭代次数、训练步长、树的最大深度、树随机采样比例、特征随机采样比例及正则化系数,设定种群数目、记忆库数目和变异概率,随机初始化参数,在规定范围内搜索最优参数;
将训练好的WXGBoost模型替换全连接网络的输出层FC3,得到一个FC-WXGBoost网络,结合训练得到的全卷积网络FCN,得到FCN+FC-WXGBoost网络模型。
在步骤9)中,将待检测的工业产品表面图片输入到FCN+FC-WXGBoost网络模型中进行检测的过程如下:
9.1)待检测的工业产品表面图片通过全卷积网络部分,提取特征并分离前后景,得到图片像素级的前后景预测,以及图片的特征图;
9.2)使用DBSCAN算法对输出的像素进行聚类,划出感兴趣区域,将所有感兴趣区域和步骤9.1)中提取的特征图输入特征提取算法RoIAlign,提取感兴趣区域特征;
9.3)将感兴趣区域特征送入全连接网络FC的FC1,FC2层提取特征向量,并使用WXGBoost模型进行分类,得到缺陷的类别;
9.4)综合步骤9.1)和9.3)的输出结果,得到待检测工业产品表面图片的缺陷位置和类别信息。
本发明与现有技术相比,具有如下优点与有益效果:
1、本发明方法采用深度学习的全卷积网络作为前后景分离算法,降低了环境光照、相机曝光以及位移导致的算法质量下降问题,提高了算法对于工业产品表面缺陷检测的稳定性。
2、本发明方法使用了经过加权改进的极限梯度提升算法(WXGBoost)作为缺陷种类的分类算法,提高了缺陷分类的精准度,同时有效解决了缺陷种类不平衡的问题,也可以根据缺陷种类的重要性对自主调整权重,提高缺陷的总体识别精准度。
3、本发明使用了一种新的FCN+FC-WXGBoost的缺陷检测结构,FCN和WXGBoost共享一个特征提取网络,并通过四步交替训练的方法满足特征的提取符合两个网络的需求,可以节省训练和推断的时间和空间开销。
4、本发明在提取感兴趣区域时,使用了主干网络的多层特征图进行融合,保留了缺陷特征的高层语义信息和低层的位置和形状信息,使得大小缺陷的特征都能被较好的保留,提高了后续缺陷分类的精准度。
5、本发明使用了克隆选择算法对WXGBoost进行自动调参,解决了靠经验法调参导致的算法训练出来的模型效果难以达到最优的问题,使得缺陷分类时能达到更好的效果。
附图说明
图1是基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法的训练流程图。
图2是基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法的缺陷检测流程图。
图3是基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法的网络框架示意图。
具体实施方式
下面结合具体实施例对本发明作进一步说明。
实例采用注塑件表面图片数据,注塑件表面的缺陷种类包括气泡、烧伤、黑点、流痕、短射这五种缺陷,数据集的图片为2560*1920的RGB图片,数据集同时含有不带缺陷的正常样本图片和带有缺陷的图片。
本实施例所提供的基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法,包括以下步骤:
1)对所有的注塑件表面图片与标注进行尺寸标准化和归一化操作。
注塑件表面图片可分为含缺陷数据集X,不含缺陷的正常样本集Y,两种数据集均含有像素级的标注,每一张图片的标注为一个和图片尺寸相同的二维矩阵anno[i][j],i和j分别表示矩阵内的一个点,其数值对应图片上该位置像素的标注,其中背景为0,气泡、烧伤、黑点、流痕、短射这五种缺陷分别为1,2,3,4,5。若为正常图片,则其标注为全0的矩阵。
将图片进行尺寸标准化和归一化,统一缩放到1280*960的RGB图片,同时缩放标注anno,使其为1280*960的二维矩阵。
2)将所有图片组成的训练图片集进行在线随机数据增强,包括上下左右随机翻转,并将所有图片分为多个批次。
对图片分批次操作时,将正常图片和缺陷图片混合,并对所有图片进行顺序的打乱,一个批次设定为2张图片。
3)根据步骤2)分好的批次,将一个批次的图片输入全卷积网络FCN进行训练,得到输出结果的同时进行反向传播,更新FCN网络参数,同时输出网络下采样得到的特征图。
将图片和标注送入FCN网络进行训练,输入图片为1280*960的RGB图片,并将标注矩阵进行修改,其中标注为0的值不变,其它值全部改为1,即修改为为[0,1]二值矩阵anno',其中背景为0,前景为1,矩阵尺寸为1280*960。
全卷积网络FCN的结构分为两个部分,前半部分为卷积层和池化层组合的下采样部分,中间部分为由两个卷积层组成的卷积部分,后半部分为反卷积层组成的上采样部分。包括C={C1,C2,C3,C4,C5}和N以及D={D1,D2,D3},其中C表示了下采样部分,Ci(i=1,2,3,4,5)表示多个卷积层连接一个池化层,共有五层;N表示卷积部分;D表示上采样阶段,其中Di(i=1,2,3)表示一个反卷积层,共有三层。整个网络每一层输出的特征图分别表示为(m1,m2,...,m9)。全卷积网络FCN采用了一种跳级结构,以得到更精准的预测结果,具体操作为:将m6输入D1,反卷积进行2倍上采样,得到m7;再将m4剪裁为m7的尺寸,二者叠加后再输入D2,同样进行2倍上采样,得到输出m8;将m3剪裁为m8的尺寸,二者叠加之后输入D3进行8倍上采样,得到和输入图片相同尺寸的输出m9。
全卷积网络FCN的输出m9为1280*960的一维图片,其像素值取值为[0,1],表示原图中该位置像素为缺陷的概率,选取阈值μ=0.5将预测概率二值化为0或1,得到输出的二值化一维图片p。则该网络的损失函数为每个像素的交叉熵损失的叠加,即
其中,CEi,j(pi,j,yi,j)表示单个像素点(i,j)的交叉熵损失,pi,j表示输出p中第(i,j)个像素的预测值,yi,j表示对应像素的真实值,总的损失loss(p,y)为所有像素点损失的加和。
4)将步骤3)得到的每一批次图片上的输出结果进行DBSCAN聚类,并将同一类的像素点使用最小外接矩形标出感兴趣区域。将所有感兴趣区域和步骤3)中提取的特征图输入特征提取算法RoIAlign,提取感兴趣区域特征,包括以下步骤:
4.1)对于步骤3)中输出的二值化一维图片p,使用DBSCAN算法对其进行聚类分析,并将聚类结果使用最小外接矩形框出,作为感兴趣区域。
4.2)将得到感兴趣区域的每个像素与原图的相应区域的标注anno'进行对比,计算预测结果的几何平均值,设定几何平均阈值σ=0.5,若几何平均值大于该阈值,则该区域为前景,其类别设置为anno中相应位置标志的缺陷类别,anno为图片缺陷的原始标注;否则,将其类别设置为背景。
5)搭建全连接网络FC,将步骤4)中提取出的感兴趣区域特征输入全连接网络FC进行训练。通过四步交替训练法,更新全卷积网络FCN和全连接网络FC的权重,包括以下步骤:
5.1)搭建全连接网络FC,由FC1,FC2,FC3三个全连接层构成,其中FC3为输出层,其节点个数为缺陷类别数与背景之和num=6。
5.2)将步骤4)中得到的感兴趣区域特征输入全连接网络进行训练,在输出层使用softmax损失作为损失函数,即:
其中,y*为1阶n维向量,且仅有其真实类别的维度为1,其余项为0。y为输出层经过softmax函数的输出,同为1阶n维向量,yi表示y中第i个元素的值,表示y*中第i个元素的值,每项的值表示其为对应类别的概率。
5.3)使用四步交替法训练FCN和全连接网络,其具体步骤为:
5.3.1)训练C,N和D组成的全卷积网络,计算全卷积网络的损失进行反传,得到感兴趣区域,其中C,N和D分别表示网络的下采样部分,卷积部分和上采样部分。
5.3.2)固定D部分参数,利用上一步得到的感兴趣区域训练C和FC组成的网络,计算全连接网络的损失进行反传,得到分类结果,其中FC表示全连接网络部分。
5.3.3)固定C和FC,计算全卷积网络的损失进行反传,微调N,D网络参数。
5.3.4)固定C,N和D,计算全连接网络的损失进行反传,微调FC网络参数。
6)重复步骤3)至步骤5),直至训练图片集内的所有批次都已经参与训练,即完成一个轮次的训练。
7)完成一个轮次后,重复步骤2)至步骤6)进行新一轮的训练,直到达到设定的迭代轮次为止,设定训练轮次为20轮,整个训练过程的具体步骤如图1所示。
8)对极限梯度提升算法XGBoost进行加权改进,得到加权极限梯度提升算法WXGBoost。使用WXGBoost算法进行建模并在建模过程中使用克隆选择算法调参,将步骤7)中全连接网络的输出层替换为WXGBoost模型,得到FC-WXGBoost网络,再和步骤7)得到的全卷积网络FCN组合,得到FCN+FC-WXGBoost网络模型,如图3所示。
WXGBoost算法是基于极限梯度提升XGBoost算法上针对类别不平衡的加权改进方法。对于一个给定含有n个样本和l个特征的样本集Data={(xi,yi)}(|Data|=n,xi∈Rl,yi∈R),其中xi表示第i个样本的特征向量,yi表示该样本的真实类别,Rl为l维的实数向量集,R为实数集。XGBoost算法模型使用K次函数的累加和来进行预测:
其中φ表示XGBoost模型,fk表示参与累加的单棵回归树,F={f(x)=wq(x)}(q:Rl→T,w∈RT)是回归树的空间。其中,x表示输入的样本特征集合,q表示将样本映射到对应叶子索引上的每棵树的结构。T是树中的叶子数量,RT为T维的实数向量集。每个fk对应一个独立的树结构q和叶子权重w。在每棵回归树的每片叶子上都包含了一个连续的分数,并使用wi来表示第i片叶子的分数。对于给定的例子,使用包含在树结构q中的决策规则,将其分类到叶子上,并通过将所有对应叶子的分数加和来计算最终的结果,该分数由w给出。
XGBoost的每一代的损失函数定义为:
WXGBoost算法对上述函数进行了加权改进,其每一代的损失函数定义为:
其中,t表示迭代轮次,为当代损失函数进行泰勒二阶展开后去掉常数项的结果,ft(xi)表示本轮对样本xi的输出,gi和hi分别为损失函数的一阶和二阶导数,表示前t-1轮累加的预测值,yi表示样本的真实值。WXGBoost的改进在于添加了一个额外的加权参数ki,通过赋予多数类样本更低的权值,少数类样本更高的权值来解决样本不平衡问题,Ω(ft)为正则化项,用以减缓过拟合现象。
权重ki根据数据集中第i类的数目决定,其计算方式为:ki=1-(Si/S),其中Si为第i类的数目,S为总的特征数目。
8.2)将训练图片集输入步骤3)至步骤7)训练的全卷积网络FCN和全连接网络中,将全连接网络的第二层FC2的输出作为感兴趣区域特征的特征向量,使用WXGBoost算法对其进行建模。
8.3)WXGBoost算法建模过程中使用克隆选择算法调参,需要优化的参数包括迭代次数、训练步长、树的最大深度、树随机采样比例、特征随机采样比例及正则化系数,设定种群数目为50,记忆库数目为30,变异概率为0.8,随机初始化种群,在30代以内搜索算法的最优参数。
8.4)将训练好的WXGBoost模型替换步骤7)中全连接网络的输出层FC3,得到FC-WXGBoost网络,结合步骤7)中训练得到的全卷积网络FCN,得到FCN+FC-WXGBoost网络模型。
9)进行检测时,将需要检测的工业产品表面图片输入步骤8)中得到的FCN+FC-WXGBoost网络模型,输出待检测图片的缺陷位置和类别信息。检测步骤如图2所示。
9.1)将待检测工业产品表面图片送入全卷积网络,提取特征并分离前后景,得到图片像素级的前后景预测,以及图片的特征图。
9.2)使用DBSCAN算法对输出的像素进行聚类,划出感兴趣区域,将所有感兴趣区域和步骤9.1)中提取的特征图输入特征提取算法RoIAlign,提取感兴趣区域特征。
9.3)将感兴趣区域特征送入全连接网络的FC1,FC2层提取特征向量,并使用WXGBoost分类模型进行分类,得到缺陷的类别。
9.4)综合步骤9.1)和9.3)的输出结果,得到待检测注塑件表面图片的缺陷位置和类别信息。
上述实施例为本发明效果较好的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (6)
1.基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法,其特征在于,包括以下步骤:
1)对选取的工业产品表面图片及其标注进行尺寸标准化和归一化操作,得到训练图片集;
2)对训练图片集进行在线随机数据增强,包括上下左右随机翻转,并将所有图片分为多个批次;
3)根据步骤2)分好的批次,将一个批次的图片输入全卷积网络FCN进行训练,得到输出结果的同时进行反向传播,更新FCN网络参数,并输出网络下采样得到的特征图;
将图片和标注送入FCN进行训练,输入图片为H*W的RGB图片,其标注信息修改为[0,1]二值矩阵anno',其中背景为0,前景为1,尺寸为H*W,H和W为图片的高和宽;
全卷积网络FCN的结构分为两个部分,前半部分为卷积层和池化层组合的下采样部分,中间部分为由两个卷积层组成的卷积部分,后半部分为反卷积层组成的上采样部分,表示为C={C1,C2,C3,C4,C5}和N以及D={D1,D2,D3},其中C表示下采样部分,Ci表示多个卷积层连接一个池化层,i=1,2,3,4,5,共有五层;N表示卷积部分;D表示上采样部分,其中Di表示一个反卷积层,i=1,2,3,共有三层;整个网络每一层输出的特征图分别表示为(m1,m2,...,m9);全卷积网络FCN采用了一种跳级结构,以得到更精准的预测结果,具体操作为:将m6输入D1,反卷积进行2倍上采样,得到m7;再将m4剪裁为m7的尺寸,二者叠加后再输入D2,同样进行2倍上采样,得到输出m8;将m3剪裁为m8的尺寸,二者叠加之后输入D3进行8倍上采样,得到和输入图片相同尺寸的输出m9;
全卷积网络FCN的输出m9为H*W的一维图片,其像素值取值为[0,1],表示原图中该位置像素为缺陷的概率,选取阈值μ将预测概率二值化为0或1,得到输出的二值化一维图片p;则该网络的损失函数为每个像素的交叉熵损失的叠加,即:
其中,CEi,j(pi,j,yi,j)表示单个像素点(i,j)的交叉熵损失,pi,j表示输出p中第(i,j)个像素的预测值,yi,j表示对应像素的真实值,总的损失loss(p,y)为所有像素点损失的加和;
4)将步骤3)得到的每一批次图片上的输出结果进行DBSCAN聚类,并将同一类的像素点使用最小外接矩形标出感兴趣区域,将所有感兴趣区域和步骤3)中提取的特征图输入特征提取算法RoIAlign,提取感兴趣区域特征;
5)搭建全连接网络FC,将步骤4)中提取出的感兴趣区域特征输入全连接网络FC进行训练,通过四步交替训练法,更新全卷积网络FCN和全连接网络FC的权重;其中,使用四步交替法训练全卷积网络FCN和全连接网络FC,其具体步骤为:
5.1)首先训练C,N和D组成的全卷积网络FCN,计算全卷积网络FCN的损失进行反传,得到感兴趣区域,其中C,N和D分别表示网络的下采样部分,卷积部分和上采样部分;
5.2)固定D部分参数,利用上一步得到的感兴趣区域训练C和FC组成的网络,计算全连接网络的损失进行反传,得到分类结果,其中FC表示全连接网络部分;
5.3)固定C和FC,计算全卷积网络的损失进行反传,微调N,D网络参数;
5.4)固定C,N和D,计算全连接网络的损失进行反传,微调FC网络参数;
6)重复步骤3)至步骤5),直至训练图片集内的所有批次都已经参与训练,即完成一个轮次的训练;
7)完成一个轮次后,重复步骤2)至步骤6)进行新一轮的训练,直至达到设定的迭代轮次为止;
8)对极限梯度提升算法XGBoost进行加权改进,得到加权极限梯度提升算法WXGBoost,使用WXGBoost算法进行建模并在建模过程中使用克隆选择算法调参,将全连接网络FC的输出层替换为WXGBoost模型,得到FC-WXGBoost网络,再与全卷积网络FCN组合,得到FCN+FC-WXGBoost网络模型;
9)将待检测的工业产品表面图片输入步骤8)中得到的FCN+FC-WXGBoost网络模型,即可输出待检测图片的缺陷位置和类别信息。
2.根据权利要求1所述的基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法,其特征在于:在步骤1)中,选取的工业产品表面图片包括含有缺陷的图片和不含缺陷的正常图片,其标注格式为:每一张图片的标注为一个和图片尺寸相同的二维矩阵anno[i][j],i和j分别表示矩阵内的一个点,其数值对应图片上该位置像素的标注,其中背景为0,其余缺陷按种类分别标注为1、2、3……,若为正常图片,则其标注为全0的矩阵;
将图片进行尺寸标准化和归一化,统一缩放到尺寸为H*W的RGB图片,同时缩放标注anno,使其为H*W的二维矩阵,H和W为图片的高和宽。
3.根据权利要求1所述的基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法,其特征在于:所述步骤4)包括以下步骤:
4.1)对于步骤3)中输出的二值化一维图片p,使用DBSCAN算法对其进行聚类分析,并将聚类结果使用最小外接矩形框出,作为感兴趣区域;
4.2)将感兴趣区域的每个像素与原图的相应区域的标注anno'进行对比,计算预测结果的几何平均值,设定几何平均阈值σ,若几何平均值大于该阈值,则该区域为前景,其类别设置为anno中相应位置标志的缺陷类别,anno为图片的原始标注;否则,将其类别设置为背景;
4.3)将(m3,m4,m5)进行上采样和叠加融合,得到融合特征图m,其中(m3,m4,m5)分别表示全卷积网络第3、4、5层的输出;然后使用特征提取算法RoIAlign从特征图m中提取步骤4.2)中得到的感兴趣区域,得到感兴趣区域特征,并标记其真实值。
5.根据权利要求1所述的基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法,其特征在于:在步骤8)中,WXGBoost算法是基于极限梯度提升算法XGBoost针对类别不平衡的加权改进算法,对于一个给定含有n个样本和l个特征的样本集Data={(xi,yi)}(|Data|=n,xi∈Rl,yi∈R)其中xi表示第i个样本的特征向量,yi表示该样本的真实类别,Rl为l维的实数向量集,R为实数集;XGBoost算法模型使用K次函数的累加和来进行预测:
其中,φ表示XGBoost模型,fk表示参与累加的单棵回归树,F={f(x)=wq(x)}(q:Rl→T,w∈RT)是回归树的空间,其中,x表示输入的样本特征集合,q表示将样本映射到对应叶子索引上的每棵树的结构,T是树中的叶子数量,RT为T维的实数向量集,每个fk对应一个独立的树结构q和叶子权重w,在每棵回归树的每片叶子上都包含了一个连续的分数,并使用wi来表示第i片叶子的分数,对于给定的例子,使用包含在树结构q中的决策规则,将其分类到叶子上,并通过将所有对应叶子的分数加和来计算最终的结果,该分数由w给出;
XGBoost的每一代的损失函数定义为:
WXGBoost算法对上述函数进行了加权改进,其每一代的损失函数定义为:
其中,t表示迭代轮次,为当代损失函数进行泰勒二阶展开后去掉常数项的结果,ft(xi)表示本轮对样本xi的输出,gi和hi分别为损失函数的一阶和二阶导数,表示前t-1轮累加的预测值,yi表示样本的真实值,WXGBoost的改进在于添加了一个额外的加权参数ki,通过赋予多数类样本更低的权值,少数类样本更高的权值来解决样本不平衡问题,Ω(ft)为正则化项,用以减缓过拟合现象;
将训练图片集输入步骤3)至步骤7)训练的全卷积网络FCN和全连接网络FC中,将全连接网络FC的第二层FC2的输出作为感兴趣区域特征的特征向量,使用WXGBoost算法对其进行建模;
WXGBoost算法建模过程中使用克隆选择算法调参,需要优化的参数包括迭代次数、训练步长、树的最大深度、树随机采样比例、特征随机采样比例及正则化系数,设定种群数目、记忆库数目和变异概率,随机初始化参数,在规定范围内搜索最优参数;
将训练好的WXGBoost模型替换全连接网络的输出层FC3,得到一个FC-WXGBoost网络,再结合训练得到的全卷积网络FCN,得到FCN+FC-WXGBoost网络模型。
6.根据权利要求1所述的基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法,其特征在于:在步骤9)中,将待检测的工业产品表面图片输入到FCN+FC-WXGBoost网络模型中进行检测的过程如下:
9.1)待检测的工业产品表面图片通过全卷积网络部分,提取特征并分离前后景,得到图片像素级的前后景预测,以及图片的特征图;
9.2)使用DBSCAN算法对输出的像素进行聚类,划出感兴趣区域,将所有感兴趣区域和步骤9.1)中提取的特征图输入特征提取算法RoIAlign,提取感兴趣区域特征;
9.3)将感兴趣区域特征送入全连接网络FC的FC1,FC2层提取特征向量,并使用WXGBoost模型进行分类,得到缺陷的类别;
9.4)综合步骤9.1)和9.3)的输出结果,得到待检测工业产品表面图片的缺陷位置和类别信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911391419.3A CN111161244B (zh) | 2019-12-30 | 2019-12-30 | 基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911391419.3A CN111161244B (zh) | 2019-12-30 | 2019-12-30 | 基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111161244A CN111161244A (zh) | 2020-05-15 |
CN111161244B true CN111161244B (zh) | 2021-12-21 |
Family
ID=70558910
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911391419.3A Active CN111161244B (zh) | 2019-12-30 | 2019-12-30 | 基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111161244B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111862067B (zh) * | 2020-07-28 | 2021-10-26 | 中山佳维电子有限公司 | 一种焊接缺陷检测方法、装置、电子设备以及存储介质 |
CN112508857B (zh) * | 2020-11-17 | 2022-04-22 | 华南理工大学 | 基于改进型Cascade R-CNN的铝材表面缺陷检测方法 |
CN113470043A (zh) * | 2021-06-03 | 2021-10-01 | 厦门宏泰智能制造有限公司 | 一种基于图像分割的数据处理方法、装置和电子设备 |
CN116595872B (zh) * | 2023-05-12 | 2024-02-02 | 西咸新区大熊星座智能科技有限公司 | 基于多目标学习算法的焊接参数自适应预测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866427A (zh) * | 2010-07-06 | 2010-10-20 | 西安电子科技大学 | 织物瑕疵检测与分类方法 |
CN104751472A (zh) * | 2015-04-10 | 2015-07-01 | 浙江工业大学 | 基于b样条小波和深度神经网络的织物疵点检测方法 |
CN104850858A (zh) * | 2015-05-15 | 2015-08-19 | 华中科技大学 | 一种注塑制品缺陷检测识别方法 |
CN107967680A (zh) * | 2017-11-24 | 2018-04-27 | 常州大学 | 基于峰值阈值和混合特征的纺织品瑕疵检测方法 |
CN109829893A (zh) * | 2019-01-03 | 2019-05-31 | 武汉精测电子集团股份有限公司 | 一种基于注意力机制的缺陷目标检测方法 |
CN109978870A (zh) * | 2019-03-29 | 2019-07-05 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN110378221A (zh) * | 2019-06-14 | 2019-10-25 | 安徽南瑞继远电网技术有限公司 | 一种电网线夹自动检测与缺陷识别方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10607119B2 (en) * | 2017-09-06 | 2020-03-31 | Kla-Tencor Corp. | Unified neural network for defect detection and classification |
KR20190073756A (ko) * | 2017-12-19 | 2019-06-27 | 삼성전자주식회사 | 반도체 결함 분류 장치, 반도체의 결함을 분류하는 방법, 그리고 반도체 결함 분류 시스템 |
-
2019
- 2019-12-30 CN CN201911391419.3A patent/CN111161244B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101866427A (zh) * | 2010-07-06 | 2010-10-20 | 西安电子科技大学 | 织物瑕疵检测与分类方法 |
CN104751472A (zh) * | 2015-04-10 | 2015-07-01 | 浙江工业大学 | 基于b样条小波和深度神经网络的织物疵点检测方法 |
CN104850858A (zh) * | 2015-05-15 | 2015-08-19 | 华中科技大学 | 一种注塑制品缺陷检测识别方法 |
CN107967680A (zh) * | 2017-11-24 | 2018-04-27 | 常州大学 | 基于峰值阈值和混合特征的纺织品瑕疵检测方法 |
CN109829893A (zh) * | 2019-01-03 | 2019-05-31 | 武汉精测电子集团股份有限公司 | 一种基于注意力机制的缺陷目标检测方法 |
CN109978870A (zh) * | 2019-03-29 | 2019-07-05 | 北京百度网讯科技有限公司 | 用于输出信息的方法和装置 |
CN110378221A (zh) * | 2019-06-14 | 2019-10-25 | 安徽南瑞继远电网技术有限公司 | 一种电网线夹自动检测与缺陷识别方法及装置 |
Non-Patent Citations (2)
Title |
---|
Deformable patterned fabric defect detection with fisher criterion-based deep learning;Yundong Li et al;《IEEE Transactions on Automation Science and Engineering》;20161230;第1256-1264页 * |
基于卷积神经网络快速区域标定的表面缺陷检测;李宜汀等;《计算机集成制造系统》;20190111;第1897-1907页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111161244A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111161244B (zh) | 基于FCN+FC-WXGBoost的工业产品表面缺陷检测方法 | |
CN110956185B (zh) | 一种图像显著目标的检测方法 | |
CN109299274B (zh) | 一种基于全卷积神经网络的自然场景文本检测方法 | |
CN106845529B (zh) | 基于多视野卷积神经网络的影像特征识别方法 | |
CN107609525B (zh) | 基于剪枝策略构建卷积神经网络的遥感图像目标检测方法 | |
CN111027493B (zh) | 一种基于深度学习多网络软融合的行人检测方法 | |
CN105701502B (zh) | 一种基于蒙特卡罗数据均衡的图像自动标注方法 | |
CN111191583B (zh) | 基于卷积神经网络的空间目标识别系统及方法 | |
CN112347970B (zh) | 一种基于图卷积神经网络的遥感影像地物识别方法 | |
CN114841257B (zh) | 一种基于自监督对比约束下的小样本目标检测方法 | |
CN109829414B (zh) | 一种基于标签不确定性和人体组件模型的行人再识别方法 | |
CN109741341A (zh) | 一种基于超像素和长短时记忆网络的图像分割方法 | |
CN112115967B (zh) | 一种基于数据保护的图像增量学习方法 | |
CN108595558B (zh) | 一种数据均衡策略和多特征融合的图像标注方法 | |
CN110619059A (zh) | 一种基于迁移学习的建筑物标定方法 | |
CN110929621B (zh) | 一种基于拓扑信息细化的道路提取方法 | |
CN105718932A (zh) | 一种基于果蝇优化算法和光滑孪生支持向量机的彩色图像分类方法与系统 | |
CN115205521B (zh) | 基于神经网络的厨余垃圾检测方法 | |
CN114048822A (zh) | 一种图像的注意力机制特征融合分割方法 | |
CN109685030A (zh) | 一种基于卷积神经网络的马克杯杯口缺陷检测分类方法 | |
CN111652273A (zh) | 一种基于深度学习的rgb-d图像分类方法 | |
CN111461006A (zh) | 一种基于深度迁移学习的光学遥感图像杆塔位置检测方法 | |
CN114581486A (zh) | 基于全卷积孪生网络多层特征的模板更新目标跟踪算法 | |
CN112819837A (zh) | 一种基于多源异构遥感影像的语义分割方法 | |
CN113807176A (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 |