草庐IT

警惕AI复制,几张图片就能实现视频伪造

Yunlord 2023-04-21 原文

CSDN话题挑战赛第1期
活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f
参赛话题:哪项人工智能技术使你感受到了神奇?
话题描述:在你漫长炼丹之旅,哪一项人工智能技术最让你印象深刻?


前言

前端时间悬疑剧《猎罪图鉴》热播,其中一个利用AI技术换脸进行诈骗的剧情,不少人被骗得倾家荡产,最终酿成自杀身亡的悲剧。而这不仅在影视剧中才能出现,在现实生活中,已经出现了不少AI变声换脸诈骗。

首先诈骗团伙通过电话录音等方式提取到声音素材,再在网上搜集公众发布的照片、视频等信息,通过AI技术将所搜集的素材进行合成,这样一个难以用肉眼进行区分的“伪视频”就制作完毕。

而这其实就是深伪技术。它是一种人工智能深度学习技术,通过对伪造事物的识别,再经过分析学习,当样本量足够多时,人工智能就会掌握原对象的特征。学习完成后,计算机就可以将人物形象、语言、背景拼合成近似完美的虚拟人物,这样,一段高仿视频就制作完毕。

上述过程看上去很难,但是随着技术的不断发展,使用门槛也在不断降低,通过一些开源软件,非专业的人员也能完成视频伪造。

而今天将介绍这项技术:DeepFake,能够实现AI换脸,然后再谈谈这个问题带来的影响以及如何解决这个问题

一、DeepFake技术介绍

深度伪造一词译自英文“Deepfake”(“deep learning”和“fake”的组合),最初源于一个名为“deepfakes”的Reddit社交网站用户, 该用户于2017年12月在 Reddit 社交网站上发布了将斯嘉丽·约翰逊等女演员的面孔映射至色情表演者身上的伪造视频。
Deepfake目前在国际上并没有公认的统一定义, 美国在其发布的《2018 年恶意伪造禁令法 案》中将“deep fake”定义为“以某种方式使合理的观察者错误地将其视为个人真实言语或行为的真实记录的方式创建或更改的视听记录”, 其中“视听记录”即指图像、视频和语音等数字内容。

视频伪造:

视频伪造是Deepfake技术最为主要的代表,制作假视频的技术也被称为AI换脸技术(AI face swap)。其核心原理是利用生成对抗网络或者卷积神经网络等算法将目标对象的面部“嫁接”到被模仿对象上。由于视频是连续的图片组成,因此只需要把每一张图片中的脸替换,就能得到变脸的新视频。具体而言,首先将模仿对象的视频逐帧转化成大量图片,然后将目标模仿对象面部替换成目标对象面部。最后,将替换完成的图片重新合成为假视频,而深度学习技术可以使这一过程实现自动化,主要采用自动编解码器以及生成对抗网络技术

二、实现途径

接下来将介绍如何使用DeepFaceLab开源项目进行AI换脸。

首先我们需要从GitHub上克隆该项目DeepFaceLab,如下图所示:

这里面包含两个文件夹,和一堆bat批处理指令。

  • internal:存放源代码相关的内容
  • workspace:工作目录
  • bat: 脚本批处理文件,调用代码

执行步骤:

  1. 源视频转成图片(源图片)
  2. 目标视频转成图片(目标图片)
  3. 从源图片中提取源脸部信息
  4. 从目标图片中提取目标脸部信息
  5. 使用脸部信息头像训练模型(Model)
  6. 使用模型进行图片换脸
  7. 将换完脸的图片合成视频导出

三、效果展示

经过几个小时的训练,合成视频结果如下所示:

还有一些有趣的效果,如影视剧角色换脸!!!

高伟光沈腾AI换脸

四、总结

从AI换脸这一技术诞生起,大众对它的争议就从未停止过。诚然,每一项新兴技术给我们带来了便利,也存在着颠覆伦理道德和冲击安全底线的风险,急需行为道德和法律规范的双重约束。

而分享出这篇文章,会不会有人在本文的启发下做出恶意行为呢?事实上,不论是否由本文来介绍,该技术事实上就是存在的!

我们更加需要做的是唤醒更多人在虚假视频这方面的安全意识,从而促进研究相关的反制措施,分享出本文,利远大于弊。

最后也是最重要的,那就是在坚守道德底线的同时,始终记得科技是服务于我们的工具,而不是控制我们的漩涡。

参考:

百度安全验证


CSDN话题挑战赛第1期活动详情地址:https://marketing.csdn.net/p/bb5081d88a77db8d6ef45bb7b6ef3d7f

有关警惕AI复制,几张图片就能实现视频伪造的更多相关文章

  1. ruby - 如何根据特征实现 FactoryGirl 的条件行为 - 2

    我有一个用户工厂。我希望默认情况下确认用户。但是鉴于unconfirmed特征,我不希望它们被确认。虽然我有一个基于实现细节而不是抽象的工作实现,但我想知道如何正确地做到这一点。factory:userdoafter(:create)do|user,evaluator|#unwantedimplementationdetailshereunlessFactoryGirl.factories[:user].defined_traits.map(&:name).include?(:unconfirmed)user.confirm!endendtrait:unconfirmeddoenden

  2. ruby-on-rails - Ruby on Rails - 为文本区域和图片生成列 - 2

    我是Rails的新手,所以请原谅简单的问题。我正在为一家公司创建一个网站。那家公司想在网站上展示它的客户。我想让客户自己管理这个。我正在为“客户”生成一个表格,我想要的三列是:公司名称、公司描述和Logo。对于名称,我使用的是name:string但不确定如何在脚本/生成脚手架终端命令中最好地创建描述列(因为我打算将其设置为文本区域)和图片。我怀疑描述(我想成为一个文本区域)应该仍然是描述:字符串,然后以实际形式进行调整。不确定如何处理图片字段。那么……说来话长:我在脚手架命令中输入什么来生成描述和图片列? 最佳答案 对于“文本”数

  3. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  4. 基于C#实现简易绘图工具【100010177】 - 2

    C#实现简易绘图工具一.引言实验目的:通过制作窗体应用程序(C#画图软件),熟悉基本的窗体设计过程以及控件设计,事件处理等,熟悉使用C#的winform窗体进行绘图的基本步骤,对于面向对象编程有更加深刻的体会.Tutorial任务设计一个具有基本功能的画图软件**·包括简单的新建文件,保存,重新绘图等功能**·实现一些基本图形的绘制,包括铅笔和基本形状等,学习橡皮工具的创建**·设计一个合理舒适的UI界面**注明:你可能需要先了解一些关于winform窗体应用程序绘图的基本知识,以及关于GDI+类和结构的知识二.实验环境Windows系统下的visualstudio2017C#窗体应用程序三.

  5. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  6. 动漫制作技巧如何制作动漫视频 - 2

    动漫制作技巧是很多新人想了解的问题,今天小编就来解答与大家分享一下动漫制作流程,为了帮助有兴趣的同学理解,大多数人会选择动漫培训机构,那么今天小编就带大家来看看动漫制作要掌握哪些技巧?一、动漫作品首先完成草图设计和原型制作。设计草图要有目的、有对象、有步骤、要形象、要简单、符合实际。设计图要一致性,以保证制作的顺利进行。二、原型制作是根据设计图纸和制作材料,可以是手绘也可以是3d软件创建。在此步骤中,要注意的问题是色彩和平面布局。三、动漫制作制作完成后,加工成型。完成不同的表现形式后,就要对设计稿进行加工处理,使加工的难易度降低,并得到一些基本准确的概念,以便于后续的大样、准确的尺寸制定。四、

  7. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

  8. TimeSformer:抛弃CNN的Transformer视频理解框架 - 2

    Transformers开始在视频识别领域的“猪突猛进”,各种改进和魔改层出不穷。由此作者将开启VideoTransformer系列的讲解,本篇主要介绍了FBAI团队的TimeSformer,这也是第一篇使用纯Transformer结构在视频识别上的文章。如果觉得有用,就请点赞、收藏、关注!paper:https://arxiv.org/abs/2102.05095code(offical):https://github.com/facebookresearch/TimeSformeraccept:ICML2021author:FacebookAI一、前言Transformers(VIT)在图

  9. 【Java入门】使用Java实现文件夹的遍历 - 2

    遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg

  10. ruby - Arrays Sets 和 SortedSets 在 Ruby 中是如何实现的 - 2

    通常,数组被实现为内存块,集合被实现为HashMap,有序集合被实现为跳跃列表。在Ruby中也是如此吗?我正在尝试从性能和内存占用方面评估Ruby中不同容器的使用情况 最佳答案 数组是Ruby核心库的一部分。每个Ruby实现都有自己的数组实现。Ruby语言规范只规定了Ruby数组的行为,并没有规定任何特定的实现策略。它甚至没有指定任何会强制或至少建议特定实现策略的性能约束。然而,大多数Rubyist对数组的性能特征有一些期望,这会迫使不符合它们的实现变得默默无闻,因为实际上没有人会使用它:插入、前置或追加以及删除元素的最坏情况步骤复

随机推荐