Konvolution Operation på en 7×7-matris med en 3×3-kärna
  1. Inom matematiken är konvolution en operation som utförs på två funktioner (f och g) för att producera en tredje funktion. Konvolution är en av de viktigaste operationerna inom signal- och bildbehandling. Den kan fungera i 1D (t.ex. talbehandling), 2D (t.ex. bildbehandling) eller 3D (videobearbetning).
  2. I bildbehandling är konvolution en process för att omvandla en bild genom att tillämpa en kärna över varje pixel och dess lokala grannar över hela bilden. Kärnan är en matris av värden vars storlek och värden bestämmer omvandlingseffekten av konvolutionsprocessen.
  3. Konvolutionsprocessen omfattar dessa steg. (1)Den placerar Kernelmatrisen över varje pixel i bilden (vilket säkerställer att hela Kernel finns inom bilden), multiplicerar varje värde i Kernel med motsvarande pixel som den är över. (2)Summerar sedan de resulterande multiplicerade värdena och returnerar det resulterande värdet som det nya värdet för centrumpixeln. (3) Denna process upprepas över hela bilden.
  4. Som vi ser på bilden konvoluteras en 3×3 Kernel över en 7×7 källbild. Centrumelementet i kärnan placeras över källpixeln. Källpixeln ersätts sedan med en viktad summa av sig själv och omgivande pixlar. Utgången placeras i destinationspixelns värde. I det här exemplet har vi vid den första positionen 0 i källpixeln och 4 i kärnan. 4×0 är 0. När vi sedan flyttar till nästa pixel har vi 0 och 0 på båda ställena. 0x0 är 0. Sedan är återigen 0x0 0. Nästa i mitten finns det 1 i källbilden och 0 i motsvarande position i kärnan. 0x1 är 0. Sedan återigen 0x1 är 0. Sedan är 0x0 0 och 0x1 är 0 och vid den sista positionen är det -4×2 vilket är -8. Genom att summera alla dessa resultat får vi -8 som svar, så resultatet av denna konvolutionsoperation är -8. Detta resultat uppdateras i destinationsbilden.
  5. Resultatet av konvolutionen förändras med de förändrade kärnvärdena. Till exempel kommer en Identity Kernel som visas nedan, när den tillämpas på en bild genom konvolution, inte att ha någon effekt på den resulterande bilden. Varje pixel kommer att behålla sitt ursprungliga värde som visas i följande figur.

Identity Kernel

.

Originalbild (vänster) och bild efter tillämpning av identitetsfilter i storlek 3×3 (höger)

En skärpningskärna ser ut så här när den tillämpas på en bild genom konvolution, kommer att ha en skärpningseffekt på den resulterande bilden. De exakta värdena kan anpassas för olika nivåer av skärpa som visas i följande figur.

Sharpen Kernel

Originalbild (vänster) och bild efter tillämpning av skärpningsfilter i storlek 3×3 (höger)

Den Gaussiska oskärpningskärnan ser ut så här när den tillämpas på en bild genom konvolution, kommer att tillämpa en Gaussian Blurring-effekt på den resulterande bilden.

Gaussian Blur Kernel

Originalbild (vänster) och bild efter att ha tillämpat ett suddigfilter i storlek 7×7 (höger)

Det är precis som att kärnans värden kan varieras för olika nivåer av effekter, kan kärnans storlek också ändras för att forma effekten av konvolutionen.Genom att öka storleken på Kernel-matrisen ökar den rumsliga lokaliteten som påverkar varje pixels resulterande värde eftersom pixlar från längre avstånd dras in i ekvationen. Det finns många fler kärnor som används vid bildbehandling, t.ex. kantdetektering, prägling, rotation m.m.

6. Konvolution är nyckelbegreppet i konvolutionella neurala nätverk. Convolutional Neural Networks (CNN) är en typ av Deep Neural Network. Ett CNN består av ett konvolutionellt lager, ett poolinglager och ett fullt sammankopplat lager. I det konvolutionella lagret tillämpar ett CNN konvolution på sina ingångar med hjälp av en kärnmatris som kalibreras genom träning. Därför är CNN:er mycket bra för att matcha funktioner i bilder och klassificera objekt. Parametrarna för konvolutionslagret består av en uppsättning inlärningsbara kärnor. Varje kärna är en liten matris som sträcker sig genom hela djupet av ingångsvolymen. Under den framåtriktade passagen konvolverar vi varje kärna över den ingående bildens bredd och höjd och beräknar punktprodukter mellan pixelvärdena för källan och kärnan vid motsvarande positioner.

Lämna ett svar

Din e-postadress kommer inte publiceras.