ITMO Research_ podcast: cómo abordar la sincronización del contenido AR con el espectáculo a escala de todo el estadio

Esta es la primera parte de la transcripción del texto de la segunda entrevista para nuestro programa ( Apple Podcasts , Yandex.Music ). Invitado de lanzamiento - Andrey Karsakov (kapc3d), Ph.D., investigador principal en el Centro Nacional de Desarrollo Cognitivo, Profesor Asociado del Departamento de Transformaciones Digitales.

Desde 2012, Andrey ha estado trabajando en el grupo científico Visualization and Computer Graphics. Está involucrado en proyectos aplicados a gran escala a nivel estatal e internacional. En esta parte de la conversación, hablamos sobre su experiencia de acompañamiento AR de eventos masivos.


Photo ThisisIngeniería RAEng (Unsplash.com)



Contexto y objetivos del proyecto


Código de tiempo ( versión de audio ) - 00:41



dmitrykabanov: Me gustaría comenzar con el proyecto de los Juegos Europeos. Es de múltiples componentes, varios equipos participaron en la preparación, y proporcionar una realidad aumentada para una audiencia de miles de personas durante el evento en el estadio es una tarea bastante seria. En términos de su participación, ¿fue este software en primer lugar?

kapc3d: Sí, hicimos la parte del software y proporcionamos acompañamiento durante el espectáculo. Era necesario monitorear, monitorear y lanzar todo en tiempo real, y también trabajar con un grupo de televisión. Si consideramos este proyecto en su conjunto, podemos hablar sobre las ceremonias de inauguración y clausura de los Juegos Europeos en Minsk, así como sobre la ceremonia de inauguración del campeonato WorldSkills en Kazán. Era el mismo esquema de trabajo, pero diferentes actividades. Entre ellos había una brecha de dos meses. Preparamos el proyecto junto con los chicos de Sechenov.com .

Los conocí por casualidad en Science Festque tuvo lugar en el otoño de 2018. Nuestros estudiantes universitarios mostraron su proyecto de curso sobre el tema de la realidad virtual. Los chicos se nos acercaron y nos preguntaron qué estábamos haciendo en nuestro laboratorio. Se veía más o menos así:

- Entonces, ¿estás trabajando con realidad virtual, pero eres capaz con la realidad aumentada?

"Bueno, más o menos, sí".

- Existe tal tarea, con tales introductorias. ¿Puedes hacerlo?


Nos rascamos un poco los nabos, parece que no hay nada irreal:

intentemos estudiar todo de antemano y luego encontraremos una solución.

Dmitry: ¿Solo se ocupan del soporte de los medios?

Andrés:Haz una pila completa. Desde el punto de vista de la gestión y la organización, se dedican por completo a la dirección, puesta en escena, selección de escenarios, logística y otro tipo de soporte técnico. Pero querían hacer algo especial para los Juegos Europeos. Estos efectos especiales, como la realidad mixta, se han estado aplicando a la televisión durante mucho tiempo, pero no son los más presupuestarios en términos de implementación técnica. Por lo tanto, los chicos estaban buscando alternativas.

Dmitry: Discutamos el problema con más detalle. ¿Cómo era ella?

Andrew: Hay un evento. Dura una hora y media. Es necesario asegurarse de que la audiencia que lo ve en vivo y los que están sentados en el estadio puedan ver los efectos con la realidad aumentada con una sincronización completa con el show en vivo en el tiempo y la ubicación en el sitio.

Hubo una serie de limitaciones técnicas. Era imposible hacer la sincronización horaria a través de Internet, porque existía el temor de una carga excesiva en la red con puestos completos y la posibilidad de que los jefes de estado asistieran al evento, por lo que las redes móviles podrían atascarse.

Andrey Karsakov, foto del material de la Universidad ITMO
Teníamos dos componentes clave de este proyecto: la experiencia personal que las personas pueden obtener a través de dispositivos móviles y lo que sucede en la transmisión de televisión y las pantallas de información en el estadio.

Si de repente una persona ve episodios de realidad aumentada a través de un dispositivo móvil y cae simultáneamente en la pantalla, debería ver la misma imagen.

Necesitábamos dos sistemas realmente diferentes para sincronizar completamente a tiempo. Pero la peculiaridad de tales programas es que son eventos complejos, donde intervienen una gran cantidad de servicios técnicos y todas las operaciones se realizan de acuerdo con los códigos de tiempo. Un código de tiempo es un punto específico en el tiempo en el que algo comienza: luz, sonido, salida de personas, apertura de pétalos de escenario, etc. Tuvimos que adaptarnos a este sistema para que todo comenzara en el momento adecuado. Otra característica era que las escenas y los episodios con realidad aumentada estaban vinculados de manera escénica.

Dmitry:Pero aún así decidió abandonar el uso de códigos de tiempo, debido a los altos riesgos de fuerza mayor, o inicialmente calculó algunas características de potencia y se dio cuenta de que la carga en todo el sistema sería bastante alta.

Andrew: Si haces un servicio de sincronización para tal audiencia, entonces no es muy difícil. Las solicitudes en cualquier caso no caerán de una vez. Sí, la carga es alta, pero esto no es una emergencia. La pregunta es si vale la pena gastar recursos y tiempo si la red se extingue repentinamente. No estábamos seguros de que esto no sucedería. Finalmente, todo funcionó, de manera intermitente debido a la carga, pero funcionó, y nos sincronizamos usando el código de tiempo de una manera diferente. Fue uno de los desafíos mundiales.



Desafíos de implementación de UX


Código de tiempo ( versión de audio ) - 10:42



Andrew: También tuvimos que considerar que el estadio no es un lugar de conciertos clásico y sincronizar los sistemas en el espacio para dispositivos móviles. Entonces, hace algún tiempo, una historia con realidad aumentada fue violada en los conciertos de Eminem, luego hubo un caso con Loboda.

Foto de Robert Bye (Unsplash.com)
Pero esta siempre es una experiencia frente a ti: toda la multitud está frente a la escena, la sincronización es bastante simple. En el caso del estadio, debe comprender de qué lado se encuentra en la circunferencia, la posición relativa para que el estadio se asiente en el espacio que se encuentra en el entorno virtual. Fue un gran desafío. Intentaron resolverlo de varias maneras, y obtuvimos un caso cercano a lo que implementó Loboda, pero no en todo.

Dejamos que el usuario decida dónde está. Hicieron el diseño del estadio, donde la gente eligió el sector, la fila, el lugar. Todo esto en cuatro "clics". Luego, tuvimos que determinar la dirección de la escena. Para hacer esto, mostramos una silueta de cómo debería ser una escena desde el ángulo del usuario. Lo combinó, hizo tapping y listo: la escena se sentó. Intentamos simplificar este proceso tanto como sea posible. Aún así, el 90% de los espectadores que querían ver el programa no son las personas que tienen experiencia con la realidad aumentada.

Dmitry: ¿Hubo una aplicación separada para este proyecto?

Andrei: Sí, la aplicación para iOS y Android, que empujamos a un lado. En él había una campaña promocional separada. Anteriormente se describió en detalle cómo descargar y más.

Dmitry:Debe comprender que una persona no tiene ningún lugar para verificar físicamente y aprender a usar dicha aplicación. Por lo tanto, la tarea de "entrenar" a la audiencia fue complicada.

Andrew: si, si. Con UX, capturamos muchos conos, porque el usuario quiere la experiencia en tres clics: descargado, instalado, lanzado, funcionó. Muchos son demasiado vagos para pasar por tutoriales complejos, leer capacitación y más. Y no tratamos de explicar todo al usuario en el tutorial tanto como sea posible: se abrirá una ventana aquí, accederá a la cámara aquí, de lo contrario no funcionará, y así sucesivamente. No importa cuántas explicaciones escriba, cuánto mastique en detalle, independientemente de los GIF que inserte, la gente no lee esto.

En Minsk, recopilamos un gran grupo de comentarios para esta parte, y ya hemos cambiado mucho para la aplicación en Kazan. Condujimos allí no solo esos fonogramas y esos códigos de tiempo que corresponden a un episodio específico de realidad aumentada, sino que tomamos todos los fonogramas y códigos de tiempo por completo. Entonces, la aplicación escuchó lo que estaba sucediendo en el momento del lanzamiento y, si la persona no hubiera ingresado en ese momento, le daría información: "Camarada, lo siento, su episodio AR será en 15 minutos".



Un poco sobre la arquitectura y el enfoque de sincronización


Código de tiempo ( versión de audio ) - 16:37



Dmitry: ¿ Todavía decidió hacer la sincronización por sonido?

Andrei: Sí, sucedió por casualidad. Analizamos las opciones y encontramos una empresa Cifrasoft de Izhevsk. Realmente no son engañados, sino un SDK que funciona con hierro, que le permite sincronizar el sonido con el tiempo por sonido. El sistema fue posicionado para funcionar con TV, cuando puede emitir algo en la aplicación o dar contenido interactivo sobre el sonido de la publicidad condicional.

Dmitry: Pero una cosa es que estás sentado en tu sala de estar y otra es un estadio multimillonario. ¿Cómo manejó la calidad de la grabación de sonido y su posterior reconocimiento?

Andrés:Hubo muchos temores y dudas, pero en la mayoría de los casos todo se reconoció bien. Construyen firmas en la banda sonora con sus complicados algoritmos: el total pesa menos que el archivo de audio original. Cuando el micrófono escucha el sonido ambiental, intenta encontrar estas características y reconocer la pista por ellas. En buenas condiciones, la precisión de la sincronización es de 0.1-0.2 segundos. Eso fue más que suficiente. En malas condiciones, la discrepancia fue de hasta 0,5 segundos.

Mucho depende del dispositivo. Trabajamos con una gran flota de dispositivos. Para iPhones, estos son solo 10 modelos. Funcionaron bien en términos de calidad y otras características. Pero con los androides, el zoológico es tal que mi madre. No en todas partes resultó que la sincronización de sonido funcionó. Hubo casos en que en diferentes dispositivos, además de diferentes pistas, era imposible escuchar debido a algunas características. En algún lugar las bajas frecuencias se van, en algún lugar alto comienzan a jadear. Pero si el dispositivo tenía un normalizador en el micrófono, la sincronización siempre funcionaba.

Dmitry: Cuéntanos sobre arquitectura, ¿qué se utilizó en el proyecto?

Andrés:Creamos la aplicación en Unity, la opción más fácil en términos de multiplataforma y gráficos. Fundación AR usada. Inmediatamente dijimos que no nos gustaría complicar el sistema, por lo que nos limitamos a una flota de dispositivos que admiten ARKit y ARCore para tener tiempo para probar todo. Hicimos un complemento para el SDK Tsifirasoft, yace en GitHub . Creamos un sistema de gestión de contenido para que los scripts se ejecuten en una línea de tiempo.

Hemos jugado un poco con el sistema de partículas, porque el usuario puede iniciar sesión en cualquier momento de un episodio en particular, y necesita ver todo desde el momento en que se sincronizó. Trabajamos con un sistema que permite que los guiones se reproduzcan claramente a tiempo para que la experiencia tridimensional se pueda desplazar hacia adelante y hacia atrás, como en una película. Si funciona fuera de la caja con animaciones clásicas, entonces tuve que jugar con los sistemas de partículas. En algún momento, comienzan a engendrar, y si te encuentras en algún lugar hasta el punto de engendrar, aún no han nacido, aunque parecen estarlo. Pero este problema, de hecho, se resuelve fácilmente.

Para la parte móvil, la arquitectura es bastante simple. Para la transmisión, todo es más complicado. Teníamos limitaciones en el hierro. La condición fue establecida por el cliente: "Aquí tenemos tal y tal parque de hierro, en términos generales, todo debe funcionar en él". Inmediatamente nos enfocamos en el hecho de que trabajaremos con tarjetas de captura de video de costo relativamente bajo. Pero el presupuesto no significa que sean malos.

Hubo una restricción en el hardware, en las tarjetas de captura de video y en las condiciones de trabajo: cómo debemos obtener una imagen. Tarjetas de captura - Blackmagic Design, trabajadas de acuerdo con el esquema de codificación interna - esto es cuando un cuadro de video proviene de la cámara. La tarjeta tiene su propio chip de procesamiento, que también tiene un marco que debe superponerse sobre el entrante. La tarjeta los mezcla: cuanto más no tocamos nada allí y no afecta el marco de la cámara de video. El resultado a través de la salida de video, ella escupe en el control remoto. Este es un buen método para aplicar subtítulos y otras cosas similares, pero no es muy adecuado para efectos de realidad mixta, porque hay muchas restricciones en la canalización de renderizado.

Dmitry: ¿ En términos de computación en tiempo real, enlace de objetos u otra cosa?

Andrés:En términos de calidad y lograr los efectos deseados. Debido al hecho de que no sabemos de qué capa se superpone la imagen. Simplemente proporcionamos información de color y transparencia en la parte superior de la secuencia original. Algunos efectos como las refracciones, la transparencia correcta, las sombras adicionales con dicho esquema no se pueden lograr. Para hacer esto, necesitas renderizar todo junto. Por ejemplo, no funcionará de ninguna manera para producir el efecto de la distorsión del aire provocada por un incendio o por el asfalto caliente. Lo mismo con la transmisión del efecto de transparencia teniendo en cuenta el índice de refracción. Inicialmente creamos el contenido en base a estas restricciones e intentamos usar los efectos apropiados.


Dmitry: ¿Tenías tu contenido en el primer proyecto para los Juegos Europeos?

Andrew: No, la etapa principal del desarrollo de contenido fueron los chicos de Sechenov.com. Sus artistas gráficos dibujaron contenido básico con animaciones y otras cosas. E integramos todo en el motor, agregamos efectos adicionales, adaptados para que todo funcionara correctamente.

Si hablamos de la tubería, entonces, para la televisión, recopilamos todo en Unreal Engine 4. Coincidió que justo en ese momento comenzaron a forzar sus herramientas para la realidad mixta (realidad mixta). Resultó que no todo es tan simple. Todas las herramientas están en bruto, incluso ahora, tuvimos que terminar mucho manualmente. En Minsk, trabajamos en un ensamblaje personalizado del motor, es decir, reescribimos algunas cosas dentro del motor para que, por ejemplo, pudiéramos dibujar sombras sobre objetos reales. En esa versión del motor, que entonces era relevante, no había características que permitieran hacer esto usando herramientas estándar. Por esta razón, nuestros muchachos hicieron su montaje personalizado para proporcionar todo lo que era vital.



Otros matices y adaptación a WorldSkills en Kazan


Código de tiempo (para la versión de audio ) - 31:37



Dmitry: ¿ Pero todo esto en poco tiempo?

Andrei: Los plazos eran para el proyecto Kazan , para Minsk, normal. Unos seis meses para desarrollarse, pero teniendo en cuenta el hecho de que estaban involucradas seis personas. Al mismo tiempo, hicieron la parte móvil, desarrollaron herramientas para la teleproducción. No solo había una salida de imagen. Por ejemplo, un sistema de seguimiento con óptica, para esto era necesario hacer su propio kit de herramientas.

Dmitry: ¿Hubo una adaptación de un proyecto a otro? Durante un mes y medio, ¿fue necesario aprovechar los desarrollos y transferir el proyecto con nuevo contenido a un nuevo sitio?

Andrés:Sí, fue un mes y medio. Habíamos planeado unas vacaciones de dos semanas para todo el equipo después del proyecto de Minsk. Pero inmediatamente después del cierre, los chicos de Sechenov.com se acercan y dicen: "Bueno, entonces deja que Kazan lo haga". Aún pudimos relajarnos un poco, pero cambiamos a este proyecto lo suficientemente rápido. Completado algo en el aspecto técnico. La mayor parte del tiempo se dedicó al contenido, porque para WorldSkills lo hicimos por completo, solo coincidimos con el equipo del director. Solo había un guión de su parte. Pero fue más fácil: no se necesitaban iteraciones adicionales. Cuando hace el contenido usted mismo, inmediatamente ve cómo funciona en el motor, puede editarlo y coordinarlo rápidamente.


En la parte móvil, tomamos en cuenta todas las sutilezas que teníamos en Minsk. Hicieron un nuevo diseño de aplicación, reelaboraron un poco la arquitectura, agregaron tutoriales, pero trataron de hacerlo lo más breve y claro posible. Se redujo el número de pasos del usuario desde el inicio de la aplicación hasta la visualización de contenido. Un mes y medio fue suficiente para hacer un proyecto adecuado. Durante una semana y media fuimos al sitio. Era más fácil trabajar allí, porque todo el control sobre el proyecto estaba en manos de los organizadores, no era necesario coordinarse con otros comités. Era más y más fácil trabajar en Kazán y era bastante normal que hubiera menos tiempo.

Dmitry: ¿ Pero decidiste dejar el enfoque de la sincronización, por así decirlo, por el sonido?

Andrés:Sí, nos fuimos por el sonido. Funcionó bien Como dicen, si funciona, no lo toques. Solo tomamos en cuenta los matices de la calidad de la banda sonora. Cuando hicieron la presentación, solo hubo un episodio de entrenamiento para que la gente pudiera probar antes de que comience el espectáculo. Fue sorprendente que cuando en el momento de reproducir una pista en el estadio hay un fuerte aplauso, "en vivo", el sistema le permite sincronizar bien en esa pista, pero si el aplauso grabado se mezcla con la pista en ese momento, la pista deja de ser atrapada. Se tomaron en cuenta estos matices y el sonido estaba bastante bien sincronizado.

PD: En la segunda parte del tema, hablamos de visualización científica de datos, modelado de procesos en otros proyectos, desarrollo de juegos y el programa de maestría " Tecnología para el desarrollo de juegos de computadora"". Publicaremos la continuación en el siguiente material. Puedes escucharnos y apoyarnos aquí:






PPS Mientras tanto, en la versión en inglés de Habr: una mirada más cercana a la Universidad ITMO .



All Articles