Цифровая стабилизация видео



Алгоритм цифровой стабилизации является обязательным блоком в современных системах компьютерного зрения. Он улучшает зрительное восприятие и качество последующих алгоритмов машинного обучения
Сравнение исходного (слева) и сглаженного (справа) видео и графики параметров движения камеры по кадрам
Разработанный алгоритм цифровой стабилизации видео состоит из нескольких последовательных этапов:

1. Обнаружение особых точек на каждом кадре
На каждом кадре видео выявляются особые точки — углы и участки с высокой контрастностью, аналогичные характерным ориентирам при анализе движения объекта (например, кончики пальцев, углы глаз, края одежды при слежении за движением человека). Для обнаружения особых точек используется собственная реализация алгоритма ORB (Oriented FAST and Rotated BRIEF), обеспечивающая высокую скорость обработки при сохранении необходимого качества.

2. Сопоставление точек между кадрами
Для определения соответствия точек между последовательными кадрами используются дескрипторы — уникальные характеристики каждой точки, допускающие сравнение. Сопоставление осуществляется методом BRIEF с применением расстояния Хэмминга, определяющего количество несовпадающих битов. Для повышения точности сопоставления дополнительно применяется перекрёстная проверка, подтверждающая корректность соответствия точек с обеих сторон.

3. Оценка движения камеры
На основе сопоставленных точек вычисляется характер перемещения камеры между кадрами: горизонтальные и вертикальные сдвиги, а также повороты. Для построения матрицы аффинного преобразования между кадрами применяется алгоритм RANSAC (Random Sample Consensus). Выбор данного метода обусловлен его устойчивостью к ложным сопоставлениям точек: алгоритм определяет наиболее согласованную модель движения, отбрасывая ошибочные данные.

4. Сглаживание траектории
Накопленные значения сдвигов формируют траекторию движения камеры, содержащую шум и резкие колебания. Для её сглаживания применяется фильтр Калмана — классический алгоритм теории управления, позволяющий на основе предыдущих измерений прогнозировать оптимальное положение камеры и подавлять шумовые составляющие.

5. Применение стабилизации
На заключительном этапе вычисляется разница между сглаженной и исходной траекториями движения. К каждому кадру применяется обратное аффинное преобразование, компенсирующее данное отклонение, в результате чего формируется стабилизированное видео.