Sdílet prostřednictvím


Známé problémy a řešení potíží se službou Azure Kinect

Tato stránka obsahuje známé problémy a tipy pro řešení potíží při používání sady Sensor SDK s Azure Kinect DK. Projděte si také stránky podpory produktů pro problémy specifické pro hardware produktu.

Známé problémy

  • Problémy s kompatibilitou řadičů hostitele ASMedia USB (například ASM1142 čipové sady)
    • Některé případy použití ovladače Microsoft USB můžou odblokovat
    • Mnoho počítačů má také alternativní hostitelské řadiče a změna portu USB3 může pomoct

Další problémy související se sadou SDK pro senzory najdete v tématu Problémy s GitHubem.

Shromažďování protokolů

Protokolování pro K4A.dll je povolené prostřednictvím proměnných prostředí. Ve výchozím nastavení se protokolování odesílá do stdout a generují se pouze chyby a kritické zprávy. Tato nastavení je možné změnit tak, aby protokolování chodilo do souboru. Úroveň podrobností je také možné podle potřeby upravit. Níže je příklad pro Windows, který umožňuje protokolování do souboru s názvem k4a.log a zachytí upozornění a zprávy vyšší úrovně.

  1. set K4A_ENABLE_LOG_TO_A_FILE=k4a.log
  2. set K4A_LOG_LEVEL=w
  3. Scénář spuštění z příkazového řádku (například prohlížeč spuštění)
  4. Přejděte na k4a.log a sdílejte soubor.

Další informace najdete v následujícím klipu ze souboru záhlaví:

/**
* 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
*/

Protokolování sady SDK pro sledování těla K4ABT.dll je podobné s tím rozdílem, že uživatelé by měli upravit jinou sadu názvů proměnných prostředí:

/**
* 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
*/

Zařízení se ve Správci zařízení nevypíše.

  • Zkontrolujte stavovou diodu LED za zařízením, pokud bliká amber máte problém s připojením USB a nezíská dostatek energie. Napájecí kabel by měl být připojen k dodanému napájecímu adaptéru. Zatímco napájecí kabel má připojený usb typ A, zařízení vyžaduje více napájení než PC USB port může dodat. Proto se k němu nepřipojujte k portu počítače nebo rozbočovači USB.
  • Zkontrolujte, jestli máte připojený napájecí kabel a že pro data používáte port USB3.
  • Zkuste změnit port USB3 pro datové připojení (doporučujeme použít port USB blízko základní desky, například na zadní straně počítače).
  • Zkontrolujte, jestli kabel, poškozený nebo nižší kvalita kabelů může způsobit nespolehlivou výčtu (zařízení stále bliká ve Správci zařízení).
  • Pokud jste připojení k přenosnému počítači a běží na baterii, může to být omezování napájení na port.
  • Restartujte hostitelský počítač.
  • Pokud problém přetrvává, může dojít k problému s kompatibilitou.
  • Pokud během aktualizace firmwaru došlo k selhání a zařízení se sám neobnovilo, proveďte obnovení továrního nastavení.

Azure Kinect Viewer se nedaří otevřít

  • Nejprve zkontrolujte, že vaše zařízení obsahuje výčet ve Windows Správce zařízení.

    Kamery Azure Kinect ve Správci zařízení s Windows

  • Zkontrolujte, jestli máte nějakou jinou aplikaci, která používá zařízení (například aplikaci fotoaparátu pro Windows). K zařízení má přístup jenom jedna aplikace.

  • Zkontrolujte chybové zprávy v protokolu k4aviewer.err.

  • Otevřete aplikaci Fotoaparát systému Windows a zkontrolujte, jestli funguje.

  • Před použitím zařízení počkejte na vypnutí indikátoru LED streamování.

  • Restartujte hostitelský počítač.

  • Ujistěte se, že na počítači používáte nejnovější grafické ovladače.

  • Pokud používáte vlastní build sady SDK, zkuste použít oficiálně vydané verze, pokud se tím problém vyřeší.

  • Pokud potíže potrvají, shromážděte protokoly a zpětnou vazbu k souborům.

Nejde najít mikrofon

  • Nejprve zkontrolujte, jestli je pole mikrofonu uvedené v Správce zařízení.

  • Pokud je zařízení uvedeno a funguje jinak správně ve Windows, může být problém, že po aktualizaci firmwaru systému Windows má přiřazeno jiné ID kontejneru do hloubkové kamery.

  • Můžete se pokusit ho resetovat tak, že přejdete na Správce zařízení, kliknete pravým tlačítkem na Azure Kinect Microphone Array a vyberete Odinstalovat zařízení. Po dokončení odpojte a znovu připojte senzor.

    Azure Kinect Mic Array

  • Po restartování Azure Kinect Vieweru zkuste to znovu.

Problémy s aktualizací firmwaru zařízení

  • Pokud po aktualizaci není hlášeno správné číslo verze, možná budete muset zapnout cyklus zařízení.
  • Pokud je aktualizace firmwaru přerušena, může se dostat do špatného stavu a nepodaří se vytvořit výčet. Odpojte a znovu připojte zařízení a počkejte 60 sekund, abyste zjistili, jestli se dá obnovit. Pokud ne, proveďte obnovení továrního nastavení.

Problémy s kvalitou obrázků

  • Spusťte prohlížeč Azure Kinect a zkontrolujte umístění zařízení kvůli rušení nebo jestli je senzor zablokovaný nebo nečistý.
  • Zkuste různé provozní režimy zúžit, pokud k problému dochází v konkrétním režimu.
  • Pokud chcete sdílet problémy s kvalitou obrázků s týmem, můžete:
  1. Zobrazení pozastavení v prohlížeči Azure Kinect a pořízení snímku obrazovky nebo
  2. Nahrávání pomocí záznamu Azure Kinect, například k4arecorder.exe -l 5 -r 5 output.mkv

Nekonzistentní nebo neočekávané časové razítka zařízení

Volání k4a_device_set_color_control může dočasně vyvolat změny časování zařízení, které mohou trvat několik zachycení, aby se stabilizuje. Vyhněte se volání rozhraní API ve smyčce zachycení obrázků, abyste se vyhnuli resetování interního výpočtu časování s každou novou imagí. Místo toho volejte rozhraní API před spuštěním kamery nebo jen tehdy, když potřebujete změnit hodnotu ve smyčce zachycení obrázků. Zejména se vyhněte volání k4a_device_set_color_control(K4A_COLOR_CONTROL_AUTO_EXPOSURE_PRIORITY).

Kompatibilita hostitelského adaptéru USB3

Pokud zařízení není ve správci zařízení výčtu, může to být proto, že je připojené k nepodporovanému řadiči USB3.

Pro Azure Kinect DK ve Windows, Intel, Texas Instruments (TI) a Renesas jsou jedinými podporovanými řadiči hostitelů. Sada Azure Kinect SDK na platformách Windows využívá jednotné ID kontejneru a musí zahrnovat zařízení USB 2.0 a 3.0, aby sada SDK našla hloubku, barvu a zvuková zařízení fyzicky umístěná na stejném zařízení. V Linuxu může být podporováno více řadičů hostitelů, protože tato platforma spoléhá méně na ID kontejneru a více na sériových číslech zařízení.

Téma řadičů hostitele USB je ještě složitější, když má počítač nainstalovaný více než jeden hostitelský řadič. Když jsou řadiče hostitelů smíšené, může dojít k problémům, kdy některé porty fungují správně a jiné vůbec nefungují. V závislosti na tom, jak jsou porty připojené k případu, se můžou zobrazit všechny front porty, které mají problémy s Azure Kinect.

Windows: Pokud chcete zjistit, jaký hostitelský kontroler máte otevřený Správce zařízení

  1. Zobrazení –> zařízení podle typu
  2. S připojenou službou Azure Kinect vyberte Fotoaparáty ->Azure Kinect 4K Camera.
  3. Zobrazení –> zařízení podle připojení

Řešení potíží s portem USB

Abyste lépe pochopili, který port USB je připojený k počítači, opakujte tento postup pro každý port USB při připojení Azure Kinect DK k různým portům USB na počítači.

Hloubková kamera se automaticky vypne

Laser používaný hloubkovou kamerou k výpočtu dat hloubkové hloubky má omezenou životnost. Aby se maximalizoval život laserů, hloubková kamera zjistí, kdy se hloubková data nespotřebovávají. Hloubková kamera se vypne, když je zařízení streamované několik minut, ale hostitelský počítač nečtete data. Má také vliv na synchronizaci více zařízení, kdy se podřízená zařízení spouští ve stavu, kdy hloubková kamera streamuje a hloubkové snímky aktivně pomáhají čekat, až hlavní zařízení začne synchronizovat zachytávání. Pokud se chcete tomuto problému vyhnout ve scénářích zachycení více zařízení, ujistěte se, že se hlavní zařízení spustí během minuty od spuštění prvního podřízeného.

Použití sady Body Tracking SDK s unreal

Pokud chcete použít sadu BODY Tracking SDK s unreal, ujistěte se, že jste přidali <SDK Installation Path>\tools do proměnné PATH prostředí a zkopírovali dnn_model_2_0.onnx a cudnn64_7.dll do Program Files/Epic Games/UE_4.23/Engine/Binaries/Win64.

Použití Azure Kinectu v bezobsadovém systému Linux

Hloubkový modul Azure Kinect v Linuxu používá OpenGL. OpenGL vyžaduje instanci okna, která vyžaduje připojení monitoru k systému. Alternativním řešením tohoto problému je:

  1. Povolte automatické přihlášení pro uživatelský účet, který chcete použít. Pokyny k povolení automatického přihlášení najdete v tomto článku.
  2. Vypněte systém, odpojte monitor a zapněte systém. Automatické přihlášení vynutí vytvoření relace x-serveru.
  3. Připojte se přes SSH a nastavte proměnnou env DISPLAY. export DISPLAY=:0
  4. Spusťte aplikaci Azure Kinect.

Nástroj xtrlock lze použít k okamžitému uzamčení obrazovky po automatickém přihlášení. Do spouštěcí aplikace nebo systémové služby přidejte následující příkaz:

bash -c “xtrlock -b”

Chybějící dokumentace jazyka C#

Tady najdete dokumentaci k sadě Sensor SDK C#.

Dokumentaci k sadě Body Tracking SDK v jazyce C# najdete tady.

Změny obsahu balíčků body Tracking

Balíčky MSI i NuGet už nezahrnují soubory distribuovatelných balíčků Microsoft Visual C++. Stáhněte si nejnovější balíček zde.

Balíček NuGet je zpět, ale již neobsahuje soubory Microsoft DirectML nebo NVIDIA CUDA a TensorRT.

Další kroky

Další informace o podpoře