Подкаст “ITMO Research_”: как да подходим към синхронизирането на AR съдържание с шоу в мащаба на цял стадион

Това е първата част от текстовата стенограма на второто интервю за нашето предаване (Apple Podcasts, Yandex.Music). Гост на броя - Андрей Карсаков (kapc3d), д-р, старши научен сътрудник в Националния център за когнитивни изследвания, доцент във Факултета по цифрови трансформации.

От 2012 г. Андрей работи в научна група Визуализация и компютърна графика. Ангажира се с големи приложни проекти на държавно и международно ниво. В тази част от разговора говорим за неговия опит в AR поддръжката на публични събития.

Подкаст “ITMO Research_”: как да подходим към синхронизирането на AR съдържание с шоу в мащаба на цял стадион
Фото Това е инженерно RAEng (Unsplash.com)

Контекст и цели на проекта

Времеви код (от аудио версии) — 00:41 ч

дмитрикабанов: Бих искал да започна с проекта за Европейските игри. Той е многокомпонентен, няколко екипа участваха в подготовката и осигуряването на добавена реалност за многохилядна публика точно по време на събитие на стадиона е доста сериозна задача. По отношение на вашето участие, софтуерът ли беше на първо място?

kapc3d: Да, направихме програмната част и осигурихме поддръжка по време на шоуто. Беше необходимо да се проследява, наблюдава и стартира всичко в реално време, както и да се работи с телевизионната група. Ако разгледаме този проект като цяло, тогава можем да говорим за церемониите по откриването и закриването Европейски игри в Минск, както и за церемонията по откриването на шампионата WorldSkills в Казан. Беше същата схема на работа, но различни събития. Между тях имаше разлика от два месеца. Изготвихме проекта заедно с момчетата от фирмата Sechenov.com.

Срещнахме ги случайно Фест на науката, което се проведе през есента на 2018г. Нашите магистри представиха свой курсов проект на тема VR. Момчетата дойдоха при нас и попитаха какво правим в нашата лаборатория. Изглеждаше нещо подобно:

— Работите с VR, но можете ли да работите с добавена реалност?

- Ами донякъде, да.

- Има такава задача, с такива уводни бележки. Можеш ли да го направиш?

Почесаха малко ряпата си, изглежда няма нищо нереално:

- Нека първо се опитаме да проучим всичко, а след това да намерим решение.

Дмитрий: Осигуряват ли само медийна подкрепа?

Андрю: Те правят пълен стек. От гледна точка на управление и организация те са изцяло ангажирани с режисурата, постановката, подбора на декори, логистиката и друга техническа поддръжка. Но искаха да направят нещо специално за Европейските игри. Тези специални ефекти, подобно на смесената реалност, се правят за телевизия от доста време, но не са от най-бюджетните като техническо изпълнение. Затова момчетата потърсиха алтернативни варианти.

Дмитрий: Нека обсъдим проблема по-подробно. В какво се състоеше?

Андрю: Има събитие. Продължава час и половина. Трябва да сме сигурни, че публиката, която го гледа на живо, и тези, които седят на стадиона, могат да видят ефектите на добавената реалност в пълен синхрон с шоуто на живо по отношение на времето и местоположението на сайта.

Имаше редица технически ограничения. Невъзможно беше да се направи времева синхронизация през интернет, тъй като имаше опасения за прекомерно натоварване на мрежата при пълни трибуни и възможността държавни глави да присъстват на събитието, което може да блокира мобилните мрежи.

Андрей Карсаков, снимка от материал от университета ITMO
Подкаст “ITMO Research_”: как да подходим към синхронизирането на AR съдържание с шоу в мащаба на цял стадионИмахме два ключови компонента за този проект - личното преживяване, което хората могат да получат чрез мобилни устройства, и това, което влиза в телевизионното излъчване и информационните екрани на самия стадион.

Ако внезапно човек гледа епизоди на добавена реалност през мобилно устройство и в същото време се качи на екрана, той трябва да види същата картина.

Имахме нужда от две практически различни системи, които да бъдат напълно синхронизирани във времето. Но особеността на такива шоута е, че това са сложни събития, в които участват голям брой технически служби и всички операции се извършват според времеви кодове. Времевият код е конкретен момент във времето, в който нещо започва: светлина, звук, хора, които напускат, отваряне на венчелистчетата на сцената и т.н. Трябваше да се адаптираме към тази система, за да започне всичко в правилния момент. Друга особеност беше, че сцените и епизодите с добавена реалност бяха свързани със сценария.

Дмитрий: Но решихте ли да се откажете от използването на времеви кодове поради високите рискове от непреодолима сила или първоначално изчислихте някои характеристики на мощността и осъзнахте, че натоварването на цялата система ще бъде доста високо?

Андрю: Ако направите услуга за синхронизация за такава аудитория, тогава не е много трудно. Във всеки случай заявките няма да се провалят за една нощ. Да, натоварването е голямо, но не е спешно. Въпросът е дали си струва да харчите ресурси и време за това, ако мрежата внезапно изгасне. Не бяхме сигурни, че това няма да се случи. В крайна сметка всичко работи, с прекъсвания поради натоварване, но работи и се синхронизирахме според тайм кода по друга схема. Това беше едно от глобалните предизвикателства.

Трудности при внедряването от UX гледна точка

Времеви код (от аудио версии) — 10:42 ч

Андрю: Трябваше също така да вземем предвид, че стадионът не е класическа концертна зала и да синхронизираме системите в пространството за мобилни устройства. И така, преди време станах вирусен история с добавена реалност на концерти на Еминем, тогава имаше случай с Лобода.

Фото Робърт Бай (Unsplash.com)
Подкаст “ITMO Research_”: как да подходим към синхронизирането на AR съдържание с шоу в мащаба на цял стадионНо това винаги е изживяване пред теб - цялата тълпа стои пред сцената, синхронът е съвсем прост. В случай на стадион, трябва да разберете от коя страна на кръга се намирате, относителната позиция, така че стадионът да се впише в пространството, което съществува във виртуалната среда. Беше кисело предизвикателство. Те се опитаха да го решат по различни начини и резултатът беше случай, близък до това, което беше приложено от Лобода, но не във всички отношения.

Оставяме потребителя да реши къде се намира. Направихме маркировка за стадиона, където хората си избраха сектор, ред, място. Всичко това с четири „щраквания“. След това трябваше да определим посоката към сцената. За да направим това, ние показахме силует на това как приблизително трябва да изглежда сцената от персонализирана гледна точка. Той го комбинира, тупна и това е - сцената седна. Опитахме се да опростим този процес възможно най-много. Все пак 90% от зрителите, които са искали да гледат шоуто, не са хора, които имат опит в общуването с добавена реалност.

Дмитрий: Имаше ли отделно приложение за този проект?

Андрю: Да, приложение за iOS и Android, което пуснахме в магазина. Имаше отделна промоционална кампания за него. По-рано беше описано подробно как да изтеглите и т.н.

Дмитрий: Трябва да разберете, че няма място, където човек да тества физически и да се научи как да използва такова приложение. Следователно задачата за „образоване“ на публиката стана по-сложна.

Андрю: Да да. С UX уловихме много неравности, защото потребителят иска да получи изживяването с три щраквания: изтеглено, инсталирано, стартирано - работи. Много хора са твърде мързеливи, за да следват сложни уроци, да четат уроци и т.н. И не се опитахме да обясним всичко на потребителя колкото е възможно повече в урока: тук ще се отвори прозорец, тук ще има достъп до камерата, в противен случай няма да работи и т.н. Колкото и обяснения да напишете, колкото и подробно да дъвчете, каквито и гифчета да вмъкнете, хората не го четат.

В Минск събрахме голям набор от отзиви за тази част и вече променихме много за приложението в Казан. Ние поставихме там не само тези фонограми и онези времеви кодове, които съответстват на конкретен епизод от добавена реалност, но взехме всички фонограми и времеви кодове в тяхната цялост. Така че приложението чу какво се случва по време на стартирането и - ако човек влезе в неподходящия момент - издаде информацията: "Другарю, съжалявам, вашият AR епизод ще бъде след 15 минути."

Малко за архитектурата и подхода към синхронизацията

Времеви код (от аудио версии) — 16:37 ч

Дмитрий: Решихте ли да синхронизирате по звук?

Андрю: Да, случи се случайно. Разглеждахме варианти и попаднахме на фирма Cifrasoft от Ижевск. Те правят не особено сложен, но железен SDK, който ви позволява да синхронизирате звука с времето. Системата е позиционирана да работи с телевизия, когато можете да покажете нещо в приложение въз основа на звука на условна реклама или да предоставите интерактивно изживяване въз основа на филмовата песен.

Дмитрий: Но едно е - седиш в хола си, а друго - стадион с хиляди хора. Как се получиха нещата при вас с качеството на звукозаписа и последващото му разпознаване?

Андрю: Имаше много страхове и съмнения, но в повечето случаи всичко се разпознаваше добре. Те изграждат подписи върху аудиозаписа със своите хитри алгоритми - резултатът тежи по-малко от оригиналния аудио файл. Когато микрофонът слуша околния звук, той се опитва да намери тези характеристики и да разпознае песента въз основа на тях. При добри условия точността на синхронизация е 0,1-0,2 секунди. Това беше повече от достатъчно. При лоши условия разминаването беше до 0,5 секунди.

Много зависи от устройството. Работихме с голям парк от устройства. За iPhone има само 10 модела. Работиха добре по отношение на качеството и други характеристики. Но с андроидите зоологическата градина е като майка ми. Не навсякъде се оказа, че звуковата синхронизация работи. Имаше случаи, когато беше невъзможно да се чуят различни песни на различни устройства поради някои особености. Някъде ниските честоти изчезват, някъде високите започват да хриптят. Но ако устройството имаше нормализатор на микрофона, синхронизацията винаги работеше.

Дмитрий: Моля, разкажете ни за архитектурата - какво е използвано в проекта?

Андрю: Направихме приложението в Unity - най-простият вариант от гледна точка на мултиплатформа и работа с графики. Използвана AR Foundation. Веднага казахме, че не искаме да усложняваме системата, така че се ограничихме до набор от устройства, които поддържат ARKit и ARCore, за да имаме време да тестваме всичко. Направихме плъгин за DigitalSoft SDK, него е в нашия GitHub. Създадохме система за управление на съдържанието, така че скриптовете да се изпълняват според графика.

Побърникахме малко със системата от частици, защото потребителят може да влезе по всяко време в даден епизод и ние трябва да вижда всичко от момента, в който се синхронизира. Разработихме система, която позволява сценариите да се разиграват ясно във времето, така че XNUMXD изживяването да може да се превърта напред-назад, като във филм. Въпреки че работи извън кутията с класически анимации, трябваше да се занимаваме със системи от частици. В един момент те започват да хвърлят хайвера си и ако се окажете някъде преди точката на хвърляне на хайвера си, те все още не са се родили, въпреки че изглежда, че трябва да бъдат. Но този проблем всъщност е доста лесен за решаване.

За мобилната част архитектурата е доста проста. За телевизионното излъчване всичко е по-сложно. Имахме хардуерни ограничения. Клиентът постави условие: „Тук имаме такъв и такъв хардуерен парк, грубо казано, всичко трябва да работи върху него.“ Веднага се съсредоточихме върху факта, че ще работим със сравнително бюджетни карти за заснемане на видео. Но бюджетът не означава, че са лоши.

Имаше ограничения в хардуера, в картите за заснемане на видео и в условията на работа - как да приемаме картината. Карти за улавяне - Blackmagic Design, работещи по вътрешната схема на ключове - това е, когато ви идва видеокадър от камерата. Картата има собствен процесорен чип, където също се поставя рамка, която трябва да се насложи върху входящата. Картата ги смесва - не пипаме нищо друго там и не засягаме рамката от видеокамерата. Тя изплюва резултата в контролната зала чрез видео изхода. Това е добър метод за наслагване на заглавия и други подобни неща, но не е много подходящ за ефекти от смесена реалност, защото има много ограничения върху конвейера за изобразяване.

Дмитрий: От гледна точка на изчисления в реално време, обвързване на обекти или нещо друго?

Андрю: Като качество и постигане на желаните ефекти. Защото не знаем върху какво поставяме снимката. Ние просто изпращаме информация за цвят и прозрачност върху оригиналния поток. Някои ефекти като пречупвания, правилна прозрачност и допълнителни сенки не могат да бъдат постигнати с тази схема. За да направите това, трябва да изобразите всичко заедно. Например, няма начин да се създаде ефект на изкривяване на въздуха от огън или горещ асфалт. Същото важи и за прехвърлянето на ефекта на прозрачност, като се вземе предвид индексът на пречупване. Първоначално направихме съдържание въз основа на тези ограничения и се опитахме да използваме подходящи ефекти.

Прегледайте тази публикация в Instagram

Закриване на II Европейски игри в Минск.

Публикация, споделена от Алена Ланская (@alyonalanskaya) на 30 юни 2019 г. в 3:19 ч. PDT

Дмитрий: Имахте ли вече собствено съдържание в първия проект за Европейските игри?

Андрю: Не, основният етап от разработването на съдържание беше направен от момчетата от Sechenov.com. Техните графични художници нарисуваха основното съдържание с анимации и други неща. И интегрирахме всичко в двигателя, добавихме допълнителни ефекти, адаптирахме го така, че всичко да работи правилно.

Ако говорим за тръбопровода, тогава за телевизионно излъчване събрахме всичко на Unreal Engine 4. По стечение на обстоятелствата те точно в този момент започнаха да усилват своите инструменти за смесена реалност. Оказа се, че всичко не е толкова просто. Дори сега всички инструменти са сурови; трябваше да довършим много на ръка. В Минск работихме върху персонализирана компилация на двигателя, тоест пренаписахме някои неща вътре в двигателя, така че например да можем да рисуваме сенки върху реални обекти. Версията на двигателя, която беше актуална по това време, нямаше функции, които биха позволили това да се направи с помощта на стандартни инструменти. Поради тази причина, нашите момчета направиха своя персонализирана сглобка, за да осигурят всичко жизнено необходимо.

Други нюанси и адаптиране към WorldSkills в Казан

Времеви код (от аудио версии) — 31:37 ч

Дмитрий: Но всичко това за сравнително кратък период от време?

Андрю: Сроковете бяха кратки Казански проект, според Минск - нормално. Около шест месеца за разработка, но като се вземе предвид факта, че участваха шестима души. В същото време правехме мобилната част и разработвахме инструменти за телевизионно производство. Имаше не само извеждане на картина. Например система за проследяване с оптика, за това трябваше да създадете свои собствени инструменти.

Дмитрий: Имаше ли адаптация от един проект към друг? След месец и половина беше необходимо да се възползвате от развитието и да прехвърлите проекта с ново съдържание на нов сайт?

Андрю: Да, беше за месец и половина. Бяхме планирали двуседмична ваканция за целия екип след проекта Минск. Но веднага след затварянето идват момчетата от Sechenov.com и казват: „Е, тогава да направим Казан“. Все пак успяхме да си починем малко, но доста бързо преминахме към този проект. Завършихме част от техническата работа. По-голямата част от времето беше отделено за съдържание, защото за WorldSkills го направихме изцяло, просто го координирахме с продуцентския екип. Имаше само сценарий от тяхна страна. Но беше по-лесно - нямаше нужда от допълнителни итерации. Когато сами създавате съдържание, веднага виждате как работи в двигателя и можете бързо да редактирате и координирате.


Що се отнася до мобилната част, взехме предвид всички тънкости, които имахме в Минск. Направихме нов дизайн на приложението, преработихме малко архитектурата, добавихме уроци, но се опитахме да го направим възможно най-кратък и ясен. Намалихме броя на потребителските стъпки от стартирането на приложението до прегледа на съдържанието. Месец и половина беше достатъчен, за да завършим адекватен проект. За седмица и половина стигнахме до обекта. Там беше по-лесно да се работи, защото целият контрол върху проекта беше в ръцете на организаторите, нямаше нужда да се координира с други комисии. В Казан беше по-просто и лесно да се работи и беше съвсем нормално да има по-малко време.

Дмитрий: Но решихте ли да оставите подхода към синхронизацията такъв, какъвто беше, въз основа на звука?

Андрю: Да, оставихме го по звук. Работи добре. Както се казва, ако работи, не го пипайте. Просто взехме предвид нюансите на качеството на аудиозаписа. Когато направиха интрото, имаше тренировъчен епизод, който хората да опитат преди началото на шоуто. Беше изненадващо, че когато в момента на възпроизвеждане на песента на стадиона има бурни аплодисменти, „на живо“, системата ви позволява да синхронизирате добре с тази песен, но ако в този момент записаните аплодисменти се смесват с песента, тогава следата вече не се хваща. Такива нюанси бяха взети под внимание и всичко беше синхронизирано доста добре по отношение на звука.

PS Във втората част на броя говорим за визуализация на научни данни, моделиране на процеси в други проекти, разработка на игри и магистърска програма "Технология за разработка на компютърни игри" Ще публикуваме продължение в следващата статия. Можете да ни слушате и подкрепите тук:

PPS Междувременно в английската версия на Habr: по-отблизо в университета ITMO.

Източник: www.habr.com

Добавяне на нов коментар