
Мы подробно описываем, как YouTube обеспечивает создание генеративных эффектов на основе ИИ в реальном времени на мобильных устройствах, используя метод дистилляции знаний и оптимизацию на устройстве с помощью MediaPipe для преодоления вычислительных ограничений при сохранении идентичности пользователя.
Быстрые ссылки
- Делиться
Эффекты — огромная часть удовольствия от YouTube Shorts, но чтобы они действительно казались волшебными, они должны работать в режиме реального времени в камере во время записи. Это создает проблему: как применить новейшие возможности больших моделей генеративного ИИ, такие как перенос стиля мультфильма, на телефонах авторов?
Наше решение — это конвейер обработки данных, который сводит возможности большой модели к гораздо меньшей, сфокусированной на одной задаче. Такое сужение области применения создает компактную и эффективную модель, которая может работать непосредственно на телефоне, обрабатывая видео покадрово. Используя этот метод, мы запустили более 20 эффектов в реальном времени для создателей контента на YouTube в Shorts. В этом посте мы подробно расскажем, как мы это делаем: включая подготовку данных, обучение и настройку на устройстве.

Преобразование видеопотоков в реальном времени с использованием набора генеративных эффектов на основе ИИ. Слева направо: оригинальный макияж, созданный на устройстве: « Розовый сияющий », « Мультяшный » и эффект « Мультяшный ».
Всё начинается с данных.
Основой нашей работы являются высококачественные данные. Мы начали с создания набора данных лиц, используя изображения, имеющие соответствующие лицензии. Мы тщательно отфильтровали наши наборы данных, чтобы обеспечить их разнообразие и равномерное распределение по разным полам, возрастам и оттенкам кожи (измеренным по шкале оттенков кожи Монка), чтобы создать эффекты, которые хорошо работают для всех.
Учитель и ученик
Наш подход основан на концепции дистилляции знаний, которая использует метод обучения модели «учитель-ученик». Мы начинаем с «учителя» — большой, мощной, предварительно обученной генеративной модели, которая является экспертом в создании желаемого визуального эффекта, но слишком медлительна для использования в реальном времени. Тип модели-учителя варьируется в зависимости от цели. Первоначально мы использовали специально обученную модель StyleGAN2, которая была обучена на нашем тщательно подобранном наборе данных для создания эффектов лица в реальном времени. Эта модель могла использоваться в паре с такими инструментами, как StyleCLIP, что позволяло ей манипулировать чертами лица на основе текстовых описаний. Это обеспечило прочную основу. По мере развития нашего проекта мы перешли к более сложным генеративным моделям, таким как Imagen от Google DeepMind. Этот стратегический сдвиг значительно расширил наши возможности, обеспечив более высокое качество и большее разнообразие изображений, больший художественный контроль и более широкий диапазон стилей для наших генеративных эффектов ИИ на устройстве.
«Ученик» — это модель, которая в конечном итоге работает на устройстве пользователя. Она должна быть небольшой, быстрой и эффективной. Мы разработали модель ученика с архитектурой на основе UNet, которая отлично подходит для задач преобразования изображений. В качестве кодировщика она использует архитектуру MobileNet, известную своей производительностью на мобильных устройствах, в паре с декодером, использующим блоки MobileNet.
Дистилляция: итеративное обучение студента.
Для достижения эффектов, готовых к использованию в производстве, мы разработали надежную методологию обучения, которая устраняет ограничения дистилляции синтетических данных, часто приводящие к артефактам и снижению высокочастотной детализации. Наш подход использует реальные данные для генерации «пар изображений» и обучения моделей-учеников, что позволяет более эффективно осуществлять поиск гиперпараметров.
Процесс дистилляции для обучения уменьшенной модели ученика включает два ключевых этапа:
- Генерация данных: Мы обрабатываем большой набор изображений с помощью модели-учителя, чтобы создать тысячи пар изображений «до и после». В процессе генерации мы добавляем аугментации, такие как очки дополненной реальности и солнцезащитные очки, а также окклюзию с помощью синтетических рук. Мы также используем инверсию Pivotal Tuning для сохранения идентичности пользователя.
- Обучение модели-студента: Затем модель-студент обучается на этих парных изображениях. Мы используем комбинацию функций потерь L1, LPIPS, адаптивных и состязательных функций потерь, чтобы гарантировать, что выходные данные модели-студента не только численно точны, но и визуально реалистичны и эстетически привлекательны. Кроме того, мы используем поиск нейронной архитектуры для оптимизации параметров архитектуры модели (таких как «множитель глубины» и «множитель ширины»), что позволяет нам выявлять эффективные архитектуры, адаптированные к различным вариантам использования и типам эффектов.

Схема высокого уровня дистилляционного трубопровода и эффект « никогда не моргай ».
Критически важная задача: сохранение идентичности пользователя.
«Редактирование» изображения происходит в «латентном» пространстве, которое представляет собой сжатое числовое представление изображения, где закодированы значимые признаки. Процесс преобразования исходных пикселей в латентное представление называется «инверсией». Основная проблема в генеративных моделях изображений для создания эффектов лица заключается в сохранении личности человека, поскольку эффект восстанавливает весь кадр. Наивный подход может легко исказить ключевые черты, изменив тон кожи, очки или одежду человека, в результате чего результат уже не будет похож на него. Эта проблема, часто называемая «проблемой инверсии», возникает, когда модель испытывает трудности с точным представлением лица реального человека в своем латентном пространстве.
Для решения этой проблемы мы используем метод, называемый инверсией опорной настройки (PTI). Вот упрощенная версия того, как он работает:
- Исходное изображение преобразуется в векторное представление, называемое опорным кодом , с помощью кодировщика и генерации начальной инверсии с помощью генератора (см. ниже). Как правило, это представление похоже на исходное изображение, но не идентично ему (например, тон кожи и детали лица могут быть неточными).
- Мы дорабатываем генератор, используя итеративный процесс PTI, чтобы сохранить идентичность лица и детали. В результате получается новый генератор, который лучше работает для конкретного лица и его окружения.
- Желаемый эффект достигается путем редактирования векторного представления, как правило, с использованием подготовленного векторного изображения, созданного с помощью таких технологий, как StyleCLIP.
- Мы создаём итоговое изображение с отредактированным лицом, используя точно настроенный генератор и отредактированное векторное представление.

Конвейер обработки данных точно настраивает генератор под уникальное лицо пользователя, что позволяет нам вносить изменения в латентное пространство, не теряя сходства с лицом на итоговом изображении. Следует отметить, что при первоначальной инверсии могут отсутствовать некоторые мелкие детали, что приводит к несколько иному внешнему виду.
Работает на устройстве с использованием MediaPipe от Google AI Edge.
После обучения модели-ученика ее необходимо интегрировать в конвейер обработки данных, который может эффективно работать на телефоне. Мы создали наше решение для работы на устройстве, используя MediaPipe, нашу платформу с открытым исходным кодом для создания кроссплатформенных многомодальных конвейеров машинного обучения от Google AI Edge. Итоговый конвейер вывода работает следующим образом:
- Во-первых, модуль MediaPipe Face Mesh обнаруживает одно или несколько лиц в видеопотоке.
- Поскольку модели, созданные студентами, чувствительны к выравниванию лица, конвейер вычисляет стабильное, повернутое изображение лица для обеспечения согласованности.
- Это обрезанное изображение преобразуется в тензор и подается на вход нашей модели обучения «бережливого студента».
- Модель, созданная студентом, применяет эффект (например, улыбку или мультяшный стиль), а полученное изображение искажается и плавно накладывается на исходный кадр видео в реальном времени.

Конвейер обработки данных на устройстве: MediaPipe Face Mesh обнаруживает, обрезает и выравнивает лица для модели ученика.
Для обеспечения быстрой реакции пользователя эти процессы должны работать как минимум с частотой 30 кадров в секунду, поэтому конвейер обработки данных должен выполняться быстрее, чем за 33 миллисекунды на кадр. Задержка вывода модели составляет примерно 6 мс для Pixel 8 Pro на Google Tensor G3 и 10,6 мс для iPhone 13 GPU. Мы вложили значительные средства в оптимизацию этих конвейеров для широкого спектра мобильных устройств, используя ускорение GPU для обеспечения плавной работы для всех.
Результат: Расширенные возможности для творчества на мобильных устройствах.
Эта технология является важнейшим элементом YouTube Shorts с 2023 года, обеспечив успешный запуск множества популярных функций, включая эффекты, основанные на выражении лица (например, «Никогда не моргай»), маски на тему Хэллоуина (например, «Восставший зомби») и захватывающие полнокадровые эффекты (например, «Мультяшка 2»). Это значительно расширило творческие возможности для создателей видео на YouTube.



Эффекты, созданные с помощью генеративного ИИ в реальном времени, в действии на YouTube Shorts, включая эффекты, основанные на выражении лица, такие как « Всегда улыбайся » ( слева ) и « Никогда не моргай » ( посередине ), а также маски на тему Хэллоуина, например, « Восставший зомби » ( справа ).
Преодолевая разрыв между масштабными генеративными моделями и ограничениями мобильного оборудования, мы определяем, что технически возможно для генеративных эффектов в реальном времени непосредственно на устройстве. Это только начало; мы активно работаем над интеграцией наших новейших моделей, таких как Veo 3, и значительным снижением задержки для устройств начального уровня, что еще больше демократизирует доступ к передовому генеративному ИИ в YouTube Shorts.
Благодарности
Мы хотели бы поблагодарить наших соавторов и сотрудников: Сару Сюй, Мацея Пеншко, Павла Андрушкевича, Якоба Роквелла, Ронни Вотела, Роберта (Гохуэй) Вана, Тинбо Хоу, Картик Равендрана, Цзянина Вэя, Маттиаса Грундманна, Омера Това, Ариэля Эфрата, Ширана Заду и Инбар Моссери.
Источник: research.google
























