A permissive license whose main conditions require preservation of copyright and license notices. Contributors provide an express grant of patent rights. Licensed works, modifications, and larger works may be distributed under different terms and without source code.
HyperPose
HyperPose — это библиотека для создания систем оценки позы человека, которые могут эффективно работать в реальных условиях.
Примечание: Мы находимся в процессе переноса наших API с версии 1.0 на версию 2.0. Ожидается, что миграция будет завершена к июлю 2020 года.
HyperPose имеет две ключевые особенности, которых нет в существующих библиотеках:
Вы можете установить HyperPose и изучить его API через документацию.
Мы предоставляем пример, демонстрирующий оценку позы человека с помощью HyperPose. Вам необходимо установить CUDA Toolkit 10+, TensorRT 7+, OpenCV 3.2+ и gFlags (версия cmake), а также включить поддержку C++ 17. После подготовки необходимых условий запустите следующий скрипт:
sudo apt -y install subversion curl
sh scripts/download-test-data.sh # Установить данные для примеров.
sh scripts/download-tinyvgg-model.sh # Установить модель tiny-vgg.
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=RELEASE && make -j$(nproc) # Собрать библиотеку и примеры.
./example.operator_api_batched_images_paf # Выходные изображения будут находиться в папке сборки.
Мы сравниваем производительность прогнозирования HyperPose с OpenPose 1.6 и TF-Pose. Мы реализуем алгоритмы OpenPose в HyperPose с различными конфигурациями. Тестовая среда имеет Ubuntu18.04, GPU 1070Ti, процессор Intel i7 (12 логических ядер). Тестовое видео — Crazy Updown Funk (YouTube). Модели HyperPose (в форматах ONNX или Uff) доступны здесь.
Конфигурация HyperPose | Размер DNN | Форма ввода DNN | HyperPose | Базовое значение |
---|---|---|---|---|
OpenPose (VGG) | 209,3 МБ | 656 x 368 | 27,32 FPS | 8 FPS (OpenPose) |
OpenPose (TinyVGG) | 34,7 МБ | 384 x 256 | 124,925 FPS | N/A |
OpenPose (MobileNet) | 17,9 МБ | 432 x 368 | 84,32 FPS | 8,5 FPS (TF-Pose) |
OpenPose (ResNet18) | 45,0 МБ | 432 x 368 | 62,52 FPS | N/A |
Как мы видим, HyperPose — единственная библиотека, которая может обеспечить оценку позы человека в реальном времени.
HyperPose является открытым исходным кодом под лицензией Apache 2.0. DistributedOptimizer в Horovod и async-sgd, если вы обучаете модель в кластере с ограниченной пропускной способностью и медленными узлами
(ii) Для запуска на 2 машинах (у которых есть сетевой интерфейс nic eth0 с IP-адресами 192.168.0.1 и 192.168.0.2):
kungfu-run -np 8 -H 192.168.0.1:4,192.168.0.1:4 -nic eth0 python3 train.py --parallel --kf-optimizer=sma
Вывод в реальном времени на ограниченных ресурсами встраиваемых платформах всегда является сложной задачей. Чтобы решить эту проблему, мы предоставляем совместимый с TensorRT механизм вывода. Механизм имеет два API на C++, оба определены в include/openpose-plus.hpp. Они предназначены для запуска модели TensorFlow с TensorRT и последующей обработки соответственно.
Для получения подробной информации о выводе (зависимости / быстрый старт) см. cpp-inference (doc/markdown-doc/cpp-inference.md).
Мы работаем над улучшением производительности механизма. Первоначальные результаты тестирования для выполнения полной модели OpenPose следующие. На Jetson TX2 скорость вывода составляет 13 кадров в секунду (вариант mobilenet ещё быстрее). На Jetson TX1 скорость составляет 10 кадров в секунду. На Titan 1050 скорость составляет 38 кадров в секунду.
После нашей первой оптимизации мы достигли 50 FPS (float32) на 1070Ti.
У нас также есть привязка Python для механизма. Текущая привязка зависит от внешнего проекта tf-hyperpose-estimation. Мы работаем над предоставлением привязки Python для нашей высокопроизводительной реализации C++. На данный момент, чтобы включить привязку, пожалуйста, соберите библиотеку C++ для последующей обработки с помощью:
./scripts/install-pafprocess.sh
# Требуется swig. Выполните команду `conda install -c anaconda swig`, чтобы установить swig.
См. tf-hyperpose (https://github.com/ildoonet/tf-hyperpose-estimation/tree/master/tf_pose/pafprocess) для получения дополнительной информации.
Вы можете посмотреть примеры в папке examples, чтобы увидеть, как использовать API вывода C++. Запуск ./scripts/live-camera.sh даст вам краткое представление о том, как это работает.
Вы можете использовать код проекта под свободной лицензией Apache 2.0 (https://github.com/tensorlayer/tensorlayer/blob/master/LICENSE.rst) ТОЛЬКО ЕСЛИ вы:
-->
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )