公众号/将门创投
From: Maryland 编译:T.R
GAN的飞速发展为视觉领域带来了巨大的变化,从图像编辑到场景合成、从换脸到表情操作,各种神奇的技术已经走入我们的生活。但与此同时人们对于GAN的担忧也在与日俱增,在视觉刑侦和知识产权保护等方面尤为突出。
为了探索这一问题的解决方案,来自马里兰大学的马克思普朗克研究所的研究人员提出了GAN指纹的分类方法,不仅可以区分出真实图像和生成图像,同时可以有效识别出不同生成图像所来源的模型。这一工作不仅揭示了不同的GAN架构都携带有各自独特的指纹信息,其生产的图像中同时也会携带有GAN的指纹属性。GAN训练过程的改变也会导致指纹的变化,但指纹在生成图像不同频率和区域中具有一致性,可以有效抵抗多种对抗扰动。这种新的方法为GAN生成图像的视觉刑侦学和GAN模型的知识产权保护提供有效的解决方案。
视觉刑侦学和知识产权保护
随着各类人脸合成视频的泛滥,人们对于GAN最为担心的问题就是它的恶意使用,开发出有效的视觉刑侦方法尤为重要。目前的方法主要集中于语义、物理或统计特征来进行分析、集中于换脸操作和合成场景的鉴别。但大多数方法只针对特定的GAN架构,只要训练或架构发生变化,性能就会大幅度下降。人们急切地希望从GAN生成的图像中寻找出一个通用稳定的特征来标记模型架构,寻找一种针对生成图像有效的特征表达。
针对GAN的另一个需求来自于知识产权保护。训练过GAN的人都明白一个有效模型训练的难度,除了大规模的数据和计算资源外,反复的尝试架构和超参数调优更是十分漫长的努力。随着大规模商用的展开,打击盗版和知识产权的保护也越来越受到人们的重视,有效的GAN指纹将能有效保护知识产权。目前已有的数字水印和数字指纹技术已经不适用于GAN的发展,需要开发出一种能够从生成图像中识别出GAN的指纹并寻找到它的对应GAN模型。
为了探索这一问题,研究人员提出了一种可以从图像中学习GAN指纹的方法,基于GAN指纹不仅可以区分真实和生成图像,更能区分生成图像的不同来源。研究显示GAN模型中具有独特的模型指纹,并会在生成图像中留下稳定的模型指纹。这一工作不仅证明了模型指纹的存在性和独特性,更发现了指纹在生成图像的不同区域、频域具有一致性、对不同种类的图像攻击扰动具有有效的鲁棒性。此外还提出了有效的可视化方法为我们展现了GAN指纹的奥妙。
基于图像特征的指纹学习
每个GAN模型都有自己独特的参数,从训练数据分布到网络架构、从损失设计到优化策略和超参数设置都对最终结果有着重要的影响。由于目标函数的非凸性和对抗训练的不稳定性,模型权重对于初始化十分敏感。这意味着即使性能相同的两个GAN其生产的图像也会有不同,这也恰恰说明了指纹存在的可能性和独特性。研究人员为每一个GAN实例指纹定义为一个参考向量,可以与生成结果相互作用。
另一方面,生成图像的指纹在同一个GAN模型中应该一致,而区别于其他GAN模型。图像指纹与生成模型息息相关。研究人员同时也引入了特征质量来编码这一图像指纹,在本文中同样采样了与图像相同大小的RGB来表示。
为了分辨出图像来自于分类器还是真实图像,首先需要训练一个区分图像来源的属性分类网络。图像的指纹被表示为分类器特征(全联接层前的1x1x512张量),GAN的指纹则表示为同样大小的权重参数(最后一个全联接层)。与GAN判别器不同,这个归属分类器学习出了一个统一的嵌入空间,可以区分出不同GAN实例生成的图像也同样可以区分生成图像与真实图像。下图中的a子图显示了归属分类网络的结构。
在训练过程中唯一需要的是图像的来源标签。在生成数据集时,可以简单地利用不同GAN实例生成标签,并记下对应的实例label,分类器将根据对应的图像预测其所属的标签。
此外为了探索GAN指纹的不同特性、研究人员还设计了一系列网络。首先为了检测指纹是否可以通过不同的频段来获取,分别设计了预下采样网络和预下采样残差网络,来抽取图像低频和高频部分的图像。上图中子图b、图c分别显示了下采样和下采样残差网络结构。
除了频域特外还需要验证空间侧性。后池化网络可以检测GAN指纹和属性是否可以基于局域片层图元中提取。通过池化改变特征图分辨率就可以研究从局部到全局片层的统计特征。子图c显示了后池化结构,从64×64的特征图开始进行。
GAN指纹也需要有效的可视化方法来直观地理解分析。指纹本身是特征空间中的隐含表示,研究人员提出了一种方法将其转化到图像域中的显式表示。通过对属性分类器的改造,可以通过图像-源数据对学习出指纹图像。研究的目标是从输入图像学习出指纹图像,但却缺乏指纹图像的监督信号。研究中只用了自编码器作为基本的映射单元、并将重建残差作为图像指纹信息。同时,还从每一个源(GAN实例+真实图像)学习出了模型指纹,并利用分类器杜预模型指纹和图像指纹的softmax来进行监督。
下图显示了指纹可视化的流程,通过自编码器的重建残差来得到,并通过与GAN模型的指纹与图像指纹的点积来进行纠正。
实验结果
为了验证模型的有效性,研究人员在多个数据上和多个基准模型进行了比较,显示了它的强大能力。研究中使用的生成模型包括了ProGAN,SNGAN,Cramer-GAN,MMDGAN等,每个模型都从零开始训练240周期,并输出128x128x3大小的图像。下图显示了来自不同GAN的生成图像。
比较指纹分类器性能的基准则选用了最邻近方法、Eigenface、基于PRNU指纹方法,并主要使用了分类精度来作为测评图像属性指标。
首先,研究人员对于指纹的存在性和独特性进行了验证,通过不同架构和不同训练集、初始条件下训练的模型指纹进行了分析。针对不同生成模型架构得到的图像进行训练,本文的方法可以有效地区分出真实图像和生成图像,同时还能区分出不同图像的生成来源。
下表显示了使用通常的CNN分类器就能得到良好的效果,证明了不同GAN架构中存在独特的指纹特性。
研究人员还进一步基于ProGAN模型研究了训练集合对于指纹的影响。结果如表二所示,表明只要在训练过程的的不匹配就会造成不同的优化步骤,从而得到不同的指纹结果。这启发了研究人员对于同一模型相同训练数据前提下,不同初始化对训练结果的影响。结果表明,优化过程的不同会引起指纹的不同。
随后研究人员又系统性地研究了图像频率和不同局域图像片大小的影响。频域实验表明,频带越宽携带属性信息越多、低频和高频分量都携带有效指纹信息,在相同分辨率下高频分量携带的指纹信息比低频分量多。针对图像片尺寸研究表明,针对不同数据集只要图像尺寸大于对应阈值即可携带充分的指纹信息。
同时实验还验证了这一方法并不会由于生成图像中的人工痕迹产生偏见。
那么这种方法对于一些对抗性的图像扰动是否有效呢?研究人员设计了噪声、模糊、裁剪、JPEG压缩、重新打光以及它们的组合来进行扰动,目的在于迷惑属性分类网络销毁图像中的指纹信息。下图显示了各种扰动的形式。
然而结果则显示本文的方法对于这些扰动具有很强的免疫力(下表中Dfs项所示),但由于扰动的结合(最后一列)过于复杂,其精度有一定的下降。
最后让我们来看看模型的图像的指纹到底长什么样子?!
上图显示了原图及其指纹,以及在不同GAN模型指纹下的响应。下图显示了图像指纹和模型指纹的结果,同时也显示了它们间对应的混淆矩阵。结果表明图像指纹在其对应的模型指纹下具有最大的响应。对于真实图像来说,眼部特征就足够分类;而对于其他图像来说,指纹还包含了背景线索。
如果想要详细了解这种方法的细节,请参看论文和作者提供的代码:
https://arxiv.org/pdf/1811.08180.pdf
https://github.com/ningyu1991/GANFingerprints