Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ta strona zawiera znane problemy i porady dotyczące rozwiązywania problemów podczas korzystania z zestawu Sensor SDK z zestawem Azure Kinect DK. Zobacz również strony pomocy technicznej produktów dotyczące problemów specyficznych dla sprzętu produktu.
Znane problemy
- Problemy ze zgodnością z kontrolerami hosta USB ASMedia (na przykład mikroukładem ASM1142)
- Niektóre sytuacje używania sterownika USB firmy Microsoft mogą prowadzić do odblokowania.
- Wiele komputerów ma również alternatywne kontrolery hosta, a zmiana używanego portu USB3 może okazać się pomocna.
Aby uzyskać więcej informacji o problemach związanych z Sensor SDK, sprawdź sekcję Issues na GitHubie.
Zbieranie dzienników
Rejestrowanie dla K4A.dll jest włączone za pomocą zmiennych środowiskowych. Domyślnie rejestrowanie jest wysyłane do stdout, a generowane są tylko błędy i komunikaty krytyczne. Te ustawienia można zmienić, aby rejestrowanie przechodziło do pliku. Szczegółowość można również dostosować zgodnie z potrzebami. Poniżej znajduje się przykład dotyczący systemu Windows włączenia rejestrowania do pliku o nazwie k4a.log i przechwycenia komunikatów ostrzegawczych i komunikatów wyższego poziomu.
set K4A_ENABLE_LOG_TO_A_FILE=k4a.logset K4A_LOG_LEVEL=w- Uruchamianie scenariusza z poziomu wiersza polecenia (na przykład uruchamianie przeglądarki)
- Przejdź do k4a.log i udostępnij plik.
Aby uzyskać więcej informacji, zobacz poniższy klip z pliku nagłówka:
/**
* 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
*/
Rejestrowanie dla zestawu BODY Tracking SDK K4ABT.dll jest podobne, z tą różnicą, że użytkownicy powinni modyfikować inny zestaw nazw zmiennych środowiskowych:
/**
* 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
*/
Urządzenie nie jest widoczne w menedżerze urządzeń
- Sprawdź stan LED za urządzeniem, jeśli bursztynowy problem z łącznością USB i nie ma wystarczającej mocy. Kabel zasilający powinien być podłączony do dostarczonego adaptera zasilania. Podczas gdy kabel zasilający ma podłączony USB typu A, urządzenie wymaga więcej mocy, niż może dostarczyć port USB komputera. Nie podłączaj go więc do portu komputera ani koncentratora USB.
- Sprawdź, czy masz podłączony kabel zasilający i czy używasz portu USB3 do przesyłu danych.
- Spróbuj zmienić port USB3 dla połączenia danych (zalecenie, aby użyć portu USB w pobliżu płyty głównej, na przykład z tyłu komputera).
- Sprawdź swój kabel, uszkodzone lub niskiej jakości kable mogą powodować niesolidną enumerację (urządzenie pojawia się i znika w Menedżerze urządzeń).
- Jeśli jesteś podłączony do laptopa i działa na baterii, może ograniczać zasilanie do portu.
- Uruchom ponownie komputer hosta.
- Jeśli problem będzie się powtarzać, może wystąpić problem ze zgodnością.
- Jeśli wystąpił błąd podczas aktualizacji oprogramowania układowego, a urządzenie nie zostało odzyskane samodzielnie, wykonaj resetowanie do ustawień fabrycznych.
Nie można otworzyć programu Azure Kinect Viewer
Najpierw sprawdź, czy urządzenie jest rozpoznawane w Menedżerze urządzeń systemu Windows.
Sprawdź, czy masz inną aplikację przy użyciu urządzenia (na przykład aplikacji aparatu systemu Windows). Tylko jedna aplikacja jednocześnie może uzyskiwać dostęp do urządzenia.
Sprawdź dziennik k4aviewer.err pod kątem komunikatów o błędach.
Otwórz aplikację aparatu Windows i sprawdź, czy działa.
Zrestartuj urządzenie, poczekaj, aż dioda LED sygnalizująca przesyłanie strumieniowe się wyłączy przed użyciem urządzenia.
Uruchom ponownie komputer hosta.
Upewnij się, że używasz najnowszych sterowników graficznych na komputerze.
Jeśli używasz własnej kompilacji zestawu SDK, spróbuj użyć oficjalnie wydanej wersji, jeśli to rozwiąże problem.
Jeśli problem będzie się powtarzać, zbierz dzienniki i prześlij opinię.
Nie można odnaleźć mikrofonu
Najpierw sprawdź, czy układ mikrofonów jest wymieniony w Menedżerze urządzeń.
Jeśli urządzenie jest wykrywane i działa poprawnie w systemie Windows, problem może polegać na tym, że po aktualizacji oprogramowania układowego system Windows przypisał inny identyfikator kontenera do kamery głębi.
Możesz spróbować go zresetować, przechodząc do Menedżera urządzeń, klikając prawym przyciskiem myszy pozycję "Tablica mikrofonów Azure Kinect" i wybierając pozycję "Odinstaluj urządzenie". Po zakończeniu odłącz i ponownie dołącz czujnik.
Po wykonaniu tego polecenia uruchom ponownie program Azure Kinect Viewer i spróbuj ponownie.
Problemy z aktualizacją oprogramowania układowego urządzenia
- Jeśli prawidłowy numer wersji nie zostanie zgłoszony po aktualizacji, może być konieczne ponowne uruchomienie urządzenia.
- Jeśli aktualizacja oprogramowania układowego zostanie przerwana, urządzenie może wejść w nieprawidłowy stan i nie będzie się poprawnie uruchamiać. Odłącz i ponownie podłącz urządzenie, a następnie poczekaj 60 sekund, aby sprawdzić, czy się poprawi. Jeśli nie, wykonaj resetowanie do ustawień fabrycznych
Problemy z jakością obrazu
- Uruchom przeglądarkę Azure Kinect i sprawdź położenie urządzenia pod kątem interferencji lub jeśli czujnik jest zablokowany lub obiektyw jest zanieczyszczony.
- Spróbuj użyć różnych trybów operacyjnych, aby ustalić, czy problem występuje w określonym trybie.
- Aby zgłosić problemy z jakością obrazu zespołowi, można:
- Wstrzymaj widok w przeglądarce Azure Kinect i wykonaj zrzut ekranu.
- Zarejestruj przy użyciu rejestratora Azure Kinect, na przykład
k4arecorder.exe -l 5 -r 5 output.mkv
Niespójne lub nieoczekiwane znaczniki czasu urządzenia
Wywołanie k4a_device_set_color_control może tymczasowo powodować zmiany w pracy urządzenia, co może zająć kilka prób przechwytywania, aby się ustabilizować. Unikaj wywoływania interfejsu API w pętli przechwytywania obrazów, aby uniknąć resetowania wewnętrznych obliczeń chronometrażu przy użyciu każdego nowego obrazu. Zamiast tego wywołaj interfejs API przed uruchomieniem aparatu lub po prostu wtedy, gdy trzeba zmienić wartość w pętli przechwytywania obrazu. W szczególności unikaj wywoływania k4a_device_set_color_control(K4A_COLOR_CONTROL_AUTO_EXPOSURE_PRIORITY).
Zgodność kontrolera głównego USB3
Jeśli urządzenie nie wylicza się w menedżerze urządzeń, może to być spowodowane tym, że jest podłączony do nieobsługiwanego kontrolera USB3.
W przypadku zestawu Azure Kinect DK w systemach Windows, Intel, Texas Instruments (TI) i Renesas są jedynymi obsługiwanymi kontrolerami hosta. Zestaw Azure Kinect SDK na platformach Windows opiera się na ujednoliconym identyfikatorze kontenera i musi obejmować urządzenia USB 2.0 i 3.0, aby zestaw SDK mógł znaleźć głębokość, kolor i urządzenia audio, które znajdują się fizycznie na tym samym urządzeniu. W systemie Linux więcej kontrolerów hosta może być wspieranych, ponieważ ta platforma mniej polega na identyfikatorze kontenera, a bardziej na numerach seryjnych urządzeń.
Temat kontrolerów hosta USB staje się jeszcze bardziej skomplikowany, gdy na komputerze jest zainstalowany więcej niż jeden kontroler hosta. Gdy kontrolery hosta są mieszane, użytkownik może napotkać problemy, gdy niektóre porty działają prawidłowo, a inne w ogóle nie działają. W zależności od tego, jak porty są połączone z tym przypadkiem, mogą pojawić się wszystkie porty frontu, które mają problemy z zestawem Azure Kinect
Windows: Aby dowiedzieć się, jaki kontroler hosta został otwarty Menedżer urządzeń
- Widok —> urządzenia według typu
- Po nawiązaniu połączenia z zestawem Azure Kinect, wybierz pozycję Aparaty->Azure Kinect 4K Camera
- Widok —> urządzenia według połączenia
Aby lepiej zrozumieć, który port USB jest podłączony na komputerze, powtórz te kroki dla każdego portu USB podczas łączenia zestawu Azure Kinect DK z różnymi portami USB na komputerze.
Automatyczna kamera głębi automatycznie się wyłącza
Laser używany przez kamerę głębinową do obliczania danych głębokości obrazu, ma ograniczoną żywotność. Aby zmaksymalizować żywotność laserów, aparat głębi będzie wykrywać, gdy dane głębokości nie są konsumowane. Kamera głębinowa wyłącza moc, gdy urządzenie jest przesyłane strumieniowo przez kilka minut, ale komputer hosta nie odczytuje danych. Ma to również wpływ na synchronizację wielu urządzeń, w których podrzędne urządzenia są uruchamiane w stanie, w którym kamera głębokości przesyła strumieniowo, a ramki głębokości są aktywnie pomocne w oczekiwaniu, aż urządzenie główne rozpocznie synchronizowanie przechwytywania. Aby uniknąć tego problemu w scenariuszach przechwytywania wielu urządzeń, upewnij się, że urządzenie główne zaczyna działać natychmiast po uruchomieniu pierwszego podrzędnego.
Korzystanie z zestawu SDK do śledzenia ciała w programie Unreal
Aby użyć Body Tracking SDK z Unreal, upewnij się, że dodano <SDK Installation Path>\tools do zmiennej środowiskowej PATH i skopiowano dnn_model_2_0.onnx i cudnn64_7.dll do Program Files/Epic Games/UE_4.23/Engine/Binaries/Win64.
Korzystanie z zestawu Azure Kinect w bezgłowym systemie Linux
Silnik głębokości Azure Kinect w systemie Linux używa biblioteki graficznej OpenGL. OpenGL wymaga wystąpienia okna, które wymaga, aby monitor był połączony z systemem. Obejściem tego problemu jest:
- Włącz automatyczne logowanie dla konta użytkownika, którego planujesz użyć. Zapoznaj się z tym artykułem, aby uzyskać instrukcje dotyczące włączania automatycznego logowania.
- Wyłącz system, odłącz monitor i włącz system. Automatyczne logowanie wymusza utworzenie sesji x-server.
- Nawiązywanie połączenia za pośrednictwem protokołu ssh i ustawianie zmiennej env DISPLAY
export DISPLAY=:0 - Uruchom aplikację Azure Kinect.
Narzędzie xtrlock może służyć do natychmiastowego zablokowania ekranu po automatycznym zalogowaniu. Dodaj następujące polecenie do aplikacji startowej lub usługi systemd:
bash -c “xtrlock -b”
Brak dokumentacji języka C#
Dokumentacja języka C# zestawu Sensor SDK znajduje się tutaj.
Dokumentacja zestawu Body Tracking SDK języka C# znajduje się tutaj.
Zmiany zawartości pakietów Body Tracking
Zarówno pakiety MSI, jak i NuGet nie zawierają już plików pakietu redystrybucyjnego Microsoft Visual C++. Pobierz najnowszy pakiet tutaj.
Pakiet NuGet jest z powrotem, jednak nie zawiera już plików Microsoft DirectML ani NVIDIA CUDA i TensorRT.