Podcast "ITMO Research_": kuinka lähestyä AR-sisällön synkronointia koko stadionin mittakaavassa

Tämä on ohjelmamme toisen haastattelun tekstiotteen ensimmäinen osa (Apple Podcastit, Yandex.Music). Ongelma vieras - Andrei Karsakov (kapc3d), Ph.D., vanhempi tutkija National Center for Cognitive Researchissa, apulaisprofessori Digitaalisten muutosten tiedekunnassa.

Vuodesta 2012 lähtien Andrey on työskennellyt Visualisointi ja tietokonegrafiikka -tutkimusryhmässä. Mukana suurissa sovellettavissa hankkeissa valtion ja kansainvälisellä tasolla. Keskustelun tässä osassa puhumme hänen kokemuksestaan ​​julkisten tapahtumien AR-tuesta.

Podcast "ITMO Research_": kuinka lähestyä AR-sisällön synkronointia koko stadionin mittakaavassa
Photo Shoot Tämä on suunnittelun RAEng (Unsplash.com)

Hankkeen konteksti ja tavoitteet

Aikakoodi (by ääniversiot) - 00:41

Dmitri Kabanov: Haluaisin aloittaa European Games -projektista. Se on monikomponenttinen, valmisteluun osallistui useita joukkueita, ja lisätyn todellisuuden tarjoaminen tuhansille yleisölle heti stadionin tapahtuman aikana on melko vakava tehtävä. Mitä tulee osallistumiseen, oliko se ensin ohjelmisto?

kapc3d: Kyllä, teimme ohjelmoinnin ja tarjosimme tukea esityksen aikana. Oli tarpeen seurata, seurata ja käynnistää kaikkea reaaliajassa sekä työskennellä televisioryhmän kanssa. Jos tarkastelemme tätä hanketta kokonaisuutena, voimme puhua avaus- ja päätösseremonioista Euroopan kisat Minskissä sekä mestaruuden avajaisista WorldSkills Kazanissa. Se oli sama työsuunnitelma, mutta eri tapahtumat. Niiden välillä oli kahden kuukauden tauko. Valmistelimme projektin yhdessä yrityksen kavereiden kanssa Sechenov.com.

Tapasimme heidät sattumalta Tiedefest, joka tapahtui syksyllä 2018. Maisteriopiskelijamme esittelivät kurssiprojektiaan aiheesta VR. Kaverit tulivat luoksemme ja kysyivät, mitä teemme laboratoriossamme. Se näytti jotakuinkin tältä:

— Työskentelet VR:n kanssa, mutta voitko työskennellä lisätyn todellisuuden kanssa?

- No, tavallaan kyllä.

- On olemassa sellainen tehtävä, sellaisilla johdantohuomautuksilla. Voitko tehdä sen?

He raapivat nauriitaan hieman, ei näytä olevan mitään epärealistista:

- Yritetään ensin tutkia kaikkea ja sitten löytää ratkaisu.

Dmitri: Tarjoavatko he vain mediatukea?

Andrew: He tekevät täyden pinon. Johtamisen ja organisoinnin näkökulmasta he ovat täysin mukana ohjauksessa, näyttämössä, maisemien valinnassa, logistiikassa ja muussa teknisessä tuessa. Mutta he halusivat tehdä jotain erityistä Euroopan kisoja varten. Näitä erikoistehosteita, kuten sekoitettua todellisuutta, on tehty televisioon jo pitkään, mutta ne eivät ole teknisesti edullisimpia. Siksi kaverit etsivät vaihtoehtoisia vaihtoehtoja.

Dmitri: Keskustellaan ongelmasta tarkemmin. Mistä se koostui?

Andrew: On tapahtuma. Se kestää puolitoista tuntia. Meidän on varmistettava, että livenä katsova yleisö ja stadionilla istuvat näkevät lisätyn todellisuuden tehosteet täysin synkronoituna live-esityksen kanssa ajan ja paikan suhteen sivustolla.

Teknisiä rajoituksia oli useita. Aikasynkronointi Internetin kautta oli mahdotonta, koska pelättiin verkon ylikuormitusta täysillä katsomoilla ja valtionpäämiesten mahdollisuutta osallistua tilaisuuteen, mikä voisi häiritä matkapuhelinverkkoja.

Andrey Karsakov, kuva materiaali ITMO-yliopistosta
Podcast "ITMO Research_": kuinka lähestyä AR-sisällön synkronointia koko stadionin mittakaavassaMeillä oli kaksi avainosaa tässä projektissa - henkilökohtainen kokemus, jonka ihmiset voivat saada mobiililaitteiden kautta, ja se, mitä tulee televisiolähetyksiin ja stadionin tietoruutuihin.

Jos henkilö yhtäkkiä katsoo lisätyn todellisuuden jaksoja mobiililaitteen kautta ja tulee samalla näytölle, hänen pitäisi nähdä sama kuva.

Tarvitsimme kaksi käytännöllisesti katsoen erilaista järjestelmää synkronoidaksemme täysin ajassa. Mutta tällaisten esitysten erikoisuus on, että nämä ovat monimutkaisia ​​tapahtumia, joissa on mukana suuri määrä teknisiä palveluita ja kaikki toiminnot suoritetaan aikakoodien mukaan. Aikakoodi on tietty hetki, jolloin jokin alkaa: valo, ääni, ihmiset lähtevät, näyttämön terälehdet avautuvat ja niin edelleen. Meidän piti sopeutua tähän järjestelmään, jotta kaikki alkaisi oikeaan aikaan. Toinen piirre oli, että lisättyä todellisuutta sisältävät kohtaukset ja jaksot liittyivät käsikirjoitukseen.

Dmitri: Mutta päätitkö luopua aikakoodien käytöstä ylivoimaisen esteen suuren riskin vuoksi vai lasketko aluksi joitain tehoominaisuuksia ja tajusit, että koko järjestelmän kuormitus olisi melko suuri?

Andrew: Jos teet synkronointipalvelun sellaiselle yleisölle, se ei ole kovin vaikeaa. Joka tapauksessa pyynnöt eivät epäonnistu yhdessä yössä. Kyllä, kuormitus on korkea, mutta se ei ole hätätilanne. Kysymys kuuluu, kannattaako tähän käyttää resursseja ja aikaa, jos verkko yhtäkkiä sammuu. Emme olleet varmoja, ettei näin kävisi. Loppujen lopuksi kaikki toimi, kuormituksesta johtuvin katkoin, mutta toimi, ja synkronoitiin aikakoodin mukaan eri kaavan mukaan. Tämä oli yksi globaaleista haasteista.

Käyttöönoton vaikeudet UX:n näkökulmasta

Aikakoodi (by ääniversiot) - 10:42

Andrew: Meidän piti myös ottaa huomioon, että stadion ei ole klassinen konserttipaikka, ja synkronoida järjestelmät mobiililaitteiden tilaan. Joten jokin aika sitten minusta tuli virus lisätyn todellisuuden tarina Eminem-konserteissa, sitten oli tapaus Lobodan kanssa.

Photo Shoot Robert Heippa (Unsplash.com)
Podcast "ITMO Research_": kuinka lähestyä AR-sisällön synkronointia koko stadionin mittakaavassaMutta tämä on aina kokemus edessäsi - koko joukko seisoo lavan edessä, synkronointi on melko yksinkertaista. Stadionin tapauksessa sinun on ymmärrettävä, millä puolella ympyrää olet, suhteellinen sijainti, jotta stadion sopii virtuaaliympäristössä olevaan tilaan. Se oli kova haaste. Sitä yritettiin ratkaista eri tavoin, ja tuloksena oli tapaus, joka oli lähellä Lobodan toteuttamaa tapausta, mutta ei kaikilta osin.

Annamme käyttäjän päättää missä hän on. Teimme merkinnät stadionille, jossa ihmiset valitsivat sektorin, rivin, paikan. Kaikki tämä neljällä "napsautuksella". Seuraavaksi meidän piti määrittää suunta lavalle. Tätä varten näytimme siluetin siitä, miltä kohtauksen pitäisi suunnilleen näyttää mukautetusta näkökulmasta. Hän yhdisti sen, naputti ja siinä se - lava istuutui. Yritimme yksinkertaistaa tätä prosessia mahdollisimman paljon. Silti 90 % katsojista, jotka halusivat katsoa esityksen, eivät ole niitä, joilla on kokemusta lisätyn todellisuuden kanssa kommunikoinnista.

Dmitri: Oliko tälle hankkeelle erillinen hakemus?

Andrew: Kyllä, iOS- ja Android-sovellus, jonka työnsimme kauppaan. Sitä varten oli erillinen mainoskampanja. Aiemmin on kuvattu yksityiskohtaisesti kuinka ladata ja niin edelleen.

Dmitri: Sinun on ymmärrettävä, että henkilöllä ei ole paikkaa fyysisesti testata ja oppia käyttämään tällaista sovellusta. Siksi yleisön "kouluttamisesta" tuli monimutkaisempi.

Andrew: Kyllä kyllä. UX:n kanssa saimme paljon kolhuja, koska käyttäjä haluaa saada kokemuksen kolmella napsautuksella: ladattu, asennettu, käynnistetty - se toimi. Monet ihmiset ovat liian laiskoja seuraamaan monimutkaisia ​​opetusohjelmia, lukemaan opetusohjelmia ja niin edelleen. Emmekä yrittäneet selittää kaikkea käyttäjälle niin paljon kuin mahdollista opetusohjelmassa: ikkuna avautuu tänne, pääsy kameraan täällä, muuten se ei toimi ja niin edelleen. Huolimatta siitä, kuinka monta selitystä kirjoitat, vaikka kuinka yksityiskohtaisesti pureskelet sitä, riippumatta siitä, mitä gifiä lisäät, ihmiset eivät lue sitä.

Keräsimme Minskissä suuren määrän palautetta tästä osasta, ja olemme jo muuttaneet paljon Kazanin sovelluksen suhteen. Emme laittaneet sinne vain niitä äänitteitä ja niitä aikakoodeja, jotka vastaavat tiettyä lisätyn todellisuuden jaksoa, vaan otimme kaikki äänitteet ja aikakoodit kokonaisuudessaan. Joten sovellus kuuli mitä tapahtui käynnistyshetkellä, ja - jos henkilö kirjautui sisään väärällä hetkellä - se antoi tiedon: "Toveri, olen pahoillani, AR-jaksosi on 15 minuutin kuluttua."

Hieman arkkitehtuurista ja lähestymistavasta synkronointiin

Aikakoodi (by ääniversiot) - 16:37

Dmitri: Päätitkö synkronoida äänen avulla?

Andrew: Kyllä, se tapahtui vahingossa. Selvitimme vaihtoehtoja ja törmäsimme yritykseen cifrasoft Iževskistä. Ne tekevät ei erityisen hienostuneen, mutta rautaisen SDK:n, jonka avulla voit synkronoida äänen ajoituksen kanssa. Järjestelmä asetettiin toimimaan television kanssa, kun ehdollisen mainoksen äänen perusteella voi näyttää jotain sovelluksessa tai antaa interaktiivisen kokemuksen elokuvaraidan perusteella.

Dmitri: Mutta se on yksi asia - istut olohuoneessasi ja toinen asia - stadion, jossa on tuhansia ihmisiä. Miten sinulle sujui äänitallenteen laatu ja sen myöhempi tunnistaminen?

Andrew: Pelkoja ja epäilyksiä oli paljon, mutta useimmissa tapauksissa kaikki tunnistettiin hyvin. He rakentavat ääniraitaan allekirjoituksia ovelilla algoritmeilla - tulos painaa vähemmän kuin alkuperäinen äänitiedosto. Kun mikrofoni kuuntelee ympäröivää ääntä, se yrittää löytää nämä ominaisuudet ja tunnistaa raidan niiden perusteella. Hyvissä olosuhteissa synkronointitarkkuus on 0,1-0,2 sekuntia. Tämä oli enemmän kuin tarpeeksi. Huonoissa olosuhteissa ero oli jopa 0,5 sekuntia.

Paljon riippuu laitteesta. Työskentelimme laajan laitekannan kanssa. IPhoneilla on vain 10 mallia. Toimivat laadultaan ja muilta ominaisuuksiltaan hyvin. Mutta androidien kanssa eläintarha on kuin äitini. Ei kaikkialla käynyt ilmi, että äänen synkronointi toimi. Oli tapauksia, joissa eri raitoja ei ollut mahdollista kuulla eri laitteilla joidenkin erityispiirteiden vuoksi. Jossain matalat taajuudet katoavat, jossain korkeat taajuudet alkavat vinkua. Mutta jos laitteessa oli normalisoija mikrofonissa, synkronointi toimi aina.

Dmitri: Kerro meille arkkitehtuurista - mitä projektissa käytettiin?

Andrew: Teimme sovelluksen Unityssa - yksinkertaisin vaihtoehto usean alustan ja grafiikan kanssa työskentelyn kannalta. Käytetty AR Foundation. Sanoimme heti, että emme halunneet monimutkaista järjestelmää, joten rajoituimme ARKitia ja ARCoret tukeviin laitteisiin, jotta ehtii testata kaikkea. Teimme laajennuksen DigitalSoft SDK:lle, se on GitHubissamme. Loimme sisällönhallintajärjestelmän, jotta skriptit toimisivat aikajanan mukaan.

Partikkelisysteemiä on käsitelty hieman, koska käyttäjä voi tulla milloin tahansa tiettyyn jaksoon, ja meidän on näkevä kaikki siitä hetkestä lähtien, kun hän synkronoitui. Keksimme järjestelmän, jonka avulla skenaariot voidaan toistaa selkeästi ajoissa, jotta XNUMXD-kokemusta voidaan vierittää edestakaisin, kuten elokuvassa. Vaikka se toimii alusta alkaen klassisten animaatioiden kanssa, meidän piti käsitellä hiukkasjärjestelmiä. Jossain vaiheessa ne alkavat kutea, ja jos löydät itsesi jonnekin ennen kutupistettä, ne eivät ole vielä syntyneet, vaikka niiden pitäisi olla. Mutta tämä ongelma on itse asiassa melko helppo ratkaista.

Mobiiliosan arkkitehtuuri on melko yksinkertainen. Televisiolähetyksissä kaikki on monimutkaisempaa. Meillä oli laitteistorajoituksia. Asiakas asetti ehdon: "Täällä meillä on sellainen ja sellainen laitepuisto, karkeasti sanottuna kaiken pitää toimia sen päällä." Keskityimme välittömästi siihen, että työskentelemme suhteellisen edullisilla videokaappauskorteilla. Mutta budjetti ei tarkoita, että ne olisivat huonoja.

Rajoituksia oli laitteistossa, videokaappauskorteissa ja työolosuhteissa - miten meidän pitäisi vastaanottaa kuva. Kaappauskortit - Blackmagic Design, toimi sisäisen näppäilyjärjestelmän mukaan - silloin kamerasta tulee videoruutu. Kortissa on oma prosessorisiru, johon on asetettu myös kehys, joka on asetettava tulevan päälle. Kortti sekoittaa ne - emme kosketa siellä mitään muuta emmekä vaikuta videokameran ruutuun. Hän sylkee tuloksen valvomoon videolähdön kautta. Tämä on hyvä menetelmä otsikoiden ja muiden vastaavien asioiden peittämiseen, mutta se ei sovellu kovinkaan sekatodellisuuden tehosteille, koska renderöintiputkella on monia rajoituksia.

Dmitri: Mitä tulee reaaliaikaiseen laskemiseen, objektien sitomiseen tai johonkin muuhun?

Andrew: Mitä tulee laatuun ja haluttujen vaikutusten saavuttamiseen. Koska emme tiedä, minkä päälle laitamme kuvan. Lähetämme yksinkertaisesti väri- ja läpinäkyvyystiedot alkuperäisen streamin päälle. Joitakin vaikutuksia, kuten taittumista, oikeaa läpinäkyvyyttä ja lisävarjoja, ei voida saavuttaa tällä menetelmällä. Tätä varten sinun on renderöitävä kaikki yhdessä. Esimerkiksi tulen tai kuuman asfaltin aiheuttaman ilman vääristymisen vaikutusta ei voida mitenkään luoda. Sama koskee läpinäkyvyysvaikutuksen siirtoa taitekerroin huomioon ottaen. Teimme aluksi sisältöä näiden rajoitusten perusteella ja yritimme käyttää asianmukaisia ​​tehosteita.

Katso tämä viesti Instagramissa

II EM-kisat päättyvät Minskissä.

Yhteinen viesti Alena Lanskaya (@alyonalanskaya) 30. kesäkuuta 2019 klo 3 PDT

Dmitri: Oliko sinulla jo omaa sisältöä ensimmäisessä European Games -projektissa?

Andrew: Ei, sisällön kehittämisen päävaiheen tekivät Sechenov.comin kaverit. Heidän graafikot piirsivät perussisällön animaatioilla ja muulla. Ja integroimme kaiken moottoriin, lisäsimme lisätehosteita, mukautimme sen niin, että kaikki toimi oikein.

Jos puhumme putkilinjasta, niin televisiolähetyksiä varten kokosimme kaiken Unreal Engine 4:ään. Sattumalta he juuri sillä hetkellä alkoivat tehostaa työkalujaan sekatodellisuuteen. Kävi ilmi, että kaikki ei ole niin yksinkertaista. Nytkin kaikki työkalut ovat raakaa, jouduimme viimeistelemään paljon käsin. Minskissä työstettiin moottorin räätälöityä rakennetta, eli kirjoitimme joitain asioita moottorin sisällä, jotta esimerkiksi voisimme piirtää varjoja oikeiden esineiden päälle. Moottorin tuolloin ajankohtaisessa versiossa ei ollut ominaisuuksia, jotka olisivat mahdollistaneet tämän tekemisen vakiotyökaluilla. Tästä syystä kaverimme tekivät oman mukautetun kokoonpanon tarjotakseen kaiken tarpeellisen.

Muita vivahteita ja sopeutumista WorldSkillsiin Kazanissa

Aikakoodi (by ääniversiot) - 31:37

Dmitri: Mutta kaikki tämä melko lyhyessä ajassa?

Andrew: Määräajat olivat tiukat Kazanin projekti, Minskin mukaan - normaalia. Kehittämiseen noin kuusi kuukautta, mutta ottaen huomioon, että mukana oli kuusi henkilöä. Samalla teimme mobiiliosaa ja kehitimme työkaluja tv-tuotantoon. Ei ollut vain kuvatulostusta. Esimerkiksi seurantajärjestelmä optiikalla, tätä varten piti luoda omat työkalut.

Dmitri: Oliko mukautuksia projektista toiseen? Oliko puolentoista kuukauden aikana pakko hyödyntää kehitystä ja siirtää projekti uudella sisällöllä uudelle sivustolle?

Andrew: Kyllä, se kesti puolitoista kuukautta. Olimme suunnitelleet kahden viikon loman koko tiimille Minskin projektin jälkeen. Mutta heti sulkemisen jälkeen Sechenov.comin kaverit tulevat esiin ja sanovat: "No, tehdään sitten Kazan." Saimme vielä vähän levätä, mutta siirryimme tähän projektiin melko nopeasti. Teimme joitain teknisiä töitä. Suurin osa ajasta meni sisältöön, koska WorldSkillsille teimme sen kokonaan, vain koordinoimme sen tuotantotiimin kanssa. Heidän puoleltaan oli vain käsikirjoitus. Mutta se oli helpompaa - ei tarvinnut ylimääräisiä iteraatioita. Kun luot sisältöä itse, näet heti, kuinka se toimii moottorissa, ja voit nopeasti muokata ja koordinoida.


Mobiiliosan suhteen otimme huomioon kaikki hienoudet, jotka meillä oli Minskissä. Teimme uuden sovellussuunnittelun, suunnittelimme hieman arkkitehtuuria, lisäsimme opetusohjelmia, mutta yritimme tehdä siitä mahdollisimman lyhyen ja selkeän. Vähensimme käyttäjän vaiheiden määrää sovelluksen käynnistämisestä sisällön katseluun. Puolitoista kuukautta riitti riittävän projektin toteuttamiseen. Puolentoista viikossa saavuimme paikalle. Siellä työskentely oli helpompaa, koska kaikki projektin hallinta oli järjestäjien käsissä, ei tarvinnut koordinoida muiden komiteoiden kanssa. Kazanissa oli yksinkertaisempaa ja helpompaa työskennellä ja oli aivan normaalia, että aikaa oli vähemmän.

Dmitri: Mutta päätitkö jättää synkronoinnin ennalleen, ääneen perustuvan lähestymistavan?

Andrew: Kyllä, jätimme sen äänen mukaan. Se toimi hyvin. Kuten sanotaan, jos se toimii, älä koske siihen. Otimme yksinkertaisesti huomioon ääniraidan laadun vivahteet. Kun he tekivät intron, ihmiset saivat kokeilla koulutusjaksoa ennen esityksen alkamista. Yllättävää oli, että kun kappaleen toistohetkellä stadionilla on myrskyisiä suosionosoituksia, "live", järjestelmä sallii hyvin synkronoinnin tämän kappaleen kanssa, mutta jos tällä hetkellä nauhoitettua taputusta sekoitetaan kappaleeseen, niin jälki ei ole enää kiinni. Tällaiset vivahteet otettiin huomioon, ja kaikki synkronoitui äänen suhteen melko hyvin.

PS Numeron toisessa osassa puhumme tieteellisestä datan visualisoinnista, prosessien mallintamisesta muissa projekteissa, pelikehityksestä ja maisteriohjelmasta "Tietokonepelien kehitystekniikka" Julkaisemme jatkon seuraavassa artikkelissa. Voit kuunnella ja tukea meitä täällä:

PPS Sillä välin Habrin englanninkielisessä versiossa: Tarkempi katsaus ITMO-yliopistoon.

Lähde: will.com

Lisää kommentti