13 KiB
Ellenőrizd a gyümölcs minőségét egy IoT eszközzel
Vázlat: Nitya Narasimhan. Kattints a képre a nagyobb verzióért.
Előadás előtti kvíz
Bevezetés
Az előző leckében megismerkedtél a képosztályozókkal, és azzal, hogyan lehet őket betanítani jó és rossz gyümölcsök felismerésére. Ahhoz, hogy ezt a képosztályozót egy IoT alkalmazásban használd, képesnek kell lenned képet rögzíteni valamilyen kamerával, majd ezt a képet a felhőbe küldeni osztályozás céljából.
Ebben a leckében megismerkedsz a kamerás szenzorokkal, és azzal, hogyan használhatod őket egy IoT eszközzel képek rögzítésére. Megtanulod azt is, hogyan hívhatod meg a képosztályozót az IoT eszközödről.
Ebben a leckében a következőket tárgyaljuk:
- Kamerás szenzorok
- Kép rögzítése IoT eszközzel
- Képosztályozó publikálása
- Képek osztályozása IoT eszközről
- A modell fejlesztése
Kamerás szenzorok
A kamerás szenzorok, ahogy a nevük is sugallja, olyan kamerák, amelyeket csatlakoztathatsz az IoT eszközödhöz. Ezek képesek állóképeket készíteni vagy folyamatos videót rögzíteni. Néhányuk nyers képadatokat ad vissza, míg mások tömörítik az adatokat egy képformátumba, például JPEG vagy PNG fájlba. Az IoT eszközökkel kompatibilis kamerák általában kisebbek és alacsonyabb felbontásúak, mint amit megszokhattál, de léteznek olyan nagy felbontású kamerák is, amelyek vetekednek a csúcskategóriás telefonokkal. Különféle cserélhető lencséket, többkamerás rendszereket, infravörös hőkamerákat vagy UV kamerákat is beszerezhetsz.
A legtöbb kamerás szenzor képszenzorokat használ, ahol minden pixel egy fotodióda. Egy lencse fókuszálja a képet a képszenzorra, és több ezer vagy millió fotodióda érzékeli a rájuk eső fényt, majd ezt pixeladatként rögzíti.
💁 A lencsék megfordítják a képeket, a kamerás szenzor pedig visszafordítja azokat. Ez ugyanígy működik a szemedben is – amit látsz, az fejjel lefelé érzékelődik a szemed hátsó részén, és az agyad korrigálja.
🎓 A képszenzort Aktív Pixel Szenzornak (APS) nevezik, és a legnépszerűbb APS típus a kiegészítő fém-oxid félvezető szenzor, vagy CMOS. Lehet, hogy hallottad már a CMOS szenzor kifejezést kamerás szenzorokkal kapcsolatban.
A kamerás szenzorok digitális szenzorok, amelyek digitális adatként küldik el a képadatokat, általában egy kommunikációt biztosító könyvtár segítségével. A kamerák olyan protokollokat használnak, mint az SPI, hogy nagy mennyiségű adatot tudjanak továbbítani – a képek lényegesen nagyobbak, mint például egy hőmérséklet-érzékelő által küldött egyetlen szám.
✅ Milyen korlátai vannak a képméretnek IoT eszközök esetében? Gondolj különösen a mikrokontroller hardverek korlátaira.
Kép rögzítése IoT eszközzel
Az IoT eszközöddel képes vagy képet rögzíteni, amelyet osztályozni lehet.
Feladat – kép rögzítése IoT eszközzel
Kövesd a megfelelő útmutatót, hogy képet rögzíts az IoT eszközöddel:
Képosztályozó publikálása
Az előző leckében betanítottad a képosztályozódat. Mielőtt használhatnád az IoT eszközödről, publikálnod kell a modellt.
Modell iterációk
Amikor az előző leckében a modelledet tanítottad, észrevehetted, hogy a Teljesítmény fülön az oldalsávon iterációk jelennek meg. Amikor először tanítottad a modellt, az 1. iteráció volt látható. Amikor a predikciós képekkel javítottad a modellt, a 2. iteráció jelent meg.
Minden alkalommal, amikor tanítod a modellt, egy új iteráció jön létre. Ez egy módja annak, hogy nyomon kövesd a modelled különböző verzióit, amelyeket különböző adathalmazokon tanítottál. Amikor Gyors tesztet végzel, egy legördülő menüben kiválaszthatod az iterációt, így összehasonlíthatod az eredményeket több iteráció között.
Amikor elégedett vagy egy iterációval, publikálhatod, hogy külső alkalmazások is használhassák. Így lehet egy publikált verziód, amelyet az eszközeid használnak, miközben egy új verzión dolgozol több iteráción keresztül, majd azt publikálod, amikor elégedett vagy vele.
Feladat – iteráció publikálása
Az iterációkat a Custom Vision portálon lehet publikálni.
-
Nyisd meg a Custom Vision portált a CustomVision.ai oldalon, és jelentkezz be, ha még nem tetted meg. Ezután nyisd meg a
fruit-quality-detector
projektedet. -
Válaszd ki a Teljesítmény fület a felső menüből.
-
Az oldalsávon válaszd ki a legújabb iterációt az Iterációk listából.
-
Kattints az iteráció Publikálás gombjára.
-
A Modell publikálása párbeszédablakban állítsd be a Predikciós erőforrást a
fruit-quality-detector-prediction
erőforrásra, amelyet az előző leckében hoztál létre. Hagyd meg a nevetIteration2
-ként, majd kattints a Publikálás gombra. -
A publikálás után kattints a Predikciós URL gombra. Ez megjeleníti a predikciós API részleteit, amelyeket az IoT eszközödről kell majd meghívnod. Az alsó rész az Ha van egy képfájlod címkével van ellátva, és ezek az adatok szükségesek. Másold ki a megjelenített URL-t, amely valami ilyesmi lesz:
https://<location>.api.cognitive.microsoft.com/customvision/v3.0/Prediction/<id>/classify/iterations/Iteration2/image
Ahol
<location>
az a hely, amelyet a Custom Vision erőforrás létrehozásakor használtál, és<id>
egy hosszú, betűkből és számokból álló azonosító.Másold ki a Predikciós kulcs értékét is. Ez egy biztonsági kulcs, amelyet meg kell adnod, amikor meghívod a modellt. Csak azok az alkalmazások használhatják a modellt, amelyek megadják ezt a kulcsot, minden más alkalmazás elutasításra kerül.
✅ Amikor egy új iterációt publikálnak, annak más neve lesz. Hogyan gondolod, hogy lehetne megváltoztatni az iterációt, amelyet egy IoT eszköz használ?
Képek osztályozása IoT eszközről
Most már használhatod ezeket a kapcsolati adatokat, hogy meghívd a képosztályozót az IoT eszközödről.
Feladat – képek osztályozása IoT eszközről
Kövesd a megfelelő útmutatót, hogy képeket osztályozz az IoT eszközödről:
A modell fejlesztése
Előfordulhat, hogy az IoT eszközhöz csatlakoztatott kamerával készített képek eredményei nem felelnek meg az elvárásaidnak. A predikciók nem mindig olyan pontosak, mint a számítógépről feltöltött képek esetében. Ennek oka, hogy a modellt más adatokkal tanították, mint amilyeneket a predikciókhoz használnak.
Ahhoz, hogy a képosztályozó a legjobb eredményeket nyújtsa, olyan képekkel kell tanítani a modellt, amelyek a lehető legjobban hasonlítanak a predikciókhoz használt képekre. Ha például a telefonod kamerájával készítettél képeket a tanításhoz, a képminőség, az élesség és a színek eltérhetnek az IoT eszközhöz csatlakoztatott kamera által készített képektől.
A fenti képen a bal oldali banánképet egy Raspberry Pi kamerával készítették, a jobb oldalit pedig ugyanarról a banánról, ugyanazon a helyen egy iPhone-nal. Jól látható a minőségbeli különbség – az iPhone képe élesebb, élénkebb színekkel és nagyobb kontraszttal.
✅ Mi más okozhatja, hogy az IoT eszköz által rögzített képek predikciói helytelenek legyenek? Gondolj az IoT eszközök használati környezetére, milyen tényezők befolyásolhatják a rögzített képet?
A modell fejlesztéséhez újra kell tanítanod azt az IoT eszköz által rögzített képekkel.
Feladat – a modell fejlesztése
-
Osztályozz több képet érett és éretlen gyümölcsökről az IoT eszközöddel.
-
A Custom Vision portálon tanítsd újra a modellt a Predikciók fülön található képekkel.
⚠️ Ha szükséges, hivatkozhatsz az 1. leckében található utasításokra a képosztályozó újratanításához.
-
Ha a képeid nagyon eltérnek az eredetileg használt képektől, törölheted az összes eredeti képet a Tanító képek fülön, a képek kijelölésével és a Törlés gomb megnyomásával. Egy kép kijelöléséhez vidd fölé az egeret, és megjelenik egy pipa, amelyre kattintva kijelölheted vagy törölheted a kijelölést.
-
Taníts egy új iterációt a modellből, és publikáld a fent leírt lépések szerint.
-
Frissítsd az URL-t a kódodban, és futtasd újra az alkalmazást.
-
Ismételd meg ezeket a lépéseket, amíg elégedett nem leszel a predikciók eredményeivel.
🚀 Kihívás
Mennyire befolyásolja a predikciót a kép felbontása vagy a megvilágítás?
Próbáld megváltoztatni a képek felbontását az eszközöd kódjában, és nézd meg, hogy ez hatással van-e a képek minőségére. Próbálj meg változtatni a megvilágításon is.
Ha egy gyártási eszközt hoznál létre, amelyet farmokon vagy gyárakban árulnál, hogyan biztosítanád, hogy mindig következetes eredményeket adjon?
Előadás utáni kvíz
Áttekintés és önálló tanulás
A Custom Vision portál segítségével tanítottad a modelledet. Ez feltételezi, hogy rendelkezésre állnak képek – a valóságban azonban előfordulhat, hogy nem tudsz olyan tanító adatokat szerezni, amelyek megegyeznek az eszközöd kamerája által rögzített képekkel. Ezt megkerülheted azzal, hogy közvetlenül az eszközödről tanítasz a tanító API segítségével, így az IoT eszköz által rögzített képekkel taníthatod a modellt.
- Olvass utána a tanító API-nak a Custom Vision SDK gyorsindítójában.
Feladat
Reagálj az osztályozási eredményekre
Felelősség kizárása:
Ez a dokumentum az AI fordítási szolgáltatás, a Co-op Translator segítségével lett lefordítva. Bár törekszünk a pontosságra, kérjük, vegye figyelembe, hogy az automatikus fordítások hibákat vagy pontatlanságokat tartalmazhatnak. Az eredeti dokumentum az eredeti nyelvén tekintendő hiteles forrásnak. Kritikus információk esetén javasolt professzionális emberi fordítást igénybe venni. Nem vállalunk felelősséget semmilyen félreértésért vagy téves értelmezésért, amely a fordítás használatából eredhet.