Jump to content
Compvision.ru
mrgloom

Стабилизация видео при движущихся объектах

Recommended Posts

Тут есть простой пример стабилизации видео

http://nghiaho.com/?p=2093

Но не очень понятно за счет чего алгоритм не реагирует на движущийся объект, или все будет стабилизироватся относительно объекта, если он будет занимать большую часть кадра?

Мой кейз это съемка с фронтальной телефонной камеры, когда лицо занимает большую часть кадра, при этом человек может идти, т.е. фон сзади будет перемещатся.

 

Возможно для стабилизации видео есть что то получше уже готовое?

Share this post


Link to post
Share on other sites

У них алгоритм будет реагировать неправильно. Чтобы было правильно, надо делать сегментацию и искать движение не в целом по кадру, а по сегментам. В твоём случае всё намного проще: детектор лица, можно добавить детекцию кожи внутри найденного лица и всё.

В OpenCV он всё больше не для реального времени, а для постобработки.

Share this post


Link to post
Share on other sites

Что имеется ввиду? взять bbox и стабилизировать по нему? но bbox от кадра к кадру будет плавать в размерах и координатах, не думаю, что это хорошая идея.

 

 

Share this post


Link to post
Share on other sites

Нет, стабилизировать по векторам движения, как обычно (блоки, оптический поток - пофиг). Но брать эти вектора только из правильных областей. Если у тебя это лицо, то на лице. Или ты используешь глобальные методы вычисления движения? Типа фазовой коррреляции или глобального Лукаса-Канаде ( https://github.com/Nuzhny007/image-align )?

Share this post


Link to post
Share on other sites

В таком случае можно брать и лицевые точки, но тогда мы возвращаемся к проблеме, что они дрожат.

 

Вот кстати похоже показана проблема движущихся объектов и слабовыраженного фона на 24 секунде.

 

А вот этот эффект я не понял почему возникает

 

Share this post


Link to post
Share on other sites
10 hours ago, mrgloom said:

В таком случае можно брать и лицевые точки, но тогда мы возвращаемся к проблеме, что они дрожат.

Дрожат - не страшно, потому что ты всё равно сглаживать будешь. В ссылке из первого поста используют moving average, но можно и экспоненциальное сглаживание, и Кальмана прикрутить. Дрожь это всё будет убирать.

10 hours ago, mrgloom said:

Вот кстати похоже показана проблема движущихся объектов и слабовыраженного фона на 24 секунде.

Да, это известная проблема. Поэтому надо либо сегментировать сразу, либо кластеризовать уже вектора и строить несколько "траекторий" для каждого кластера. Если один кластер станет больше того, по которому строится текущая траектория, то сразу на него не переключаться.

10 hours ago, mrgloom said:

А вот этот эффект я не понял почему возникает

Всё просто: в кадре два больших плана: передний и задний, которые движутся неравномерно. Видимо, строится гомография между кадрами, поэтому всё так глючит. Если бы строили только сдвиг или сдвиг и ресайз, то всё было бы нормально. В стабилизации произвольного видео надо уметь вовремя прекратить стабилизацию или понизить число степеней свободы - перейти на более простую модель: с гомографии или аффинного к сдвигу, например. Лучше совсем не стабилизировать, чем портить видео.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


  • Recently Browsing   0 members

    No registered users viewing this page.

×