从照片指纹讲起
这部分来自于百度百科,几乎一字不改
2015年,facebook提交了照片指纹的专利。
照片指纹,该技术可以根据数码照片的各种特征,识别出“照片指纹”,并确定这张照片由哪一部手机或者数码相机所拍,这个识别功能能够在社交网络中派上特别的用场,并确定照片版权归属。
每一部智能手机的摄像头或是数码相机,都会在照片中留下一些“指纹”。比如,数字照片文件中会包括一些“元数据”(类似数码照片的属性参数),描述了照片拍摄时所用的摄像头种类,光圈等等。
另外,一个摄像头的传感器芯片可能发生了缺陷,因此在所有其拍摄的照片上会出现一些像素的错误或损坏。凭借这些特征也能够判断出拍摄照片的手机。通过这种智能分析技术,Facebook后台又增加了一种“窥探”用户的能力——它能够从海量的照片中,分析出某一部手机或者用户所拍摄过的全部照片。这一分析结果能够带来Facebook平台上的多种用途,比如平台可以根据照片之间的某种联系,进行好友推荐、活动推荐。Facebook也能够借此识别出一些虚假账户等恶意行为。比如某一个新用户账号上发送的照片,根据上述专利技术识别,判断是来自其他账户的智能手机,Facebook可以判断可能出现了虚假多重账号注册行为。这种专利技术的另外一个用途,是可以帮助分析出某一张数码照片真正的拍摄者,确定版权持有人。
到GAN的指纹
因此就有人提出了,GAN有指纹吗?特殊的模型结构,是否会在GAN生成的图像中留下统一的概率分布,或者说模式。
**2019 IEEE Conference on Multimedia Information Processing and Retrieval(MIPR)的论文Do GANs Leave Artificial Fingerprints?**就讨论了这个问题
指纹提取
指纹提取的方式很简单。指纹表示为GAN的图像生成固有模式。这个模式是与图像无关的。
或者说GAN是一个画手,我们企图获取它的画风。
首先是提取图像的残差。是一个合适的去噪滤波器。通过公式:
就可以提取出噪声模式。这个噪声可以表示为指纹信息和随机噪声信号的叠加:
表示为指纹信息,则是随机噪声,假设是零均值的,那么根据大数定理,就可以得到
这就是就是提取获得的指纹信息。当N不断增大,F收敛。
实验对比
对不同GAN架构和数据集,使用部分生成图像提取指纹,其他图像计算残差相关性,可以得到如下所示的关系图。可以看出,同一模型的图像的指纹相关性更高。
图片归因——学习和分析GAN的指纹
Proceedings of the IEEE/CVF International Conference on Computer Vision 2019的论文Attributing Fake Images to GANs: Learning and Analyzing GAN Fingerprints。
这篇论文论证了GAN指纹的细粒度。GAN的指纹生成与多个因素相关,GAN的架构,使用的数据集,和随机初始化的种子。都会导致GAN的图像指纹的不同。
不同的网络架构,不同的数据集,不同的初始化参数,不同的训练方式,都会导致网络收敛到一个不同的值。这导致每个GAN都是独一无二的,这也使得GAN存在指纹提供依据。
本文将GAN的指纹定义为自编码器的重构误差,即
论文使用对抗学习,使用一个自编码器和分类器,获得一个指纹分类网络。这一做法是合理的。
使用重构误差作为指纹,这是因为指纹与图像内容本身无关。重构误差就是图像的内容无关部分。
而由于识别图像是GAN也就是神经网络生成的,所以使用神经网络进行特征提取也是合适的。