ITMO Research_ podcast: cara mendekati sinkronisasi konten AR dengan pertunjukan pada skala seluruh stadion

Ini adalah bagian pertama dari transkrip teks dari wawancara kedua untuk program kami ( Apple Podcasts , Yandex.Music ). Tamu pelepasan - Andrey Karsakov (kapc3d), Ph.D., peneliti senior di Pusat Nasional untuk Pengembangan Kognitif, Associate Professor dari Departemen Transformasi Digital.

Sejak 2012, Andrey telah bekerja di kelompok ilmiah Visualisasi dan Grafik Komputer. Dia terlibat dalam proyek-proyek terapan berskala besar di tingkat negara bagian dan internasional. Di bagian percakapan ini, kita berbicara tentang pengalamannya tentang AR-iringan acara-acara massa.


Foto ThisEngineering RAEng (Unsplash.com)



Konteks dan tujuan proyek


Kode waktu ( versi audio ) - 00:41



dmitrykabanov: Saya ingin memulai dengan proyek Olimpiade Eropa. Ini adalah multi-komponen, beberapa tim berpartisipasi dalam persiapan, dan memberikan augmented reality untuk ribuan penonton selama acara di stadion adalah tugas yang agak serius. Dalam hal partisipasi Anda, apakah perangkat lunak ini di tempat pertama?

kapc3d: Ya, kami membuat bagian perangkat lunak dan memberikan pendampingan selama pertunjukan. Itu perlu untuk memantau, memantau dan meluncurkan semuanya secara real time, dan juga untuk bekerja dengan kelompok televisi. Jika kita mempertimbangkan proyek ini secara keseluruhan, kita dapat berbicara tentang upacara pembukaan dan penutupan Olimpiade Eropa di Minsk, serta tentang upacara pembukaan kejuaraan WorldSkills di Kazan. Itu skema kerja yang sama, tetapi kegiatan yang berbeda. Di antara mereka ada jeda dua bulan. Kami menyiapkan proyek bersama dengan orang-orang dari Sechenov.com .

Ketemu mereka secara kebetulan di Science Festyang terjadi pada musim gugur 2018. Sarjana kami menunjukkan proyek kursus mereka tentang topik VR. Orang-orang mendekati kami dan bertanya apa yang kami lakukan di laboratorium kami. Itu terlihat seperti ini:

- Jadi Anda bekerja dengan VR, tetapi apakah Anda dapat dengan augmented reality?

"Ya, semacam, ya."

- Ada tugas seperti itu, dengan yang pengantar tersebut. Dapatkah engkau melakukannya?


Kami menggaruk lobak kami sedikit, sepertinya tidak ada yang tidak realistis:

- Mari kita coba mempelajari semuanya terlebih dahulu, dan kemudian kita akan menemukan solusinya.

Dmitry: Apakah mereka hanya berurusan dengan dukungan media?

Andrew:Buat tumpukan penuh. Dari sudut pandang manajemen dan organisasi, mereka sepenuhnya terlibat dalam mengarahkan, pementasan, pemilihan pemandangan, logistik dan dukungan teknis lainnya. Tetapi mereka ingin melakukan sesuatu yang istimewa untuk Olimpiade Eropa. Efek khusus ini, seperti realitas campuran, telah dilakukan untuk televisi untuk waktu yang lama, tetapi mereka bukan yang paling anggaran dalam hal implementasi teknis. Karena itu, para pria mencari alternatif.

Dmitry: Mari kita bahas masalahnya secara lebih rinci. Seperti apa dia?

Andrew: Ada sebuah acara. Itu berlangsung satu setengah jam. Penting untuk memastikan bahwa penonton yang menontonnya langsung dan mereka yang duduk di stadion dapat melihat efek dengan augmented reality dengan sinkronisasi penuh dengan pertunjukan langsung dalam waktu dan lokasi di situs.

Ada sejumlah batasan teknis. Tidak mungkin melakukan sinkronisasi waktu melalui Internet, karena ada kekhawatiran beban berlebihan pada jaringan dengan stand penuh dan prospek menghadiri acara oleh para kepala negara, karena itu jaringan seluler dapat macet.

Andrey Karsakov, foto dari materi Universitas ITMO.
Kami memiliki dua komponen utama dari proyek ini - pengalaman pribadi yang dapat diperoleh orang melalui perangkat seluler, dan apa yang terjadi pada siaran televisi dan layar informasi di stadion itu sendiri.

Jika tiba-tiba seseorang menonton episode augmented reality melalui perangkat seluler dan secara bersamaan jatuh di layar, ia akan melihat gambar yang sama.

Kami membutuhkan dua sistem yang sebenarnya berbeda untuk sepenuhnya menyinkronkan dalam waktu. Tetapi kekhasan acara tersebut adalah bahwa itu adalah peristiwa yang kompleks, di mana sejumlah besar layanan teknis terlibat dan semua operasi dilakukan sesuai dengan kode waktu. Kode waktu adalah momen khusus saat sesuatu dimulai: cahaya, suara, orang keluar, membuka kelopak panggung, dan sebagainya. Kami harus beradaptasi dengan sistem ini sehingga semuanya akan dimulai pada saat yang tepat. Fitur lain adalah bahwa adegan dan episode dengan augmented reality secara scenically diikat bersama.

Dmitry:Tetapi Anda masih memutuskan untuk meninggalkan penggunaan kode waktu, karena risiko force majeure yang tinggi, atau Anda awalnya menghitung beberapa karakteristik daya dan menyadari bahwa beban pada keseluruhan sistem akan cukup tinggi?

Andrew: Jika Anda membuat layanan sinkronisasi untuk pemirsa seperti itu, maka itu tidak terlalu sulit. Permintaan dalam hal apa pun tidak akan jatuh pada satu waktu. Ya, bebannya tinggi, tetapi ini bukan keadaan darurat. Pertanyaannya adalah apakah perlu menghabiskan sumber daya dan waktu jika jaringan tiba-tiba padam. Kami tidak yakin ini tidak akan terjadi. Pada akhirnya, semuanya bekerja, sebentar-sebentar karena beban, tetapi berhasil, dan kami menyinkronkan menggunakan kode waktu dengan cara yang berbeda. Itu adalah salah satu tantangan global.



Tantangan implementasi UX


Kode waktu ( versi audio ) - 10:42



Andrei: Kami juga harus mempertimbangkan bahwa stadion bukan tempat konser klasik, dan menyinkronkan sistem di ruang untuk perangkat seluler. Jadi, beberapa waktu lalu, sebuah cerita dengan augmented reality dilanggar di konser Eminem, lalu ada kasus dengan Loboda.

Foto oleh Robert Bye (Unsplash.com)
Tapi ini selalu menjadi pengalaman di depan Anda - seluruh kerumunan menghadapi adegan itu, sinkronisasinya cukup sederhana. Dalam hal stadion, Anda perlu memahami sisi mana Anda berada di lingkar, posisi relatif sehingga stadion duduk di ruang yang ada di lingkungan virtual. Itu adalah tantangan yang masam. Mereka mencoba menyelesaikannya dengan berbagai cara, dan kami menemukan kasus yang dekat dengan apa yang diterapkan oleh Loboda, tetapi tidak dalam segala hal.

Kami membiarkan pengguna memutuskan di mana dia berada. Mereka membuat tata letak stadion, di mana orang memilih sektor, barisan, tempat. Semua ini dalam empat "klik". Selanjutnya, kami harus menentukan arah ke tempat kejadian. Untuk melakukan ini, kami menunjukkan siluet seperti apa pemandangan dari sudut pengguna seharusnya. Dia menggabungkannya, mengetuk dan hanya itu - adegan itu duduk. Kami mencoba menyederhanakan proses ini sebanyak mungkin. Meski begitu, 90% pemirsa yang ingin menonton pertunjukan bukanlah orang-orang yang memiliki pengalaman dengan augmented reality.

Dmitry: Apakah ada aplikasi terpisah untuk proyek ini?

Andrei: Ya, aplikasi untuk iOS dan Android, yang kami dorong ke samping. Ada kampanye promosi terpisah untuk itu. Sebelumnya dijelaskan secara rinci cara mengunduh dan banyak lagi.

Dmitry:Anda perlu memahami bahwa seseorang tidak memiliki tempat untuk memverifikasi fisik dan mempelajari cara menggunakan aplikasi semacam itu. Karena itu, tugas "melatih" penonton menjadi rumit.

Andrew: Ya, ya. Dengan UX, kami menangkap banyak kerucut, karena pengguna menginginkan pengalaman dalam tiga klik: diunduh, dipasang, diluncurkan, itu berhasil. Banyak yang terlalu malas untuk melakukan tutorial yang rumit, membaca pelatihan, dan banyak lagi. Dan kami tidak mencoba menjelaskan semuanya kepada pengguna dalam tutorial sebanyak mungkin: jendela akan terbuka di sini, akses ke kamera di sini, jika tidak maka tidak akan berfungsi, dan sebagainya. Tidak peduli berapa banyak penjelasan yang Anda tulis, seberapa banyak Anda mengunyah secara detail, apa pun GIF yang Anda masukkan, orang tidak membaca ini.

Di Minsk, kami mengumpulkan kumpulan umpan balik yang besar untuk bagian ini, dan kami telah banyak berubah untuk aplikasi di Kazan. Kami mengemudi di sana tidak hanya fonogram dan kode waktu yang sesuai dengan episode spesifik augmented reality, tetapi kami mengambil semua fonogram dan kode waktu sepenuhnya. Jadi aplikasi mendengar apa yang terjadi pada saat peluncuran, dan - jika orang tersebut tidak masuk pada saat itu - itu akan memberikan informasi: "Kawan, maaf, episode AR Anda akan dalam 15 menit."



Sedikit tentang arsitektur dan pendekatan sinkronisasi


Kode waktu ( versi audio ) - 16:37



Dmitry: Masih memutuskan untuk melakukan sinkronisasi dengan suara?

Andrei: Ya, itu terjadi secara kebetulan. Kami memilah-milah opsi dan menemukan perusahaan Cifrasoft dari Izhevsk. Mereka tidak benar-benar ditipu, tetapi SDK yang berfungsi dengan baik, yang memungkinkan Anda untuk menyinkronkan suara dengan pengaturan waktu oleh suara. Sistem diposisikan untuk bekerja dengan TV, ketika Anda dapat menampilkan sesuatu dalam aplikasi atau memberikan konten interaktif pada suara iklan bersyarat.

Dmitry: Tapi satu hal adalah Anda duduk di ruang tamu Anda, dan satu lagi adalah stadion multi-ribu. Bagaimana Anda mengelola kualitas rekaman suara dan pengenalan selanjutnya?

Andrew:Ada banyak ketakutan dan keraguan, tetapi dalam banyak kasus semuanya dikenali dengan baik. Mereka membangun tanda tangan pada soundtrack dengan algoritma rumit mereka - total beratnya kurang dari file audio asli. Ketika mikrofon mendengarkan suara sekitar, ia mencoba menemukan fitur-fitur ini dan mengenali treknya. Dalam kondisi yang baik, akurasi sinkronisasi adalah 0,1-0,2 detik. Itu sudah lebih dari cukup. Dalam kondisi yang buruk, perbedaan mencapai 0,5 detik.

Banyak tergantung pada perangkat. Kami bekerja dengan armada perangkat yang besar. Untuk iPhone, ini hanya 10 model. Mereka bekerja dengan baik dalam hal kualitas dan fitur lainnya. Tapi dengan android, kebun binatang itu ibuku. Tidak di mana-mana ternyata sinkronisasi suara berfungsi. Ada kasus ketika pada perangkat yang berbeda, selain trek yang berbeda, tidak mungkin untuk mendengar karena beberapa fitur. Di suatu tempat frekuensi rendah pergi, suatu tempat yang tinggi mulai mengi. Tetapi jika perangkat memiliki normalizer pada mikrofon, sinkronisasi selalu berfungsi.

Dmitry: Tolong beritahu kami tentang arsitektur - apa yang digunakan dalam proyek ini?

Andrew:Kami membuat aplikasi di Unity - pilihan termudah dalam hal multi-platform dan grafik. Yayasan AR yang digunakan. Kami segera mengatakan bahwa kami tidak ingin memperumit sistem, jadi kami membatasi diri pada armada perangkat yang mendukung ARKit dan ARCore agar memiliki waktu untuk menguji semuanya. Kami membuat plug-in untuk Tsifirasoft SDK, itu ada pada kami di GitHub . Kami membuat sistem manajemen konten sehingga skrip berjalan pada timeline.

Kami bermain-main sedikit dengan sistem partikel, karena pengguna dapat masuk kapan saja dari episode tertentu, dan dia perlu melihat segala sesuatu dari saat dia disinkronkan. Bermain-main dengan sistem yang memungkinkan skrip dimainkan secara jelas dalam waktu sehingga pengalaman tiga dimensi dapat digulir bolak-balik, seperti dalam film. Jika berhasil di luar kotak dengan animasi klasik, maka saya harus mengotak-atik sistem partikel. Pada titik tertentu, mereka mulai bertelur, dan jika Anda menemukan diri Anda di suatu tempat sampai titik bertelur, mereka belum dilahirkan, walaupun tampaknya demikian. Tetapi masalah ini, pada kenyataannya, mudah diselesaikan.

Untuk bagian seluler, arsitekturnya cukup sederhana. Untuk penyiaran, semuanya lebih rumit. Kami memiliki keterbatasan zat besi. Syaratnya ditetapkan dari pelanggan: "Di sini kita memiliki taman besi ini dan itu, secara kasar, semuanya perlu dikerjakan." Kami segera fokus pada kenyataan bahwa kami akan bekerja dengan kartu video capture yang relatif murah. Tetapi anggaran tidak berarti bahwa mereka buruk.

Ada batasan pada perangkat keras, pada kartu pengambilan video dan pada kondisi kerja - bagaimana kita harus mendapatkan gambar. Kartu pengambilan - Desain Blackmagic, bekerja sesuai dengan skema penguncian Internal - ini adalah ketika bingkai video berasal dari kamera. Kartu ini memiliki chip pemrosesan sendiri, yang juga memiliki bingkai yang harus diletakkan di atas yang masuk. Kartu mencampurnya - semakin kita tidak menyentuh apa pun di sana dan tidak memengaruhi bingkai dari kamera video. Hasilnya melalui output video, dia meludahkan pada remote. Ini adalah metode yang baik untuk menerapkan takarir dan hal-hal serupa lainnya, tetapi tidak terlalu cocok untuk efek realitas campuran, karena ada banyak batasan pada render pipeline.

Dmitry: Dalam hal komputasi real-time, pengikatan objek, atau yang lainnya?

Andrew:Dari segi kualitas dan mencapai efek yang diinginkan. Karena kenyataan bahwa kita tidak tahu apa yang overlay gambar di atas. Kami hanya menyediakan informasi warna dan transparansi di atas aliran asli. Beberapa efek seperti refraksi, transparansi yang benar, bayangan tambahan dengan skema seperti itu tidak dapat dicapai. Untuk melakukan ini, Anda harus merender semuanya bersama-sama. Misalnya, tidak akan berfungsi dengan cara apa pun untuk membuat efek distorsi udara dari api atau dari aspal panas. Sama dengan transmisi efek transparansi dengan mempertimbangkan indeks bias. Kami awalnya membuat konten berdasarkan batasan ini, dan mencoba menggunakan efek yang sesuai.


Dmitry: Apakah Anda memiliki konten Anda pada proyek pertama untuk Olimpiade Eropa?

Andrew: Tidak, tahap utama pengembangan konten adalah orang-orang dari Sechenov.com. Artis grafis mereka menggambar konten dasar dengan animasi dan hal-hal lain. Dan kami mengintegrasikan semuanya ke dalam mesin, menambahkan efek tambahan, disesuaikan sehingga semuanya bekerja dengan benar.

Jika kita berbicara tentang saluran pipa, maka untuk televisi kita mengumpulkan semuanya di Unreal Engine 4. Itu bertepatan bahwa mereka pada saat itu mulai memaksa alat mereka untuk realitas campuran (realitas campuran). Ternyata semuanya tidak sesederhana itu. Semua alat masih mentah bahkan sekarang, kami harus menyelesaikan banyak hal secara manual. Di Minsk, kami mengerjakan perakitan khusus mesin, yaitu, kami menulis ulang beberapa hal di dalam mesin sehingga, misalnya, kami dapat menggambar bayangan di atas benda nyata. Pada versi mesin, yang kemudian relevan, tidak ada fitur yang memungkinkan ini dilakukan dengan menggunakan alat standar. Untuk alasan ini, orang-orang kami membuat perakitan khusus mereka untuk menyediakan semua yang penting.



Nuansa dan adaptasi lainnya ke WorldSkills di Kazan


Kode waktu (untuk versi audio ) - 31:37



Dmitry: Tapi semua ini dalam waktu yang cukup singkat?

Andrei: Tenggat waktu untuk proyek Kazan , untuk Minsk - normal. Sekitar enam bulan untuk berkembang, tetapi dengan mempertimbangkan fakta bahwa enam orang terlibat. Pada saat yang sama, mereka membuat bagian ponsel, mengembangkan alat untuk teleproduksi. Tidak hanya ada keluaran gambar. Misalnya, sistem pelacakan dengan optik, untuk ini perlu dilakukan toolkit Anda sendiri.

Dmitry: Apakah ada adaptasi dari satu proyek ke proyek lainnya? Selama satu setengah bulan itu perlu untuk mengambil keuntungan dari perkembangan dan mentransfer proyek dengan konten baru ke situs baru?

Andrew:Ya, itu satu setengah bulan. Kami telah merencanakan liburan dua minggu untuk seluruh tim setelah proyek Minsk. Tetapi segera setelah penutupan, orang-orang dari Sechenov.com datang dan berkata: "Baiklah, biarkan Kazan yang melakukannya." Kami masih berhasil sedikit rileks, tetapi beralih ke proyek ini dengan cukup cepat. Menyelesaikan sesuatu di sisi teknis. Sebagian besar waktu dihabiskan untuk konten, karena untuk WorldSkills kami benar-benar melakukannya, hanya setuju dengan tim direktur. Hanya ada naskah di pihak mereka. Tapi itu lebih mudah - tidak diperlukan iterasi tambahan. Ketika Anda melakukan konten sendiri, Anda segera melihat cara kerjanya di mesin, Anda dapat dengan cepat mengedit dan mengoordinasikan.


Pada bagian seluler, kami memperhitungkan semua kehalusan yang kami miliki di Minsk. Mereka membuat desain aplikasi baru, mengerjakan ulang sedikit arsitektur, menambahkan tutorial, tetapi mencoba membuatnya sesingkat dan sejelas mungkin. Mengurangi jumlah langkah pengguna dari meluncurkan aplikasi ke melihat konten. Satu setengah bulan sudah cukup untuk membuat proyek yang memadai. Selama satu setengah minggu kami pergi ke lokasi. Lebih mudah untuk bekerja di sana, karena semua kendali atas proyek ada di tangan penyelenggara, maka tidak perlu berkoordinasi dengan komite lain. Lebih mudah dan lebih mudah untuk bekerja di Kazan dan itu cukup normal bahwa ada sedikit waktu.

Dmitry: Tapi Anda memutuskan untuk meninggalkan pendekatan sinkronisasi, seperti suara?

Andrew:Ya, kami ditinggalkan oleh suara. Itu bekerja dengan baik. Seperti yang mereka katakan, jika berhasil, jangan menyentuhnya. Kami hanya memperhitungkan nuansa kualitas soundtrack. Ketika mereka melakukan pengantar, hanya ada episode pelatihan sehingga orang bisa mencoba sebelum acara dimulai. Sungguh mengejutkan bahwa ketika pada saat memainkan trek di stadion ada tepuk tangan meriah, "hidup", sistem ini memungkinkan Anda untuk melakukan sinkronisasi dengan baik pada trek itu, tetapi jika tepuk tangan yang direkam dicampur dengan trek pada saat itu, trek berhenti ditangkap. Nuansa ini diperhitungkan, dan suaranya disinkronkan dengan cukup baik.

PS Pada bagian kedua dari masalah ini, kita berbicara tentang visualisasi ilmiah data, pemodelan proses dalam proyek-proyek lain, pengembangan game dan program master " Teknologi untuk Pengembangan Game Komputer"". Kami akan menerbitkan kelanjutan dalam materi berikut. Anda dapat mendengarkan dan mendukung kami di sini:






PPS Sementara itu, pada Habr versi bahasa Inggris: melihat lebih dekat di Universitas ITMO .



All Articles