Много лет телефоны Pixel очень хорошо фотографируют. Но вот с видео дела идут так себе. Серединка на половинку. Пиксель даже не умеет записывать в 4К-разрешении с 60 кадрами в секунду! Хочешь снимать видео купи iPhone! Хнык-хнык…

Но если поисковик при помощи одних только алгоритмов умеет так прокачивать фотки, то в чем проблема с видео? Этот вопрос не давал нам покоя. И кажется, мы нашли, что искали!

Сегодня вы узнаете о самых крутых (секретных) технологиях Google в области computational video! И мы докажем, что скоро камера Google будет снимать 8К 240фпс.

Прогнозирование глубины

Помните был такой Mannequin Challenge в 2016 году? Весь интернет заполнился роликами, где в какой-то момент все люди в кадре замирали и камера парила между ними будто время остановилось.

Что делают нормальные люди, когда запускается очередной челлендж? Правильно, просто не врубаются что случилось с интернетом и ждут пока всё наладится.

Что делают инженеры Google? Правильно, тщательно собирают все видосы челленджа и скармливают их нейросети! Но зачем?! Гугл, зачем?!!!!

Начнём с того, что портретные режимы в телефоне задали моду на имитацию оптики больших фотоаппаратов. И если для фотографий все игроки рынка более-менее научились делать сносное размытие. То с видео, пока дела идут не лучшим образом. HUAWEI и Samsung пытаются, но пока такое себе.

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

Нейросеть должна понимать как выглядит человек в разных позах при естественном освещении. И как всё меняется при изменении положения камеры. Но где найти датасет с подобным родом контента?

Понимаете к чему я клоню? Нет я не про PornHub! Конечно на Youtube.

Сумасшедшие инженеры Google собрали более 2000 видео этого Челенджа, снятых ручной камерой при естественном освещении в которых люди застыли в странных позах. Кто бы мог подумать, что такие видосы можно использовать во благо прогресса.

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

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

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

Далее нейронка, используя свои знания о том как выглядит люди в разных тупых позах, дорисовывает пропущенные данные о людях в карте глубины на основе RGB видео. И готово! Делов то! Наверное, вы уже запутались. Я тоже.

В перспективе эта технология позволит не только прикольно размывать фон в видео и делать перефокусировку, но и вставлять 3D-объекты, угорать со всяким параллакс-эффектами, или даже удалять кого захочешь из видео. Разбитые сердца — ликуйте!

Но главное помните, любое ваше видео залитое на YouTube может быть использовано Google ради науки!

Параллакс

И раз уж мы заговорили про параллакс. Стоит упомянуть другую разработку Google, которая позволяет сделать качественный видос всего лишь из двух кадров при помощи параллакса на стероидах!

Мы уже давно такое видели, снимаешь два кадра. Например, Facebook умеет превращать портретные фотки с iPhone в анимированные 3D-фотографии. Вычисляется карта глубины, достраиваются промежуточные кадры, закрашиваются скрытие области и мы получаем параллакс эффект. Но только толку от него всё время было мало из-за небольшого движения камеры и всяких артефактов.

Но инженеры Google научились достраивать невидимые участки изображения без заметных погрешностей и увеличили амплитуду движения камеры в четыре раза по сравнению со старыми методами. А это уже выглядит круто!

Что нам это даёт? Например, технология может быть использована для оживления фотографий, 3D-эффектов в видео или например для прокачки Street View в Google Maps.

Интерполяция кадров с учётом карты глубины

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

Ок! Мы узнали, что Google научился неплохо строить карту глубины. Аккуратненько дорисовывать скрытые участки кадра. И делать всякие бесполезные спецэффекты. Но где мои 60 fps в 4К??? Как мне всё это поможет в жизни? И вот тут приготовьте свой мозг, щас мы его будем выносить.

Благодаря своим алгоритмам Google разгоняет видео с 12 до 24 секунду. Неплохо, да? Но, вам этого мало. Хорошо! Давайте ка сделаем из 30 кадров — 480! Уо-уо-уо! Полегче, разве такое возможно? Нельзя ведь просто придумать промежуточные кадры? Оказывается можно, если ты умеешь хорошо предсказывать карту глубины и правильно обучить нейросеть! Так что же сделали ребята из поисковика?

Обычные методы интерполяции (дорисовывания) кадров построены на вычислении оптического потока, т.е. изменений положения пикселей от кадра к кадру. Но как и всегда бывает, все эти методы работают не идеально, порождая массу артефактов.

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

В итоге мы сможем разогнать любой видос с телефона до запредельного фреймрейта или эффектно его замедлить не тратясь на дорогие сенсоры и светосильную оптику.

А что с разрешением, всё равно придётся снимать 8К? Не думаю, увеличить 4К или даже Full HD до 8K можно будет при помощи фирменной технологии RAISR, причём в реальном времени. Про RAISR мы уже рассказывали в нашем ролике про SuperResZoom на Pixel. Посмотрите, кто пропустил.

Вывод

Остается главная проблема. Наверняка, все эти плюшки потребуют сумасшедшей вычислительной мощности! Поэтому ждем новостей про новые нейронные движки в телефонах и облачные сервисы от Google! А пока давайте писать видео на айфон!