ITMO Research_ podcast: ako pristupovať k synchronizácii obsahu AR so show na celom štadióne

Toto je prvá časť textového prepisu druhého rozhovoru pre náš program (Podcasty spoločnosti Apple, Yandex.Music). Vydanie hosťa - Andrej Karsakov (kapc3d), Ph.D., vedúci vedecký pracovník Národného centra pre kognitívny výskum, docent na Fakulte digitálnych transformácií.

Od roku 2012 pracuje Andrey vo výskumnej skupine Vizualizácia a počítačová grafika. Angažuje sa vo veľkých aplikovaných projektoch na štátnej a medzinárodnej úrovni. V tejto časti rozhovoru hovoríme o jeho skúsenostiach s podporou AR pre verejné podujatia.

ITMO Research_ podcast: ako pristupovať k synchronizácii obsahu AR so show na celom štadióne
fotografie Toto je inžinierska RAEng (Unsplash.com)

Kontext a ciele projektu

Časový kód (podľa audio verzie) — 00:41

dmitrykabanov: Chcel by som začať s projektom Európskych hier. Je viaczložkový, na príprave sa podieľalo viacero tímov a zabezpečiť rozšírenú realitu pre tisícové publikum priamo počas akcie na štadióne je pomerne vážna úloha. Čo sa týka vášho zapojenia, bol na prvom mieste softvér?

kapc3d: Áno, urobili sme programovú časť a poskytli podporu počas predstavenia. Všetko bolo potrebné sledovať, sledovať a spúšťať v reálnom čase a tiež spolupracovať s televíznou skupinou. Ak vezmeme do úvahy tento projekt ako celok, potom môžeme hovoriť o otváracom a záverečnom ceremoniáli Európske hry v Minsku, ako aj o slávnostnom otvorení šampionátu WorldSkills v Kazani. Bola to rovnaká pracovná schéma, ale iné udalosti. Bol medzi nimi dvojmesačný rozdiel. Projekt sme pripravovali spolu s chalanmi z firmy Sechenov.com.

Stretli sme sa s nimi náhodou Science Fest, ktorá sa konala na jeseň 2018. Naši študenti magisterského štúdia predviedli svoj projekt kurzu na tému VR. Chlapci za nami prišli a pýtali sa, čo robíme v našom laboratóriu. Vyzeralo to asi takto:

— Pracujete s VR, ale viete pracovať s rozšírenou realitou?

- No, asi áno.

- Existuje taká úloha, s takýmito úvodnými poznámkami. Môžeš to urobiť?

Trochu si poškriabali repku, zdá sa, že nie je nič nereálne:

- Skúsme si najskôr všetko naštudovať a potom nájsť riešenie.

Dmitrij: Poskytujú len mediálnu podporu?

andrew: Vyrábajú plný zásobník. Z hľadiska manažmentu a organizácie sa kompletne podieľajú na réžii, inscenácii, výbere kulís, logistike a inom technickom zabezpečení. Pre Európske hry však chceli urobiť niečo špeciálne. Tieto špeciálne efekty sa podobne ako zmiešaná realita vyrábajú pre televíziu už pomerne dlho, no z hľadiska technického prevedenia nie sú práve najšetrnejšie. Chlapci preto hľadali alternatívne možnosti.

Dmitrij: Poďme diskutovať o probléme podrobnejšie. Z čoho pozostával?

andrew: Je tu udalosť. Trvá to hodinu a pol. Musíme zabezpečiť, aby diváci, ktorí to sledujú naživo, a tí, ktorí sedia na štadióne, videli efekty rozšírenej reality v plnej synchronizácii so živou šou, pokiaľ ide o čas a umiestnenie na stránke.

Bolo tam množstvo technických obmedzení. Časovú synchronizáciu cez internet nebolo možné urobiť, pretože panovali obavy z nadmerného zaťaženia siete s plnými tribúnami a vyhliadky na účasť hláv štátov, čo by mohlo rušiť mobilné siete.

Andrey Karsakov, fotografia z materiál z univerzity ITMO
ITMO Research_ podcast: ako pristupovať k synchronizácii obsahu AR so show na celom štadióneV tomto projekte sme mali dve kľúčové zložky – osobnú skúsenosť, ktorú môžu ľudia získať prostredníctvom mobilných zariadení, a to, čo sa dostane do televízneho vysielania a informačných obrazoviek na samotnom štadióne.

Ak zrazu človek sleduje epizódy rozšírenej reality cez mobilné zariadenie a zároveň sa dostane na obrazovku, mal by vidieť rovnaký obraz.

Potrebovali sme dva prakticky odlišné systémy, aby boli úplne synchronizované v čase. Zvláštnosťou takýchto prehliadok je však to, že ide o komplexné podujatia, na ktorých sa podieľa veľké množstvo technických služieb a všetky operácie sa vykonávajú podľa časových kódov. Časový kód je špecifický okamih v čase, v ktorom sa niečo začína: svetlo, zvuk, ľudia odchádzajú, otváranie okvetných lístkov na javisku atď. Tomuto systému sme sa museli prispôsobiť, aby všetko začalo v správnom čase. Ďalšou vlastnosťou bolo, že scény a epizódy s rozšírenou realitou súviseli so scenárom.

Dmitrij: Rozhodli ste sa však upustiť od používania časových kódov kvôli vysokým rizikám vyššej moci, alebo ste na začiatku vypočítali nejaké výkonové charakteristiky a uvedomili ste si, že zaťaženie celého systému bude dosť vysoké?

andrew: Ak vytvoríte synchronizačnú službu pre takéto publikum, nie je to veľmi ťažké. V každom prípade žiadosti nezlyhajú zo dňa na deň. Áno, zaťaženie je vysoké, ale nie je to núdzové. Otázkou je, či sa oplatí míňať prostriedky a čas na to, ak sieť náhle vypadne. Neboli sme si istí, že sa to nestane. Nakoniec všetko fungovalo, s prerušeniami kvôli záťaži, ale fungovalo to a synchronizovali sme sa podľa časového kódu podľa inej schémy. Toto bola jedna z globálnych výziev.

Ťažkosti s implementáciou z pohľadu UX

Časový kód (podľa audio verzie) — 10:42

andrew: Museli sme počítať aj s tým, že štadión nie je klasickým koncertným miestom, a zosynchronizovať systémy naprieč priestorom pre mobilné zariadenia. Takže pred časom som sa stal virálnym príbeh rozšírenej reality na koncertoch Eminema, potom bola kauza s Lobodom.

fotografie Robert Ahoj (Unsplash.com)
ITMO Research_ podcast: ako pristupovať k synchronizácii obsahu AR so show na celom štadióneTo je ale vždy zážitok pred vami – pred pódiom stojí celý dav, synchronizácia je úplne jednoduchá. V prípade štadióna musíte pochopiť, na ktorej strane kruhu sa nachádzate, relatívnu polohu, aby štadión zapadol do priestoru, ktorý existuje vo virtuálnom prostredí. Bola to náročná výzva. Snažili sa to riešiť rôznymi spôsobmi a výsledkom bol prípad blízky tomu, čo realizoval Loboda, no nie vo všetkých ohľadoch.

Necháme používateľa rozhodnúť, kde sa nachádza. Urobili sme označenie štadióna, kde si ľudia vybrali sektor, rad, miesto. To všetko na štyri „kliknutia“. Ďalej sme museli určiť smer na javisko. Aby sme to urobili, ukázali sme siluetu toho, ako by mala scéna približne vyzerať z vlastnej perspektívy. Skombinoval to, poklepal a hotovo – pódium sa posadilo. Snažili sme sa tento proces čo najviac zjednodušiť. Napriek tomu 90 % divákov, ktorí si reláciu chceli pozrieť, nie sú ľudia, ktorí majú skúsenosti s komunikáciou s rozšírenou realitou.

Dmitrij: Existovala samostatná žiadosť pre tento projekt?

andrew: Áno, aplikácia pre iOS a Android, ktorú sme dotlačili do obchodu. Bola na to samostatná propagačná kampaň. Predtým bolo podrobne popísané, ako sťahovať a tak ďalej.

Dmitrij: Musíte pochopiť, že neexistuje miesto, kde by sa človek mohol fyzicky otestovať a naučiť sa používať takúto aplikáciu. Preto sa úloha „vzdelávania“ publika skomplikovala.

andrew: Áno áno. S UX sme zachytili veľa nárazov, pretože používateľ chce získať zážitok na tri kliknutia: stiahnuť, nainštalovať, spustiť - fungovalo to. Mnoho ľudí je príliš lenivých sledovať zložité návody, čítať návody a podobne. A nesnažili sme sa v návode čo najviac vysvetliť používateľovi: otvorí sa tu okno, tu prístup k fotoaparátu, inak to nebude fungovať atď. Bez ohľadu na to, koľko vysvetlení napíšete, bez ohľadu na to, ako podrobne žujete, bez ohľadu na to, aké gify vložíte, ľudia to nečítajú.

V Minsku sme na túto časť zhromaždili veľké množstvo spätnej väzby a veľa sme už zmenili pre aplikáciu v Kazani. Vložili sme tam nielen tie zvukové záznamy a časové kódy, ktoré zodpovedajú konkrétnej epizóde rozšírenej reality, ale zobrali sme všetky zvukové záznamy a časové kódy v ich celistvosti. Aplikácia teda počula, čo sa dialo v čase spustenia, a – ak sa človek prihlásil v nesprávny moment – ​​vydala informáciu: „Súdruh, prepáčte, vaša epizóda AR bude o 15 minút.“

Trochu o architektúre a prístupe k synchronizácii

Časový kód (podľa audio verzie) — 16:37

Dmitrij: Rozhodli ste sa pre synchronizáciu podľa zvuku?

andrew: Áno, stalo sa to náhodou. Hľadali sme možnosti a narazili sme na spoločnosť Cifrasoft z Iževska. Vyrábajú síce nie zvlášť sofistikované, ale železo pracujúce SDK, ktoré umožňuje synchronizovať zvuk s časovaním. Systém bol umiestnený na prácu s TV, kedy môžete zobraziť niečo v aplikácii na základe zvuku podmienenej reklamy alebo poskytnúť interaktívny zážitok na základe filmovej stopy.

Dmitrij: Ale jedna vec je - sedíte vo svojej obývačke a druhá vec - štadión s tisíckami ľudí. Ako ti to dopadlo s kvalitou záznamu zvuku a jeho následným rozpoznaním?

andrew: Bolo veľa obáv a pochybností, ale vo väčšine prípadov bolo všetko dobre rozpoznané. Vytvárajú podpisy na zvukovej stope pomocou svojich prefíkaných algoritmov - výsledok váži menej ako pôvodný zvukový súbor. Keď mikrofón počúva okolitý zvuk, snaží sa tieto funkcie nájsť a na základe nich rozpoznať stopu. Za dobrých podmienok je presnosť synchronizácie 0,1-0,2 sekundy. Toto bolo viac než dosť. V zlých podmienkach bol rozdiel až 0,5 sekundy.

Veľa závisí od zariadenia. Pracovali sme s veľkou flotilou zariadení. Pre iPhony je k dispozícii iba 10 modelov. Z hľadiska kvality a ďalších funkcií fungovali dobre. Ale s androidmi je zoologická záhrada ako moja matka. Nie všade sa ukázalo, že synchronizácia zvuku fungovala. Boli prípady, keď nebolo možné počuť rôzne skladby na rôznych zariadeniach kvôli niektorým zvláštnostiam. Niekde nízke frekvencie zmiznú, niekde vysoké frekvencie začnú pískať. Ak ale malo zariadenie normalizátor na mikrofóne, synchronizácia vždy fungovala.

Dmitrij: Povedzte nám o architektúre - čo bolo použité v projekte?

andrew: Aplikáciu sme urobili v Unity - najjednoduchšia možnosť z hľadiska multiplatformnosti a práce s grafikou. Použité AR Foundation. Hneď sme si povedali, že nechceme systém komplikovať, a tak sme sa obmedzili na flotilu zariadení, ktoré podporujú ARKit a ARCore, aby sme mali čas všetko otestovať. Vytvorili sme plugin pre DigitalSoft SDK je na našom GitHub. Vytvorili sme redakčný systém, aby skripty bežali podľa časovej osi.

Trochu sme sa pohrali s časticovým systémom, pretože používateľ môže vstúpiť kedykoľvek do konkrétnej epizódy a potrebujeme, aby videl všetko od momentu, od ktorého sa synchronizoval. Pohrali sme so systémom, ktorý umožňuje prehrávať scenáre jasne v čase, takže XNUMXD zážitok je možné posúvať tam a späť, ako vo filme. Zatiaľ čo s klasickými animáciami to funguje po vybalení, museli sme sa pohrať s časticovými systémami. V určitom bode sa začnú spawnovať a ak sa ocitnete niekde pred spawn pointom, ešte sa nenarodili, hoci sa zdá, že by mali byť. Ale tento problém je v skutočnosti celkom ľahko vyriešiť.

Pre mobilnú časť je architektúra celkom jednoduchá. Pre televízne vysielanie je všetko komplikovanejšie. Mali sme hardvérové ​​obmedzenia. Zákazník si stanovil podmienku: „Máme tu taký a taký hardvérový park, zhruba povedané, všetko na ňom musí fungovať.“ Okamžite sme sa zamerali na to, že budeme pracovať s relatívne rozpočtovými kartami na zachytávanie videa. Rozpočet však neznamená, že sú zlé.

Platili obmedzenia týkajúce sa hardvéru, kariet na snímanie videa a pracovných podmienok – ako by sme mali prijímať obraz. Zachytávacie karty - Blackmagic Design, fungujú podľa schémy interného kľúčovania - vtedy k vám prichádza snímka videa z kamery. Karta má vlastný procesorový čip, kde je vložený aj rámik, ktorý je potrebné prekryť na ten prichádzajúci. Karta ich zamieňa – ničoho iného sa tam nedotýkame a neovplyvňujeme záber z videokamery. Cez video výstup vypľuje výsledok do riadiacej miestnosti. Je to dobrá metóda na prekrývanie titulov a iné podobné veci, ale nie je veľmi vhodná pre efekty zmiešanej reality, pretože existuje veľa obmedzení v procese vykresľovania.

Dmitrij: Z hľadiska výpočtov v reálnom čase, viazania objektov alebo niečoho iného?

andrew: Z hľadiska kvality a dosiahnutia želaných efektov. Pretože nevieme, na čo dávame obrázok. Jednoducho pošleme informácie o farbe a priehľadnosti nad pôvodný stream. Pomocou tejto schémy nie je možné dosiahnuť niektoré efekty, ako sú lomy, správna priehľadnosť a ďalšie tiene. Aby ste to dosiahli, musíte urobiť všetko spolu. Napríklad neexistuje spôsob, ako vytvoriť efekt skreslenia vzduchu z ohňa alebo horúceho asfaltu. To isté platí pre prenos efektu transparentnosti pri zohľadnení indexu lomu. Pôvodne sme vytvorili obsah založený na týchto obmedzeniach a snažili sme sa použiť vhodné efekty.

Zobraziť tento príspevok na Instagram

Ukončenie II. európskych hier v Minsku.

Príspevok zdieľaný používateľom Alena Lanská (@alyonalanskaya) 30. júna 2019 o 3:19 PDT

Dmitrij: Mali ste už v prvom projekte pre Európske hry vlastný obsah?

andrew: Nie, hlavnú fázu vývoja obsahu spravili chalani zo Sechenov.com. Ich grafici nakreslili základný obsah animáciami a inými vecami. A všetko sme integrovali do enginu, pridali ďalšie efekty, prispôsobili tak, aby všetko fungovalo správne.

Ak hovoríme o potrubí, tak pre televízne vysielanie sme všetko zhromaždili na Unreal Engine 4. Zhodou okolností práve v tom momente začali posilňovať svoje nástroje pre zmiešanú realitu. Ukázalo sa, že všetko nie je také jednoduché. Aj teraz sú všetky nástroje surové, veľa sme museli dokončovať ručne. V Minsku sme pracovali na zákazkovej zostave enginu, to znamená, že sme prepísali niektoré veci vo vnútri enginu, aby sme napríklad mohli kresliť tiene na skutočné objekty. Verzia motora, ktorá bola v tom čase aktuálna, nemala funkcie, ktoré by to umožňovali pomocou štandardných nástrojov. Z tohto dôvodu si naši chlapci vyrobili vlastnú montáž na mieru, aby zabezpečili všetko, čo bolo životne potrebné.

Ďalšie nuansy a prispôsobenie WorldSkills v Kazani

Časový kód (podľa audio verzie) — 31:37

Dmitrij: Ale to všetko v pomerne krátkom čase?

andrew: Termíny boli tesné Kazaňský projekt, podľa Minska - normálne. Približne šesť mesiacov na vývoj, ale s prihliadnutím na skutočnosť, že sa zapojilo šesť ľudí. Zároveň sme vyrábali mobilnú časť a vyvíjali nástroje pre televíznu produkciu. Nechýbal len obrazový výstup. Napríklad sledovací systém s optikou, na ktorý ste si museli vytvoriť vlastné nástroje.

Dmitrij: Došlo k nejakej adaptácii z jedného projektu na druhý? Za mesiac a pol bolo potrebné využiť vývoj a preniesť projekt s novým obsahom na novú stránku?

andrew: Áno, trvalo to mesiac a pol. Po projekte v Minsku sme mali naplánovanú dvojtýždňovú dovolenku pre celý tím. Ale hneď po zatvorení prídu chalani zo Sechenov.com a povedia: "Tak teda spravme Kazaň." Stihli sme si ešte trochu oddýchnuť, ale na tento projekt sme prešli pomerne rýchlo. Dokončili sme nejaké technické práce. Väčšinu času sme venovali obsahu, pretože pre WorldSkills sme to urobili úplne my, len sme to koordinovali s produkčným tímom. Z ich strany bol len scenár. Ale bolo to jednoduchšie – nebolo treba ďalšie iterácie. Keď vytvoríte obsah sami, okamžite vidíte, ako to v engine funguje, a môžete ho rýchlo upravovať a koordinovať.


Čo sa týka mobilnej časti, brali sme do úvahy všetky jemnosti, ktoré sme v Minsku mali. Urobili sme nový dizajn aplikácie, trochu prerobili architektúru, pridali návody, no snažili sme sa to urobiť čo najkratšie a najprehľadnejšie. Znížili sme počet používateľských krokov od spustenia aplikácie až po prezeranie obsahu. Na dokončenie adekvátneho projektu stačil mesiac a pol. Za týždeň a pol sme dorazili na miesto. Pracovalo sa tam jednoduchšie, pretože všetku kontrolu nad projektom mali v rukách organizátori, nebolo potrebné koordinovať sa s inými komisiami. V Kazani sa pracovalo jednoduchšie a ľahšie a bolo celkom normálne, že bolo menej času.

Dmitrij: Rozhodli ste sa však nechať prístup k synchronizácii tak, ako bol, založený na zvuku?

andrew: Áno, nechali sme to zvukom. Fungovalo to dobre. Ako sa hovorí, ak to funguje, nedotýkajte sa toho. Jednoducho sme brali do úvahy nuansy kvality zvukovej stopy. Keď urobili úvod, ľudia si pred začiatkom šou mali vyskúšať tréningovú epizódu. Bolo prekvapujúce, že keď sa v momente hrania skladby na štadióne ozve búrlivý potlesk, „naživo“, systém vám umožňuje dobre sa synchronizovať s touto skladbou, ale ak sa v tomto momente nahraný potlesk zmieša s skladbou, potom trať už nie je zachytená. Takéto nuansy sa brali do úvahy a všetko bolo po zvukovej stránke celkom dobre synchronizované.

PS V druhej časti čísla hovoríme o vizualizácii vedeckých dát, modelovaní procesov v iných projektoch, vývoji hier a magisterskom programe "Technológia vývoja počítačových hier" Pokračovanie zverejníme v ďalšom článku. Tu nás môžete počúvať a podporiť:

PPS Medzitým na anglickej verzii Habr: bližší pohľad na univerzitu ITMO.

Zdroj: hab.com

Pridať komentár