Bagikan melalui


Menyinkronkan beberapa perangkat Azure Kinect DK

Setiap perangkat Azure Kinect DK menyertakan port sinkronisasi 3,5 mm (Sync in dan Sync out) yang dapat Anda gunakan untuk menautkan beberapa perangkat bersama-sama. Setelah Anda menghubungkan perangkat, perangkat lunak Anda dapat mengoordinasikan waktu pemicu di antaranya.

Artikel ini menjelaskan cara menyambungkan dan menyinkronkan perangkat.

Keuntungan menggunakan beberapa perangkat Azure Kinect DK

Ada banyak alasan untuk menggunakan beberapa perangkat Azure Kinect DK, termasuk berikut ini:

  • Isi oklusi. Meskipun transformasi data Azure Kinect DK menghasilkan satu gambar, kedua kamera (kedalaman dan RGB) sebenarnya terpisah dengan jarak kecil. Offset membuat oklusi mungkin terjadi. Oklusi terjadi saat objek latar depan memblokir tampilan bagian objek latar belakang untuk salah satu dari dua kamera pada perangkat. Dalam gambar warna yang dihasilkan, objek latar depan tampaknya mentransmisikan bayangan pada objek latar belakang.
    Misalnya, pada diagram berikut, kamera sisi kiri melihat piksel abu-abu "P2". Namun, objek latar depan putih menghalangi sinar IR kamera sisi kanan. Kamera sisi kanan tidak memiliki data untuk "P2."
    Diagram menunjukkan dua kamera yang diarahkan pada titik yang sama dengan salah satunya dihalangi.
    Perangkat tambahan yang disinkronkan dapat menyediakan data yang tertutup.
  • Pindai objek dalam tiga dimensi.
  • Tingkatkan kecepatan bingkai efektif ke nilai yang lebih besar dari 30 bingkai per detik (FPS).
  • Tangkap beberapa gambar warna 4K dari adegan yang sama, semuanya selaras dalam 100 mikrodetik (μs) pusat pencahayaan.
  • Tingkatkan cakupan kamera dalam ruang.

Merencanakan konfigurasi multi-perangkat Anda

Sebelum memulai, pastikan Anda meninjau spesifikasi perangkat keras Azure Kinect DK dan kamera kedalaman Azure Kinect DK.

Catatan

Lepaskan penutup plastik luar untuk mengekspos jack Sync In dan Sync Out.

Memilih konfigurasi perangkat

Anda dapat menggunakan salah satu pendekatan berikut untuk konfigurasi perangkat Anda:

  • Konfigurasi rantai daisy. Sinkronkan satu perangkat master dan hingga delapan perangkat subordinat.
    Diagram yang menunjukkan cara menyambungkan perangkat Azure Kinect DK dalam konfigurasi rantai daisy.
  • Konfigurasi bintang. Sinkronkan satu perangkat master dan hingga dua perangkat subordinat.
    Diagram yang menunjukkan cara menyiapkan beberapa perangkat Azure DK dalam konfigurasi bintang.

Menggunakan pemicu sinkronisasi eksternal

Dalam kedua konfigurasi, perangkat master menyediakan sinyal pemicu untuk perangkat subordinat. Namun, Anda dapat menggunakan sumber eksternal kustom untuk pemicu sinkronisasi. Misalnya, Anda dapat menggunakan opsi ini untuk menyinkronkan tangkapan gambar dengan peralatan lain. Baik dalam konfigurasi rantai daisy atau konfigurasi bintang, sumber pemicu eksternal terhubung ke perangkat master.

Sumber pemicu eksternal Anda harus berfungsi dengan cara yang sama seperti perangkat master. Ini harus memberikan sinyal sinkronisasi yang memiliki karakteristik berikut:

  • Aktif tinggi
  • Lebar pulse: Lebih besar dari 8μs
  • 5V TTL/CMOS
  • Kapasitas pendorong maksimum: Tidak kurang dari 8 miliamp (mA)
  • Dukungan frekuensi: Tepat 30 FPS, 15 FPS, dan 5 FPS (frekuensi sinyal VSYNC master kamera warna)

Sumber pemicu harus mengirimkan sinyal ke port Sync in perangkat master dengan menggunakan kabel audio 3,5 mm. Anda dapat menggunakan kabel stereo atau mono. Azure Kinect DK memperpendek semua lengan dan cincin konektor kabel audio bersama-sama, dan menghubungkannya. Seperti yang ditunjukkan pada diagram berikut, perangkat hanya menerima sinyal sinkronisasi dari ujung konektor.

Konfigurasi kabel untuk sinyal pemicu eksternal

Untuk mengetahui informasi selengkapnya tentang cara bekerja dengan peralatan eksternal, lihat Menggunakan perekam Azure Kinect dengan perangkat eksternal yang disinkronkan

Catatan

Sync Out adalah VSync untuk kamera RGB. Tand awaktu untuk semua perangkat diatur ke nol dan dihitung. Microsoft belum membuat karakterisasi lebar minimum dan maksimum pulse sinkronisasi, dan merekomendasikan untuk meniru pulse yang dibuat oleh Sync Out dari Azure Kinect DK.

Merencanakan pengaturan kamera dan konfigurasi perangkat lunak Anda

Untuk mengetahui informasi tentang cara menyiapkan perangkat lunak Anda untuk mengontrol kamera dan menggunakan data gambar, lihat Azure Kinect Sensor SDK.

Bagian ini membahas beberapa faktor yang memengaruhi perangkat yang disinkronkan (tetapi bukan perangkat tunggal). Perangkat lunak Anda harus mempertimbangkan faktor-faktor ini.

Pertimbangan pencahayaan

Jika Anda ingin mengontrol waktu yang tepat dari setiap perangkat, sebaiknya gunakan pengaturan pencahayaan manual. Pada pengaturan pencahayaan otomatis, setiap kamera warna dapat mengubah pencahayaan aktual secara dinamis. Karena pencahayaan memengaruhi waktu, perubahan tersebut dengan cepat membuat kamera tidak sinkron.

Dalam perulangan tangkapan gambar, hindari pengaturan pencahayaan yang sama berulang kali. Panggil API hanya satu kali saat diperlukan.

Menghindari gangguan antara beberapa kamera kedalaman

Saat beberapa kamera kedalaman memotret bidang pandang yang tumpang tindih, setiap kamera harus memotret laser terkaitnya sendiri. Untuk mencegah laser mengganggu satu sama lain, tangkapan kamera harus diimbangi satu sama lain sebesar 160μs atau lebih.

Untuk setiap tangkapan kamera kedalaman, laser aktif sembilan kali dan hanya selama 125μs setiap kali. Laser kemudian tidak memiliki aktivitas selama 1450μs atau 2390μs, tergantung pada mode operasi. Perilaku ini berarti bahwa titik awal untuk penghitungan selisih adalah 125μs.

Selain itu, perbedaan antara jam kamera dan jam firmware perangkat meningkatkan selisih minimum menjadi 160μs. Untuk menghitung offset yang lebih tepat untuk konfigurasi Anda, perhatikan mode kedalaman yang Anda gunakan dan lihat tabel pengaturan waktu mentah sensor kedalaman. Dengan menggunakan data dari tabel ini, Anda dapat menghitung offset minimum (waktu paparan setiap kamera) dengan menggunakan persamaan berikut:

Waktu Paparan = (Pulse IR × Lebar Pulse) + (Periode Tidak Ada Aktivitas × Waktu Tidak Ada Aktivitas)

Saat menggunakan selisih 160μs, Anda dapat mengonfigurasi hingga sembilan kamera kedalaman tambahan sehingga setiap laser aktif saat laser lainnya tidak memiliki aktivitas.

Dalam perangkat lunak Anda, gunakan depth_delay_off_color_usec atau subordinate_delay_off_master_usec untuk memastikan bahwa setiap laser IR aktif di jendela 160μs-nya sendiri atau memiliki bidang pandang yang berbeda.

Catatan

Lebar pulse yang sebenarnya adalah 125μs, tetapi kami menyatakan 160us untuk menyediakan kelonggaran. Mengambil NFOV UNBINNED sebagai contoh, masing-masing pulse 125μs diikuti oleh tidak ada aktivitas selama 1450μs. Total ini naik - (9 x 125) + (8 x 1450) - menghasilkan waktu paparan 12,8ms. Closet tempat Anda dapat menyisipkan paparan 2 perangkat adalah memiliki pulse pertama kamera kedua berada pada periode tidak aktif pertama kamera pertama. Penundaan antara kamera pertama dan kedua minimal 125μs (lebar pulse), tetapi kami merekomendasikan beberapa kelonggaran sehingga menjadi 160μs. Dengan 160μs, Anda dapat menyisipkan periode paparan maksimum 10 kamera.

Menyiapkan perangkat Anda dan perangkat keras lainnya

Selain beberapa perangkat Azure Kinect DK, Anda mungkin harus mendapatkan komputer host tambahan dan perangkat keras lainnya untuk mendukung konfigurasi yang ingin dibuat. Gunakan informasi di bagian ini untuk memastikan bahwa semua perangkat dan perangkat keras siap sebelum Anda mulai menyiapkan.

Perangkat Azure Kinect DK

Untuk setiap perangkat Azure Kinect DK yang ingin Anda sinkronkan, lakukan hal berikut:

  • Pastikan bahwa firmware terbaru diinstal pada perangkat. Untuk mengetahui informasi selengkapnya tentang cara memperbarui perangkat Anda, buka Memperbarui firmware Azure Kinect DK.
  • Lepaskan penutup perangkat untuk membuat port sinkronisasi.
  • Catat nomor seri untuk setiap perangkat. Anda akan menggunakan nomor ini nanti dalam proses penyiapan.

Komputer host

Biasanya, setiap Azure Kinect DK menggunakan komputer host-nya sendiri. Anda dapat menggunakan pengontrol host khusus, tergantung pada cara Anda menggunakan perangkat dan berapa banyak data yang ditransfer melalui koneksi USB.

Pastikan bahwa Azure Kinect Sensor SDK diinstal pada setiap komputer host. Untuk mengetahui informasi selengkapnya tentang cara menginstal Sensor SDK, buka Mulai Cepat: Menyiapkan Azure Kinect DK Anda.

Komputer Linux: Memori USB di Ubuntu

Secara default, komputer host berbasis Linux mengalokasikan pengontrol USB hanya 16 MB memori kernel untuk menangani transfer USB. Jumlah ini biasanya cukup untuk mendukung satu Azure Kinect DK. Namun, untuk mendukung beberapa perangkat, pengontrol USB harus memiliki lebih banyak memori. Untuk meningkatkan memori, ikuti langkah-langkah berikut:

  1. Edit /etc/default/grub.
  2. Temukan baris berikut:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    
    Ganti dengan menggunakan baris ini:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=32"
    

    Catatan

    Perintah ini mengatur memori USB ke 32 MB. Ini adalah pengaturan contoh pada dua kali nilai default. Anda dapat menetapkan nilai yang jauh lebih besar, sesuai untuk solusi Anda.

  3. Jalankan sudo update-grub.
  4. Mulai ulang komputer.

Kabel

Untuk menghubungkan perangkat satu sama lain dan ke komputer host, Anda harus menggunakan kabel male to male 3,5 mm (juga dikenal sebagai kabel audio 3,5 mm). Panjang kabel harus kurang dari 10 meter, dan dapat berupa stereo atau mono.

Jumlah kabel yang harus Anda miliki tergantung pada jumlah perangkat yang Anda gunakan dan juga konfigurasi perangkat tertentu. Kotak Azure Kinect DK tidak menyertakan kabel. Anda harus membelinya secara terpisah.

Jika menghubungkan perangkat dalam konfigurasi bintang, Anda juga harus memiliki satu pemisah headphone.

Sambungkan perangkat Anda

Untuk menghubungkan perangkat Azure Kinect DK dalam konfigurasi rantai daisy

  1. Hubungkan setiap Azure Kinect DK ke daya.
  2. Hubungkan setiap perangkat ke PC host-nya.
  3. Pilih satu perangkat untuk menjadi perangkat master, dan colokkan kabel audio 3,5 mm ke port Sync out-nya.
  4. Colokkan ujung kabel lainnya ke port Sync in dari perangkat subordinat pertama.
  5. Untuk menghubungkan perangkat lain, colokkan kabel lain ke port Sync out dari perangkat subordinat pertama, dan ke port Sync in di perangkat berikutnya.
  6. Ulangi langkah sebelumnya hingga semua perangkat terhubung. Perangkat terakhir hanya akan memiliki satu sambungan kabel. Port Sync out-nya harus kosong.

Untuk menghubungkan perangkat Azure Kinect DK dalam konfigurasi bintang

  1. Hubungkan setiap Azure Kinect DK ke daya.
  2. Hubungkan setiap perangkat ke PC host-nya.
  3. Pilih satu perangkat untuk menjadi perangkat master, dan colokkan ujung tunggal pemisah headphone ke port Sync out-nya.
  4. Hubungkan kabel audio 3,5 mm ke ujung pemisah headphone "split".
  5. Colokkan ujung lain dari setiap kabel ke port Sync in salah satu perangkat subordinat.

Memverifikasi bahwa perangkat terhubung dan berkomunikasi

Untuk memverifikasi bahwa perangkat terhubung dengan benar, gunakan Penampil Azure Kinect. Ulangi prosedur ini seperlunya untuk menguji setiap perangkat subordinat yang dikombinasikan dengan perangkat master

Penting

Untuk prosedur ini, Anda harus mengetahui nomor seri setiap Azure Kinect DK.

  1. Buka dua instans Penampil Azure Kinect.
  2. Di bawah Buka Perangkat, pilih nomor seri perangkat subordinat yang ingin Anda uji.
    Membuka perangkat

    Penting

    Untuk mendapatkan perataan tangkapan gambar yang tepat di antara semua perangkat, Anda harus memulai perangkat master yang terakhir.

  3. Di bawah Sinkronisasi Eksternal, pilih Sub.
    Kamera subordinat dimulai
  4. Pilih Mulai.

    Catatan

    Karena ini adalah perangkat subordinat, Penampil Azure Kinect tidak menampilkan gambar setelah perangkat dimulai. Tidak ada gambar yang ditampilkan hingga perangkat subordinat menerima sinyal sinkronisasi dari perangkat master.

  5. Setelah perangkat subordinat dimulai, gunakan instans Penampil Azure Kinect lainnya untuk membuka perangkat master.
  6. Di bawah Sinkronisasi Eksternal, pilih Master.
  7. Pilih Mulai.

Saat Azure Kinect Device master dimulai, kedua instans Penampil Azure Kinect akan menampilkan gambar.

Mengalibrasi perangkat sebagai set yang disinkronkan

Setelah memverifikasi bahwa perangkat berkomunikasi dengan benar, Anda siap mengalibrasinya untuk menghasilkan gambar dalam satu domain.

Dalam satu perangkat, kedalaman dan kamera RGB dikalibrasi pabrik untuk bekerja sama. Namun, saat beberapa perangkat harus bekerja sama, perangkat harus dikalibrasi untuk menentukan cara mengubah gambar dari domain kamera yang menangkapnya ke domain kamera yang ingin Anda gunakan untuk memproses gambar.

Ada beberapa opsi untuk perangkat kalibrasi silang. Microsoft menyediakan sampel kode layar hijau GitHub, yang menggunakan metode OpenCV. File Readme untuk sampel kode ini memberikan detail dan petunjuk lebih lanjut untuk mengalibrasi perangkat.

Untuk mengetahui informasi selengkapnya tentang kalibrasi, lihat Menggunakan fungsi kalibrasi Azure Kinect.

Langkah berikutnya

Setelah menyiapkan perangkat yang disinkronkan, Anda juga dapat mempelajari cara menggunakan