Sistem pembangkitan lanskap labirin dengan realisme visual yang ditingkatkan [terjemahan artikel oleh Jinmo Kim]

Halo, Habr!


Dalam posting ini, saya akan berbicara tentang sebuah artikel oleh Jinmo Kim: "Sistem Penulisan Labirin di Realitas Virtual Immersive untuk Realisme Visual Baru". Itu diterbitkan pada 04/04/2019. Teks lengkap artikel dapat ditemukan di sini .


Deskripsi singkat sistem


Artikel ini mengusulkan sistem penulis untuk menciptakan lanskap labirin, yang dengannya pengguna dapat secara otomatis menghasilkan berbagai pola kompleks dalam sistem yang sederhana dan intuitif. Dengan menggunakan informasi labirin yang dihitung dalam program, lanskap labirin tiga dimensi dihasilkan dengan cepat dan efisien.


Sistem pembangkitan lanskap labirin yang diusulkan terdiri dari tiga fungsi utama:


  • fungsi pembuatan otomatis dari labirin kotak berbagai ukuran dan pola, diimplementasikan menggunakan algoritma generasi labirin klasik;
  • fungsi generasi labirin melingkar;
  • fungsi mengubah labirin dari sketsa manual menjadi objek 3D menggunakan algoritma pemrosesan gambar.

Menggunakan sistem yang diusulkan, yang terdiri dari tiga fungsi ini, dimungkinkan untuk secara efektif membuat berbagai labirin, dari yang homogen hingga tidak beraturan. Pengembangan ini akan memungkinkan Anda untuk menghasilkan lanskap labirin berbagai konsep langsung dari perhitungan yang dilakukan melalui sistem yang sama. Selain itu, karya ini menganalisis peningkatan efek kehadiran dan pencelupan dalam realitas virtual, yaitu realisme visual. Juga, dalam pekerjaan ini, analisis kesesuaian sistem pengajuan yang diusulkan dilakukan dengan menggunakan survei.


Kenapa harus virtual reality?


Untuk mendapatkan semacam pengalaman realistis, Anda perlu berinteraksi dengan indera manusia. Realitas virtual memungkinkan seseorang untuk mendapatkan pengalaman seperti itu melalui interaksi dengan perasaan visual, pendengaran dan sentuhan. Dalam realitas virtual, efek kehadiran itu penting, karena pengguna dapat memperoleh pengalaman realistis berdasarkan perasaan tentang di mana ia berada, dengan siapa dan tindakan apa yang ia lakukan.


Untuk meningkatkan efek kehadiran dalam realitas virtual, penting bagaimana pengguna berinteraksi dengan lingkungan virtual, tetapi yang tidak kalah penting adalah bagaimana beragam adegan virtual disediakan untuk memuaskan pengguna secara visual.


Dalam studi tentang sistem realitas virtual yang berorientasi pada perangkat keras (sistem sentuhan, platform gerak, dll.), Untuk tampilan realistis dari tindakan dan gerakan pengguna dalam realitas virtual, hanya adegan eksperimental yang digunakan, di mana ruang di dalamnya terbatas, dan struktur adegan sederhana di kebanyakan kasus. Karena teknologi VR digunakan dalam berbagai bidang, seperti seni visual dan desain arsitektur, serta dalam permainan, diperlukan studi khusus untuk menciptakan ruang virtual yang kompleks sesuai dengan VR. Untuk tujuan ini, dalam pekerjaan ini, studi dilakukan tentang metode untuk secara otomatis membuat adegan virtual, seperti ruang perkotaan dan lanskap virtual, yang memiliki struktur kompleks dan berbagai karakteristik.


Imersi realitas virtual


Realitas virtual imersif (atau realitas virtual imersif) adalah realitas yang lahir dalam pikiran seseorang dalam proses interaksinya dengan sistem teknis yang kompleks, seperti sistem realitas virtual. Ini memiliki chronotope unik, logika, hanya ada yang relevan, sementara pengguna "hadir" dalam kenyataan ini, memiliki interaktivitas, sebagai kemampuan untuk menanggapi tindakan pengguna.


Studi penyelaman realitas virtual dilakukan dengan menggunakan berbagai pendekatan:


  • tampilan yang menyampaikan informasi visual tiga dimensi untuk memberikan pengalaman yang realistis bagi pengguna dalam lingkungan virtual berdasarkan panca indera
  • pemrosesan suara untuk meningkatkan persepsi spasial menggunakan surround sound
  • metode interaksi dengan lingkungan virtual, serta sistem taktil dan platform gerakan yang mengarahkan respons fisik kembali ke tubuh manusia (lengan, kaki, dll.).

Untuk mencapai efek kehadiran dalam realitas virtual, harus ada kepuasan visual pengguna. Untuk alasan ini, ada minat yang semakin besar dalam penelitian multimodal, yang meneliti baik sensasi visual maupun auditori atau sensasi visual dan sentuhan, serta studi tentang sistem pseudo-tactile yang menggabungkan pengalaman visual dan sistem tactile.


Meningkatkan Realisme Visual


Metode untuk menghasilkan adegan virtual, yang dapat memberikan efek kehadiran yang ditingkatkan, bersama dengan pengalaman visual baru bagi pengguna dalam lingkungan virtual, diperlukan untuk berbagai aplikasi VR. Di masa depan, adegan realitas virtual akan membebaskan diri dari ruang kecil dan terbatas seperti ruang dalam ruangan dan menciptakan lanskap terbuka yang luas seperti kota dan dunia virtual untuk memberikan pengguna lebih banyak pilihan.


Untuk membuat adegan labirin virtual yang dapat memberikan pengalaman baru dan meningkatkan efek kehadiran pengguna dalam realitas virtual, diusulkan sistem penulisan yang dioptimalkan dalam pekerjaan ini. Ini didasarkan pada penelitian tradisional dan dapat menghasilkan adegan labirin virtual yang lebih beragam dalam struktur yang sederhana, intuitif, dan ramah pengguna.


Sistem lanskap labirin


Sistem yang diusulkan menciptakan lanskap virtual labirin, dengan efek meningkatkan realisme visual bagi pengguna dalam realitas virtual, menggunakan berbagai efek visual. Ini mencakup tiga fungsi dasar yang secara otomatis menghasilkan berbagai pola labirin dan mengubahnya menjadi informasi yang diperlukan untuk membuat permukaan labirin tiga dimensi.


Hasilkan pola labirin bujursangkar


Fungsi pertama dari sistem penciptaan lanskap labirin adalah untuk secara otomatis menghasilkan pola labirin menggunakan algoritma generasi labirin klasik. Faktor penting adalah perlunya menciptakan labirin terakhir. Harus ada jalur yang berbeda atau satu jalur absolut sehingga pengguna tidak terjebak di dalam labirin. Ini membantu mencegah pengguna mengalami penyakit VR, yang merupakan masalah realitas virtual yang serius. Fungsi ini didasarkan pada algoritma Lee et al., Yang menciptakan pola labirin menggunakan algoritma Prim.


Algoritma untuk generasi terakhir dari labirin Lee, dll., Adalah metode yang dimulai dengan proses: (1) pengaturan posisi awal dan (2) pengaturan secara acak sel jalan dari sel-sel di sekitarnya. Kemudian (3) algoritma memeriksa empat sel di sekitar arah (menentukan struktur lapisan sel setelah menambahkan empat sel di sekitarnya ke koleksi sebagai sel dinding). Kemudian algoritma mengulangi proses (4, 5) untuk menemukan salah satu sel dinding yang direkam, dan kemudian membuat jalan.


Angka-angka di bawah ini menunjukkan proses membangun templat labirin bujursangkar. Pengguna menetapkan ukuran templat labirin, dan ketika Anda mengklik tombol "Labirin", templat labirin secara otomatis dihitung dan dihasilkan.


gambar

Jika pengguna ingin mengedit template labirin yang dibuat secara otomatis, mode "Edit" dipilih. Pengguna mengedit dengan mouse di bidang presentasi template labirin dengan mengklik sel, setelah itu secara otomatis dikonversi dari dinding ke jalan atau dari jalan ke dinding. Setelah templat labirin dihasilkan, pengguna memiliki kesempatan untuk melihat labirin yang dihasilkan dalam format 3D.


Lihat labirin dalam 3D
gambar

Metode menciptakan labirin melingkar


Fungsi kedua dari sistem penulis yang diusulkan untuk membuat lanskap labirin adalah metode menghasilkan labirin melingkar. Metode ini secara otomatis membuat labirin melingkar dengan berbagai ukuran dan pola dan merupakan tambahan yang baik untuk fungsi menghasilkan pola labirin dalam bentuk kotak persegi panjang. Dengan demikian, metode ini memperluas pengalaman visual pengguna dalam realitas virtual. Proses membuat dan memasang dinding dan sel jalan pada dasarnya identik. Tetapi untuk labirin melingkar, karakteristik inputnya adalah jari-jari labirin dan jumlah entri dalam labirin.


Pertama-tama, ketika pengguna memasuki jari-jari labirin yang diinginkan, dinding-dinding dinding labirin melingkar secara otomatis dihitung dengan algoritma untuk menggambar lingkaran dari titik pusat. Kemudian dinding labirin melingkar digandakan berkali-kali dengan interval tertentu (ns) dari lingkaran luar. Berdasarkan jumlah entri yang dimasukkan oleh pengguna, bagian dibuat dengan memutar sel-sel dinding sebanyak input yang harus berasal dari lingkaran terluar.


Sel-sel yang akan menjadi titik awal untuk memasuki lingkaran luar dipilih secara acak sebanyak jumlah pintu masuk ke labirin seharusnya. Kemudian, dalam sel yang dipilih, sel dinding dipilih yang panjangnya bertepatan dengan interval (ns) antara dinding melingkar, dan itu berputar cukup untuk menyentuh dinding lingkaran dalam.
Akhirnya, ketika sel dinding terjadi pada posisi di mana ia diputar dan menyentuh dinding lingkaran dalam, algoritma di atas diulangi.


1: nr ←   . 2: ne ←    . 3: procedure     (nr, ne) 4: ns ←       . 5: while nr > ns do 6:         . 7: nr = nr - ns. 8: end while 9: nc ←    . 10: Arre[ne] ←  ,  ne      . 11: for i = nc, 0 do:     . 12: for j = 0, ne do 13:     ns    (Arre[j]). 14:   . 15:  Arre[j],  ,      . 16: end for 17: end for 18: end procedure 

Teks asli algoritme
 nr ← radius of the circular maze. ne ← number of maze entrances. procedure CIRCULAR MAZE GENERATION PROCESS(nr, ne) ns ← interval between maze for user road. while nr > ns do define wall cell by using Bresenham's circle drawing algorithm. nr = nr - ns. end while nc ← number of drawing circles. Arre[ne] ← as many entrance cells as ne are selected from wall cell of the outermost circle. for i = nc, 0 do: generate passages in every circle. for j = 0, ne do select cells with length of ns in entrance cell (Arre[j]). rotate selected cells. renew Arre[j] by finding a cell that meets the inner circle after rotation. end for end for end procedure 

Algoritma di atas dari proses ini didasarkan pada parameter input dari jari-jari labirin melingkar dan jumlah input yang dimasukkan oleh pengguna. Juga, gambar di bawah ini menunjukkan proses pembuatan labirin melingkar.


Proses menciptakan labirin melingkar

gambar


Labirin Berbasis Sketsa


Fungsi terakhir dari sistem pembuatan labirin dalam karya ini adalah pembuatan labirin berdasarkan sketsa. Pola labirin bujursangkar dan melingkar adalah labirin homogen. Namun, dalam kebanyakan kasus, taman labirin yang mungkin kita temui dalam kehidupan sehari-hari memiliki bentuk yang tidak teratur. Oleh karena itu, dalam karya ini, sebuah fungsi diusulkan yang dapat dengan mudah membuat permukaan alami labirin, serta templat labirin dalam bentuk elektronik, dari gambar sketsa yang digambar tangan pengguna. Fitur ini memungkinkan Anda untuk menggunakan bagian labirin di berbagai aplikasi, seperti sistem pencarian jalur atau taman virtual.


Fungsi pembuatan labirin yang diusulkan memungkinkan pengguna untuk menggunakan pola labirin yang digambar menggunakan perangkat lunak grafis seperti Photoshop, atau sketsa pindaian yang digambar dengan tangan di selembar kertas. Gambar dimuat ke dalam sistem di mana algoritma pemrosesan gambar diterapkan, karena gambar diubah menjadi peta tekstur labirin. Proses ini dilakukan dalam tiga tahap.


  • Langkah pertama adalah proses mendapatkan gambar sketsa dalam sistem. Untuk melakukan perhitungan proses selanjutnya, gambar thumbnail diubah menjadi gambar saluran tunggal dalam skala abu-abu.
  • Langkah kedua adalah proses pemecahan dinding dan jalan menggunakan binarisasi. Di sini, nilai ambang merupakan elemen penting untuk menentukan dinding dan jalan. Sistem memiliki kemampuan untuk mengedit nilai ambang input melalui antarmuka.
  • Tahap ketiga adalah proses mengisi lubang yang muncul selama proses binarisasi.

Melalui langkah-langkah ini, sebuah labirin alami dibuat. Sistem juga menyediakan item menu yang memungkinkan pengguna untuk mengontrol jumlah iterasi dari operasi pengisian.
Gambar di bawah ini menunjukkan proses menghasilkan peta tekstur labirin dalam mode langkah-demi-langkah dari sketsa labirin yang dibuat pengguna.


Pembuatan labirin dari sketsa pengguna
gambar

Hasil dan Analisis Eksperimental


Sistem yang diusulkan untuk membuat lanskap labirin diimplementasikan menggunakan Microsoft Visual Studio 2013, OpenCV 2.4.11 dan DirectX SDK 9.0c. Selain itu, mesin Unity 2017.3.1f1 (64-bit) digunakan untuk membuat lanskap labirin, diselesaikan menggunakan karya grafis, berdasarkan peta tekstur labirin yang secara otomatis dihasilkan menggunakan sistem pembuatan labirin penulis. Untuk menguji lanskap ini dan melihat hasilnya dalam realitas virtual, sistem diintegrasikan menggunakan perangkat HMD Oculus Rift CV1 dan Oculus SDK (ovr_unity_utilities 1.22.0) dengan mesin Unity3D. Akhirnya, PC yang digunakan untuk percobaan dan implementasi memiliki spesifikasi Intel Core i7-6700, 16 GB RAM (memori akses acak), dan prosesor grafis Geforce 1080.


Gambar di bawah ini menunjukkan tiga lanskap labirin virtual. Ini adalah hasil dari generasi bantuan dari pola labirin yang dihitung menggunakan fungsi yang dipertimbangkan dari sistem pengembangan ini. Selain itu, Anda dapat melihat bahwa berbagai lingkungan labirin virtual dibuat dengan menambahkan faktor grafis sesuai dengan konsepnya.


gambar

Selain itu, survei percontohan dilakukan dengan fokus pada peserta umum. Pertama, berkenaan dengan kinerja sistem, menggunakan uji komparatif dengan fungsi menciptakan lanskap mesin permainan komersial, dipastikan bahwa sistem yang diusulkan memungkinkan pengguna (pengembang) dengan mudah dan intuitif mengedit bagian-bagian labirin yang diinginkan. Ini mengurangi waktu yang diperlukan dan menyebabkan tingkat kepuasan pengguna yang tinggi dengan sistem.


Melalui survei tentang sense of presence, dipastikan bahwa lanskap labirin dalam realitas virtual dapat menawarkan pengalaman visual baru kepada pengguna. Menggunakan analisis statistik, itu juga menegaskan bahwa semua situs yang diperoleh dengan menggunakan tiga fungsi yang diusulkan memuaskan tanpa perbedaan yang signifikan di antara mereka. Di masa depan, sistem akan disempurnakan untuk menyediakan lingkungan labirin virtual berskala besar, seperti taman labirin atau taman hiburan, di mana beberapa pengguna dapat mengalami ruang labirin bersama dalam realitas virtual.

Source: https://habr.com/ru/post/id455744/


All Articles