Bekerja dengan Kit Pembangun Azure Kinect

Microsoft mengumumkan modul kamera Azure Kinect bersama HoloLens 2 pada awal tahun 2019. Kedua-dua peranti menggunakan modul kamera realiti campuran yang sama, menggunakan sensor kedalaman masa penerbangan untuk memetakan objek di sekitar kamera. Tetapi di mana HoloLens adalah peranti realiti campuran yang boleh dipakai, modul Azure Kinect bertujuan untuk menyediakan aplikasi pembelajaran mesin yang dihoskan oleh Azure dengan sensor bersambung yang dapat dipasang di mana saja di ruang kerja.

Azure Kinect adalah keturunan langsung dari modul Kinect generasi kedua yang disertakan bersama Xbox One, tetapi bukannya memberikan input dunia nyata untuk permainan, ia disasarkan kepada pengguna dan aplikasi perusahaan. Bercadang untuk bekerjasama dengan Azure's Cognitive Services, kit pembangun Azure Kinect pertama mula dihantar pada akhir 2019 di Amerika Syarikat, menambah beberapa negara lain pada awal tahun 2020.

Membuka kotak

Kit Pembangun Azure Kinect $ 399 adalah unit putih kecil dengan dua lensa kamera, satu untuk kamera RGB sudut lebar dan satu untuk sensor kedalaman Kinect, dan pelbagai mikrofon. Ia mempunyai sensor orientasi, yang memungkinkan anda menggunakan kamera untuk membuat gambar persekitaran 3-D yang kompleks, siap digunakan dalam realiti campuran. Anda boleh mengaitkan beberapa peranti bersama-sama untuk imbasan 3-D cepat atau untuk memberi liputan seluruh ruangan, menggunakan sensor orientasi untuk membantu memahami kedudukan peranti.

Bersama dengan unit kamera, anda mendapat bekalan kuasa, kunci Allen untuk melepaskan penutup port rantai, dan kabel USB untuk menyambung ke PC pengembangan. Saya akan mengesyorkan mendapatkan tripod desktop atau jenis pelekap lain, kerana dudukan plastik yang dibungkus agak kecil dan tidak berfungsi dengan kebanyakan meja atau monitor. Tidak ada perisian di dalam kotak, hanya pautan ke dokumentasi dalam talian di mana anda boleh memuat turun SDK peranti.

Sebelum memulakan, anda harus mengemas kini firmware peranti. Ini dihantar dengan SDK dan termasuk alat pemasangan baris perintah. Semasa anda menjalankan updater, pertama-tama memeriksa keadaan firmware semasa sebelum memasang firmware kamera dan peranti dan kemudian reboot. Setelah kamera dihidupkan semula, gunakan alat yang sama untuk memastikan kemas kini berjaya dipasang. Sekiranya terdapat masalah dengan pemasangan, anda boleh menggunakan tetapan semula perkakasan kamera (tersembunyi di bawah pelekap tripod) untuk memulihkan imej kilang yang asal.

Merasakan dunia

Dengan pemasangan SDK, anda mendapat akses ke sensor peranti dari kod anda. Terdapat tiga SDK: satu untuk akses tingkat rendah ke semua sensor kamera, satu lagi untuk menggunakan ciri pelacakan badan Kinect yang biasa, dan satu lagi untuk menghubungkan susunan mikrofon kamera ke perkhidmatan ucapan Azure. Aplikasi Kinect Viewer yang sudah siap menunjukkan paparan kamera yang tersedia dan mengalirkan data dari sensor peranti. Anda mendapat akses ke kamera RGB sudut lebar, pandangan kamera kedalaman, dan gambar dari kamera inframerah sensor kedalaman. SDK tersedia untuk Windows dan untuk Linux, khususnya pelepasan Canonical's Ubuntu 18.04 LTS, dan boleh dimuat turun secara langsung dari Microsoft atau dari GitHub.

Adalah idea yang baik untuk meluangkan masa bermain dengan Kinect Viewer. Ini membolehkan anda melihat bagaimana mod kamera kedalaman yang berbeza beroperasi, membantu anda memilih bidang pandangan yang sempit atau lebar. Anda dapat melihat data dari sensor kedudukan, akselerometer dan giroskop, dan dari susunan mikrofon. Dengan Kit Pembangun Azure Kinect disambungkan ke PC pengembangan dan berfungsi, anda boleh mula menulis kod untuknya. Aplikasi perekam baris perintah dapat digunakan untuk menangkap data untuk pemutaran dalam penonton, menyimpan maklumat mendalam dalam fail format MKV (Matroska Video).

Membangun aplikasi penderiaan pertama anda

Microsoft menyediakan contoh kod untuk membina aplikasi C sederhana untuk bekerja dengan Azure Kinect Development Kit. Hanya ada satu perpustakaan yang diperlukan, dan ini menyediakan objek dan kaedah yang diperlukan untuk bekerja dengan kamera. Sebarang aplikasi terlebih dahulu perlu memeriksa berapa banyak kamera yang disambungkan ke PC host sebelum anda mengkonfigurasi aliran data peranti anda. Peranti dikenal pasti dengan nombor siri mereka, jadi anda dapat menggunakannya untuk mengatasi kamera tertentu ketika bekerja dengan beberapa yang terhubung ke PC yang sama atau dirantai bersama.

Kit Pembangun Azure Kinect hanya memberikan data streaming, jadi aplikasi perlu mengkonfigurasi laju data dalam bingkai per detik, bersama dengan format warna dan resolusi. Setelah membuat objek konfigurasi, anda dapat membuka sambungan menggunakan objek konfigurasi anda, siap untuk mengalirkan data. Setelah selesai membaca aliran data, hentikan dan tutup peranti.

Gambar diambil dalam objek penangkapan, dengan gambar kedalaman, gambar IR, dan gambar warna untuk setiap gambar individu, diambil dari aliran perangkat. Setelah anda menangkap, anda boleh mengekstrak gambar individu yang siap digunakan dalam aplikasi anda. Objek gambar boleh dihantar ke API penglihatan mesin Azure, siap untuk pengenalan objek atau pengesanan anomali. Salah satu contoh yang telah digunakan Microsoft dalam demonstrasinya adalah aplikasi yang menggunakan video yang ditangkap untuk mengesan ketika pekerja di lantai kilang terlalu dekat dengan mesin operasi; yang lain mengesan seseorang merokok berhampiran pam petrol.

Proses serupa memberi anda data dari sensor kedudukan dan gerakan. Oleh kerana data gerakan ditangkap pada kadar yang lebih tinggi daripada data gambar, anda mesti melaksanakan beberapa bentuk penyegerakan dalam kod anda untuk mengelakkan kehilangan data. Data audio ditangkap menggunakan API Windows standard, termasuk yang digunakan oleh perkhidmatan ucapan Azure.

Walaupun perkakasan Azure Kinect menangkap banyak data, fungsi SDK membantu mengubahnya menjadi bentuk yang boleh digunakan; sebagai contoh, menambahkan data kedalaman ke gambar RGB untuk menghasilkan gambar RGB-D yang ditransformasikan ke sudut pandang kamera RGB (dan sebaliknya). Oleh kerana kedua-dua sensor itu tidak diatur, ini memerlukan penyimpangan jejaring gambar untuk menggabungkan sudut pandang kedua kamera, menggunakan GPU PC anda. Transformasi lain menghasilkan awan titik, yang membolehkan anda mendapatkan data kedalaman untuk setiap piksel dalam tangkapan anda. Salah satu pilihan yang berguna dalam SDK adalah kemampuan untuk menangkap aliran video dan data dalam fail format Matroska. Pendekatan ini membolehkan peranti terhad lebar jalur untuk mengumpulkan data dan menyampaikannya, katakanlah, peranti Azure Stack Edge dengan bekas Perkhidmatan Kognitif untuk pemprosesan kumpulan.

Badan mengesan kerangka digital

Perkakasan Kinect yang asli memperkenalkan penjejakan badan, dengan model kerangka yang dapat digunakan untuk menilai postur dan gerak tubuh dengan cepat. Pendekatan yang sama berterusan dalam Azure Kinect Body Tracking SDK, yang menggunakan teknologi pemprosesan selari GPU Nvidia CUDA untuk berfungsi dengan data gambar 3-D dari sensor kedalaman peranti anda. Aplikasi sampel yang digabungkan menunjukkan beberapa ciri SDK, termasuk kemampuan untuk mengesan lebih dari satu orang pada satu masa. 

Body Tracking SDK dibuat berdasarkan Azure Kinect SDK, menggunakannya untuk mengkonfigurasi dan menyambung ke peranti. Data gambar yang ditangkap diproses oleh pelacak, menyimpan data dalam struktur data rangka badan. Ini berisi koleksi struktur rangka untuk badan yang dikenal pasti, peta indeks 2-D untuk membantu memvisualisasikan data anda, bersama dengan gambar 2-D dan 3-D yang mendasari yang digunakan untuk membina data penjejakan. Setiap bingkai dapat digunakan untuk membangun animasi atau memberi maklumat kepada alat pembelajaran mesin yang dapat membantu memproses kedudukan yang dilacak berkaitan dengan peta ruangan atau posisi yang ideal.

Perkhidmatan Kognitif Azure adalah alat yang kuat untuk memproses data, dan penambahan Azure Kinect memungkinkan untuk menggunakannya dalam pelbagai senario industri dan perusahaan. Dengan fokus pada pengecaman gambar 3-D di tempat kerja, Microsoft berusaha menunjukkan bagaimana pengecaman gambar dapat digunakan untuk mengurangkan risiko dan meningkatkan keselamatan. Bahkan ada pilihan untuk menggunakan pelbagai peranti sebagai sistem tangkapan volumetrik cepat, yang dapat membantu membina persekitaran realiti campuran dan menyediakan data sumber untuk CAD dan alat reka bentuk lain. Hasilnya adalah peranti fleksibel yang, dengan sedikit kod, menjadi alat penginderaan yang sangat kuat.