OpenPose: Optimized for Mobile Deployment

Human pose estimation

OpenPose is a machine learning model that estimates body and hand pose in an image and returns location and confidence for each of 19 joints.

This model is an implementation of OpenPose found here.

More details on model performance accross various devices, can be found here.

Model Details

  • Model Type: Pose estimation
  • Model Stats:
    • Model checkpoint: body_pose_model.pth
    • Input resolution: 240x320
    • Number of parameters: 52.3M
    • Model size: 200 MB
Model Device Chipset Target Runtime Inference Time (ms) Peak Memory Range (MB) Precision Primary Compute Unit Target Model
OpenPose Samsung Galaxy S23 Snapdragon® 8 Gen 2 TFLITE 11.792 ms 0 - 365 MB FP16 NPU --
OpenPose Samsung Galaxy S23 Snapdragon® 8 Gen 2 QNN 11.807 ms 1 - 215 MB FP16 NPU --
OpenPose Samsung Galaxy S23 Snapdragon® 8 Gen 2 ONNX 12.038 ms 1 - 4 MB FP16 NPU --
OpenPose Samsung Galaxy S24 Snapdragon® 8 Gen 3 TFLITE 8.705 ms 0 - 19 MB FP16 NPU --
OpenPose Samsung Galaxy S24 Snapdragon® 8 Gen 3 QNN 8.758 ms 1 - 19 MB FP16 NPU --
OpenPose Samsung Galaxy S24 Snapdragon® 8 Gen 3 ONNX 8.796 ms 1 - 51 MB FP16 NPU --
OpenPose Snapdragon 8 Elite QRD Snapdragon® 8 Elite TFLITE 8.66 ms 0 - 18 MB FP16 NPU --
OpenPose Snapdragon 8 Elite QRD Snapdragon® 8 Elite QNN 8.719 ms 1 - 17 MB FP16 NPU --
OpenPose Snapdragon 8 Elite QRD Snapdragon® 8 Elite ONNX 8.766 ms 1 - 32 MB FP16 NPU --
OpenPose QCS8550 (Proxy) QCS8550 Proxy TFLITE 11.71 ms 0 - 376 MB FP16 NPU --
OpenPose QCS8550 (Proxy) QCS8550 Proxy QNN 11.656 ms 1 - 2 MB FP16 NPU --
OpenPose SA7255P ADP SA7255P TFLITE 770.143 ms 0 - 16 MB FP16 NPU --
OpenPose SA7255P ADP SA7255P QNN 770.181 ms 1 - 11 MB FP16 NPU --
OpenPose SA8255 (Proxy) SA8255P Proxy TFLITE 11.749 ms 0 - 375 MB FP16 NPU --
OpenPose SA8255 (Proxy) SA8255P Proxy QNN 11.792 ms 1 - 2 MB FP16 NPU --
OpenPose SA8295P ADP SA8295P TFLITE 26.61 ms 0 - 16 MB FP16 NPU --
OpenPose SA8295P ADP SA8295P QNN 26.496 ms 3 - 9 MB FP16 NPU --
OpenPose SA8650 (Proxy) SA8650P Proxy TFLITE 11.798 ms 0 - 365 MB FP16 NPU --
OpenPose SA8650 (Proxy) SA8650P Proxy QNN 11.649 ms 1 - 2 MB FP16 NPU --
OpenPose SA8775P ADP SA8775P TFLITE 29.306 ms 0 - 16 MB FP16 NPU --
OpenPose SA8775P ADP SA8775P QNN 29.313 ms 1 - 6 MB FP16 NPU --
OpenPose QCS8450 (Proxy) QCS8450 Proxy TFLITE 23.508 ms 0 - 21 MB FP16 NPU --
OpenPose QCS8450 (Proxy) QCS8450 Proxy QNN 23.67 ms 1 - 23 MB FP16 NPU --
OpenPose Snapdragon X Elite CRD Snapdragon® X Elite QNN 12.287 ms 1 - 1 MB FP16 NPU --
OpenPose Snapdragon X Elite CRD Snapdragon® X Elite ONNX 12.736 ms 103 - 103 MB FP16 NPU --

License

  • The license for the original implementation of OpenPose can be found here.
  • The license for the compiled assets for on-device deployment can be found here

References

Community

Usage and Limitations

Model may not be used for or in connection with any of the following applications:

  • Accessing essential private and public services and benefits;
  • Administration of justice and democratic processes;
  • Assessing or recognizing the emotional state of a person;
  • Biometric and biometrics-based systems, including categorization of persons based on sensitive characteristics;
  • Education and vocational training;
  • Employment and workers management;
  • Exploitation of the vulnerabilities of persons resulting in harmful behavior;
  • General purpose social scoring;
  • Law enforcement;
  • Management and operation of critical infrastructure;
  • Migration, asylum and border control management;
  • Predictive policing;
  • Real-time remote biometric identification in public spaces;
  • Recommender systems of social media platforms;
  • Scraping of facial images (from the internet or otherwise); and/or
  • Subliminal manipulation
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference API
Inference API (serverless) does not yet support pytorch models for this pipeline type.