79 lines
3.3 KiB
Markdown
79 lines
3.3 KiB
Markdown
# Human Pose Estimation with mediapipe
|
||
|
||
## Запуск
|
||
|
||
Для тестового запуска через вебкамеру с индексом 0.
|
||
```console
|
||
python3 hpe_json.py --address_input 0 --show_image True
|
||
```
|
||
|
||
Скрипт принимает следующие аргументы:
|
||
|
||
* '--address_input' (type=str, default="0"): путь к файлу или индекс вебкамеры
|
||
* '--scale_pose' (type=float, default=0.42): ширина плеч в метрической системе
|
||
* '--crop_image' (type=float, default=1.0): коэффициент, если нужно изменить размер изображения
|
||
* '--osc_address' (type=str, default="0.0.0.0"): ip-адрес для osc клиента
|
||
* '--osc_port' (type=int, default="5005"): порт для osc клиента
|
||
* '--osc_message_address' (type=str, default="/pose/0"): адрес для вывода сообщения через osc клиент
|
||
* '--output_method' (type=str, default='file', choices=['file', 'osc']): тип вывода через файл или osc клиент
|
||
* '--mirror_image' (type=bool, default=True): горизнтальное отображение выходного изображения
|
||
* '--show_image' (type=bool, default=False): вывод выходного изображения через opencv
|
||
|
||
Для теста с matplotlib нужно запустить скрипт (пример с вебкамерой с индексом 0):
|
||
```console
|
||
python3 hpe_videocapture.py 0
|
||
```
|
||
|
||
## Зависимости
|
||
|
||
Библиотеки python:
|
||
* mediapipe
|
||
* numpy
|
||
* matplotlib (можно сделать опциональной)
|
||
* opencv-python
|
||
* json
|
||
* python-osc
|
||
|
||
Библиотека mediapipe требует cudatoolkit и cudnn для работы с gpu.
|
||
|
||
## Интерфейс для hpe_videocapture
|
||
|
||
Для разовой отрисовки точек в 3D с помощью matplotlib необходимо нажать клавишу 'm'.
|
||
|
||
Чтобы записать сконвертированные данные в модель UE4 в файл 'hierarchy_data.json', нужно нажать клавишу 'j'.
|
||
|
||
Для закрытия программы нужно нажать клавишу 'esc'.
|
||
|
||
## Требования к постановке эксперимента
|
||
|
||
* Человек в кадре должен быть один.
|
||
* Камера примерно должна быть под углом 90 градусов.
|
||
* Человек должен входить в кадр целиком.
|
||
* Желательно, чтобы у одежда на человеке были хорошо видны контуры.
|
||
|
||
## Сборка на Windows
|
||
|
||
В разработке
|
||
|
||
## Config file
|
||
|
||
В разработке.
|
||
|
||
Предположительные переменные.
|
||
|
||
Параметры класса hpe_mp_class из hpe_mp_class.py:
|
||
* hands_static_image_mode = False
|
||
* hands_max_num_hands = 2
|
||
* hands_min_detection_confidence = 0.7
|
||
* hands_min_tracking_confidence = 0.5
|
||
* pose_static_image_mode = False
|
||
* pose_upper_body_only = False
|
||
* pose_smooth_landmarks = True
|
||
* pose_min_detection_confidence = 0.7
|
||
* pose_min_tracking_confidence = 0.5
|
||
* hol_static_image_mode = False
|
||
* hol_upper_body_only = False
|
||
* hol_smooth_landmarks = True
|
||
* hol_min_detection_confidence = 0.7
|
||
* hol_min_tracking_confidence = 0.5
|