--- library_name: pytorch license: other tags: - android pipeline_tag: keypoint-detection ---  # 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](https://github.com/CMU-Perceptual-Computing-Lab/openpose). More details on model performance across various devices, can be found [here](https://aihub.qualcomm.com/models/openpose). ### 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.506 ms | 0 - 911 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | QNN | 11.506 ms | 1 - 3 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | ONNX | 11.686 ms | 1 - 299 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | TFLITE | 8.56 ms | 0 - 134 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | QNN | 8.602 ms | 1 - 19 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | ONNX | 8.772 ms | 1 - 28 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | TFLITE | 8.892 ms | 0 - 25 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | QNN | 7.031 ms | 0 - 18 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | ONNX | 8.645 ms | 1 - 21 MB | FP16 | NPU | -- | | OpenPose | SA7255P ADP | SA7255P | TFLITE | 769.514 ms | 0 - 20 MB | FP16 | NPU | -- | | OpenPose | SA7255P ADP | SA7255P | QNN | 769.547 ms | 1 - 10 MB | FP16 | NPU | -- | | OpenPose | SA8255 (Proxy) | SA8255P Proxy | TFLITE | 11.489 ms | 0 - 880 MB | FP16 | NPU | -- | | OpenPose | SA8255 (Proxy) | SA8255P Proxy | QNN | 11.541 ms | 1 - 10 MB | FP16 | NPU | -- | | OpenPose | SA8295P ADP | SA8295P | TFLITE | 26.304 ms | 0 - 22 MB | FP16 | NPU | -- | | OpenPose | SA8295P ADP | SA8295P | QNN | 25.312 ms | 1 - 18 MB | FP16 | NPU | -- | | OpenPose | SA8650 (Proxy) | SA8650P Proxy | TFLITE | 11.535 ms | 0 - 853 MB | FP16 | NPU | -- | | OpenPose | SA8650 (Proxy) | SA8650P Proxy | QNN | 11.535 ms | 1 - 3 MB | FP16 | NPU | -- | | OpenPose | SA8775P ADP | SA8775P | TFLITE | 29.065 ms | 0 - 19 MB | FP16 | NPU | -- | | OpenPose | SA8775P ADP | SA8775P | QNN | 28.859 ms | 1 - 10 MB | FP16 | NPU | -- | | OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | TFLITE | 769.514 ms | 0 - 20 MB | FP16 | NPU | -- | | OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | QNN | 769.547 ms | 1 - 10 MB | FP16 | NPU | -- | | OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | TFLITE | 11.546 ms | 0 - 877 MB | FP16 | NPU | -- | | OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | QNN | 11.445 ms | 1 - 4 MB | FP16 | NPU | -- | | OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | TFLITE | 29.065 ms | 0 - 19 MB | FP16 | NPU | -- | | OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | QNN | 28.859 ms | 1 - 10 MB | FP16 | NPU | -- | | OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | TFLITE | 23.612 ms | 0 - 137 MB | FP16 | NPU | -- | | OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | QNN | 22.314 ms | 0 - 23 MB | FP16 | NPU | -- | | OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN | 11.966 ms | 1 - 1 MB | FP16 | NPU | -- | | OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | ONNX | 12.689 ms | 102 - 102 MB | FP16 | NPU | -- | ## License * The license for the original implementation of OpenPose can be found [here](https://cmu.flintbox.com/technologies/b820c21d-8443-4aa2-a49f-8919d93a8740). * The license for the compiled assets for on-device deployment can be found [here](https://cmu.flintbox.com/technologies/b820c21d-8443-4aa2-a49f-8919d93a8740) ## References * [OpenPose: Realtime Multi-Person 2D Pose Estimation using Part Affinity Fields](https://arxiv.org/abs/1812.08008) * [Source Model Implementation](https://github.com/CMU-Perceptual-Computing-Lab/openpose) ## Community * Join [our AI Hub Slack community](https://qualcomm-ai-hub.slack.com/join/shared_invite/zt-2d5zsmas3-Sj0Q9TzslueCjS31eXG2UA#/shared-invite/email) to collaborate, post questions and learn more about on-device AI. * For questions or feedback please [reach out to us](mailto:ai-hub-support@qti.qualcomm.com). ## 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