




該倉庫是從單個RGB圖像中進行3D多人姿勢估算的相機距離自上而下方法的官方Pytorch實施(ICCV 2019)。它包含POSENET部分。
該倉庫提供的內容:
該代碼根據Ubuntu 16.04,Cuda 9.0,Cudnn 7.1環境進行測試,具有兩個NVIDIA 1080TI GPU。
使用Anaconda 3的Python 3.6.5版本用於開發。
您可以在demo文件夾中嘗試快速演示。
demo文件夾中準備input.jpg和預訓練的快照。bbox_list 。root_depth_list 。python demo.py --gpu 0 --test_epoch 24如果要在gpu 0上運行。output_pose_2d.jpg和顯示3D姿勢的新窗口。 ${POSE_ROOT}描述如下。
${POSE_ROOT}
|-- data
|-- demo
|-- common
|-- main
|-- tool
|-- vis
`-- output
data包含數據加載代碼以及與圖像和註釋目錄的軟鏈接。demo包含演示代碼。common包含3D多人姿勢估計系統的內核代碼。main包含用於培訓或測試網絡的高級代碼。tool包含數據預處理代碼。您不必運行此代碼。我在下面提供預處理的數據。vis包含用於3D可視化的腳本。output包含日誌,訓練有素的模型,可視化的輸出和測試結果。您需要遵循以下data的目錄結構。
${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
要從Google Drive下載多個文件而不壓縮它們,請嘗試一下。如果嘗試從Google Drive鏈接下載數據集時,您有“下載限制”問題的問題,請嘗試此技巧。
* 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.
您需要按照以下內容遵循output文件夾的目錄結構。
${POSE_ROOT}
|-- output
|-- |-- log
|-- |-- model_dump
|-- |-- result
`-- |-- vis
output文件夾作為軟鏈路形式而不是文件夾表單,因為它將具有較大的存儲容量。log文件夾包含培訓日誌文件。model_dump文件夾包含每個時期的保存檢查點。result文件夾包含在測試階段生成的最終估計文件。vis文件夾包含可視化的結果。$DB_NAME_img_name.py以.txt格式獲取圖像文件名。preds_2d_kpt_$DB_NAME.mat , preds_3d_kpt_$DB_NAME.mat )放在single或多multi夾中。draw_3Dpose_$DB_NAME.m main/config.py中,您可以更改模型的設置,包括要使用的數據集,網絡骨乾和輸入大小等。在main文件夾中,運行
python train.py --gpu 0-1在GPU 0,1上訓練網絡。
如果您想繼續實驗,請運行
python train.py --gpu 0-1 --continue --gpu 0,1可以代替--gpu 0-1 。
將經過訓練的模型放置在output/model_dump/ 。
在main文件夾中,運行
python test.py --gpu 0-1 --test_epoch 20使用20個時期訓練的模型在GPU 0,1上測試網絡。 --gpu 0,1可以代替--gpu 0-1 。
在這裡,我報告了posenet的性能。
對於評估,您可以運行test.py或Human36M中的評估代碼。

對於評估,您可以運行test.py或Human36M中的評估代碼。

對於評估,運行test.py之後,將data/MuPoTS/mpii_mupots_multiperson_eval.m移動到data/MuPoTS/data中。另外,將測試結果文件( preds_2d_kpt_mupots.mat和preds_3d_kpt_mupots.mat )移動到data/MuPoTS/data中。然後使用您的評估模式參數運行mpii_mupots_multiperson_eval.m 。

我們還在MSCOCO數據集中提供了估計的3D人根坐標。坐標位於3D攝像機坐標系中,焦距為X和Y軸設置為1500mm。您可以使用我的論文補充材料中的方程式2或方程來更改焦距和相應距離。
@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}
}