BILIBILI aprovecha la solución de IA web integrada en el dispositivo de MediaPipe para mejorar la UX de las transmisiones de video por Internet y aumentar la duración de las sesiones en más de un 30%

BILIBILI, una de las principales plataformas de contenido de entretenimiento de la Gran China y el Sudeste Asiático, aloja una base de datos masiva de contenido generado por usuarios, transmisiones en vivo y experiencias de juego que atrae a más de 330 millones de usuarios activos mensuales (MAU).

Una de las características distintivas de la plataforma de BILIBILI es la integración de los comentarios de pantalla con viñetas, una función popular en Japón y China que muestra los comentarios de los usuarios en tiempo real como texto que se desplaza en las transmisiones de video. Los comentarios con viñetas en pantalla agregan un elemento emocionante y envolvente al contenido de video en vivo, lo que mantiene a los usuarios activos y participativos, ya que les permite expresar sus propios pensamientos y responder a las reacciones de otros usuarios en tiempo real.

El desafío

Si bien los comentarios con viñetas son una forma atractiva para que los usuarios interactúen con el contenido, es importante mantener el retrato del orador sin obstrucciones para brindar la mejor experiencia del usuario. En el siguiente video, los comentarios con viñetas pueden ser disruptivos y disuadir a los usuarios de seguir mirando.

Estado original: En los videos iniciales, se muestra a una persona hablando, con comentarios que se desplazan por la pantalla sobre el rostro del orador.

Para habilitar los comentarios de la pantalla de viñetas que fluyen sin problemas detrás del retrato de un orador, necesitas una segmentación precisa del aprendizaje automático, que puede ser difícil de ejecutar de manera eficiente en el dispositivo. Por eso, históricamente, estas funciones tan potentes debían ser compatibles con el servidor.

Dado la cantidad de contenido que BILIBILI entrega a diario, procesar grandes partes de él del servidor sería muy costoso. Por lo tanto, su equipo de desarrollo necesitaba encontrar una solución del cliente para reducir el costo. Otro desafío es que el cambio al aprendizaje automático del cliente dificulta evitar que el uso de la CPU aumente hasta el punto en que se vea afectado el rendimiento.

Objetivo: Al final, BILIBILI quería que los comentarios de la pantalla de viñetas se desplazaran de derecha a izquierda detrás del orador para no bloquear su rostro.

La solución: Segmentación de imágenes integrada en el dispositivo

Para abordar estos desafíos, los desarrolladores de BILIBILI aprovecharon la segmentación del cuerpo con MediaPipe y TensorFlow.js, un predecesor del segmentador de imágenes de MediaPipe. Esto proporcionó una API de segmentación en el dispositivo eficiente, así como modelos previamente entrenados para la segmentación de selfies y varios objetos.

Ahora, BILIBILI puede iterar y admitir la función con rapidez, a la vez que reduce los costos y mantiene el rendimiento.

Implementación

A continuación, se muestra cómo BILIBILI implementó esta solución:

  1. Siluetas de personajes en tiempo real: BILIBILI usó el modelo Selfie Segmenter para extraer el contorno de los personajes a lo largo del video. Esto les permitió crear una máscara que delineó los límites de los personajes.
  2. Integración con la capa de comentarios en vivo: Luego, combinaron el esquema de personaje extraído con la capa de comentarios en vivo usando las propiedades mask-image de CSS. Si configuras el área de caracteres central como transparente, los comentarios de la pantalla de viñetas pueden aparecer sin problemas detrás de los caracteres sin obstruirlos.
    Un carácter azul en un cuadro rectangular apunta a otro cuadro con un carácter gris, que representa la máscara SVG. Un signo más con líneas azules representa la adición de comentarios en vivo. En conjunto, esto equivale a líneas azules detrás del contorno de un personaje, que representan comentarios que fluyen detrás del personaje.
    Diagrama que muestra cómo los desarrolladores de BILIBILI extrajeron el contorno de un personaje de un elemento de video y lo integraron con una capa de comentarios en vivo mediante el procesamiento en tiempo real de MediaPipe.
  3. Optimizar la implementación: BILIBILI debía probar y asegurarse de que la implementación no degradara el rendimiento.

Optimización del rendimiento

Los desarrolladores de BILIBILI usaron OffscreenCanvas y Web Workers para mover tareas que requieren mucho tiempo a los trabajadores y evitar ocupar el subproceso principal. Luego, se redujo el tamaño de la máscara, ya que solo se necesita para extraer el contorno del personaje y no depende del tamaño ni la calidad de la imagen.

Después de reducir el tamaño de la máscara, el equipo de desarrollo de BILIBILI la estiró durante la composición y la fusionó con la capa de DOM para reducir la presión de renderización tanto como fuera posible.

Un carácter azul en un cuadro apunta a una imagen idéntica en miniatura. Una línea punteada apunta a un pequeño cuadro negro con un carácter transparente. El cuadro negro pequeño apunta a un cuadro más grande idéntico. Este proceso de reducción más los comentarios en vivo, representados por líneas azules, equivalen a los resultados combinados de los comentarios que fluyen detrás del personaje.
Diagrama que muestra cómo BILIBILI minimizó el tamaño de la máscara y la combinó con una máscara estirada.

Aumento de la duración de la sesión y las tasas de clics

Combinando el alcance y la potencia de la Web con la flexibilidad de las soluciones de IA de MediaPipe, BILIBILI entregó con éxito una experiencia de app web atractiva y potente a millones de usuarios. Además, en solo un mes después de la implementación, BILIBILI observó un aumento notable del 30% en la duración de las sesiones y una mejora del 19% en la tasa de clics de los videos de transmisión en vivo.

    30 %

    Aumento de la duración de la sesión

    19 %

    Mayor CTR

Con las soluciones gratuitas de IA web integradas en el dispositivo de MediaPipe, los desarrolladores de BILIBILI pudieron retener de manera eficiente elementos visuales cruciales y, al mismo tiempo, mantener la participación de los usuarios, garantizar un rendimiento fluido y, en última instancia, ofrecer la experiencia de transmisión de video premium que los usuarios esperan del líder de la plataforma.

Cita de Jun Liu, ingeniero sénior de BILIBILI: La solución de MediaPipe nos ayudó a ahorrar costos de desarrollo sin enfocarnos en crear un modelo de extracción de retratos.