CN111982910B - 一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统 - Google Patents

一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统 Download PDF

Info

Publication number
CN111982910B
CN111982910B CN202010638414.2A CN202010638414A CN111982910B CN 111982910 B CN111982910 B CN 111982910B CN 202010638414 A CN202010638414 A CN 202010638414A CN 111982910 B CN111982910 B CN 111982910B
Authority
CN
China
Prior art keywords
defect
simulation
region
defects
linear
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
CN202010638414.2A
Other languages
English (en)
Other versions
CN111982910A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202010638414.2A priority Critical patent/CN111982910B/zh
Publication of CN111982910A publication Critical patent/CN111982910A/zh
Application granted granted Critical
Publication of CN111982910B publication Critical patent/CN111982910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/94Investigating contamination, e.g. dust
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8883Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges involving the calculation of gauges, generating models
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8887Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges based on image processing techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Analytical Chemistry (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)

Abstract

本发明公开了一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统,该方法步骤包括:针对划痕、毛丝、浅色脏污和深色脏污类型的缺陷,设定控制缺陷结构参数,创建仿真缺陷数据库;划痕和毛丝类型的缺陷由线状类缺陷仿真方法生成;浅色脏污和深色脏污类型的缺陷由块状类缺陷仿真方法生成;采用深度学习的分类和目标检测算法对仿真缺陷数据进行训练,优化模型参数;对待检测对象的收集到的实际缺陷样本进行数据扩增;通过仿真缺陷数据训练得到的深度学习模型进行实际缺陷检测过程的迁移应用,完成实际缺陷检测过程的分类和识别。本发明解决样本数量少、缺陷图片收集困难的难题,在不同产品的缺陷检测上具有通用性。

Description

一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统
技术领域
本发明涉及视觉检测技术领域,具体涉及一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统。
背景技术
近年来,随着视觉检测技术的发展,视觉检测系统呈现非接触、高效率、高分辨精度、高柔性、高可靠性的特点。在大批量的工业生产过程中,依赖人工进行产品质量的检测,往往效率低,并且检测结果的可靠性受工人身体状态、熟练程度等各种因素的影响,而无法得到保证。采用视觉检测可以大幅度地提升检测效率和自动化生产的程度,降低生产成本。视觉检测相比人工检测有诸多优势,在一些不适合人作业的工作环境或人眼难以满足要求的场合中,采用机器视觉来代替人眼,例如晶圆缺陷检测、铸钢厂钢锭检测等;并且通过视觉检测的信息易于进行自动处理与集成。现在的自动化生产过程中,视觉检测广泛应用于电子元器件、半导体器件、包装印刷、食品饮料、医疗检测等各个领域。
目前,机器学习在缺陷检测方面体现的效果日益突出,越来越多的学者和工程人员开始将机器学习算法引入到缺陷检测领域。常见的机器学习技术有:聚类分析(k-means)、支持向量机(SVM)、决策树、朴素贝叶斯、神经网络、深度学习等。将机器学习技术应用于产品缺陷检测,主要有以下三个步骤:首先,需要积累大量的缺陷图片数据集,对缺陷数据进行标注;接着,利用数据集对机器学习模型进行训练,充分学习缺陷图片的特征,对模型参数进行优化;最后,利用学习好的模型进行缺陷的分类和识别。
缺陷数据库创建是缺陷检测一个重要的环节,也是将机器学习技术应用于缺陷分类和识别的基础。然而,在很多的缺陷检测任务中,缺陷数据库的创建往往需要花费许多人数月甚至数年的成本进行数据的收集和整理。人工进行大量的缺陷数据的标注也是十分耗时耗力而且过程十分枯燥。在一些实际检测应用中,缺陷类别标注需要足够的先验知识,人力成本较高。因此,通过人工仿真缺陷创建数据库,与机器学习算法相结合,对实际产品视觉缺陷检测具有十分重要的意义。
发明内容
针对机器视觉缺陷检测过程中缺陷数据库的创建和缺陷数据标注需要耗费大量的时间、人力成本的问题,本发明提供一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统,提供了典型缺陷,如划痕、毛丝、浅色脏污和深色脏污的缺陷仿真方法,进行弱监督条件下的产品缺陷检测,适用于解决样本数量少、缺陷图片收集困难的难题,在产品视觉缺陷检测领域具有极其重要的作用。
为了达到上述目的,本发明采用以下技术方案:
本发明提供一种基于人工缺陷仿真的弱监督机器视觉检测方法,包括下述步骤:
针对划痕、毛丝、浅色脏污和深色脏污类型的缺陷,设定控制缺陷结构参数,创建仿真缺陷数据库;
所述划痕和毛丝类型的缺陷由线状类缺陷仿真方法生成;
所述浅色脏污和深色脏污类型的缺陷由块状类缺陷仿真方法生成;
采用深度学习的分类和目标检测算法对仿真缺陷数据进行训练,优化模型参数;
对待检测对象的收集到的实际缺陷样本进行数据扩增;
通过仿真缺陷数据训练得到的深度学习模型进行实际缺陷检测过程的迁移应用,完成实际缺陷检测过程的分类和识别。
作为优选的技术方案,所述线状类缺陷仿真方法包括下述步骤:
采用随机游走算法,生成线状缺陷的整体骨架;
将骨架转化成连通区域,对线状区域进行膨胀处理;
将所生成的线状区域按照高斯分布进行灰度值填充;
将填充后的区域与无缺陷背景的图片进行图像融合,最终得到人工仿真的线状类缺陷图片。
作为优选的技术方案,所述生成线状缺陷的整体骨架,具体计算公式为:
θi=θi-1+sgn·Δθ+sgn·Δφ;
xi=xi-1+s·cosθi
yi=yi-1+s·sinθi
其中,(xi,yi)为骨架在第i个点上的位置,θi表示骨架在第i个点时的方向角,Δθ为限定角度变化区间内的随机分布,Δφ决定是否存在角度突变,sgn为符号函数,其值为1或-1,决定角度变化的增减方向,s为骨架长度变化的步长;
所述对线状区域进行膨胀处理,具体步骤包括:
将骨架分切分成小段,对每个小段进行不同的膨胀尺度,得到不同宽度的线状区域,对膨胀后的区域进行区域开运算处理;
所述将所生成的线状区域按照高斯分布进行灰度值填充,具体步骤包括:
利用区域腐蚀和布尔差运算将膨胀后的线状区域分为两部分:靠近中心骨架区域和边缘区域,将这两部分区域按照不同的高斯分布进行灰度值填充;
所述将填充后的区域与无缺陷背景的图片进行图像融合,具体计算公式为:
Val_fusion(i,j)=(1-α)·Val_background(i,j)+α·Val_defect(i,j)
其中,Val_background(i,j)、Val_defect(i,j)和Val_fusion(i,j)分别为无缺陷背景图像、已填充灰度线状缺陷区域以及融合后缺陷图像在行列坐标为(i,j)处的灰度值,α为融合系数,其取值区间在0到1之间。
作为优选的技术方案,所述块状类缺陷仿真方法包括整体呈团状缺陷的仿真,以及簇状类缺陷的仿真;
所述整体呈团状的缺陷的仿真包括下述步骤:
生成一条随机的不规则的闭合曲线,将所述闭合曲线围成的闭合区域作为块状缺陷的生成区域,对闭合区域进行高斯分布灰度填充或者纹理填充,与无缺陷背景进行图像融合;
所述簇状类的缺陷仿真包括下述步骤:
利用分形叠加后的二维柏林噪声产生随机簇状纹理图片,对图片进行阈值处理得到随机簇状纹理区域,与不规则闭合曲线形成的区域进行区域布尔交运算,得到仿真缺陷簇状区域,对簇状区域进行纹理填充后,与无缺陷背景进行图像融合。
作为优选的技术方案,所述生成一条随机的不规则的闭合曲线,具体步骤包括:
首先在[0,2π]区间内生成k-1个随机数,按照从小到大顺序进行排序,得到k-1个角度值;
确定k个角度值后,在[0,2π]区间内随机指定一个初始值作为初始点A1的角度,然后依次每次变化角度为Δθi,直到确定结构点Ak的位置,具体表示为:
Figure GDA0003591472780000051
其中,θ0表示初始角度,ρ表示结构点到中心点O之间的距离,ρμ为基础半径的数值,决定块状缺陷的整体大小,ρδ为0到δ之间的随机数,决定半径大小的波动情况,sgn为符号函数,其值为1或-1,决定半径变化的增减方向;
k个结构点确定,即分别获得了结构点的行和列坐标向量,进行B样条曲线插值,形成一条闭合曲线,该曲线围成的闭合区域为块状缺陷的生成区域。
作为优选的技术方案,所述利用分形叠加后的二维柏林噪声产生随机簇状纹理图片,具体包括:
通过改变分形叠加权重、频率或变换方式获得不同结构的二维纹理图;
获取二维纹理图后,将其转化到灰度区间[Valmin,Valmax]内的灰度值以获得灰度图像,具体转化公式为:
Figure GDA0003591472780000052
其中,min为求最小值函数,max为求最大值函数。
作为优选的技术方案,所述灰度填充采用高斯分布噪声生成的纹理进行填充、或采用柏林噪声生成的纹理进行填充,或采用实际缺陷形成的纹理进行填充。
作为优选的技术方案,所述采用实际缺陷形成的纹理进行填充,具体步骤包括:
首先,从原始的缺陷样图中随机抽取一个小块,并放置于目标大尺寸缺陷图的左上角,按照从左到右,从上到下,计算小块重叠区域中数据与原始图像数据中每块的相似度,在两个小块的重叠区域中寻找出最优的拼接路径,利用已有的小尺寸缺陷样本图片合成大尺寸缺陷样本图片,进而将合成的缺陷纹理对生成的不规则区域进行灰度值填充。
作为优选的技术方案,所述相似度计算公式为:
Figure GDA0003591472780000061
其中,m和n分别表示重叠区域的高和宽,fblock(i,j)为重叠区域对应的目标图像在(i,j)处的灰度值,fp(i,j)为重叠区域对应的原缺陷样图小块在(i,j)处的灰度值,k为样图中选取的小块的总个数,min为求最小值函数;
所述在两个小块的重叠区域中寻找出最优的拼接路径,具体计算两个小块重叠区域每个像素值差距的大小,
采用差值的平方表示:
Dis(i,j)=[fA(i,j)-fB(i,j)]2,i=1,2,...m,j=1,2,...n,
其中,m和n分别表示重叠区域的高和宽,fA(i,j)和fB(i,j)为重叠区域两小块在(i,j)处的灰度值,最优的拼接路径上所有点对应的Dis(i,j)的和最小。
本发明还提供一种基于人工缺陷仿真的弱监督机器视觉检测系统,包括:创建仿真缺陷数据库模块、划痕和毛丝类型的缺陷生成模块、浅色脏污和深色脏污类型的缺陷生成模块、训练模块、数据扩增模块和分类识别模块;
所述创建仿真缺陷数据库模块用于针对划痕、毛丝、浅色脏污和深色脏污类型的缺陷,设定控制缺陷结构参数,创建仿真缺陷数据库;
所述划痕和毛丝类型的缺陷生成模块采用线状类缺陷仿真方法生成划痕和毛丝类型的缺陷;
所述浅色脏污和深色脏污类型的缺陷生成模块采用块状类缺陷仿真方法生成浅色脏污和深色脏污类型的缺陷;
所述训练模块采用深度学习的分类和目标检测算法对仿真缺陷数据进行训练,优化模型参数;
所述数据扩增模块用于对收集到的实际缺陷样本进行数据扩增;
所述分类识别模块通过仿真缺陷数据训练得到的深度学习模型进行实际缺陷检测过程的迁移应用,完成实际缺陷检测过程的分类和识别。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明提出了划痕、毛丝、浅色脏污、深色脏污四种类型的缺陷的仿真方法,可通过形状、大小、粗细、亮暗、内部纹理等结构参数仿真出丰富的缺陷数据,在不同产品的缺陷检测上具有通用性。
(2)本发明仿真缺陷数据库的创建过程简单高效,缺陷类型可自动标注,省去了耗时耗力且过程十分枯燥的人工标注过程。
(3)本发明采用与深度学习技术相结合的弱监督产品缺陷检测技术方案,解决样本数量少、缺陷图片收集困难的难题。
附图说明
图1是本实施例线状缺陷仿真过程示意图;
图2是本实施例块状缺陷仿真过程示意图;
图3是本实施例不规则曲线生成原理示意图;
图4是本实施例二维平面网格角点的梯度向量;
图5是本实施例簇状区域生成过程示意图;
图6是本实施例灰度值填充示意图;
图7是本实施例基于缺陷样图的纹理合成示意图;
图8是本实施例纹理合成拼接路径示意图;
图9是本实施例实际缺陷与仿真缺陷对比图;
图10是本实施例弱监督检测方案示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例
本实施例提供一种基于人工缺陷仿真的弱监督机器视觉检测方法,包括下述步骤:
S1:针对划痕、毛丝、浅色脏污、深色脏污四种类型的缺陷,设定控制缺陷形状、大小、粗细、亮暗、内部纹理等结构参数,仿真生成大量的缺陷素材,创建仿真缺陷数据库;
划痕、毛丝、浅色脏污、深色脏污缺陷的仿真方法详细过程如下:
线状类缺陷主要表现为划痕、毛丝缺陷,划痕外观形状主要为直线状,而毛丝形状体现为弯曲状。根据实际检测经验可知,利用图像传感器采集得到的线状图片素材呈现多种不同的表现形式,如在长度、方向、弯曲度、粗细、截断性、深浅等方面存在各种各样的差异,因此,在进行线状类缺陷仿真时需要将这些因素充分进行考虑。
如图1所示,线状类缺陷仿真过程主要分为以下几个步骤:首先采用随机游走算法,生成线状缺陷的整体骨架;将骨架转化成连通区域,并对区域进行膨胀处理;将所生成的线状区域按照高斯分布进行灰度值填充;将填充后的区域与无缺陷背景的图片进行图像融合,最终得到人工仿真的线状类缺陷图片。
(1)骨架生成:
线状缺陷骨架生成原理由下面公式描述:
θi=θi-1+sgn·Δθ+sgn·Δφ;
xi=xi-1+s·cosθi
yi=yi-1+s·sinθi
其中,(xi,yi)为骨架在第i个点上的位置,θi表示骨架在第i个点时的方向角,Δθ为限定角度变化区间内的随机分布,Δφ决定是否存在角度突变,sgn为符号函数,其值为1或-1,决定角度变化的增减方向,s为骨架长度变化的步长,因此,通过这种方式可以控制线状类缺陷的长度、方向、弯曲度等。
例如,选取无缺陷背景图像的图像分辨率512×512,由于划痕成直线状,角度变化参数可以设置较小,如Δθ=0.001弧度。不存在角度突变,因此Δφ=0。根据产品实际缺陷的长度,可设置步长s=6,每次生成缺陷时的迭代次数可设置为5到20次之间的随机整数。由于缺陷的位置在图像中也是随机的,可通过初设位置(x0,y0),可以将初始位置设置为0到512之间的随机值。由于缺陷不能超出图像边界,同时需要将每次迭代时的坐标(xi,yi)限定在0到512之间,超出边界则停止。毛丝呈现弯曲状,因此在角度变化参数上相较于划痕可以设置大一些,而且每次迭代改变角度可以随机变化,如可以将Δθ设置为0.1到0.5之间的随机数。
(2)骨架膨胀
由于划痕、毛丝缺陷具有一定的宽度,而且往往一些情况下缺陷并不是等宽度的。将骨架分切分成小段,对每个小段进行不同的膨胀尺度,得到不同宽度的线状区域。为了使获得的线状区域边缘更加圆滑,最后对膨胀后的区域进行区域开运算处理。另外,可以通过剔除一些膨胀后的小段区域,以实现间断性线状缺陷的效果。因此,通过这种方式可以控制线状类缺陷的粗细、截断效果。
(3)灰度值填充
线状类缺陷呈现中间区域较暗,即灰度值较小,边缘区域较亮,即灰度值略大。利用区域腐蚀和布尔差运算将膨胀后的线状区域分为两部分:靠近中心骨架区域和边缘区域,将这两部分区域按照不同的高斯分布进行灰度值填充。灰度值填充原理由下面公式描述:
Val_defect=Val_μ+sgn·Val_δ;
其中,Val_μ为基础灰度,决定填充区域整体的亮暗,Val_δ为0到δ之间的随机数,决定填充灰度值的波动情况,sgn为符号函数,Val_defect为最终填充的灰度值。因此,通过这种方式可以控制线状类缺陷的亮暗效果。
根据分析实际缺陷的灰度直方图等确定基础灰度Val_μ与波动灰度Val_δ的数值。例如,无缺陷背景的灰度平均值大约为140,根据对实际缺陷的统计,较浅的线状缺陷灰度值大约为100,可设置基础灰度值为100,而波动灰度为0到30之间的随机值。对于较深的线状缺陷,可设置基础灰度值为40,波动灰度为0到30之间的随机值。
(4)图像融合
最后,将已经填充灰度值的线状区域与无缺陷背景图片进行图像融合。融合方式通过以下公式描述:
Val_fusion(i,j)=(1-α)·Val_background(i,j)+α·Val_defect(i,j)
其中,Val_background(i,j)、Val_defect(i,j)和Val_fusion(i,j)分别为无缺陷背景图像、已填充灰度线状缺陷区域以及融合后缺陷图像在行列坐标为(i,j)处的灰度值,α为融合系数,其取值区间在0到1之间。α越靠近0,缺陷与背景越接近,缺陷呈现效果越浅。因此,可以通过控制融合系数控制缺陷的深浅效果。为了使缺陷背景与边缘过渡更加平滑,可以选取局部边缘区域进行均值滤波处理。
例如,对于较浅的类型线状缺陷,融合系数α可以在0到0.5之间进行取值。对于较深类型的线状缺陷,融合系数α可以在0.5到1之间进行取值。
2.块状类缺陷仿真
块状类缺陷主要体现为浅色块状和深色块状缺陷。其中,浅色块状缺陷包含水印和浅色污迹、轻微擦伤等。许多浅色状缺陷由于对产品损伤程度低,可以被再次返回加工,恢复成为良品。深色缺陷包含有深色污迹、烧伤、内部杂质等。许多深色缺陷由于对产品损伤程度很高,一般难以再次回收加工成为良品。根据实际检测经验可知,利用图像传感器采集得到的块状图片素材呈现多种不同的表现形式,如在大小、形状、深浅、纹理等方面存在各种各样的差异。因此,在进行块状类缺陷仿真时需要将这些因素充分进行考虑。
如图2所示,常见的块状缺陷根据内部结构特征主要有两类:一类是内部整体呈团状,另一类是内部呈簇状。
整体呈团状的缺陷的仿真主要通过以下几个步骤的实现:首先,生成一条随机的不规则的闭合曲线,将该曲线围成的闭合区域作为块状缺陷的生成区域;对该闭合区域进行高斯分布灰度填充或者纹理填充;与无缺陷背景进行图像融合。
簇状类的缺陷仿真主要通过以下几个步骤的实现:首先利用分形叠加后的二维柏林噪声产生随机簇状纹理图片,对图片进行阈值处理得到随机簇状纹理区域;选择随机闭合曲线区域内部的区域为簇状区域;对该区域进行纹理填充后,与无缺陷背景进行图像融合。
在本实施例中,(1)不规则闭合曲线生成:
如图3所示,不规则的闭合曲线可由k个结构点(A1,A2,…Ak)确定,这k个结构点与中心点O形成k个角度(Δθ1,Δθ2,…Δθk),Δθi为[0,2π]内随机的一个角度,但这些角度数值的和为固定值2π。为满足上述的角度关系,可采取如下步骤:首先在[0,2π]区间内生成k-1个随机数,并对他们从小到大排序,得到k-1个角度值
Figure GDA0003591472780000121
可用以下公式描述:
Figure GDA0003591472780000122
其中,random为生成随机数的函数,sort为排序函数;
这k-1个角度值将[0,2π]区间分成k个小段,每小段的长度可作为Δθi的值,可用以下公式表示:
Figure GDA0003591472780000123
则可以保证:
Δθ1+Δθ2+…+Δθk-1+Δθk=2π,i=1,2…k,并且满足Δθi具有一定的随机性。
确定k个角度(Δθ1,Δθ2,…Δθk)值后,首先可在[0,2π]区间内随机指定一个初始值作为初始点A1的角度,然后依次每次变化角度为Δθi,直到确定结构点Ak的位置。上述过程可由下面公式描述:
Figure GDA0003591472780000124
其中,初始角度θ0的取值可以指定一个特定的数值,或者采用随机生成的方式获取。ρ为结构点到中心点O之间的距离。ρμ为基础半径的数值,决定块状缺陷的整体大小。ρδ为0到δ之间的随机数,决定半径大小的波动情况。sgn为符号函数,其值为1或-1,决定半径变化的增减方向。因此,通过这种方式可以控制块状类缺陷的大小、形状等。
k个结构点(A1,A2,…Ak)确定,即分别获得了结构点的行和列坐标向量。对其进行B样条曲线插值,则可以形成一条闭合曲线,该曲线围成的闭合区域为块状缺陷的生成区域。
如图4所示,B样条曲线的定义为:给定n+1个控制点(P0,P1,…Pn),以及一个节点向量U={u0,u1,…um},p次B样条曲线由这些控制点和节点向量U决定,公式为:
Figure GDA0003591472780000131
Figure GDA0003591472780000132
Figure GDA0003591472780000133
其中,Ni,p(u)为p次B样条的基函数,C(u)为B样条曲线点组成的向量。
B样条曲线的阶数设置为p,由于需要插值出一条闭合的曲线,因此需要将坐标向量进行部分重复。当阶数为p时,重复点为前p个点,即A1,A2,…Ap。因此,B样条曲线的控制点向量P(X,Y)可以由如下公式获得:
Figure GDA0003591472780000134
可知,控制点的个数为k+p,B样条曲线中定义的n的值为:
n=k+p-1。
节点向量的个数为m+1,且满足:
Figure GDA0003591472780000141
U={u0,u1,…um}。
通过以上过程,即可计算出B样条曲线点组成的向量C(u)。
(2)簇状区域生成
簇状区域生成主要有以下几个步骤:首先,利用分形叠加后的二维柏林噪声生成随机纹理图片。进一步地,将其进行阈值处理,得到随机簇状区域。进一步地,与不规则闭合曲线形成的区域进行区域布尔交运算,得到仿真缺陷簇状区域。
如图5所示,将分形柏林噪声纹理图片进行阈值处理获得随机簇状区域。
柏林噪声生成随机纹理图片的过程如下:首先,定义一个二维的平面网格结构,在每个网格的角点上生成一个随机梯度向量gu,v
Figure GDA0003591472780000142
且满足:
Figure GDA0003591472780000143
其中,gradx为行方向的梯度值,grady为列方向的梯度值。
对于网格内的点P(x,y),计算点P与相邻四个角点的方向向量n0,0,n0,1,n1,0和n1,1
Figure GDA0003591472780000151
计算梯度向量与方向向量的点积w0,0,w0,1,w1,0和w1,1
Figure GDA0003591472780000152
采用高阶插值函数,插值函数为:
f(t)=6t5-15t4+10t3
以点积w0,0,w0,1,w1,0和w1,1作为权重值,先对x进行加权,之后对y进行加权:
Figure GDA0003591472780000153
其中,noise(x,y)即为插值后的噪声值。
为了生成更为丰富的纹理结构,可以采用不同频率和振幅的二维柏林噪声进行分形叠加:
Figure GDA0003591472780000161
其中,w为叠加分量的权重,si决定叠加分量的频率。
也可以进行变换,如取绝对值变换或正弦变换:
Figure GDA0003591472780000162
或:
Figure GDA0003591472780000163
因此,通过改变分形叠加权重、频率、变换方式可获得丰富的不同结构的二维纹理图。
获取二维纹理图后,将其转化到灰度区间[Valmin,Valmax]内的灰度值以获得灰度图像。转换公式为:
Figure GDA0003591472780000164
其中,min为求最小值函数,max为求最大值函数。
(3)灰度值填充
如图6所示,灰度值填充至生成的随机块状区域内有三种方式:利用高斯分布噪声生成的纹理进行填充;利用柏林噪声生成的纹理进行填充;利用实际缺陷形成的纹理进行填充。以上三种方式能够生成各种各样的块状缺陷。
其中,利用实际缺陷形成的纹理进行填充主要通过以下步骤实现:首先,由于块状缺陷尺寸较小,采用基于样图的纹理合成技术将缺陷的内部纹理进行扩展,合成大尺寸缺陷纹理图片;将缺陷纹理填充至生成的团状或簇状区域内。
如图7所示,基于小尺寸缺陷样图合成大尺寸缺陷纹理图片,首先,从原始的缺陷样图中随机抽取一个小块,并放置于目标大尺寸缺陷图的左上角。进一步地,按照从左到右,从上到下,计算小块重叠区域中数据与原始图像数据中每块的相似度。相似度采用距离平方和(SSD)描述,计算公式为:
Figure GDA0003591472780000171
其中,m和n分别表示重叠区域的高和宽。fblock(i,j)为重叠区域对应的目标图像在(i,j)处的灰度值,fp(i,j)为重叠区域对应的原缺陷样图小块在(i,j)处的灰度值,k为样图中选取的小块的总个数。min为求最小值函数。
如图8所示,为了使拼接后目标图像中小块之间的过渡更为自然,在两个小块的重叠区域中寻找出最优的拼接路径。首先,计算两个小块重叠区域每个像素值差距的大小,采用差值的平方表示:
Dis(i,j)=[fA(i,j)-fB(i,j)]2,i=1,2,...m,j=1,2,...n,
其中,m和n分别表示重叠区域的高和宽,fA(i,j)和fB(i,j)为重叠区域两小块在(i,j)处的灰度值,最优的拼接路径上所有点对应的Dis(i,j)的和最小,以水平拼接为例:
(i,j)boundary={(i,j)|min[∑Dis(i,j)]},
其中,(i,j)为轮廓上的点,min为求最小值函数。
因此,通过以上方式可以利用已有的小尺寸缺陷样本图片合成大尺寸缺陷图片,进而可以将合成的缺陷纹理对生成的不规则区域进行灰度值填充,以获得更加真实的仿真缺陷。
如图9所示,最终,步骤一获得四类仿真缺陷的仿真结果与实际缺陷图的对比;
S2:为实现缺陷的分类和识别,利用深度学习的分类和目标检测算法,利用仿真数据缺陷库和少量实际缺陷样本,实现弱监督条件下的缺陷检测;
如图10所示,弱监督检测方案具体为:首先,为实现缺陷的分类和识别,利用深度学习的分类和目标检测算法对仿真缺陷数据进行训练,优化模型参数;例如,深度学习分类算法可采用以ResNet为骨干网络的深度学习网络,目标检测算法可选取Faster RCNN目标检测框架。
对待检测对象的收集到的少量实际缺陷样本,通过镜像、旋转、裁剪、改变亮度、增加噪声干扰等方式进行数据扩增;
将通过仿真数据训练得到的深度学习模型进行实际缺陷检测过程的迁移应用。利用扩增后的实际缺陷数据,对上述已训练好的深度学习模型进再训练实现参数微调,优化模型参数;
最后,将最终得到深度学习模型用于实际缺陷检测过程的分类和识别。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (8)

1.一种基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,包括下述步骤:
针对划痕、毛丝、浅色脏污和深色脏污类型的缺陷,设定控制缺陷结构参数,创建仿真缺陷数据库;
所述划痕和毛丝类型的缺陷由线状类缺陷仿真方法生成;
所述线状类缺陷仿真方法包括下述步骤:
采用随机游走算法,生成线状缺陷的整体骨架;
将骨架转化成连通区域,对线状区域进行膨胀处理;
将所生成的线状区域按照高斯分布进行灰度值填充;
将填充后的区域与无缺陷背景的图片进行图像融合,最终得到人工仿真的线状类缺陷图片;
所述浅色脏污和深色脏污类型的缺陷由块状类缺陷仿真方法生成;
所述块状类缺陷仿真方法包括整体呈团状的缺陷的仿真,以及簇状类缺陷的仿真;
所述整体呈团状的缺陷的仿真包括下述步骤:
生成一条随机的不规则的闭合曲线,将所述闭合曲线围成的闭合区域作为块状缺陷的生成区域,对闭合区域进行高斯分布灰度填充或者纹理填充,与无缺陷背景进行图像融合;
所述簇状类的缺陷仿真包括下述步骤:
利用分形叠加后的二维柏林噪声产生随机簇状纹理图片,对图片进行阈值处理得到随机簇状纹理区域,与不规则闭合曲线形成的区域进行区域布尔交运算,得到仿真缺陷簇状区域,对簇状区域进行纹理填充后,与无缺陷背景进行图像融合;
采用深度学习的分类和目标检测算法对仿真缺陷数据进行训练,优化模型参数;
对收集到的实际缺陷样本进行数据扩增;
通过仿真缺陷数据训练得到的深度学习模型进行实际缺陷检测过程的迁移应用,完成实际缺陷检测过程的分类和识别。
2.根据权利要求1所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述生成线状缺陷的整体骨架,具体计算公式为:
θi=θi-1+sgn·Δθ+sgn·Δφ;
xi=xi-1+s·cosθi
yi=yi-1+s·sinθi
其中,(xi,yi)为骨架在第i个点上的位置,θi表示骨架在第i个点时的方向角,Δθ为限定角度变化区间内的随机分布,Δφ决定是否存在角度突变,sgn为符号函数,其值为1或-1,决定角度变化的增减方向,s为骨架长度变化的步长;
所述对线状区域进行膨胀处理,具体步骤包括:
将骨架分切分成小段,对每个小段进行不同的膨胀尺度,得到不同宽度的线状区域,对膨胀后的区域进行区域开运算处理;
所述将所生成的线状区域按照高斯分布进行灰度值填充,具体步骤包括:
利用区域腐蚀和布尔差运算将膨胀后的线状区域分为两部分:靠近中心骨架区域和边缘区域,将这两部分区域按照不同的高斯分布进行灰度值填充;
所述将填充后的区域与无缺陷背景的图片进行图像融合,具体计算公式为:
Val_fusion(i,j)=(1-α)·Val_background(i,j)+α·Val_defect(i,j)
其中,Val_background(i,j)、Val_defect(i,j)和Val_fusion(i,j)分别为无缺陷背景图像、已填充灰度线状缺陷区域以及融合后缺陷图像在行列坐标为(i,j)处的灰度值,α为融合系数,其取值区间在0到1之间。
3.根据权利要求1所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述生成一条随机的不规则的闭合曲线,具体步骤包括:
首先在[0,2π]区间内生成k-1个随机数,按照从小到大顺序进行排序,得到k-1个角度值;
确定k个角度值后,在[0,2π]区间内随机指定一个初始值作为初始点A1的角度,然后依次每次变化角度为Δθi,直到确定结构点Ak的位置,具体表示为:
Figure FDA0003591472770000031
其中,θ0表示初始角度,(xi,yi)为骨架在第i个点上的位置,θi表示骨架在第i个点时的方向角,ρ表示结构点到中心点O之间的距离,ρμ为基础半径的数值,决定块状缺陷的整体大小,ρδ为0到δ之间的随机数,决定半径大小的波动情况,sgn为符号函数,其值为1或-1,决定半径变化的增减方向;
k个结构点确定,即分别获得了结构点的行和列坐标向量,进行B样条曲线插值,形成一条闭合曲线,该曲线围成的闭合区域为块状缺陷的生成区域。
4.根据权利要求1所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述利用分形叠加后的二维柏林噪声产生随机簇状纹理图片,具体包括:
通过改变分形叠加权重、频率或变换方式获得不同结构的二维纹理图;
获取二维纹理图后,将其转化到灰度区间[Valmin,Valmax]内的灰度值以获得灰度图像,具体转化公式为:
Figure FDA0003591472770000041
其中,min为求最小值函数,max为求最大值函数,noise(x,y)即为插值后的噪声值。
5.根据权利要求1所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述灰度填充采用高斯分布噪声生成的纹理进行填充、或采用分形叠加柏林噪声生成的纹理进行填充,或采用实际缺陷形成的纹理进行填充。
6.根据权利要求5所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述采用实际缺陷形成的纹理进行填充,具体步骤包括:
首先,从原始的缺陷样图中随机抽取一个小块,并放置于目标大尺寸缺陷图的左上角,按照从左到右,从上到下,计算小块重叠区域中数据与原始图像数据中每块的相似度,在两个小块的重叠区域中寻找出最优的拼接路径,利用已有的小尺寸缺陷样本图片合成大尺寸缺陷样本图片,进而将合成的缺陷纹理对生成的不规则区域进行灰度值填充。
7.根据权利要求6所述的基于人工缺陷仿真的弱监督机器视觉检测方法,其特征在于,所述相似度计算公式为:
Figure FDA0003591472770000042
其中,m和n分别表示重叠区域的高和宽,fblock(i,j)为重叠区域对应的目标图像在(i,j)处的灰度值,fp(i,j)为重叠区域对应的原缺陷样图小块在(i,j)处的灰度值,k为样图中选取的小块的总个数,min为求最小值函数;
所述在两个小块的重叠区域中寻找出最优的拼接路径,具体计算两个小块重叠区域每个像素值差距的大小,
采用差值的平方表示:
Dis(i,j)=[fA(i,j)-fB(i,j)]2,i=1,2,...m,j=1,2,...n,
其中,m和n分别表示重叠区域的高和宽,fA(i,j)和fB(i,j)为重叠区域两小块在(i,j)处的灰度值,最优的拼接路径上所有点对应的Dis(i,j)的和最小。
8.一种基于人工缺陷仿真的弱监督机器视觉检测系统,其特征在于,包括:创建仿真缺陷数据库模块、划痕和毛丝类型的缺陷生成模块、浅色脏污和深色脏污类型的缺陷生成模块、训练模块、数据扩增模块和分类识别模块;
所述创建仿真缺陷数据库模块用于针对划痕、毛丝、浅色脏污和深色脏污类型的缺陷,设定控制缺陷结构参数,创建仿真缺陷数据库;
所述划痕和毛丝类型的缺陷生成模块采用线状类缺陷仿真方法生成划痕和毛丝类型的缺陷;
所述线状类缺陷仿真方法包括下述步骤:
采用随机游走算法,生成线状缺陷的整体骨架;
将骨架转化成连通区域,对线状区域进行膨胀处理;
将所生成的线状区域按照高斯分布进行灰度值填充;
将填充后的区域与无缺陷背景的图片进行图像融合,最终得到人工仿真的线状类缺陷图片;
所述浅色脏污和深色脏污类型的缺陷由块状类缺陷仿真方法生成;
所述浅色脏污和深色脏污类型的缺陷生成模块采用块状类缺陷仿真方法生成浅色脏污和深色脏污类型的缺陷;
所述块状类缺陷仿真方法包括整体呈团状的缺陷的仿真,以及簇状类缺陷的仿真;
所述整体呈团状的缺陷的仿真包括下述步骤:
生成一条随机的不规则的闭合曲线,将所述闭合曲线围成的闭合区域作为块状缺陷的生成区域,对闭合区域进行高斯分布灰度填充或者纹理填充,与无缺陷背景进行图像融合;
所述簇状类的缺陷仿真包括下述步骤:
利用分形叠加后的二维柏林噪声产生随机簇状纹理图片,对图片进行阈值处理得到随机簇状纹理区域,与不规则闭合曲线形成的区域进行区域布尔交运算,得到仿真缺陷簇状区域,对簇状区域进行纹理填充后,与无缺陷背景进行图像融合;
所述训练模块采用深度学习的分类和目标检测算法对仿真缺陷数据进行训练,优化模型参数;
所述数据扩增模块用于对收集到的实际缺陷样本进行数据扩增;
所述分类识别模块用于通过仿真缺陷数据训练得到的深度学习模型进行实际缺陷检测过程的迁移应用,完成实际缺陷检测过程的分类和识别。
CN202010638414.2A 2020-07-06 2020-07-06 一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统 Active CN111982910B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010638414.2A CN111982910B (zh) 2020-07-06 2020-07-06 一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010638414.2A CN111982910B (zh) 2020-07-06 2020-07-06 一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统

Publications (2)

Publication Number Publication Date
CN111982910A CN111982910A (zh) 2020-11-24
CN111982910B true CN111982910B (zh) 2022-10-25

Family

ID=73439476

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010638414.2A Active CN111982910B (zh) 2020-07-06 2020-07-06 一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统

Country Status (1)

Country Link
CN (1) CN111982910B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112485260B (zh) * 2020-11-26 2023-01-03 常州微亿智造科技有限公司 工件缺陷检测方法及装置
CN113240790B (zh) * 2021-04-14 2024-06-14 北京交通大学 一种基于3d模型和点云处理的钢轨缺陷图像生成方法
CN113450307B (zh) * 2021-05-12 2023-07-25 西安电子科技大学 一种产品边缘缺陷检测方法
CN114266768B (zh) * 2022-03-01 2022-08-19 聚时科技(江苏)有限公司 表面划痕缺陷图像生成方法
CN115082435B (zh) * 2022-07-21 2022-11-22 浙江霖研精密科技有限公司 一种基于自监督动量对比的缺陷检测方法
CN115791957A (zh) * 2022-11-25 2023-03-14 国网四川省电力公司映秀湾水力发电总厂 高压电缆铅封缺陷脉冲涡流检测方法、系统、终端及介质
CN116580030B (zh) * 2023-07-13 2023-10-20 厦门微图软件科技有限公司 一种基于异常仿真的焊接质量异常检测方法
CN117974910B (zh) * 2024-03-29 2024-06-18 南京航空航天大学苏州研究院 图像仿真、伪随机缺陷数据集生成及微纳缺陷检测方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106650806B (zh) * 2016-12-16 2019-07-26 北京大学深圳研究生院 一种用于行人检测的协同式深度网络模型方法
CN109242830A (zh) * 2018-08-18 2019-01-18 苏州翔升人工智能科技有限公司 一种基于深度学习的机器视觉技术检测方法
CN109740588B (zh) * 2018-12-24 2020-06-09 中国科学院大学 基于弱监督和深度响应重分配的x光图片违禁品定位方法
CN110570393B (zh) * 2019-07-31 2023-06-23 华南理工大学 一种基于机器视觉的手机玻璃盖板视窗区缺陷检测方法
CN110930413A (zh) * 2019-08-13 2020-03-27 河南理工大学 一种基于弱监督多核分类优化合并的图像分割方法
CN110579485B (zh) * 2019-09-30 2023-11-14 华南理工大学 一种智能手机玻璃盖板表面缺陷快速检测装置与方法
CN111291811B (zh) * 2020-02-07 2023-12-08 京东科技控股股份有限公司 区域划分和分类方法、装置和计算机可读存储介质

Also Published As

Publication number Publication date
CN111982910A (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
CN111982910B (zh) 一种基于人工缺陷仿真的弱监督机器视觉检测方法及系统
CN113450307B (zh) 一种产品边缘缺陷检测方法
CN110232675B (zh) 一种工业环境下的纹理表面缺陷检测与分割装置及方法
Jahedsaravani et al. An image segmentation algorithm for measurement of flotation froth bubble size distributions
CN108830188B (zh) 基于深度学习的车辆检测方法
CN109342456B (zh) 一种焊点缺陷检测方法、装置、设备及可读存储介质
CN109636772A (zh) 基于深度学习的不规则形状金属加工表面的缺陷检测方法
CN108416266B (zh) 一种利用光流提取运动目标的视频行为快速识别方法
CN113592845A (zh) 一种电池涂布的缺陷检测方法及装置、存储介质
CN113160192A (zh) 复杂背景下基于视觉的压雪车外观缺陷检测方法及装置
CN107358636B (zh) 一种基于纹理合成的疏松缺陷图像生成方法
CN108460764A (zh) 基于自动上下文和数据增强的超声图像智能分割方法
CN110084817B (zh) 基于深度学习的数字高程模型生产方法
CN110853015A (zh) 基于改进Faster-RCNN的铝型材缺陷检测方法
CN109840483B (zh) 一种滑坡裂缝检测与识别的方法及装置
CN111754538B (zh) Usb表面缺陷检测的阈值分割方法
CN109671071A (zh) 一种基于深度学习的地下管道缺陷定位及等级判定方法
CN103048329A (zh) 一种基于主动轮廓模型的路面裂缝检测方法
Li et al. A weak supervision machine vision detection method based on artificial defect simulation
Liu et al. A classification method of glass defect based on multiresolution and information fusion
CN108647593A (zh) 基于图像处理和svm的无人机路面破损分类检测方法
CN115082719B (zh) 一种木材质量分级方法
CN113221881B (zh) 一种多层级的智能手机屏幕缺陷检测方法
CN109598681A (zh) 一种对称唐卡修复后图像的无参考质量评价方法
CN111582004A (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