Podcast “ITMO Research_”: kuidas läheneda AR-sisu sünkroonimisele kogu staadioni ulatuses saatega

See on meie saate teise intervjuu teksti ärakirja esimene osa (Apple Podcastid, Yandex.Muusika). Probleem külaline – Andrei Karsakov (kapc3d), Ph.D., riikliku kognitiivsete uuringute keskuse vanemteadur, digitaalsete transformatsioonide teaduskonna dotsent.

Alates 2012. aastast töötab Andrey uurimisrühmas Visualiseerimine ja arvutigraafika. Tegeleb suurte rakendusprojektidega riiklikul ja rahvusvahelisel tasandil. Vestluse selles osas räägime tema kogemusest avalike ürituste AR-i toetamisel.

Podcast “ITMO Research_”: kuidas läheneda AR-sisu sünkroonimisele kogu staadioni ulatuses saatega
Photo Shoot See on inseneritöö RAEng (Unsplash.com)

Projekti kontekst ja eesmärgid

Ajakood (autor heliversioonid) — 00:41

Dmitri Kabanov: Tahaksin alustada Euroopa mängude projektiga. See on mitmekomponentne, ettevalmistuses osales mitu meeskonda ning liitreaalsuse pakkumine tuhandepealisele publikule otse staadionil toimuva ürituse ajal on üsna tõsine ülesanne. Mis puudutab teie osalust, siis kas see oli kõigepealt tarkvara?

kapc3d: Jah, me tegime programmi osa ja toetasime saate ajal. Kõike oli vaja reaalajas jälgida, jälgida ja käivitada ning teha koostööd ka telegrupiga. Kui vaadelda seda projekti tervikuna, siis saame rääkida ava- ja lõputseremooniast Euroopa mängud Minskis, samuti meistrivõistluste avatseremooniast WorldSkills Kaasanis. See oli sama tööskeem, kuid erinevad sündmused. Nende vahele jäi kaks kuud. Koostasime projekti koos ettevõtte kuttidega Sechenov.com.

Kohtusime nendega juhuslikult Teadusfestival, mis toimus 2018. aasta sügisel. Meie magistrandid esitlesid oma kursuseprojekti VR teemal. Poisid tulid meie juurde ja küsisid, mida me oma laboris teeme. See nägi välja umbes selline:

— Töötate VR-iga, kuid kas saate töötada liitreaalsusega?

- Noh, omamoodi, jah.

- Seal on selline ülesanne, selliste sissejuhatavate märkustega. Kas sa saaksid seda teha?

Natuke kriimustasid nad kaalikat, midagi ebareaalset ei paista olevat:

- Proovime kõigepealt kõike uurida ja seejärel leida lahendus.

Dmitri: Kas nad pakuvad ainult meediatoetust?

Andrey: Nad teevad täis virna. Juhtimise ja organiseerimise seisukohalt on nad täielikult seotud lavastamise, lavastamise, dekoratsioonide valiku, logistika ja muu tehnilise toega. Aga nad tahtsid Euroopa mängude jaoks midagi erilist teha. Neid eriefekte, nagu ka segareaalsust, on televisiooni jaoks tehtud päris pikka aega, kuid need pole tehnilise teostuse poolest just kõige eelarvesõbralikumad. Seetõttu otsisid poisid alternatiivseid võimalusi.

Dmitri: Arutame probleemi üksikasjalikumalt. Millest see koosnes?

Andrey: Toimub üritus. See kestab poolteist tundi. Peame tagama, et seda otse-eetris jälgiv publik ja staadionil istujad näeksid liitreaalsuse efekte täielikus sünkroonis otsesaatega nii aja kui ka asukoha osas saidil.

Tehnilisi piiranguid oli mitmeid. Aja sünkroniseerimist Interneti kaudu teha ei saanud, kuna kardeti täistribüüniga võrgu liigset koormust ja riigipeade väljavaadet üritusele, mis võib mobiilivõrke ummistada.

Andrei Karsakov, foto alates ITMO ülikooli materjal
Podcast “ITMO Research_”: kuidas läheneda AR-sisu sünkroonimisele kogu staadioni ulatuses saategaMeil oli selles projektis kaks põhikomponenti – isiklik kogemus, mida inimesed saavad mobiilseadmete kaudu, ning see, mis läheb telesaadetesse ja staadionil endal olevatele teabeekraanidele.

Kui inimene vaatab ühtäkki mobiilseadme kaudu liitreaalsuse episoode ja satub samal ajal ekraanile, peaks ta nägema sama pilti.

Meil oli vaja kahte praktiliselt erinevat süsteemi, et need aja jooksul täielikult sünkroniseerida. Kuid selliste saadete eripära on see, et tegemist on keerukate sündmustega, kus on kaasatud suur hulk tehnilisi teenistusi ja kõik toimingud tehakse ajakoodide järgi. Ajakood on konkreetne ajahetk, mil miski algab: valgus, heli, inimesed lahkuvad, lava kroonlehed avanevad jne. Pidime selle süsteemiga kohanema, et kõik algaks õigel ajal. Veel üks omadus oli see, et liitreaalsusega stseenid ja episoodid olid stsenaariumiga seotud.

Dmitri: Kuid kas otsustasite loobuda ajakoodide kasutamisest vääramatu jõu suurte riskide tõttu või arvutasite algselt välja mõned võimsusomadused ja mõistsite, et kogu süsteemi koormus on üsna suur?

Andrey: Kui teete sellisele vaatajaskonnale sünkroonimisteenuse, pole see eriti keeruline. Igal juhul ei kuku taotlused üleöö luhta. Jah, koormus on suur, kuid see pole hädaolukord. Iseasi, kas tasub sellele ressurssi ja aega kulutada, kui võrk äkki ära läheb. Me polnud kindlad, et seda ei juhtu. Lõppkokkuvõttes kõik töötas, koormusest tingitud katkestustega, aga toimis ja sünkroniseerisime ajakoodi järgi erineva skeemi järgi. See oli üks globaalsetest väljakutsetest.

Rakendamise raskused UX-i vaatenurgast

Ajakood (autor heliversioonid) — 10:42

Andrey: Samuti pidime arvestama, et staadion ei ole klassikaline kontserdipaik, ja sünkroniseerima süsteemid üle kogu mobiilsete seadmete. Nii et mõni aeg tagasi läksin viirusesse liitreaalsuse lugu Eminemi kontsertidel, siis oli juhtum Lobodaga.

Photo Shoot Robert Hüvasti (Unsplash.com)
Podcast “ITMO Research_”: kuidas läheneda AR-sisu sünkroonimisele kogu staadioni ulatuses saategaKuid see on alati kogemus teie ees - kogu rahvas seisab lava ees, sünkroniseerimine on üsna lihtne. Staadioni puhul pead aru saama, kummal pool ringi sa asud, suhtelist asendit, et staadion sobituks sellesse ruumi, mis virtuaalses keskkonnas eksisteerib. See oli hapu väljakutse. Nad proovisid seda mitmel viisil lahendada ja tulemuseks oli juhtum, mis oli lähedane Loboda elluviimisele, kuid mitte kõigis aspektides.

Me laseme kasutajal otsustada, kus ta on. Staadionile tegime märgistused, kus inimesed valisid sektori, rea, koha. Seda kõike nelja “klõpsuga”. Edasi tuli määrata suund lavale. Selleks näitasime siluetti, milline peaks stseen kohandatud vaatenurgast ligikaudu välja nägema. Ta ühendas selle, koputas ja ongi kõik – lava istus maha. Püüdsime seda protsessi nii palju kui võimalik lihtsustada. Siiski ei ole 90% saadet vaadata soovinud vaatajatest need inimesed, kellel on liitreaalsusega suhtlemise kogemus.

Dmitri: Kas selle projekti jaoks oli eraldi taotlus?

Andrey: Jah, rakendus iOS-ile ja Androidile, mille lükkasime poodi. Selle jaoks oli eraldi promokampaania. Varem kirjeldati üksikasjalikult, kuidas alla laadida ja nii edasi.

Dmitri: Peate mõistma, et inimesel pole kohta füüsiliselt testimiseks ja sellise rakenduse kasutamise õppimiseks. Seetõttu muutus publiku “harimise” ülesanne keerulisemaks.

Andrey: Jah Jah. UX-iga tabasime palju konarusi, sest kasutaja soovib saada kogemuse kolme klõpsuga: alla laaditud, installitud, käivitatud – see toimis. Paljud inimesed on liiga laisad, et jälgida keerulisi õpetusi, lugeda õpetusi jne. Ja me ei püüdnud õpetuses kasutajale kõike võimalikult palju selgitada: siin avaneb aken, siin on juurdepääs kaamerale, muidu see ei tööta ja nii edasi. Olenemata sellest, kui palju selgitusi te kirjutate, kui üksikasjalikult te seda näksite, olenemata sellest, milliseid gifi te sisestate, inimesed seda ei loe.

Minskis kogusime selle osa kohta suure hulga tagasisidet ja oleme Kaasanis rakenduse jaoks juba palju muutunud. Me ei sisestanud sinna mitte ainult neid fonogramme ja ajakoode, mis vastavad konkreetsele liitreaalsuse episoodile, vaid võtsime kõik fonogrammid ja ajakoodid tervikuna. Nii kuulis rakendus, mis käivitamise ajal toimus, ja - kui inimene logis sisse valel hetkel - andis välja teabe: "Seltsimees, vabandust, teie AR-episood on 15 minuti pärast."

Natuke arhitektuurist ja lähenemisest sünkroniseerimisele

Ajakood (autor heliversioonid) — 16:37

Dmitri: Kas otsustasite sünkroonida heli järgi?

Andrey: Jah, see juhtus kogemata. Uurisime võimalusi ja sattusime ühe ettevõtte peale Cifrasoft Iževskist. Need teevad mitte eriti keeruka, kuid raudselt töötava SDK, mis võimaldab teil heli ajastusega sünkroonida. Süsteem oli positsioneeritud töötama koos teleriga, kui saate tingliku reklaami heli põhjal midagi rakenduses kuvada või filmiraja põhjal interaktiivset kogemust anda.

Dmitri: Kuid üks asi on – sa istud oma elutoas ja teine ​​asi – staadion, kus on tuhandeid inimesi. Kuidas sul helisalvestuse kvaliteedi ja selle hilisema äratundmisega asjad korda läksid?

Andrey: Hirme ja kahtlusi oli palju, kuid enamasti tunti kõik hästi ära. Nad ehitavad oma kavalate algoritmidega helirajale signatuure – tulemus kaalub vähem kui originaalhelifail. Kui mikrofon kuulab ümbritsevat heli, proovib see neid funktsioone leida ja nende põhjal raja ära tunda. Heades tingimustes on sünkroonimise täpsus 0,1-0,2 sekundit. Sellest oli enam kui küll. Halbades tingimustes oli lahknevus kuni 0,5 sekundit.

Palju oleneb seadmest. Töötasime suure seadmepargiga. iPhone'ide jaoks on ainult 10 mudelit. Kvaliteedi ja muude omaduste poolest töötasid need hästi. Aga androididega on loomaaed nagu mu ema. Mitte igal pool ei selgunud, et heli sünkroniseerimine töötas. Oli juhtumeid, kus erinevatel seadmetel ei olnud mingite iseärasuste tõttu võimalik kuulda erinevaid lugusid. Kusagil kaovad madalad sagedused, kuskil hakkavad kõrgsagedused vilistama. Aga kui seadmel oli mikrofonis normaliseerija, siis sünkroniseerimine töötas alati.

Dmitri: Palun rääkige meile arhitektuurist – mida projektis kasutati?

Andrey: Tegime rakenduse Unitys - mitmeplatvormilise ja graafikaga töötamise seisukohalt kõige lihtsamas valikus. Kasutatud AR Foundation. Ütlesime kohe, et me ei taha süsteemi keerulisemaks muuta, seega piirdusime ARKiti ja ARCore'i toetavate seadmete pargiga, et oleks aega kõike testida. Tegime DigitalSoft SDK jaoks pistikprogrammi, see on meie GitHubis. Lõime sisuhaldussüsteemi, et skriptid töötaksid ajatelje järgi.

Natuke nuputasime osakeste süsteemi kallal, sest kasutaja saab konkreetsesse episoodi igal ajal siseneda ja me peame nägema kõike alates hetkest, mil ta sünkroonis. Nokitsesime süsteemi, mis võimaldab stsenaariume ajas selgelt läbi mängida, et XNUMXD-kogemust saaks edasi-tagasi kerida nagu filmis. Kuigi see töötab klassikaliste animatsioonidega karbist välja, pidime osakeste süsteemide kallal nokitsema. Mingil hetkel hakkavad nad kudema ja kui satute kuskile enne kudemispunkti, pole nad veel sündinud, kuigi tundub, et nad peaksid olema. Kuid seda probleemi on tegelikult üsna lihtne lahendada.

Mobiilse osa jaoks on arhitektuur üsna lihtne. Telesaadete puhul on kõik keerulisem. Meil olid riistvarapiirangud. Klient seadis tingimuseks: "Siin on meil selline ja selline riistvarapark, jämedalt öeldes peab kõik toimima." Keskendusime kohe sellele, et töötaksime suhteliselt soodsate videohõivekaartidega. Kuid eelarve ei tähenda, et need halvad oleksid.

Piirangud olid riistvarale, videosalvestuskaartidele ja töötingimustele – kuidas me peaksime pildi vastu võtma. Pildistamiskaardid - Blackmagic Design, töötas sisemise võtmeskeemi järgi - see on siis, kui kaamerast tuleb teieni videokaader. Kaardil on oma töötlemiskiip, kuhu on sisestatud ka raam, mis tuleb sissetuleva peale asetada. Kaart ajab need segamini – me ei puuduta seal midagi muud ega mõjuta videokaamera kaadrit. Ta sülitab tulemuse videoväljundi kaudu juhtruumi. See on hea meetod pealkirjade ja muude sarnaste asjade katmiseks, kuid see ei sobi eriti segareaalsuse efektide jaoks, kuna renderduskonveieril on palju piiranguid.

Dmitri: Reaalajas arvutamise, objektide sidumise või millegi muu osas?

Andrey: Kvaliteedi ja soovitud efektide saavutamise osas. Sest me ei tea, mille peale me pildi paneme. Saadame värvi ja läbipaistvuse teabe lihtsalt algse voo peale. Selle skeemi abil ei ole võimalik saavutada mõningaid efekte, nagu murdumine, õige läbipaistvus ja täiendavad varjud. Selleks peate kõik koos renderdama. Näiteks ei saa kuidagi tekitada tule või kuuma asfaldi õhumoonutusefekti. Sama kehtib ka läbipaistvuse efekti ülekandmise kohta, võttes arvesse murdumisnäitajat. Algselt tegime sisu nende piirangute põhjal ja püüdsime kasutada sobivaid efekte.

Vaadake seda postitust Instagram'is

II Euroopa Mängud Minskis.

Postitus jagatud Alena Lanskaja (@alyonalanskaya) 30. juunil 2019 kell 3:19 PDT

Dmitri: Kas teil oli Euroopa mängude esimeses projektis juba oma sisu?

Andrey: Ei, sisuarenduse põhietapi tegid Sechenov.com-i poisid. Nende graafikud joonistasid põhisisu animatsioonide ja muuga. Ja integreerisime kõik mootorisse, lisasime lisaefekte, kohandasime nii, et kõik töötaks õigesti.

Kui me räägime torujuhtmest, siis telesaadete jaoks panime kõik Unreal Engine 4-le kokku. Juhuslikult hakkasid nad just sel hetkel oma tööriistu segareaalsuse jaoks turgutama. Selgus, et kõik polegi nii lihtne. Praegugi on kõik tööriistad toored, palju pidime käsitsi viimistlema. Minskis töötasime mootori kohandatud ehituse kallal, st kirjutasime mõned asjad mootori sees ümber, et saaksime näiteks reaalsete objektide peale varje joonistada. Mootori sel ajal kehtinud versioonil puudusid funktsioonid, mis võimaldaksid seda teha tavaliste tööriistade abil. Sel põhjusel tegid meie poisid ise oma tellimustöö, et pakkuda kõike, mis oli eluliselt vajalik.

Muud nüansid ja kohanemine WorldSkillsiga Kaasanis

Ajakood (autor heliversioonid) — 31:37

Dmitri: Aga seda kõike üsna lühikese aja jooksul?

Andrey: Tähtajad olid kitsad Kaasani projekt, Minski järgi - normaalne. Arenduseks umbes kuus kuud, kuid arvestades seda, et kaasati kuus inimest. Samal ajal tegime mobiilset osa ja töötasime välja tööriistu teletootmiseks. Seal ei olnud ainult pildiväljund. Näiteks optikaga jälgimissüsteem, selleks tuli luua oma tööriistad.

Dmitri: Kas ühest projektist teise kohandati? Pooleteise kuuga oli vaja arendusi ära kasutada ja uue sisuga projekt uuele saidile üle viia?

Andrey: Jah, see oli poolteist kuud. Planeerisime kogu meeskonnale kahenädalase puhkuse pärast Minski projekti. Kuid kohe pärast sulgemist tulevad Sechenov.com-i poisid üles ja ütlevad: "Noh, teeme siis Kaasani." Jõudsime veel veidi puhata, aga läksime üsna kiiresti selle projekti peale üle. Tegime mõned tehnilised tööd. Suurem osa ajast kulus sisule, sest WorldSkillsi puhul tegime selle täielikult ära, vaid kooskõlastasime selle tootmismeeskonnaga. Nende poolt oli ainult stsenaarium. Kuid see oli lihtsam – polnud vaja täiendavaid iteratsioone. Kui loote sisu ise, näete kohe, kuidas see mootoris töötab, ning saate kiiresti redigeerida ja kooskõlastada.


Mobiilse osa osas võtsime arvesse kõiki peensusi, mis meil Minskis olid. Tegime uue rakenduse kujunduse, kujundasime arhitektuuri veidi ümber, lisasime õpetused, kuid püüdsime teha selle võimalikult lühikeseks ja selgeks. Vähendasime kasutaja sammude arvu rakenduse käivitamisest sisu vaatamiseni. Poolteist kuud piisas adekvaatse projekti tegemiseks. Pooleteise nädala pärast jõudsime objektile. Seal oli lihtsam töötada, sest kogu kontroll projekti üle oli korraldajate käes, teiste komisjonidega ei olnud vaja kooskõlastada. Kaasanis oli lihtsam ja lihtsam töötada ning täiesti normaalne, et aega oli vähem.

Dmitri: Kuid kas otsustasite jätta sünkroniseerimise lähenemisviisi nii, nagu see oli, helipõhiselt?

Andrey: Jah, me jätsime selle heli järgi. See töötas hästi. Nagu öeldakse, kui see töötab, ärge puudutage. Võtsime lihtsalt arvesse heliriba kvaliteedi nüansse. Kui nad sissejuhatust tegid, oli inimestel enne etenduse algust üks koolitusepisood, mida nad proovisid. Üllatav oli see, et kui staadionil raja mängimise hetkel kostab tormiline aplaus, “live”, võimaldab süsteem selle rajaga hästi sünkroniseerida, aga kui sel hetkel segatakse rajaga salvestatud aplaus, siis jälge enam ei tabata. Selliseid nüansse võeti arvesse ja heli mõttes oli kõik üsna hästi sünkroniseeritud.

PS Numbri teises osas räägime teadusandmete visualiseerimisest, protsesside modelleerimisest teistes projektides, mänguarendusest ja magistriprogrammist "Arvutimängude arendamise tehnoloogia" Avaldame jätku järgmises artiklis. Kuulata ja meid toetada saad siin:

PPS Samal ajal Habri ingliskeelses versioonis: ITMO ülikoolist lähemalt.

Allikas: www.habr.com

Lisa kommentaar