这是什么
因为一个比赛,我们去看文献,然后恰好读到这篇论文,名字叫《Multiple-Operation Image Anti-Forensics with WGAN-GP Framework 》,简单来说就是对于一张篡改图片,我们使用多种后处理方法隐藏篡改痕迹,然后再使用WGAN网络隐藏痕迹,让篡改真正做到无迹可寻(实际的欺骗率大概在50%左右)。
网络结构
这就是论文中给出的图片结构,还是比较清晰的。
损失函数
损失函数分为两个:生成器和判别器。
首先是生成器的损失函数
L G = E x ‘ [ α L G p i x e l + β L G v g g + γ L G a d v ] L_G = E_{x^`}[αL_{G}^{pixel}+βL_{G}^{vgg}+γL_{G}^{adv}] LG=Ex‘[αLGpixel+βLGvgg+γLGadv]
其中有
L G p i x e l = 1 N ∑ i = 1 N ∣ x i − G ( x i ‘ ) ∣ L_{G}^{pixel}= \frac{1} {N} \sum_{i=1}^N \mid x_i-G(x_{i}^`) \mid LGpixel=N1i=1∑N∣xi−G(xi‘)∣
L G v g g = 1 N ∑ i = 1 N ∥ θ ( x ) i − θ ( G ( X ‘ ) i ) ∥ 2 2 L_{G}^{vgg}=\frac{1}{N} \sum{i=1}^N \parallel \theta(x)_i-\theta(G(X^`)_i) \parallel_{2}^{2} LGvgg=N1∑i=1N∥θ(x)i−θ(G(X‘)i)∥22
其中 θ ( x ) \theta(x) θ(x)表示用ImageNet训练的VGG-19网络的第12层卷积层输出的特征图
L G a d v = − C ( G ( X ‘ ) ) L_{G}^{adv}=-C(G(X^`)) LGadv=−C(G(X‘))
接着是判别器的损失函数,其损失函数表达式如下
L C = E x [ C ( x ) ] − E x ‘ [ C ( G ( x ‘ ) ) ] + λ E x ^ [ ( ∥ ▽ x ^ C ( x ^ ) ∥ 2 ) − 1 ) 2 ] L_C=E_x[C(x)]-E_{x^`}[C(G(x^`))]+\lambda E_{\widehat{x}}[({\parallel \triangledown_{\widehat{x}}C(\widehat{x}) \parallel}_2)-1)^2] LC=Ex[C(x)]−Ex‘[C(G(x‘))]+λEx
[(∥▽x
C(x