CN117314880A - 图像缺陷检测方法及装置 - Google Patents
图像缺陷检测方法及装置 Download PDFInfo
- Publication number
- CN117314880A CN117314880A CN202311358280.9A CN202311358280A CN117314880A CN 117314880 A CN117314880 A CN 117314880A CN 202311358280 A CN202311358280 A CN 202311358280A CN 117314880 A CN117314880 A CN 117314880A
- Authority
- CN
- China
- Prior art keywords
- defect
- image
- area
- detection result
- category
- 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
- 230000007547 defect Effects 0.000 title claims abstract description 635
- 238000001514 detection method Methods 0.000 title claims abstract description 202
- 238000000034 method Methods 0.000 claims abstract description 25
- 238000005520 cutting process Methods 0.000 claims description 7
- 230000002708 enhancing effect Effects 0.000 claims description 4
- 238000004590 computer program Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 14
- 238000003860 storage Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000012549 training Methods 0.000 description 6
- 238000000605 extraction Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 239000003086 colorant Substances 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009776 industrial production Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 230000037303 wrinkles Effects 0.000 description 1
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
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
- G06V10/7747—Organisation of the process, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
Abstract
本申请涉及产品缺陷检测领域,具体涉及一种图像缺陷检测方法及装置。该检测方法包括:获取待检测图像和预训练的缺陷检测模型,将待检测图像输入至缺陷检测模型的第一级识别器并获取第一级识别器输出的第一缺陷检测结果和第二缺陷检测结果,从待检测图像中获取包含第二缺陷区域的缺陷子图并获取第二级识别器输出的第三缺陷检测结果。通过该检测方法可以直接检出待检测图像中易于识别的第一类别缺陷并初步确定易混淆缺陷所属的第二缺陷类别,由第二级识别器检出易混淆缺陷的具体缺陷类型,可提高检测速度以及检测结果准确率。
Description
技术领域
本申请涉及产品缺陷检测领域,尤其涉及一种图像缺陷检测方法及装置。
背景技术
随着深度学习等人工智能技术的飞速发展,网络模型的数据处理能力变得越来越强,被广泛应用到各类应用场景。其中,在工业生产领域,可以通过训练模型来对产品进行缺陷检测,从而识别出产品中的合格品与不良品,保证产品的出厂质量。
然而,由于产品类型众多,不同产品的缺陷也是多种多样。当通过深度学习模型来进行缺陷检测时,缺陷尺度差异大、图像背景复杂等因素容易导致模型学习困难,造成模型检出结果类间混淆严重、准确率低等问题。
发明内容
本申请实施例提供一种图像缺陷检测方法及装置,以解决缺陷检测中检测速度慢、准确率低的问题。
第一方面,本申请实施例提供一种图像缺陷检测方法,包括:
获取待检测图像和预训练的缺陷检测模型;其中,缺陷检测模型包括第一级识别器和第二级识别器,第一级识别器用于识别输入图像中属于第一缺陷类别或第二缺陷类别的缺陷区域,第二级识别器用于根据输入的图像和第二缺陷类别识别第三缺陷类别的缺陷区域;
将待检测图像输入至缺陷检测模型的第一级识别器;
获取第一级识别器输出的第一缺陷检测结果和第二缺陷检测结果,第一缺陷检测结果包括第一缺陷区域和第一缺陷类别,第二缺陷检测结果包括第二缺陷区域和第二缺陷类别;
从待检测图像中获取包含第二缺陷区域的缺陷子图,并将缺陷子图和第二缺陷类别输入缺陷检测模型的第二级识别器;
获取第二级识别器输出的第三缺陷检测结果,第三缺陷检测结果包括第三缺陷区域和第三缺陷类别。
在一种可能的实现方式中,从待检测图像中获取包含第二缺陷区域的缺陷子图包括:
根据第二缺陷区域中的缺陷特征确定缺陷轮廓外接图形;
沿缺陷轮廓外接图形向外扩展预设像素宽度,得到目标检测区域;
根据目标检测区域的灰度值裁剪目标检测区域,得到缺陷子图。
在一种可能的实现方式中,根据目标检测区域的灰度值裁剪目标检测区域,得到缺陷子图包括:
根据第二缺陷类别确定灰度阈值;
从目标检测区域中提取灰度值大于灰度阈值的像素点;
根据提取的像素点裁剪目标检测区域;
根据第二级识别器的输入格式,调整裁剪后的目标检测区域的尺度,得到缺陷子图。
在一种可能的实现方式中,在将缺陷子图和第二缺陷类别输入缺陷检测模型的第二级识别器之前,还包括:
根据第二缺陷类别确定缺陷子图的目标图像通道;
增强缺陷子图在目标图像通道下的图像数据。
在一种可能的实现方式中,在将待检测图像输入至缺陷检测模型的第一级识别器之前,还包括:
获取预设的缺陷图像样本,缺陷图像样本包括预先标注的缺陷区域和缺陷类别;
将包含第一类缺陷和第二类缺陷的缺陷图像样本输入至缺陷检测模型的第一级识别器;
根据预先标注的缺陷区域和缺陷类别,计算第一级识别器的输出结果的第一误差值;
根据第一误差值调整第一级识别器的参数。
在一种可能的实现方式中,在根据第一误差值调整第一级识别器的参数之后,还包括:
将包含第二类缺陷的缺陷图像样本以及第二类缺陷的缺陷类别输入至缺陷检测模型的第二级识别器;
根据预先标注的缺陷区域和缺陷类别,计算第二级识别器的输出结果的第二误差值;
根据第二误差值调整第二级识别器的参数。
在一种可能的实现方式中,在获取缺陷检测模型输出的第三缺陷检测结果之后,还包括:
获取预设的缺陷参数指标;
根据缺陷参数指标,选取第一缺陷检测结果和/或第三缺陷检测结果中的缺陷类别,生成最终缺陷检测结果。
在一种可能的实现方式中,根据缺陷参数指标,选取第一缺陷检测结果和/或第三缺陷检测结果中的缺陷类别,生成最终缺陷检测结果包括:
根据第一缺陷类别确定第一缺陷区域的第一缺陷参数指标;
根据第一缺陷参数指标计算第一缺陷区域的第一特征值;
如果第一特征值大于或等于预设的第一参数阈值,选取第一缺陷类别生成最终缺陷检测结果。
在一种可能的实现方式中,根据缺陷参数指标,选取第一缺陷检测结果和/或第三缺陷检测结果中的缺陷类别,生成最终缺陷检测结果包括:
根据第三缺陷类别确定第三缺陷区域的第三缺陷参数指标;
根据第三缺陷参数指标计算第三缺陷区域的第三特征值;
如果第三特征值大于或等于预设的第三参数阈值,选取第三缺陷类别生成最终缺陷检测结果。
第二方面,本申请提供一种图像缺陷检测装置,包括:
第一获取模块,用于获取待检测图像和预训练的缺陷检测模型;其中,缺陷检测模型包括第一级识别器和第二级识别器,第一级识别器用于识别输入图像中属于第一缺陷类别或第二缺陷类别的缺陷区域,第二级识别器用于根据输入的图像和第二缺陷类别识别第三缺陷类别的缺陷区域;
第一输入模块,用于将待检测图像输入至缺陷检测模型的第一级识别器;
第二获取模块,用于获取第一级识别器输出的第一缺陷检测结果和第二缺陷检测结果,第一缺陷检测结果包括第一缺陷区域和第一缺陷类别,第二缺陷检测结果包括第二缺陷区域和第二缺陷类别;
第二输入模块,用于从待检测图像中获取包含第二缺陷区域的缺陷子图,并将缺陷子图和第二缺陷类别输入缺陷检测模型的第二级识别器;
第三获取模块,用于获取第二级识别器输出的第三缺陷检测结果,第三缺陷检测结果包括第三缺陷区域和第三缺陷类别。
第三方面,本申请提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器从存储器中调用并执行计算机程序时实现上述第一方面所述的图像缺陷检测方法的步骤。
第四方面,本申请提供一种计算机存储介质,计算机存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的图像缺陷检测方法的步骤。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述第一方面所述的图像缺陷检测方法的步骤。
通过本申请提供的技术方案,可以通过缺陷检测模型的第一级识别器可以直接检出待检测图像中易于识别的第一类别缺陷,并将识别难度更高、容易混淆的第三类别缺陷初步确定出所属的第二类别,将该类别和对应的缺陷子图输入第二级识别器,通过第二级识别器检出第二类别下具体的第三类别缺陷。这样,第一级识别器可以过滤掉大量背景区域以及直接检出一些简单缺陷,第二级识别器可以直接对缺陷子图中特定类别的易混淆缺陷进行识别,可增强对复杂缺陷的针对性,提高检测模型对类间特征的识别能力,提高检测速度和检测准确率。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中提供的一种计算机设备的结构框图;
图2为本申请实施例中提供的一种图像缺陷检测方法的流程示意图;
图3为本申请实施例中提供的一种从待检测图像中获取缺陷子图的流程示意图;
图4为本申请实施例中提供的一种根据灰度值裁剪目标检测区域的流程示意图;
图5为本申请实施例中提供的一种增强缺陷子图的流程示意图;
图6为本申请实施例中提供的一种缺陷检测模型训练过程的流程示意图;
图7为本申请另一实施例中提供的一种缺陷检测模型训练过程的流程示意图;
图8为本申请实施例中提供的一种根据缺陷参数指标生成最终缺陷检测结果的流程示意图;
图9为本申请实施例中提供的一种根据缺陷参数指标选取缺陷类别的流程示意图;
图10为本申请另一实施例中提供的一种根据缺陷参数指标选取缺陷类别的流程示意图;
图11为本申请实施例中提供的一种图像缺陷检测装置的结构框图。
具体实施方式
为便于对申请的技术方案进行,以下首先在对本申请所涉及到的一些概念进行说明。
需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。
本申请中说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明。应该理解这样使用的用语在适当情况下可以互换。
术语“包括”和“具有”以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的所有组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
在工业生产场景中,为提高产品的检测效率,可以采用深度学习模型对产品的图像进行检测,通过训练好的模型来检出产品图像中的缺陷。然而,由于不同产品的材质、纹理、颜色不同,产品图像中的缺陷类型不一,一些尺寸相近但类型不同的缺陷极易混淆,使得模型训练难度大,检测准确率低。
为解决缺陷检测中的技术问题,本申请实施例提供一种图像缺陷检测方法及装置,用以提高产品缺陷检测的效率。接下来,将通过实施例并结合附图具体地对本申请的技术方案,以及本申请的技术方案如何解决上述技术问题进行详细说明。各实施例之间可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。显然,所描述的实施例是本申请实施例一部分实施例,而不是全部的实施例。
在一个示例性实施例中,本申请可以利用计算机设备对待检测产品的待检测图像进行缺陷检测,从而得到待检测产品的缺陷检测结果。
在一种可能的实现方式中,该计算机设备的结构如图1所示,该计算机设备100包括至少一个处理器110、存储器120、通信总线130,以及至少一个通信接口140。
其中,处理器110可以是一个通用中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)、微处理器,或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(Application-Specific Integrated Circuit,ASIC),可编程逻辑器件(Programmable Logic Device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD),现场可编程逻辑门阵列(Field-Programmable Gate Array,FPGA),通用阵列逻辑(Generic Array Logic,GAL)或其任意组合。
处理器110可以包括一个或多个CPU。计算机设备100可以包括多个处理器110。这些处理器110中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。需要说明的是,这里的处理器110可以指一个或多个设备、电路和/或用于处理数据(如计算机程序指令)的处理核。
存储器120可以是只读存储器(Read-Only Memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(Random Access Memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,还可以是电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。可选地,存储器120可以是独立存在,并通过通信总线130与处理器110相连接;存储器120也可以和处理器110集成在一起。
通信总线130用于在各组件之间(比如处理器和存储器之间)传送信息,通信总线120可以分为地址总线、数据总线、控制总线等。为便于表示,图1中仅用一条通信总线进行示意,但并不表示仅有一根总线或一种类型的总线。通信接口140用于供该计算机设备100与其它设备或通信网络进行通信。
通信接口140包括有线通信接口或无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(Wireless Local Area Networks,WLAN)接口、蜂窝网络通信接口或其组合等。
在一些实施例中,存储器120可以用于存储执行本申请方案的计算机程序,处理器110可以执行存储器120中存储的计算机程序。例如,该计算机设备100可以通过处理器110调用并执行存储在存储器120中的计算机程序,以实现本申请实施例提供的图像缺陷检测方法的步骤。应该理解的是,本申请提供的图像缺陷检测方法,可以应用于图像缺陷检测装置,该图像缺陷检测装置可以通过软件、硬件或者软硬件结合的方式实现成为处理器110的部分或者全部,集成在计算机设备100中。
参见图2,本申请实施例提供一种图像缺陷检测方法,该检测方法包括:
步骤S210,获取待检测图像和预训练的缺陷检测模型。
其中,缺陷检测模型包括第一级识别器和第二级识别器,第一级识别器用于识别输入图像中属于第一缺陷类别或第二缺陷类别的缺陷区域,第二级识别器用于根据输入的图像和第二缺陷类别识别第三缺陷类别的缺陷区域。待检测图像可以是采集待检测产品得到的任意图像,可以是待检测产品的一个侧面的图像,也可以是待检测产品某一部位或某一结构的图像。例如,对于工件缺陷识别,待检测物体就可以为工件,通过高清摄像头等专业成像设备对工件进行全方位扫描或拍摄,进而得到工件的待检测图像。
在一些实施例中,第一缺陷类别可以是产品图像中特征明显、易于识别的缺陷,第三缺陷类别可以是特征不明显、不易于识别的缺陷,第二缺陷类别可以是多个第三缺陷类别的集合。
例如,在一些玻璃材质或金属材质的产品中可能会出现斑点、变形、气泡、毛刺等多种类别的缺陷,斑点表现出来的特征相对更明显一些,识别难度较低;气泡、毛刺等缺陷更加细小,特征容易混淆,还容易与产品本身的正常特征结合,识别难度较高。针对这种情况,在一些实现方式中,可以将斑点、变形等识别难度低的缺陷作为第一缺陷类别,通过第一级识别器直接检出具体的缺陷类型;将气泡、毛刺等识别难度较高的缺陷分别作为一种第三缺陷类别的缺陷,并可以将多个易混淆的第三缺陷类别的缺陷(如气泡、毛刺)统一作为一个大类(第二缺陷类别),在第一级识别器进行检测时,如果图像中存在气泡或毛刺等第三类难以识别的细微缺陷,可以不直接检测第三缺陷类别的缺陷,而是检出其所属的第二缺陷类别。在一些其他实施方式中,也可以根据缺陷特征在图像中的面积来确定不同缺陷所属的缺陷类别。
在一些可能的实现方式中,可以预先收集待检测产品的缺陷信息,根据这些缺陷信息可以构建缺陷特征信息库并确定缺陷类别,令第一级识别器和第二级识别器分别学习缺陷特征信息库中不同类别的缺陷。第一级识别器和第二级识别器可以采用基于CNN(Convolutional Neural Network,卷积神经网络)算法构建,也可以采用集成学习等其他机器学习算法构建。
在一个具体的实施例中,产品的缺陷特征信息库中包括缺陷A(斑点)、缺陷B(变形)、缺陷C(气泡)、缺陷D(毛刺)、缺陷E(褶皱)、缺陷F(划痕)、缺陷G(裂纹)共七种具体的缺陷,缺陷A和缺陷B特征明显,可以将缺陷A和缺陷B划归到第一缺陷类别供第一级识别器学习,这样第一级识别器可以直接检出图像中存在的缺陷A、缺陷B;缺陷C、缺陷D、缺陷E在图像中易于混淆,缺陷F、缺陷G在图像中易于混淆,可以将缺陷C、缺陷D、缺陷E、缺陷F、缺陷G划归到第三缺陷类别供第二级识别器学习具体的缺陷特征。此外,还可以将缺陷C(气泡)、缺陷D(毛刺)、缺陷E(褶皱)作为一个综合类缺陷M(点状缺陷),将缺陷F(划痕)、缺陷G(裂纹)作为一个综合类缺陷N(线状缺陷),供第一级识别器学习,这样第一级识别器可以确定缺陷特征为缺陷M或缺陷N,再由第二级识别器识别出该缺陷M具体为缺陷C、缺陷D、缺陷E中的一个,或者缺陷N具体为缺陷F、缺陷G中的一个。可以理解的是,在该实施例中,缺陷A(斑点)、缺陷B(变形)为第一缺陷类别,缺陷M(点状缺陷)、缺陷N(线状缺陷)为第二缺陷类别,缺陷C(气泡)、缺陷D(毛刺)、缺陷E(褶皱)、缺陷F(划痕)、缺陷G(裂纹)为第三缺陷类别。
步骤S220,将待检测图像输入至缺陷检测模型的第一级识别器。
在一些可能的实现方式中,第一级识别器可以被配置为接收图像数据并识别图像中属于第一缺陷类别和/或第二缺陷类别的缺陷,并可以将缺陷特征区域和缺陷类别作为结果输出。
步骤S230,获取第一级识别器输出的第一缺陷检测结果和第二缺陷检测结果。
其中,第一缺陷检测结果包括第一缺陷区域和第一缺陷类别,第二缺陷检测结果包括第二缺陷区域和第二缺陷类别。
在一些可能的实现方式中,第一缺陷区域可以是一个,也可以是多个,每个缺陷区域至少包括一个缺陷A或缺陷B。第二缺陷区域可以是一个,也可以是多个,每个缺陷区域至少包括一个缺陷M或缺陷N。
步骤S240,从待检测图像中获取包含第二缺陷区域的缺陷子图,并将缺陷子图和第二缺陷类别输入缺陷检测模型的第二级识别器。
在一些可能的实现方式中,在得到第一级识别器输出的第二缺陷类别(例如缺陷M)后,可以从待检测图像中截取包含该类特征区域的缺陷子图,并将该缺陷子图和缺陷所属的第二缺陷类别(缺陷M)输入第二级识别器。其中,第二级识别器可以被配置为根据第二缺陷类别识别出缺陷子图中的具体缺陷类别(第三缺陷类别)。在一些具体实施方式中,获取缺陷子图可以通过预先设置特定像素大小的提取框在待检测图像中进行截取,也可以通过ROI(Region of Interest,感兴趣区域)截取等其他图像处理方式进行提取。
步骤S250,获取第二级识别器输出的第三缺陷检测结果。
其中,第三缺陷检测结果包括第三缺陷区域和第三缺陷类别。
在上述实施例中,通过缺陷检测模型的第一级识别器可以直接检出待检测图像中易于识别的第一类别缺陷,并将识别难度更高、容易混淆的第三类别缺陷初步确定出所属的第二类别,将该类别和对应的缺陷子图输入第二级识别器,通过第二级识别器检出第二类别下具体的第三类别缺陷。这样,第一级识别器可以过滤掉大量背景区域以及直接检出一些简单缺陷,第二级识别器可以直接对缺陷子图中特定类别的易混淆缺陷进行识别,可增强对复杂缺陷的针对性,提高第二级识别器对类间特征的识别能力,提高检测速度和检测准确率。
图3示出了本申请实施例中一种从待检测图像中获取包含第二缺陷区域的缺陷子图的流程示意图,如图3所示,该过程包括:
步骤S241,根据第二缺陷区域中的缺陷特征确定缺陷轮廓外接图形。
其中,缺陷轮廓外接图形可以包括圆形、矩形、正多边形等。例如,若缺陷特征符合斑点的特征,可以选取矩形作为外接图形;若缺陷特征符合气泡的特征,可以选取圆形或正多边形作为外接图形。
步骤S242,沿缺陷轮廓外接图形向外扩展预设像素宽度,得到目标检测区域。
步骤S243,根据目标检测区域的灰度值裁剪目标检测区域,得到缺陷子图。
在一些可能的实现方式中,可以根据缺陷类别确定缺陷的特点,并分别设置不同的扩展像素宽度,再根据灰度值进一步裁剪得到缺陷子图。
例如,不良点或毛刺等缺陷的形状较为接近圆形,可以确定基于该缺陷的外接圆,根据该外接圆向外扩展5个像素宽度,再截取出灰度值与缺陷特征在一定范围内的像素区域作为缺陷子图。
上述实施例中,可以根据缺陷外接图形向外扩展缺陷的周边区域,这样可以提取待检测图像中一定的背景信息作为缺陷识别的参考,再通过灰度值确定合适的像素范围,可以避免遗漏图像特征,还可以降低第二级识别器的工作量。
图4示出了本申请实施例中一种根据灰度值裁剪目标检测区域的流程示意图,如图4所示,该过程包括:
步骤S2432,根据第二缺陷类别确定灰度阈值。
步骤S2434,从目标检测区域中提取灰度值大于灰度阈值的像素点。
步骤S2436,根据提取的像素点裁剪目标检测区域。
步骤S2438,根据第二级识别器的输入格式,调整裁剪后的目标检测区域的尺度,得到缺陷子图。
在一些可能的实现方式中,可以预先根据第二缺陷类别的缺陷特点确定灰度阈值,例如若第二缺陷类别为由气泡、毛刺组成的综合类缺陷,可以根据气泡类和毛刺类缺陷特征中的最低灰度值确定一个灰度阈值,从目标检测区域中将达到阈值的像素点裁剪出来,由于不同缺陷的面积不一样,可以根据第二级识别器输入数据的标准对裁剪后的区域进行尺度变换,得到可以输入第二级识别器的缺陷子图。
上述实施例中,根据灰度值进行裁剪,可以充分提取目标检测区域中符合缺陷特征的像素点,提高第二级识别器输入图像的数据质量,从而可以提高缺陷检测结果的准确度。
图5示出了本申请实施例中一种增强缺陷子图的流程示意图,如图5所示,该过程包括:
步骤S245,根据第二缺陷类别确定缺陷子图的目标图像通道。
步骤S246,增强缺陷子图在目标图像通道下的图像数据。
在一些可能的实现方式中,缺陷子图可以是包含红(R)、绿(G)、蓝(B)三个颜色通道的彩色图像,有些类别的缺陷特征在特定的颜色通道下更加明显,可以根据缺陷的第二缺陷类别确定特征更明显的目标图像通道,并对该通道下的图像数据进行增强。应当理解的是,图像增强处理可以是一个失真的过程,其目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。
在一些可能的其他实现方式中,也可以对RGB格式的缺陷子图进行灰度处理,转化为灰度图像,避免图像颜色对缺陷识别造成干扰。
上述实施例中,通过增强目标图像通道下的图像数据,可以突出缺陷子图中的缺陷信息,使缺陷特征更加明显,降低缺陷识别难度,提高缺陷检测结果的准确度。
图6示出了本申请实施例中一种缺陷检测模型训练过程的流程示意图,如图6所示,该过程包括:
步骤S201,获取预设的缺陷图像样本。
其中,缺陷图像样本包括预先标注的缺陷区域和缺陷类别。
步骤S202,将包含第一类缺陷和第二类缺陷的缺陷图像样本输入至缺陷检测模型的第一级识别器。
步骤S203,根据预先标注的缺陷区域和缺陷类别,计算第一级识别器的输出结果的第一误差值。
步骤S204,根据第一误差值调整第一级识别器的参数。
在一些可能的实现方式中,第一类缺陷可以包括上述图2实施例中的缺陷A、缺陷B,第二类缺陷可以包括缺陷M、缺陷N,可以将含有这些缺陷的图像样本输入第一级识别器并获取输出结果,如果输出结果的误差值大于预设的误差阈值,则可以修改第一级识别器的参数,直至误差值小于或等于误差阈值,根据此时的参数可以得到训练好的第一级识别器。
图7示出了本申请另一实施例中一种缺陷检测模型训练过程的流程示意图,如图7所示,该过程包括:
步骤S205,将包含第二类缺陷的缺陷图像样本以及第二类缺陷的缺陷类别输入至缺陷检测模型的第二级识别器。
步骤S206,根据预先标注的缺陷区域和缺陷类别,计算第二级识别器的输出结果的第二误差值。
步骤S207,根据第二误差值调整第二级识别器的参数。
在一些可能的实现方式中,第二类缺陷可以包括上述图2实施例中的缺陷M、缺陷N,将含有第二类缺陷的图像样本以及缺陷类别(例如缺陷M或缺陷N)输入第二级识别器,这些图像样本预先标注有第三缺陷类别(缺陷C、缺陷D、缺陷E、缺陷F、缺陷G中的一种或多种),根据第二级识别器的输出结果计算第二误差值,并可以基于预先为第二级识别器设置的误差阈值调整其参数,得到训练好的第二级识别器。
图8示出了本申请实施例中一种根据缺陷参数指标生成最终缺陷检测结果的流程示意图,如图8所示,该过程包括:
步骤S260,获取预设的缺陷参数指标。
步骤S270,根据缺陷参数指标,选取第一缺陷检测结果和/或第三缺陷检测结果中的缺陷类别,生成最终缺陷检测结果。
在一些可能的实现方式中,缺陷参数指标可以包括缺陷区域面积、缺陷区域灰度值、缺陷区域骨架宽度中的一项或多项组合。其中,骨架宽度是对图像进行骨架提取后得到的特征,骨架提取是一种二值图像细化方法,可以将一个连通区域细化成一个像素的宽度,得到连接局部极值点的线条,用于特征提取和目标拓扑表示。
应当说明的是,第一缺陷检测结果与第三缺陷检测结果的缺陷参数指标可以相同,也可以不相同。例如,第一缺陷检测结果中的有些缺陷可以为斑点,该类特征的面积对于缺陷判定的影响较大,可以作为第一缺陷检测结果的缺陷参数指标,选取第一缺陷检测结果中符合特定面积值的缺陷类别和缺陷区域作为最终检测结果,而对第三缺陷检测结果进行选取时可以不采用该指标。
上述实施例中,可以通过面积值、灰度值、骨架宽度等缺陷指标对模型输出的缺陷结果进行选取,仅保留满足条件的缺陷区域。这样,通过对模型输出结果进行后处理,可以避免待检测图像中一些不影响产品合格的瑕疵被误判为需要检出的缺陷,减少过检问题的出现,提高产品检测效率。
图9示出了本申请实施例中一种根据缺陷参数指标选取缺陷类别的流程示意图,如图9所示,该过程包括:
步骤S271,根据第一缺陷类别确定第一缺陷区域的第一缺陷参数指标。
步骤S272,根据第一缺陷参数指标计算第一缺陷区域的第一特征值。
步骤S273,如果第一特征值大于或等于预设的第一参数阈值,选取第一缺陷类别生成最终缺陷检测结果。
在一些可能的实现方式中,可以预先设置缺陷参数指标的第一参数阈值。例如在其中一个示例中,缺陷参数指标为面积,且面积阈值为10×10像素,可以计算第一缺陷区域的面积作为第一特征值,如果第一级识别器输出的缺陷区域的面积为20×20像素,则可以将该缺陷区域确定为最终缺陷检测结果的缺陷区域,并将该缺陷区域对应的缺陷类别作为最终检出的缺陷类别。
图10示出了本申请另一实施例中一种根据缺陷参数指标选取缺陷类别的流程示意图,如图10所示,该过程包括:
步骤S274,根据第三缺陷类别确定第三缺陷区域的第三缺陷参数指标。
步骤S275,根据第三缺陷参数指标计算第三缺陷区域的第三特征值。
步骤S276,如果第三特征值大于或等于预设的第三参数阈值,选取第三缺陷类别生成最终缺陷检测结果。
在一些可能的实现方式中,可以预先设置缺陷参数指标的第三参数阈值。例如在其中一个示例中,缺陷参数指标为灰度值,可以计算第三缺陷区域的平均灰度值作为第三特征值,如果该特征值达到预设的第三参数阈值,则可以将该缺陷区域确定为最终缺陷检测结果的缺陷区域,并将该缺陷区域对应的缺陷类别作为最终检出的缺陷类别。
上述实施例中,通过缺陷类别和特点可以确定适当的缺陷参数指标对第一缺陷检测结果和/或第三缺陷检测结果进行后处理,从而可以选取其中符合一定参数要求的目标缺陷作为最终缺陷检测结果,提高检测效率。
与前述图像缺陷检测方法的实施例相对应,本申请还提供一种图像缺陷检测装置300的实施例。如图11所示,该装置包括:
第一获取模块310,用于获取待检测图像和预训练的缺陷检测模型。其中,缺陷检测模型包括第一级识别器和第二级识别器,第一级识别器用于识别输入图像中属于第一缺陷类别或第二缺陷类别的缺陷区域,第二级识别器用于根据输入的图像和第二缺陷类别识别第三缺陷类别的缺陷区域。
第一输入模块320,用于将待检测图像输入至缺陷检测模型的第一级识别器。
第二获取模块330,用于获取第一级识别器输出的第一缺陷检测结果和第二缺陷检测结果。第一缺陷检测结果包括第一缺陷区域和第一缺陷类别,第二缺陷检测结果包括第二缺陷区域和第二缺陷类别。
第二输入模块340,用于从待检测图像中获取包含第二缺陷区域的缺陷子图,并将缺陷子图和第二缺陷类别输入缺陷检测模型的第二级识别器。
第三获取模块350,用于获取第二级识别器输出的第三缺陷检测结果,第三缺陷检测结果包括第三缺陷区域和第三缺陷类别。
关于图像缺陷检测装置的具体限定可以参见上文中对于图像缺陷检测方法的限定,在此不再赘述。上述图像缺陷检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
此外,应该理解的是,本申请实施例可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括计算机程序。在计算机设备上加载和运行该计算机程序时,全部或部分地产生按照本申请实施例所示的流程或功能。
其中,计算机程序可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序可以从一个网站站点、终端、服务器或数据中心通过有线或无线方式向另一个网站站点、终端、服务器或数据中心进行传输。
该计算机可读存储介质可以是计算机设备能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。
应该理解的是,以上仅为本申请实施例的具体实施方式而已,并不用于限定本申请实施例的保护范围。凡在本申请实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请实施例的保护范围之内。
Claims (10)
1.一种图像缺陷检测方法,其特征在于,包括:
获取待检测图像和预训练的缺陷检测模型;其中,所述缺陷检测模型包括第一级识别器和第二级识别器,所述第一级识别器用于识别输入图像中属于第一缺陷类别或第二缺陷类别的缺陷区域,所述第二级识别器用于根据输入的图像和第二缺陷类别识别第三缺陷类别的缺陷区域;
将所述待检测图像输入至所述缺陷检测模型的第一级识别器;
获取所述第一级识别器输出的第一缺陷检测结果和第二缺陷检测结果,所述第一缺陷检测结果包括第一缺陷区域和第一缺陷类别,所述第二缺陷检测结果包括第二缺陷区域和第二缺陷类别;
从所述待检测图像中获取包含所述第二缺陷区域的缺陷子图,并将所述缺陷子图和所述第二缺陷类别输入所述缺陷检测模型的第二级识别器;
获取所述第二级识别器输出的第三缺陷检测结果,所述第三缺陷检测结果包括第三缺陷区域和第三缺陷类别。
2.根据权利要求1所述的图像缺陷检测方法,其特征在于,所述从所述待检测图像中获取包含所述第二缺陷区域的缺陷子图包括:
根据所述第二缺陷区域中的缺陷特征确定缺陷轮廓外接图形;
沿所述缺陷轮廓外接图形向外扩展预设像素宽度,得到目标检测区域;
根据所述目标检测区域的灰度值裁剪所述目标检测区域,得到缺陷子图。
3.根据权利要求2所述的图像缺陷检测方法,其特征在于,所述根据所述目标检测区域的灰度值裁剪所述目标检测区域,得到缺陷子图包括:
根据所述第二缺陷类别确定灰度阈值;
从所述目标检测区域中提取灰度值大于所述灰度阈值的像素点;
根据提取的像素点裁剪所述目标检测区域;
根据所述第二级识别器的输入格式,调整裁剪后的目标检测区域的尺度,得到缺陷子图。
4.根据权利要求1所述的图像缺陷检测方法,其特征在于,在将所述缺陷子图和所述第二缺陷类别输入所述缺陷检测模型的第二级识别器之前,还包括:
根据所述第二缺陷类别确定所述缺陷子图的目标图像通道;
增强所述缺陷子图在所述目标图像通道下的图像数据。
5.根据权利要求1所述的图像缺陷检测方法,其特征在于,在将所述待检测图像输入至所述缺陷检测模型的第一级识别器之前,还包括:
获取预设的缺陷图像样本,所述缺陷图像样本包括预先标注的缺陷区域和缺陷类别;
将包含第一类缺陷和第二类缺陷的所述缺陷图像样本输入至所述缺陷检测模型的第一级识别器;
根据所述预先标注的缺陷区域和缺陷类别,计算所述第一级识别器的输出结果的第一误差值;
根据所述第一误差值调整所述第一级识别器的参数。
6.根据权利要求5所述的图像缺陷检测方法,其特征在于,在根据所述第一误差值调整所述第一级识别器的参数之后,还包括:
将包含第二类缺陷的缺陷图像样本以及所述第二类缺陷的缺陷类别输入至所述缺陷检测模型的第二级识别器;
根据所述预先标注的缺陷区域和缺陷类别,计算所述第二级识别器的输出结果的第二误差值;
根据所述第二误差值调整所述第二级识别器的参数。
7.根据权利要求1所述的图像缺陷检测方法,其特征在于,在获取所述缺陷检测模型输出的第三缺陷检测结果之后,还包括:
获取预设的缺陷参数指标;
根据所述缺陷参数指标,选取所述第一缺陷检测结果和/或所述第三缺陷检测结果中的缺陷类别,生成最终缺陷检测结果。
8.根据权利要求7所述的图像缺陷检测方法,其特征在于,所述根据所述缺陷参数指标,选取所述第一缺陷检测结果和/或所述第三缺陷检测结果中的缺陷类别,生成最终缺陷检测结果包括:
根据所述第一缺陷类别确定所述第一缺陷区域的第一缺陷参数指标;
根据所述第一缺陷参数指标计算所述第一缺陷区域的第一特征值;
如果所述第一特征值大于或等于预设的第一参数阈值,选取所述第一缺陷类别生成最终缺陷检测结果。
9.根据权利要求7所述的图像缺陷检测方法,其特征在于,所述根据所述缺陷参数指标,选取所述第一缺陷检测结果和/或所述第三缺陷检测结果中的缺陷类别,生成最终缺陷检测结果包括:
根据所述第三缺陷类别确定所述第三缺陷区域的第三缺陷参数指标;
根据所述第三缺陷参数指标计算所述第三缺陷区域的第三特征值;
如果所述第三特征值大于或等于预设的第三参数阈值,选取所述第三缺陷类别生成最终缺陷检测结果。
10.一种图像缺陷检测装置,其特征在于,包括:
第一获取模块,用于获取待检测图像和预训练的缺陷检测模型;其中,所述缺陷检测模型包括第一级识别器和第二级识别器,所述第一级识别器用于识别输入图像中属于第一缺陷类别或第二缺陷类别的缺陷区域,所述第二级识别器用于根据输入的图像和第二缺陷类别识别第三缺陷类别的缺陷区域;
第一输入模块,用于将所述待检测图像输入至所述缺陷检测模型的第一级识别器;
第二获取模块,用于获取所述第一级识别器输出的第一缺陷检测结果和第二缺陷检测结果,所述第一缺陷检测结果包括第一缺陷区域和第一缺陷类别,所述第二缺陷检测结果包括第二缺陷区域和第二缺陷类别;
第二输入模块,用于从所述待检测图像中获取包含所述第二缺陷区域的缺陷子图,并将所述缺陷子图和所述第二缺陷类别输入所述缺陷检测模型的第二级识别器;
第三获取模块,用于获取所述第二级识别器输出的第三缺陷检测结果,所述第三缺陷检测结果包括第三缺陷区域和第三缺陷类别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311358280.9A CN117314880A (zh) | 2023-10-19 | 2023-10-19 | 图像缺陷检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311358280.9A CN117314880A (zh) | 2023-10-19 | 2023-10-19 | 图像缺陷检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117314880A true CN117314880A (zh) | 2023-12-29 |
Family
ID=89246172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311358280.9A Pending CN117314880A (zh) | 2023-10-19 | 2023-10-19 | 图像缺陷检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117314880A (zh) |
-
2023
- 2023-10-19 CN CN202311358280.9A patent/CN117314880A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113822890B (zh) | 一种微裂纹检测方法、装置、系统及存储介质 | |
CN113298757A (zh) | 一种基于u-net卷积神经网络的金属表面缺陷检测方法 | |
CN113469997B (zh) | 平面玻璃的检测方法、装置、设备和介质 | |
CN114495098B (zh) | 一种基于显微镜图像的盘星藻类细胞统计方法及系统 | |
CN113256624A (zh) | 连铸圆坯缺陷检测方法、装置、电子设备及可读存储介质 | |
CN110570442A (zh) | 一种复杂背景下轮廓检测方法、终端设备及存储介质 | |
CN110599453A (zh) | 一种基于图像融合的面板缺陷检测方法、装置及设备终端 | |
CN111680690A (zh) | 一种文字识别方法及装置 | |
CN115690102B (zh) | 缺陷检测方法、装置、电子设备、存储介质和程序产品 | |
CN111223083A (zh) | 表面划痕检测神经网络的构建方法、系统、装置及介质 | |
CN113609984A (zh) | 一种指针式仪表读数识别方法、装置及电子设备 | |
CN115170518A (zh) | 基于深度学习和机器视觉的细胞检测方法及系统 | |
CN113240623A (zh) | 一种路面病害检测方法及装置 | |
CN117094975A (zh) | 钢铁表面缺陷检测方法、装置及电子设备 | |
CN114429640A (zh) | 图纸分割方法、装置及电子设备 | |
CN117314880A (zh) | 图像缺陷检测方法及装置 | |
CN115578362A (zh) | 电极涂层的缺陷检测方法、装置、电子设备及介质 | |
CN115690101A (zh) | 缺陷检测方法、装置、电子设备、存储介质和程序产品 | |
CN115908261A (zh) | 一种基于铸件x射线图像的缺陷评级方法及系统 | |
CN113537253A (zh) | 一种红外图像目标检测方法、装置、计算设备及存储介质 | |
CN114708247A (zh) | 基于深度学习的烟盒包装缺陷识别方法和装置 | |
CN114596243A (zh) | 缺陷检测方法、装置、设备及计算机可读存储介质 | |
CN111967460A (zh) | 文本检测方法、装置、电子设备及计算机存储介质 | |
CN117372369A (zh) | 基于图像的缺陷区域检测方法、装置及计算机设备 | |
CN116597441B (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 |