专栏首页Jack-Cui二次元的正确打开方式

二次元的正确打开方式

本文 GitHub https://github.com/Jack-Cherish/PythonPark 已收录,有技术干货文章,整理的学习资料,一线大厂面试经验分享等,欢迎 Star 和 完善。

一、前言

大家好,我是 Jack 。

去年发表的「Talking Head Anime」大家都看过了吧?

最近,这位谷歌工程师对算法进行了升级,「Talking Head Anime 2」效果更好

只需要一张 PNG 二次元角色图片,就可以生成虚拟偶像,生成带面部表情捕捉的 Vtuber 角色。

二次元的正确打开方式

老规矩,今天就教大家怎么玩!

二、算法原理

算法的核心思想是:给定某个动漫人物的一张人脸图像和六轴的姿态信息(Pose),生成同一人物的另一张人脸图像。

通过实时控制六轴的姿态信息(Pose),来达到实时控制动漫人物的效果。

整个过程分类两个步骤:

  • 第一步:改变面部表情,即控制眼睛和嘴的开闭程度。
  • 第二步:人脸旋转。

每一步都使用单独的一个网络,并将第一个网络的输出作为第二个网络的输入。

第一个网络为人脸变形器,第二个网络为人脸旋转器。

为了获得更好的面部动作,作者本次升级将姿态维度增加到了 42 维

同时在人脸变形器中增加了眉毛、眼睛、嘴巴形变器。

眉毛变形器:可以分割出眉毛,并控制眉毛扭曲的形状。

眼睛和嘴巴变形器的网络也是类似操作。

更具体的原理,详见作者的论文:

https://pkhungurn.github.io/talking-head-anime-2/

三、算法测试

「Talking Head Anime 2」还没有开源,不过应该马上就有了。

着急,可以先玩一玩「Talking Head Anime」,效果也很不错,同时也算为第二代做环境的准备了。

项目地址:

https://github.com/pkhungurn/talking-head-anime-demo

第一步:配置开发环境。

依赖不多,使用 Anaconda 配置安装下即可。

这里有详细的环境配置教程:《一劳永逸的 Python 开发环境搭建

第二步:下载代码和权重文件。

一共四个权重文件,下载好并它们放在工程目录的 data 目录下。

我将代码和权重文件,进行了打包,可以直接下载使用(提取码:jack):

https://pan.baidu.com/s/1MlBYx2EhyZgRoD7nXWayBA

第三步:运行程序。

python app/manual_poser.py

超级简单,运行效果:

四、总结

很期待第二个优化版本,效果绝对更好!

真实人脸也是可以这样控制的,只是需要的维度更多,数据更多。

现在各种虚拟主播已经登场了,在直播领域上线了不少相关产品,后续这类技术会做的越来越好。

三次元的人脸模型驱动也将不在话下。

我是 Jack,我们下期见。

文章首发链接: 二次元的正确打开方式

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Generator的正确打开方式

    贾顺名
  • Hadoop的正确打开方式

    关于 Hadoop 所谓的消亡,以及它跌落神坛的报道数不胜数。有很多人放马后炮说,Hadoop 从一开始就没有意义。还有人说“Hadoop 对于小型,临时的工作...

    挖掘大数据
  • Phantomjs的正确打开方式

    專 欄 ❈ 作者:nmask 博客地址: https://thief.one/ ❈ 前段时间分析了Selenium+Phantomjs的使用方法以及性能优化问...

    Python中文社区
  • DependencyProperty.UnsetValue 的正确打开方式

    2017-10-10 15:21

    walterlv
  • 打开orika的正确方式

    缘起 架构分层 开发分布式的项目时,DO持久化对象和DTO传输对象的转换是不可避免的。集中式项目中,DO-DAO-SERVICE-WEB的分层再寻常不过,但分布...

    kirito-moe
  • Generator的正确打开方式

    代码运行后,我们首先会得到一条cooking的log, 然后在3s后会再次得到一条log。

    贾顺名
  • NSNotificationCenter.addObserverForName的正确打开方式

    Apple 在 iOS4 中添加 addObserverForName 方法,给予开发者可以在block中处理 Notification 通知的便捷方法。

    剑行者
  • Pipeline Review的正确打开方式

    Pipeline review这个词可能在外企销售中的刺耳排名中名列前茅。因为它经常会从常规会议变成类似法庭审讯。以下是销售Manager典型审讯句式:

    臭豆腐
  • GoCD的正确打开方式|洞见

    事件:ThoughtWorks在2016年11月发布的技术雷达中将“Jenkins as a deployment pipeline”列为了“暂缓”。 Jenk...

    ThoughtWorks
  • 打开Shapefile文件的正确方式

    Shapefile文件是美国ESRI公司发布的文件格式,因其ArcGIS软件的推广而得到了普遍的使用,是现在GIS领域使用最为广泛的矢量数据格式。官方称Shap...

    卡尔曼和玻尔兹曼谁曼
  • Android中LayoutInflater.inflater()的正确打开方式

    LayoutInflater在开发中使用频率很高,但是一直没有太知道LayoutInflater.from(context).inflate()的真正用法,今天...

    砸漏
  • FPGA复位的正确打开方式

    本篇文章参考Xilinx White Paper:Get Smart About Reset: Think Local, Not Global

    猫叔Rex
  • 日光灯的正确打开方式

    昨晚家里日光灯坏了,灯管两头微微亮,中间部分点不亮。老婆觉着是灯管坏了,但我凭借书本上日光灯知识的理解,觉得是镇流器坏了,达不到高电压。我们带着灯管去五金店,试...

    光学小豆芽
  • Euserv正确打开优化方式

    Euserv,盛名远扬【老白嫖怪了】,但是如何合理打开它,却是一个难题。这篇文章就是简单讲讲合理使用其免费的纯IPv6小鸡

    ChenYFan
  • [译] 论 Android 中 Span 的正确打开方式

    Android 开发者
  • Git 工作流的正确打开方式

    前言 一直在使用git做版本控制,也一直工作很顺利,直到和别人发生冲突的时候。这才注意到git 工作流并不是那么简单。比如,之前遇到的清理历史。百度到的资料很...

    Ryan-Miao
  • “云计算+DevOps”的正确打开方式

    以我们的经验看,技术和工具是很重要,但是技术和工具本身却不能产生价值,而将DevOps和云计算结合却可以。事实上,云计算的特性决定了,云计算和DevOps势必如...

    静一
  • 打开栅格数据的正确方式

    下面的例子打开一副GeoTIFF影像,输出了影像的一些信息,然后遍历了所有波段,输出波段的一些信息

    卡尔曼和玻尔兹曼谁曼
  • 中国地图的正确打开方式

    剧集中,使用的一幅动画地图在绝大部分中国版图都着亮色的情况下,原本属于中国的海南岛和台湾岛却被排除在外,中印边境东西两段的划分也有问题。此事在社交媒体上引发热议...

    zhangqibot

扫码关注云+社区

领取腾讯云代金券