First commit

This commit is contained in:
Arkadiy Strelnikov
2021-11-26 01:47:03 +07:00
commit 5459e0f0ce
6 changed files with 1054 additions and 0 deletions

81
README.md Normal file
View File

@@ -0,0 +1,81 @@
# Human Pose Estimation with mediapipe
## Запуск
Для вебкамеры, где 0 - индекс самой вебкамеры, если отличается, то следует заменить на нужный.
```console
python3 hpe_videocapture.py 0 scale_pose
```
Для чтения из файла
```console
python3 hpe_videocapture.py path_to_video scale_pose
```
Параметр scale_pose - ширина плеч. По умолчанию равен 0,42.
Есть экспериментальная версия для взаимодействия с ffmpeg и osc:
```console
python3 hpe_ffmpeg.py
```
Внутри кода записаны параметры для osc соединения:
* osc_address = "10.199.0.14"
* osc_port = 5005
Предполагается вывести выше указанные параметры либо в аргументы, либо в конфиг-файл.
## Зависимости
Библиотеки python:
* mediapipe
* numpy
* matplotlib (можно сделать опциональной)
* opencv-python
* json
* python-osc (в файле hpe_ffmpeg.py)
Библиотека 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
Физические параметры человека (ширина плеч в метрах):
* scale_pose = 0,42