Как уменьшить мерцание маски в видео/VR
Модель сегментирует объект в видео, но маска мерцает и ломается при взаимодействии с человеком. Что делать?
Ответить самому
Сначала сформулируйте ответ как на собеседовании, затем откройте разбор и оцените себя.
Короткий ответ
Добавить temporal consistency: tracking, optical flow, video segmentation, сглаживание logits/masks, depth cues и отдельную разметку interacted objects.
Полный разбор
Мерцание часто появляется, когда модель предсказывает каждый кадр независимо. Первый слой решения - temporal consistency: сглаживать logits или masks во времени, трекать объект, использовать optical flow, video segmentation архитектуру или память предыдущих кадров.
Если объект взаимодействует с человеком, нужны примеры таких случаев в данных: occlusion, touch, overlap, motion blur. Можно доразметить interacted objects, использовать pseudo-labels от сильной модели и отдельно мониторить качество на этих сценариях.
Depth map помогает понять порядок слоев и отделить объект от фона, но не является серебряной пулей: depth estimation ошибается, а объекты на похожей глубине все равно могут смешиваться. Поэтому depth лучше использовать как дополнительный сигнал, а не как единственный postprocessing.
Теория
В video CV качество одного кадра недостаточно: пользователь видит временную стабильность.
Типичные ошибки
- Улучшать только single-frame IoU и не смотреть flicker.
- Доверять depth map без проверки ошибок глубины.
- Не иметь отдельного validation slice для occlusion/interactions.