"ITMO Research_" podkasti: AR tarkibini butun stadion miqyosidagi shou bilan sinxronlashtirishga qanday yondashish kerak

Bu bizning dasturimiz uchun ikkinchi intervyu matnining birinchi qismi (Apple Podkastlari, Yandex.Musiqi). Mehmon soni - Andrey Karsakov (kapc3d), f.f.n., Milliy Kognitiv tadqiqotlar markazi katta ilmiy xodimi, Raqamli transformatsiyalar fakulteti dotsenti.

2012 yildan beri Andrey Vizualizatsiya va kompyuter grafikasi tadqiqot guruhida ishlaydi. Davlat va xalqaro darajadagi yirik amaliy loyihalar bilan shug'ullanadi. Suhbatning ushbu qismida biz uning ommaviy tadbirlarni AR-ni qo'llab-quvvatlash tajribasi haqida gapiramiz.

"ITMO Research_" podkasti: AR tarkibini butun stadion miqyosidagi shou bilan sinxronlashtirishga qanday yondashish kerak
foto Ushbu muhandislik RAEng (Unsplash.com)

Loyihaning mazmuni va maqsadlari

Vaqt kodi (muallif audio versiyalari) — 00:41

dmitrykabanov: Men Yevropa o‘yinlari loyihasidan boshlamoqchiman. Bu ko'p komponentli bo'lib, tayyorgarlikda bir nechta jamoalar ishtirok etgan va to'g'ridan-to'g'ri stadiondagi tadbir paytida minglab tomoshabinlar uchun kengaytirilgan haqiqatni taqdim etish juda jiddiy vazifadir. Sizning ishtirokingizga kelsak, u birinchi navbatda dasturiy ta'minotmi?

kapc3d: Ha, biz dasturlash qismini qildik va shou davomida yordam berdik. Real vaqt rejimida hamma narsani kuzatish, kuzatish va ishga tushirish, shuningdek, televizion guruh bilan ishlash kerak edi. Agar biz ushbu loyihani bir butun sifatida ko'rib chiqsak, unda ochilish va yopilish marosimlari haqida gapirish mumkin Evropa o'yinlari Minskda, shuningdek, chempionatning ochilish marosimi haqida WorldSkills Qozon shahrida. Bu bir xil ish sxemasi edi, lekin turli hodisalar. Ularning orasida ikki oylik tanaffus bor edi. Loyihani kompaniya yigitlari bilan birga tayyorladik Sechenov.com.

Biz ular bilan tasodifan uchrashdik Fan festivali, 2018 yilning kuzida bo'lib o'tgan. Magistratura talabalarimiz VR mavzusidagi o‘z kurs loyihasini namoyish etdilar. Yigitlar yonimizga kelib, laboratoriyamizda nima qilayotganimizni so‘rashdi. Bu shunday ko'rinardi:

— Siz VR bilan ishlaysiz, lekin kengaytirilgan reallik bilan ishlay olasizmi?

- Xo'sh, shunday, ha.

- Bunday kirish yozuvlari bilan shunday vazifa bor. Buni qila olasizmi?

Ular sholg'omlarini biroz tirnashdi, hech qanday haqiqiy bo'lmagan narsa yo'qdek:

- Keling, avval hamma narsani o'rganishga harakat qilaylik, keyin yechim topaylik.

Dmitriy: Ular faqat ommaviy axborot vositalarini qo'llab-quvvatlaydimi?

Endryu: Ular to'liq to'plamni yaratadilar. Menejment va tashkilotchilik nuqtai nazaridan ular rejissyorlik, sahnalashtirish, dekoratsiya tanlash, logistika va boshqa texnik ta'minot bilan to'liq ishtirok etadilar. Ammo ular Evropa o'yinlari uchun alohida narsa qilishni xohlashdi. Aralash reallik kabi bu maxsus effektlar televideniye uchun ancha vaqtdan beri yaratilgan, ammo texnik jihatdan amalga oshirish nuqtai nazaridan ular eng byudjetga mos kelmaydi. Shuning uchun yigitlar muqobil variantlarni izlashdi.

Dmitriy: Keling, muammoni batafsilroq muhokama qilaylik. U nimadan iborat edi?

Endryu: Bir voqea bor. Bir yarim soat davom etadi. Biz uni jonli tomosha qilayotgan tomoshabinlar va stadionda o‘tirganlar to‘ldirilgan reallik effektlarini saytdagi vaqt va joy bo‘yicha jonli shou bilan to‘liq sinxronlashgan holda ko‘rishlariga ishonch hosil qilishimiz kerak.

Bir qator texnik cheklovlar mavjud edi. Internet orqali vaqtni sinxronlashtirishning imkoni yo'q edi, chunki to'liq stendlar bilan tarmoqqa haddan tashqari yuklanish va davlat rahbarlarining tadbirda ishtirok etishi ehtimolidan xavotirlar bor edi, bu esa uyali aloqa tarmoqlarini tiqilib qolishi mumkin edi.

Andrey Karsakov, surat ITMO universiteti materiali
"ITMO Research_" podkasti: AR tarkibini butun stadion miqyosidagi shou bilan sinxronlashtirishga qanday yondashish kerakBizda ushbu loyihaning ikkita asosiy komponenti bor edi - odamlar mobil qurilmalar orqali olishlari mumkin bo'lgan shaxsiy tajriba va stadionning o'zida teleko'rsatuvlar va ma'lumot ekranlariga tushadigan narsalar.

Agar odam to'satdan mobil qurilma orqali kengaytirilgan haqiqat epizodlarini tomosha qilsa va bir vaqtning o'zida ekranga tushsa, u xuddi shu rasmni ko'rishi kerak.

Vaqt o'tishi bilan to'liq sinxronlash uchun bizga deyarli ikki xil tizim kerak edi. Ammo bunday shoularning o'ziga xosligi shundaki, bu juda ko'p miqdordagi texnik xizmatlar ishtirok etadigan va barcha operatsiyalar vaqt kodlari bo'yicha amalga oshiriladigan murakkab hodisalardir. Vaqt kodi - bu biror narsa boshlanadigan vaqtning o'ziga xos momentidir: yorug'lik, tovush, odamlarning ketishi, sahna barglari ochilishi va hokazo. Hamma narsa o'z vaqtida boshlanishi uchun biz ushbu tizimga moslashishimiz kerak edi. Yana bir jihati shundaki, toʻldirilgan reallikka ega sahna va epizodlar ssenariy bilan bogʻliq edi.

Dmitriy: Ammo fors-major holatlarining yuqori xavfi tufayli vaqt kodlaridan foydalanishdan voz kechishga qaror qildingizmi yoki dastlab ba'zi quvvat xususiyatlarini hisoblab chiqdingizmi va butun tizimga yuk juda yuqori bo'lishini tushundingizmi?

Endryu: Agar siz bunday auditoriya uchun sinxronizatsiya xizmatini qilsangiz, unda bu juda qiyin emas. Har qanday holatda, so'rovlar bir kechada muvaffaqiyatsiz bo'lmaydi. Ha, yuk yuqori, lekin bu favqulodda emas. Savol shundaki, agar tarmoq to'satdan o'chib qolsa, bunga resurslar va vaqt sarflash kerakmi? Biz bu sodir bo'lmasligiga ishonchimiz komil emas edi. Oxir-oqibat, hamma narsa ishladi, yuk tufayli uzilishlar bilan, lekin u ishladi va biz boshqa sxema bo'yicha vaqt kodiga muvofiq sinxronlashtirdik. Bu global muammolardan biri edi.

UX nuqtai nazaridan amalga oshirishdagi qiyinchiliklar

Vaqt kodi (muallif audio versiyalari) — 10:42

Endryu: Shuningdek, biz stadion klassik kontsert maydoni emasligini hisobga olishimiz va tizimlarni mobil qurilmalar uchun makon bo'ylab sinxronlashtirishimiz kerak edi. Shunday qilib, bir muncha vaqt oldin men virusga aylandim kengaytirilgan haqiqat hikoyasi Eminem kontsertlarida, keyin Loboda bilan ish bo'ldi.

foto Robert xayr (Unsplash.com)
"ITMO Research_" podkasti: AR tarkibini butun stadion miqyosidagi shou bilan sinxronlashtirishga qanday yondashish kerakAmmo bu har doim sizning oldingizda tajriba - butun olomon sahna oldida turadi, sinxronizatsiya juda oddiy. Stadionga kelsak, siz aylananing qaysi tomonida ekanligingizni, nisbiy pozitsiyani tushunishingiz kerak, shunda stadion virtual muhitda mavjud bo'lgan bo'shliqqa mos keladi. Bu og'ir sinov edi. Ular buni turli yo'llar bilan hal qilishga harakat qilishdi va natijada Loboda amalga oshirgan narsaga yaqin ish bo'ldi, lekin har jihatdan emas.

Biz foydalanuvchiga qayerdaligini hal qilishga ruxsat beramiz. Stadion uchun belgi qo'ydik, u erda odamlar sektor, qator, joy tanladilar. Bularning barchasi to'rtta "klik" da. Keyin biz sahnaga yo'nalishni aniqlashimiz kerak edi. Buning uchun biz sahnaning odatiy nuqtai nazardan taxminan qanday ko'rinishi kerakligi siluetini ko'rsatdik. U birlashtirdi, bosdi va tamom - sahna o'tirdi. Biz bu jarayonni iloji boricha soddalashtirishga harakat qildik. Shunga qaramay, shouni tomosha qilishni istagan tomoshabinlarning 90 foizi kengaytirilgan haqiqat bilan muloqot qilish tajribasiga ega odamlar emas.

Dmitriy: Bu loyiha uchun alohida ariza bormidi?

Endryu: Ha, biz do'konga surgan iOS va Android uchun dastur. Buning uchun alohida reklama kampaniyasi o'tkazildi. Qanday qilib yuklab olish va hokazolar haqida avvalroq batafsil tavsiflangan edi.

Dmitriy: Insonning jismoniy sinovdan o'tishi va bunday dasturdan qanday foydalanishni o'rganishi uchun joy yo'qligini tushunishingiz kerak. Shu sababli, tomoshabinlarni "tarbiyalash" vazifasi yanada murakkablashdi.

Endryu: Ha ha. UX yordamida biz juda ko'p muammolarga duch keldik, chunki foydalanuvchi uch marta bosish orqali tajriba olishni xohlaydi: yuklab olindi, o'rnatildi, ishga tushirildi - bu ishladi. Ko'p odamlar murakkab o'quv qo'llanmalariga rioya qilish, o'quv qo'llanmalarini o'qish va hokazolar uchun juda dangasa. Va biz qo'llanmada foydalanuvchiga hamma narsani iloji boricha tushuntirishga harakat qilmadik: bu erda oyna ochiladi, bu erda kameraga kirish, aks holda u ishlamaydi va hokazo. Qanchalik ko'p tushuntirishlar yozmang, qanchalik batafsil chaynamang, qanday gif qo'ymang, odamlar uni o'qimaydi.

Minskda biz ushbu qism bo'yicha katta fikr-mulohazalarni to'pladik va Qozondagi dastur uchun ko'p narsalarni o'zgartirdik. Biz u yerga nafaqat toʻldirilgan reallikning maʼlum bir epizodiga mos keladigan fonogrammalar va vaqt kodlarini joylashtirdik, balki barcha fonogrammalar va vaqt kodlarini toʻliq holda oldik. Shunday qilib, dastur ishga tushirish vaqtida nima sodir bo'layotganini eshitdi va agar biror kishi noto'g'ri vaqtda tizimga kirsa, u shunday ma'lumot berdi: "O'rtoq, kechirasiz, sizning AR epizodingiz 15 daqiqadan so'ng bo'ladi".

Arxitektura va sinxronizatsiya yondashuvi haqida bir oz

Vaqt kodi (muallif audio versiyalari) — 16:37

Dmitriy: Ovoz bilan sinxronlashtirishga qaror qildingizmi?

Endryu: Ha, bu tasodifan sodir bo'ldi. Biz variantlarni ko'rib chiqdik va bir kompaniyaga duch keldik Cifrasoft Izhevskdan. Ular unchalik murakkab bo'lmagan, ammo temir bilan ishlaydigan SDK-ni yaratadilar, bu sizga ovozni vaqt bilan sinxronlashtirishga imkon beradi. Tizim shartli reklama ovozi asosida ilovada biror narsani ko'rsatish yoki kino treki asosida interaktiv tajribani taqdim etishingiz mumkin bo'lganida, televizor bilan ishlash uchun joylashtirilgan.

Dmitriy: Ammo bu bir narsa - siz yashash xonangizda o'tirasiz va boshqa narsa - minglab odamlarga ega stadion. Ovoz yozish sifati va uning keyinchalik tan olinishi bilan siz uchun qanday natija berdi?

Endryu: Ko'p qo'rquv va shubhalar bor edi, lekin ko'p hollarda hamma narsa yaxshi tanildi. Ular o'zlarining ayyor algoritmlari bilan audio trekka imzolar yaratadilar - natijaning og'irligi asl audio fayldan kamroq. Mikrofon atrofdagi tovushni tinglaganida, u ushbu xususiyatlarni topishga va ular asosida trekni tan olishga harakat qiladi. Yaxshi sharoitlarda sinxronizatsiya aniqligi 0,1-0,2 soniyani tashkil qiladi. Bu ko'proq etarli edi. Yomon sharoitlarda tafovut 0,5 soniyagacha bo'lgan.

Ko'p narsa qurilmaga bog'liq. Biz katta qurilmalar parki bilan ishladik. iPhone uchun faqat 10 ta model mavjud. Ular sifat va boshqa xususiyatlar jihatidan yaxshi ishladilar. Ammo androidlar bilan hayvonot bog'i onamga o'xshaydi. Hamma joyda ham ovoz sinxronizatsiyasi ishlagani ma'lum bo'lmadi. Ba'zi o'ziga xosliklar tufayli turli xil qurilmalarda turli treklarni eshitish mumkin bo'lmagan holatlar mavjud edi. Qaerdadir past chastotalar yo'qoladi, qaerdadir yuqori chastotalar xirillashni boshlaydi. Ammo agar qurilma mikrofonda normalizatorga ega bo'lsa, sinxronizatsiya har doim ishlagan.

Dmitriy: Arxitektura haqida gapirib bering - loyihada nima ishlatilgan?

Endryu: Biz dasturni Unity-da yaratdik - ko'p platformali va grafikalar bilan ishlash nuqtai nazaridan eng oddiy variant. Ishlatilgan AR fondi. Biz darhol tizimni murakkablashtirishni xohlamasligimizni aytdik, shuning uchun hamma narsani sinab ko'rish uchun vaqt topish uchun ARKit va ARCore-ni qo'llab-quvvatlaydigan qurilmalar parki bilan cheklandik. Biz DigitalSoft SDK uchun plagin yaratdik bizning GitHub-da. Biz skriptlar vaqt jadvaliga muvofiq ishlashi uchun kontentni boshqarish tizimini yaratdik.

Biz zarrachalar tizimi bilan biroz o'ylab ko'rdik, chunki foydalanuvchi istalgan vaqtda ma'lum bir epizodga kirishi mumkin va biz u sinxronlashgan paytdan boshlab hamma narsani ko'rishimiz kerak. Biz stsenariylarni o'z vaqtida aniq ijro etish imkonini beruvchi tizim bilan ishladik, shunda XNUMXD tajribasini filmdagi kabi oldinga va orqaga aylantirish mumkin. Klassik animatsiyalar bilan qutidan tashqarida ishlayotgan bo'lsa-da, biz zarrachalar tizimlari bilan shug'ullanishimiz kerak edi. Bir nuqtada, ular yumurtlay boshlaydi va agar siz o'zingizni yumurtlama nuqtasidan oldin biror joyda topsangiz, ular hali tug'ilmagan, garchi ular bo'lishi kerak bo'lsa ham. Ammo bu muammoni hal qilish aslida juda oson.

Mobil qism uchun arxitektura juda oddiy. Televizion eshittirish uchun hamma narsa murakkabroq. Bizda apparat cheklovlari bor edi. Buyurtmachi shart qo'ydi: "Bu erda bizda falon apparat parki bor, taxminan, hamma narsa buning ustida ishlashi kerak." Biz zudlik bilan nisbatan byudjetli video ta'qib qilish kartalari bilan ishlashimizga e'tibor qaratdik. Ammo byudjet ularning yomon ekanligini anglatmaydi.

Uskunada, videotasvirga olish kartalarida va ish sharoitlarida cheklovlar mavjud edi - rasmni qanday qabul qilishimiz kerak. Suratga olish kartalari - Blackmagic Design, ichki kalit sxemasi bo'yicha ishlagan - bu kameradan sizga video ramka kelganida. Karta o'zining qayta ishlash chipiga ega, u erda ramka ham o'rnatilgan bo'lib, u kiruvchining ustiga qo'yilishi kerak. Karta ularni aralashtirib yuboradi - biz u erda boshqa hech narsaga tegmaymiz va videokameraning ramkasiga ta'sir qilmaymiz. U natijani video chiqishi orqali nazorat xonasiga tupuradi. Bu sarlavhalar va boshqa shunga o'xshash narsalarni qo'shish uchun yaxshi usul, ammo aralash haqiqat effektlari uchun juda mos kelmaydi, chunki render quvurida ko'plab cheklovlar mavjud.

Dmitriy: Haqiqiy vaqtda hisoblash, ob'ektni bog'lash yoki boshqa narsa nuqtai nazaridanmi?

Endryu: Sifat va kerakli effektlarga erishish nuqtai nazaridan. Chunki biz rasmni nima ustiga qo'yganimizni bilmaymiz. Biz shunchaki rang va shaffoflik ma'lumotlarini asl oqim ustiga yuboramiz. Ushbu sxema bilan sinishi, to'g'ri shaffoflik va qo'shimcha soyalar kabi ba'zi effektlarga erishib bo'lmaydi. Buning uchun siz hamma narsani birgalikda ko'rsatishingiz kerak. Misol uchun, olov yoki issiq asfaltdan havo buzilishining ta'sirini yaratishning hech qanday usuli yo'q. Xuddi shu narsa sindirish ko'rsatkichini hisobga olgan holda shaffoflik effektini o'tkazish uchun ham amal qiladi. Biz dastlab ushbu cheklovlar asosida kontent yaratdik va tegishli effektlardan foydalanishga harakat qildik.

Instagramda ushbu yozuvni ko'rsating

Minskda II Evropa o'yinlarining yopilishi.

Post tomonidan baham ko'ring Alena Lanskaya (@alyonalanskaya) 30-yil 2019-iyun, soat 3:19 da PDT

Dmitriy: Evropa o'yinlari uchun birinchi loyihada allaqachon o'z tarkibingizga ega bo'lganmisiz?

Endryu: Yo'q, kontentni rivojlantirishning asosiy bosqichini Sechenov.com saytining yigitlari amalga oshirdi. Ularning grafik rassomlari asosiy tarkibni animatsiyalar va boshqa narsalar bilan chizishgan. Va biz hamma narsani dvigatelga birlashtirdik, qo'shimcha effektlar qo'shdik, hamma narsa to'g'ri ishlashi uchun moslashtirdik.

Agar quvur liniyasi haqida gapiradigan bo'lsak, televidenie uchun biz hamma narsani Unreal Engine 4-da yig'dik. Tasodifan, ular o'sha paytda aralash haqiqat uchun asboblarini kuchaytira boshladilar. Hamma narsa unchalik oddiy emasligi ma'lum bo'ldi. Hozir ham barcha asboblar xom, biz ko'p narsalarni qo'lda tugatishimiz kerak edi. Minskda biz dvigatelning maxsus konstruktsiyasi ustida ishladik, ya'ni dvigatel ichidagi ba'zi narsalarni, masalan, haqiqiy narsalarning ustiga soyalarni chizishimiz uchun qayta yozdik. O'sha paytda mavjud bo'lgan dvigatel versiyasida buni standart asboblar yordamida amalga oshirishga imkon beradigan xususiyatlarga ega emas edi. Shu sababli, yigitlarimiz hayotiy zarur bo'lgan hamma narsani ta'minlash uchun o'zlarining shaxsiy yig'ilishlarini qilishdi.

Qozondagi WorldSkills-ga boshqa nuanslar va moslashish

Vaqt kodi (muallif audio versiyalari) — 31:37

Dmitriy: Ammo bularning barchasi juda qisqa vaqt ichida?

Endryu: Muddatlar qattiq edi Qozon loyihasi, Minsk ko'ra - normal. Rivojlanish uchun taxminan olti oy, lekin olti kishi jalb qilinganligini hisobga olgan holda. Shu bilan birga, biz mobil qismni ishlab chiqdik va televizor ishlab chiqarish uchun asboblarni ishlab chiqdik. Faqat rasm chiqishi mavjud emas edi. Masalan, optikaga ega kuzatuv tizimi, buning uchun siz o'zingizning asboblaringizni yaratishingiz kerak edi.

Dmitriy: Bir loyihadan boshqasiga moslashish bo'lganmi? Bir yarim oy ichida ishlanmalardan foydalanish va yangi tarkibga ega loyihani yangi saytga o'tkazish kerak edi?

Endryu: Ha, bu bir yarim oy edi. Minsk loyihasidan keyin butun jamoa uchun ikki haftalik ta'tilni rejalashtirgan edik. Ammo yopilgandan so'ng darhol Sechenov.com saytining yigitlari kelib: "Xo'sh, Qozonni qilaylik", deyishdi. Biz hali ham biroz dam olishga muvaffaq bo'ldik, lekin bu loyihaga juda tez o'tdik. Biz ba'zi texnik ishlarni yakunladik. Ko'p vaqt kontentga sarflandi, chunki WorldSkills uchun biz buni to'liq qildik, biz uni ishlab chiqarish guruhi bilan muvofiqlashtirdik. Ular tomonidan faqat ssenariy bor edi. Ammo bu osonroq edi - qo'shimcha takrorlashlarga hojat yo'q edi. Kontentni o'zingiz yaratganingizda, uning dvigatelda qanday ishlashini darhol ko'rasiz va siz tezda tahrirlashingiz va muvofiqlashtirishingiz mumkin.


Mobil qismga kelsak, biz Minskda bo'lgan barcha nozikliklarni hisobga oldik. Biz yangi dastur dizaynini yaratdik, arxitekturani biroz o'zgartirdik, o'quv qo'llanmalarini qo'shdik, lekin uni iloji boricha qisqa va tushunarli qilishga harakat qildik. Biz ilovani ishga tushirishdan tortib kontentni ko‘rishgacha bo‘lgan foydalanuvchi qadamlari sonini kamaytirdik. Adekvat loyihani amalga oshirish uchun bir yarim oy etarli edi. Bir yarim hafta ichida biz saytga etib keldik. U erda ishlash osonroq edi, chunki loyiha ustidan barcha nazorat tashkilotchilar qo'lida edi, boshqa qo'mitalar bilan muvofiqlashtirishga hojat yo'q edi. Qozonda ishlash osonroq va osonroq edi va vaqt kamroq bo'lishi odatiy hol edi.

Dmitriy: Ammo siz sinxronizatsiyaga yondashuvni ovozga asoslangan holda qoldirishga qaror qildingizmi?

Endryu: Ha, biz uni ovoz bilan qoldirdik. Bu yaxshi ishladi. Ular aytganidek, agar u ishlasa, tegmang. Biz shunchaki audio trek sifatining nuanslarini hisobga oldik. Ular kirishni qilganlarida, tomosha boshlanishidan oldin odamlar sinab ko'rishlari uchun trening epizodi bor edi. Stadionda trek o'ynalayotgan paytda "jonli" qarsaklar yangrayotgani ajablanarli edi, tizim sizga ushbu trekni yaxshi sinxronlashtirishga imkon beradi, ammo agar hozirda yozilgan qarsaklar trekka aralashgan bo'lsa, u holda trek endi tutilmaydi. Bunday nuanslar hisobga olindi va hamma narsa ovoz jihatidan juda yaxshi sinxronlashtirildi.

PS. Nashrning ikkinchi qismida biz ilmiy ma'lumotlarni vizualizatsiya qilish, boshqa loyihalarda jarayonni modellashtirish, o'yinni ishlab chiqish va magistrlik dasturi haqida gapiramiz "Kompyuter o'yinlarini ishlab chiqish texnologiyasi" Keyingi maqolada davomini e'lon qilamiz. Bu yerda bizni tinglashingiz va qo‘llab-quvvatlashingiz mumkin:

PPS Shu bilan birga, Habrning inglizcha versiyasida: ITMO universitetiga yaqinroq qarash.

Manba: www.habr.com

a Izoh qo'shish