制作“蚂蚁呀嘿”的“变脸”软件Avatarify,它为何爆火,又为何沉寂

3月2日,风靡一周多的“变脸”视频软件Avatarify从ios中国区商店下架。在这一周多的换脸娱乐狂欢中,利用这个软件制作的“蚂蚁呀嘿”视频火爆朋友圈和各大短视频平台。大家纷纷上传自己利用明星照片、卡通头像乃至自己与朋友的合照制作的小视频,收获无数点赞(图一)。如今,狂欢暂告一段落,是时候回头审视这个“变脸”盛宴的始作俑者,以及隐藏在其背后的,且不被大多人关注的,数据伪造与泄露的隐忧。


图一、利用著名球星制作的“蚂蚁呀嘿”视频

Avatarify,程序员居家办公的无聊之作

疫情期间,世界上无数人被迫远程办公,百无聊赖的生活和频繁的视频会议催生了大家的创意,Avatarify就是其中之一。Avatarify源自于单词avatar,原意为“(神的)化身”,后被引申为网络上代表使用者的用户形象或用户头像,avatarify可直译为“头像化”,意为“使变得像你的头像一样”。这个软件项目的初衷是用来改换使用者的视频会议头像,和同事们开个小小的玩笑(图二)。但随着在代码项目托管网站GitHub上日渐受到追捧,软件功能也日益完善,从最开始要求使用者安装编译环境与代码并在高等级的显卡上运行,到推出Windows图形界面和远程运行模式,降低了技术和硬件的门槛;如今又推出手机应用,手指轻点便能将一张张静止的人脸随着音乐律动了起来。虽然“变脸”后的视频并不完美,有些角度甚至还有些扭曲,但不妨碍网友们被魔性的表情洗脑,纷纷上传并转发。类似的“变脸”技术常被称为“深度伪造”(Deepfake)技术,在近几年的网络上屡见不鲜,为何Avatarify能够异军突起,它和之前流行过的“变脸”软件又有什么不同呢?


图二、在视频会议上化身特斯拉CEO伊隆·马斯克,惊艳你的同事

图像动态化,让静止的图像动起来

Avatarify实现的功能被称为“人脸图像动态化”,与之前曾流行过的换脸软件“ZAO”不同,后者将用户上传的人脸替换目标视频中的人脸,这样的技术一般被称为“人脸替换”(Face Swap),而前者则是使用一段包含动作的视频,称为驱动视频(driving video,简称D),驱动用户上传的源图像(source image,简称S)使静止的图像按照视频的方式动起来,称为“图像动态化”(Image Animation)(图三)。图像动态化不仅可用于人脸图像,理论上只要视频和图像素材中包含有相似的物体即可(图四、图五)。

图三、人脸替换vs图像动态化

图四与图五、对人体全身姿态图像和卡通画马的动态化,左边的大图为驱动视频,右边上一行为静止的源图像,下一行为经过图像动态化后的结果。图片选自https://github.com/AliaksandrSiarohin/first-order-model

一阶运动模型,自监督学习无需额外标注数据

Avatarify的技术理论名为一阶运动模型(First Order Motion Model,简称FOMM),来源于一篇名为《图像动态化的一阶运动模型》(First Order Motion Model for Image Animation)的论文,由意大利特伦托大学(University of Trento)的Aliaksandr Siarohin等人发表在NeurIPS 2019上。以往的人脸图像动态化的相关工作往往需要大量的人脸训练图像以及相应的标注信息,且训练好的模型只能应用于特定人脸,而无法应用到未知的人脸中。而FOMM无需大量标注数据,且一旦利用人脸视频等某一类数据完成模型训练,该模型便可直接运用在任何同类图像数据上,无需额外处理。

FOMM包含两个模块,分别为运动提取模块(Motion module)生成模块(Generation module),运动提取模块求取稠密运动场(Dense motion field)\mathcal{\hat{T}}_{S \leftarrow D}和遮挡映射(Occlusion map)\mathcal{\hat{O}}_{S \leftarrow D},稠密运动场\mathcal{\hat{T}}_{S \leftarrow D}作用于源图像S,使其具有与驱动视频帧D相同的动作;遮挡映射\mathcal{\hat{O}}_{S \leftarrow D}用于标记SD的运动发生后原先运动物体遮挡的部分背景,该部分需要在生成模块进行图像补全(Image inpainting);生成模块利用运动提取模块学习到的运动信息对源图像S进行变换,并对生成的图像进行补全和优化。

图六、一阶运动模型(First Order Motion Model,简称FOMM)示意图

1. 运动提取模块

运动提取模块包括两个网络模型,具体如下:

  1. 第一个网络是一个无监督关键点检测模型,将源图像S和驱动视频帧D作为输入,输出两个图像各K个关键点以及各关键点对应的仿射变换(Affine transformation),计算得到SD两帧K个关键点之间对应的稀疏运动场(Sparse motion field)\mathcal{T}_{S \leftarrow D},用来描述两帧之间K个关键点的变换关系。
  2. 第二个网络将K个关键点及对应的稀疏运动场\mathcal{T}_{S \leftarrow D}作为输入,可以得到K+1个mask矩阵M_k和一个遮挡映射\mathcal{\hat{O}}_{S \leftarrow D}M_k可以看做是标记了第k个关键点的周围区域,该区域可以通过该关键点对应的稀疏运动场\mathcal{T}_{S \leftarrow D}进行变换。再额外加上一个M_0标记无需变换的区域,如背景等。稀疏运动场\mathcal{T}_{S \leftarrow D}M_k结合便能得到稠密运动场\mathcal{\hat{T}}_{S \leftarrow D},描述了两帧所有对应像素点的变换关系。

需要特别说明的是,由于DS的关键点差异可能会比较大,作者于是创新性地引入了一个抽象的参考帧R,通过预测\mathcal{T}_{S \leftarrow R}\mathcal{T}_{D \leftarrow R}来计算\mathcal{T}_{S \leftarrow D},具体公式如下:\mathcal{T}_{S \leftarrow D}=\mathcal{T}_{S \leftarrow R}\circ \mathcal{T}_{R \leftarrow D}=\mathcal{T}_{S \leftarrow R}\circ \mathcal{T}^{-1}_{D \leftarrow R}\tag {1}
如此,预测\mathcal{T}_{S \leftarrow D}的问题就转化为了预测\mathcal{T}_{X \leftarrow R}的问题,X为输入图像,比如SD。FOMM利用R的关键点附近的一阶泰勒展开来近似\mathcal{T}_{X \leftarrow R},这也是文章名“一阶运动模型”的由来。
假设pR上的关键点,zX上的关键点,即有z=\mathcal{T}_{X \leftarrow R}(p)\mathcal{T}_{X \leftarrow R}(p)p_k的一阶泰勒展开如下:\mathcal{T}_{X \leftarrow R}(p)=\mathcal{T}_{X \leftarrow R}(p_k) + \left(\frac{d}{dp}\mathcal{T}_{X \leftarrow R}(p)\Bigg|_{p=p_k} \right)(p-p_k)+o(||p-p_k||) \tag{2}
上式右边第一项即为X的一个关键点z_k,第二项即为该关键点对应的仿射变换。此二项即为图像X输入关键点检测网络后的输出。将\mathcal{T}_{S \leftarrow D}同样进行一阶泰勒展开,经推导(详见原文附录)后得到:\mathcal{T}_{S \leftarrow D}(z)\approx \mathcal{T}_{S \leftarrow R}(p_k)+J_k(z-\mathcal{T}_{D \leftarrow R}(p_k)) \tag{3}
其中,J_k=\left( \frac{d}{dp}\mathcal{T}_{S \leftarrow R}(p)\Bigg|_{p=p_k}\right)\left( \frac{d}{dp}\mathcal{T}_{D \leftarrow R}(p)\Bigg|_{p=p_k}\right)^{-1} \tag{4}
这样,\mathcal{T}_{S \leftarrow D}就能唯一由\mathcal{T}_{S \leftarrow R}\mathcal{T}_{D \leftarrow R}决定,而后两者可由关键点检测网络得到。

2. 生成模块

生成模块并不直接对源图像S的像素进行一一变换,而是先将S输入一个下采样卷积编码器得到S的特征映射(feature map),使用\mathcal{\hat{T}}_{S \leftarrow D}对该特征进行变换,注意遮挡映射\mathcal{\hat{O}}_{S \leftarrow D}中标记的遮挡部分不用进行变换;将变换后的特征输入后续的解码器,结合\mathcal{\hat{O}}_{S \leftarrow D}的遮挡区域对图像进行补全并优化。

3. 训练模型,提取运动信息

FOMM模型采用自监督训练方式,利用驱动视频的第一帧(D_1)与第t帧(D_t)作为运动提取模块的输入,即将D_1D_t作为SD,提取D_1D_t的运动信息,将D_1变换为\hat{D}_t,并利用生成的帧\hat{D}_t与原帧D_t计算训练损失。以这样的方式训练FOMM便不需要额外的标签数据

生成帧\hat{D}_t与原帧D_t之间的训练损失,通过将两幅图片分别输入VGG19网络,取其中5层的特征值计算平均L1距离获得。该损失同时在四个图像尺度上进行计算,即将\hat{D}_tD_t下采样至256\times 256, 128\times 128, 64\times 6432\times 32四个尺寸并分别计算5层特征值的平均L1距离,共20个训练损失项。此外,由于图像关键点由无监督关键点检测网络学习而来,特引入关键点不变性约束(equivariance constraint),旨在确保原图与变换后图像关键点的一致性,提高关键点检测准确性。

4. FOMM总结

通过以上的解析,我们可以看出FOMM的有如下优点:无需大量训练数据,无需标注数据,用于训练的视频一旦训练完成可用于变换任一与视频同类型图片(如人脸视频对应人脸图片)。这些优点大大简化了模型的训练流程,对不同的用户上传图像有良好的可迁移性,其便捷程度也无怪乎能成为一款爆款App的核心算法。

“变脸”狂欢,除了娱乐还有隐患

2019年8月,一款名为“ZAO”的换脸软件登上各大手机应用市场的排行榜,大家纷纷用自己打脸扮演着经典的电影桥段,一时间“换脸”视频充斥中文互联网的各个角落。然而还没火几天,ZAO的霸王用户协议便在社交网络广泛传播,其中规定用户上传的人脸内容可被ZAO及关联公司任意使用,风险却仍由用户承担。一时间众人纷纷恐慌自己的脸被滥用,ZAO也随之从各大手机市场下架。彼时彼刻,恰如此时此刻。虽然ZAO与Avatarify的实现功能与底层技术都不尽相同,但同样作为“变脸”软件,它们的用户面临的风险却都不止于此。近年来,这样的“变脸”技术渐渐兴起,隔一段时间就能掀起一个爆款,登上热搜吸引一次眼球。它们还有一个更常见的名字,叫作深度伪造
深度伪造技术,简称深伪,英文为Deepfake,是深度学习(Deep learning)和伪造(fake)的结合。AI技术的蓬勃发展,带来了诸如VAE、GAN等能够生成逼真图像的深度生成模型,而深度伪造技术便脱胎于此。起初,生成一个不存在的人脸,或者交换图中的两个人脸,只是相关研究人员的技术探索,专业的算法知识、大量的计算资源和充足的运算时间缺一不可。然而随着技术的发展,专业的算法被打包成一键式傻瓜操作的手机应用,强大的云计算服务解放了本地计算资源和时间的限制,“变脸”的门槛逐渐消失了,原本需要数天才能在顶级配置的计算机中得到的逼真结果,现在大家掏出手机便能制作。伴随着病毒式的娱乐狂欢,隐患也在悄然浮现。
Deepfake这一名称最早来源于国外制作色情换脸视频的社区,该社区虽然由于涉及色情视频、隐私侵犯等问题已经被封禁,但色情换脸视频仍旧是深度伪造技术最大的隐患,其以极低的成本就能造成当事人名誉与心理上的极大伤害;伪造政界或商界人士的公开讲话,传播虚假观点,有可能导致社会或市场的巨大震动,造成不必要的损失;使用图像动态化技术制作的诸如点头、眨眼的视频,有可能骗过App或门禁系统的人脸认证系统,导致财务失窃与信息丢失;更有甚者,利用伪造的视频降低被伪造人亲友的警惕性,从而实施诈骗等违法犯罪活动。

拒绝隐患,我们在行动

技术无罪,只有合理的监管才能让技术远离作恶。深度伪造技术问世以来,如何检测真伪视频也便成为了关注的焦点。2020年11月,由中央网信办、中国公安部指导,信通院参与协办的中国人工智能·多媒体信息识别技术大赛在厦门举行。本届比赛首次加入了“视频深度伪造”赛项,共34支来自高校、企业与事业单位的队伍参与了比赛,最终排名前三的队伍均达到了世界相似赛事的顶尖水平,反映出各单位在深度伪造检测领域的研究已颇有建树;目前《深度伪造视频检测平台指标要求和评估方法》正处于讨论稿阶段,其规范了测评深伪视频检测平台的方法,并制定了功能与性能评测的指标,未来将作为团体标准并以此开展测试;同时,根据中国人工智能产业发展联盟发布的《可信AI操作指引》,参与开展可信AI试评估,规范AI应用与AI平台搜集与使用人脸数据的行为,确保人脸数据安全。信通院还向各单位征集“深伪”检测系统工具,并提出以下几点建议:

  1. 制作更大规模、更多种类的深伪数据集
  2. 监测国内外深伪动态
  3. 建立“深度伪造云鉴”平台
  4. 开展评估规范研制
  5. 举办技术沙龙、赛事活动

技术在进步,我们在为新的功能欢欣鼓舞时,也要时刻留意随之而来的挑战。中国信通院积极参与深度伪造监管体系的构建,为保障数据安全与个人隐私贡献力量,为可信的AI与网络环境保驾护航。

©著作权归作者所有,转载或内容合作请联系作者
禁止转载,如需转载请通过简信或评论联系作者。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,084评论 6 503
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,623评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,450评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,322评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,370评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,274评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,126评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,980评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,414评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,599评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,773评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,470评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,080评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,713评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,852评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,865评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,689评论 2 354

推荐阅读更多精彩内容