浏览器上跑:TensorFlow发布实时人物分割模型,秒速25帧,24个部位(tensorflow.net)

2023-03-10 01:43:32

 

分栗子 发自 凹非寺 量子位 出品 | 公众号 QbitAI TensorFlow开源了一个实时人物分栗子 发自 凹非寺量子位 出品 | 公众号 QbitAI

TensorFlow开源了一个实时人物分割模型,叫BodyPix这个模型,在浏览器上用TensorFlow.js就能跑而且,帧率还很可观,在默认设定下:用2018版15吋MacBook Pro跑,每秒25帧

用iPhone X跑,每秒21帧注意,有线上Demo可以玩耍怎样分割在BodyPix眼里,人体可以分成24个部位比如,左手、右前小腿、后背等等对每个像素来说,模型首先需要判断,它是不是人体的一部分

打开凤凰新闻,查看更多高清图片如果判断属于人体,再分辨它到底在人体的哪个部位:

这样,黑色剪影就变成了色彩丰富的分割成果开始食用现在,来仔细看一下,这个模型该怎么用首先明确,如果不和其他模型搭配的话,BodyPix只适用于单人影像第一部分:导入用npm install @tensorflow-models/body-pix安装,然后用es6模块来导入:。

1import * as bodyPix from @tensorflow-models/body-pix; 23async function loadAndUseBodyPix() {4   const net = await bodyPix.load();

5   // BodyPix model loaded6}或者,通过页面上的bundle来食用,就不用安装了:1  2      3           4         "https://cdn.jsdelivr.net/npm/@tensorflow/tfjs@0.13.3"> 

5         6         "https://cdn.jsdelivr.net/npm/@tensorflow-models/body-pix">  7            bodypix.load().then(function(net) {

8                // BodyPix model loaded 9            }); 10         11     12 第二部分A:把人抠出来这里,只是把像素分成人和非人。

每个像素,都会给出一个0-1之间的数值然后,设定一个阈值 (如0.5) 数值大于等于阈值视为1,小于视为0要召唤出一个API,叫estimatePersonSegmentation,来执行这个任务:1const imageElement = document.getElementById(image);

23// load the BodyPix model from a checkpoint4const net = await bodyPix.load();56// arguments for estimating person segmentation.

7const outputStride = 16;8const segmentationThreshold = 0.5;第二部分B:区分身体部位

24个身体部位,对应0-23的数字非人体则是-1这里,要召唤出另一个API,叫estimatePartSegmentation:1const imageElement = document.getElementById(image);。

2 3// load the BodyPix model from a checkpoint 4const net = await bodyPix.load(); 5 6// arguments for estimating body part segmentation.

7const outputStride = 16; 8const segmentationThreshold = 0.5; 910// load the person segmentation model from a checkpoint

11const net = await bodyPix.load();1213const partSegmentation = await net.estimatePartSegmentation(imageElement, outputStride, segmentationThreshold);

更详细的食用步骤,请至文底博客传送门多人也可以?BodyPix如果可以和人物检测器合并使用,就可以做多人分割任务了:先把每个人用方框圈起来,然后再在每个方框里做分割但凭一己之力,BodyPix暂时还搞不定多人。

不过,对于一个能在浏览器上运行的实时模型,单人25帧每秒,已属优秀。除了开源模型之外,TensorFlow团队还提供了线上Demo,打开摄像头就可以玩耍了:

Demo传送门:https://storage.googleapis.com/tfjs-models/demos/body-pix/index.htmlBodyPix传送门:https://github.com/tensorflow/tfjs-models/tree/master/body-pix

博客传送门:https://medium.com/tensorflow/introducing-bodypix-real-time-person-segmentation-in-the-browser-with-tensorflow-js-f1948126c2a0

作者系网易新闻·网易号“各有态度”签约作者—完—加入社群量子位现开放「AI+行业」社群,面向AI行业相关从业者,技术、产品等人员,根据所在行业可选择相应行业社群,在量子位公众号(QbitAI)对话界面回复关键词“行业群”,获取入群方式。

行业群会有审核,敬请谅解此外,量子位AI社群正在招募,欢迎对AI感兴趣的同学,在量子位公众号(QbitAI)对话界面回复关键字“交流群”,获取入群方式诚挚招聘量子位正在招募编辑/记者,工作地点在北京中关村。

期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字量子位 QbitAI · 头条号签约作者վᴗ ի 追踪AI技术和产品新动态喜欢就点「好看」吧 !


以上就是关于《浏览器上跑:TensorFlow发布实时人物分割模型,秒速25帧,24个部位(tensorflow.net)》的全部内容,本文网址:https://www.7ca.cn/baike/3243.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明

排行榜