Представляем технологию Google Mobile Live Video Segmentation

Google искусственный интеллект
Представляем технологию Google Mobile Live Video Segmentation
Авторы: Валентин Базаревский и Андрей Ткаченко, инженеры-программисты, Google Research
Сегментация видео — это широко используемый метод, который режиссеры и создатели видеоконтента могут использовать для разделения переднего плана и фона сцены, а затем рассматривать их как два отдельных визуальных слоя. Изменяя или заменяя фон, создатели могут выражать определенные эмоции, занимать интересные позиции или усиливать воздействие своих сообщений. Однако эта операция всегда была достаточно трудоемким ручным процессом (например, художнику необходимоПовернуть), или вам нужно использовать студийную среду с зеленым экраном для удаления фона в реальном времени (метод, называемыйХроматическая аберрация). Чтобы пользователи могли создавать этот эффект в видоискателе, мы разработали новую технологию для мобильных телефонов.

Сегодня мы рады представить в приложении YouTube точную сегментацию мобильного видео в режиме реального времени, интегрировав эту технологию вкороткий рассказсередина. Рассказ в настоящее время все еще находится в стадии ограниченного бета-тестирования. Новый облегченный формат видео от YouTube, разработанный специально для создателей YouTube. Наша новая технология сегментации позволяет создателям заменять и изменять фоны, легко повышая ценность видео без необходимости в специальном оборудовании.
Сегментация видео нейронной сети в коротких историях YouTube.
Для этого мы используем машинное обучение, чтобы использоватьСверточная нейронная сетьвыполнить задачу семантической сегментации. В частности, мы разрабатываем сетевую архитектуру и процесс обучения, подходящие для мобильных телефонов, с учетом следующих требований и ограничений:
  • Мобильные решения должны быть легкими и работать как минимум в 10-30 раз быстрее, чем существующие современные модели сегментации фотографий. Для вывода в реальном времени такие модели должны достигать 30 кадров в секунду.
  • Видеомодели должны использовать преимущества временной избыточности (соседние кадры выглядят одинаково) и быть согласованными во времени (соседние кадры дают одинаковые результаты).
  • Высококачественные результаты сегментации требуют качественных аннотаций.
набор данных
Мы аннотировали десятки тысяч изображений, запечатлевших различные позы переднего плана и фоновые среды, чтобы предоставить высококачественные данные для нашего конвейера машинного обучения. Метки включают точное расположение пикселей элементов переднего плана, таких как волосы, очки, шея, кожа и губы, а результаты перекрестной проверки для общих фоновых меток могут достигать 98% качества людей.пересечение(долговая расписка).
Пример изображения из нашего набора данных, тщательно аннотированного девятью метками — элементами переднего плана, наложенными на изображение.
сетевой вход
Наша конкретная задача сегментации состоит в том, чтобы вычислить бинарную маску, которая разделяет каждый входной кадр видео (три канала,RGB) отделены от переднего плана и фона. Достижение временной согласованности при вычислении масок во всех кадрах имеет решающее значение. Текущий метод используетLSTMилиGRUдля достижения согласованности, но эти методы требуют значительных вычислительных ресурсов для приложений реального времени на мобильных телефонах. Поэтому мы сначала берем вычисленную маску предыдущего кадра как предварительное знание и используем ее в качестве четвертого канала, объединенного с текущим входным кадром RGB для временной согласованности, как показано на следующем рисунке:
Исходный кадр (слева) разделен на три цветовых канала и объединен с предыдущей маской (посередине). Это будет использоваться в качестве входных данных для нашей нейронной сети, чтобы предсказать маску для текущего кадра (справа).
тренировочный процесс
При сегментации видео нам необходимо добиться как временной непрерывности между кадрами, так и учитывать временные разрывы, например, появление других людей в поле зрения камеры. Чтобы научить нашу модель надежно справляться с этими вариантами использования, мы преобразуем основную правду каждой фотографии и используем ее в качестве маски для предыдущего кадра несколькими способами:
  • Очистить предыдущую маску- Обучите нейросеть правильно обрабатывать первый кадр и новые объекты в сцене. Это будет имитировать ситуацию, когда кто-то появляется в кадре камеры.
  • Реальная маска для аффинного преобразования- Небольшие преобразования могут научить сеть переходить к маске предыдущего кадра и вносить коррективы. Большие преобразования обучают сеть понимать неподходящие маски и отбрасывать их.
  • конвертированное изображение- Мы выполняем сглаживание тонких пластин на необработанных изображениях, чтобы имитировать быстрые движения и вращения камеры.
Сегментация видео в реальном времени в действии.
Сетевая архитектура
Используя модифицированный ввод/вывод, мы строим стандартныйАрхитектура сети сегментации песочных часов, со следующими улучшениями:
  • Мы используемколичество шаговДля 4 или более крупных ядер свертки для обнаружения особенностей объекта на входных кадрах RGB с высоким разрешением. Слои с небольшим количеством каналов (такие как входы RGB) имеют относительно небольшие накладные расходы на свертку, поэтому использование больших ядер мало влияет на вычислительные накладные расходы.
  • Чтобы повысить скорость, мы агрессивно снижаем частоту дискретизации с большими шагами в сочетании с пропуском соединений (например,U-Net) восстанавливать низкоуровневые функции во время повышения частоты дискретизации. Для нашей модели сегментации этот метод улучшает IOU на большие 5% по сравнению с использованием соединений без пропусков.
    Разделенная сеть «песочные часы» с пропуском соединений.
  • Для дальнейшего повышения скорости мы оптимизировали настройки по умолчанию.ResNetузкое место. В этой статье авторы сжимают каналы в середине сети в четыре раза (например, используя 64 различных ядра свертки, чтобы уменьшить 256 каналов до 64). Однако мы заметили, что можно более агрессивно сжимать 16x или 32x без заметной потери качества.
    Узкое место ResNet и большой коэффициент сжатия.
  • Для оптимизации и улучшениякрайточность, мы добавляем несколькоDenseNetслой, его полное разрешение снейронная маскасходство. Этот метод немного улучшает общее качество модели на 0,5% IOU, но значительно улучшается воспринимаемое качество сегментации.
Конечным результатом этих модификаций является то, что наша сеть может достаточно быстро работать на мобильных устройствах. Он может достигать 100+ кадров в секунду на iPhone 7 и 40+ кадров в секунду на Pixel 2, сохраняя при этом высокую точность (94,8% IOU в наборе данных проверки), что позволяет YouTube Short Stories обеспечивать множество плавных и адаптивных эффектов.
Наша ближайшая цель — протестировать нашу технику на первом наборе эффектов с ограниченным постановочным выпуском в коротких историях на YouTube. По мере того, как мы продолжаем совершенствовать метод сегментации и расширять список ярлыков, мы планируем интегрировать его с более широкой службой дополненной реальности Google.

Спасибо
Спасибо членам команды, разработавшим технологию, и всем, кто помогал нам в этом релизе: Андрею Вакунову, Юрию Картыннику, Артему Аблаватскому, Ивану Грищенко, Мацвею Ждановичу, Андрею Кулик, Камилло Лугарези, Джон Ким, Райан Болярд, Венди Хуанг, Майкл Чанг, Аарон Ла Лау, Вилли Гейгер, Томер Марголин, Джон Нак и Матиас Грундманн.