Este repositorio contiene el código fuente de Pytorch para el papel oral AAAI2020: Grapy-ML: Graph Pyramid Mutual Learning para el análisis humano de Dataset cruzado por Haoyu He, Jing Zhang, Qiming Zhang y Dacheng Tao.
Pytorch = 1.1.0
vía antorcha
bisagro
tensorboardx
numpy
opencv-python
mate
Debe descargar los tres conjuntos de datos. El conjunto de datos CIHP y el conjunto de datos ATR se pueden encontrar en este repositorio y nuestro código también está muy prestado de él.
Luego, los conjuntos de datos deben organizarse en la siguiente carpeta, y las imágenes deben reorganizarse con la estructura de archivo proporcionada.
/data/dataset/
Los modelos de pretrén y algunos modelos capacitados se proporcionan aquí para pruebas y capacitación.
Nombre del modelo | Descripción | Derivado de |
---|---|---|
profundo_v3plus_v3.pth | Los pesos del pretrano de DeepLab V3+ | |
CIHP_PRETRAIN.PTH | El modelo reproducido DeepLab V3+ entrenado en el conjunto de datos CIHP | profundo_v3plus_v3.pth |
CIHP_TRAINTY.PTH | Modelo GPM capacitado en el conjunto de datos CIHP | CIHP_PRETRAIN.PTH |
profundo_multi-dataset.pth | El modelo reproducido de aprendizaje de tareas múltiple DeepLab V3+ entrenado en CIHP, Pascal-Person-Part y ATR DataSet de datos | profundo_v3plus_v3.pth |
Gpm-ml_multi-dataset.pth | Modelo de Grapy-ML entrenado en CIHP, Pascal-Person-Part y ATR DataSet de datos | profundo_multi-dataset.pth |
Gpm-ml_finetune_pascal.pth | Modelo de Grapy-ML Finetuned en el conjunto de datos de Pascal-Person-Part | Gpm-ml_multi-dataset.pth |
Para probar, ejecute los siguientes dos scripts:
bash eval_gpm.sh
bash eval_gpm_ml.sh
Durante el entrenamiento, primero debe obtener el modelo DeepLab Pretrin (por ejemplo, CIHP_DLAB.PTH) en cada conjunto de datos. Tal acto tiene como objetivo proporcionar un resultado sin procesar inicial confiable para la operación GSA en GPM.
bash train_dlab.sh
El modelo de pretrén de ImageNet se proporciona en la siguiente tabla, y debe inclinar el nombre del conjunto de datos y las clases de destino al conjunto de datos que desea en el script. (CIHP: 20 clases, Pascal: 7 clases y ATR: 18 clases)
En el siguiente paso, debe utilizar el modelo DeepLab Pretrin para entrenar aún más el modelo GPM.
bash train_gpm.sh
Se recomienda seguir la configuración de entrenamiento en nuestro artículo para reproducir los resultados.
En primer lugar, puede llevar a cabo el proceso de pretrano de DeepLab mediante el siguiente script:
bash train_dlab_ml.sh
El DataSet DeepLab V3+ multidataset se transforma como una tarea simple de tareas múltiples.
Luego, puede entrenar el modelo GPM-ML con el conjunto de entrenamiento de los tres conjuntos de datos:
bash train_gpm_ml_all.sh
Después de esta fase, los primeros dos niveles del modelo GPM-ML serían más robustos y generalizados.
Finalmente, puede intentar finitar en cada conjunto de datos mediante el modelo de pretrano 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}
}