Hidrológiai Közlöny, 2020 (100. évfolyam)
2020 / 1. szám
64 Hidrológiai Közlöny 2020. 100. évf. 1. sz. Ahogy az az 1. ábrán látható, van három opcionális lépés, amelyet mi azért alkalmaztunk, mert nem állt rendelkezésünkre elegendő mennyiségű és varianciájú adat, továbbá, mivel korlátozott volt a számitási kapacitás, melyet a felhőben használhattunk. A három közül az első lépés az, hogy a meglévő képeinket 4 kisebb képre vágjuk, melyek egyenlő nagyságúak. A második lépésben a darabolt képek méretét a felükre csökkentjük, így előállnak a 676 x 380 pixeles képeink, amelyek az eredeti képeknek csupán 1/16-od részét teszik ki. Ez a transzformáció azért volt szükséges, mivel a modellnek szüksége van arra, hogy a tanítás folyamán minél változatosabb képeket láthasson (változatos alakokat, színeket, kontúrokat stb.) és ezt úgy érhetjük el a legkönnyebben, ha átméretezzük a képeket. Az utolsó opcionális lépést data augmentation-nek nevezzük, melynek lényege, hogy az adathalmazt úgy növeljük, hogy a modell nem lesz tőle részrehajló, bizonyos osztályokat nem tekint majd faj súlyosabbnak. Jelen esetben ezt úgy értük el, hogy minden képet megforgattunk a tengelyei körül, ezzel négyszeresére növelve a képhalmazunkat. Ezt azért tehettük meg, mert a képek pontosan felülnézetből, 90°-os szöget bezárva készültek a talajról, így kontextusukban nem hordoznak olyan információt, amely torzítaná vagy hibássá tenné a modellt. Ilyen torzítás lenne például, ha egy önvezető autóhoz készítenénk tanító adathalmazt, és olyan képeket is belefoglalnánk, ahol a fák fejjel-lefelé vannak, ami nyilván nem fordulhat elő. A következő kötelező lépés a tanító- és teszthalmazok elkülönítése. A mi munkánkban ez ~19%-nyi validációs halmazt jelentett, míg az adatok további ~81 %-át tanításra használtuk fel. A képeket fontos összekeverni, hogy pszeudorandom módon válogasson az algoritmus a tanítás során, megelőzve ezzel azt, hogy részrehajló (biased) legyen a modell. MÉLY TANULÁS ÉS KONVOLÚCIÓS NEURÁLIS HÁLÓZATOK Napjainkban a képfeldolgozás területén egyértelműen a Mély Tanulás és ezen belül a konvolúciós neurális hálózatok képviselik a legfejlettebb módszereket. A tulajdonságok, melyek uralkodóvá teszik őket ezen a területen, a pooling rétegek megléte, a közös súlyok, a nagyszámú belső kapcsolat és a rengeteg réteg, amelyek a modellek absztrakciós készségét növeli (LeCun és társai 2015). Ezekben a hálózatokban a beadott adatokat tömbök formájában dolgozzuk fel. Ez képek esetében kétdimenziós alakban, a kép színezetétől függően egy, 3 vagy több rétegben valósul meg (a kép szín és mélységtípusa befolyásolja a kép rétegeinek a számát). Lehetséges egydimenziós adatok feldolgozása is, az ezt alkalmazó modelleket leginkább természetes jelek feldolgozására használják, mint amilyen a nyelvfeldolgozás. A 2. ábra egy ilyen 2D konvolúciós neurális hálózat sematikus ábráját mutatja be. feature maps feature maps feature maps pooled feature maps Fully-connected 1 Input Convolutional Pooling 1 layer 1 Convolutional Pooling 2 ' layer 2 2. ábra. Egy konvolúciós neurális hálózat (CNN - Convolutional Neural Network) általános felépítése, benne a konvolúciós, a pooling és a teljesen összekapcsolt (fully-connected) rétegekkel (Albelwi és társai 2017) (Megjegyzés: A neurális hálózat részeinek elnevezése azért szerepel angolul az ábrán, mivel nagyrészt még nem létezik magyar nyelvű megfelelőjük.) Figure 2. General structure of a convolutional neural network (CNN), with the convolutional, pooling and fully-connected layers. (Albelwi et al. 2017) Ezen modellek lényege, hogy különböző modulokból állnak, amelyeket rétegeknek nevezünk, és minden egyes réteg egy rá kiszabott adattranszformációt hajt végre az inputon. A fő ok, amiért ezek a metódusok és modellek működnek az, hogy a természetes jelekben és képekben olyan, az ember számára nem érzékelhető jelentésbeli struktúrák vannak, amelyek hierarchikusan épülnek fel, és kellően nagy elemszám mellett ezek a rendszerek képesek súlymátrixaikban rögzíteni a hierarchikus viszonyokat. A cikkben ismertetett eljáráshoz egy, a Google kutatói által készített szemantikus szegmentációt végző konvolúciós neurális hálózat-architektúrát használtunk, amely a Deeplabv3+ névre hallgat (Chen és társai 2018). A szemantikus szegmentáció a képfelismerési módszereknek egy olyan válfaja, ahol egy kép minden pixeléhez egy osztályt kell rendelnünk, így kialakítva egy színezett képet, amely lehatárol minden egyes, a képen található osztályt. A szemantikus szegmentáció az elmúlt években jelentős fejlődésen ment át, nagyrészt az önvezető autók fejlesztésében látható versenynek köszönhetően. A Deeplabv3+ az egyik legkorszerűbb architektúra, mely 2018 tavaszán jelent meg, azonban olyan ütemü a fejlődés ezen a területen, hogy jelentek meg ennél már precízebb rendszerek is. Az architektúra pontos bemutatása túlmutat