|
| 1 | + |
1 | 2 | <div align="center"> |
2 | 3 | <h2> |
3 | 4 | AiOS: All-in-One-Stage Expressive Human Pose and Shape Estimation |
4 | 5 | </h2> |
5 | 6 | </div> |
6 | | - |
7 | 7 | <div align="center"> |
8 | | - <a href="https://ttxskk.github.io/AiOS/" class="button"><b>[Homepage]</b></a> |
9 | | - <a href="https://arxiv.org/abs/2403.17934" class="button"><b>[arXiv]</b></a> |
10 | | - <a href="https://ttxskk.github.io/AiOS/" class="button"><b>[Code]</b></a> |
| 8 | + <span> |
| 9 | + <a href="https://github.com/ttxskk">Qingping Sun</a><sup>1, 2</sup>, |
| 10 | + </span> |
| 11 | + <span> |
| 12 | + <a href="https://github.com/WYJSJTU">Yanjun Wang</a><sup>1</sup>, |
| 13 | + </span> |
| 14 | + <span> |
| 15 | + <a href="https://ailingzeng.site/">Ailing Zeng</a><sup>3</sup>, |
| 16 | + </span> |
| 17 | + <span> |
| 18 | + <a href="https://scholar.google.com/citations?view_op=list_works&hl=en&user=zlIJwBEAAAAJ">Wanqi Yin</a><sup>1</sup>, |
| 19 | + </span> |
| 20 | + <span> |
| 21 | + <a href="https://www.linkedin.com/in/chen-wei-weic0006/">Chen Wei</a><sup>1</sup>, |
| 22 | + </span> |
| 23 | + <span> |
| 24 | + <a href="https://wenjiawang0312.github.io/">Wenjia Wang</a><sup>5</sup>, |
| 25 | + </span> |
| 26 | + <br> |
| 27 | + <span> |
| 28 | + <a href="https://haiyi-mei.com">Haiyi Mei</a><sup>1</sup>, |
| 29 | + </span> |
| 30 | + <span> |
| 31 | + <a href="https://ttxskk.github.io/AiOS/">Chi Sing Leung</a><sup>2</sup>, |
| 32 | + <span> |
| 33 | + <a href="https://liuziwei7.github.io/">Ziwei Liu</a><sup>4</sup>, |
| 34 | + </span> |
| 35 | + </span> |
| 36 | + <span> |
| 37 | + <a href="https://yanglei.me/">Lei Yang</a><sup>1, 5</sup>, |
| 38 | + </span> |
| 39 | + <span> |
| 40 | + <a href="https://caizhongang.github.io/">Zhongang Cai</a><sup>✉, 1, 4, 5</sup>, |
| 41 | + </span> |
| 42 | +</div> |
| 43 | +<div align="center"> |
| 44 | + <span><sup>1</sup>SenseTime Research</span>, |
| 45 | + <span><sup>2</sup>City University of Hong Kong</span>, |
| 46 | + <br> |
| 47 | + <span><sup>3</sup>International Digital Economy Academy (IDEA)</span>, |
| 48 | + <br> |
| 49 | + <span><sup>4</sup>S-Lab, Nanyang Technological University</span>, |
| 50 | + <span><sup>5</sup>Shanghai AI Laboratory</span> |
| 51 | +</div> |
| 52 | +<div align="center"> |
| 53 | + <a href="https://ttxskk.github.io/AiOS/"><img src='https://img.shields.io/badge/Project-Page-Green'></a> |
| 54 | + <a href="https://arxiv.org/abs/2403.17934"><img src='https://img.shields.io/badge/Paper-Arxiv-red'></a> |
| 55 | + <a href="https://huggingface.co/spaces/ttxskk/AiOS"><img src='https://img.shields.io/badge/%F0%9F%A4%97%20Hugging%20Face-Space-blue'></a> |
11 | 56 | </div> |
12 | 57 |
|
13 | 58 | --- |
|
29 | 74 |
|
30 | 75 |
|
31 | 76 |
|
| 77 | + |
| 78 | + |
| 79 | + |
32 | 80 | ## Preparation |
33 | | -- download datasets for evaluation |
| 81 | +- download all datasets |
34 | 82 | - [AGORA](https://agora.is.tue.mpg.de/index.html) |
35 | | - - [BEDLAM](https://bedlam.is.tue.mpg.de/index.html) |
36 | | -- download [SMPL-X](https://smpl-x.is.tue.mpg.de/) body models. |
37 | | -- download SMPL body models `SMPL_FEMALE.pkl`, `SMPL_MALE.pkl`, `SMPL_NEUTRAL.pkl` provided by [SMPLer-X](https://huggingface.co/camenduru/SMPLer-X/tree/main). |
38 | | -- download other SMPL-X dependent files: `SMPLX_to_J14.pkl`, `MANO_SMPLX_vertex_ids.pkl`, `SMPL-X__FLAME_vertex_ids.npy`, `SMPLX_NEUTRAL.pkl` |
39 | | - provided by [SMPLer-X](https://huggingface.co/camenduru/SMPLer-X/tree/main). |
40 | | -- download AiOS [checkpoint](https://drive.google.com/file/d/1arUq25YMpgrTCKFKsQQy1LAaNgVwlL99/view?usp=sharing) |
41 | | -- download AGORA validation set [Humandata](https://drive.google.com/file/d/1cjCVwrFdZ9qMXsA_yaZa3_plYYK8uyPU/view?usp=sharing) |
42 | | -Organize them according to this datastructure: |
| 83 | + - [BEDLAM](https://bedlam.is.tue.mpg.de/index.html) |
| 84 | + - [MSCOCO](https://cocodataset.org/#home) |
| 85 | + - [UBody](https://github.com/IDEA-Research/OSX) |
| 86 | + - [ARCTIC](https://arctic.is.tue.mpg.de/) |
| 87 | + - [EgoBody](https://sanweiliti.github.io/egobody/egobody.html) |
| 88 | + - [EHF](https://smpl-x.is.tue.mpg.de/index.html) |
| 89 | +- process all datasets into [HumanData](https://github.com/open-mmlab/mmhuman3d/blob/main) format. We provided the proccessed npz file, which can be download from [here](https://huggingface.co/datasets/ttxskk/AiOS_Train_Data). |
| 90 | +- download [SMPL-X](https://smpl-x.is.tue.mpg.de/) |
| 91 | +- download AiOS [checkpoint](https://huggingface.co/ttxskk/AiOS/tree/main) |
| 92 | + |
| 93 | +The file structure should be like: |
43 | 94 | ```text |
44 | 95 | AiOS/ |
45 | 96 | ├── config/ |
46 | 97 | └── data |
47 | 98 | ├── body_models |
48 | | - └── smplx |
49 | | - | ├──MANO_SMPLX_vertex_ids.pkl |
50 | | - | ├──SMPL-X__FLAME_vertex_ids.npy |
51 | | - | ├──SMPLX_NEUTRAL.pkl |
52 | | - | ├──SMPLX_to_J14.pkl |
53 | | - | ├──SMPLX_NEUTRAL.npz |
54 | | - | ├──SMPLX_MALE.npz |
55 | | - | └──SMPLX_FEMALE.npz |
56 | | - └── smpl |
| 99 | + | ├── smplx |
| 100 | + | | ├──MANO_SMPLX_vertex_ids.pkl |
| 101 | + | | ├──SMPL-X__FLAME_vertex_ids.npy |
| 102 | + | | ├──SMPLX_NEUTRAL.pkl |
| 103 | + | | ├──SMPLX_to_J14.pkl |
| 104 | + | | ├──SMPLX_NEUTRAL.npz |
| 105 | + | | ├──SMPLX_MALE.npz |
| 106 | + | | └──SMPLX_FEMALE.npz |
| 107 | + | └── smpl |
57 | 108 | | ├──SMPL_FEMALE.pkl |
58 | 109 | | ├──SMPL_MALE.pkl |
59 | 110 | | └──SMPL_NEUTRAL.pkl |
60 | | - ├── cache |
| 111 | + ├── preprocessed_npz |
| 112 | + │ └── cache |
| 113 | + | ├──agora_train_3840_w_occ_cache_2010.npz |
| 114 | + | ├──bedlam_train_cache_080824.npz |
| 115 | + | ├──... |
| 116 | + | └──coco_train_cache_080824.npz |
61 | 117 | ├── checkpoint |
62 | 118 | │ └── aios_checkpoint.pth |
63 | 119 | ├── datasets |
64 | 120 | │ ├── agora |
65 | | - │ └── bedlam |
66 | | - └── multihuman_data |
67 | | - └── agora_validation_multi_3840_1010.npz |
| 121 | + | │ └──3840x2160 |
| 122 | + │ │ ├──train |
| 123 | + │ │ └──test |
| 124 | + │ ├── bedlam |
| 125 | + │ │ ├──train_images |
| 126 | + │ │ └──test_images |
| 127 | + │ ├── ARCTIC |
| 128 | + │ │ ├──s01 |
| 129 | + │ │ ├──s02 |
| 130 | + │ │ ├──... |
| 131 | + │ │ └──s10 |
| 132 | + │ ├── EgoBody |
| 133 | + │ │ ├──egocentric_color |
| 134 | + │ │ └──kinect_color |
| 135 | + │ └── UBody |
| 136 | + | └──images |
| 137 | + └── checkpoint |
| 138 | + ├── edpose_r50_coco.pth |
| 139 | + └── aios_checkpoint.pth |
| 140 | +
|
68 | 141 | ``` |
69 | 142 | # Installtion |
70 | 143 |
|
@@ -106,11 +179,20 @@ cd ../../.. |
106 | 179 | - Inference output will be saved in `AiOS/demo/{INPUT_VIDEO}_out` |
107 | 180 |
|
108 | 181 | ```bash |
109 | | -cd main |
110 | | -sh scripts/inference.sh {INPUT_VIDEO} {OUTPUT_DIR} |
| 182 | +# CHECKPOINT: checkpoint path |
| 183 | +# INPUT_VIDEO: input video path |
| 184 | +# OUTPUT_DIR: output path |
| 185 | +# NUM_PERSON: num of person. This parameter sets the expected number of persons to be detected in the input (image or video). |
| 186 | +# The default value is 1, meaning the algorithm will try to detect at least one person. If you know the maximum number of persons |
| 187 | +# that can appear simultaneously, you can set this variable to that number to optimize the detection process (a lower threshold is recommended as well). |
| 188 | +# THRESHOLD: socre threshold. This parameter sets the score threshold for person detection. The default value is 0.5. |
| 189 | +# If the confidence score of a detected person is lower than this threshold, the detection will be discarded. |
| 190 | +# Adjusting this threshold can help in filtering out false positives or ensuring only high-confidence detections are considered. |
| 191 | +# GPU_NUM: GPU num. |
| 192 | +sh scripts/inference.sh {CHECKPOINT} {INPUT_VIDEO} {OUTPUT_DIR} {NUM_PERSON} {THRESHOLD} {THRESHOLD} |
111 | 193 |
|
112 | 194 | # For inferencing short_video.mp4 with output directory of demo/short_video_out |
113 | | -sh scripts/inference.sh short_video demo |
| 195 | +sh scripts/inference.sh data/checkpoint/aios_checkpoint.pth short_video.mp4 demo 2 0.1 8 |
114 | 196 | ``` |
115 | 197 | # Test |
116 | 198 |
|
|
0 commit comments