只用一张图,就能让二次元老婆动起来,宛如3D:都是为了科学

2023-11-21 18:20

本文主要是介绍只用一张图,就能让二次元老婆动起来,宛如3D:都是为了科学,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

△童田明治

作者:栗子
来源:量子位( QbitAI)

只要输入一张静态的老婆,就能让她动起来,会张嘴会眨眼,还能东张西望,抬眼看天。仿佛成了3D老婆。

并且,你想让妹子怎样动,姿势都可以定制。比如,渴望她一直对你wink,就调眼睛的参数:

这里有一只造福人类的AI,作者是名叫Pramook Khungurn的死宅少年。

此宅因长期沉迷虚拟偶像小姐姐,想到用深度学习自己做一只,结果成功了。

他把喜讯发上Reddit,7小时热度便突破200点。楼下有小伙伴发来贺电:为了科学!

完全无法反驳。

既然如此,背后的科学究竟是怎样的?

静态老婆动起来

我们先粗略了解一下,打造一只虚拟老婆,原本是个怎样的技术任务。

Pramook说,至少得有一个人物模型,ta的动作要能控制:

一种方法是做3D模型,有些虚拟偶像 (VTuber) 的确是这样诞生的。只是比较贵,需要人物设计师和3D建模师,一人很难完成。如果是没有艺术技能的普通人类,就更做不到了。

另一种是做2D模型,成本比较低,这种方法制造的VTuber更常见。2D人物的动作也会简单一些。

于是Pramook明白了,2D老婆更容易获得。但即便这样,2D模型还是分成几个可动的部分,建模师要把这些部分的动作整合到一起,依然非常耗时。

既然如此,作为一只合格的技术宅,当然要用深度学习,把手动2D建模的繁琐步骤跳过去,直接用一张静态图,生成会动的老婆了。

(至于静态图从哪来,有GAN可以直接生成啊↓↓↓)

△ 来自waifulabs

少年打定主意之后,第一步就是要搞个数据集,才好训练算法:

自制数据集

这里需要的是,标注好姿势的脸部数据集。

如果是真实人脸,就有EmotioNet这样的数据集可以用。但二次元应该还没有这样直接可用的数据集。

少年机智地想到,虽然自己要的是2D老婆,但训练数据可以用3D模型来提取。熟悉初音的他,知道MikuMikuDance里面有大量的3D模型,于是下载了8000多个虚拟人物。

这些人物的动作都可以控制,只要想到一个姿势,就能渲染出一张这种姿势的图片来。

每个3D模型都可以得出成百上千张图,8000多个模型合在一起,就是很大的数据集了。

一个训练实例分三张图,第一张是原图 (直视前方) ,第二张是表情修改后的图 (如闭眼/闭嘴) ,第三张是在第二张基础上转动了脸的朝向。

表情的变化,是由6个参数决定的:两个负责眼睛开闭,一个负责嘴巴开闭,还有三个负责脸部转向 (x、y、z轴) 。

数据集有了,算法又是怎样的呢?

两步走

一是表情变化器 (Face Morpher) ,二是脸部旋转器 (Face Rotator) 。

表情变化器比较简单,少年借用了中选ECCV 2018的GANimation算法:

原理是,把从原图到第二张图之间要发生的变化,用另一张图表示出来。

然后用一个Alpha Mask,把这张图片和原图结合起来,就有了第二张图 (Mask也是网络自己生成的) 。

这个算法很适合用来修改图像的一小部分,比如闭眼。

脸部旋转器就复杂一些,用到了两个互补算法。

其中一个依然是GANimation (下图红框) ,原本它只用来改变表情,但少年又让它去做脸部旋转了。

另一个是来自Zhou等人2016年的视角合成算法 (下图蓝框) ,用来让图片里的3D物体转起来。要做到这一点,网络会计算出一个外观流 (Appearance Flow) :它知道,输出的每个像素,色彩是来自输入中的哪个像素。

外观流擅长保存原图的纹理,生成精细的结果,但不擅长脑补旋转之后才露出的部分 (如下图a) ;

而GANimation生成的图像比较模糊,却能脑补出旋转前没有露出的部分 (如下图b) 。

最后,把两个互补算法输出的结果合为一体,用到的主要是U-Net结构。

现在观看一下成果吧。

顺利迁移

首先,既然AI是用3D模型里提取的图片训练的,就先用3D模型的图片测试一下:

3D考试顺利通过。

那么,输入2D图片也能行么?试一下手绘图:

AI依然没有被难住,不论输入的是彩虹社虚拟偶像的照片,还是用Waifulabs自动生成的新妹子 (上图右) 。

不过,这还不算完。

还能怎么玩

和一个面部追踪算法搭配食用,就能让妹子随着视频里的人脸,做出一样的动作。

比如,输入一段奥巴马的视频,妹子就学着他说起话来:

大叔变老婆,一点也不难。这就是虚拟偶像的本质吧 (误) 。

另外,视频不一定要从网上找,也可以自己录,作者Pramook已经试过了:

这样,教二次元老婆用温柔的表情,说出爱你的话,就可以顺畅地恋爱了。要是找不到可爱的声优,可以考虑一下谷歌娘啊。

一切就等算法开源啦。

论文传送门:
https://pkhungurn.github.io/talking-head-anime/



AI感兴趣的小伙伴,快来加入网易智能社群吧!

和我们一起探讨AI的故事~

网易智能的AI社群有很多种呢~

包括:

AI芯片、医疗AI、金融AI、电商AI、自动驾驶、

教育AI、AIoT、机器人、物流AI、等12个社群哦

快快添加智能菌微信kaiwu_club

说明身份即可加入

我们等着你呦!

这篇关于只用一张图,就能让二次元老婆动起来,宛如3D:都是为了科学的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/404179

相关文章

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

MySQL数据库宕机,启动不起来,教你一招搞定!

作者介绍:老苏,10余年DBA工作运维经验,擅长Oracle、MySQL、PG、Mongodb数据库运维(如安装迁移,性能优化、故障应急处理等)公众号:老苏畅谈运维欢迎关注本人公众号,更多精彩与您分享。 MySQL数据库宕机,数据页损坏问题,启动不起来,该如何排查和解决,本文将为你说明具体的排查过程。 查看MySQL error日志 查看 MySQL error日志,排查哪个表(表空间

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

SAM2POINT:以zero-shot且快速的方式将任何 3D 视频分割为视频

摘要 我们介绍 SAM2POINT,这是一种采用 Segment Anything Model 2 (SAM 2) 进行零样本和快速 3D 分割的初步探索。 SAM2POINT 将任何 3D 数据解释为一系列多向视频,并利用 SAM 2 进行 3D 空间分割,无需进一步训练或 2D-3D 投影。 我们的框架支持各种提示类型,包括 3D 点、框和掩模,并且可以泛化到不同的场景,例如 3D 对象、室

模具要不要建设3D打印中心

随着3D打印技术的日益成熟与广泛应用,模具企业迎来了自建3D打印中心的热潮。这一举措不仅为企业带来了前所未有的发展机遇,同时也伴随着一系列需要克服的挑战,如何看待企业引进增材制造,小编为您全面分析。 机遇篇: 加速产品创新:3D打印技术如同一把钥匙,为模具企业解锁了快速迭代产品设计的可能。企业能够迅速将创意转化为实体模型,缩短产品从设计到市场的周期,抢占市场先机。 强化定制化服务:面

GraphPad Prism 10 for Mac/Win:高效统计分析与精美绘图的科学利器

GraphPad Prism 10 是一款专为科研工作者设计的强大统计分析与绘图软件,无论是Mac还是Windows用户,都能享受到其带来的便捷与高效。该软件广泛应用于生物医学研究、实验设计和数据分析领域,以其直观的操作界面、丰富的统计方法和多样化的图表样式,成为科学研究的得力助手。 数据处理与整理 GraphPad Prism 10 支持从多种数据源导入数据,如Excel、CSV文件及数据库

神经网络训练不起来怎么办(零)| General Guidance

摘要:模型性能不理想时,如何判断 Model Bias, Optimization, Overfitting 等问题,并以此着手优化模型。在这个分析过程中,我们可以对Function Set,模型弹性有直观的理解。关键词:模型性能,Model Bias, Optimization, Overfitting。 零,领域背景 如果我们的模型表现较差,那么我们往往需要根据 Training l

Oracle把一个表的某个字段更新到另一张表中

第一种方法: update tablea set column_name1=(select name2 from tableb where tableb.name3=tablea.name1) 只修改一个 update tablea set column_name1=(select name2 from tableb where tableb.name3='a') where tablea.na