Aracılığıyla paylaş


Birden çok Azure Kinect DK cihazını eşitleme

Her Azure Kinect DK cihazı, birden çok cihazı birbirine bağlamak için kullanabileceğiniz 3,5 mm eşitleme bağlantı noktaları (Eşitleme veEşitleme dışarı) içerir. Cihazları bağladıktan sonra, yazılımınız bunlar arasındaki tetikleyici zamanlamasını koordine edebilir.

Bu makale, cihazların nasıl bağlanıp eşitleneceğini açıklar.

Birden çok Azure Kinect DK cihazı kullanmanın avantajları

Aşağıdakiler de dahil olmak üzere birden çok Azure Kinect DK cihazı kullanmanın birçok nedeni vardır:

  • Okluzyonları doldurun. Azure Kinect DK veri dönüşümleri tek bir görüntü oluştursa da, iki kamera (derinlik ve RGB) aslında küçük bir mesafedir. Uzaklık, tıkanıklıkları mümkün kılar. Bir ön plan nesnesi, bir cihazdaki iki kameradan biri için arka plan nesnesinin bir bölümünün görünümünü engellediğinde bir tıkanıklık oluşur. Sonuçta elde edilen renk görüntüsünde, ön plan nesnesi arka plan nesnesine gölge gibi görünüyor.
    Örneğin, aşağıdaki diyagramda, sol taraftaki kamera "P2" gri pikselini görür. Ancak, beyaz ön plan nesnesi sağ taraftaki kamera IR ışınını engeller. Sağ taraftaki kamerada "P2" için veri yok.
    Diyagramda aynı noktaya yönlendirilmiş iki kamera ve biri engellenmiş olarak gösterilir.
    Eşitlenen ek cihazlar, tıkanmış verileri sağlayabilir.
  • Nesneleri üç boyutta tarayın.
  • Etkin kare hızını saniyede 30 kareden (FPS) daha yüksek bir değere yükseltin.
  • Hepsi pozlama merkezinin 100 mikrosaniye (μs) içinde hizalanmış, aynı sahnenin birden çok 4K renkli görüntüsünü yakalayın.
  • Alanın içindeki kamera kapsamını artırın.

Çok cihazlı yapılandırmanızı planlama

Başlamadan önce Azure Kinect DK donanım belirtimlerini ve Azure Kinect DK derinlik kameralarını gözden geçirin.

Not

Sync In ve Sync Out jaklarını kullanıma açmak için dış plastik kapağı çıkarın.

Bir cihaz yapılandırması seçin

Cihaz yapılandırmanız için aşağıdaki yaklaşımlardan birini kullanabilirsiniz:

  • Papatya zinciri yapılandırması. Bir ana cihazı ve en fazla sekiz alt cihazı eşitleyin.
    Azure Kinect DK cihazlarının bir papatya zinciri yapılandırmasında nasıl bağlanacağını gösteren diyagram.
  • Yıldız yapılandırması. Bir ana cihazı ve en fazla iki alt cihazı eşitleyin.
    Yıldız yapılandırmasında birden çok Azure DK cihazının nasıl ayarlandığını gösteren diyagram.

Dış eşitleme tetikleyicisi kullanma

Her iki yapılandırmada da ana cihaz, alt cihazlar için tetikleme sinyali sağlar. Ancak, eşitleme tetikleyicisi için özel bir dış kaynak kullanabilirsiniz. Örneğin, görüntü yakalamalarını diğer donanımlarla eşitlemek için bu seçeneği kullanabilirsiniz. Papatya zinciri yapılandırmasında veya yıldız yapılandırmasında dış tetikleyici kaynağı ana cihaza bağlanır.

Dış tetikleyici kaynağınız ana cihazla aynı şekilde çalışmalıdır. Aşağıdaki özelliklere sahip bir eşitleme sinyali sunmalıdır:

  • Etkin yüksek
  • Darbe genişliği: 8μs'den büyük
  • 5V TTL/CMOS
  • Maksimum sürüş kapasitesi: En az 8 miliamps (mA)
  • Frekans desteği: Tam olarak 30 FPS, 15 FPS ve 5 FPS (renkli kamera ana VSYNC sinyalinin sıklığı)

Tetikleyici kaynağı, sinyali 3,5 mm ses kablosu kullanarak ana cihaz Eşitleme bağlantı noktasına teslim etmelidir. Stereo veya mono kablo kullanabilirsiniz. Azure Kinect DK, ses kablosu bağlayıcısının tüm kılıflarını ve halkalarını bir araya getirerek bunları zemine bağlar. Aşağıdaki diyagramda gösterildiği gibi cihaz eşitleme sinyalini yalnızca bağlayıcı ipucundan alır.

Harici tetikleyici sinyali için kablo yapılandırmaları

Dış ekipmanla çalışma hakkında daha fazla bilgi için bkz. Azure Kinect kaydedicisini dış eşitlenmiş cihazlarla kullanma

Not

Sync Out, RGB kameranın VSync'idir. Tüm cihazların zaman damgaları sıfır olarak ayarlanır ve sayılır. Microsoft, eşitleme darbesinin en düşük ve en yüksek genişliğini belirlemedi ve Azure Kinect DK'sinde Eşitleme tarafından oluşturulan darbeyi taklit etme önerisinde bulundu.

Kamera ayarlarınızı ve yazılım yapılandırmanızı planlama

Kameralarınızı denetlemek ve görüntü verilerini kullanmak için yazılımınızı ayarlama hakkında bilgi için bkz. Azure Kinect Algılayıcı SDK'sı.

Bu bölümde eşitlenmiş cihazları etkileyen (ancak tek cihazları etkilemeyen) çeşitli faktörler ele alınmaktadır. Yazılımınız bu faktörleri dikkate almalıdır.

Açığa çıkarmayla ilgili dikkat edilmesi gerekenler

Her cihazın tam zamanlamasını denetlemek istiyorsanız, el ile pozlama ayarını kullanmanızı öneririz. Otomatik pozlama ayarı altında, her renkli kamera gerçek pozlamayı dinamik olarak değiştirebilir. Pozlama zamanlamayı etkilediğinden, bu tür değişiklikler kameraları hızla senkronize etmemeye iter.

Görüntü yakalama döngüsünde aynı pozlama ayarını tekrar tekrar ayarlamaktan kaçının. Gerektiğinde API'yi yalnızca bir kez çağırın.

Birden çok derinlik kamerası arasındaki paraziti önleme

Birden çok derinlik kamerası çakışan görüş alanlarını görüntülerken, her kameranın kendi ilişkili lazerini görüntülemesi gerekir. Lazerlerin birbirine karışmasını önlemek için, kamera yakalamaları birbirinden 160μs veya daha fazla uzaklıkta olmalıdır.

Her derinlik kamerası yakalaması için lazer dokuz kez açılır ve her seferinde yalnızca 125μ için etkindir. Lazer daha sonra çalışma moduna bağlı olarak 1450μs veya 2390μs için boştadır. Bu davranış, uzaklık hesaplaması için başlangıç noktasının 125μs olduğu anlamına gelir.

Ayrıca, kamera saati ile cihaz üretici yazılımı saati arasındaki farklar minimum uzaklığı 160μs'ye yükseltmektedir. Yapılandırmanız için daha hassas bir uzaklık hesaplamak için kullandığınız derinlik modunu not edin ve derinlik algılayıcısı ham zamanlama tablosuna bakın. Bu tablodaki verileri kullanarak aşağıdaki denklemi kullanarak minimum uzaklığı (her kameranın pozlama süresi) hesaplayabilirsiniz:

Pozlama Süresi = (IR Darbeleri × Darbe Genişliği) + (Boşta Kalma Süreleri × Boşta Kalma Süresi)

160μs uzaklık kullandığınızda, diğer lazerler boştayken her lazerin yanması için dokuz adede kadar ek derinlik kamerası yapılandırabilirsiniz.

Yazılımınızda, her IR lazerin kendi 160μs penceresinde veya farklı bir görüş alanına sahip olduğundan emin olmak için veya subordinate_delay_off_master_usec kullanındepth_delay_off_color_usec.

Not

Gerçek darbe genişliği 125μs'dir, ancak biz bazı leeway sağlamak için 160us belirtiriz. NFOV UNBINNED'i örnek olarak alarak, her 125μs darbesini 1450μ boşta takip eder. Bunları toplama - (9 x 125) + (8 x 1450) - 12,8ms maruz kalma süresini verir. 2 cihazın pozlamasını birbirine ayırmanız gereken dolap, ikinci kameranın ilk nabzının ilk kameranın ilk boşta kalma süresinde düşmesini sağlamaktır. birinci ve ikinci kameralar arasındaki gecikme 125μs kadar kısa olabilir (bir darbe genişliği) ancak biz bazı leeway dolayısıyla 160μs öneririz. 160μs göz önüne alındığında maksimum 10 kameranın pozlama sürelerini birbirine karıştırabilirsiniz.

Cihazlarınızı ve diğer donanımları hazırlama

Birden çok Azure Kinect DK cihazına ek olarak, oluşturmak istediğiniz yapılandırmayı desteklemek için ek konak bilgisayarlar ve diğer donanımlar almanız gerekebilir. Ayarlamaya başlamadan önce tüm cihazların ve donanımın hazır olduğundan emin olmak için bu bölümdeki bilgileri kullanın.

Azure Kinect DK cihazları

Eşitlemek istediğiniz her Azure Kinect DK cihazı için aşağıdakileri yapın:

  • Cihazda en son üretici yazılımının yüklü olduğundan emin olun. Cihazlarınızı güncelleştirme hakkında daha fazla bilgi için Bkz. Azure Kinect DK üretici yazılımını güncelleştirme.
  • Eşitleme bağlantı noktalarını göstermek için cihaz kapağını kaldırın.
  • Her cihazın seri numarasını not edin. Bu numarayı daha sonra kurulum işleminde kullanacaksınız.

Konak bilgisayarlar

Genellikle her Azure Kinect DK kendi ana bilgisayarını kullanır. Cihazı nasıl kullandığınıza ve USB bağlantısı üzerinden ne kadar veri aktarıldığına bağlı olarak ayrılmış bir konak denetleyicisi kullanabilirsiniz.

Her konak bilgisayarda Azure Kinect Algılayıcı SDK'sının yüklü olduğundan emin olun. Algılayıcı SDK'sını yükleme hakkında daha fazla bilgi için Hızlı Başlangıç: Azure Kinect DK'nizi ayarlama bölümüne gidin.

Linux bilgisayarlar: Ubuntu'da USB bellek

Varsayılan olarak, Linux tabanlı konak bilgisayarlar USB aktarımlarını işlemek için USB denetleyicisine yalnızca 16 MB çekirdek belleği ayırır. Bu tutar genellikle tek bir Azure Kinect DK'sini desteklemek için yeterlidir. Ancak, birden çok cihazı desteklemek için USB denetleyicisinin daha fazla belleğe sahip olması gerekir. Belleği artırmak için şu adımları izleyin:

  1. /etc/default/grub dosyasını düzenleyin.
  2. Aşağıdaki satırı bulun:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
    
    Şu satırı kullanarak değiştirin:
    GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usbcore.usbfs_memory_mb=32"
    

    Not

    Bu komutlar USB belleğini 32 MB olarak ayarlar. Bu, varsayılan değerin iki katı olan örnek bir ayardır. Çözümünüz için uygun olan çok daha büyük bir değer ayarlayabilirsiniz.

  3. Sudo update-grub komutunu çalıştırın.
  4. Bilgisayarı yeniden başlatın.

Kablolar

Cihazları birbirine ve konak bilgisayarlara bağlamak için 3,5 mm erkek-erkek kablo (3,5 mm ses kablosu olarak da bilinir) kullanmanız gerekir. Kablolar 10 metreden kısa olmalı ve stereo veya mono olabilir.

Sahip olmanız gereken kabloların sayısı, kullandığınız cihaz sayısına ve ayrıca belirli cihaz yapılandırmasına bağlıdır. Azure Kinect DK kutusu kablo içermez. Bunları ayrı olarak satın almalısınız.

Cihazları yıldız yapılandırmasına bağlarsanız, bir kulaklık ayırıcınız da olmalıdır.

Cihazlarınızı bağlama

Azure Kinect DK cihazlarını bir papatya zinciri yapılandırmasında bağlamak için

  1. Her Azure Kinect DK'sini güç kaynağına bağlayın.
  2. Her cihazı kendi ana bilgisayarına bağlayın.
  3. Ana cihaz olmak için bir cihaz seçin ve Eşitleme çıkış bağlantı noktasına 3,5 mm ses kablosu takın.
  4. Kablonun diğer ucunu ilk alt cihazın Eşitleme bağlantı noktasına takın.
  5. Başka bir cihazı bağlamak için, ilk alt cihazın Eşitleme çıkış bağlantı noktasına ve sonraki cihazın Eşitleme bağlantı noktasına başka bir kablo takın.
  6. Tüm cihazlar bağlanana kadar önceki adımı yineleyin. Son cihazın yalnızca bir kablo bağlantısı olmalıdır. Eşitleme çıkış bağlantı noktası boş olmalıdır.

Azure Kinect DK cihazlarını yıldız yapılandırmasına bağlamak için

  1. Her Azure Kinect DK'sini güç kaynağına bağlayın.
  2. Her cihazı kendi ana bilgisayarına bağlayın.
  3. Ana cihaz olarak bir cihaz seçin ve kulaklık ayırıcısının tek ucunu Eşitleme çıkış bağlantı noktasına takın.
  4. 3,5 mm ses kablolarını kulaklık ayırıcının "bölme" uçlarına bağlayın.
  5. Her kablonun diğer ucunu, alt cihazlardan birinin bağlantı noktasındaki Eşitleme'ye takın.

Cihazların bağlı olduğunu ve iletişim kurduğunu doğrulayın

Cihazların doğru bağlandığını doğrulamak için Azure Kinect Görüntüleyicisi'ni kullanın. Her bir alt cihazı ana cihazla birlikte test etmek için bu yordamı gerektiği gibi yineleyin

Önemli

Bu yordam için her Azure Kinect DK'sinin seri numarasını bilmeniz gerekir.

  1. Azure Kinect Görüntüleyicisi'nin iki örneğini açın.
  2. Cihazı Aç'ın altında, test etmek istediğiniz alt cihazın seri numarasını seçin.
    Cihazı açma

    Önemli

    Tüm cihazlar arasında tam görüntü yakalama hizalaması elde etmek için ana cihazı en son başlatmanız gerekir.

  3. Dış Eşitleme'nin altında Alt'ı seçin.
    Ast kamera başlatma
  4. Başlat'ı seçin.

    Not

    Bu bir alt cihaz olduğundan, Cihaz başlatıldıktan sonra Azure Kinect Görüntüleyicisi bir görüntü görüntülemez. Alt cihaz ana cihazdan eşitleme sinyali alıncaya kadar görüntü görüntülenmez.

  5. Alt cihaz başlatıldıktan sonra ana cihazı açmak için Azure Kinect Görüntüleyicisi'nin diğer örneğini kullanın.
  6. Dış Eşitleme'nin altında Ana Öğe'yi seçin.
  7. Başlat'ı seçin.

Ana Azure Kinect Cihazı başlatıldığında, Azure Kinect Görüntüleyicisi'nin her iki örneğinde de görüntü görüntülenmelidir.

Cihazları eşitlenmiş küme olarak ayarlama

Cihazların doğru iletişim kurduğunu doğruladıktan sonra, tek bir etki alanında görüntü oluşturmak için bunları ayarlamaya hazır olursunuz.

Tek bir cihazda derinlik ve RGB kameralar birlikte çalışacak şekilde fabrika olarak ayarlanır. Ancak, birden çok cihazın birlikte çalışması gerektiğinde, bir görüntüyü yakalayan kameranın etki alanından görüntüleri işlemek için kullanmak istediğiniz kameranın etki alanına nasıl dönüştüreceğini belirlemek için bunların ayarlanması gerekir.

Cihazlar arasında çapraz ayarlama için birden çok seçenek vardır. Microsoft, OpenCV yöntemini kullanan GitHub yeşil ekran kodu örneğini sağlar. Bu kod örneğinin Benioku dosyası, cihazları ayarlamaya yönelik daha fazla ayrıntı ve yönergeler sağlar.

Kalibrasyon hakkında daha fazla bilgi için bkz. Azure Kinect kalibrasyon işlevlerini kullanma.

Sonraki adımlar

Eşitlenmiş cihazları ayarladıktan sonra