1..普通的卷积操作也好、transformer结构也好,都是在相同尺度上进行特征提取,即使通过特征金字塔那样网络层数的堆叠获得到了多尺度的特征,也依然会带来模型复杂度提升、容易过拟合、不同尺度特征难以融合等问题。不同的伪造方法生成的伪造特征差距很大,故作者提出了多尺度transformer架构,来处理不同尺度 的伪造痕迹,具体做法就是我们把输入图像划分成不同的patch大小,大的patch来提取那些明显的语义不连贯、小的patch来提取细微的像素级不连贯。transformer的多头注意力,不同的head提取到了不同的信息,即不同的head里用不同大小的patch作为输入,这个设计其实是对CNN的经典结构InceptionNet的致敬。
2.图像的压缩会给图像信息造成损失,故作者提出以频域信息作为辅助模态,提高模型检测的鲁棒性。图像压缩算法(比如JPEG)等都需要先进行DCT变换,巧合的是,之前有一系列工作探索了这个方向,他们的结果表明经过Deepfake生成的伪造图像会在频域留下一些不可磨灭的特征分布,所以我们将频率信息引入到了Deefake检测。
3.伪造信号其实是一种上下文之间的consistency信息,利用constrastive learning的方法一个很重要的问题在于尽可能穷举更多的负样本以帮助anchor特征学习,这一点其实和Deepfake有一种奇妙的联动:正样本也就是真实人脸数据的分布其实是固定的(人脸总是crop过),而负样本的分布则是非常丰富的,因为我们提出了一种constrastive loss:在特征空间里,缩小正样本到类中心的距离,拉大负样本到正样本类中心的距离,来实现压缩正样本空间且剥离正负样本空间的目的。
区别于ViT的地方有三点:
1.不是在图像取patch而是在feature map上
2.不同head里取的patch size不同
3.patch被flatten成一维经过了self-attention之后会被重新reassemble成二维得到3D feature map
Cross Modality Fusion
首先我们对图像做DCT变换,得到了频率分布图,DCT变换具有良好的性质:高频集中在左上角而低频在右下角,因此我们手动对其进行划分,得到了高、中、低三个频段的频率分量,但是频率图不具有RGB图像的视觉特征,也没有办法利用CNN进行特征提取,为此我们对三个分量进行逆DCT变换,重新得到了RGB域的表示,但是这个表示是frequency-aware的,然后利用卷积层进行特征提取。
基于这种想法、同时受启发于transformer的query-key-value的设计,我们提出了一种QKV的方法来融合两个模态:把RGB模态作为query、frequency模态作为memory,这样的设计一方面能突出RGB的作用,另一方面能更好地发掘frequency分布里的异常区域。
为了提高我们模型的鲁棒性、避免overfit,我们采用multi-task的方式,讲multi-scale transformer的输出经过一个decoder进行人脸操作区域的预测。