Podcast "ITMO Research_": kung paano lapitan ang pag-synchronize ng AR content sa isang palabas sa sukat ng isang buong stadium

Ito ang unang bahagi ng text transcript ng ikalawang panayam para sa aming programa (Mga Podcast ng Apple, Yandex.Music). Isyu Panauhin - Andrey Karsakov (kapc3d), Ph.D., senior researcher sa National Center for Cognitive Research, associate professor sa Faculty of Digital Transformations.

Mula noong 2012, nagtatrabaho si Andrey sa pangkat ng pananaliksik na Visualization at Computer Graphics. Nakikibahagi sa malalaking proyektong inilapat sa antas ng estado at internasyonal. Sa bahaging ito ng pag-uusap, pinag-uusapan natin ang kanyang karanasan sa suporta sa AR para sa mga pampublikong kaganapan.

Podcast "ITMO Research_": kung paano lapitan ang pag-synchronize ng AR content sa isang palabas sa sukat ng isang buong stadium
Larawan Ito ang Engineering RAEng (Unsplash.com)

Konteksto at layunin ng proyekto

Timecode (ni mga bersyon ng audio) β€” 00:41

dmitrykabanov: Gusto kong magsimula sa proyekto ng European Games. Ito ay multi-component, maraming mga koponan ang nakibahagi sa paghahanda, at ang pagbibigay ng augmented reality para sa isang manonood ng libu-libo sa panahon mismo ng isang kaganapan sa istadyum ay isang seryosong gawain. Sa mga tuntunin ng iyong paglahok, software ba ang una?

kapc3d: Oo, ginawa namin ang bahagi ng programming at nagbigay ng suporta sa panahon ng palabas. Kinakailangang subaybayan, subaybayan at ilunsad ang lahat sa real time, at makipagtulungan din sa grupo ng telebisyon. Kung isasaalang-alang natin ang proyektong ito sa kabuuan, maaari nating pag-usapan ang pagbubukas at pagsasara ng mga seremonya Mga Larong Europeo sa Minsk, pati na rin ang tungkol sa pagbubukas ng seremonya ng kampeonato WorldSkills sa Kazan. Ito ay ang parehong pamamaraan ng trabaho, ngunit magkaibang mga kaganapan. Dalawang buwan ang pagitan nila. Inihanda namin ang proyekto kasama ang mga lalaki mula sa kumpanya Sechenov.com.

Nakilala namin sila nang nagkataon Science Fest, na naganap noong taglagas ng 2018. Ipinakita ng mga estudyante ng aming master ang kanilang proyekto sa kurso sa paksa ng VR. Lumapit sa amin ang mga lalaki at tinanong kung ano ang ginagawa namin sa aming laboratoryo. Ito ay mukhang ganito:

β€” Nagtatrabaho ka sa VR, ngunit maaari ka bang magtrabaho sa augmented reality?

- Well, uri ng, oo.

- Mayroong ganoong gawain, na may ganitong mga panimulang tala. kaya mo ba?

Nagkamot sila ng kaunti sa kanilang mga singkamas, tila walang anumang bagay na hindi makatotohanan:

- Subukan muna nating pag-aralan ang lahat, at pagkatapos ay humanap ng solusyon.

Dmitriy: Nagbibigay lang ba sila ng suporta sa media?

Andrew: Gumagawa sila ng isang buong stack. Mula sa pananaw ng pamamahala at organisasyon, ganap silang kasangkot sa pagdidirekta, pagtatanghal ng dula, pagpili ng mga tanawin, logistik at iba pang teknikal na suporta. Ngunit nais nilang gumawa ng isang bagay na espesyal para sa European Games. Ang mga espesyal na epekto na ito, tulad ng mixed reality, ay ginawa para sa telebisyon sa loob ng mahabang panahon, ngunit hindi sila ang pinaka-badyet sa mga tuntunin ng teknikal na pagpapatupad. Samakatuwid, ang mga lalaki ay naghanap ng mga alternatibong opsyon.

Dmitriy: Talakayin natin ang problema nang mas detalyado. Ano ang binubuo nito?

Andrew: May event. Ito ay tumatagal ng isang oras at kalahati. Kailangan nating tiyakin na ang madlang nanonood nito nang live at ang mga nakaupo sa stadium ay makikita ang augmented reality effect sa buong pag-synchronize sa live na palabas sa mga tuntunin ng oras at lokasyon sa site.

Mayroong ilang mga teknikal na limitasyon. Imposibleng gawin ang pag-synchronize ng oras sa pamamagitan ng Internet, dahil may mga takot tungkol sa labis na pag-load sa network na may ganap na stand at ang pag-asam ng mga pinuno ng estado na dumalo sa kaganapan, na maaaring mag-jam sa mga mobile network.

Andrey Karsakov, larawan mula sa materyal mula sa ITMO University
Podcast "ITMO Research_": kung paano lapitan ang pag-synchronize ng AR content sa isang palabas sa sukat ng isang buong stadiumMayroon kaming dalawang pangunahing bahagi sa proyektong ito - ang personal na karanasan na makukuha ng mga tao sa pamamagitan ng mga mobile device, at kung ano ang napupunta sa broadcast sa telebisyon at mga screen ng impormasyon sa mismong stadium.

Kung biglang nanonood ang isang tao ng mga episode ng augmented reality sa pamamagitan ng isang mobile device at sa parehong oras ay nasa screen, dapat niyang makita ang parehong larawan.

Kailangan namin ng dalawang halos magkaibang sistema upang ganap na mai-synchronize sa oras. Ngunit ang kakaiba ng mga naturang palabas ay ang mga ito ay kumplikadong mga kaganapan kung saan ang isang malaking bilang ng mga teknikal na serbisyo ay kasangkot at ang lahat ng mga operasyon ay isinasagawa ayon sa mga code ng oras. Ang time code ay isang partikular na sandali sa oras kung kailan nagsimula ang isang bagay: liwanag, tunog, mga taong umaalis, pagbubukas ng mga talulot ng entablado, at iba pa. Kinailangan naming umangkop sa sistemang ito para magsimula ang lahat sa tamang panahon. Ang isa pang tampok ay ang mga eksena at episode na may augmented reality ay may kaugnayan sa script.

Dmitriy: Ngunit nagpasya ka bang talikuran ang paggamit ng mga time code dahil sa mataas na panganib ng force majeure, o una mong kinakalkula ang ilang mga katangian ng kapangyarihan at napagtanto na ang pagkarga sa buong sistema ay magiging napakataas?

Andrew: Kung lumikha ka ng isang serbisyo sa pag-synchronize para sa gayong madla, kung gayon hindi ito napakahirap. Sa anumang kaso, ang mga kahilingan ay hindi mabibigo sa magdamag. Oo, mataas ang load, ngunit hindi ito emergency. Ang tanong ay kung ito ay nagkakahalaga ng paggastos ng mga mapagkukunan at oras dito kung ang network ay biglang nawala. Hindi kami sigurado na hindi ito mangyayari. Sa huli, gumana ang lahat, na may mga pagkaantala dahil sa pagkarga, ngunit gumana ito, at nag-synchronize kami ayon sa time code ayon sa ibang scheme. Isa ito sa mga pandaigdigang hamon.

Mga kahirapan sa pagpapatupad mula sa isang UX point of view

Timecode (ni mga bersyon ng audio) β€” 10:42

Andrew: Kinailangan din naming isaalang-alang na ang stadium ay hindi isang klasikong lugar ng konsiyerto, at i-synchronize ang mga system sa buong espasyo para sa mga mobile device. Kaya, ilang oras na ang nakalipas nag-viral ako kwento ng augmented reality sa Eminem concerts, tapos may kaso sa Loboda.

Larawan Robert Bye (Unsplash.com)
Podcast "ITMO Research_": kung paano lapitan ang pag-synchronize ng AR content sa isang palabas sa sukat ng isang buong stadiumNgunit ito ay palaging isang karanasan sa harap mo - ang buong karamihan ay nakatayo sa harap ng entablado, ang pag-synchronize ay medyo simple. Sa kaso ng isang stadium, kailangan mong maunawaan kung saang bahagi ng bilog ka naroroon, ang relatibong posisyon, upang ang istadyum ay umaangkop sa espasyo na umiiral sa virtual na kapaligiran. Ito ay isang maasim na hamon. Sinubukan nilang lutasin ito sa iba't ibang paraan, at ang resulta ay isang kaso na malapit sa ipinatupad ng Loboda, ngunit hindi sa lahat ng aspeto.

Hinahayaan namin ang user na magpasya kung nasaan siya. Gumawa kami ng mga marka para sa istadyum, kung saan ang mga tao ay pumili ng isang sektor, isang hilera, isang lugar. Ang lahat ng ito sa apat na "pag-click". Susunod na kailangan naming matukoy ang direksyon sa entablado. Para magawa ito, nagpakita kami ng silhouette kung ano dapat ang hitsura ng eksena mula sa isang custom na pananaw. Pinagsama-sama niya ito, tinapik at iyon na - umupo ang entablado. Sinubukan naming gawing simple ang prosesong ito hangga't maaari. Gayunpaman, 90% ng mga manonood na gustong manood ng palabas ay hindi ang mga taong may karanasang makipag-usap sa augmented reality.

Dmitriy: Mayroon bang hiwalay na aplikasyon para sa proyektong ito?

Andrew: Oo, isang application para sa iOS at Android, na itinulak namin sa tindahan. Nagkaroon ng hiwalay na kampanyang pang-promosyon para dito. Nauna nang inilarawan nang detalyado kung paano mag-download at iba pa.

Dmitriy: Kailangan mong maunawaan na walang lugar para sa pisikal na pagsubok ng isang tao at matutunan kung paano gamitin ang naturang application. Samakatuwid, ang gawain ng "pagtuturo" sa madla ay naging mas kumplikado.

Andrew: Oo Oo. Sa UX, marami kaming nahuli, dahil gusto ng user na makuha ang karanasan sa tatlong pag-click: na-download, na-install, inilunsad - gumana ito. Maraming tao ang tamad na sundin ang mga kumplikadong tutorial, magbasa ng mga tutorial, at iba pa. At hindi namin sinubukan na ipaliwanag ang lahat sa gumagamit hangga't maaari sa tutorial: magbubukas ang isang window dito, ma-access ang camera dito, kung hindi man ay hindi ito gagana, at iba pa. Kahit gaano karaming mga paliwanag ang isulat mo, gaano man ka detalyado ang pagnguya mo, kahit anong gif ang ipasok mo, hindi ito binabasa ng mga tao.

Sa Minsk nakolekta namin ang isang malaking pool ng feedback sa bahaging ito, at marami na ang nagbago para sa application sa Kazan. Inilagay namin doon hindi lamang ang mga phonograms at ang mga time code na tumutugma sa isang partikular na episode ng augmented reality, ngunit kinuha namin ang lahat ng phonograms at time code sa kabuuan ng mga ito. Kaya narinig ng application kung ano ang nangyayari sa oras ng paglulunsad, at - kung ang isang tao ay nag-log in sa maling sandali - nagbigay ito ng impormasyon: "Kasama, pasensya na, ang iyong AR episode ay magiging sa loob ng 15 minuto."

Kaunti tungkol sa arkitektura at diskarte sa pag-synchronize

Timecode (ni mga bersyon ng audio) β€” 16:37

Dmitriy: Nagpasya ka bang mag-synchronize sa pamamagitan ng tunog?

Andrew: Oo, aksidenteng nangyari. Naghanap kami ng mga pagpipilian at nakatagpo kami ng isang kumpanya Cifrasoft mula sa Izhevsk. Gumagawa sila ng hindi partikular na sopistikado, ngunit gumaganang bakal na SDK, na nagbibigay-daan sa iyong i-synchronize ang tunog sa timing. Ang system ay nakaposisyon upang gumana sa TV, kapag maaari kang magpakita ng isang bagay sa isang application batay sa tunog ng isang conditional advertisement o magbigay ng interactive na karanasan batay sa track ng pelikula.

Dmitriy: Ngunit ito ay isang bagay - nakaupo ka sa iyong sala, at isa pang bagay - isang istadyum na may libu-libong tao. Paano naging maayos ang mga bagay para sa iyo sa kalidad ng sound recording at sa kasunod na pagkilala nito?

Andrew: Mayroong maraming mga takot at pagdududa, ngunit sa karamihan ng mga kaso ang lahat ay kinikilala nang maayos. Bumubuo sila ng mga lagda sa audio track gamit ang kanilang mga tusong algorithm - ang resulta ay mas mababa kaysa sa orihinal na audio file. Kapag nakikinig ang mikropono sa nakapaligid na tunog, sinusubukan nitong hanapin ang mga feature na ito at kilalanin ang track batay sa mga ito. Sa magandang kundisyon, ang katumpakan ng pag-synchronize ay 0,1-0,2 segundo. Ito ay higit pa sa sapat. Sa masasamang kondisyon, ang pagkakaiba ay hanggang 0,5 segundo.

Marami ang nakasalalay sa aparato. Nagtatrabaho kami sa isang malaking fleet ng mga device. Para sa mga iPhone mayroon lamang 10 mga modelo. Nagtrabaho sila nang maayos sa mga tuntunin ng kalidad at iba pang mga tampok. Ngunit sa mga android ang zoo ay parang nanay ko. Hindi sa lahat ng dako lumabas na gumana ang sound synchronization. May mga kaso kung kailan imposibleng marinig ang iba't ibang mga track sa iba't ibang mga device dahil sa ilang mga kakaiba. Sa isang lugar ay nawawala ang mga mababang frequency, sa isang lugar ang mga mataas na frequency ay nagsisimulang humihinga. Ngunit kung ang device ay may normalizer sa mikropono, palaging gumagana ang pag-synchronize.

Dmitriy: Mangyaring sabihin sa amin ang tungkol sa arkitektura - ano ang ginamit sa proyekto?

Andrew: Ginawa namin ang application sa Unity - ang pinakasimpleng opsyon sa mga tuntunin ng multi-platform at pagtatrabaho sa mga graphics. Ginamit na AR Foundation. Agad naming sinabi na ayaw naming gawing kumplikado ang system, kaya nilimitahan namin ang aming sarili sa isang fleet ng mga device na sumusuporta sa ARKit at ARCore upang magkaroon ng oras upang subukan ang lahat. Gumawa kami ng isang plugin para sa DigitalSoft SDK, ito ay nasa aming GitHub. Gumawa kami ng content management system para tumakbo ang mga script ayon sa timeline.

Inalam namin ng kaunti ang particle system, dahil maaaring pumasok ang user anumang oras sa isang partikular na episode, at kailangan namin siyang makita ang lahat mula sa sandali kung saan siya nag-synchronize. Nag-tinker kami ng isang system na nagbibigay-daan sa mga senaryo na mai-play nang malinaw sa oras, upang ang XNUMXD na karanasan ay maaaring mag-scroll pabalik-balik, tulad ng sa isang pelikula. Bagama't gumagana ito sa labas ng kahon na may mga klasikong animation, kinailangan naming gumamit ng mga particle system. Sa ilang mga punto, nagsisimula silang mag-spawn, at kung nahanap mo ang iyong sarili sa isang lugar bago ang spawn point, hindi pa sila isinilang, bagaman tila dapat sila. Ngunit ang problemang ito ay talagang madaling malutas.

Para sa mobile na bahagi, ang arkitektura ay medyo simple. Para sa pagsasahimpapawid sa telebisyon ang lahat ay mas kumplikado. Nagkaroon kami ng mga paghihigpit sa hardware. Nagtakda ang customer ng kundisyon: "Narito mayroon kaming ganoon at ganoong hardware na parke, halos lahat ng bagay ay kailangang ayusin ito." Agad kaming nag-focus sa katotohanan na makikipagtulungan kami sa medyo badyet na mga video capture card. Ngunit ang badyet ay hindi nangangahulugan na sila ay masama.

May mga paghihigpit sa hardware, sa mga video capture card at sa mga kondisyon sa pagtatrabaho - kung paano namin dapat matanggap ang larawan. Pagkuha ng mga card - Blackmagic Design, nagtrabaho ayon sa Internal keying scheme - ito ay kapag dumating sa iyo ang isang video frame mula sa camera. Ang card ay may sariling processing chip, kung saan ang isang frame ay ipinasok din, na dapat na nakapatong sa ibabaw ng papasok. Pinaghahalo ang mga ito ng card - wala kaming ibang hinawakan doon at hindi naaapektuhan ang frame mula sa video camera. Inilabas niya ang resulta sa control room sa pamamagitan ng video output. Ito ay isang mahusay na paraan para sa pag-overlay ng mga pamagat at iba pang katulad na bagay, ngunit hindi ito masyadong angkop para sa mga mixed reality effect dahil maraming mga paghihigpit sa render pipeline.

Dmitriy: Sa mga tuntunin ng real-time na computing, object binding, o iba pa?

Andrew: Sa mga tuntunin ng kalidad at pagkamit ng ninanais na mga epekto. Dahil hindi namin alam kung ano ang inilalagay namin sa ibabaw ng larawan. Nagpapadala lang kami ng kulay at transparency na impormasyon sa ibabaw ng orihinal na stream. Ang ilang mga epekto tulad ng mga repraksyon, tamang transparency, at karagdagang mga anino ay hindi makakamit sa pamamaraang ito. Upang gawin ito, kailangan mong i-render ang lahat nang magkasama. Halimbawa, walang paraan upang lumikha ng epekto ng air distortion mula sa apoy o mainit na aspalto. Ang parehong napupunta para sa paglipat ng transparency effect na isinasaalang-alang ang refractive index. Una kaming gumawa ng nilalaman batay sa mga paghihigpit na ito at sinubukang gumamit ng mga naaangkop na epekto.

Tingnan ang post na ito sa Instagram

Pagsasara ng II European Games sa Minsk.

Isang post na ibinahagi ni Alena Lanskaya (@alyonalanskaya) noong Hun 30, 2019 nang 3:19pm PDT

Dmitriy: Mayroon ka na bang sariling nilalaman sa unang proyekto para sa European Games?

Andrew: Hindi, ang pangunahing yugto ng pagbuo ng nilalaman ay ginawa ng mga lalaki mula sa Sechenov.com. Iginuhit ng kanilang mga graphic artist ang pangunahing nilalaman gamit ang mga animation at iba pang bagay. At isinama namin ang lahat sa makina, nagdagdag ng mga karagdagang epekto, inangkop ito upang gumana nang tama ang lahat.

Kung pinag-uusapan natin ang pipeline, pagkatapos ay para sa pagsasahimpapawid sa telebisyon ay pinagsama namin ang lahat sa Unreal Engine 4. Nagkataon, sa sandaling iyon ay nagsimula silang palakasin ang kanilang mga tool para sa magkahalong katotohanan. Ito ay lumabas na ang lahat ay hindi gaanong simple. Kahit ngayon ang lahat ng mga tool ay hilaw; kailangan naming tapusin ang marami sa pamamagitan ng kamay. Sa Minsk nagtrabaho kami sa isang custom na build ng engine, iyon ay, muling isinulat namin ang ilang bagay sa loob ng engine upang, halimbawa, maaari kaming gumuhit ng mga anino sa ibabaw ng mga tunay na bagay. Ang bersyon ng engine na kasalukuyang sa oras na iyon ay walang mga tampok na magpapahintulot na gawin ito gamit ang mga karaniwang tool. Para sa kadahilanang ito, gumawa ang aming mga lalaki ng kanilang sariling custom na pagpupulong upang maibigay ang lahat ng bagay na napakahalaga.

Iba pang mga nuances at adaptasyon sa WorldSkills sa Kazan

Timecode (ni mga bersyon ng audio) β€” 31:37

Dmitriy: Ngunit ang lahat ng ito sa isang medyo maikling panahon?

Andrew: Ang mga deadline ay mahigpit proyekto ng Kazan, ayon sa Minsk - normal. Mga anim na buwan para sa pag-unlad, ngunit isinasaalang-alang ang katotohanan na anim na tao ang kasangkot. Kasabay nito, ginagawa namin ang mobile na bahagi at pagbuo ng mga tool para sa produksyon ng telebisyon. Hindi lamang isang larawan ang lumabas. Halimbawa, isang sistema ng pagsubaybay na may mga optika, para dito kailangan mong lumikha ng iyong sariling mga tool.

Dmitriy: Mayroon bang anumang adaptasyon mula sa isang proyekto patungo sa isa pa? Sa isang buwan at kalahati, kinailangan bang samantalahin ang mga pag-unlad at ilipat ang proyekto na may bagong nilalaman sa isang bagong site?

Andrew: Oo, ito ay para sa isang buwan at kalahati. Nagplano kami ng dalawang linggong bakasyon para sa buong koponan pagkatapos ng proyekto ng Minsk. Ngunit kaagad pagkatapos ng pagsasara, ang mga lalaki mula sa Sechenov.com ay lumapit at nagsabi: "Buweno, gawin natin ang Kazan." Nakapagpahinga pa rin kami ng kaunti, ngunit mabilis na lumipat sa proyektong ito. Natapos namin ang ilang teknikal na gawain. Karamihan sa oras ay ginugol sa nilalaman, dahil para sa WorldSkills ginawa namin ito nang buo, nakipag-coordinate lang kami sa production team. May script lang sa part nila. Ngunit ito ay mas madali - hindi na kailangan para sa mga karagdagang pag-ulit. Kapag ikaw mismo ang gumawa ng content, makikita mo kaagad kung paano ito gumagana sa engine, at mabilis kang makakapag-edit at makakapag-coordinate.


Tungkol sa mobile na bahagi, isinasaalang-alang namin ang lahat ng mga subtleties na mayroon kami sa Minsk. Gumawa kami ng bagong disenyo ng application, muling idisenyo ang arkitektura, nagdagdag ng mga tutorial, ngunit sinubukan itong gawing maikli at malinaw hangga't maaari. Binawasan namin ang bilang ng mga hakbang ng user mula sa paglulunsad ng application hanggang sa pagtingin sa nilalaman. Ang isang buwan at kalahati ay sapat na upang makumpleto ang isang sapat na proyekto. Sa isang linggo at kalahati ay narating namin ang site. Mas madaling magtrabaho doon dahil ang lahat ng kontrol sa proyekto ay nasa kamay ng mga organizer; hindi na kailangang makipag-ugnayan sa ibang mga komite. Mas simple at mas madaling magtrabaho sa Kazan at medyo normal na may kaunting oras.

Dmitriy: Ngunit nagpasya ka bang iwanan ang diskarte sa pag-synchronize tulad ng dati, batay sa tunog?

Andrew: Oo, iniwan namin ito sa pamamagitan ng tunog. Ito ay gumana nang maayos. Tulad ng sinasabi nila, kung ito ay gumagana, huwag hawakan ito. Isinasaalang-alang lang namin ang mga nuances ng kalidad ng audio track. Noong nag-intro sila, nagkaroon ng training episode para subukan ng mga tao bago magsimula ang palabas. Nakakagulat na kapag sa sandali ng paglalaro ng track sa istadyum ay may mabagyong palakpakan, "live", pinapayagan ka ng system na mag-synchronize nang maayos sa track na ito, ngunit kung sa sandaling ito ang naitala na palakpakan ay halo-halong sa track, kung gayon ang hindi na nahuli ang track. Ang ganitong mga nuances ay isinasaalang-alang, at ang lahat ay na-synchronize nang maayos sa mga tuntunin ng tunog.

PS Sa ikalawang bahagi ng isyu pinag-uusapan natin ang tungkol sa visualization ng siyentipikong data, pagmomodelo ng proseso sa iba pang mga proyekto, pagbuo ng laro at programa ng master "Teknolohiya ng pagbuo ng laro sa computer" Maglalathala kami ng pagpapatuloy sa susunod na artikulo. Maaari mo kaming pakinggan at suportahan dito:

PPS Samantala, sa Ingles na bersyon ng Habr: isang malapitang pagtingin sa ITMO University.

Pinagmulan: www.habr.com

Magdagdag ng komento