自动生成标注训练图像
机器学习模型依赖数据,但收集和标注训练数据通常需要大量资源。合成数据是解决这一挑战的常用方法,但即使是合成数据通常也需要人工进行繁琐的手动标注。
在今年的计算机视觉与模式识别会议(CVPR)上,提出了一种名为HandsOff的方法,消除了手动标注合成图像数据的需要。通过利用少量现有标注图像和生成对抗网络(GAN),HandsOff可以生成无限数量的合成图像,并附带完整标签。
在实验中,HandsOff在语义分割、关键点检测和深度估计等关键计算机视觉任务上实现了最先进的性能——所有这些仅需要不到50张现有标注图像。
GAN反转与潜在空间
在训练过程中,GAN学习样本图像与表示空间(潜在空间)中点之间的映射。随机选择潜在空间中的一个点可以使GAN生成一个新颖的图像,该图像不在其训练数据中。
HandsOff依赖于GAN反转,即学习预测与输入图像对应的潜在空间中的点。通过对标注图像应用GAN反转,生成一个包含点和标签的小型数据集,可用于训练第三个模型,该模型为GAN潜在空间中的点添加标签。现在,我们可以使用GAN生成图像,将其对应的点输入第三个模型以生成图像标签,并重复此过程以产生任意大小的标注数据集。
GAN工作原理
GAN通过将随机向量转换为样本图像来生成图像。GAN训练涉及两个模型:生成器和判别器。判别器试图区分真实图像和生成器输出的图像,而生成器学习生成能够欺骗判别器的图像。
在训练过程中,生成器学习图像的概率分布,并使用随机向量的变化编码自然图像的变化。生成图像的随机向量可以轻微扰动以修改图像的语义上有意义的方面,如光照、颜色或位置。这些随机向量因此作为潜在空间中图像的表示。
GAN反转方法
一些GAN反转方法通过修改生成器的参数来使图像与潜在空间中点之间的映射更加精确。但由于我们希望使用训练好的GAN进行合成数据生成,我们不希望干扰其参数。
相反,我们训练第二个GAN反转模型将图像映射到空间中的点。最初,我们直接在映射任务上训练它:从潜在向量生成图像,而潜在向量是GAN反转模型的训练目标。
然而,接下来我们使用学习感知图像块相似性(LPIPS)损失对GAN反转模型进行微调。使用LPIPS,我们将两张图像输入训练好的计算机视觉模型(通常是对象检测器),并通过比较模型每一层的输出来测量图像之间的距离。
然后,我们优化GAN反转模型以最小化由真实潜在向量产生的图像与模型估计的潜在向量产生的图像之间的LPIPS差异。换句话说,我们确保当模型未能预测输入图像的确切潜在向量时,它仍然预测相似图像的潜在向量。假设在这种情况下,真实图像的标签也适用于相似图像;这有助于在训练图像标注器时确保标签准确性。
LPIPS优化是高度非凸的,意味着模型参数与LPIPS度量的多维映射有许多峰值和谷值,使得全局优化困难。为了解决这个问题,我们简单地限制微调模型的训练迭代次数。我们可能最终陷入局部最小值或半坡,但在实践中,这被证明可以提高模型性能。
生成标签
一旦我们的GAN反转模型训练完成,我们能够将标注图像与潜在空间中的特定向量关联起来。然后,我们可以使用这些图像训练一个为GAN输出添加标签的模型。
然而,我们不仅仅训练模型为潜在向量添加标签:GAN解码器的参数(将潜在向量转换为图像)捕获了大量仅在向量中隐含的信息。这对于StyleGAN尤其如此,它将潜在向量通过一系列样式块传递,每个样式块调节输出图像样式的不同方面。
为了训练我们的标注模型,我们因此使用GAN生成图像的"超列"表示,它将输出图像中的每个像素与GAN中每个样式块的相应输出关联起来。这确实需要对GAN上层较稀疏的图像表示进行一些上采样,并对下层较密集的图像表示进行一些下采样。
性能评估
为了评估HandsOff,我们将其与三个基线进行比较:两种先前的生成标注图像方法和一种迁移学习基线(其中我们微调预训练对象分类器以产生标注图像)。然后,我们使用所有四个模型生成的合成图像在五个不同任务上训练计算机视觉模型,结果HandsOff在所有任务上都优于性能最佳的基线,有时优势显著——在一个数据集上领先17%。