movenet.pytorch icon indicating copy to clipboard operation
movenet.pytorch copied to clipboard

onnx model is not compatible with the original movenet example api

Open bobby20180331 opened this issue 3 years ago • 5 comments

谢谢作者的大量工作,现有代码中实现的pre(),是否考虑过放置在movenet model 中? (现有输出onnx后移植到addroid app需要作较多工作,实现pre(...)) My target is implant the model to android app. https://github.com/tensorflow/examples/tree/master/lite/examples/pose_estimation/android

bobby20180331 avatar Jan 11 '22 08:01 bobby20180331

你指的是模型输出的数据后处理吗? 那个其实一开始我是放在模型里的,但是考虑可移植性,才从模型拿出来。 因为其中的argmax之类的算子很多框架是不支持或者有问题,比如我常用的TNN不支持五维数据。

原始的movenet是用的tflite,因此支持相关算子。但是tflite相比NCNN、MNN、Tengine、TNN等专门的框架其实性能差很多,除非只处理单张,一般要求实时性的都不会用tflite(或者你硬件性能够好)。

如果你的目标只是移植安卓,完全可以用我说的那些框架,速度会快很多,进而再满足实时性的前提下你可以用更大的模型或者尺寸来提升精度。 后处理那块其实不难,移植C++实现参考python代码写其实花不了多少时间,C++也有opencv。

fire717 avatar Jan 11 '22 09:01 fire717

@fire717 thanks for your sharing . movenet onnx+TNN+c++(of post data process) is a good idea.I would have a try.

bobby20180331 avatar Jan 12 '22 02:01 bobby20180331

By the way, May you make a branch which put the post data process code into the model It woud be useful for us to compare to the original tflite model.

bobby20180331 avatar Jan 12 '22 02:01 bobby20180331

实际上那个是非常早的尝试,并没有保留代码。一开始自己复现的考虑就是原始tflite模型包含了后处理因而不好部署,所以自己复现很早就把模型和后处理分开了,这样分离开也方便早期复现的时候debug。

fire717 avatar Jan 13 '22 03:01 fire717

谢谢作者的大量工作,现有代码中实现的pre(),是否考虑过放置在movenet model 中? (现有输出onnx后移植到addroid app需要作较多工作,实现pre(...)) My target is implant the model to android app. https://github.com/tensorflow/examples/tree/master/lite/examples/pose_estimation/android 请问后处理您怎么处理了,能借鉴一下嘛?

fredyzhang5532 avatar May 26 '22 03:05 fredyzhang5532