Podcast “ITMO Research_”: AR içeriğinin tüm stadyum ölçeğinde bir gösteriyle senkronizasyonuna nasıl yaklaşılır?

Bu, programımız için yapılan ikinci röportajın metin transkriptinin ilk kısmıdır (Apple Podcast'leri, Yandex.Müzik). Konuk Sayısı - Andrey Karsakov (kapc3d), Ph.D., Ulusal Bilişsel Araştırma Merkezi'nde kıdemli araştırmacı, Dijital Dönüşümler Fakültesi'nde doçent.

Andrey, 2012'den beri Görselleştirme ve Bilgisayar Grafikleri araştırma grubunda çalışıyor. Devlet ve uluslararası düzeyde büyük uygulamalı projelerde yer almaktadır. Sohbetin bu bölümünde halka açık etkinliklere AR desteği konusundaki deneyiminden bahsediyoruz.

Podcast “ITMO Research_”: AR içeriğinin tüm stadyum ölçeğinde bir gösteriyle senkronizasyonuna nasıl yaklaşılır?
Fotoğraf Bu Mühendislik RAEng (Unsplash.com)

Proje bağlamı ve hedefleri

Zaman kodu (tarafından ses versiyonları) — 00:41

Dmitrykabanov: Avrupa Oyunları projesiyle başlamak istiyorum. Çok bileşenlidir, hazırlıklara birkaç takım katılmıştır ve stadyumdaki bir etkinlik sırasında binlerce seyirciye artırılmış gerçeklik sağlamak oldukça ciddi bir iştir. Katılımınız açısından, öncelikle yazılım mıydı?

kapc3d: Evet, program kısmını biz yaptık ve gösteri boyunca destek verdik. Her şeyi gerçek zamanlı olarak takip etmek, izlemek ve başlatmak ve ayrıca televizyon grubuyla çalışmak gerekiyordu. Bu projeyi bir bütün olarak ele alırsak açılış ve kapanış törenlerinden bahsedebiliriz. Avrupa Oyunları Minsk'te ve şampiyonanın açılış töreni hakkında WorldSkills Kazan'da. Aynı çalışma planıydı ama farklı olaylardı. Aralarında iki aylık bir fark vardı. Firmanın adamlarıyla birlikte projeyi hazırladık. Sechenov.com.

Onlarla tesadüfen tanıştık Bilim Festivali2018 sonbaharında gerçekleşti. Yüksek lisans öğrencilerimiz VR konulu ders projelerini sergilediler. Adamlar yanımıza gelip laboratuvarımızda ne yaptığımızı sordular. Şunun gibi bir şeye benziyordu:

— VR ile çalışıyorsunuz ama artırılmış gerçeklikle çalışabilir misiniz?

- Bir bakıma evet.

- Böyle giriş notlarıyla böyle bir görev var. Bunu yapabilirmisin?

Şalgamları biraz kaşımışlar, gerçekçi olmayan bir şey yok gibi görünüyor:

- Önce her şeyi incelemeye çalışalım, sonra bir çözüm bulalım.

Dmitry: Sadece medya desteği mi veriyorlar?

Andrew: Tam bir yığın oluşturuyorlar. Yönetim ve organizasyon açısından bakıldığında, tamamen yönetmenlik, sahneleme, sahne seçimi, lojistik ve diğer teknik destekle ilgilenirler. Ama Avrupa Oyunları için özel bir şey yapmak istiyorlardı. Karma gerçeklik gibi bu özel efektler televizyon için oldukça uzun zamandır yapılıyor ancak teknik uygulama açısından en bütçe dostu değiller. Bu nedenle adamlar alternatif seçenekler aradılar.

Dmitry: Sorunu daha ayrıntılı olarak tartışalım. Nelerden oluşuyordu?

Andrew: Bir olay var. Bir buçuk saat sürüyor. Canlı olarak izleyen seyircilerin ve stadyumda oturanların artırılmış gerçeklik etkilerini, sitedeki zaman ve mekan açısından canlı gösteriyle tam senkronize olarak görebilmesini sağlamamız gerekiyor.

Bir dizi teknik sınırlama vardı. İnternet üzerinden zaman senkronizasyonu yapmak imkansızdı, çünkü tam stantlarla ağ üzerinde aşırı yük olacağı ve mobil ağları bozabilecek devlet başkanlarının etkinliğe katılma olasılığı konusunda korkular vardı.

Andrey Karsakov, fotoğraf ITMO Üniversitesi'nden materyal
Podcast “ITMO Research_”: AR içeriğinin tüm stadyum ölçeğinde bir gösteriyle senkronizasyonuna nasıl yaklaşılır?Bu projenin iki temel bileşeni vardı: insanların mobil cihazlar aracılığıyla edinebileceği kişisel deneyim ve stadyumun kendisindeki televizyon yayınına ve bilgi ekranlarına aktarılanlar.

Bir kişi aniden bir mobil cihaz aracılığıyla artırılmış gerçeklik bölümlerini izliyorsa ve aynı anda ekrana çıkarsa, aynı resmi görmelidir.

Zaman içinde tamamen senkronize olmak için neredeyse farklı iki sisteme ihtiyacımız vardı. Ancak bu tür gösterilerin özelliği, çok sayıda teknik servisin dahil olduğu ve tüm işlemlerin zaman kodlarına göre gerçekleştirildiği karmaşık etkinlikler olmasıdır. Zaman kodu, bir şeyin başladığı belirli bir andır: ışık, ses, insanların ayrılması, sahne yapraklarının açılması vb. Her şeyin doğru zamanda başlaması için bu sisteme uyum sağlamamız gerekiyordu. Bir diğer özellik ise artırılmış gerçekliğe sahip sahne ve bölümlerin senaryo bağlantılı olmasıydı.

Dmitry: Ancak mücbir sebeplerin yüksek riskleri nedeniyle zaman kodlarının kullanımından vazgeçmeye mi karar verdiniz, yoksa başlangıçta bazı güç özelliklerini hesaplayıp tüm sistem üzerindeki yükün oldukça yüksek olacağını mı fark ettiniz?

Andrew: Eğer böyle bir kitleye yönelik senkronizasyon hizmeti yaparsanız o zaman işiniz çok da zor olmuyor. Her durumda, istekler bir gecede başarısızlıkla sonuçlanmayacaktır. Evet yük fazla ama acil bir durum değil. Soru, ağ aniden kesilirse kaynak ve zaman harcamaya değip değmeyeceğidir. Bunun olmayacağından emin değildik. Sonuçta yükten dolayı kesintilerle her şey çalıştı ama işe yaradı ve farklı bir şemaya göre zaman koduna göre senkronizasyon yaptık. Bu küresel zorluklardan biriydi.

UX açısından uygulamanın zorlukları

Zaman kodu (tarafından ses versiyonları) — 10:42

Andrew: Stadyumun klasik bir konser alanı olmadığını da hesaba katmamız ve mobil cihazlar için alan genelindeki sistemleri senkronize etmemiz gerekiyordu. Bir süre önce viral oldum artırılmış gerçeklik hikayesi Eminem konserlerinde Loboda ile bir dava vardı.

Fotoğraf Robert Hoşçakal (Unsplash.com)
Podcast “ITMO Research_”: AR içeriğinin tüm stadyum ölçeğinde bir gösteriyle senkronizasyonuna nasıl yaklaşılır?Ancak bu her zaman önünüzde bir deneyimdir - tüm kalabalık sahnenin önünde durur, senkronizasyon oldukça basittir. Stadyum söz konusu olduğunda, stadyumun sanal ortamda var olan alana sığması için dairenin hangi tarafında olduğunuzu, göreceli konumu anlamanız gerekir. Acı bir meydan okumaydı. Bunu çeşitli şekillerde çözmeye çalıştılar ve sonuç, Loboda'nın uyguladığına yakın bir durumdu, ancak her bakımdan değil.

Kullanıcının nerede olacağına karar vermesine izin veriyoruz. İnsanların sektör, sıra, yer seçtiği stadyum için işaretlemeler yaptık. Bütün bunlar dört “tıklama” ile gerçekleşiyor. Daha sonra sahnenin yönünü belirlememiz gerekiyordu. Bunu yapmak için sahnenin özel bir perspektiften kabaca nasıl görünmesi gerektiğine dair bir siluet gösterdik. Birleştirdi, dokundu ve hepsi bu; sahne oturdu. Bu süreci mümkün olduğu kadar basitleştirmeye çalıştık. Yine de diziyi izlemek isteyen izleyicilerin %90'ı artırılmış gerçeklikle iletişim kurma deneyimi olan kişiler değil.

Dmitry: Bu proje için ayrı bir başvuru var mıydı?

Andrew: Evet, mağazaya sunduğumuz iOS ve Android için bir uygulama. Bunun için ayrı bir tanıtım kampanyası vardı. Daha önce nasıl indirileceği vb. detaylı olarak anlatılmıştı.

Dmitry: Bir kişinin fiziksel olarak test edebileceği ve böyle bir uygulamayı nasıl kullanacağını öğrenebileceği bir yer olmadığını anlamalısınız. Bu nedenle izleyiciyi “eğitme” görevi daha karmaşık hale geldi.

Andrew: Evet evet. Kullanıcı deneyimi üç tıklamayla elde etmek istediğinden, UX ile pek çok sorunla karşılaştık: indirildi, kuruldu, başlatıldı - işe yaradı. Birçok kişi karmaşık eğitimleri takip edemeyecek, eğitimleri okuyamayacak ve benzeri şeyler yapamayacak kadar tembeldir. Ve öğreticide kullanıcıya her şeyi mümkün olduğunca açıklamaya çalışmadık: burada bir pencere açılacak, kameraya erişim buradan, aksi takdirde çalışmayacaktır vb. Ne kadar açıklama yazarsanız yazın, ne kadar detaylı çiğnerseniz çiğneyin, hangi gifleri eklerseniz ekleyin insanlar okumuyor.

Minsk'te bu kısımla ilgili geniş bir geri bildirim havuzu topladık ve Kazan'daki uygulama için zaten pek çok şeyi değiştirdik. Oraya sadece artırılmış gerçekliğin belirli bir bölümüne karşılık gelen fonogramları ve zaman kodlarını koymakla kalmadık, aynı zamanda tüm fonogramları ve zaman kodlarını bütünüyle aldık. Yani uygulama, lansman sırasında neler olduğunu duydu ve - eğer bir kişi yanlış zamanda giriş yaptıysa - şu bilgiyi verdi: "Yoldaş, üzgünüm, AR bölümünüz 15 dakika içinde başlayacak."

Mimari ve senkronizasyon yaklaşımı hakkında biraz

Zaman kodu (tarafından ses versiyonları) — 16:37

Dmitry: Sesle senkronize etmeye mi karar verdiniz?

Andrew: Evet tesadüfen oldu. Seçenekleri araştırıyorduk ve bir şirketle karşılaştık Cifrasoft Izhevsk'ten. Sesi zamanlamayla senkronize etmenize olanak tanıyan, özellikle karmaşık olmayan, ancak demir işleyen bir SDK oluştururlar. Sistem, koşullu bir reklamın sesine dayalı olarak bir uygulamada bir şey görüntüleyebildiğiniz veya film parçasına dayalı olarak etkileşimli bir deneyim sunabildiğiniz zaman, TV ile çalışacak şekilde konumlandırıldı.

Dmitry: Ama bu bir şey; oturma odanızda oturuyorsunuz, diğeri ise binlerce insanın olduğu bir stadyum. Ses kaydının kalitesi ve daha sonraki tanınırlığı konusunda işler sizin için nasıl gitti?

Andrew: Pek çok korku ve şüphe vardı, ancak çoğu durumda her şey iyi tanındı. Kurnaz algoritmalarıyla ses parçası üzerinde imzalar oluştururlar; sonuç, orijinal ses dosyasından daha hafiftir. Mikrofon çevredeki sesi dinlediğinde bu özellikleri bulmaya ve parçayı bunlara göre tanımaya çalışır. İyi koşullarda senkronizasyon doğruluğu 0,1-0,2 saniyedir. Bu fazlasıyla yeterliydi. Kötü koşullarda fark 0,5 saniyeye kadar çıkıyordu.

Çok şey cihaza bağlıdır. Geniş bir cihaz filosuyla çalıştık. İPhone'lar için yalnızca 10 model var. Kalite ve diğer özellikler açısından iyi çalıştılar. Ama androidler varken hayvanat bahçesi annem gibidir. Ses senkronizasyonunun işe yaradığı her yerde ortaya çıkmadı. Bazı özelliklerden dolayı farklı cihazlarda farklı parçaları duymanın imkansız olduğu durumlar vardı. Bir yerlerde düşük frekanslar kayboluyor, bir yerlerde yüksek frekanslar hırıldamaya başlıyor. Ancak cihazın mikrofonunda normalleştirici varsa senkronizasyon her zaman işe yaradı.

Dmitry: Lütfen bize mimariden bahsedin; projede ne kullanıldı?

Andrew: Uygulamayı, çoklu platform ve grafiklerle çalışma açısından en basit seçenek olan Unity'de yaptık. AR Vakfı kullanılmış. Hemen sistemi karmaşıklaştırmak istemediğimizi söyledik ve her şeyi test edecek zamana sahip olmak için kendimizi ARKit ve ARCore'u destekleyen cihaz filosuyla sınırladık. DigitalSoft SDK için bir eklenti yaptık. GitHub'umuzda. Senaryoların zaman çizelgesine göre çalışması için bir içerik yönetim sistemi oluşturduk.

Parçacık sisteminde biraz değişiklik yaptık çünkü kullanıcı belirli bir bölüme istediği zaman girebilir ve senkronize olduğu andan itibaren her şeyi görmesine ihtiyacımız var. 3D deneyiminin tıpkı bir filmdeki gibi ileri geri kaydırılabilmesi için senaryoların zaman içinde net bir şekilde oynanmasına olanak tanıyan bir sistem geliştirdik. Klasik animasyonlarla alışılagelmişin dışında çalışsa da parçacık sistemlerini düzeltmek zorunda kaldık. Bir noktada yumurtlamaya başlarlar ve kendinizi yumurtlama noktasından önce bir yerde bulursanız, olması gerektiği gibi görünse de henüz doğmamışlardır. Ancak bu sorunun çözümü aslında oldukça kolaydır.

Mobil kısım için mimari oldukça basittir. Televizyon yayıncılığı için her şey daha karmaşıktır. Donanım kısıtlamalarımız vardı. Müşteri bir şart koydu: "Burada falanca donanım parkımız var, kabaca söylemek gerekirse, her şeyin üzerinde çalışması gerekiyor." Hemen nispeten bütçeye uygun video yakalama kartlarıyla çalışacağımız gerçeğine odaklandık. Ancak bütçe onların kötü olduğu anlamına gelmez.

Donanım, video yakalama kartları ve çalışma koşulları, yani resmi nasıl almamız gerektiği konusunda kısıtlamalar vardı. Yakalama kartları - Blackmagic Design, Dahili anahtarlama şemasına göre çalıştı - bu, kameradan size bir video karesi geldiği zamandır. Kartın, gelen çerçevenin üzerine yerleştirilmesi gereken bir çerçevenin de yerleştirildiği kendi işleme çipi vardır. Kart onları karıştırıyor - orada başka hiçbir şeye dokunmuyoruz ve video kameranın karesini etkilemiyoruz. Sonucu video çıkışı aracılığıyla kontrol odasına iletiyor. Bu, başlıkların ve diğer benzer şeylerin üst üste bindirilmesi için iyi bir yöntemdir, ancak işleme hattında birçok kısıtlama olduğundan karma gerçeklik efektleri için pek uygun değildir.

Dmitry: Gerçek zamanlı bilgi işlem, nesne bağlama veya başka bir şey açısından mı?

Andrew: Kalite ve istenen etkilerin elde edilmesi açısından. Çünkü resmi neyin üstüne koyduğumuzu bilmiyoruz. Orijinal akışın üzerine yalnızca renk ve şeffaflık bilgilerini göndeririz. Kırılma, doğru şeffaflık ve ek gölgeler gibi bazı efektler bu şemayla elde edilemez. Bunu yapmak için her şeyi bir arada oluşturmanız gerekir. Örneğin, yangından veya sıcak asfalttan havanın bozulması etkisini yaratmanın bir yolu yoktur. Aynı durum, kırılma indisi dikkate alınarak şeffaflık etkisinin aktarılması için de geçerlidir. Başlangıçta bu kısıtlamalara göre içerik hazırladık ve uygun efektleri kullanmaya çalıştık.

Bu gönderiyi Instagram'da görüntüle

Minsk'teki II. Avrupa Oyunları'nın kapanışı.

Tarafından paylaşılan bir yayın Alena Lanskaya (@alyonalanskaya) 30 Haziran 2019 3:19 PDT

Dmitry: Avrupa Oyunları için ilk projenizde zaten kendi içeriğiniz var mıydı?

Andrew: Hayır, içerik geliştirmenin ana aşaması Sechenov.com'daki adamlar tarafından gerçekleştirildi. Grafik sanatçıları temel içeriği animasyonlar ve diğer şeylerle çizdiler. Ve her şeyi motora entegre ettik, ek efektler ekledik, her şeyin doğru çalışması için onu uyarladık.

Boru hattından bahsedersek, televizyon yayıncılığı için her şeyi Unreal Engine 4'te topladık. Tesadüfen, tam o anda karma gerçeklik için araçlarını güçlendirmeye başladılar. Her şeyin o kadar basit olmadığı ortaya çıktı. Şu anda bile tüm aletler ham; çoğunu elle bitirmek zorunda kaldık. Minsk'te motorun özel bir yapısı üzerinde çalıştık, yani motorun içindeki bazı şeyleri yeniden yazdık, böylece örneğin gerçek nesnelerin üzerine gölgeler çizebildik. Motorun o dönemde güncel olan versiyonunda, bunun standart araçlar kullanılarak yapılmasına olanak sağlayacak hiçbir özellik yoktu. Bu nedenle adamlarımız hayati önem taşıyan her şeyi sağlamak için kendi özel montajlarını yaptılar.

Diğer nüanslar ve Kazan'daki WorldSkills'e uyarlama

Zaman kodu (tarafından ses versiyonları) — 31:37

Dmitry: Ama tüm bunlar oldukça kısa bir sürede mi?

Andrew: Son teslim tarihleri ​​sıkıydı Kazan projesiMinsk'e göre - normal. Geliştirme yaklaşık altı ay sürdü, ancak altı kişinin dahil olduğu gerçeğini hesaba katarsak. Aynı zamanda mobil kısmı yapıyorduk ve televizyon yapımına yönelik araçlar geliştiriyorduk. Yalnızca resim çıkışı yoktu. Örneğin optikli bir takip sistemi, bunun için kendi araçlarınızı oluşturmanız gerekiyordu.

Dmitry: Bir projeden diğerine uyarlama oldu mu? Bir buçuk ay içinde gelişmelerden yararlanıp projeyi yeni içerikle yeni bir siteye aktarmak mı gerekiyordu?

Andrew: Evet bir buçuk ay kadar sürdü. Minsk projesi sonrasında tüm ekip için iki haftalık bir tatil planlamıştık. Ancak kapanıştan hemen sonra Sechenov.com'dan adamlar gelip şöyle diyorlar: "O halde Kazan'ı yapalım." Hala biraz dinlenmeyi başardık ama bu projeye oldukça hızlı geçtik. Bazı teknik çalışmaları tamamladık. Zamanın çoğu içeriğe harcandı çünkü WorldSkills için bunu tamamen biz yaptık, sadece yapım ekibiyle koordine ettik. Onların tarafında sadece bir senaryo vardı. Ancak daha kolaydı; fazladan tekrarlara gerek yoktu. İçeriği kendiniz oluşturduğunuzda, bunun motorda nasıl çalıştığını anında görür ve hızlı bir şekilde düzenleyip koordine edebilirsiniz.


Mobil kısıma gelince, Minsk'te yaşadığımız tüm incelikleri hesaba kattık. Yeni bir uygulama tasarımı yaptık, mimariyi biraz yeniden tasarladık, öğreticiler ekledik ama mümkün olduğunca kısa ve anlaşılır hale getirmeye çalıştık. Uygulamanın başlatılmasından içeriğin görüntülenmesine kadar geçen kullanıcı adımlarının sayısını azalttık. Yeterli bir projeyi tamamlamak için bir buçuk ay yeterliydi. Bir buçuk hafta içinde bölgeye ulaştık. Orada çalışmak daha kolaydı çünkü projenin tüm kontrolü organizatörlerin elindeydi; diğer komitelerle koordinasyona gerek yoktu. Kazan'da çalışmak daha basit ve daha kolaydı ve zamanın daha az olması da oldukça normaldi.

Dmitry: Peki senkronizasyon yaklaşımını sese dayalı olarak bırakmaya mı karar verdiniz?

Andrew: Evet, ses olarak bıraktık. İyi çalıştı. Dedikleri gibi, işe yarıyorsa dokunmayın. Sadece ses parçasının kalitesinin nüanslarını hesaba kattık. Girişi yaptıklarında, gösteri başlamadan önce insanların deneyebileceği bir eğitim bölümü vardı. Stadyumda parçanın çalındığı anda şiddetli bir alkış olduğunda, "canlı" sistemin bu parçayla iyi bir şekilde senkronize olmanıza izin vermesi şaşırtıcıydı, ancak şu anda kaydedilen alkış parçayla karıştırılırsa, o zaman parça artık yakalanmıyor. Bu tür nüanslar dikkate alındı ​​ve ses açısından her şey oldukça iyi senkronize edildi.

Not: Sayının ikinci bölümünde bilimsel veri görselleştirme, diğer projelerde süreç modelleme, oyun geliştirme ve yüksek lisans programından bahsediyoruz"Bilgisayar oyunu geliştirme teknolojisi" Devamını bir sonraki yazımızda yayınlayacağız. Bizi buradan dinleyebilir ve destek olabilirsiniz:

PPS Bu arada, Habr'ın İngilizce versiyonunda: ITMO Üniversitesi'ne daha yakından bakış.

Kaynak: habr.com

Yorum ekle