Giter Site home page Giter Site logo

pinto0309 / mobilenetv2-poseestimation Goto Github PK

View Code? Open in Web Editor NEW
106.0 10.0 20.0 300.94 MB

Tensorflow based Fast Pose estimation. OpenVINO, Tensorflow Lite, NCS, NCS2 + Python.

Home Page: https://qiita.com/PINTO

License: MIT License

Python 47.93% C 18.82% C++ 33.08% Shell 0.07% SWIG 0.10%
openvino opencv tensorflow-lite pose-estimation python raspberrypi lattepanda ubuntu raspbian ncs

mobilenetv2-poseestimation's Introduction

MobileNetV2-PoseEstimation

[Caution] The behavior of RraspberryPi+NCS2 is very unstable.
[Caution] The behavior of Tensorflow Lite+CPU is unstable.
[Caution] May 06, 2019, The Google Edge TPU program and model are under construction.
[Info] Jun 08, 2020, I'm tuning the performance of the Tensorflow Lite model significantly. https://github.com/PINTO0309/PINTO_model_zoo/tree/master/007_mobilenetv2-poseestimation

Introduction

This repository has its own implementation, impressed by ildoonet's achievements.
Thank you, ildoonet.
https://github.com/ildoonet/tf-pose-estimation.git

I will make his implementation even faster with CPU only.

Environment

Environment construction and training procedure

Learn "Openpose" from scratch with MobileNetv2 + MS-COCO and deploy it to OpenVINO/TensorflowLite Part.1

Learn "Openpose" from scratch with MobileNetv2 + MS-COCO and deploy it to OpenVINO/TensorflowLite (Inference by OpenVINO/NCS2) Part.2

Core i7 only + OpenVINO + Openpose Large model + Sync mode (disabled GPU)

01

NCS2 x1 + OpenVINO + Openpose Large model + Async + Normal mode

02

Core i7 only + OpenVINO + Openpose Small model + Sync + Boost mode (disabled GPU)

03

NCS2 x1 + OpenVINO + Openpose Small model + Async + Boost mode

04

Usage

$ git clone https://github.com/PINTO0309/MobileNetV2-PoseEstimation.git
$ cd MobileNetV2-PoseEstimation

CPU - Sync Mode

$ python3 openvino-usbcamera-cpu-ncs2-sync.py -d CPU

CPU - Sync + Boost Mode

$ python3 openvino-usbcamera-cpu-ncs2-sync.py -d CPU -b True

NCS2 - Sync Mode

$ python3 openvino-usbcamera-cpu-ncs2-sync.py -d MYRIAD

CPU - Async Mode

$ python3 openvino-usbcamera-cpu-ncs2-async.py -d CPU

NCS2 - Async - Single Stick Mode

$ python3 openvino-usbcamera-cpu-ncs2-async.py -d MYRIAD

NCS2 - Async - Multi Stick Mode

$ python3 openvino-usbcamera-cpu-ncs2-async.py -d MYRIAD -numncs 2

NCS2 - Async - Single Stick + Boost Mode

$ python3 openvino-usbcamera-cpu-ncs2-async.py -d MYRIAD -b True

GPU (Intel HD series only) - Async - Boost Mode

$ python3 openvino-usbcamera-cpu-ncs2-async.py -d GPU -b True

Reference articles, Very Thanks!!

https://github.com/ildoonet/tf-pose-estimation.git
https://www.tensorflow.org/api_docs/python/tf/image/resize_area
Python OpenCVの基礎 resieで画像サイズを変えてみる - Pythonの学習の過程とか - ピーハイ
Blurring and Smoothing - OpenCV with Python for Image and Video Analysis 8
https://www.learnopencv.com/deep-learning-based-human-pose-estimation-using-opencv-cpp-python/
https://teratail.com/questions/169393

mobilenetv2-poseestimation's People

Contributors

pinto0309 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mobilenetv2-poseestimation's Issues

TFlite Models won't produce any pose, only random points everywhere

The Openvino scripts and models are working pretty good, but the tflite ones (normal tflite and edge tpu) are only producing random points as poses everyhere in the picture, no matter if there are people visible, or not.

I'll attach a Screenshot to show the problem:

tflite_problem

OpenVINO 2022.1 not supported

OpenVINO 2022.1 seems not to be supported. Would it be possible to re-convert the files with the newest version?

RuntimeError: The support of IR v5 has been removed from the product. Please, convert the original model using the Model Optimizer which comes with this version of the OpenVINO to generate supported IR version.

I tried to convert the model with the 2022.1 open model optimizer, but it seems that it does not work. I used the frozen model form the checkpoint path and after conversion the bin file is only 2.2MB (v1.4). And the results are completely wrong, it seems there are weights missing.

Could you give me a hint how to convert it for more recent OpenVINO versions?

FPS rate for Raspberry pi

I am running NCS2 - Async - Single Stick + Boost Mode with one NCS on the raspberry pi,
but the frame rate of detection is <2FPS.

Run not via openvino

Hi,
Thank for your contribute. I just want to run openpose with tf lite not using openvino, could you give me a direction?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.