Gb3mppe
Graph-Based 3D Multi-Person Pose Estimation Using Multi-View Images
Install / Use
/learn @IbrahimL/Gb3mppeREADME
gb3mppe (WORK IN PROGRESS)
This is a re-implementation for:
Graph-Based 3D Multi-Person Pose Estimation Using Multi-View Images
Size Wu, Sheng Jin, Wentao Liu, Lei Bai, Chen Qian, Dong Liu, Wanli Ouyang 2021
Installation
- Clone this repo, and we'll call the directory that you cloned multiview-multiperson-pose as ${gb3mppe}.
- Install dependencies.
MMG : Multi-view Matching Graph Module
<img src="data/dee.png" width="600"/>Data preparation for MMG
We train and evaluate our model on the Campus.
- We processed the ground-truth and the 2D pose estimated by Hanyue Tu, Chunyu Wang, Wenjun Zeng to our format.
- We also created dataset in form of python dictionnaries (pkl files) to store the node features and the edge features which ar the inputs of our MMG model.
- You can download all these data from here and place it in gb3mppe/data/campus.
- You can also try to generate the node and edge features by runing generate_mmg_features.py and generate_edge_features.py resp. , the node features are extracted from feature maps that ar constructed with 2D pose estimator trained on COCO. These feature maps are the output of the two last deconv layers of the prerained PoseResnet.
The directory tree should look like this:
${gb3mppe}
|-- data
|-- campus
|-- campuse_pose_voxel.pkl
|-- cfg.yaml
|-- Camera4
|-- GT_2d_human_centers.pkl
|-- GT_3d_human_centers.pkl
|-- node_features.pkl
|-- personne1.txt
|-- personne1_3D.txt
|-- personne2.txt
|-- personne2_3D.txt
|-- personne3.txt
|-- personne3_3D.txt
|-- voxel_2d_human_centers.pkl
|-- voxel_3d_human_centers.pkl
|-- CampusSeq1
|-- Camera0
|-- Camera1
|-- Camera2
|-- actorsGT.mat
|-- calibration_campus.json
|-- pred_campus_maskrcnn_hrnet_coco.pkl
|-- lib
|-- dataset
|-- gt_coord_2D
|-- models
|-- utils
|-- test
here's the link to donwload CampusSeq1 .
CRG : Center Refinement Graph
We also implementred the CRG's architecture, but unfortunately, we did not have enough time to generate the node and edge features to train the model. However, you can test the implementation on a dummy dataset that we created, where inputs have the same shape than the real features. To do that, you can run this notebook test
PRG : Pose Regression Graph
Like CRG, you can test the PRG's implementation on a dummy dataset that we created, where inputs have the same shape than the real features. To do that, you can run the same notebook
MMG Training:
To train and visualize an MMG model on 400 samples from the campus dataset, run the following command by replacing "n_epochs" with the number of training epochs (integer) and "show" by whether to show the training curve or not (True or False).
python main.py n_epochs show
example:
python main.py 10 True
Related Skills
node-connect
344.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
99.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
344.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
344.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
