1

我最近(不到一周)开始使用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());

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

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

4

1 回答 1

0

刚刚找到了这个解决方案的一个简单的hack,你可以注释掉用于在计算器中渲染渲染数据的渲染代码。我已经尝试使用 FaceMesh 示例,通过注释掉calculators/util/annotation_overlay_calculator.cc 中的以下行

 const RenderData& render_data = cc->Inputs().Get(id).Get<RenderData>();
 renderer_->RenderDataOnImage(render_data);

for (const RenderData& render_data : render_data_vec) {
    renderer_->RenderDataOnImage(render_data);
}
于 2021-04-15T06:40:14.577 回答