CN116596916A - 缺陷检测模型的训练和缺陷检测方法及其装置 - Google Patents
缺陷检测模型的训练和缺陷检测方法及其装置 Download PDFInfo
- Publication number
- CN116596916A CN116596916A CN202310687053.4A CN202310687053A CN116596916A CN 116596916 A CN116596916 A CN 116596916A CN 202310687053 A CN202310687053 A CN 202310687053A CN 116596916 A CN116596916 A CN 116596916A
- Authority
- CN
- China
- Prior art keywords
- feature
- defect detection
- regression
- detection model
- classification
- 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 691
- 238000001514 detection method Methods 0.000 title claims abstract description 550
- 238000012549 training Methods 0.000 title claims abstract description 190
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 121
- 239000011159 matrix material Substances 0.000 claims description 72
- 238000002372 labelling Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 14
- 238000013135 deep learning Methods 0.000 abstract description 6
- 238000004422 calculation algorithm Methods 0.000 description 32
- 238000007689 inspection Methods 0.000 description 21
- 230000006870 function Effects 0.000 description 19
- 230000008569 process Effects 0.000 description 19
- 238000005516 engineering process Methods 0.000 description 13
- 238000013527 convolutional neural network Methods 0.000 description 12
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013473 artificial intelligence Methods 0.000 description 6
- 230000001580 bacterial effect Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000004821 distillation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000011895 specific detection Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 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
- G06T7/0008—Industrial image inspection checking presence/absence
-
- 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/766—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using regression, e.g. by projecting features on hyperplanes
-
- 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
-
- 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]
-
- 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)
- 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为本公开实施例所提供的模型的训练阶段的场景图示意图;
图12为本公开实施例所提供的模型的预测阶段的场景图示意图;
图13为本公开实施例九所提供的缺陷检测方法的流程示意图;
图14为本公开实施例十所提供的缺陷检测模型的训练装置的结构示意图;
图15为本公开实施例十一所提供的缺陷检测装置的结构示意图;
图16示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
目前,工业质检场景中的缺陷检测方案多种多样,有直接使用传统算法,基于缺陷的纹理、颜色等特征进行缺陷检测;有使用有监督网络检测缺陷,寻找样本图像的内在规律,然后将规律应用到测试集,如使用faster-RCNN(Region-CNN,区域卷积神经网络(Convolutional Neural Networks))系列网络检测缺陷,使用OCRNet(Object ContextualRepresentations Network,基于物体区域的上下文信息的语义分割模型)网络分割缺陷,使用siamese network(孪生网络)比较图像相似度,以区分缺陷与非缺陷图像;有使用无监督方法,基于重建和基于嵌入相似性的异常检测方法,得到样本图像的一些内在特征和联系,并自动对样本图像进行分类,找到样本图像中的异常区域,以定位缺陷的位置;当然也有少部分使用半监督算法,结合异常检测,通过打伪标签的方式,增加样本图像的数量,提升网络精度。
然而上述方案,至少存在以下缺点:
1、多数方案只能利用有监督数据(即已标注图像),可使用的已标注图像的数量较少;
2、多数方案中模型的主干网络backbone只使用CNN,仅能提取局部特征信息,感受野较小,缺乏对图像的全图理解,且backbone使用如coco、imagenet数据集(目标检测领域的数据集)预训练的模型初始化,由于目标检测领域与工业质检领域不同,backbone后续的特征颈部结构neck与头部结构head部分为随机初始化,模型的收敛速度较慢;
3、在通用场景中,半监督检测算法较多,但这些算法在工业质检场景中较难收敛,且现有的半监督算法多需采用教师检测模型打伪标签,但打标签时,需要设定的超参较多,如nms(non maximum suppression,非极大值抑制)阈值、分数阈值、标签个数等等,且对噪声极为敏感,需要花费较大精力去定制化调参,泛化能力较差,并且,工业质检场景对标签的要求极高,需求的专业知识更强,很可能花费较大精力调整的参数效果也较差;也有部分算法不采用伪标签形式,直接比较教师检测模型与学生检测模型的输出结果,但限制较多,只适用于特定的检测结构,在工业质检场景中较难实际应用;
4、少部分算法将异常检测与半监督算法结合,而在实际的工业质检场景中,不同于公开数据集,某些异常并不是缺陷,例如水渍、脏污等,且部分缺陷与非缺陷目标差异较小,实际项目中,异常检测的效果较差。
针对上述存在的至少一项问题,本公开提出一种缺陷检测模型的训练和缺陷检测方法及其装置。
下面参考附图描述本公开实施例的缺陷检测模型的训练和缺陷检测方法及其装置。
图1为本公开实施例一所提供的缺陷检测模型的训练方法的流程示意图。
本公开实施例以该缺陷检测模型的训练方法被配置于缺陷检测模型的训练装置中来举例说明,该缺陷检测模型的训练装置可以应用于任一电子设备中,以使该电子设备可以执行缺陷检测模型的训练功能。
其中,电子设备可以为任一具有计算能力的设备,例如可以为个人电脑(PersonalComputer,简称PC)、移动终端、服务器等,移动终端例如可以为车载设备、手机、平板电脑、个人数字助理、穿戴式设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该缺陷检测模型的训练方法可以包括以下步骤:
步骤S101,获取未标注的第一样本图像;其中,第一样本图像展示有第一产品。
在本公开实施例中,对第一样本图像的获取方式不作限制,比如,第一样本图像可以为从现有的训练集或测试集中获取的图像,或者,第一样本图像可以为在线采集的图像,比如可以通过网络爬虫技术,在线采集第一样本图像,或者,第一样本图像也可以为线下采集的图像,或者,第一样本图像也可以为实时采集的图像,或者,第一样本图像也可以为人工合成的图像,或者,第一样本图像也可以为生成模型自动生成的图像,等等,本公开实施例对此并不作限制。
在本公开实施例中,第一样本图像中展示有第一产品,其中,第一产品可以为任意一个产品,比如,第一产品可以为某个型号的手机、电脑、电视机、智能音箱、液晶面板等等,本公开对此并不做限制。
步骤S102,采用教师缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征。
在本公开实施例中,教师缺陷检测模型和学生检测模型可以为目标检测模型,可以通过教师缺陷检测模型和学生缺陷检测模型使用目标检测算法定位产品的缺陷。
其中,学生缺陷检测模型和教师缺陷检测模型可以为自蒸馏领域中模型结构相同或相似的两个模型,比如,可以将模型结构相同的两个模型中的任意一个模型作为学生缺陷检测模型,另一个作为教师缺陷检测模型。
其中,教师缺陷检测模型中的模型参数可以根据学生缺陷检测模型中的模型参数进行更新。例如,在模型训练时,可以先对学生缺陷检测模型进行调整,调整后的学生缺陷检测模型可以指导教师缺陷检测模型学习,学习后的教师缺陷检测模型可以在下一次训练时,指导学生缺陷检测模型学习,两个缺陷检测模型互相作用和学习,来提升两个缺陷检测模型的预测精度。
在本公开实施例中,可以采用教师缺陷检测模型对第一样本图像进行第一产品的缺陷的回归预测,以得到教师缺陷检测模型输出的第一回归特征,并采用教师缺陷检测模型对第一样本图像进行第一产品的缺陷的类别预测,以得到教师检测模型输出的第一分类特征。
作为一种示例,可以对第一样本图像进行特征提取,得到特征图,采用教师缺陷检测模型中的第一预测层对该特征图进行第一产品的缺陷的回归预测,以得到第一预测层输出的第一回归特征,并采用教师缺陷检测模型中的第二预测层对该特征图进行第一产品的缺陷的类别预测,以得到第二预测层输出的第一分类特征。
由此,可以实现将分类和回归进行解耦,使得教师缺陷检测模型聚焦于分类和回归的特征能力的表达,即增强教师缺陷检测模型的特征表达能力,从而提升缺陷检测效果。
步骤S103,采用学生缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征。
在本公开实施例中,还可以采用学生缺陷检测模型对第一样本图像进行第一产品的缺陷的回归预测,以得到学生缺陷检测模型输出的第二回归特征,并采用学生缺陷检测模型对第一样本图像进行第一产品的缺陷的类别预测,以得到学生检测模型输出的第二分类特征。
步骤S104,根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值。
在本公开实施例中,可以根据第一回归特征和第二回归特征之间的差异,确定第一回归损失函数的取值(本公开中记为第一回归损失值),其中,第一回归损失值与上述差异呈正相关关系,即,上述差异越大,第一回归损失值越大,反之,上述差异越小,第一回归损失值越小。
在本公开实施例中,还可以根据第一分类特征和第二分类特征之间的差异,确定第一分类损失函数的取值(本公开中记为第一分类损失值)。其中,第一分类损失值与上述差异呈正相关关系。
步骤S105,根据第一回归损失值和第一分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
在本公开实施例中,可以根据第一回归损失值和第一分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
作为一种示例,可以根据第一回归损失值和第一分类损失值,确定目标损失值,其中,目标损失值与第一回归损失值呈正相关关系,且,目标损失值与第一分类损失值也呈正相关关系,从而本公开中,可以根据目标损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练,以使目标损失值最小化。比如,可以根据目标损失值,对学生缺陷检测模型中的模型参数进行调整,以使上述目标损失值最小化,之后,可以利用学生缺陷检测模型中调整后的模型参数,对教师缺陷检测模型中的模型参数进行更新。
需要说明的是,上述仅以模型训练的终止条件为目标损失值最小化进行示例,实际应用时,也可以设置其它的终止条件,比如终止条件还可以为训练次数达到设定次数,或者,终止条件还可以为训练时长达到设定时长,等等,本公开对此并不做限制。
综上,可以实现采用无监督算法,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
本公开实施例的缺陷检测模型的训练方法,通过采用教师缺陷检测模型分别对未标注的第一样本图像进行产品缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征,并采用学生缺陷检测模型分别对第一样本图像进行产品缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征;根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值;根据第一回归损失值和第一分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。由此,通过无监督学习方式,利用未标注的样本图像对教师缺陷检测模型和学生缺陷检测模型进行联合训练,可以使得教师缺陷检测模型和学生缺陷检测模型学习到图像的语义、定位等丰富的特征,从而增强训练后的教师缺陷检测模型和学生缺陷检测模型的泛化能力和可靠性。并且,无需人工标注样本图像,可以节省人工人本,减低样本图像的获取成本。
需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供和公开等处理,均在征得用户同意的前提下进行,并且均符合相关法律法规的规定,且不违背公序良俗。
为了清楚说明上述实施例是如何根据第一回归特征和第二回归特征确定第一回归损失值的,本公开还提出一种缺陷检测模型的训练方法。
图2为本公开实施例二所提供的缺陷检测模型的训练方法的流程示意图。
如图2所示,该缺陷检测模型的训练方法可以包括以下步骤:
步骤S201,获取未标注的第一样本图像;其中,第一样本图像展示有第一产品。
步骤S202,采用教师缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征。
步骤S203,采用学生缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征。
步骤S201至S203的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
在本公开实施例中,第一回归特征可以包括多个通道或多个维度(本公开中记为第一维度)的第一子特征,比如,第一回归特征可以为[b*w*h,c1]形式的特征,则第一回归特征可以包括c1个b*w*h的第一子特征。其中,b表示批batch或批次,即在模型训练时,可以一次输入一个批次的第一样本图像,输出一个第一回归特征,本公开中,以b=1进行示例,即每次输入一幅第一样本图像;w表示宽度width,h表示高度height,c1表示通道channel或特征维度。
同样地,第二回归特征可以包括多个第一维度的第二子特征,比如,第二回归特征也可以为[b*w*h,c1]形式的特征,则第二回归特征可以包括c1个b*w*h的第二子特征。
步骤S204,从第一回归特征中的多个第一维度的第一子特征中选择第一设定比例的第一子特征,并拼接得到第一拼接特征。
在本公开实施例中,第一设定比例为预先设定的取值较小的比例,比如,第一设定比例可以为1%、2%、3%等等,本公开对此并不做限制。
在本公开实施例中,可以从第一回归特征中的多个第一维度的第一子特征中,选择第一设定比例的第一子特征。
作为一种示例,可以从多个第一维度的第一子特征中,随机选择第一设定比例的第一子特征。
作为另一种示例,可以从多个第一维度的第一子特征中,按序选择第一设定比例的第一子特征。
作为又一种示例,可以基于相关规则或算法,从多个第一维度的第一子特征中,选择第一设定比例的第一子特征。
比如,针对多个第一维度的第一子特征中的任意一个第一子特征,可以根据该第一子特征中的多个特征点的特征值,从该第一子特征中的多个特征点中确定第一目标特征点,比如,可以将特征值最大的特征点,作为第一目标特征点。之后,可以根据各第一子特征中第一目标特征点的特征值,对各第一子特征进行排序,得到第一排序序列,比如,可以将多个第一子特征,按照对应第一子特征中第一目标特征点的特征值由大至小排序,得到第一排序序列,从而本公开中,可以从第一排序序列中选择排序在前的第一设定比例的第一子特征。
可以理解的是,特征值小的子特征包含较多的冗余信息,特征值大的子特征包含的信息更丰富,本公开中,选择特征值相对较大的第一子特征和第二子特征参与第一回归损失值的计算,在降低计算量的基础上,可以提升计算结果的准确性和可靠性。
在本公开实施例中,可以将选择的第一设定比例的第一子特征进行拼接,得到第一拼接特征。
步骤S205,从第二回归特征中的多个第一维度的第二子特征中选择第一设定比例的第二子特征,并拼接得到第二拼接特征。
在本公开实施例中,同样可以从第二回归特征中的多个第一维度的第二子特征中,选择第一设定比例的第二子特征。
作为一种示例,可以从多个第一维度的第二子特征中,随机选择第一设定比例的第二子特征。
作为另一种示例,可以从多个第一维度的第二子特征中,按序选择第一设定比例的第二子特征。
作为又一种示例,可以基于相关规则或算法,从多个第一维度的第二子特征中,选择第一设定比例的第二子特征。
比如,针对多个第一维度的第二子特征中的任意一个第二子特征,可以根据该第二子特征中的多个特征点的特征值,从该第二子特征中的多个特征点中确定第二目标特征点,比如,可以将特征值最大的特征点,作为第二目标特征点。之后,可以根据各第二子特征中第二目标特征点的特征值,对各第二子特征进行排序,得到第二排序序列,比如,可以将多个第二子特征,按照对应第二子特征中第二目标特征点的特征值由大至小排序,得到第二排序序列,从而本公开中,可以从第二排序序列中选择排序在前的第一设定比例的第二子特征。
在本公开实施例中,可以将选择的第一设定比例的第二子特征进行拼接,得到第二拼接特征。
步骤S206,根据第一拼接特征和第二拼接特征之间的差异,确定第一回归损失值。
在本公开实施例中,可以根据第一拼接特征和第二拼接特征之间的差异,确定第一回归损失函数的取值(本公开中记为第一回归损失值),其中,第一回归损失函数包括但不限于DFL(Distribution Focal Loss,分布焦损),第一回归损失值与上述差异呈正相关关系。
步骤S207,根据第一分类特征和第二分类特征确定第一分类损失值。
步骤S207的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
在本公开的任意一个实施例之中,第一分类特征可以包括多个通道或多个维度(本公开中记为第二维度)的第三子特征,比如,第一分类特征可以为[b*w*h,c2]形式的特征,则第一分类特征可以包括c2个b*w*h的第三子特征。
其中,对c1和c2的大小关系不作限制,比如,c1可以等于c2,或者,c1可以大于c2,或者,c1可以小于c2。
同样地,第二分类特征可以包括多个第二维度的第四子特征,比如,第二分类特征可以为[b*w*h,c2]形式的特征,则第二分类特征可以包括c2个b*w*h的第四子特征。
本公开中,可以从第一分类特征中的多个第二维度的第三子特征中选择第二设定比例的第三子特征,并拼接得到第三拼接特征,并从第二分类特征中的多个第二维度的第四子特征中选择第二设定比例的第四子特征,并拼接得到第四拼接特征,从而可以根据第三拼接特征和第四拼接特征之间的差异,确定第一分类损失函数的取值(本公开中记为第一分类损失值),其中,第一分类损失函数包括但不限于QFL(Quality Focal Loss,质量焦损),第一分类损失值与上述差异呈正相关关系。具体实现过程可以参见步骤S204至S206中的相关描述,其实现原理类似,在此不做赘述。
其中,第二设定比例为预先设定的取值较小的比例。需要说明的是,本公开对第一设定比例与第二设定比例的大小关系不作限制,比如,第一设定比例可以等于第二设定比例,或者,第一设定比例可以大于第二设定比例,或者,第一设定比例可以小于第二设定比例。
由此,可以实现仅从第一分类特征和第二分类特征中抽取部分子特征,参与第一分类损失值的计算,可以降低计算量,提升计算效率。
步骤S208,根据第一回归损失值和第一分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
步骤S208的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
本公开实施例的缺陷检测模型的训练方法,可以实现仅从第一回归特征和第二回归特征中抽取部分子特征,参与第一回归损失值的计算,可以降低计算量,提升计算效率。
为了清楚说明上述实施例是如何对教师缺陷检测模型和学生缺陷检测模型进行联合训练的,本公开还提出一种缺陷检测模型的训练方法。
图3为本公开实施例三所提供的缺陷检测模型的训练方法的流程示意图。
如图3所示,该缺陷检测模型的训练方法可以包括以下步骤:
步骤S301,获取未标注的第一样本图像;其中,第一样本图像展示有第一产品。
步骤S302,采用教师缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征。
步骤S303,采用学生缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征。
步骤S304,根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值。
步骤S301至S304的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
步骤S305,根据第三分类特征和第一分类特征,确定第二分类损失值。
在本公开实施例中,第三分类特征是教师缺陷检测模型最近一次进行缺陷的类别预测得到的,比如,第三分类特征可以为教师缺陷检测模型对前一批次的样本图像进行产品缺陷的类别预测所得到的分类特征。
在本公开实施例中,可以根据第三分类特征和第一分类特征,确定第二分类损失函数的取值(本公开中记为第二分类损失值)。其中,第二分类损失函数包括但不限于交叉熵损失函数。
比如,可以根据第三分类特征和第一分类特征之间的差异,确定第二分类损失值。
或者,也可以基于其他算法,根据第三分类特征和第一分类特征确定第二分类损失值,本公开对此并不做限制。
步骤S306,根据第三回归特征和第一回归特征,确定第二回归损失值。
在本公开实施例中,第三回归特征是教师缺陷检测模型最近一次进行缺陷的回归预测得到的,比如,第三回归特征可以为教师缺陷检测模型对前一批次的样本图像进行产品缺陷的回归预测所得到的回归特征。
在本公开实施例中,可以根据第三回归特征和第一回归特征,确定第二回归损失函数的取值(本公开中记为第二回归损失值)。其中,第二回归损失包括但不限于交叉熵损失函数。
比如,可以根据第三回归特征和第一回归特征之间的差异,确定第二回归损失值。
或者,也可以基于其他算法,根据第三回归特征和第一回归特征确定第二回归损失值,本公开对此并不做限制。
步骤S307,根据第一分类损失值、第二分类损失值、第一回归损失值和第二回归损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
在本公开实施例中,可以根据第一分类损失值、第二分类损失值、第一回归损失值和第二回归损失值,确定目标损失值。
作为一种示例,可以将第一分类损失值、第二分类损失值、第一回归损失值和第二回归损失值之和,作为目标损失值。
作为另一种示例,可以将第一分类损失值、第二分类损失值、第一回归损失值和第二回归损失值的均值,作为目标损失值。
作为又一种示例,可以对第一分类损失值、第二分类损失值、第一回归损失值和第二回归损失值进行加权求和,以得到目标损失值。
本公开中,可以根据目标损失值对教师缺陷检测模型和学生缺陷检测模型进行联合训练,以使目标损失值最小化。比如,可以根据目标损失值,对学生缺陷检测模型中的模型参数进行调整,以使上述目标损失值最小化,之后,可以利用学生缺陷检测模型中调整后的模型参数,对教师缺陷检测模型中的模型参数进行更新。
需要说明的是,上述仅以模型训练的终止条件为目标损失值最小化进行示例,实际应用时,也可以设置其它的终止条件,比如终止条件还可以为训练次数达到设定次数,或者,终止条件还可以为训练时长达到设定时长,等等,本公开对此并不做限制。
本公开实施例的缺陷检测模型的训练方法,不仅可以实现根据两个缺陷检测模型的本次输出,对两个缺陷检测模型进行联合训练,还可以实现根据教师缺陷检测模型的本次输出与前一次输出,对两个缺陷检测模型进行联合训练,可以提升两个缺陷检测模型的训练效果,即提升模型的预测精度。
为了清楚说明上述实施例是如何根据第三分类特征和第一分类特征,确定第二分类损失值的,本公开还提出一种缺陷检测模型的训练方法。
图4为本公开实施例四所提供的缺陷检测模型的训练方法的流程示意图。
如图4所示,该缺陷检测模型的训练方法可以包括以下步骤:
步骤S401,获取未标注的第一样本图像;其中,第一样本图像展示有第一产品。
步骤S402,采用教师缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征。
步骤S403,采用学生缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征。
步骤S404,根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值。
步骤S401至S404的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
步骤S405,根据第一分类特征中各特征点与第二分类特征中对应特征点之间的相似度,生成第一相似度矩阵。
在本公开实施例中,可以计算第一分类特征中的每个特征点与第二分类特征中对应特征点之间的相似度,并根据第一分类特征中各特征点与第二分类特征中对应特征点之间的相似度,生成第一相似度矩阵,即,第一相似度矩阵中的元素数量与第一分类特征中的特征点数量相同。
步骤S406,基于第三分类特征对第一分类特征进行更新,以得到更新后的第一分类特征。
其中,第三分类特征是教师缺陷检测模型最近一次进行缺陷的类别预测得到的。
在本公开实施例中,可以根据第三分类特征对第一分类特征进行更新,以得到更新后的第一分类特征。
在本公开实施例的一种可能的实现方式中,第一分类特征的更新方式,例如为:计算第一分类特征中的每个特征点与第三分类特征中对应特征点之间的相似度,并根据第一分类特征中各特征点与第三分类特征中对应特征点之间的相似度,生成第二相似度矩阵,之后,可以将第二相似度矩阵与第三分类特征相乘,得到第四分类特征,并对第四分类特征与第一分类特征进行加权求和,以得到更新后的第一分类特征。
也就是说,本公开中,为了保证教师缺陷检测模型输出的分类特征的质量,期望具有相似特征的样本图像接近,因此,可以在训练过程中,对当前批次的教师缺陷检测模型输出的第一分类特征,计算与前一批次的教师缺陷检测模型输出的第三分类特征之间的相似度,以得到第二相似度矩阵,其中,第二相似度矩阵中的相似度越高,则说明第一分类特征与第三分类特征越接近,则期望样本图像越接近,可以将第二相似度矩阵与前一批次的教师缺陷检测模型输出的第三分类特征相乘,并与当前批次的教师缺陷检测模型输出的第一分类特征加权,得到微调后的第一分类特征,可以使得相似度较大的样本图像的分类特征更为突出,提升模型的联合训练效果。
步骤S407,获取更新后的第一分类特征对应的第一自相关相似度矩阵。
在本公开实施例中,可以获取更新后的第一分类特征对应的第一自相关相似度矩阵,比如,标记更新后的第一分类特征为A,则第一自相关相似度矩阵可以为:A·AT(A点乘AT)。其中,T是指转置transpose。
在本公开实施例的一种可能的实现方式中,还可以判断第一自相关相似度矩阵中各元素(即相似度)是否大于或等于设定阈值(如0.5),若是,则保持元素的取值不变,若否,则可以将元素的取值置为0。
步骤S408,根据第一自相关相似度矩阵和第一相似度矩阵,确定第二分类损失值。
在本公开实施例中,可以根据第一自相关相似度矩阵和第一相似度矩阵之间的差异,确定第二分类损失函数的取值(本公开中记为第二分类损失值)。其中,第二分类损失值与上述差异呈正相关关系。
步骤S409,根据第三回归特征和第一回归特征,确定第二回归损失值。
其中,第三回归特征是教师缺陷检测模型最近一次进行缺陷的回归预测得到的。
步骤S410,根据第一分类损失值、第二分类损失值、第一回归损失值和第二回归损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
步骤S409至S410的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
需要说明的是,在目标检测任务中,单个目标的检测并不独立,往往会受到其他目标的影响,比如Transformer模型会考虑全局特征,CNN模型的感受野稍小但也会考虑局部的不同特征,那么教师缺陷检测模型输出的分类特征之间存在一定的关系,期望学生缺陷检测模型可以学习到这种关系,本申请中,可以计算微调后的教师缺陷检测模型输出的第一分类特征的第一自相关相似度矩阵,并根据第一自相关相似度矩阵与第一相似度矩阵之间的差异,确定第二分类损失值,并基于第二分类损失值对教师缺陷检测模型和学生缺陷检测模型进行联合训练,可以使得学生缺陷检测模型可以学习到教师缺陷检测模型输出的分类特征之间的关系,以提升目标检测(即缺陷检测)的准确性。
本公开实施例的缺陷检测模型的训练方法,可以使得学生缺陷检测模型与教师缺陷检测模型输出相似或近似的分类特征,以提升学生缺陷检测模型与教师缺陷检测模型的联合训练效果,即,提升学生缺陷检测模型与教师缺陷检测模型检测缺陷类别的准确性。
为了清楚说明上述实施例是如何根据第三回归特征和第一回归特征,确定第二回归损失值的,本公开还提出一种缺陷检测模型的训练方法。
图5为本公开实施例五所提供的缺陷检测模型的训练方法的流程示意图。
如图5所示,该缺陷检测模型的训练方法可以包括以下步骤:
步骤S501,获取未标注的第一样本图像;其中,第一样本图像展示有第一产品。
步骤S502,采用教师缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征。
步骤S503,采用学生缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征。
步骤S504,根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值。
步骤S505,根据第三分类特征和第一分类特征,确定第二分类损失值。
其中,第三分类特征是教师缺陷检测模型最近一次进行缺陷的类别预测得到的。
步骤S501至S502的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
步骤S506,根据第一回归特征中各特征点与第二回归特征中对应特征点之间的相似度,生成第三相似度矩阵。
在本公开实施例中,可以计算第一回归特征中的每个特征点与第二回归特征中对应特征点之间的相似度,并根据第一回归特征中各特征点与第二回归特征中对应特征点之间的相似度,生成第三相似度矩阵。
步骤S507,基于第三回归特征对第一回归特征进行更新,以得到更新后的第一回归特征。
其中,第三回归特征是教师缺陷检测模型最近一次进行缺陷的回归预测得到的。
在本公开实施例中,可以根据第三回归特征对第一回归特征进行更新,以得到更新后的第一回归特征。
在本公开实施例的一种可能的实现方式中,第一回归特征的更新方式,例如为:计算第一回归特征中的每个特征点与第三回归特征中对应特征点之间的相似度,并根据第一回归特征中各特征点与第三回归特征中对应特征点之间的相似度,生成第三相似度矩阵,之后,可以将第三相似度矩阵与第三回归特征相乘,得到第四回归特征,并对第四回归特征与第一回归特征进行加权,以得到更新后的第一回归特征。
也就是说,本公开中,为了保证教师缺陷检测模型输出的回归特征的质量,期望具有相似特征的样本图像接近,因此,可以在训练过程中,对当前批次的教师缺陷检测模型输出的第一回归特征,计算与前一批次的教师缺陷检测模型输出的第三回归特征之间的相似度,以得到第三相似度矩阵,其中,第三相似度矩阵中的相似度越高,则说明第一回归特征和第三回归特征越接近,则期望样本图像越接近,可以将第三相似度矩阵与前一批次的教师缺陷检测模型输出的第三回归特征相乘,并与当前批次的教师缺陷检测模型输出的第一回归特征加权,得到微调后的第一回归特征,可以使得相似度较大的样本图像的回归特征更为突出,提升模型的联合训练效果。
步骤S508,获取更新后的第一回归特征对应的第二自相关相似度矩阵。
在本公开实施例中,可以获取更新后的第一回归特征对应的第二自相关相似度矩阵,比如,标记更新后的第一回归特征为B,则第二自相关相似度矩阵可以为:B·BT(B点乘BT)。
在本公开实施例的一种可能的实现方式中,还可以判断第二自相关相似度矩阵中各元素(即相似度)是否大于或等于设定阈值(如0.5),若是,则保持元素的取值不变,若否,则可以将元素的取值置为0。
步骤S509,根据第二自相关相似度矩阵和第三相似度矩阵,确定第二回归损失值。
在本公开实施例中,可以根据第二自相关相似度矩阵和第三相似度矩阵之间的差异,确定第二回归损失函数的取值(本公开中记为第二回归损失值)。其中,第二回归损失值与上述差异呈正相关关系。
步骤S510,根据第一分类损失值、第二分类损失值、第一回归损失值和第二回归损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
步骤S510的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
需要说明的是,在目标检测任务中,单个目标的检测并不独立,往往会受到其他目标的影响,比如Transformer模型会考虑全局特征,CNN模型的感受野稍小但也会考虑局部的不同特征,那么教师缺陷检测模型输出的回归特征之间存在一定的关系,期望学生缺陷检测模型可以学习到这种关系,本申请中,可以计算微调后的教师缺陷检测模型输出的第一回归特征的第二自相关相似度矩阵,并根据第二自相关相似度矩阵与第三相似度矩阵之间的差异,确定第二回归损失值,并基于第二回归损失值对教师缺陷检测模型和学生缺陷检测模型进行联合训练,可以使得学生缺陷检测模型可以学习到教师缺陷检测模型输出的回归特征之间的关系,以提升目标检测(即缺陷检测)的准确性。
本公开实施例的缺陷检测模型的训练方法,可以使得学生缺陷检测模型与教师缺陷检测模型输出相似或近似的回归特征,以提升学生缺陷检测模型与教师缺陷检测模型的联合训练效果,即,提升学生缺陷检测模型与教师缺陷检测模型检测缺陷类别的准确性。
在本公开的任意一个实施例之中,学生缺陷检测模型可以为经过训练的缺陷检测模型,为了清楚说明本公开中是如何对学生检测模型进行训练的,本公开还提出一种缺陷检测模型的训练方法。
图6为本公开实施例六所提供的缺陷检测模型的训练方法的流程示意图。
如图6所示,在本公开任一实施例的基础上,学生缺陷检测模型可以通过以下步骤获取得到:
步骤S601,获取已标注的第二样本图像;其中,第二样本图像上标注有第一标注框的第一标注位置和第一标注框内第二产品所属的第一标注缺陷类别。
在本公开实施例中,对第二样本图像的获取方式不作限制。
作为一种示例,第二样本图像可以为从现有的训练集中获取的图像,或者,第二样本图像可以为在线采集的图像,比如可以通过网络爬虫技术,在线采集第二样本图像,或者,第二样本图像也可以为线下采集的图像,或者,第二样本图像也可以为实时采集的图像,或者,第二样本图像也可以为人工合成的图像,等等,本公开实施例对此并不作限制。
作为另一种示例,考虑到工业场景中,很多图像中展示的产品为无缺陷的产品,为这部分图像打标签的成本极低,因此,本公开中,还可以使用生成模型或生成网络在这部分图像上生成缺陷,构造已标注的样本图像,以提升已标注的样本图像的数量。
一种示例,可以获取参考图像,其中,参考图像中展示有未存在缺陷的第二产品,并采用生成模型在参考图像中的第二产品上生成缺陷区域,以得到生成图像,并根据生成图像中的缺陷区域的位置,对生成图像进行标注,以得到第二样本图像。
例如,当生成模型中限制生成区域时,即生成模型在特定的区域生成缺陷,可以由生成模型自动根据生成图像中的缺陷区域的位置,标注生成图像中第二产品的缺陷类型,以得到第二样本图像;当生成模型中未限制生成区域时,可以由人工手动标注生成图像中第二产品的缺陷类型,得到第二样本图像。
由此,可以通过生成模型在展示有未存在缺陷的产品的参考图像上自动生成缺陷,并进行图像标注,构造已标注的样本图像,可以提升已标注的样本图像的数量,提升已标注的样本图像的丰富性。
步骤S602,采用初始的学生缺陷检测模型分别对第二样本图像进行第二产品的缺陷的回归预测和类别预测,得到第一预测框的第一预测位置和第一预测框内的第二产品所属的第一预测缺陷类别。
在本公开实施例中,可以采用初始的学生缺陷检测模型对第二样本图像进行第二产品的缺陷的回归预测,得到学生缺陷检测模型输出的第一预测框的位置(本公开中记为第一预测位置),并且,可以采用学生缺陷检测模型对第二样本图像进行第二产品的缺陷的类别预测,得到学生缺陷检测模型输出的第一预测框内的第二产品所属的缺陷类别(本公开中记为第一预测缺陷类别)。
步骤S603,根据第一标注位置和第一预测位置之间的差异,以及根据第一标注缺陷类别和第一预测缺陷类别之间的差异,对学生缺陷检测模型进行训练,以得到经过训练的学生缺陷检测模型。
在本公开实施例中,可以根据第二样本图像上标注的第一标注位置与学生缺陷检测模型输出的第一预测位置之间的差异(后续称为第一差异),以及,根据第二样本图像上标注的第一标注缺陷类别与学生缺陷检测模型输出的第一预测缺陷类别之间的差异(后续称为第二差异),确定损失值,并根据该损失值,对学生缺陷检测模型进行训练,以使该损失值最小化。
其中,上述损失值与第一差异呈正相关关系,且,上述损失值与第二差异也呈正相关关系。
需要说明的是,上述仅以模型训练的终止条件为损失值最小化进行示例,实际应用时,也可以设置其它的终止条件,比如终止条件还可以为训练次数达到设定次数,或者,终止条件还可以为训练时长达到设定时长,等等,本公开对此并不做限制。
综上,可以实现采用有监督算法,对学生缺陷检测模型进行预先训练,以提升联合训练时模型的收敛速度,降低模型的开发周期,以及提升模型的预测精度。
本公开实施例的缺陷检测模型的训练方法,对学生缺陷检测模型进行预先训练,可以提升联合训练时模型的收敛速度,降低模型的开发周期,以及提升模型的预测精度。
在本公开的任意一个实施例之中,也可以采用半监督算法,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。下面结合图7,对上述过程进行详细说明。
图7为本公开实施例七所提供的缺陷检测模型的训练方法的流程示意图。
如图7所示,该缺陷检测模型的训练方法可以包括以下步骤:
步骤S701,获取未标注的第一样本图像;其中,第一样本图像展示有第一产品。
步骤S702,采用教师缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征。
步骤S703,采用学生缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征。
步骤S704,根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值。
步骤S701至S704的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
步骤S705,获取已标注的第三样本图像,其中,第三样本图像上标注有第二标注框的第二标注位置和标注框内第三产品所属的第二标注缺陷类别。
在本公开实施例中,第三样本图像的获取方式与第二样本图像的获取方式类似,在此不做赘述。
步骤S706,采用学生缺陷检测模型分别对第三样本图像进行第三产品的缺陷的回归预测和类别预测,得到第二预测框的第二预测位置和第二预测框内的第三产品所属的第二预测缺陷类别。
在本公开实施例中,可以采用学生缺陷检测模型对第三样本图像进行第三产品的缺陷的回归预测,得到第二预测框的第二预测位置,并且,采用学生缺陷检测模型对第三样本图像进行第三产品的缺陷的类别预测,得到第二预测框内的第三产品所属的第二预测缺陷类别。
步骤S707,根据第二标注位置和第二预测位置之间的差异,确定第三回归损失值,并根据第二标注缺陷类别和第二预测缺陷类别之间的差异,确定第三分类损失值。
在本公开实施例中,可以根据第三样本图像上标注的第二标注位置和学生缺陷检测模型输出的第二预测位置之间的差异(后续称为第三差异),确定第三回归损失函数的取值(本公开中记为第三回归损失值)。其中,第三回归损失值与第三差异呈正相关关系。
并且,还可以根据第三样本图像上标注的第二标注缺陷类别和学生缺陷检测模型输出的第二预测缺陷类别之间的差异(后续称为第四差异),确定第三分类损失函数的取值(本公开中记为第三分类损失值)。其中,第三分类损失值与第四差异呈正相关关系。
步骤S708,根据第一回归损失值、第一分类损失值、第三回归损失值和第三分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
在本公开实施例中,可以第一回归损失值、第一分类损失值、第三回归损失值和第三分类损失值,确定目标损失值,并根据目标损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练,以使目标损失值最小化。
需要说明的是,上述仅以模型训练的终止条件为目标损失值最小化进行示例,实际应用时,也可以设置其它的终止条件,比如终止条件还可以为训练次数达到设定次数,或者,终止条件还可以为训练时长达到设定时长,等等,本公开对此并不做限制。
在本公开的任意一个实施例之中,还可以同时根据第一回归损失值、第一分类损失值、第二回归损失值、第二分类损失值、第三回归损失值和第三分类损失值,确定目标损失值,并根据目标损失值对教师缺陷检测模型和学生缺陷检测模型进行联合训练,以提升教师缺陷检测模型和学生缺陷检测模型的预测精度。
作为一种示例,可以将第一回归损失值、第一分类损失值、第二回归损失值、第二分类损失值、第三回归损失值和第三分类损失值之和,作为目标损失值。
作为另一种示例,可以将第一回归损失值、第一分类损失值、第二回归损失值、第二分类损失值、第三回归损失值和第三分类损失值的均值,作为目标损失值。
作为又一种示例,可以对第一回归损失值、第一分类损失值、第二回归损失值、第二分类损失值、第三回归损失值和第三分类损失值进行加权求和,以得到目标损失值。
本公开实施例的缺陷检测模型的训练方法,可以实现采用半监督算法,对教师缺陷检测模型和学生缺陷检测模型进行联合训练,以进一步提升模型的联合训练效果,即提升教师缺陷检测模型和学生缺陷检测模型的预测精度。
为了清楚说明上述任一实施例是如何根据第一回归损失值和第一分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练的,本公开还提出一种缺陷检测模型的训练方法。
图8为本公开实施例八所提供的缺陷检测模型的训练方法的流程示意图。
如图8所示,该缺陷检测模型的训练方法可以包括以下步骤:
步骤S801,获取未标注的第一样本图像;其中,第一样本图像展示有第一产品。
步骤S802,采用教师缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征。
步骤S801至S802的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
在本公开的任意一个实施例中之中,教师缺陷检测模型和学生缺陷检测模型为经过预训练的缺陷检测模型,以提升联合训练时教师缺陷检测模型和学生缺陷检测模型的收敛速度,提升教师缺陷检测模型和学生缺陷检测模型的预测精度。
作为一种示例,可以采用各类CNN网络(如Resnet(Residual network,残差网络)、HRNet(High-Resolution network,高分辨率网络)等)或各类Transformer网络(如VIT(Vision Transformers,视觉转换器)、Swin(Shifted windows,基于移位窗口)-Transformer等),作为主干网络backbone,采用双阶段预训练策略,若backbone使用CNN网络,则利用工业质检分类数据集,预训练backbone,若backbone使用Transformer,则利用VIMER-CAE(视觉自监督预训练大模型)工业质检大模型,作为预训练模型,大幅提升backbone提取工业质检场景缺陷特征的能力;同时加载在obj365数据集上预训练的特征颈部结构neck与头部结构head,根据预训练的backbone、neck与head,生成学生缺陷检测模型和教师缺陷检测模型。
在本公开的任意一个实施例中之中,为了提升教师缺陷检测模型的泛化能力,还可以对第一样本图像进行第一增强处理(如弱增强处理,包括但不限于:减均值与除方差操作),得到第一增强处理后的第一样本图像,并采用教师缺陷检测模型对第一增强处理后的第一样本图像进行第一产品的缺陷的回归预测,以得到第一回归特征,以及,采用教师缺陷检测模型对第一增强处理后的第一样本图像进行第一产品的缺陷的类别预测,以得到第一分类特征。
由此,在训练阶段,对教师缺陷检测模型的输入进行增强处理,可以提升教师缺陷检测模型的泛化能力。
步骤S803,采用学生缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征。
步骤S803的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
在本公开的任意一个实施例中之中,为了提升学生缺陷检测模型的泛化能力,还可以对第一样本图像进行第二增强处理(如强增强处理,包括但不限于:随机剪裁crop、随机缩放resize、随机颜色变化、随机反转等),得到第二增强处理后的第一样本图像,并采用学生缺陷检测模型对第二增强处理后的第一样本图像进行第一产品的缺陷的回归预测,以得到第二回归特征,以及,采用学生缺陷检测模型对第二增强处理后的第一样本图像进行第一产品的缺陷的类别预测,以得到第二分类特征。
由此,在训练阶段,对学生缺陷检测模型的输入进行增强处理,可以提升教师缺陷检测模型的泛化能力。
步骤S804,根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值。
步骤S804的解释说明可以参见本公开任一实施例中的相关描述,在此不做赘述。
步骤S805,根据第一回归损失值和第一分类损失值,对学生缺陷检测模型中的至少一个模型参数进行调整。
在本公开实施例中,可以根据第一回归损失值和第一分类损失值,确定目标损失值,并根据目标损失值对学生缺陷检测模型中的至少一个模型参数进行调整,以使目标损失值最小化。
需要说明的是,上述仅以学生缺陷检测模型训练的终止条件为目标损失值最小化进行示例,实际应用时,也可以设置其它的终止条件,比如终止条件还可以为训练次数达到设定次数,或者,终止条件还可以为训练时长达到设定时长,等等,本公开对此并不做限制。
步骤S806,针对调整后的学生缺陷检测模型中的任一模型参数,确定当前调整的目标调整值及历史调整的多个历史调整值。
在本公开实施例中,针对调整后的学生缺陷检测模型中的任一模型参数,可以确定该任一模型参数在本次调整或当前调整(即最后一次调整)对应的目标调整值,以及确定该任一模型参数在本次调整之前的多个历史调整值。
步骤S807,根据目标调整值和多个历史调整值,对教师缺陷检测模型中与任一模型参数对应的模型参数进行调整。
在本公开实施例中,可以根据上述任一模型参数的目标调整值和多个历史调整值,对教师缺陷检测模型中与该任一模型参数对应的模型参数进行调整。
作为一种示例,以采用EMA(Exponential Moving Average,指数移动平均值)算法,更新教师缺陷检测模型进行示例,历史调整值的个数可以根据EMA算法的超参数β确定,即,历史调整值的个数=1/(1-β)-1,假设学生缺陷检测模型中的任一模型参数对应的目标调整值为θt,多个历史调整值分别为:θt-1、θt-2、θt-3、…、θt-1/(1-β)+1,其中,θt-1的调整时刻>θt-2的调整时刻>θt-3的调整时刻>…的调整时刻>θt-1/(1-β)+1的调整时刻,则教师缺陷检测模型中对应模型参数的调整值θ为:
θ=(1-β)θt+β(1-β)θt-1+β(1-β)2θt-2+β(1-β)3θt-3+…+β(1-β)1/(1-β)-1θt-1/(1-β)+1;
本公开实施例的缺陷检测模型的训练方法,可以实现根据学生缺陷检测模型的指数移动平均值,有效确定教师缺陷检测模型中各模型参数的取值,从而可以根据各模型参数的取值,对教师缺陷检测模型进行有效更新,以提升教师缺陷检测模型的预测精度。
在本公开的任意一个实施例之中,考虑到深度学习方法极度依赖标注的样本图像(后续简称为已标注图像),已标注图像的数量越多,模型的预测效果往往越优。在多数目标检测场景中,如行人、车辆、动物等目标检测场景,获取已标注图像是非常容易的,但工业质检场景与目标检测场景不同,质检的缺陷往往需要拥有较强专业知识的人来指导标注,外行的标注人员从接触到熟悉至少需要两周左右,且质检的缺陷特征复杂多样,标注时需要花费更多时间去识别确认,这也导致了样本图像的标注效率较低、速度较慢、人工成本较高。
而工业质检场景往往存在大量未标注图像,数量一般在已标注图像的十倍左右,因此,本公开中,可以采用半监督算法,对缺陷检测模型进行训练,其中,半监督算法能同时使用有已标注图像与未标注图像,应用于工业质检场景,模型的推理性能不损失,且可有效提升模型预测的准确率,降低标注成本,加速模型上线迭代。
作为一种示例,可以使用半监督算法,对教师缺陷检测模型和学生缺陷检测模型进行训练,其中,半监督算法同时使用有监督数据(即已标注图像)与无监督数据(即未标注图像),训练过程主要包括以下步骤:
1、兼容任意backbone,可使用各类CNN网络,如Resnet、HRNet等,也可使用各类Transformer网络,如VIT、Swin-Transformer等。
2、如图9所示,采用双阶段预训练策略,若教师缺陷检测模型和学生缺陷检测模型的backbone使用CNN,则利用工业质检分类数据集,预训练backbone,若backbone使用Transformer,则利用VIMER-CAE工业质检大模型,作为预训练模型,大幅提升backbone提取工业质检场景缺陷特征的能力,同时加载在obj365数据集上预训练的特征颈部结构neck与头部结构head,根据预训练的backbone、neck与head,生成学生缺陷检测模型和教师缺陷检测模型。
3、学生缺陷检测模型和教师缺陷检测模型不使用异常检测,直接使用目标检测算法定位产品缺陷,且目标检测算法可兼容任意一阶段、二阶段算法,如YOLO(You Only LookOnce,只看一眼)系列、faster-RCNN系列等。
4、根据学生缺陷检测模型和教师缺陷检测模型输出的分类特征和回归特征,计算损失值,具体为:
4.1、回归特征reshape为[b*w*h,c1],分类特征reshape为[b*w*h,c2];
4.2、对于分类特征或回归特征,找到每一通道或维度的子特征中特征值最大的特征点(本公开中记为目标特征点),并将各通道或维度的子特征按照对应目标特征点的特征值由大至小排序,选取排序在前的设定比例(如1%)的子特征,并进行特征拼接,得到拼接特征,根据学生缺陷检测模型和教师缺陷检测模型对应的拼接特征,计算分类损失值和回归损失值;
4.3、采用QFL计算学生缺陷检测模型和教师缺陷检测模型的分类损失值,采用DFL计算学生缺陷检测模型和教师缺陷检测模型的回归损失值;
4.4、为了进一步约束学生缺陷检测模型的输出,要求相同图像的不同增强应具有近似的特征,本公开中,可以计算教师缺陷检测模型与学生缺陷检测模型输出的分类特征的余弦相似度,得到第一相似度矩阵,同时为了保证教师缺陷检测模型输出的分类特征的质量,还期望具有相似特征的样本图像应该较为接近,在训练中,对于当前bacth的教师缺陷检测模型输出的分类特征,计算与前一个bacth教师缺陷检测模型输出的分类特征之间的第二相似度矩阵,其中,若第二相似度矩阵中的相似度越高,则说明两个分类特征越接近,则期望样本图像越接近,将第二相似度矩阵与前一个bacth的分类特征相乘,与当前bacth的分类特征加权,以微调当前bacth的教师缺陷检测模型输出的分类特征,让相似度更大的样本图像的分类特征更为突出,得到微调后的分类特征;
4.5、接下来,为教师缺陷检测模型与学生缺陷检测模型之间的第一相似度矩阵构造一个合适的真值,在目标检测任务中,单个目标的检测并不独立,往往会受到其它目标的影响,如Transformer网络会考虑全局特征,CNN感受野稍小但也会考虑局部的不同特征,那么教师缺陷检测模型输出的分类特征之间存在一定的关系,期望学生缺陷检测模型可以学到这种关系,本公开中,可以计算微调后的分类特征的自相关相似度矩阵(其中,对于相同特征值的特征点,自相关相似度矩阵中该特征点对应的相似度设置为1,特征点之间的相似度小于0.5,则将自相关相似度矩阵中该特征点对应的相似度设置为0),并根据自相关相似度矩阵和教师缺陷检测模型与学生缺陷检测模型之间的第一相似度矩阵,计算交叉熵损失值。同样地,对于回归特征,也可以采用类似方式,计算交叉熵损失值。最终,加权上述各种损失值,作为半监督算法的最终损失值。
作为一种示例,半监督算法的最终损失值的计算方式可以如图10所示。需要说明的是,图10中,将学生缺陷检测模型简称为学生模型,将教师缺陷检测模型简称为教师模型。
作为一种示例,模型的训练阶段的场景图可以如图11所示,其中,训练阶段可以包括以下步骤:
1、获取有监督数据(已标注图像)与无监督数据(未标注图像),使用有监督数据训练全监督网络,加载带有工业质检场景知识的backbone,同时加载在obj365数据集上预训练neck与head。
2、将上述步骤预训练得到的网络,作为教师缺陷检测模型和学生缺陷检测模型的预训练模型,载入半监督网络,将有监督数据与无监督数据输入半监督网络。在训练的前3轮,采用有监督数据优化学生缺陷检测模型,并使用强数据增强(如随机crop、随机resize、随机颜色变化、随机反转等)增广有监督数据;在训练的第4和5轮,采用有监督数据,对教师缺陷检测模型和学生缺陷检测模型进行联合训练,即先对学生缺陷检测模型进行调整,调整后的学生缺陷检测模型可以指导教师缺陷检测模型学习;在训练的第6轮以及之后各轮,采用有监督数据:无监督数据为1:1的方式,对教师缺陷检测模型和学生缺陷检测模型进行联合训练,对于教师缺陷检测模型,只输入弱数据增强(只有减均值与除方差操作)的无监督数据,而对于学生缺陷检测模型,输入强数据增强的有监督数据与强数据增强的无监督数据,同时,对于有监督数据,计算学生缺陷检测模型的输出与真实标注之间的损失值,以及,对于无监督数据,计算学生缺陷检测模型的输出与教师缺陷检测模型的输出之间的损失值,并加权作为最终损失值,其中,无监督数据的损失值的权重由0.1逐渐上升到1.0,后续保持1.0不变。此外,从训练的第3轮开始使用EMA方法,更新教师缺陷检测模型。
作为一种示例,模型的使用阶段或预测阶段的场景图可以如图12所示。在半监督网络训练完毕后,可得到学生缺陷检测模型与教师缺陷检测模型,一般情况下,教师缺陷检测模型的精度高于学生缺陷检测模型,直接使用教师缺陷检测模型检测产品的缺陷即可。
综上,本公开所提供的方法,至少具有以下优点:
1)可以有效降低样本图像的标注成本,节省人力与时间成本;
2)在项目前期,依赖较少的已标注图像,即可启动学生缺陷检测模型的训练,降低模型的开发周期,提升冷启动效率;
3)在项目中后期,与传统全监督算法使用相同量级的已标注图像相比,本公开可有效提升模型的预测精度;
4)可选用更小的模型,提升模型QPS(Queries-per-second,每秒查询率)的同时,保证模型的预测精度不变甚至有所提升;
5)可利用大量无监督数据提升工业质检场景中模型的性能,比如,考虑到工业场景中,有相当一部分图像中的产品无缺陷(后续称为无缺陷图像),为这部分图像打标签的成本极低,本公开中,可使用生成模型,直接在无缺陷图像上生成缺陷,人工构造已标注的样本图像,提升已标注图像的数量;
6)可兼容任意backbone,如CNN、Transformer均可;
7)采用双阶段预训练策略,backbone、neck、head均加载预训练模型,backbone、neck、head不使用随机初始化,检测能力更强;
8)不使用异常检测,直接使用目标检测算法定位产品缺陷,且目标检测算法可兼容任意一阶段、二阶段算法,如YOLO系列、faster-RCNN系列等;
9)不使用伪标签,直接对比教师缺陷检测模型与学生缺陷检测模型最后的分类特征及回归特征,更适用于工业质检场景。
上述为缺陷检测模型的训练方法所对应的各实施例,本公开还提出一种缺陷检测模型的应用方法(即缺陷检测方法)。
图13为本公开实施例九所提供的缺陷检测方法的流程示意图。
如图13所示,该缺陷检测方法可以包括以下步骤:
步骤S1301,获取待测图像;其中,待测图像展示有目标产品。
其中,目标产品可以为任意一个产品。
在本公开实施例中,对待测图像的获取方式不作限制,比如,待测图像可以为从现有的测试集中获取的图像,或者,待测图像可以为在线采集的图像,比如可以通过网络爬虫技术,在线采集待测图像,或者,待测图像也可以为线下采集的图像,或者,待测图像也可以为实时采集的图像,或者,待测图像也可以为人工合成的图像,等等,本公开实施例对此并不作限制。
步骤S1302,采用经训练的教师缺陷检测模型分别对待测图像进行目标产品的缺陷的回归预测和类别预测,得到检测框的输出位置和检测框内的目标产品所属的缺陷类别。
其中,教师缺陷检测模型是采用前述任一实施例中的缺陷检测模型的训练方法训练得到的。需要说明的是,前述任一实施例中对缺陷检测模型的训练方法的解释说明也适用于该实施例,其实现原理类似,在此不做赘述。
在本公开实施例中,可以采用经过训练的教师缺陷检测模型对待测图像进行目标产品的缺陷的回归预测,得到检测框的输出位置,并采用经过训练的教师缺陷检测模型对待测图像进行目标产品的缺陷的类别预测,得到检测框内的目标产品所属的缺陷类别。
本公开实施例的缺陷检测方法,通过获取待测图像;其中,待测图像展示有目标产品;采用经训练的教师缺陷检测模型分别对待测图像进行目标产品的缺陷的回归预测和类别预测,得到检测框的输出位置和检测框内的目标产品所属的缺陷类别。由此,采用经过训练的教师缺陷检测模型对图像中的产品进行缺陷检测,可以提升检测结果的准确性。
与上述图1至图8实施例提供的缺陷检测模型的训练方法相对应,本公开还提供一种缺陷检测模型的训练装置,由于本公开实施例提供的缺陷检测模型的训练装置与上述图1至图8实施例提供的缺陷检测模型的训练方法相对应,因此在缺陷检测模型的训练方法的实施方式也适用于本公开实施例提供的缺陷检测模型的训练装置,在本公开实施例中不再详细描述。
图14为本公开实施例十所提供的缺陷检测模型的训练装置的结构示意图。
如图14所示,该缺陷检测模型的训练装置1400可以包括:第一获取模块1401、第一预测模块1402、第二预测模块1403、确定模块1404以及联合训练模块1405。
其中,第一获取模块1401,用于获取未标注的第一样本图像;其中,第一样本图像展示有第一产品。
第一预测模块1402,用于采用教师缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征。
第二预测模块1403,用于采用学生缺陷检测模型分别对第一样本图像进行第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征。
确定模块1404,用于根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值。
联合训练模块1405,用于根据第一回归损失值和第一分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
在本公开实施例的一种可能的实现方式中,第一回归特征包括多个第一维度的第一子特征,第二回归特征包括多个第一维度的第二子特征;确定模块1404,用于:从多个第一维度的第一子特征中选择第一设定比例的第一子特征,并拼接得到第一拼接特征;从多个第一维度的第二子特征中选择第一设定比例的第二子特征,并拼接得到第二拼接特征;根据第一拼接特征和第二拼接特征之间的差异,确定第一回归损失值。
在本公开实施例的一种可能的实现方式中,确定模块1404,用于:根据任一第一子特征中的多个特征点的特征值,从任一第一子特征中的多个特征点中确定第一目标特征点;根据各第一子特征中第一目标特征点的特征值,对各第一子特征进行排序,得到第一排序序列;从第一排序序列中选择排序在前的第一设定比例的第一子特征。
在本公开实施例的一种可能的实现方式中,第一分类特征包括多个第二维度的第三子特征,第二分类特征包括多个第二维度的第四子特征;确定模块1404,用于:从多个第二维度的第三子特征中选择第二设定比例的第三子特征,并拼接得到第三拼接特征;从多个第二维度的第四子特征中选择第二设定比例的第四子特征,并拼接得到第四拼接特征;根据第三拼接特征和第四拼接特征之间的差异,确定第一分类损失值。
在本公开实施例的一种可能的实现方式中,联合训练模块1405,用于:根据第三分类特征和第一分类特征,确定第二分类损失值;其中,第三分类特征是教师缺陷检测模型最近一次进行缺陷的类别预测得到的;根据第三回归特征和第一回归特征,确定第二回归损失值;其中,第三回归特征是教师缺陷检测模型最近一次进行缺陷的回归预测得到的;根据第一分类损失值、第二分类损失值、第一回归损失值和第二回归损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
在本公开实施例的一种可能的实现方式中,联合训练模块1405,用于:根据第一分类特征中各特征点与第二分类特征中对应特征点之间的相似度,生成第一相似度矩阵;基于第三分类特征对第一分类特征进行更新,以得到更新后的第一分类特征;获取更新后的第一分类特征对应的第一自相关相似度矩阵;根据第一自相关相似度矩阵和第一相似度矩阵,确定第二分类损失值。
在本公开实施例的一种可能的实现方式中,联合训练模块1405,用于:根据第一分类特征中各特征点与第三分类特征中对应特征点之间的相似度,生成第二相似度矩阵;将第二相似度矩阵与第三分类特征相乘,得到第四分类特征;对第四分类特征与第一分类特征进行加权,以得到更新后的第一分类特征。
在本公开实施例的一种可能的实现方式中,联合训练模块1405,用于:根据第一回归特征中各特征点与第二回归特征中对应特征点之间的相似度,生成第三相似度矩阵;基于第三回归特征对第一回归特征进行更新,以得到更新后的第一回归特征;获取更新后的第一回归特征对应的第二自相关相似度矩阵;根据第二自相关相似度矩阵和第三相似度矩阵,确定第二回归损失值。
在本公开实施例的一种可能的实现方式中,学生缺陷检测模型为经训练的缺陷检测模型,学生缺陷检测模型通过以下模块获取得到:
第二获取模块,用于获取已标注的第二样本图像;其中,第二样本图像上标注有第一标注框的第一标注位置和第一标注框内第二产品所属的第一标注缺陷类别。
第三预测模块,用于采用初始的学生缺陷检测模型分别对第二样本图像进行第二产品的缺陷的回归预测和类别预测,得到第一预测框的第一预测位置和第一预测框内的第二产品所属的第一预测缺陷类别。
模型训练模块,用于根据第一标注位置和第一预测位置之间的差异,以及根据第一标注缺陷类别和第一预测缺陷类别之间的差异,对学生缺陷检测模型进行训练,以得到经过训练的学生缺陷检测模型。
在本公开实施例的一种可能的实现方式中,第二获取模块,用于:获取参考图像;其中,参考图像中展示有未存在缺陷的第二产品;采用生成模型在参考图像中的第二产品上生成缺陷区域,得到生成图像;根据生成图像中的缺陷区域的位置,对生成图像进行标注,以得到第二样本图像。
在本公开实施例的一种可能的实现方式中,联合训练模块1405,用于:获取已标注的第三样本图像,其中,第三样本图像上标注有第二标注框的第二标注位置和标注框内第三产品所属的第二标注缺陷类别;采用学生缺陷检测模型分别对第三样本图像进行第三产品的缺陷的回归预测和类别预测,得到第二预测框的第二预测位置和第二预测框内的第三产品所属的第二预测缺陷类别;根据第二标注位置和第二预测位置之间的差异,确定第三回归损失值,并根据第二标注缺陷类别和第二预测缺陷类别之间的差异,确定第三分类损失值;根据第一回归损失值、第一分类损失值、第三回归损失值和第三分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。
在本公开实施例的一种可能的实现方式中,第一预测模块1402,用于:对第一样本图像进行第一增强处理,得到第一增强处理后的第一样本图像;采用教师缺陷检测模型对第一增强处理后的第一样本图像进行第一产品的缺陷的回归预测,以得到第一回归特征;采用教师缺陷检测模型对第一增强处理后的第一样本图像进行第一产品的缺陷的类别预测,以得到第一分类特征。
在本公开实施例的一种可能的实现方式中,第二预测模块1403,用于:对第一样本图像进行第二增强处理,得到第二增强处理后的第一样本图像;采用学生缺陷检测模型对第二增强处理后的第一样本图像进行第一产品的缺陷的回归预测,以得到第二回归特征;采用学生缺陷检测模型对第二增强处理后的第一样本图像进行第一产品的缺陷的类别预测,以得到第二分类特征。
在本公开实施例的一种可能的实现方式中,教师缺陷检测模型和学生缺陷检测模型为经预训练的缺陷检测模型。
在本公开实施例的一种可能的实现方式中,联合训练模块1405,用于:根据第一回归损失值和第一分类损失值,对学生缺陷检测模型中的至少一个模型参数进行调整;针对调整后的学生缺陷检测模型中的任一模型参数,确定当前调整的目标调整值及历史调整的多个历史调整值;根据目标调整值和多个历史调整值,对教师缺陷检测模型中与任一模型参数对应的模型参数进行调整。
本公开实施例的缺陷检测模型的训练装置,通过采用教师缺陷检测模型分别对未标注的第一样本图像进行产品缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征,并采用学生缺陷检测模型分别对第一样本图像进行产品缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征;根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值;根据第一回归损失值和第一分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。由此,通过无监督学习方式,利用未标注的样本图像对教师缺陷检测模型和学生缺陷检测模型进行联合训练,可以使得教师缺陷检测模型和学生缺陷检测模型学习到图像的语义、定位等丰富的特征,从而增强训练后的教师缺陷检测模型和学生缺陷检测模型的泛化能力和可靠性。并且,无需人工标注样本图像,可以节省人工人本,减低样本图像的获取成本。
与上述图13实施例提供的缺陷检测方法相对应,本公开还提供一种缺陷检测装置,由于本公开实施例提供的缺陷检测装置与上述图13实施例提供的缺陷检测方法相对应,因此在缺陷检测方法的实施方式也适用于本公开实施例提供的缺陷检测装置,在本公开实施例中不再详细描述。
图15为本公开实施例十一所提供的缺陷检测装置的结构示意图。
如图15所示,该缺陷检测装置1500可以包括:获取模块1501和预测模块1502。
其中,获取模块1501,用于获取待测图像;其中,待测图像展示有目标产品。
预测模块1502,用于采用经训练的教师缺陷检测模型分别对待测图像进行目标产品的缺陷的回归预测和类别预测,得到检测框的输出位置和检测框内的目标产品所属的缺陷类别。
其中,教师缺陷检测模型是采用图14所示实施例提出的装置训练得到的。
本公开实施例的缺陷检测装置,通过获取待测图像;其中,待测图像展示有目标产品;采用经训练的教师缺陷检测模型分别对待测图像进行目标产品的缺陷的回归预测和类别预测,得到检测框的输出位置和检测框内的目标产品所属的缺陷类别。由此,采用经过训练的教师缺陷检测模型对图像中的产品进行缺陷检测,可以提升检测结果的准确性。
为了实现上述实施例,本公开还提供一种电子设备,该电子设备可以包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开上述任一实施例提出的缺陷检测模型的训练方法或缺陷检测方法。
为了实现上述实施例,本公开还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开上述任一实施例提出的缺陷检测模型的训练方法或缺陷检测方法。
为了实现上述实施例,本公开还提供一种计算机程序产品,该计算机程序产品包括计算机程序,计算机程序在被处理器执行时实现本公开上述任一实施例提出的缺陷检测模型的训练方法或缺陷检测方法。
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
图16示出了可以用来实施本公开的实施例的示例电子设备的示意性框图。其中,电子设备可以包括上述实施例中的服务端、客户端。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图16所示,电子设备1600包括计算单元1601,其可以根据存储在ROM(Read-OnlyMemory,只读存储器)1602中的计算机程序或者从存储单元1608加载到RAM(Random AccessMemory,随机访问/存取存储器)1603中的计算机程序,来执行各种适当的动作和处理。在RAM 1603中,还可存储电子设备1600操作所需的各种程序和数据。计算单元1601、ROM 1602以及RAM 1603通过总线1604彼此相连。I/O(Input/Output,输入/输出)接口1605也连接至总线1604。
电子设备1600中的多个部件连接至I/O接口1605,包括:输入单元1606,例如键盘、鼠标等;输出单元1607,例如各种类型的显示器、扬声器等;存储单元1608,例如磁盘、光盘等;以及通信单元1609,例如网卡、调制解调器、无线通信收发机等。通信单元1609允许电子设备1600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1601的一些示例包括但不限于CPU(Central Processing Unit,中央处理单元)、GPU(Graphic Processing Units,图形处理单元)、各种专用的AI(Artificial Intelligence,人工智能)计算芯片、各种运行机器学习模型算法的计算单元、DSP(Digital SignalProcessor,数字信号处理器)、以及任何适当的处理器、控制器、微控制器等。计算单元1601执行上文所描述的各个方法和处理,例如上述缺陷检测方法或缺陷检测模型的训练方法。例如,在一些实施例中,上述缺陷检测方法或缺陷检测模型的训练方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1608。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1602和/或通信单元1609而被载入和/或安装到电子设备1600上。当计算机程序加载到RAM 1603并由计算单元1601执行时,可以执行上文描述的缺陷检测方法或缺陷检测模型的训练方法的一个或多个步骤。备选地,在其他实施例中,计算单元1601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述缺陷检测方法或缺陷检测模型的训练方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、FPGA(Field Programmable Gate Array,现场可编程门阵列)、ASIC(Application-Specific Integrated Circuit,专用集成电路)、ASSP(Application Specific StandardProduct,专用标准产品)、SOC(System On Chip,芯片上系统的系统)、CPLD(ComplexProgrammable Logic Device,复杂可编程逻辑设备)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、RAM、ROM、EPROM(Electrically Programmable Read-Only-Memory,可擦除可编程只读存储器)或快闪存储器、光纤、CD-ROM(Compact Disc Read-Only Memory,便捷式紧凑盘只读存储器)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(Cathode-Ray Tube,阴极射线管)或者LCD(Liquid Crystal Display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:LAN(LocalArea Network,局域网)、WAN(Wide Area Network,广域网)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务(VirtualPrivate Server,虚拟专用服务器)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
其中,需要说明的是,人工智能是研究使计算机来模拟人的某些思维过程和智能行为(如学习、推理、思考、规划等)的学科,既有硬件层面的技术也有软件层面的技术。人工智能硬件技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理等技术;人工智能软件技术主要包括计算机视觉技术、语音识别技术、自然语言处理技术以及机器学习/深度学习、大数据处理技术、知识图谱技术等几大方向。
深度学习是机器学习领域中一个新的研究方向。它是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。
根据本公开实施例的技术方案,通过采用教师缺陷检测模型分别对未标注的第一样本图像进行产品缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征,并采用学生缺陷检测模型分别对第一样本图像进行产品缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征;根据第一回归特征和第二回归特征确定第一回归损失值,并根据第一分类特征和第二分类特征确定第一分类损失值;根据第一回归损失值和第一分类损失值,对教师缺陷检测模型和学生缺陷检测模型进行联合训练。由此,通过无监督学习方式,利用未标注的样本图像对教师缺陷检测模型和学生缺陷检测模型进行联合训练,可以使得教师缺陷检测模型和学生缺陷检测模型学习到图像的语义、定位等丰富的特征,从而增强训练后的教师缺陷检测模型和学生缺陷检测模型的泛化能力和可靠性。并且,无需人工标注样本图像,可以节省人工人本,减低样本图像的获取成本。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开提出的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (35)
1.一种缺陷检测模型的训练方法,所述方法包括:
获取未标注的第一样本图像;其中,所述第一样本图像展示有第一产品;
采用教师缺陷检测模型分别对所述第一样本图像进行所述第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征;
采用学生缺陷检测模型分别对所述第一样本图像进行所述第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征;
根据所述第一回归特征和所述第二回归特征确定第一回归损失值,并根据所述第一分类特征和所述第二分类特征确定第一分类损失值;
根据所述第一回归损失值和所述第一分类损失值,对所述教师缺陷检测模型和所述学生缺陷检测模型进行联合训练。
2.根据权利要求1所述的方法,其中,所述第一回归特征包括多个第一维度的第一子特征,所述第二回归特征包括所述多个第一维度的第二子特征;
所述根据所述第一回归特征和所述第二回归特征确定第一回归损失值,包括:
从所述多个第一维度的第一子特征中选择第一设定比例的第一子特征,并拼接得到第一拼接特征;
从所述多个第一维度的第二子特征中选择所述第一设定比例的第二子特征,并拼接得到第二拼接特征;
根据所述第一拼接特征和所述第二拼接特征之间的差异,确定所述第一回归损失值。
3.根据权利要求2所述的方法,其中,所述从所述多个第一维度的第一子特征中选择第一设定比例的第一子特征,包括:
根据任一所述第一子特征中的多个特征点的特征值,从任一所述第一子特征中的多个特征点中确定第一目标特征点;
根据各所述第一子特征中第一目标特征点的特征值,对各所述第一子特征进行排序,得到第一排序序列;
从所述第一排序序列中选择排序在前的所述第一设定比例的第一子特征。
4.根据权利要求1所述的方法,其中,所述第一分类特征包括多个第二维度的第三子特征,所述第二分类特征包括所述多个第二维度的第四子特征;
所述根据所述第一分类特征和所述第二分类特征确定第一分类损失值,包括:
从所述多个第二维度的第三子特征中选择第二设定比例的第三子特征,并拼接得到第三拼接特征;
从所述多个第二维度的第四子特征中选择所述第二设定比例的第四子特征,并拼接得到第四拼接特征;
根据所述第三拼接特征和所述第四拼接特征之间的差异,确定所述第一分类损失值。
5.根据权利要求1所述的方法,其中,所述根据所述第一回归损失值和所述第一分类损失值,对所述教师缺陷检测模型和所述学生缺陷检测模型进行联合训练,包括:
根据第三分类特征和所述第一分类特征,确定第二分类损失值;其中,所述第三分类特征是所述教师缺陷检测模型最近一次进行缺陷的类别预测得到的;
根据第三回归特征和所述第一回归特征,确定第二回归损失值;其中,所述第三回归特征是所述教师缺陷检测模型最近一次进行缺陷的回归预测得到的;
根据所述第一分类损失值、所述第二分类损失值、所述第一回归损失值和所述第二回归损失值,对所述教师缺陷检测模型和所述学生缺陷检测模型进行联合训练。
6.根据权利要求5所述的方法,其中,所述根据第三分类特征和所述第一分类特征,确定第二分类损失值,包括:
根据所述第一分类特征中各特征点与所述第二分类特征中对应特征点之间的相似度,生成第一相似度矩阵;
基于所述第三分类特征对所述第一分类特征进行更新,以得到更新后的第一分类特征;
获取所述更新后的第一分类特征对应的第一自相关相似度矩阵;
根据所述第一自相关相似度矩阵和所述第一相似度矩阵,确定所述第二分类损失值。
7.根据权利要求6所述的方法,其特征在于,所述基于第三分类特征对所述第一分类特征进行更新,以得到更新后的第一分类特征,包括:
根据所述第一分类特征中各特征点与所述第三分类特征中对应特征点之间的相似度,生成第二相似度矩阵;
将所述第二相似度矩阵与所述第三分类特征相乘,得到第四分类特征;
对所述第四分类特征与所述第一分类特征进行加权,以得到更新后的第一分类特征。
8.根据权利要求5所述的方法,其中,所述根据第三回归特征和所述第一回归特征,确定第二回归损失值,包括:
根据所述第一回归特征中各特征点与所述第二回归特征中对应特征点之间的相似度,生成第三相似度矩阵;
基于所述第三回归特征对所述第一回归特征进行更新,以得到更新后的第一回归特征;
获取所述更新后的第一回归特征对应的第二自相关相似度矩阵;
根据所述第二自相关相似度矩阵和所述第三相似度矩阵,确定所述第二回归损失值。
9.根据权利要求1所述的方法,其中,所述学生缺陷检测模型为经训练的缺陷检测模型,所述学生缺陷检测模型通过以下步骤获取得到:
获取已标注的第二样本图像;其中,所述第二样本图像上标注有第一标注框的第一标注位置和所述第一标注框内第二产品所属的第一标注缺陷类别;
采用初始的学生缺陷检测模型分别对所述第二样本图像进行所述第二产品的缺陷的回归预测和类别预测,得到第一预测框的第一预测位置和所述第一预测框内的第二产品所属的第一预测缺陷类别;
根据所述第一标注位置和所述第一预测位置之间的差异,以及根据所述第一标注缺陷类别和所述第一预测缺陷类别之间的差异,对所述学生缺陷检测模型进行训练,以得到经过训练的所述学生缺陷检测模型。
10.根据权利要求9所述的方法,其中,所述获取已标注的第二样本图像,包括:
获取参考图像;其中,所述参考图像中展示有未存在缺陷的第二产品;
采用生成模型在所述参考图像中的所述第二产品上生成缺陷区域,得到生成图像;
根据所述生成图像中的所述缺陷区域的位置,对所述生成图像进行标注,以得到所述第二样本图像。
11.根据权利要求1所述的方法,其特征在于,所述根据所述第一回归损失值和所述第一分类损失值,对所述教师缺陷检测模型和所述学生缺陷检测模型进行联合训练,包括:
获取已标注的第三样本图像,其中,所述第三样本图像上标注有第二标注框的第二标注位置和所述标注框内第三产品所属的第二标注缺陷类别;
采用学生缺陷检测模型分别对所述第三样本图像进行所述第三产品的缺陷的回归预测和类别预测,得到第二预测框的第二预测位置和所述第二预测框内的第三产品所属的第二预测缺陷类别;
根据所述第二标注位置和所述第二预测位置之间的差异,确定第三回归损失值,并根据所述第二标注缺陷类别和所述第二预测缺陷类别之间的差异,确定第三分类损失值;
根据所述第一回归损失值、所述第一分类损失值、所述第三回归损失值和所述第三分类损失值,对所述教师缺陷检测模型和所述学生缺陷检测模型进行联合训练。
12.根据权利要求1所述的方法,其中,所述采用教师缺陷检测模型分别对所述第一样本图像进行所述第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征,包括:
对所述第一样本图像进行第一增强处理,得到第一增强处理后的第一样本图像;
采用所述教师缺陷检测模型对所述第一增强处理后的第一样本图像进行所述第一产品的缺陷的回归预测,以得到所述第一回归特征;
采用所述教师缺陷检测模型对所述第一增强处理后的第一样本图像进行所述第一产品的缺陷的类别预测,以得到第一分类特征。
13.根据权利要求1所述的方法,其中,所述采用学生缺陷检测模型分别对所述第一样本图像进行所述第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征,包括:
对所述第一样本图像进行第二增强处理,得到第二增强处理后的第一样本图像;
采用所述学生缺陷检测模型对所述第二增强处理后的第一样本图像进行所述第一产品的缺陷的回归预测,以得到第二回归特征;
采用所述学生缺陷检测模型对所述第二增强处理后的第一样本图像进行所述第一产品的缺陷的类别预测,以得到第二分类特征。
14.根据权利要求1-13中任一项所述的方法,其中,所述教师缺陷检测模型和所述学生缺陷检测模型为经预训练的缺陷检测模型。
15.根据权利要求1-13中任一项所述的方法,其中,所述根据所述第一回归损失值和所述第一分类损失值,对所述教师缺陷检测模型和所述学生缺陷检测模型进行联合训练,包括:
根据所述第一回归损失值和所述第一分类损失值,对所述学生缺陷检测模型中的至少一个模型参数进行调整;
针对调整后的学生缺陷检测模型中的任一模型参数,确定当前调整的目标调整值及历史调整的多个历史调整值;
根据所述目标调整值和所述多个历史调整值,对所述教师缺陷检测模型中与所述任一模型参数对应的模型参数进行调整。
16.一种缺陷检测方法,所述方法包括:
获取待测图像;其中,所述待测图像展示有目标产品;
采用经训练的教师缺陷检测模型分别对所述待测图像进行所述目标产品的缺陷的回归预测和类别预测,得到检测框的输出位置和所述检测框内的目标产品所属的缺陷类别;
其中,所述教师缺陷检测模型是采用权利要求1-15中任一项所述的方法训练得到的。
17.一种缺陷检测模型的训练装置,所述装置包括:
第一获取模块,用于获取未标注的第一样本图像;其中,所述第一样本图像展示有第一产品;
第一预测模块,用于采用教师缺陷检测模型分别对所述第一样本图像进行所述第一产品的缺陷的回归预测和类别预测,以得到第一回归特征和第一分类特征;
第二预测模块,用于采用学生缺陷检测模型分别对所述第一样本图像进行所述第一产品的缺陷的回归预测和类别预测,以得到第二回归特征和第二分类特征;
确定模块,用于根据所述第一回归特征和所述第二回归特征确定第一回归损失值,并根据所述第一分类特征和所述第二分类特征确定第一分类损失值;
联合训练模块,用于根据所述第一回归损失值和所述第一分类损失值,对所述教师缺陷检测模型和所述学生缺陷检测模型进行联合训练。
18.根据权利要求17所述的装置,其中,所述第一回归特征包括多个第一维度的第一子特征,所述第二回归特征包括所述多个第一维度的第二子特征;
所述确定模块,用于:
从所述多个第一维度的第一子特征中选择第一设定比例的第一子特征,并拼接得到第一拼接特征;
从所述多个第一维度的第二子特征中选择所述第一设定比例的第二子特征,并拼接得到第二拼接特征;
根据所述第一拼接特征和所述第二拼接特征之间的差异,确定所述第一回归损失值。
19.根据权利要求18所述的装置,其中,所述确定模块,用于:
根据任一所述第一子特征中的多个特征点的特征值,从任一所述第一子特征中的多个特征点中确定第一目标特征点;
根据各所述第一子特征中第一目标特征点的特征值,对各所述第一子特征进行排序,得到第一排序序列;
从所述第一排序序列中选择排序在前的所述第一设定比例的第一子特征。
20.根据权利要求17所述的装置,其中,所述第一分类特征包括多个第二维度的第三子特征,所述第二分类特征包括所述多个第二维度的第四子特征;
所述确定模块,用于:
从所述多个第二维度的第三子特征中选择第二设定比例的第三子特征,并拼接得到第三拼接特征;
从所述多个第二维度的第四子特征中选择所述第二设定比例的第四子特征,并拼接得到第四拼接特征;
根据所述第三拼接特征和所述第四拼接特征之间的差异,确定所述第一分类损失值。
21.根据权利要求17所述的装置,其中,所述联合训练模块,用于:
根据第三分类特征和所述第一分类特征,确定第二分类损失值;其中,所述第三分类特征是所述教师缺陷检测模型最近一次进行缺陷的类别预测得到的;
根据第三回归特征和所述第一回归特征,确定第二回归损失值;其中,所述第三回归特征是所述教师缺陷检测模型最近一次进行缺陷的回归预测得到的;
根据所述第一分类损失值、所述第二分类损失值、所述第一回归损失值和所述第二回归损失值,对所述教师缺陷检测模型和所述学生缺陷检测模型进行联合训练。
22.根据权利要求21所述的装置,其中,所述联合训练模块,用于:
根据所述第一分类特征中各特征点与所述第二分类特征中对应特征点之间的相似度,生成第一相似度矩阵;
基于所述第三分类特征对所述第一分类特征进行更新,以得到更新后的第一分类特征;
获取所述更新后的第一分类特征对应的第一自相关相似度矩阵;
根据所述第一自相关相似度矩阵和所述第一相似度矩阵,确定所述第二分类损失值。
23.根据权利要求22所述的装置,其特征在于,所述联合训练模块,用于:
根据所述第一分类特征中各特征点与所述第三分类特征中对应特征点之间的相似度,生成第二相似度矩阵;
将所述第二相似度矩阵与所述第三分类特征相乘,得到第四分类特征;
对所述第四分类特征与所述第一分类特征进行加权,以得到更新后的第一分类特征。
24.根据权利要求21所述的装置,其中,所述联合训练模块,用于:
根据所述第一回归特征中各特征点与所述第二回归特征中对应特征点之间的相似度,生成第三相似度矩阵;
基于所述第三回归特征对所述第一回归特征进行更新,以得到更新后的第一回归特征;
获取所述更新后的第一回归特征对应的第二自相关相似度矩阵;
根据所述第二自相关相似度矩阵和所述第三相似度矩阵,确定所述第二回归损失值。
25.根据权利要求17所述的装置,其中,所述学生缺陷检测模型为经训练的缺陷检测模型,所述学生缺陷检测模型通过以下模块获取得到:
第二获取模块,用于获取已标注的第二样本图像;其中,所述第二样本图像上标注有第一标注框的第一标注位置和所述第一标注框内第二产品所属的第一标注缺陷类别;
第三预测模块,用于采用初始的学生缺陷检测模型分别对所述第二样本图像进行所述第二产品的缺陷的回归预测和类别预测,得到第一预测框的第一预测位置和所述第一预测框内的第二产品所属的第一预测缺陷类别;
模型训练模块,用于根据所述第一标注位置和所述第一预测位置之间的差异,以及根据所述第一标注缺陷类别和所述第一预测缺陷类别之间的差异,对所述学生缺陷检测模型进行训练,以得到经过训练的所述学生缺陷检测模型。
26.根据权利要求25所述的装置,其中,所述第二获取模块,用于:
获取参考图像;其中,所述参考图像中展示有未存在缺陷的第二产品;
采用生成模型在所述参考图像中的所述第二产品上生成缺陷区域,得到生成图像;
根据所述生成图像中的所述缺陷区域的位置,对所述生成图像进行标注,以得到所述第二样本图像。
27.根据权利要求17所述的装置,其特征在于,所述联合训练模块,用于:
获取已标注的第三样本图像,其中,所述第三样本图像上标注有第二标注框的第二标注位置和所述标注框内第三产品所属的第二标注缺陷类别;
采用学生缺陷检测模型分别对所述第三样本图像进行所述第三产品的缺陷的回归预测和类别预测,得到第二预测框的第二预测位置和所述第二预测框内的第三产品所属的第二预测缺陷类别;
根据所述第二标注位置和所述第二预测位置之间的差异,确定第三回归损失值,并根据所述第二标注缺陷类别和所述第二预测缺陷类别之间的差异,确定第三分类损失值;
根据所述第一回归损失值、所述第一分类损失值、所述第三回归损失值和所述第三分类损失值,对所述教师缺陷检测模型和所述学生缺陷检测模型进行联合训练。
28.根据权利要求17所述的装置,其中,所述第一预测模块,用于:
对所述第一样本图像进行第一增强处理,得到第一增强处理后的第一样本图像;
采用所述教师缺陷检测模型对所述第一增强处理后的第一样本图像进行所述第一产品的缺陷的回归预测,以得到所述第一回归特征;
采用所述教师缺陷检测模型对所述第一增强处理后的第一样本图像进行所述第一产品的缺陷的类别预测,以得到第一分类特征。
29.根据权利要求17所述的装置,其中,所述第二预测模块,用于:
对所述第一样本图像进行第二增强处理,得到第二增强处理后的第一样本图像;
采用所述学生缺陷检测模型对所述第二增强处理后的第一样本图像进行所述第一产品的缺陷的回归预测,以得到第二回归特征;
采用所述学生缺陷检测模型对所述第二增强处理后的第一样本图像进行所述第一产品的缺陷的类别预测,以得到第二分类特征。
30.根据权利要求17-29中任一项所述的装置,其中,所述教师缺陷检测模型和所述学生缺陷检测模型为经预训练的缺陷检测模型。
31.根据权利要求17-29中任一项所述的装置,其中,所述联合训练模块,用于:
根据所述第一回归损失值和所述第一分类损失值,对所述学生缺陷检测模型中的至少一个模型参数进行调整;
针对调整后的学生缺陷检测模型中的任一模型参数,确定当前调整的目标调整值及历史调整的多个历史调整值;
根据所述目标调整值和所述多个历史调整值,对所述教师缺陷检测模型中与所述任一模型参数对应的模型参数进行调整。
32.一种缺陷检测装置,所述装置包括:
获取模块,用于获取待测图像;其中,所述待测图像展示有目标产品;
预测模块,用于采用经训练的教师缺陷检测模型分别对所述待测图像进行所述目标产品的缺陷的回归预测和类别预测,得到检测框的输出位置和所述检测框内的目标产品所属的缺陷类别;
其中,所述教师缺陷检测模型是采用权利要求17-31中任一项所述的装置训练得到的。
33.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-15中任一项所述的缺陷检测模型的训练方法,或者执行权利要求16所述的缺陷检测方法。
34.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-15中任一项所述的缺陷检测模型的训练方法,或者,执行权利要求16所述的缺陷检测方法。
35.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-15中任一项所述缺陷检测模型的训练方法的步骤,或者,实现根据权利要求16所述缺陷检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687053.4A CN116596916A (zh) | 2023-06-09 | 2023-06-09 | 缺陷检测模型的训练和缺陷检测方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310687053.4A CN116596916A (zh) | 2023-06-09 | 2023-06-09 | 缺陷检测模型的训练和缺陷检测方法及其装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116596916A true CN116596916A (zh) | 2023-08-15 |
Family
ID=87599208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310687053.4A Pending CN116596916A (zh) | 2023-06-09 | 2023-06-09 | 缺陷检测模型的训练和缺陷检测方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116596916A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116805387A (zh) * | 2023-08-24 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 基于知识蒸馏的模型训练方法、质检方法和相关设备 |
CN117057443A (zh) * | 2023-10-09 | 2023-11-14 | 杭州海康威视数字技术股份有限公司 | 视觉语言模型的提示学习方法及电子设备 |
CN117291921A (zh) * | 2023-11-27 | 2023-12-26 | 哪吒港航智慧科技(上海)有限公司 | 集装箱偶发残损样本挖掘及学习方法、装置、设备、介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110705691A (zh) * | 2019-09-24 | 2020-01-17 | 北京迈格威科技有限公司 | 神经网络训练方法、装置及计算机可读存储介质 |
WO2020214259A1 (en) * | 2019-04-16 | 2020-10-22 | Microsoft Technology Licensing, Llc | Conditional teacher-student learning for model training |
CN112990298A (zh) * | 2021-03-11 | 2021-06-18 | 北京中科虹霸科技有限公司 | 关键点检测模型训练方法、关键点检测方法及装置 |
CN114462489A (zh) * | 2021-12-29 | 2022-05-10 | 浙江大华技术股份有限公司 | 文字识别模型的训练方法、文字识别方法和设备、电子设备及介质 |
CN114708436A (zh) * | 2022-06-02 | 2022-07-05 | 深圳比特微电子科技有限公司 | 语义分割模型的训练方法、语义分割方法、装置和介质 |
CN114998202A (zh) * | 2022-04-26 | 2022-09-02 | 杭州电子科技大学 | 一种半监督深度学习缺陷检测方法 |
KR20220160814A (ko) * | 2021-05-28 | 2022-12-06 | 삼성에스디에스 주식회사 | 회귀 태스크 기반의 지식 증류 방법 및 이를 수행하기 위한 컴퓨팅 장치 |
CN115440346A (zh) * | 2022-11-07 | 2022-12-06 | 四川大学华西医院 | 基于半监督学习的痤疮分级方法、系统、设备及存储介质 |
CN115527083A (zh) * | 2022-09-27 | 2022-12-27 | 中电金信软件有限公司 | 图像标注方法、装置和电子设备 |
CN115661615A (zh) * | 2022-12-13 | 2023-01-31 | 浙江莲荷科技有限公司 | 一种图像识别模型的训练方法、装置及电子设备 |
CN116091858A (zh) * | 2022-10-31 | 2023-05-09 | 北京邮电大学 | 一种半监督学习电力设备目标检测模型训练方法、检测方法及装置 |
-
2023
- 2023-06-09 CN CN202310687053.4A patent/CN116596916A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020214259A1 (en) * | 2019-04-16 | 2020-10-22 | Microsoft Technology Licensing, Llc | Conditional teacher-student learning for model training |
CN110705691A (zh) * | 2019-09-24 | 2020-01-17 | 北京迈格威科技有限公司 | 神经网络训练方法、装置及计算机可读存储介质 |
CN112990298A (zh) * | 2021-03-11 | 2021-06-18 | 北京中科虹霸科技有限公司 | 关键点检测模型训练方法、关键点检测方法及装置 |
KR20220160814A (ko) * | 2021-05-28 | 2022-12-06 | 삼성에스디에스 주식회사 | 회귀 태스크 기반의 지식 증류 방법 및 이를 수행하기 위한 컴퓨팅 장치 |
CN114462489A (zh) * | 2021-12-29 | 2022-05-10 | 浙江大华技术股份有限公司 | 文字识别模型的训练方法、文字识别方法和设备、电子设备及介质 |
CN114998202A (zh) * | 2022-04-26 | 2022-09-02 | 杭州电子科技大学 | 一种半监督深度学习缺陷检测方法 |
CN114708436A (zh) * | 2022-06-02 | 2022-07-05 | 深圳比特微电子科技有限公司 | 语义分割模型的训练方法、语义分割方法、装置和介质 |
CN115527083A (zh) * | 2022-09-27 | 2022-12-27 | 中电金信软件有限公司 | 图像标注方法、装置和电子设备 |
CN116091858A (zh) * | 2022-10-31 | 2023-05-09 | 北京邮电大学 | 一种半监督学习电力设备目标检测模型训练方法、检测方法及装置 |
CN115440346A (zh) * | 2022-11-07 | 2022-12-06 | 四川大学华西医院 | 基于半监督学习的痤疮分级方法、系统、设备及存储介质 |
CN115661615A (zh) * | 2022-12-13 | 2023-01-31 | 浙江莲荷科技有限公司 | 一种图像识别模型的训练方法、装置及电子设备 |
Non-Patent Citations (2)
Title |
---|
YIHE TANG: "Humble Teachers Teach Better Students for Semi-Supervised Object Detection", 《2021 IEEE/CVF CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION (CVPR)》, 2 November 2021 (2021-11-02) * |
梁芸浩: "基于半监督学习的声音事件分类与检测方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》, 15 October 2022 (2022-10-15) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116805387A (zh) * | 2023-08-24 | 2023-09-26 | 腾讯科技(深圳)有限公司 | 基于知识蒸馏的模型训练方法、质检方法和相关设备 |
CN116805387B (zh) * | 2023-08-24 | 2023-11-21 | 腾讯科技(深圳)有限公司 | 基于知识蒸馏的模型训练方法、质检方法和相关设备 |
CN117057443A (zh) * | 2023-10-09 | 2023-11-14 | 杭州海康威视数字技术股份有限公司 | 视觉语言模型的提示学习方法及电子设备 |
CN117057443B (zh) * | 2023-10-09 | 2024-02-02 | 杭州海康威视数字技术股份有限公司 | 视觉语言模型的提示学习方法及电子设备 |
CN117291921A (zh) * | 2023-11-27 | 2023-12-26 | 哪吒港航智慧科技(上海)有限公司 | 集装箱偶发残损样本挖掘及学习方法、装置、设备、介质 |
CN117291921B (zh) * | 2023-11-27 | 2024-03-12 | 哪吒港航智慧科技(上海)有限公司 | 集装箱偶发残损样本挖掘及学习方法、装置、设备、介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116596916A (zh) | 缺陷检测模型的训练和缺陷检测方法及其装置 | |
EP3913542A2 (en) | Method and apparatus of training model, device, medium, and program product | |
CN113191256B (zh) | 车道线检测模型的训练方法、装置、电子设备及存储介质 | |
CN113642431B (zh) | 目标检测模型的训练方法及装置、电子设备和存储介质 | |
CN115861462B (zh) | 图像生成模型的训练方法、装置、电子设备及存储介质 | |
CN112861885B (zh) | 图像识别方法、装置、电子设备及存储介质 | |
CN113963148B (zh) | 对象检测方法、对象检测模型的训练方法及装置 | |
KR20220047228A (ko) | 이미지 분류 모델 생성 방법 및 장치, 전자 기기, 저장 매체, 컴퓨터 프로그램, 노변 장치 및 클라우드 제어 플랫폼 | |
WO2024060416A1 (zh) | 一种病理图像的端到端弱监督语义分割标注方法 | |
US20230245429A1 (en) | Method and apparatus for training lane line detection model, electronic device and storage medium | |
CN114120454A (zh) | 活体检测模型的训练方法、装置、电子设备及存储介质 | |
CN117437423A (zh) | 基于sam协同学习和跨层特征聚合增强的弱监督医学图像分割方法及装置 | |
CN116758280A (zh) | 目标检测方法、装置、设备以及存储介质 | |
CN115239889B (zh) | 3d重建网络的训练方法、3d重建方法、装置、设备和介质 | |
CN115565186B (zh) | 文字识别模型的训练方法、装置、电子设备和存储介质 | |
CN116977872A (zh) | 一种CNN+Transformer遥感图像检测方法 | |
CN114972910B (zh) | 图文识别模型的训练方法、装置、电子设备及存储介质 | |
CN114120180B (zh) | 一种时序提名的生成方法、装置、设备及介质 | |
CN115457365A (zh) | 一种模型的解释方法、装置、电子设备及存储介质 | |
CN113223058B (zh) | 光流估计模型的训练方法、装置、电子设备及存储介质 | |
CN114445711B (zh) | 图像检测方法、装置、电子设备和存储介质 | |
CN116071608B (zh) | 目标检测方法、装置、设备和存储介质 | |
US12026230B2 (en) | One-stage object detecting model training method, electrical device and storage medium | |
CN113343979B (zh) | 用于训练模型的方法、装置、设备、介质和程序产品 | |
US20230153383A1 (en) | Data augmentation for machine learning |
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 |