Podcast „ITMO Research_“: jak přistupovat k synchronizaci obsahu AR se show v měřítku celého stadionu

Toto je první část textového přepisu druhého rozhovoru pro náš pořad (Apple podcasty, Yandex.Music). Vydat host - Andrej Karsakov (kapc3d), Ph.D., vedoucí vědecký pracovník Národního centra pro kognitivní výzkum, docent na Fakultě digitálních transformací.

Od roku 2012 pracuje Andrey ve výzkumné skupině Vizualizace a počítačová grafika. Podílí se na velkých aplikovaných projektech na státní i mezinárodní úrovni. V této části rozhovoru mluvíme o jeho zkušenostech s podporou AR pro veřejné akce.

Podcast „ITMO Research_“: jak přistupovat k synchronizaci obsahu AR se show v měřítku celého stadionu
Fotografie Toto je inženýrská RAEng (Unsplash.com)

Kontext a cíle projektu

Časový kód (podle audio verze) – 00:41

dmitrykabanov: Rád bych začal s projektem Evropských her. Je vícesložkový, na přípravě se podílelo několik týmů a poskytnout rozšířenou realitu pro tisícové publikum přímo během akce na stadionu je docela vážný úkol. Pokud jde o vaši angažovanost, byl na prvním místě software?

kapc3d: Ano, udělali jsme část programování a poskytli podporu během show. Vše bylo nutné sledovat, sledovat a spouštět v reálném čase a také spolupracovat s televizní skupinou. Pokud vezmeme v úvahu tento projekt jako celek, pak můžeme mluvit o zahajovacím a závěrečném ceremoniálu Evropské hry v Minsku, stejně jako o slavnostním zahájení šampionátu WorldSkills v Kazani. Bylo to stejné pracovní schéma, ale různé události. Byl mezi nimi dvouměsíční odstup. Projekt jsme připravovali společně s kluky z firmy Sechenov.com.

Potkali jsme je náhodou Science Fest, který se konal na podzim roku 2018. Naši studenti magisterského studia předvedli svůj projekt kurzu na téma VR. Kluci za námi přišli a zeptali se, co děláme v naší laboratoři. Vypadalo to nějak takto:

— Pracujete s VR, ale umíte pracovat s rozšířenou realitou?

- No, tak nějak ano.

- Existuje takový úkol, s takovými úvodními poznámkami. Můžete to udělat?

Trochu si poškrábali vodnice, nezdá se, že by bylo něco nereálného:

- Zkusme si nejdříve vše prostudovat a pak najít řešení.

Dmitriy: Poskytují pouze mediální podporu?

Andrey: Dělají plný zásobník. Z hlediska managementu a organizace se kompletně podílejí na režii, inscenaci, výběru kulis, logistice a další technické podpoře. Pro Evropské hry ale chtěli udělat něco speciálního. Tyto speciální efekty, stejně jako smíšená realita, se pro televizi dělají poměrně dlouho, ale z hlediska technického provedení nejsou zrovna nejšetrnější. Kluci proto hledali alternativní možnosti.

Dmitriy: Pojďme si problém probrat podrobněji. Z čeho se skládal?

Andrey: Probíhá událost. Trvá to hodinu a půl. Musíme zajistit, aby diváci, kteří to sledují živě, a ti, kteří sedí na stadionu, viděli efekty rozšířené reality v plné synchronizaci s živou show, pokud jde o čas a umístění na webu.

Byla zde řada technických omezení. Přes internet nebylo možné synchronizovat čas, protože panovaly obavy z nadměrného zatížení sítě s plnými tribunami az vyhlídky na účast hlav států, která by mohla rušit mobilní sítě.

Andrey Karsakov, foto z materiál z univerzity ITMO
Podcast „ITMO Research_“: jak přistupovat k synchronizaci obsahu AR se show v měřítku celého stadionuTento projekt měl dvě klíčové složky – osobní zkušenost, kterou mohou lidé získat prostřednictvím mobilních zařízení, a to, co jde do televizního vysílání a informačních obrazovek na samotném stadionu.

Pokud najednou člověk sleduje epizody rozšířené reality přes mobilní zařízení a zároveň se dostane na obrazovku, měl by vidět stejný obrázek.

Potřebovali jsme dva prakticky odlišné systémy, aby byly zcela synchronizovány v čase. Zvláštností takových pořadů je ale to, že se jedná o složité akce, na kterých se podílí velké množství technických služeb a všechny operace se provádějí podle časových kódů. Časový kód je specifický okamžik v čase, ve kterém něco začíná: světlo, zvuk, lidé odcházející, otevírající se okvětní lístky na jevišti a tak dále. Tomuto systému jsme se museli přizpůsobit, aby vše začalo ve správný čas. Dalším rysem bylo, že scény a epizody s rozšířenou realitou souvisely se scénářem.

Dmitriy: Rozhodli jste se ale od používání časových kódů upustit kvůli vysokým rizikům vyšší moci, nebo jste zpočátku počítali s nějakou výkonovou charakteristikou a uvědomili jste si, že zatížení celého systému bude dost vysoké?

Andrey: Pokud uděláte synchronizační službu pro takové publikum, pak to není příliš obtížné. Žádosti každopádně přes noc nezklamou. Ano, zátěž je vysoká, ale není to nouze. Otázkou je, zda má cenu na to vynakládat prostředky a čas, když síť náhle vypadne. Nebyli jsme si jisti, že se to nestane. Nakonec vše fungovalo, s přerušeními kvůli zátěži, ale šlo to a synchronizovali jsme se podle časového kódu podle jiného schématu. To byla jedna z globálních výzev.

Obtíže implementace z pohledu UX

Časový kód (podle audio verze) – 10:42

Andrey: Museli jsme také počítat s tím, že stadion není klasickým koncertním místem, a synchronizovat systémy napříč prostorem pro mobilní zařízení. Tak jsem se před časem stal virálním příběh rozšířené reality na koncertech Eminema, pak tam byla kauza s Lobodou.

Fotografie Robert Sbohem (Unsplash.com)
Podcast „ITMO Research_“: jak přistupovat k synchronizaci obsahu AR se show v měřítku celého stadionuTo je ale vždy zážitek před vámi – před pódiem stojí celý dav, synchronizace je vcelku jednoduchá. V případě stadionu musíte pochopit, na které straně kruhu jste, relativní pozici, aby stadion zapadl do prostoru, který existuje ve virtuálním prostředí. Byla to kyselá výzva. Snažili se to řešit různými způsoby a výsledkem byl případ blízký tomu, co realizoval Loboda, ale ne ve všech ohledech.

Necháme uživatele rozhodnout, kde se nachází. Udělali jsme značení stadionu, kde si lidé vybrali sektor, řadu, místo. To vše na čtyři „kliknutí“. Dále jsme museli určit směr na jeviště. Abychom to udělali, ukázali jsme siluetu toho, jak by scéna měla zhruba vypadat z vlastní perspektivy. Zkombinoval to, zaťukal a bylo to – pódium se posadilo. Snažili jsme se tento proces co nejvíce zjednodušit. Přesto 90 % diváků, kteří chtěli pořad sledovat, nejsou lidé, kteří mají zkušenosti s komunikací s rozšířenou realitou.

Dmitriy: Existovala pro tento projekt samostatná žádost?

Andrey: Ano, aplikace pro iOS a Android, kterou jsme natlačili do obchodu. Byla na to samostatná propagační kampaň. Dříve bylo podrobně popsáno, jak stahovat a tak dále.

Dmitriy: Musíte pochopit, že neexistuje místo, kde by člověk fyzicky testoval a naučil se takovou aplikaci používat. Proto se úkol „vzdělávat“ publikum stal komplikovanějším.

Andrey: Ano ano. S UX jsme zachytili spoustu nárazů, protože uživatel chce získat zážitek na tři kliknutí: staženo, nainstalováno, spuštěno – fungovalo to. Mnoho lidí je příliš líných sledovat složité návody, číst návody a tak dále. A nesnažili jsme se uživateli vše co nejvíce vysvětlit v tutoriálu: zde se otevře okno, zde přístup ke kameře, jinak to nebude fungovat a tak dále. Bez ohledu na to, kolik vysvětlení napíšete, bez ohledu na to, jak podrobně žvýkáte, bez ohledu na to, jaké gify vložíte, lidé to nečtou.

V Minsku jsme shromáždili velké množství zpětné vazby na tuto část a pro aplikaci v Kazani jsme se již hodně změnili. Vložili jsme tam nejen ty zvukové záznamy a ty časové kódy, které odpovídají konkrétní epizodě rozšířené reality, ale vzali jsme všechny zvukové záznamy a časové kódy v jejich celistvosti. Aplikace tedy slyšela, co se dělo v době spuštění, a – pokud se člověk přihlásil ve špatnou chvíli – vydala informaci: „Soudruhu, je mi líto, vaše epizoda AR bude za 15 minut.“

Něco málo o architektuře a přístupu k synchronizaci

Časový kód (podle audio verze) – 16:37

Dmitriy: Rozhodli jste se pro synchronizaci podle zvuku?

Andrey: Ano, stalo se to náhodou. Hledali jsme možnosti a narazili jsme na společnost Cifrasoft z Iževska. Vyrábějí nijak zvlášť sofistikované, ale železné SDK, které umožňuje synchronizovat zvuk s časováním. Systém byl umístěn pro práci s TV, kdy můžete zobrazit něco v aplikaci na základě zvuku podmíněné reklamy nebo poskytnout interaktivní zážitek na základě filmové stopy.

Dmitriy: Ale jedna věc je - sedíte ve svém obývacím pokoji a druhá věc - stadion s tisíci lidí. Jak vám to dopadlo s kvalitou záznamu zvuku a jeho následného rozpoznání?

Andrey: Panovalo mnoho obav a pochybností, ale ve většině případů bylo vše dobře rozpoznáno. Vytvářejí podpisy na zvukové stopě pomocí svých mazaných algoritmů - výsledek váží méně než původní zvukový soubor. Když mikrofon poslouchá okolní zvuk, snaží se tyto vlastnosti najít a na základě nich rozpoznat stopu. Za dobrých podmínek je přesnost synchronizace 0,1-0,2 sekundy. Tohle bylo víc než dost. Za špatných podmínek byla odchylka až 0,5 sekundy.

Hodně záleží na zařízení. Pracovali jsme s velkou flotilou zařízení. Pro iPhony existuje pouze 10 modelů. Fungovaly dobře, pokud jde o kvalitu a další funkce. Ale s androidy je zoo jako moje matka. Ne všude se ukázalo, že synchronizace zvuku fungovala. Byly případy, kdy kvůli některým zvláštnostem nebylo možné slyšet různé stopy na různých zařízeních. Někde nízké frekvence mizí, někde vysoké frekvence začínají sípat. Pokud ale mělo zařízení normalizér na mikrofonu, synchronizace vždy fungovala.

Dmitriy: Řekněte nám prosím o architektuře – co bylo v projektu použito?

Andrey: Aplikaci jsme udělali v Unity - nejjednodušší varianta z hlediska multiplatformnosti a práce s grafikou. Použité AR Foundation. Okamžitě jsme si řekli, že nechceme systém komplikovat, a tak jsme se omezili na flotilu zařízení s podporou ARKit a ARCore, abychom měli čas vše otestovat. Vytvořili jsme plugin pro DigitalSoft SDK je na našem GitHubu. Vytvořili jsme redakční systém tak, aby skripty běžely podle časové osy.

Trochu jsme si pohráli s částicovým systémem, protože uživatel může vstoupit kdykoli do konkrétní epizody a potřebujeme, aby viděl vše od okamžiku, kdy se synchronizoval. Pohráli jsme se systémem, který umožňuje, aby scénáře byly přehrávány jasně v čase, takže XNUMXD zážitek lze posouvat tam a zpět, jako ve filmu. Zatímco u klasických animací to funguje hned po vybalení, museli jsme si pohrát s částicovými systémy. V určitém okamžiku se začnou spawnovat, a pokud se ocitnete někde před bodem spawn, ještě se nenarodili, i když se zdá, že by být měli. Ale tento problém je ve skutečnosti docela snadno řešitelný.

U mobilní části je architektura celkem jednoduchá. U televizního vysílání je vše složitější. Měli jsme hardwarová omezení. Zákazník si stanovil podmínku: „Tady máme takový a takový hardwarový park, zhruba řečeno, všechno na něm musí fungovat.“ Okamžitě jsme se zaměřili na to, že budeme pracovat s relativně levnými kartami pro zachycení videa. Rozpočet ale neznamená, že jsou špatné.

Existovala omezení týkající se hardwaru, karet pro snímání videa a pracovních podmínek – jak bychom měli přijímat obraz. Zachycovací karty - Blackmagic Design, fungovaly podle schématu vnitřního klíčování - to je, když k vám z kamery přichází snímek videa. Karta má svůj vlastní zpracovatelský čip, kde je vložen i rámeček, který je nutné překrýt na ten příchozí. Karta je zamíchá – ničeho dalšího se tam nedotýkáme a neovlivňujeme snímek z videokamery. Přes video výstup vyplivne výsledek do dispečinku. Je to dobrá metoda pro překrývání titulů a další podobné věci, ale není příliš vhodná pro efekty smíšené reality, protože existuje mnoho omezení pro renderování.

Dmitriy: Pokud jde o výpočty v reálném čase, vazbu objektů nebo něco jiného?

Andrey: Z hlediska kvality a dosažení požadovaných efektů. Protože nevíme, na co dáváme obrázek. Jednoduše posíláme informace o barvě a průhlednosti nad původní stream. Pomocí tohoto schématu nelze dosáhnout některých efektů, jako jsou lomy, správná průhlednost a další stíny. Chcete-li to provést, musíte vykreslit vše dohromady. Neexistuje například způsob, jak vytvořit efekt deformace vzduchu z ohně nebo horkého asfaltu. Totéž platí pro přenos efektu průhlednosti s přihlédnutím k indexu lomu. Původně jsme vytvářeli obsah založený na těchto omezeních a snažili jsme se použít vhodné efekty.

Zobrazit tento příspěvek na Instagram

Ukončení II. evropských her v Minsku.

Příspěvek sdílený uživatelem Alena Lanská (@alyonalanskaya) dne 30. června 2019 v 3:19 PDT

Dmitriy: Měli jste už v prvním projektu pro Evropské hry vlastní obsah?

Andrey: Ne, hlavní fázi vývoje obsahu udělali kluci ze Sechenov.com. Jejich grafici nakreslili základní obsah animacemi a dalšími věcmi. A vše jsme integrovali do enginu, přidali další efekty, přizpůsobili tak, aby vše fungovalo správně.

Pokud mluvíme o potrubí, pak pro televizní vysílání jsme vše smontovali na Unreal Engine 4. Shodou okolností právě v tu chvíli začali posilovat své nástroje pro smíšenou realitu. Ukázalo se, že všechno není tak jednoduché. I nyní jsou všechny nástroje surové, hodně jsme museli dodělávat ručně. V Minsku jsme pracovali na custom buildu enginu, to znamená, že jsme přepsali některé věci uvnitř enginu, abychom například mohli kreslit stíny na skutečné objekty. Na verzi enginu, která byla v té době aktuální, nebyly žádné funkce, které by to umožňovaly pomocí standardních nástrojů. Z tohoto důvodu naši kluci vyrobili vlastní montáž na míru, aby zajistili vše, co bylo životně nutné.

Další nuance a adaptace na WorldSkills v Kazani

Časový kód (podle audio verze) – 31:37

Dmitriy: Ale to vše v poměrně krátké době?

Andrey: Termíny byly těsné Kazaňský projekt, podle Minsku - normální. Zhruba šest měsíců na vývoj, ale s přihlédnutím k tomu, že se zapojilo šest lidí. Zároveň jsme vyráběli mobilní část a vyvíjeli nástroje pro televizní produkci. Nechyběl pouze obrazový výstup. Například sledovací systém s optikou, k tomu jste si museli vytvořit vlastní nástroje.

Dmitriy: Došlo k nějaké adaptaci jednoho projektu na druhý? Bylo potřeba za měsíc a půl využít vývoje a přenést projekt s novým obsahem na nový web?

Andrey: Ano, bylo to měsíc a půl. Po projektu v Minsku jsme pro celý tým naplánovali dvoutýdenní dovolenou. Ale hned po zavření přišli kluci ze Sechenov.com a řekli: "Tak pojďme udělat Kazaň." Stihli jsme si ještě trochu odpočinout, ale celkem rychle jsme přešli na tento projekt. Dokončili jsme některé technické práce. Většinu času jsme věnovali obsahu, protože pro WorldSkills jsme to udělali úplně my, jen jsme to koordinovali s produkčním týmem. Z jejich strany byl pouze scénář. Ale bylo to jednodušší – nebylo potřeba dalších iterací. Když vytvoříte obsah sami, okamžitě vidíte, jak to v enginu funguje, a můžete rychle upravovat a koordinovat.


Pokud jde o mobilní část, vzali jsme v úvahu všechny jemnosti, které jsme v Minsku měli. Udělali jsme nový design aplikace, trochu předělali architekturu, přidali návody, ale snažili jsme se to udělat co nejkratší a nejpřehlednější. Snížili jsme počet uživatelských kroků od spuštění aplikace po prohlížení obsahu. Měsíc a půl stačil na dokončení adekvátního projektu. Za týden a půl jsme dorazili na místo. Pracovalo se tam snadněji, protože veškerá kontrola nad projektem byla v rukou organizátorů, nebylo třeba koordinovat s ostatními komisemi. V Kazani bylo jednodušší a snazší pracovat a bylo zcela normální, že bylo méně času.

Dmitriy: Rozhodli jste se ale nechat přístup k synchronizaci tak, jak byl, založený na zvuku?

Andrey: Ano, nechali jsme to zvukem. Fungovalo to dobře. Jak se říká, když to jde, tak na to nesahej. Jednoduše jsme vzali v úvahu nuance kvality zvukové stopy. Když udělali intro, byla tam tréninková epizoda, kterou si lidé mohli vyzkoušet před začátkem show. Bylo překvapivé, že když se v okamžiku přehrávání stopy na stadionu ozve bouřlivý potlesk, „živě“, systém vám umožní dobře se synchronizovat s touto stopou, ale pokud se v tuto chvíli nahraný potlesk smísí se stopou, pak trať již není zachycena. S takovými nuancemi se počítalo a vše bylo zvukově synchronizováno docela dobře.

PS V druhé části čísla hovoříme o vizualizaci vědeckých dat, modelování procesů v jiných projektech, vývoji her a magisterském programu "Technologie vývoje počítačových her" Pokračování zveřejníme v příštím článku. Poslouchat a podpořit nás můžete zde:

PPS Mezitím na anglické verzi Habr: bližší pohled na ITMO University.

Zdroj: www.habr.com

Přidat komentář