首页 > 解决方案 > tflite 版本的poseNet 模型是否支持多姿态估计?

问题描述

我试图在 tensorflow 中实现poseNet模型,以与本机模块(桥接)反应本机。我指的链接是https://github.com/tensorflow/examples/tree/master/lite/examples/posenet/android

在这我只能找到单姿态估计的方法。在poseNet的tflite版本中是否有其他关于多姿态估计的参考?它是否支持 tensorflow lite?

提前致谢

标签: javascriptreact-nativetensorflowkotlintensorflow2.0

解决方案


首先我会说,是的,tflite 支持多人姿态估计,但是为此你必须使用另一个 tflite 模型,而不是 tensorflowposenet 提出的模型,因为这个模型只支持一个人检测。

我已经使用颤振插件代码在带有 TFlite 的 android (kotlin/java) 中的图像和视频中进行多人检测。该代码在我的 GitHub 存储库中,因为它是一个大代码,我不能在这里发布它。代码可以在这里找到(https://github.com/stevelaclasse/posenet/blob/main/app/src/main/java/cm/stevru/andropose/inference/DecodePose.java)。在那里你会看到 multiPoseEstimation() 函数。

我还尝试了另一种使用单人模型进行多姿态估计的方法。我使用人员检测器模型来检测图像上的所有人员,然后我裁剪每个检测到的人并创建一个仅包含此人的新调整大小的图像,我将其发送到一个人的poseEstimation 模型。它在好的图像上效果很好,但是只有一个检测到的人的裁剪图像的质量很差,因此poseEstimation 不能检测到图像上的所有姿势,最后只估计图像上的人的几个姿势。这就是我选择多人poseEstimation 模型的原因。

您还可以查看此博客https://medium.com/flutter-community/posenet-for-ios-android-and-flutter-using-tensorflow-lite-836788a110c7以更好地理解代码。

多人姿态估计的颤振插件代码可以在这里找到:https ://github.com/shaqian/flutter_tflite/tree/master/android 。

我希望它会帮助你或某人。


推荐阅读