Transpose adalah model estimasi pose manusia berdasarkan ekstraktor fitur CNN, encoder transformator, dan kepala prediksi. Mengingat gambar, lapisan perhatian yang dibangun dalam transformator dapat secara efisien menangkap hubungan spasial jarak jauh antara titik tombol dan menjelaskan ketergantungan apa yang sangat diandalkan oleh lokasi keypoints yang diprediksi.
[ARXIV 2012.14214] [kertas] [Demo-Notebook]
Transpose: Lokalisasi keypoint melalui Transformer, Sen Yang, Zhibin Quan, Mu Nie, Wankou Yang, ICCV 2021
Kami memilih dua jenis CNN sebagai kandidat tulang punggung: ResNet dan HRNET. Blok konvolusional yang diturunkan adalah resnet-small, hrnet-small-w32, dan hrnet-small-w48.
Model | Tulang punggung | Lapisan #attensi | D | H | #Heads | #Params | AP (Coco Val GT Bbox) | Unduh |
---|---|---|---|---|---|---|---|---|
Transpose-R-A3 | Resnet-s | 3 | 256 | 1024 | 8 | 5.2MB | 73.8 | model |
Transpose-R-A4 | Resnet-s | 4 | 256 | 1024 | 8 | 6.0MB | 75.1 | model |
Transpose-HS | HRNET-S-W32 | 4 | 64 | 128 | 1 | 8.0MB | 76.1 | model |
Transpose-H-A4 | HRNET-S-W48 | 4 | 96 | 192 | 1 | 17.3MB | 77.5 | model |
Transpose-H-A6 | HRNET-S-W48 | 6 | 96 | 192 | 1 | 17.5MB | 78.1 | model |
Cobalah demo web:
Anda dapat secara langsung memuat model Transpose-R-A4 atau Transpose-H-A4 dengan bobot pretrained pada dataset Coco Train2017 dari Torch Hub, hanya dengan:
import torch
tpr = torch . hub . load ( 'yangsenius/TransPose:main' , 'tpr_a4_256x192' , pretrained = True )
tph = torch . hub . load ( 'yangsenius/TransPose:main' , 'tph_a4_256x192' , pretrained = True )
Model | Ukuran input | FPS* | Gflops | Ap | Ap .5 | Ap .75 | Ap (m) | AP (L) | Ar | Ar .5 | AR .75 | LENGAN) | Ar (l) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Transpose-R-A3 | 256x192 | 141 | 8.0 | 0.717 | 0.889 | 0.788 | 0.680 | 0.786 | 0.771 | 0.930 | 0.836 | 0.727 | 0.835 |
Transpose-R-A4 | 256x192 | 138 | 8.9 | 0.726 | 0.891 | 0.799 | 0.688 | 0.798 | 0.780 | 0.931 | 0.845 | 0.735 | 0.844 |
Transpose-HS | 256x192 | 45 | 10.2 | 0.742 | 0.896 | 0.808 | 0,706 | 0.810 | 0.795 | 0.935 | 0.855 | 0.752 | 0.856 |
Transpose-H-A4 | 256x192 | 41 | 17.5 | 0.753 | 0.900 | 0.818 | 0.717 | 0.821 | 0.803 | 0.939 | 0.861 | 0.761 | 0.865 |
Transpose-H-A6 | 256x192 | 38 | 21.8 | 0.758 | 0.901 | 0.821 | 0.719 | 0.828 | 0.808 | 0.939 | 0.864 | 0.764 | 0.872 |
Catatan:
Model | Ukuran input | #Params | Gflops | Ap | Ap .5 | Ap .75 | Ap (m) | AP (L) | Ar | Ar .5 | AR .75 | LENGAN) | Ar (l) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Transpose-HS | 256x192 | 8.0m | 10.2 | 0.734 | 0.916 | 0.811 | 0.701 | 0.793 | 0.786 | 0.950 | 0.856 | 0.745 | 0.843 |
Transpose-H-A4 | 256x192 | 17.3m | 17.5 | 0.747 | 0.919 | 0.822 | 0.714 | 0.807 | 0.799 | 0.953 | 0.866 | 0.758 | 0.854 |
Transpose-H-A6 | 256x192 | 17.5m | 21.8 | 0.750 | 0.922 | 0.823 | 0.713 | 0.811 | 0.801 | 0.954 | 0.867 | 0.759 | 0.859 |
Jupyter Notebook Demo
Mengingat gambar input, model transpos pretrained, dan lokasi yang diprediksi, kita dapat memvisualisasikan ketergantungan spasial dari lokasi yang diprediksi dengan ambang batas untuk skor perhatian.
TransPose-R-A4
dengan threshold=0.00
TransPose-R-A4
dengan threshold=0.01
TransPose-H-A4
dengan threshold=0.00
TransPose-H-A4
dengan threshold=0.00075
Kloning repositori ini, dan kami akan menghubungi direktori yang Anda kloning sebagai $ {pose_root}
git clone https://github.com/yangsenius/TransPose.git
Instal Pytorch> = 1.6 dan TorchVision> = 0.7 dari situs web resmi Pytorch
Instal dependensi paket. Pastikan lingkungan Python> = 3.7
pip install -r requirements.txt
Buat output (model pelatihan dan file) dan log (tensorboard log) direktori di bawah $ {pose_root} & buat lib
mkdir output log
cd ${POSE_ROOT} /lib
make
Unduh model pretrained dari rilis repo ini ke direktori yang ditentukan
$ {POSE_ROOT}
`-- models
`-- pytorch
|-- imagenet
| |-- hrnet_w32-36af842e.pth
| |-- hrnet_w48-8ef0771d.pth
| |-- resnet50-19c8e357.pth
|-- transpose_coco
| |-- tp_r_256x192_enc3_d256_h1024_mh8.pth
| |-- tp_r_256x192_enc4_d256_h1024_mh8.pth
| |-- tp_h_32_256x192_enc4_d64_h128_mh1.pth
| |-- tp_h_48_256x192_enc4_d96_h192_mh1.pth
| |-- tp_h_48_256x192_enc6_d96_h192_mh1.pth
Kami mengikuti langkah -langkah HRNET untuk menyiapkan dataset Coco Train/Val/Test dan anotasi. Hasil orang yang terdeteksi diunduh dari OneDrive atau GoogledRive. Silakan unduh atau tautkan ke $ {pose_root}/data/coco/, dan buat mereka terlihat 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
| `-- COCO_test-dev2017_detections_AP_H_609_person.json
`-- images
|-- train2017
| |-- 000000000009.jpg
| |-- ...
`-- val2017
|-- 000000000139.jpg
|-- ...
python tools/test.py --cfg experiments/coco/transpose_r/TP_R_256x192_d256_h1024_enc4_mh8.yaml TEST.USE_GT_BBOX True
python tools/train.py --cfg experiments/coco/transpose_r/TP_R_256x192_d256_h1024_enc4_mh8.yaml
Terima kasih yang bagus untuk makalah ini dan kode sumber terbuka mereka : HRNET, DETR, Darkpose
Repositori ini dirilis di bawah lisensi MIT.
Jika Anda menemukan repositori ini berguna, berikan bintangnya? Atau pertimbangkan mengutip pekerjaan kami:
@inproceedings{yang2021transpose,
title={TransPose: Keypoint Localization via Transformer},
author={Yang, Sen and Quan, Zhibin and Nie, Mu and Yang, Wankou},
booktitle={IEEE/CVF International Conference on Computer Vision (ICCV)},
year={2021}
}