Amikor a kertemben zajló eseményeket figyeltem, rájöttem, hogy a profi biztonsági rendszerek néha túlzásba viszik a dolgokat, vagy éppen csak bosszantóan drágák. Ekkor döntöttem úgy, hogy belevágok a saját fejlesztésbe, így született meg a Számítógépes látásrendszerek házilag: Így taníts meg egy 20 dolláros mikrokontrollert arra, hogy felismerje és kiszűrje a kéretlen látogatókat a kertedben című projektem. Az egész lényege az, hogy egy filléres eszközt alakítunk át egyfajta okos kertőrré, ami nem küld riasztást minden egyes szellőre vagy kóbor macskára.
Sokan azt hiszik, hogy a mesterséges intelligencia futtatásához egy egész szerverpark kell a pincébe, de szerencsére a technika nagyot lépett előre. Az ESP32-CAM modul pontosan az a kütyü, ami tökéletes ehhez a feladathoz. Ez a kis panel beépített kamerával rendelkezik, és bár a teljesítménye korlátozott egy PC-hez képest, a célfeladatra, vagyis a mozgás érzékelésére és a tárgyak azonosítására pont ideális.
Az alkatrészek listája meglehetősen rövid, nem kell hozzá komolyabb szerszámosláda sem:
Miután beszerezted ezeket, az első és legfontosabb dolog a környezet kialakítása. Ne bonyolítsd túl a dolgokat, az Arduino IDE környezet tökéletesen megteszi a kezdéshez. Nem kell mérnöki diploma, csak egy kis türelem, amíg a kódok a helyükre kerülnek.
A képi adatok értelmezése házilag sokkal egyszerűbb, mint ahogy az a közösségi médiában terjedő videók alapján tűnik. A mikrokontrollerünk nem egy komplett agy, hanem inkább egy szigorúan betanított asszisztens. A legelterjedtebb módszer a TensorFlow Lite használata, ami egy olyan könyvtár, ami az MI modelleket lekicsinyíti annyira, hogy elférjenek a mikrovezérlők szűkös memóriájában.
A folyamat lényege nagyjából így néz ki:
Amikor ezzel megvagy, jön a finomhangolás. Itt szokott elvérezni a legtöbb projekt, mert a túl érzékeny szenzorok minden mozdulatra jeleznek. A kulcs abban rejlik, hogy a modellünket csak azokra a formákra tanítjuk rá, amik minket ténylegesen érdekelnek.
A legnagyobb hiba, amit elkövethetünk, az a túlzott általánosítás. Ha azt mondjuk a gépnek, hogy minden mozgás rossz, akkor a szélben lengedező faágak is folyamatos riasztást generálnak. A célzott tanításnál érdemes több száz képet készíteni a kerted kritikus pontjairól.
A legjobb eredményt akkor érheted el, ha a következő szempontokat figyelembe veszed:
Ne akarj mindent egyszerre megoldani. Kezdd azzal, hogy a rendszer csak a nagyobb tárgyakat ismeri fel. A finomhangolás során majd észreveszed, hogy a mikrokontroller egyre ügyesebben szűri ki a téves riasztásokat. Én is hónapokig csiszolgattam a sajátomat, mire eljutottam oda, hogy csak akkor kapok értesítést, ha tényleg valaki az udvaron jár.
Miután a látásrendszerünk összeállt, kell egy csatorna, amin keresztül az információ eljut hozzánk. Az ESP32-CAM rendelkezik Wi-Fi kapcsolattal, amit érdemes kihasználni. Én egy egyszerű Telegram botot használok, ami szöveges üzenetet küld a telefonomra, amikor a rendszer felismer valamit.
Ez a megoldás azért zseniális, mert nincs szükség bonyolult szerverre vagy drága előfizetésre. A mikrokontroller közvetlenül beszél a Telegram szerverével.
Az értesítési rendszer beállításánál ezekre figyelj:
Az egész folyamat során rá fogsz jönni, hogy a hardveres korlátok nem hátrányok, hanem lehetőségek. Mivel a gép nem képes mindent feldolgozni, kénytelen vagy hatékony kódot írni, ami végül egy stabilabb és megbízhatóbb rendszert eredményez. A kerted biztonsága így nem egy külső szolgáltatótól, hanem a saját logikádtól és kitartásodtól függ majd.
Végezetül annyit mondanék, hogy ne keseredj el, ha az első próbálkozások nem hozzák az elvárt szintet. A számítógépes látás egy olyan terület, ahol a gyakorlat teszi a mestert. Ahogy egyre több adatot gyűjtesz és finomítod a modellt, a rendszer egyre megbízhatóbbá válik. Az a tudat, hogy a saját, 20 dolláros kütyüd őrzi az otthonodat, minden belefektetett órát megér. Jó bütykölést kívánok hozzá!