您当前的位置:千讯科技网资讯正文

教你用姿态估量把自己变成3D人物动作实时同步iOS上也能完成

2019-11-11 13:44:01  阅读:1056 作者:责任编辑。王凤仪0768

大数据文摘出品

作者:刘俊寰

不知道从何时开端,3D动画就热起来了,可是许多经典动画3D化后就变味了,人物的肢体动作看上去僵硬了不少。并且,传统3D靠一帧一帧制造,费时吃力。

现在,你就具有一个解救3D动画的时机!

一位日本中二少年自学了机器学习后,就给自己做了个酷炫的模型,可以把自己的动作实时变成流通的3D人物动作,并且整个进程分外的简略易操作。

话不多说先看作用图:

这个推特名为幸彦青柳(Yukihiko Aoyagi)的日本小哥将3D姿态估量与3D开发渠道和一些烘托引擎(比方Unity)相结合,于此更够跟精确地盯梢3D空间中的人体运动。上面的动图便是针对动作的实时估量和生成。

不过惋惜的是,这个项目现在还只支撑单人动作,不能完结双人对打。

项目已经在GitHub上开源:

https://github.com/yukihiko/ThreeDPoseUnitySample?source=post_page-----e74d7d347c2----------------------

趁着它还没刷爆朋友圈,赶忙上手试一试!

用3D姿态估量的Onnx模型移动Unity

青柳君测验过多种完结办法,包含WindowsML,ML.Net,onnx Runtime等,但终究挑选了OpenCVSharp,也便是OpenCV模型导入功用,在Unity中加载和履行Onnx,因为OpenCVSharp在Unity和.Net环境中可以用相同的办法处理,图画也不会被转化为Mat格局。

虽然看上去向理起来很简略,但现在还短少相关数据,青柳君特意总结了他的这次测验,将文章发布在了Qiita上。

相关链接:

https://qiita.com/yukihiko_a/items/386e3a86a5e523757707

有关Onnx的代码部分如下:

模型输入224x224的图画,输出的关节数为24个,热图(Heatmap)为14x14。

2D热图格局是24x14x14,3D的是24x14x14x14。将其作为与热图的坐标偏移值,输出的2D(x,y)变为2x24x14x14,3D(x,y,z)变为3x24x14x14x14。

首要,运用InitonNX()读取Onnx文件。

因为OpenCV的输出是经过Mat目标回来的,需求预备四个数组。

Predict办法参数的Mat目标是正常的CV_8UC3 Mat图画数据,需求将其转化为Blob Mat才干传递给Onnx,这样的一个进程运用BlobFromImage就能完结。

在Output中,“369”和“373”是3D,“361”和“365”是2D。但假如是Mat目标,处理起来就略微杂乱一些,因为还需求将其转化为float数组。

然后,经过改动关节数和热图巨细,找到最大热图。

因为3D是一个相当大的循环,最好再做一些改善,可是因为它现在移动得足够快,坚持原样也能的。

在iOS上也能完结3D姿态估量

上一年的日本黄金周,青柳君第一次触摸机器学习,也一直在3D姿态估量这块有所研讨。

本年3月份,他在iOS上完结了3D姿态估量。据自己推特讲话称,他用了一天时刻学习,然后做出了这个模型。

依据青柳君自己介绍,iOS项目的学习环境是Windows10/PyTorch0.4,履行环境是iPhone XS Max,至于挑选iPhone XS Max的原因,青柳君说,iPhone XS Max的A12处理器功用十分强壮。

仍是先看看作用怎么:

青柳君预备了2D和3D的数据集,2D数据集是利兹运动姿态数据集,利兹运动姿态扩展练习数据集、MPII人类姿态数据集、Microsoft COCO;而3D数据集是原始数据集。

在此之前他还做了许多预备,包含从AssetStore购买的数据等,当然还有Unity。

然后就可经过Unity创立3D人物动画了,创立人物图画和坐标,包含膀子、肘部、手腕、拇指、中指、脚、膝盖、脚踝、脚趾、耳朵、眼睛、鼻子,以输出身体的中心方位,即肚脐。

该数据集因为答应原因成果变得十分杂乱,导致发布失利。

因为这是CG,因而可以随意更改人物的纹路和姿态。开始,他期望更改每个时期数据集的内容,以进步泛化功用,但没有作用,为此大约有100,000个副本用于学习。

即使是用3D版别的图画,也可以照原样学习,最终可以得到类似的图画,可是无法取得预期的功用。

将经过PyTorch学习得到的模型导出到Onnx,用coremltools转化为CoreML模型,此刻就算是估量到了相同的图画,成果也会不一样,所以精确度不知道。

将模型导入Mac,运用XCode的iPhone版别,经过实时捕获后方摄像机图画履行3D估量。

XS Max能以大约40fps的速度运转,可是,一段时刻,手时机变热,速记也会下降至约30fps。假如仅用于学习2D模型,其运转速度会挨近100fps。

因为这是个3D项目,显现时无法从摄像机看到的部分,判别热图的阈值已下降到简直为零。例如,假如手臂正常可见,热图的最大部分为0.5或更高(最大值为1.0);假如看不到手臂,将得到0.2或0.1的值,阈值下降。

但就成果而言,不管身在何处,体系都可以判别为有人。

Adobe发布最新动作追寻软件

上星期,Adobe也发布了一款用于视觉作用和动态图形软件After Effects,该软件的AI功用可以主动盯梢人体运动并将其应用于动画。

简略地说,便是可以把实际人物的动作直接转化成为动画。

与青柳君的机器学习项目的作用相差无几!

Adobe研讨科学家Jimei Yang在演示中说,这一功用运用了Adobe的人工智能渠道Sensei,该渠道用超越10000张图画进行了练习,然后可以辨认人体的要害点。

据了解,人体盯梢器在源视频中可以检测到人体的运动,臂膀、躯干和腿部的18个关节点将生成相关盯梢点,然后将盯梢点转移到动画人物上,运用该功用,快速创立2D人物动画底子不在话下!

怎么样,有没有觉得打开了新世界的大门?

当然,关于姿态估量的完结还远远不止现在的程度,未来期望不仅是青柳君和Adobe,有更多人都参加到这个范畴的研讨和学习中来,促进相关范畴的开展。

点「在看」的人都变好看了哦!

“如果发现本网站发布的资讯影响到您的版权,可以联系本站!同时欢迎来本站投稿!