Bekende problemen met Azure Kinect en probleemoplossing
Deze pagina bevat bekende problemen en tips voor het oplossen van problemen bij het gebruik van sensor-SDK met Azure Kinect DK. Zie ook productondersteuningspagina's voor producthardware- specifieke problemen.
Bekende problemen
- Compatibiliteitsproblemen met ASMedia USB-hostcontrollers (bijvoorbeeld ASM1142 chipset)
- Sommige gevallen waarin het Microsoft USB-stuurprogramma wordt gebruikt, kunnen de blokkering opheffen
- Veel pc's hebben ook alternatieve hostcontrollers en het wijzigen van de USB3-poort kan helpen
Raadpleeg GitHub-problemen voor meer problemen met sensor-SDK's
Logboeken verzamelen
Logboekregistratie voor K4A.dll is ingeschakeld via omgevingsvariabelen. Logboekregistratie wordt standaard verzonden naar stdout en alleen fouten en kritieke berichten worden gegenereerd. Deze instellingen kunnen worden gewijzigd, zodat logboekregistratie naar een bestand gaat. De uitgebreidheid kan ook naar behoefte worden aangepast. Hieronder ziet u een voorbeeld van het inschakelen van logboekregistratie naar een bestand met de naam k4a.log en worden waarschuwingen en berichten op een hoger niveau vastgelegd.
set K4A_ENABLE_LOG_TO_A_FILE=k4a.log
set K4A_LOG_LEVEL=w
- Scenario uitvoeren vanaf opdrachtprompt (bijvoorbeeld viewer starten)
- Navigeer naar k4a.log en deel het bestand.
Zie de onderstaande clip uit het headerbestand voor meer informatie:
/**
* 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
*/
Logboekregistratie voor de Body Tracking SDK K4ABT.dll is vergelijkbaar, behalve dat gebruikers een andere set namen van omgevingsvariabelen moeten wijzigen:
/**
* 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
*/
Het apparaat inventariseert niet in apparaatbeheer
- Controleer de status-LED achter het apparaat, als het knippert amber u een USB-verbindingsprobleem hebt en er onvoldoende stroom is. De voedingskabel moet worden aangesloten op de meegeleverde voedingsadapter. Hoewel de voedingskabel een USB-type A heeft aangesloten, vereist het apparaat meer vermogen dan een USB-poort van een pc kan leveren. Sluit er dus geen verbinding mee op een pc-poort of USB-hub.
- Controleer of u een voedingskabel hebt aangesloten en usb3-poort gebruikt voor gegevens.
- Probeer de USB3-poort voor de gegevensverbinding te wijzigen (aanbeveling om USB-poort dicht bij moederbord te gebruiken, bijvoorbeeld achter de pc).
- Controleer of de kabels van de kabel, beschadigde of lagere kwaliteit onbetrouwbaar zijn (apparaat blijft knipperen in apparaatbeheer).
- Als u verbinding hebt gemaakt met een laptop en op de batterij werkt, kan dit de stroom naar de poort beperken.
- Start de host-pc opnieuw op.
- Als het probleem zich blijft voordoen, kan er een compatibiliteitsprobleem zijn.
- Als er een fout is opgetreden tijdens de firmware-update en het apparaat niet zelf is hersteld, voert u de fabrieksinstellingen terug.
Azure Kinect Viewer kan niet worden geopend
Controleer eerst of uw apparaat in Windows Apparaatbeheer wordt opgesomd.
Controleer of u een andere toepassing hebt die gebruikmaakt van het apparaat (bijvoorbeeld de Windows-cameratoepassing). Slechts één toepassing tegelijk heeft toegang tot het apparaat.
Controleer het k4aviewer.err-logboek op foutberichten.
Open de Windows-cameratoepassing en controleer of dat werkt.
Power Cycle-apparaat, wacht met streaming-LED om uit te schakelen voordat het apparaat wordt gebruikt.
Start de host-pc opnieuw op.
Zorg ervoor dat u de nieuwste grafische stuurprogramma's op uw pc gebruikt.
Als u uw eigen build van SDK gebruikt, kunt u proberen de officieel uitgebrachte versie te gebruiken als dit het probleem oplost.
Als het probleem zich blijft voordoen, verzamelt u logboeken en bestandsfeedback.
Kan microfoon niet vinden
Controleer eerst of de microfoonmatrix is geïnventariseerd in Apparaatbeheer.
Als een apparaat is geïnventariseerd en anders correct werkt in Windows, kan het probleem zijn dat nadat Windows bij de firmware-update een andere container-id heeft toegewezen aan Dieptecamera.
U kunt proberen het opnieuw in te stellen door naar Apparaatbeheer te gaan, met de rechtermuisknop op 'Azure Kinect Microphone Array' te klikken en Apparaat verwijderen te selecteren. Zodra dat is voltooid, koppelt u de sensor los en koppelt u deze opnieuw.
Daarna start u Azure Kinect Viewer opnieuw en probeert u het opnieuw.
Problemen met het bijwerken van apparaatfirmware
- Als het juiste versienummer niet wordt gerapporteerd na de update, moet u mogelijk het apparaat inschakelen.
- Als de firmware-update wordt onderbroken, krijgt deze mogelijk een slechte status en kan deze niet worden opgesomd. Koppel het apparaat los en koppel het opnieuw en wacht 60 seconden om te zien of het kan worden hersteld. Als dat niet het gevolg is, voert u de fabrieksinstellingen terug
Problemen met de kwaliteit van de afbeelding
- Start De Azure Kinect-viewer en controleer de plaatsing van het apparaat op interferentie of als de sensor is geblokkeerd of lens vuil is.
- Probeer verschillende bedrijfsmodi om te beperken of er een probleem optreedt in de specifieke modus.
- Voor het delen van problemen met de kwaliteit van afbeeldingen met het team kunt u het volgende doen:
- Bekijk de pauzeweergave in De Azure Kinect-viewer en maak een schermopname of
- Opname maken met behulp van azure Kinect-recorder, bijvoorbeeld
k4arecorder.exe -l 5 -r 5 output.mkv
Inconsistente of onverwachte tijdstempels voor apparaten
Bellen k4a_device_set_color_control
kan tijdelijk tijdswijzigingen veroorzaken in het apparaat dat enkele opnamen kan duren om te stabiliseren. Vermijd het aanroepen van de API in de installatiekopieënopnamelus om te voorkomen dat u de interne tijdsberekening opnieuw kunt instellen met elke nieuwe installatiekopieën. Roep in plaats daarvan de API aan voordat de camera wordt gestart of alleen wanneer u de waarde in de opnamelus van de afbeelding wilt wijzigen. Vermijd in het bijzonder bellen k4a_device_set_color_control(K4A_COLOR_CONTROL_AUTO_EXPOSURE_PRIORITY)
.
Compatibiliteit van USB3-hostcontroller
Als het apparaat niet wordt geïnventaraliseerd onder apparaatbeheer, kan het zijn dat het is aangesloten op een niet-ondersteunde USB3-controller.
Voor azure Kinect DK in Windows zijn Intel, Texas Instruments (TI) en Renesas de enige hostcontrollers die worden ondersteund. De Azure Kinect SDK op Windows-platforms is afhankelijk van een geïntegreerde container-id en moet USB 2.0- en 3.0-apparaten omvatten, zodat de SDK de diepte, kleur en audioapparaten kan vinden die zich fysiek op hetzelfde apparaat bevinden. In Linux kunnen er meer hostcontrollers worden ondersteund omdat dat platform minder afhankelijk is van de container-id en meer op serienummers van apparaten.
Het onderwerp van USB-hostcontrollers wordt nog ingewikkelder wanneer een pc meer dan één hostcontroller heeft geïnstalleerd. Wanneer hostcontrollers worden gemengd, kan een gebruiker problemen ondervinden waarbij sommige poorten prima werken en andere helemaal niet werken. Afhankelijk van hoe de poorten zijn bekabeld voor het geval, ziet u mogelijk alle frontpoorten met problemen met de Azure Kinect
Windows: Om erachter te komen welke hostcontroller u hebt geopend Apparaatbeheer
- Weergave -> Apparaten per type
- Met de verbonden Azure Kinect selecteert u Camera's-Azure> Kinect 4K Camera
- Weergave -> Apparaten per verbinding
Als u meer wilt weten welke USB-poort op uw pc is aangesloten, herhaalt u deze stappen voor elke USB-poort wanneer u Azure Kinect DK verbindt met verschillende USB-poorten op de pc.
Dieptecamera automatisch inschakelen
De laser die door de dieptecamera wordt gebruikt om de dieptegegevens van afbeeldingen te berekenen, heeft een beperkte levensduur. Om de levensduur van de lasers te maximaliseren, detecteert de dieptecamera wanneer dieptegegevens niet worden gebruikt. De dieptecamera wordt uitgeschakeld wanneer het apparaat enkele minuten streamt, maar de host-pc leest de gegevens niet. Het heeft ook invloed op synchronisatie van meerdere apparaten waarbij onderliggende apparaten worden opgestart in een status waarin de dieptecamera streaming is en diepteframes actief helpen wachten totdat het hoofdapparaat begint met het synchroniseren van opnamen. Om dit probleem in scenario's voor het vastleggen van meerdere apparaten te voorkomen, moet u ervoor zorgen dat het hoofdapparaat binnen een minuut na het starten van de eerste ondergeschikte wordt gestart.
Body Tracking SDK gebruiken met Unreal
Als u de Body Tracking SDK wilt gebruiken met Unreal, moet u ervoor zorgen dat u hebt toegevoegd aan <SDK Installation Path>\tools
de omgevingsvariabele PATH
en gekopieerd dnn_model_2_0.onnx
en cudnn64_7.dll
naar Program Files/Epic Games/UE_4.23/Engine/Binaries/Win64
.
Azure Kinect gebruiken op headless Linux-systeem
De Diepte-engine van Azure Kinect in Linux maakt gebruik van OpenGL. OpenGL vereist een vensterexemplaren waarvoor een monitor moet worden verbonden met het systeem. Een tijdelijke oplossing voor dit probleem is:
- Schakel automatische aanmelding in voor het gebruikersaccount dat u wilt gebruiken. Raadpleeg dit artikel voor instructies over het inschakelen van automatische aanmelding.
- Schakel het systeem uit, koppel de monitor los en schakel het systeem in. Automatische aanmelding dwingt het maken van een x-serversessie af.
- Verbinding maken via ssh en de DISPLAY env-variabele instellen
export DISPLAY=:0
- Start uw Azure Kinect-toepassing.
Het hulpprogramma xtrlock kan worden gebruikt om het scherm onmiddellijk te vergrendelen na automatische aanmelding. Voeg de volgende opdracht toe aan de opstarttoepassing of systeemservice:
bash -c “xtrlock -b”
Ontbrekende C#-documentatie
De C#-documentatie voor sensor-SDK bevindt zich hier.
De C#-documentatie van de Body Tracking SDK bevindt zich hier.
Wijzigingen in de inhoud van pakketten voor het bijhouden van lichamen
De MSI- en NuGet-pakketten bevatten niet langer de Microsoft Visual C++ Redistributable Package-bestanden. Download hier het nieuwste pakket.
Het NuGet-pakket is terug, maar bevat geen Microsoft DirectML- of NVIDIA CUDA- en TensorRT-bestanden meer.