ITMO Research_ podcast: comment aborder la synchronisation du contenu AR avec le spectacle à l'échelle de l'ensemble du stade

Ceci est la première partie de la transcription textuelle de la deuxième interview de notre programme ( Apple Podcasts , Yandex.Music ). Invité de libération - Andrey Karsakov (kapc3d), Ph.D., chercheur principal au National Center for Cognitive Development, professeur agrégé du Département des transformations numériques.

Depuis 2012, Andrey travaille dans le groupe scientifique Visualisation et infographie. Il est engagé dans des projets appliqués à grande échelle au niveau étatique et international. Dans cette partie de la conversation, nous parlons de son expérience d'AR-accompagnement d'événements de masse.


Photo ThisisEngineering RAEng (Unsplash.com)



Contexte et objectifs du projet


Timecode ( version audio ) - 00:41



dmitrykabanov: Je voudrais commencer par le projet des Jeux Européens. Il est multi-composants, plusieurs équipes ont participé à la préparation, et fournir une réalité augmentée à un public de plusieurs milliers de personnes pendant l'événement au stade est une tâche plutôt sérieuse. En termes de participation, ce logiciel était-il en premier lieu?

kapc3d: Oui, nous avons fait la partie logicielle et fourni un accompagnement pendant le spectacle. Il fallait surveiller, surveiller et lancer tout en temps réel, et aussi travailler avec un groupe de télévision. Si nous considérons ce projet dans son ensemble, nous pouvons parler des cérémonies d'ouverture et de clôture des Jeux européens de Minsk, ainsi que de la cérémonie d'ouverture du championnat du monde des métiers à Kazan. C'était le même schéma de travail, mais des activités différentes. Entre eux, il y avait un écart de deux mois. Nous avons préparé le projet avec les gars de Sechenov.com .

Les a rencontrés par hasard au Science Festqui a eu lieu à l'automne 2018. Nos étudiants de premier cycle ont montré leur projet de cours sur le thème de la réalité virtuelle. Les gars nous ont approchés et ont demandé ce que nous faisions dans notre laboratoire. Cela ressemblait à ceci:

- Donc, vous travaillez avec la VR, mais êtes-vous capable avec la réalité augmentée?

"Eh bien, en quelque sorte, oui."

- Il y a une telle tâche, avec de telles introductions. Pouvez-vous le faire?


On se gratte un peu les navets, il ne semble rien d'irréaliste:

- Essayons de tout étudier à l'avance, et ensuite on trouvera une solution.

Dmitry: Ne s'occupent-ils que du support des médias?

Andrew:Faites une pile complète. Du point de vue de la gestion et de l'organisation - ils sont pleinement engagés dans la direction, la mise en scène, la sélection des décors, la logistique et tout autre support technique. Mais ils voulaient faire quelque chose de spécial pour les Jeux européens. Ces effets spéciaux, comme la réalité mixte, existent depuis longtemps pour la télévision, mais ils ne sont pas les plus budgétaires en termes de mise en œuvre technique. Par conséquent, les gars cherchaient des alternatives.

Dmitry: Discutons le problème plus en détail. De quoi avait-elle l'air?

Andrew: Il y a un événement. Cela dure une heure et demie. Nous devons nous assurer que le public qui le regarde en direct et ceux qui sont assis dans le stade peuvent voir les effets en réalité augmentée avec une synchronisation complète avec le spectacle en temps et en lieu sur le site.

Il y avait un certain nombre de limitations techniques. Il était impossible de faire la synchronisation de l'heure via Internet, car il y avait des craintes d'une charge excessive sur le réseau avec des stands pleins et la perspective de chefs d'État présents à l'événement, à cause desquels les réseaux mobiles pourraient se bloquer.

Andrey Karsakov, photo du matériel de l'Université ITMO
Nous avions deux éléments clés de ce projet - une expérience personnelle que les gens peuvent obtenir grâce à des appareils mobiles, et ce qui se passe sur les écrans de diffusion télévisée et d'information dans le stade lui-même.

Si soudain une personne regarde des épisodes de réalité augmentée à travers un appareil mobile et frappe simultanément l'écran, elle devrait voir la même image.

Nous avions besoin de deux systèmes réellement différents pour synchroniser complètement dans le temps. Mais la particularité de tels spectacles est qu'ils sont des événements complexes, où un grand nombre de services techniques sont impliqués et toutes les opérations sont effectuées selon les codes temporels. Un code temporel est un moment précis où quelque chose commence: la lumière, le son, la sortie des gens, l'ouverture des pétales de scène, etc. Nous avons dû nous adapter à ce système pour que tout commence au bon moment. Une autre caractéristique était que les scènes et les épisodes avec réalité augmentée étaient scéniquement liés.

Dmitry:Mais vous avez tout de même décidé d'abandonner l'utilisation des codes temporels, en raison des risques élevés de force majeure, ou vous avez initialement calculé certaines caractéristiques de puissance et réalisé que la charge sur l'ensemble du système serait assez élevée?

Andrew: Si vous créez un service de synchronisation pour un tel public, ce n'est pas très difficile. Dans tous les cas, les demandes ne tomberont pas en même temps. Oui, la charge est élevée, mais ce n'est pas une urgence. La question est de savoir s'il vaut la peine d'y consacrer des ressources et du temps si le réseau est soudainement éteint. Nous n'étions pas sûrs que cela n'arriverait pas. En fin de compte, tout a fonctionné, par intermittence en raison de la charge, mais cela a fonctionné, et nous avons synchronisé en utilisant le code temporel d'une manière différente. C'était l'un des défis mondiaux.



Défis d'implémentation UX


Timecode ( version audio ) - 10:42



Andrew: Nous avons également dû considérer que le stade n'est pas une salle de concert classique et synchroniser les systèmes dans l'espace pour les appareils mobiles. Il y a quelque temps, une histoire en réalité augmentée a été violée lors des concerts d'Eminem, puis il y a eu un cas avec Loboda.

Photo de Robert Bye (Unsplash.com)
Mais c'est toujours une expérience devant vous - toute la foule fait face à la scène, la synchronisation est assez simple. Dans le cas du stade, vous devez comprendre de quel côté vous êtes sur la circonférence, la position relative de sorte que le stade se trouve dans l'espace qui se trouve dans l'environnement virtuel. C'était un défi aigre. Ils ont essayé de le résoudre de différentes manières, et nous avons eu un cas proche de ce qui a été mis en œuvre par Loboda, mais pas en tout.

Nous laissons l'utilisateur décider où il se trouve. Ils ont fait l'aménagement du stade, où les gens ont choisi le secteur, la rangée, le lieu. Tout cela en quatre «clics». Ensuite, nous avons dû déterminer la direction de la scène. Pour ce faire, nous avons montré une silhouette de ce à quoi devrait ressembler une scène sous un angle utilisateur. Il l'a combiné, a tapoté et c'est tout - la scène s'est assise. Nous avons essayé de simplifier autant que possible ce processus. Pourtant, 90% des téléspectateurs qui voulaient regarder l'émission ne sont pas des gens qui ont de l'expérience avec la réalité augmentée.

Dmitry: Y avait-il une application distincte pour ce projet?

Andrei: Oui, l'application pour iOS et Android, que nous avons poussée de côté. Il y avait une campagne promotionnelle distincte pour cela. Il a été décrit précédemment en détail comment télécharger et plus encore.

Dmitry:Vous devez comprendre qu'une personne n'a nulle part où vérifier physiquement et apprendre à utiliser une telle application. Par conséquent, la tâche de «former» le public était compliquée.

Andrew: Oui, oui. Avec UX, nous avons pris beaucoup de cônes, car l'utilisateur veut l'expérience en trois clics: téléchargé, installé, lancé, cela a fonctionné. Beaucoup sont trop paresseux pour passer par des didacticiels complexes, lire des formations, etc. Et nous n'avons pas essayé de tout expliquer à l'utilisateur dans le tutoriel autant que possible: une fenêtre va s'ouvrir ici, accéder à la caméra ici, sinon ça ne marchera pas, etc. Peu importe le nombre d'explications que vous écrivez, combien vous mâchez en détail, quels que soient les GIF que vous insérez, les gens ne lisent pas cela.

À Minsk, nous avons collecté un grand pool de commentaires pour cette partie, et nous avons déjà beaucoup changé pour l'application à Kazan. Nous y avons conduit non seulement ces phonogrammes et ces codes temporels qui correspondent à un épisode spécifique de la réalité augmentée, mais nous avons pris tous les phonogrammes et codes temporels complètement. Donc, l'application a entendu ce qui se passait au moment du lancement et - si la personne n'était pas entrée à ce moment-là - elle donnerait des informations: "Camarade, je suis désolé, votre épisode de RA sera dans 15 minutes."



Un peu sur l'architecture et l'approche de la synchronisation


Timecode ( version audio ) - 16:37



Dmitry: Toujours décidé de faire la synchronisation par le son?

Andrei: Oui, c'est arrivé par hasard. Nous avons trié les options et sommes tombés sur une entreprise Cifrasoft d'Izhevsk. Ils ne sont pas vraiment trompés, mais un SDK de fer à repasser, qui vous permet de synchroniser le son avec le timing par son. Le système était positionné pour fonctionner avec la télévision, lorsque vous pouvez produire quelque chose dans l'application ou donner du contenu interactif sur le son de la publicité conditionnelle.

Dmitry: Mais une chose est que vous êtes assis dans votre salon, et un autre est un stade de plusieurs milliers de personnes. Comment avez-vous géré la qualité de l'enregistrement sonore et sa reconnaissance ultérieure?

Andrew:Il y avait beaucoup de craintes et de doutes, mais dans la plupart des cas, tout était bien reconnu. Ils construisent des signatures sur la bande sonore avec leurs algorithmes délicats - le total pèse moins que le fichier audio d'origine. Lorsque le microphone écoute le son ambiant, il essaie de trouver ces fonctionnalités et de reconnaître la piste par elles. Dans de bonnes conditions, la précision de la synchronisation est de 0,1 à 0,2 seconde. C'était plus que suffisant. Dans de mauvaises conditions, l'écart pouvait atteindre 0,5 seconde.

Cela dépend beaucoup de l'appareil. Nous avons travaillé avec une grande flotte d'appareils. Pour les iPhones, ce ne sont que 10 modèles. Ils ont bien fonctionné en termes de qualité et d'autres fonctionnalités. Mais avec les androïdes, le zoo est tel que ma maman. Pas partout, il s'est avéré que la synchronisation du son fonctionnait. Il y avait des cas où sur différents appareils, en plus de pistes différentes, il était impossible d'entendre à cause de certaines fonctionnalités. Quelque part les basses fréquences partent, quelque part les hautes commencent à siffler. Mais si l'appareil avait un normalisateur sur le microphone, la synchronisation fonctionnait toujours.

Dmitry: Veuillez nous parler de l'architecture - qu'est-ce qui a été utilisé dans le projet?

Andrew:Nous avons créé l'application sur Unity - l'option la plus simple en termes de multi-plateforme et de graphisme. Fondation AR d'occasion. Nous avons immédiatement déclaré que nous n'aimerions pas compliquer le système, nous nous sommes donc limités à une flotte d'appareils prenant en charge ARKit et ARCore afin d'avoir le temps de tout tester. Nous avons créé un plug-in pour le SDK Tsifirasoft, il nous appartient sur GitHub . Nous avons créé un système de gestion de contenu pour que les scripts s'exécutent sur une chronologie.

Nous avons un peu bricolé avec le système de particules, car l'utilisateur peut se connecter à tout moment d'un épisode particulier, et il a besoin de tout voir à partir du moment où il s'est synchronisé. Bricoler avec un système qui permet de lire les scripts clairement dans le temps afin qu'une expérience en trois dimensions puisse défiler d'avant en arrière, comme dans un film. Si cela fonctionne hors de la boîte avec des animations classiques, alors j'ai dû bricoler avec des systèmes de particules. À un moment donné, ils commencent à se reproduire, et si vous vous trouvez quelque part au point de se reproduire, ils ne sont pas encore nés, bien qu'ils semblent l'être. Mais ce problème, en fait, est facilement résolu.

Pour la partie mobile, l'architecture est assez simple. Pour la diffusion, tout est plus compliqué. Nous avions des limites sur le fer. La condition a été fixée par le client: «Ici, nous avons tel ou tel parc de fer, grosso modo, tout doit y travailler.» Nous nous sommes immédiatement concentrés sur le fait que nous travaillerons avec des cartes de capture vidéo relativement peu coûteuses. Mais budgétaire ne signifie pas qu'ils sont mauvais.

Il y avait une restriction sur le matériel, sur les cartes de capture vidéo et sur les conditions de travail - comment obtenir une image. Cartes de capture - Blackmagic Design, fonctionnant selon le schéma de saisie interne - c'est quand une image vidéo vient de la caméra. La carte a sa propre puce de traitement, qui a également un cadre qui doit être superposé au-dessus de celui qui arrive. La carte les mélange - plus on n'y touche rien et n'affecte pas le cadre de la caméra vidéo. Le résultat grâce à la sortie vidéo, elle crache sur la télécommande. C'est une bonne méthode pour appliquer des légendes et autres choses similaires, mais elle n'est pas très adaptée aux effets de réalité mixte, car il existe de nombreuses restrictions sur le pipeline de rendu.

Dmitry: En termes de calcul en temps réel, de liaison d'objet ou d'autre chose?

Andrew:En termes de qualité et de réalisation des effets souhaités. En raison du fait que nous ne savons pas ce qui recouvre l'image sur le dessus. Nous fournissons simplement des informations sur la couleur et la transparence au-dessus du flux d'origine. Certains effets comme les réfractions, la transparence correcte, les ombres supplémentaires avec un tel schéma ne peuvent pas être obtenus. Pour ce faire, vous devez tout rendre ensemble. Par exemple, cela ne fonctionnera en aucune façon pour faire l'effet de la distorsion de l'air d'un incendie ou de l'asphalte chaud. De même avec la transmission de l'effet de transparence en tenant compte de l'indice de réfraction. Nous avons initialement créé le contenu en fonction de ces restrictions et avons essayé d'utiliser les effets appropriés.


Dmitry: Aviez-vous votre contenu sur le premier projet des Jeux Européens?

Andrew: Non, la principale étape du développement de contenu était les gars de Sechenov.com. Leurs graphistes ont dessiné du contenu de base avec des animations et d'autres choses. Et nous avons tout intégré dans le moteur, ajouté des effets supplémentaires, adaptés pour que tout fonctionne correctement.

Si nous parlons du pipeline, alors pour la télévision, nous avons tout collecté sur Unreal Engine 4. Il coïncidait qu'ils venaient juste à ce moment de forcer leurs outils pour la réalité mixte (réalité mixte). Il s'est avéré que tout n'est pas si simple. Tous les outils sont bruts même maintenant, nous avons dû finir beaucoup de choses manuellement. À Minsk, nous avons travaillé sur un assemblage personnalisé du moteur, c'est-à-dire que nous avons réécrit certaines choses à l'intérieur du moteur afin que, par exemple, nous puissions dessiner des ombres sur des objets réels. Sur cette version du moteur, qui était alors pertinente, il n'y avait aucune fonctionnalité qui permettait de le faire à l'aide d'outils standard. Pour cette raison, nos gars ont fait leur assemblage sur mesure afin de fournir tout ce qui était vital.



Autres nuances et adaptation aux WorldSkills à Kazan


Timecode (pour la version audio ) - 31:37



Dmitry: Mais tout cela en un temps assez court?

Andrei: Les dates limites étaient pour le projet de Kazan , pour Minsk - normal. Environ six mois pour se développer, mais en tenant compte du fait que six personnes étaient impliquées. Parallèlement, ils ont réalisé la partie mobile, développé des outils de téléproduction. Il n'y avait pas seulement une sortie d'image. Par exemple, un système de suivi avec optique, pour cela, il était nécessaire de faire votre propre boîte à outils.

Dmitry: Y a - t-il eu une adaptation d'un projet à l'autre? Pendant un mois et demi il a fallu profiter des développements et transférer le projet avec du nouveau contenu sur un nouveau site?

Andrew:Oui, c'était un mois et demi. Nous avions prévu des vacances de deux semaines pour toute l'équipe après le projet de Minsk. Mais immédiatement après la fermeture, les gars de Sechenov.com sont venus et ont dit: "Eh bien, laissez Kazan le faire." Nous avons quand même réussi à nous détendre un peu, mais nous sommes passés à ce projet assez rapidement. A terminé quelque chose sur le plan technique. La plupart du temps a été consacré au contenu, car pour WorldSkills nous l'avons complètement fait, juste d'accord avec l'équipe du réalisateur. Il n'y avait qu'un script de leur part. Mais c'était plus facile - aucune itération supplémentaire n'était nécessaire. Lorsque vous faites le contenu vous-même, vous voyez immédiatement comment cela fonctionne dans le moteur, vous pouvez rapidement le modifier et le coordonner.


Sur la partie mobile, nous avons pris en compte toutes les subtilités que nous avions à Minsk. Ils ont fait une nouvelle conception d'application, retravaillé un peu d'architecture, ajouté des tutoriels, mais ont essayé de la rendre aussi courte et claire que possible. Réduction du nombre d'étapes utilisateur depuis le lancement de l'application jusqu'à l'affichage du contenu. Un mois et demi a suffi pour réaliser un projet adéquat. Pendant une semaine et demie, nous sommes allés sur le site. Il était plus facile de travailler là-bas, car tout le contrôle du projet était entre les mains des organisateurs, il n'était pas nécessaire de se coordonner avec les autres comités. Il était de plus en plus facile de travailler à Kazan et il était tout à fait normal qu'il y ait moins de temps.

Dmitry: Mais vous avez décidé de laisser l'approche de la synchronisation, telle qu'elle était, par le son?

Andrew:Oui, nous sommes partis par le son. Cela a bien fonctionné. Comme on dit, si ça marche, ne le touchez pas. Nous venons de prendre en compte les nuances de la qualité de la bande son. Quand ils ont fait l'introduction, il n'y avait qu'un épisode de formation pour que les gens puissent essayer avant le début du spectacle. Il était surprenant de constater qu'au moment de jouer une piste au stade, il y a des applaudissements orageux, «en direct», le système vous permet de bien synchroniser sur cette piste, mais si les applaudissements enregistrés sont mélangés avec la piste à ce moment, la piste cesse d'être capturée. Ces nuances ont été prises en compte et le son était assez bien synchronisé.

PS Dans la deuxième partie du numéro, nous parlons de visualisation de données scientifiques, de modélisation de processus dans d'autres projets, de développement de jeux et du programme de master « Technologie pour le développement de jeux informatiques»". Nous publierons la suite dans le matériel suivant. Vous pouvez nous écouter et nous soutenir ici:






PPS Pendant ce temps, sur la version anglaise de Habr: regard sur l'Université ITMO .



All Articles