
Pytorch-Pose ist eine Pytorch-Implementierung der allgemeinen Pipeline für die 2D-Single Human Pose-Schätzung. Ziel ist es, die Schnittstelle des Trainings/Inferenz/Evaluierung und des Dataloaders mit verschiedenen Datenerweiterungsoptionen für die beliebtesten Datenbanken für menschliche Posen (z. B. die MPII Human Pose, LSP und Flic) bereitzustellen.
Einige Codes für die Datenvorbereitung und -vergrößerung werden aus dem gestapelten Sanduhr -Netzwerk gebracht. Vielen Dank an den ursprünglichen Autor.
UPDATE: Dieses Repository ist jetzt mit Pytorch 0.4.1/1.0 kompatibel!
Pytorch (> = 0.4.1): Bitte befolgen Sie die Installationsanweisung von Pytorch. Beachten Sie, dass der Code mit Python2 entwickelt und mit Python3 noch nicht getestet wurde.
Klonen Sie das Repository mit Submodule
git clone --recursive https://github.com/bearpaw/pytorch-pose.git
Erstellen Sie einen symbolischen Link zum images -Verzeichnis des MPII -Datensatzes:
ln -s PATH_TO_MPII_IMAGES_DIR data/mpii/images
Informationen zum Training/Test auf Coco finden Sie in Coco Readme.
data/mpiidata/mscoco Weitere Informationen zu Training.MD für detaillierte Trainingsrezepte!
Sie können unsere vorbereiteten Modelle (z. B. 2-Stack-Hourglass-Modell) für einen kurzen Start herunterladen.
Führen Sie den folgenden Befehl im Terminal aus, um das Modell auf der MPII -Validierungsaufteilung zu bewerten (der Zug/VAL -Split stammt von 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 spezifiziert eine Netzwerkarchitektur--resume lädt das Gewicht aus einem bestimmten Modell-e steht nur für die Bewertung-d visualisieren die Netzwerkausgabe. Es kann auch während des Trainings verwendet werden Das Ergebnis wird als .mat -Datei ( preds_valid.mat ), eine 2958x16x2 -Matrix, im --checkpoint Ordner gespeichert.
Sie können die MATLAB -Skript evaluation/eval_PCKh.m verwenden, um Ihre Vorhersagen zu bewerten. Der Bewertungscode wird von Tompson et al. CVPR 2015.
Die mit diesem Code trainierten Ergebnisse ([email protected] Score) werden in der folgenden Tabelle angegeben.
| Modell | Kopf | Schulter | Ellbogen | Handgelenk | Hüfte | Knie | Knöchel | Bedeuten |
|---|---|---|---|---|---|---|---|---|
| hg_s2_b1 (letztes) | 95,80 | 94.57 | 88.12 | 83.31 | 86,24 | 80.88 | 77,44 | 86,76 |
| hg_s2_b1 (am besten) | 95,87 | 94.68 | 88.27 | 83.64 | 86.29 | 81.20 | 77,70 | 86,95 |
| hg_s8_b1 (letztes) | 96.79 | 95.19 | 90.08 | 85.32 | 87,48 | 84.26 | 80.73 | 88,64 |
| hg_s8_b1 (am besten) | 96.79 | 95.28 | 90.27 | 85,56 | 87,57 | 84.3 | 81.06 | 88.78 |
Die Trainings- / Validierungskurve wird wie folgt visualisiert.

Sie können das Ergebnis auch bewerten, indem Sie python evaluation/eval_PCKh.py ausführen, um die Vorhersagen zu bewerten. Es wird genau das gleiche Ergebnis wie das des Matlab erzeugen. Danke @SSSRUHAN1 für den Beitrag.
Führen Sie den folgenden Befehl im Terminal aus, um einen 8-Stapel des Hourglass-Netzwerks im MPII Human Pose-Datensatz zu trainieren.
CUDA_VISIBLE_DEVICES=0 python example/main.py --dataset mpii -a hg --stacks 8 --blocks 1 --checkpoint checkpoint/mpii/hg8 -j 4
Hier,
CUDA_VISIBLE_DEVICES=0 Identifiziert die GPU -Geräte, die Sie verwenden möchten. Verwenden Sie beispielsweise CUDA_VISIBLE_DEVICES=0,1 , wenn Sie zwei GPUs mit ID 0 und 1 verwenden möchten.-j gibt an, wie viele Arbeitnehmer Sie für das Laden von Daten verwenden möchten.--checkpoint gibt an, wo Sie die Modelle, das Protokoll und die Vorhersagen speichern möchten. Unterstützter Datensatz
Unterstützte Modelle
Bitte erstellen Sie eine Pull -Anfrage, wenn Sie einen Beitrag leisten möchten.