13.7. Edge Impulse#
Edge Impulse je sveobuhvatna platforma za izradu modela strojnog učenja koji se izvode na mikrokontrolerima: prikupite i označite podatke, oblikujte i istrenirajte model u pregledniku te ga optimizirajte tako da stane na uređaj mjeren u kilobajtima. Omogućuje izravnu implementaciju na OpenMV – nekoliko klikova pretvara istrenirani model u datoteke spremne za izvođenje na kameri. Vlastita dokumentacija platforme Edge Impulse detaljnije objašnjava svaki korak.
13.7.1. Unos podataka#
Model najbolje radi na onoj vrsti slika na kojoj je bio treniran, stoga skup podataka snimite kamerom koja će ga izvoditi. IDE-ov uređivač skupa podataka izrađen je upravo za to – stvorite mape klasa, snimajte označene slike iz živog međuspremnika slike i zatim učitajte skup podataka izravno u Edge Impulse projekt iz izbornika Export (najprije se ondje prijavite u svoj račun). Od te točke nadalje radite u Edge Impulse Studiju.
Više informacija
Vlastiti vodič za postavljanje OpenMV Cam platforme Edge Impulse za instalaciju alata i povezivanje kamere.
13.7.2. Treniranje#
Treniranje se u potpunosti odvija u pregledniku: oblikujte impulse (ulazni, obradni i učeći blok), istrenirajte ga i provjerite točnost na izdvojenim testnim podacima.
Kameri odgovaraju dvije vrste modela. Klasifikator slika daje popis rezultata po klasama, koje čitate izravno s izlaza modela – nije potreban naknadni obrađivač. FOMO, brzi detektor objekata namijenjen mikrokontrolerima, treba jedan korak dekodiranja, a kamera za njega isporučuje naknadni obrađivač (ml.postprocessing.edgeimpulse), pa se i ti modeli izvode bez dodatnog koda.
13.7.3. Implementacija na kameru#
Kad treniranje završi, otvorite stranicu Deployment projekta, odaberite cilj OpenMV Library i kliknite Build. Preuzimanje je zip arhiva koja sadrži istrenirani model (trained.tflite), njegove oznake (labels.txt) i primjer skripte. Model je cjelobrojno kvantiziran. Edge Impulse pokriva ovo i alternativu s prilagođenim ugrađenim programom u svom vodiču za izvođenje na OpenMV.
Dodajte .tflite datoteku na kameru pomoću IDE-ovog ROMFS uređivača, koji je pretvara za NPU pločice kad ga ona ima, i učitajte je u skripti pomoću ml.Model. Modeli se mogu izvoditi i s flash pogona kamere – kopirajte datoteke i usmjerite ml.Model na putanju – no ROMFS je bolje mjesto: modeli se ondje izvode izravno iz flash memorije bez kopije u RAM.
Više informacija
Poglavlje o strojnom učenju za izvođenje modela pomoću modula ml – učitavanje, cjevovod zaključivanja i dekodiranje izlaza.