




Este repositório é a implementação oficial do Pytorch da abordagem de cima para baixo com desconto à distância da câmera para estimativa de pose em várias pessoas em 3D a partir de uma única imagem RGB (ICCV 2019) . Ele contém a parte do posenet .
O que este repo fornece:
Este código é testado no Ubuntu 16.04, CUDA 9.0, CUDNN 7.1 Ambiente com duas GPUs NVIDIA 1080TI.
A versão do Python 3.6.5 com a ANACONDA 3 é usada para desenvolvimento.
Você pode tentar uma demonstração rápida na pasta de demo .
input.jpg e instantâneo pré-treinado na pasta de demo .bbox_list aqui.root_depth_list aqui.python demo.py --gpu 0 --test_epoch 24 Se você quiser executar na GPU 0.output_pose_2d.jpg e nova janela que mostra pose 3D. O ${POSE_ROOT} é descrito como abaixo.
${POSE_ROOT}
|-- data
|-- demo
|-- common
|-- main
|-- tool
|-- vis
`-- output
data contêm códigos de carregamento de dados e links suaves para imagens e diretórios de anotações.demo contém códigos de demonstração.common contém códigos de kernel para o sistema de estimativa de pose em várias pessoas em 3D.main contém códigos de alto nível para treinamento ou teste da rede.tool contém códigos de pré-processamento de dados. Você não precisa executar este código. Eu forneço dados pré-processados abaixo.vis contém scripts para visualização 3D.output contém log, modelos treinados, saídas visualizadas e resultado do teste. Você precisa seguir a estrutura do diretório dos data como abaixo.
${POSE_ROOT}
|-- data
| |-- Human36M
| | |-- bbox_root
| | | |-- bbox_root_human36m_output.json
| | |-- images
| | |-- annotations
| |-- MPII
| | |-- images
| | |-- annotations
| |-- MSCOCO
| | |-- bbox_root
| | | |-- bbox_root_coco_output.json
| | |-- images
| | | |-- train2017
| | | |-- val2017
| | |-- annotations
| |-- MuCo
| | |-- data
| | | |-- augmented_set
| | | |-- unaugmented_set
| | | |-- MuCo-3DHP.json
| |-- MuPoTS
| | |-- bbox_root
| | | |-- bbox_mupots_output.json
| | |-- data
| | | |-- MultiPersonTestSet
| | | |-- MuPoTS-3D.json
Para baixar vários arquivos do Google Drive sem comprimi -los, tente isso. Se você tiver um problema com o problema do 'Limite de download' quando tentou baixar o conjunto de dados do link do Google Drive, tente este truque.
* Go the shared folder, which contains files you want to copy to your drive
* Select all the files you want to copy
* In the upper right corner click on three vertical dots and select “make a copy”
* Then, the file is copied to your personal google drive account. You can download it from your personal account.
Você precisa seguir a estrutura do diretório da pasta output como abaixo.
${POSE_ROOT}
|-- output
|-- |-- log
|-- |-- model_dump
|-- |-- result
`-- |-- vis
output como formulário de link suave é recomendado em vez do formulário de pasta, pois levaria grande capacidade de armazenamento.log contém arquivo de log de treinamento.model_dump contém pontos de verificação salvados para cada época.result contém arquivos de estimativa final gerados no estágio de teste.vis contém resultados visualizados.$DB_NAME_img_name.py para obter nomes de arquivos de imagem no formato .txt .preds_2d_kpt_$DB_NAME.mat , preds_3d_kpt_$DB_NAME.mat ) em single ou multi pasta.draw_3Dpose_$DB_NAME.m main/config.py , você pode alterar as configurações do modelo, incluindo o conjunto de dados para usar, o backbone de rede e o tamanho da entrada e assim por diante. Na pasta main , execute
python train.py --gpu 0-1Para treinar a rede na GPU 0,1.
Se você quiser continuar experimentar, corra
python train.py --gpu 0-1 --continue --gpu 0,1 pode ser usado em vez de --gpu 0-1 .
Coloque o modelo treinado na output/model_dump/ .
Na pasta main , execute
python test.py --gpu 0-1 --test_epoch 20 Para testar a rede na GPU 0,1 com o 20º modelo treinado pela época. --gpu 0,1 pode ser usado em vez de --gpu 0-1 .
Aqui eu relato o desempenho da Posenet.
Para a avaliação, você pode executar test.py ou existem códigos de avaliação no Human36M .

Para a avaliação, você pode executar test.py ou existem códigos de avaliação no Human36M .

Para a avaliação, execute test.py Depois disso, mova data/MuPoTS/mpii_mupots_multiperson_eval.m em data/MuPoTS/data . Além disso, mova os arquivos de resultado do teste ( preds_2d_kpt_mupots.mat e preds_3d_kpt_mupots.mat ) em data/MuPoTS/data . Em seguida, execute mpii_mupots_multiperson_eval.m com seus argumentos no modo de avaliação.

Além disso, fornecemos coordenadas de raiz humana 3D estimadas no conjunto de dados do MSCOCO. As coordenadas estão no sistema de coordenadas da câmera 3D e os comprimentos focais são definidos como 1500 mm para o eixo X e Y. Você pode alterar a distância focal e a distância correspondente usando a equação 2 ou a equação no material suplementar do meu papel.
@InProceedings{Moon_2019_ICCV_3DMPPE,
author = {Moon, Gyeongsik and Chang, Juyong and Lee, Kyoung Mu},
title = {Camera Distance-aware Top-down Approach for 3D Multi-person Pose Estimation from a Single RGB Image},
booktitle = {The IEEE Conference on International Conference on Computer Vision (ICCV)},
year = {2019}
}