Podcast “ITMO Research_”: kako pristupiti sinkronizaciji AR sadržaja sa showom na razini cijelog stadiona

Ovo je prvi dio transkripta teksta drugog intervjua za naš program (Podcasts Apple, Yandex.Music). Gost izdanja - Andrej Karsakov (kapc3d), dr. sc., viši znanstveni novak u Nacionalnom centru za kognitivna istraživanja, izvanredni profesor na Fakultetu za digitalne transformacije.

Od 2012. Andrey radi u istraživačkoj skupini Vizualizacija i računalna grafika. Angažirana na velikim primijenjenim projektima na državnoj i međunarodnoj razini. U ovom dijelu razgovora govorimo o njegovom iskustvu u AR podršci javnim događanjima.

Podcast “ITMO Research_”: kako pristupiti sinkronizaciji AR sadržaja sa showom na razini cijelog stadiona
Fotografija Ovo je inženjerski RAEng (Unsplash.com)

Kontekst i ciljevi projekta

Vremenski kod (od audio verzije) — 00:41

dmitrykabanov: Htio bih započeti s projektom Europskih igara. Višekomponentan je, u pripremi je sudjelovalo nekoliko timova, a pružanje proširene stvarnosti za višetisućnu publiku upravo tijekom događaja na stadionu prilično je ozbiljan zadatak. Što se tiče vašeg angažmana, je li prvo bio softver?

kapc3d: Da, odradili smo programski dio i pružili podršku tijekom emisije. Trebalo je sve pratiti, nadzirati i pokrenuti u realnom vremenu, te raditi s televizijskom grupom. Ako ovaj projekt promatramo u cjelini, onda možemo govoriti o ceremoniji otvaranja i zatvaranja europske igre u Minsku, kao i o svečanom otvaranju prvenstva WorldSkills u Kazanu. Bila je to ista shema rada, ali različiti događaji. Između njih je bio razmak od dva mjeseca. Projekt smo pripremili zajedno s dečkima iz tvrtke Sechenov.com.

Slučajno smo ih sreli na Festival znanosti, koji se održao u jesen 2018. godine. Naši magistranti predstavili su svoj studijski projekt na temu VR. Dečki su nam prišli i pitali što radimo u našem laboratoriju. Izgledalo je otprilike ovako:

— Radite s VR-om, ali možete li raditi s proširenom stvarnošću?

- Pa, na neki način, da.

- Postoji takav zadatak, s ovakvim uvodnim napomenama. Možete li to učiniti?

Malo su počešali repu, nema izgleda ništa nerealno:

- Pokušajmo prvo sve proučiti, pa onda pronaći rješenje.

Dmitrij: Daju li samo medijsku podršku?

Andrew: Oni čine punu hrpu. S aspekta upravljanja i organizacije, oni su u potpunosti uključeni u režiju, inscenaciju, izbor scenografije, logistiku i drugu tehničku podršku. No htjeli su napraviti nešto posebno za Europske igre. Ovi specijalni efekti, kao i mixed reality, već se dosta dugo rade za televiziju, ali nisu najbudžetniji u smislu tehničke izvedbe. Stoga su dečki tražili alternativne mogućnosti.

Dmitrij: Raspravljajmo o problemu detaljnije. Od čega se sastojao?

Andrew: Postoji događaj. Traje sat i pol. Moramo se pobrinuti da publika koja to gleda uživo i oni koji sjede na stadionu mogu vidjeti efekte proširene stvarnosti u potpunoj sinkronizaciji s emisijom uživo u smislu vremena i lokacije na mjestu.

Postojala su brojna tehnička ograničenja. Sinkronizaciju vremena putem interneta bilo je nemoguće napraviti jer se bojalo prevelikog opterećenja mreže uz pune tribine i mogućnost dolaska šefova država na događaj, što bi moglo zakrčiti mobilne mreže.

Andrej Karsakov, fotografija iz materijal sa Sveučilišta ITMO
Podcast “ITMO Research_”: kako pristupiti sinkronizaciji AR sadržaja sa showom na razini cijelog stadionaImali smo dvije ključne komponente ovog projekta - osobno iskustvo koje ljudi mogu steći putem mobilnih uređaja i ono što ulazi u televizijski prijenos i informativne zaslone na samom stadionu.

Ako iznenada osoba gleda epizode proširene stvarnosti putem mobilnog uređaja i u isto vrijeme dođe na ekran, trebala bi vidjeti istu sliku.

Trebala su nam dva praktički različita sustava kako bismo bili potpuno vremenski usklađeni. No posebnost ovakvih priredbi je što su to složeni događaji u koje je uključen veliki broj tehničkih službi i sve operacije se odvijaju prema vremenskim kodovima. Vremenski kod je određeni trenutak u vremenu u kojem nešto počinje: svjetlo, zvuk, odlazak ljudi, otvaranje latica pozornice i tako dalje. Morali smo se prilagoditi ovom sustavu kako bi sve krenulo u pravo vrijeme. Još jedna značajka bila je da su scene i epizode s proširenom stvarnošću bile povezane sa scenarijem.

Dmitrij: Ali jeste li odlučili napustiti korištenje vremenskih kodova zbog visokih rizika od više sile ili ste prvotno izračunali neke karakteristike snage i shvatili da će opterećenje cijelog sustava biti prilično veliko?

Andrew: Ako napravite uslugu sinkronizacije za takvu publiku, onda to nije jako teško. U svakom slučaju, zahtjevi neće propasti preko noći. Da, opterećenje je veliko, ali nije hitno. Pitanje je isplati li se trošiti resurse i vrijeme na to ako mreža iznenada nestane. Nismo bili sigurni da se to neće dogoditi. U konačnici je sve radilo, s prekidima zbog opterećenja, ali radilo je i sinkronizirali smo se prema vremenskom kodu po drugoj shemi. To je bio jedan od globalnih izazova.

Poteškoće implementacije s UX gledišta

Vremenski kod (od audio verzije) — 10:42

Andrew: Također smo morali uzeti u obzir da stadion nije klasična koncertna dvorana te sinkronizirati sustave u prostoru za mobilne uređaje. Tako sam prije nekog vremena postao viralan priča o proširenoj stvarnosti na koncertima Eminema, zatim je bio slučaj s Lobodom.

Fotografija Robert Ćao (Unsplash.com)
Podcast “ITMO Research_”: kako pristupiti sinkronizaciji AR sadržaja sa showom na razini cijelog stadionaAli ovo je uvijek doživljaj pred vama - cijela publika stoji ispred pozornice, sinkronizacija je vrlo jednostavna. U slučaju stadiona, morate razumjeti s koje ste strane kruga, relativnu poziciju, kako bi se stadion uklopio u prostor koji postoji u virtualnom okruženju. Bio je to kiseo izazov. Pokušavali su to riješiti na razne načine, a rezultat je bio slučaj blizak onome što je proveo Loboda, ali ne po svemu.

Prepuštamo korisniku da sam odluči gdje se nalazi. Napravili smo oznake za stadion, gdje su ljudi birali sektor, red, mjesto. Sve to u četiri “klika”. Zatim smo morali odrediti smjer do pozornice. Da bismo to učinili, pokazali smo siluetu kako bi scena otprilike trebala izgledati iz prilagođene perspektive. Iskombinirao je, tapkao i to je to - pozornica je sjela. Pokušali smo maksimalno pojednostaviti ovaj proces. Ipak, 90% gledatelja koji su htjeli pogledati emisiju nisu oni ljudi koji imaju iskustva u komunikaciji s proširenom stvarnošću.

Dmitrij: Je li postojala posebna prijava za ovaj projekt?

Andrew: Da, aplikacija za iOS i Android, koju smo gurnuli u trgovinu. Za to je bila posebna promotivna kampanja. Prethodno je detaljno opisano kako preuzeti i tako dalje.

Dmitrij: Morate shvatiti da nema mjesta gdje bi osoba fizički testirala i naučila koristiti takvu aplikaciju. Stoga se zadatak “odgoja” publike zakomplicirao.

Andrew: Da da. S UX-om smo naišli na mnoge nedostatke, jer korisnik želi dobiti iskustvo u tri klika: skinuo, instalirao, pokrenuo - uspjelo je. Mnogi su ljudi previše lijeni da prate složene upute, čitaju upute i tako dalje. I nismo pokušali sve objasniti korisniku što je više moguće u tutorialu: prozor će se otvoriti ovdje, pristup kameri ovdje, inače neće raditi, i tako dalje. Koliko god objašnjenja napisali, koliko god detaljno žvakali, kakve god gifove ubacili, ljudi to ne čitaju.

U Minsku smo prikupili velik broj povratnih informacija o ovom dijelu i već smo dosta toga promijenili za aplikaciju u Kazanu. Tu smo stavili ne samo one fonograme i one vremenske kodove koji odgovaraju određenoj epizodi proširene stvarnosti, već smo uzeli sve fonograme i vremenske kodove u cijelosti. Tako je aplikacija čula što se događa u trenutku pokretanja i - ako se osoba prijavila u krivom trenutku - dala je informaciju: "Druže, žao mi je, tvoja AR epizoda je za 15 minuta."

Malo o arhitekturi i pristupu sinkronizaciji

Vremenski kod (od audio verzije) — 16:37

Dmitrij: Jeste li se odlučili za sinkronizaciju zvukom?

Andrew: Da, dogodilo se slučajno. Tražili smo mogućnosti i naišli na tvrtku Cifrasoft iz Iževska. Oni čine ne osobito sofisticiran, ali praktičan SDK, koji vam omogućuje sinkronizaciju zvuka s vremenom. Sustav je pozicioniran za rad s TV-om, kada možete prikazati nešto u aplikaciji na temelju zvuka uvjetne reklame ili pružiti interaktivno iskustvo na temelju filma.

Dmitrij: Ali jedno je - sjediš u svojoj dnevnoj sobi, a drugo - stadion s tisućama ljudi. Kako vam je išlo s kvalitetom snimanja zvuka i njegovim naknadnim prepoznavanjem?

Andrew: Bilo je puno strahova i nedoumica, ali u većini slučajeva sve je dobro prepoznato. Svojim lukavim algoritmima grade potpise na audio zapisu - rezultat je teži od izvorne audio datoteke. Kada mikrofon sluša okolni zvuk, pokušava pronaći te značajke i na temelju njih prepoznati pjesmu. U dobrim uvjetima, točnost sinkronizacije je 0,1-0,2 sekunde. Ovo je bilo više nego dovoljno. U lošim uvjetima odstupanje je bilo do 0,5 sekundi.

Puno ovisi o uređaju. Radili smo s velikom flotom uređaja. Za iPhone postoji samo 10 modela. Dobro su radili u pogledu kvalitete i drugih značajki. Ali s androidima zoološki vrt je kao moja majka. Nije se svugdje pokazalo da sinkronizacija zvuka radi. Bilo je slučajeva kada je bilo nemoguće čuti različite pjesme na različitim uređajima zbog nekih osobitosti. Negdje niske frekvencije nestaju, negdje visoke frekvencije počinju hripati. Ali ako je uređaj imao normalizator na mikrofonu, sinkronizacija je uvijek radila.

Dmitrij: Recite nam nešto o arhitekturi – što je korišteno u projektu?

Andrew: Aplikaciju smo napravili u Unityju - najjednostavnija opcija u smislu multi-platforme i rada s grafikom. Rabljena AR zaklada. Odmah smo rekli da ne želimo komplicirati sustav, pa smo se ograničili na flotu uređaja koji podržavaju ARKit i ARCore kako bismo imali vremena sve testirati. Napravili smo dodatak za DigitalSoft SDK, to nalazi se na našem GitHubu. Napravili smo sustav za upravljanje sadržajem kako bi se skripte izvodile prema vremenskoj liniji.

Malo smo petljali sa sustavom čestica, jer korisnik može ući bilo kada u pojedinu epizodu, a treba nam da vidi sve od trenutka od kada se sinkronizirao. Petljali smo sa sustavom koji omogućuje jasno odigravanje scenarija u vremenu, tako da se XNUMXD iskustvo može pomicati naprijed-natrag, kao u filmu. Dok s klasičnim animacijama radi izvan okvira, morali smo petljati sa sustavima čestica. U jednom trenutku počinju se mrijestiti, a ako se nađete negdje prije mjesta mriještenja, još se nisu rodili, iako se čini da bi trebali biti. Ali ovaj je problem zapravo prilično lako riješiti.

Za mobilni dio, arhitektura je prilično jednostavna. Za televizijsko emitiranje sve je kompliciranije. Imali smo hardverska ograničenja. Kupac je postavio uvjet: "Ovdje imamo takav i takav hardverski park, grubo rečeno, sve treba raditi na njemu." Odmah smo se usredotočili na činjenicu da ćemo raditi s relativno jeftinim karticama za video snimanje. No proračun ne znači da su loši.

Postojala su ograničenja na hardveru, na karticama za video snimanje i na radnim uvjetima - kako trebamo primati sliku. Kartice za snimanje - Blackmagic Design, rade prema internoj shemi ključanja - to je kada video okvir dolazi do vas iz kamere. Kartica ima vlastiti čip za obradu, gdje je također umetnut okvir, koji se mora postaviti na vrh dolaznog. Kartica ih miješa - tamo ne diramo ništa drugo i ne utječemo na okvir s video kamere. Ona ispljune rezultat u kontrolnu sobu putem video izlaza. Ovo je dobra metoda za preklapanje naslova i drugih sličnih stvari, ali nije baš prikladna za efekte mješovite stvarnosti jer postoje mnoga ograničenja u cjevovodu renderiranja.

Dmitrij: U smislu računalstva u stvarnom vremenu, povezivanja objekata ili nečeg drugog?

Andrew: Što se tiče kvalitete i postizanja željenih učinaka. Jer ne znamo na što stavljamo sliku. Jednostavno šaljemo informacije o boji i prozirnosti povrh izvornog toka. Neki efekti poput loma, ispravne prozirnosti i dodatnih sjena ne mogu se postići ovom shemom. Da biste to učinili, morate renderirati sve zajedno. Na primjer, ne postoji način da se stvori učinak iskrivljenja zraka od vatre ili vrućeg asfalta. Isto vrijedi i za prijenos efekta prozirnosti uzimajući u obzir indeks loma. U početku smo izradili sadržaj na temelju tih ograničenja i pokušali koristiti odgovarajuće efekte.

Pogledajte ovaj post na Instagramu

Zatvaranje II. Europskih igara u Minsku.

Post koji dijeli Alena Lanskaja (@alyonalanskaya) 30. lipnja 2019. u 3:19 PDT

Dmitrij: Jeste li već u prvom projektu za Europske igre imali svoj sadržaj?

Andrew: Ne, glavnu fazu razvoja sadržaja odradili su dečki iz Sechenov.com. Njihovi grafičari nacrtali su osnovni sadržaj s animacijama i drugim stvarima. I sve smo integrirali u motor, dodali dodatne efekte, prilagodili da sve radi kako treba.

Ako govorimo o cjevovodu, onda smo za televizijsko emitiranje sve montirali na Unreal Engine 4. Igrom slučaja, upravo su u tom trenutku počeli pojačavati svoje alate za mješovitu stvarnost. Pokazalo se da sve nije tako jednostavno. Čak i sada su svi alati sirovi, morali smo puno toga dorađivati ​​ručno. U Minsku smo radili na custom buildu motora, odnosno prepisali smo neke stvari unutar motora kako bismo, primjerice, mogli crtati sjene na stvarnim objektima. Verzija motora koja je bila aktualna u to vrijeme nije imala značajke koje bi omogućile da se to učini pomoću standardnih alata. Iz tog su razloga naši momci sami izradili sklop po narudžbi kako bi osigurali sve što je životno potrebno.

Ostale nijanse i prilagodba na WorldSkills u Kazanu

Vremenski kod (od audio verzije) — 31:37

Dmitrij: Ali sve to u relativno kratkom roku?

Andrew: Rokovi su bili tijesni Projekt Kazan, prema Minsku - normalno. Oko šest mjeseci za razvoj, ali uzimajući u obzir činjenicu da je bilo uključeno šest ljudi. Paralelno smo radili mobilni dio i razvijali alate za televizijsku produkciju. Nije postojao samo izlaz slike. Na primjer, sustav praćenja s optikom, za to ste morali izraditi vlastite alate.

Dmitrij: Je li bilo prilagodbi s jednog projekta na drugi? U mjesec i pol je bilo potrebno iskoristiti razvoj događaja i projekt s novim sadržajem prebaciti na novu stranicu?

Andrew: Da, bilo je to mjesec i pol. Planirali smo dvotjedni odmor za cijeli tim nakon projekta Minsk. Ali odmah nakon zatvaranja dolaze momci sa Sechenov.com i kažu: "Pa, idemo onda raditi Kazan." Još smo se uspjeli malo odmoriti, ali smo se vrlo brzo prebacili na ovaj projekt. Završili smo neke tehničke radove. Najviše vremena je potrošeno na sadržaj, jer za WorldSkills smo to radili u cijelosti, samo smo to uskladili s produkcijskim timom. S njihove strane postojao je samo scenarij. Ali bilo je lakše - nije bilo potrebe za dodatnim ponavljanjima. Kada sami kreirate sadržaj, odmah vidite kako radi u motoru, a možete ga brzo uređivati ​​i koordinirati.


Što se tiče mobilnog dijela, uzeli smo u obzir sve suptilnosti koje smo imali u Minsku. Napravili smo novi dizajn aplikacije, malo redizajnirali arhitekturu, dodali tutorijale, ali smo se trudili da bude što kraći i pregledniji. Smanjili smo broj korisničkih koraka od pokretanja aplikacije do pregledavanja sadržaja. Mjesec i pol dana bilo je dovoljno da se završi adekvatan projekt. Za tjedan i pol došli smo do mjesta. Tamo je bilo lakše raditi jer je sva kontrola nad projektom bila u rukama organizatora, nije bilo potrebe za koordinacijom s drugim povjerenstvima. U Kazanu je bilo jednostavnije i lakše raditi i sasvim normalno da je bilo manje vremena.

Dmitrij: Ali jeste li odlučili ostaviti pristup sinkronizaciji kakav je bio, temeljen na zvuku?

Andrew: Da, napustili smo zvukom. Dobro je funkcioniralo. Kako kažu, ako radi, ne diraj ga. Jednostavno smo uzeli u obzir nijanse kvalitete audiozapisa. Kad su napravili uvod, bila je epizoda treninga koju su ljudi mogli isprobati prije početka emisije. Bilo je iznenađujuće da kada se u trenutku reprodukcije pjesme na stadionu čuje buran pljesak, "uživo", sustav vam omogućuje dobru sinkronizaciju s ovom pjesmom, ali ako se u ovom trenutku snimljeni pljesak miješa sa pjesmom, tada staza više nije uhvaćena. Vodilo se računa o takvim nijansama i sve je zvučno dosta dobro sinkronizirano.

PS U drugom dijelu broja govorimo o znanstvenoj vizualizaciji podataka, modeliranju procesa u drugim projektima, razvoju igrica i magistarskom programu "Tehnologija razvoja računalnih igara" Nastavak ćemo objaviti u sljedećem članku. Ovdje nas možete poslušati i podržati:

PPS U međuvremenu, na engleskoj verziji Habra: bliži pogled na Sveučilište ITMO.

Izvor: www.habr.com

Dodajte komentar