
Pytorch-Pose é uma implementação de Pytorch do pipeline geral para estimativa de pose humana 2D. O objetivo é fornecer a interface do treinamento/inferência/avaliação e o Dataloader com várias opções de aumento de dados para os bancos de dados de pose humana mais populares (por exemplo, a pose humana do MPII, LSP e FLIC).
Alguns códigos de preparação e aumento de dados são trazidos da rede de ampulheta empilhada. Obrigado ao autor original.
ATUALIZAÇÃO: Este repositório é compatível com Pytorch 0.4.1/1.0 agora!
Pytorch (> = 0.4.1): siga as instruções de instalação do Pytorch. Observe que o código foi desenvolvido com Python2 e ainda não foi testado com o Python3.
Clone o repositório com o submódulo
git clone --recursive https://github.com/bearpaw/pytorch-pose.git
Crie um link simbólico para o diretório images do conjunto de dados MPII:
ln -s PATH_TO_MPII_IMAGES_DIR data/mpii/images
Para treinamento/teste no Coco, consulte o Coco ReadMe.
data/mpiidata/mscoco Consulte o treinamento.md para obter receitas detalhadas de treinamento!
Você pode fazer o download de nossos modelos pré-tenhados (por exemplo, modelo de ampulheta de duas pilhas) para um início rápido.
Execute o seguinte comando no terminal para avaliar o modelo na divisão de validação do MPII (o Split do trem/Val é 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 uma arquitetura de rede--resume carregará o peso de um modelo específico-e significa apenas avaliação-d visualizará a saída da rede. Também pode ser usado durante o treinamento O resultado será salvo como um arquivo .mat ( preds_valid.mat ), que é uma matriz 2958x16x2 , na pasta especificada por --checkpoint .
Você pode usar a evaluation/eval_PCKh.m para avaliar suas previsões. O código de avaliação é transportado de Tompson et al. CVPR 2015.
Os resultados ([email protected]) treinados usando este código são relatados na tabela a seguir.
| Modelo | Cabeça | Ombro | Cotovelo | Pulso | Quadril | Joelho | Tornozelo | Significar |
|---|---|---|---|---|---|---|---|---|
| hg_s2_b1 (último) | 95.80 | 94.57 | 88.12 | 83.31 | 86.24 | 80,88 | 77.44 | 86.76 |
| hg_s2_b1 (melhor) | 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 (melhor) | 96.79 | 95.28 | 90.27 | 85.56 | 87.57 | 84.3 | 81.06 | 88.78 |
A curva de treinamento / validação é visualizada da seguinte maneira.

Você também pode avaliar o resultado executando python evaluation/eval_PCKh.py para avaliar as previsões. Produzirá exatamente o mesmo resultado que o do MATLAB. Obrigado @sssruhan1 pela contribuição.
Execute o seguinte comando no terminal para treinar uma pilha de 8 houtglass no conjunto de dados de pose humana do MPII.
CUDA_VISIBLE_DEVICES=0 python example/main.py --dataset mpii -a hg --stacks 8 --blocks 1 --checkpoint checkpoint/mpii/hg8 -j 4
Aqui,
CUDA_VISIBLE_DEVICES=0 identifica os dispositivos GPU que você deseja usar. Por exemplo, use CUDA_VISIBLE_DEVICES=0,1 se desejar usar duas GPUs com ID 0 e 1 .-j Especifica quantos trabalhadores você deseja usar para carregar dados.--checkpoint Especifica para onde você deseja salvar os modelos, o log e as previsões. Conjunto de dados suportado
Modelos suportados
Por favor, crie uma solicitação de tração se deseja contribuir.