CN113808035B - 一种基于半监督学习的瑕疵检测方法 - Google Patents

一种基于半监督学习的瑕疵检测方法 Download PDF

Info

Publication number
CN113808035B
CN113808035B CN202110984972.9A CN202110984972A CN113808035B CN 113808035 B CN113808035 B CN 113808035B CN 202110984972 A CN202110984972 A CN 202110984972A CN 113808035 B CN113808035 B CN 113808035B
Authority
CN
China
Prior art keywords
image
flaw
random
flawed
false
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
Application number
CN202110984972.9A
Other languages
English (en)
Other versions
CN113808035A (zh
Inventor
赖永炫
曹辉彬
陈宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Weitu Software Technology Co ltd
Original Assignee
Xiamen Weitu Software Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen Weitu Software Technology Co ltd filed Critical Xiamen Weitu Software Technology Co ltd
Priority to CN202110984972.9A priority Critical patent/CN113808035B/zh
Publication of CN113808035A publication Critical patent/CN113808035A/zh
Application granted granted Critical
Publication of CN113808035B publication Critical patent/CN113808035B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/0008Industrial image inspection checking presence/absence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

本发明公开一种基于半监督学习的瑕疵检测方法,包括无监督学习、有监督学习和瑕疵检测,无监督学习阶段将无瑕疵图像生成虚假带瑕疵图像再修复回无瑕疵图像,将带瑕疵图像修复为虚假无瑕疵图像再转换回带瑕疵图像,然后判断真实性,计算对抗损失并优化更新辨别器参数;有监督学习阶段加入高斯噪声并通过瑕疵修复器将虚假带瑕疵图像转换为无瑕疵图像,通过新的辨别器输入两张图像组成的数据对,然后判断真实性,计算对抗损失并优化更新辨别器;瑕疵检测给定随机带瑕疵图像,将带瑕疵图像转换为虚假无瑕疵图像,逐像素比对以获得标记瑕疵位置与形状的二值图像。本发明降低瑕疵图像合成复杂性和检测未见过瑕疵复杂性,对未见过的瑕疵有很好的适应性。

Description

一种基于半监督学习的瑕疵检测方法
技术领域
本发明属于自动化工业技术领域,特别涉及一种基于半监督学习的瑕疵检测方法。
背景技术
在工业领域中,生产线产品的瑕疵检测是保证产品质量的重要一环。在传统工业生产过程中,这一繁杂的任务往往依靠人工筛查来完成。由于筛查的结果包含着工人们不一致的主观判断,且筛查的效率也很大程度上决定于工人们身体状态的好坏,耗时耗人力的同时产品质量也难以把控。近年来随着深度学习在工业领域的广泛应用,工业生产逐渐趋于自动化和智能化。许多基于深度学习技术的自动瑕疵检测方法被运用于实际生产,辅助甚至取代传统人工筛查,提高了瑕疵检测效率。
在工业瑕疵检测中,要使得数据集包含足够多样的瑕疵样本,光靠生产线取样是远远不够且低效的。所以需要采取一些图像样本扩充方法,常见的图像增强通用性强且容易使用,然而存在以下缺点:首先是样本扩充数量有限,其数量受限于图像增强的方法数;其次图像增强无法在图像内容的层面上为图像带来多样性,数据集变化的可能性依旧被限制在已有数据集内容的范围之内。为了突破这一缺点,可以通过生成式对抗网络来合成样本,使得扩充的样本内容更具有随机性和多样性。
生成式对抗网络是Ian Goodfellow在2014年提出的新式网络模型。与卷积网络的其他常见应用如图像分类、目标检测、语义分割等相比,GAN 最大的特点能够通过拟合数据的分布来生成数据集中没有的数据,常见的应用有人脸生成、超分辨率生成、图像修复等等。从某种程度上,GAN是使用强化学习来解决生成建模问题的一种方式,两者的思想有许多共同之处。例如,GAN和强化学习中的“演员-评论家”算法有着异曲同工之妙,演员就好比GAN中的生成器,评论家就像GAN中的判别器,在演员(生成器) 和评论家(判别器)之间维持一种博弈达到纳什均衡。
随着GAN技术愈趋于热门,瑕疵检测领域也逐渐引入了GAN技术。常见的用处是瑕疵生成,即通过GAN技术扩充样本解决样本量少且获取成本高的问题。也可以通过GAN技术将图像中的瑕疵放大从而提高瑕疵检测效果。普遍的做法是先通过GAN生成小瑕疵块然后贴合到原图中(孙东平.基于DCGAN样本生成的小样本视觉外观瑕疵检测[D].吉林大学,2019.),这种做法存在以下缺点:设计流程繁琐、难以设计周全、图像贴合边缘明显突兀并整体呈现出不真实感。为了避免这个缺点,可以通过利用CycleGAN 网络架构直接进行整体瑕疵样本的生成,其生成的样本更真实且省去了人工设计合成的繁杂。在《基于GAN的缺陷图像简单生成及其用于改进缺陷识别》(Niu S,Li B,Wang X,et al.Defect image samplegeneration with GAN for improving defect recognition[J].IEEE Transactions onAutomation Science and Engineering,2020,17(3):1611-1622.)中,便采取了这样的方法进行瑕疵生成,并且同时利用CycleGAN的循环回路特性进行瑕疵的修复,进而对比修复前后图像来提取瑕疵区域。然而这种方法依旧存在不足:该方法的瑕疵修复器所使用的一致性损失(Loss R2)和对抗损失(Loss R1)分别处于前向和反向两个不同的训练阶段中,在同一训练阶段缺少对两种损失的有效结合,使得模型在训练修复过程缺少针对性,而修复效果直接影响了瑕疵提取的效果。本发明针对这一问题进一步改进,在修复阶段添加Pix2pix式的判别器加以监督,将一致性损失和对抗损失集中于一个训练阶段,进一步提升瑕疵修复效果,最终提升整体瑕疵检测效果。
发明内容
本发明的目的在于提供一种基于半监督学习的瑕疵检测方法,降低瑕疵图像合成复杂性和检测未见过瑕疵复杂性,能够得到比朴素CycleGAN更好的、与监督式UNET相当的效果。另外,该方法拟合了无瑕疵图像中的内容分布,对未见过的瑕疵有很好的适应性。
为达成上述目的,本发明的解决方案为:一种基于半监督学习的瑕疵检测方法,包括以下步骤:
S1:建立训练CycleGAN模型,包括步骤:
a.使用训练辨别器从无瑕疵图像数据集X与带瑕疵图像数据集Y中分别随机选取一张随机无瑕疵图像x和一张随机带瑕疵图像y;
b.使用瑕疵生成器DG将随机无瑕疵图像x转化为虚假带瑕疵图像 DG(x),同样地,使用瑕疵修复器DI将随机带瑕疵图像y转化为虚假无瑕疵图像DI(y);
c.通过无瑕疵图像辨别器Dx计算随机无瑕疵图像x的无瑕疵真实率 Dx(x)以及转化为虚假无瑕疵图像DI(y)的真实率Dx(DI(y)),获得对抗损失 LossF1并优化更新无瑕疵图像辨别器DX参数;
通过带瑕疵图像辨别器DY计算随机带瑕疵图像y的带瑕疵真实率 DY(y)以及转化为虚假带瑕疵图像DG(x)的真实率DY(DG(x)),获得对抗损失LossB1并优化更新带瑕疵图像辨别器DY参数;
d.使用训练生成器输入随机无瑕疵图像x、随机带瑕疵图像y;使用瑕疵生成器DG将随机无瑕疵图像x转化为虚假带瑕疵图像DG(x),同样地,使用瑕疵修复器DI将随机带瑕疵图像y转化为虚假无瑕疵图像DI(y);通过无瑕疵图像辨别器Dx计算随机无瑕疵图像x的无瑕疵真实率Dx(x)以及转化为虚假无瑕疵图像DI(y)的真实率Dx(DI(y));通过带瑕疵图像辨别器DY计算随机带瑕疵图像y的带瑕疵真实率DY(y)以及转化为虚假带瑕疵图像 DG(x)的真实率DY(DG(x));输入由瑕疵修复器DI修复随机带瑕疵图像y而得到的虚假无瑕疵图像DI(y),输出重构的带瑕疵图像DG(DI(y));输入由瑕疵生成器DG处理随机无瑕疵图像x而得到的虚假带瑕疵图像DG(x),输出重构的无瑕疵图像DI(DG(x));
e.计算重构的无瑕疵图像DI(DG(x))与随机无瑕疵图像x之间的差异,得到一致性损失LossF2,同样地,计算重构的带瑕疵图像DG(DI(y))与随机带瑕疵图像y之间的差异,得到一致性损失LossB2,以及再次计算对抗损失LossF1、LossB1并优化更新瑕疵生成器DG参数和瑕疵修复器DI参数;
f.若达到训练停止条件则进入步骤S2;若没有达到训练停止条件则重复步骤a~步骤e;
S2:建立训练Pix2Pix模型,包括步骤:
g.使用训练辨别器从无瑕疵图像数据集x中随机选取一张随机无瑕疵图像x;
h.使用瑕疵生成器DG将随机无瑕疵图像x转化为虚假带瑕疵图像 DG(x);
i.随机选取一个高斯噪声z并通过瑕疵修复器DI将虚假带瑕疵图像 DG(x)转换为无瑕疵图像DI(DG(x),z);
j.通过有监督阶段辨别器DZ,输入由随机无瑕疵图像x和虚假带瑕疵图像DG(x)组成的数据对(x,DG(x)),输出数据对(x,DG(x))为真实数据且两图像匹配的概率DZ(DG(x),x);输入由转换的无瑕疵图像DI(DG(x),z)和虚假带瑕疵图像DG(x)组成的数据对(DI(DG(x),z),DG(x)),输出数据对 (DI(DG(x),z),DG(x))为真实数据且两图像匹配的概率 DZ(DG(x),DI(DG(x),z)),获得对抗损失LossF3并优化更新有监督阶段辨别器Dz参数;
k.使用训练生成器输入随机无瑕疵图像x;使用瑕疵生成器DG将x转化为虚假带瑕疵图像DG(x);随机选取一个高斯噪声z并通过瑕疵修复器DI将虚假带瑕疵图像DG(x)转换为无瑕疵图像DI(D6(x),z);
1.通过有监督阶段辨别器DZ,输入由无瑕疵图像DI(DG(x),z)和虚假带瑕疵图像DG(x)组成的数据对(DI(DG(x),z),DG(x)),输出数据对 (DI(DG(x),z),DG(x))为真实数据且两图像匹配的概率 DZ(DG(x),DI(DG(x),Z)),获得对抗损失LossF3,根据x与DI(DG(x),z)计算得到一致性损失LossF4,并优化更新瑕疵修复器DI参数;
m.若达到训练停止条件则进入步骤S3;若没有达到训练停止条件则重复步骤g~步骤l;
S3:瑕疵检测,包括步骤:
n.给定随机带瑕疵图像y,通过瑕疵修复器DI将随机带瑕疵图像y转换为虚假无瑕疵图像DI(y);
o.逐像素比对随机带瑕疵图像y与虚假无瑕疵图像DI(y)以获得标记瑕疵位置与形状的二值图像。
作为进一步改进方案,步骤c中,对抗损失LossF1和LossB1计算公式如下:
LF1(DG,DY)=Ey~Pdata(y)[logDY(y)]+Ex~Pdata(x)[log(1-DY(DG(x)))],
LB1(DI,DX)=Ex~Pdata(x)[logDX(x)]+Ey~Pdata(y)[log(1-DX(DI(y)))],
其中,Pdata表示数据集的分布。另外,DY与DX的优化目标分别为
作为进一步改进方案,步骤e中,一致性损失LossF2、LossB2计算公式如下:
LF2(DG,DI)=Ex~Pdata(x)[||DI(DG(x))-x||1],
LB2(DG,DI)=Ey~Pdata(y)[||DG(DI(y))-y||1],
同时,优化目标为
其中,α为平衡对抗损失LossF1、LossB1与一致性损失LossF2、LossB2的超参数。
作为进一步改进方案,步骤j中,对抗损失LossF3计算公式如下:
LF3(DI,DZ)=Ex~Pdata(x)[logDZ(DG(x),x)]+ Ex~Pdata(x),z~Pz(z)[log(1-DZ(DG(x),DI(DG(x),z)))]
其中,z为满足高斯分布Pz的高斯噪声;成对数据输入有监督阶段辨别器DZ前会将数据对中的两张图像按通道连接;另外,DZ的优化目标为
作为进一步改进方案,步骤1中,一致性损失LossF4计算公式如下:
LF4(DI)=Ex~Pdata(x),z~Pz(z)[||DI(DG(x),z)-x||1],
同时,DI的优化目标为
其中,β为平衡对抗损失LossF3与一致性损失LossF4的超参数。
作为进一步改进方案,步骤o中通过比对y、DI(y)获得标记瑕疵位置与形状的二值图像,具体的,若y与DI(y)对应像素差的绝对值大于阈值则标记为瑕疵区域像素。
采用上述方案后,本发明的好处在于,本发明结合CycleGAN和Pix2Pix 训练策略。通过无监督地训练一个瑕疵生成器与瑕疵修复器。再利用瑕疵生成器生成的瑕疵图像来有监督训练瑕疵修复器。能够有效降低瑕疵图像合成复杂性和检测未见过瑕疵复杂性,获得良好的瑕疵检测效果。
附图说明
图1为本发明整体流程图。
图2为本发明无监督学习阶段结构示意图。
图3为本发明有监督学习阶段结构示意图。
图4为本发明瑕疵检测结构示意图。
图5为Type-I RSDDs中轨道表面图像(a)、图像(b)和图像(c)瑕疵检测结果图;每张轨道图像的检测结果图像序列为原始图像、UNET结果、 CycleGAN结果、本发明结果和ground truth。
图6为Type-II RSDDs中轨道表面图像(a)、图像(b)和图像(c)瑕疵检测结果图;每张轨道图像的检测结果图像序列为原始图像、UNET结果、 CycleGAN结果、本发明结果和ground truth。
参数说明:
具体实施方式
以下结合附图及具体实施例对本发明做详细的说明。
本发明的一种基于半监督学习的瑕疵检测方法,其包含无监督学习、有监督学习与瑕疵检测三个阶段。其整体流程图如图1所示。下面结合附图对各个阶段作进一步地详细描述。
(1)S1无监督学习阶段:建立训练CycleGAN模型,如图2所示,CycleGAN模型定义了两个生成器DG(Defect Generator)和DI(Defect Inpaintor),分别负责瑕疵生成和瑕疵修复。如图2所示,结构中分别存在一条前向映射流(X→Y→X)和后向映射流(Y←X←Y)。前向映射流将X 中的无瑕疵图像x通过瑕疵生成器DG生成虚假带瑕疵图像DG(x),然后通过瑕疵修复器DI将DG(x)重构修复回无瑕疵图像DI(DG(x))。而后向映射流将 Y中的带瑕疵图像y通过瑕疵修复器DI修复为虚假无瑕疵图像DI(y),然后通过瑕疵生成器DG将DI(y)重构转换回带瑕疵图像DG(DI(y))。CycleGAN模型还拥有两个辨别器DX、DY,前者用于分辨瑕疵修复器DI生成的图像与X中真实图像,后者用以分辨瑕疵生成器DG生成的图像与Y中真实图像,该阶段具体包括步骤:
a.使用训练辨别器从无瑕疵图像数据集X与带瑕疵图像数据集Y中分别随机选取一张随机无瑕疵图像x和一张随机带瑕疵图像y;
b.使用瑕疵生成器DG将随机无瑕疵图像x转化为虚假带瑕疵图像 DG(x),同样地,使用瑕疵修复器DI将随机带瑕疵图像y转化为虚假无瑕疵图像DI(y);
c.通过无瑕疵图像辨别器Dx计算随机无瑕疵图像x的无瑕疵真实率 Dx(x)以及转化为虚假无瑕疵图像DI(y)的真实率Dx(DI(y)),获得对抗损失 LossF1并优化更新无瑕疵图像辨别器Dx参数;
通过带瑕疵图像辨别器DY计算随机带瑕疵图像y的带瑕疵真实率DY(y) 以及转化为虚假带瑕疵图像DG(x)的真实率DY(DG(x)),获得对抗损失 LossB1并优化更新带瑕疵图像辨别器DY参数;
对抗损失LossF1和LossB1计算公式如下:
LF1(DG,DY)=Ey~Pdata(y)[logDY(y)]+Ex~Pdata(x)[log(1-DY(DG(x)))],
LB1(DI,DX)=Ex~Pdata(x)[logDX(x)]+Ey~Pdata(y)[log(1-DX(DI(y)))],
其中,Pdata表示数据集的分布。另外,DY与DX的优化目标分别为
d.使用训练生成器输入随机无瑕疵图像x、随机带瑕疵图像y;使用瑕疵生成器DG将随机无瑕疵图像x转化为虚假带瑕疵图像DG(x),同样地,使用瑕疵修复器DI各随机带瑕疵图像y转化为虚假无瑕疵图像DI(y);通过无瑕疵图像辨别器Dx计算随机无瑕疵图像x的无瑕疵真实率Dx(x)以及转化为虚假无瑕疵图像DI(y)的真实率Dx(DI(y));通过带瑕疵图像辨别器DY计算随机带瑕疵图像y的带瑕疵真实率DY(y)以及转化为虚假带瑕疵图像 DG(x)的真实率DY(DG(x));输入由瑕疵修复器DI修复随机带瑕疵图像y而得到的虚假无瑕疵图像DI(y),输出重构的带瑕疵图像DG(DI(y));输入由瑕疵生成器DG处理随机无瑕疵图像x而得到的虚假带瑕疵图像DG(x),输出重构的无瑕疵图像DI(DG(x));
e.计算重构的无瑕疵图像DI(DG(x))与随机无瑕疵图像x之间的差异,得到一致性损失LossF2,同样地,计算重构的带瑕疵图像DG(DI(y))与随机带瑕疵图像y之间的差异,得到一致性损失LossB2,以及再次计算对抗损失LossF1、LossB1,对抗损失LossF1、LossB1的计算公式与步骤c中一致,并优化更新瑕疵生成器DG参数和瑕疵修复器DI参数;
一致性损失LossF2、LossB2计算公式如下:
LF2(DG,DI)=Ex~Pdata(x)[||DI(DG(x))-x||1],
LB2(DG,DI)=Ey~Pdata(y)[||DG(DI(y))-y||1],
同时,优化目标为
其中,α为平衡对抗损失LossF1、LossB1与一致性损失LossF2、LossB2的超参数。
f.若达到训练停止条件则进入步骤S2;若没有达到训练停止条件则重复步骤a~步骤e;
无监督学习阶段包含一致性损失和对抗性损失两类损失。如图2所示,前向映射流中(X→Y)由瑕疵生成器DG完成再通过带瑕疵图像辨别器DY形成对抗损失LossF1,在这个过程中,瑕疵生成器DG意在降低对抗损失 LossF1使得瑕疵生成器DG生成的图像尽可能接近真实图像而带瑕疵图像辨别器DY意在提高对抗损失LossF1以提高分辨出瑕疵生成器DG生成的假图像能力。同样地,后向映射流X←Y由DI完成再通过无瑕疵图像辨别器Dx形成对抗损失LossB1。另外,前向映射流(X→Y→X)依次经瑕疵生成器DG、瑕疵修复器DI完成并形成一致性损失LossF2,旨在保证无瑕疵图像经瑕疵生成器DG转换为虚假带瑕疵图像再经瑕疵修复器DI重构还原后仍是无瑕疵图像。同样地,后向映射流(Y←X←Y)依次经瑕疵修复器DI、瑕疵生成器DG完成并形成一致性损失LossB2。
(2)S2有监督学习阶段:建立训练Pix2Pix模型,该阶段具体包括步骤:
g.使用训练辨别器从无瑕疵图像数据集x中随机选取一张随机无瑕疵图像x;
h.使用瑕疵生成器DG将随机无瑕疵图像x转化为虚假带瑕疵图像 DG(x);
i.随机选取一个高斯噪声z并通过瑕疵修复器DI将虚假带瑕疵图像DG(x)转换为无瑕疵图像DI(DG(x),z);
j.通过有监督阶段辨别器DZ,输入由随机无瑕疵图像x和虚假带瑕疵图像DG(x)组成的数据对(x,DG(x)),输出数据对(x,DG(x))为真实数据且两图像匹配的概率DZ(DG(x),x);输入由转换的无瑕疵图像DI(DG(x),z)和虚假带瑕疵图像DG(x)组成的数据对(DI(DG(x),z),DG(x)),输出数据对 (DI(DG(x),z),DG(x))为真实数据且两图像匹配的概率 DZ(DG(x),DI(DG(x),z)),获得对抗损失LossF3并优化更新有监督阶段辨别器DZ参数;
对抗损失LossF3计算公式如下:
LF3(DI,DZ)=Ex~Pdata(x)[logDZ(DG(x),x)]+ ex~Pdata(x),z~Pz(z)[log(1-DZ(DG(x),DI(DG(x),z)))]
其中,z为满足高斯分布Pz的高斯噪声;成对数据输入有监督阶段辨别器DZ前会将数据对中的两张图像按通道连接;另外,DZ的优化目标为
k.使用训练生成器输入随机无瑕疵图像x;使用瑕疵生成器DG将x转化为虚假带瑕疵图像DG(x);随机选取一个高斯噪声z并通过瑕疵修复器DI将虚假带瑕疵图像DG(x)转换为无瑕疵图像DI(DG(x),z);
1.通过有监督阶段辨别器DZ,输入由无瑕疵图像DI(DG(x),z)和虚假带瑕疵图像DG(x)组成的数据对(DI(DG(x),z),DG(x)),输出数据对 (DI(DG(x),z),DG(x))为真实数据且两图像匹配的概率 DZ(DG(x),DI(DG(x),z)),获得对抗损失LossF3,对抗损失LossF3的计算公式与步骤j一致,根据x与DI(DG(x),z)计算得到一致性损失LossF4,并优化更新瑕疵修第器DI参数;
一致性损失LossF4计算公式如下:
LF4(DI)=Ex~Pdata(x),z~Pz(z)[||DI(DG(x),z)-x||1],
同时,DI的优化目标为
其中,β为平衡对抗损失LossF3与一致性损失LossF4的超参数。
m.若达到训练停止条件则进入步骤S3;若没有达到训练停止条件则重复步骤g~步骤1;
有监督学习阶段利用无监督学习阶段得到的瑕疵生成器DG获得成对数据(x,DG(X)),然后根据Pix2Pix训练策略将带瑕疵图像DG(x)设定为瑕疵修复器DI的生成限制条件,进一步训练瑕疵修复器DI,提高其瑕疵修复能力。如图3所示,给定带瑕疵图像DG(x)并加入符合高斯分布的随机噪声z,再经由瑕疵修复器DI生成重构的无瑕疵图像DI(DG(x))得到假数据对 (DI(DG(x)),DC(x)),同时也可以得到一致性损失LossF4。另外,引入新的辨别器DZ以分辨真数据对(x,DG(x))与假数据对(DI(DG(x)),DG(x))并获得对抗损失LossF3。针对该损失,瑕疵修复器DI试图降低对抗损失LossF3以使修复的图像尽可能接近真实图像,而新的辨别器DZ试图提高对抗损失 LossF3以提高分辩真假数据对的能力。需要注意的是,成对数据输入新的辨别器DZ前会将数据对中的两张图像按通道连接,即图3中的S操作。
结构上,的瑕疵生成器DG与瑕疵修复器DI采用UNET的结构,而无瑕疵图像辨别器DX、带瑕疵图像辨别器DY、有监督训练阶段的辨别器DZ则采用patchGAN的辨别器结构。值得注意的是,上文提到成对数据输入DZ前会将数据对中的两张图像按通道连接,所以DZ的输入通道将是Dx、DY的两倍。
(3)S3:瑕疵检测阶段,包括步骤:
n.给定随机带瑕疵图像y,通过瑕疵修复器DI将y转换为虚假无瑕疵图像DI(y);
o.逐像素比对随机带瑕疵图像y与虚假无瑕疵图像DI(y)以获得标记瑕疵位置与形状的二值图像。
当模型训练完毕后,模型中的DI便可以用于瑕疵检测。如图4所示,对于带瑕疵图像y,经DI修复得到DI(y)。然后逐像素比较y与DI(y),若y与 DI(y)对应像素差的绝对值大于阈值则标记为瑕疵区域像素,最后得到二值图像D&T(y,DI(y)),其中D&T为逐像素值差与阈值比较操作。该二值图像则表示了图像中瑕疵的位置与形状。
实验例一:
本实验例采用包含了两种类型数据的RSDDs(Rail Surface Defect Datasets)。第一种是从快速轨道捕获的瑕疵图像数据集Type-I RSDDs,其中包含67张具有挑战性的图像,每个图像的宽度是160px,而高度为 1000-1282px。第二种是从普通/重载轨道上捕获的瑕疵图像数据集Type-II RSDDs,其中包含128张具有挑战性的图像,所有图像具有相同的大小 55×1250px2。两种类型数据集中每幅图像至少包含一个瑕疵,并有一个相应的真实数据(ground truth),它是一张与原图具有相同大小、显示瑕疵位置和形状的二值图像。
本实验例以语义分割中常用的IOU(Ihtersection over Union)、像素级精确度、像素级召回率和像素级F1值作为评价指标。如下式所示,TP、 FP、FN分别表示正确检测像素、错误检测像素、未检测到瑕疵像素的个数。后续实验中这些值在整个测试集上取平均值。
IOU=TP/(TP+FP+FN)
Pre=TP/(TP+FP)
Rec=TP/(TP+FN)
F1=2×Pre×Rec/(Pre+Rec)
为了节省GPU显存,实验中通过滑动窗口裁剪图像进行训练。对于 Type-I和Type-II RSDDs,窗口大小分别设置160×160px2和55×55px2,滑动步幅分别设置为80和27px。在输入模型之前,所有裁剪的图像将被调整为256×256px2
在无监督训练阶段,输入裁剪过的图像并用Adam优化器从零开始训练模型。设置一致性损失权重参数a=10,batchsize=1。学习率在开始的100 epoch保持在0.0002,而在接下来的100epoch线性衰减至0。
在有监督训练阶段,从无瑕疵数据集中选取一张随机无瑕疵图像x,输入到瑕疵生成器DG中,生成虚假带瑕疵图像DG(x),其中随机无瑕疵图像x 和虚假带瑕疵图像DG(x)所组成的成对图像用于瑕疵修复器DI的有监督训练。对于瑕疵修复器DI的训练,设置一致性损失权重参数β=100,其他训练选项与无监督训练阶段相同。
在测试阶段,每张图像将被裁剪成一个图像集,然后将裁剪后的图像输入瑕疵修复器DI。对于每一张裁剪图像及其输出,计算它们之间的每个像素值差以得到像素级分割图。在对每个图像集进行处理后,用得到的所有像素级分割图重建完整的二值图像D&T(y,DI(y)),并将其与真实数据 (ground truth)进行比较。
本发明方法、CycleGAN、UNET与CFE的各评估指标结果如表1和表2所示。
表1 Type-I RSDDs上的评价指标结果表
表2 Type-II RSDDs上的评价指标结果表
实验中还实现了naive CycleGAN,以及UNET用于消融研究。其中,后者需要真实数据(ground truth)进行有监督地训练,而本发明提出的方法不需要。此外,本发明还参考了RSDDs提供者提出的CFE在该数据集的结果。到目前为止,CFE仍然取得了最好的效果。然而,CFE是专门为RSDDs设计的专属系统,其中包含了大量的特征提取设计。也就是说,如果改变数据集,本发明需要重新设计方法,这是复杂且不通用的。
对于UNET,结果显示它的性能在两个数据集之间相差很大。分析其原因,在Type-IRSDDs上,瑕疵的形状大多是椭圆形的,而在Type-II RSDDs 上,瑕疵的形状是多种多样的。UNET擅长学习不变模式,因此它在Type-I RSDDs上比本发明得到更好的结果,但在Type-IIRSDDs上它比本发明得到了更差的IOU、召回率和F1值。相对而言,本发明方法在Type-I和IIRSDDs 上都得到了更稳定的性能。本发明方法通过对比修复前后的图像来检测瑕疵,因此对于那些没见过的瑕疵是有更好适应性,并且可以处理Type-II RSDDs中各种形状的瑕疵。此外,UNET是有监督学习,需要真实数据(ground truth)进行训练,而本发明方法不需要。本发明选取的一些有代表性的结果如图5和图6所示,本发明方法在Type-I RSDDs上得到了与UNET相当的结果,并在Type-II RSDDs得到了更稳定、更准确的输出。
与无监督学习的CycleGAN方法相比,本发明方法是半监督学习。换句话说,本发明方法以无监督的方式实现监督训练,因为不需要自己创建成对的数据。如表1和表2所示,本发明方法在Type-I RSDDs和Type-II RSDDs 上都优于CycleGAN,这说明本发明提出的监督训练阶段可以有效改进瑕疵修复效果,进而改善CycleGAN的瑕疵检测。如图5和图6所示,本发明方法的输出比CycleGAN的输出更加稳定和准确。
从实验可以得到,本发明提出的结合CycleGAN和Pix2Pix训练策略的半监督方法,降低了瑕疵图像合成复杂性,同时也比naive CycleGAN方法取得更好的结果,能够提高瑕疵检测效果。总而言之,本发明方法在很多工业场景中都是实用的,因为本发明方法不需要标记真实数据(ground truth)进行训练并且对未见过的瑕疵也有很好的适应性。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。

Claims (6)

1.一种基于半监督学习的瑕疵检测方法,其特征在于,包括以下步骤:
S1:建立训练CycleGAN模型,包括步骤:
a.使用训练辨别器从无瑕疵图像数据集X与带瑕疵图像数据集Y中分别随机选取一张随机无瑕疵图像x和一张随机带瑕疵图像y;
b.使用瑕疵生成器DG将随机无瑕疵图像x转化为虚假带瑕疵图像DG(x),同样地,使用瑕疵修复器DI将随机带瑕疵图像y转化为虚假无瑕疵图像DI(y);
c.通过无瑕疵图像辨别器DX计算随机无瑕疵图像x的无瑕疵真实率DX(x)以及转化为虚假无瑕疵图像DI(y)的真实率DX(DI(y)),获得对抗损失LossF1并优化更新无瑕疵图像辨别器DX参数;
通过带瑕疵图像辨别器DY计算随机带瑕疵图像y的带瑕疵真实率DY(y)以及转化为虚假带瑕疵图像DG(x)的真实率DY(DG(x)),获得对抗损失LossB1并优化更新带瑕疵图像辨别器DY参数;
d.使用训练生成器输入随机无瑕疵图像x、随机带瑕疵图像y;使用瑕疵生成器DG将随机无瑕疵图像x转化为虚假带瑕疵图像DG(x),同样地,使用瑕疵修复器DI将随机带瑕疵图像y转化为虚假无瑕疵图像DI(y);通过无瑕疵图像辨别器DX计算随机无瑕疵图像x的无瑕疵真实率DX(x)以及转化为虚假无瑕疵图像DI(y)的真实率DX(DI(y));通过带瑕疵图像辨别器DY计算随机带瑕疵图像y的带瑕疵真实率DY(y)以及转化为虚假带瑕疵图像DG(x)的真实率DY(DG(x));输入由瑕疵修复器DI修复随机带瑕疵图像y而得到的虚假无瑕疵图像DI(y),输出重构的带瑕疵图像DG(DI(y));输入由瑕疵生成器DG处理随机无瑕疵图像x而得到的虚假带瑕疵图像DG(x),输出重构的无瑕疵图像DI(DG(x));
e.计算重构的无瑕疵图像DI(DG(x))与随机无瑕疵图像x之间的差异,得到一致性损失LossF2,同样地,计算重构的带瑕疵图像DG(DI(y))与随机带瑕疵图像y之间的差异,得到一致性损失LossB2,以及再次计算对抗损失LossF1、LossB1并优化更新瑕疵生成器DG参数和瑕疵修复器DI参数;
f.若达到训练停止条件则进入步骤S2;若没有达到训练停止条件则重复步骤a~步骤e;
S2:建立训练Pix2Pix模型,包括步骤:
g.使用训练辨别器从无瑕疵图像数据集X中随机选取一张随机无瑕疵图像x;
h.使用瑕疵生成器DG将随机无瑕疵图像x转化为虚假带瑕疵图像DG(x);
i.随机选取一个高斯噪声z并通过瑕疵修复器DI将虚假带瑕疵图像DG(x)转换为无瑕疵图像DI(DG(x),z);
j.通过有监督阶段辨别器Dz,输入由随机无瑕疵图像x和虚假带瑕疵图像DG(x)组成的数据对(x,DG(x)),输出数据对(x,DG(x))为真实数据且两图像匹配的概率Dz(DG(x),x);输入由转换的无瑕疵图像DI(DG(x),z)和虚假带瑕疵图像DG(x)组成的数据对(DI(DG(x),z),DG(x)),输出数据对(DI(DG(x),z),DG(x))为真实数据且两图像匹配的概率Dz(DG(x),DI(DG(x),z)),获得对抗损失LossF3并优化更新有监督阶段辨别器Dz参数;
k.使用训练生成器输入随机无瑕疵图像x;使用瑕疵生成器DG将x转化为虚假带瑕疵图像DG(x);随机选取一个高斯噪声z并通过瑕疵修复器DI将虚假带瑕疵图像DG(x)转换为无瑕疵图像DI(DG(x),z);
l.通过有监督阶段辨别器Dz,输入由无瑕疵图像DI(DG(x),z)和虚假带瑕疵图像DG(x)组成的数据对(DI(DG(x),z),DG(x)),输出数据对(DI(DG(x),z),DG(x))为真实数据且两图像匹配的概率Dz(DG(x),DI(DG(x),z)),获得对抗损失LossF3,根据x与DI(DG(x),z)计算得到一致性损失LossF4,并优化更新瑕疵修复器DI参数;
m.若达到训练停止条件则进入步骤S3;若没有达到训练停止条件则重复步骤g~步骤1;
S3:瑕疵检测,包括步骤:
n.给定随机带瑕疵图像y,通过瑕疵修复器DI将随机带瑕疵图像y转换为虚假无瑕疵图像DI(y);
o.逐像素比对随机带瑕疵图像y与虚假无瑕疵图像DI(y)以获得标记瑕疵位置与形状的二值图像。
2.如权利要求1所述的一种基于半监督学习的瑕疵检测方法,其特征在于:步骤c中,对抗损失LossF1和LossB1计算公式如下:
LF1(DG,DY)=Ey~Pdata(y)[logDY(y)]+Ex~Pdata(x)[log(1-DY(DG(x)))],
LB1(DI,Dx)=Ex~Pdata(x)[logDX(x)]+Ey~Pdata(y)[log(1-DX(DI(y)))],
其中,Pdata表示数据集的分布,DY与DX的优化目标分别为
3.如权利要求1所述的一种基于半监督学习的瑕疵检测方法,其特征在于:步骤e中,一致性损失LossF2、LossB2计算公式如下:
LF2(DG,DI)=Ex~Pdata(x)[||DI(DG(x))-x||1],
LB2(DG,DI)=Ey~Pdata(y)[||DG(DI(y))-y||1],
同时,优化目标为
其中,α为平衡对抗损失LossF1、LossB1与一致性损失LossF2、LossB2的超参数。
4.如权利要求1所述的一种基于半监督学习的瑕疵检测方法,其特征在于:步骤j中,对抗损失LossF3计算公式如下:
其中,z为满足高斯分布Pz的高斯噪声;成对数据输入有监督阶段辨别器Dz前会将数据对中的两张图像按通道连接;另外,Dz的优化目标为
5.如权利要求1所述的一种基于半监督学习的瑕疵检测方法,其特征在于:步骤1中,一致性损失LossF4计算公式如下:
LF4(DI)=Ex~Pdata(x),z~Pz(z)[||DI(DG(x),z)-x||1],
同时,DI的优化目标为
其中,β为平衡对抗损失LossF3与一致性损失LossF4的超参数。
6.如权利要求1所述的一种基于半监督学习的瑕疵检测方法,其特征在于:步骤o中通过比对y、DI(y)获得标记瑕疵位置与形状的二值图像,具体的,若y与DI(y)对应像素差的绝对值大于阈值则标记为瑕疵区域像素。
CN202110984972.9A 2021-08-25 2021-08-25 一种基于半监督学习的瑕疵检测方法 Active CN113808035B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110984972.9A CN113808035B (zh) 2021-08-25 2021-08-25 一种基于半监督学习的瑕疵检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110984972.9A CN113808035B (zh) 2021-08-25 2021-08-25 一种基于半监督学习的瑕疵检测方法

Publications (2)

Publication Number Publication Date
CN113808035A CN113808035A (zh) 2021-12-17
CN113808035B true CN113808035B (zh) 2024-04-26

Family

ID=78894175

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110984972.9A Active CN113808035B (zh) 2021-08-25 2021-08-25 一种基于半监督学习的瑕疵检测方法

Country Status (1)

Country Link
CN (1) CN113808035B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118096710A (zh) * 2024-03-15 2024-05-28 公牛集团股份有限公司 一种基于生成对抗模型的插座面板瑕疵在线检测方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192032A (ja) * 2010-03-15 2011-09-29 Nippon Steel Corp 疵学習装置、疵学習方法、及びコンピュータプログラム
CN109064459A (zh) * 2018-07-27 2018-12-21 江苏理工学院 一种基于深度学习的布匹瑕疵检测方法
CN109509187A (zh) * 2018-11-05 2019-03-22 中山大学 一种针对大分辨率布匹图像中的小瑕疵的高效检验算法
CN109598287A (zh) * 2018-10-30 2019-04-09 中国科学院自动化研究所 基于深度卷积生成对抗网络样本生成的外观瑕疵检测方法
CN111383209A (zh) * 2019-12-20 2020-07-07 华南理工大学 一种基于全卷积自编码器网络的无监督瑕疵检测方法
WO2020156409A1 (zh) * 2019-02-02 2020-08-06 阿里巴巴集团控股有限公司 数据处理方法、瑕疵的检测方法、计算设备及存储介质
CN112801962A (zh) * 2021-01-19 2021-05-14 上海大学 基于正样本学习的半监督工业制品瑕疵检测方法及系统
KR102254773B1 (ko) * 2020-09-14 2021-05-24 한국건설기술연구원 영상정보를 이용한 건물 부위별 하자의 자동 판정과 분류 시스템 및 그 방법
CN113240626A (zh) * 2021-04-08 2021-08-10 西安电子科技大学 一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011192032A (ja) * 2010-03-15 2011-09-29 Nippon Steel Corp 疵学習装置、疵学習方法、及びコンピュータプログラム
CN109064459A (zh) * 2018-07-27 2018-12-21 江苏理工学院 一种基于深度学习的布匹瑕疵检测方法
CN109598287A (zh) * 2018-10-30 2019-04-09 中国科学院自动化研究所 基于深度卷积生成对抗网络样本生成的外观瑕疵检测方法
CN109509187A (zh) * 2018-11-05 2019-03-22 中山大学 一种针对大分辨率布匹图像中的小瑕疵的高效检验算法
WO2020156409A1 (zh) * 2019-02-02 2020-08-06 阿里巴巴集团控股有限公司 数据处理方法、瑕疵的检测方法、计算设备及存储介质
CN111383209A (zh) * 2019-12-20 2020-07-07 华南理工大学 一种基于全卷积自编码器网络的无监督瑕疵检测方法
KR102254773B1 (ko) * 2020-09-14 2021-05-24 한국건설기술연구원 영상정보를 이용한 건물 부위별 하자의 자동 판정과 분류 시스템 및 그 방법
CN112801962A (zh) * 2021-01-19 2021-05-14 上海大学 基于正样本学习的半监督工业制品瑕疵检测方法及系统
CN113240626A (zh) * 2021-04-08 2021-08-10 西安电子科技大学 一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于体积特征的织物瑕疵检测方法;李锋等;网络安全技术与应用;20200715(第07期);52-55 *
改进Faster R-CNN模型的汽车喷油器阀座瑕疵检测算法;朱宗洪等;广西科技大学学报;20200108;第31卷(第01期);1-10 *

Also Published As

Publication number Publication date
CN113808035A (zh) 2021-12-17

Similar Documents

Publication Publication Date Title
CN108961217B (zh) 一种基于正例训练的表面缺陷检测方法
CN111565318A (zh) 一种基于稀疏样本的视频压缩方法
CN109711474B (zh) 一种基于深度学习的铝材表面缺陷检测算法
CN112085734B (zh) 一种基于gan的图像修复的缺陷检测方法
CN111047522B (zh) 一种基于边缘生成的图像修复方法
CN109272500B (zh) 基于自适应卷积神经网络的织物分类方法
CN114120093B (zh) 一种基于改进YOLOv5算法的煤矸目标检测方法
CN108346135B (zh) 一种改进的Criminisi图像修复方法
CN113808035B (zh) 一种基于半监督学习的瑕疵检测方法
CN106157323A (zh) 一种动态分块阈值和块搜索结合的绝缘子分割提取方法
CN116645369B (zh) 基于孪生自编码器和双向信息深度监督的异常检测方法
CN114972312A (zh) 基于YOLOv4-Tiny改进的绝缘子缺陷检测方法
CN117152746B (zh) 一种基于yolov5网络的宫颈细胞分类参数获取方法
CN116188419A (zh) 一种可部署于嵌入式设备的轻量化布匹瑕疵检测方法
CN116205907A (zh) 一种基于机器视觉的饰板缺陷检测方法
CN105608457A (zh) 直方图灰度矩阈值分割法
CN112669269A (zh) 一种基于图像识别的管道缺陷分类分级方法及系统
CN110853019B (zh) 一种用于安检检测识别管制刀具的方法
CN117671354A (zh) 一种基于多尺度编织融合网络的工业产品表面缺陷检测方法
CN111882545A (zh) 基于双向信息传递及特征融合的织物疵点检测方法
Xin et al. A Machine Vision-based Fabric Defect Detection Solution for Textile Production Industry Using Object Detection
CN116934685A (zh) 基于Focal模块和可变形卷积的钢材表面缺陷检测算法
Du et al. Multi-angle face detection based on improved RFCN algorithm using multi-scale training
CN114638833A (zh) 基于机器视觉的有色金属压延质量检测方法及系统
CN110687123B (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