- A matematikában a konvolúció két függvényen (f és g) végzett művelet egy harmadik függvény előállítására. A konvolúció az egyik legfontosabb művelet a jel- és képfeldolgozásban. Működhet 1D-ben (pl. beszédfeldolgozás), 2D-ben (pl. képfeldolgozás) vagy 3D-ben (videófeldolgozás).
- A képfeldolgozásban a konvolúció egy kép átalakítása egy kernel alkalmazásával minden egyes pixelre és annak helyi szomszédaira az egész képen. A kernel egy értékekből álló mátrix, amelynek mérete és értékei határozzák meg a konvolúciós folyamat transzformációs hatását.
- A konvolúciós folyamat a következő lépéseket foglalja magában. (1)A Kernel mátrixot a kép minden egyes képpontja fölé helyezi (biztosítva, hogy a teljes Kernel a képen belül legyen), a Kernel minden értékét megszorozza a megfelelő képponttal, amely fölött van. (2)Ezután összegzi az így kapott szorzott értékeket, és az így kapott értéket adja vissza a középpont új értékeként. (3) Ez a folyamat megismétlődik a teljes képen.
- Amint a képen látható, egy 3×3-as kernel egy 7×7-es forráskép felett van összetekerve. A kernel középső eleme a forráspixel fölé kerül. A forráspixelt ezután önmagának és a környező pixeleknek a súlyozott összegével helyettesítjük. A kimenet a célpixel értékébe kerül. Ebben a példában az első pozícióban 0 van a forráspixelben és 4 a kernelben. A 4×0 0, majd a következő pixelre lépve mindkét helyen 0 és 0 van. A 0x0 0. Aztán ismét 0x0 0. Ezután a középpontban 1 van a forrásképben és 0 a kernel megfelelő pozíciójában. 0x1 0. Aztán ismét 0x1 0. Aztán 0x0 0 és 0x1 0, és az utolsó pozícióban -4×2, ami -8. Most ezeket az eredményeket összegezve -8-at kapunk válaszként, így a konvolúciós művelet kimenete -8. Ez az eredmény frissül a célképben.
- A konvolúciós folyamat kimenete a változó kernelértékekkel változik. Például az alább látható Identity Kernel, ha egy képre konvolúcióval alkalmazzuk, nem lesz hatással a kapott képre. Minden képpont megtartja az eredeti értékét, ahogy az a következő ábrán látható.
A Sharpen Kernel ilyen, ha konvolúcióval alkalmazzuk egy képre, élesítő hatással lesz az eredményül kapott képre. A pontos értékek testre szabhatók a különböző élesítési szintekhez, ahogy az a következő ábrán látható.
Mint ahogy a Kernel értékei is változtathatók a különböző szintű hatások eléréséhez, a Kernel mérete is változtatható a konvolúció hatásának alakítása érdekében.A Kernel mátrix méretének növelésével növekszik az egyes pixelek eredő értékét befolyásoló térbeli lokalitás, mivel a távolabbi pixelek is bevonódnak az egyenletbe. Számos további Kernel létezik, amelyeket a képfeldolgozásban használnak, például élérzékelés, domborítás, forgatás stb.
6. A konvolúció a konvolúciós neurális hálózatok kulcsfogalma. A konvolúciós neurális hálózatok (CNN) a mély neurális hálózatok egyik típusa. A CNN konvolúciós rétegből, pooling rétegből és teljesen összekapcsolt rétegből áll. A konvolúciós rétegben a CNN konvolúciót alkalmaz a bemenetekre egy Kernel mátrix segítségével, amelyet a képzés során kalibrál. Emiatt a CNN-ek nagyon jók a képek jellemzőinek egyeztetésében és a tárgyak osztályozásában. A konvolúciós réteg paraméterei megtanulható kernelekből állnak. Minden kernel egy kis mátrix, amely a bemeneti térfogat teljes mélységén átnyúlik. Az előrehaladás során minden egyes kernelt a bemeneti kép szélességén és magasságán keresztül konvolválunk, és pontterméket számítunk a forrás és a kernel pixelértékei között a megfelelő pozíciókban.