问题标签 [mediapipe]

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 投票
0 回答
469 浏览

android - 如何使用非相机 YUV 流作为谷歌媒体管道执行管道图的输入?

我正在为 android 开发Mediapipe实时手部跟踪应用程序。提供的演示使用来自 SurfaceTexture 的相机输入,ExternalOES我想使用来自 webrtc 的网络流。网络流采用 YUV_I420 格式,因此我将其转换为 RGB 并使用AndroidPacketCreator像这样创建 RGB 数据包。

然后将其传递给FrameProcessor类中的媒体管道图

通过这种方式,一切正常,只有性能会下降,即如果它能够处理 4-5 FPS 的相机流,那么使用这种 YUV 到 RGB 的方法它只能处理 2-3 FPS。我想找到另一种可以直接使用 YUV 流发送媒体管道图的方法。我做了一些研究,但找不到任何东西。任何人有任何想法如何做到这一点?

0 投票
1 回答
2062 浏览

mediapipe - Mediapipe:如何在多手跟踪模块中实现实时手势识别

我们如何修改媒体管道代码以获得一组基本手势的实时手势识别。我运行了多手跟踪 apk,但它无法识别https://ai.googleblog.com/2019/08/on-device-real-time-hand-tracking-with.html中承诺的基本手势。

0 投票
1 回答
163 浏览

mediapipe - Mediapipe:如何正确释放 MPPGraph

我不清楚如何正确停止和解除分配 MPPGraph。我创建了一个与此非常相似的框架。每次以某种方式调用 dealloc 时都会引发此异常。Thread 1: Exception: "waitUntilDoneWithError: should not be called on the main thread".

我不知道如何不在主线程中调用它,并希望有人对此有所了解。

在这里你可以找到调用 mediapipe 框架的 swift 代码。此示例是使用可以在此处找到的框架创建的。

0 投票
1 回答
395 浏览

python - 为什么 Dequantize 节点准备失败?

背景

我正在使用 MediaPipe 进行手部跟踪,发现这个有用的包装器可用于加载 MediaPipe 的hand_landmark.tflite模型。它在带有 Tensorflow 1.14.0 的 Ubuntu 18.04 上对我来说没有任何问题。

但是,当我尝试使用最近发布的新模型时,我遇到了以下错误:

在查看 Netron 中的两个模型时,我可以看到较新的模型使用了Dequantize似乎会导致问题的类型的节点。由于我是 Tensorflow 的初学者,所以我真的不知道从哪里开始。

重现错误的代码

问题

.tflite问题与我正在使用的 Tensorflow 版本有关,还是在加载模型时我做错了什么?

0 投票
1 回答
204 浏览

bazel - 这个 Bazel 构建文件只有 deps 没有 srcs

我试图使用谷歌的媒体管道,但这个 Bazel 版本没有 srcs only deps。这个构建中的主程序应该是什么?

0 投票
1 回答
359 浏览

android - 如何防止在mediapipe android中绘制人脸检测边界框


我最近(不到一周)开始使用mediapipe库来实现人脸检测,所以请提前道歉。到目前为止,我已经能够成功地构建一个 android aar 并在我的应用程序中使用这个 aar。但是我不希望出现在检测到的面部上的边界框。
  • 我将face_detection_mobile_gpu.pbtxt中的DetectionsToRenderDataCalculatorOptions->thickness值从 4.0 更改为 0.0,重建了图表并应用于我的应用程序但没有成功
  • 我尝试从face_detection_mobile_gpu.pbtxt中的DetectionsToRenderDataCalculator节点中删除DetectionsToRenderDataCalculatorOptions,重建图表并应用于我的应用程序但没有成功。
  • 我什至注释掉了detections_to_render_data.cc中的以下几行,重建了 aar,应用于我的项目但没有成功。

render_annotation->mutable_color()->set_r(options.color().r()); render_annotation->mutable_color()->set_g(options.color().g()); render_annotation->mutable_color()->set_b(options.color().b()); render_annotation->set_thickness(options.thickness());

我应该提到,在上述所有情况下,边界框都是用非常细的黑线绘制的(就像“默认”设置一样)。

对此的任何提示将不胜感激,谢谢

0 投票
1 回答
640 浏览

mediapipe - 如何从 Mediapipe Handpose 的视频中获取连续的地标

我是 Javascript 新手。我正在尝试从 MediaPipe Handpose 获取输出。当我将图像输入此模型时,我很容易得到输出。但是当我尝试视频时,它不起作用。这是头

我的视频 ID 详细信息

脚本内部

如何在视频的输出对象中获得连续的地标?

这是错误。

0 投票
1 回答
837 浏览

computer-vision - MediaPipe TensorflowLite 虹膜模型

我正在尝试了解 mediapipe 提供的 tflite Iris 地标模型的输出。

模型卡将 输出描述为 71 个 2D 地标和 5 个 2D 地标。当检查模型如下:

我在模型输出中看到 213 个值和 15 个值 - 所以我假设我得到每个点的 x/y/z 坐标。在图像上运行模型后,我得到 -7000 到 +7000 范围内的值。我的输入是 64x64 图像,知道这些点如何对应于原始图像吗?

我想要眼睛关键点的像素坐标,这些坐标在媒体管道示例中呈现。

0 投票
2 回答
156 浏览

c++ - 无法理解范围解析运算符的使用

这是 Google 的Mediapipe提供的较大代码的一小部分,它使用范围解析运算符来定义RunMPPGraph(). 我对这个定义一无所知。有人可以告诉我发生了什么吗?

这看起来像一个函数,我很确定它是:::mediapipe::Status RunMPPGraph()...但定义函数的基本方法是 ---> ReturnType FunctionName(parameters),在这个程序RunMPPGraph中是名称,所以这意味着::mediapipe::Status返回类型。在主函数中,RunMPPGraph() 是用这个语句调用的 --->::mediapipe::Status run_status = RunMPPGraph();所以这意味着::mediapipe::Status是某种形式的用户定义的数据类型。所以我想知道我们是否可以分解::mediapipe::Status成更小的部分?

0 投票
1 回答
1780 浏览

c++ - 使用 DEFINE_string 是什么意思

这是 Google 的 mediapipe 提供的用于图像识别的代码的一部分,有人可以告诉我这个 (DEFINE_string) 是做什么的吗?