CN114862764A - 瑕疵检测模型训练方法、装置、设备和存储介质 - Google Patents

瑕疵检测模型训练方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN114862764A
CN114862764A CN202210383826.5A CN202210383826A CN114862764A CN 114862764 A CN114862764 A CN 114862764A CN 202210383826 A CN202210383826 A CN 202210383826A CN 114862764 A CN114862764 A CN 114862764A
Authority
CN
China
Prior art keywords
training sample
sample image
flaw
detection result
flaw detection
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
Application number
CN202210383826.5A
Other languages
English (en)
Inventor
陈炳辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Damo Institute Hangzhou Technology Co Ltd
Original Assignee
Alibaba Damo Institute Hangzhou Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Damo Institute Hangzhou Technology Co Ltd filed Critical Alibaba Damo Institute Hangzhou Technology Co Ltd
Priority to CN202210383826.5A priority Critical patent/CN114862764A/zh
Publication of CN114862764A publication Critical patent/CN114862764A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/40Software arrangements specially adapted for pattern recognition, e.g. user interfaces or toolboxes therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/761Proximity, similarity or dissimilarity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing 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/778Active pattern-learning, e.g. online learning of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Image Analysis (AREA)

Abstract

本申请提供一种瑕疵检测模型训练方法、装置、设备和存储介质,该方法包括:获取有瑕疵标注信息的第一训练样本图像和无瑕疵标注信息的第二训练样本图像,将第一训练样本图像和第二训练样本图像分别输入作为学生模型的瑕疵检测模型中得到第一瑕疵检测结果和第二瑕疵检测结果,将第二训练样本图像输入到教师模型中得到指示了瑕疵位置和目标瑕疵类别的预测分数的第三瑕疵检测结果。若预测分数大于目标瑕疵类别的可信阈值,则确定第三瑕疵检测结果可信,将第三瑕疵检测结果作为第二训练样本图像的瑕疵标注信息。根据第一、第二训练样本图像各自的瑕疵检测结果和瑕疵标注信息训练瑕疵检测模型。以半监督训练方式得到性能良好的瑕疵检测模型。

Description

瑕疵检测模型训练方法、装置、设备和存储介质
技术领域
本发明涉及图像处理技术领域,尤其涉及一种瑕疵检测模型训练方法、装置、设备和存储介质。
背景技术
工业瑕疵(或者说缺陷)检测是一个具有挑战性的任务,其应用场景涵盖了重工业和轻工业等各个应用领域中,比如钢铁、电子、纺织等行业都有检测产品表面瑕疵的需求。
目前,常用的方式是采用瑕疵检测模型来完成产品的瑕疵检测任务,传统的瑕疵检测模型都是基于收集的具有瑕疵标注信息的训练样本训练得到的。但是,工业产线上能够收集到的具有瑕疵标注信息的训练样本数据也比较有限,使得训练出的模型性能不佳。
发明内容
本发明实施例提供一种瑕疵检测模型训练方法、装置、设备和存储介质,用以训练得到性能良好的瑕疵检测模型。
第一方面,本发明实施例提供一种瑕疵检测模型训练方法,所述方法包括:
获取第一训练样本图像和第二训练样本图像,所述第一训练样本图像关联有瑕疵标注信息,所述第二训练样本图像未关联有瑕疵标注信息;
将所述第一训练样本图像和所述第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到所述第一训练样本图像的第一瑕疵检测结果和所述第二训练样本图像的第二瑕疵检测结果;
将所述第二训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第二训练样本图像的第三瑕疵检测结果,所述第三瑕疵检测结果指示了瑕疵位置和目标瑕疵类别的预测分数;
若所述预测分数大于设定的所述目标瑕疵类别对应的可信阈值,则确定所述第三瑕疵检测结果可信;
将所述第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为所述第二训练样本图像关联的瑕疵标注信息,以根据所述第一瑕疵检测结果、所述第二瑕疵检测结果、所述第一训练样本图像关联的瑕疵标注信息以及所述第二训练样本图像关联的瑕疵标注信息,训练所述瑕疵检测模型。
第二方面,本发明实施例提供一种瑕疵检测模型训练装置,所述装置包括:
获取模块,用于获取第一训练样本图像和第二训练样本图像,所述第一训练样本图像关联有瑕疵标注信息,所述第二训练样本图像未关联有瑕疵标注信息;
训练模块,用于将所述第一训练样本图像和所述第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到所述第一训练样本图像的第一瑕疵检测结果和所述第二训练样本图像的第二瑕疵检测结果;将所述第二训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第二训练样本图像的第三瑕疵检测结果,所述第三瑕疵检测结果指示了瑕疵位置和目标瑕疵类别的预测分数;若所述预测分数大于设定的所述目标瑕疵类别对应的可信阈值,则确定所述第三瑕疵检测结果可信;将所述第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为所述第二训练样本图像关联的瑕疵标注信息,以根据所述第一瑕疵检测结果、所述第二瑕疵检测结果、所述第一训练样本图像关联的瑕疵标注信息以及所述第二训练样本图像关联的瑕疵标注信息,训练所述瑕疵检测模型。
第三方面,本发明实施例提供一种电子设备,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少可以实现如第一方面所述的瑕疵检测模型训练方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如第一方面所述的瑕疵检测模型训练方法。
第五方面,本发明实施例提供一种图像检测模型训练方法,所述方法包括:
获取第一训练样本图像和第二训练样本图像,所述第一训练样本图像关联有目标检测标注信息,所述第二训练样本图像未关联有目标检测标注信息;
将所述第一训练样本图像和所述第二训练样本图像分别输入作为学生模型的图像检测模型中,以得到所述第一训练样本图像的第一目标检测结果和所述第二训练样本图像的第二目标检测结果;
将所述第二训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第二训练样本图像的第三目标检测结果,所述第三目标检测结果指示了目标对象位置和目标对象类别的预测分数;
若所述预测分数大于设定的所述目标对象类别对应的可信阈值,则确定所述第三目标检测结果可信;
将所述第三目标检测结果中指示的目标对象位置和目标对象类别作为所述第二训练样本图像关联的目标检测标注信息,以根据所述第一训练样本图像的第一目标检测结果及所关联的目标检测标注信息、所述第二训练样本图像的第二目标检测结果及所关联的目标检测标注信息,训练所述图像检测模型。
本发明实施例中,当需要训练用于对某种产品进行瑕疵检测的模型时,可以获得两类训练样本,一类是具有瑕疵标注信息(即监督信息)的样本,一类是不具有瑕疵标注信息的样本。假设第一训练样本图像关联有瑕疵标注信息,第二训练样本图像未关联有瑕疵标注信息,这两个训练样本图像分别是各种对应的样本集中的任一个样本。以这两个训练样本图像为例来说明模型训练过程:将第一训练样本图像和第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到第一训练样本图像的第一瑕疵检测结果和第二训练样本图像的第二瑕疵检测结果。将第二训练样本图像输入到与学生模型对应的教师模型中,以得到第二训练样本图像的第三瑕疵检测结果,第三瑕疵检测结果指示了瑕疵位置和目标瑕疵类别的预测分数。若所述预测分数大于设定的目标瑕疵类别对应的可信阈值,则确定第三瑕疵检测结果可信,此时,将第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为第二训练样本图像关联的瑕疵标注信息,这样便确定了第二训练样本图像所对应的伪标签信息。最终根据第一训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息以及第二训练样本图像的第二瑕疵检测结果以及所关联的瑕疵标注信息,训练瑕疵检测模型。
在上述方案中,可以同时利用能够收集的少量的有标注样本和大规模额外的无标注样本进行瑕疵检测模型的训练,使得训练出的模型具有良好性能。而且,针对无标注样本,通过教师模型的瑕疵检测处理后,进一步对其检测结果进行可信性确认,只有确认其检测结果可信时,才会以教师模型的实际检测结果作为相应无标注样本的伪标签(即监督信息),保证了无标注样本的伪标签确定结果的准确性,从而有助于提高作为学生模型的瑕疵检测模型具有更好的性能。而且,一般来说,学生模型的参数规模比较小,采用上述学生模型、教师模型相配合的训练方式,可以获得更易部署、推理更快的瑕疵检测模型。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种瑕疵检测模型训练方法的流程图;
图2为本发明实施例提供的一种瑕疵检测模型训练方法的应用示意图;
图3为本发明实施例提供的一种教师模型参数更新过程的示意图;
图4为本发明实施例提供的另一种瑕疵检测模型训练方法的流程图;
图5a-图5c为本发明实施例提供的一种图像增强处理效果的示意图;
图6为本发明实施例提供的一种层间相似度损失计算过程的示意图;
图7为本发明实施例提供的另一种瑕疵检测模型训练方法的应用示意图;
图8为本发明实施例提供的一种图像检测模型训练方法的流程图;
图9为本发明实施例提供的一种瑕疵检测模型训练装置的结构示意图;
图10为与图9所示实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图对本发明的一些实施方式作详细说明。在各实施例之间不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
本发明实施例提供的瑕疵检测模型训练方法可以由一电子设备来执行,该电子设备可以是服务器,也可以是用户终端,该服务器可以是云端的物理服务器或虚拟服务器(虚拟机)。
本发明实施例提供的方案可以适用于产品表面瑕疵检测场景中,比如检测电池、电子屏幕、终端设备背板等产品表面的划痕、凹坑、鼓包、污点等瑕疵。
图1为本发明实施例提供的一种瑕疵检测模型训练方法的流程图,如图1所示,该方法包括如下步骤:
101、获取第一训练样本图像和第二训练样本图像,第一训练样本图像关联有瑕疵标注信息,第二训练样本图像未关联有瑕疵标注信息。
102、将第一训练样本图像和第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到第一训练样本图像的第一瑕疵检测结果和第二训练样本图像的第二瑕疵检测结果。
103、将第二训练样本图像输入到与学生模型对应的教师模型中,以得到第二训练样本图像的第三瑕疵检测结果,第三瑕疵检测结果指示了瑕疵位置和目标瑕疵类别的预测分数。
104、若所述预测分数大于设定的目标瑕疵类别对应的可信阈值,则确定第三瑕疵检测结果可信,将第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为第二训练样本图像关联的瑕疵标注信息。
105、根据第一训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息,以及第二训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,训练瑕疵检测模型。
本发明实施例采用半监督学习方式来训练瑕疵检测模型,所谓半监督学习,是指同时利用一小部分有标注样本数据和大规模额外的无标注样本数据进行模型训练的方式。
在产品瑕疵检测场景中,实际上能够收集到的有标注样本数据比较有限,但是产线上会不断有大量无标注样本数据回流,因此可以结合这些有标注样本数据和无标注样本数据来完成模型训练。
在产品瑕疵检测场景中,有标注样本数据是指关联有瑕疵标注信息的训练样本图像,无标注样本数据是指未关联有瑕疵标注信息的训练样本图像。其中,瑕疵标注信息包括瑕疵位置以及对应的瑕疵类别。针对某种产品来说,可以收集若干关联有瑕疵标注信息的产品图像作为一个样本集,同时也可以收集若干未关联有瑕疵标注信息的产品图像作为另一样本集。
举例来说,假设针对手机背板这种产品,预先定义有划痕、凹坑、污渍这几类瑕疵,在大量手机背板生产后,对生产的手机背板进行拍摄得到对应的产品图像,针对其中的部分产品图像,如果发现其中有某种瑕疵,则在产品图像上标记出对应的瑕疵位置(比如以矩形框框选出瑕疵区域)以及对应的瑕疵类别,当然,如果发现某手机背板上没有瑕疵,则也可以在对应的产品图像上标记上“无瑕疵”这个标注信息。上述具有瑕疵标注信息的产品图像都作为关联有瑕疵标注信息的训练样本图像。但是,实际上,上述标注操作是比较耗时耗力的,实际上可能仅对拍摄的大量产品图像中的少部分进行了标注,剩余的都未进行标注,那么这些剩余的产品图像将作为未关联有瑕疵标注信息的训练样本图像。
在收集到某产品对应的由关联有瑕疵标注信息的若干训练样本图像构成的第一样本集以及由未关联有瑕疵标注信息的若干训练样本图像构成的第二样本集之后,便可以使用这两个样本集对瑕疵检测模型进行训练。
为了能够更加直观地了解本发明实施例中对瑕疵检测模型的训练方式,先结合图2示例性说明模型训练过程。
如图2所示,在训练过程中需要使用到两个神经网络模型,分别是图中示意的教师模型和学生模型,其中,本发明实施例最终需要训练出的瑕疵检测模型为学生模型。在实际应用中,教师模型和学生模型在结构组成上可以是一致的,但是模型参数是不同的,训练方式也是不同的。
实际应用中,学生模型和教师模型都可以采用比如一阶全卷积目标检测(FullyConvolutional One-Stage Object Detection,简称FCOS)算法进行训练,不以此为限。
具体来说,初始状态下,上述两个模型的参数可以随机初始化设置,之后,可以先从上述第一样本集中获取一个训练样本图像作为第一训练样本图像,在第二样本集中获取一个训练样本图像作为第二训练样本图像,之后,将第一训练样本图像和第二训练样本图像分别输入学生模型亦即瑕疵检测模型中,将第二训练样本图像输入到教师模型中。
学生模型和教师模型都被配置为需要具有完成瑕疵检测任务的能力,即需要具有识别出输入图像中包含的瑕疵类别以及对应的瑕疵位置的能力。所以,学生模型会输出第一训练样本图像对应的第一瑕疵检测结果以及第二训练样本图像对应的第二瑕疵检测结果,这两个瑕疵检测结果中都会指示出对应的输入图像中是否包含瑕疵,以及所包含的瑕疵类别、瑕疵位置。实际上,当学生模型检测发现输入图像中包含某种类别的瑕疵时,会输出该瑕疵类别的预测分数(相当于是概率值)。
类似地,教师模型也会输出第二训练样本对应的第三瑕疵检测结果,第三瑕疵检测结果指示了瑕疵位置和目标瑕疵类别的预测分数。这里假设教师模型识别出第二训练样本图像中包含某种瑕疵类别(称为目标瑕疵类别)的瑕疵。
在一可选实施例中,为增加样本的多样性,将第一训练样本图像和第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,包括:
对第一训练样本图像和第二训练样本图像分别进行弱图像增强处理,将增强处理后的第一训练样本图像和增强处理后的第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到学生模型分别输出的第一瑕疵检测结果和第二瑕疵检测结果。
类似地,针对第二训练样本图像向教师模型的输入,也可以是将增强处理后的第二训练样本图像输入到教师模型中,以得到教师模型输出的第三瑕疵检测结果。
上述弱图像增强处理可以包括:翻转,也可以包括平移。比如进行水平镜像翻转。实际应用中,可以设置以随机概率对第一训练样本图像、第二训练样本图像进行弱图像增强处理。
在教师-学生模型的架构下,一般认为教师模型的模型参数更稳定,性能更佳,所以可以基于教师模型的第三瑕疵检测结果确定第二训练样本图像对应的瑕疵标注信息即伪标签信息,以便结合该伪标签信息以及学生模型输出的第二训练样本图像的第二瑕疵检测结果确定对应的损失(Loss)。
而第一训练样本图像本就带有瑕疵标注信息即监督信息,基于第一训练样本图像的第一瑕疵检测结果和该监督信息便可以确定第一训练样本图像对应的损失。
如上文所述,教师模型针对第二训练样本图像,会输出包含识别出的目标瑕疵类别的预测分数以及对应的瑕疵位置的第三瑕疵检测结果,虽然教师模型已经预测出第二训练样本图像中包含某目标瑕疵类别的瑕疵,但是并不直接认定该检测结果是可信的,还需要经过进一步的可信性判断。需要说明的是,上述预设分数可以理解为是第二训练样本图像中对应于目标瑕疵类别的瑕疵在图像中对应的位置这个预测结果所对应的分数。本发明实施例中虽然为便于描述,描述为是目标瑕疵类别对应的预测分数,实际上是与目标瑕疵类别所对应的上述瑕疵位置(即类别+位置)这个预测结果相对应的预测分数。
概括来说,假设设定了[0,…,C-1]这C种瑕疵类别,预先会确定每种瑕疵类别对应的可信阈值,基于该确定结果,可选地,如果当前教师模型对第二训练样本图像预测出的目标瑕疵类别的预测分数大于目标瑕疵类别对应的可信阈值,则确定第三瑕疵检测结果可信,此时,将第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为第二训练样本图像关联的瑕疵标注信息,即伪标签信息,亦即监督信息。
实际应用中,上述可信阈值可以人为经验设定,此时,每个瑕疵类别对应的可信阈值可以相同或不同。但是,可选地,也可以采用其他方式来确定,下文会介绍一种可选的确定方式。
这里假设第三瑕疵检测结果被确定为是可信的,则将第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为第二训练样本图像关联的瑕疵标注信息之后,便可以根据第一训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息,以及第二训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,训练瑕疵检测模型。具体地,根据第一训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息,确定第一损失;根据第二训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,确定第二损失;根据第一损失和第二损失确定总损失,以根据总损失调整学生模型即瑕疵检测模型的参数。
假设第一损失表示为Ls,第二损失表示为Lu,则总损失可以表示为:L=Ls+αLu,其中,α为预设的加权系数。
学生模型的参数被更新后,可以基于更新后的学生模型的参数,更新教师模型的参数。
在一可选实施例中,教师模型的参数可以来自于每次更新后的学生模型的参数的加权平均,同时,可以通过循环神经网络(RNN)的方式对一次更新后学生模型中各层的输出信息进行聚合,以得到此时教师模型中相应层的参数。
结合图3示例性说明教师模型的参数更新方式。在图3中,student1···studentT是指经过T次参数过程中每次更新后的学生模型,input是指输入到学生模型的训练样本图像,X1…XL表示的是学生模型中的L层各自的输出信息,实际上即为每层提取出的特征图。图中示意的Φ1…ΦL表示的是L层各自对应的参数。虽然在图3中,为示意方便,每次更新后的学生模型中各层参数并未进行差异性示意,但是可以理解的是,每次进行参数更新后学生模型的各层参数会发生变化。
在图3中,标有h字样的矩形块代表的是RNN模型,如图3中所示,以某次更新后的学生模型为例,依次将该学生模型中各层参数输入到RNN模型中,RNN模型会依次输出对应的处理结果—RNN模型的隐层状态。基于RNN模型的工作原理可知:当前时刻输入到RNN模型的某层参数所对应的输出,受到前一时刻的输入即前一层参数和前一时刻RNN模型的输出影响。针对图3中举例的L层来说,RNN模型会依次输出L个隐藏状态,这L个隐藏状态对应地更新到教师模型中的L层(教师模型具有与学生模型相同的结构),得到教师模型中当前的L层参数:Φ1'…ΦL'。
可选地,这L个隐藏状态可以以某种设定加权系数分别与教师模型中此前的L层参数一一对应的进行加权求和,得到更新后的上述L层参数。或者可选地,这L个隐藏状态可以直接对应地替换掉教师模型中此前的L层参数,之后再采用RNN模型对替换后的L层参数进行上述处理,得到的L个隐藏状态一一对应地更新为新的L层参数。
采用上述教师模型的参数更新方式,由于充分考虑了学生模型中不同层所提取的特征之间的上下文信息,使得更新后的教师模型性能更佳。
综上,本发明实施例中采用结合有瑕疵标注信息的样本图像以及没有瑕疵标注信息的样本图像,以及学生模型和教师模型相互配合的半监督学习方式,可以充分利用已经收集到的样本图像,训练出性能良好的瑕疵检测模型。
需要说明的是,虽然在训练过程中使用了学生模型和教师模型配合进行训练,但是在完成训练后,实际上仅需要保存学生模式作为瑕疵检测模型即可。后续,当获取某产品图像后,将该产品图像输入瑕疵检测模型,便可以输出针对该产品图像的瑕疵检测结果,即瑕疵类别和对应的瑕疵位置。训练过程中所用的训练样本图像与该待检测的产品图像可以对应于同种产品。
下面介绍上述可信性判断的一种可选实现方式。
实际应用中,可以设定τ1,τ2两个阈值,其中,τ1小于τ2,其中,τ1的取值可以预先设定,比如:τ1=0.1,τ2的取值是自动更新计算的值,对应于上文中所说的可信阈值。
概括来说,可以采用如下自适应样本忽略策略(adaptive ignoring)实现可信性判断:
Figure BDA0003592902210000071
其中,ph,w表示第二训练样本图像中像素位置(h,w)的瑕疵类别预测分数。p′h,w表示最终确定的该像素位置对应的瑕疵类别。[0,…,C-1]为预先设定的多个瑕疵类别,统称为前景样本。[C]表示没有瑕疵的标签,即背景样本。
实际上,教师模型对于输入的第二训练样本图像进行瑕疵检测的过程中,可以实现“像素级分类”,即确定输入图像中各个像素所对应的瑕疵类别标签,以及每个像素对应的瑕疵位置(以至少一个矩形框来表示)。
针对上述任一像素(h,,w)来说,如果教师模型预测出该像素对应的瑕疵类别为[0,…,C-1]中的一个,并且对应的预测分数大于τ2,则认为该检测结果是可信的,最终确定该像素对应的瑕疵类别即为实际预测出的瑕疵类别,即p′h,w=[0,…,C-1]中实际预测输出的瑕疵类别。
如果教师模型预测出该像素对应的瑕疵类别为[0,…,C-1]中的一个,并且对应的预测分数在τ1与τ2之间,则认为该检测结果是不可信的,此时,令p′h,w=[-1],表示忽略此时教师模型对第二训练样本图像的实际检测结果。如果教师模型预测出的该像素对应于任一种瑕疵类别的预测分数值小于τ1,则令p′h,w=[C],表示第二训练样本图像中不存在瑕疵。
综上,在教师模型针对第二训练样本图像输出各个像素对应的瑕疵类别预测分数后,只有其中预测分数大于τ2的像素的预测结果才被采用,而如果预测出某些像素对应于某种瑕疵类别的预测分数小于τ2,则这个预测结果将不被采用。
关于τ2,上文说介绍该阈值可以是自动更新计算得到的,实际上,针对每种瑕疵类别,可以对应于不同的这种阈值,此时,比如上述像素的实际预测结果为:其对应于瑕疵类别i的预测分数为某值,那么需要选用与该瑕疵类别i对应的τ2值。
下面介绍这个可信阈值τ2的确定过程。
先概括来说,假设无瑕疵标注信息的样本集中一共有N个训练样本图像,在实际训练过程中,这N个训练样本图像实际上会被使用多遍,也就是说对教师模型的训练需要经历多次完整的使用该样本集的过程。完成遍历完一次样本集的过程,称为一个epoch,所以训练过程中实际上会经历多个epoch。每个epoch会计算一次各个瑕疵类别对应的τ2值。
确定过程可以实现为:
通过教师模型获取所述N个训练样本图像对应的N个瑕疵检测结果;
确定N个瑕疵检测结果中目标瑕疵类别分别对应的预测分数,以及N个瑕疵检测结果中出现目标瑕疵类别的数量;
根据N个瑕疵检测结果中所述目标瑕疵类别分别对应的预测分数,以及N个瑕疵检测结果中出现目标瑕疵类别的数量,确定目标瑕疵类别对应的可信阈值。
上述确定过程可以通过如下公式来反映:
Figure BDA0003592902210000081
其中,k表示一种瑕疵类别,1{#}是条件语句,若条件{#}满足则取值为1,反之为0。具体含义是:如果教师模型针对输入的一个训练样本图像中像素(h,w)的检测结果为其对应于瑕疵类别k,且对应的预测分数大于此时该瑕疵类别k对应的可信阈值,则确定该像素对应的瑕疵类别为k,即p′h,w==k。上述加和符号是指对N个训练样本图像中所有满足上述条件的像素进行相应加和计算。
其中,Npos表示的教师模型针对N个训练样本图像一共预测出的对应于瑕疵类别k的检测框的个数,或者理解为对应的检测框内部包含的像素数量。该检测框用以表明瑕疵位置。
其中,β是一个设定的超参数,用于控制函数的平滑程度;ω也是一个超参数,表示的是一个固定的参考阈值。
通过上述确定过程便可以确定出某次epoch后,瑕疵类别k对应的可信阈值τ2
实际应用中,前一次epoch后确定出的各瑕疵类别对应的可信阈值τ2可以用于下一次epoch过程中的可信性判断过程。第一次epoch过程所使用的可信阈值可以人为设定。
可以理解的是,不仅是对教师模型的训练是经过多次epoch的,对于学生模型的训练也是。
针对上述输入到教师模型的第二训练样本图像来说,当基于教师模型输出的第三瑕疵检测结果确定其中包括目标瑕疵类别的瑕疵,并基于目标瑕疵类别对应的预测分数以及上述自适应样本忽略策略处理后,可以初步确定该第三瑕疵检测结果是否可信。在另一可选实施例中,还可以采用元网络(MetaNet),进一步确定该第三瑕疵检测结果的可信性。
在执行该确定过程时,需要使用到由均关联有瑕疵标注信息的多个训练样本图像构成的样本集,该样本集中包括上述第一训练样本图像。可以理解的是,瑕疵标注信息中包括瑕疵类别和瑕疵位置。
基于元网络进一步判定第三瑕疵检测结果是否可信,可以实现为:
若目标瑕疵类别的预测分数大于设定的目标瑕疵类别对应的可信阈值,则根据目标瑕疵类别在第二训练样本图像中对应的瑕疵位置,从第二训练样本图像中截取出对应的第一瑕疵区域图像;
将第一瑕疵区域图像输入到预设的特征提取模型,以得到第一特征向量;
获取所述样本集中与目标瑕疵类别对应的至少一个训练样本图像;
根据目标瑕疵类别在至少一个训练样本图像中分别对应的瑕疵位置,分别从至少一个训练样本图像中截取出对应的至少一个第二瑕疵区域图像;
将至少一个第二瑕疵区域图像分别输入到特征提取模型,以得到至少一个第二特征向量;
根据至少一个第二特征向量确定目标第二特征向量;
若第一特征向量与目标第二特征向量的相似度大于设定阈值,则确定第三瑕疵检测结果可信。
其中,上述特征提取模型即为元网络模型。
具体来说,在得到教师模型针对第二训练样本图像输出的包含有目标瑕疵类别的预测分数以及瑕疵位置的第三瑕疵检测结果后,如果通过上文介绍的自适应样本忽略策略确定了第二训练样本图像中确实对应于该目标瑕疵类别的像素(预测分数大于目标瑕疵类别对应的可信阈值)后,基于该像素所对应的瑕疵位置即教师模型回归出的与该像素在目标瑕疵类别下对应的检测框,在第二训练样本图像中截取出对应的图像区域作为上述第一瑕疵区域图像。将第一瑕疵区域图像输入到元网络模型(即上述特征提取模型)中,输出对应的第一特征向量(或者称为特征图、特征矩阵)。
由于上述假设的是在第二训练样本图像中检测出目标瑕疵类别的瑕疵,因此,在由若干关联有瑕疵标注信息的训练样本图像构成的样本集中,筛选出与该目标瑕疵类别对应的训练样本图像作为上述至少一个训练样本图像。
之后,筛选出的每个训练样本图像,按照其中标注的与目标瑕疵类别对应的瑕疵位置,截取出对应的图像区域,从而得到上述至少一个第二瑕疵区域图像,进而分别输入到元网络模型中,得到对应的第二特征向量。
假设一共得到了M个第二特征向量,则这M个第二特征向量比如可以进行求均值等计算得到目标第二特征向量。之后,第一瑕疵区域图像对应的第一特征向量与该目标第二特征向量进行比如余弦距离等某种距离的计算,距离计算结果作为两者的相似度,如果相似度大于设定阈值(即距离小于某阈值),则认为该目标瑕疵类别的检测结果是可信的,否则,认为不可信,忽略该检测结果。
综上,通过自适应样本忽略策略和元网络来进行教师模型输出检测结果的可信性判断处理,可以生成更加精细和准确的伪标签信息,这些伪标签信息最终会被用于学生模型中无瑕疵标注信息的第二训练样本图像的监督训练过程中,从而实现了利用原本有瑕疵标注信息的训练样本图像以及原本无瑕疵标注信息的训练样本图像对学生模型的监督训练。
图4为本发明实施例提供的另一种瑕疵检测模型训练方法的流程图,如图4所示,该方法包括如下步骤:
401、获取第一训练样本图像和第二训练样本图像,第一训练样本图像关联有瑕疵标注信息,第二训练样本图像未关联有瑕疵标注信息。
402、对第一训练样本图像进行弱图像增强处理以得到第三训练样本图像,第三训练样本图像关联有第一训练样本图像所关联的瑕疵标注信息;对第二训练样本图像进行弱图像增强处理以得到第四训练样本图像;对第二训练样本图像进行强图像增强处理和/或块扰动处理以得到第五训练样本图像;对第五训练样本图像进行下采样处理以得到第六训练样本图像。
403、将第三训练样本图像、第四训练样本图像、第五训练样本图像以及第六训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到第三训练样本图像的第一瑕疵检测结果,第四训练样本图像的第二瑕疵检测结果,第四训练样本图像的多个尺度的特征图,第五训练样本图像的多个尺度的特征图以及第六训练样本图像的多个尺度的特征图。
404、将第四训练样本图像输入到与学生模型对应的教师模型中,以得到第四训练样本图像的第三瑕疵检测结果。
405、将第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为第四训练样本图像关联的瑕疵标注信息,以根据第三训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息、第四训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,以及第四训练样本图像的多个尺度的特征图,第五训练样本图像的多个尺度的特征图和第六训练样本图像的多个尺度的特征图,训练瑕疵检测模型。
在本实施例中,为了增加训练样本的多样性,降低模型的瑕疵检测过程中对图像背景的依赖,以及降低过拟合,在初始获得的第一训练样本图像、第二训练样本图像进行了多种图像增强处理。
针对具有瑕疵标注信息的第一训练样本图像,可以仅进行弱图像增强处理,比如水平翻转处理,得到第三训练样本图像,此时,第三训练样本图像关联有第一训练样本图像所关联的瑕疵标注信息。
针对不具有瑕疵标注信息的第二训练样本图像,除了可以进行弱图像增强处理外,还可以进行强图像增强处理、块扰动(PatchShuffle)等处理。
本实施例中,以从第二训练样本图像生成三份样本图像为例来说明:
第一份:对第二训练样本图像进行弱图像增强处理得到第四训练样本图像,其中,弱图像增强处理可以包括翻转(比如水平翻转、竖直翻转)和/或平移。
第二份:对第二训练样本图像进行强图像增强处理和/或块扰动处理以得到第五训练样本图像。其中,强图像增强处理比如可以包括如下至少一种:随机颜色扰动、随机区域擦除。随机颜色扰动是指以随机概率改变图像中的像素颜色;随机区域擦除是指以随机概率将图像中一些区域内像素的像素值设置为缺省值(比如设置为白色或黑色)。其中,块扰动是指在图像中随机确定一些位置点,以该位置点为交点,确定一条水平线和竖直线,将图像分割成多块,并随机打乱块的位置。需要说明的是,经过强图像增强、块扰动处理后的第五训练样本图像具有与第二训练样本图像相同的图像尺寸。
第三份:对第五训练样本图像进行下采样处理以得到第六训练样本图像。下采样处理的目的是降低图像分辨率,比如第六训练样本图像的尺寸大小为第五训练样本图像亦即第二训练样本图像的尺寸的一半。
为了能够更加直观地理解上述对训练样本图像的图像增强处理效果,结合图5a至图5c示例性说明。
在图5a中示意的是竖直翻转的情形:如图5a中所示,在竖直翻转情形下,以图像高度中心点为基准,进行像素点的映射,得到图中示意的翻转效果。
在图5b中示意的是随机区域擦除的情形:如图5b中所示,在图像中随机确定出两块区域(图中示意的两个矩形块),将像素值设置为白色。
在图5c中示意的是块扰动的情形:如图5c中所示,将图像切割为多块,并打乱这多个图像块的位置。
如上文所述,将第一训练样本图像和第二训练样本图像分别进行上述图像增强处理后,可以得到四份训练样本图像:第三训练样本图像、第四训练样本图像、第五训练样本图像以及第六训练样本图像。将这四份训练样本图像分别输入到学生模型中,将第四训练样本图像输入到教师模型中。这样可以获得学生模型输出的第三训练样本图像的第一瑕疵检测结果以及第四训练样本图像的第二瑕疵检测结果,以及获得教师模型输出的第四训练样本图像的第三瑕疵检测结果。
对于学生模型来说,除了针对第三训练样本图像和第四训练样本图像输出各自对应的瑕疵检测结果外,还针对输入的第四训练样本图像、第五训练样本图像以及第六训练样本图像,确定各自对应的多个尺度的特征图这个中间结果。
针对上述第三瑕疵检测结果,仍旧可以进行前述实施例中所介绍的可信性判断,以便确定第四训练样本图像对应的伪标签信息即所关联的瑕疵标注信息。实施过程参考上文所述,不再赘述。
这样,基于第三训练样本的第一瑕疵检测结果以及所关联的瑕疵标注信息,可以确定第一损失Ls,根据第四训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,可以确定第二损失Lu。
针对第四训练样本图像的多个尺度的特征图,以及第五训练样本图像的多个尺度的特征图,可以分别确定各相同尺度的特征图之间的相似度损失,将多个尺度对应的多个相似度损失的加和结果,确定为第三损失Lpatch。
类似地,针对第五训练样本图像的多个尺度的特征图,以及第六训练样本图像的多个尺度的特征图,可以分别确定各相同尺度的特征图之间的相似度损失,将多个尺度对应的多个相似度损失的加和结果,确定为第四损失Lsacle。
基于上述四个损失,可以得到总损失:L=Ls+αLu+Lpatch+Lsacle,其中,α为预设的加权系数。根据所述总损失调整学生模型即瑕疵检测模型的参数。
为便于理解,结合图6示意性说明上述第三损失和第四损失的计算。
在图6中,假设学生模型是由基础网络和多头输出网络(图中示意的是五头pv=1,pv =2,pv=3,pv=4,pv=5)构成的一个基于FCOS算法的模型结构。如图6中所示,将第四训练样本图像、第五训练样本图像和第六训练样本图像分别输入到学生模型,学生模型可以输出图中示意的三组特征图,分别对应于这三个输入图像,其中,每组特征图中包括五个不同尺度的特征图,图中以不同矩形框的大小来反映。
如图6中所示,由于第四训练样本图像与第五训练样本图像具有相同尺寸,因此,这两个训练样本图像对应的两组特征图中,特征图的尺度是一一对应的,相同一种尺度的特征图之间可以进行相似度损失的计算。比如可以采用结构相似性(StructuralSIMilarity,简称SSIM)等相似度计算方式。该相似度损失也可以是正则损失。基于图6中的示例,可以计算出第四训练样本图像与第五训练样本图像之间五种尺度的特征图之间对应的五个相似度损失,将这五个相似度损失加和在一起,得到两者特征图之间的总损失Lpatch。
在图6中,假设第五训练样本图像的尺寸是第六训练样本图像尺寸的两倍,比如第五训练样本图像的尺寸为720*720,则第六训练样本图像的尺寸为360*360,因此,这两个训练样本图像对应的两组特征图中,特征图的尺度不是一一对应的,而是相邻的,比如pv=2输出网络输出的第五训练样本图像对应的特征图与pv=1输出网络输出的第六训练样本图像对应的特征图是相同尺度。同样进行相同尺度的特征图之间相似度损失的计算。基于图6中的示例,可以计算出第五训练样本图像与第六训练样本图像之间四种尺度的特征图之间对应的四个相似度损失,将这四个相似度损失加和在一起,得到两者特征图之间的总损失Lsacle。
综上,基于对原始的第一训练样本图像、第二训练样本图像进行多种图像增强处理,并对第二训练样本图像增强后的多份样本图像引入了正则损失,可以实现对瑕疵检测模型的充分训练,使得训练出的瑕疵检测模型具有更好的瑕疵检测性能。
为便于理解图4所示实施例的模型训练过程,可参考图7所示实施例来理解。
图8为本发明实施例提供的一种图像检测模型训练方法的流程图,如图8所示,该方法包括如下步骤:
801、获取第一训练样本图像和第二训练样本图像,第一训练样本图像关联有目标检测标注信息,第二训练样本图像未关联有目标检测标注信息。
802、将第一训练样本图像和第二训练样本图像分别输入作为学生模型的图像检测模型中,以得到第一训练样本图像的第一目标检测结果和第二训练样本图像的第二目标检测结果。
803、将第二训练样本图像输入到与学生模型对应的教师模型中,以得到第二训练样本图像的第三目标检测结果,第三目标检测结果指示了目标对象位置和目标对象类别的预测分数。
804、若所述预测分数大于设定的目标对象类别对应的可信阈值,则确定第三目标检测结果可信,将第三目标检测结果中指示的目标对象位置和目标对象类别作为第二训练样本图像关联的目标检测标注信息,以根据第一训练样本图像的第一目标检测结果及所关联的目标检测标注信息、第二训练样本图像的第二目标检测结果及所关联的目标检测标注信息,训练图像检测模型。
本发明实施例提供的模型训练方法用于训练一个可以实现目标检测任务的图像检测模型。目标检测任务,是图像识别领域中的一种常见任务。前述实施例中所述的瑕疵检测任务也是一种特定的目标检测任务。本实施例中所说的目标检测任务是指用于检测输入图像中存在的设定的目标对象的任务,该目标对象包括但不限于:瑕疵、人、物体(比如车、建筑等)、动物,等等。
针对目标检测任务来说,上述目标检测标注信息实际上可以包括训练样本图像中所包含的目标对象的类别和位置信息,与前述实施例中针对瑕疵检测任务来说,瑕疵标注信息中包括瑕疵的类别和位置信息类似。基于此,本实施例中对图像检测模型的训练过程可以参考前述实施例中对瑕疵检测模型的训练过程来执行。同理,前述实施例中关于对训练样本图像的各种图像增强处理、损失函数的计算以及模型参数的更新方案,均适用于本实施例中的图像检测模型的训练过程,在此不展开赘述。
以下将详细描述本发明的一个或多个实施例的瑕疵检测模型训练装置。本领域技术人员可以理解,这些装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图9为本发明实施例提供的一种瑕疵检测模型训练装置的结构示意图,如图9所示,该装置包括:获取模块11、训练模块12。
获取模块11,用于获取第一训练样本图像和第二训练样本图像,所述第一训练样本图像关联有瑕疵标注信息,所述第二训练样本图像未关联有瑕疵标注信息。
训练模块12,用于将所述第一训练样本图像和所述第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到所述第一训练样本图像的第一瑕疵检测结果和所述第二训练样本图像的第二瑕疵检测结果;将所述第二训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第二训练样本图像的第三瑕疵检测结果,所述第三瑕疵检测结果指示了瑕疵位置和目标瑕疵类别的预测分数;若所述预测分数大于设定的所述目标瑕疵类别对应的可信阈值,则确定所述第三瑕疵检测结果可信;将所述第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为所述第二训练样本图像关联的瑕疵标注信息,以根据所述第一瑕疵检测结果、所述第二瑕疵检测结果、所述第一训练样本图像关联的瑕疵标注信息以及所述第二训练样本图像关联的瑕疵标注信息,训练所述瑕疵检测模型。
其中,所述第二训练样本图像是由均未关联有瑕疵标注信息的多个训练样本图像构成的样本集中的任一个。所述装置还包括:阈值确定模块,用于通过所述教师模型获取所述多个训练样本图像对应的多个瑕疵检测结果;确定所述多个瑕疵检测结果中所述目标瑕疵类别分别对应的预测分数,以及所述多个瑕疵检测结果中出现所述目标瑕疵类别的数量;根据所述多个瑕疵检测结果中所述目标瑕疵类别分别对应的预测分数,以及所述多个瑕疵检测结果中出现所述目标瑕疵类别的数量,确定所述目标瑕疵类别对应的所述可信阈值。
其中,所述第一训练样本图像是由均关联有瑕疵标注信息的多个训练样本图像构成的样本集中的任一个,所述瑕疵标注信息中包括瑕疵类别和瑕疵位置。确定所述第三瑕疵检测结果可信的过程中,所述训练模块12还用于:若所述预测分数大于设定的所述目标瑕疵类别对应的可信阈值,则根据所述目标瑕疵类别在所述第二训练样本图像中对应的瑕疵位置,从所述第二训练样本图像中截取出对应的第一瑕疵区域图像;将所述第一瑕疵区域图像输入到预设的特征提取模型,以得到第一特征向量;获取所述样本集中与所述目标瑕疵类别对应的至少一个训练样本图像;根据所述目标瑕疵类别在所述至少一个训练样本图像中分别对应的瑕疵位置,分别从所述至少一个训练样本图像中截取出对应的至少一个第二瑕疵区域图像;将所述至少一个第二瑕疵区域图像分别输入到所述特征提取模型,以得到至少一个第二特征向量;根据所述至少一个第二特征向量确定目标第二特征向量;若所述第一特征向量与所述目标第二特征向量的相似度大于设定阈值,则确定所述第三瑕疵检测结果可信。
训练所述瑕疵检测模型的过程中,所述训练模块12具体用于:根据所述第一瑕疵检测结果和所述第一训练样本图像关联的瑕疵标注信息,确定第一损失;根据所述第二瑕疵检测结果和所述第二训练样本图像关联的瑕疵标注信息,确定第二损失;根据所述第一损失和所述第二损失确定总损失,以根据所述总损失调整所述瑕疵检测模型的参数。
可选地,所述装置还包括:参数更新模块,用于根据所述瑕疵检测模型的参数,更新所述教师模型的参数。
可选地,所述装置还包括:第一图像增强模块,用于对所述第一训练样本图像和所述第二训练样本图像分别进行弱图像增强处理,将增强处理后的第一训练样本图像和增强处理后的第二训练样本图像分别输入作为学生模型的瑕疵检测模型中。
可选地,所述装置还包括:第二图像增强模块,用于对所述第一训练样本图像进行弱图像增强处理,以得到第三训练样本图像,所述第三训练样本图像关联有所述第一训练样本图像所关联的瑕疵标注信息;对所述第二训练样本图像进行弱图像增强处理,以得到第四训练样本图像;对所述第二训练样本图像进行强图像增强处理和/或块扰动处理,以得到第五训练样本图像;对所述第五训练样本图像进行下采样处理,以得到第六训练样本图像。
基于此,可选地,所述训练模块12具体用于:将所述第三训练样本图像、所述第四训练样本图像、所述第五训练样本图像以及所述第六训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到所述第三训练样本图像的第一瑕疵检测结果,所述第四训练样本图像的第二瑕疵检测结果,所述第四训练样本图像的多个尺度的特征图,所述第五训练样本图像的多个尺度的特征图以及所述第六训练样本图像的多个尺度的特征图;将所述第四训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第四训练样本图像的第三瑕疵检测结果;将所述第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为所述第四训练样本图像关联的瑕疵标注信息,以根据所述第三训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息、所述第四训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,以及所述第四训练样本图像的多个尺度的特征图,所述第五训练样本图像的多个尺度的特征图和所述第六训练样本图像的多个尺度的特征图,训练所述瑕疵检测模型。
其中,可选地,所述训练模块12具体用于:根据所述第三训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息,确定第一损失;根据所述第四训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,确定第二损失;对于所述第四训练样本图像和所述第五训练样本图像各自对应的多个尺度的特征图,确定各相同尺度的特征图之间的相似度损失的加和结果,作为第三损失;对于所述第五训练样本图像和所述第六训练样本图像各自对应的多个尺度的特征图,确定各相同尺度的特征图之间的相似度损失的加和结果,作为第四损失;根据所述第一损失、所述第二损失、所述第三损失和所述第四损失确定总损失,以根据所述总损失调整所述瑕疵检测模型的参数。
可选地,所述装置还包括:检测模块,用于获取待检测产品图像;将所述待检测产品图像输入到所述瑕疵检测模型中,以得到所述瑕疵检测模型输出的瑕疵检测结果。
图9所示装置可以执行前述实施例中提供的步骤,详细的执行过程和技术效果参见前述实施例中的描述,在此不再赘述。
在一个可能的设计中,上述图9所示瑕疵检测模型训练装置的结构可实现为一电子设备。如图10所示,该电子设备可以包括:处理器21、存储器22、通信接口23。其中,存储器22上存储有可执行代码,当所述可执行代码被处理器21执行时,使处理器21至少可以实现如前述实施例中提供的瑕疵检测模型训练方法。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现如前述实施例中提供的瑕疵检测模型训练方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的网元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (14)

1.一种瑕疵检测模型训练方法,其特征在于,包括:
获取第一训练样本图像和第二训练样本图像,所述第一训练样本图像关联有瑕疵标注信息,所述第二训练样本图像未关联有瑕疵标注信息;
将所述第一训练样本图像和所述第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到所述第一训练样本图像的第一瑕疵检测结果和所述第二训练样本图像的第二瑕疵检测结果;
将所述第二训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第二训练样本图像的第三瑕疵检测结果,所述第三瑕疵检测结果指示了瑕疵位置和目标瑕疵类别的预测分数;
若所述预测分数大于设定的所述目标瑕疵类别对应的可信阈值,则确定所述第三瑕疵检测结果可信;
将所述第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为所述第二训练样本图像关联的瑕疵标注信息,以根据所述第一瑕疵检测结果、所述第二瑕疵检测结果、所述第一训练样本图像关联的瑕疵标注信息以及所述第二训练样本图像关联的瑕疵标注信息,训练所述瑕疵检测模型。
2.根据权利要求1所述的方法,其特征在于,所述第二训练样本图像是由均未关联有瑕疵标注信息的多个训练样本图像构成的样本集中的任一个;
所述方法还包括:
通过所述教师模型获取所述多个训练样本图像对应的多个瑕疵检测结果;
确定所述多个瑕疵检测结果中所述目标瑕疵类别分别对应的预测分数,以及所述多个瑕疵检测结果中出现所述目标瑕疵类别的数量;
根据所述多个瑕疵检测结果中所述目标瑕疵类别分别对应的预测分数,以及所述多个瑕疵检测结果中出现所述目标瑕疵类别的数量,确定所述目标瑕疵类别对应的所述可信阈值。
3.根据权利要求1所述的方法,其特征在于,所述第一训练样本图像是由均关联有瑕疵标注信息的多个训练样本图像构成的样本集中的任一个,所述瑕疵标注信息中包括瑕疵类别和瑕疵位置;
所述若所述预测分数大于设定的所述目标瑕疵类别对应的可信阈值,则确定所述第三瑕疵检测结果可信,包括:
若所述预测分数大于设定的所述目标瑕疵类别对应的可信阈值,则根据所述目标瑕疵类别在所述第二训练样本图像中对应的瑕疵位置,从所述第二训练样本图像中截取出对应的第一瑕疵区域图像;
将所述第一瑕疵区域图像输入到预设的特征提取模型,以得到第一特征向量;
获取所述样本集中与所述目标瑕疵类别对应的至少一个训练样本图像;
根据所述目标瑕疵类别在所述至少一个训练样本图像中分别对应的瑕疵位置,分别从所述至少一个训练样本图像中截取出对应的至少一个第二瑕疵区域图像;
将所述至少一个第二瑕疵区域图像分别输入到所述特征提取模型,以得到至少一个第二特征向量;
根据所述至少一个第二特征向量确定目标第二特征向量;
若所述第一特征向量与所述目标第二特征向量的相似度大于设定阈值,则确定所述第三瑕疵检测结果可信。
4.根据权利要求1所述的方法,其特征在于,所述根据所述第一瑕疵检测结果、所述第二瑕疵检测结果、所述第一训练样本图像关联的瑕疵标注信息以及所述第二训练样本图像关联的瑕疵标注信息,训练所述瑕疵检测模型,包括:
根据所述第一瑕疵检测结果和所述第一训练样本图像关联的瑕疵标注信息,确定第一损失;
根据所述第二瑕疵检测结果和所述第二训练样本图像关联的瑕疵标注信息,确定第二损失;
根据所述第一损失和所述第二损失确定总损失,以根据所述总损失调整所述瑕疵检测模型的参数。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述瑕疵检测模型的参数,更新所述教师模型的参数。
6.根据权利要求1所述的方法,其特征在于,所述将所述第一训练样本图像和所述第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,包括:
对所述第一训练样本图像和所述第二训练样本图像分别进行弱图像增强处理,将增强处理后的第一训练样本图像和增强处理后的第二训练样本图像分别输入作为学生模型的瑕疵检测模型中。
7.根据权利要求1所述的方法,其特征在于,所述将所述第一训练样本图像和所述第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到所述第一训练样本图像的第一瑕疵检测结果和所述第二训练样本图像的第二瑕疵检测结果,包括:
对所述第一训练样本图像进行弱图像增强处理,以得到第三训练样本图像,所述第三训练样本图像关联有所述第一训练样本图像所关联的瑕疵标注信息;
对所述第二训练样本图像进行弱图像增强处理,以得到第四训练样本图像;
对所述第二训练样本图像进行强图像增强处理和/或块扰动处理,以得到第五训练样本图像;
对所述第五训练样本图像进行下采样处理,以得到第六训练样本图像;
将所述第三训练样本图像、所述第四训练样本图像、所述第五训练样本图像以及所述第六训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到所述第三训练样本图像的第一瑕疵检测结果,所述第四训练样本图像的第二瑕疵检测结果,所述第四训练样本图像的多个尺度的特征图,所述第五训练样本图像的多个尺度的特征图以及所述第六训练样本图像的多个尺度的特征图。
8.根据权利要求7所述的方法,其特征在于,所述将所述第二训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第二训练样本图像的第三瑕疵检测结果,包括:
将所述第四训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第四训练样本图像的第三瑕疵检测结果;
所述将所述第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为所述第二训练样本图像关联的瑕疵标注信息,以根据所述第一瑕疵检测结果、所述第二瑕疵检测结果、所述第一训练样本图像关联的瑕疵标注信息以及所述第二训练样本图像关联的瑕疵标注信息,训练所述瑕疵检测模型,包括:
将所述第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为所述第四训练样本图像关联的瑕疵标注信息,以根据所述第三训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息、所述第四训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,以及所述第四训练样本图像的多个尺度的特征图,所述第五训练样本图像的多个尺度的特征图和所述第六训练样本图像的多个尺度的特征图,训练所述瑕疵检测模型。
9.根据权利要求8所述的方法,其特征在于,所述根据所述第三训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息、所述第四训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,以及所述第四训练样本图像的多个尺度的特征图,所述第五训练样本图像的多个尺度的特征图和所述第六训练样本图像的多个尺度的特征图,训练所述瑕疵检测模型,包括:
根据所述第三训练样本图像的第一瑕疵检测结果和所关联的瑕疵标注信息,确定第一损失;
根据所述第四训练样本图像的第二瑕疵检测结果和所关联的瑕疵标注信息,确定第二损失;
对于所述第四训练样本图像和所述第五训练样本图像各自对应的多个尺度的特征图,确定各相同尺度的特征图之间的相似度损失的加和结果,作为第三损失;
对于所述第五训练样本图像和所述第六训练样本图像各自对应的多个尺度的特征图,确定各相同尺度的特征图之间的相似度损失的加和结果,作为第四损失;
根据所述第一损失、所述第二损失、所述第三损失和所述第四损失确定总损失,以根据所述总损失调整所述瑕疵检测模型的参数。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述方法还包括:
获取待检测产品图像;
将所述待检测产品图像输入到所述瑕疵检测模型中,以得到所述瑕疵检测模型输出的瑕疵检测结果。
11.一种瑕疵检测模型训练装置,其特征在于,包括:
获取模块,用于获取第一训练样本图像和第二训练样本图像,所述第一训练样本图像关联有瑕疵标注信息,所述第二训练样本图像未关联有瑕疵标注信息;
训练模块,用于将所述第一训练样本图像和所述第二训练样本图像分别输入作为学生模型的瑕疵检测模型中,以得到所述第一训练样本图像的第一瑕疵检测结果和所述第二训练样本图像的第二瑕疵检测结果;将所述第二训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第二训练样本图像的第三瑕疵检测结果,所述第三瑕疵检测结果指示了瑕疵位置和目标瑕疵类别的预测分数;若所述预测分数大于设定的所述目标瑕疵类别对应的可信阈值,则确定所述第三瑕疵检测结果可信;将所述第三瑕疵检测结果中指示的瑕疵位置和目标瑕疵类别作为所述第二训练样本图像关联的瑕疵标注信息,以根据所述第一瑕疵检测结果、所述第二瑕疵检测结果、所述第一训练样本图像关联的瑕疵标注信息以及所述第二训练样本图像关联的瑕疵标注信息,训练所述瑕疵检测模型。
12.一种电子设备,其特征在于,包括:存储器、处理器、通信接口;其中,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1至10中任一项所述的瑕疵检测模型训练方法。
13.一种非暂时性机器可读存储介质,其特征在于,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1至10中任一项所述的瑕疵检测模型训练方法。
14.一种图像检测模型训练方法,其特征在于,包括:
获取第一训练样本图像和第二训练样本图像,所述第一训练样本图像关联有目标检测标注信息,所述第二训练样本图像未关联有目标检测标注信息;
将所述第一训练样本图像和所述第二训练样本图像分别输入作为学生模型的图像检测模型中,以得到所述第一训练样本图像的第一目标检测结果和所述第二训练样本图像的第二目标检测结果;
将所述第二训练样本图像输入到与所述学生模型对应的教师模型中,以得到所述第二训练样本图像的第三目标检测结果,所述第三目标检测结果指示了目标对象位置和目标对象类别的预测分数;
若所述预测分数大于设定的所述目标对象类别对应的可信阈值,则确定所述第三目标检测结果可信;
将所述第三目标检测结果中指示的目标对象位置和目标对象类别作为所述第二训练样本图像关联的目标检测标注信息,以根据所述第一训练样本图像的第一目标检测结果及所关联的目标检测标注信息、所述第二训练样本图像的第二目标检测结果及所关联的目标检测标注信息,训练所述图像检测模型。
CN202210383826.5A 2022-04-12 2022-04-12 瑕疵检测模型训练方法、装置、设备和存储介质 Pending CN114862764A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210383826.5A CN114862764A (zh) 2022-04-12 2022-04-12 瑕疵检测模型训练方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210383826.5A CN114862764A (zh) 2022-04-12 2022-04-12 瑕疵检测模型训练方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN114862764A true CN114862764A (zh) 2022-08-05

Family

ID=82630767

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210383826.5A Pending CN114862764A (zh) 2022-04-12 2022-04-12 瑕疵检测模型训练方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN114862764A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115527083A (zh) * 2022-09-27 2022-12-27 中电金信软件有限公司 图像标注方法、装置和电子设备
CN116309245A (zh) * 2022-09-07 2023-06-23 南京江源测绘有限公司 基于深度学习的地下排水管道缺陷智能检测方法与系统
CN116563642A (zh) * 2023-05-30 2023-08-08 智慧眼科技股份有限公司 图像分类模型可信训练及图像分类方法、装置、设备
CN117132600A (zh) * 2023-10-26 2023-11-28 广东岚瑞新材料科技集团有限公司 基于图像的注塑制品质量检测系统及其方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116309245A (zh) * 2022-09-07 2023-06-23 南京江源测绘有限公司 基于深度学习的地下排水管道缺陷智能检测方法与系统
CN116309245B (zh) * 2022-09-07 2024-01-19 南京唐壹信息科技有限公司 基于深度学习的地下排水管道缺陷智能检测方法与系统
CN115527083A (zh) * 2022-09-27 2022-12-27 中电金信软件有限公司 图像标注方法、装置和电子设备
CN116563642A (zh) * 2023-05-30 2023-08-08 智慧眼科技股份有限公司 图像分类模型可信训练及图像分类方法、装置、设备
CN116563642B (zh) * 2023-05-30 2024-02-27 智慧眼科技股份有限公司 图像分类模型可信训练及图像分类方法、装置、设备
CN117132600A (zh) * 2023-10-26 2023-11-28 广东岚瑞新材料科技集团有限公司 基于图像的注塑制品质量检测系统及其方法
CN117132600B (zh) * 2023-10-26 2024-04-16 广东岚瑞新材料科技集团有限公司 基于图像的注塑制品质量检测系统及其方法

Similar Documents

Publication Publication Date Title
CN114862764A (zh) 瑕疵检测模型训练方法、装置、设备和存储介质
CN108229489B (zh) 关键点预测、网络训练、图像处理方法、装置及电子设备
CN111553397B (zh) 基于区域全卷积网络和自适应的跨域目标检测方法
CN110910391B (zh) 一种双模块神经网络结构视频对象分割方法
WO2020046213A1 (en) A method and apparatus for training a neural network to identify cracks
CN110334703B (zh) 一种昼夜图像中的船舶检测和识别方法
CN111598182A (zh) 训练神经网络及图像识别的方法、装置、设备及介质
CN114742799B (zh) 基于自监督异构网络的工业场景未知类型缺陷分割方法
CN111598928B (zh) 一种基于具有语义评估和区域建议的突变运动目标跟踪方法
CN114399644A (zh) 一种基于小样本目标检测方法及装置
CN110599453A (zh) 一种基于图像融合的面板缺陷检测方法、装置及设备终端
CN114331949A (zh) 一种图像数据处理方法、计算机设备以及可读存储介质
CN111626090A (zh) 一种基于深度帧差卷积神经网络的运动目标检测方法
CN116670687A (zh) 用于调整训练后的物体检测模型以适应域偏移的方法和系统
Krešo et al. Robust semantic segmentation with ladder-densenet models
CN117115412A (zh) 一种基于加权得分标签分配的小目标检测方法
Jeeveswaran et al. A comprehensive study of vision transformers on dense prediction tasks
CN115147418A (zh) 缺陷检测模型的压缩训练方法和装置
CN107316030A (zh) 无人机对地面运动车辆自动检测与分类方法
CN109242882B (zh) 视觉跟踪方法、装置、介质及设备
CN112884752B (zh) 用于不平衡高分辨率遥感影像的在线持续目标检测方法
CN111402185A (zh) 一种图像检测方法及装置
CN112837281A (zh) 基于级联卷积神经网络的销钉缺陷识别方法、装置和设备
CN117218633A (zh) 一种物品检测方法、装置、设备及存储介质
CN115937205A (zh) 表面缺陷瓷砖图像生成方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination