Лабораторная 12. Удаление фона с помощью интерактивной сегментации
Для интерактивной сегментации необходимо иметь выделенные области фона и основного объекта. Поскольку требуется реализация автоматического удаления фона, интерактивную часть должен будет выполнять дополнительный алгоритм. В рамках данной реализации предлагается работать с изображениями людей. Тогда можно находить лицо человека и обозначать его центр, как область целевого объекта для интерактивной сегментации, а часть региона за рамками выделения лица, как область фона.
Для реализации алгоритма требуется выполнить следующие шаги:
1. Выделить лицо с помощью каскадов Хаара, пример использования из документации OpenCV
2. Внутри рамки лица выделяем область на маске для интерактивной сегментации, как область объекта, а сверху (или сбоку если нет области сверху), как область фона.
3. (Дополнительное задание +доп балл) Вместо вызова детектора лица для каждого кадра, можно добавить отслеживание позиции найденного лица, и запускать детекцию только в случае, когда трекер лица сбился. Про использование трекеров из OpenCV хорошо описано в данном ресурсе. Для стабильной работы рекомендуется обратить внимание на трекер cv2.TrackerCSRT.
4. Применить вызов интерактивной сегментации к данным для текущего кадра. Можно использовать алгоритмы из предыдущих лабораторных работ на выбор.
4. Реализовать запись результата алгоритма в выходной видеофайл (cv2.VideoWriter)