Podcast "ITMO Research_": hvordan man nærmer sig synkroniseringen af ​​AR-indhold med et show på skalaen af ​​et helt stadion

Dette er den første del af tekstudskriften af ​​det andet interview til vores program (Apple Podcasts, Yandex.Music). Udsted gæst - Andrey Karsakov (kapc3d), Ph.D., seniorforsker ved Nationalt Center for Kognitiv Forskning, lektor ved Fakultetet for Digitale Transformationer.

Siden 2012 har Andrey arbejdet i forskningsgruppen Visualization and Computer Graphics. Engageret i store anvendte projekter på statsligt og internationalt niveau. I denne del af samtalen taler vi om hans erfaring med AR-støtte til offentlige arrangementer.

Podcast "ITMO Research_": hvordan man nærmer sig synkroniseringen af ​​AR-indhold med et show på skalaen af ​​et helt stadion
Foto Dette er Engineering RAEng (Unsplash.com)

Projektets kontekst og mål

Tidskode (af lydversioner) — 00:41

dmitrykabanov: Jeg vil gerne starte med European Games-projektet. Det er multi-komponent, flere hold deltog i forberedelsen, og at levere augmented reality til et publikum på tusinder lige under et arrangement på stadion er en ganske alvorlig opgave. Med hensyn til dit engagement, var det software først?

kapc3d: Ja, vi lavede programmeringsdelen og ydede support under showet. Det var nødvendigt at spore, overvåge og starte alt i realtid, og også arbejde med tv-gruppen. Hvis vi betragter dette projekt som en helhed, så kan vi tale om åbnings- og afslutningsceremonierne europæiske spil i Minsk, samt om åbningsceremonien for mesterskabet WorldSkills i Kazan. Det var den samme arbejdsordning, men forskellige arrangementer. Der var to måneder imellem dem. Vi forberedte projektet sammen med fyrene fra firmaet Sechenov.com.

Vi mødte dem tilfældigt Videnskabsfest, som fandt sted i efteråret 2018. Vores kandidatstuderende fremviste deres kursusprojekt om emnet VR. Fyrene kom hen til os og spurgte, hvad vi lavede i vores laboratorium. Det så nogenlunde sådan her ud:

— Du arbejder med VR, men kan du arbejde med augmented reality?

- Nå, sådan set, ja.

- Der er sådan en opgave, med sådan nogle indledende notater. Kan du gøre det?

De kløede deres majroer lidt, der ser ikke ud til at være noget urealistisk:

- Lad os prøve at studere alting først, og så finde en løsning.

Dmitrij: Giver de kun mediestøtte?

Andrew: De laver en fuld stak. Fra ledelses- og organisationssynspunktet er de fuldstændig involveret i instruktion, iscenesættelse, udvælgelse af kulisser, logistik og anden teknisk support. Men de ville gerne gøre noget særligt for de europæiske lege. Disse specialeffekter har ligesom mixed reality været lavet til tv i ret lang tid, men de er ikke de mest budgetvenlige i forhold til teknisk implementering. Derfor ledte fyrene efter alternative muligheder.

Dmitrij: Lad os diskutere problemet mere detaljeret. Hvad bestod den af?

Andrew: Der er en begivenhed. Det varer halvanden time. Vi skal sikre os, at publikum, der ser det live, og dem, der sidder på stadion, kan se augmented reality-effekterne i fuld synkronisering med live-showet med hensyn til tid og placering på stedet.

Der var en række tekniske begrænsninger. Det var umuligt at lave tidssynkronisering via internettet, fordi der var frygt for overdreven belastning på netværket med fulde stande og udsigten til, at statsoverhoveder skulle deltage i begivenheden, hvilket kunne blokere mobilnetværkene.

Andrey Karsakov, foto fra materiale fra ITMO University
Podcast "ITMO Research_": hvordan man nærmer sig synkroniseringen af ​​AR-indhold med et show på skalaen af ​​et helt stadionVi havde to nøglekomponenter til dette projekt - den personlige oplevelse, som folk kan få gennem mobile enheder, og det, der går ind i tv-udsendelsen og informationsskærmene på selve stadion.

Hvis en person pludselig ser episoder af augmented reality gennem en mobilenhed og samtidig kommer på skærmen, bør han se det samme billede.

Vi havde brug for to praktisk talt forskellige systemer for at blive fuldstændig synkroniseret i tid. Men det særlige ved sådanne shows er, at disse er komplekse hændelser, hvor et stort antal tekniske tjenester er involveret, og alle operationer udføres i henhold til tidskoder. Tidskode er et bestemt tidspunkt i tiden, hvor noget starter: lys, lyd, folk der går, sceneblade åbner og så videre. Vi skulle tilpasse os dette system, så alting ville starte på det rigtige tidspunkt. Et andet træk var, at scenerne og episoderne med augmented reality var manuskriptrelaterede.

Dmitrij: Men besluttede du dig for at opgive brugen af ​​tidskoder på grund af den høje risiko for force majeure, eller beregnede du i første omgang nogle effektkarakteristika og indså, at belastningen på hele systemet ville være ret høj?

Andrew: Hvis du opretter en synkroniseringstjeneste til et sådant publikum, så er det ikke særlig svært. Under alle omstændigheder vil anmodninger ikke mislykkes fra den ene dag til den anden. Ja, belastningen er høj, men det er ikke en nødsituation. Spørgsmålet er, om det kan betale sig at bruge ressourcer og tid på dette, hvis netværket pludselig går ud. Vi var ikke sikre på, at dette ikke ville ske. I sidste ende fungerede alt, med afbrydelser på grund af belastningen, men det virkede, og vi synkroniserede i henhold til tidskoden efter et andet skema. Dette var en af ​​de globale udfordringer.

Vanskeligheder ved implementering fra et UX-synspunkt

Tidskode (af lydversioner) — 10:42

Andrew: Vi skulle også tage højde for, at stadion ikke er et klassisk koncertsted, og synkronisere systemerne på tværs af rummet til mobile enheder. Så for noget tid siden blev jeg viral augmented reality-historie ved Eminem-koncerter, så var der en sag med Loboda.

Foto Robert farvel (Unsplash.com)
Podcast "ITMO Research_": hvordan man nærmer sig synkroniseringen af ​​AR-indhold med et show på skalaen af ​​et helt stadionMen dette er altid en oplevelse foran dig - hele publikum står foran scenen, synkroniseringen er ret enkel. I tilfælde af et stadion skal du forstå, hvilken side af cirklen du er på, den relative position, så stadionet passer ind i det rum, der findes i det virtuelle miljø. Det var en sur udfordring. De forsøgte at løse det på forskellige måder, og resultatet var en sag tæt på det, der blev implementeret af Loboda, men ikke i alle henseender.

Vi lader brugeren bestemme, hvor han er. Vi lavede markeringer til stadion, hvor folk valgte en sektor, en række, et sted. Alt dette med fire "klik". Dernæst skulle vi bestemme retningen til scenen. For at gøre dette viste vi en silhuet af, hvordan scenen groft skulle se ud fra et brugerdefineret perspektiv. Han kombinerede det, bankede og det var det - scenen satte sig. Vi forsøgte at forenkle denne proces så meget som muligt. Alligevel er 90 % af de seere, der ønskede at se showet, ikke de mennesker, der har erfaring med at kommunikere med augmented reality.

Dmitrij: Var der en separat ansøgning til dette projekt?

Andrew: Ja, en applikation til iOS og Android, som vi skubbede til butikken. Der var en separat kampagne for det. Det blev tidligere beskrevet i detaljer, hvordan man downloader og så videre.

Dmitrij: Du skal forstå, at der ikke er noget sted for en person at teste fysisk og lære at bruge sådan en applikation. Derfor blev opgaven med at "uddanne" publikum mere kompliceret.

Andrew: Ja Ja. Med UX fangede vi mange bump, fordi brugeren ønsker at få oplevelsen med tre klik: downloadet, installeret, lanceret - det virkede. Mange mennesker er for dovne til at følge komplekse tutorials, læse tutorials og så videre. Og vi forsøgte ikke at forklare alt for brugeren så meget som muligt i vejledningen: et vindue åbnes her, adgang til kameraet her, ellers virker det ikke, og så videre. Uanset hvor mange forklaringer du skriver, uanset hvor detaljeret du tygger, uanset hvilke gifs du indsætter, læser folk det ikke.

I Minsk indsamlede vi en stor pulje af feedback om denne del, og vi har allerede ændret meget for applikationen i Kazan. Vi lagde ikke kun de fonogrammer og de tidskoder ind, der svarer til en specifik episode af augmented reality, men vi tog alle fonogrammerne og tidskoderne i deres helhed. Så applikationen hørte, hvad der skete på tidspunktet for lanceringen, og - hvis en person loggede ind på det forkerte tidspunkt - gav den informationen: "Kammerat, jeg er ked af det, din AR-episode vil være om 15 minutter."

Lidt om arkitekturen og tilgangen til synkronisering

Tidskode (af lydversioner) — 16:37

Dmitrij: Besluttede du dig for at synkronisere med lyd?

Andrew: Ja, det skete ved et tilfælde. Vi undersøgte muligheder og stødte på en virksomhed Cifrasoft fra Izhevsk. De laver et ikke specielt sofistikeret, men jernbearbejdende SDK, som giver dig mulighed for at synkronisere lyden med timingen. Systemet var positioneret til at fungere med TV, når du kan vise noget i en applikation baseret på lyden af ​​en betinget reklame eller give en interaktiv oplevelse baseret på filmsporet.

Dmitrij: Men det er én ting - du sidder i din stue, og en anden ting - et stadion med tusindvis af mennesker. Hvordan gik det for dig med kvaliteten af ​​lydoptagelsen og den efterfølgende genkendelse?

Andrew: Der var en masse frygt og tvivl, men i de fleste tilfælde blev alt erkendt godt. De bygger signaturer på lydsporet med deres snedige algoritmer – resultatet vejer mindre end den originale lydfil. Når mikrofonen lytter til den omgivende lyd, forsøger den at finde disse funktioner og genkende sporet baseret på dem. Under gode forhold er synkroniseringsnøjagtigheden 0,1-0,2 sekunder. Dette var mere end nok. Under dårlige forhold var afvigelsen op til 0,5 sekunder.

Meget afhænger af enheden. Vi arbejdede med en stor flåde af enheder. Til iPhones er der kun 10 modeller. De fungerede fint med hensyn til kvalitet og andre funktioner. Men med androider er zoologisk have som min mor. Ikke alle steder viste det sig, at lydsynkroniseringen virkede. Der var tilfælde, hvor det var umuligt at høre forskellige spor på forskellige enheder på grund af nogle ejendommeligheder. Et eller andet sted forsvinder de lave frekvenser, et eller andet sted begynder de høje frekvenser at hvæse. Men hvis enheden havde en normalizer på mikrofonen, virkede synkroniseringen altid.

Dmitrij: Fortæl os venligst om arkitekturen - hvad blev brugt i projektet?

Andrew: Vi lavede applikationen i Unity - den enkleste mulighed i forhold til multi-platform og arbejde med grafik. Brugt AR Foundation. Vi sagde med det samme, at vi ikke ville komplicere systemet, så vi begrænsede os til en flåde af enheder, der understøtter ARKit og ARCore for at have tid til at teste alt. Vi lavede et plugin til DigitalSoft SDK, det er på vores GitHub. Vi lavede et indholdsstyringssystem, så scripts ville køre i henhold til tidslinjen.

Vi puslede lidt med partikelsystemet, fordi brugeren kan komme ind når som helst i en bestemt episode, og vi har brug for, at han kan se alt fra det øjeblik, han synkroniserede. Vi puslede med et system, der gør det muligt at afspille scenarier tydeligt i tide, så XNUMXD-oplevelsen kan rulles frem og tilbage, som i en film. Mens det fungerer ud af boksen med klassiske animationer, var vi nødt til at pille ved partikelsystemer. På et tidspunkt begynder de at spawne, og hvis du befinder dig et sted før spawn-punktet, er de endnu ikke født, selvom det ser ud til, at de burde være det. Men dette problem er faktisk ret nemt at løse.

For den mobile del er arkitekturen ret enkel. For tv-udsendelse er alt mere kompliceret. Vi havde hardwarebegrænsninger. Kunden satte en betingelse: "Her har vi sådan og sådan en hardwarepark, groft sagt, alt skal virke på den." Vi fokuserede straks på, at vi ville arbejde med relativt billige videooptagelseskort. Men budget betyder ikke, at de er dårlige.

Der var restriktioner på hardware, på videooptagelseskort og på arbejdsforhold – hvordan vi skulle modtage billedet. Capture cards - Blackmagic Design, fungerede i henhold til det interne nøgleskema - det er, når en videoramme kommer til dig fra kameraet. Kortet har sin egen behandlingschip, hvor der også er indsat en ramme, som skal lægges oven på den indkommende. Kortet blander dem sammen - vi rører ikke noget andet der og påvirker ikke rammen fra videokameraet. Hun spytter resultatet ud til kontrolrummet via videoudgangen. Dette er en god metode til at overlejre titler og andre lignende ting, men den er ikke særlig velegnet til mixed reality-effekter, fordi der er mange restriktioner på render-pipelinen.

Dmitrij: Med hensyn til real-time computing, objektbinding eller noget andet?

Andrew: Med hensyn til kvalitet og opnåelse af de ønskede effekter. For vi ved ikke, hvad vi lægger billedet oven på. Vi sender blot farve- og gennemsigtighedsoplysninger oven på den originale strøm. Nogle effekter såsom brydninger, korrekt gennemsigtighed og yderligere skygger kan ikke opnås med dette skema. For at gøre dette skal du gengive alt sammen. For eksempel er der ingen måde at skabe effekten af ​​luftforvrængning fra en brand eller varm asfalt. Det samme gælder overførsel af gennemsigtighedseffekten under hensyntagen til brydningsindekset. Vi lavede oprindeligt indhold baseret på disse begrænsninger og forsøgte at bruge passende effekter.

Se dette indlæg på Instagram

Afslutning af de XNUMX. europæiske lege i Minsk.

Et indlæg deles af Alena Lanskaya (@alyonalanskaya) den 30. juni 2019 kl. 3:19 PDT

Dmitrij: Havde du allerede dit eget indhold i det første projekt til European Games?

Andrew: Nej, hovedstadiet af indholdsudvikling blev udført af fyrene fra Sechenov.com. Deres grafikere tegnede grundindholdet med animationer og andet. Og vi integrerede alt i motoren, tilføjede yderligere effekter, tilpassede det, så alt fungerede korrekt.

Hvis vi taler om pipeline, så samlede vi alt på Unreal Engine 4 til tv-udsendelser. Tilfældigvis begyndte de netop i det øjeblik at booste deres værktøjer til mixed reality. Det viste sig, at alt ikke er så enkelt. Selv nu er alt værktøj råt, vi skulle afslutte meget i hånden. I Minsk arbejdede vi på en custom build af motoren, det vil sige, at vi omskrev nogle ting inde i motoren, så vi for eksempel kunne tegne skygger oven på rigtige objekter. Den version af motoren, der var aktuel på det tidspunkt, havde ikke funktioner, der gjorde det muligt at gøre dette ved hjælp af standardværktøjer. Af denne grund lavede vores fyre deres egen skræddersyede samling for at levere alt, hvad der var livsnødvendigt.

Andre nuancer og tilpasning til WorldSkills i Kazan

Tidskode (af lydversioner) — 31:37

Dmitrij: Men alt dette på ret kort tid?

Andrew: Tidsfristerne var stramme Kazan projekt, ifølge Minsk - normal. Omkring seks måneder til udvikling, men under hensyntagen til, at seks personer var involveret. Samtidig lavede vi mobildelen og udviklede værktøjer til tv-produktion. Der var ikke kun et billede output. For eksempel et sporingssystem med optik, til dette skulle man lave sine egne værktøjer.

Dmitrij: Var der nogen tilpasning fra et projekt til et andet? På halvanden måned var det nødvendigt at udnytte udviklingen og overføre projektet med nyt indhold til en ny side?

Andrew: Ja, det var i halvanden måned. Vi havde planlagt en to-ugers ferie for hele holdet efter Minsk-projektet. Men umiddelbart efter lukningen kommer fyrene fra Sechenov.com op og siger: "Nå, så lad os gøre Kazan." Vi nåede stadig at hvile lidt, men skiftede ret hurtigt til dette projekt. Vi har afsluttet noget teknisk arbejde. Det meste af tiden blev brugt på indhold, for for WorldSkills gjorde vi det helt, vi koordinerede det bare med produktionsteamet. Der var kun et manuskript fra deres side. Men det var nemmere – der var ikke behov for ekstra gentagelser. Når du selv laver indhold, ser du med det samme, hvordan det fungerer i motoren, og du kan hurtigt redigere og koordinere.


Med hensyn til den mobile del tog vi højde for alle de finesser, vi havde i Minsk. Vi lavede et nyt applikationsdesign, redesignede arkitekturen lidt, tilføjede tutorials, men forsøgte at gøre det så kort og tydeligt som muligt. Vi reducerede antallet af brugertrin fra at starte applikationen til at se indholdet. Halvanden måned var nok til at gennemføre et passende projekt. På halvanden uge nåede vi stedet. Det var lettere at arbejde der, fordi al kontrol over projektet var i hænderne på arrangørerne, og der var ingen grund til at koordinere med andre udvalg. Det var lettere og nemmere at arbejde i Kazan, og det var helt normalt, at der var mindre tid.

Dmitrij: Men besluttede du dig for at lade tilgangen til synkronisering være som den var, baseret på lyd?

Andrew: Ja, vi forlod det ved lyd. Det fungerede godt. Som de siger, hvis det virker, så rør det ikke. Vi tog simpelthen højde for nuancerne i kvaliteten af ​​lydsporet. Da de lavede introen, var der en træningsepisode, som folk kunne prøve, før showet startede. Det var overraskende, at når der i øjeblikket afspilles banen på stadion, er der stormende klapsalver, "live", giver systemet dig mulighed for at synkronisere godt med dette spor, men hvis optaget bifald i dette øjeblik blandes med banen, så sporet er ikke længere fanget. Sådanne nuancer blev taget i betragtning, og alt var synkroniseret ganske godt med hensyn til lyd.

PS I anden del af nummeret taler vi om videnskabelig datavisualisering, procesmodellering i andre projekter, spiludvikling og kandidatuddannelsen "Teknologi til udvikling af computerspil" Vi vil offentliggøre en fortsættelse i næste artikel. Du kan lytte og støtte os her:

PPS I mellemtiden, på den engelske version af Habr: et nærmere kig på ITMO University.

Kilde: www.habr.com

Tilføj en kommentar