Podcast “ITMO Research_”: hoe de synchronisatie van AR-content te benaderen met een show op de schaal van een heel stadion

Dit is het eerste deel van het teksttranscript van het tweede interview voor ons programma (Apple Podcasts, Yandex.Muziek). Probleem gast - Andrej Karsakov (kapc3d), Ph.D., senior onderzoeker bij het National Center for Cognitive Research, universitair hoofddocent aan de Faculteit Digitale Transformaties.

Sinds 2012 werkt Andrey bij het lectoraat Visualisatie en Computergrafiek. Betrokken bij grote toegepaste projecten op nationaal en internationaal niveau. In dit deel van het gesprek praten we over zijn ervaring met AR-ondersteuning voor publieke evenementen.

Podcast “ITMO Research_”: hoe de synchronisatie van AR-content te benaderen met een show op de schaal van een heel stadion
foto Dit is Engineering RAEng (Unsplash.com)

Projectcontext en doelstellingen

Tijdcode (door audioversies) — 00:41

dmitrykabanov: Ik wil graag beginnen met het European Games-project. Het bestaat uit meerdere componenten, verschillende teams hebben aan de voorbereiding deelgenomen, en het bieden van augmented reality voor een duizenden publiek tijdens een evenement in het stadion is een behoorlijk serieuze taak. Wat uw betrokkenheid betreft: was het eerst software?

kapc3d: Ja, wij hebben het programmeergedeelte gedaan en ondersteuning geboden tijdens de show. Het was nodig om alles in realtime te volgen, te monitoren en te lanceren, en ook om met de televisiegroep samen te werken. Als we dit project als geheel beschouwen, kunnen we praten over de openings- en sluitingsceremonie Europese Spelen in Minsk, evenals over de openingsceremonie van het kampioenschap Wereld vaardigheden in Kazan. Het was hetzelfde werkschema, maar verschillende evenementen. Er zat een tussenpoos van twee maanden. Samen met de jongens van het bedrijf hebben we het project voorbereid Sechenov.com.

We kwamen ze toevallig tegen Wetenschapsfeest, die plaatsvond in het najaar van 2018. Onze masterstudenten presenteerden hun cursusproject over het onderwerp VR. De jongens kwamen naar ons toe en vroegen wat we in ons laboratorium deden. Het zag er ongeveer zo uit:

— Je werkt met VR, maar kun je ook werken met augmented reality?

- Nou ja, ongeveer wel.

- Er is zo'n taak, met zulke inleidende aantekeningen. Kun jij het?

Ze krabden een beetje aan hun rapen, er lijkt niets onrealistisch te zijn:

- Laten we proberen eerst alles te bestuderen en dan een oplossing te vinden.

Dmitri: Bieden ze alleen media-ondersteuning?

Andrew: Ze maken een volledige stapel. Vanuit management- en organisatieoogpunt zijn zij volledig betrokken bij de regie, enscenering, decorkeuze, logistiek en andere technische ondersteuning. Maar ze wilden iets speciaals doen voor de Europese Spelen. Deze speciale effecten worden, net als mixed reality, al geruime tijd voor televisie gemaakt, maar zijn qua technische uitvoering niet de meest budgetvriendelijke. Daarom zochten de jongens naar alternatieve opties.

Dmitri: Laten we het probleem in meer detail bespreken. Waaruit bestond het?

Andrew: Er is een evenement. Het duurt anderhalf uur. We moeten ervoor zorgen dat het publiek dat live kijkt en degenen die in het stadion zitten de augmented reality-effecten volledig synchroon kunnen zien met de liveshow in termen van tijd en locatie op de site.

Er waren een aantal technische beperkingen. Het was onmogelijk om tijdsynchronisatie via internet uit te voeren, omdat men vreesde voor een overmatige belasting van het netwerk bij volle stands en het vooruitzicht dat staatshoofden het evenement zouden bijwonen, waardoor de mobiele netwerken zouden kunnen worden geblokkeerd.

Andrej Karsakov, foto uit materiaal van de ITMO Universiteit
Podcast “ITMO Research_”: hoe de synchronisatie van AR-content te benaderen met een show op de schaal van een heel stadionWe hadden twee belangrijke componenten voor dit project: de persoonlijke ervaring die mensen kunnen opdoen via mobiele apparaten, en wat er in de televisie-uitzendingen en informatieschermen in het stadion zelf gebeurt.

Als iemand plotseling afleveringen van augmented reality bekijkt via een mobiel apparaat en tegelijkertijd op het scherm komt, zou hij hetzelfde beeld moeten zien.

Om in de tijd volledig gesynchroniseerd te zijn, hadden we twee vrijwel verschillende systemen nodig. Maar het bijzondere van dergelijke shows is dat het complexe evenementen zijn waarbij een groot aantal technische diensten betrokken zijn en alle handelingen worden uitgevoerd volgens tijdcodes. Tijdcode is een specifiek moment in de tijd waarop iets begint: licht, geluid, mensen die weggaan, bloemblaadjes die opengaan, enzovoort. We moesten ons aan dit systeem aanpassen, zodat alles op het juiste moment zou beginnen. Een ander kenmerk was dat de scènes en afleveringen met augmented reality scriptgerelateerd waren.

Dmitri: Maar heeft u besloten om af te zien van het gebruik van tijdcodes vanwege de grote risico's op overmacht, of heeft u in eerste instantie enkele vermogenskarakteristieken doorgerekend en besefte u dat de belasting van het hele systeem behoorlijk hoog zou zijn?

Andrew: Als je voor zo'n publiek een synchronisatieservice maakt, is dat niet zo moeilijk. Hoe dan ook zullen verzoeken niet van de ene op de andere dag mislukken. Ja, de belasting is hoog, maar het is geen noodgeval. De vraag is of het de moeite waard is om hier middelen en tijd aan te besteden als het netwerk plotseling uitvalt. We waren er niet zeker van dat dit niet zou gebeuren. Uiteindelijk werkte alles, met onderbrekingen vanwege de belasting, maar het werkte, en we synchroniseerden volgens de tijdcode volgens een ander schema. Dit was een van de mondiale uitdagingen.

Moeilijkheden bij de implementatie vanuit UX-oogpunt

Tijdcode (door audioversies) — 10:42

Andrew: We moesten er ook rekening mee houden dat het stadion geen klassieke concertlocatie is, en we moesten de systemen in de hele ruimte synchroniseren voor mobiele apparaten. Enige tijd geleden ging ik dus viraal augmented reality-verhaal bij Eminem-concerten, toen was er een geval met Loboda.

foto Robert Tot ziens (Unsplash.com)
Podcast “ITMO Research_”: hoe de synchronisatie van AR-content te benaderen met een show op de schaal van een heel stadionMaar dit is altijd een ervaring voor je - het hele publiek staat voor het podium, de synchronisatie is vrij eenvoudig. In het geval van een stadion moet je begrijpen aan welke kant van de cirkel je je bevindt, wat de relatieve positie is, zodat het stadion past in de ruimte die bestaat in de virtuele omgeving. Het was een zure uitdaging. Ze probeerden het op verschillende manieren op te lossen, en het resultaat was een zaak die dicht bij wat door Loboda was geïmplementeerd, maar niet in alle opzichten.

Wij laten de gebruiker beslissen waar hij zich bevindt. We hebben markeringen gemaakt voor het stadion, waar mensen een sector, een rij, een plaats kozen. Dit alles in vier “klikken”. Vervolgens moesten we de richting naar het podium bepalen. Om dit te doen, lieten we een silhouet zien van hoe de scène er grofweg uit zou moeten zien vanuit een aangepast perspectief. Hij combineerde het, tikte en dat was alles: het podium ging zitten. Wij hebben geprobeerd dit proces zoveel mogelijk te vereenvoudigen. Toch zijn 90% van de kijkers die de show wilden bekijken niet de mensen die ervaring hebben met het communiceren met augmented reality.

Dmitri: Was er een aparte aanvraag voor dit project?

Andrew: Ja, een applicatie voor iOS en Android, die we naar de winkel hebben gepusht. Er was een aparte promotiecampagne voor. Eerder werd gedetailleerd beschreven hoe te downloaden enzovoort.

Dmitri: U moet begrijpen dat er geen plaats is waar iemand een dergelijke applicatie fysiek kan testen en leren gebruiken. Daarom werd de taak om het publiek te ‘opvoeden’ ingewikkelder.

Andrew: Ja Ja. Met UX hebben we veel problemen ondervonden, omdat de gebruiker de ervaring in drie klikken wil opdoen: downloaden, installeren, starten - het werkte. Veel mensen zijn te lui om complexe tutorials te volgen, tutorials te lezen, enzovoort. En we hebben niet geprobeerd om in de tutorial alles zoveel mogelijk aan de gebruiker uit te leggen: hier wordt een venster geopend, hier toegang tot de camera, anders werkt het niet, enzovoort. Het maakt niet uit hoeveel uitleg je schrijft, hoe gedetailleerd je ook kauwt, ongeacht welke gifs je invoegt, mensen lezen het niet.

In Minsk hebben we een grote hoeveelheid feedback op dit onderdeel verzameld en hebben we al veel veranderd voor de toepassing in Kazan. We hebben daar niet alleen die fonogrammen en tijdcodes in gestopt die overeenkomen met een specifieke episode van augmented reality, maar we hebben alle fonogrammen en tijdcodes in hun geheel genomen. Dus de applicatie hoorde wat er gebeurde op het moment van lancering, en - als iemand op het verkeerde moment inlogde - gaf het de informatie: "Kameraad, het spijt me, je AR-aflevering zal over 15 minuten plaatsvinden."

Iets over de architectuur en aanpak van synchronisatie

Tijdcode (door audioversies) — 16:37

Dmitri: Heb je besloten om op geluid te synchroniseren?

Andrew: Ja, het gebeurde per ongeluk. We waren de mogelijkheden aan het bekijken en kwamen een bedrijf tegen cifrasoft van Izjevsk. Ze maken een niet bijzonder verfijnde, maar ijzersterke SDK, waarmee je het geluid kunt synchroniseren met de timing. Het systeem is gepositioneerd om te werken met tv, waarbij je iets in een applicatie kunt weergeven op basis van het geluid van een voorwaardelijke advertentie of een interactieve ervaring kunt geven op basis van de filmtrack.

Dmitri: Maar het is één ding: je zit in je woonkamer, en nog iets: een stadion met duizenden mensen. Hoe is het voor jou gegaan met de kwaliteit van de geluidsopname en de daaropvolgende herkenning?

Andrew: Er waren veel angsten en twijfels, maar in de meeste gevallen werd alles goed onderkend. Ze bouwen handtekeningen op de audiotrack met hun sluwe algoritmen - het resultaat weegt minder dan het originele audiobestand. Wanneer de microfoon naar het omgevingsgeluid luistert, probeert hij deze kenmerken te vinden en op basis daarvan het nummer te herkennen. Onder goede omstandigheden bedraagt ​​de synchronisatienauwkeurigheid 0,1-0,2 seconden. Dit was meer dan genoeg. Onder slechte omstandigheden bedroeg het verschil maximaal 0,5 seconde.

Veel hangt af van het apparaat. We werkten met een groot aantal apparaten. Voor iPhones zijn er slechts 10 modellen. Ze werkten prima in termen van kwaliteit en andere functies. Maar met androïden is de dierentuin net als mijn moeder. Niet overal bleek dat de geluidssynchronisatie werkte. Er waren gevallen waarin het vanwege een aantal eigenaardigheden onmogelijk was om verschillende nummers op verschillende apparaten te horen. Ergens verdwijnen de lage frequenties, ergens beginnen de hoge frequenties te piepen. Maar als het apparaat een normalisator op de microfoon had, werkte de synchronisatie altijd.

Dmitri: Vertel ons alstublieft over de architectuur: wat werd er in het project gebruikt?

Andrew: We hebben de applicatie in Unity gemaakt - de eenvoudigste optie in termen van multi-platform en werken met grafische afbeeldingen. Gebruikte AR Foundation. We zeiden meteen dat we het systeem niet ingewikkeld wilden maken, dus beperkten we ons tot een vloot apparaten die ARKit en ARCore ondersteunen, zodat we tijd hadden om alles te testen. We hebben een plug-in gemaakt voor de DigitalSoft SDK, it staat op onze GitHub. We creëerden een contentmanagementsysteem zodat scripts volgens de tijdlijn zouden draaien.

We hebben een beetje gesleuteld aan het deeltjessysteem, omdat de gebruiker op elk moment in een bepaalde aflevering kan binnenkomen, en we hebben hem nodig om alles te zien vanaf het moment waarop hij synchroniseerde. We sleutelden aan een systeem waarmee scenario’s duidelijk in de tijd kunnen worden nagespeeld, zodat de XNUMXD-ervaring heen en weer kan worden gescrolld, zoals in een film. Hoewel het met klassieke animaties out-of-the-box werkt, moesten we sleutelen aan deeltjessystemen. Op een gegeven moment beginnen ze te spawnen, en als je ergens vóór het spawnpunt bent, zijn ze nog niet geboren, hoewel het lijkt alsof ze dat wel zouden moeten zijn. Maar dit probleem is eigenlijk vrij eenvoudig op te lossen.

Voor het mobiele gedeelte is de architectuur vrij eenvoudig. Voor televisie-uitzendingen is alles ingewikkelder. We hadden hardwarebeperkingen. De klant stelde een voorwaarde: “Hier hebben we zo’n en zo’n hardwarepark, grofweg moet alles eraan werken.” We concentreerden ons meteen op het feit dat we met relatief goedkope video-opnamekaarten zouden werken. Maar budget betekent niet dat ze slecht zijn.

Er waren beperkingen op de hardware, op video-opnamekaarten en op de arbeidsomstandigheden – hoe we de foto moesten ontvangen. Kaarten vastleggen - Blackmagic Design, gewerkt volgens het interne sleutelschema - dit is wanneer een videoframe vanaf de camera naar je toe komt. De kaart heeft een eigen verwerkingschip, waarin ook een frame is geplaatst, dat over het binnenkomende frame moet worden geplaatst. De kaart haalt ze door elkaar - we raken daar niets anders aan en hebben geen invloed op het frame van de videocamera. Het resultaat spuugt ze via de video-uitgang naar de controlekamer. Dit is een goede methode voor het overlappen van titels en andere soortgelijke zaken, maar is niet erg geschikt voor mixed reality-effecten omdat er veel beperkingen zijn aan de renderpijplijn.

Dmitri: In termen van real-time computing, objectbinding of iets anders?

Andrew: In termen van kwaliteit en het bereiken van de gewenste effecten. Omdat we niet weten waar we de afbeelding bovenop plaatsen. We sturen eenvoudig kleur- en transparantie-informatie bovenop de originele stream. Sommige effecten zoals brekingen, correcte transparantie en extra schaduwen kunnen met dit schema niet worden bereikt. Om dit te doen, moet je alles samen weergeven. Er is bijvoorbeeld geen manier om het effect van luchtvervorming door brand of heet asfalt te creëren. Hetzelfde geldt voor de overdracht van het transparantie-effect, rekening houdend met de brekingsindex. We hebben in eerste instantie inhoud gemaakt op basis van deze beperkingen en geprobeerd de juiste effecten te gebruiken.

Bekijk dit bericht op Instagram

Afsluiting van de II Europese Spelen in Minsk.

Een bericht gedeeld door Alena Lanskaja (@alyonalanskaya) op 30 juni 2019 om 3:19 PDT

Dmitri: Had je al je eigen content in het eerste project voor de Europese Spelen?

Andrew: Nee, de hoofdfase van de inhoudontwikkeling werd gedaan door de jongens van Sechenov.com. Hun grafische kunstenaars tekenden de basisinhoud met animaties en andere dingen. En we hebben alles in de engine geïntegreerd, extra effecten toegevoegd en aangepast zodat alles correct werkte.

Als we het over de pijplijn hebben, dan hebben we voor televisie-uitzendingen alles op Unreal Engine 4 geassembleerd. Toevallig begonnen ze net op dat moment hun tools voor mixed reality te versterken. Het bleek dat alles niet zo eenvoudig is. Zelfs nu is al het gereedschap onbewerkt; we moesten veel met de hand afwerken. In Minsk hebben we gewerkt aan een custom build van de engine, dat wil zeggen dat we een aantal dingen in de engine hebben herschreven, zodat we bijvoorbeeld schaduwen op echte objecten konden tekenen. De versie van de engine die op dat moment actueel was, beschikte niet over functies waarmee dit met standaardtools kon worden gedaan. Om deze reden hebben onze jongens hun eigen montage op maat gemaakt om alles te leveren wat van levensbelang was.

Andere nuances en aanpassing aan WorldSkills in Kazan

Tijdcode (door audioversies) — 31:37

Dmitri: Maar dit alles in een vrij korte tijd?

Andrew: De deadlines waren krap Kazan-project, volgens Minsk - normaal. Ongeveer zes maanden voor ontwikkeling, maar rekening houdend met het feit dat er zes mensen bij betrokken waren. Tegelijkertijd maakten we het mobiele gedeelte en ontwikkelden we tools voor televisieproductie. Er was niet alleen een beelduitvoer. Bijvoorbeeld een volgsysteem met optica, hiervoor moest je je eigen tools maken.

Dmitri: Was er sprake van aanpassing van het ene project naar het andere? Was het binnen anderhalve maand nodig om te profiteren van de ontwikkelingen en het project met nieuwe inhoud over te zetten naar een nieuwe site?

Andrew: Ja, dat was voor anderhalve maand. Na het project in Minsk hadden we voor het hele team een ​​vakantie van twee weken gepland. Maar onmiddellijk na sluitingstijd komen de jongens van Sechenov.com naar voren en zeggen: "Nou, laten we dan Kazan doen." We slaagden er nog steeds in om wat uit te rusten, maar schakelden vrij snel over op dit project. We hebben een aantal technische werkzaamheden afgerond. Het grootste deel van de tijd werd besteed aan de inhoud, omdat we het voor WorldSkills volledig deden, we stemden het alleen af ​​met het productieteam. Er was alleen een script van hun kant. Maar het was eenvoudiger: er waren geen extra iteraties nodig. Wanneer je zelf content maakt, zie je direct hoe het werkt in de engine en kun je snel editen en afstemmen.


Wat het mobiele gedeelte betreft, hebben we rekening gehouden met alle subtiliteiten die we in Minsk hadden. We hebben een nieuw applicatieontwerp gemaakt, de architectuur een beetje opnieuw ontworpen, tutorials toegevoegd, maar geprobeerd het zo kort en duidelijk mogelijk te maken. We hebben het aantal gebruikersstappen vanaf het starten van de applicatie tot het bekijken van de inhoud verminderd. Anderhalve maand was genoeg om een ​​adequaat project te voltooien. Binnen anderhalve week bereikten we de locatie. Het was gemakkelijker om daar te werken omdat alle controle over het project in handen was van de organisatoren; er was geen noodzaak om te coördineren met andere commissies. Het was eenvoudiger en gemakkelijker om in Kazan te werken en het was heel normaal dat er minder tijd was.

Dmitri: Maar heb je besloten de benadering van synchronisatie te laten zoals die was, gebaseerd op geluid?

Andrew: Ja, we hebben het met geluid achtergelaten. Het werkte goed. Zoals ze zeggen: als het werkt, raak het dan niet aan. We hielden eenvoudigweg rekening met de nuances van de kwaliteit van de audiotrack. Toen ze de intro deden, was er een trainingsaflevering die mensen konden proberen voordat de show begon. Het was verrassend dat wanneer er op het moment dat de track in het stadion wordt afgespeeld een stormachtig applaus klinkt, “live”, het systeem je in staat stelt om goed te synchroniseren met deze track, maar als op dit moment opgenomen applaus wordt gemixt met de track, dan spoor wordt niet meer gevangen. Er werd rekening gehouden met dergelijke nuances en qua klank was alles behoorlijk gesynchroniseerd.

PS In het tweede deel van het nummer praten we over wetenschappelijke datavisualisatie, procesmodellering in andere projecten, game-ontwikkeling en het masterprogramma "Technologie voor het ontwikkelen van computerspellen" In het volgende artikel publiceren we een vervolg. Je kunt ons hier beluisteren en steunen:

PPS Ondertussen, over de Engelse versie van Habr: een nadere blik op de ITMO Universiteit.

Bron: www.habr.com

Voeg een reactie