Rozdział 9: Autonomia AI, Akcelerator Hailo-8 NPU i Klonowanie Behawioralne
Rozdział ten opisuje proces uczenia maszynowego, nagrywanie datasetów jazdy oraz wykonywanie inferencji sieci neuronowych na akceleratorze sprzętowym Hailo-8 / Hailo-8L.
🧠 1. Potok Inferencji Hailo NPU (Rozdzielczość i Batch Dimension)
Modele sztucznej inteligencji skompilowane dla akceleratora Hailo-8 wymagają ścisłego dopasowania formatu wejściowego klatek wideo:
[!IMPORTANT] Hailo NPU Input Pipeline Gotcha: Modele binarne
.hefkompilowane są pod statyczną rozdzielczość wejściową (np.224x224lub300x300px). Przed przekazaniem klatki wideo do akceleratora NPU należy bezwzględnie przeskalować obraz za pomocącv2.resize(). Przy modelach wielowejściowych pamiętaj o odbudowie wymiaru serii za pomocąnp.expand_dims(frame, axis=0), w przeciwnym razie silnik Hailo RT zgłosi błąd wymiarowości macierzy (Shape Mismatch Error).

🚗 2. Zbieranie Datasetu i Integracja ze Środowiskiem Donkey Car
Stacja GCS oferuje wbudowane narzędzie do nagrywania datasetów treningowych kompatybilnych ze środowiskiem Donkey Car:
- Podjazdy pod tor: Kierowca prowadzi pojazd ręcznie z poziomu GCS.
- Synchronizowane nagrywanie: Aplikacja zapisuje klatki wideo z kamery FPV wraz z odpowiadającymi im wartościami kąta skrętu (
steer) oraz przepustnicy (throttle). - Trening: Zapisany zestaw danych eksportowany jest do skryptu szkoleniowego, który generuje model ONNX, a następnie plik binarny
.hefdla akceleratora Hailo-8.
🛠️ 3. Zintegrowany Trener AI (AI Trainer & Dataset Inspector)
Stacja GCS wyposażona jest w dedykowany moduł AI Trainer (ai_trainer_tab.py, ai_dataset_widget.py), automatyzujący cały cykl tworzenia modeli autonomicznej jazdy:
- Zsynchronizowane Rejestrowanie Próbek:
- Równoległy zapis klatek z kamery FPV z precyzyjnymi stemplami czasowymi oraz znormalizowanymi wartościami skrętu (
steer: -1.0 do +1.0) i przepustnicy (throttle: 0.0 do 1.0).
- Równoległy zapis klatek z kamery FPV z precyzyjnymi stemplami czasowymi oraz znormalizowanymi wartościami skrętu (
- Wizualny Inspektor Datasetu:
- Narzędzie do przeglądania zgromadzonych klatek w formie osi czasu, wykresów rozkładu skrętów (eliminacja biasu jazdy na wprost) oraz usuwania błędnych lub zanieczyszczonych próbek przed rozpoczęciem treningu.
- Potok Eksportu pod Hailo-8:
- Automatyczne formatowanie danych do standardu kompatybilnego z pipeline'em szkoleniowym (PyTorch / ONNX) oraz przygotowanie kalibracyjnego zbioru kwantyzacji dla kompilatora Hailo Dataflow Compiler (
.hef).
- Automatyczne formatowanie danych do standardu kompatybilnego z pipeline'em szkoleniowym (PyTorch / ONNX) oraz przygotowanie kalibracyjnego zbioru kwantyzacji dla kompilatora Hailo Dataflow Compiler (