Gambaran umum kamera yang dapat di-locatable
HoloLens menyertakan kamera menghadap dunia yang dipasang di bagian depan perangkat yang memungkinkan aplikasi untuk melihat apa yang dilihat pengguna. Pengembang memiliki akses ke dan kontrol kamera, seperti yang mereka lakukan untuk kamera warna pada smartphone, portabel, atau desktop. Pengambilan media Windows universal yang sama dan API Windows Media Foundation yang berfungsi pada pekerjaan seluler dan desktop di HoloLens. Unity telah membungkus API windows ini untuk mengabstraksi fitur penggunaan kamera di HoloLens. Tugas fitur termasuk mengambil foto dan video reguler (dengan atau tanpa hologram) dan menemukan posisi kamera di dalam dan perspektif di tempat kejadian.
Informasi kamera perangkat
HoloLens (generasi pertama)
Memperbaiki kamera foto/video fokus (PV) dengan keseimbangan putih otomatis, pencahayaan otomatis, dan alur pemrosesan gambar penuh.
WHITE Privacy LED menghadap dunia yang menerangi setiap kali kamera aktif.
Kamera mendukung mode berikut (semua mode adalah rasio aspek 16:9) pada 30, 24, 20, 15, dan 5 fps:
Video Pratinjau Masih Bidang Tampilan Horizontal (H-FOV) Penggunaan yang disarankan 1280 x 720 1280 x 720 1280 x 720 45 deg (mode default dengan stabilisasi video) T/A T/A 2048x1152 67 deg Gambar diam resolusi tertinggi 1408x792 1408x792 1408x792 48 deg Resolusi overscan (padding) sebelum stabilisasi video 1344x756 1344x756 1344x756 67 deg Mode video FOV besar dengan overscan 896x504 896x504 896x504 48 deg Mode daya rendah / Resolusi rendah untuk tugas pemrosesan gambar
HoloLens 2
Kamera foto/video (PV) fokus otomatis dengan keseimbangan putih otomatis, pencahayaan otomatis, dan alur pemrosesan gambar penuh. Sistem fokus otomatis dapat menyesuaikan jarak objek dari 30 cm ke tak terbatas. Panjang fokus yang efektif untuk lensa kamera HoloLens 2 PV adalah 4,87 mm +/- 5%. Selain variasi 5% karena toleransi manufaktur, panjang fokus akan berubah secara dinamis karena sistem fokus otomatis. Perjalanan AF (stroke) hingga 0, 2 mm.
WHITE Privacy LED menghadap dunia yang menerangi setiap kali kamera aktif.
HoloLens 2 mendukung profil kamera yang berbeda. Pelajari cara menemukan dan memilih kemampuan kamera.
Kamera mendukung profil dan resolusi berikut (semua mode video adalah rasio aspek 16:9):
Profil Video Pratinjau Masih Kecepatan bingkai Bidang Tampilan Horizontal (H-FOV) Penggunaan yang disarankan Warisan, 0 BalancedVideoAndPhoto, 100 2272x1278 2272x1278 15.30 64.69 Perekaman video berkualitas tinggi Warisan, 0 SeimbangVideoAndPhoto,100 896x504 896x504 15.30 64.69 Streaming pratinjau untuk pengambilan foto berkualitas tinggi Warisan, 0 BalancedVideoAndPhoto, 100 3904x2196 64.69 Pengambilan foto berkualitas tinggi BalancedVideoAndPhoto, 120 1952x1100 1952x1100 1952x1100 15.30 64.69 Skenario durasi panjang BalancedVideoAndPhoto, 120 1504x846 1504x846 15.30 64.69 Skenario durasi panjang VideoConferencing, 100 1952x1100 1952x1100 1952x1100 15, 30,60 64.69 Konferensi video, skenario durasi panjang Konferensi video, 100 1504x846 1504x846 5, 15, 30,60 64.69 Konferensi video, skenario durasi panjang Videoconferencing, 100 BalancedVideoAndPhoto, 120 1920 x 1080 1920 x 1080 1920 x 1080 15, 30 64.69 Konferensi video, skenario durasi panjang Videoconferencing, 100 BalancedVideoAndPhoto, 120 1280 x 720 1280 x 720 1280 x 720 15, 30 64.69 Konferensi video, skenario durasi panjang Videoconferencing, 100 BalancedVideoAndPhoto,120 1128x636 15, 30 64.69 Konferensi video, skenario durasi panjang Videoconferencing, 100 BalancedVideoAndPhoto, 120 960x540 15,30 64.69 Konferensi video, skenario durasi panjang Videoconferencing, 100 BalancedVideoAndPhoto, 120 760x428 15, 30 64.69 Konferensi video, skenario durasi panjang Videoconferencing, 100 BalancedVideoAndPhoto, 120 640x360 15, 30 64.69 Konferensi video, skenario durasi panjang Videoconferencing, 100 BalancedVideoAndPhoto, 120 500x282 15, 30 64.69 Konferensi video, skenario durasi panjang Videoconferencing, 100 BalancedVideoAndPhoto, 120 424x240 15, 30 64.69 Konferensi video, skenario durasi panjang
Catatan
Pelanggan dapat memanfaatkan pengambilan realitas campuran untuk mengambil video atau foto aplikasi Anda yang menyertakan hologram dan menggunakan stabilisasi video.
Jika Anda ingin konten tangkapan pengguna Anda terlihat sebagus mungkin, ada beberapa hal yang harus Anda pertimbangkan. Anda juga dapat mengaktifkan (dan menyesuaikan) pengambilan realitas campuran dari langsung dalam aplikasi Anda. Pelajari selengkapnya di pengambilan realitas campuran untuk pengembang.
Menemukan Kamera Perangkat di Dunia
Ketika HoloLens mengambil foto dan video, bingkai yang diambil mencakup lokasi kamera di dunia dan model lensa kamera. Informasi ini memungkinkan aplikasi untuk beralasan tentang posisi kamera di dunia nyata untuk skenario pencitraan tertambah. Pengembang dapat secara kreatif menggulung skenario mereka sendiri menggunakan pemrosesan gambar favorit mereka atau pustaka visi komputer kustom.
"Kamera" di tempat lain dalam dokumentasi HoloLens dapat merujuk ke "kamera game virtual" (frustum yang dirender aplikasi). Kecuali dijelaskan sebaliknya, "kamera" pada halaman ini mengacu pada kamera warna RGB dunia nyata.
Kesalahan Distorsi
Pada HoloLens 2, aliran video dan gambar diam tidak terdistorsi dalam alur pemrosesan gambar sistem sebelum bingkai tersedia untuk aplikasi. Aliran pratinjau berisi bingkai terdistorsi asli. Karena hanya CameraIntrinsics yang tersedia, aplikasi harus berasumsi bahwa bingkai gambar mewakili kamera pinhole yang sempurna.
Pada HoloLens (generasi pertama), fungsi undistortion dalam prosesor gambar mungkin masih meninggalkan kesalahan hingga 10 piksel saat menggunakan CameraIntrinsics dalam metadata bingkai. Dalam banyak kasus penggunaan, kesalahan ini tidak akan menjadi masalah. Namun, jika, misalnya, Anda menyelaraskan hologram dengan poster atau penanda dunia nyata dan Anda melihat < offset 10 px (kira-kira 11 mm untuk hologram yang diposisikan 2 meter), kesalahan distorsi ini bisa menjadi penyebabnya.
Skenario Penggunaan Kamera yang Dapat Locatable
Menampilkan foto atau video di dunia tempat foto atau video diambil
Bingkai Kamera Perangkat dilengkapi dengan transformasi "Kamera Ke Dunia" yang dapat digunakan untuk menunjukkan dengan tepat di mana perangkat itu ketika menangkap gambar. Misalnya, Anda dapat memposisikan ikon holografik kecil di lokasi ini (CameraToWorld.MultiplyPoint(Vector3.zero)) dan bahkan menggambar panah kecil ke arah yang dihadapi kamera (CameraToWorld.MultiplyVector(Vector3.forward)).
Tag / Pola / Poster / Pelacakan Objek
Banyak aplikasi realitas campuran menggunakan gambar atau pola visual yang dapat dikenali untuk membuat titik yang dapat dilacak di ruang. Aplikasi dapat merender objek relatif terhadap titik tersebut atau membuat lokasi yang diketahui. Penggunaan umum untuk HoloLens adalah menemukan objek dunia nyata yang ditandai dengan fidusia. Ini mungkin terjadi, misalnya, pada tablet yang telah disiapkan untuk berkomunikasi dengan HoloLens melalui Wi-Fi.
Anda akan memerlukan beberapa hal untuk mengenali pola visual dan menempatkan objek di ruang dunia aplikasi:
- Toolkit pengenalan pola gambar, seperti kode QR, tag AR, pencari wajah, pelacak lingkaran, OCR, dan sebagainya.
- Kumpulkan bingkai gambar saat runtime dan teruskan ke lapisan pengenalan.
- Batalkan proyeksi lokasi gambar mereka kembali ke posisi dunia atau kemungkinan sinar dunia.
- Posisikan model virtual Anda di atas lokasi dunia ini.
Beberapa tautan pemrosesan gambar penting:
Menjaga kecepatan bingkai aplikasi interaktif sangat penting, terutama saat berhadapan dengan algoritma pengenalan gambar yang berjalan lama. Untuk alasan ini, kami biasanya menggunakan pola berikut:
- Utas Utama: mengelola objek kamera.
- Utas Utama: meminta bingkai baru (asinkron).
- Utas Utama: lewati bingkai baru untuk melacak utas.
- Alur Pelacakan: memproses gambar untuk mengumpulkan poin-poin penting.
- Utas Utama: memindahkan model virtual agar sesuai dengan titik kunci yang ditemukan.
- Utas Utama: ulangi dari langkah 2.
Beberapa sistem penanda gambar hanya menyediakan lokasi piksel tunggal, yang sama dengan sinar lokasi yang mungkin. (Yang lain menyediakan transformasi penuh, dalam hal ini bagian ini tidak diperlukan.) Untuk sampai ke satu lokasi 3D, kita dapat menghitung beberapa sinar dan menemukan hasil akhir dengan perkiraan persimpangan mereka. Untuk mendapatkan hasil ini, Anda harus:
- Buat perulangan yang mengumpulkan beberapa gambar kamera.
- Temukan titik fitur terkait dan sinar dunianya.
Mengingat dua lokasi tag terlacak atau lebih, Anda dapat memposisikan adegan yang dimodelkan agar sesuai dengan skenario pengguna saat ini. Jika Anda tidak dapat mengasumsikan gravitasi, maka Anda akan memerlukan tiga lokasi tag. Dalam banyak kasus, kami menggunakan skema warna di mana bola putih mewakili lokasi tag terlacak real time, dan bola biru mewakili lokasi tag yang dimodelkan. Ini memungkinkan pengguna untuk mengukur kualitas keselarasan secara visual. Kami mengasumsikan pengaturan berikut di semua aplikasi kami:
- Dua atau beberapa lokasi tag yang dimodelkan.
- Satu 'ruang kalibrasi', yang dalam adegan adalah induk tag.
- Pengidentifikasi fitur kamera.
- Perilaku, yang memindahkan ruang kalibrasi untuk menyelaraskan tag yang dimodelkan dengan tag real-time (kami berhati-hati untuk memindahkan ruang induk, bukan penanda yang dimodelkan sendiri, karena koneksi lain relatif terhadap tag tersebut).
Melacak atau mengidentifikasi objek/wajah dunia nyata yang ditandai atau memindahkan objek/wajah dunia nyata menggunakan LED atau pustaka pengenal lainnya
Contoh:
- Robot industri dengan LED (atau kode QR untuk objek yang bergerak lebih lambat).
- Identifikasi dan kenali objek di dalam ruangan.
- Mengidentifikasi dan mengenali orang-orang di ruangan--misalnya, menempatkan kartu kontak holografik di atas wajah.