文 / Dan Oved, 纽约大学,Tyler Zhu,Google Research
编辑 / Irene Alvarado, Google 创意实验室创意技术专家
之前,我们发布了 BodyPix 2.0,此版本支持多人模式并且准确率更高(在 ResNet50 的基础上),同时具有全新 API 与权重量化功能,可支持不同大小的图像。欢迎在浏览器中在线试用演示版,并访问我们的 GitHub 代码库。
新的演示版https://storage.googleapis.com/tfjs-models/demos/body-pix/index.html
GitHubhttps://github.com/tensorflow/tfjs-models/tree/master/body-pix
BodyPix 2.0 可支持多人模式并且准确率更高(在 ResNet50 的基础上)
我们很高兴宣布推出 BodyPix,这是一种开源的机器学习模型,可在浏览器中使用 TensorFlow.js 对人物及身体部位进行分割。默认设置下,该模型可在 2018 版 15 英寸 MacBook Pro 以及 iPhone X 上分别以 25 fps 和 21 fps 的帧率,估测及渲染人物及身体部位的分割。
BodyPixhttps://github.com/tensorflow/tfjs-models/tree/master/body-pix
TensorFlow.js
https://tensorflow.google.cn/js
人物分割究竟是什么?在计算机视觉中,图像分割是指将图像中的像素分成几组特定语义区域的技术(通常用于确定对象和边界)。
研究期间,我们训练 BodyPix 模型对人物及 24 个身体部位(如左手、右前小腿或后背等部位)执行此项操作。换言之,BodyPix 可将图像的像素分为以下两类:
表示人物的像素
表示背景的像素
其还可将表示人物的像素进一步分类为 24 个身体部位中的任一个部位。
若您尝试实时演示版,这一切可能会更易理解。
实时演示版https://storage.googleapis.com/tfjs-models/demos/body-pix/index.html
人物分割有何用途?这项技术可当作一个工具,其广泛应用于多个领域,包括增强现实、摄影编辑以及图像或视频的艺术效果等。最终具体用途由您来决定!去年,当我们推出 PoseNet(首个能够在浏览器中使用简易网络摄像头估测身体部位(这便是 Kinect 的功能)的模型)时,人们便对此项技术设想出各种应用场景。我们希望 BodyPix 同样能用于开展同样有趣的创意实验。
PoseNethttps://blog.tensorflow.org/2018/05/real-time-human-pose-estimation-in.html
各种应用场景https://github.com/labofoz/handsfree.js
为何要在浏览器中执行此操作?与 PoseNet 的情况类似,我们过去只能借助专用硬件,或对系统要求严苛且安装难度较高的软件,才能进行实时人物分割。相比之下,采用这种方法,您无需执行安装步骤,而仅凭几行代码即可使用 BodyPix 和 PoseNet。使用这些模型时,因为其能与任何基本的网络摄像头或手机相机配合使用,所以您无需装配任何专用摄像头。除此之外,用户只需打开网址即可访问这些应用。由于所有计算均在设备上完成,数据无需离开设备,也保护了隐私。鉴于以上所有原因,我们认为,对于艺术家、创意程序员和编程新手而言,BodyPix 是一个可轻松上手的工具。
设备上https://techcrunch.com/2017/08/03/edge-computing-could-push-the-cloud-to-the-fringe/
BodyPix 入门指南
让我们深入了解使用此模型的技术细节。BodyPix 可用于将图像分割为人物像素和非人物像素。人物像素又可进一步分类为 24 个身体部位中的任一部位。重要的是,此模型仅适用于单个人物,因此请确保您的输入数据不包含多个人。
第 1 部分:导入 TF.js 和 BodyPix 库
让我们回顾一下有关如何建立 BodyPix 项目的基础知识。
您可通过以下代码:npm install @tensorflow-models/body-pix 安装此库,然后使用 es6 模块将其导入:
import * as bodyPix from '@tensorflow-models/body-pix';
async function loadAndUseBodyPix() {
const net = await bodyPix.load();
// BodyPix model loaded
}
您也可通过网页中的软件包将其导入,无需执行任何安装步骤:
<