Google рассказала о решении проблем стабилизации видео на примере Pixel 2

Смартфоны Google Pixel 2 имеют весьма качественную систему стабилизации видео, объединяющую электронную и оптическую технологии, так что результат получается весьма неплохим. Но как компании удалось столь удачно совместить две технологии? Google недавно опубликовала подробный текст, в котором детально рассказала о ключевых проблемах стабилизации видео и способах их решения. Оказывается, Google применила технологии машинного обучения, чтобы интегрировать оба метода стабилизации там, где многие смартфоны могут использовать только один из них.

Google рассказала о решении проблем стабилизации видео на примере Pixel 2

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

Video Thumbnail

Размытия в движении — вторая важная проблема. Особенно актуальна она для роликов, снятых при недостатке освещения и, соответственно, с длительной выдержкой. Каждое движение камеры в таком режиме приводит к размытию, а обычная программная стабилизация приводит к неприятным артефактам неравномерной потери чёткости:

Video Thumbnail

Третья проблема связана с принципом работы CMOS-сенсора. Данные с матрицы считываются линия за линией сверху вниз и потому при резких движениях наблюдаются существенные вертикальные искажения изображения — этот эффект называется Rolling shutter (плавающий затвор). Такое видео трудно стабилизировать:

Video Thumbnail

Слева — правильное видео, справа — со стандартными искажениями Rolling shutter

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

Video Thumbnail

Влияние всех этих проблем существенно снижается при использовании оптической стабилизации (OIS). Обычно это достигается за счёт применения в объективе плавающей линзы, подвешенной на пружинах и электромагнитах, чутко реагирующей на движения камеры и компенсирующей их. Однако OIS не может устранить сильные дрожания, особенно во время ходьбы оператора и к тому же добавляет собственные артефакты. На следующем видео используется чисто оптическая стабилизация Pixel 2 и, хотя по центру видео стабильное, на его краях наблюдается эффект «желе» — будто вся картинка движется единой плоскостью.

Video Thumbnail

Электронная система стабилизации (EIS) анализирует движения камеры. Фильтрует ненужные части, синтезирует новое видео, обрабатывая должным образом каждый кадр. Финальное качество сильно зависит от используемого алгоритма и оптимизаций. Обычно EIS гораздо гибче OIS, потому что может более агрессивно корректировать движения, но есть и ограничения: алгоритму приходится отбрасывать заметную часть изображения по краям, из-за чего снижается угол обзора или разрешение конечного видео. Вдобавок EIS в сравнении с OIS или внешним стабилизатором требует намного больше вычислений, а это ограниченный ресурс на смартфонах.

Поэтому Google разработала технологию смешанной стабилизации видео, объединяющую сильные стороны OIS и EIS и компенсирующую все упомянутые проблемы. Для начала устройство анализирует движения с помощью синхронизации информации с гироскопа (на частоте 200 Гц), данных об изменении фокусного расстояния, положений OIS-линзы и других параметров. В результате алгоритм может сформировать картину векторов движений для максимально точной оценки перемещений камеры и искажений.

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

Важной технологией, повышающей качество результирующего видео в Pixel 2, является подавление размытия в движении. Даже при работе OIS порой перемещения камеры оказываются слишком сильными, и при недостатке освещения возникают нежелательные эффекты размытия. Чтобы их снизить, специалисты Google используют точную информацию о движениях камеры и на её основании с помощью алгоритмов машинного обучения подавляют эффект:

Video Thumbnail

Слева — Pixel 2 со стабилизацией OIS и EIS; справа — с дополнительным подавлением артефактов размытия в движении

На заключительном этапе синтеза кадра удаляются искажения плавающего затвора и «дыхания» фокуса: реальные движения камеры на основании данных из предыдущих этапов приводятся к желаемым. Всё изображение разбивается на сетку и деформируется по частям:

Video Thumbnail

Google добилась того, что её технология достаточно эффективна, чтобы работать даже в разрешении 4K. Результаты получаются действительно впечатляющими. По словам Google, к разработке технологии приложили силы многие команды внутри компании, включая специалистов по алгоритмам и аппаратной разработке камер и сенсоров. Думается, и этой технологии есть куда развиваться, и в будущих версиях смартфонов или программных камерах появятся ещё более изощрённые и совершенные алгоритмы.

Video Thumbnail

Видео записаны на два смартфона Pixel 2, закреплённые на одном ручном держателе. Слева стабилизация отключена

Video Thumbnail

Видео записаны на два смартфона Pixel 2, закреплённые на одном ручном держателе. Оператор прыгает вместе с объектом съёмки. Слева стабилизация отключена

 
Источник: 3DNews

google, ois, pixel 2, ЕИС, смартфон, стабилизация

Читайте также