このリポジトリには、AAAI2020のPytorchソースコードが含まれています。口頭紙:Grapy-ML:Graph Pyramid Mutual Learning for Cross-Dataset Haoyu He、Jing Zhang、Qiming Zhang、Dacheng Taoによる人間のペーシング。
pytorch = 1.1.0
Torchvision
scipy
tensorboardx
numpy
opencv-python
matplotlib
3つのデータセットをダウンロードする必要があります。 CIHPデータセットとATRデータセットはこのリポジトリに記載されており、コードも大量に借りています。
次に、データセットを次のフォルダーに配置し、提供されたファイル構造で画像を再配置する必要があります。
/data/dataset/
ここでは、テストとトレーニングのために、プレレインモデルといくつかの訓練されたモデルが提供されています。
モデル名 | 説明 | 派生 |
---|---|---|
deeplab_v3plus_v3.pth | DeepLab V3+の前プレインウェイト | |
cihp_pretrain.pth | CIHPデータセットで訓練されたdeeplab v3+モデルを再現しました | deeplab_v3plus_v3.pth |
CIHP_TRANED.pth | CIHPデータセットでトレーニングされたGPMモデル | cihp_pretrain.pth |
deeplab_multi-dataset.pth | CIHP、Pascal-Person-Part、ATRデータセットでトレーニングされた複製マルチタスク学習ディープラブV3+モデル | deeplab_v3plus_v3.pth |
gpm-ml_multi-dataset.pth | CIHP、Pascal-Person-Part、ATRデータセットでトレーニングされたGrapy-MLモデル | deeplab_multi-dataset.pth |
gpm-ml_finetune_pascal.pth | Pascal-Person-PartデータセットでGrapy-MLモデルが微調整されています | gpm-ml_multi-dataset.pth |
テストするには、次の2つのスクリプトを実行します。
bash eval_gpm.sh
bash eval_gpm_ml.sh
トレーニング中に、最初に各データセットでDeepLab Pretrainモデル(cihp_dlab.pthなど)を取得する必要があります。このような行為は、GPMでのGSA操作に信頼できる初期生の結果を提供することを目的としています。
bash train_dlab.sh
ImagENet Pretrainモデルは次の表に記載されており、スクリプトで必要なデータセットにデータセット名とターゲットクラスをswithでswiteしてください。 (CIHP:20クラス、パスカル:7クラスとATR:18クラス)
次のステップでは、DeepLabプレインモデルを利用して、GPMモデルをさらにトレーニングする必要があります。
bash train_gpm.sh
結果を再現するために、私たちの論文のトレーニング設定に従うことをお勧めします。
まず、次のスクリプトでDeepLabプレイプロセスを実行できます。
bash train_dlab_ml.sh
マルチデータセットディープラブV3+は、単純なマルチタスクタスクとして変換されます。
次に、次の3つのデータセットからトレーニングセットを使用してGPM-MLモデルをトレーニングできます。
bash train_gpm_ml_all.sh
このフェーズの後、GPM-MLモデルの最初の2つのレベルはより堅牢で一般化されます。
最後に、統一されたプレレインモデルによって各データセットで微調整を試みることができます。
bash train_gpm_ml_pascal.sh
@inproceedings{he2020grapy,
title={Grapy-ML: Graph Pyramid Mutual Learning for Cross-dataset Human Parsing},
author={He, Haoyu and Zhang, Jing and Zhang, Qiming and Tao, Dacheng},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
year={2020}
}