问题标签 [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.
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 中,轮廓更加准确。但多人被检测到。是否有任何参数可以调整以将其限制为单人检测并使用更平滑的轮廓?
谢谢
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]
我无法找到解决此问题的方法,因此非常感谢任何帮助或指导。谢谢你。
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。
任何人都有任何想法可能出了什么问题?
opencv - OpenCV BodyPix 面具
我正在尝试在图像上绘制蒙版,蒙版是 body-pix (在 NodeJS 中)完成处理的结果。出于性能原因,我想使用 OpenCV 来绘制蒙版,而不是 htmlcanva。
这完美地工作,并实现了在检测到的人上绘制黑色蒙版(语义分割)的预期结果。但是SegmentPersonParts
比方法慢得多SegmentPerson
,我希望使用最后一种方法。问题是,面具不起作用。做的时候:
结果只是一个黑色图像,因为掩码没有正确构建。我该如何解决这个问题?
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(点击放大)
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>
javascript - TensorFlowJS 画布大小错误 - 如何显示图像?
我正在尝试使用 BodyPix/Tensorflow 来模糊我的网络摄像头的背景。我正在尝试遵循本指南。https://github.com/vinooniv/video-bg-blur。这显然对他们有用,因为他们有一个活生生的例子。
这是我的代码:
但是,当应用程序运行时,我收到以下错误:
我已经以各种可能的方式设置了宽度和高度。为什么 TensorFlow 将画布高度/宽度检测为零?