This is the code for the paper "Jinkai Zheng, Xinchen Liu, Wu Liu, Lingxiao He, Chenggang Yan, Tao Mei: Gait Recognition in the Wild with Dense 3D Representations and A Benchmark. (CVPR 2022)". The official project page is here.
- [Mar 2022] Another gait in the wild dataset GREW is supported.
- [Mar 2022] Our Gait3D dataset and SMPLGait method are released.
Method | Rank@1 | Rank@5 | mAP | mINP | download |
---|---|---|---|---|---|
GaitSet(AAAI2019)) | 42.60(36.70) | 63.10(58.30) | 33.69(30.01) | 19.69(17.30) | model-128(model-64) |
GaitPart(CVPR2020) | 29.90(28.20) | 50.60(47.60) | 23.34(21.58) | 13.15(12.36) | model-128(model-64) |
GLN(ECCV2020) | 42.20(31.40) | 64.50(52.90) | 33.14(24.74) | 19.56(13.58) | model-128(model-64) |
GaitGL(ICCV2021) | 23.50(29.70) | 38.50(48.50) | 16.40(22.29) | 9.20(13.26) | model-128(model-64) |
OpenGait Baseline* | 47.70(42.90) | 67.20(63.90) | 37.62(35.19) | 22.24(20.83) | model-128(model-64) |
SMPLGait(CVPR2022) | 53.20(46.30) | 71.00(64.50) | 42.43(37.16) | 25.97(22.23) | model-128(model-64) |
*It should be noticed that OpenGait Baseline is equal to SMPLGait w/o 3D in our paper.
Source | Target | Rank@1 | Rank@5 | mAP |
---|---|---|---|---|
GREW (official split) | Gait3D | 15.80 | 30.20 | 11.83 |
GREW (our split) | 16.50 | 31.10 | 11.71 | |
Gait3D | GREW (official split) | 18.81 | 32.25 | ~ |
GREW (our split) | 43.86 | 60.89 | 28.06 |
- pytorch >= 1.6
- torchvision
- pyyaml
- tensorboard
- opencv-python
- tqdm
- py7zr
- tabulate
- termcolor
You can replace the second command from the bottom to install pytorch based on your CUDA version.
git clone https://github.com/Gait3D/Gait3D-Benchmark.git
cd Gait3D-Benchmark
conda create --name py37torch160 python=3.7
conda activate py37torch160
conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2 -c pytorch
pip install tqdm pyyaml tensorboard opencv-python tqdm py7zr tabulate termcolor
Please download the Gait3D dataset by signing an agreement. We ask for your information only to make sure the dataset is used for non-commercial purposes. We will not give it to any third party or publish it publicly anywhere.
Run the following command to preprocess the Gait3D dataset.
python misc/pretreatment.py --input_path 'Gait3D/2D_Silhouettes' --output_path 'Gait3D-sils-64-44-pkl' --img_h 64 --img_w 44
python misc/pretreatment.py --input_path 'Gait3D/2D_Silhouettes' --output_path 'Gait3D-sils-128-88-pkl' --img_h 128 --img_w 88
python misc/pretreatment_smpl.py --input_path 'Gait3D/3D_SMPLs' --output_path 'Gait3D-smpls-pkl'
After the pretreatment, the data structure under the directory should like this
├── Gait3D-sils-64-44-pkl
│ ├── 0000
│ ├── camid0_videoid2
│ ├── seq0
│ └──seq0.pkl
├── Gait3D-sils-128-88-pkl
│ ├── 0000
│ ├── camid0_videoid2
│ ├── seq0
│ └──seq0.pkl
├── Gait3D-smpls-pkl
│ ├── 0000
│ ├── camid0_videoid2
│ ├── seq0
│ └──seq0.pkl
Run the following command:
sh train.sh
Run the following command:
sh test.sh
Please cite this paper in your publications if it helps your research:
@inproceedings{zheng2022gait3d,
title={Gait Recognition in the Wild with Dense 3D Representations and A Benchmark},
author={Jinkai Zheng, Xinchen Liu, Wu Liu, Lingxiao He, Chenggang Yan, Tao Mei},
booktitle={IEEE Conference on Computer Vision and Pattern Recognition (CVPR)},
year={2022}
}
Here are some great resources we benefit:
- The codebase is based on OpenGait.
- The 3D SMPL data is obtained by ROMP.
- The 2D Silhouette data is obtained by HRNet-segmentation.
- The 2D pose data is obtained by HRNet.
- The ReID featrue used to make Gait3D is obtained by FastReID.