Multi-attentional Deepfake Detection
Abstract
以往的区分人脸造假的方法就是用一个网络先提取特征,然后再进行二分类(real/fake),作者提出利用Attention进行细粒度分类;
主要过程如下:
- 多个空间注意力头,使网络注意到不同的局部信息
- 纹理特征增强块,用于放大浅层特征中的子纹理瑕疵
- 在注意图的指导下,聚集低层次的纹理特征和高层次的语义特征
此外,为了解决这个网络的学习困难,我们进一步引入了一种新的区域独立性损失和一种注意力引导的数据挖掘策略。
1. Introduction
Contribution
- 在人脸造假识别领域引入了细粒度分析
- 我们提出了一种新的多注意网络结构来捕获多人脸注意区域的局部鉴别特征,同时,为了训练该网络,引入了局部独立性损失和注意力主导的数据放大方法
- 能取得最优结果;
2. Related Works
人脸伪造技术越来越高,给伪造人脸检测技术带来了新的挑战,作者将细粒度分类的技术引入到伪造人脸检测技术中来。
2.1. Deepfake Detection
Sstnet: De-tecting manipulated faces through spatial, steganalysis andtemporal features. 通过空间,隐写分析和时间特征来检测被篡改的面孔。 它添加了带有约束卷积和LSTM的简化Xception流
Two-branch recurrent network for isolating deepfakes in videos. 使用双分支表示提取器,使用多尺度拉普拉斯高斯(LoG)算子将颜色域和频率域的信息结合起来。
Thinking in frequency: Face forgery detection bymining frequency-aware clues. 使用频率感知分解和局部频率统计来暴露频域中的深层伪影
2.2. Fine-grained Classification
3. Methods
3.1. Overview
网络结构主要由三个关键部分组成:
- 利用一个Attention模块生成多个Attention Map;
- 使用Dense block作为纹理增强块,可以提取并强化来自于浅层特征图的纹理信息;
- 用Bilinear Attention Pooling替换全局平均池化;
与基于单注意结构的网络能够以视频层标签作为训练的明确指导不同,基于多注意结构的网络由于缺乏区域级标签,只能以无监督或弱监督的方式进行训练。但是,这样也可能因为多个注意力都注意同一个区域从而忽视其他的区域而导致网络的性能下降。因此,作者提出了 Region Independence Loss来解决该问题。该方法的目的是确保每个注意力图集中在一个特定的区域而不重叠,并且集中的区域在不同的样本中是一致的。此外,作者使用Attention Guided Data Augementation(AGDA)机制来减少最具辨别力特征的出现,并强制其他注意图挖掘更多有用的信息。
3.2. Multi-attentional Framework
- Input face image: I I I
- network: f f f
- feature map extracted from t-th layer: f t ( I ) f_t(I) ft(I)
- size: C t × H t × W t C_t\times H_t\times W_t Ct×Ht×Wt
Multiple Attention Maps Generation
Textural Feature Enhancement
- Input: S L t SL_t SLt
- result of local average pooling: D D D
- out: T S L t = S L t − D T_{SL_t} = SL_t - D TSLt=SLt−D
最后再经过三层密集连接的卷积层强化 T T T,得到输出 F ∈ R C F × H s × W s F\in R^{C_F\times H_s\times W_s} F∈RCF×Hs×Ws
Bilinear Attention Pooling
- 对于shallow features:
先通过双线性插值将Attention map的尺寸放大到与feature map相同,然后对他们进行点积:
F
k
=
F
×
A
k
F_k = F\times A_k
Fk=F×Ak
将
F
k
F_k
Fk经过全局平均池化之后输入到分类网络,但为了防止textural information被Attention map所破坏,作者设计了一个normalized average pooling方法:
v
k
=
∑
m
=
0
H
s
−
1
∑
n
=
0
W
s
−
1
F
k
,
m
,
n
∣
∣
∑
m
=
0
H
s
−
1
∑
n
=
0
W
s
−
1
F
k
,
m
,
n
∣
∣
2
v_k = \frac{\sum_{m=0}^{H_s-1}\sum_{n=0}^{W_s-1}F_{k,m,n}}{||\sum_{m=0}^{H_s-1}\sum_{n=0}^{W_s-1}F_{k,m,n}||_2}
vk=∣∣∑m=0Hs−1∑n=0Ws−1Fk,m,n∣∣2∑m=0Hs−1∑n=0Ws−1Fk,m,n
其中
v
k
∈
R
1
×
n
v_k\in R^{1\times n}
vk∈R1×n,将其堆叠在一起得到feature matrix:
P
∈
R
M
×
C
F
P\in R^{M\times C_F}
P∈RM×CF
- 对于deep features
首先将Attention map分离成单通道Attention map:$A_{sum} $
然后对 A s u m A_{sum} Asum和网络最后一层输出的feature map进行BAP操作,得到全局深度特征: G G G
同样将其输入到分类网络;
3.3. Regional Independence Loss for AttentionMaps Regularization
作者对 D D D应用BAP,得到语义特征向量: V ∈ R M × N V \in R^{M\times N} V∈RM×N
区域独立性损失函数如下所示:
L
R
I
L
=
∑
i
=
1
B
∑
j
=
1
M
max
(
∣
∣
V
j
i
−
c
j
t
∣
∣
2
2
−
m
i
n
(
y
i
)
,
0
)
+
∑
i
,
j
∈
(
M
,
M
)
,
i
≠
j
max
(
m
o
u
t
−
∣
∣
c
i
t
−
c
j
t
∣
∣
2
2
,
0
)
L_{RIL} = \sum_{i=1}^{B}\sum_{j=1}^{M}\max(||V_j^i-c_j^t||_2^2-m_{in}(y_i),0)+\sum_{i,j\in(M,M),i\neq j}\max(m_{out}-||c_i^t-c_j^t||_2^2,0)
LRIL=i=1∑Bj=1∑Mmax(∣∣Vji−cjt∣∣22−min(yi),0)+i,j∈(M,M),i=j∑max(mout−∣∣cit−cjt∣∣22,0)
其中
c
∈
R
M
×
N
c\in R^{M\times N}
c∈RM×N是
V
V
V的中心
c
t
=
c
t
−
1
−
α
(
c
t
−
1
−
1
B
∑
i
=
1
B
V
i
)
c^t = c^{t-1}-\alpha(c^{t-1}-\frac{1}{B}\sum_{i=1}^{B}V_i)
ct=ct−1−α(ct−1−B1i=1∑BVi)
B
B
B: batchsize
m i n m_{in} min:特征与特征中心的margin
m o u t m_{out} mout: 特征中心点之间的margin
α \alpha α:更新率,随着训练进行而减小
该损失函数的第一项是类内损失,目的是为了将 V V V拉近中心点 c c c,第二项是类间损失,目的是为了拉远距离;
考虑到假脸的关注区域应该与真实脸部的关注区域略有不同,因此作者将部分特征假脸限制在与真实脸部的特征中心相邻的位置,而不是对其进行固定。这样,作者在内部类中提供了较大的边距,以搜索有用的信息(如人脸)
最终的损失函数为:
L
=
λ
1
∗
L
C
E
+
λ
2
∗
L
R
I
L
L = \lambda_1 * L_{CE} + \lambda_2 * L_{RIL}
L=λ1∗LCE+λ2∗LRIL
3.4. Attention Guided Data Augmentations
为了让不同的注意力图注意不同的区域,作者提出了Attention Guided Data Augmentations方法
注意力图 A k A_k Ak经过归一化以后得到 A k ∗ ∈ R H × W A_k^* \in R^{H\times W} Ak∗∈RH×W
然后利用高斯模糊生成一个退化的图片,最后再利用
A
k
∗
A_k^*
Ak∗作为权重来退化原始图片
I
′
=
I
×
(
1
−
A
k
∗
)
+
I
d
×
A
k
∗
I^{'} = I\times(1-A_k^*) + I_d\times A_k^*
I′=I×(1−Ak∗)+Id×Ak∗
作用:
- 首先,该方法可以对某些区域进行模糊化处理,保证模型能够从其他区域学习到更为稳健的特征
- 或者,AGDA可以偶然删除最显著的区分区域,强制Attention map关注在不同的区域(不同的标签)
- 此外,AGDA机制可以防止单个关注区域过度扩展,并鼓励关注块探索各种关注区域划分形式。
4. Experiments
4.1. Implement Details
- α = 0.5 \alpha=0.5 α=0.5,每epoch乘0.9
- m o u t = 0.2 , m i n = 0.05 , 0.1 m_{out}=0.2,m_{in}=0.05,0.1 mout=0.2,min=0.05,0.1 respectively for real and fake images
- et the resize factor 0.3 and Gaussian blur σ = 7 \sigma=7 σ=7
- Adamoptimizer with learning rate 0.001 and weight decay 1e-6
- batch size 48