6.2 KiB
Szegmentáció
Korábban már tanultunk az objektumfelismerésről, amely lehetővé teszi számunkra, hogy az objektumokat az határoló dobozok előrejelzésével lokalizáljuk a képen. Azonban bizonyos feladatokhoz nemcsak határoló dobozokra van szükségünk, hanem pontosabb objektum lokalizációra is. Ezt a feladatot szegmentációnak nevezzük.
Pre-lecture quiz
A szegmentációt tekinthetjük pixelek osztályozásának, ahol a kép minden egyes pixeléről meg kell jósolnunk az osztályát (háttér is egy osztály). Két fő szegmentációs algoritmus létezik:
- Szemantikus szegmentáció csak a pixel osztályát határozza meg, és nem különbözteti meg az ugyanazon osztályba tartozó különböző objektumokat.
- Instance szegmentáció az osztályokat különböző példányokra osztja.
Például instance szegmentáció esetén ezek a juhok különböző objektumok, míg szemantikus szegmentáció esetén minden juh egy osztályba tartozik.
Kép ebből a blogbejegyzésből
Különböző neurális architektúrák léteznek a szegmentációhoz, de mindegyiknek ugyanaz a szerkezete. Bizonyos értelemben hasonlít az autoencoderhez, amelyről korábban tanultál, de az eredeti kép dekonstruálása helyett a célunk egy maszk dekonstruálása. Így egy szegmentációs hálózatnak a következő részei vannak:
- Encoder kivonja a bemeneti képből a jellemzőket
- Decoder átalakítja ezeket a jellemzőket a maszk képpé, amelynek mérete és csatornaszáma megegyezik az osztályok számával.
Kép ebből a publikációból
Különösen meg kell említenünk a szegmentációhoz használt veszteségfüggvényt. Klasszikus autoencoderek használatakor meg kell mérnünk a hasonlóságot két kép között, és ehhez használhatjuk az átlagos négyzetes hibát (MSE). Szegmentáció esetén a cél maszk kép minden egyes pixele az osztály számát képviseli (egy-hot kódolva a harmadik dimenzió mentén), így olyan veszteségfüggvényeket kell használnunk, amelyek kifejezetten osztályozásra alkalmasak - keresztentrópia veszteség, amelyet az összes pixelre átlagolunk. Ha a maszk bináris, akkor bináris keresztentrópia veszteséget (BCE) használunk.
✅ Az egy-hot kódolás egy olyan technika, amely egy osztály címkét egy olyan vektorrá alakít, amelynek hossza megegyezik az osztályok számával. Nézd meg ezt a cikket erről a technikáról.
Szegmentáció az orvosi képalkotásban
Ebben a leckében a szegmentációt működés közben fogjuk látni, amikor a hálózatot arra tanítjuk, hogy felismerje az emberi anyajegyeket (más néven nevi) orvosi képeken. A képek forrásaként a PH2 Adatbázist fogjuk használni. Ez az adatbázis 200 képet tartalmaz három osztályból: tipikus nevus, atipikus nevus és melanoma. Minden képhez tartozik egy maszk, amely körvonalazza a nevust.
✅ Ez a technika különösen alkalmas az ilyen típusú orvosi képalkotásra, de milyen más valós alkalmazásokat tudnál elképzelni?
Kép a PH2 Adatbázisból
Egy modellt fogunk tanítani arra, hogy bármilyen nevust szegmentáljon a háttérből.
✍️ Gyakorlatok: Szemantikus szegmentáció
Nyisd meg az alábbi notebookokat, hogy többet megtudj a különböző szemantikus szegmentációs architektúrákról, gyakorold a velük való munkát, és lásd őket működés közben.
Post-lecture quiz
Összegzés
A szegmentáció egy nagyon erőteljes technika a képosztályozásban, amely túlmutat a határoló dobozokon, és pixel szintű osztályozást tesz lehetővé. Ez a technika az orvosi képalkotásban és számos más alkalmazásban is használható.
🚀 Kihívás
A test szegmentációja csak egy a gyakori feladatok közül, amelyeket emberek képeivel végezhetünk. Más fontos feladatok közé tartozik a csontváz detektálása és a testtartás felismerése. Próbáld ki az OpenPose könyvtárat, hogy lásd, hogyan használható a testtartás felismerése.
Áttekintés és önálló tanulás
Ez a wikipedia cikk jó áttekintést nyújt a technika különböző alkalmazásairól. Ismerd meg önállóan az Instance szegmentáció és Panoptikus szegmentáció alágazatait ezen a területen.
Feladat
Ebben a laborban próbáld ki az emberi test szegmentációját a Segmentation Full Body MADS Dataset adathalmazzal a Kaggle-ről.
Felelősség kizárása:
Ez a dokumentum az AI fordítási szolgáltatás Co-op Translator segítségével került lefordításra. 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.