Share via


Kända problem och felsökning i Azure Kinect

Den här sidan innehåller kända problem och felsökningstips när du använder Sensor SDK med Azure Kinect DK. Se även produktsupportsidor för produktmaskinvara– specifika problem.

Kända problem

  • Kompatibilitetsproblem med ASMedia USB-värdstyrenheter (till exempel ASM1142-kretsuppsättning)
    • Vissa fall med Hjälp av Microsoft USB-drivrutin kan avblockera
    • Många datorer har också alternativa värdstyrenheter och att ändra USB3-porten kan hjälpa

Mer sensor-SDK-relaterade problem finns i GitHub-problem

Samla in loggar

Loggning för K4A.dll aktiveras via miljövariabler. Som standard skickas loggning till stdout och endast fel och kritiska meddelanden genereras. De här inställningarna kan ändras så att loggningen går till en fil. Verbositeten kan också justeras efter behov. Nedan visas ett exempel på hur du aktiverar loggning till en fil med namnet k4a.log för Windows och samlar in varningsmeddelanden och meddelanden på högre nivå.

  1. set K4A_ENABLE_LOG_TO_A_FILE=k4a.log
  2. set K4A_LOG_LEVEL=w
  3. Kör scenariot från kommandotolken (till exempel starta visningsprogrammet)
  4. Gå till k4a.log och resursfilen.

Mer information finns i klippet nedan från huvudfilen:

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

Loggning för SDK för brödtextspårning K4ABT.dll är liknande, förutom att användarna bör ändra en annan uppsättning miljövariabelnamn:

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

Enheten räknas inte upp i enhetshanteraren

  • Kontrollera status-lysdioderna bakom enheten, om den blinkar gult har du problem med USB-anslutningen och den inte får tillräckligt med ström. Strömkabeln ska vara ansluten till den medföljande strömadaptern. Medan strömkabeln har en USB-typ A ansluten kräver enheten mer ström än en USB-port för datorn kan leverera. Så anslut inte till den till en datorport eller USB-hubb.
  • Kontrollera att du har strömkabel ansluten och använder USB3-porten för data.
  • Prova att ändra USB3-porten för dataanslutningen (rekommendation att använda USB-port nära moderkortet, till exempel på baksidan av datorn).
  • Kontrollera att kabeln, skadade kablar eller kablar av lägre kvalitet kan orsaka otillförlitlig uppräkning (enheten fortsätter att "blinka" i enhetshanteraren).
  • Om du har anslutit till en bärbar dator och kört på batteri kan det begränsa strömmen till porten.
  • Starta om värddatorn.
  • Om problemet kvarstår kan det finnas kompatibilitetsproblem.
  • Om felet inträffade under uppdateringen av den inbyggda programvaran och enheten inte har återställts av sig själv, utför du fabriksåterställning.

Azure Kinect Viewer kan inte öppnas

  • Kontrollera först att enheten räknas upp i Windows Enhetshanteraren.

    Azure Kinect-kameror i Windows-enhetshanteraren

  • Kontrollera om du har något annat program som använder enheten (till exempel Windows-kameraprogram). Endast ett program i taget kan komma åt enheten.

  • Kontrollera om det finns felmeddelanden i loggen k4aviewer.err.

  • Öppna Windows-kameraprogrammet och kontrollera att det fungerar.

  • Strömcykelenhet, vänta på att strömdioderna stängs av innan du använder enheten.

  • Starta om värddatorn.

  • Kontrollera att du använder de senaste grafikdrivrutinerna på datorn.

  • Om du använder din egen version av SDK kan du prova att använda den officiellt släppta versionen om det löser problemet.

  • Om problemet kvarstår samlar du in loggar och filfeedback.

Det går inte att hitta mikrofonen

  • Kontrollera först att mikrofonmatrisen räknas upp i Enhetshanteraren.

  • Om en enhet räknas upp och fungerar på annat sätt i Windows kan problemet bero på att Windows efter uppdateringen av inbyggd programvara har tilldelat olika container-ID till Djupkamera.

  • Du kan försöka återställa den genom att gå till Enhetshanteraren, högerklicka på "Azure Kinect Microphone Array" och välja "Avinstallera enhet". När det är klart kopplar du av och kopplar tillbaka sensorn.

    Mikrofonmatris för Azure Kinect

  • Därefter startar du om Azure Kinect Viewer och försöker igen.

Uppdateringsproblem för enhetens inbyggda programvara

  • Om rätt versionsnummer inte rapporteras efter uppdateringen kan du behöva starta enheten.
  • Om uppdateringen av den inbyggda programvaran avbryts kan den hamna i felaktigt tillstånd och misslyckas med att räkna upp. Koppla från och koppla från enheten igen och vänta i 60 sekunder för att se om den kan återställas. Om inte utför du en fabriksåterställning

Problem med bildkvalitet

  • Starta Azure Kinect-visningsprogrammet och kontrollera enhetens placering för störningar eller om sensorn är blockerad eller om objektivet är smutsigt.
  • Prova olika driftslägen för att begränsa om problemet uppstår i ett visst läge.
  • Om du vill dela bildkvalitetsproblem med teamet kan du:
  1. Pausa vyn i Azure Kinect-visningsprogrammet och ta en skärmbild eller
  2. Ta inspelning med Azure Kinect-inspelare, till exempel k4arecorder.exe -l 5 -r 5 output.mkv

Inkonsekventa eller oväntade tidsstämplar för enheten

Anrop k4a_device_set_color_control kan tillfälligt orsaka tidsändringar på enheten som kan ta några avbildningar för att stabiliseras. Undvik att anropa API:et i avbildningsloopen för att undvika att återställa den interna tidsberäkningen med varje ny bild. Anropa i stället API:et innan kameran startas eller bara när du behöver ändra värdet i bildinspelningsloopen. I synnerhet undvik att anropa k4a_device_set_color_control(K4A_COLOR_CONTROL_AUTO_EXPOSURE_PRIORITY).

USB3-värdstyrenhetskompatibilitet

Om enheten inte räknas upp under enhetshanteraren kan det bero på att den är ansluten till en USB3-styrenhet som inte stöds.

För Azure Kinect DK i Windows är Intel,Texas Instruments (TI) och Renesas de enda värdkontrollanter som stöds. Azure Kinect SDK på Windows-plattformar förlitar sig på ett enhetligt container-ID och måste omfatta USB 2.0- och 3.0-enheter så att SDK:n kan hitta djup-, färg- och ljudenheter som finns fysiskt på samma enhet. I Linux kan fler värdstyrenheter stödjas eftersom den plattformen förlitar sig mindre på container-ID:t och mer på enhetens serienummer.

Ämnet usb-värdstyrenheter blir ännu mer komplicerat när en dator har mer än en värdstyrenhet installerad. När värdkontrollanter blandas kan en användare uppleva problem där vissa portar fungerar bra och andra inte fungerar alls. Beroende på hur portarna är kopplade till ärendet kan du se att alla frontportar har problem med Azure Kinect

Windows: För att ta reda på vilken värdkontrollant du har öppna Enhetshanteraren

  1. Visa –> enheter efter typ
  2. Med Azure Kinect-ansluten väljer du Kameror–>Azure Kinect 4K-kamera
  3. Visa –> enheter efter anslutning

Felsökning av USB-portar

För att bättre förstå vilken USB-port som är ansluten till datorn upprepar du de här stegen för varje USB-port när du ansluter Azure Kinect DK till olika USB-portar på datorn.

Djupkameran stängs av automatiskt

Lasern som används av djupkameran för att beräkna bilddjupdata har en begränsad livslängd. För att maximera livslängden för lasrarna kommer djupkameran att upptäcka när djupdata inte förbrukas. Djupkameran stängs av när enheten strömmas i flera minuter, men värddatorn läser inte data. Det påverkar också synkronisering av flera enheter där underordnade enheter startar i ett tillstånd där djupkameran strömmas och djupramar aktivt hjälper dig att vänta på att huvudenheten ska börja synkronisera avbildningar. Om du vill undvika det här problemet i scenarier med avbildning av flera enheter kontrollerar du att huvudenheten startar inom en minut efter att den första underordnade har startats.

Använda SDK för brödtextspårning med Unreal

Om du vill använda SDK för brödtextspårning med Unreal kontrollerar du att du har lagt <SDK Installation Path>\tools till miljövariabeln PATH och kopierat dnn_model_2_0.onnx och cudnn64_7.dll till Program Files/Epic Games/UE_4.23/Engine/Binaries/Win64.

Använda Azure Kinect i ett huvudlöst Linux-system

Azure Kinect-djupmotorn i Linux använder OpenGL. OpenGL kräver en fönsterinstans som kräver att en övervakare är ansluten till systemet. En lösning på problemet är:

  1. Aktivera automatisk inloggning för det användarkonto som du planerar att använda. I den här artikeln finns anvisningar om hur du aktiverar automatisk inloggning.
  2. Stäng av systemet, koppla från bildskärmen och starta systemet. Automatisk inloggning tvingar skapandet av en x-server-session.
  3. Anslut via ssh och ange display-env-variabeln export DISPLAY=:0
  4. Starta ditt Azure Kinect-program.

Xtrlock-verktyget kan användas för att omedelbart låsa skärmen efter automatisk inloggning. Lägg till följande kommando i startprogrammet eller systemtjänsten:

bash -c “xtrlock -b”

C#-dokumentation saknas

C#-dokumentationen för Sensor SDK finns här.

C#-dokumentationen för Body Tracking SDK finns här.

Ändringar i innehållet i paket för brödtextspårning

Både MSI- och NuGet-paketen innehåller inte längre microsoft Visual C++ Redistributable Package-filer. Ladda ned det senaste paketet här.

NuGet-paketet är tillbaka, men det innehåller inte längre Microsoft DirectML- eller NVIDIA CUDA- och TensorRT-filer.

Nästa steg

Mer supportinformation