“蚂蚁呀嘿,蚂蚁牙呼,蚂蚁牙呼呼呼~”
好洗脑的节奏啊~
相信不少朋友跟「架构精进之路」作者一样,这个元宵节周末就被这首“蚂蚁呀嘿”刷屏、洗脑了。
这个BGM原本出自新加坡歌手郭美美的《不怕不怕》(由 Dragostea Din Tei演唱的O-Zone改编而来),被网友们戏称为“蚂蚁呀嘿”。
其中,德云天团也齐刷刷,以搞怪亮相出场。
而以“蚂蚁呀嘿”为BGM的特效,仅仅在抖音平台上的超话,截止发稿前,已经达到了近20亿。
其实,这个“蚂蚁呀嘿”并不是抖音特效,而是出自国外的一款软件—Avatarify。
关于Avatarify
大家初次看到“Avatarify”可能会有种莫名的熟悉感。
这款软件最早出现在2020年初,当时因一则“马斯克换脸”视频在国内外一度刷屏。
年初,新冠疫情在全球迅速蔓延,很多人被迫宅在办公,一位来自俄罗斯的程序员Ali Aliev觉得整天在家里开视频会议太无趣,他决定用AI换脸恶搞一下同事,于是就有了Avatarify。 在视频通话过程中,Ali Aliev用Avatarify软件把自己的头像换成了世界首富马斯克,同事们看到大佬出现在了会议中,一时也是惊呆了。
可以看出,视频中的AI换脸从五官、发型的效果非常好看不出一点破绽,而且如果讲话面部表情也随之微动,不过不能讲话,一讲话可能就露馅了。 这则恶搞视频发布到YouTube网站后,受到网友们热捧,该项目在 GitHub平台也迅速登上了热榜。
因为当时还是一个代码库,用户需要有一定的机器学习基础,才能在电脑上设置,其火爆程度远不如今日。
正是考虑到这一点,最近作者Ali Aliev将Avatarify做成了一个APP的形式,大大降低了用户的使用门槛。
关于如何制作作品,在此就不做过多介绍了,主要介绍下实现原理。
实现原理
其实有趣的点在于:如何通过AI,来搞定各图片人物实现一致动作的呢?(让一张照片动起来,人脸跟着音乐一起挤眉弄眼)
这需要一个叫做:一阶运动模型 (First Order Motion Model)来搞定。
一阶运动模型:该技术原理借鉴了去年意大利特伦托大学的一项研究,入选了NeurIPS 2019 论文「First Order Motion Model for Image Animation」。
一阶运动模型的思想是用一组自学习的关键点和局部仿射变换来建立复杂运动模型。
通过这个模型,可以轻易地让让静态的马跑起来,效果如下图所示:
模型框架主要由2部分构成,运动估计模块和图像生成模块。
运动估计模块的目的,是预测一个密集的运动场。研究人员假设存在一个抽象的参考框架,并且独立估计两个变换,分别是「从参考到源」和「从参考到驱动」,这样就能够独立处理源帧和驱动帧。
而这两种变换,通过使用以自监督方式学习的关键点来获得。利用局部仿射变换对每个关键点附近的运动进行建模。
(1)首先进行关键点检测,然后根据关键点,进行运动估计,最后使用图像生成模块,生成最终效果。
(2)在运动估计模块中,该模型通过自监督学习将目标物体的外观和运动信息进行分离,并进行特征表示。
(3)而在图像生成模块中,模型会对目标运动期间出现的遮挡进行建模,然后从给定的图片中提取外观信息,结合先前获得的特征表示,生成图片。
作者使用该算法在四个数据集上进行了训练和测试。
数据集包括:VoxCeleb 数据集、UvA-Nemo 数据集、The BAIR robot pushing dataset、作者自己收集的数据集。
其中,VoxCeleb 是一个大型人声识别数据集。 它包含来自 YouTube 视频的 1251 位名人的约 10 万段语音,同时数据基本上是性别平衡的(男性占 55%),这些名人有不同的口音、职业和年龄。
除了需要用到这个一阶运动模型,还需要使用 OpenCV 和 ffmpeg 做视频、音频和图像的处理。
后续
作为技术同学,是不是仅仅使用AI特效还不过瘾呢?是不是想自己亲手搭建环境来实现一番呢?
更多资料信息,欢迎关注「架构精进之路」本公众号,在底部菜单栏回复关键字「MYYH」,即可免费获取关于算法原理、环境搭建及实现等资料信息。
技术参考资料:
- END -
往期热文推荐:
「技术架构精进」专注架构研究,技术分享