
Pytorch-Pose es una implementación de Pytorch de la tubería general para la estimación de pose humana única 2D. El objetivo es proporcionar la interfaz de la capacitación/inferencia/evaluación, y el dataloader con varias opciones de aumento de datos para las bases de datos de pose humana más populares (por ejemplo, la pose humana MPII, LSP y FLIC).
Algunos códigos para la preparación de datos y el aumento se traen de la red de reloj de arena apilada. Gracias al autor original.
ACTUALIZACIÓN: ¡Este repositorio es compatible con Pytorch 0.4.1/1.0 ahora!
Pytorch (> = 0.4.1): siga la instrucción de instalación de Pytorch. Tenga en cuenta que el código se desarrolla con Python2 y aún no se ha probado con Python3.
Clonar el repositorio con submódulo
git clone --recursive https://github.com/bearpaw/pytorch-pose.git
Cree un enlace simbólico al directorio images del conjunto de datos MPII:
ln -s PATH_TO_MPII_IMAGES_DIR data/mpii/images
Para capacitación/prueba en Coco, consulte Coco Readme.
data/mpiidata/mscoco ¡Consulte la capacitación.md para obtener recetas de capacitación detalladas!
Puede descargar nuestros modelos previos a la aparición (por ejemplo, modelo de reloj de arena de 2 pilotos) para un inicio rápido.
Ejecute el siguiente comando en el terminal para evaluar el modelo en la división de validación MPII (la división de Train/Val es de Tompson et al. CVPR 2015).
CUDA_VISIBLE_DEVICES=0 python example/main.py --dataset mpii -a hg --stacks 2 --blocks 1 --checkpoint checkpoint/mpii/hg_s2_b1 --resume checkpoint/mpii/hg_s2_b1/model_best.pth.tar -e -d
-a especifica una arquitectura de red--resume cargará el peso de un modelo específico-e significa solo evaluación-d visualizará la salida de la red. También se puede usar durante el entrenamiento El resultado se guardará como un archivo .mat ( preds_valid.mat ), que es una matriz 2958x16x2 , en la carpeta especificada por --checkpoint .
Puede usar la evaluation/eval_PCKh.m para evaluar sus predicciones. El código de evaluación se porta desde Tompson et al. CVPR 2015.
Los resultados (puntaje [email protected]) entrenados con este código se informan en la siguiente tabla.
| Modelo | Cabeza | Hombro | Codo | Muñeca | Cadera | Rodilla | Tobillo | Significar |
|---|---|---|---|---|---|---|---|---|
| HG_S2_B1 (último) | 95.80 | 94.57 | 88.12 | 83.31 | 86.24 | 80.88 | 77.44 | 86.76 |
| HG_S2_B1 (mejor) | 95.87 | 94.68 | 88.27 | 83.64 | 86.29 | 81.20 | 77.70 | 86.95 |
| HG_S8_B1 (último) | 96.79 | 95.19 | 90.08 | 85.32 | 87.48 | 84.26 | 80.73 | 88.64 |
| HG_S8_B1 (mejor) | 96.79 | 95.28 | 90.27 | 85.56 | 87.57 | 84.3 | 81.06 | 88.78 |
La curva de entrenamiento / validación se visualiza de la siguiente manera.

También puede evaluar el resultado ejecutando python evaluation/eval_PCKh.py para evaluar las predicciones. Producirá exactamente el mismo resultado que el de MATLAB. Gracias @sssruhan1 por la contribución.
Ejecute el siguiente comando en la terminal para entrenar una red de 8 pilas de reloj de arena en el conjunto de datos de pose humana MPII.
CUDA_VISIBLE_DEVICES=0 python example/main.py --dataset mpii -a hg --stacks 8 --blocks 1 --checkpoint checkpoint/mpii/hg8 -j 4
Aquí,
CUDA_VISIBLE_DEVICES=0 identifica los dispositivos GPU que desea usar. Por ejemplo, use CUDA_VISIBLE_DEVICES=0,1 si desea usar dos GPU con ID 0 y 1 .-j especifica cuántos trabajadores desea usar para la carga de datos.--checkpoint especifica dónde desea guardar los modelos, el registro y las predicciones. Conjunto de datos compatible
Modelos compatibles
Cree una solicitud de extracción si desea contribuir.