
Pytorch-Poseは、2Dシングルヒューマンポーズ推定のための一般的なパイプラインのPytorch実装です。目的は、トレーニング/推論/評価のインターフェイスと、最も人気のあるヒューマンポーズデータベース(MPIIヒューマンポーズ、LSP、FLICなど)のさまざまなデータ増強オプションを備えたデータローダーを提供することです。
データの準備と増強のためのいくつかのコードは、積み重ねられた砂時計ネットワークからもたらされます。元の著者に感謝します。
更新:このリポジトリは、Pytorch 0.4.1/1.0と互換性があります!
Pytorch(> = 0.4.1):Pytorchのインストール指示に従ってください。コードはPython2で開発されており、Python3ではまだテストされていないことに注意してください。
サブモジュールでリポジトリをクローンします
git clone --recursive https://github.com/bearpaw/pytorch-pose.git
MPIIデータセットのimagesディレクトリへのシンボリックリンクを作成します。
ln -s PATH_TO_MPII_IMAGES_DIR data/mpii/images
COCOでのトレーニング/テストについては、CoCo ReadMeを参照してください。
data/mpiiに保存しますdata/mscocoに保存します詳細なトレーニングレシピについては、Training.mdを参照してください!
迅速なスタートを切るために、当社の前処理モデル(2スタックの砂時計モデルなど)をダウンロードできます。
ターミナルで次のコマンドを実行して、MPII検証分割のモデルを評価します(Train/Val SplitはTompson etal。CVPR2015からです)。
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ネットワークアーキテクチャを指定します--resume特定のモデルから重量をロードします-e評価のみを表します-dネットワーク出力を視覚化します。トレーニング中にも使用できます結果は、 --checkpointで指定されたフォルダーに2958x16x2マトリックスである.matファイル( preds_valid.mat )として保存されます。
MATLABスクリプトevaluation/eval_PCKh.mを使用して、予測を評価できます。評価コードは、Tompsonらから移植されています。 CVPR 2015。
このコードを使用してトレーニングされた結果([email protected]スコア)を次の表に報告します。
| モデル | 頭 | ショルダー | 肘 | 手首 | ヒップ | 膝 | 足首 | 平均 |
|---|---|---|---|---|---|---|---|---|
| HG_S2_B1(最後) | 95.80 | 94.57 | 88.12 | 83.31 | 86.24 | 80.88 | 77.44 | 86.76 |
| HG_S2_B1(最高) | 95.87 | 94.68 | 88.27 | 83.64 | 86.29 | 81.20 | 77.70 | 86.95 |
| HG_S8_B1(最後) | 96.79 | 95.19 | 90.08 | 85.32 | 87.48 | 84.26 | 80.73 | 88.64 |
| HG_S8_B1(ベスト) | 96.79 | 95.28 | 90.27 | 85.56 | 87.57 | 84.3 | 81.06 | 88.78 |
トレーニング /検証曲線は次のように視覚化されます。

また、 python evaluation/eval_PCKh.pyを実行して予測を評価して、結果を評価することもできます。 Matlabの結果とまったく同じ結果が生成されます。貢献してくれた @sssruhan1に感謝します。
ターミナルで次のコマンドを実行して、MPIIヒューマンポーズデータセットで8スタックの砂時計ネットワークをトレーニングします。
CUDA_VISIBLE_DEVICES=0 python example/main.py --dataset mpii -a hg --stacks 8 --blocks 1 --checkpoint checkpoint/mpii/hg8 -j 4
ここ、
CUDA_VISIBLE_DEVICES=0使用するGPUデバイスを識別します。たとえば、ID 0および1で2つのGPUを使用する場合はCUDA_VISIBLE_DEVICES=0,1を使用します。-jデータの読み込みに使用する労働者の数を指定します。--checkpointモデル、ログ、予測を保存する場所を指定します。 サポートされているデータセット
サポートされているモデル
貢献したい場合は、プルリクエストを作成してください。