Bekerja dengan Kit Pengembang Azure Kinect

Microsoft mengumumkan modul kamera Azure Kinect bersama HoloLens 2 pada awal 2019. Kedua perangkat menggunakan modul kamera realitas campuran yang sama, menggunakan sensor kedalaman waktu penerbangan untuk memetakan objek di sekitar kamera. Namun jika HoloLens adalah perangkat realitas campuran yang dapat dikenakan, modul Azure Kinect dimaksudkan untuk menyediakan aplikasi pembelajaran mesin yang dihosting Azure dengan sensor yang terhubung yang dapat dipasang di mana saja di ruang kerja.

Azure Kinect adalah keturunan langsung dari modul Kinect generasi kedua yang dikirimkan bersama Xbox One, tetapi alih-alih memberikan input dunia nyata untuk game, itu ditargetkan untuk pengguna dan aplikasi perusahaan. Dimaksudkan untuk bekerja dengan Layanan Kognitif Azure, kit pengembang Azure Kinect pertama mulai dikirimkan pada akhir 2019 di Amerika Serikat, menambahkan beberapa negara lain pada awal 2020.

Membuka kotaknya

Azure Kinect Developer Kit seharga $ 399 adalah unit putih kecil dengan dua lensa kamera, satu untuk kamera RGB sudut lebar dan satu lagi untuk sensor kedalaman Kinect, dan serangkaian mikrofon. Ini memiliki sensor orientasi, memungkinkan Anda menggunakan kamera untuk membangun gambar 3-D lingkungan yang kompleks, siap digunakan dalam realitas campuran. Anda dapat menyatukan beberapa perangkat untuk pemindaian 3-D cepat atau untuk menyediakan cakupan seluruh ruangan, menggunakan sensor orientasi untuk membantu memahami posisi perangkat.

Bersama dengan unit kamera, Anda mendapatkan catu daya, kunci Allen untuk melepaskan penutup port rantai, dan kabel USB untuk menghubungkan ke PC pengembangan. Saya akan merekomendasikan untuk mendapatkan tripod desktop atau jenis dudukan lain, karena dudukan plastik yang dibundel agak kecil dan tidak berfungsi dengan sebagian besar meja atau monitor. Tidak ada perangkat lunak di dalam kotak, hanya tautan ke dokumentasi online tempat Anda dapat mengunduh SDK perangkat.

Sebelum Anda memulai, Anda harus memperbarui firmware perangkat. Ini dikirimkan dengan SDK dan termasuk alat penginstalan baris perintah. Saat Anda menjalankan pembaru, ia terlebih dahulu memeriksa status firmware saat ini sebelum menginstal firmware kamera dan perangkat, lalu melakukan boot ulang. Setelah kamera di-boot ulang, gunakan alat yang sama untuk memeriksa apakah pembaruan telah berhasil diinstal. Jika ada masalah dengan penginstalan, Anda dapat menggunakan pengaturan ulang perangkat keras kamera (tersembunyi di bawah dudukan tripod) untuk memulihkan gambar pabrik asli.

Merasakan dunia

Dengan SDK terinstal, Anda mendapatkan akses ke sensor perangkat dari kode Anda. Ada tiga SDK: satu untuk akses tingkat rendah ke semua sensor kamera, satu lagi untuk menggunakan fitur pelacakan tubuh Kinect yang sudah dikenal, dan satu lagi untuk menautkan rangkaian mikrofon kamera ke layanan ucapan Azure. Aplikasi Kinect Viewer yang sudah dibuat sebelumnya menunjukkan tampilan kamera yang tersedia dan mengalirkan data dari sensor perangkat. Anda mendapatkan akses ke kamera RGB sudut lebar, tampilan kamera kedalaman, dan gambar dari kamera inframerah sensor kedalaman. SDK tersedia untuk Windows dan Linux, khususnya rilis Ubuntu 18.04 LTS Canonical, dan dapat diunduh langsung dari Microsoft atau dari GitHub.

Ide yang bagus untuk menghabiskan waktu bermain dengan Kinect Viewer. Ini memungkinkan Anda melihat bagaimana berbagai mode kamera kedalaman beroperasi, membantu Anda memilih bidang pandang yang sempit atau lebar. Anda dapat melihat data dari sensor posisi, baik akselerometer dan giroskop, dan dari rangkaian mikrofon. Dengan Azure Kinect Developer Kit yang terhubung ke PC pengembangan dan berfungsi, Anda dapat mulai menulis kode untuk itu. Aplikasi perekam baris perintah dapat digunakan untuk menangkap data untuk diputar di penampil, menyimpan informasi kedalaman dalam file format MKV (Matroska Video).

Membangun aplikasi penginderaan kedalaman pertama Anda

Microsoft menyediakan kode contoh untuk membuat aplikasi C sederhana agar berfungsi dengan Azure Kinect Development Kit. Hanya ada satu pustaka yang dibutuhkan, dan ini menyediakan objek dan metode yang diperlukan untuk bekerja dengan kamera. Aplikasi apapun terlebih dahulu perlu memeriksa berapa banyak kamera yang terhubung ke PC host sebelum Anda mengkonfigurasi aliran data perangkat Anda. Perangkat dikenali dari nomor serinya, sehingga Anda dapat menggunakan ini untuk menangani kamera tertentu saat bekerja dengan beberapa yang terhubung ke PC yang sama atau dirangkai bersama.

Kit Pengembang Azure Kinect hanya mengirimkan data streaming, jadi aplikasi perlu mengonfigurasi kecepatan data dalam bingkai per detik, bersama dengan format warna dan resolusi gambar. Setelah Anda membuat objek konfigurasi, Anda dapat membuka koneksi menggunakan objek konfigurasi Anda, siap untuk mengalirkan data. Saat Anda selesai membaca aliran data, hentikan dan tutup perangkat.

Gambar diambil dalam objek tangkap, dengan gambar kedalaman, gambar IR, dan gambar berwarna untuk setiap gambar, diambil dari aliran perangkat. Setelah Anda mendapatkan jepretan, Anda dapat mengekstrak gambar individu yang siap digunakan dalam aplikasi Anda. Objek gambar dapat dikirim ke API visi mesin Azure, siap untuk pengenalan objek atau deteksi anomali. Salah satu contoh yang digunakan Microsoft dalam demonstrasi adalah aplikasi yang menggunakan video yang diambil untuk mendeteksi ketika seorang pekerja di lantai pabrik terlalu dekat dengan mesin operasi; yang lain mendeteksi seseorang merokok di dekat pompa bensin.

Proses serupa memberi Anda data dari posisi dan sensor gerak. Karena data gerakan diambil pada kecepatan yang lebih tinggi daripada data gambar, Anda harus menerapkan beberapa bentuk sinkronisasi dalam kode Anda untuk menghindari kehilangan data apa pun. Data audio diambil menggunakan API Windows standar, termasuk yang digunakan oleh layanan ucapan Azure.

Meskipun perangkat keras Azure Kinect menangkap banyak data, fungsi SDK membantu mengubahnya menjadi bentuk yang dapat digunakan; misalnya, menambahkan data kedalaman ke gambar RGB untuk menghasilkan gambar RGB-D yang diubah ke sudut pandang kamera RGB (dan sebaliknya). Karena kedua sensor tidak disetel, ini membutuhkan pembengkokan mesh gambar untuk menggabungkan sudut pandang dua kamera, menggunakan GPU PC Anda. Transformasi lain menghasilkan cloud titik, memungkinkan Anda mendapatkan data kedalaman untuk setiap piksel dalam tangkapan Anda. Salah satu opsi yang berguna di SDK adalah kemampuan untuk merekam video dan aliran data dalam file format Matroska. Pendekatan ini memungkinkan perangkat dengan bandwidth terbatas untuk mengumpulkan data dan mengirimkannya ke, katakanlah, perangkat Azure Stack Edge dengan wadah Layanan Kognitif untuk pemrosesan batch.

Tubuh melacak kerangka digital

Perangkat keras Kinect asli memperkenalkan pelacakan tubuh, dengan model kerangka yang dapat digunakan untuk mengevaluasi postur dan gerak tubuh dengan cepat. Pendekatan yang sama berlanjut di Azure Kinect Body Tracking SDK, yang menggunakan teknologi pemrosesan paralel GPU CUDA Nvidia untuk bekerja dengan data gambar 3-D dari sensor kedalaman perangkat Anda. Aplikasi sampel yang dibundel menunjukkan beberapa fitur SDK, termasuk kemampuan untuk melacak lebih dari satu orang dalam satu waktu. 

Body Tracking SDK dibuat berdasarkan Azure Kinect SDK, menggunakannya untuk mengonfigurasi dan menyambungkan ke perangkat. Data gambar yang diambil diproses oleh pelacak, menyimpan data dalam struktur data kerangka tubuh. Ini berisi kumpulan struktur kerangka untuk tubuh yang teridentifikasi, peta indeks 2-D untuk membantu memvisualisasikan data Anda, bersama dengan gambar 2-D dan 3-D yang mendasari yang digunakan untuk membuat data pelacakan. Setiap bingkai dapat digunakan untuk membuat animasi atau untuk memasukkan informasi ke alat pembelajaran mesin yang dapat membantu memproses posisi terlacak dalam kaitannya dengan peta ruangan atau posisi yang ideal.

Layanan Kognitif Azure adalah alat yang ampuh untuk memproses data, dan penambahan Azure Kinect memungkinkan untuk menggunakannya dalam berbagai skenario industri dan perusahaan. Dengan fokus pada pengenalan gambar 3-D di tempat kerja, Microsoft mencoba menunjukkan bagaimana pengenalan gambar dapat digunakan untuk mengurangi risiko dan meningkatkan keselamatan. Bahkan ada opsi untuk menggunakan berbagai perangkat sebagai sistem penangkapan volumetrik cepat, yang dapat membantu membangun lingkungan realitas campuran dan menyediakan data sumber untuk CAD dan alat desain lainnya. Hasilnya adalah perangkat yang fleksibel, dengan sedikit kode, menjadi perangkat penginderaan yang sangat kuat.