Evrişimsel Sinir Ağı

Evrişimli Sinir Ağları (CNN veya ConvNet), özellikle görüntü işleme görevlerinde başarılı olan bir derin öğrenme mimarisidir. 2012’de AlexNet’in ImageNet yarışmasında çığır açmasıyla birlikte popülerlik kazanmıştır. CNN’ler, verinin özelliklerini belirlemek için evrişim (convolution) ve havuzlama (pooling) katmanlarını kullanır. Bir görüntüden çıkarılan özellikler şunlardır;

  • Low Level: Kenarlar, köşeler, renkler, dokular.
  • Mid Level: Şekiller, nesne parçaları.
  • High Level: Nesne kategorileri, özel nesneler.

Bir CNN içerisinde şunlar bulunur:

  • Konvolüsyon Katmanı (Convolutional Layer): Özellik çıkarmak için kullanılır. Bu katmanda filtreler yer alır. Çekirdekteki değerler görüntü üzerinde kaydırılır ve değerler görüntünün değerleriyle çarpılır. Elde edilen değerler toplanır. Örneğin, 6×6’lik bir görüntüye 2×2 lik bir filter uygulandığında yeni görüntü 4×4 lük olur. Bu işlem tüm görsele uygulanır.
  • Aktivasyon Fonksiyonu (Activation Function): Her konvolüsyon katmanından sonra aktivasyon işlemi uygulanır. Genellikle ReLU gibi doğrusal olmayan aktivasyon işlevleri kullanılır. Bu, ağın daha karmaşık ve genel özellikler öğrenmesine yardımcı olur.
  • Havuzlama Katmanı (Pooling Layer): Özellik haritalarının boyutunu küçültmek ve ağı daha da hızlandırmak için kullanılır.
  • Düzleştirme Katmanı (Flattening Layer): Veriyi 1×1 haline getirir. Böylece veri FC katmanının girişine hazırlanmış olur.
  • Tam Bağlı Katman (Fully-Connected Layer): Çıktılar sınıflandırılmak üzere bu katmandan geçirilir. Bu katmanlar, özellik haritalarını düzleştirir ve “softmax” gibi bir aktivasyon işlemi ile sınıflandırma sonuçlarını üretir.
  • Filtreler ve Özellik Haritaları (Filters and Feature Maps): Filtre belirli desenleri tarar ve ortaya çıkan çıktılar özellik haritasıdır.

R-CNN

Region-Based CNN, görüntü nesnelerinin algılanması ve sınıflandırılması için kullanılan bir modeldir. Giriş görüntüsünü alır, potansiyel nesne konumlarını belirlemek için bölgesel öneri ağlarını (RPN) kullanır ve daha sonra bu bölgeleri bir CNN’e sokarak nesneleri tanır.

Çalışma Adımları

  1. Bölgesel Öneri Ağı (Region Proposal Network – RPN) kullanılarak giriş görüntüsünden olası nesne konumlarını belirlenir. RPN, farklı boyutlarda ve oranlarda bölgesel öneriler üretir ve her bir bölgenin içinde olası bir nesne olup olmadığını tahmin eder.
  2. RPN tarafından üretilen öneri bölgeleri, giriş görüntüsünden özellik haritaları çıkarmak için bir konvolüsyonel sinir ağına (CNN) sokulur.
  3. Her bir bölge için çıkarılan özellik vektörleri, nesne tespiti ve sınıflandırma için bir sonraki CNN katmanına sokulur. Bu katman, her bir bölge için olası nesneleri tanır ve sınıflandırır.
  4. Bölge önerileri nesnelerin sınırlayıcı kutularını belirlemek için bir regresyon modeli kullanılarak düzeltilir.

R-CNN her bir bölgeyi ayrı ayrı işlediği için oldukça maliyetlidir. R-CNN hızını artırmak için farklı türevleri geliştirilmiştir.

Fast R-CNN

Fast R-CNN, R-CNN’nin bir geliştirmesi olarak ortaya çıkmıştır ve nesne tanıma görevlerinde daha hızlı bir performans sağlar. Fast R-CNN, giriş görüntüsünden bölgesel öneri ağlarını (RPN) kullanarak olası nesne konumlarını belirler, ardından bölgesel özellikleri tek bir işleme tabi tutar ve nesne tanıma ve sınıflandırma için kullanır. R-CNN’den farklı olarak özellik haritaları, her bir bölge önerisi için tek bir özellik vektörüne dönüştürülür.