Protecting World Leaders Against Deep Fakes(CVPR 2020)

Protecting World Leaders Against Deep Fakes(CVPR 2020)文章目录IntroductionInnovationMethodExperimentProtectingWorldLeadersAgainstDeepFakes(CVPR2020)paperPDFIntroduction深度学习的应用促使了人脸伪造技术的巨大进步。现有AI-合成的人脸伪造方式可以分为以下三种:faceswap:将视频中出现的人脸替换为其他人的脸,一般对整个面部进行对齐和替换lip-sync:使得视频中的人物口型按照既定音频变化,一般仅伪造目标的唇部区域pupp

大家好,又见面了,我是你们的朋友全栈君。

Protecting World Leaders Against Deep Fakes(CVPR 2020)
paper PDF

Introduction

深度学习的应用促使了人脸伪造技术的巨大进步。现有AI-合成的人脸伪造方式可以分为以下三种:

  1. face swap:将视频中出现的人脸替换为其他人的脸,一般对整个面部进行对齐和替换
  2. lip-sync:使得视频中的人物口型按照既定音频变化,一般仅伪造目标的唇部区域
  3. puppet-master:使视频中人物做出给定的面部表情,包括头部运动,一般需要对视频中人脸建立3D模型,并对唇部区域进行伪造

对图像和视频进行认证是一个悠久的话题,有大量的文献提出各种各样的方式。但利用人工智能合成是一个相对较新的技术,目前对该方面的认证技术还不够完善。现有的一些研究者试图通过发掘伪造过程中出现图像中存在的pixel-level的“痕迹”进行伪造检测。但是这种认证方式无疑对如图像压缩、resize、噪声等渲染攻击十分脆弱。

本文发现不同人在说话时,面部表情和头部运动存在明显的模式差异。而在上述的三种伪造方式中都对这种模式造成了破坏(即视频中的人脸区域发生了篡改,导致人物说话时面部表情和头部运动的模式与人物身份不相符)。利用这种方式,建立国家领导人个人的soft-biometric模型,并使用这些模型来区分视频的真假。

Innovation

  1. 对具体人物说话时面部表情和头部运动模式进行建模(20种面部运动单元的相关性),通过判断视频中人物所表现的说话模式是否与所建立的模型一致来判断是否是伪造视频。这种方式提取的高层特征,对压缩、resize等攻击具有较强的鲁棒性。

Method

利用OpenFace2对视频中的人脸提取以下20种运动单元的强度和发生情况。

inner brow raiser (AU01), outer brow raiser (AU02), brow lowerer (AU04), upper lid raiser (AU05), cheek raiser (AU06), lid tightener (AU07), nose wrinkler (AU09), upper lip raiser (AU10), lip corner puller (AU12), dimpler (AU14), lip cor- ner depressor (AU15), chin raiser (AU17), lip stretcher (AU20), lip tightener (AU23), lip part (AU25), jaw drop (AU26), head rotation about the x-axis (pitch),head rotation about the z-axis (roll),the 3-D horizontal distance between the corners of the mouth (mouthh),the 3-D vertical distance between the lower and upper lip (mouthv).

利用Pearson correlation计算这些运动单元之间的线性关系,以此来表征一个人的头部运动特征。一共有20种运动单元,共产生 C 20 2 = 20 × 19 ÷ 2 = 190 C_{20}^{2}=20 \times 19 \div 2=190 C202​=20×19÷2=190维特征。通过某一具体领导人的视频数据集提取的该种特征来训练**one-class support vector machine (SVM)**模型,模型结果反应视频种该领导人是否伪造。对190维特征进行t-SNE可视化显示了这种特征的身份相关性。

在这里插入图片描述

Experiment

下表上半部分显示的是基于190个特征的奥巴马视频的准确度。前四行对应10秒clips的精度,后四行对应全视频片段的精度。10秒clips和完整片段的平均AUC值分别为0.93和0.98。其中lip-sync类型的视频,伪造检测的准确度较低,AUC分别为0.83和0.93,这可能是因为与其他伪造方式相比,lip-sync只篡改了嘴部区域。因此,许多面部表情和动作被保存在这些虚假视频中。作者提出可以考虑加入语言模型,获得特定人物说话时所说语言和唇部运动的相关模式来优化这方面的缺陷。
在这里插入图片描述

为了进一步选择合适的特征来区分不同人物的面部表情和头部运动模型,作者进行了从选择最优的一个特征,到选择全部190个特征进行训练。发现训练的准确率在29个特征时到达稳定水平,如下图:
在这里插入图片描述
鲁棒性研究,作者分别进行了压缩测试、视频长度测试。测试结果表明该种方式能够对视频的压缩和长短具有较强的鲁棒性。考虑到一个人的说话风格和面部行为可能会随着说话的语境而变化 ,作者也进行了不同语境下模型准确率的实验。测试结果显示不同的语境对测试结果有较大的影响,尤其是当说话者没有面对镜头的时候,这种运动单元的可靠性会大大降低。作者也提出扩大训练数据集、寻找更加鲁班的模式特征等方式以进一步改进模型效果。或者通过语言分析抓住说话内容和说话方式之间的相关性来扩充该模型。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/141385.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • java定时器实例_Java定时器小实例

    java定时器实例_Java定时器小实例有时候,我们需要在Java中定义一个定时器来轮询操作,比如每隔一段时间查询、删除数据库中的某些数据等,下面记录一下一种简单实现方式1,首先新建一个类,类中编写方法来实现业务操作publicclassMailQuartz{@AutowiredprivateMailServiceImplsendMail;@AutowiredprivateTimerServiceImpltimerService…

    2022年9月18日
  • ubuntu dock栏_ubuntu安装sudo命令

    ubuntu dock栏_ubuntu安装sudo命令点击打开链接苹果的MACOS里的dock任务栏让人印象深刻。Dock是苹果公司MacOSX操作系统,及其始祖NeXTSTEP和OPENSTEP操作系统中重要组成部分。在NewtonOS中也有dock概念的一些早期例子。现在在不同操作系统中有很多不同的dock程序。在ubuntu等linux系统中,现在已经可以非常方便的安装使用dock任务栏了,因为很多仿doc

    2022年9月11日
  • vs中没有vc_vs中的控件

    vs中没有vc_vs中的控件#include头文件fstream包含了ifstream、ofstream、fstream三个类,可以通过定义这三个类的对象来实现相对应的文件操作。#includeofstream//文件写操作,内存写入存储设备ifstream//文件读操作,存储设备读取到内存中fstream//读写操作,对打开的文件可进行读写操作1.打开文件函数open()public…

    2022年9月17日
  • google搜索方法_搜索引擎小技巧

    google搜索方法_搜索引擎小技巧原文地址:https://www.imooc.com/article/4071列举几个常用的技巧,日常够用。1.使用双引号包含关键词,实现准确完全匹配搜索例如:“李白”“李荣浩”“k8s”2.使用减号排除搜索结果例如:“狗”-泰迪(搜索狗,但是排除泰迪关键词)3.同义词搜索例如:“南信大~大学”4.逻辑搜索例如:“南信…

    2022年9月10日
  • 插值算法及matlab实现,MATLAB 插值算法实现

    插值算法及matlab实现,MATLAB 插值算法实现1.高斯插值functionf=Gauss(x,y,x0)if(length(x)==length(y))n=length(x);elsedisp(‘x和y的维数不相等!’);return;endxx=linspace(x(1),x(n),(x(2)-x(1)));if(xx~=x)disp(‘节点之间不是等距的!’);return;endif(mod(n,2)==1)if…

    2022年5月31日
  • pycharm中使用pyinstaller 来打包程序「建议收藏」

    pycharm中使用pyinstaller 来打包程序「建议收藏」本章是有关pyqt5最后一个简单的东西了,目前我使用pyqt5还是比较少的,如果以后需要其他项目的时候在记录吧,也是对2020年最后一天的结束吧。首先通过pycharm下载pyinstaller.下载后添加额外工具:name为:pyinstallerDescription:forpacketwindowsexeprogram:找到那安装包路径Argument中写:-F-w$FileNameWithoutExtension$.pyworki…

    2022年8月28日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号