首页 / 模型训练方法、图像生成方法、装置、电子设备及介质

模型训练方法、图像生成方法、装置、电子设备及介质实质审查 发明

技术领域

[0001] 本公开涉及计算机技术领域,具体而言,涉及模型训练方法、图像生成方法、装置、电子设备及介质。

相关背景技术

[0002] 随着技术的发展,模型在多个领域有着广泛的应用,例如在工业质检场景中,对产品进行拍照后,可以利用异常图像检测模型对产品的照片进行检测。
[0003] 在异常图像检测模型训练阶段,需要利用大量的正常图像样本以及大量的异常图像样本对模型进行训练。然而,在收集的图像样本中,大部分为正常的图像样本,有缺陷的图像样本只占少部分,在异常图像样本的数量较少的情况下,无法训练得到功能准确的异常图像检测模型,因此如何得到大量的异常图像样本是值得关注的问题。

具体实施方式

[0023] 为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0024] 随着技术的发展,模型在多个领域有着广泛的应用,例如在工业质检场景中,对产品进行拍照后,可以利用异常图像检测模型对产品的照片进行检测。
[0025] 经研究发现,在异常图像检测模型训练阶段,需要利用大量的正常图像样本以及大量的异常图像样本对模型进行训练。然而,在收集的图像样本中,大部分为正常的图像样本,有缺陷的图像样本只占少部分,在异常图像样本的数量较少的情况下,训练得到的异常图像检测模型无法准确检测出图像中的异常。另外,目前生成异常图像样本的方法中,通常是直接将异常类型(标签)作为引导条件输入至模型中,生成异常图像,这样导致生成的异常图像的异常位置与输入的异常图像的异常位置一致,缺少多样性与可控性,因此如何得到大量、多样的异常图像样本是值得关注的问题。
[0026] 基于此,本公开提供了一种模型训练方法,通过利用异常图像样本、以及对异常图像样本标注的异常位置特征和异常类型特征,对扩散模型进行训练,能够使得扩散模型学习到异常像素信息的异常类型表示和异常位置表示,因此在利用训练好的扩散模型生成异常图像时,可以在指定的异常位置生成指定异常类型的异常图像,从而实现异常图像的多样性和可控性;另外,本公开通过少量的异常图像样本,即可批量生成异常图像,从而可以快速增加异常图像样本的数量。
[0027] 针对以上方案所存在的缺陷以及所提出的解决方案,均是发明人在经过实践并仔细研究后得出的结果,因此,上述问题的发现过程以及下文中本公开针对上述问题所提出的解决方案,都应该是发明人在本公开过程中对本公开做出的贡献。
[0028] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0029] 为便于对本实施例进行理解,首先对本公开实施例所公开的一种模型训练方法进行详细介绍,本公开实施例所提供的模型训练方法的执行主体一般为具有一定计算能力的电子设备。
[0030] 参见图1所示,为本公开实施例提供的一种模型训练方法的流程示意图,所述方法包括S101 S104,其中:~
S101:获取异常图像样本以及所述异常图像样本对应的标注异常位置特征和异常类型特征;所述标注异常位置特征用于表示所述异常图像样本中存在异常像素信息的异常位置;所述异常类型特征用于表示所述异常像素信息的异常类型。
[0031] S102:在所述异常图像样本中添加原始噪声,得到第一噪声图像。
[0032] S103:将所述第一噪声图像、所述标注异常位置特征和所述异常类型特征输入至待训练的扩散模型中,得到位于所述异常位置处的预测噪声。
[0033] S104:基于所述预测噪声和所述原始噪声,对所述待训练的扩散模型进行调整,直至得到训练好的扩散模型;所述训练好的扩散模型能够针对输入的正常图像输出预测噪声,所述预测噪声用于生成异常图像。
[0034] 在本公开实施例中,可以预先收集一些异常图像样本。为了提高扩散模型的预测准确性,在一种实施方式中,可以通过数据增强的方式,增加异常图像样本的数量。其中,数据增强的方式可以包括但不限于对异常图像样本进行拼接、变形、剪切、改变颜色等。
[0035] 可以采用对异常图像样本进行标注的方式,得到异常图像样本的标注异常位置信息和异常类型信息。
[0036] 其中,标注异常位置信息可以表示异常图像样本中存在异常像素信息的异常位置。异常类型信息可以表示异常像素信息的异常类型(也可以成为异常标签),例如裂缝、缺口、字迹缺失等。
[0037] 标注异常位置信息可以采用掩码二值图的形式表示。异常类型信息可以采用文本的形式表示。
[0038] 图2为本公开实施例提供的另一种模型训练方法的流程示意图。
[0039] 如图2所示,在得到标注异常位置信息之后,可以利用异常位置编码器对标注异常位置信息进行编码,得到标注异常位置特征。在一种实施方式中,异常位置编码器可以为卷积神经网络(Convolutional Neural Networks,CNN),异常位置编码器的结构可以包括骨干网络:残差网络(Residual Network,ResNet)、特征金字塔网络(Feature Pyramid Networks,FPN)和投射层:多层感知机(Multilayer Perceptron,MLP)。将掩码二值图形式的标注异常位置信息输入至异常位置编码器中,经过ResNet骨干网络和FPN特征金字塔网络的特征提取,可以得到异常位置特征图。该异常位置特征图经过MLP投射层的投射后,可以转换为一维向量作为异常位置表示编码,即标注异常位置特征。得到的标注异常位置特征可以表示异常图像样本中存在异常像素信息的异常位置。
[0040] 在得到异常类型信息之后,可以利用异常类型编码器对异常类型信息进行编码,得到异常类型表示编码。即异常类型特征。在一种实施方式中,异常类型编码器可以为基于变压器编码器(transformer encoder)的文本编码器,可以将以文本形式表示的异常类型信息输入至异常类型编码器中,转换为词嵌入向量。在具体实施中,可以使用一个对比语言‑图像预训练(Contrastive Language‑Image Pretraining,CLIP)编码器。在训练阶段,可以将CLIP编码器中除了输入嵌入(embedding)转换层以外的其他层参数全部冻结。基于文本反转(textual inversion)技术,训练得到异常类型的嵌入表示。得到的词嵌入向量可以作为异常类型表示编码,即异常类型特征。异常类型特征可以用于表示异常图像样本中存在的异常像素信息的异常类型。
[0041] 在本公开实施例中,可以通过设计合适的网络通道数,使异常类型表示编码与异常位置表示编码的网络通道数一致,比如设置网络通道数为128。
[0042] 在异常图像样本中添加的原始噪声可以为随机噪声,在一种实施方式中,原始噪声可以为高斯噪声。
[0043] 待训练的扩散模型可以是经过预训练的扩散模型。预训练的扩散模型可以是利用采集的正常图像样本训练得到的潜在扩散(Latent Diffusion)模型,也可以是基于通用开放图像集训练得到的模型。
[0044] 在一种实施方式中,将所述第一噪声图像、所述标注异常位置特征和所述异常类型特征输入至待训练的扩散模型中,得到位于所述异常位置处的预测噪声,可以包括:将所述标注异常位置特征和所述异常类型特征进行拼接,得到第一异常特征;将所述第一噪声图像和所述第一异常特征输入至待训练的扩散模型中,得到位于所述异常位置处的预测噪声。
[0045] 在上述实施方式中,可以将标注异常位置表示编码与异常类型表示编码拼接起来,得到异常特征表示编码,即第一异常特征。
[0046] 利用图像编码器对第一噪声图像进行编码得到的图像表示编码,即第一噪声图像对应的图像特征。
[0047] 异常特征表示编码(即第一异常特征)可以作为条件引导,和对第一噪声图像进行编码得到的图像表示编码(即第一噪声图像对应的图像特征)一起输入至待训练的扩散模型中。第一异常特征与图像特征在扩散模型中进行交叉注意力计算后,扩散模型可以输出位于异常位置处的预测噪声。
[0048] 基于预测噪声和原始噪声,可以得到损失函数值。基于异常位置特征,实现的是对异常图像样本的局部掩码,因此这里得到的损失函数值为局部损失函数值。根据该局部损失函数值,可以对待训练的扩散模型进行调整,直至得到训练好的扩散模型。
[0049] 为了使得扩散模型学习到更多形状的异常位置,可以利用正常图像样本和异常图像样本共同对扩散模型进行训练。
[0050] 在一种实施方式中,将所述第一噪声图像、所述标注异常位置特征和所述异常类型特征输入至待训练的图像生成模型中,得到位于所述异常位置处的预测噪声之前,所述方法还包括:获取正常图像样本和随机设置的异常位置特征;在所述正常图像样本中添加所述原始噪声,得到第二噪声图像。
[0051] 将所述第一噪声图像、所述标注异常位置特征和所述异常类型特征输入至待训练的扩散模型中,得到位于所述异常位置处的预测噪声,可以包括:将所述第一噪声图像、所述第二噪声图像、所述随机设置的异常位置特征、所述标注异常位置特征和所述异常类型特征输入至待训练的扩散模型中,得到位于所述异常位置处的预测噪声。
[0052] 这里,可以随机设置异常位置信息(异常位置掩码),设置异常类型信息为空字符串。通过随机设置异常位置信息,可以使得扩散模型在训练阶段学习到更多形状的异常位置掩码。
[0053] 图3为本公开实施例提供的又一种模型训练方法的流程示意图。图3示出了使用正常图像样本和异常图像样本共同对扩散模型进行训练的过程。
[0054] 如图3所示,将随机设置的异常位置信息输入至异常位置编码器中进行编码,得到随机设置的异常位置表示编码,即随机设置的异常位置特征。
[0055] 在正常图像样本中添加原始噪声,得到第二噪声图像。
[0056] 在训练阶段时,可以将第一噪声图像、第二噪声图像、随机设置的异常位置特征、标注异常位置特征和异常类型特征输入至待训练的扩散模型中,得到位于异常位置处的预测噪声。
[0057] 在一种实施方式中,将所述第一噪声图像、所述第二噪声图像、所述随机设置的异常位置特征、所述标注异常位置特征和所述异常类型特征输入至待训练的扩散模型中,得到位于所述异常位置的预测噪声,可以包括:将所述标注异常位置特征和所述异常类型特征进行拼接,得到第二异常特征;将所述随机设置的异常位置特征和所述异常类型特征进行拼接,得到第三异常特征;将所述第一噪声图像、所述第二噪声图像、所述第二异常特征和所述第三异常特征输入至待训练的扩散模型中,得到位于所述异常位置的预测噪声。
[0058] 在上述实施方式中,设置的空字符串的异常类型信息与标注的异常类型信息输入至异常类型编码器中,得到异常类型表示编码,该异常类型表示编码与对标注的异常类型信息进行编码得到的异常类型表示编码可以是一样的。
[0059] 可以将标注异常位置表示编码与上述异常类型表示编码拼接起来,得到一种异常特征表示编码,即第二异常特征。将随机设置的异常位置表示编码与上述异常类型表示编码拼接起来,得到另一种异常特征表示编码,即第三异常特征。
[0060] 这里需要注意的是,标注异常位置特征和异常类型特征的拼接过程,与,随机设置的异常位置特征和异常类型特征的拼接过程,并不是同时发生的。针对训练样本包含正常图像样本和异常图像样本的情况,如果扩散模型在当前时刻接收到的是标注异常位置特征,则对标注异常位置特征和异常类型特征进行拼接;如果扩散模型在当前时刻接收到的是随机设置的异常位置特征,则对随机设置的异常位置特征和异常类型特征进行拼接。最终得到的异常特征中可以包含第二异常特征和第三异常特征这两种异常特征。
[0061] 利用图像编码器对第一噪声图像进行编码得到的图像表示编码,即第一噪声图像对应的图像特征。利用图像编码器对第二噪声图像进行编码得到的图像表示编码,即第二噪声图像对应的图像特征。
[0062] 前述的异常特征表示编码(即第二异常特征和第三异常特征)可以作为条件引导,和对第一噪声图像进行编码得到的图像表示编码(即第一噪声图像对应的图像特征)、以及对第二噪声图像进行编码得到的图像表示编码(即第二噪声图像对应的图像特征)一起输入至待训练的扩散模型中。
[0063] 基于预测噪声和原始噪声,可以得到损失函数值。基于损失函数值,可以对待训练的扩散模型进行调整,直至得到训练好的扩散模型。
[0064] 在一种实施方式中,基于所述预测噪声和所述原始噪声,对所述待训练的扩散模型进行调整,包括:基于所述预测噪声和所述原始噪声,确定损失函数值;基于所述损失函数值,更新所述扩散模型。
[0065] 基于预测噪声和原始噪声,可以得到损失函数值。基于异常位置特征,实现的是对异常图像样本的局部掩码,因此这里得到的损失函数值为局部损失函数值。根据该局部损失函数值,可以对待训练的扩散模型进行调整,直至得到训练好的扩散模型。
[0066] 在一种实施方式中,基于所述预测噪声和所述原始噪声,确定损失函数值,包括:确定所述预测噪声与所述原始噪声的均方差值,将所述均方差值作为所述损失函数值。
[0067] 利用上述损失函数值可以进行反向传播,从而实现对扩散模型的调整。
[0068] 在本公开实施例中,异常位置编码器和异常类型编码器可以与扩散模型联合训练。利用上述得到的损失函数值,可以对异常位置编码器和异常类型编码器的梯度进行更新,从而实现对异常位置编码器和异常类型编码器的训练。
[0069] 在应用阶段,利用训练好的扩散模型,可以根据随机输入的正常图像、异常位置特征和异常类型特征,得到在异常位置特征表示的异常位置处存在异常类型特征表示的异常类型下的异常像素信息的异常图像。具体过程可以参照本公开实施例提供的一种图像生成方法的步骤。本公开实施例所提供的图像生成方法的执行主体一般为具有一定计算能力的电子设备。
[0070] 参见图4所示,为本公开实施例提供的一种图像生成方法的流程示意图,所述方法包括S401 S402,其中:~
S401:获取正常图像,以及预设的异常位置特征和预设的异常类型特征。
[0071] S402:将所述正常图像、随机噪声、所述异常位置特征和所述异常类型特征输入至训练好的扩散模型中,得到位于异常位置特征表示的异常位置处的预测噪声,并基于所述预测噪声,得到异常图像;所述异常图像中、在所述异常位置特征表示的异常位置处存在所述异常类型特征表示的异常类型下的异常像素信息;所述扩散模型是采用上述模型训练方法训练得到。
[0072] 在本公开实施例中,可以获取预设的异常位置信息和预设的异常类型信息。预设的异常位置信息可以采用掩码二值图的方式表示。预设的异常类型信息可以采用文本的形式表示。这里,可以根据使用场景需求对异常位置信息和异常类型信息进行预设。在训练阶段,扩散模型学习到了各种异常位置、各种异常类型下的异常特征。因此在应用阶段,通过预设异常位置信息和异常类型,可以在预设异常位置生成预设异常类型的异常图像。
[0073] 图5为本公开实施例提供的另一种图像生成方法的流程示意图。图5示出了利用正常图像生成异常图像的过程。如图5所示,利用异常位置编码器对预设的异常位置特征进行编码,得到异常位置表示编码,即预设的异常位置特征。利用异常类型编码器对预设的异常类型特征进行编码,得到异常类型表示编码,即预设的异常类型特征。
[0074] 然后可以将异常位置表示编码(即异常位置特征)和异常类型表示编码(即异常类型特征)进行拼接,得到异常特征表示编码,即异常特征。
[0075] 利用图像编码器可以对正常图像进行编码得到图像表示编码,即正常图像对应的图像特征。
[0076] 将正常图像对应的图像特征、随机噪声和异常特征输入至按照前述方法训练得到的扩散模型中进行采样,得到异常图像。得到的异常图像中、在异常位置特征表示的异常位置处存在异常类型特征表示的异常类型下的异常像素信息。
[0077] 在本公开实施例中,可以设置采样的步数。在采样时,可以在每个时间步内对异常位置进行去噪处理,直至达到预设步数。具体地,在一种实施方式中,将所述正常图像、随机噪声、所述异常位置特征和所述异常类型特征输入至训练好的扩散模型中,得到位于异常位置特征表示的异常位置处的预测噪声,并基于所述预测噪声,得到异常图像,可以包括:在时间步T内,在所述正常图像中添加随机噪声,得到所述时间步T对应的噪声图像;将所述时间步T对应的噪声图像、所述异常位置特征和所述异常类型特征输入至训练好的扩散模型中,得到位于所述异常位置处的预测噪声;所述T为大于或等于1的正整数;基于所述预测噪声和所述异常位置,对所述时间步T对应的噪声图像进行去噪处理,得到所述时间步T对应的去噪图像;在时间步N内,在时间步N+1得到的去噪图像中、除所述异常位置特征表示的异常位置以外的区域添加随机噪声,得到所述时间步N对应的噪声图像;所述N为大于或等于0,且小于T的整数;将所述时间步N对应的噪声图像、所述异常位置特征和所述异常类型特征输入至训练好的扩散模型中,得到位于所述异常位置处的预测噪声;基于所述预测噪声和所述异常位置,对所述噪声图像进行去噪处理,得到所述时间步N对应的去噪图像,重复上述步骤直至达到时间步0,并将所述时间步0得到的去噪图像作为所述异常图像。
[0078] 在上述实施方式中,针对时间步T,可以在时间步T内,在正常图像中添加随机噪声,得到时间步T对应的噪声图像;将时间步T对应的噪声图像、异常位置特征和异常类型特征输入至训练好的扩散模型中,得到位于异常位置处的预测噪声。
[0079] 然后基于预测噪声,可以对时间步T对应的噪声图像中的异常位置处进行去噪处理,将时间步T对应的去噪图像中,除异常位置以外的区域仍然保持原始的像素信息,得到时间步T对应的去噪图像。
[0080] 从下一个时间步开始,针对当前的时间步(即时间步N,N为大于或等于0,且小于T的整数),在扩散模型中输入的是在上一个时间步(N+1)得到的第一去噪图像中、除异常位置以外的区域添加了随机噪声的噪声图像,异常位置特征以及异常类型特征,输出的是位于异常位置处的预测噪声。也就是,针对异常位置,每个时间步长内输入的是上一个时间步去噪后的像素信息,针对异常位置以外的区域,每个时间步输入的是在原始的正常图像中添加了随机噪声的像素信息。通过这种局部重绘掩码的方式,可以使得异常位置处实现条件引导生成,而在异常位置外的区域保持原始的像素信息不变。
[0081] 在得到位于异常位置处的预测噪声之后,可以对噪声图像的异常位置处进行去噪处理,异常位置以外的区域的像素信息仍然保持原始的像素信息,得到当前时间步对应的去噪图像。在当前时间步对应的去噪图像中,异常位置处的像素信息相对于上一个时间步对应的去噪图像中,异常位置处的像素信息的区别更大,而异常位置以外的区域的像素信息仍然保持原始的像素信息。经过多次的迭代,在时间步0得到的去噪图像中,在异常位置处可以出现异常类型下的异常像素信息。
[0082] 按照上述方法,可以得到预设数量的异常图像。
[0083] 在得到异常图像之后,可以对异常图像进行质量评估。在一种实施方式中,可以提取所述异常图像中,所述异常位置特征表示的异常位置处的异常类型特征;将提取的所述异常类型特征与所述预设的异常类型特征进行比较,得到相似度比较结果;在所述相似度比较结果小于设定阈值的情况下,保留所述异常图像。
[0084] 在上述实施方式中,可以将异常位置处的异常类型信息输入至异常类型编码器,得到异常类型特征对应的嵌入向量,将该嵌入向量与预设的异常类型特征对应的输入向量进行对比。在一种实施方式中,可以计算嵌入向量与输入向量的余弦距离,在余弦距离小于设定阈值的情况下,可以认为生成的异常图像符合要求,否则,可以丢弃该异常图像。
[0085] 按照上述图像生成方法得到的异常图像可以作为异常图像样本,与正常图像样本一起,对异常图像检测模型进行训练得到训练好的异常图像检测模型,从而可以实现对异常图像的检测。
[0086] 图6为本公开实施例提供的异常图像样本生成与应用的流程示意图。
[0087] 首先,可以收集尽可能多的正常图像样本和异常图像样本。
[0088] 对异常图像样本可以进行标注,得到标注的异常位置信息和异常类型信息。然后按照异常位置编码器和异常类型编码器,得到标注的异常位置特征和异常类型特征。
[0089] 然后,利用正常图像样本和异常图像样本、以及标注的异常位置特征和异常类型特征对待训练的扩散模型进行训练,得到训练好的扩散模型。训练过程可以参照前述的模型训练方法的过程,这里不再赘述。在具体实施中,可以采用正常图像样本加异常图像样本共同训练的方式,也可以单独采用异常图像样本训练的方式。
[0090] 将正常图像样本、随机或者按需设置(即预设)的异常位置特征和异常类型特征输入至训练好的扩散模型中,可以生成异常图像样本。生成异常图像样本的过程可以参照前述的图像生成方法的过程,这里不再赘述。
[0091] 然后,可以判断异常图像样本的数量是否达到设定阈值。这里,异常图像样本的数量可以是生成的异常图像样本的数量,也可以是生成的异常图像样本的数量加上收集的异常图像样本的数量。
[0092] 若未达到设定阈值,则继续生成异常图像样本。
[0093] 若达到设定阈值,则利用得到的异常图像样本与原始的正常图像样本,对异常图像检测模型进行训练。这里的异常图像样本可以仅包括生成的异常图像样本,也可以包括生成的异常图像样本和收集的异常图像样本。
[0094] 最后,利用训练好的异常图像检测模型可以执行相应的异常图像检测功能。
[0095] 本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
[0096] 基于同一发明构思,本公开实施例中还提供了与模型训练方法对应的模型训练装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述模型训练方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0097] 参照图7所示,为本公开实施例提供的一种模型训练装置的结构示意图,所述装置包括:第一获取模块701,用于获取异常图像样本以及所述异常图像样本对应的标注异常位置特征和异常类型特征;所述标注异常位置特征用于表示所述异常图像样本中存在异常像素信息的异常位置;所述异常类型特征用于表示所述异常像素信息的异常类型;
第一添加模块702,用于在所述异常图像样本中添加原始噪声,得到第一噪声图像;
输入模块703,用于将所述第一噪声图像、所述标注异常位置特征和所述异常类型特征输入至待训练的扩散模型中,得到位于所述异常位置处的预测噪声;
调整模块704,用于基于所述预测噪声和所述原始噪声,对所述待训练的扩散模型进行调整,直至得到训练好的扩散模型;所述训练好的扩散模型能够针对输入的正常图像输出预测噪声,所述预测噪声用于生成异常图像。
[0098] 在一种可选的实施方式中,输入模块703,具体用于:将所述标注异常位置特征和所述异常类型特征进行拼接,得到第一异常特征;
将所述第一噪声图像和所述第一异常特征输入至待训练的扩散模型中,得到位于所述异常位置处的预测噪声。
[0099] 在一种可选的实施方式中,在输入模块703执行将所述第一噪声图像、所述标注异常位置特征和所述异常类型特征输入至待训练的图像生成模型中,得到位于所述异常位置处的预测噪声的步骤之前,所述装置还包括:第二获取模块,用于获取正常图像样本和随机设置的异常位置特征;
第二添加模块,用于在所述正常图像样本中添加所述原始噪声,得到第二噪声图像;
输入模块703,具体用于:
将所述第一噪声图像、所述第二噪声图像、所述随机设置的异常位置特征、所述标注异常位置特征和所述异常类型特征输入至待训练的扩散模型中,得到位于所述异常位置处的预测噪声。
[0100] 在一种可选的实施方式中,输入模块703,具体用于:将所述标注异常位置特征和所述异常类型特征进行拼接,得到第二异常特征;
将所述随机设置的异常位置特征和所述异常类型特征进行拼接,得到第三异常特征;
将所述第一噪声图像、所述第二噪声图像、所述第二异常特征和所述第三异常特征输入至待训练的扩散模型中,得到位于所述异常位置的预测噪声。
[0101] 在一种可选的实施方式中,调整模块704,具体用于:基于所述预测噪声和所述原始噪声,确定损失函数值;
基于所述损失函数值,更新所述扩散模型。
[0102] 在一种可选的实施方式中,调整模块704,具体用于:确定所述预测噪声与所述原始噪声的均方差值,将所述均方差值作为所述损失函数值。
[0103] 基于同一发明构思,本公开实施例中还提供了与图像生成方法对应的图像生成装置,由于本公开实施例中的装置解决问题的原理与本公开实施例上述图像生成方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
[0104] 参照图8所示,为本公开实施例提供的一种图像生成装置的结构示意图,所述装置包括:获取模块801,用于获取正常图像,以及预设的异常位置特征和预设的异常类型特征;
输入模块802,用于将所述正常图像、随机噪声、所述异常位置特征和所述异常类型特征输入至训练好的扩散模型中,得到位于异常位置特征表示的异常位置处的预测噪声,并基于所述预测噪声,得到异常图像;所述异常图像中、在所述异常位置特征表示的异常位置处存在所述异常类型特征表示的异常类型下的异常像素信息;
所述扩散模型是采用前述模型训练方法训练得到。
[0105] 在一种可选的实施方式中,输入模块802,具体用于:在时间步T内,在所述正常图像中添加随机噪声,得到所述时间步T对应的噪声图像;将所述时间步T对应的噪声图像、所述异常位置特征和所述异常类型特征输入至训练好的扩散模型中,得到位于所述异常位置处的预测噪声;所述T为大于或等于1的正整数;
基于所述预测噪声和所述异常位置,对所述时间步T对应的噪声图像进行去噪处理,得到所述时间步T对应的去噪图像;
在时间步N内,在时间步N+1得到的去噪图像中、除所述异常位置特征表示的异常位置以外的区域添加随机噪声,得到所述时间步N对应的噪声图像;所述N为大于或等于0,且小于T的整数;
将所述时间步N对应的噪声图像、所述异常位置特征和所述异常类型特征输入至训练好的扩散模型中,得到位于所述异常位置处的预测噪声;
基于所述预测噪声和所述异常位置,对所述噪声图像进行去噪处理,得到所述时间步N对应的去噪图像,重复上述步骤直至达到时间步0,并将所述时间步0得到的去噪图像作为所述异常图像。
[0106] 在一种可选的实施方式中,所述装置还包括:提取模块,用于提取所述异常图像中,所述异常位置特征表示的异常位置处的异常类型特征;
比较模块,用于将提取的所述异常类型特征与所述预设的异常类型特征进行比较,得到相似度比较结果;
保留模块,用于在所述相似度比较结果小于设定阈值的情况下,保留所述异常图像。
[0107] 关于装置中的各模块的处理流程、以及各模块之间的交互流程的描述可以参照上述方法实施例中的相关说明,这里不再详述。
[0108] 基于同一技术构思,本公开实施例还提供了一种电子设备。参照图9所示,为本公开实施例提供的电子设备900的结构示意图,包括处理器901、存储器902、和总线903。其中,存储器902用于存储执行指令,包括内存9021和外部存储器9022;这里的内存9021也称内存储器,用于暂时存放处理器901中的运算数据,以及与硬盘等外部存储器9022交换的数据,处理器901通过内存9021与外部存储器9022进行数据交换,当电子设备900运行时,处理器901与存储器902之间通过总线903通信,使得处理器901在执行以下指令:
获取异常图像样本以及所述异常图像样本对应的标注异常位置特征和异常类型特征;所述标注异常位置特征用于表示所述异常图像样本中存在异常像素信息的异常位置;所述异常类型特征用于表示所述异常像素信息的异常类型;
在所述异常图像样本中添加原始噪声,得到第一噪声图像;
将所述第一噪声图像、所述标注异常位置特征和所述异常类型特征输入至待训练的扩散模型中,得到位于所述异常位置处的预测噪声;
基于所述预测噪声和所述原始噪声,对所述待训练的扩散模型进行调整,直至得到训练好的扩散模型;所述训练好的扩散模型能够针对输入的正常图像输出预测噪声,所述预测噪声用于生成异常图像。
[0109] 或者,处理器901通过内存9021与外部存储器9022进行数据交换,当电子设备900运行时,处理器901与存储器902之间通过总线903通信,使得处理器901在执行以下指令:获取正常图像,以及预设的异常位置特征和预设的异常类型特征;
将所述正常图像、随机噪声、所述异常位置特征和所述异常类型特征输入至训练好的扩散模型中,得到位于异常位置特征表示的异常位置处的预测噪声,并基于所述预测噪声,得到异常图像;所述异常图像中、在所述异常位置特征表示的异常位置处存在所述异常类型特征表示的异常类型下的异常像素信息;
所述扩散模型是采用如前述所述的模型训练方法训练得到。
[0110] 本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的模型训练方法的步骤或者图像生成方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
[0111] 本公开实施例还提供一种计算机程序产品,该计算机产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的模型训练方法的步骤或者图像生成方法的步骤,具体可参见上述方法实施例,在此不再赘述。
[0112] 其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
[0113] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0114] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0115] 另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0116] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read‑Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0117] 最后应说明的是:以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。

当前第1页 第1页 第2页 第3页
相关技术
方法图像相关技术
方法装置相关技术
张博发明人的其他相关专利技术