13.6. 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.6.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.6.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.6.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.