ViTPose and ViTPose++
repository·main·Indexed 22 days ago
https://github.com/vitae-transformer/vitposeVision Transformer-based frameworks for generic human body pose estimation, achieving up to 81.1 AP on the MS COCO test-dev set. The library supports 2D and 3D keypoint detection for humans and animals, including top-down heatmap-based estimation, associative embedding for bottom-up detection, and video-based temporal pose propagation via PoseWarper. It also includes implementations for VoxelPose (multi-view 3D), VideoPose3D, HMR for 3D mesh recovery, and DeepPose for 2D face landmark detection.
What's inside ViTPose
- DeepPose is a top-down paradigm approach for human pose estimation. It operates by first detecting bounding boxes for the subject and then estimating poses within those boxes. Specifically, it learns to directly regress keypoint coordinates (such as hand keypoints) using deep neural networks (DNNs).
Overview of DeepPose for face keypoint regression
mainDeepPose (CVPR 2014) is a human pose estimation method that utilizes deep neural networks (DNNs) to directly regress keypoint coordinates. It operates using a top-down paradigm, which involves two distinct stages:
- Detection: Identifying bounding boxes for the target (e.g., human or face).
- Estimation: Estimating the pose/keypoints within those detected bounding boxes.
In this specific configuration (
configs/face/2d_kpt_sview_rgb_img/deeppose), the model is used for 2D keypoint estimation from RGB images.Overview of Deeppose for human pose estimation
mainDeeppose is a top-down paradigm approach to human pose estimation. It works by first detecting human bounding boxes and then estimating poses within those boxes. Unlike some methods that predict heatmaps, Deeppose learns to directly regress fashion keypoint coordinates using deep neural networks (DNNs).Overview of 3D human pose estimation in video (VideoPose3D)
mainThis configuration implements the VideoPose3D (CVPR 2019) approach for 3D human pose estimation in video. The method works by 'lifting' a sequence of 2D keypoints directly into 3D keypoints using temporal convolutions and semi-supervised training. This is designed to improve temporal consistency in 3D pose estimation from video sequences.Overview of HMR (End-to-end Recovery of Human Shape and Pose)
mainHMR (CVPR 2018) is an end-to-end framework designed to reconstruct a full 3D mesh of a human body from a single RGB image. It is used within the ViTPose ecosystem for tasks involving human shape and pose recovery.Perform 2D Animal Keypoint Detection
mainViTPose supports 2D animal pose estimation for various species such as rats, dogs, macaques, and cheetahs. This capability is used for behavioral analysis in neuroscience, medical, and ecology applications.
To use this configuration, you must complete two main steps:
- Data Preparation: Prepare your dataset according to the specific requirements for animal keypoint detection.
- Demo Generation: Use the provided demo tools to visualize the results.
Refer to the following guides for detailed instructions:
- For data preparation: DATA Preparation
- For generating demos: DEMO
Video-based Single-view 3D Human Body Pose Estimation Overview
mainThis configuration is designed for video-based 3D human body pose estimation, which involves detecting and analyzing the X, Y, and Z coordinates of human body joints from a sequence of RGB images. This task can be approached via three methodologies:
- 2D-to-3D pose lifting: Converting existing 2D poses into 3D poses.
- Joint learning: Learning 2D and 3D poses simultaneously.
- Direct regression: Regressing 3D poses directly from RGB images.
Perform 2D Hand Pose Estimation
main2D hand pose estimation in this repository detects hand poses (keypoints) from input images. The task typically involves inputting images where the hand is either centered via cropping or where a rough location/bounding box of the hand is provided.Perform 2D Face Landmark Detection
main2D face landmark detection (face alignment) involves detecting face keypoints from an input image. The task typically expects input images to be cropped face images with the face centered, or images where a rough location or bounding box of the face is provided.Multi-view 3D Human Body Pose Estimation with VoxelPose
mainMulti-view 3D human body pose estimation predicts the X, Y, Z coordinates of human body joints using multiple RGB image views. For this specific task, the repository currently supports the VoxelPose implementation. You can find the specific configuration and implementation details in the/configs/body/3d_kpt_mview_rgb_img/voxelposedirectory.3D Hand Pose Estimation Overview
main3D hand pose estimation in this repository is defined as the task of detecting the poses (or keypoints) of the hand from an input image.Video-based Single-view 2D Human Body Pose Estimation
mainThis task involves multi-person 2D human pose estimation in video, where the goal is to detect the poses (or keypoints) of all individuals within an input video sequence.
For this specific task, the repository currently supports the
PoseWarpercomponent.