--- library_name: pytorch license: other tags: - android pipeline_tag: keypoint-detection --- ![](https://qaihub-public-assets.s3.us-west-2.amazonaws.com/qai-hub-models/models/openpose/web-assets/model_demo.png) # 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.722 ms | 0 - 376 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | QNN | 11.707 ms | 1 - 3 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S23 | Snapdragon® 8 Gen 2 | ONNX | 11.906 ms | 1 - 320 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | TFLITE | 8.709 ms | 0 - 25 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | QNN | 8.699 ms | 1 - 20 MB | FP16 | NPU | -- | | OpenPose | Samsung Galaxy S24 | Snapdragon® 8 Gen 3 | ONNX | 9.01 ms | 1 - 29 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | TFLITE | 7.068 ms | 0 - 21 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | QNN | 8.712 ms | 1 - 20 MB | FP16 | NPU | -- | | OpenPose | Snapdragon 8 Elite QRD | Snapdragon® 8 Elite | ONNX | 8.915 ms | 3 - 29 MB | FP16 | NPU | -- | | OpenPose | SA7255P ADP | SA7255P | TFLITE | 769.975 ms | 0 - 14 MB | FP16 | NPU | -- | | OpenPose | SA7255P ADP | SA7255P | QNN | 770.172 ms | 1 - 8 MB | FP16 | NPU | -- | | OpenPose | SA8255 (Proxy) | SA8255P Proxy | TFLITE | 11.721 ms | 0 - 375 MB | FP16 | NPU | -- | | OpenPose | SA8255 (Proxy) | SA8255P Proxy | QNN | 11.776 ms | 1 - 3 MB | FP16 | NPU | -- | | OpenPose | SA8295P ADP | SA8295P | TFLITE | 26.637 ms | 0 - 16 MB | FP16 | NPU | -- | | OpenPose | SA8295P ADP | SA8295P | QNN | 25.867 ms | 1 - 12 MB | FP16 | NPU | -- | | OpenPose | SA8650 (Proxy) | SA8650P Proxy | TFLITE | 11.79 ms | 0 - 375 MB | FP16 | NPU | -- | | OpenPose | SA8650 (Proxy) | SA8650P Proxy | QNN | 11.696 ms | 1 - 3 MB | FP16 | NPU | -- | | OpenPose | SA8775P ADP | SA8775P | TFLITE | 29.287 ms | 0 - 14 MB | FP16 | NPU | -- | | OpenPose | SA8775P ADP | SA8775P | QNN | 29.346 ms | 1 - 8 MB | FP16 | NPU | -- | | OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | TFLITE | 769.975 ms | 0 - 14 MB | FP16 | NPU | -- | | OpenPose | QCS8275 (Proxy) | QCS8275 Proxy | QNN | 770.172 ms | 1 - 8 MB | FP16 | NPU | -- | | OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | TFLITE | 11.659 ms | 0 - 365 MB | FP16 | NPU | -- | | OpenPose | QCS8550 (Proxy) | QCS8550 Proxy | QNN | 11.686 ms | 1 - 3 MB | FP16 | NPU | -- | | OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | TFLITE | 29.287 ms | 0 - 14 MB | FP16 | NPU | -- | | OpenPose | QCS9075 (Proxy) | QCS9075 Proxy | QNN | 29.346 ms | 1 - 8 MB | FP16 | NPU | -- | | OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | TFLITE | 23.391 ms | 0 - 20 MB | FP16 | NPU | -- | | OpenPose | QCS8450 (Proxy) | QCS8450 Proxy | QNN | 23.515 ms | 1 - 20 MB | FP16 | NPU | -- | | OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | QNN | 12.349 ms | 1 - 1 MB | FP16 | NPU | -- | | OpenPose | Snapdragon X Elite CRD | Snapdragon® X Elite | ONNX | 12.807 ms | 103 - 103 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