MoveNet Single Pose tracking on OpenVINO

A convolutional neural network model that runs on RGB images and predicts human joint locations of a single person. Two variant: Lightning and Thunder, the latter being slower but more accurate. MoveNet uses an smart cropping based on detections from the previous frame when the input is a sequence of frames. This allows the model to devote its attention and resources to the main subject, resulting in much better prediction quality without sacrificing the speed.


For Blazepose, a challenger, please visit : openvino_blazepose


You need OpenVINO 2021.3 (does not work with 2021.2) and OpenCV installed on your computer and to clone/download this repository.



> python3 -h                                               
usage: [-h] [-i INPUT] [-p {16,32}]
                          [-m {lightning,thunder}] [--xml XML] [-d DEVICE]
                          [-s SCORE_THRESHOLD] [-o OUTPUT]

optional arguments:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        Path to video or image file to use as input
  -p {16,32}, --precision {16,32}
                        Precision (default=32
  -m {lightning,thunder}, --model {lightning,thunder}
                        Model to use (default=thunder
  --xml XML             Path to an .xml file for model
  -d DEVICE, --device DEVICE
                        Target device to run the model (default=CPU)
                        Confidence score to determine whether a keypoint
                        prediction is reliable (default=0.200000)
  -o OUTPUT, --output OUTPUT
                        Path to output video file

Examples :

  • To use default webcam camera as input, Thunder model on CPU :


  • To use default webcam camera as input, Thunder model on MyriadX :

    python3 -d MYRIAD

  • To use a file (video or image) as input :

    python3 -i filename

  • To use Lightning instead of Thunder the version of the landmark model.

    python3 -m lightning

Keypress Function
space Pause
c Show/hide cropping region
f Show/hide FPS

Performance with OpenVINO

My FPS measurements on a 30 seconds video:

CPU (i7700k) MyriadX
MoveNet Thunder 62 11.2
MoveNet Lightning 114 20.1
BlazePose Full 114 12.0
BlazePose Lite 132 19.9

The models

They were generated by PINTO and are also available there: