CN113902710A - 基于异常检测算法进行工业零件表面缺陷检测方法及*** - Google Patents
基于异常检测算法进行工业零件表面缺陷检测方法及*** Download PDFInfo
- Publication number
- CN113902710A CN113902710A CN202111185034.9A CN202111185034A CN113902710A CN 113902710 A CN113902710 A CN 113902710A CN 202111185034 A CN202111185034 A CN 202111185034A CN 113902710 A CN113902710 A CN 113902710A
- Authority
- CN
- China
- Prior art keywords
- model
- abnormal
- image
- detecting
- 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.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 121
- 230000007547 defect Effects 0.000 title claims abstract description 120
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000002159 abnormal effect Effects 0.000 claims abstract description 100
- 238000012549 training Methods 0.000 claims abstract description 58
- 238000013135 deep learning Methods 0.000 claims abstract description 44
- 230000005856 abnormality Effects 0.000 claims description 16
- 238000000605 extraction Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000010586 diagram Methods 0.000 claims description 11
- 239000013598 vector Substances 0.000 claims description 11
- 230000002950 deficient Effects 0.000 claims description 8
- 238000004821 distillation Methods 0.000 claims description 8
- 238000011176 pooling Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 3
- 238000007405 data analysis Methods 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims description 3
- 238000010276 construction Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 7
- 239000002344 surface layer Substances 0.000 abstract description 6
- 238000013480 data collection Methods 0.000 abstract description 5
- 239000010410 layer Substances 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 13
- 238000004519 manufacturing process Methods 0.000 description 7
- 238000013136 deep learning model Methods 0.000 description 5
- 238000013473 artificial intelligence Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 4
- 230000000007 visual effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013140 knowledge distillation Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011179 visual inspection Methods 0.000 description 2
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000012372 quality testing Methods 0.000 description 1
- 238000004445 quantitative analysis Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
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/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Bioinformatics & Computational Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Geometry (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
本发明属于深度学习异常检测技术领域,公开了基于异常检测算法进行工业零件表面缺陷检测方法及***,获取待检测产品的图像,收集待检测良品件在工业相机下拍摄表层图像数据;将图像输入到teacher‑student异常检测网络模型中进行训练;使用训练完成后产出的模型对缺陷数据与良品数据进行检测;返回检测的结果给客户端,由客户端显示检测结果;将检出的异常区域及区域大小传给软件的客户端,通过软件上的面积阈值判别是否为需剔除缺陷。可满足绝大多数表层结构简单的零件表面异常区域检测。相较于目标检测,节省大量模型训练与数据收集时间,对于项目尽快推进与验收都有极大的促进作用。
Description
技术领域
本发明属于深度学习异常检测技术领域,尤其涉及一种基于深度学习异常检测算法进行工业零件表面的缺陷检测方法及***。
背景技术
目前,在工业缺陷检测领域中,利用深度学习目标检测进行缺陷识别技术已经趋向成熟,但是目标检测的弊端也随之产生,由于零件缺陷数量少,缺陷种类不定,在常规的深度学习目标检测算法中,需要提供大量的缺陷数据供神经网络进行学习,但是由于缺陷的成像有位置、形状、光源等影响因素存在,不同因素会组合成各种各样的缺陷,且可能出现极少数且形态大的未知缺陷,将使得AI目标检测算法学习起来变得异常困难。且工业零件的真实缺陷收集困难,可能持续推迟设备的交付日期,这使得生产方将在节省人力成本上继续投入。
针对大多数工业零件的缺陷,多数采用人工肉眼质检的方式进行检测。但是此方法存在以下缺陷:效率低:检查零件的效率其实考验一个人的熟练程度,工作时间较长将会有更高的检测效率,但是随着工作时间的增加,个人疲惫与懒惰性也会增加,这将降低质检人员的检测效率;漏检风险:随着工作时间增加,个人注意力也会降低,将会带来漏检风险,而机械不会疲惫,不存在这种问题;难界定:由于工业缺陷尺寸都是毫米级别的,人工通过肉眼将较难界别毫米级尺寸的缺陷;量化分析困难:人工判定缺陷将无法进行数据统计,对工厂智能化会带来阻碍;人工成本高:企业将不断对不确定性高的人工质检付出相应的费用,成本效益较低;更进一步采用传统视觉算法,人工非标准化的算法的编写局限性很大,仅通过判断灰度值或者面积进行缺陷判定,误判风险将增加;且编写算法过程复杂,通用性不高,如果型号多的话,每款型号都将耗费算法工程师进行算法编写,人工成本高。而采用深度学习目标检测方法的话,又会因为缺陷数据收集困难,缺陷类别数量固定,遇到新特征缺陷将会失去检测能力。
基于此,本发明提供一种基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,通过对无缺陷零件数据进行学习训练后,将产出的模型部署到设备上后,对设备上相机拍摄到的图像数据进行缺陷检测,并根据异常区域的面积与异常值大小对检出结果进行筛选。
通过上述分析,现有技术存在的问题及缺陷为:
(1)缺陷未知性:只能不断增加已知的缺陷类别,如果将来出现未知类型的缺陷类别,设备将失去其该有的作用,给生产方带来不可估量的损失。
(2)缺陷收集困难:缺陷数据集收集困难,人造或合成的缺陷与真实缺陷相差大,存在低质量样本数据,数据收集周期较长。
(3)低频缺陷拦截困难:即使是已知且数据集充足类别的缺陷,也会出现与此种类别不相近特征的缺陷,可能将出现漏检情况。
解决以上问题及缺陷的难度为:因目标检测检测范围局限性,导致设备将很难拦截与已知数据集中未知类别的缺陷,或者已经类别缺陷的子类别。低频样本很难收集,算法对其检出困难。
解决以上问题及缺陷的意义为:通过深度学习异常检测算法,将避免了低频缺陷数据集收集困难,未知类别缺陷难拦截。对于工业领域的零漏检的高标准更进一步。有效的减少了项目周期,更快速的给企业带来效益。
发明内容
为克服相关技术中存在的问题,本发明公开实施例提供了一种基于深度学习异常检测算法进行工业零件表面的缺陷检测方法及***。所述技术方案如下:
该基于深度学习异常检测算法进行工业零件表面的缺陷检测方法包括以下步骤:
步骤一、获取在待检测物体上结构简单部位的图像,如钢板、纺织类;收集待检测良品件在工业相机下拍摄的表层图像数据,通过检测设备获取零件的无缺陷图像数据;
步骤二、将图像输入到teacher-student异常检测网络模型中进行训练,使得模型提取并学习到无缺陷零件图像上特征,最终训练结束后输出对当前任务建模的一个模型;
步骤三、使用训练完成后产出的模型部署到检测设备上,对流水线上的零件进行检测;模型收到图像后,将推理图像中每一小块区域是否存在异常,若模型检测到异常,则返回给设备客户端缺陷位置坐标、面积及异常分数;
步骤四、客户端收到检测结果后,通过软件上的面积阈值与异常分数判别是否为需剔除缺陷,并将大于阈值的检测结果进行显示;后续软件将剔除信号传给机械plc端;
步骤五、plc收到来自软件给出的信号后,判断此零件是否应该剔除到缺陷料道。
在一个实施例中,其特征在于,步骤二具体包括:
步骤2.1、以resnet18预训练模型作为teacher的蒸馏网络,在reasnet18预训练模型基础上对收集的零件数据集进行蒸馏,使得teacher模型继承resnet18的特性,具备了相同的特征提取能力且体量较小的特性;
步骤2.2:对蒸馏出的teacher模型在收集的数据集中训练出三个student模型;
步骤2.3:使用teacher模型与训练获得的三个student模型作为算法的检测模块对缺陷进行检测;对图像进行特征提取,比较并判断,同时输出图像中异常区域位置与异常值大小。
在一个实施例中,在步骤2.2中,使用teacher模型对取得的良品数据进行训练,且在训练过程中教与其具有同样网络结构的三个student模型,即teacher模型的预测输出作为student模型输出的Ground truth,然后进行反向传播更新三个student模型中的网络节点,最终使得student模型的输出与teacher模型的输出相似,确保四者在训练过程中对同一特征图具备相近输出的条件。
在一个实施例中,在步骤2.3中,对缺陷进行检测的具体方法包括:推理特征图上的一块patch区域,如果四个模型输出的特征向量相近,则可认为是一块合格的patch区域,不相近,则是一块带有异常的patch区域。
在一个实施例中,在步骤2.3中,对缺陷进行检测的具体方法包括:通过计算三个student输出的均值并于teacher模型进行比较,如果相差打则认为是一块异常patch区域;通过计算三个student输出的方差,如果方差较大,则认为三个students输出不相近,被认为是一块由异常的patch区域。
在一个实施例中,所述蒸馏网络中的resnet18预训练模型由2个大小为3×3,数量为64卷积核的卷积层;2个大小为3×3,数量为128卷积核的卷积层;2个大小为3×3,数量为256卷积核的卷积层;2个大小为3×3,数量为512卷积核的卷积层,通过全连接线性变换最终输出维度为1×1组成;
在一个实施例中,所述蒸馏网络中的resnet18预训练模型的具体构建过程为:
对原始输入图像中的一块65×65像素值大小的区域,通过三组卷积、激活、池化模块进行特征提取,再经过两层卷积后输入到全连接层后,将输出降维到1×128的特征向量;
通过比较resnet18预训练模型与teacher模型的输出,通过训练最终使得teacher模型可以继承resnet18预训练模型的特征提取的能力。
在一个实施例中,异常区域包括:异常区域的位置信息、大小信息与异常分数信息。
本发明的另一目的在于提供一种实现所述基于深度学习异常检测算法进行工业零件表面的缺陷检测方法的基于深度学习异常检测算法进行工业零件表面的缺陷检测***,该基于深度学习异常检测算法进行工业零件表面的缺陷检测***包括:
模型训练模块,获取待检测数据的正常样本图像,输入到teacher-student异常检测算法中,进行训练并产出模型;
异常检测模型,用于获取待检测的零件图像,输入到基于深度学习的异常检测算法中,进行异常区域的检测与定位;使用训练后产出的模型对获得到的图像进行检测,如若发现异常区域,则推理出该零件表面的异常区域的位置与异常值。
在一个实施例中,该基于深度学习异常检测算法进行工业零件表面的缺陷检测***还包括:
缺陷判断模块,根据算法计算出的异常区域面积大小与异常值大小,通过设定好的面积与异常值大小共同认定此区域是否为缺陷。
数据分析模块,根据从模型获取的异常区域大小与异常值,该零件进行异常判定。如果面积与异常值大于设定值,则认为是存在异常区域的零件。
结合上述的所有技术方案,本发明所具备的优点及积极效果为:
第一、可满足绝大多数表层结构统一、简单的零件表面异常区域检测。
第二、相较于目标检测,节省大量模型训练与数据收集时间,对于项目尽快推进与验收都有极大的促进作用。
第三、抛弃缺陷类别的定性,对于特征相似的类别,使用目标检测来说两者精度可能都不高,而且难分类别训练起来困难。此***将没有这样的问题,仅对缺陷的特征进行异常评估,异常分高的即可认为是缺陷。而目标检测对未见过的新类别或者已定义的类别的特征不具备检出能力。
第四、推理时间快,在工业场景中零件数量庞大,生产节拍紧凑,该异常检测***的检出速率快,满足绝大数的项目要求。
第五、针对的较大面积异常缺陷,检测准确率可达95%。
当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明的公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本发明实施例提供的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法流程图。
图2是本发明实施例提供的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法中的算法异常检测逻辑图。
图3是本发明实施例提供的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法中的算法异常检测逻辑图。
图4是本发明实施例提供的散热器表面图像检测效果图;
其中,a为检出图像经过后处理将异常区域映射到原图的图像,b为异常检测检出图。
图5是本发明实施例提供的变速箱结合齿内壁图像效果图;
其中,a为原始灰度图,b为异常检出图像。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明。但是本发明能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似改进,因此本发明不受下面公开的具体实施的限制。
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本发明所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。
除非另有定义,本发明所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本发明中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本发明所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。本发明实施例中的图像目标检测技术应用了人工智能技术,为了方便理解,下面对本发明实施例中涉及名词进行解释:
一、深度学习:是机器学习领域中一个新的研究方向,指学习样本数据的内在规律和表示层次,通过设计建立适量的神经元计算节点和多层运算层次结构,通过网络的学习和调优,建立起从输入到输出的函数关系,从而尽可能的逼近现实的关联关系;
二、模型:是深度学习领域中是一种模拟大脑结构的深度学习模型。在深度学习领域中,模型通常被用来对较复杂的任务建模。深度学习模型的规模,包括深度、宽度、计算方式都是可以设定的,因视具体任务而定。因为深度学习模型的学习、表达能力强大,在自然理解、机器视觉、广告投放等领域被广泛的应用。
三、训练:深度学习的训练过程,是根据训练样本的输入和输出,以迭代的方式对深度学习模型中的各个权重参数进行调整直到模型收敛的过程,这也称为深度学习模型的学习过程。训练样本就是标注的数据,训练样本的输入包括数据本身外,还有标注的内容,训练样本的输出是指模型对样本进行推理后得到的预测结果。通过计算标注内容和预测结果的差异来更新模型的权重参数,使预测结果和标注内容差异变小。每次迭代都会进行计算差异和更新参数权重的操作。
四、Teacher-student算法:是一种视觉异常检测算法,将会检测出图像中不符合此型号整体样本分布的区域,并对此异常区域进行异常的分数评估,实现异常区域的检测。
使用本发明提供的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,对在相机成像后图像特征表现一致性的待检测物体提供了新的检出方案,并在缺陷数据集不足的情况下,能够很好的解决漏检问题,可以减少由于深度学习需要积累数据所需,降低各种未知缺陷因的数据量缺少而带来的漏检风险。
该基于深度学习异常检测算法进行工业零件表面的缺陷检测方法包括以下步骤:
S101:获取在待检测物体上结构简单部位的图像,收集待检测良品件在工业相机下拍摄的表层图像数据,通过检测设备获取相应零件的无缺陷数据;
S102:将图像输入到teacher-student异常检测网络模型中进行训练,对整张图像进行异常区域的检测,并对其进行定位;使得模型记住零件的无缺陷特征,并产出一个模型;
S103:使用训练完成后产出的模型对缺陷数据与良品数据进行检测,模型收到图像后,将推理图像中每一小块区域是否存在异常;若模型检测到异常,则返回给客户端缺陷面积及其异常分数;
S104:返回检测的结果给客户端,由客户端显示检测结果;将步骤2中检出的异常区域及区域大小传给软件的客户端,通过软件上的面积阈值可判别是否为需剔除缺陷;
S105:客户端根据模型返回的缺陷大小与异常分数值,判断此缺陷是否需要被剔除。
在步骤S102中,将图像输入到teacher-student异常检测网络模型中进行训练,对整张图像进行异常区域的检测,并对其进行定位;具体方法为:
步骤2.1:使用已经公开的,在公共数据集上具有强力特征提取能力的Resnet18预训练模型,进行知识蒸馏,并产出一个体量小并继承了同样具有较强特征提取能力的模型即teacher模型。
步骤2.2:使用teacher模型对取得的良品数据进行训练,且在训练过程中教与其具有同样网络结构的三个student模型,即teacher模型的预测输出作为student模型输出的Ground truth,然后进行反向传播更新三个student模型中的网络节点,最终使得student模型的输出与teacher模型的输出相似。
步骤2.3:最终使用训练获得的三个student模型与teacher模型进行缺陷检测,通过同时推理特征图上的一块patch区域,如果四个模型输出的特征向量相近,则可认为是一块ok的patch,不相近,则是一块带有异常的patch区域;具体包括:
通过计算三个student输出的均值并于teacher模型进行比较,如果相差打则认为是一块异常patch;通过计算三个student输出的方差,如果方差较大,则认为三个students输出不相近,被认为是一块由异常的patch;通过以上两种方式确定途中异常区域。
在一个实施例中,所述步骤2.1中的蒸馏模型resnet18由2个大小为3×3数量为64卷积核的卷积层,2个大小为3×3,数量为128卷积核的卷积层,2个大小为3×3,数量为256卷积核的卷积层,两个大小为3×3数量为512卷积核的卷积层,通过全连接线性变换最终输出维度为1×1。
对其进行蒸馏的基准模型由5个卷积层和3个最大池化层、与一个线性变化的全连接层组成。五个卷积层包括3个5×5,数量为128、一个4×4数量为256、一个1×1数量为1的卷积核进行降维,3个2×2最大池化层进行特征放大。
具体过程为:对原始输入图像中的一块65×65像素值大小的区域,通过三组卷积、激活、池化模块进行特征提取,再经过两层卷积后输入到全连接层后,将输出降维到1×128的特征向量。通过比较resnet18与teacher模型的输出,通过训练最终使得teacher模型可以继承resnet18的特征提取的能力。
在一个实施例中,teacher模型在此数据集中训练出三个student模型。Teacher模型结构与student模型结构相同,确保四者在训练过程中对同一特征图具备相近输出的条件。
S104中,异常信息包括异常区域的位置、大小与异常分数。
本发明提供的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法可满足绝大多数表层结构统一、简单的零件表面异常区域检测,如图4所示的散热器表面图像检测效果,其形态统一且规则;图4中的a图为检出图像经过后处理将异常区域映射到原图的图像,图4中的b图为异常检测检出图,通过对图像上每块区域进行异常值计算,可检测出图像异常区域,且能达到对异常缺陷区域mask分割的效果。
上图为散热器表面图像,其形态统一且规则,左侧为检出图像经过后处理将异常区域映射到原图的图像,右侧为异常检测检出图,通过对图像上每块区域进行异常值计算,可检测出图像异常区域,且能达到对异常缺陷区域mask分割的效果。
本发明还提供一种基于深度学习异常检测算法进行工业零件表面的缺陷检测***,包括:
模型训练模块,获取待检测数据的正常样本图像,输入到teacher-student异常检测算法中,进行训练并产出模型。
异常检测模型,用于获取待检测的零件图像,输入到基于深度学习的异常检测算法中,进行异常区域的检测与定位;使用训练后产出的模型对获得到的图像进行检测,如若发现异常区域,则推理出该零件表面的异常区域的位置与异常值。
缺陷判断模块,根据算法计算出的异常区域面积大小与异常值大小,通过设定好的面积与异常值大小共同认定此区域是否为缺陷。
数据分析模块,根据从模型获取的异常区域大小与异常值,该零件进行异常判定。如果面积与异常值大于设定值,则认为是存在异常区域的零件。
该基于深度学习异常检测算法进行工业零件表面的缺陷检测***在无缺陷数据情况下,在无较长训练周期与数据集积累情况下,对零件表面的异常区域进行检测。
实施例:
步骤一、对待检测型号进行数据采集,零件在进入设备后来到异常检测工位,通过固定机位的相机拍摄零件,保证拍摄后获取到的零件图像区域位置固定,特征相近。
步骤二、将步骤1采集到的图像数据传到设备客户端中,客户端收到图后传给异常检测算法进行缺陷检测。
步骤三、异常检测算法推理出异常区域的位置与异常值后,将组成json串的形式返回给设备上的客户端。
步骤四、设备上的客户端对于算法返回的异常区域大小与数值进行筛选,首先判断异常值大小,如果大于设备设定值则继续判断异常区域面积,若大于设备设定的阈值时,则认为是缺陷。
作为本发明的优选实施例,在步骤S01之前,还包括***检测模块的生成步骤如下:预先获取该零件图像,人工确认图像上没有任何异常,然后将图像和标注数据输入步骤二的网络中进行模型训练,首先蒸馏出teacher模型,然后通过蒸馏出的teacher模型训练student模型,使得三个student模型能学习到teacher模型在无异常数据中的深层特征分布,最后通过蒸馏出的teacher模型与student模型去判断图中的一场区域。
在步骤二中,用来检测的模型获得方式如图所示,具体包括:
步骤2.1:使用已经公开的,在公共数据集上具有强力特征提取能力的Resnet18预训练模型,进行知识蒸馏,并产出一个体量小并继承了同样具有较强特征提取能力的模型即teacher模型。
步骤2.2:使用teacher模型对取得的良品数据进行训练,且在训练过程中教授与其具有同样网络结构的三个student模型,即teacher模型的预测输出作为student模型输出的Ground truth,然后进行反向传播更新三个student模型中的网络节点,最终使得student模型的输出与teacher模型的输出相似。
步骤2.3:最终使用训练获得的三个student模型与teacher模型进行缺陷检测,通过同时推理特征图上的一块patch区域,如果四个模型输出的特征向量相近,则可认为是一块ok的patch,不相近,则是一块带有异常的patch区域。
在步骤三中,模型进行推理预测后将产出四个结果,如图2所示,一个teacher模型、三个yolo模型。通过两个方面共同判断异常区域。
步骤3.1:通过计算teacher模型与三个student模型的输出误差,因为在训练的时候学生网络没有见过异常区域教师网络输出的描述符,所以对于图中的异常区域,学生网络不能回归教师网络的输出。所以如果两者输出误差越大,则越认为是一块异常区域。
步骤3.2:三个student模型在对图中每个patch进行推理的时候,由于学生网络都是学习同一个teacher模型在正常样本中的特征输出,所以学生网络们在无异常区域预测相似,在那些训练时没见过的区域预测出的结果不同,基于此可以计算出三个student模型的输出方差,若计算出的方差大则证明三者输出不相同,则认为是异常区域。
针对现有技术存在的问题,实施例提供一种检测无缺陷数据下工业零件的方法,应用于生产流水线上零件表层在在线检测场景中,下面对本发明作详细的描述。
在各机位相机上获取零件各个角度的表层图像,经过数据分发器分别发送到各个运算服务器中进行运算处理,各个服务器收到图片后,输入到基于teacher-student异常检测算法中,进行图像上缺陷区域的检测;
各个服务器将检测输出结果经过汇总进行输出,输出数据包括:零件表面缺陷区域位置坐标、面积大小于缺陷异常分数。检测***收到各个服务器的数据后,会统计各个缺陷的数量,根据事先设定好的缺陷参数阈值进行剔除。
本发明实例中,获取零件表层图像时,可以在线同步获取生产流水线上的零件图像,从而对生产流水线上的零件进行在线检测。由于异常检测算法推理时间快,所以可以满足大多数工业场景的缺陷检测,极大的降低了检测过程对工业生产速度的影响。
本发明实施例中缺陷包括可能在零件表层出现的各种异常情况,如落在零件上的漂浮异物、生产工艺引起的磕碰与缺料、生锈等,现有的人工肉眼目检存在视觉疲劳的风险在,存在漏检可能。而传统视觉算法编写困难,稳定性差。而深度学习视觉检测需要大量缺陷数据进行支撑,周期长且缺陷种类相对固定。而本发明实例中的算法克服了以上困难,极大的减少了工业场景中缺陷检测的种种弊端、提高了深度学习在工业场景中的视觉检测缺陷的能力。
采用深度学习算法teacher-student作为缺陷检测的主要算法,使用具有强力特征提取能力的resnet50算法作为teacher模型的蒸馏网络,使得获取的小型teacher网络也能具备高效的特征提取能力与快速的推理能力,通过教授三个student网络使得student网络也同样具备对此数据集有与teacher模型能够提取出相同的特征,来满足工业场景这种高效的检出。并且可以通过模型对异常区域的回归计算异常区域的大小与异常分数值。
本发明实施例中,异常检测模型通过预先进行深度学习及模型训练得到。具体的,预先获取多个训练无异常样本,并进行人工确认;将所述的训练样本输入到基于teacher-student异常检测算法中进行训练,调整针对改零件与缺陷的模型参数,得到所述异常检测模型
如图5所示的变速箱结合齿内壁图像,图5中的a图为原始灰度图,b图为异常检出图像,b图中右侧为衡量异常区域的指标,越异常的区域颜色越深,此图可得出模型检出不将对缺陷进行类别定性,仅检出认为异常较大的区域
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围应由所附的权利要求来限制。
Claims (10)
1.一种基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,其特征在于,所述基于深度学习异常检测算法进行工业零件表面的缺陷检测方法包括以下步骤:
步骤一、获取在待检测物体上结构简单部位的图像,收集待检测良品件在工业相机下拍摄表层图像数据,通过检测设备获取相应零件的无缺陷数据;
步骤二、将图像输入到teacher-student异常检测网络模型中进行训练,对整张图像进行异常区域的检测,并进行定位;使得模型记住零件的无缺陷特征,并产出一个模型;
步骤三、使用训练完成后产出的模型对缺陷数据与良品数据进行检测;模型收到图像后,将推理图像中每一小块区域是否存在异常;若模型检测到异常,则返回给客户端缺陷面积及异常分数;
步骤四、返回检测的结果给客户端,由客户端显示检测结果;将检出的异常区域及区域大小传给软件的客户端,通过软件上的面积阈值判别是否为需剔除缺陷;
步骤五、客户端根据模型返回的缺陷大小与异常分数值,判断此缺陷是否需要被剔除。
2.根据权利要求1所述的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,其特征在于,步骤二具体包括:
步骤2.1、以resnet18预训练模型作为teacher的蒸馏网络,在reasnet18预训练模型基础上对收集的零件数据集进行蒸馏,使得teacher模型继承resnet18的特性,具备了相同的特征提取能力且体量较小的特性;
步骤2.2:对蒸馏出的teacher模型在收集的数据集中训练出三个student模型;
步骤2.3:使用teacher模型与训练获得的三个student模型作为算法的检测模块对缺陷进行检测;对图像进行特征提取,比较并判断,同时输出图像中异常区域位置与异常值大小。
3.根据权利要求2所述的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,其特征在于,在步骤2.2中,使用teacher模型对取得的良品数据进行训练,且在训练过程中教与其具有同样网络结构的三个student模型,即teacher模型的预测输出作为student模型输出的Ground truth,然后进行反向传播更新三个student模型中的网络节点,最终使得student模型的输出与teacher模型的输出相似,确保四者在训练过程中对同一特征图具备相近输出的条件。
4.根据权利要求2所述的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,其特征在于,在步骤2.3中,对缺陷进行检测的具体方法包括:推理特征图上的一块patch区域,如果四个模型输出的特征向量相近,则可认为是一块合格的patch区域,不相近,则是一块带有异常的patch区域。
5.根据权利要求2所述的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,其特征在于,在步骤2.3中,对缺陷进行检测的具体方法包括:通过计算三个student输出的均值并于teacher模型进行比较,如果相差打则认为是一块异常patch区域;通过计算三个student输出的方差,如果方差较大,则认为三个students输出不相近,被认为是一块由异常的patch区域。
6.根据权利要求2所述的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,其特征在于,所述蒸馏网络中的resnet18预训练模型由2个大小为3×3,数量为64卷积核的卷积层;2个大小为3×3,数量为128卷积核的卷积层;2个大小为3×3,数量为256卷积核的卷积层;2个大小为3×3,数量为512卷积核的卷积层,通过全连接线性变换最终输出维度为1×1组成。
7.根据权利要求5所述的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,其特征在于,所述蒸馏网络中的resnet18预训练模型的具体构建过程为:
对原始输入图像中的一块65×65像素值大小的区域,通过三组卷积、激活、池化模块进行特征提取,再经过两层卷积后输入到全连接层后,将输出降维到1×128的特征向量;
通过比较resnet18预训练模型与teacher模型的输出,通过训练最终使得teacher模型可以继承resnet18预训练模型的特征提取的能力。
8.根据权利要求1所述的基于深度学习异常检测算法进行工业零件表面的缺陷检测方法,其特征在于,异常区域包括:异常区域的位置信息、大小信息与异常分数信息。
9.一种实现如权利要求1-8任意一项所述基于深度学习异常检测算法进行工业零件表面的缺陷检测方法的基于深度学习异常检测算法进行工业零件表面的缺陷检测***,其特征在于,该基于深度学习异常检测算法进行工业零件表面的缺陷检测***包括:
模型训练模块,获取待检测数据的正常样本图像,输入到teacher-student异常检测算法中,进行训练并产出模型;
异常检测模型,用于获取待检测的零件图像,输入到基于深度学习的异常检测算法中,进行异常区域的检测与定位;使用训练后产出的模型对获得到的图像进行检测,如若发现异常区域,则推理出该零件表面的异常区域的位置与异常值。
10.根据权利要求9所述的基于深度学习异常检测算法进行工业零件表面的缺陷检测***,其特征在于,该基于深度学习异常检测算法进行工业零件表面的缺陷检测***还包括:
缺陷判断模块,根据算法计算出的异常区域面积大小与异常值大小,通过设定好的面积与异常值大小共同认定此区域是否为缺陷;
数据分析模块,根据从模型获取的异常区域大小与异常值,该零件进行异常判定,如果面积与异常值大于设定值,则认为是存在异常区域的零件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111185034.9A CN113902710A (zh) | 2021-10-12 | 2021-10-12 | 基于异常检测算法进行工业零件表面缺陷检测方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111185034.9A CN113902710A (zh) | 2021-10-12 | 2021-10-12 | 基于异常检测算法进行工业零件表面缺陷检测方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113902710A true CN113902710A (zh) | 2022-01-07 |
Family
ID=79191465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111185034.9A Pending CN113902710A (zh) | 2021-10-12 | 2021-10-12 | 基于异常检测算法进行工业零件表面缺陷检测方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113902710A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115471645A (zh) * | 2022-11-15 | 2022-12-13 | 南京信息工程大学 | 一种基于u型学生网络的知识蒸馏异常检测方法 |
WO2024000372A1 (zh) * | 2022-06-30 | 2024-01-04 | 宁德时代新能源科技股份有限公司 | 一种缺陷检测的方法和装置 |
CN117437221A (zh) * | 2023-12-18 | 2024-01-23 | 浙江祥晋汽车零部件股份有限公司 | 一种基于图像检测的亮饰条检测方法及*** |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111460991A (zh) * | 2020-03-31 | 2020-07-28 | 科大讯飞股份有限公司 | 异常检测方法、相关设备及可读存储介质 |
US20200364905A1 (en) * | 2019-05-16 | 2020-11-19 | Keyence Corporation | Image Inspection Apparatus |
JP2021064215A (ja) * | 2019-10-15 | 2021-04-22 | 日本製鉄株式会社 | 表面性状検査装置及び表面性状検査方法 |
CN112801298A (zh) * | 2021-01-20 | 2021-05-14 | 北京百度网讯科技有限公司 | 异常样本检测方法、装置、设备和存储介质 |
CN112991330A (zh) * | 2021-04-19 | 2021-06-18 | 征图新视(江苏)科技股份有限公司 | 基于知识蒸馏的正样本工业缺陷检测方法 |
WO2021191908A1 (en) * | 2020-03-25 | 2021-09-30 | Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. | Deep learning-based anomaly detection in images |
-
2021
- 2021-10-12 CN CN202111185034.9A patent/CN113902710A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200364905A1 (en) * | 2019-05-16 | 2020-11-19 | Keyence Corporation | Image Inspection Apparatus |
JP2021064215A (ja) * | 2019-10-15 | 2021-04-22 | 日本製鉄株式会社 | 表面性状検査装置及び表面性状検査方法 |
WO2021191908A1 (en) * | 2020-03-25 | 2021-09-30 | Yissum Research Development Company Of The Hebrew University Of Jerusalem Ltd. | Deep learning-based anomaly detection in images |
CN111460991A (zh) * | 2020-03-31 | 2020-07-28 | 科大讯飞股份有限公司 | 异常检测方法、相关设备及可读存储介质 |
CN112801298A (zh) * | 2021-01-20 | 2021-05-14 | 北京百度网讯科技有限公司 | 异常样本检测方法、装置、设备和存储介质 |
CN112991330A (zh) * | 2021-04-19 | 2021-06-18 | 征图新视(江苏)科技股份有限公司 | 基于知识蒸馏的正样本工业缺陷检测方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024000372A1 (zh) * | 2022-06-30 | 2024-01-04 | 宁德时代新能源科技股份有限公司 | 一种缺陷检测的方法和装置 |
US11978189B2 (en) | 2022-06-30 | 2024-05-07 | Contemporary Amperex Technology Co., Limited | Defect detection method and apparatus |
CN115471645A (zh) * | 2022-11-15 | 2022-12-13 | 南京信息工程大学 | 一种基于u型学生网络的知识蒸馏异常检测方法 |
CN117437221A (zh) * | 2023-12-18 | 2024-01-23 | 浙江祥晋汽车零部件股份有限公司 | 一种基于图像检测的亮饰条检测方法及*** |
CN117437221B (zh) * | 2023-12-18 | 2024-04-26 | 浙江祥晋汽车零部件股份有限公司 | 一种基于图像检测的亮饰条检测方法及*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113902710A (zh) | 基于异常检测算法进行工业零件表面缺陷检测方法及*** | |
CN112508105B (zh) | 一种采油机故障检测与检索方法 | |
CN108346144B (zh) | 基于计算机视觉的桥梁裂缝自动监测与识别方法 | |
CN110648305B (zh) | 工业图像检测方法、***与计算机可读记录介质 | |
CN108885700A (zh) | 数据集半自动标记 | |
CN109060817B (zh) | 人工智能复检***及其方法 | |
CN106875373A (zh) | 基于卷积神经网络剪枝算法的手机屏幕mura缺陷检测方法 | |
KR20190075707A (ko) | 딥러닝을 이용한 양품 선별 방법 | |
CN113920107A (zh) | 一种基于改进yolov5算法的绝缘子破损检测方法 | |
CN107369155A (zh) | 一种基于机器视觉的布匹表面疵点检测方法及其*** | |
US12056210B2 (en) | AI-based pre-training model determination system, and AI-based vision inspection management system using same for product production lines | |
CN109001211A (zh) | 基于卷积神经网络的长输管道焊缝检测***及方法 | |
CN112836719B (zh) | 一种融合二分类和三元组的示功图相似性检测方法 | |
CN117115147A (zh) | 一种基于机器视觉的纺织品检测方法及*** | |
CN111783616B (zh) | 一种基于数据驱动自学习的无损检测方法 | |
CN111402249B (zh) | 基于深度学习的图像演化分析方法 | |
CN117152119A (zh) | 一种基于图像处理的型材瑕疵视觉检测方法 | |
CN115070780A (zh) | 基于数字孪生的工业机器人抓取方法、装置及存储介质 | |
CN115546223A (zh) | 一种列车车下设备紧固螺栓的缺失检测方法和*** | |
CN113592813B (zh) | 基于深度学习语义分割的新能源电池焊接缺陷检测方法 | |
CN117406027A (zh) | 一种配电网故障测距方法及其*** | |
CN115294009A (zh) | 一种基于机器学习检测电池极耳焊接缺陷的方法、设备及存储介质 | |
CN113554645A (zh) | 基于wgan的工业异常检测方法和装置 | |
CN114782362B (zh) | 一种基于深度迁移学习的焊接智能检测*** | |
CN112508946B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220107 |
|
RJ01 | Rejection of invention patent application after publication |