В входящем видеопотоке требуется находить людей и определять их рост, находящихся в кадре. Всю полученную информацию выводить вместе с видео на экран.
- Установите Python 3.7
- Установите все модули при помощи PIP используя requirements.txt
- Запустите модуль main.py
Вход: Видеопоток со статично закрепленной веб-камеры. Веб-камера заранее откалибрована.
Выход: Тот же видеопоток, но с добавленными прямоугольниками вокруг контуров людей на видео, а также информацией о их росте.
- Камера должна быть заранее откалибрована.
- Должна быть закреплена в одном месте.
- Известна координаты, на которых закреплена камера, относительно квадрата для калибровки.
- Должна быть расположена так, чтобы была видна поверхность, на которой стоят люди.
- Должно быть минимум в 720p 30fps.
- Людей на видео как может быть несколько, так и не быть вовсе.
- В первом приближении работы программы должны находиться на видео в полный рост для определения роста.
Для правильного применения перспективной геометрии, камера должна быть откалибрована.
- Рисуем на поверхности, которую считаем полом, квадрат метр на метр.
- Считаем правый верхний угол началом координат (0, 0).
- Определим координаты пикселей оставшихся вершин квадрата относительно начала координат.
- Самостоятельно введем координаты камеры относительно начала координат.
- С помощью OpenCV получаем видеопоток, как набор кадров.
- Используя MediaPipe, найдем силуэты людей на видео.
- Рост определяем с помощью перспективной геометрии, используя раннее полученный силуэт человека.
- Добавить информацию о всех обнаруженный людях обратно в видео.
- Система выявления недостаточно высоких людей для посещения аттракционов/водных горок.