Este repositório contém código-fonte Pytorch para o artigo oral AAAI2020: GRAPY-ML: Aprendizagem mútua de pirâmide de gráfico para análise humana de dados cruzados por Haoyu He, Jing Zhang, Qiming Zhang e Dacheng Tao.
Pytorch = 1.1.0
Torchvision
Scipy
Tensorboardx
Numpy
OpenCV-Python
matplotlib
Você precisa baixar os três conjuntos de dados. O conjunto de dados do CIHP e o conjunto de dados ATR podem ser encontrados neste repositório e nosso código também é fortemente emprestado dele.
Em seguida, os conjuntos de dados devem ser organizados na pasta a seguir e as imagens devem ser reorganizadas com a estrutura de arquivo fornecida.
/data/dataset/
Os modelos de pré -rano e alguns modelos treinados são fornecidos aqui para testes e treinamento.
Nome do modelo | Descrição | Derivado de |
---|---|---|
DEEPLAB_V3PLUS_V3.PTH | Os pesos pré -ravses do Deeplab V3+ | |
CIHP_PRETRAIN.PTH | O modelo deeplab v3+ reproduzido treinado no conjunto de dados CIHP | DEEPLAB_V3PLUS_V3.PTH |
CIHP_TRANEIADE.PTH | Modelo GPM treinado no conjunto de dados CIHP | CIHP_PRETRAIN.PTH |
deeplab_multi-dataset.pth | O modelo reproduzido de aprendizado de várias tarefas V3+ treinado no conjunto de dados CIHP, Pascal-Person-Part e ATR | DEEPLAB_V3PLUS_V3.PTH |
GPM-ML_MULTI-DATASET.PTH | Modelo de Grapy-ML treinado no conjunto de dados CIHP, Pascal-Person-Part e ATR | deeplab_multi-dataset.pth |
GPM-ML_FINETUNE_PASCAL.PTH | Modelo de Grapy-ML FinetUned no conjunto de dados Pascal-Person-Part | GPM-ML_MULTI-DATASET.PTH |
Para testar, execute os dois scripts a seguir:
bash eval_gpm.sh
bash eval_gpm_ml.sh
Durante o treinamento, você primeiro precisa obter o modelo de pré -rAIN DEEPLAB (por exemplo, CIHP_DLAB.PTH) em cada conjunto de dados. Essa Lei visa fornecer um resultado bruto inicial confiável para a operação da GSA no GPM.
bash train_dlab.sh
O modelo IGAGENET PRESTAIN é fornecido na tabela a seguir e você deve trocar o nome do conjunto de dados e as classes de destino para o conjunto de dados que deseja no script. (CIHP: 20 classes, Pascal: 7 Classes and ATR: 18 Classes)
Na próxima etapa, você deve utilizar o modelo de pré -rAin deeplab para treinar ainda mais o modelo GPM.
bash train_gpm.sh
Recomenda -se seguir as configurações de treinamento em nosso artigo para reproduzir os resultados.
Em primeiro lugar, você pode conduzir o processo de pré -atrera de Deeplab pelo script a seguir:
bash train_dlab_ml.sh
O Deeplab V3+ de vários dados é transformado como uma tarefa simples de várias tarefas.
Em seguida, você pode treinar o modelo GPM-ML com o conjunto de treinamento dos três conjuntos de dados por:
bash train_gpm_ml_all.sh
Após essa fase, os dois primeiros níveis do modelo GPM-ML seriam mais robustos e generalizados.
Finalmente, você pode tentar o Finetune em cada conjunto de dados pelo modelo de pré -train unificado.
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}
}