13.6. Edge Impulse

Az Edge Impulse egy végponttól végpontig terjedő platform mikrovezérlőkön futó gépi tanulási modellek építéséhez: adatok gyűjtése és címkézése, modell tervezése és tanítása a böngészőben, majd annak optimalizálása, hogy elférjen egy kilobájtokban mérhető eszközön. Közvetlenül az OpenMV-re telepít – néhány kattintással egy betanított modellből a kamerán futtatható fájlok lesznek. Az Edge Impulse saját dokumentációja minden lépést részletesebben kifejt.

13.6.1. Adatok beolvasása

Egy modell azon képek esetén teljesít a legjobban, amelyeken tanítva lett, ezért az adathalmazt azzal a kamerával rögzítsd, amelyik futtatni fogja. Az IDE adathalmaz-szerkesztője éppen erre készült – hozz létre osztálymappákat, rögzíts címkézett képeket az élő képkocka-pufferből, majd töltsd fel az adathalmazt közvetlenül egy Edge Impulse projektbe az Export almenüből (előbb jelentkezz be ott a fiókodba). Ettől kezdve az Edge Impulse Studio-ban dolgozol.

Lásd még

Az Edge Impulse saját OpenMV Cam beállítási útmutatója az eszközök telepítéséhez és a kamera csatlakoztatásához.

13.6.2. Tanítás

A tanítás teljes egészében a böngészőben zajlik: tervezz egy impulzust (a bemeneti, feldolgozó és tanuló blokkokat), tanítsd be, és ellenőrizd a pontosságot a félretett tesztadatokon.

Két modelltípus illik a kamerához. Egy képosztályozó osztálypontszámok listáját adja ki, amelyet közvetlenül a modell kimenetéről olvashatsz le – nincs szükség utófeldolgozóra. A FOMO, egy mikrovezérlőkhöz tervezett gyors objektumészlelő, egy dekódolási lépést igényel, és a kamera szállít hozzá egy utófeldolgozót (ml.postprocessing.edgeimpulse), így ezek a modellek is extra kód nélkül futnak.

13.6.3. Telepítés a kamerára

Amikor a tanítás befejeződik, nyisd meg a projekt Deployment oldalát, válaszd az OpenMV Library célt, és kattints a Build gombra. A letöltés egy zip, amely a betanított modellt (trained.tflite), annak címkéit (labels.txt) és egy példaszkriptet tartalmaz. A modell egész számokra kvantált. Az Edge Impulse ezt és az egyedi firmware alternatíváját az OpenMV-n való futtatás útmutatójában ismerteti.

Add hozzá a .tflite fájlt a kamerához az IDE ROMFS-szerkesztőjével, amely átalakítja azt a kártya NPU-jához, ha van ilyen, és töltsd be egy szkriptben a ml.Model használatával. A modellek a kamera flash meghajtójáról is futnak – másold át a fájlokat, és irányítsd a ml.Model elemet az elérési útra –, de a ROMFS a jobb otthon: az ott lévő modellek RAM-másolat nélkül, közvetlenül a flash memóriából futnak.

Lásd még

A gépi tanulás fejezet a modellek ml modullal való futtatásáról – betöltés, a következtetési folyamat, és a kimenet dekódolása.