Podcast "ITMO Research_": si t'i qasemi sinkronizimit të përmbajtjes AR me një shfaqje në shkallën e një stadiumi të tërë

Kjo është pjesa e parë e transkriptit të tekstit të intervistës së dytë për programin tonë (Apple Podcasts, Yandex.Muzikë). Çështja e të ftuarit - Andrey Karsakov (kapc3d), Ph.D., studiues i lartë në Qendrën Kombëtare të Kërkimeve Kognitive, profesor i asociuar në Fakultetin e Transformimeve Dixhitale.

Që nga viti 2012, Andrey ka punuar në grupin kërkimor Vizualizimi dhe Grafika Kompjuterike. Angazhuar në projekte të mëdha të aplikuara në nivel shtetëror dhe ndërkombëtar. Në këtë pjesë të bisedës, flasim për përvojën e tij në mbështetjen e AR për evente publike.

Podcast "ITMO Research_": si t'i qasemi sinkronizimit të përmbajtjes AR me një shfaqje në shkallën e një stadiumi të tërë
Photo Shoot Kjo është Inxhinieria RAEng (Unsplash.com)

Konteksti dhe objektivat e projektit

Kodi i kohës (nga versionet audio) — 00:41

dmitrykabanov: Do të doja të filloja me projektin e Lojërave Evropiane. Është me shumë komponentë, disa skuadra morën pjesë në përgatitje dhe ofrimi i realitetit të shtuar për një audiencë prej mijëra vetësh gjatë një eventi në stadium është një detyrë mjaft serioze. Për sa i përket përfshirjes suaj, ishte softueri i pari?

kapc3d: Po, ne kemi bërë pjesën e programimit dhe kemi ofruar mbështetje gjatë emisionit. Ishte e nevojshme për të gjurmuar, monitoruar dhe nisur gjithçka në kohë reale, si dhe të punonte me grupin televiziv. Nëse e konsiderojmë këtë projekt në tërësi, atëherë mund të flasim për ceremonitë e hapjes dhe mbylljes Lojrat Evropiane në Minsk, si dhe për ceremoninë e hapjes së kampionatit WorldSkills në Kazan. Ishte e njëjta skemë pune, por ngjarje të ndryshme. Mes tyre kishte një hendek prej dy muajsh. Ne e përgatitëm projektin së bashku me djemtë e kompanisë Sechenov.com.

I takuam rastësisht Festivali i Shkencës, e cila u zhvillua në vjeshtën e vitit 2018. Studentët tanë të masterit prezantuan projektin e tyre të kursit mbi temën e VR. Djemtë erdhën tek ne dhe pyetën se çfarë po bënim në laboratorin tonë. Dukej diçka si kjo:

— Ju punoni me VR, por a mund të punoni me realitetin e shtuar?

- Epo, disi, po.

- Ka një detyrë të tillë, me shënime të tilla hyrëse. Mund të bëni atë?

Ata gërvishtën pak rrepat e tyre, nuk duket se ka asgjë joreale:

- Le të përpiqemi të studiojmë gjithçka së pari, dhe më pas të gjejmë një zgjidhje.

Dmitri: A ofrojnë vetëm mbështetje mediatike?

Andrew: Ata bëjnë një pirg të plotë. Nga pikëpamja e menaxhimit dhe organizimit, ata janë plotësisht të përfshirë në regjinë, vënien në skenë, përzgjedhjen e peizazhit, logjistikën dhe mbështetje të tjera teknike. Por ata donin të bënin diçka të veçantë për Lojërat Evropiane. Këto efekte speciale, si realiteti i përzier, janë bërë për televizion për një kohë të gjatë, por nuk janë më buxhetoret për sa i përket zbatimit teknik. Prandaj, djemtë kërkuan opsione alternative.

Dmitri: Le të diskutojmë problemin në më shumë detaje. Nga çfarë përbëhej?

Andrew: Ka një ngjarje. Zgjat një orë e gjysmë. Ne duhet të sigurohemi që audienca që e shikon drejtpërdrejt dhe ata që janë ulur në stadium mund të shohin efektet e realitetit të shtuar në sinkronizim të plotë me shfaqjen live për sa i përket kohës dhe vendndodhjes në sit.

Kishte një sërë kufizimesh teknike. Ishte e pamundur të bëhej sinkronizimi i kohës nëpërmjet internetit, sepse ekzistonte frika për ngarkesë të tepërt në rrjet me tribuna të plota dhe perspektivë për pjesëmarrjen e krerëve të shteteve në aktivitet, gjë që mund të bllokonte rrjetet celulare.

Andrey Karsakov, foto nga material nga Universiteti ITMO
Podcast "ITMO Research_": si t'i qasemi sinkronizimit të përmbajtjes AR me një shfaqje në shkallën e një stadiumi të tërëNe kishim dy komponentë kyç të këtij projekti - përvojën personale që njerëzit mund të marrin përmes pajisjeve celulare, dhe atë që shkon në transmetimet televizive dhe ekranet e informacionit në vetë stadiumin.

Nëse papritmas një person po shikon episode të realitetit të shtuar përmes një pajisjeje celulare dhe në të njëjtën kohë del në ekran, ai duhet të shohë të njëjtën foto.

Na duheshin dy sisteme praktikisht të ndryshme për t'u sinkronizuar plotësisht në kohë. Por e veçanta e shfaqjeve të tilla është se këto janë ngjarje komplekse ku përfshihen një numër i madh shërbimesh teknike dhe të gjitha operacionet kryhen sipas kodeve kohore. Kodi i kohës është një moment specifik në kohë në të cilin diçka fillon: drita, zëri, largimi i njerëzve, hapja e petaleve të skenës, etj. Ne duhej të përshtateshim me këtë sistem që gjithçka të fillonte në kohën e duhur. Një veçori tjetër ishte se skenat dhe episodet me realitet të shtuar ishin të lidhura me skenarin.

Dmitri: Por a keni vendosur të braktisni përdorimin e kodeve të kohës për shkak të rreziqeve të larta të forcës madhore, apo keni llogaritur fillimisht disa karakteristika të fuqisë dhe keni kuptuar se ngarkesa në të gjithë sistemin do të ishte mjaft e lartë?

Andrew: Nëse bëni një shërbim sinkronizimi për një audiencë të tillë, atëherë nuk është shumë e vështirë. Në çdo rast, kërkesat nuk do të dështojnë brenda natës. Po, ngarkesa është e lartë, por nuk është një emergjencë. Pyetja është nëse ia vlen të shpenzoni burime dhe kohë për këtë nëse rrjeti fiket papritmas. Nuk ishim të sigurt se kjo nuk do të ndodhte. Në fund të fundit, gjithçka funksionoi, me ndërprerje për shkak të ngarkesës, por funksionoi dhe ne u sinkronizuam sipas kodit të kohës sipas një skeme tjetër. Kjo ishte një nga sfidat globale.

Vështirësitë e zbatimit nga pikëpamja UX

Kodi i kohës (nga versionet audio) — 10:42

Andrew: Ne gjithashtu duhej të kishim parasysh që stadiumi nuk është një vend klasik koncertesh dhe të sinkronizonim sistemet në të gjithë hapësirën për pajisjet mobile. Kështu që disa kohë më parë u bëra virale histori e realitetit të shtuar në koncertet e Eminem, atëherë pati një rast me Loboda.

Photo Shoot Robert Mirupafshim (Unsplash.com)
Podcast "ITMO Research_": si t'i qasemi sinkronizimit të përmbajtjes AR me një shfaqje në shkallën e një stadiumi të tërëPor kjo është gjithmonë një përvojë para jush - e gjithë turma qëndron para skenës, sinkronizimi është mjaft i thjeshtë. Në rastin e një stadiumi, duhet të kuptoni se në cilën anë të rrethit jeni, pozicionin relativ, në mënyrë që stadiumi të përshtatet në hapësirën që ekziston në mjedisin virtual. Ishte një sfidë e hidhur. Ata u përpoqën ta zgjidhnin në mënyra të ndryshme dhe rezultati ishte një rast i afërt me atë që u zbatua nga Loboda, por jo në të gjitha aspektet.

Ne e lëmë përdoruesin të vendosë se ku është. Bëmë shenja për stadiumin, ku njerëzit zgjidhnin një sektor, një rresht, një vend. E gjithë kjo në katër "klikime". Më pas na duhej të përcaktonim drejtimin për në skenë. Për ta bërë këtë, ne treguam një siluetë të asaj se si duhet të duket afërsisht skena nga një perspektivë e personalizuar. Ai e kombinoi atë, preku dhe kaq - skena u ul. Ne u përpoqëm ta thjeshtojmë këtë proces sa më shumë që të jetë e mundur. Megjithatë, 90% e shikuesve që dëshironin të shikonin shfaqjen nuk janë ata njerëz që kanë përvojë në komunikimin me realitetin e shtuar.

Dmitri: A kishte një aplikim të veçantë për këtë projekt?

Andrew: Po, një aplikacion për iOS dhe Android, të cilin e shtymë në dyqan. Kishte një fushatë të veçantë promovuese për të. Më parë u përshkrua në detaje se si të shkarkoni dhe kështu me radhë.

Dmitri: Ju duhet të kuptoni se nuk ka vend që një person të testojë fizikisht dhe të mësojë se si të përdorë një aplikacion të tillë. Prandaj, detyra e "edukimit" të audiencës u bë më e ndërlikuar.

Andrew: Po Po. Me UX, ne kapëm shumë gunga, sepse përdoruesi dëshiron të marrë përvojën në tre klikime: i shkarkuar, i instaluar, i nisur - funksionoi. Shumë njerëz janë shumë dembelë për të ndjekur mësime komplekse, për të lexuar mësime etj. Dhe ne nuk u përpoqëm t'i shpjegojmë çdo gjë përdoruesit sa më shumë që të jetë e mundur në tutorial: këtu do të hapet një dritare, qasja në kamerë këtu, përndryshe nuk do të funksionojë, etj. Sado shpjegime të shkruani, sado të detajuara t'i përtypni, pavarësisht se çfarë gif-sh futni, njerëzit nuk e lexojnë.

Në Minsk kemi mbledhur një grup të madh reagimesh për këtë pjesë, dhe tashmë kemi ndryshuar shumë për aplikimin në Kazan. Ne vendosëm atje jo vetëm ato fonograme dhe ato kode kohore që korrespondojnë me një episod specifik të realitetit të shtuar, por morëm të gjitha fonogramet dhe kodet kohore në tërësinë e tyre. Kështu që aplikacioni dëgjoi se çfarë po ndodhte në momentin e nisjes dhe - nëse një person hynte në momentin e gabuar - ai dha informacionin: "Shoku, më fal, episodi juaj AR do të jetë pas 15 minutash."

Pak për arkitekturën dhe qasjen ndaj sinkronizimit

Kodi i kohës (nga versionet audio) — 16:37

Dmitri: A keni vendosur të sinkronizoni me zë?

Andrew: Po, ka ndodhur rastësisht. Ne po shikonim opsionet dhe hasëm në një kompani Cifrasoft nga Izhevsk. Ata bëjnë një SDK jo veçanërisht të sofistikuar, por të punuar me hekur, i cili ju lejon të sinkronizoni tingullin me kohën. Sistemi u pozicionua për të punuar me TV, kur mund të shfaqësh diçka në një aplikacion bazuar në tingullin e një reklame të kushtëzuar ose të japësh një përvojë ndërvepruese bazuar në pjesën e filmit.

Dmitri: Por është një gjë - ju jeni ulur në dhomën tuaj të ndenjes dhe një gjë tjetër - një stadium me mijëra njerëz. Si shkuan gjërat për ju me cilësinë e regjistrimit të zërit dhe njohjen e tij pasuese?

Andrew: Kishte shumë frika dhe dyshime, por në shumicën e rasteve gjithçka njihej mirë. Ata ndërtojnë nënshkrime në pistën audio me algoritmet e tyre dinake - rezultati peshon më pak se skedari audio origjinal. Kur mikrofoni dëgjon tingujt përreth, ai përpiqet t'i gjejë këto veçori dhe të njohë pjesën në bazë të tyre. Në kushte të mira, saktësia e sinkronizimit është 0,1-0,2 sekonda. Kjo ishte më se e mjaftueshme. Në kushte të këqija mospërputhja ishte deri në 0,5 sekonda.

Shumë varet nga pajisja. Ne kemi punuar me një flotë të madhe pajisjesh. Për iPhone ka vetëm 10 modele. Ata funksionuan mirë për sa i përket cilësisë dhe veçorive të tjera. Por me android, kopshti zoologjik është si nëna ime. Jo kudo doli që sinkronizimi i zërit funksionoi. Kishte raste kur ishte e pamundur të dëgjoheshin këngë të ndryshme në pajisje të ndryshme për shkak të disa veçorive. Diku frekuencat e ulëta zhduken, diku frekuencat e larta fillojnë të fishkëllenin. Por nëse pajisja kishte një normalizues në mikrofon, sinkronizimi funksiononte gjithmonë.

Dmitri: Ju lutemi na tregoni për arkitekturën - çfarë u përdor në projekt?

Andrew: Ne e bëmë aplikacionin në Unity - opsioni më i thjeshtë për sa i përket multi-platformës dhe punës me grafikë. Fondacioni AR i përdorur. Ne thamë menjëherë se nuk donim ta komplikonim sistemin, kështu që u kufizuam në një flotë pajisjesh që mbështesin ARKit dhe ARCore në mënyrë që të kishim kohë për të testuar gjithçka. Ne bëmë një shtesë për DigitalSoft SDK, atë është në GitHub tonë. Ne krijuam një sistem të menaxhimit të përmbajtjes në mënyrë që skriptet të funksionojnë sipas afatit kohor.

Kemi ngatërruar pak me sistemin e grimcave, sepse përdoruesi mund të hyjë në çdo kohë në një episod të caktuar dhe ne kemi nevojë që ai të shohë gjithçka që nga momenti nga i cili është sinkronizuar. Ne ndërtuam një sistem që lejon që skenarët të luhen qartë në kohë, në mënyrë që përvoja XNUMXD të mund të lëvizet përpara dhe mbrapa, si në një film. Ndërsa funksionon jashtë kutisë me animacionet klasike, na u desh të ndërhynim me sistemet e grimcave. Në një moment, ata fillojnë të pjellin dhe nëse e gjeni veten diku para pikës së pjelljes, ata nuk kanë lindur ende, megjithëse duket se duhet të jenë. Por ky problem në fakt është mjaft i lehtë për t'u zgjidhur.

Për pjesën e lëvizshme, arkitektura është mjaft e thjeshtë. Për transmetimin televiziv gjithçka është më e ndërlikuar. Kishim kufizime harduerike. Klienti vendosi një kusht: "Këtu kemi një park harduerësh të tillë, përafërsisht, gjithçka duhet të punojë në të." Ne u përqendruam menjëherë në faktin se do të punonim me karta video të kapjes relativisht buxhetore. Por buxheti nuk do të thotë se ata janë të këqij.

Kishte kufizime në harduer, në kartat e kapjes së videove dhe në kushtet e punës - si duhet ta marrim foton. Kartat e kapjes - Blackmagic Design, të punuara sipas skemës së kyçjes së brendshme - kjo është kur një kornizë video ju vjen nga kamera. Karta ka çipin e vet të përpunimit, ku është futur edhe një kornizë, e cila duhet të mbivendoset sipër asaj që hyn. Karta i përzien ato - ne nuk prekim asgjë tjetër atje dhe nuk ndikojmë në kornizën nga kamera video. Ajo nxjerr rezultatin në dhomën e kontrollit përmes daljes video. Kjo është një metodë e mirë për mbivendosjen e titujve dhe gjërave të tjera të ngjashme, por nuk është shumë e përshtatshme për efektet e realitetit të përzier, sepse ka shumë kufizime në tubacionin e renderit.

Dmitri: Për sa i përket llogaritjes në kohë reale, lidhjes së objekteve apo diçka tjetër?

Andrew: Për sa i përket cilësisë dhe arritjes së efekteve të dëshiruara. Sepse ne nuk e dimë se çfarë po e vendosim foton sipër. Ne thjesht dërgojmë informacione për ngjyrat dhe transparencën në krye të transmetimit origjinal. Disa efekte të tilla si thyerjet, transparenca e saktë dhe hijet shtesë nuk mund të arrihen me këtë skemë. Për ta bërë këtë, ju duhet të jepni gjithçka së bashku. Për shembull, nuk ka asnjë mënyrë për të krijuar efektin e shtrembërimit të ajrit nga zjarri ose asfalti i nxehtë. E njëjta gjë vlen edhe për transferimin e efektit të transparencës duke marrë parasysh indeksin e thyerjes. Fillimisht krijuam përmbajtje bazuar në këto kufizime dhe u përpoqëm të përdorim efektet e duhura.

Shiko këtë post në Instagram

Mbyllja e Lojërave II Evropiane në Minsk.

Një post i ndarë nga Alena Lanskaya (@alyonalanskaya) më 30 qershor 2019 në orën 3:19 PDT

Dmitri: Keni tashmë përmbajtjen tuaj në projektin e parë për Lojërat Evropiane?

Andrew: Jo, faza kryesore e zhvillimit të përmbajtjes u bë nga djemtë nga Sechenov.com. Grafikët e tyre e vizatuan përmbajtjen bazë me animacione dhe gjëra të tjera. Dhe ne integruam gjithçka në motor, shtuam efekte shtesë, e përshtatëm atë në mënyrë që gjithçka të funksiononte si duhet.

Nëse flasim për tubacionin, atëherë për transmetimin televiziv ne mblodhëm gjithçka në Unreal Engine 4. Rastësisht, ata pikërisht në atë moment filluan të nxisin mjetet e tyre për realitet të përzier. Doli se gjithçka nuk është aq e thjeshtë. Edhe tani të gjitha mjetet janë të papërpunuara, na u desh të përfundonim shumë me dorë. Në Minsk ne punuam në një ndërtim të personalizuar të motorit, domethënë, rishkruam disa gjëra brenda motorit në mënyrë që, për shembull, të mund të vizatonim hije mbi objekte reale. Versioni i motorit që ishte aktual në atë kohë nuk kishte veçori që do të lejonin që kjo të bëhej duke përdorur mjete standarde. Për këtë arsye, djemtë tanë bënë montimin e tyre personal për të siguruar gjithçka që ishte jetike e nevojshme.

Nuanca të tjera dhe përshtatje me WorldSkills në Kazan

Kodi i kohës (nga versionet audio) — 31:37

Dmitri: Por e gjithë kjo në një periudhë mjaft të shkurtër kohore?

Andrew: Afatet ishin të ngushta Projekti Kazan, sipas Minskut - normale. Rreth gjashtë muaj për zhvillim, por duke marrë parasysh faktin se ishin të përfshirë gjashtë persona. Në të njëjtën kohë, ne po bënim pjesën e lëvizshme dhe po zhvillonim mjete për prodhimin e televizionit. Nuk kishte vetëm një dalje fotografie. Për shembull, një sistem gjurmimi me optikë, për këtë ju duhej të krijonit mjetet tuaja.

Dmitri: A ka pasur ndonjë përshtatje nga një projekt në tjetrin? Në një muaj e gjysmë, ishte e nevojshme të përfitoni nga zhvillimet dhe të transferohej projekti me përmbajtje të re në një faqe të re?

Andrew: Po, ishte për një muaj e gjysmë. Ne kishim planifikuar një pushim dy-javor për të gjithë ekipin pas projektit të Minskut. Por menjëherë pas mbylljes, djemtë nga Sechenov.com dalin dhe thonë: "Epo, le të bëjmë Kazan atëherë." Ne ende arritëm të pushonim pak, por kaluam në këtë projekt mjaft shpejt. Kemi kryer disa punë teknike. Pjesa më e madhe e kohës u shpenzua në përmbajtje, sepse për WorldSkills ne e bëmë atë tërësisht, thjesht e koordinuam atë me ekipin e prodhimit. Kishte vetëm një skenar nga ana e tyre. Por ishte më e lehtë - nuk kishte nevojë për përsëritje shtesë. Kur krijoni vetë përmbajtje, menjëherë shihni se si funksionon në motor dhe mund ta modifikoni dhe koordinoni shpejt.


Për sa i përket pjesës celulare, ne morëm parasysh të gjitha hollësitë që kishim në Minsk. Bëmë një dizajn të ri aplikacioni, ridizajnuam pak arkitekturën, shtuam mësime, por u përpoqëm ta bënim sa më të shkurtër dhe të qartë. Ne reduktuam numrin e hapave të përdoruesit nga hapja e aplikacionit deri te shikimi i përmbajtjes. Një muaj e gjysmë mjaftoi për të përfunduar një projekt adekuat. Për një javë e gjysmë arritëm në vend. Ishte më e lehtë për të punuar atje, sepse i gjithë kontrolli mbi projektin ishte në duart e organizatorëve, nuk kishte nevojë të koordinohej me komitetet e tjera. Ishte më e thjeshtë dhe më e lehtë të punoje në Kazan dhe ishte krejt normale që kishte më pak kohë.

Dmitri: Por a vendosët ta lini qasjen ndaj sinkronizimit ashtu siç ishte, bazuar në zë?

Andrew: Po, e lamë me zë. Ajo funksionoi mirë. Siç thonë ata, nëse funksionon, mos e prekni. Ne thjesht morëm parasysh nuancat e cilësisë së pjesës audio. Kur ata bënë hyrjen, kishte një episod trajnimi që njerëzit ta provonin përpara se të fillonte shfaqja. Ishte befasuese që kur në momentin e luajtjes së pistës në stadium ka duartrokitje të furishme, "live", sistemi të lejon të sinkronizosh mirë me këtë pistë, por nëse në këtë moment duartrokitjet e regjistruara përzihen me pistën, atëherë pista nuk kapet më. Të tilla nuanca u morën parasysh dhe gjithçka ishte e sinkronizuar mjaft mirë për sa i përket zërit.

PS Në pjesën e dytë të numrit flitet për vizualizimin e të dhënave shkencore, modelimin e procesit në projekte të tjera, zhvillimin e lojës dhe programin master "Teknologjia e zhvillimit të lojërave kompjuterike" Vazhdimin do ta publikojmë në artikullin vijues. Ju mund të na dëgjoni dhe na mbështesni këtu:

PPS Ndërkohë, në versionin anglisht të Habr: një vështrim më i afërt në Universitetin ITMO.

Burimi: www.habr.com

Shto një koment