Ce référentiel contient le code source pytorch pour le papier oral AAAI2020: Grapy-ML: Graph Pyramid Mutual Learning for Cross-Dataset Human Analyse par Haoyu He, Jing Zhang, Qiming Zhang et Dacheng Tao.
Pytorch = 1,1.0
torchion
cavalier
Tensorboardx
nombant
opencv-python
matplotlib
Vous devez télécharger les trois ensembles de données. L'ensemble de données CIHP et l'ensemble de données ATR se trouvent dans ce référentiel et notre code lui est également fortement emprunté.
Ensuite, les ensembles de données doivent être organisés dans le dossier suivant et les images doivent être réorganisées avec la structure de fichiers fournie.
/data/dataset/
Les modèles Pretrain et certains modèles formés sont fournis ici pour les tests et la formation.
Nom du modèle | Description | Dérivé de |
---|---|---|
DeepLab_V3Plus_V3.pth | Les poids prétraités de Deeplab V3 + | |
CIHP_PRETRAIN.PTH | Le modèle Reproduit DeepLab V3 + formé sur un ensemble de données CIHP | DeepLab_V3Plus_V3.pth |
CIHP_TRAINE.PTH | Modèle GPM formé sur l'ensemble de données CIHP | CIHP_PRETRAIN.PTH |
DeepLab_Multi-Dataset.pth | Le modèle Reproduit multi-tâches Deeplab V3 + Modèle formé sur le jeu de données CIHP, Pascal-Person-Part et ATR | DeepLab_V3Plus_V3.pth |
Gpm-ml_multi-dataset.pth | Modèle Grapy-ML formé sur le CIHP, le jeu de données PASCAL-Person-Parts et ATR | DeepLab_Multi-Dataset.pth |
Gpm-ml_finetune_pascal.pth | Modèle Grapy-ML FinEtuned sur un ensemble de données Pascal-Person-Part | Gpm-ml_multi-dataset.pth |
Pour tester, exécutez les deux scripts suivants:
bash eval_gpm.sh
bash eval_gpm_ml.sh
Pendant la formation, vous devez d'abord obtenir le modèle DeepLab Pretrain (par exemple CIHP_DLAB.PTH) sur chaque ensemble de données. Un tel acte vise à fournir un résultat brut initial digne de confiance pour l'opération GSA dans GPM.
bash train_dlab.sh
Le modèle ImageNet Pretrain est fourni dans le tableau suivant, et vous devez passer le nom de l'ensemble de données et les classes cibles de l'ensemble de données que vous souhaitez dans le script. (CIHP: 20 classes, Pascal: 7 classes et ATR: 18 classes)
Dans l'étape suivante, vous devez utiliser le modèle DeepLab Pretrain pour former davantage le modèle GPM.
bash train_gpm.sh
Il est recommandé de suivre les paramètres de formation de notre article pour reproduire les résultats.
Tout d'abord, vous pouvez effectuer le processus de preuve de Deeplab par le script suivant:
bash train_dlab_ml.sh
Le DeepLab V3 + multi-dataset est transformé en simple tâche multi-tâches.
Ensuite, vous pouvez former le modèle GPM-ML avec l'ensemble de formation des trois ensembles de données par:
bash train_gpm_ml_all.sh
Après cette phase, les deux premiers niveaux du modèle GPM-ML seraient plus robustes et généralisés.
Enfin, vous pouvez essayer de Finetune sur chaque ensemble de données par le modèle Unified Pretrain.
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}
}