当前位置:网站首页>CVPR2022|用魔法打败魔法,网易互娱AILab图像鉴伪新方法破解伪造人脸
CVPR2022|用魔法打败魔法,网易互娱AILab图像鉴伪新方法破解伪造人脸
2022-06-21 15:34:00 【智源社区】
转自:AI科技评论
近日,网易互娱AI Lab在国际计算机与模式识别会议CVPR 2022图像鉴伪挑战赛(IFDC)中一举斩获冠军,分别以高达99.386%和98.928% 的识别准确率包揽初赛和复赛两阶段的第一名,力压国际、国内共674支参赛队伍,在人脸伪造图像的鉴别方面真正秀了一把实力。
近年来,深度伪造技术用于合成内容制作已十分普遍,此类技术在带来便利性的同时也带来了隐私和安全的隐患,其中deepfake等人脸图像篡改技术的恶意应用存在极大危险性。为了应对这一挑战,IFDC挑战赛主要聚焦与人脸图像的伪造检测,保证人工智能技术的安全使用。
在竞赛中,网易互娱AI Lab创新性地提出了一种以魔法打败魔法的解决方案——DAME: Data Augmentation and Model Ensemble for Generalized Face Forgery Detection,相比业内主流的鉴伪方法,其提出的AI模型具备更优秀的泛化性,能够识别更多样的图像伪造方法、甚至未知的伪造方法;同时团队通过模型融合的方法显著提升了模型的准确率,最终在数据完全未知的复赛阶段相对第二名取得了接近1%的AUC提升,并将随机图片对的判断错误概率降低了约48%。

IFDC大赛最终排名
此次竞赛与以往的人脸鉴伪任务有两点主要区别。首先, 已有数据集往往只考虑特定的场景或有限的几种造假方式。 而本次竞赛覆盖了大量不同的场景,以及更多的造假方式。其次, 本次竞赛所用测试图片与训练集差别较大,分为初赛和闭测的复赛两个阶段,两个阶段的测试图像均包含大量训练集中没有出现过的造假手段。入围复赛的队伍要求直接提交推理代码,保证测试数据对于选手的未知性。最终排名由初赛和复赛判别结果的平均AUC值(ROC曲线下方的面积大小)确定。
比赛训练数据集共60万张图片,其中10万张为未经篡改的真图,另外50万张为假图。虽然目前的主流的图像鉴伪方法对训练集中出现过的造假方法有着非常好的识别能力,但对模型未见过的造假方法识别率则非常低。这就要求鉴别模型在保证准确率的同时具有优秀的泛化性能,对参赛选手提出了巨大挑战。
由于测试和验证数据不允许参与训练, 此次的竞赛的任务可以被定义为AI研究最前沿的领域泛化(Domain Generalization, DG)问题。 在此基础之上, 网易AI Lab团队进一步分析得出了该任务的几点特殊性,
(1)由于此次竞赛关注的是人脸, 而人脸又是AI研究最热门的目标之一, 针对人脸的各种AI技术都可以被视为在"造假"。
(2)虽然测试集和训练集的假图分布非常不同, 但是真图则相对一致, 也就是说这是一个非对称的DG任务。 对于未知的造假方式, AI模型可以不关注具体的造假痕迹, 而是将突破口放在"图片是否和已有真图一致"这一点上。
(3)由于各种造假方式之间差异巨大, 一些DG任务常用的方法可能会不再适用, 比如很难提取到多个领域(造假方法)的共同特征。
针对任务的特殊性,网易AI Lab团队凭借在人脸编辑和生成方面的深厚算法积淀,提出了一整套以魔法打败魔法的解决方案 DAME: Data Augmentation and Model Ensemble for Generalized Face Forgery Detection。 方案主要用于提高模型对于未知数据的泛化能力, 包括数据扩充和模型融合两大部分。

DAME人脸鉴伪技术方案流程图
(1)数据扩充:团队在主办方提供的10万张真图的基础上,基于面部重演、换脸、人脸属性编辑、人脸卡通化及艺术化滤波等算法生成了20+类近40万幅假图,极大的丰富了训练集的多样性,为模型具有良好的泛化性奠定了基础。
(2)模型融合:通过多样化的主干、调度策略、训练样本配置训练了一系列模型,并通过模型融合进一步提高了最终的分类精度。
为了丰富训练数据集中篡改图片的多样性,基于官方提供的10万张真图,团队使用面部重演、换脸、人脸属性编辑、人脸卡通化、艺术化滤波等6大类方法对数据集进行了扩充。这些方法涵盖了基于传统滤波、计算机图形学和深度学习等人脸编辑算法,其中包含了大量项目组自研算法,并已发表在ICCV等计算机视觉顶会。
(1)面部重演:将目标图像人脸的表情和头部姿态迁移到源图像, 包括FOMM, MRAA, FS-V2V和FSGAN4种方法。
(2)换脸:将目标图像的脸部区域迁移到源图像中,同时保留源图像中的脸部表情, 包括FSGAN, Face Morphing, 3DMM替换全脸, 3DMM替换五官4种方法。
(3)人脸属性编辑:目前主流人脸编辑框架是基于StyleGAN2,在编辑之前需要先将图片转换成StyleGAN的输出, 所以鉴伪时也可以主要识别图片是否是StyleGAN生成的, 而不需要一一关注每个可编辑的属性,团队使用StyleGAN投影算法对其生成空间进行采样, 包括E4E和PSP 2种方法。
(4)人脸卡通化:将图像中人脸转换为卡通图像, 包括手绘, Danbooru, Selfie2Anime 3种风格。
(5)艺术化滤波:使用基于滤波的艺术渲染方法将图像转换为艺术化图像, 包括xDoG, Kuwahara等5种滤波方法。
(6)其他:一些其他常见的人脸生成和编辑方法, 包括基于负样本训练的StyleGAN, 遮挡五官等。

数据扩充样例
为了提高训练效率,团队使用预先在原始数据集上训练得到的基准模型对扩充数据集进行了预测,只选择了模型容易出错, 置信度在一定阈值内的图像加入到最终的训练集中。最终扩充得到的训练集包括约100万张图像,其中54.7%来自原始数据集,45.3%的图像来自团队自主生成的数据集。

左:基准模型对于不同数据扩充方法的识别精度;右:训练数据集构成
即使进行了海量的数据扩充, 根据赛制依然可能会在测试集里出现和所有训练数据都差异较大的造假方式, 针对这种情况, 团队利用任务的非对称性设计了一套多模型融合方法, 以增强对于假图的检出概率,该方法的思路非常直观: 若真图可以被每个模型稳定识别, 则假图只需要被任意一个模型识别即可区分。
团队设计了一个简单的例子证明通过对不同模型预测结果进行融合,能够有效提高最终的预测精度。如下图所示,Model1和Model2分别为不同配置下训练得到的模型, 而验证数据集包含了1万张真图,和1万张Model1&Model2训练中没有出现过的假图。图中展示了Model1和Model2各自的置信度结果(越接近1图像越可能是伪造), 可以看出不同模型对真图(real)预测的置信度都接近0,而对于未见过的假图(fake),置信度则集中分布在0和1附近。这说明,由于真图的特征分布相对于假图更为集中,所以不同模型对真图的识别都较为准确,而对没有见过的假图,模型则展现出一种“迷之自信”,导致置信度在0附近的图片很容易被误分类成真图。而对预测结果计算平均值融合后(Merged),很大一部分图片的置信度会被平均到0.5附近,使得这部分图像很容易与真图区别开来,从而提高了整体的分类精度。

Model 1 & Model2 和 Merged Model测试集置信度概率分布密度
为了提高模型融合的有效性, 需要尽量降低模型之间的相关性。 为此, 团队使用了不同的网络主干、训练样本配置策略、学习率更新策略和迭代次数等训练了超过50个模型。此外, 部分模型进一步固定了初始层的预训练权重, 以防止对于造假细节的过拟合。最终根据模型在验证集上的精度,选择了使用EfficientNet-B6和MPViT-B作为主干的4个模型加入到模型池当中, 而每个模型都来自于不同的训练配置。在模型融合阶段,使用模型池中每个模型预测结果的平均值作为图像最终的置信度。
网易互娱 AI Lab提出的方法在初赛和复赛上均是第一,尤其是在数据完全未知的复赛阶段相对第二名取得了接近1%的AUC提升,将随机图片对的判断错误概率降低了约48%。

IFDC大赛最终排名
边栏推荐
- The rising sun chart effectively shows the hierarchy and ownership of data
- Best practice | how to use Tencent cloud micro build to develop enterprise portal applications from 0 to 1
- [go] goroutine pool
- 2 万字 + 30 张图 | 细聊 MySQL undo log、redo log、binlog 有什么用?
- Rk3399 platform development series explanation (network debugging) 7.32. What is network routing?
- Apple was fined by Dutch regulators, totaling about RMB 180million
- GO语言-接口
- Analysis of China's social financing scale and financing structure in 2021: RMB loans to the real economy account for more than 60%[figure]
- 旭日图有效展示数据的层级和归属关系
- GO语言-方法
猜你喜欢

GO语言-结构体

A pit trodden in the equivalence comparison of integer

C language to achieve three chess (detailed explanation)
![[go] goroutine pool](/img/0c/4e78c59f9b4f963035c911cee3d62d.jpg)
[go] goroutine pool

33岁程序员的年中总结

WSL 2 的安装过程(以及介绍)

GO语言-方法

2 万字 + 30 张图 | 细聊 MySQL undo log、redo log、binlog 有什么用?

Native JS routing, iframe framework

Stm32l431 immediate sleep mode (code + explanation)
随机推荐
真香!十五分钟搞定智能标注、模型训练、服务部署……
三胎终于来了!通用智能规划平台 - APS模块
【贪心】leetcode1005K次取反后数组后的最大值
[Yugong series] February 2022 wechat applet -app Debug JSON configuration attribute
Bookstack: an open source wiki platform
Comprehensive learning notes for intermediate network engineer in soft test (nearly 40000 words)
Unity grid programming 09
Non local network: early human attempts to tame transformer in CV | CVPR 2018
Soft test intermediate network engineering test site
How fragrant! 15 minutes to complete intelligent annotation, model training, service deployment
Select article (039) - when the button is clicked, event What is target?
Live long to see the true chapter
Graph calculation on nlive:nepal's graph calculation practice
MySQL transaction
Design of LVDS interface based on FPGA
2020-11-12 meter skipping
Write commodity table with JSP
A hundred years later, will people use programming languages?
Mid year summary of 33 year old programmer
Solve the problems of English word overflow / word break in WordPress articles