Azure Kinect ile ilgili bilinen sorunlar ve sorun giderme
Bu sayfa, Azure Kinect DK ile Algılayıcı SDK'sını kullanırken bilinen sorunları ve sorun giderme ipuçlarını içerir. Ayrıca ürün donanımına özgü sorunlar için ürün destek sayfalarına da bakın.
Bilinen sorunlar
- ASMedia USB ana bilgisayar denetleyicileriyle ilgili uyumluluk sorunları (örneğin, ASM1142 yonga kümesi)
- Microsoft USB sürücüsünün kullanıldığı bazı durumlar engeli kaldırabilir
- Birçok bilgisayarda alternatif ana bilgisayar denetleyicileri de vardır ve USB3 bağlantı noktasını değiştirmek yardımcı olabilir
Algılayıcı SDK'sı ile ilgili diğer sorunlar için GitHub Sorunları'ne bakın
Günlükleri toplama
K4A.dll için günlüğe kaydetme, ortam değişkenleri aracılığıyla etkinleştirilir. Varsayılan olarak günlük stdout'a gönderilir ve yalnızca hatalar ve kritik iletiler oluşturulur. Bu ayarlar, günlüğe kaydetmenin bir dosyaya gitmesi için değiştirilebilir. Ayrıntı düzeyi gerektiğinde ayarlanabilir. Aşağıda Windows için k4a.log adlı bir dosyada günlüğe kaydetmeyi etkinleştirmeye yönelik bir örnek verilmiştir ve uyarı ve üst düzey iletiler yakalanacaktır.
set K4A_ENABLE_LOG_TO_A_FILE=k4a.log
set K4A_LOG_LEVEL=w
- Komut isteminden senaryo çalıştırma (örneğin, görüntüleyiciyi başlatma)
- k4a.log gidin ve dosyayı paylaşın.
Daha fazla bilgi için üst bilgi dosyasından aşağıdaki küçük resime bakın:
/**
* environment variables
* K4A_ENABLE_LOG_TO_A_FILE =
* 0 - completely disable logging to a file
* log\custom.log - log all messages to the path and file specified - must end in '.log' to
* be considered a valid entry
* ** When enabled this takes precedence over the value of K4A_ENABLE_LOG_TO_STDOUT
*
* K4A_ENABLE_LOG_TO_STDOUT =
* 0 - disable logging to stdout
* all else - log all messages to stdout
*
* K4A_LOG_LEVEL =
* 'c' - log all messages of level 'critical' criticality
* 'e' - log all messages of level 'error' or higher criticality
* 'w' - log all messages of level 'warning' or higher criticality
* 'i' - log all messages of level 'info' or higher criticality
* 't' - log all messages of level 'trace' or higher criticality
* DEFAULT - log all message of level 'error' or higher criticality
*/
Gövde İzleme SDK'sı K4ABT.dll günlüğe kaydetme işlemi benzerdir, ancak kullanıcıların farklı bir ortam değişkeni adlarını değiştirmesi gerekir:
/**
* environment variables
* K4ABT_ENABLE_LOG_TO_A_FILE =
* 0 - completely disable logging to a file
* log\custom.log - log all messages to the path and file specified - must end in '.log' to
* be considered a valid entry
* ** When enabled this takes precedence over the value of K4A_ENABLE_LOG_TO_STDOUT
*
* K4ABT_ENABLE_LOG_TO_STDOUT =
* 0 - disable logging to stdout
* all else - log all messages to stdout
*
* K4ABT_LOG_LEVEL =
* 'c' - log all messages of level 'critical' criticality
* 'e' - log all messages of level 'error' or higher criticality
* 'w' - log all messages of level 'warning' or higher criticality
* 'i' - log all messages of level 'info' or higher criticality
* 't' - log all messages of level 'trace' or higher criticality
* DEFAULT - log all message of level 'error' or higher criticality
*/
Cihaz, cihaz yöneticisinde numaralandırılmıyor
- Cihazın arkasındaki DURUM LED'ini kontrol edin, yanıp sönüyorsa USB bağlantı sorununuz var ve yeterli güç alamıyor. Güç kaynağı kablosu, sağlanan güç bağdaştırıcısına takılı olmalıdır. Güç kablosu bağlı bir USB türüne sahip olsa da, cihaz bir PC USB bağlantı noktasının sağlayabildiğinden daha fazla güç gerektirir. Bu nedenle, bir bilgisayar bağlantı noktasına veya USB hub'ına bağlanmayın.
- Güç kablosunun bağlı olup olmadığını ve veriler için USB3 bağlantı noktasını kullanıp kullanmadığınıza bakın.
- Veri bağlantısı için USB3 bağlantı noktasını değiştirmeyi deneyin (örneğin, bilgisayarın arkasında anakarta yakın USB bağlantı noktası kullanma önerisi).
- Kablonuzu denetleyin, hasarlı veya düşük kaliteli kablolar güvenilir olmayan numaralandırmaya neden olabilir (cihaz, cihaz yöneticisinde "yanıp sönmeye devam eder").
- Dizüstü bilgisayara bağlandıysanız ve pille çalışıyorsanız, güç bağlantı noktasına azaltılıyor olabilir.
- Ana bilgisayarı yeniden başlatın.
- Sorun devam ederse, uyumluluk sorunu olabilir.
- Üretici yazılımı güncelleştirmesi sırasında hata oluştuysa ve cihaz kendi kendine kurtarılmadıysa fabrika sıfırlaması gerçekleştirin.
Azure Kinect Görüntüleyicisi açılamıyor
Önce cihazınızın Windows Aygıt Yöneticisi numaralandırıp listelemediğini denetleyin.
Cihazı kullanan başka bir uygulamanız olup olmadığını denetleyin (örneğin, Windows kamera uygulaması). Aynı anda yalnızca bir uygulama cihaza erişebilir.
Hata iletileri için k4aviewer.err günlüğünü denetleyin.
Windows kamera uygulamasını açın ve çalışıp çalışmadığını denetleyin.
Güç döngüsü cihazı, cihazı kullanmadan önce akış LED'inin kapanmasını bekleyin.
Ana bilgisayarı yeniden başlatın.
Bilgisayarınızda en son grafik sürücülerini kullandığınızdan emin olun.
Kendi SDK derlemenizi kullanıyorsanız, sorunu çözen resmi sürümü kullanmayı deneyin.
Sorun devam ederse günlükleri toplayın ve geri bildirim gönderin.
Mikrofon bulunamıyor
Önce mikrofon dizisinin Aygıt Yöneticisi numaralandırıldığını denetleyin.
Bir cihaz numaralandırılırsa ve Windows'da düzgün çalışmazsa, sorun üretici yazılımı güncelleştirmesinin ardından Windows'un Derinlik Kamerası'na farklı kapsayıcı kimliği ataması olabilir.
Aygıt Yöneticisi gidip "Azure Kinect Mikrofon Dizisi" öğesine sağ tıklayıp "Cihazı kaldır" seçeneğini belirleyerek sıfırlamayı deneyebilirsiniz. İşlem tamamlandıktan sonra algılayıcıyı ayırıp yeniden takın.
Bundan sonra Azure Kinect Görüntüleyicisi'ni yeniden başlatın ve yeniden deneyin.
Cihaz Üretici Yazılımı güncelleştirme sorunları
- Güncelleştirmeden sonra doğru sürüm numarası bildirilmiyorsa cihazı güç döngüsüne almanız gerekebilir.
- Üretici yazılımı güncelleştirmesi kesintiye uğrarsa, hatalı duruma geçebilir ve numaralandırılamaz. Cihazı ayırıp yeniden takıp kurtarıp kurtaramadığını görmek için 60 saniye bekleyin. Aksi takdirde fabrika sıfırlaması gerçekleştirin
Görüntü kalitesi sorunları
- Azure Kinect görüntüleyicisini başlatın ve cihazın parazit durumunu veya algılayıcının engellenip engellenmediğini veya lensin kirli olup olmadığını denetleyin.
- Belirli modda sorun yaşanıyorsa daraltmak için farklı çalışma modlarını deneyin.
- Görüntü kalitesi sorunlarını ekiple paylaşmak için aşağıdakileri yapabilirsiniz:
- Azure Kinect görüntüleyicisinde duraklatma görünümüne geçin ve ekran görüntüsü alın veya
- Örneğin, Azure Kinect kaydedicisini kullanarak kaydı alın
k4arecorder.exe -l 5 -r 5 output.mkv
Tutarsız veya beklenmeyen cihaz zaman damgaları
Çağrı k4a_device_set_color_control
, cihazda geçici olarak zamanlama değişikliklerine neden olabilir ve bu da kararlı hale getirmek için birkaç yakalama gerektirebilir. Her yeni görüntüde iç zamanlama hesaplamasının sıfırlanmasından kaçınmak için görüntü yakalama döngüsünde API'yi çağırmaktan kaçının. Bunun yerine, kamerayı başlatmadan önce veya görüntü yakalama döngüsündeki değeri değiştirmeniz gerektiğinde API'yi çağırın. Özellikle çağrısı k4a_device_set_color_control(K4A_COLOR_CONTROL_AUTO_EXPOSURE_PRIORITY)
yapmaktan kaçının.
USB3 konak denetleyicisi uyumluluğu
Cihaz, cihaz yöneticisi altında numaralandırılmıyorsa, bunun nedeni desteklenmeyen bir USB3 denetleyicisine takılı olması olabilir.
Windows üzerinde Azure Kinect DK için, desteklenen tek konak denetleyicileri Intel, Texas Instruments (TI) ve Renesas'tır. Windows platformlarında Azure Kinect SDK'sı birleşik bir kapsayıcı kimliğine dayanır ve SDK'nın fiziksel olarak aynı cihazda bulunan derinlik, renk ve ses cihazlarını bulabilmesi için USB 2.0 ve 3.0 cihazlarına yayılması gerekir. Linux'ta, platform kapsayıcı kimliğine ve daha çok cihaz seri numaralarına bağlı olduğundan daha fazla konak denetleyicisi desteklenebilir.
Bir bilgisayarda birden fazla ana bilgisayar denetleyicisi yüklü olduğunda USB ana bilgisayar denetleyicileri konusu daha da karmaşık hale gelir. Konak denetleyicileri karıştırıldığında, bir kullanıcı bazı bağlantı noktalarının iyi çalıştığı ve bazılarının hiç çalışmadığı sorunlarla karşılaşabilir. Bağlantı noktalarının servis talebine nasıl bağlandığınıza bağlı olarak, tüm ön bağlantı noktalarının Azure Kinect ile ilgili sorunları olduğunu görebilirsiniz
Windows: Hangi konak denetleyicisini açtığınızı öğrenmek için Aygıt Yöneticisi
- Görünüm -> Türe Göre Cihazlar
- Azure Kinect bağlı olarak Kameralar-Azure> Kinect 4K Kamera seçeneğini belirleyin
- Görünüm -> Bağlantıya Göre Cihazlar
Bilgisayarınızda hangi USB bağlantı noktasının bağlı olduğunu daha iyi anlamak için, Azure Kinect DK'yi bilgisayardaki farklı USB bağlantı noktalarına bağlarken her USB bağlantı noktası için bu adımları yineleyin.
Derinlik kamerası otomatik olarak devre dışı
Derinlik kamerası tarafından görüntü derinliği verilerini hesaplamak için kullanılan lazerin kullanım ömrü sınırlıdır. Lazerlerin ömrünü en üst düzeye çıkarmak için derinlik kamerası derinlik verilerinin ne zaman tüketilmediğini algılar. Derinlik kamerası, cihaz birkaç dakika boyunca akış yaparken kapanır ancak ana bilgisayar verileri okumaz. Ayrıca, alt cihazların derinlik kamerasının akışta olduğu ve derinlik çerçevelerinin etkin olarak ana cihazın yakalamaları eşitlemeye başlamasını beklemeye yardımcı olduğu Çoklu Cihaz Eşitlemesini etkiler. Çoklu Cihaz yakalama senaryolarında bu sorunu önlemek için ana cihazın ilk alt cihazın başlatılmasından sonra bir dakika içinde başlatıldığından emin olun.
Unreal ile Gövde İzleme SDK'sı Kullanma
Gövde İzleme SDK'sını Unreal ile kullanmak için ortam değişkenine ekleyip <SDK Installation Path>\tools
ve cudnn64_7.dll
öğesine kopyaladığınızdan dnn_model_2_0.onnx
Program Files/Epic Games/UE_4.23/Engine/Binaries/Win64
emin olun.PATH
Azure Kinect'i başsız Linux sisteminde kullanma
Linux'ta Azure Kinect derinlik altyapısı OpenGL kullanır. OpenGL, sisteme bir izleyicinin bağlanmasını gerektiren bir pencere örneği gerektirir. Bu sorun için geçici bir çözüm:
- Kullanmayı planladığınız kullanıcı hesabı için otomatik oturum açmayı etkinleştirin. Otomatik oturum açmayı etkinleştirme yönergeleri için bu makaleye bakın.
- Sistemi kapatın, monitörün bağlantısını kesin ve sistemi güçlendirin. Otomatik oturum açma, x-server oturumunun oluşturulmasını zorlar.
- ssh ile bağlanın ve DISPLAY env değişkenini ayarlayın
export DISPLAY=:0
- Azure Kinect uygulamanızı başlatın.
Xtrlock yardımcı programı, otomatik oturum açma sonrasında ekranı hemen kilitlemek için kullanılabilir. Başlangıç uygulamasına veya sistemli hizmete aşağıdaki komutu ekleyin:
bash -c “xtrlock -b”
Eksik C# belgeleri
Algılayıcı SDK'sı C# belgeleri burada bulunur.
Gövde İzleme SDK'sı C# belgeleri burada bulunur.
Gövde İzleme paketlerinin içeriğinde yapılan değişiklikler
MSI ve NuGet paketleri artık Microsoft Visual C++ Yeniden Dağıtılabilir Paketi dosyalarını içermez. En son paketi buradan indirin.
NuGet paketi geri döndü ancak artık Microsoft DirectML veya NVIDIA CUDA ve TensorRT dosyalarını içermiyor.