CN113393451A - 一种基于自动机器学习的缺陷检测方法 - Google Patents

一种基于自动机器学习的缺陷检测方法 Download PDF

Info

Publication number
CN113393451A
CN113393451A CN202110716116.5A CN202110716116A CN113393451A CN 113393451 A CN113393451 A CN 113393451A CN 202110716116 A CN202110716116 A CN 202110716116A CN 113393451 A CN113393451 A CN 113393451A
Authority
CN
China
Prior art keywords
layer
particle
layers
optimal
principle
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
Application number
CN202110716116.5A
Other languages
English (en)
Other versions
CN113393451B (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.)
Jiangnan University
Original Assignee
Jiangnan University
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 Jiangnan University filed Critical Jiangnan University
Priority to CN202110716116.5A priority Critical patent/CN113393451B/zh
Publication of CN113393451A publication Critical patent/CN113393451A/zh
Application granted granted Critical
Publication of CN113393451B publication Critical patent/CN113393451B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种基于自动机器学习的缺陷检测方法,属于机器学习视觉识别技术领域。所述方法通过改进的RDPSO算法自动搜索得到适用于当前缺陷检测任务的最优的One‑classDeep SVDD模型,然后采用正常无缺陷样本进行训练,利用训练好的模型将所有正常无缺陷样本映射到高维的特征空间,形成一个具有最小体积的封闭超球体;在进行缺陷检测时,利用训练好的模型将待检测样本映射到高维的特征空间,根据是否映射在所形成的具有最小体积的封闭超球体内判断待检测样本是否存在缺陷。本申请方法可自动搜索出适用于当前缺陷检测任务的最优模型;且只需要正常无缺陷样本进行训练无需列出所有类型的缺陷,能够获得较好的检测效果。

Description

一种基于自动机器学习的缺陷检测方法
技术领域
本发明涉及一种基于自动机器学习的缺陷检测方法,属于机器学习视觉识别技术领域。
背景技术
随着计算机运算能力的不断提升,图像识别技术被应用在很多场景中,其中之一就是缺陷检测,比如织物缺陷检测、铝型材缺陷检测等。自上世纪90年代以来,基于计算机视觉技术的缺陷检测逐渐成为研究热点,国内外研究学者也提出了很多检测方法,传统的机器学习算法大体可以分为基于结构的方法、基于统计的方法、基于频谱的方法、基于模型的方法四类。然而这种基于传统图像处理方法进行手工提取特征的方式逐渐显现出一定的弊端并且研究陷入了停滞。
近年来,在解决现实问题中,深度神经网络已表现出优于传统机器学习算法的能力。具体来说,相比于传统的机器学习算法,深度卷积神经网络在解决图像分类、识别、目标检测或语义分割等计算机视觉问题上能够获得几乎更好的结果。然而,尽管深度学习在许多机器学习问题中取得了长足的进步,但相对而言,用于缺陷检测的深度学习方法还是相对较少。
目前深度学习应用于缺陷检测的常用方法是首先使用卷积神经网络(CNN)作为特征提取器,随后使用传统单分类模型OC-SVM或SVDD基于CNN提取的特征向量进行训练。但这种混合方法有一个显著缺点:即需要足够多的缺陷图像来训练模型,然而在实际应用中,获取各种缺陷图像的成本是很高的;同时基于某一实际缺陷检测任务,如铝型材、织物、苹果等物体的缺陷检测任务,不可能罗列出所有会出现的缺陷类型,所以这种方法不能充分地提取差分特征来分辨不同样本数据。因此,学者尝试将全深度方法用于缺陷检测领域。全深度方法中不再将特征提取和单分类检测看成单独的两个步骤,而是采用端到端的方法,直接使用深度神经网络进行特征学习和分类检测。
但是全深度方法中,当使用深度学习模型解决一个实际的缺陷检测问题时,首先需要确定使用何种CNN结构,CNN具体使用多少层,每一层需要多少个神经元才能使网络性能更好等,也就是需要预先设置好CNN结构中的超参数,而确定这些参数需要专业人员进行反复实验,费时费力。
此外,针对某一实际的缺陷检测问题时,直接选择使用前人提出的某一个经典的CNN结构,也许通过该经典CNN结构提取出的特征不一定最能表征训练样本,进而导致无法获得精确的检测结果。而且,针对不同检测对象的缺陷检测,能提取到最能表征训练样本的CNN结构也不是相同的。因此,针对不同的缺陷检测问题,还是需要大费周章地寻求解决该问题的最佳CNN结构。
发明内容
为了解决目前缺陷检测领域中针对具体的缺陷检测问题都需要寻找最佳CNN结构费时费力的问题,本发明提供了一种基于自动机器学习的缺陷检测方法,所述方法使用随机漂移粒子群优化(RDPSO)算法自动搜索得到最优的单类深度支持向量数据描述(One-class Deep SVDD)的全深度学习模型,针对某一特定的缺陷检测问题,只采用正常无缺陷样本进行训练搜索到的最优One-class Deep SVDD模型,以将所有训练样本的特征全部映射到高维空间上的一个最小超球体内,通过判断待检测样本的特征是否可以映射到这个高维空间的最小超球内确定待检测样本是否存在缺陷。
一种基于自动机器学习的缺陷检测方法,所述方法包括:
步骤1:使用RDPSO算法自动搜索得到最优的One-class Deep SVDD结构;
步骤2:使用正常无缺陷样本对最优的One-class Deep SVDD模型进行训练;
步骤3:利用训练好的最优的One-class Deep SVDD模型将所有正常无缺陷样本映射到高维的特征空间,形成一个具有最小体积的封闭超球体;
步骤4:利用训练好的最优的One-class Deep SVDD模型将待检测样本映射到高维的特征空间,根据是否映射在所形成的具有最小体积的封闭超球体内判断待检测样本是否存在缺陷;
所述正常无缺陷样本为无缺陷的待检测产品的图像,所述待检测样本为待检测产品的图像。
可选的,所述步骤2使用正常无缺陷样本对最优的One-class Deep SVDD模型进行训练的过程中,以优化目标函数为目的进行训练,所述目标函数为:
Figure BDA0003132496220000021
其中n为正常无缺陷样本的个数,x1,x2...xn为正常无缺陷样本数据,W为网络权重参数,c为超球球心,
Figure BDA0003132496220000022
函数是网络权重参数W的特征表示;λ为控制正则化的权重,λ>0,L为最优的One-class Deep SVDD结构的网络层数,l∈{1,...L},Wl为每一层的权重参数;||·||F表示F范数。
可选的,所述步骤4包括:
利用训练好的最优的One-class Deep SVDD模型将待检测样本映射到高维的特征空间,根据式(7)计算异常分数s:
Figure BDA0003132496220000031
其中W*是训练好的最优的One-class Deep SVDD模型的网络权重参数,c*和R*分别为训练后的超球球心和半径;x表示待检测样本数据;
若待检测样本映射到高维特征空间的异常分数s为负值,则待检测样本无缺陷;若待检测样本映射到高维特征空间的异常分数s为正值,则待检测样本存在缺陷。
可选的,所述步骤1使用RDPSO算法自动搜索得到最优的One-class Deep SVDD结构,包括:
步骤(1):初始化粒子群,每一个粒子位置代表一个CNN结构,粒子的个数为N,最大迭代次数设为Max_iter;设定每个粒子的个体最优位置pBesti(t)为其初始位置;
步骤(2):定义适应度函数,计算全局最优粒子位置gBest(t);
步骤(3):根据每个粒子个体最好位置pBesti(t)计算粒子群的平均最优位置mBest(t+1);
步骤(4):根据全局最优粒子位置gBest(t)和每个粒子的个体最优粒子位置pBesti(t),生成每个粒子的吸引子pi(t+1);
步骤(5):根据粒子群平均最优位置mBest(t+1)和每个粒子的吸引子pi(t+1)来更新计算每个粒子的速度Vi(t+1);
步骤(6):根据更新后的速度Vi(t+1)和每个粒子的原位置Pi(t),更新该粒子的位置Pi(t+1);
步骤(7):计算每个粒子更新后位置Pi(t+1)对应的适应度函数值f(Pi(t+1));
步骤(8):更新每个粒子个体最优位置pBesti(t+1)和粒子群全局最优粒子位置gBest(t+1);
步骤(9):重复步骤(3)~步骤(8),直至达到最大迭代次数Max_iter;
最终得到的粒子群全局最优位置即为针对待检测样本的缺陷检测自动搜索到的最优CNN结构,在搜索到的最优CNN结构后接一个svdd模型即得到最优的One-class DeepSVDD结构。
可选的,所述步骤(1)初始化粒子群时,用一个粒子来表示一种CNN结构,遵循以下原则:
原则1:随机确定每个粒子的维数,即CNN结构层数,介于3~lmax层之间,lmax表示CNN结构最大层数;
原则2:每个粒子的第一维为卷积层,最后一维为全连接层;
原则3:不在卷积层或池化层之间放置全连接层;
原则4:在添加卷积层时,从1~mapsmax之间随机选择一个数作为输出特征层数,它的内核大小从3×3~kmax×kmax随机选择,其中kmax表示最大卷积内核大小,其内核步幅始终设定为1×1,mapsmax表示最大输出特征层数;
原则5:在添加池化层时,随机从最大池化层或平均池化层中选择,其内核大小固定为2×2,步幅大小固定为2×2;
原则6:在添加全连接层时,其神经元的数量在1~nmax之间随机选择;
原则7:所有层的激活函数始终是Leaky Relu函数;
原则8:根据输入图像大小确定每个粒子中池化层的数量。
可选的,所述步骤(3)包括:
(3.1)遍历所有粒子,找到最先出现FC层的位置和最晚出现FC层的位置,分别记为First_FC和Last_FC;找到具有最大维数的粒子,其大小记为max_len;
(3.2)依次处理粒子中每个位置j对应的mBestj值;
(3.3)当j∈[1,First_FC]时:
(3.31)在位置j,分别统计所有粒子中卷积层、最大池化层和平均池化层的数量,并记为num_Conv、num_Maxpool和num_Avepool;
(3.32)计算三个数的最大值,如果有两个或三个数都为最大值,则以等概率的方式设置当前的层类型;
(3.33)如果只有一个数为最大值,则设置第j层为这个数所对应的层类型;
(3.4)当j∈(First_FC,Last_FC]时:
(3.41)在位置j,分别统计所有粒子中卷积层、最大池化层、平均池化层和全连接层的数量,并记为num_Conv、num_Maxpool、num_Avepool和num_FC;
(3.42)计算num_Conv、num_Maxpool、num_Avepool和num_FC的总和,并记为all_num;
(3.43)若
Figure BDA0003132496220000041
则不对此层设置层类型;同时停止遍历,返回得到的平均最优位置mBest(t+1);
(3.44)若
Figure BDA0003132496220000042
则此层是有效位;继续判断第j-1层的层类型是否为全连接层:
如果第j-1层的层类型是全连接层,并且
Figure BDA0003132496220000043
则代表在当前层上所有粒子表示的CNN结构的层类型总和中,全连接层占一半以上,此时第j层的层类型就可以设置为FC层;如果第j-1层的层类型是全连接层,并且
Figure BDA0003132496220000051
则代表当前所有粒子表示的CNN结构的层类型的总和中,全连接层只占一小部分,此层可以视为无效位,不对此层设置层类型,继续下一步操作;
如果第j-1层的层类型不是全连接层,则比较num_Conv、num_Maxpool、num_Avepool和num_FC的大小;计算四个数的最大值,如果有两个或两个以上数都为最大值,则以等概率的方式设置当前的层类型;如果只有一个数为最大值,则设置第j层为这个数所对应的层类型;
(3.5)当j∈(Last_FC,max_len]时:
(3.51)遍历当前求得的mBest(t+1),确定是否已经存在全连接层;
(3.52)如果还没有全连接层,则强制设置当前第j层为全连接层,继续下一层操作;
(3.53)如果已经存在全连接层,则统计当前第j层上所有粒子中全连接层的总数,记为num_FC;
(3.54)如果
Figure BDA0003132496220000052
则将第j层的层类型设置为全连接层,继续下一层操作;
(3.55)如果
Figure BDA0003132496220000053
则不对此层设置层类型,继续下一层操作。
可选的,所述步骤(5)包括:
定义以下原则计算两个粒子间的差值:
(5.1)将卷积/池化层与全连接层分开处理;
(5.2)如果两个粒子当前层类型相同,则两个粒子间的差值为0;
(5.3)如果两个粒子当前层类型不相同,则两个粒子间的差值为第一个粒子当前层类型;
(5.4)在当前层,如果第一个粒子的层类型为空,第二个粒子有层类型,则差的结果为-1;
(5.5)在当前层,如果第一个粒子有层类型,第二个粒子的层类型为空,则差的结果为第一个粒子当前层类型;
(5.6)在处理全连接层的时候,当两个粒子的全连接层的层数不同时,对于层数少的那个粒子,需从后向前排列FC层的层类型;
更新每个粒子的速度Vi(t+1)时,遵循下列原则:
原则①:将卷积/池化层与全连接层分开处理;
原则②:设置决策因子cg,然后依次处理每一层;
原则③:对于每一层,生成一个服从均匀分布的随机数机数r,如果r≤cg,则Vi(t+1)当前层类型同(mBest-Pi);如果r>Cg,则Vi(t+1)当前层类型同(pi-Pi)。
可选的,所述步骤(6)根据更新后的速度Vi(t+1)和每个粒子的原位置Pi(t),更新该粒子的位置Pi(t+1)时,遵循下列原则:
原则(1):将卷积/池化层与全连接层分开处理;
原则(2):如果Vi(t+1)当前层值为0,则更新后粒子的位置Pi(t+1)当前层类型与原位置Pi(t)当前层类型相同;
原则(3):如果Vi(t+1)当前层值为-1,则更新后粒子的位置Pi(t+1)当前层为无效层;
原则(4):如果Vi(t+1)当前层有层类型,则更新后粒子的位置Pi(t+1)当前层类型与Vi(t+1)当前层类型相同;
原则(5):在处理全连接层的时候,当Vi(t+1)与Pi(t)的全连接层的层数不同时,对于层数少的那个粒子,需从后向前排列FC层的层类型;
原则(6):当位置更新完成后,需检查更新后位置中池化层的数量,如果池化层的数量超过预先设定的值,则从最后一层向第一层遍历,去除多余的池化层。
可选的,所述步骤(8)包括:
根据式(3)更新每个粒子个体最优位置pBesti(t+1):
Figure BDA0003132496220000061
根据式(4)和(5)更新粒子群全局最优粒子位置gBest(t+1):
Figure BDA0003132496220000062
gBest(t+1)=pBestg(t+1) (5)。
可选的,所述待检测产品包括织物、皮革、金属制品、瓷板和铝型材。
本发明有益效果是:
通过改进原有的RDPSO算法,使其能够应用到自动搜索最优CNN结构中,自动搜索得到适用于当前缺陷检测任务的最优的One-class Deep SVDD模型,然后采用正常无缺陷样本进行训练,利用训练好的模型将所有正常无缺陷样本映射到高维的特征空间,形成一个具有最小体积的封闭超球体;在进行缺陷检测时,利用训练好的模型将待检测样本映射到高维的特征空间,根据是否映射在所形成的具有最小体积的封闭超球体内判断待检测样本是否存在缺陷。本申请方法可以针对检测任务自动搜索最优的One-class Deep SVDD模型,无需依赖于技术人员的经验、反复实验费时费力的确定CNN结构类型、层数等网络参数;而且本申请提供的缺陷检测方法只需要正常无缺陷样本对搜索到的最优的One-classDeep SVDD模型进行训练,而无需列出所有类型的缺陷,克服了现有缺陷检测方法需要大量缺陷图像来训练模型的缺点,且能够获得较好的检测效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的基于自动机器学习的缺陷检测方法的流程图。
图2是本发明一个实施例中提供的One-class Deep SVDD模型原理图。
图3是RDPSO优化算法流程图。
图4是本发明中单个粒子位置表示的CNN结构示例图。
图5是粒子群的平均最优位置的更新方式示例图。
图6是粒子群的平均最优位置第一部分即当j∈[1,First_FC]时的更新方式流程图。
图7是粒子群的平均最优位置第二部分即当j∈(First_FC,Last_FC]时的更新方式流程图。
图8是粒子群的平均最优位置第三部分即当j∈(Last_FC,max_len]时的更新方式流程图。
图9是每个粒子的局部吸引子的更新方式示例图。
图10是计算两个粒子位置之间差异的示例图。
图11是单个粒子的速度更新方式示例图。
图12是单个粒子的位置更新方式示例图。
图13是本发明一个实施例中提供的实验过程中的示例图片。
图14是本发明一个实施例中提供的对比实验的结果柱状图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一:
本实施例提供了一种基于自动机器学习的缺陷检测方法,包括:
步骤1:使用RDPSO算法自动搜索得到最优的One-class Deep SVDD结构。
步骤2:使用正常无缺陷样本对最优的One-class Deep SVDD模型进行训练,训练过程中优化目标函数为:
Figure BDA0003132496220000071
其中n为正常无缺陷样本的个数,x1,x2...xn为正常无缺陷样本数据,W为网络权重参数,c为超球球心,
Figure BDA0003132496220000081
函数是网络权重参数W的特征表示;λ为控制正则化的权重,λ>0,L为最优的One-class Deep SVDD结构的网络层数,l∈{1,...L},Wl为每一层的权重参数;||·||F表示F范数;
步骤3:利用训练好的最优的One-class Deep SVDD模型将所有正常无缺陷样本映射到高维的特征空间,形成一个具有最小体积的封闭超球体;
步骤4:利用训练好的最优的One-class Deep SVDD模型将待检测样本映射到高维的特征空间,根据是否映射在所形成的具有最小体积的封闭超球体内判断待检测样本是否存在缺陷;
所述正常无缺陷样本为无缺陷的待检测产品的图像,所述待检测样本为待检测产品的图像。
实施例二:
本实施例提供了一种基于自动机器学习的缺陷检测方法,参见图1,针对一个特定的缺陷检测任务--织物缺陷检测,本发明提出的方法包括以下步骤:
步骤1:将数据集分为训练集、验证集和测试集。
其中训练集为正常无缺陷样本,验证集和测试集中均包括正常无缺陷样本及缺陷类样本。
样本即织物图像数据。
步骤2:使用RDPSO算法自动搜索得到最优的One-class Deep SVDD结构。
在优化过程中,每个粒子位置代表一个One-class Deep SVDD结构,每一个训练集数据输入到由当前粒子代表的CNN结构中进行特征提取,可以将训练数据映射到一个高维特征空间中。最终所有的训练数据可以在高维空间建立一个超球体。使用同种方式,也可以将每个验证集数据映射到同一个高维空间中,如果映射在这个超球体里面,则判断其为正常样本,否则判断为缺陷样本。
如图2所示,One-class Deep SVDD模型通过神经网络将输入空间χ上的数据映射到输出空间
Figure BDA0003132496220000082
上,所有正常训练样本最终会在输出空间上建立一个以c为球心R为半径的超球体,构建成的One-class Deep SVDD模型能将正常样本映射到超球内部,将缺陷样本映射到超球外部。
在使用RDPSO算法时,本申请将每个粒子位置所代表的One-class Deep SVDD结构在验证集上得到的AUC值定义为RDPSO算法的适应度函数值,以此值指导RDPSO算法的搜索过程,并且使用此值评判每个粒子位置所代表的One-class Deep SVDD结构的优劣。验证集样本的AUC值越大,代表该粒子位置越优。
参见图3,所述步骤2中的RDPSO算法自动搜索得到最优的One-class Deep SVDD结构具体包括以下子步骤:
(1):初始化粒子群,每一个粒子位置代表一个CNN结构,粒子的个数为N,最大迭代次数设为Max_iter。
初始时刻,即t=0时,粒子i的位置为Pi(t),设定每个粒子的个体最优位置pBesti(t)为其初始位置,即pBesti(t)=Pi(t)。
用一个粒子位置来表示一种CNN结构,需遵循以下原则:
原则1:随机确定每个粒子的维数,即CNN结构层数,介于3~lmax层(最大层数)之间,lmax表示CNN结构最大层数;
原则2:为了使粒子所对应的CNN结构有效,需要保证每个粒子的第一维为卷积(Conv)层,最后一维为全连接(FC)层;
原则3:不能在卷积层或池化(Pool)层之间放置全连接FC层,因此,在初始化一个粒子时,当添加一个FC层后,其后的每一层也应该是FC层;
原则4:在添加Conv层时,从1~mapsmax之间随机选择一个数作为输出特征层数,它的内核大小从3×3~kmax×kmax随机选择,其中kmax表示最大卷积内核大小,其内核步幅始终设定为1×1,mapsmax表示最大输出特征层数;
原则5:在添加Pool层时,随机从最大池化(Maxpool)层或平均池化(Avepool)层中选择,其内核大小固定为2×2,步幅大小固定为2×2;
原则6:在添加FC层时,其神经元的数量在1~nmax之间随机选择;
原则7:所有层的激活函数始终是Leaky Relu函数;
原则8:为保证CNN结构的有效性,根据输入图像大小确定每个粒子中池化层的数量,即一个粒子中Pool层的数量受输入图像大小的限制。具体的,假设输入图像大小为N*N,当
Figure BDA0003132496220000091
时,池化层的数量即为n-1。例如,对于大小为28×28的输入,一个粒子中最多只能有3个Pool层。
图4所示的是根据以上原则1-8构造的一个粒子,该粒子有7维,对应3个Conv层,1个Maxpool层(MP),1个Avepool层(AP),和2个FC层。
(2):定义适应度函数,计算全局最优粒子位置gBest(t)。
为计算全局最优粒子位置,需定义适应度函数f,然后计算每个粒子位置对应的适应度函数值。
将验证集样本的AUC值定义为RDPSO算法的适应度函数值,验证集样本的AUC值越大,代表该粒子位置越优。
对于每一粒子位置Pi(t)代表的CNN结构,随机初始化其网络权重W,每一个训练集数据输入到由CNN中进行特征提取,可以将训练数据映射到一个高维特征空间中。最终所有的训练数据可以在高维空间建立一个超球体,然后对于验证集中每一样本,通过计算该样本在当前CNN输出空间上的映射是否在超球内部,判断是否为正常类,进而计算得到所有验证集样本的AUC值,即当前粒子位置的适应度函数值f(Pi(t))。
设置粒子个体最优位置pBesti(t)对应的适应度函数值f(pBesti(t))=f(Pi(t))。根据式(1)和(2)得到全局最优粒子位置gBest(t),也就是所有粒子中,最大适应度函数值所对应的那个粒子的位置。
Figure BDA0003132496220000101
gBest(t)=pBestg(t) (2)
(3):根据每个粒子个体最好位置pBesti(t)计算粒子群的平均最优位置mBest(t+1)。
(3.1)如图5所示,遍历所有粒子,找到最先出现FC层的位置和最晚出现FC层的位置,分别记为First_FC和Last_FC。找到具有最大维数的粒子,其大小记为max_len;
(3.2)依次处理粒子中每个位置j对应的mBestj值。
(3.3)当j∈[1,First_FC]时,处理流程如图6所示
(3.3.1)在位置j,分别统计所有粒子中Conv层、Maxpool层和Avepool层的数量,并记为num_Conv、num_Maxpool和num_Avepool;
(3.3.2)计算三个数的最大值,如果有两个或三个数都为最大值,则以等概率的方式设置当前的层类型,比如,在图3中,当j=2时,num_Maxpool=num_Avepool=2,那么以50%的概率设置第j层的层类型为Maxpool层或Avepool层;
(3.3.3)如果只有一个数为最大值,则设置第j层为这个数所对应的层类型。
(3.4)当j∈(First_FC,Last_FC]时,处理流程如图7所示:
(3.4.1)在位置j,分别统计所有粒子中Conv层、Maxpool层、Avepool层和FC层的数量,并记为num_Conv、num_Maxpool、num_Avepool和num_FC;
(3.4.2)计算num_Conv、num_Maxpool、num_Avepool和num_FC的总和,并记为all_num;
(3.4.3)若
Figure BDA0003132496220000111
则代表在当前层上只有不到一半的粒子表示的CNN结构有对应的层类型,那么此层可以视为无效位,不对此层设置层类型。同时也代表此层之后的每一层上都只有不到一半的粒子表示的CNN结构有对应的层类型,因此可以停止遍历,返回得到的平均最优位置mBest(t+1);
(3.4.4)若
Figure BDA0003132496220000112
则代表一半或一半以上的粒子表示的CNN结构在此层上有对应的层类型,此层是有效位;继续判断第j-1层的层类型是否为FC层:
如果第j-1层的层类型是FC层,并且
Figure BDA0003132496220000113
则代表在当前层上所有粒子表示的CNN结构的层类型总和中,FC层占一半以上,此时第j层的层类型就可以设置为FC层;如果第j-1层的层类型是FC层,并且
Figure BDA0003132496220000114
则代表当前所有粒子表示的CNN结构的层类型的总和中,FC层只占一小部分,此层可以视为无效位,不对此层设置层类型,继续下一步操作;
如果第j-1层的层类型不是FC层,则比较num_Conv、num_Maxpool、num_Avepool和num_FC的大小;计算四个数的最大值,如果有两个或两个以上数都为最大值,则以等概率的方式设置当前的层类型,比如,在图3中,当j=6时,num_Conv=num_FC=2,那么以50%的概率设置第j层的层类型为Conv层或FC层;如果只有一个数为最大值,则设置第j层为这个数所对应的层类型。
(3.5)当j∈(Last_FC,max_len]时,处理流程如图8所示:
(3.5.1)遍历当前求得的mBest(t+1),确定是否已经存在FC层;
(3.5.2)如果还没有FC层,则强制设置当前第j层为FC层,继续下一层操作;
(3.5.3)如果已经存在FC层,则统计当前第j层上所有粒子中FC层的总数,记为num_FC;
(3.5.4)如果
Figure BDA0003132496220000115
代表大多数粒子表示的CNN结构在此层上都是FC层,那么将第j层的层类型设置为FC层,继续下一层操作;
(3.5.5)如果
Figure BDA0003132496220000116
代表只有不到一半的粒子表示的CNN结构在此层上是FC层,那么不对此层设置层类型,继续下一层操作。
(4):根据全局最优粒子位置gBest(t)和每个粒子的个体最优粒子位置pBesti(t),生成每个粒子的吸引子pi(t+1)。
如图9所示,对于第i个粒子,查找gBest和这个粒子个体最优位置pBesti中首次出现FC层的位置,将Conv/Pool层与FC层分开处理。设置选择因子cp
通过以下方法生成这个粒子的吸引子pi的每一层类型:生成一个服从均匀分布的随机数r,如果r≤cp,则pi当前层类型和gBest当前层类型一致,若此时gBest当前层类型为空,那pi当前层类型也为空;如果r>cp,则pi当前层类型和pBesti当前层类型一致,若此时pBesti当前层类型为空,那pi当前层类型也为空。
(5):根据粒子群平均最优位置mBest(t+1)和每个粒子的吸引子pi(t+1)来更新计算每个粒子的速度Vi(t+1)。
更新一个粒子速度时,需要计算粒子群平均最优位置mBest(t+1)与该粒子原位置Pi(t)间的差值,以及该粒子的吸引子pi(t+1)与该粒子原位置Pi(t)间的差值。因此,首先,需定义两个粒子间的差值的计算方法,如图10所示的是粒子P1和P2的差P1-P2计算过程。计算时,遵循下列原则:
(5.1)为了避免在Conv层和Pool层之间出现FC层,也就是避免出现无效的CNN架构,同步骤4,将Conv/Pool层与FC层分开处理;
(5.2)如果两个粒子当前层类型相同,则差的结果为0;
(5.3)如果两个粒子当前层类型不相同,则差的结果为第一个粒子当前层类型;
(5.4)在当前层,如果第一个粒子的层类型为空,第二个粒子有层类型,则差的结果为-1;
(5.5)在当前层,如果第一个粒子有层类型,第二个粒子的层类型为空,则差的结果为第一个粒子当前层类型;
(5.6)在处理FC层的时候,为了避免出现无效的CNN架构,当两个粒子的FC层层数不同时,对于层数少的那个粒子,需从后向前排列FC层的层类型,如图10中粒子P2的FC层部分。
根据粒子群平均最优位置mBest(t+1)与该粒子原位置Pi(t)间的差值,以及该粒子的吸引子pi(t+1)与该粒子原位置Pi(t)间的差值,更新每个粒子的速度Vi(t+1),如图11所示。计算时,遵循下列原则:
原则①:与前述相同,将Conv/Pool层与FC层分开处理;
原则②:设置决策因子cg,然后依次处理每一层;
原则③:对于每一层,生成一个服从均匀分布的随机数机数r,如果r≤cg,则Vi(t+1)当前层类型同(mBest-Pi);如果r>Cg,则Vi(t+1)当前层类型同(pi-Pi)。
(6):根据更新后的速度Vi(t+1)和每个粒子的原位置Pi(t),更新该粒子的位置Pi(t+1)。
如图12所示,计算时遵循下列原则:
原则(1):与前述相同,将Conv/Pool层与FC层分开处理;
原则(2):如果Vi(t+1)当前层值为0,则更新后粒子的位置Pi(t+1)当前层类型与原位置Pi(t)当前层类型相同;
原则(3):如果Vi(t+1)当前层值为-1,则更新后粒子的位置Pi(t+1)当前层为无效层;
原则(4):如果Vi(t+1)当前层有层类型,则更新后粒子的位置Pi(t+1)当前层类型与Vi(t+1)当前层类型相同。
原则(5):在处理FC层的时候,为了避免出现无效的CNN架构,当Vi(t+1)与Pi(t)的FC层层数不同时,对于层数少的那个粒子,需从后向前排列FC层的层类型,如图12中粒子原位置Pi(t)的FC层部分。
原则(6):当位置更新完成后,需检查更新后位置中Pool层的数量,如果Pool层的数量超过允许的值,则需从最后一层向第一层遍历,去除多余的Pool层。
(7):计算每个粒子更新后位置Pi(t+1)对应的适应度函数值f(Pi(t+1))。
针对训练集数据,由每个粒子更新后位置Pi(t+1)对应的CNN结构确定的One-class Deep SVDD网络得到输出分类结果,并得到粒子位置对应的适应度函数值f(Pi(t+1))。
(8):更新每个粒子个体最优位置pBesti(t+1)和粒子群全局最优粒子位置gBest(t+1)。
根据式(3)更新每个粒子个体最优位置pBesti(t+1):
Figure BDA0003132496220000131
根据式(4)和(5)更新粒子群全局最优粒子位置gBest(t+1):
Figure BDA0003132496220000132
gBest(t+1)=pBestg(t+1) (5)
(9):重复(3)~(8),直至达到最大迭代次数Max_iter。
最终得到的全局最优位置gbest(t)即为针对当前缺陷检测任务,自动搜索到的最优CNN结构,同时此时生成的One-class Deep SVDD模型有最好的检测性能。
步骤3:使用训练样本对最优的One-class Deep SVDD模型进行训练。
根据步骤2得到最优的One-class Deep SVDD结构,基于训练样本,需要对该结构中的卷积神经网络权重
Figure BDA0003132496220000134
进行优化,从而将训练样本映射到高维的特征空间,形成一个具有最小体积的封闭超球体。优化的目标函数如式(6)所示:
Figure BDA0003132496220000133
其中n为训练集样本个数,x1,x2...xn为训练样本数据,W为网络权重参数,c为超球球心,
Figure BDA0003132496220000141
函数是神经网络参数W的特征表示。
公式(6)第一项中使用了二次损失函数,目标是惩罚所有空间F中的点到球心c的欧式距离。第二项是正则化项,防止网络过拟合的发生,参数λ控制正则化的权重,其中λ>0,L为网络层数,l∈{1,...L},Wl为每一层的权重参数。
步骤4:使用训练好的模型对测试集样本进行检测,得到对应的异常分数。
对于测试集中每一个样本,都可以通过步骤3中训练好的模型,得到该样本在输出空间F上的映射,然后根据式(7)计算其异常分数s:
Figure BDA0003132496220000142
其中W*是训练后的最优模型网络参数,c*和R*分别为训练后的超球球心和半径。
如果测试样本数据为正常样本,其映射会在超球的内部,异常分数为负值;如果测试样本数据为缺陷样本,其映射会在超球的外部,异常分数为正值。
步骤5:根据测试样本的异常分数判断该样本所属类别。
对于测试集中每一个样本,如果其异常分数为正,则表示该样本在输出空间上的映射在超球的外部,那么,判断该样本为缺陷类;如果其异常分数为负,则表示该样本在输出空间上的映射在超球的内部,那么,判断该样本为正常类。
为验证本发明提出方法的有效性,特进行如下实验:
在实验中,将本发明提出的基于自动机器学习的缺陷检测方法应用在织物缺陷检测任务中,实验数据示例图片如图13所示。在每次任务中,使用某一类别的大部分正常数据作为训练样本,使用此类别的一部分缺陷数据和一部分正常数据作为验证样本,剩余的缺陷数据和正常数据作为测试样本。对于每次检测任务,训练集、验证集及测试集的样本数量分布如表1所示:
表1训练集、验证集及测试集的样本数量分布
数据集 训练集 验证集 测试集
Origin 2000 90 83
Blue 1000 62 62
Greyblue 2400 264 260
Lavender 2500 155 150
步骤2中,使用RDPSO算法自动搜索得到最优的One-class Deep SVDD结构,参数的设定如表2所示:
表2实验中参数的设定情况
超参数 取值或取值范围
粒子群迭代次数Max_iter 20
粒子群的粒子数量N 10
选择因子c<sub>p</sub> 0.7
决策因子c<sub>g</sub> 0.5
CNN结构的层数 3~7
卷积层输出通道数 1~128
卷积核尺寸 3×3~5×5
全连接层的神经元数 1~1024
步骤3中,使用训练样本对最优的One-class Deep SVDD模型进行训练时,迭代次数设为250,使用Adam优化方法和Batch Normalization,Dropout失活率为0.5。
表3所示的是本发明提出的方法在织物缺陷分类检测任务上的最终的实验结果。结果给出了得到的最优的CNN结构层数、具体网络结构及测试样本的AUC值。
表3本发明提出的方法最终的实验效果
Figure BDA0003132496220000151
为验证本发明方法提出的模型的性能,将之与以LeNet网络和AlexNet网络作为CNN结构的One-class Deep SVDD模型作对比,在同样的数据集上进行实验,得到结果如表4所示:
表4 LeNet网络作为基础网络体系结构得到的实验结果
Figure BDA0003132496220000152
其中,LeNet网络是具有7层的CNN结构,网络结构为C->MP->C->MP->C->MP->FC;AlexNet网络是具有11层的CNN结构,网络结构为C->MP->C->MP->C->C->C->MP->FC->FC->FC。
通过表3和表4可以看出,针对每次不同的缺陷检测任务,即当训练样本类别不一样时,使用本发明自动搜索到的CNN结构也是不一样的:如当训练样本类别为Origin时,得到的最优CNN结构具体只有3层,但得到AUC值为99.8%,远远超过了表4中以LeNet网络为基础网络结构时得到的98.9%和以AlexNet网络为基础网络结构时得到的98.0%;当训练样本类别为Blue时,得到的最优CNN结构具体为5层,但得到的AUC值高达100.0%,远超以LeNet网络为基础网络结构时得到的94.2%和以AlexNet网络为基础网络结构时得到的94.5%。图14形象的示出了对比实验的结果柱状图。
实验结果表明,针对特定的缺陷检测任务,选择经典的CNN结构作为基础网络结构不一定得到的结果最优。本发明提出的自动搜索最优One-class Deep SVDD结构的方法,可以针对每一个特定的实际缺陷检测任务提取到最能表征训练样本(正常/无缺陷样本)的特征数据,以提高模型的分类检测性能。
本发明实施例中的部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于自动机器学习的缺陷检测方法,其特征在于,所述方法包括:
步骤1:使用RDPSO算法自动搜索得到最优的One-class Deep SVDD结构;
步骤2:使用正常无缺陷样本对最优的One-class Deep SVDD模型进行训练;
步骤3:利用训练好的最优的One-class Deep SVDD模型将所有正常无缺陷样本映射到高维的特征空间,形成一个具有最小体积的封闭超球体;
步骤4:利用训练好的最优的One-class Deep SVDD模型将待检测样本映射到高维的特征空间,根据是否映射在所形成的具有最小体积的封闭超球体内判断待检测样本是否存在缺陷;
所述正常无缺陷样本为无缺陷的待检测产品的图像,所述待检测样本为待检测产品的图像。
2.根据权利要求1所述的方法,其特征在于,所述步骤2使用正常无缺陷样本对最优的One-class Deep SVDD模型进行训练的过程中,以优化目标函数为目的进行训练,所述目标函数为:
Figure FDA0003132496210000011
其中n为正常无缺陷样本的个数,x1,x2...xn为正常无缺陷样本数据,W为网络权重参数,c为超球球心,
Figure FDA0003132496210000012
函数是网络权重参数W的特征表示;λ为控制正则化的权重,λ>0,L为最优的One-class Deep SVDD结构的网络层数,l∈{1,...L},Wl为每一层的权重参数;||·||F表示F范数。
3.根据权利要求2所述的方法,其特征在于,所述步骤4包括:
利用训练好的最优的One-class Deep SVDD模型将待检测样本映射到高维的特征空间,根据式(7)计算异常分数s:
Figure FDA0003132496210000013
其中W*是训练好的最优的One-class Deep SVDD模型的网络权重参数,c*和R*分别为训练后的超球球心和半径;x表示待检测样本数据;
若待检测样本映射到高维特征空间的异常分数s为负值,则待检测样本无缺陷;若待检测样本映射到高维特征空间的异常分数s为正值,则待检测样本存在缺陷。
4.根据权利要求3所述的方法,其特征在于,所述步骤1使用RDPSO算法自动搜索得到最优的One-class Deep SVDD结构,包括:
步骤(1):初始化粒子群,每一个粒子位置代表一个CNN结构,粒子的个数为N,最大迭代次数设为Max_iter;设定每个粒子的个体最优位置pBesti(t)为其初始位置;
步骤(2):定义适应度函数,计算全局最优粒子位置gBest(t);
步骤(3):根据每个粒子个体最好位置pBesti(t)计算粒子群的平均最优位置mBest(t+1);
步骤(4):根据全局最优粒子位置gBest(t)和每个粒子的个体最优粒子位置pBesti(t),生成每个粒子的吸引子pi(t+1);
步骤(5):根据粒子群平均最优位置mBest(t+1)和每个粒子的吸引子pi(t+1)来更新计算每个粒子的速度Vi(t+1);
步骤(6):根据更新后的速度Vi(t+1)和每个粒子的原位置Pi(t),更新该粒子的位置Pi(t+1);
步骤(7):计算每个粒子更新后位置Pi(t+1)对应的适应度函数值f(Pi(t+1));
步骤(8):更新每个粒子个体最优位置pBesti(t+1)和粒子群全局最优粒子位置gBest(t+1);
步骤(9):重复步骤(3)~步骤(8),直至达到最大迭代次数Max_iter;
最终得到的粒子群全局最优位置即为针对待检测样本的缺陷检测自动搜索到的最优CNN结构,在搜索到的最优CNN结构后接一个svdd模型即得到最优的One-class Deep SVDD结构。
5.根据权利要求4所述的方法,其特征在于,所述步骤(1)初始化粒子群时,用一个粒子来表示一种CNN结构,遵循以下原则:
原则1:随机确定每个粒子的维数,即CNN结构层数,介于3~lmax层之间,lmax表示CNN结构最大层数;
原则2:每个粒子的第一维为卷积层,最后一维为全连接层;
原则3:不在卷积层或池化层之间放置全连接层;
原则4:在添加卷积层时,从1~mapsmax之间随机选择一个数作为输出特征层数,它的内核大小从3×3~kmax×kmax随机选择,其中kmax表示最大卷积内核大小,其内核步幅始终设定为1×1,mapsmax表示最大输出特征层数;
原则5:在添加池化层时,随机从最大池化层或平均池化层中选择,其内核大小固定为2×2,步幅大小固定为2×2;
原则6:在添加全连接层时,其神经元的数量在1~nmax之间随机选择;
原则7:所有层的激活函数始终是Leaky Relu函数;
原则8:根据输入图像大小确定每个粒子中池化层的数量。
6.根据权利要求5所述的方法,其特征在于,所述步骤(3)包括:
(3.1)遍历所有粒子,找到最先出现FC层的位置和最晚出现FC层的位置,分别记为First_FC和Last_FC;找到具有最大维数的粒子,其大小记为max_len;
(3.2)依次处理粒子中每个位置j对应的mBestj值;
(3.3)当j∈[1,First_FC]时:
(3.31)在位置j,分别统计所有粒子中卷积层、最大池化层和平均池化层的数量,并记为num_Conv、num_Maxpool和num_Avepool;
(3.32)计算三个数的最大值,如果有两个或三个数都为最大值,则以等概率的方式设置当前的层类型;
(3.33)如果只有一个数为最大值,则设置第j层为这个数所对应的层类型;
(3.4)当j∈(First_FC,Last_FC]时:
(3.41)在位置j,分别统计所有粒子中卷积层、最大池化层、平均池化层和全连接层的数量,并记为num_Conv、num_Maxpool、num_Avepool和num_FC;
(3.42)计算num_Conv、num_Maxpool、num_Avepool和num_FC的总和,并记为all_num:
(3.43)若
Figure FDA0003132496210000031
则不对此层设置层类型;同时停止遍历,返回得到的平均最优位置mBest(t+1);
(3.44)若
Figure FDA0003132496210000032
则此层是有效位;继续判断第j-1层的层类型是否为全连接层:
如果第j-1层的层类型是全连接层,并且
Figure FDA0003132496210000033
则代表在当前层上所有粒子表示的CNN结构的层类型总和中,全连接层占一半以上,此时第j层的层类型就可以设置为FC层;如果第j-1层的层类型是全连接层,并且
Figure FDA0003132496210000034
则代表当前所有粒子表示的CNN结构的层类型的总和中,全连接层只占一小部分,此层可以视为无效位,不对此层设置层类型,继续下一步操作;
如果第j-1层的层类型不是全连接层,则比较num_Conv、num_Maxpool、num_Avepool和num_FC的大小;计算四个数的最大值,如果有两个或两个以上数都为最大值,则以等概率的方式设置当前的层类型;如果只有一个数为最大值,则设置第j层为这个数所对应的层类型;
(3.5)当j∈(Last_FC,max_len]时:
(3.51)遍历当前求得的mBest(t+1),确定是否已经存在全连接层;
(3.52)如果还没有全连接层,则强制设置当前第j层为全连接层,继续下一层操作;
(3.53)如果已经存在全连接层,则统计当前第j层上所有粒子中全连接层的总数,记为num_FC;
(3.54)如果
Figure FDA0003132496210000041
则将第j层的层类型设置为全连接层,继续下一层操作;
(3.55)如果
Figure FDA0003132496210000042
则不对此层设置层类型,继续下一层操作。
7.根据权利要求6所述的方法,其特征在于,所述步骤(5)包括:
定义以下原则计算两个粒子间的差值:
(5.1)将卷积/池化层与全连接层分开处理;
(5.2)如果两个粒子当前层类型相同,则两个粒子间的差值为0;
(5.3)如果两个粒子当前层类型不相同,则两个粒子间的差值为第一个粒子当前层类型;
(5.4)在当前层,如果第一个粒子的层类型为空,第二个粒子有层类型,则差的结果为-1;
(5.5)在当前层,如果第一个粒子有层类型,第二个粒子的层类型为空,则差的结果为第一个粒子当前层类型;
(5.6)在处理全连接层的时候,当两个粒子的全连接层的层数不同时,对于层数少的那个粒子,需从后向前排列FC层的层类型;
更新每个粒子的速度Vi(t+1)时,遵循下列原则:
原则①:将卷积/池化层与全连接层分开处理;
原则②:设置决策因子cg,然后依次处理每一层;
原则③:对于每一层,生成一个服从均匀分布的随机数机数r,如果r≤cg,则Vi(t+1)当前层类型同(mBest-Pi);如果r>Cg,则Vi(t+1)当前层类型同(pi-Pi)。
8.根据权利要求7所述的方法,其特征在于,所述步骤(6)根据更新后的速度Vi(t+1)和每个粒子的原位置Pi(t),更新该粒子的位置Pi(t+1)时,遵循下列原则:
原则(1):将卷积/池化层与全连接层分开处理;
原则(2):如果Vi(t+1)当前层值为0,则更新后粒子的位置Pi(t+1)当前层类型与原位置Pi(t)当前层类型相同;
原则(3):如果Vi(t+1)当前层值为-1,则更新后粒子的位置Pi(t+1)当前层为无效层;
原则(4):如果Vi(t+1)当前层有层类型,则更新后粒子的位置Pi(t+1)当前层类型与Vi(t+1)当前层类型相同;
原则(5):在处理全连接层的时候,当Vi(t+1)与Pi(t)的全连接层的层数不同时,对于层数少的那个粒子,需从后向前排列FC层的层类型;
原则(6):当位置更新完成后,需检查更新后位置中池化层的数量,如果池化层的数量超过预先设定的值,则从最后一层向第一层遍历,去除多余的池化层。
9.根据权利要求8所述的方法,其特征在于,所述步骤(8)包括:
根据式(3)更新每个粒子个体最优位置pBesti(t+1):
Figure FDA0003132496210000051
根据式(4)和(5)更新粒子群全局最优粒子位置gBest(t+1):
Figure FDA0003132496210000052
gBest(t+1)=pBestg(t+1) (5)。
10.根据权利要求1-9任一所述的方法,其特征在于,所述待检测产品包括织物、皮革、金属制品、瓷板和铝型材。
CN202110716116.5A 2021-06-25 2021-06-25 一种基于自动机器学习的缺陷检测方法 Active CN113393451B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110716116.5A CN113393451B (zh) 2021-06-25 2021-06-25 一种基于自动机器学习的缺陷检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110716116.5A CN113393451B (zh) 2021-06-25 2021-06-25 一种基于自动机器学习的缺陷检测方法

Publications (2)

Publication Number Publication Date
CN113393451A true CN113393451A (zh) 2021-09-14
CN113393451B CN113393451B (zh) 2024-03-29

Family

ID=77624232

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110716116.5A Active CN113393451B (zh) 2021-06-25 2021-06-25 一种基于自动机器学习的缺陷检测方法

Country Status (1)

Country Link
CN (1) CN113393451B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018072351A1 (zh) * 2016-10-20 2018-04-26 北京工业大学 一种基于粒子群优化算法对支持向量机的优化方法
CN108010029A (zh) * 2017-12-27 2018-05-08 江南大学 基于深度学习和支持向量数据描述的织物疵点检测方法
CN111709907A (zh) * 2020-04-26 2020-09-25 江南大学 基于One-Class深度支持向量描述的布匹疵点检测方法
CN112150417A (zh) * 2020-09-08 2020-12-29 苏州岩建智能科技有限公司 基于深度学习的涂布缺陷检测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018072351A1 (zh) * 2016-10-20 2018-04-26 北京工业大学 一种基于粒子群优化算法对支持向量机的优化方法
CN108010029A (zh) * 2017-12-27 2018-05-08 江南大学 基于深度学习和支持向量数据描述的织物疵点检测方法
CN111709907A (zh) * 2020-04-26 2020-09-25 江南大学 基于One-Class深度支持向量描述的布匹疵点检测方法
CN112150417A (zh) * 2020-09-08 2020-12-29 苏州岩建智能科技有限公司 基于深度学习的涂布缺陷检测方法

Also Published As

Publication number Publication date
CN113393451B (zh) 2024-03-29

Similar Documents

Publication Publication Date Title
CN109657584B (zh) 辅助驾驶的改进LeNet-5融合网络交通标志识别方法
CN111832608B (zh) 一种基于单阶段检测模型yolov3的铁谱图像多磨粒识别方法
CN113034483B (zh) 基于深度迁移学习的烟支缺陷检测方法
CN107392919B (zh) 基于自适应遗传算法的灰度阈值获取方法、图像分割方法
CN113408605A (zh) 基于小样本学习的高光谱图像半监督分类方法
CN110532946B (zh) 一种基于卷积神经网络识别绿通车车辆轴型的方法
CN114240892B (zh) 一种基于知识蒸馏的无监督工业图像异常检测方法及系统
CN111582345A (zh) 一种小样本下复杂环境的目标识别方法
CN110874590B (zh) 基于适配器互学习模型的训练及可见光红外视觉跟踪方法
CN111709907B (zh) 基于One-Class深度支持向量描述的布匹疵点检测方法
CN114749342B (zh) 一种锂电池极片涂布缺陷识别方法、装置及介质
Jang et al. Support weighted ensemble model for open set recognition of wafer map defects
CN114419413A (zh) 感受野自适应的变电站绝缘子缺陷检测神经网络构建方法
CN110599459A (zh) 基于深度学习的地下管网风险评估云系统
CN117576079A (zh) 一种工业产品表面异常检测方法、装置及系统
CN112183237A (zh) 基于颜色空间自适应阈值分割的白细胞自动分类方法
CN115393631A (zh) 基于贝叶斯层图卷积神经网络的高光谱图像分类方法
CN113283573B (zh) 一种卷积神经网络最优结构自动搜索方法
Zhang et al. Progressive neural networks for image classification
An et al. A k-means improved ctgan oversampling method for data imbalance problem
CN117788472A (zh) 一种基于dbscan算法的飞机蒙皮表面铆钉腐蚀程度判断的方法
CN112488188B (zh) 一种基于深度强化学习的特征选择方法
CN111860265B (zh) 一种基于样本损失的多检测框损失均衡道路场景理解算法
CN113393451B (zh) 一种基于自动机器学习的缺陷检测方法
CN111723737B (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