问题标签 [bodypix]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4201 浏览

tensorflow - BodyPix:实时人物分割

BodyPix是一个开源机器学习模型,它允许在浏览器中使用 TensorFlow.js 进行人物和身体部位的分割。我想将模型转换为 .pb 冻结图,以便在 Python 上使用它。

我该怎么做?

我试图在不同的地方找到解决方案,但没有奏效。

0 投票
1 回答
517 浏览

tensorflow - 最新 bodypix 中的单人检测

当我使用 body-pix@1.0.0 尝试散景分割效果时,它会检测/分割镜头前的人(A)。如果另一个人 (B) 站在后面,远离 A,则 B 被模糊了。如果人 B 非常接近 A 的轮廓,那么人 B 也会被检测到。这是首选行为。

现在,当我尝试使用 body-pix@2.0.0 时,即使我使用的是 segmentPerson API,也会检测到人 A 和 B。请注意,B 人站在离 A 人很远的地方,但两者都被检测到。我在 2.0 中看到的优势是,检测到的人的轮廓比 1.0 中的轮廓更加准确和平滑,1.0 中的轮廓中有一个间隙,并且在这个间隙周围没有散景效果。在 2.0 中,轮廓更加准确。但多人被检测到。是否有任何参数可以调整以将其限制为单人检测并使用更平滑的轮廓?

谢谢

0 投票
1 回答
736 浏览

javascript - BodyPix (Tensorflow.js) 错误:未知输入类型:[object ImageData]

我正在尝试使用 node.js 在服务器端(本地)加载图像,以便我可以在它们上运行分割功能。

在 BodyPix README 中,它声明 segmentPerson 函数接受 ImageData 对象图像:“segmentPerson() 图像中的参数 - ImageData|HTMLImageElement|HTMLCanvasElement|HTMLVideoElement 要通过网络馈送的输入图像。” https://github.com/tensorflow/tfjs-models/tree/master/body-pix

这是我的代码:

它从我的当前目录加载图像,然后将其转换为指定的 ImageData 格式,然后将其提供给 segmentPerson 函数。与图像的加载和格式化无关的一半代码已从 GitHub README 中删除,并且在使用 HTML Image 元素时对我有用。

但是,它在调用“net.segmentPerson(imgD,...”) 时返回未知输入类型:[object ImageData]

我无法找到解决此问题的方法,因此非常感谢任何帮助或指导。谢谢你。

0 投票
0 回答
423 浏览

tensorflow - Bodypix:将 wasm 用于 SIMD + 多线程

我们正在尝试将此处描述的 WASM + SIMD + 多线程用于 bodypix。链接到文章的示例网页显示了我使用 SIMD + 多线程的 MacBook Pro 2018。但是,我们在尝试将它用于 bodypix 的目的时遇到了麻烦。

我们正在使用电子 10.1 (Chromium 85.0.4183.84) 运行它,并尝试使用 node 运行它,并且还作为在 index.html 中加载的网页作为上述文章中描述的脚本标签,但似乎在每个测试中几乎不使用 GPU而且体验比在CPU上跑tensorflow还要差。我们似乎缺少一些东西来利用它 SIMD + 多线程。

在 node 中运行时,这是 yarn package.json 包含的内容:

我们确实验证了后端在运行时设置为 wasm。

任何人都有任何想法可能出了什么问题?

0 投票
0 回答
146 浏览

reactjs - 如何停止/销毁bodypix

我正在使用与 TensorFlow + bodypix 的反应来模糊实时视频的背景。对于视频流,我使用 Vonage (TokBox)。

我如何模糊背景

问题是,如何停止模糊?或者我怎样才能停止/销毁 BodyPix?

我试过 了tf.engine().endScope();net.dispose();但出错了在此处输入图像描述

0 投票
1 回答
413 浏览

opencv - OpenCV BodyPix 面具

我正在尝试在图像上绘制蒙版,蒙版是 body-pix (在 NodeJS 中)完成处理的结果。出于性能原因,我想使用 OpenCV 来绘制蒙版,而不是 htmlcanva。

这完美地工作,并实现了在检测到的人上绘制黑色蒙版(语义分割)的预期结果。但是SegmentPersonParts比方法慢得多SegmentPerson,我希望使用最后一种方法。问题是,面具不起作用。做的时候:

结果只是一个黑色图像,因为掩码没有正确构建。我该如何解决这个问题?

0 投票
1 回答
773 浏览

javascript - tensorflow.js bodypix 模型不工作并且没有给出任何错误

我正在创建一个简单的身体分割html

我努力了:

使用此脚本:

它工作正常,没有错误,但问题是它甚至无法从简单的图像中检测到人。我已经尝试使用此链接进行演示,使用源代码提供的图像, 但即使在那里它也掩盖了整个图像,没有检测到任何返回 uint8clamped 数组的主体,该数组仅包含零,相同的模型在我的手机中工作。 是不是我电脑的问题。是i7 2600 3.7ghz

注意-我没有 gpu

0 投票
1 回答
1413 浏览

javascript - this.util.TextEncoder 不是仅在电子应用程序中的构造函数(适用于 chrome)

我正在使用 tensorflow bodypix 模型创建一个身体分割应用程序。它在浏览器中运行良好。我正在使用 webpack 来使用它的模块(见下文)

它在 chrome 中运行良好,并在运行后按预期输出npx webpack

但是,当简单地通过创建一个主电子文件来使用电子运行它时,它只会输出一个空白的白色屏幕,并在控制台中出现以下错误 -

它指向的线来自一个看起来像这样的缩小代码 -

我认为电子只是没有顶条的铬,但这似乎是错误的。有人可以在这里帮助我吗?我正在使用以下版本-

“nodejs v12.16.3”、“electron11.1.1”、“tfjs2.8.2”

看铬和电子的屏幕截图-

IN CHROME(点击放大)

镀铬工作

...................................................

IN ELECTRON(点击放大)

电子图像

0 投票
0 回答
30 浏览

bodypix - 将 bodypix js 模型转换为 pb 。然后将 pb 转换为 tflite

我想将 bodypix js 模型转换为 pb 。然后将 pb 转换为 tflite。

step1:下模型

· 从https://storage.googleapis.com/tfjs-models/savedmodel/bodypix/resnet50/float/model-stride16.json下载 model.json 文件。

· 从https://storage.googleapis.com/tfjs-models/savedmodel/bodypix/resnet50/float/group1-shard1of23.bin下载相应的权重 ... https://storage.googleapis.com/tfjs-models/savedmodel /bodypix/resnet50/float/group1-shard23of23.bin

第2步。转换 pb 文件

运行脚本: tfjs_graph_converter /Users/hh/Desktop/model /Users/hh/Desktop/model/model.pb 然后我得到文件夹中的model.pb。然后将 model.pb 重命名为 saved_model.pb

第三步。转换 tflite 文件

运行脚本: tflite_convert --output_file /Users/hh/Desktop/model/model.tflite --graph_def_file /Users/hh/Desktop/model/saved_model.pb --saved_model_dir /Users/hh/Desktop/model

然后得到错误提示: RuntimeError: MetaGraphDef associated with tags {'serve'} could not be found in SavedModel. 要检查 SavedModel 中的可用标签集,请使用 SavedModel CLI:saved_model_cli available_tags: []。

哪一步出错了?</p>

0 投票
1 回答
283 浏览

javascript - TensorFlowJS 画布大小错误 - 如何显示图像?

我正在尝试使用 BodyPix/Tensorflow 来模糊我的网络摄像头的背景。我正在尝试遵循本指南。https://github.com/vinooniv/video-bg-blur。这显然对他们有用,因为他们有一个活生生的例子。

这是我的代码:

但是,当应用程序运行时,我收到以下错误:

我已经以各种可能的方式设置了宽度和高度。为什么 TensorFlow 将画布高度/宽度检测为零?