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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вернуться наверх