CN111754513B - 产品表面缺陷分割方法、缺陷分割模型学习方法及装置 - Google Patents
产品表面缺陷分割方法、缺陷分割模型学习方法及装置 Download PDFInfo
- Publication number
- CN111754513B CN111754513B CN202010789117.8A CN202010789117A CN111754513B CN 111754513 B CN111754513 B CN 111754513B CN 202010789117 A CN202010789117 A CN 202010789117A CN 111754513 B CN111754513 B CN 111754513B
- Authority
- CN
- China
- Prior art keywords
- image
- feature
- product
- defect
- feature map
- 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
Links
- 230000007547 defect Effects 0.000 title claims abstract description 513
- 230000011218 segmentation Effects 0.000 title claims abstract description 322
- 238000000034 method Methods 0.000 title claims abstract description 106
- 238000010586 diagram Methods 0.000 claims abstract description 145
- 230000004927 fusion Effects 0.000 claims abstract description 16
- 238000011176 pooling Methods 0.000 claims description 101
- 230000006870 function Effects 0.000 claims description 93
- 238000012545 processing Methods 0.000 claims description 73
- 238000012549 training Methods 0.000 claims description 50
- 238000003860 storage Methods 0.000 claims description 45
- 238000001514 detection method Methods 0.000 description 39
- 238000005516 engineering process Methods 0.000 description 32
- 238000013461 design Methods 0.000 description 13
- 238000005070 sampling Methods 0.000 description 13
- 238000004891 communication Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000004519 manufacturing process Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 7
- 238000007689 inspection Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 6
- 238000013527 convolutional neural network Methods 0.000 description 5
- 238000013135 deep learning Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 208000032544 Cicatrix Diseases 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 239000007788 liquid Substances 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 229910052751 metal Inorganic materials 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000002994 raw material Substances 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 231100000241 scar Toxicity 0.000 description 2
- 230000037387 scars Effects 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 208000034656 Contusions Diseases 0.000 description 1
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 241000255925 Diptera Species 0.000 description 1
- 241000238631 Hexapoda Species 0.000 description 1
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 229910052782 aluminium Inorganic materials 0.000 description 1
- XAGFODPZIPBFFR-UHFFFAOYSA-N aluminium Chemical compound [Al] XAGFODPZIPBFFR-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000007797 corrosion Effects 0.000 description 1
- 238000005260 corrosion Methods 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000032798 delamination Effects 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 239000011888 foil Substances 0.000 description 1
- 235000012055 fruits and vegetables Nutrition 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000009776 industrial production Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- JEIPFZHSYJVQDO-UHFFFAOYSA-N iron(III) oxide Inorganic materials O=[Fe]O[Fe]=O JEIPFZHSYJVQDO-UHFFFAOYSA-N 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000002844 melting Methods 0.000 description 1
- 230000008018 melting Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 229910052755 nonmetal Inorganic materials 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 231100000817 safety factor Toxicity 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000003756 stirring Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 239000004753 textile Substances 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 235000013311 vegetables Nutrition 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding 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/20016—Hierarchical, coarse-to-fine, multiscale or multiresolution image processing; Pyramid transform
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本申请公开了一种基于孪生对比学习的产品表面缺陷分割方法,该方法对参考图和缺陷图的编码特征做显式排序学习,以自动聚焦缺陷部位,同时对参考图和缺陷图的解码特征做隐式的对比学习,以精细预测缺陷掩码。在应用阶段,获取产品的参考图及待测图;基于参考图及待测图,使用孪生编码网络获取参考图及其待测图的编码特征图;基于参考图及待测图的编码特征图,应用孪生解码网络获取参考图及待测图的解码特征图;对参考图和待测图的解码特征图进行特征融合,生成对比特征图;基于对比特征图,使用卷积获取待测图的分割掩码。本申请还提供了缺陷分割模型学习方法及装置,实现对产品表面缺陷在像素层级上的掩码预测,很大程度上满足高阶的应用需求。
Description
技术领域
本申请涉及计算机视觉领域以及深度学习技术领域,尤其涉及产品表面缺陷分割方法、缺陷分割模型学习方法及装置。
背景技术
在传统工业制造业生产场景中,质检是生产流程中的关键环节,而产品表面的外观缺陷质检在制造业中更是一个非常普遍的问题。生产者需要对产品的表面状态进行检测,以此判断产品是否存在瑕疵和缺陷,并根据检测结果对产品做相应的处理。
目前,可基于人工智能(Artificial Intelligence,AI)的深度学习方法检测出产品表面缺陷所在的位置。该方法使用目标检测的思想,将产品缺陷作为待检测的目标,主流的检测模型主要包括加快区域卷积神经网络(Faster Region Convolutional NeuralNetworks,Faster-RCNN)、单杆检测器(You Only Look Once,YOLO)以及多框单杆检测器(Single Shot MultiBox Detector,SSD)等。
然而,目标检测的方法只能够预测出产品缺陷所在的大致位置,具体表现为一个矩形框区域框,这对于一些精细化要求较高的应用而言,难以满足实际需求。
发明内容
本申请实施例提供了一种产品表面缺陷分割方法、缺陷分割模型学习方法及装置,可基于产品缺陷分割模型,通过参考图像以及缺陷图像之间的对比学习,实现对产品缺陷在像素层级上的掩码预测,即能够准确地预测出产品缺陷的边界以及形状等,从而很大程度上满足了高阶的应用需求。本申请对参考图像和缺陷图像的编码特征做显式排序学习,以自动聚焦缺陷部位,同时对参考图像和缺陷图像的解码特征做隐式的对比学习,以精细预测缺陷掩码。
有鉴于此,本申请一方面提供一种产品表面缺陷分割方法,包括:
获取待测产品所对应的参考图像以及待测图像;
基于参考图像以及待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及待测图像的待测图编码特征图集合,其中,参考图编码特征图集合包括P个编码特征图,待测图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
基于参考图编码特征图集合以及待测图编码特征图集合,通过产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图;
基于对比特征图,通过产品缺陷分割模型所包括的卷积层获取待测产品所对应的分割掩码图像,其中,分割掩码图像用于显示产品缺陷的预测位置。
本申请另一方面提供一种缺陷分割模型学习方法,包括:
获取待训练产品所对应的参考图像以及缺陷图像;
基于参考图像以及缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及缺陷图像的缺陷图编码特征图集合,其中,参考图编码特征图集合包括P个编码特征图,缺陷图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
基于参考图编码特征图集合以及缺陷图编码特征图集合,通过待训练产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图;
基于对比特征图,通过待训练产品缺陷分割模型所包括的卷积层获取待训练产品所对应的分割掩码图像;
根据分割掩码图像以及缺陷图像,对待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型,其中,产品缺陷分割模型用于执行上述的产品表面缺陷分割方法。
本申请另一方面提供一种产品表面缺陷分割装置,包括:
获取模块,用于获取待测产品所对应的参考图像以及待测图像;
获取模块,还用于基于参考图像以及待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及待测图像的待测图编码特征图集合,其中,参考图编码特征图集合包括P个编码特征图,待测图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
获取模块,还用于基于参考图编码特征图集合以及待测图编码特征图集合,通过产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
生成模块,用于根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图;
获取模块,还用于基于对比特征图,通过产品缺陷分割模型所包括的卷积层获取待测产品所对应的分割掩码图像,其中,分割掩码图像用于显示产品缺陷的预测位置。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,
获取模块,具体用于基于参考图像,通过孪生编码网络所包括的第一编码网络,获取参考图编码特征图集合,其中,参考图编码特征图集合包括至少两个编码特征图,且参考图编码特征图集合中的每个编码特征图具有不同空间尺度;
基于待测图像,通过孪生编码网络所包括的第二编码网络,获取待测图编码特征图集合,其中,待测图编码特征图集合至少两个编码特征图,且待测图编码特征图集合中的每个编码特征图具有不同空间尺度。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于基于参考图编码特征图集合,通过孪生解码网络所包括的第一解码网络,获取参考图解码特征图集合,其中,参考图解码特征图集合包括至少两个解码特征图,且参考图解码特征图集合中的每个解码特征图具有不同空间尺度;
基于待测图编码特征图集合,通过孪生解码网络所包括的第二解码网络,获取待测图解码特征图集合,其中,待测图解码特征图集合包括至少两个解码特征图,且待测图解码特征图集合中的每个解码特征图具有不同空间尺度。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于基于参考图编码特征图集合中的第一顶层编码特征图,通过第一编码网络所包括的金字塔池化模块PPM,获取第一金字塔池化特征,其中,第一金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,M为大于或等于1的整数;
基于第一金字塔池化特征以及参考图编码特征图集合,通过第一解码网络所包括的特征金字塔融合模块FPN,获取参考图解码特征图集合。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
获取模块,具体用于基于待测图编码特征图集合中的第二顶层编码特征图,通过第二解码网络所包括的金字塔池化模块PPM,获取第二金字塔池化特征,其中,第二金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,M为大于或等于1的整数;
基于第二金字塔池化特征以及待测图编码特征图集合,通过第二解码网络所包括的特征金字塔融合模块FPN,获取待测图解码特征图集合。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,
生成模块,具体用于对参考图解码特征图集合中的解码特征图进行双线性插值处理,得到参考图像所对应的第一待合成解码特征图;
对待测图解码特征图集合中的解码特征图进行双线性插值处理,得到待测图像所对应的第二待合成解码特征图;
对第一待合成解码特征图以及第二待合成解码特征图进行拼接处理,得到对比特征图。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,产品表面缺陷分割装置还包括处理模块;
处理模块,用于在获取模块基于对比特征图,通过产品缺陷分割模型所包括的卷积层获取待测产品所对应的分割掩码图像之后,向终端设备发送分割掩码图像,以使终端设备显示分割掩码图像;
或,若分割掩码图像满足产品缺陷确定条件,则生成产品缺陷告警提示,其中,产品缺陷告警提示用于提示待测产品具有产品缺陷;
或,若分割掩码图像满足产品缺陷确定条件,则获取待测产品的产品标识,将待测产品的产品标识存储于产品缺陷列表,其中,产品缺陷列表用于记录具有产品缺陷的产品标识。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,表面缺陷分割装置还包括训练模块;
获取模块,还用于获取待训练产品所对应的参考图像以及待训练产品的缺陷图像;
获取模块,还用于基于待训练产品的参考图像以及待训练产品的缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取待训练产品的参考图像对应的参考图编码特征图集合以及待训练产品的缺陷图像对应的缺陷图编码特征图集合,其中,待训练产品的参考图像对应的参考图编码特征图集合包括P个编码特征图,待训练产品的缺陷图像对应的缺陷图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
获取模块,还用于基于待训练产品的参考图像对应的参考图编码特征图集合以及待训练产品的缺陷图像对应的缺陷图编码特征图集合,通过待训练产品缺陷分割模型所包括的孪生解码网络,获取待训练产品的参考图像对应的参考图解码特征图集合以及待训练产品的缺陷图像对应的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
生成模块,还用于根据待训练产品的参考图像对应的参考图解码特征图集合以及待训练产品的缺陷图像对应的待测图解码特征图集合,生成待训练产品的对比特征图;
获取模块,还用于基于待训练产品的对比特征图,通过待训练产品缺陷分割模型所包括的卷积层获取待训练产品所对应的分割掩码图像;
训练模块,用于根据待训练产品所对应的分割掩码图像以及待训练产品的缺陷图像,对待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型。
本申请另一方面提供一种模型学习装置,包括:
获取模块,用于获取待训练产品所对应的参考图像以及缺陷图像;
获取模块,还用于基于参考图像以及缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及缺陷图像的缺陷图编码特征图集合,其中,参考图编码特征图集合包括P个编码特征图,缺陷图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
获取模块,还用于基于参考图编码特征图集合以及缺陷图编码特征图集合,通过待训练产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
生成模块,用于根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图;
获取模块,还用于基于对比特征图,通过待训练产品缺陷分割模型所包括的卷积层获取待训练产品所对应的分割掩码图像;
训练模块,用于根据分割掩码图像以及缺陷图像,对待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型,其中,产品缺陷分割模型用于执行上述产品表面缺陷分割方法。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,模型学习装置还包括处理模块;
获取模块,还用于从参考图编码特征图集合中获取第一顶层编码特征图,其中,第一顶层编码特征图为参考图编码特征图集合中尺寸最小的编码特征图;
获取模块,还用于从缺陷图编码特征图集合中获取第二顶层编码特征图,其中,第二顶层编码特征图为缺陷图编码特征图集合中尺寸最小的编码特征图;
处理模块,用于对第一顶层编码特征图进行全局平均池化处理,得到第一图像特征;
处理模块,还用于对第二顶层编码特征图进行全局平均池化处理,得到第二图像特征;
训练模块,具体用于根据分割掩码图像以及参考图像,采用第一损失函数获取第一损失值;
根据第一图像特征以及第二图像特征,采用第二损失函数获取第二损失值;
根据第一图像特征以及第二图像特征,采用第三损失函数获取第三损失值;
根据第一损失值、第二损失值以及第三损失值,对待训练产品缺陷分割模型的模型参数进行更新。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,
训练模块,具体用于基于第一图像特征,通过第一全连接网络获取第一输出结果;
基于第二图像特征,通过第二全连接网络获取第二输出结果;
根据第一输出结果以及第二输出结果,采用分类损失函数获取分类损失值,其中,分类损失函数属于第二损失函数,分类损失值属于第二损失值。
在一种可能的设计中,在本申请实施例的另一方面的一种实现方式中,
训练模块,具体用于基于第一图像特征,通过第三全连接网络获取第三输出结果;
基于第二图像特征,通过第四全连接网络获取第四输出结果;
根据第三输出结果以及第四输出结果,采用排序损失函数获取排序损失值,其中,排序损失函数属于第三损失函数,排序损失值属于第三损失值。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面中各种可选实现方式所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种产品表面缺陷分割方法,首先获取待测产品所对应的参考图像以及待测图像,基于参考图像以及待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及待测图像的待测图编码特征图集合,然后基于参考图编码特征图集合以及待测图编码特征图集合,通过产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,再根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图,最后可基于对比特征图,通过产品缺陷分割模型所包括的卷积层获取待测产品所对应的分割掩码图像,该割掩码图像用于显示产品缺陷的预测位置。通过上述方式,基于产品缺陷分割模型,通过参考图像以及缺陷图像之间的对比学习,可以实现对产品缺陷在像素层级上的掩码预测,即能够准确地预测出待测图像中产品缺陷的边界以及形状等,从而很大程度上满足了高阶的应用需求。
附图说明
图1为本申请实施例中产品缺陷检测***的一个架构示意图;
图2为本申请实施例中对产品进行单面检测的一个示意图;
图3为本申请实施例中对产品进行多面检测的一个示意图;
图4为本申请实施例中产品表面缺陷分割方法的一个实施例示意图;
图5为本申请实施例中产品缺陷分割模型的一个框架示意图;
图6为本申请实施例中参考图像对应的金字塔池化模块的一个结构示意图;
图7为本申请实施例中参考图像对应的特征金字塔融合模块的一个结构示意图;
图8为本申请实施例中待测图像对应的金字塔池化模块的一个结构示意图;
图9为本申请实施例中待测图像对应的特征金字塔融合模块的一个结构示意图;
图10为本申请实施例中产品缺陷分割模型的一个整体结构示意图;
图11为本申请实施例中展示分割掩码图像的一个应用场景示意图;
图12为本申请实施例中缺陷分割模型学习方法的一个实施例示意图;
图13为本申请实施例中训练产品缺陷分割模型的一个实施例示意图;
图14为本申请实施例中产品表面缺陷分割装置的一个实施例示意图;
图15为本申请实施例中模型学习装置的一个实施例示意图;
图16为本申请实施例中终端设备的一个结构示意图;
图17为本申请实施例中服务器的一个结构示意图。
具体实施方式
本申请实施例提供了一种产品表面缺陷分割方法、缺陷分割模型学习方法及装置,可基于产品缺陷分割模型,通过参考图像以及待测图像之间的对比学习,实现对产品缺陷在像素层级上的掩码预测,即能够准确地预测出产品缺陷的边界以及形状等,从而很大程度上满足了高阶的应用需求。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
表面缺陷检测是工业视觉的热点应用之一,自动的表面缺陷检测技术越来越受到重视,其中,以深度学习相关技术应用为代表,它通过大量图像对检测***进行训练学习得到一个自动的视觉检测***。本申请提供了一种产品表面缺陷分割方法,用于对产品表面局部物理或化学性质不均匀的区域进行检测,例如,金属表面的划痕、斑点和凹坑等,又例如,纸张表面的色差、压痕和玻璃等,又例如,非金属表面的夹杂、破损和污点等。随着计算机视觉(Computer Vision,CV)技术的发展,其应用领域亦愈发广泛。产品的质量检测环节正逐渐的实现智能化和全自动化,实现人工智能(Artificial Intelligence,AI)技术与传统行业的共同发展。
本申请提供了一种基于AI的产品表面缺陷分割方法,可适用于如下场景:
一、汽车行业领域;
示例性地,由于汽车车架壳体在冲压过程中壳体边缘会出现裂痕以及弯曲等情况,壳体冲压部位结构复杂,干扰因素较多,识别难度偏高。示例性地,工业场景中汽车零部件检测要求日新月异,零件种类也是多种多样,传统检测方法调试时间长,很难满足工厂个性化定制需求。示例性地,考虑到安全因素,需要对每个刹车阀进行仔细全面的检查,确保产品质量。本申请提供的产品表面缺陷分割方法能够很好地针对上述情况输出包含产品缺陷位置的分割掩码图像。
二、3C(Computer Communication Consumer Electronic)行业领域;
示例性地,产品外壳缺陷会导致灰尘和污垢易进入硬件内部,影响使用寿命,降低客户的满意度。一些划痕、裂纹由于细小或背景干扰使得人工检测以及传统算法难以准确分辨。示例性地,柔性电路板在加工、上料和贴装等生产过程中会出现断路、短路以及线宽不符等问题,而缺陷检测算法在检测时要求的精度更高。且检测样板尺寸大,样板成像易变形,不能直接套用印制电路板的缺陷检测算法。示例性地,发光二极管显示器以及有机发光半导体显示器会出现亮点以及黑点等像素缺陷,人工对其进行检测易产生视觉疲劳,检测效率低。本申请提供的产品表面缺陷分割方法能够很好地针对上述情况输出包含产品缺陷位置的分割掩码图像。
三、冶金行业领域;
示例性地,金属卷材(如带钢、铜带以及铝箔等)受原材料质量和轧制工艺等方面的影响,表面会出现裂纹、结疤、表皮分层以及色斑等缺陷,人工检测很难发现。示例性地,棒料是工业生产中重要的原材料,其表面一旦出现裂纹、刮伤和结疤等,将直接影响产品的强度、耐磨性和抗腐蚀性。大部分厂商主要是选择人工检测,准确性偏低,并且人力成本过高。本申请提供的产品表面缺陷分割方法能够很好地针对上述情况输出包含产品缺陷位置的分割掩码图像。
四、医药行业:
示例性地,泡罩包装一般要经过搅拌、给药、压封和切割等一系列流水作业,容易产生漏装、破损以及夹杂异物等情况。人工检查容易受到主观因素影响导致漏检。示例性地,液体药瓶多数由玻璃制成,在灌装前需要判断是否存在瓶口破损、缺块、裂缝以及瓶口是否存在异物等问题,这关系到药液中是否会混入异物,因此,对缺陷检测的要求十分严格。人工检测很难保证速度、精度以及稳定性三者兼容。本申请提供的产品表面缺陷分割方法能够很好地针对上述情况输出包含产品缺陷位置的分割掩码图像。
五、其他行业领域:
果蔬行业的蔬果表面缺陷(如擦伤、碰伤、腐烂、龟裂、锈斑以及病斑等)检测,包装行业的薄膜表面缺陷(如脏污点、条纹、破损、黑点疵点、毛发以及蚊虫等)检测,纺织行业的布匹缺陷(如污点、孔洞、熔点、亮点、昆虫和毛发等)检测等。本申请提供的产品表面缺陷分割方法能够很好地针对上述情况输出包含产品缺陷位置的分割掩码图像。
其中,AI是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,AI是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。AI也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
AI技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。AI基础技术一般包括如传感器、专用AI芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。AI软件技术主要包括CV技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请利用机器学习(Machine Learning,ML)技术训练得到的产品缺陷分割模型,该产品缺陷分割模型用于生成待测图像对应的分割掩码图像。ML是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。ML是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。ML和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请利用CV技术识别出待测图像中存在产品缺陷的像素位置。CV技术是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、追踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,CV研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的AI***。CV技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(Optical Character Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
基于上述场景,本申请提出了一种产品表面缺陷分割方法,该方法应用于图1所示的产品缺陷检测***,如图所示,产品缺陷检测***包括服务器和终端设备,终端设备本身可以具有内置摄像头,或者终端设备上连接有外置摄像头,无论是内置摄像头还是外置摄像头,都可用于采集待测图像。在一种情况下,终端设备本地存储有训练好的产品缺陷分割模型,利用该产品缺陷分割模型直接对拍摄到的待测图像进行检测,并输出对应的分割掩码(mask)图像。另一种情况下,终端设备本地不做检测,而是将采集到的待测图像上传至服务器,服务器侧存储有训练好的产品缺陷分割模型,利用该产品缺陷分割模型对终端设备上传的待测图像进行检测,并输出对应的分割掩码图像,还可以将分割掩码图像反馈至终端设备,由终端设备进行展示。
为了便于介绍,请参阅图2,图2为本申请实施例中对产品进行单面检测的一个示意图,如图2中(A)图所示,假设从待测图像中检测出存在裂缝的情况,那么生成的分割掩码图像中白色像素点构成区域即为该裂缝对应的像素点区域,不难看出,产品缺陷为“裂缝”时对应的像素点区域也呈现出裂缝的形态。请参阅图3,图3为本申请实施例中对产品进行多面检测的一个示意图,如图所示,以产品A为例,还可以从产品A的多个角度分别拍摄相应的待测图像,针对每个待测图像分别进行单面检测,最后得到每个角度对应的分割掩码图像。
需要说明的是,本申请涉及的服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(ContentDelivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备可以是智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能电视、智能手表等,但并不局限于此。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。服务器和终端设备的数量也不做限制。
采用云数据库可以存储大量的待测图像以及对应的分割掩码图像。云数据库基于云技术(cloud technology)实现存储等功能,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络***的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台***进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的***后盾支撑,只能通过云计算来实现。
云数据库涉及到云存储(cloud storage),云存储是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储***(以下简称存储***)是指通过集群应用、网格技术以及分布存储文件***等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储***。目前,存储***的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件***上,文件***将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识等额外的信息,文件***将每个对象分别写入该逻辑卷的物理存储空间,且文件***会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件***能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储***为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(Redundant Array of Independent Disk,RAID)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
结合上述介绍,下面将对本申请中的产品表面缺陷分割方法进行介绍,请参阅图4,本申请实施例中产品表面缺陷分割方法的一个实施例包括:
101、获取待测产品所对应的参考图像以及待测图像;
本实施例中,产品表面缺陷分割装置获取待测产品的参考图像以及待测图像,其中,参考图像是无产品缺陷的待测产品所对应的图像,例如,待测产品为器件A,对于无产品缺陷的器件A而言,可以从某个角度(比如,主视图方向)拍摄多张器件A的表面图像,再对这些表面图像进行叠加处理,即求得一个平均图,该平均图为器件A的参考图像。而待测图像为当前采集到的待测产品的图像,例如,拍摄到的待测产品在某个角度(比如,主视图方向)的照片。
可以理解的是,由于在实际检测中,可能涉及到对待测产品进行多个区域的检测,因此,需要分别针对每个区域都获取相应的参考图像,本申请为了便于介绍,以其中任意一个区域下的检测为例进行说明,如果需要对不同区域下的待测产品进行检测,则采用类似方式分别对每个区域下的待测产品进行检测。
需要说明的是,产品表面缺陷分割装置可以部署于终端设备,也可以部署于服务器,此处不做限定。
102、基于参考图像以及待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及待测图像的待测图编码特征图集合,其中,参考图编码特征图集合包括P个编码特征图,待测图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
本实施例中,产品表面缺陷分割装置将参考图像输入至产品缺陷分割模型所包括的孪生编码网络,由孪生编码网络输出参考图编码特征图集合,类似地,产品表面缺陷分割装置将待测图像也输入至产品缺陷分割模型所包括的孪生编码网络,由孪生编码网络输出待测图编码特征图集合。
具体地,为了便于介绍,请参阅图5,图5为本申请实施例中产品缺陷分割模型的一个框架示意图,如图所示,孪生编码网络实际上包括两个编码网络,因此,孪生编码网络有两个输入(即参考图像以及待测图像),这两个输入分别输入第一编码网络和第二编码网络,第一编码网络和第二编码网络分别将输入映射到新的空间,形成输入在新空间内的表示,即得到参考图编码特征图集合和待测图编码特征图集合。其中,第一编码网络和第二编码网络具有相同的网络结构,参考图编码特征图集合中包括的编码特征图数量和待测图编码特征图集合中包括的编码特征图数量是一致的。如果参考图编码特征图集合仅包括一个编码特征图,且待测图编码特征图集合也仅包括一个编码特征图(即P=1),则表示编码特征图仅有一个尺度。如果参考图编码特征图集合包括P个编码特征图,且待测图编码特征图集合也包括P个编码特征图(即P≥2),则编码特征图具有不同的尺度。
103、基于参考图编码特征图集合以及待测图编码特征图集合,通过产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
本实施例中,产品表面缺陷分割装置将参考图编码特征图集合输入至产品缺陷分割模型所包括的孪生解码网络,由孪生解码网络输出参考图解码特征图集合,类似地,产品表面缺陷分割装置将待测图编码特征图集合输入至产品缺陷分割模型所包括的孪生解码网络,由孪生解码网络输出待测图解码特征图集合。
具体地,为了便于介绍,请继续参阅图5,孪生解码网络实际上包括两个解码网络,因此,孪生编码网络有两个输入,其中,参考图编码特征图集合以及待测图编码特征图集合分别包括P个编码特征图,如果P=1,那么直接将参考图编码特征图集合输入至第一解码网络,并将待测图编码特征图集合输入至第二解码网络,其中,第一解码网络和第二解码网络具有相同的网络结构,参考图解码特征图集合中包括的解码特征图数量和待测图解码特征图集合中包括的解码特征图数量是一致的。如果参考图解码特征图集合仅包括一个解码特征图,且待测图解码特征图集合也仅包括一个解码特征图(即P=1),则表示解码特征图仅有一个尺度。如果参考图解码特征图集合包括P个解码特征图,且待测图解码特征图集合也包括P个解码特征图(即P≥2),则解码特征图具有不同的尺度。
104、根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图;
本实施例中,经过解码后得到的参考图解码特征图集合以及待测图解码特征图集合,可以进行拼接处理,得到对比特征图。由此融合了参考图像以及待测图像在不同尺度上的特征,从而增强参考图像和待测图像的特征比对能力。
105、基于对比特征图,通过产品缺陷分割模型所包括的卷积层获取待测产品所对应的分割掩码图像,其中,分割掩码图像用于显示产品缺陷的预测位置。
本实施例中,产品表面缺陷分割装置将对比特征图输入至产品缺陷分割模型所包括的卷积层,该卷积层可采用1*1的卷积对对比特征图进行卷积处理。假设对比特征图为128*128*32*1的张量,使用1*32*1*1的卷积核进行卷积操作后,得到128*128*1*1的掩码分割图,其中,1*32*1*1的第一个“1”表示输出通道维度,“32”表示输入通道维度,“1*1”表示卷积核大小。再使用双线性插值将掩码分割图缩放到与待测图像尺寸一致的图像,然后使用sigmoid函数控制每个像素点的输出在[0,1]区间,最后以阈值为T,对每个像素点进行判断,大于或等于T的像素点值记为1,小于T的像素点值记为0,T的取值可视情况而定,例如,为0.5,又或者其他取值等。在对每个像素点进行阈值处理后,即得到分割掩码图像。具体地,为了便于介绍,请继续参阅图5,分割掩码图像中白色像素点为产品缺陷所对应的像素点区域。
本申请实施例中,提供了一种产品表面缺陷分割方法,首先获取待测产品所对应的参考图像以及待测图像,基于参考图像以及待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及待测图像的待测图编码特征图集合,然后基于参考图编码特征图集合以及待测图编码特征图集合,通过产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,再根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图,最后可基于对比特征图,通过产品缺陷分割模型所包括的卷积层获取待测产品所对应的分割掩码图像,该割掩码图像用于显示产品缺陷的预测位置。通过上述方式,基于产品缺陷分割模型,通过参考图像以及缺陷图像之间的对比学习,可以实现对产品缺陷在像素层级上的掩码预测,即能够准确地预测出待测图像中产品缺陷的边界以及形状等,从而很大程度上满足了高阶的应用需求。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,基于参考图像以及待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及待测图像的待测图编码特征图集合,具体包括如下步骤:
基于参考图像,通过孪生编码网络所包括的第一编码网络,获取参考图编码特征图集合,其中,参考图编码特征图集合包括至少两个编码特征图,且参考图编码特征图集合中的每个编码特征图具有不同空间尺度;
基于待测图像,通过孪生编码网络所包括的第二编码网络,获取待测图编码特征图集合,其中,待测图编码特征图集合至少两个编码特征图,且待测图编码特征图集合中的每个编码特征图具有不同空间尺度。
本实施例中,介绍了一种利用孪生编码网络提取多空间尺度下编码特征图的方式,孪生编码网络属于产品缺陷分割模型中的第一个网络模块,该孪生编码网络包括参数共享的第一编码网络以及第二编码网络,其中,该第一编码网络以及第二编码网络均可采用卷积神经网络(Convolutional Neural Networks,CNN)结构。可以理解的是,在实际应用中,通常需要考虑速度、性能和资源等因素来平衡选择使用的卷积网络结构,卷积网络结构包含但不仅限于计算机视觉组(Visual Geometry Group,VGG)结构、残差网络(ResidualNetwork,ResNet)结构以及移动端神经网络(MobileNet)结构。
具体地,将参考图像IA输入至第一编码网络,通过第一编码网络可以提取到不同层级的深度特征图,即得到参考图编码特征图集合。类似地,将待测图像IB输入至第二编码网络,通过第二编码网络可以提取到不同层级的深度特征图,即得到待测图编码特征图集合。通常情况下,编码网络随着深度的增加,空间尺度会逐渐缩小,而通道数量会逐渐增加。以第一编码网络以及第二编码网络均为ResNet结构为例,ResNet随着网络深度的递增,空间尺度会缩减为原始输入的倍,同时,对应的通道数量会依次增加为{128,256,512,1024,2048}。假设参考图像与待测图像的原始尺寸均为512*512,利用第一编码网络提取4个/>倍的空间尺度特征,得到参考图像IA的参考图编码特征图集合包括{128*128,64*64,32*32,16*16},为了便于说明,参考图像IA的参考图编码特征图集合可以表示为{EA1,EA2,EA3,EA4},编码特征图EA1的空间尺度最大,编码特征图EA4的空间尺度最大。
类似地,待测图像IB的待测图编码特征图集合可表示为{EB1,EB2,EB3,EB4},编码特征图EB1的空间尺度最大,编码特征图EB4的空间尺度最大。其中,编码特征图EA1的空间尺度与编码特征图EB1的空间尺度一致,编码特征图EA2的空间尺度与编码特征图EB2的空间尺度一致,编码特征图EA3的空间尺度与编码特征图EB3的空间尺度一致,编码特征图EA4的空间尺度与编码特征图EB4的空间尺度一致。
其次,本申请实施例中,提供了一种利用孪生编码网络提取多空间尺度下编码特征图的方式,通过上述方式,能够分别利用第一编码网络和第二编码网络提取不同尺度的编码特征图,而不同尺度的编码特征图来自于不同的网络深度,浅层网络提取到特征缺乏抽象语义,而深层网络提取到的特征缺乏精细位置信息,因此,多层网络提取到的编码特征图能够实现对空间位置和抽象语义之间的信息互补,提升模型预测的精度。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,基于参考图编码特征图集合以及待测图编码特征图集合,通过产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,具体包括如下步骤:
基于参考图编码特征图集合,通过孪生解码网络所包括的第一解码网络,获取参考图解码特征图集合,其中,参考图解码特征图集合包括至少两个解码特征图,且参考图解码特征图集合中的每个解码特征图具有不同空间尺度;
基于待测图编码特征图集合,通过孪生解码网络所包括的第二解码网络,获取待测图解码特征图集合,其中,待测图解码特征图集合包括至少两个解码特征图,且待测图解码特征图集合中的每个解码特征图具有不同空间尺度。
本实施例中,介绍了一种利用孪生解码网络获取多尺度解码特征图的方式,孪生解码网络属于产品缺陷分割模型中的第二个网络模块,该孪生解码网络包括参数共享的第一解码网络以及第二解码网络,其中,第一解码网络以及第二解码网络均可采用金字塔池化模块(Pyramid Pooling module,PPM)以及特征金字塔融合模块(Feature PyramidNetworks,FPN)。
具体地,为了便于说明,假设参考图像与待测图像的原始尺寸均为512*512,利用第一编码网络提取4个倍的尺度特征,得到参考图像IA的参考图编码特征图集合包括{128*128,64*64,32*32,16*16},为了便于说明,参考图像IA的参考图编码特征图集合可以表示为{EA1,EA2,EA3,EA4},先对最顶层的编码特征图EA4进行编码,得到编码后的特征图EAP,然后将编码后的特征图EAP与参考图编码特征图集合共同作为第一解码网络的输入,即输入为{EAP,EA4,EA3,EA2,EA1},这里可使用双线性插值的方法将编码特征图EAP缩放到与顶层的编码特征图EA4具有相同的空间尺度,并直接采用1*1的卷积对编码特征图EAP与顶层的编码特征图EA4进行卷积处理,确保两者的通道数一致,再进行空间像素特征的相加,得到与顶层的编码特征图EA4空间尺度一致的解码特征图PA4。类似地,再对解码特征图PA4与编码特征图EA3采用类似方式进行处理,得到与编码特征图EA3空间尺度一致的解码特征图PA3。最终得到参考图编码特征图集合{PA4,PA3,PA2,PA1},其中,每个解码特征图具有不同空间尺度。
类似地,待测图像IB的待测图编码特征图集合可以表示为{EB1,EB2,EB3,EB4},先对最顶层的编码特征图EB4进行编码,得到编码后的特征图EBP,然后将编码后的特征图EBP与待测图编码特征图集合共同作为第二解码网络的输入,即输入为{EBP,EB4,EB3,EB2,EB1},这里可使用双线性插值的方法将编码特征图EBP缩放到与顶层的编码特征图EB4具有相同的空间尺度,并直接采用1*1的卷积对编码特征图EBP与顶层的编码特征图EB4进行卷积处理,确保两者的通道数一致,再进行空间像素特征的相加,得到与顶层的编码特征图EB4空间尺度一致的解码特征图PB4。类似地,再对解码特征图PB4与编码特征图EB3采用类似方式进行处理,得到与编码特征图EB3空间尺度一致的解码特征图PB3。最终得到参考图编码特征图集合{PB4,PB3,PB2,PB1},其中,每个解码特征图具有不同空间尺度。
再次,本申请实施例中,提供了一种利用孪生解码网络获取多尺度解码特征图的方式,通过上述方式,能够分别利用第一解码网络和第二解码网络获取不同尺度的解码特征图,而不同尺度的解码特征图来自于不同的网络深度,相应地,与第一编码网络和第二编码网络类似,浅层网络提取到特征缺乏抽象语义,而深层网络提取到的特征缺乏精细位置信息,因此,多层网络解码得到的解码特征图能够实现对空间位置和抽象语义之间的信息互补,提升模型预测的精度。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,基于参考图编码特征图集合,通过产品缺陷分割模型所包括的第一解码网络,获取参考图解码特征图集合,具体包括如下步骤:
基于参考图编码特征图集合中的第一顶层编码特征图,通过第一编码网络所包括的金字塔池化模块PPM,获取第一金字塔池化特征,其中,第一金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,M为大于或等于1的整数;
基于第一金字塔池化特征以及参考图编码特征图集合,通过第一解码网络所包括的特征金字塔融合模块FPN,获取参考图解码特征图集合。
本实施例中,介绍了一种基于PPM和FPN实现图像编码和图像解码的方式,下面将针对参考图像进行具体说明。为了能够使得深度卷积网络的感受野足够大,可采用金字塔网络(Pyramid Scene Parsing Network,PSPNet)中的PPM作为第一编码网络的最后一个网络层,为了便于说明,请参阅图6,图6为本申请实施例中参考图像对应的金字塔池化模块的一个结构示意图,如图所示,PPM的输入为第一顶层编码特征图EA4,假设PPM具有4组池化参数,每组池化参数对应于一个池化特征,由此得到4个不同空间尺度的池化特征,可以理解的是,本实施例中以M等于4作为示例进行说明,在实际应用中,M的取值还可以根据需求进行设定。其中,4组池化参数为{1,2,3,6},对于第一顶层编码特征图EA4而言,得到的池化特征所对应的空间尺度为{1*1,2*2,3*3,6*6}。考虑到计算的时效性,PPM对每一组池化特征使用1*1的卷积进行通道降维处理,例如,使用K个层级的池化参数,则每个池化特征降低为原来的1/K,然后再对降维的池化特征先使用双线性插值缩放到相同的尺度,例如得到尺度为6*6的池化特征,进而在通道维度上做特征拼接(concat),形成最终的第一金字塔池化特征EAP。
基于此,得到第一金字塔池化特征EAP之后,将该第一金字塔池化特征EAP与参考图编码特征图集合{EA1,EA2,EA3,EA4}共同作为FPN的输入,即输入为{EAP,EA4,EA3,EA2,EA1}。为了便于介绍,请参阅图7,图7为本申请实施例中参考图像对应的特征金字塔融合模块的一个结构示意图,如图所示,首先对第一金字塔池化特征EAP进行双线性插值处理,缩放到与第一顶层编码特征图EA4相同的空间尺度,并采用1*1的卷积对第一金字塔池化特征EAP与顶层的第一顶层编码特征图EA4进行卷积处理,确保两者的通道数一致,然后进行空间像素特征的相加,得到与第一顶层编码特征图EA4空间尺度一致的解码特征图PA4。
接下来,将解码特征图PA4进行两倍的上采样,再将上采样后的解码特征图PA4与编码特征图EA3进行卷积处理,确保两者的通道数一致,然后进行空间像素特征的相加,得到与编码特征图EA3空间尺度一致的解码特征图PA3。
接下来,将解码特征图PA3进行两倍的上采样,再将上采样后的解码特征图PA3与编码特征图EA2进行卷积处理,确保两者的通道数一致,然后进行空间像素特征的相加,得到与编码特征图EA2空间尺度一致的解码特征图PA2。
接下来,将解码特征图PA2进行两倍的上采样,再将上采样后的解码特征图PA2与编码特征图EA1进行卷积处理,确保两者的通道数一致,然后进行空间像素特征的相加,得到与编码特征图EA1空间尺度一致的解码特征图PA1。
基于此,得到参考图解码特征图集合{PA1,PA2,PA3,PA4}。
可以理解的是,FPN同时利用低层特征的高分辨率和高层特征的高语义信息,通过融合这些不同层的特征达到预测的效果,并且预测是在每个融合后的特征层上单独进行的。FPN将深层信息进行上采样,再与浅层信息逐元素地相加,从而构建了尺寸不同的特征金字塔结构,性能优越。
进一步地,本申请实施例中,提供了一种基于PPM和FPN实现图像编码和图像解码的方式,通过上述方式,考虑到尽管理论上深度卷积网络的感受野足够大,但实际可用的要小很多,因此,本申请将PPM用于第一编码网络的最后一层。由于深度网络从浅层学到的通常是图像低阶的信息,例如,边缘、方向和位置等,而从深层学到的通常是高阶的语义信息,例如,部件、属性和类别等,对产品缺陷进行分割的本质是,既需要从网络学习获取到缺陷这一高阶的语义信息,同时也需要实现产品缺陷的像素级别(即空间位置)的准确预测,因此,将第一编码网络的底层特征和高层特征进行融合,能够更好地体现出待测图像的图像特征。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,基于待测图编码特征图集合,通过产品缺陷分割模型所包括的第二解码网络,获取待测图解码特征图集合,具体包括如下步骤:
基于待测图编码特征图集合中的第二顶层编码特征图,通过第二解码网络所包括的金字塔池化模块PPM,获取第二金字塔池化特征,其中,第二金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,M为大于或等于1的整数;
基于第二金字塔池化特征以及待测图编码特征图集合,通过第二解码网络所包括的特征金字塔融合模块FPN,获取待测图解码特征图集合。
本实施例中,介绍了一种基于PPM和FPN实现图像编码和图像解码的方式,下面将针对待测图像进行具体说明。为了能够使得深度卷积网络的感受野足够大,可采用PSPNet中的PPM作为第二编码网络的最后一个网络层,为了便于说明,请参阅图8,图8为本申请实施例中待测图像对应的金字塔池化模块的一个结构示意图,如图所示,PPM的输入为第二顶层编码特征图EB4,假设PPM具有4组池化参数,每组池化参数对应于一个池化特征,由此得到4个不同空间尺度的池化特征,可以理解的是,本实施例中以M等于4作为示例进行说明,在实际应用中,M的取值还可以根据需求进行设定。其中,4组池化参数为{1,2,3,6},对于第二顶层编码特征图EB4而言,得到的池化特征所对应的空间尺度为{1*1,2*2,3*3,6*6}。考虑到计算的时效性,PPM对每一组池化特征使用1*1的卷积进行通道降维处理,例如,使用K个层级的池化参数,则每个池化特征降低为原来的1/K,然后再对降维的池化特征先使用双线性插值缩放到相同的尺度,例如得到尺度为6*6的池化特征,进而在通道维度上做特征串联(concat),形成最终的第二金字塔池化特征EBP。
基于此,得到第二金字塔池化特征EBP之后,将该第二金字塔池化特征EBP与待测图编码特征图集合{EB1,EB2,EB3,EB4}共同作为FPN的输入,即输入为{EBP,EB4,EB3,EB2,EB1}。为了便于介绍,请参阅图9,图9为本申请实施例中待测图像对应的特征金字塔融合模块的一个结构示意图,如图所示,首先对第二金字塔池化特征EBP进行双线性插值处理,缩放到与第二顶层编码特征图EB4相同的空间尺度,并采用1*1的卷积对第二金字塔池化特征EBP与顶层的第二顶层编码特征图EB4进行卷积处理,确保两者的通道数一致,然后进行空间像素特征的相加,得到与第二顶层编码特征图EB4空间尺度一致的解码特征图PB4。
接下来,将解码特征图PB4进行两倍的上采样,再将上采样后的解码特征图PB4与编码特征图EB3进行卷积处理,确保两者的通道数一致,然后进行空间像素特征的相加,得到与编码特征图EB3空间尺度一致的解码特征图PB3。
接下来,将解码特征图PB3进行两倍的上采样,再将上采样后的解码特征图PB3与编码特征图EB2进行卷积处理,确保两者的通道数一致,然后进行空间像素特征的相加,得到与编码特征图EB2空间尺度一致的解码特征图PB2。
接下来,将解码特征图PB2进行两倍的上采样,再将上采样后的解码特征图PB2与编码特征图EB1进行卷积处理,确保两者的通道数一致,然后进行空间像素特征的相加,得到与编码特征图EB1空间尺度一致的解码特征图PB1。
基于此,得到待测图解码特征图集合{PB1,PB2,PB3,PB4}。
进一步地,本申请实施例中,提供了一种基于PPM和FPN实现图像编码和图像解码的方式,通过上述方式,考虑到尽管理论上深度卷积网络的感受野足够大,但实际可用的要小很多,因此,本申请将PPM用于第一编码网络的最后一层。由于深度网络从浅层学到的通常是图像低阶的信息,例如,边缘、方向和位置等,而从深层学到的通常是高阶的语义信息,例如,部件、属性和类别等,对产品缺陷进行分割的本质是,既需要从网络学习获取到缺陷这一高阶的语义信息,同时也需要实现产品缺陷的像素级别(即空间位置)的准确预测,因此,将第一编码网络的底层特征和高层特征进行融合,能够更好地体现出待测图像的图像特征。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图,具体包括如下步骤:
对参考图解码特征图集合中的解码特征图进行双线性插值处理,得到参考图像所对应的第一待合成解码特征图;
对待测图解码特征图集合中的解码特征图进行双线性插值处理,得到待测图像所对应的第二待合成解码特征图;
对第一待合成解码特征图以及第二待合成解码特征图进行拼接处理,得到对比特征图。
本实施例中,介绍了一种生成对比特征图的实现方式,基于上述实施例可知,可以分别得到参考图像所对应的参考图解码特征图集合,以及待测图像所对应的待测图解码特征图集合。具体地,请参阅图10,图10为本申请实施例中产品缺陷分割模型的一个整体结构示意图,如图所示,假设参考图编码特征图集合为{EA1,EA2,EA3,EA4},待测图编码特征图集合为{EB1,EB2,EB3,EB4},分别通过第一编码网络所包括的PPM和第二编码网络所包括的PPM,得到第一金字塔池化特征EAP和第二金字塔池化特征EBP。于是可以分别通过FPN实现解码,得到参考图解码特征图集合{PA1,PA2,PA3,PA4}和待测图解码特征图集合{PB1,PB2,PB3,PB4}。
其中,参考图解码特征图集合为{PA1,PA2,PA3,PA4},每个解码特征图具有不同大小的空间尺度,于是需要分别对这些解码特征图进行双线性插值,以缩放到与解码特征图PA1相同的空间尺度,并在通道方向上进行concat处理,由此得到参考图像所对应的第一待合成解码特征图DA。类似地,待测图解码特征图集合为{PB1,PB2,PB3,PB4},每个解码特征图具有不同大小的空间尺度,于是需要分别对这些解码特征图进行双线性插值,以缩放到与解码特征图PB1相同的空间尺度,并在通道方向上进行concat处理,由此得到待测图像所对应的第二待合成解码特征图DB。其中,第一待合成解码特征图DA为参考图像在多个层级语义特征上的综合表征,第二待合成解码特征图DB为待测图像在多个层级语义特征上的综合表征。
基于此,将第一待合成解码特征图DA和第二待合成解码特征图DB进行concat处理,即在通道方向上做串联,即得到对比特征图。最后将对比特征图输入至卷积层,再经过上采样后使用sigmoid函数,即可得到分割掩码图像
其次,本申请实施例中,提供了一种生成对比特征图的实现方式,通过上述方式,考虑到参考图像和待测图像除了产品缺陷对应的前景位置不同,其他的背景区域通常是非常相似的,因此,对第一待合成解码特征图以及第二待合成解码特征图进行拼接处理,能够基于对比的方式突显产品缺陷,忽视背景和噪音等无关的内容,从而提升模型预测的效率和预测效果。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,基于对比特征图,通过产品缺陷分割模型所包括的卷积层获取待测产品所对应的分割掩码图像之后,还包括如下步骤:
向终端设备发送分割掩码图像,以使终端设备显示分割掩码图像;
或,
若分割掩码图像满足产品缺陷确定条件,则生成产品缺陷告警提示,其中,产品缺陷告警提示用于提示待测产品具有产品缺陷;
或,
若分割掩码图像满足产品缺陷确定条件,则获取待测产品的产品标识,将待测产品的产品标识存储于产品缺陷列表,其中,产品缺陷列表用于记录具有产品缺陷的产品标识。
本实施例中,介绍了多种基于分割掩码图像进行相关处理的方式。在生成待测产品所对应的分割掩码图像之后,可以采用如下三种方式进行后续处理:
方式一,直接显示分割掩码图像;
示例性地,请参阅图11,图11为本申请实施例中展示分割掩码图像的一个应用场景示意图,如图所示,S1用于指示待测产品,S2用于指示待测产品所在的生产线,S3用于指示拍摄待测图像的摄像头,S4用于指示终端设备的界面。在生产完待测产品之后,可通过摄像头拍摄某一个或多个角度的待测图像,然后反馈至终端设备或者服务器进行检测,基于产品缺陷分割模型输出相应的分割掩码图像。于是,在终端设备的界面上可展示产品测试报告,在该产品测试报告中显示分割掩码图像,以便工作人员查看。此外,为了方便工作人员准确地获知该分割掩码图像所属的具体产品,在产品测试报告还可以显示待测产品所对应的产品名称、产品类型、产品型号、产品批次、产品尺寸、产品重量、产品标识、生产车间、测试时间以及产品复检员等信息。
方式二,生成告警提示;
在获取分割掩码图像之后需要判断是否满足产品缺陷确定条件,示例性地,如果分割掩码图像中产品缺陷对应的像素点数量大于或等于数量阈值,则认为满足产品缺陷确定条件,如果分割掩码图像中产品缺陷对应的像素点数量小于数量阈值,则认为满足产品缺陷确定条件。示例性地,如果分割掩码图像产品缺陷对应的区域在指定区域(即预先划定的区域)内,则认为满足产品缺陷确定条件,如果分割掩码图像中产品缺陷对应的区域不在指定区域内,则认为满足产品缺陷确定条件。
一旦满足产品缺陷确定条件,则触发待测产品的产品缺陷告警提示,例如,产品缺陷告警提示为“产品A存在严重缺陷”,或,产品缺陷告警提示为“产品A存在产品缺陷”等,在实际应用中,产品缺陷告警提示还可以根据情况进行灵活设定。
方式三,将缺陷产品存储于产品缺陷列表中;
示例性地,与方式二类似,在获取分割掩码图像之后需要先判断是否满足产品缺陷确定条件,一旦确定满足产品缺陷确定条件,则可以将该待测产品对应的产品标识添加至产品缺陷列表中,产品缺陷列表可以存储在终端设备侧,也可以存储于服务器侧,还可以上传至云端等,此处不做限定。
请参阅表1,表1为产品缺陷列表的一个示意。
表1
由表1可知,假设待测产品为“产品R”,于是在检测到“产品R”存在产品缺陷的情况下,即可将“产品R”对应的产品标识添加至表1,从而便于工作人员随时查看。进一步地,还可以添加“产品R”的产品批次,这样便于追踪生产情况。
可以理解的是,在实际情况下,还可以根据不同需求对待测产品所对应的分割掩码图像进行处理,上述三种具体应用仅为示意,不应理解为对本申请的限定。
其次,本申请实施例中,提供了多种基于分割掩码图像进行相关处理的方式,通过上述方式,在生成分割掩码图像之后,可以直接在终端设备上展示该分割掩码图像,从而便于工作人员进行查看,也可以直接播放产品缺陷告警提示,从而提醒工作人员及时进行查看,还可以将所有存在产品缺陷的产品标识加入到产品缺陷列表,便于后续进行审查,由此提升产品检测的灵活性和多样性。
可选地,在上述图4对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,还可以包括如下步骤:
获取待训练产品所对应的参考图像以及待训练产品的缺陷图像;
基于待训练产品的参考图像以及待训练产品的缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取待训练产品的参考图像对应的参考图编码特征图集合以及待训练产品的缺陷图像对应的缺陷图编码特征图集合,其中,待训练产品的参考图像对应的参考图编码特征图集合包括P个编码特征图,待训练产品的缺陷图像对应的缺陷图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
基于待训练产品的参考图像对应的参考图编码特征图集合以及待训练产品的缺陷图像对应的缺陷图编码特征图集合,通过待训练产品缺陷分割模型所包括的孪生解码网络,获取待训练产品的参考图像对应的参考图解码特征图集合以及待训练产品的缺陷图像对应的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
根据待训练产品的参考图像对应的参考图解码特征图集合以及待训练产品的缺陷图像对应的待测图解码特征图集合,生成待训练产品的对比特征图;
基于待训练产品的对比特征图,通过待训练产品缺陷分割模型所包括的卷积层获取待训练产品所对应的分割掩码图像;
根据待训练产品所对应的分割掩码图像以及待训练产品的缺陷图像,对待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型。
本实施例中,介绍了一种缺陷分割模型学习方法,在应用产品缺陷分割模型之前,还需要对其进行训练,下面将介绍产品缺陷分割模型的训练过程。
具体地,首先获取待训练产品的参考图像以及缺陷图像,其中,参考图像是无产品缺陷的待训练产品所对应的图像,而缺陷图像是具有产品缺陷的待训练产品所对应的图像。
然后将参考图像输入至待训练产品缺陷分割模型所包括的孪生编码网络,由孪生编码网络包括第一编码网络以及第二编码网络。基于第一编码网络输出参考图像对应的参考图编码特征图集合,基于第二编码网络输出缺陷图像对应的缺陷图编码特征图集合。待训练产品缺陷分割模型的框架与图5所示的框架类似,此处不做赘述。
第一编码网络和第二编码网络具有相同的网络结构,参考图编码特征图集合中包括的编码特征图数量和缺陷图编码特征图集合中包括的编码特征图数量是一致的。当P大于1时,参考图编码特征图集合所包括的P个编码特征图分别具有不同的尺度,且缺陷图编码特征图集合所包括的P个编码特征图也分别具有不同的尺度。
再将参考图编码特征图集合输入至待训练产品缺陷分割模型所包括的孪生解码网络,孪生解码网络包括第一解码网络以及第二解码网络,由第一解码网络输出参考图解码特征图集合,由第二解码网络输出待测图解码特征图集合。第一解码网络和第二解码网络具有相同的网络结构,参考图解码特征图集合中包括的解码特征图数量和待测图解码特征图集合中包括的解码特征图数量是一致的。当P大于1时,参考图解码特征图集合所包括的P个解码特征图分别具有不同的尺度,且待测图解码特征图集合所包括的P个解码特征图也分别具有不同的尺度。
经过解码后得到的参考图解码特征图集合以及待测图解码特征图集合,可以进行拼接处理,得到对比特征图。由此融合了参考图像以及缺陷图像在不同尺度上的特征,从而增强参考图像和缺陷图像的特征比对能力。
然后将对比特征图输入至待训练产品缺陷分割模型所包括的卷积层,该卷积层可采用1*1的卷积对对比特征图进行卷积处理,得到掩码分割图。再使用双线性插值将掩码分割图缩放到与参考图像和缺陷图像尺寸一致的图像,然后使用sigmoid函数控制每个像素点的输出在[0,1]区间,最后以阈值为T,对每个像素点进行判断,大于或等于T的像素点值记为1,小于T的像素点值记为0,在对每个像素点进行阈值处理后,即得到分割掩码图像。
最后根据预测得到的分割掩码图像以及缺陷图像,采用损失函数计算两者之间的损失值,以减小损失值为优化目标,采用反向传播方法训练模型参数,在模型参数上用梯度下降,使得待训练产品缺陷分割模型在训练数据上的损失值最小。示例性地,当损失值达到收敛状态时,表示当前满足模型训练条件,于是将该待训练产品缺陷分割模型所得到的最后一次得到的模型参数,作为产品缺陷分割模型的模型参数。示例性地,当达到迭代次数时,表示当前满足模型训练条件,于是将该待训练产品缺陷分割模型所得到的最后一次得到的模型参数,作为产品缺陷分割模型的模型参数。
需要说明的是,本申请使用的损失函数损失函数包括分类损失函数、排序损失函数以及二分类交叉熵损失函数,具体的使用方式在后续实施例中详细介绍。
本申请实施例中,提供了一种缺陷分割模型学习方法,通过上述方式,采用参考图像以及缺陷图像之间的对比学习,训练得到的产品缺陷分割模型可以实现对产品缺陷在像素层级上的掩码预测,即能够准确地预测出产品缺陷的边界以及形状等,从而很大程度上满足了高阶的应用需求。
结合上述介绍,下面将对本申请中的缺陷分割模型学习方法进行介绍,请参阅图12,本申请实施例中缺陷分割模型学习方法的一个实施例包括:
201、获取待训练产品所对应的参考图像以及缺陷图像;
本实施例中,模型学习装置获取待训练产品的参考图像以及缺陷图像,其中,参考图像是无产品缺陷的待训练产品所对应的图像,而缺陷图像是具有产品缺陷的待训练产品所对应的图像。其中,模型学习装置可以部署于服务器或终端设备。
202、基于参考图像以及缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及缺陷图像的缺陷图编码特征图集合,其中,参考图编码特征图集合包括P个编码特征图,缺陷图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
本实施例中,模型学习装置将参考图像输入至待训练产品缺陷分割模型所包括的孪生编码网络,由孪生编码网络包括第一编码网络以及第二编码网络。基于第一编码网络输出参考图像对应的参考图编码特征图集合,基于第二编码网络输出缺陷图像对应的缺陷图编码特征图集合。待训练产品缺陷分割模型的框架与图5所示的框架类似,此处不做赘述。
第一编码网络和第二编码网络具有相同的网络结构,参考图编码特征图集合中包括的编码特征图数量和缺陷图编码特征图集合中包括的编码特征图数量是一致的。当P大于1时,参考图编码特征图集合所包括的P个编码特征图分别具有不同的尺度,且缺陷图编码特征图集合所包括的P个编码特征图也分别具有不同的尺度。
203、基于参考图编码特征图集合以及缺陷图编码特征图集合,通过待训练产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及缺陷图像的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
本实施例中,模型学习装置将参考图编码特征图集合输入至待训练产品缺陷分割模型所包括的孪生解码网络,孪生解码网络包括第一解码网络以及第二解码网络,由第一解码网络输出参考图解码特征图集合,由第二解码网络输出待测图解码特征图集合。第一解码网络和第二解码网络具有相同的网络结构,参考图解码特征图集合中包括的解码特征图数量和待测图解码特征图集合中包括的解码特征图数量是一致的。当P大于1时,参考图解码特征图集合所包括的P个解码特征图分别具有不同的尺度,且待测图解码特征图集合所包括的P个解码特征图也分别具有不同的尺度。
204、根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图;
本实施例中,经过解码后得到的参考图解码特征图集合以及待测图解码特征图集合,可以进行拼接处理,得到对比特征图。由此融合了参考图像以及缺陷图像在不同尺度上的特征,从而增强参考图像和缺陷图像的特征比对能力。
205、基于对比特征图,通过待训练产品缺陷分割模型所包括的卷积层获取待训练产品所对应的分割掩码图像;
本实施例中,模型学习装置将对比特征图输入至待训练产品缺陷分割模型所包括的卷积层,该卷积层可采用1*1的卷积对对比特征图进行卷积处理,得到掩码分割图。再使用双线性插值将掩码分割图缩放到与参考图像和缺陷图像尺寸一致的图像,然后使用sigmoid函数控制每个像素点的输出在[0,1]区间,最后以阈值为T,对每个像素点进行判断,大于或等于T的像素点值记为1,小于T的像素点值记为0,在对每个像素点进行阈值处理后,即得到分割掩码图像。
206、根据分割掩码图像以及缺陷图像,对待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型,其中,产品缺陷分割模型用于执行上述的产品表面缺陷分割方法。
本实施例中,模型学习装置根据预测得到的分割掩码图像以及缺陷图像,采用损失函数计算两者之间的损失值,以减小损失值为优化目标,采用反向传播方法训练模型参数,在模型参数上用梯度下降,使得待训练产品缺陷分割模型在训练数据上的损失值最小。示例性地,当损失值达到收敛状态时,表示当前满足模型训练条件,于是将该待训练产品缺陷分割模型所得到的最后一次得到的模型参数,作为产品缺陷分割模型的模型参数。示例性地,当达到迭代次数时,表示当前满足模型训练条件,于是将该待训练产品缺陷分割模型所得到的最后一次得到的模型参数,作为产品缺陷分割模型的模型参数。
本申请实施例中,提供了一种缺陷分割模型学习方法,通过上述方式,采用参考图像以及缺陷图像之间的对比学习,训练得到的产品缺陷分割模型可以实现对产品缺陷在像素层级上的掩码预测,即能够准确地预测出产品缺陷的边界以及形状等,从而很大程度上满足了高阶的应用需求。
可选地,在上述图12对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,基于参考图像以及缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及缺陷图像的缺陷图编码特征图集合之后,还可以包括如下步骤:
从参考图编码特征图集合中获取第一顶层编码特征图,其中,第一顶层编码特征图为参考图编码特征图集合中尺寸最小的编码特征图;
从缺陷图编码特征图集合中获取第二顶层编码特征图,其中,第二顶层编码特征图为缺陷图编码特征图集合中尺寸最小的编码特征图;
对第一顶层编码特征图进行全局平均池化处理,得到第一图像特征;
对第二顶层编码特征图进行全局平均池化处理,得到第二图像特征;
根据分割掩码图像以及缺陷图像,对待训练产品缺陷分割模型的模型参数进行更新,具体包括如下步骤:
根据分割掩码图像以及缺陷图像,采用第一损失函数获取第一损失值;
根据第一图像特征以及第二图像特征,采用第二损失函数获取第二损失值;
根据第一图像特征以及第二图像特征,采用第三损失函数获取第三损失值;
根据第一损失值、第二损失值以及第三损失值,对待训练产品缺陷分割模型的模型参数进行更新。
本实施例中,介绍了一种辅助训练产品缺陷分割模型的方式,为了便于说明,请参阅图13,图13为本申请实施例中训练产品缺陷分割模型的一个实施例示意图,如图所示,参考图像输入至第一编码网络,并且将缺陷图像输入至第二编码网络,与前述实施例类似,假设经过第一编码网络编码后得到参考图编码特征图集合{EA1,EA2,EA3,EA4},经过第二编码网络编码后得到缺陷图编码特征图集合{EB1,EB2,EB3,EB4}。基于此,在训练的过程中,对第一顶层编码特征图EA4进行全局平均池化(Golbal Average Pooling,GAP)处理,得到第一图像特征GA,类似地,对第二顶层编码特征图EB4也进行GAP处理,得到第二图像特征GB。使用第一图像特征GA和第二图像特征GB可以分别计算得到第二损失值和第三损失值,即,实现图13中“对比头”的任务。而“分割头”的任务为对分割掩码图像以及缺陷图像,采用第一损失函数获取第一损失值。
具体地,训练目标之一为实现对缺陷图像的像素级别预测,分割学习分支对应的损失函数即为第一损失函数,分割学习与多语义分割类似,将不同的缺陷作为同一个类别,相当于实现缺陷的前景和背景分割,因此,第一损失函数可以为像素级别的二分类交叉熵损失函数,即为:
其中,Lseg表示第一损失值,h表示分割掩码图像的高度,w表示分割掩码图像的宽度,i表示高度上的第i个像素位置,j表示宽度上的第j个像素位置,yij表示高度为第i个像素位置,且宽度为第j个像素位置所对应的标签值,表示在高度为第i个像素位置,且宽度为第j个像素位置所对应的预测值。
其次,本申请实施例中,提供了一种辅助训练产品缺陷分割模型的方式,通过上述方式,分别对第一顶层编码特征图和第二顶层编码特征图进行GAP处理,从而得到图像的单一特征表示,利用该特征表示能够从多个维度上分别计算损失值,达到辅助训练的效果,从而提升模型训练的可靠性,由此输出精度更高的产品缺陷分割模型。
可选地,在上述图12对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一图像特征以及第二图像特征,采用第二损失函数获取第二损失值,具体包括如下步骤:
基于第一图像特征,通过第一全连接网络获取第一输出结果;
基于第二图像特征,通过第二全连接网络获取第二输出结果;
根据第一输出结果以及第二输出结果,采用分类损失函数获取分类损失值,其中,分类损失函数属于第二损失函数,分类损失值属于第二损失值。
本实施例中,介绍了一种基于分类损失函数对产品缺陷分割模型进行训练的方式,基于前述实施例可知,在得到第一图像特征GA和第二图像特征GB之后,可接入一个二分类器,二分类器使用全连接网络实现,输出维度为2,同时使用softmax函数输出类别上的二维向量。
具体地,采用如下方式确定第一输出结果和第二输出结果:
SA=FA(GA);
SB=FB(GB);
其中,SA表示第一输出结果,该第一输出结果为一个二维向量,其取值在[0,1]的区间。FA()表示第一全连接网络,第一全连接网络包括softmax函数。GA表示第一图像特征。类似地,SB表示第二输出结果,该第一输出结果为一个二维向量,其取值在[0,1]的区间。FB()表示第二全连接网络,第二全连接网络包括softmax函数。GB表示第二图像特征。
基于此,采用分类损失函数确定分类损失值:
Lcls=-([IA∈缺陷图像]log(SA)+[IA∈参考图像]log(SB));
其中,Lcls表示分类损失值,IA表示分割掩码图像,SA表示第一输出结果,SB表示第二输出结果。
再次,本申请实施例中,提供了一种基于分类损失函数对产品缺陷分割模型进行训练的方式,通过上述方式,可以利用分类损失函数更准确地鉴别出是参考图像还是缺陷图像,即提升对参考图像和具有产品缺陷的图像之间识别的准确度,进而增强产品缺陷分割模型的检测精度。此外,采用分类损失函数对参考图像和缺陷图像的解码特征做隐式的对比学习,能够精细预测缺陷掩码。
可选地,在上述图12对应的实施例的基础上,本申请实施例提供的另一个可选实施例中,根据第一图像特征以及第二图像特征,采用第三损失函数获取第三损失值,具体包括如下步骤:
基于第一图像特征,通过第三全连接网络获取第三输出结果;
基于第二图像特征,通过第四全连接网络获取第四输出结果;
根据第三输出结果以及第四输出结果,采用排序损失函数获取排序损失值,其中,排序损失函数属于第三损失函数,排序损失值属于第三损失值。
本实施例中,介绍了一种基于排序损失函数对产品缺陷分割模型进行训练的方式,基于前述实施例可知,在得到第一图像特征GA和第二图像特征GB之后,可接入一个特征度量器,特征度量器也可以使用全连接网络实现,输出维度为1。
具体地,采用如下方式确定第三输出结果和第四输出结果:
XA=MA(GA);
XB=MB(GB);
其中,XA表示第三输出结果,MA()表示第三全连接网络,GA表示第一图像特征。类似地,XB表示第四输出结果,MB()表示第四全连接网络,GB表示第二图像特征。
基于此,采用排序损失函数确定排序损失值:
其中,Lrank表示排序损失值,XA表示第三输出结果,XB表示第四输出结果。
最后,结合上述实施例可知,训练产品缺陷分割模型所采用的总损失函数为:
L=Lseg+Lcls+Lrank;
其中,L表示总损失值,Lseg为第一损失值,Lcls为第二损失值,Lrank为第三损失值。
再次,本申请实施例中,提供了一种基于排序损失函数对产品缺陷分割模型进行训练的方式,通过上述方式,可以利用特征度量器所使用的排序损失函数,尽可能推动参考图像和缺陷图像的高阶特征更加远离,从而获得具有判别性的特征表示,由此,协助产品缺陷分割模型实现更好地分割效果。此外,采用排序损失函数对参考图像和缺陷图像的编码特征做显式排序学习,以自动聚焦缺陷部位。
下面对本申请中的产品表面缺陷分割装置进行详细描述,请参阅图14,图14为本申请实施例中产品表面缺陷分割装置的一个实施例示意图,产品表面缺陷分割装置30包括:
获取模块301,用于获取待测产品所对应的参考图像以及待测图像;
获取模块301,还用于基于参考图像以及待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及待测图像的待测图编码特征图集合,其中,参考图编码特征图集合包括P个编码特征图,待测图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
获取模块301,还用于基于参考图编码特征图集合以及待测图编码特征图集合,通过产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
生成模块302,用于根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图;
获取模块301,还用于基于对比特征图,通过产品缺陷分割模型所包括的卷积层获取待测产品所对应的分割掩码图像,其中,分割掩码图像用于显示产品缺陷的预测位置。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的产品表面缺陷分割装置30的另一实施例中,
获取模块301,具体用于基于参考图像,通过孪生编码网络所包括的第一编码网络,获取参考图编码特征图集合,其中,参考图编码特征图集合包括至少两个编码特征图,且参考图编码特征图集合中的每个编码特征图具有不同空间尺度;
基于待测图像,通过孪生编码网络所包括的第二编码网络,获取待测图编码特征图集合,其中,待测图编码特征图集合至少两个编码特征图,且待测图编码特征图集合中的每个编码特征图具有不同空间尺度。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的产品表面缺陷分割装置30的另一实施例中,
获取模块301,具体用于基于参考图编码特征图集合,通过孪生解码网络所包括的第一解码网络,获取参考图解码特征图集合,其中,参考图解码特征图集合包括至少两个解码特征图,且参考图解码特征图集合中的每个解码特征图具有不同空间尺度;
基于待测图编码特征图集合,通过孪生解码网络所包括的第二解码网络,获取待测图解码特征图集合,其中,待测图解码特征图集合包括至少两个解码特征图,且待测图解码特征图集合中的每个解码特征图具有不同空间尺度。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的产品表面缺陷分割装置30的另一实施例中,
获取模块301,具体用于基于参考图编码特征图集合中的第一顶层编码特征图,通过第一编码网络所包括的金字塔池化模块PPM,获取第一金字塔池化特征,其中,第一金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,M为大于或等于1的整数;
基于第一金字塔池化特征以及参考图编码特征图集合,通过第一解码网络所包括的特征金字塔融合模块FPN,获取参考图解码特征图集合。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的产品表面缺陷分割装置30的另一实施例中,
获取模块301,具体用于基于待测图编码特征图集合中的第二顶层编码特征图,通过第二解码网络所包括的金字塔池化模块PPM,获取第二金字塔池化特征,其中,第二金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,M为大于或等于1的整数;
基于第二金字塔池化特征以及待测图编码特征图集合,通过第二解码网络所包括的特征金字塔融合模块FPN,获取待测图解码特征图集合。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的产品表面缺陷分割装置30的另一实施例中,
生成模块302,具体用于对参考图解码特征图集合中的解码特征图进行双线性插值处理,得到参考图像所对应的第一待合成解码特征图;
对待测图解码特征图集合中的解码特征图进行双线性插值处理,得到待测图像所对应的第二待合成解码特征图;
对第一待合成解码特征图以及第二待合成解码特征图进行拼接处理,得到对比特征图。
可选地,在上述图14所对应的实施例的基础上,本申请实施例提供的产品表面缺陷分割装置30的另一实施例中,产品表面缺陷分割装置30还包括处理模块303;
处理模块303,用于在获取模块301基于对比特征图,通过产品缺陷分割模型所包括的卷积层获取待测产品所对应的分割掩码图像之后,向终端设备发送分割掩码图像,以使终端设备显示分割掩码图像;
或,若分割掩码图像满足产品缺陷确定条件,则生成产品缺陷告警提示,其中,产品缺陷告警提示用于提示待测产品具有产品缺陷;
或,若分割掩码图像满足产品缺陷确定条件,则获取待测产品的产品标识,将待测产品的产品标识存储于产品缺陷列表,其中,产品缺陷列表用于记录具有产品缺陷的产品标识。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,表面缺陷分割装置还包括训练模块304;
获取模块301,还用于获取待训练产品所对应的参考图像以及待训练产品的缺陷图像;
获取模块301,还用于基于待训练产品的参考图像以及待训练产品的缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取待训练产品的参考图像对应的参考图编码特征图集合以及待训练产品的缺陷图像对应的缺陷图编码特征图集合,其中,待训练产品的参考图像对应的参考图编码特征图集合包括P个编码特征图,待训练产品的缺陷图像对应的缺陷图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
获取模块301,还用于基于待训练产品的参考图像对应的参考图编码特征图集合以及待训练产品的缺陷图像对应的缺陷图编码特征图集合,通过待训练产品缺陷分割模型所包括的孪生解码网络,获取待训练产品的参考图像对应的参考图解码特征图集合以及待训练产品的缺陷图像对应的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
生成模块302,还用于根据待训练产品的参考图像对应的参考图解码特征图集合以及待训练产品的缺陷图像对应的待测图解码特征图集合,生成待训练产品的对比特征图;
获取模块301,还用于基于待训练产品的对比特征图,通过待训练产品缺陷分割模型所包括的卷积层获取待训练产品所对应的分割掩码图像;
训练模块304,用于根据待训练产品所对应的分割掩码图像以及待训练产品的缺陷图像,对待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型。
下面对本申请中的模型学习装置进行详细描述,请参阅图15,图15为本申请实施例中模型学习装置的一个实施例示意图,模型学习装置40包括:
获取模块401,用于获取待训练产品所对应的参考图像以及缺陷图像,其中,参考图像表示待训练产品所对应的无缺陷图像,缺陷图像表示待训练产品所对应的有缺陷图像;
获取模块401,还用于基于参考图像以及缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取参考图像的参考图编码特征图集合以及缺陷图像的缺陷图编码特征图集合,其中,参考图编码特征图集合包括P个编码特征图,缺陷图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
获取模块401,还用于基于参考图编码特征图集合以及缺陷图编码特征图集合,通过待训练产品缺陷分割模型所包括的孪生解码网络,获取参考图像的参考图解码特征图集合以及待测图像的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
生成模块402,用于根据参考图解码特征图集合以及待测图解码特征图集合,生成对比特征图;
获取模块401,还用于基于对比特征图,通过待训练产品缺陷分割模型所包括的卷积层获取待训练产品所对应的分割掩码图像;
训练模块403,用于根据分割掩码图像以及缺陷图像,对待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型,其中,产品缺陷分割模型用于执行上述产品表面缺陷分割方法。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的产品表面缺陷分割装置30的另一实施例中,模型学习装置40还包括处理模块404;
获取模块401,还用于从参考图编码特征图集合中获取第一顶层编码特征图,其中,第一顶层编码特征图为参考图编码特征图集合中尺寸最小的编码特征图;
获取模块401,还用于从缺陷图编码特征图集合中获取第二顶层编码特征图,其中,第二顶层编码特征图为缺陷图编码特征图集合中尺寸最小的编码特征图;
处理模块404,用于对第一顶层编码特征图进行全局平均池化处理,得到第一图像特征;
处理模块404,还用于对第二顶层编码特征图进行全局平均池化处理,得到第二图像特征;
训练模块403,具体用于根据分割掩码图像以及参考图像,采用第一损失函数获取第一损失值;
根据第一图像特征以及第二图像特征,采用第二损失函数获取第二损失值;
根据第一图像特征以及第二图像特征,采用第三损失函数获取第三损失值;
根据第一损失值、第二损失值以及第三损失值,对待训练产品缺陷分割模型的模型参数进行更新。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的产品表面缺陷分割装置30的另一实施例中,
训练模块403,具体用于基于第一图像特征,通过第一全连接网络获取第一输出结果;
基于第二图像特征,通过第二全连接网络获取第二输出结果;
根据第一输出结果以及第二输出结果,采用分类损失函数获取分类损失值,其中,分类损失函数属于第二损失函数,分类损失值属于第二损失值。
可选地,在上述图15所对应的实施例的基础上,本申请实施例提供的产品表面缺陷分割装置30的另一实施例中,
训练模块403,具体用于基于第一图像特征,通过第三全连接网络获取第三输出结果;
基于第二图像特征,通过第四全连接网络获取第四输出结果;
根据第三输出结果以及第四输出结果,采用排序损失函数获取排序损失值,其中,排序损失函数属于第三损失函数,排序损失值属于第三损失值。
本申请实施例还提供了另一种产品表面缺陷分割装置,如图16所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端设备可以为包括手机、平板电脑、个人数字助理(personal digitalassistant,PDA)、销售终端设备(point of sales,POS)、车载电脑等任意终端设备,以终端设备为手机为例:
图16示出的是与本申请实施例提供的终端设备相关的手机的部分结构的框图。参考图16,手机包括:射频(radio frequency,RF)电路510、存储器520、输入单元530、显示单元540、传感器550、音频电路560、无线保真(wireless fidelity,WiFi)模块570、处理器580、以及电源590等部件。本领域技术人员可以理解,图16中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图16对手机的各个构成部件进行具体的介绍:
RF电路510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器580处理;另外,将设计上行的数据发送给基站。通常,RF电路510包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路510还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器520可用于存储软件程序以及模块,处理器580通过运行存储在存储器520的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元530可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元530可包括触控面板531以及其他输入设备532。触控面板531,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板531上或在触控面板531附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板531可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器580,并能接收处理器580发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板531。除了触控面板531,输入单元530还可以包括其他输入设备532。具体地,其他输入设备532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元540可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元540可包括显示面板541,可选的,可以采用液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板541。进一步的,触控面板531可覆盖显示面板541,当触控面板531检测到在其上或附近的触摸操作后,传送给处理器580以确定触摸事件的类型,随后处理器580根据触摸事件的类型在显示面板541上提供相应的视觉输出。虽然在图16中,触控面板531与显示面板541是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板531与显示面板541集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器550,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板541的亮度,接近传感器可在手机移动到耳边时,关闭显示面板541和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路560、扬声器561,传声器562可提供用户与手机之间的音频接口。音频电路560可将接收到的音频数据转换后的电信号,传输到扬声器561,由扬声器561转换为声音信号输出;另一方面,传声器562将收集的声音信号转换为电信号,由音频电路560接收后转换为音频数据,再将音频数据输出处理器580处理后,经RF电路510以发送给比如另一手机,或者将音频数据输出至存储器520以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块570可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图16示出了WiFi模块570,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器580是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器520内的软件程序和/或模块,以及调用存储在存储器520内的数据,执行手机的各种功能和处理数据。可选的,处理器580可包括一个或多个处理单元;可选的,处理器580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器580中。
手机还包括给各个部件供电的电源590(比如电池),可选的,电源可以通过电源管理***与处理器580逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
上述实施例中由终端设备所执行的步骤可以基于该图16所示的终端设备结构。
图17是本申请实施例提供的一种服务器结构示意图,该服务器600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(central processingunits,CPU)622(例如,一个或一个以上处理器)和存储器632,一个或一个以上存储应用程序642或数据644的存储介质630(例如一个或一个以上海量存储设备)。其中,存储器632和存储介质630可以是短暂存储或持久存储。存储在存储介质630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器622可以设置为与存储介质630通信,在服务器600上执行存储介质630中的一系列指令操作。
服务器600还可以包括一个或一个以上电源626,一个或一个以上有线或无线网络接口650,一个或一个以上输入输出接口658,和/或,一个或一个以上操作***641,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图17所示的服务器结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (22)
1.一种缺陷分割模型学习方法,其特征在于,包括:
获取待训练产品所对应的参考图像以及缺陷图像;
基于所述参考图像以及所述缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取所述参考图像的参考图编码特征图集合以及所述缺陷图像的缺陷图编码特征图集合,其中,所述参考图编码特征图集合包括P个编码特征图,所述缺陷图编码特征图集合包括P个编码特征图,所述P为大于或等于1的整数;
从所述参考图编码特征图集合中获取第一顶层编码特征图,其中,所述第一顶层编码特征图为所述参考图编码特征图集合中尺寸最小的编码特征图;
从所述缺陷图编码特征图集合中获取第二顶层编码特征图,其中,所述第二顶层编码特征图为所述缺陷图编码特征图集合中尺寸最小的编码特征图;
对所述第一顶层编码特征图进行全局平均池化处理,得到第一图像特征;
对所述第二顶层编码特征图进行全局平均池化处理,得到第二图像特征;
基于所述参考图编码特征图集合以及所述缺陷图编码特征图集合,通过所述待训练产品缺陷分割模型所包括的孪生解码网络,获取所述参考图像的参考图解码特征图集合以及所述缺陷图像的缺陷图解码特征图集合,其中,所述参考图解码特征图集合包括P个解码特征图,所述缺陷图解码特征图集合包括P个解码特征图;
根据所述参考图解码特征图集合以及所述缺陷图解码特征图集合,生成对比特征图;
基于所述对比特征图,通过所述待训练产品缺陷分割模型所包括的卷积层获取所述待训练产品所对应的分割掩码图像;
根据所述分割掩码图像以及所述参考图像,采用第一损失函数获取第一损失值;
根据所述第一图像特征以及所述第二图像特征,采用第二损失函数获取第二损失值;
根据所述第一图像特征以及所述第二图像特征,采用第三损失函数获取第三损失值;
根据所述第一损失值、所述第二损失值以及所述第三损失值,对所述待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型。
2.根据权利要求1所述的缺陷分割模型学习方法,其特征在于,所述根据所述第一图像特征以及所述第二图像特征,采用第二损失函数获取第二损失值,包括:
基于所述第一图像特征,通过第一全连接网络获取第一输出结果;
基于所述第二图像特征,通过第二全连接网络获取第二输出结果;
根据所述第一输出结果以及所述第二输出结果,采用分类损失函数获取分类损失值,其中,所述分类损失函数属于所述第二损失函数,所述分类损失值属于所述第二损失值。
3.根据权利要求1所述的缺陷分割模型学习方法,其特征在于,所述根据所述第一图像特征以及所述第二图像特征,采用第三损失函数获取第三损失值,包括:
基于所述第一图像特征,通过第三全连接网络获取第三输出结果;
基于所述第二图像特征,通过第四全连接网络获取第四输出结果;
根据所述第三输出结果以及所述第四输出结果,采用排序损失函数获取排序损失值,其中,所述排序损失函数属于所述第三损失函数,所述排序损失值属于所述第三损失值。
4.一种产品表面缺陷分割方法,其特征在于,包括:
获取待测产品所对应的参考图像以及待测图像;
基于所述参考图像以及所述待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取所述参考图像的参考图编码特征图集合以及所述待测图像的待测图编码特征图集合,其中,所述参考图编码特征图集合包括P个编码特征图,所述待测图编码特征图集合包括P个编码特征图,所述P为大于或等于1的整数;所述产品缺陷分割模型基于权利要求1至3中任一项所述的缺陷分割模型学习方法得到;
基于所述参考图编码特征图集合以及所述待测图编码特征图集合,通过所述产品缺陷分割模型所包括的孪生解码网络,获取所述参考图像的参考图解码特征图集合以及所述待测图像的待测图解码特征图集合,其中,所述参考图解码特征图集合包括P个解码特征图,所述待测图解码特征图集合包括P个解码特征图;
根据所述参考图解码特征图集合以及所述待测图解码特征图集合,生成对比特征图;
基于所述对比特征图,通过所述产品缺陷分割模型所包括的卷积层获取所述待测产品所对应的分割掩码图像,其中,所述分割掩码图像用于显示产品缺陷的预测位置。
5.根据权利要求4所述的产品表面缺陷分割方法,其特征在于,所述基于所述参考图像以及所述待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取所述参考图像的参考图编码特征图集合以及所述待测图像的待测图编码特征图集合,包括:
基于所述参考图像,通过所述孪生编码网络所包括的第一编码网络,获取所述参考图编码特征图集合,其中,所述参考图编码特征图集合包括至少两个编码特征图,且所述参考图编码特征图集合中的每个编码特征图具有不同空间尺度;
基于所述待测图像,通过所述孪生编码网络所包括的第二编码网络,获取所述待测图编码特征图集合,其中,所述待测图编码特征图集合至少两个编码特征图,且所述待测图编码特征图集合中的每个编码特征图具有不同空间尺度。
6.根据权利要求5所述的产品表面缺陷分割方法,其特征在于,所述基于所述参考图编码特征图集合以及所述待测图编码特征图集合,通过所述产品缺陷分割模型所包括的孪生解码网络,获取所述参考图像的参考图解码特征图集合以及所述待测图像的待测图解码特征图集合,包括:
基于所述参考图编码特征图集合,通过所述孪生解码网络所包括的第一解码网络,获取所述参考图解码特征图集合,其中,所述参考图解码特征图集合包括至少两个解码特征图,且所述参考图解码特征图集合中的每个解码特征图具有不同空间尺度;
基于所述待测图编码特征图集合,通过所述孪生解码网络所包括的第二解码网络,获取所述待测图解码特征图集合,其中,所述待测图解码特征图集合包括至少两个解码特征图,且所述待测图解码特征图集合中的每个解码特征图具有不同空间尺度。
7.根据权利要求6所述的产品表面缺陷分割方法,其特征在于,所述基于所述参考图编码特征图集合,通过所述产品缺陷分割模型所包括的第一解码网络,获取所述参考图解码特征图集合,包括:
基于所述参考图编码特征图集合中的第一顶层编码特征图,通过所述第一编码网络所包括的金字塔池化模块PPM,获取第一金字塔池化特征,其中,所述第一金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,所述M为大于或等于1的整数;
基于所述第一金字塔池化特征以及所述参考图编码特征图集合,通过所述第一解码网络所包括的特征金字塔融合模块FPN,获取所述参考图解码特征图集合。
8.根据权利要求6所述的产品表面缺陷分割方法,其特征在于,所述基于所述待测图编码特征图集合,通过所述产品缺陷分割模型所包括的第二解码网络,获取所述待测图解码特征图集合,包括:
基于所述待测图编码特征图集合中的第二顶层编码特征图,通过所述第二解码网络所包括的金字塔池化模块PPM,获取第二金字塔池化特征,其中,所述第二金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,所述M为大于或等于1的整数;
基于所述第二金字塔池化特征以及所述待测图编码特征图集合,通过所述第二解码网络所包括的特征金字塔融合模块FPN,获取所述待测图解码特征图集合。
9.根据权利要求4所述的产品表面缺陷分割方法,其特征在于,所述根据所述参考图解码特征图集合以及所述待测图解码特征图集合,生成对比特征图,包括:
对所述参考图解码特征图集合中的解码特征图进行双线性插值处理,得到所述参考图像所对应的第一待合成解码特征图;
对所述待测图解码特征图集合中的解码特征图进行双线性插值处理,得到所述待测图像所对应的第二待合成解码特征图;
对所述第一待合成解码特征图以及所述第二待合成解码特征图进行拼接处理,得到所述对比特征图。
10.根据权利要求4所述的产品表面缺陷分割方法,其特征在于,所述方法还包括:
获取待训练产品所对应的参考图像以及所述待训练产品的缺陷图像;
基于所述待训练产品的参考图像以及所述待训练产品的缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取所述待训练产品的参考图像对应的参考图编码特征图集合以及所述待训练产品的缺陷图像对应的缺陷图编码特征图集合,其中,所述待训练产品的参考图像对应的参考图编码特征图集合包括P个编码特征图,所述待训练产品的缺陷图像对应的缺陷图编码特征图集合包括P个编码特征图,所述P为大于或等于1的整数;
基于所述待训练产品的参考图像对应的参考图编码特征图集合以及所述待训练产品的缺陷图像对应的缺陷图编码特征图集合,通过所述待训练产品缺陷分割模型所包括的孪生解码网络,获取所述待训练产品的参考图像对应的参考图解码特征图集合以及所述待训练产品的缺陷图像对应的缺陷图解码特征图集合,其中,所述参考图解码特征图集合包括P个解码特征图,所述缺陷图解码特征图集合包括P个解码特征图;
根据所述待训练产品的参考图像对应的参考图解码特征图集合以及所述待训练产品的缺陷图像对应的缺陷图解码特征图集合,生成所述待训练产品的对比特征图;
基于所述待训练产品的对比特征图,通过所述待训练产品缺陷分割模型所包括的卷积层获取所述待训练产品所对应的分割掩码图像;
根据所述待训练产品所对应的分割掩码图像以及所述待训练产品的缺陷图像,对所述待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出所述产品缺陷分割模型。
11.一种模型学习装置,其特征在于,包括:
获取模块,用于获取待训练产品所对应的参考图像以及缺陷图像;
所述获取模块,还用于基于所述参考图像以及所述缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取所述参考图像的参考图编码特征图集合以及所述缺陷图像的缺陷图编码特征图集合,其中,所述参考图编码特征图集合包括P个编码特征图,所述缺陷图编码特征图集合包括P个编码特征图,所述P为大于或等于1的整数;
所述获取模块,还用于从参考图编码特征图集合中获取第一顶层编码特征图,其中,第一顶层编码特征图为参考图编码特征图集合中尺寸最小的编码特征图;
所述获取模块,还用于从缺陷图编码特征图集合中获取第二顶层编码特征图,其中,第二顶层编码特征图为缺陷图编码特征图集合中尺寸最小的编码特征图;
处理模块,用于对第一顶层编码特征图进行全局平均池化处理,得到第一图像特征;
所述处理模块,还用于对第二顶层编码特征图进行全局平均池化处理,得到第二图像特征;
所述获取模块,还用于基于所述参考图编码特征图集合以及所述缺陷图编码特征图集合,通过所述待训练产品缺陷分割模型所包括的孪生解码网络,获取所述参考图像的参考图解码特征图集合以及所述缺陷图像的缺陷图解码特征图集合,其中,所述参考图解码特征图集合包括P个解码特征图,所述缺陷图解码特征图集合包括P个解码特征图;
生成模块,用于根据所述参考图解码特征图集合以及所述缺陷图解码特征图集合,生成对比特征图;
所述获取模块,还用于基于所述对比特征图,通过所述待训练产品缺陷分割模型所包括的卷积层获取所述待训练产品所对应的分割掩码图像;
训练模块,用于根据所述分割掩码图像以及所述缺陷图像,对所述待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型;
所述训练模块,具体用于根据分割掩码图像以及参考图像,采用第一损失函数获取第一损失值;
根据第一图像特征以及第二图像特征,采用第二损失函数获取第二损失值;
根据第一图像特征以及第二图像特征,采用第三损失函数获取第三损失值;
根据第一损失值、第二损失值以及第三损失值,对待训练产品缺陷分割模型的模型参数进行更新。
12.根据权利要求11所述的装置,其特征在于,所述训练模块,具体用于基于第一图像特征,通过第一全连接网络获取第一输出结果;
基于第二图像特征,通过第二全连接网络获取第二输出结果;
根据第一输出结果以及第二输出结果,采用分类损失函数获取分类损失值,其中,分类损失函数属于第二损失函数,分类损失值属于第二损失值。
13.根据权利要求11所述的装置,其特征在于,所述训练模块,具体用于基于第一图像特征,通过第三全连接网络获取第三输出结果;
基于第二图像特征,通过第四全连接网络获取第四输出结果;
根据第三输出结果以及第四输出结果,采用排序损失函数获取排序损失值,其中,排序损失函数属于第三损失函数,排序损失值属于第三损失值。
14.一种产品表面缺陷分割装置,其特征在于,包括:
获取模块,用于获取待测产品所对应的参考图像以及待测图像;
所述获取模块,还用于基于所述参考图像以及所述待测图像,通过产品缺陷分割模型所包括的孪生编码网络,获取所述参考图像的参考图编码特征图集合以及所述待测图像的待测图编码特征图集合,其中,所述参考图编码特征图集合包括P个编码特征图,所述待测图编码特征图集合包括P个编码特征图,所述P为大于或等于1的整数;所述产品缺陷分割模型基于权利要求1至3中任一项所述的缺陷分割模型学习方法得到;
所述获取模块,还用于基于所述参考图编码特征图集合以及所述待测图编码特征图集合,通过所述产品缺陷分割模型所包括的孪生解码网络,获取所述参考图像的参考图解码特征图集合以及所述待测图像的待测图解码特征图集合,其中,所述参考图解码特征图集合包括P个解码特征图,所述待测图解码特征图集合包括P个解码特征图;
生成模块,用于根据所述参考图解码特征图集合以及所述待测图解码特征图集合,生成对比特征图;
所述获取模块,还用于基于所述对比特征图,通过所述产品缺陷分割模型所包括的卷积层获取所述待测产品所对应的分割掩码图像,其中,所述分割掩码图像用于显示产品缺陷的预测位置。
15.根据权利要求14所述的装置,其特征在于,所述获取模块,具体用于基于参考图像,通过孪生编码网络所包括的第一编码网络,获取参考图编码特征图集合,其中,参考图编码特征图集合包括至少两个编码特征图,且参考图编码特征图集合中的每个编码特征图具有不同空间尺度;
基于待测图像,通过孪生编码网络所包括的第二编码网络,获取待测图编码特征图集合,其中,待测图编码特征图集合至少两个编码特征图,且待测图编码特征图集合中的每个编码特征图具有不同空间尺度。
16.根据权利要求15所述的装置,其特征在于,所述获取模块,具体用于基于参考图编码特征图集合,通过孪生解码网络所包括的第一解码网络,获取参考图解码特征图集合,其中,参考图解码特征图集合包括至少两个解码特征图,且参考图解码特征图集合中的每个解码特征图具有不同空间尺度;
基于待测图编码特征图集合,通过孪生解码网络所包括的第二解码网络,获取待测图解码特征图集合,其中,待测图解码特征图集合包括至少两个解码特征图,且待测图解码特征图集合中的每个解码特征图具有不同空间尺度。
17.根据权利要求16所述的装置,其特征在于,所述获取模块,具体用于基于参考图编码特征图集合中的第一顶层编码特征图,通过第一编码网络所包括的金字塔池化模块PPM,获取第一金字塔池化特征,其中,第一金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,M为大于或等于1的整数;
基于第一金字塔池化特征以及参考图编码特征图集合,通过第一解码网络所包括的特征金字塔融合模块FPN,获取参考图解码特征图集合。
18.根据权利要求17所述的装置,其特征在于,所述获取模块,具体用于基于待测图编码特征图集合中的第二顶层编码特征图,通过第二解码网络所包括的金字塔池化模块PPM,获取第二金字塔池化特征,其中,第二金字塔池化特征为根据M个池化特征生成的,每个池化特征具有不同的空间尺度,M为大于或等于1的整数;
基于第二金字塔池化特征以及待测图编码特征图集合,通过第二解码网络所包括的特征金字塔融合模块FPN,获取待测图解码特征图集合。
19.根据权利要求16所述的装置,其特征在于,所述生成模块,具体用于对参考图解码特征图集合中的解码特征图进行双线性插值处理,得到参考图像所对应的第一待合成解码特征图;
对待测图解码特征图集合中的解码特征图进行双线性插值处理,得到待测图像所对应的第二待合成解码特征图;
对第一待合成解码特征图以及第二待合成解码特征图进行拼接处理,得到对比特征图。
20.根据权利要求16所述的装置,其特征在于,所述装置还包括训练模块;
所述获取模块,还用于获取待训练产品所对应的参考图像以及待训练产品的缺陷图像;
所述获取模块,还用于基于待训练产品的参考图像以及待训练产品的缺陷图像,通过待训练产品缺陷分割模型所包括的孪生编码网络,获取待训练产品的参考图像对应的参考图编码特征图集合以及待训练产品的缺陷图像对应的缺陷图编码特征图集合,其中,待训练产品的参考图像对应的参考图编码特征图集合包括P个编码特征图,待训练产品的缺陷图像对应的缺陷图编码特征图集合包括P个编码特征图,P为大于或等于1的整数;
所述获取模块,还用于基于待训练产品的参考图像对应的参考图编码特征图集合以及待训练产品的缺陷图像对应的缺陷图编码特征图集合,通过待训练产品缺陷分割模型所包括的孪生解码网络,获取待训练产品的参考图像对应的参考图解码特征图集合以及待训练产品的缺陷图像对应的待测图解码特征图集合,其中,参考图解码特征图集合包括P个解码特征图,待测图解码特征图集合包括P个解码特征图;
所述生成模块,还用于根据待训练产品的参考图像对应的参考图解码特征图集合以及待训练产品的缺陷图像对应的待测图解码特征图集合,生成待训练产品的对比特征图;
所述获取模块,还用于基于待训练产品的对比特征图,通过待训练产品缺陷分割模型所包括的卷积层获取待训练产品所对应的分割掩码图像;
所述训练模块,用于根据待训练产品所对应的分割掩码图像以及待训练产品的缺陷图像,对待训练产品缺陷分割模型的模型参数进行更新,直至满足模型训练条件,输出产品缺陷分割模型。
21.一种计算机设备,其特征在于,包括:存储器、收发器、处理器以及总线***;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据所述程序代码中的指令执行权利要求1至3中任一项所述的缺陷分割模型学习方法,或,执行权利要求4至10中任一项所述的产品表面缺陷分割方法;
所述总线***用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
22.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行权利要求1至3中任一项所述的缺陷分割模型学习方法,或,执行权利要求4至10中任一项所述的产品表面缺陷分割方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010789117.8A CN111754513B (zh) | 2020-08-07 | 2020-08-07 | 产品表面缺陷分割方法、缺陷分割模型学习方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010789117.8A CN111754513B (zh) | 2020-08-07 | 2020-08-07 | 产品表面缺陷分割方法、缺陷分割模型学习方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111754513A CN111754513A (zh) | 2020-10-09 |
CN111754513B true CN111754513B (zh) | 2024-03-22 |
Family
ID=72713343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010789117.8A Active CN111754513B (zh) | 2020-08-07 | 2020-08-07 | 产品表面缺陷分割方法、缺陷分割模型学习方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111754513B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112053360B (zh) * | 2020-10-10 | 2023-07-25 | 腾讯科技(深圳)有限公司 | 图像分割方法、装置、计算机设备及存储介质 |
CN112150460B (zh) * | 2020-10-16 | 2024-03-15 | 上海智臻智能网络科技股份有限公司 | 检测方法、检测***、设备和介质 |
CN112200790B (zh) * | 2020-10-16 | 2023-04-07 | 鲸斛(上海)智能科技有限公司 | 布料缺陷检测方法、设备和介质 |
CN112529877A (zh) * | 2020-12-15 | 2021-03-19 | 中国联合网络通信集团有限公司 | 一种瓶装液体杂质检测方法及装置 |
CN112819748B (zh) * | 2020-12-16 | 2023-09-19 | 机科发展科技股份有限公司 | 一种带钢表面缺陷识别模型的训练方法及装置 |
CN112748116A (zh) * | 2020-12-23 | 2021-05-04 | 郑州金惠计算机***工程有限公司 | 一种医用纱布表面缺陷在线检测方法与装置 |
CN112966755A (zh) * | 2021-03-10 | 2021-06-15 | 深圳市固电电子有限公司 | 电感缺陷检测方法、设备及可读存储介质 |
CN113344862B (zh) * | 2021-05-20 | 2024-04-12 | 北京百度网讯科技有限公司 | 缺陷检测方法、装置、电子设备及存储介质 |
CN113362288B (zh) * | 2021-05-24 | 2024-03-08 | 深圳明锐理想科技股份有限公司 | 一种金手指划伤检测方法、装置以及电子设备 |
CN113538436A (zh) * | 2021-09-17 | 2021-10-22 | 深圳市信润富联数字科技有限公司 | 零件缺陷的检测方法、装置、终端设备及存储介质 |
CN114092396A (zh) * | 2021-10-11 | 2022-02-25 | 安庆师范大学 | 一种包装盒撞角瑕疵检测的方法及装置 |
CN114708266A (zh) * | 2022-06-07 | 2022-07-05 | 青岛通产智能科技股份有限公司 | 一种卡片缺陷的检测工装、方法、装置以及介质 |
CN114782445B (zh) * | 2022-06-22 | 2022-10-11 | 深圳思谋信息科技有限公司 | 对象缺陷检测方法、装置、计算机设备和存储介质 |
CN115496941B (zh) * | 2022-09-19 | 2024-01-09 | 哈尔滨工业大学 | 基于知识增强计算机视觉的结构健康诊断方法 |
CN115527207B (zh) * | 2022-10-17 | 2023-04-28 | 哈尔滨市科佳通用机电股份有限公司 | 基于深度神经网络的列车闸调器控制杆螺母故障检测方法 |
CN116977310B (zh) * | 2023-08-01 | 2024-01-26 | 山东明佳科技有限公司 | 乳玻瓶瓶口缺口的图像检测方法、***、设备和存储介质 |
CN117115158B (zh) * | 2023-10-23 | 2024-02-02 | 深圳市信润富联数字科技有限公司 | 基于深度对比学习的缺陷检测方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110222792A (zh) * | 2019-06-20 | 2019-09-10 | 杭州电子科技大学 | 一种基于孪生网络的标签缺陷检测算法 |
CN110570396A (zh) * | 2019-08-07 | 2019-12-13 | 华中科技大学 | 一种基于深度学习的工业产品缺陷检测方法 |
CN110609037A (zh) * | 2019-07-12 | 2019-12-24 | 北京旷视科技有限公司 | 产品缺陷检测***及方法 |
CN111127383A (zh) * | 2019-03-15 | 2020-05-08 | 杭州电子科技大学 | 一种数码印花在线缺陷检测***及其实现方法 |
CN111179251A (zh) * | 2019-12-30 | 2020-05-19 | 上海交通大学 | 基于孪生神经网络利用模板比对的缺陷检测***及方法 |
CN111209910A (zh) * | 2019-01-03 | 2020-05-29 | 北京京东尚科信息技术有限公司 | 用于语义分割的***、方法和非暂时性计算机可读介质 |
CN111259899A (zh) * | 2020-01-13 | 2020-06-09 | 华中科技大学 | 一种喷码字符检测方法 |
CN111259853A (zh) * | 2020-02-04 | 2020-06-09 | 中国科学院计算技术研究所 | 一种高分辨率遥感图像变化检测方法、***及装置 |
CN111401384A (zh) * | 2020-03-12 | 2020-07-10 | 安徽南瑞继远电网技术有限公司 | 一种变电设备缺陷图像匹配方法 |
-
2020
- 2020-08-07 CN CN202010789117.8A patent/CN111754513B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209910A (zh) * | 2019-01-03 | 2020-05-29 | 北京京东尚科信息技术有限公司 | 用于语义分割的***、方法和非暂时性计算机可读介质 |
CN111127383A (zh) * | 2019-03-15 | 2020-05-08 | 杭州电子科技大学 | 一种数码印花在线缺陷检测***及其实现方法 |
CN110222792A (zh) * | 2019-06-20 | 2019-09-10 | 杭州电子科技大学 | 一种基于孪生网络的标签缺陷检测算法 |
CN110609037A (zh) * | 2019-07-12 | 2019-12-24 | 北京旷视科技有限公司 | 产品缺陷检测***及方法 |
CN110570396A (zh) * | 2019-08-07 | 2019-12-13 | 华中科技大学 | 一种基于深度学习的工业产品缺陷检测方法 |
CN111179251A (zh) * | 2019-12-30 | 2020-05-19 | 上海交通大学 | 基于孪生神经网络利用模板比对的缺陷检测***及方法 |
CN111259899A (zh) * | 2020-01-13 | 2020-06-09 | 华中科技大学 | 一种喷码字符检测方法 |
CN111259853A (zh) * | 2020-02-04 | 2020-06-09 | 中国科学院计算技术研究所 | 一种高分辨率遥感图像变化检测方法、***及装置 |
CN111401384A (zh) * | 2020-03-12 | 2020-07-10 | 安徽南瑞继远电网技术有限公司 | 一种变电设备缺陷图像匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111754513A (zh) | 2020-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111754513B (zh) | 产品表面缺陷分割方法、缺陷分割模型学习方法及装置 | |
EP3944147A1 (en) | Target detection method, model training method, device, apparatus and storage medium | |
CN109784424B (zh) | 一种图像分类模型训练的方法、图像处理的方法及装置 | |
US9471912B2 (en) | Behavioral event measurement system and related method | |
CN111582116B (zh) | 一种视频抹除痕迹检测方法、装置、设备和存储介质 | |
CN104050443B (zh) | 使用肤色检测的视频流的姿势预处理 | |
CN111652087B (zh) | 验车方法、装置、电子设备和存储介质 | |
CN107871011A (zh) | 图像处理方法、装置、移动终端及计算机可读存储介质 | |
CN112162930A (zh) | 一种控件识别的方法、相关装置、设备及存储介质 | |
CN111492374A (zh) | 图像识别*** | |
CN112101329A (zh) | 一种基于视频的文本识别方法、模型训练的方法及装置 | |
CN109558792B (zh) | 一种基于样本和特征检测互联网徽标内容的方法和*** | |
CN112052778B (zh) | 一种交通标志识别方法以及相关装置 | |
CN110263729A (zh) | 一种镜头边界检测的方法、模型训练方法以及相关装置 | |
CN114418069A (zh) | 一种编码器的训练方法、装置及存储介质 | |
CN114722937B (zh) | 一种异常数据检测方法、装置、电子设备和存储介质 | |
CN113516113A (zh) | 一种图像内容识别方法、装置、设备及存储介质 | |
CN114529462A (zh) | 一种基于改进YOLO V3-Tiny的毫米波图像目标检测方法及*** | |
CN112052730A (zh) | 一种3d动态人像识别监控设备及方法 | |
CN103869977B (zh) | 图像显示方法、装置和电子设备 | |
CN115170400A (zh) | 一种视频修复的方法、相关装置、设备以及存储介质 | |
CN113947613A (zh) | 目标区域检测方法、装置、设备及存储介质 | |
CN115861156A (zh) | 缺陷检测方法、装置、计算机设备和存储介质 | |
CN113706446A (zh) | 一种镜头检测方法和相关装置 | |
CN116977249A (zh) | 缺陷检测的方法、模型训练的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40030740 Country of ref document: HK |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |