logo

Evrişim Kavramı

Evrişim, türevleri hesaplamak, kenarları tespit etmek, bulanıklaştırma uygulamak vb. gibi birçok şey için kullanılır ve tüm bunlar bir 'evrişim çekirdeği' kullanılarak yapılır. Evrişim çekirdeği çok küçük bir matristir ve bu matriste her hücrenin bir numarası ve ayrıca bir bağlantı noktası vardır.

Bağlantı noktası, çekirdeğin görüntüye göre konumunu bilmek için kullanılır. Görüntünün sol üst köşesinde başlar ve sırayla her piksel üzerinde hareket eder. Çekirdek, görüntünün her konumunda birkaç pikselin üzerine biner. Üst üste binen her piksel çarpılır ve ardından eklenir. Ve toplam, mevcut konumun değeri olarak ayarlanır.

Evrişim Kavramı

Evrişim, görüntünün her bir öğesinin yerel komşularına eklendiği ve daha sonra çekirdek tarafından ağırlıklandırıldığı süreçtir. Bir tür matematiksel evrişimle ilgilidir.

Evrişimde matris, geleneksel matris çarpımını gerçekleştirmez ancak * ile gösterilir.

Diyelim ki iki adet 3x3 matris var, biri çekirdek, diğeri ise görüntü parçası. Evrişimde çekirdeğin satır ve sütunları ters çevrilerek çarpılır ve toplama işlemi yapılır. Matrisin merkezinde yani görüntünün [2,2]'sinde bulunan öğeler, görüntü matrisinin ağırlıklandırılmış birleşimi olacak ve ağırlıklar çekirdek tarafından verilecektir. Benzer şekilde matrisin diğer tüm elemanları da ağırlıklandırılacak ve ağırlıklar hesaplanacaktır.

Aşağıda evrişim sürecini açıklayan sözde kod verilmiştir:

 For each image row in input image: For each pixel in image row: Set accumulator to zero For each kernel row in kernel: For each element in kernel row: If element position corresponding* to pixel position then Multiply element value corresponding*to pixelvalue Add result to accumulator Endif Set output image pixel to accumulator 

Evrişim birden fazla for döngüsü kullanılarak hesaplanabilir. Ancak for döngülerinin kullanılması, çok fazla tekrarlanan hesaplamaya neden olur ve ayrıca görüntünün ve çekirdeğin boyutunun artmasına neden olur. Ayrık Fourier Dönüşümü tekniği kullanılarak evrişim hesaplaması hızlı bir şekilde yapılabilir. Bu teknikte evrişim işleminin tamamı basit bir çarpma işlemine dönüştürülür.

Evrişimde çekirdek iki boyutlu olduğundan sorun çekirdek kenar veya köşelere yakın olduğunda ortaya çıkar.

Bu sorunların üstesinden gelmek için aşağıdakiler yapılabilir:

  1. Olanlar göz ardı edilebilir
  2. Kenarların yakınında ekstra pikseller oluşturulabilir.

Ekstra pikseller aşağıdaki yollarla oluşturulabilir:

  1. Yinelenen kenar pikseli.
  2. Kenarları yansıt
  3. Pikseller diğer uçtan kopyalanabilir.