一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种使用对比学习和数据增强的单向图像转换方法

2022-06-05 13:27:54 来源:中国专利 TAG:


1.本发明涉及人工智能技术领域,特别涉及一种使用对比学习和数据增强的单向图像转换方法。


背景技术:

2.图像到图像的转换实质上是通过训练使模型学习一个图像领域到另一个领域之间的映射关系。目前主流的方法是使用生成对抗网络。保证输出呈现目标域的外观,同时保留特定输入的结构或内容。从根本上说,这是一个分离问题:将需要跨域保存的内容与必须更改的外观分离开来。通常情况下,目标外观使用对抗性损失进行强制,而内容则使用循环一致性进行保证。虽然有效,但循环一致性背后的基本双射假设有时过于严格。完美的重建是很难实现的,尤其是当一个域的图像与另一个域相比具有额外的信息时。
3.另一种方法是鼓励输入中存在的图像关系类似地反映在输出中。例如,输入图像中感知相似的图片在输出中应该相似。关于预定义的距离,输出和输入图像共享相似的内容,输入图像之间的向量算法是使用基于边距的三元组丢失进行的,输入图像之间的距离在输出图像中应一致,网络应与几何变换相同。其中,travelgan、distancegan和gcgan实现了单向转换并且避免了循环一致性。然而,它们依赖于整个图像之间的关系,或者通常依赖于预定义的距离函数。
4.传统的无监督学习试图学习一种能够有效重构输入的压缩代码。数据插补,即保留原始数据的一个子集以从另一个子集进行预测,已经成为一个更有效的相似任务家族,包括去噪、上下文预测、着色、多通道编码、帧预测和多感官预测。然而,这种方法存在同样的问题——需要预先指定、手工设计的损失函数来衡量预测性能。
5.同时在近些年来,尽管生成对抗网络在图像转换任务上展现出了巨大的成功。精心设计的对抗损失提供了有效的领域级监督,也使图像转换结果与真实样本不可区分。然而基于gan的图像转换方法严重依赖于大量的训练示例。例如,karras等人使用70k高质量的人脸图像来训练他们的模型。然而,收集大量图像数据可能会非常昂贵或不合理。这一问题凸显了在数据有限的情况下训练生成对抗网络的重要性。然而,减少训练数据量通常会导致严重的模型过度拟合。最近的研究结果表明,生成对抗网络在训练集上达到过拟合,从而在测试集中呈现出急剧下降的结果。基于自适应的方法使用外部数据集作为替代方案。即使数据有限,这些方法也可以防止判别器过度拟合,从而实现有效的对抗性监督。然而,由于模式泄露问题,这样为生成对抗网络增加数据也是不可行的。
6.因此,在现有图像转换技术的基础上,如何避免所构建的转换网络模型中存在循环一致性的强制约束以及感官相似性损失的设计,同时避免使用反向辅助生成器和判别器,对图像进行单向转换,成为本领域技术人员亟需解决的问题。


技术实现要素:

7.鉴于上述问题,本发明提出了一种至少解决上述部分技术问题的使用对比学习和
数据增强的单向图像转换方法,该方法可有效防止构建的转换网络模型判别器出现过度拟合的现象,且增大了网络的泛化能力,并且有效保证了样本之间的感知关系,有效提高了单向图像转换的效率。
8.本发明实施例提供一种使用对比学习和数据增强的单向图像转换方法,包括如下步骤:
9.s1、分别从源域和目标域获取用于单向图像转换的训练数据集,输入预先构建的转换网络模型中,基于特征插值对所述训练数据集进行数据增强;所述训练数据集包括:输入图像和输出图像;
10.s2、将数据增强后的所述训练数据集输入所述转换网络模型中进行训练,通过对比学习建立目标函数,生成训练好的转换网络模型;
11.s3、将待转换的图像输入所述训练好的转换网络模型中,输出转换好的图像。
12.进一步地,所述步骤s1中,基于特征插值对所述训练数据集进行数据增强,包括:
13.s11、将所述训练数据集在特征层面上进行插值,所述插值的数据为:
14.e

=λ
·
e1 (1-λ)
·
e215.上式中,e’表示所述插值的数据;λ表示插值权重,λ∈[0,1];e1和e2表示两个特征向量,通过将x1和x2输入所述转换网络模型中的编码器获得,所述x1和x2表示所述源域中的两个随机样本;
[0016]
s12、根据约束限制,将所述插值的数据转换成保持特定内容信息的插值数据,输入所述转换网络模型中的解码器得到插值图像,对所述训练数据集进行数据增强;所述特定内容信息指所述训练数据集图像中物体的形状和位置。
[0017]
进一步地,所述步骤s12中的约束限制为:
[0018][0019]
上式中,表示内容损失;s

=g2(g1(e

)),e’表示所述插值的数据,g1表示所述转换网络模型的生成器g的前半部分,g2表示所述转换网络模型的生成器g的后半部分;t1表示所述x1的内容信息;t2表示所述x2的内容信息;t
rand
表示x
rand
的内容信息,所述x
rand
表示所述源域中除了所述x1和所述x2的另外一个随机样本;φ(s’)表示所述s’经过预先构建的内容提取网络后的输出;φ(t1)表示所述t1经过所述内容提取网络后的输出;φ(t2)表示所述t2经过所述内容提取网络后的输出;φ(t
rand
)表示所述t
rand
经过所述内容提取网络后的输出。
[0020]
进一步地,所述步骤s2中,生成的所述训练好的转换网络模型的计算交叉熵损失为:
[0021][0022]
上式中,τ表示比例因子;υ表示查询向量;υ

表示正示例向量;υ-表示负示例向量;表示第n个负示例向量;n表示所述负示例向量的索引;n表示所述负示例向量的个数。
[0023]
进一步地,所述步骤s2中,通过对比学习建立目标函数,包括:
[0024]
s21、根据所述转换网络模型中的编码器中间层生成特征图,输出特征向量;
[0025]
s22、根据所述特征向量,匹配所述训练数据集的输入图像中与所述输出图像相关的图像块,生成正激励信号;并将所述输入图像与所述输出图像不相关的其他图像块作为负样本,生成负激励信号,构建patchnce损失函数:
[0026][0027]
上式中,g表示所述转换网络模型的生成器;h表示所述转换网络模型;x表示所述源域;l表示所述转换网络模型的中间层数量;s
l
表示所述转换网络模型的第l层中间层的特征数量;表示所述输出图像的特征编码;表示所述正激励信号;表示所述负激励信号;表示对于所述源域的期望;x表示所述源域中的图像;
[0028]
s23、根据所述patchnce损失函数和对抗损失,建立目标函数:
[0029][0030]
上式中,λ
x
表示所述源域的对比损失系数;λy表示所述目标域的对比损失系数;g表示所述转换网络模型的生成器;h表示所述转换网络模型;x表示所述源域;y表示所述目标域。
[0031]
进一步地,所述步骤s21包括:
[0032]
选取预设数量的所述转换网络模型中的编码器中间层,输出特征图;
[0033]
将所述特征图输入所述转换网络模型中的两层mlp网络中,输出特征向量:
[0034][0035]
上式中,h
l
表示所述两层mlp网络;表示所述转换网络模型中的编码器的第l层网络输出;g表示所述转换网络模型的生成器;l表示所述两层mlp网络的中间层数量。
[0036]
进一步地,所述步骤s23中,对抗损失为:
[0037][0038]
上式中,d(y)表示所述转换网络模型的判别器对于所述目标域的输出;表示对于所述目标域的期望;表示对于所述源域的期望;g表示所述转换网络模型的生成器;d表示所述转换网络模型的判别器;x表示所述源域;y表示所述目标域。
[0039]
本发明实施例提供的上述技术方案的有益效果至少包括:
[0040]
本发明实施例提供的一种使用对比学习和数据增强的单向图像转换方法,包括如下步骤:分别从源域和目标域获取用于单向图像转换的训练数据集,输入预先构建的转换网络模型中,基于特征插值对训练数据集进行数据增强;训练数据集包括:输入图像和输出图像;将数据增强后的训练数据集输入转换网络模型中进行训练,通过对比学习建立目标函数,生成训练好的转换网络模型;将待转换的图像输入训练好的转换网络模型中,输出转换好的图像。可有效防止构建的转换网络模型判别器出现过度拟合的现象,且增大了网络
的泛化能力,并且有效保证了样本之间的感知关系,提高了单向图像转换效率。
[0041]
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0042]
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
[0043]
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0044]
图1为本发明实施例提供的使用对比学习和数据增强的单向图像转换方法流程图;
[0045]
图2为本发明实施例提供的数据增强方法流程图;
[0046]
图3为本发明实施例提供的单向图像转换方法应用实例流程图;
[0047]
图4为本发明实施例提供的计算patchnce损失函数的方法流程图。
具体实施方式
[0048]
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0049]
本发明实施例提供一种使用对比学习和数据增强的单向图像转换方法,参照图1所示,包括如下步骤:
[0050]
s1、分别从源域和目标域获取用于单向图像转换的训练数据集,输入预先构建的转换网络模型中,基于特征插值对训练数据集进行数据增强;训练数据集包括:输入图像和输出图像;
[0051]
s2、将数据增强后的训练数据集输入所述转换网络模型中进行训练,通过对比学习建立目标函数,生成训练好的转换网络模型;
[0052]
s3、将待转换的图像输入训练好的转换网络模型中,输出转换好的图像。
[0053]
本实施例提供的使用对比学习和数据增强的单向图像转换方法,既强制呈现了目标域的外观(如图像中物体的纹理和色彩),又跨域保留了图像中特定输入的结构或内容(如图像中物体的形状和位置)。使用多层神经网络,在图像块上计算对比损失,适用于小样本训练。将对比损失infonce loss用于图像到图像的转换任务中,避免了循环一致性的强约束以及感官相似性损失的设计,只需要在一个方向上学习映射,避免使用反向辅助生成器和判别器。便于在图像到图像的转换中使用有限的数据来训练生成对抗网络。引用了一种称为remix的基于特征插值的数据增强策略。使用凸组合中的线性插值方法在特征空间中混合源图像。生成器学习将混合样本映射到目标空间,以防止过度拟合。此外,在识别增强假样本的过程中,对判别器中的损失函数进行了改进,引用了一种新的内容损失方法,保持了样本之间的感知关系,提高了训练速率和测试速率,以及单向图像的转换效率。
[0054]
下面具体对本实施例提供的方法进行详细阐述:
[0055]
1)基于特征插值的数据增强策略:
[0056]
首先,从源域和目标域获取训练数据集,对数据集进行过滤。参照图2所示,获取两个源域中的随机样本x1和x2,学习从源域到目标域的一个映射函数。其中,图像转换的功能是图像从一个领域转换到另一个领域(从源域到目标域),比如在灰度图转换到彩色图例子中,x域指的是灰度图集合,y域指的是彩色图集合。建立转换网络模型,训练生成器g,目标有两个:1)给定源域g(x)应该与在目标域y域中的样本几乎相同;2)g(x)应该保留有特定的内容信息,最终优化器优化对抗损失和内容损失完成训练后使用生成器g生成样本。
[0057]
具体地,转换网络模型包含三个网络,分别为生成器(生成器包含编码器和解码器)、判别器、以及两层的mlp辅助网络。在转换过程中首先将图片进行编码,再经过解码,从而输出目标域的图片;mlp辅助网络主要将编码器输出映射到相同的空间,保证相似的样本在特征空间中尽量相近,不相似样本在特征空间尽量远离。
[0058]
其次,基于建立的转换网络模型中间层的特征层面上的插值方法增强训练数据集。为此将生成器g分成两个部分,令g=g2*g1,其中*代表了函数复合操作;g表示建立的转换网络模型的生成器,g1,g2分别表示生成器g的前半部分和后半部分。混合g1的中间特征,插值的数据如下表示:
[0059]e′
=λ
·
e1 (1-λ)
·
e2[0060]
其中,e1=g1(x1),e2=g1(x2),g1(x)表示生成器g(x)的前半部分;e1和e2特征向量为将x1和x2输入转换网络模型中的编码器获得;这里的x1和x2指定是两个源域中的随机样本,并且λ∈[0,1]作为插值权重。λ为0或者1时,输入的e

即为x1或者x2的中间特征,是插值方法中的一种特殊情况。为了使插值方法对于训练产生作用,需要将插值的数据转换成仍然保持特定内容信息(输出保留相应比例的x1和x2的内容信息)的结果。但是对于插值后的e’要计算内容损失因此需要知道内容目标t’,t’获取的常规做法为将t1和t2(t1和t2分别表示x1和x2的内容信息)两者进行插值,再来计算内容损失但是对于高模态的内容信息t来说,简单插值与e’可能并不对应,因此采用了一种新的计算内容损失的方式规避了对内容目标t’的预测。令s

=(g2(g1(e

)),限制了{t1,t2,s

}之间的感知关系,其中s’表示输出。g2(x)表示生成器g(x)的后半部分。不失一般性,假设e1的权重更大,限制生成结果s’满足如下:
[0061][0062]
其中,表示内容损失,即为s

和t1经过φ(内容提取网络)输出的l1损失;φ(t1)表示t1经过内容提取网络后的输出;φ(t2)表示t2经过内容提取网络后的输出;φ(s’)表示插值特征s’经过内容提取网络后的输出。其中,内容提取网络为预训练模型,用来提取样本的内容信息。
[0063]
其中l1损失,即为l1距离损失,含义如下:对于输入向量x=(x1,x2···
xn)和y=(y1,y2···yn
),l1 distance loss的定义如下:
[0064][0065]
插值后e’需要在插值空间中离e1比e2更近。
[0066]
虽然在上面公式中,提供了监督约束来保证生成结果保留内容信息,但这一项没有上界。意味着简单的使结果s’远离t2也能满足约束,这是所不希望的。因此,定义e
rand
=g1(x
rand
),其中x
rand
是一个源域中除了x1和x2的另外一个随机样本,额外增加了下面的约束:
[0067][0068]
其中t
rand
是x
rand
的内容信息,φ(t
rand
)表示t
rand
经过内容提取网络后的输出。
[0069]
最终,将插值的数据转换成保持特定内容信息的插值数据后,输入转换网络模型中的解码器得到最终的插值图像,对训练数据集进行数据增强。
[0070]
以上为在图像转换过程使用的数据增强技术。根据输入之间的感知关系来约束输出的相对位置。提供了有效的监督,同时允许不同的生成结果。只要满足内容约束,数据增强后的插值图像转换结果可以是多模态的。
[0071]
2)单向图像转换中的对比学习:
[0072]
将对构建的转换网络模型的推理过程分成两个部分,一个编码器g
enc
和一个解码器f
dec
,输入的图像依次经过编码器和解码器,从而得到最终的输出图像:
[0073][0074]
单向图像转换中的对抗损失:
[0075]
构建的转换网络模型的训练过程使用对抗损失作为损失函数进行优化,以鼓励输出在视觉上与目标域的图像相似。最小最大损失,即对抗损失如下:
[0076][0077]
其中,d(y)表示转换网络模型的判别器对于目标域(图像)的输出;表示对于目标域(图像)的期望;表示对于源域(图像)的期望;g表示转换网络模型的生成器;d表示转换网络模型的判别器;x表示x域(即源域);y表示y域(即目标域)。
[0078]
生成器g最小化此损失,判别器d最大化此损失。
[0079]
单向图像转换中相对的输入输出的互信息最大化:
[0080]
使用一个噪声对比估计框架来最大化构建的转换网络模型中输入图像和输出图像之间的互信息。对比学习的理念是将两个信号关联起来,即一个“查询”信号和它相对应的“正激励”示例信号,与数据集中的其他点(非正激励信号,称为“负激励”示例信号)形成对比。查询信号、正激励信号、以及n个负激励信号被映射到相应的k维向量(k维向量指的是输入图像块和输出图像块经过编码器再经过两层mlp网络后的输出特征向量,也就是特征空间中的特征向量,k指的是特征向量的维度),为了防止映射空间的膨胀和坍缩,对这些k维向量进行标准化。其中,根据信号的特征嵌入来进行划分正负激励信号(正负示例向量),给定某一查询信号,与查询信号的嵌入向量距离最近的信号为正激励信号,其他信号为负
激励信号。于是可以建模成(n 1)分类问题,其中查询和其他示例(包括正负示例)之间的距离按比例因子τ=0.07进行缩放,并在所构建的转换网络模型中作为logit(逻辑回归,网络的直接输出,不经过激活函数)进行传递。计算交叉熵损失,表示选择正示例而非负示例的概率,正示例向量为与查询图象块位置相同的图像块经过编码器再经过两层mlp网络后的特征向量;负示例向量为其他位置的图象块块经过编码器再经过两层mlp网络后的特征向量。计算交叉熵损失的公式如下:
[0081][0082]
其中,τ表示比例因子;υ表示查询向量;v

表示正示例向量;υ-表示负示例向量;表示第n个负示例向量;n表示负示例向量的索引;n表示负示例向量的个数。
[0083]
设置交叉熵损失的目标在于关联相对应的输入输出数据。在环境中,查询信号指的是输出信号,正激励和负激励信号指的是与输出相关的以及不相关的输入信号,相关示例为输入特征图中与查询图像块位置相同的图像块,不相关示例为其他位置的图象块。
[0084]
3)建立多层神经网络模型(转换网络模型),按图像块计算对比损失,建立目标函数:
[0085]
在无监督学习环境中,对比学习在图像和斑块层面都得到了应用。在本实施例所构建的转换网络模型中,注意到不仅整个输入和输出的图像(转换前后的图像)共享内容信息,图像中的相对应的图像块也共享内容信息。参照图3所示,例如,给定一个显示输出斑马腿的图像块,应该能够更明显地将其与输入马图像的相应腿相关联,而不是与马图像的其他部分相关联。即使在像素级,斑马身体的颜色(黑色和白色)与马身体的颜色的关联,也比与草的背景色调的关联更明显。因此在图像块层次上进行计算,使用多层神经网络(mlp网络),从而建立目标函数。
[0086]
由于编码器g
enc
需要计算输出从而得到最终的输出图像,它其中的特征能够很轻易地获取,所以利用编码器的中间层的输出。对输入图像进行编码,获取中间特征,转换网络模型的推理过程分成两个部分,一个编码器g
enc
和一个解码器g
dec
。每一层中特征图上的每一个特征点代表了输入图像中的一块图像小块,随着层数增多,特征点代表更大的图像块。
[0087]
选取编码器的l层中间层输出特征图并且将这些特征图传进一个小型的两层的mlp网络(全连接多层神经网络)从而得到特征向量其中代表了编码器的第l层网络。指定相关的特征为(r指实数域),其他不相关的特征为其中c
l
为每一层特征的通道数目,s
l
为每一层的空间位置数(每一层中间层的特征数量),与之类似,对于生成的图像将其经过生成器中的编码器g
enc
,选取l层的中间特征图经过小型的两层的mlp网络h
l
(全连接多层神经网络)得到生成图像的特征向量,如下:
[0088]
[0089]
其中,h
l
表示两层mlp网络;表示编码器的第l层网络输出;g表示生成器;l表示中间层数量。
[0090]
对于生成图像,参照图4所示,首先经过生成器中的编码器,对于生成的中间特征图,选取某一位置的特征点向量(如果通道数为c,则向量维度为c),经过两层mlp网络后得到特征向量认为将输入图像经过生成器中的编码器后,特征图上的同一位置的特征点向量经过两层的mlp网络后的特征向量为正激励信号,而同一特征图上的不同位置的特征点向量经过两层的mlp网络后的特征向量为负激励信号。对于生成图像经过编码器后的某一中间特征图上的某一位置(特征向量为),认为与这一位置相同的输入图像的特征编码z
l
为的正激励信号,其他位置的特征编码z
l’为的负激励信号,从而可以计算patchnce loss(patchnce损失)。
[0091]
旨在匹配图像中某一位置的相关的输入和输出图像块,对某一输出图像,可以将其输入图像的相关图像块作为正样本、将其输入图像的其他图像块作为负样本。例如,输出的斑马腿与输入马腿的图像块关联应比同一输入的其他图像块(例如其他马部分或背景天空和植被)更为密切。参照图4所示,将其命名为patchnce损失:
[0092][0093]
其中,g表示生成器;h表示所建立的转换网络模型;x表示源域;l表示转换网络模型的中间层数量;s
l
表示转换网络模型的第l层中间层的特征数量;表示查询向量(输出图像的特征编码);表示正激励信号;表示负激励信号;表示对于源域(图像)的期望;x表示源域中的图像;x表示源域。
[0094]
或者,也可以利用数据集中的其他图像(数据集中除了输入图像x的其他图像)中的图像块。可以将数据集中的一个随机负样本图像通过两层mlp网络编码成在这个变体中,使用一个辅助移动平均编码器,遵循moco,维护一个大的、一致的负示例字典,从而可以得到外部nce损失:
[0095][0096]
上式中,g表示生成器;h表示所建立的转换网络模型;x表示源域;l表示转换网络模型的中间层数量;s
l
表示转换网络模型的第l层中间层的特征数量;表示对于源域图像和负示例来自于外部字典z-的期望;表示查询向量(输出图像的特征编码);表示正激励信号;表示负激励向量,来自负示例字典;x表示源域中的图像;x表示源域;表示随机向量;z-表示外部字典,用于采样负示例。
[0097]
其中,数据集负激励向量从外部字典z-中采样(来自源域),其数据使用移动平均编码器和移动平均计算所得,具体细节可参考moco中的外部nce损失。
[0098]
目标函数(网络优化目标):
[0099]
转换网络模型通过优化目标函数,更新生成器和判别器参数,从而使得生成器和判别器达到预期的目标。为使生成的图像真实,输入和输出图像中的图像块应共享相应的响应。此外,可以对来自目标域y的图像使用patchnce损失以防止生成器进行不必要的更改。这种损失本质上是一种可学习的、特定于目标域的identity损失版本,通常由无监督图像转换方法使用。最终的目标函数如下:
[0100][0101]
上式中,λ
x
表示源域的对比损失系数,λy表示目标域的对比损失系数,在训练时需要手动调整;g表示生成器;h表示所建立的转换网络模型;x表示源域;y表示目标域。
[0102]
生成器g的损失函数lg为:
[0103][0103]
φ表示内容提取网络;
[0104]
判别器d的损失函数ld为:
[0105][0106]
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献