Ini adalah implementasi resmi pytorch dari Garis Dasar Sederhana untuk Estimasi dan Pelacakan Pose Manusia . Karya ini memberikan metode dasar yang ternyata sederhana dan efektif, sehingga berguna untuk menginspirasi dan mengevaluasi ide-ide baru di lapangan. Hasil-hasil mutakhir dicapai berdasarkan tolok ukur yang menantang. Pada kumpulan data COCO keypoint yang valid, model tunggal terbaik kami mencapai 74,3 mAP . Anda dapat mereproduksi hasil kami menggunakan repo ini. Semua model disediakan untuk tujuan penelitian.
Lengkungan | Kepala | Bahu | Siku | Pergelangan tangan | Panggul | Lutut | Pergelangan kaki | Berarti | [email protected] |
---|---|---|---|---|---|---|---|---|---|
256x256_pose_resnet_50_d256d256d256 | 96.351 | 95.329 | 88.989 | 83.176 | 88.420 | 83.960 | 79.594 | 88.532 | 33.911 |
384x384_pose_resnet_50_d256d256d256 | 96.658 | 95.754 | 89.790 | 84.614 | 88.523 | 84.666 | 79.287 | 89.066 | 38.046 |
256x256_pose_resnet_101_d256d256d256 | 96.862 | 95.873 | 89.518 | 84.376 | 88.437 | 84.486 | 80.703 | 89.131 | 34.020 |
384x384_pose_resnet_101_d256d256d256 | 96.965 | 95.907 | 90.268 | 85.780 | 89.597 | 85.935 | 82.098 | 90.003 | 38.860 |
256x256_pose_resnet_152_d256d256d256 | 97.033 | 95.941 | 90.046 | 84.976 | 89.164 | 85.311 | 81.271 | 89.620 | 35.025 |
384x384_pose_resnet_152_d256d256d256 | 96.794 | 95.618 | 90.080 | 86.225 | 89.700 | 86.862 | 82.853 | 90.200 | 39.433 |
Lengkungan | AP | Aplikasi .5 | AP .75 | AP (M) | AP (kiri) | AR | AR.5 | AR.75 | LENGAN) | AR (kiri) |
---|---|---|---|---|---|---|---|---|---|---|
256x192_pose_resnet_50_d256d256d256 | 0,704 | 0,886 | 0,783 | 0,671 | 0,772 | 0,763 | 0,929 | 0,834 | 0,721 | 0,824 |
384x288_pose_resnet_50_d256d256d256 | 0,722 | 0,893 | 0,789 | 0,681 | 0,797 | 0,776 | 0,932 | 0,838 | 0,728 | 0,846 |
256x192_pose_resnet_101_d256d256d256 | 0,714 | 0,893 | 0,793 | 0,681 | 0,781 | 0,771 | 0,934 | 0,840 | 0,730 | 0,832 |
384x288_pose_resnet_101_d256d256d256 | 0,736 | 0,896 | 0,803 | 0,699 | 0,811 | 0,791 | 0,936 | 0,851 | 0,745 | 0,858 |
256x192_pose_resnet_152_d256d256d256 | 0,720 | 0,893 | 0,798 | 0,687 | 0,789 | 0,778 | 0,934 | 0,846 | 0,736 | 0,839 |
384x288_pose_resnet_152_d256d256d256 | 0,743 | 0,896 | 0,811 | 0,705 | 0,816 | 0,797 | 0,937 | 0,858 | 0,751 | 0,863 |
Lengkungan | AP | Aplikasi .5 | AP .75 | AP (M) | AP (kiri) | AR | AR.5 | AR.75 | LENGAN) | AR (kiri) |
---|---|---|---|---|---|---|---|---|---|---|
256x192_pose_resnet_50_ kafe _d256d256d256 | 0,704 | 0,914 | 0,782 | 0,677 | 0,744 | 0,735 | 0,921 | 0,805 | 0,704 | 0,783 |
256x192_pose_resnet_101_ kafe _d256d256d256 | 0,720 | 0,915 | 0,803 | 0,693 | 0,764 | 0,753 | 0,928 | 0,821 | 0,720 | 0,802 |
256x192_pose_resnet_152_ kafe _d256d256d256 | 0,728 | 0,925 | 0,804 | 0,702 | 0,766 | 0,760 | 0,931 | 0,828 | 0,729 | 0,806 |
Kode ini dikembangkan menggunakan python 3.6 di Ubuntu 16.04. GPU NVIDIA diperlukan. Kode ini dikembangkan dan diuji menggunakan 4 kartu GPU NVIDIA P100. Platform atau kartu GPU lain belum sepenuhnya diuji.
Instal pytorch >= v0.4.0 mengikuti instruksi resmi.
Nonaktifkan cudnn untuk batch_norm:
# PYTORCH=/path/to/pytorch
# for pytorch v0.4.0
sed -i "1194s/torch.backends.cudnn.enabled/False/g" ${PYTORCH}/torch/nn/functional.py
# for pytorch v0.4.1
sed -i "1254s/torch.backends.cudnn.enabled/False/g" ${PYTORCH}/torch/nn/functional.py
Perhatikan bahwa instruksi seperti # PYTORCH=/path/to/pytorch menunjukkan bahwa Anda harus memilih jalur di mana Anda ingin menginstal pytorch dan kemudian menetapkan variabel lingkungan (dalam hal ini PYTORCH) yang sesuai.
Kloning repo ini, dan kami akan memanggil direktori yang Anda kloning sebagai ${POSE_ROOT}.
Instal dependensi:
pip install -r requirements.txt
Buat lib:
cd ${POSE_ROOT}/lib
make
Instal COCOAPI:
# COCOAPI=/path/to/clone/cocoapi
git clone https://github.com/cocodataset/cocoapi.git $COCOAPI
cd $COCOAPI/PythonAPI
# Install into global site-packages
make install
# Alternatively, if you do not have permissions or prefer
# not to install the COCO API into global site-packages
python3 setup.py install --user
Perhatikan bahwa instruksi seperti # COCOAPI=/path/to/install/cocoapi menunjukkan bahwa Anda harus memilih jalur di mana Anda ingin perangkat lunak dikloning dan kemudian menetapkan variabel lingkungan (COCOAPI dalam kasus ini) yang sesuai.
Unduh model terlatih pytorch imagenet dari kebun binatang model pytorch dan model terlatih bergaya caffe dari GoogleDrive.
Unduh model terlatih mpii dan coco dari OneDrive atau GoogleDrive. Silakan unduh di bawah ${POSE_ROOT}/models/pytorch, dan buat tampilannya seperti ini:
${POSE_ROOT}
`-- models
`-- pytorch
|-- imagenet
| |-- resnet50-19c8e357.pth
| |-- resnet50-caffe.pth.tar
| |-- resnet101-5d3b4d8f.pth
| |-- resnet101-caffe.pth.tar
| |-- resnet152-b121ed2d.pth
| `-- resnet152-caffe.pth.tar
|-- pose_coco
| |-- pose_resnet_101_256x192.pth.tar
| |-- pose_resnet_101_384x288.pth.tar
| |-- pose_resnet_152_256x192.pth.tar
| |-- pose_resnet_152_384x288.pth.tar
| |-- pose_resnet_50_256x192.pth.tar
| `-- pose_resnet_50_384x288.pth.tar
`-- pose_mpii
|-- pose_resnet_101_256x256.pth.tar
|-- pose_resnet_101_384x384.pth.tar
|-- pose_resnet_152_256x256.pth.tar
|-- pose_resnet_152_384x384.pth.tar
|-- pose_resnet_50_256x256.pth.tar
`-- pose_resnet_50_384x384.pth.tar
Init output (direktori keluaran model pelatihan) dan direktori log (direktori log tensorboard):
mkdir output
mkdir log
Pohon direktori Anda akan terlihat seperti ini:
${POSE_ROOT}
├── data
├── experiments
├── lib
├── log
├── models
├── output
├── pose_estimation
├── README.md
└── requirements.txt
Untuk data MPII silahkan download dari MPII Human Pose Dataset. File anotasi asli dalam format matlab. Kami telah mengonversinya ke format json, Anda juga perlu mengunduhnya dari OneDrive atau GoogleDrive. Ekstrak di bawah {POSE_ROOT}/data, dan buat terlihat seperti ini:
${POSE_ROOT}
|-- data
`-- |-- mpii
`-- |-- annot
| |-- gt_valid.mat
| |-- test.json
| |-- train.json
| |-- trainval.json
| `-- valid.json
`-- images
|-- 000001163.jpg
|-- 000003072.jpg
Untuk data COCO , silakan unduh dari unduhan COCO, Train/Val 2017 diperlukan untuk pelatihan dan validasi keypoint COCO. Kami juga menyediakan hasil deteksi orang COCO val2017 untuk mereproduksi hasil estimasi pose beberapa orang. Silakan unduh dari OneDrive atau GoogleDrive. Unduh dan ekstrak di bawah {POSE_ROOT}/data, dan buat tampilannya seperti ini:
${POSE_ROOT}
|-- data
`-- |-- coco
`-- |-- annotations
| |-- person_keypoints_train2017.json
| `-- person_keypoints_val2017.json
|-- person_detection_results
| |-- COCO_val2017_detections_AP_H_56_person.json
`-- images
|-- train2017
| |-- 000000000009.jpg
| |-- 000000000025.jpg
| |-- 000000000030.jpg
| |-- ...
`-- val2017
|-- 000000000139.jpg
|-- 000000000285.jpg
|-- 000000000632.jpg
|-- ...
python pose_estimation/valid.py
--cfg experiments/mpii/resnet50/256x256_d256x3_adam_lr1e-3.yaml
--flip-test
--model-file models/pytorch/pose_mpii/pose_resnet_50_256x256.pth.tar
python pose_estimation/train.py
--cfg experiments/mpii/resnet50/256x256_d256x3_adam_lr1e-3.yaml
python pose_estimation/valid.py
--cfg experiments/coco/resnet50/256x192_d256x3_adam_lr1e-3.yaml
--flip-test
--model-file models/pytorch/pose_coco/pose_resnet_50_256x192.pth.tar
python pose_estimation/train.py
--cfg experiments/coco/resnet50/256x192_d256x3_adam_lr1e-3.yaml
Jika Anda menggunakan kode atau model kami dalam penelitian Anda, silakan kutip dengan:
@inproceedings{xiao2018simple,
author={Xiao, Bin and Wu, Haiping and Wei, Yichen},
title={Simple Baselines for Human Pose Estimation and Tracking},
booktitle = {European Conference on Computer Vision (ECCV)},
year = {2018}
}