BILIBILI использует интегрированное в устройство веб-решение MediaPipe для улучшения пользовательского опыта видеопотока и увеличения продолжительности сеанса на 30 %.

Сесилия Конг
Cecilia Cong
Тайлер Маллен
Tyler Mullen

BILIBILI, одна из ведущих платформ развлекательного контента в Большом Китае и Юго-Восточной Азии, размещает огромную базу данных пользовательского контента, прямых трансляций и игровых впечатлений, которая привлекает более 330 миллионов активных пользователей в месяц (MAU).

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

Вызов

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

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

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

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

Цель : В конечном итоге BILIBILI хотел, чтобы комментарии на экране-буллете прокручивались справа налево позади говорящего, чтобы не загораживать его лицо.

Решение: сегментация изображений на устройстве

Для решения этих проблем разработчики BILIBILI использовали Body Segmentation с MediaPipe и TensorFlow.js , предшественника Image Segmenter от MediaPipe . Это обеспечило эффективный API сегментации на устройстве, а также предварительно обученные модели для селфи и многообъектной сегментации.

Теперь BILIBILI может быстро внедрять и поддерживать эту функцию, одновременно сокращая затраты и сохраняя производительность.

Выполнение

Вот как BILIBILI реализовала это решение:

  1. Контуры персонажей в реальном времени : BILIBILI использовала модель Selfie Segmenter для извлечения контуров персонажей на протяжении всего видео. Это позволило им создать маску, которая очерчивала границы персонажей.
  2. Интеграция со слоем живых комментариев : Затем они объединили извлеченный контур персонажа со слоем живых комментариев с помощью свойств CSS mask-image . Установив центральную область персонажа прозрачной, комментарии на экране маркеров могут плавно появляться за персонажами, не заслоняя их.
    Синий символ в прямоугольном поле указывает на другой блок с серым символом, представляющим маску SVG. Знак «плюс» с синими линиями представляет добавление живых комментариев. Вместе это равно синим линиям за контуром символа, представляющим комментарии, текущие за символом.
    Схема, показывающая, как разработчики BILIBILI извлекли контур персонажа из видеоэлемента и интегрировали его со слоем живых комментариев, используя вычисления в реальном времени с помощью MediaPipe.
  3. Оптимизация реализации : BILIBILI необходимо было протестировать и убедиться, что реализация не снижает производительность.

Оптимизация производительности

Разработчики BILIBILI использовали OffscreenCanvas и Web Workers для перемещения трудоемких задач в worker-ы, чтобы не занимать основной поток. Затем они уменьшили размер маски, так как она нужна только для извлечения контура персонажа и не зависит от размера или качества изображения.

После уменьшения размера маски команда разработчиков BILIBILI растянула маску во время композиции и объединила ее со слоем DOM, чтобы максимально снизить нагрузку на рендеринг.

Синий символ в поле указывает на мини-идентичное изображение. Пунктирная линия указывает на маленький черный ящик с прозрачным символом. Маленький черный ящик указывает на идентичный больший ящик. Этот процесс минимизации плюс живые комментарии, представленные синими линиями, эквивалентны объединенным результатам комментариев, текущих за символом.
Диаграмма, демонстрирующая, как BILIBILI минимизировал размер маски и объединил ее с растянутой маской.

Увеличение продолжительности сеанса и количества кликов

Объединив охват и мощь Интернета с гибкостью решений MediaPipe AI, BILIBILI успешно предоставила мощный и увлекательный опыт веб-приложения миллионам пользователей. И всего за один месяц внедрения BILIBILI увидела заметное 30%-ное увеличение продолжительности сеанса и 19%-ное улучшение показателя кликабельности потокового видео в реальном времени.

    30 %

    Увеличенная продолжительность сеанса

    19 %

    Более высокий CTR

Благодаря бесплатным веб-решениям MediaPipe на основе искусственного интеллекта на устройствах разработчики BILIBILI могут эффективно сохранять важные визуальные элементы, одновременно удерживая внимание зрителей, обеспечивая бесперебойную работу и, в конечном итоге, предоставляя первоклассный опыт потоковой передачи видео, которого зрители ожидают от лидера платформы.

Цитата Цзюнь Лю, старшего инженера BILIBILI: Решение MediaPipe помогло нам сэкономить затраты на разработку, не сосредотачиваясь на создании модели извлечения портретов.