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.