Podcast "ITMO Research_": cara nyedhaki sinkronisasi konten AR kanthi pertunjukan ing skala kabeh stadion

Iki minangka bagΓ©an pisanan saka transkrip teks wawancara kapindho kanggo program kita (Apple Podcasts, Yandex.Music). Tamu edisi - Andrey Karsakov (kapc3d), Ph.D., peneliti senior ing Pusat Riset Kognitif Nasional, profesor asosiasi ing Fakultas Transformasi Digital.

Wiwit 2012, Andrey wis kerja ing grup riset Visualisasi lan Grafik Komputer. Melu ing proyek terapan gedhe ing tingkat negara lan internasional. Ing bagean obrolan iki, kita ngomong babagan pengalaman ing dhukungan AR kanggo acara umum.

Podcast "ITMO Research_": cara nyedhaki sinkronisasi konten AR kanthi pertunjukan ing skala kabeh stadion
Photography Iki Teknik RAEng (Unsplash.com)

Konteks lan tujuan proyek

Kode wektu (dening versi audio) β€” 00:41

dmitrykabanov: Aku pengin miwiti karo proyek European Games. Iku multi-komponen, sawetara tim njupuk bagΓ©yan ing preparation, lan nyediakake augmented kasunyatan kanggo ewu pirsawan tengen sak acara ing stadion tugas cukup serius. Ing babagan keterlibatan sampeyan, apa piranti lunak luwih dhisik?

kapc3d: Ya, kita nindakake bagean pemrograman lan nyedhiyakake dhukungan sajrone pertunjukan kasebut. Sampeyan perlu kanggo trek, ngawasi lan miwiti kabeh ing wektu nyata, lan uga bisa karo grup televisi. Yen kita nganggep proyek iki kanthi wutuh, mula kita bisa ngomong babagan upacara pembukaan lan penutupan Games Eropah ing Minsk, uga babagan upacara pembukaan juara WorldSkills ing Kazan. Iku rencana karya padha, nanging acara beda. Ana longkangan rong sasi antarane wong-wong mau. Kita nyiapake proyek kasebut bebarengan karo wong lanang saka perusahaan Sechenov.com.

We ketemu wong dening kasempatan ing Science Fest, sing kedadeyan ing musim gugur 2018. Siswa master kita nampilake proyek kursus babagan topik VR. Wong lanang teka lan takon apa sing ditindakake ing laboratorium. Iku katon kaya iki:

- Sampeyan bisa nggarap VR, nanging sampeyan bisa nggarap kasunyatan ditambah?

- Inggih, jenis, ya.

- Ana tugas kuwi, karo cathetan pambuka kuwi. Apa sampeyan bisa nindakake?

Dheweke rada ngeruk turnips, kayane ora ana sing ora nyata:

- Coba sinau kabeh dhisik, banjur golek solusi.

Dmitriy: Apa dheweke mung nyedhiyakake dhukungan media?

Andrew: Padha nggawe tumpukan lengkap. Saka sudut pandang manajemen lan organisasi, dheweke melu ngarahake, pementasan, pemilihan pemandangan, logistik lan dhukungan teknis liyane. Nanging dheweke pengin nindakake khusus kanggo Game Eropa. Efek khusus iki, kaya kasunyatan campuran, wis digawe kanggo televisi kanggo wektu sing cukup suwe, nanging dudu sing paling ramah anggaran babagan implementasine teknis. Mulane, wong lanang nggoleki opsi alternatif.

Dmitriy: Ayo ngrembug masalah kasebut kanthi luwih rinci. Apa isine?

Andrew: Ana acara. Suwene jam setengah. Kita kudu mesthekake yen pamirsa sing nonton langsung lan sing lungguh ing stadion bisa ndeleng efek kasunyatan ditambah kanthi sinkronisasi lengkap karo pertunjukan langsung babagan wektu lan lokasi ing situs kasebut.

Ana sawetara watesan teknis. Ora mungkin kanggo nindakake sinkronisasi wektu liwat Internet, amarga ana rasa wedi babagan beban sing gedhe banget ing jaringan kanthi stands lengkap lan prospek kepala negara sing nekani acara kasebut, sing bisa macet ing jaringan seluler.

Andrey Karsakov, foto saka materi saka Universitas ITMO
Podcast "ITMO Research_": cara nyedhaki sinkronisasi konten AR kanthi pertunjukan ing skala kabeh stadionKita duwe rong komponen utama kanggo proyek iki - pengalaman pribadi sing bisa ditindakake wong liwat piranti seluler, lan apa sing ana ing siaran televisi lan layar informasi ing stadion kasebut.

Yen dumadakan ana wong sing nonton episode saka kasunyatan ditambah liwat piranti seluler lan ing wektu sing padha nemu ing layar, iku kudu ndeleng gambar padha.

We needed loro sistem sakbenere beda supaya rampung disinkronake ing wektu. Nanging keanehan acara kasebut yaiku acara sing kompleks ing ngendi akeh layanan teknis sing melu lan kabeh operasi ditindakake miturut kode wektu. Kode wektu minangka wayahe tartamtu ing wektu nalika ana kedadeyan: cahya, swara, wong lunga, bukaan kelopak panggung, lan liya-liyane. Kita kudu adaptasi karo sistem iki supaya kabeh bakal diwiwiti ing wektu sing tepat. Fitur liyane yaiku adegan lan episode kanthi realita ditambah sing ana gandhengane karo naskah.

Dmitriy: Nanging sampeyan mutusake kanggo nglirwakake panggunaan kode wektu amarga risiko force majeure sing dhuwur, utawa sampeyan wiwit ngetung sawetara karakteristik daya lan ngerti manawa beban ing kabeh sistem bakal cukup dhuwur?

Andrew: Yen sampeyan nggawe layanan sinkronisasi kanggo pamirsa kasebut, mula ora angel banget. Ing kasus apa wae, panjaluk ora bakal gagal sewengi. Ya, beban kasebut dhuwur, nanging dudu darurat. Pitakonan iku apa iku worth mbuwang sumber daya lan wektu yen jaringan dumadakan metu. Kita padha ora yakin iki ora bakal kelakon. Pungkasane, kabeh bisa ditindakake, kanthi gangguan amarga beban, nanging bisa digunakake, lan kita nyelarasake miturut kode wektu miturut skema sing beda. Iki minangka salah sawijining tantangan global.

Kesulitan implementasi saka sudut pandang UX

Kode wektu (dening versi audio) β€” 10:42

Andrew: Kita uga kudu nganggep manawa stadion kasebut dudu papan konser klasik, lan nyinkronake sistem ing papan kanggo piranti seluler. Dadi, sawetara wektu kepungkur aku viral crita augmented reality ing konser Eminem, banjur ana kasus karo Loboda.

Photography Robert Bye (Unsplash.com)
Podcast "ITMO Research_": cara nyedhaki sinkronisasi konten AR kanthi pertunjukan ing skala kabeh stadionNanging iki mesthi dadi pengalaman ing ngarep sampeyan - kabeh wong ngadeg ing ngarep panggung, sinkronisasi cukup prasaja. Ing kasus stadion, sampeyan kudu ngerti ing sisih endi bunder sampeyan, posisi relatif, supaya stadion pas karo papan sing ana ing lingkungan virtual. Iku tantangan kecut. Dheweke nyoba ngrampungake kanthi macem-macem cara, lan asile ana kasus sing cedhak karo apa sing ditindakake dening Loboda, nanging ora kabeh babagan.

Kita ngidini pangguna mutusake ing ngendi dheweke. Kita nggawe tandha kanggo stadion, ing ngendi wong milih sektor, baris, papan. Kabeh iki ing papat "klik". Sabanjure kita kudu nemtokake arah menyang panggung. Kanggo nindakake iki, kita nuduhake siluet babagan tampilan sing kira-kira saka sudut pandang khusus. Dheweke gabungke, nutul lan iku - panggung lungguh. Kita nyoba kanggo nyederhanakake proses iki sabisa. Isih, 90% pamirsa sing pengin nonton acara kasebut dudu wong sing duwe pengalaman komunikasi karo kasunyatan sing ditambah.

Dmitriy: Apa ana aplikasi kapisah kanggo proyek iki?

Andrew: Ya, aplikasi kanggo iOS lan Android, sing kita push menyang toko. Ana kampanye promosi kapisah kanggo iku. SadurungΓ© wis diterangake kanthi rinci babagan carane ndownload lan liya-liyane.

Dmitriy: Sampeyan kudu ngerti manawa ora ana papan kanggo nguji fisik lan sinau babagan nggunakake aplikasi kasebut. Mulane, tugas "ngajari" penonton dadi luwih rumit.

Andrew: Ya wis. Kanthi UX, kita entuk akeh benjolan, amarga pangguna pengin entuk pengalaman kanthi telung klik: diundhuh, diinstal, diluncurake - kerjane. Akeh wong sing kesed ngetutake tutorial sing rumit, maca tutorial, lan liya-liyane. Lan kita ora nyoba kanggo njlentrehake kabeh kanggo pangguna sabisa-bisa ing tutorial: jendhela bakal mbukak ing kene, akses menyang kamera ing kene, yen ora, ora bakal bisa digunakake, lan liya-liyane. Ora ketompo carane akeh panjelasan sing sampeyan tulis, ora ketompo carane rinci sampeyan ngunyah, apa wae gif sing sampeyan lebokake, wong ora maca.

Ing Minsk, kita nglumpukake umpan balik sing akeh babagan bagean iki, lan wis akeh owah-owahan kanggo aplikasi ing Kazan. Kita sijine ing kono ora mung sing phonograms lan sing kode wektu sing cocog kanggo episode tartamtu saka augmented kasunyatan, nanging kita njupuk kabeh phonograms lan kode wektu ing kabeh. Dadi, aplikasi kasebut krungu apa sing kedadeyan nalika diluncurake, lan - yen ana wong sing mlebu ing wektu sing salah - menehi informasi: "Comrade, nuwun sewu, episode AR sampeyan bakal ana ing 15 menit."

A sethitik babagan arsitektur lan pendekatan kanggo sinkronisasi

Kode wektu (dening versi audio) β€” 16:37

Dmitriy: Apa sampeyan mutusake kanggo nyinkronake kanthi swara?

Andrew: Ya ora sengaja. Kita nggoleki opsi lan nemokake perusahaan Cifrasoft saka Izhevsk. Padha nggawe SDK ora utamanΓ© canggih, nanging wesi-apa, sing ngijini sampeyan kanggo nyinkronake swara karo wektu. Sistem iki dipanggonke kanggo bisa karo TV, nalika sampeyan bisa nampilake soko ing aplikasi adhedhasar swara saka iklan kondisional utawa menehi pengalaman interaktif adhedhasar trek film.

Dmitriy: Nanging siji bab - sampeyan lagi lungguh ing ruang tamu, lan liyane - stadion karo ewu wong. Kadospundi prakawis ingkang katindakaken kanthi kualitas rekaman swara lan pangenalan salajengipun?

Andrew: Ana akeh rasa wedi lan keraguan, nanging ing pirang-pirang kasus, kabeh diakoni kanthi apik. Dheweke nggawe tandha ing trek audio kanthi algoritma licik - asile bobote kurang saka file audio asli. Nalika mikropon ngrungokake swara ing saubengΓ©, iku nyoba kanggo nemokake fitur iki lan ngenali trek adhedhasar iku. Ing kahanan sing apik, akurasi sinkronisasi yaiku 0,1-0,2 detik. Iki luwih saka cukup. Ing kahanan ala, bedo nganti 0,5 detik.

Kathah gumantung ing piranti. We makarya karo armada gedhe saka piranti. Kanggo iPhone mung ana 10 model. Dheweke kerja kanthi apik babagan kualitas lan fitur liyane. Nanging karo android kebun binatang kaya ibuku. Ora nang endi wae ternyata sinkronisasi swara bisa digunakake. Ana kasus nalika ora bisa krungu trek beda ing piranti beda amarga sawetara peculiarities. Nang endi wae frekuensi kurang ilang, nang endi wae frekuensi dhuwur wiwit wheeze. Nanging yen piranti duwe normalizer ing mikropon, sinkronisasi tansah bisa.

Dmitriy: Mangga ngomong babagan arsitektur - apa sing digunakake ing proyek kasebut?

Andrew: Kita nggawe aplikasi ing Unity - pilihan paling gampang babagan multi-platform lan nggarap grafis. Yayasan AR digunakake. Kita langsung ujar manawa kita ora pengin nggawe rumit sistem kasebut, mula kita mbatesi awake dhewe menyang armada piranti sing ndhukung ARKit lan ARCore supaya duwe wektu kanggo nyoba kabeh. We digawe plugin kanggo DigitalSoft SDK, iku ana ing GitHub kita. Kita nggawe sistem manajemen konten supaya skrip bisa mlaku miturut timeline.

We tinkered sethitik karo sistem partikel, amarga pangguna bisa ngetik ing sembarang wektu ing episode tartamtu, lan kita kudu wong kanggo ndeleng kabeh saka wayahe saka kang diselarasake. We tinkered karo sistem sing ngidini skenario kanggo diputer metu cetha ing wektu, supaya pengalaman XNUMXD bisa nggulung bali lan kasebut, kaya ing film. Nalika kerjane metu saka kothak karo animasi klasik, kita kudu tinker karo sistem partikel. Ing sawetara titik, dheweke wiwit ngasilake, lan yen sampeyan nemokake dhewe ing endi wae sadurunge titik spawn, dheweke durung lair, sanajan kayane kudune. Nanging masalah iki bener cukup gampang kanggo ngatasi.

Kanggo bagean seluler, arsitektur cukup prasaja. Kanggo siaran televisi kabeh luwih rumit. Kita duwe watesan hardware. Pelanggan nyetel syarat: "Ing kene kita duwe taman hardware kaya ngono, kira-kira, kabeh kudu digarap." Kita langsung fokus ing kasunyatan sing bakal bisa karo kertu video capture relatif budget. Nanging anggaran ora ateges padha ala.

Ana watesan ing hardware, ing kertu njupuk video lan ing kahanan apa - carane kita kudu nampa gambar. Jupuk kertu - Desain Blackmagic, makarya miturut skema keying Internal - iki nalika pigura video teka saka kamera sampeyan. Kertu kasebut nduweni chip pangolahan dhewe, ing ngendi pigura uga dipasang, sing kudu ditumpangake ing ndhuwur sing mlebu. Kertu kasebut nyampur - kita ora ndemek apa-apa lan ora mengaruhi pigura saka kamera video. Dheweke muntahake asil menyang kamar kontrol liwat output video. Iki minangka cara sing apik kanggo overlaying judhul lan prekara liyane sing padha, nanging ora cocog kanggo efek kasunyatan campuran amarga ana akeh watesan ing pipa render.

Dmitriy: Ing babagan komputasi wektu nyata, naleni obyek, utawa liya-liyane?

Andrew: Ing babagan kualitas lan entuk efek sing dikarepake. Amarga kita ora ngerti apa sing kita sijine gambar ing ndhuwur. Kita mung ngirim informasi werna lan transparan ing ndhuwur stream asli. Sawetara efek kayata refraksi, transparansi sing bener, lan bayangan tambahan ora bisa digayuh nganggo skema iki. Kanggo nindakake iki, sampeyan kudu nggawe kabeh bebarengan. Contone, ora ana cara kanggo nggawe efek distorsi hawa saka geni utawa aspal panas. Padha dadi kanggo transfer efek transparan njupuk menyang akun indeks bias. Kita pisanan nggawe konten adhedhasar watesan kasebut lan nyoba nggunakake efek sing cocog.

Ndeleng postingan iki ing Instagram

Penutupan Game Eropa II ing Minsk.

Kiriman sing dienggo bareng Alena Lanskaya (@alyonalanskaya) tanggal 30 Juni 2019 jam 3:19 PDT

Dmitriy: Apa sampeyan wis duwe konten dhewe ing proyek pertama kanggo Game Eropa?

Andrew: Ora, tataran utama pangembangan konten ditindakake dening wong lanang saka Sechenov.com. Seniman grafis dheweke nggambar konten dhasar kanthi animasi lan liya-liyane. Lan kita nggabungake kabeh menyang mesin, nambah efek tambahan, dicocogake supaya kabeh bisa digunakake kanthi bener.

Yen kita ngomong babagan saluran pipa, banjur kanggo siaran televisi kita nglumpukake kabeh ing Unreal Engine 4. Kebeneran, dheweke mung ing wektu kasebut wiwit ngedongkrak alat kanggo kasunyatan campuran. Ternyata kabeh ora gampang banget. Malah saiki kabeh alat mentah; kita kudu ngrampungake akeh kanthi tangan. Ing Minsk, kita nggarap mesin khusus, yaiku, kita nulis maneh sawetara perkara ing njero mesin supaya, contone, kita bisa nggambar bayangan ing ndhuwur obyek nyata. Versi mesin sing saiki ana ing wektu kasebut ora duwe fitur sing bisa ditindakake kanthi nggunakake alat standar. Mulane, wong lanang kita nggawe perakitan adat dhewe kanggo nyedhiyakake kabeh sing perlu.

Nuansa lan adaptasi liyane kanggo WorldSkills ing Kazan

Kode wektu (dening versi audio) β€” 31:37

Dmitriy: Nanging kabeh iki ing wektu sing cukup cendhak?

Andrew: Deadline padha nyenyet Proyek Kazan, miturut Minsk - normal. Kira-kira nem sasi kanggo pembangunan, nanging njupuk menyang akun kasunyatan sing melu enem wong. Ing wektu sing padha, kita nggawe bagean seluler lan ngembangake alat kanggo produksi televisi. Ana ora mung output gambar. Contone, sistem pelacakan kanthi optik, sampeyan kudu nggawe alat sampeyan dhewe.

Dmitriy: Apa ana adaptasi saka siji proyek menyang proyek liyane? Ing sasi lan setengah, perlu kanggo njupuk kauntungan saka pembangunan lan nransfer proyek karo isi anyar menyang situs anyar?

Andrew: Ya, iku kanggo setengah sasi. Kita wis ngrancang liburan rong minggu kanggo kabeh tim sawise proyek Minsk. Nanging sanalika sawise nutup, wong lanang saka Sechenov.com teka lan ngomong: "Inggih, ayo padha nindakake Kazan." Kita isih bisa ngaso sethithik, nanging ngalih menyang proyek iki kanthi cepet. Kita ngrampungake sawetara karya teknis. Umume wektu digunakake kanggo konten, amarga kanggo WorldSkills kita nindakake kabeh, kita mung koordinasi karo tim produksi. Ana mung script ing sisih. Nanging luwih gampang - ora perlu pengulangan ekstra. Nalika sampeyan nggawe isi dhewe, sampeyan langsung ndeleng cara kerjane ing mesin, lan sampeyan bisa cepet ngowahi lan koordinasi.


Babagan bagean seluler, kita nganggep kabeh subtleties sing ana ing Minsk. We nggawe desain aplikasi anyar, redesigned arsitektur sethitik, nambah tutorial, nanging nyoba kanggo nggawe minangka cendhak lan cetha sabisa. Kita nyuda jumlah langkah pangguna saka ngluncurake aplikasi kanggo ndeleng konten. Sewulan setengah cukup kanggo ngrampungake proyek sing cukup. Ing minggu lan setengah kita tekan situs. Luwih gampang kerja ing kana amarga kabeh kontrol proyek ana ing tangan panitia, ora perlu koordinasi karo panitia liyane. Iku luwih prasaja lan luwih gampang kanggo bisa ing Kazan lan iku cukup normal sing ana wektu kurang.

Dmitriy: Nanging apa sampeyan mutusake kanggo ninggalake pendekatan sinkronisasi kaya kasebut, adhedhasar swara?

Andrew: Ya, kita ninggalake kanthi swara. Kerjane apik. Kaya sing dikandhakake, yen bisa, aja ndemek. Kita mung nganggep nuansa kualitas trek audio. Nalika padha nindakake intro, ana episode latihan kanggo wong nyoba sadurunge acara diwiwiti. Kaget banget yen nalika muter trek ing stadion ana keplok ribut, "urip", sistem ngidini sampeyan nyinkronake kanthi apik karo trek iki, nanging yen ing wektu iki keplok sing direkam dicampur karo trek, banjur trek ora kejiret maneh. Nuansa kasebut dianggep, lan kabeh wis disinkronake kanthi apik babagan swara.

PS Ing bagean kapindho masalah kita ngomong babagan visualisasi data ilmiah, pemodelan proses ing proyek liyane, pangembangan game lan program master "Teknologi pengembangan game komputer" Kita bakal nerbitake tutugan ing artikel sabanjure. Sampeyan bisa ngrungokake lan ndhukung kita ing kene:

PPS Kangge, ing Habr versi Inggris: dipikir nyedhaki Universitas ITMO.

Source: www.habr.com

Add a comment