该存储库包含AAAI2020口头纸的Pytorch源代码:Grapy-Ml:Haoyu He,Jing Zhang,Qiming Zhang和Dacheng Tao的跨数据库的图形金字塔相互学习。
pytorch = 1.1.0
火炬
Scipy
TensorboardX
numpy
Opencv-Python
matplotlib
您需要下载三个数据集。 CIHP数据集和ATR数据集可以在此存储库中找到,我们的代码也大量借用。
然后,应将数据集排列在以下文件夹中,并应使用提供的文件结构重新排列图像。
/data/dataset/
此处提供了预认识的模型和一些训练有素的模型进行测试和培训。
模型名称 | 描述 | 来自 |
---|---|---|
deeplab_v3plus_v3.pth | DeepLab V3+的预处理重量 | |
cihp_pretrain.pth | 在CIHP数据集上训练的复制DeepLab V3+模型 | deeplab_v3plus_v3.pth |
CIHP_TRAIND.PTH | 在CIHP数据集上培训的GPM型号 | cihp_pretrain.pth |
deeplab_multi-dataset.pth | 在CIHP,Pascal-Part和ATR数据集上训练的复制多任务DeepLab V3+模型 | deeplab_v3plus_v3.pth |
gpm-ml_multi-dataset.pth | 在CIHP,Pascal-Part-Part和ATR数据集上培训的GRAPY-ML模型 | deeplab_multi-dataset.pth |
gpm-ml_finetune_pascal.pth | 在Pascal-Part Part数据集上进行的GRAPY-ML模型 | gpm-ml_multi-dataset.pth |
要测试,请运行以下两个脚本:
bash eval_gpm.sh
bash eval_gpm_ml.sh
在培训期间,您首先需要在每个数据集上获取DeepLab预处理模型(例如CIHP_DLAB.PTH)。此类法案旨在为GPM的GSA操作提供值得信赖的初始原始结果。
bash train_dlab.sh
下表提供了ImageNet预处理模型,您应该将数据集名称和目标类别分配给脚本中所需的数据集。 (CIHP:20堂课,Pascal:7级和ATR:18级)
在下一步中,您应该利用DeepLab预处理模型进一步训练GPM模型。
bash train_gpm.sh
建议在我们的论文中遵循培训设置以重现结果。
首先,您可以通过以下脚本进行DeepLab预处理过程:
bash train_dlab_ml.sh
多数据集DeepLab V3+被转换为简单的多任务任务。
然后,您可以通过以下三个数据集的培训集训练GPM-ML模型:
bash train_gpm_ml_all.sh
在此阶段之后,GPM-ML模型的前两个级别将更加健壮和广泛。
最后,您可以尝试通过统一的预处理模型在每个数据集上进行填补。
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}
}