Transpose - это модель оценки позы человека, основанная на экстракторе функции CNN, энкодере трансформатора и головке прогнозирования. Учитывая изображение, слои внимания, встроенные в трансформатор, могут эффективно захватывать дальние пространственные отношения между клавиатурами, и объяснить, на какие зависимости предсказанные местоположения клавиш высокопоставлены.
[arxiv 2012.14214] [Paper] [Demo-Notebook]
Transpose: локализация клавиш с помощью Transformer, Sen Yang, Zhibin Quan, Mu Nie, Wankou Yang, ICCV 2021
Мы выбираем два типа CNN в качестве кандидатов на основу: Resnet и HRNet. Полученными сверточными блоками являются Resnet-Small, Hrnet-Small-W32 и HRNet-Small-W48.
Модель | Магистраль | #Приветрительные слои | дюймовый | час | #Heads | #Парамы | AP (Coco Val GT Bbox) | Скачать |
---|---|---|---|---|---|---|---|---|
Transpose-R-A3 | Resnet-S | 3 | 256 | 1024 | 8 | 5,2 МБ | 73,8 | модель |
Transpose-R-A4 | Resnet-S | 4 | 256 | 1024 | 8 | 6,0 МБ | 75,1 | модель |
Транспонируемый-HS | HRNet-S-W32 | 4 | 64 | 128 | 1 | 8,0 МБ | 76.1 | модель |
Transpose-H-A4 | HRNet-S-W48 | 4 | 96 | 192 | 1 | 17,3 МБ | 77.5 | модель |
Transpose-H-A6 | HRNet-S-W48 | 6 | 96 | 192 | 1 | 17,5 МБ | 78.1 | модель |
Попробуйте демонстрацию веб -сайта:
Вы можете напрямую загружать модели Transpose-R-A4 или Transpose-H-A4 с предварительным весом на наборе данных Coco Train2017 от Torch Hub, просто по:
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 )
Модель | Входной размер | FPS* | Gflops | Доступа | Ap .5 | AP .75 | AP (M) | AP (L) | АР | AR .5 | AR .75 | РУКА) | 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 |
Транспонируемый-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 |
Примечание:
Модель | Входной размер | #Парамы | Gflops | Доступа | Ap .5 | AP .75 | AP (M) | AP (L) | АР | AR .5 | AR .75 | РУКА) | AR (L) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Транспонируемый-HS | 256x192 | 8,0 м | 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,3 м | 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,5 м | 21.8 | 0,750 | 0,922 | 0,823 | 0,713 | 0,811 | 0,801 | 0,954 | 0,867 | 0,759 | 0,859 |
Юпитер -ноутбук Демо
Учитывая входное изображение, предварительную транспонированную модель и прогнозируемые местоположения, мы можем визуализировать пространственные зависимости прогнозируемых местоположений с порогом для показателей внимания.
TransPose-R-A4
с threshold=0.00
TransPose-R-A4
с threshold=0.01
TransPose-H-A4
с threshold=0.00
TransPose-H-A4
с threshold=0.00075
Клонировать этот репозиторий, и мы назовем каталог, который вы клонировали как $ {pose_root}
git clone https://github.com/yangsenius/TransPose.git
Установить Pytorch> = 1,6 и Torchvision> = 0,7 с официального веб -сайта Pytorch
Установите зависимости пакета. Убедитесь, что среда Python> = 3,7
pip install -r requirements.txt
Сделать выходные (учебные модели и файлы) и журнал (журнал Tensorboard) в отношении $ {pose_root} и сделать либера
mkdir output log
cd ${POSE_ROOT} /lib
make
Загрузите предварительные модели с выпусков этого репо в указанный каталог
$ {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
Мы выполняем шаги HRNet, чтобы подготовить набор данных Coco Train/Val/Test и аннотации. Результаты обнаруженного человека загружаются с OneDrive или Googledrive. Пожалуйста, загрузите или свяжите их с $ {pose_root}/data/coco/и заставьте их выглядеть следующим образом:
$ {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
Большое спасибо за эти статьи и их коды с открытым исходным кодом: HRNet, Detr, Darkpose
Этот репозиторий выпускается по лицензии MIT.
Если вы найдете этот репозиторий полезным, пожалуйста, дайте ему звезду? или рассмотрите возможность ссылаться на нашу работу:
@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}
}