Skip to content

PopovIV/sig_proc_lab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

Постановка задачи

В входящем видеопотоке требуется находить людей и определять их рост, находящихся в кадре. Всю полученную информацию выводить вместе с видео на экран.

Установка

  1. Установите Python 3.7
  2. Установите все модули при помощи PIP используя requirements.txt
  3. Запустите модуль main.py

Входные\Выходные значения

Вход: Видеопоток со статично закрепленной веб-камеры. Веб-камера заранее откалибрована.

Выход: Тот же видеопоток, но с добавленными прямоугольниками вокруг контуров людей на видео, а также информацией о их росте.

Требования

Требования к веб-камере

  • Камера должна быть заранее откалибрована.
  • Должна быть закреплена в одном месте.
  • Известна координаты, на которых закреплена камера, относительно квадрата для калибровки.
  • Должна быть расположена так, чтобы была видна поверхность, на которой стоят люди.

Требования к видео

  • Должно быть минимум в 720p 30fps.

Требования к людям на видео

  • Людей на видео как может быть несколько, так и не быть вовсе.
  • В первом приближении работы программы должны находиться на видео в полный рост для определения роста.

Калибровка камеры

Для правильного применения перспективной геометрии, камера должна быть откалибрована.

  1. Рисуем на поверхности, которую считаем полом, квадрат метр на метр.
  2. Считаем правый верхний угол началом координат (0, 0).
  3. Определим координаты пикселей оставшихся вершин квадрата относительно начала координат.
  4. Самостоятельно введем координаты камеры относительно начала координат.

Алгоритм решения задачи

  1. С помощью OpenCV получаем видеопоток, как набор кадров.
  2. Используя MediaPipe, найдем силуэты людей на видео.
  3. Рост определяем с помощью перспективной геометрии, используя раннее полученный силуэт человека.
  4. Добавить информацию о всех обнаруженный людях обратно в видео.

Возможные варианты применения

  • Система выявления недостаточно высоких людей для посещения аттракционов/водных горок.

About

ML Lab for SPbSTU Signal processing course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages