From 4205c5f2833ac890d31b27fc4607a57c25454b8d Mon Sep 17 00:00:00 2001 From: darkliang <11710911@mail.sustech.edu.cn> Date: Tue, 5 Jul 2022 21:52:41 +0800 Subject: [PATCH] add gaitedge and reorgnize repo --- README.md | 119 ++---------------- assets/gaitedge.png | Bin 0 -> 161297 bytes {config => configs}/baseline/baseline.yaml | 0 .../baseline/baseline_GREW.yaml | 0 .../baseline/baseline_OUMVLP.yaml | 0 .../baseline/baseline_hid.yaml | 0 {config => configs}/default.yaml | 0 configs/gaitedge/README.md | 8 ++ {config => configs}/gaitgl/gaitgl.yaml | 0 {config => configs}/gaitgl/gaitgl_GREW.yaml | 0 .../gaitgl/gaitgl_GREW_BNNeck.yaml | 0 {config => configs}/gaitgl/gaitgl_OUMVLP.yaml | 0 {config => configs}/gaitpart/gaitpart.yaml | 0 .../gaitpart/gaitpart_GREW.yaml | 0 .../gaitpart/gaitpart_OUMVLP.yaml | 0 {config => configs}/gaitset/gaitset.yaml | 0 {config => configs}/gaitset/gaitset_GREW.yaml | 0 .../gaitset/gaitset_OUMVLP.yaml | 0 {config => configs}/gln/gln_phase1.yaml | 0 {config => configs}/gln/gln_phase2.yaml | 0 docs/0.get_started.md | 68 ++++++++++ docs/1.model_zoo.md | 39 ++++++ ...repare_dataset.md => 2.prepare_dataset.md} | 4 +- ...etailed_config.md => 3.detailed_config.md} | 4 +- ...model.md => 4.how_to_create_your_model.md} | 0 ...dvanced_usages.md => 5.advanced_usages.md} | 6 +- test.sh | 20 +-- train.sh | 20 +-- 28 files changed, 153 insertions(+), 135 deletions(-) create mode 100644 assets/gaitedge.png rename {config => configs}/baseline/baseline.yaml (100%) rename {config => configs}/baseline/baseline_GREW.yaml (100%) rename {config => configs}/baseline/baseline_OUMVLP.yaml (100%) rename {config => configs}/baseline/baseline_hid.yaml (100%) rename {config => configs}/default.yaml (100%) create mode 100644 configs/gaitedge/README.md rename {config => configs}/gaitgl/gaitgl.yaml (100%) rename {config => configs}/gaitgl/gaitgl_GREW.yaml (100%) rename {config => configs}/gaitgl/gaitgl_GREW_BNNeck.yaml (100%) rename {config => configs}/gaitgl/gaitgl_OUMVLP.yaml (100%) rename {config => configs}/gaitpart/gaitpart.yaml (100%) rename {config => configs}/gaitpart/gaitpart_GREW.yaml (100%) rename {config => configs}/gaitpart/gaitpart_OUMVLP.yaml (100%) rename {config => configs}/gaitset/gaitset.yaml (100%) rename {config => configs}/gaitset/gaitset_GREW.yaml (100%) rename {config => configs}/gaitset/gaitset_OUMVLP.yaml (100%) rename {config => configs}/gln/gln_phase1.yaml (100%) rename {config => configs}/gln/gln_phase2.yaml (100%) create mode 100644 docs/0.get_started.md create mode 100644 docs/1.model_zoo.md rename docs/{0.prepare_dataset.md => 2.prepare_dataset.md} (97%) rename docs/{1.detailed_config.md => 3.detailed_config.md} (98%) rename docs/{2.how_to_create_your_model.md => 4.how_to_create_your_model.md} (100%) rename docs/{3.advanced_usages.md => 5.advanced_usages.md} (94%) diff --git a/README.md b/README.md index 37f1ae4..7f2e725 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ OpenGait is a flexible and extensible gait recognition project provided by the [ ## What's New +- [Jul 2022] Our paper "[GaitEdge: Beyond Plain End-to-end Gait Recognition for Better Practicality](configs/gaitedge/README.md)" has been accepted by ECCV 2022. - [Jun 2022] Paper "[A Comprehensive Survey on Deep Gait Recognition: Algorithms, Datasets and Challenges](https://arxiv.org/pdf/2206.13732.pdf)" is available now. - [Jun 2022] Paper "[Learning Gait Representation from Massive Unlabelled Walking Sequences: A Benchmark](https://arxiv.org/pdf/2206.13964.pdf)" is available now. And the code will be released as soon as possible. - [Mar 2022] More results on [GREW](https://www.grew-benchmark.org) are supported, and the model files are coming soon. @@ -21,116 +22,18 @@ OpenGait is a flexible and extensible gait recognition project provided by the [ - **AMP Support**: The [`Auto Mixed Precision (AMP)`](https://pytorch.org/tutorials/recipes/recipes/amp_recipe.html?highlight=amp) option is available. - **Nice log**: We use [`tensorboard`](https://pytorch.org/docs/stable/tensorboard.html) and `logging` to log everything, which looks pretty. +## Getting Started + + +Please see [0.get_started.md](docs/0.get_started.md). We also provide the following tutorials for your reference: +- [Prepare dataset](docs/2.prepare_dataset.md) +- [Detailed configuration](docs/3.detailed_config.md) +- [Customize model](docs/4.how_to_create_your_model.md) +- [Advanced usages](docs/5.advanced_usages.md) + ## Model Zoo +Results and models are available in the [model zoo](docs/1.model_zoo.md). -### [CASIA-B](http://www.cbsr.ia.ac.cn/english/Gait%20Databases.asp) -| Model | NM | BG | CL | Configuration | Input Size | Inference Time | Model Size | -| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------: | :--------: | :--------: | :-------------------------------------------------------------------------------------------: | :--------: | :------------: | :------------: | -| Baseline | 96.3 | 92.2 | 77.6 | [baseline.yaml](config/baseline/baseline.yaml) | 64x44 | 12s | 3.78M | -| [GaitSet(AAAI2019)](https://arxiv.org/pdf/1811.06186.pdf) | 95.8(95.0) | 90.0(87.2) | 75.4(70.4) | [gaitset.yaml](config/gaitset/gaitset.yaml) | 64x44 | 13s | 2.59M | -| [GaitPart(CVPR2020)](http://home.ustc.edu.cn/~saihui/papers/cvpr2020_gaitpart.pdf) | 96.1(96.2) | 90.7(91.5) | 78.7(78.7) | [gaitpart.yaml](config/gaitpart/gaitpart.yaml) | 64x44 | 56s | 1.20M | -| [GLN*(ECCV2020)](http://home.ustc.edu.cn/~saihui/papers/eccv2020_gln.pdf) | 96.4(95.6) | 93.1(92.0) | 81.0(77.2) | [gln_phase1.yaml](config/gln/gln_phase1.yaml), [gln_phase2.yaml](config/gln/gln_phase2.yaml) | 128x88 | 47s/46s | 8.54M / 14.70M | -| [GaitGL(ICCV2021)](https://openaccess.thecvf.com/content/ICCV2021/papers/Lin_Gait_Recognition_via_Effective_Global-Local_Feature_Representation_and_Local_Temporal_ICCV_2021_paper.pdf) | 97.4(97.4) | 94.5(94.5) | 83.8(83.6) | [gaitgl.yaml](config/gaitgl/gaitgl.yaml) | 64x44 | 38s | 3.10M | - -### [OUMVLP](http://www.am.sanken.osaka-u.ac.jp/BiometricDB/GaitMVLP.html) -| Model | Rank@1 | Configuration | Input Size | Inference Time | Model Size | -| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------: | :------------------------------------------: | :--------: | :-------------: | :--------: | -| Baseline | 86.7 | [baseline.yaml](config/baseline/baseline_OUMVLP.yaml) | 64x44 | 1m13s | 44.11M | -| [GaitSet(AAAI2019)](https://arxiv.org/pdf/1811.06186.pdf) | 87.2(87.1) | [gaitset.yaml](config/gaitset/gaitset_OUMVLP.yaml) | 64x44 | 1m26s | 6.31M | -| [GaitPart(CVPR2020)](http://home.ustc.edu.cn/~saihui/papers/cvpr2020_gaitpart.pdf) | 88.6(88.7) | [gaitpart.yaml](config/gaitpart/gaitpart_OUMVLP.yaml) | 64x44 | 8m04s | 3.78M | -| [GaitGL(ICCV2021)](https://openaccess.thecvf.com/content/ICCV2021/papers/Lin_Gait_Recognition_via_Effective_Global-Local_Feature_Representation_and_Local_Temporal_ICCV_2021_paper.pdf) | 89.9(89.7) | [gaitgl.yaml](config/gaitgl/gaitgl_OUMVLP.yaml) | 64x44 | 5m23s | 95.62M | - - -### [GREW](https://www.grew-benchmark.org) -| Model | Rank@1 | Configuration | Input Size | Inference Time | Model Size | -| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------: | :------------------------------------------: | :--------: | :-------------: | :--------: | -| Baseline | 48.5 | [baseline.yaml](config/baseline/baseline_GREW.yaml) | 64x44 | 2m23s | 84.12M | -| [GaitSet(AAAI2019)](https://arxiv.org/pdf/1811.06186.pdf) | 48.4 | [gaitset.yaml](config/gaitset/gaitset_GREW.yaml) | 64x44 | - | - | -| [GaitPart(CVPR2020)](http://home.ustc.edu.cn/~saihui/papers/cvpr2020_gaitpart.pdf) | 47.6 | [gaitpart.yaml](config/gaitpart/gaitpart_GREW.yaml) | 64x44 | - | - | -| [GaitGL(ICCV2021)](https://openaccess.thecvf.com/content/ICCV2021/papers/Lin_Gait_Recognition_via_Effective_Global-Local_Feature_Representation_and_Local_Temporal_ICCV_2021_paper.pdf) | 41.5 | [gaitgl.yaml](config/gaitgl/gaitgl_GREW.yaml) | 64x44 | - | - | -| [GaitGL(BNNeck)(ICCV2021)](https://openaccess.thecvf.com/content/ICCV2021/papers/Lin_Gait_Recognition_via_Effective_Global-Local_Feature_Representation_and_Local_Temporal_ICCV_2021_paper.pdf) | 51.7 | [gaitgl.yaml](config/gaitgl/gaitgl_GREW_BNNeck.yaml) | 64x44 | - | - | -| [RealGait(Arxiv now)](https://arxiv.org/pdf/2201.04806.pdf)| (54.1) | - | - | - | - | - - ------------------------------------------- - -The results in the parentheses are mentioned in the papers. - -**Note**: -- All results are Rank@1, excluding identical-view cases. -- The shown result of GLN is implemented without compact block. -- Only two RTX3090 are used for infering CASIA-B, and eight are used for infering OUMVLP. - - - -## Get Started -### Installation -1. clone this repo. - ``` - git clone https://github.com/ShiqiYu/OpenGait.git - ``` -2. Install dependenices: - - pytorch >= 1.6 - - torchvision - - pyyaml - - tensorboard - - opencv-python - - tqdm - - py7zr - - Install dependenices by [Anaconda](https://conda.io/projects/conda/en/latest/user-guide/install/index.html): - ``` - conda install tqdm pyyaml tensorboard opencv py7zr - conda install pytorch==1.6.0 torchvision -c pytorch - ``` - Or, Install dependenices by pip: - ``` - pip install tqdm pyyaml tensorboard opencv-python py7zr - pip install torch==1.6.0 torchvision==0.7.0 - ``` -### Prepare dataset -See [prepare dataset](docs/0.prepare_dataset.md). - -### Get trained model -- Option 1: - ``` - python misc/download_pretrained_model.py - ``` -- Option 2: Go to the [release page](https://github.com/ShiqiYu/OpenGait/releases/), then download the model file and uncompress it to [output](output). - -### Train -Train a model by -``` -CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/baseline/baseline.yaml --phase train -``` -- `python -m torch.distributed.launch` [DDP](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html) launch instruction. -- `--nproc_per_node` The number of gpus to use, and it must equal the length of `CUDA_VISIBLE_DEVICES`. -- `--cfgs` The path to config file. -- `--phase` Specified as `train`. - -- `--log_to_file` If specified, the terminal log will be written on disk simultaneously. - -You can run commands in [train.sh](train.sh) for training different models. - -### Test -Evaluate the trained model by -``` -CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/baseline/baseline.yaml --phase test -``` -- `--phase` Specified as `test`. -- `--iter` Specify a iteration checkpoint. - -**Tip**: Other arguments are the same as train phase. - -You can run commands in [test.sh](test.sh) for testing different models. - -## Customize -1. Read the [detailed config](docs/1.detailed_config.md) to figure out the usage of needed setting items; -2. See [how to create your model](docs/2.how_to_create_your_model.md); -3. There are some advanced usages, refer to [advanced usages](docs/3.advanced_usages.md), please. - -## Warning -- In `DDP` mode, zombie processes may be generated when the program terminates abnormally. You can use this command [sh misc/clean_process.sh](./misc/clean_process.sh) to clear them. ## Authors: **Open Gait Team (OGT)** diff --git a/assets/gaitedge.png b/assets/gaitedge.png new file mode 100644 index 0000000000000000000000000000000000000000..f32c5e477f02f8f556842387f86fca0cf31ce7e5 GIT binary patch literal 161297 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

vknk-bn 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 Q`+z^3xt&>qiBJ6h0OZ)B$N&HU literal 0 HcmV?d00001 diff --git a/config/baseline/baseline.yaml b/configs/baseline/baseline.yaml similarity index 100% rename from config/baseline/baseline.yaml rename to configs/baseline/baseline.yaml diff --git a/config/baseline/baseline_GREW.yaml b/configs/baseline/baseline_GREW.yaml similarity index 100% rename from config/baseline/baseline_GREW.yaml rename to configs/baseline/baseline_GREW.yaml diff --git a/config/baseline/baseline_OUMVLP.yaml b/configs/baseline/baseline_OUMVLP.yaml similarity index 100% rename from config/baseline/baseline_OUMVLP.yaml rename to configs/baseline/baseline_OUMVLP.yaml diff --git a/config/baseline/baseline_hid.yaml b/configs/baseline/baseline_hid.yaml similarity index 100% rename from config/baseline/baseline_hid.yaml rename to configs/baseline/baseline_hid.yaml diff --git a/config/default.yaml b/configs/default.yaml similarity index 100% rename from config/default.yaml rename to configs/default.yaml diff --git a/configs/gaitedge/README.md b/configs/gaitedge/README.md new file mode 100644 index 0000000..f8190f4 --- /dev/null +++ b/configs/gaitedge/README.md @@ -0,0 +1,8 @@ +# GaitEdge: Beyond Plain End-to-end Gait Recognition for Better Practicality + +This [paper](https://arxiv.org/abs/2203.03972) has been accepted by ECCV 2022, the source code and CASIA-B* dataset mentioned in the paper will be released within two weeks. + +## Abstract +Gait is one of the most promising biometrics to identify individuals at a long distance. Although most previous methods have focused on recognizing the silhouettes, several end-to-end methods that extract gait features directly from RGB images perform better. However, we argue that these end-to-end methods inevitably suffer from the gait-unrelated noises, i.e., low-level texture and colorful information. Experimentally, we design both the cross-domain evaluation and visualization to stand for this view. In this work, we propose a novel end-to-end framework named GaitEdge which can effectively block gait-unrelated information and release end-to-end training potential. Specifically, GaitEdge synthesizes the output of the pedestrian segmentation network and then feeds it to the subsequent recognition network, where the synthetic silhouettes consist of trainable edges of bodies and fixed interiors to limit the information that the recognition network receives. Besides, GaitAlign for aligning silhouettes is embedded into the GaitEdge without loss of differentiability. Experimental results on CASIA-B and our newly built TTG-200 indicate that GaitEdge significantly outperforms the previous methods and provides a more practical end-to-end paradigm for blocking RGB noises effectively. + +![img](../../assets/gaitedge.png) \ No newline at end of file diff --git a/config/gaitgl/gaitgl.yaml b/configs/gaitgl/gaitgl.yaml similarity index 100% rename from config/gaitgl/gaitgl.yaml rename to configs/gaitgl/gaitgl.yaml diff --git a/config/gaitgl/gaitgl_GREW.yaml b/configs/gaitgl/gaitgl_GREW.yaml similarity index 100% rename from config/gaitgl/gaitgl_GREW.yaml rename to configs/gaitgl/gaitgl_GREW.yaml diff --git a/config/gaitgl/gaitgl_GREW_BNNeck.yaml b/configs/gaitgl/gaitgl_GREW_BNNeck.yaml similarity index 100% rename from config/gaitgl/gaitgl_GREW_BNNeck.yaml rename to configs/gaitgl/gaitgl_GREW_BNNeck.yaml diff --git a/config/gaitgl/gaitgl_OUMVLP.yaml b/configs/gaitgl/gaitgl_OUMVLP.yaml similarity index 100% rename from config/gaitgl/gaitgl_OUMVLP.yaml rename to configs/gaitgl/gaitgl_OUMVLP.yaml diff --git a/config/gaitpart/gaitpart.yaml b/configs/gaitpart/gaitpart.yaml similarity index 100% rename from config/gaitpart/gaitpart.yaml rename to configs/gaitpart/gaitpart.yaml diff --git a/config/gaitpart/gaitpart_GREW.yaml b/configs/gaitpart/gaitpart_GREW.yaml similarity index 100% rename from config/gaitpart/gaitpart_GREW.yaml rename to configs/gaitpart/gaitpart_GREW.yaml diff --git a/config/gaitpart/gaitpart_OUMVLP.yaml b/configs/gaitpart/gaitpart_OUMVLP.yaml similarity index 100% rename from config/gaitpart/gaitpart_OUMVLP.yaml rename to configs/gaitpart/gaitpart_OUMVLP.yaml diff --git a/config/gaitset/gaitset.yaml b/configs/gaitset/gaitset.yaml similarity index 100% rename from config/gaitset/gaitset.yaml rename to configs/gaitset/gaitset.yaml diff --git a/config/gaitset/gaitset_GREW.yaml b/configs/gaitset/gaitset_GREW.yaml similarity index 100% rename from config/gaitset/gaitset_GREW.yaml rename to configs/gaitset/gaitset_GREW.yaml diff --git a/config/gaitset/gaitset_OUMVLP.yaml b/configs/gaitset/gaitset_OUMVLP.yaml similarity index 100% rename from config/gaitset/gaitset_OUMVLP.yaml rename to configs/gaitset/gaitset_OUMVLP.yaml diff --git a/config/gln/gln_phase1.yaml b/configs/gln/gln_phase1.yaml similarity index 100% rename from config/gln/gln_phase1.yaml rename to configs/gln/gln_phase1.yaml diff --git a/config/gln/gln_phase2.yaml b/configs/gln/gln_phase2.yaml similarity index 100% rename from config/gln/gln_phase2.yaml rename to configs/gln/gln_phase2.yaml diff --git a/docs/0.get_started.md b/docs/0.get_started.md new file mode 100644 index 0000000..d93f1b3 --- /dev/null +++ b/docs/0.get_started.md @@ -0,0 +1,68 @@ +# Get Started +## Installation +1. clone this repo. + ``` + git clone https://github.com/ShiqiYu/OpenGait.git + ``` +2. Install dependenices: + - pytorch >= 1.6 + - torchvision + - pyyaml + - tensorboard + - opencv-python + - tqdm + - py7zr + + Install dependenices by [Anaconda](https://conda.io/projects/conda/en/latest/user-guide/install/index.html): + ``` + conda install tqdm pyyaml tensorboard opencv py7zr + conda install pytorch==1.6.0 torchvision -c pytorch + ``` + Or, Install dependenices by pip: + ``` + pip install tqdm pyyaml tensorboard opencv-python py7zr + pip install torch==1.6.0 torchvision==0.7.0 + ``` +## Prepare dataset +See [prepare dataset](docs/0.prepare_dataset.md). + +## Get trained model +- Option 1: + ``` + python misc/download_pretrained_model.py + ``` +- Option 2: Go to the [release page](https://github.com/ShiqiYu/OpenGait/releases/), then download the model file and uncompress it to [output](output). + +## Train +Train a model by +``` +CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/baseline/baseline.yaml --phase train +``` +- `python -m torch.distributed.launch` [DDP](https://pytorch.org/tutorials/intermediate/ddp_tutorial.html) launch instruction. +- `--nproc_per_node` The number of gpus to use, and it must equal the length of `CUDA_VISIBLE_DEVICES`. +- `--cfgs` The path to config file. +- `--phase` Specified as `train`. + +- `--log_to_file` If specified, the terminal log will be written on disk simultaneously. + +You can run commands in [train.sh](train.sh) for training different models. + +## Test +Evaluate the trained model by +``` +CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/baseline/baseline.yaml --phase test +``` +- `--phase` Specified as `test`. +- `--iter` Specify a iteration checkpoint. + +**Tip**: Other arguments are the same as train phase. + +You can run commands in [test.sh](test.sh) for testing different models. + +## Customize +1. Read the [detailed config](docs/1.detailed_config.md) to figure out the usage of needed setting items; +2. See [how to create your model](docs/2.how_to_create_your_model.md); +3. There are some advanced usages, refer to [advanced usages](docs/3.advanced_usages.md), please. + +## Warning +- In `DDP` mode, zombie processes may be generated when the program terminates abnormally. You can use this command [sh misc/clean_process.sh](./misc/clean_process.sh) to clear them. diff --git a/docs/1.model_zoo.md b/docs/1.model_zoo.md new file mode 100644 index 0000000..8f440e1 --- /dev/null +++ b/docs/1.model_zoo.md @@ -0,0 +1,39 @@ +# Model Zoo + +## [CASIA-B](http://www.cbsr.ia.ac.cn/english/Gait%20Databases.asp) +| Model | NM | BG | CL | Configuration | Input Size | Inference Time | Model Size | +| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------: | :--------: | :--------: | :-------------------------------------------------------------------------------------------: | :--------: | :------------: | :------------: | +| Baseline | 96.3 | 92.2 | 77.6 | [baseline.yaml](../configs/baseline/baseline.yaml) | 64x44 | 12s | 3.78M | +| [GaitSet(AAAI2019)](https://arxiv.org/pdf/1811.06186.pdf) | 95.8(95.0) | 90.0(87.2) | 75.4(70.4) | [gaitset.yaml](../configs/gaitset/gaitset.yaml) | 64x44 | 13s | 2.59M | +| [GaitPart(CVPR2020)](http://home.ustc.edu.cn/~saihui/papers/cvpr2020_gaitpart.pdf) | 96.1(96.2) | 90.7(91.5) | 78.7(78.7) | [gaitpart.yaml](../configs/gaitpart/gaitpart.yaml) | 64x44 | 56s | 1.20M | +| [GLN*(ECCV2020)](http://home.ustc.edu.cn/~saihui/papers/eccv2020_gln.pdf) | 96.4(95.6) | 93.1(92.0) | 81.0(77.2) | [gln_phase1.yaml](../configs/gln/gln_phase1.yaml), [gln_phase2.yaml](../configs/gln/gln_phase2.yaml) | 128x88 | 47s/46s | 8.54M / 14.70M | +| [GaitGL(ICCV2021)](https://openaccess.thecvf.com/content/ICCV2021/papers/Lin_Gait_Recognition_via_Effective_Global-Local_Feature_Representation_and_Local_Temporal_ICCV_2021_paper.pdf) | 97.4(97.4) | 94.5(94.5) | 83.8(83.6) | [gaitgl.yaml](../configs/gaitgl/gaitgl.yaml) | 64x44 | 38s | 3.10M | + +## [OUMVLP](http://www.am.sanken.osaka-u.ac.jp/BiometricDB/GaitMVLP.html) +| Model | Rank@1 | Configuration | Input Size | Inference Time | Model Size | +| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------: | :------------------------------------------: | :--------: | :-------------: | :--------: | +| Baseline | 86.7 | [baseline.yaml](../configs/baseline/baseline_OUMVLP.yaml) | 64x44 | 1m13s | 44.11M | +| [GaitSet(AAAI2019)](https://arxiv.org/pdf/1811.06186.pdf) | 87.2(87.1) | [gaitset.yaml](../configs/gaitset/gaitset_OUMVLP.yaml) | 64x44 | 1m26s | 6.31M | +| [GaitPart(CVPR2020)](http://home.ustc.edu.cn/~saihui/papers/cvpr2020_gaitpart.pdf) | 88.6(88.7) | [gaitpart.yaml](../configs/gaitpart/gaitpart_OUMVLP.yaml) | 64x44 | 8m04s | 3.78M | +| [GaitGL(ICCV2021)](https://openaccess.thecvf.com/content/ICCV2021/papers/Lin_Gait_Recognition_via_Effective_Global-Local_Feature_Representation_and_Local_Temporal_ICCV_2021_paper.pdf) | 89.9(89.7) | [gaitgl.yaml](../configs/gaitgl/gaitgl_OUMVLP.yaml) | 64x44 | 5m23s | 95.62M | + + +## [GREW](https://www.grew-benchmark.org) +| Model | Rank@1 | Configuration | Input Size | Inference Time | Model Size | +| :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :--------: | :------------------------------------------: | :--------: | :-------------: | :--------: | +| Baseline | 48.5 | [baseline.yaml](../configs/baseline/baseline_GREW.yaml) | 64x44 | 2m23s | 84.12M | +| [GaitSet(AAAI2019)](https://arxiv.org/pdf/1811.06186.pdf) | 48.4 | [gaitset.yaml](../configs/gaitset/gaitset_GREW.yaml) | 64x44 | - | - | +| [GaitPart(CVPR2020)](http://home.ustc.edu.cn/~saihui/papers/cvpr2020_gaitpart.pdf) | 47.6 | [gaitpart.yaml](../configs/gaitpart/gaitpart_GREW.yaml) | 64x44 | - | - | +| [GaitGL(ICCV2021)](https://openaccess.thecvf.com/content/ICCV2021/papers/Lin_Gait_Recognition_via_Effective_Global-Local_Feature_Representation_and_Local_Temporal_ICCV_2021_paper.pdf) | 41.5 | [gaitgl.yaml](../configs/gaitgl/gaitgl_GREW.yaml) | 64x44 | - | - | +| [GaitGL(BNNeck)(ICCV2021)](https://openaccess.thecvf.com/content/ICCV2021/papers/Lin_Gait_Recognition_via_Effective_Global-Local_Feature_Representation_and_Local_Temporal_ICCV_2021_paper.pdf) | 51.7 | [gaitgl.yaml](../configs/gaitgl/gaitgl_GREW_BNNeck.yaml) | 64x44 | - | - | +| [RealGait(Arxiv now)](https://arxiv.org/pdf/2201.04806.pdf)| (54.1) | - | - | - | - | + + +------------------------------------------ + +The results in the parentheses are mentioned in the papers. + +**Note**: +- All results are Rank@1, excluding identical-view cases. +- The shown result of GLN is implemented without compact block. +- Only two RTX3090 are used for infering CASIA-B, and eight are used for infering OUMVLP. diff --git a/docs/0.prepare_dataset.md b/docs/2.prepare_dataset.md similarity index 97% rename from docs/0.prepare_dataset.md rename to docs/2.prepare_dataset.md index 9110c53..8cba6b4 100644 --- a/docs/0.prepare_dataset.md +++ b/docs/2.prepare_dataset.md @@ -1,5 +1,5 @@ # Prepare dataset -Suppose you have downloaded the original dataset, we need to preprocess the data and save it as pickle file. Remember to set your path to the root of processed dataset in [config/*.yaml](config/). +Suppose you have downloaded the original dataset, we need to preprocess the data and save it as pickle file. Remember to set your path to the root of processed dataset in [configs/*.yaml](configs/). ## Preprocess **CASIA-B** @@ -170,4 +170,4 @@ python datasets/pretreatment.py --input_path Path_of_GREW-rearranged --output_pa ``` ## Split dataset -You can use the partition file in dataset folder directly, or you can create yours. Remember to set your path to the partition file in [config/*.yaml](config/). +You can use the partition file in dataset folder directly, or you can create yours. Remember to set your path to the partition file in [configs/*.yaml](configs/). diff --git a/docs/1.detailed_config.md b/docs/3.detailed_config.md similarity index 98% rename from docs/1.detailed_config.md rename to docs/3.detailed_config.md index fb6232c..5186caa 100644 --- a/docs/1.detailed_config.md +++ b/docs/3.detailed_config.md @@ -37,7 +37,7 @@ * Model to be trained > * Args > * model : Model type, please refer to [Model Library](../opengait/modeling/models) for the supported values. -> * **others** : Please refer to the [Training Configuration File of Corresponding Model](../config). +> * **others** : Please refer to the [Training Configuration File of Corresponding Model](../configs). ---- ### evaluator_cfg * Evaluator configuration @@ -78,7 +78,7 @@ > * **others**: Please refer to `evaluator_cfg`. --- **Note**: -- All the config items will be merged into [default.yaml](../config/default.yaml), and the current config is preferable. +- All the config items will be merged into [default.yaml](../configs/default.yaml), and the current config is preferable. - The output directory, which includes the log, checkpoint and summary files, is depended on the defined `dataset_name`, `model` and `save_name` settings, like `output/${dataset_name}/${model}/${save_name}`. # Example diff --git a/docs/2.how_to_create_your_model.md b/docs/4.how_to_create_your_model.md similarity index 100% rename from docs/2.how_to_create_your_model.md rename to docs/4.how_to_create_your_model.md diff --git a/docs/3.advanced_usages.md b/docs/5.advanced_usages.md similarity index 94% rename from docs/3.advanced_usages.md rename to docs/5.advanced_usages.md index 1c77818..f212b6e 100644 --- a/docs/3.advanced_usages.md +++ b/docs/5.advanced_usages.md @@ -1,8 +1,8 @@ # Advanced Usages ### Cross-Dataset Evalution -> You can conduct cross-dataset evalution by just modifying several arguments in your [data_cfg](../config/baseline/baseline.yaml#L1). +> You can conduct cross-dataset evalution by just modifying several arguments in your [data_cfg](../configs/baseline/baseline.yaml#L1). > -> Take [baseline.yaml](../config/baseline/baseline.yaml) as an example: +> Take [baseline.yaml](../configs/baseline/baseline.yaml) as an example: > ```yaml > data_cfg: > dataset_name: CASIA-B @@ -65,7 +65,7 @@ >> ]) >> return transform >> ``` -> * *Step2*: Reset the [`transform`](../config/baseline.yaml#L100) arguments in your config file: +> * *Step2*: Reset the [`transform`](../configs/baseline.yaml#L100) arguments in your config file: >> ```yaml >> transform: >> - type: TransformDemo diff --git a/test.sh b/test.sh index f7656ff..81daa38 100644 --- a/test.sh +++ b/test.sh @@ -1,32 +1,32 @@ # # **************** For CASIA-B **************** # # Baseline -CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/baseline/baseline.yaml --phase test +CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/baseline/baseline.yaml --phase test # # GaitSet -# CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/gaitset/gaitset.yaml --phase test +# CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/gaitset/gaitset.yaml --phase test # # GaitPart -# CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/gaitpart/gaitpart.yaml --phase test +# CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/gaitpart/gaitpart.yaml --phase test # GaitGL -# CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --master_port 12345 --nproc_per_node=4 opengait/main.py --cfgs ./config/gaitgl/gaitgl.yaml --phase test +# CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --master_port 12345 --nproc_per_node=4 opengait/main.py --cfgs ./configs/gaitgl/gaitgl.yaml --phase test # # GLN # # Phase 1 -# CUDA_VISIBLE_DEVICES=3,4 python -m torch.distributed.launch --master_port 12345 --nproc_per_node=2 opengait/main.py --cfgs ./config/gln/gln_phase1.yaml --phase test +# CUDA_VISIBLE_DEVICES=3,4 python -m torch.distributed.launch --master_port 12345 --nproc_per_node=2 opengait/main.py --cfgs ./configs/gln/gln_phase1.yaml --phase test # # Phase 2 -# CUDA_VISIBLE_DEVICES=2,5 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/gln/gln_phase2.yaml --phase test +# CUDA_VISIBLE_DEVICES=2,5 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/gln/gln_phase2.yaml --phase test # # **************** For OUMVLP **************** # # Baseline -# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./config/baseline/baseline_OUMVLP.yaml --phase test +# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./configs/baseline/baseline_OUMVLP.yaml --phase test # # GaitSet -# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./config/gaitset/gaitset_OUMVLP.yaml --phase test +# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./configs/gaitset/gaitset_OUMVLP.yaml --phase test # # GaitPart -# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./config/gaitpart/gaitpart_OUMVLP.yaml --phase test +# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./configs/gaitpart/gaitpart_OUMVLP.yaml --phase test # GaitGL -# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./config/gaitgl/gaitgl_OUMVLP.yaml --phase test +# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./configs/gaitgl/gaitgl_OUMVLP.yaml --phase test diff --git a/train.sh b/train.sh index 4dbc531..5910b37 100644 --- a/train.sh +++ b/train.sh @@ -1,32 +1,32 @@ # # **************** For CASIA-B **************** # # Baseline -CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/baseline/baseline.yaml --phase train +CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/baseline/baseline.yaml --phase train # # GaitSet -# CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/gaitset/gaitset.yaml --phase train +# CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/gaitset/gaitset.yaml --phase train # # GaitPart -# CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./config/gaitpart/gaitpart.yaml --phase train +# CUDA_VISIBLE_DEVICES=0,1 python -m torch.distributed.launch --nproc_per_node=2 opengait/main.py --cfgs ./configs/gaitpart/gaitpart.yaml --phase train # GaitGL -# CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 opengait/main.py --cfgs ./config/gaitgl/gaitgl.yaml --phase train +# CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 opengait/main.py --cfgs ./configs/gaitgl/gaitgl.yaml --phase train # # GLN # # Phase 1 -# CUDA_VISIBLE_DEVICES=2,5,6,7 python -m torch.distributed.launch --nproc_per_node=4 opengait/main.py --cfgs ./config/gln/gln_phase1.yaml --phase train +# CUDA_VISIBLE_DEVICES=2,5,6,7 python -m torch.distributed.launch --nproc_per_node=4 opengait/main.py --cfgs ./configs/gln/gln_phase1.yaml --phase train # # Phase 2 -# CUDA_VISIBLE_DEVICES=2,5,6,7 python -m torch.distributed.launch --nproc_per_node=4 opengait/main.py --cfgs ./config/gln/gln_phase2.yaml --phase train +# CUDA_VISIBLE_DEVICES=2,5,6,7 python -m torch.distributed.launch --nproc_per_node=4 opengait/main.py --cfgs ./configs/gln/gln_phase2.yaml --phase train # # **************** For OUMVLP **************** # # Baseline -# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./config/baseline/baseline_OUMVLP.yaml --phase train +# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./configs/baseline/baseline_OUMVLP.yaml --phase train # # GaitSet -# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./config/gaitset/gaitset_OUMVLP.yaml --phase train +# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./configs/gaitset/gaitset_OUMVLP.yaml --phase train # # GaitPart -# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./config/gaitpart/gaitpart_OUMVLP.yaml --phase train +# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./configs/gaitpart/gaitpart_OUMVLP.yaml --phase train # GaitGL -# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./config/gaitgl/gaitgl_OUMVLP.yaml --phase train +# CUDA_VISIBLE_DEVICES=0,1,2,3,4,5,6,7 python -m torch.distributed.launch --nproc_per_node=8 opengait/main.py --cfgs ./configs/gaitgl/gaitgl_OUMVLP.yaml --phase train