Rigging.js: 让 3D 角色动起来的 react.js 开源应用

本文源于:medal_sports:TFCommunitySpotlight 获胜者:Henry Ruiz :medal_sports: 及他的获胜项目:Rigging.js。

Rigging.js 是一个开源的 react.js 应用,它获取由 TensorFlow.js 模型生成的面部网格关键点,然后将人物在镜头前所做的动作映射到 3D 模型中。从 https://www.mixamo.com/ 下载的任何模型均可以使用。

构建与运行

git clone https://github.com/haruiz/RiggingJs.git
cd RiggingJs
npm install
npm start

尝试使用不同的模型

如上所述,从 https://www.mixamo.com/ 下载的任何模型均可以使用。这些模型是免费的。

项目路线图

此项目尚有许多工作去完成,如果您感兴趣,欢迎加入我们:

  • 3D 角色的自动装配和动画:使用最新的 (SOTA) 深度学习模型
  • 使用 Facemesh 模型产生 3D 表情动画
  • 录制动画

想要了解更多,您可以查看详细的项目 路线图

参与方式

您可随意向 此仓库 发送 PR。

项目所用的第三方库

灵感来源

Pose Animator 2 可对 2D 矢量图进行实时动画化。该实时动画基于 PoseNet 和 FaceMesh 的识别结果。它从计算机图形学中借鉴了基于骨骼的动画的思想,并将其应用于矢量角色。

PoseNet 模型:此 js 包包含有一个称为 PoseNet 的独立模型,以及一些模型演示。在浏览器中使用 TensorFlow.js 运行此模型可获得实时姿势估计。

BodyPix:此 js 包包含一个名为 BodyPix 的独立模型,以及一些演示。在浏览器中使用 TensorFlow.js 运行此模型可获得实时的人和身体部位分割。

MediaPipe FacemeshMediaPipe Facemesh 是一个轻量级的机器学习流水线,可预测 486 个 3D 人脸关键点,以推断出人脸表面的近似几何形状 (https://arxiv.org/pdf/1907.06724.pdf)。

原文:Rigging.js
中文:TensorFlow 公众号