DWPose
repository·onnx·Indexed 25 days ago
https://github.com/idea-research/dwposeAn effective whole-body pose estimation framework using two-stage distillation, optimized for use with ControlNet and MMPose. The repository includes models ranging from tiny to large and incorporates various efficient architectures such as EfficientNet, MobileNetV3, and MixNet via the geffnet package, as well as integration tools for ONNX, TorchScript, and TFLite deployment.
What's inside DWPose
- DEKR is a bottom-up 2D human pose estimation approach. It works by simultaneously detecting all human instances in an image and regressing the offsets from the detected instance centers to the specific joints. To improve accuracy, it uses separated branches with deformable convolutional layers for different joints, allowing the model to use convolution kernels with shapes tailored to the specific features of each joint.
Overview of EfficientNets for PyTorch
onnxThis repository provides a 'generic' implementation of compute and parameter-efficient architectures for PyTorch, including EfficientNet, MixNet, MobileNetV3, and others. Architectures are defined using string-based layouts and implemented viaGenEfficientNetorMobileNetV3classes.Overview of Top-down Integral-Regression Pose Estimation
onnxThis project implements top-down integral-regression-based pose estimation. The process is divided into two stages:
- Object Detection: Identifying human bounding boxes.
- Pose Estimation: Estimating keypoints within the detected bounding boxes using integral regression. This method uses a differentiable integral operation to unify heatmap and joint regression, extracting keypoint coordinates directly from features within the bounding box area.
Overview of the MMPose Framework
onnxMMPose is an open-source PyTorch-based toolbox for pose estimation. It supports a wide range of tasks including 2D multi-person pose estimation, 2D hand pose estimation, 2D facial landmark detection, 133-keypoint full-body human pose estimation, animal keypoint detection, and clothing keypoint detection.
The framework is organized into 8 main components:
- apis: High-level APIs for model inference.
- structures: Data structures such as
bbox,keypoint, andPoseDataSample. - datasets: Support for various pose estimation datasets, including
transformsfor data augmentation. - codecs: Pose encoders (e.g., converting keypoints to heatmaps) and decoders (converting model output back to pose estimates).
- models: Modular components including
pose_estimators,data_preprocessors,backbones,necks,heads, andlosses. - engine: Runtime components, including
hooksfor runtime execution. - evaluation: Metrics for assessing model performance.
- visualization: Tools for visualizing keypoint skeletons, heatmaps, and other information.
Overview of 2D Fashion Landmark Detection
onnx2D fashion landmark detection (also known as fashion alignment) is used to detect key-points located at functional regions of clothing, such as the neckline and the cuff.Overview of 2D Animal Keypoint Detection
onnx2D animal keypoint detection (animal pose estimation) is designed to detect keypoints for various species, such as rats, dogs, macaques, and cheetahs. This capability is intended for behavioral analysis in neuroscience, medical, and ecology applications.Overview of Top-down heatmap-based pose estimation
onnxTop-down pose estimation in this project follows a two-stage process:
- Object Detection: Identifying human bounding boxes.
- Single-object Pose Estimation: Estimating keypoints within those bounding boxes.
Instead of predicting raw coordinates, the estimator produces heatmaps representing the likelihood of keypoint locations, following the paradigm established in 'Simple Baselines for Human Pose Estimation and Tracking'.
Overview of RTMPose framework
onnxRTMPose is a high-performance real-time multi-person pose estimation framework built on MMPose. It is designed to bridge the gap between high-performance benchmarks and industrial requirements by optimizing paradigm, backbone networks, localization algorithms, training strategies, and deployment inference.
Key performance metrics include:
- RTMPose-m: Achieves 75.8% AP on COCO with 90+ FPS (Intel i7-11700 CPU) and 430+ FPS (NVIDIA GTX 1660 Ti GPU).
- RTMPose-l: Achieves 67.0% AP on COCO-WholeBody with 130+ FPS.
Overview of MMPose
onnxMMPose is an open-source toolbox for pose analysis based on PyTorch and is a member of the OpenMMLab project. It supports a wide range of human pose analysis tasks, including:
- 2D multi-person pose estimation
- 2D hand pose estimation
- 2D facial keypoint detection
- 133-keypoint full-body human pose estimation
- 3D human shape recovery
- Clothing keypoint detection
- Animal keypoint detection
Key features include support for top-down and bottom-up algorithms, high precision and speed, modular design for building custom models, and support for mainstream datasets like COCO and MPII.
Overview of RTMPose
onnxRTMPose is a high-performance real-time multi-person pose estimation framework built on MMPose. It is designed to bridge the gap between high-performance benchmarks and industrial requirements by optimizing paradigm, backbone network, localization algorithm, training strategy, and deployment inference.
Key performance metrics:
- RTMPose-m: Achieves 75.8% AP on COCO with 90+ FPS on Intel i7-11700 CPU and 430+ FPS on NVIDIA GTX 1660 Ti GPU.
- RTMPose-l: Achieves 67.0% AP on COCO-WholeBody with 130+ FPS.
Overview of RTMPose toolkit
onnxRTMPose is a high-performance, real-time multi-person pose estimation toolkit built on top of MMPose. It is designed for industrial applications, balancing high accuracy with low inference latency. The toolkit supports various model scales (t, s, m, l) and is optimized for deployment across multiple platforms including CPU, GPU, NVIDIA Jetson, and mobile devices (ARM) using backends like ONNX, TensorRT, ncnn, and OpenVINO.Overview of Top-down regression-based pose estimation
onnxTop-down pose estimation methods operate in two stages:
- Object Detection: Identifying human bounding boxes.
- Pose Estimation: Regressing keypoint coordinates directly from features extracted within those bounding boxes.
This specific configuration category in
mmposefocuses on regression-based methods following the DeepPose paradigm.