Bilgisayarla Görme

Derin Öğrenmeye Giriş ve CNN Temelleri

Dr. Öğr. Üyesi Oğuz Emre Kural

2026

Öğrenim Kazanımları

Bu ders sonunda öğrenciler:

  • Klasik bilgisayarlı görüden derin öğrenme tabanlı yaklaşımlara geçişin temel nedenlerini açıklayabilecektir.
  • Bir evrişim (convolution) işleminin matematiksel mantığını ve özellik çıkarımındaki rolünü kavrayabilecektir.
  • Stride (Adım) ve Padding (Dolgu) parametrelerinin çıktı boyutu üzerindeki etkisini hesaplayabilecektir.
  • Pooling (Ortaklama) katmanının neden kullanıldığını ve türlerini ayırt edebilecektir.
  • Basit bir CNN mimarisinin (Conv -> ReLU -> Pool -> FC) bileşenlerini tanımlayabilecektir.

1. Neden Derin Öğrenme?

Klasik Yaklaşımların Sınırı (Hand-crafted Features)

Şu ana kadar öğrendiğimiz SIFT, HOG, Harris gibi yöntemler:

  • Uzmanlar tarafından tasarlanmış matematiksel formüllere dayanır.
  • Belirli koşullarda (aydınlatma, ölçek) çok başarılıdır.
  • Ancak karmaşık sahnelerde ve genelleme konusunda zorlanabilirler.

Geleneksel Akış vs. Derin Öğrenme

Geleneksel: Görüntü -> El Yapımı Özellik Çıkarımı -> Sınıflandırıcı (SVM, RF) -> Sonuç

Derin Öğrenme: Görüntü -> [Özellik Çıkarımı + Sınıflandırma] -> Sonuç

Derin öğrenme, hangi özelliğin (kenar, doku, şekil) önemli olduğunu veriden kendisi öğrenir (Feature Learning).

2. Evrişimsel Sinir Ağları (CNN) Nedir?

CNN’ler, özellikle görüntü verisi gibi 2B/3B ızgara yapılı veriler için tasarlanmış özel bir sinir ağı türüdür.

Temel Sezgi:

  1. Yerel Bağlantısallık (Local Connectivity): Gözümüz bir görüntüyü incelerken tüm piksellere aynı anda değil, bölge bölge odaklanır.
  2. Ağırlık Paylaşımı (Weight Sharing): Bir bölgede dikey kenarı bulan bir filtre, görüntünün her yerinde dikey kenarı bulabilir.

3. Evrişim (Convolution) İşlemi

Evrişim, bir çekirdeğin (kernel) görüntü üzerinde kaydırılarak piksellerle çarpılması ve sonuçların toplanması işlemidir.

  • Bir filtre (örn. 3x3) görüntü üzerinde gezer.
  • Matris çarpımı (Element-wise multiplication) ve toplama yapılır.
  • Sonuç: Bir Özellik Haritası (Feature Map).

4. Filtreler Ne İşe Yarar?

Filtreler, görüntüdeki spesifik bilgileri “süzgeçten” geçirir.

Filtre Türü Amaç
Dikey Kenar Filtresi Dikine olan ani değişimleri yakalar
Yatay Kenar Filtresi Yatay çizgileri belirginleştirir
Bulanıklaştırma Filtresi Görüntüyü yumuşatır

İnteraktif Örnek: Evrişim Hesabı

Aşağıdaki kod bloğunda 3x3’lük bir görüntüye 2x2’lik bir filtre uygulayalım.

5. Stride (Adım) ve Padding (Dolgu)

Stride

Filtrenin her adımda kaç piksel atlayacağını belirler. - Stride = 1: Normal tarama. - Stride = 2: Çıktı boyutunu yarı yarıya indirir.

Padding

Evrişim işlemi görüntüyü doğal olarak küçültür ve köşelerdeki bilgi kaybına neden olur. Bunu engellemek için görüntü etrafına sanal pikseller (genelde 0) eklenir.

  • Valid Padding: Hiç dolgu yapılmaz (Görüntü küçülür).
  • Same Padding: Çıktı boyutu girdi boyutuyla aynı kalacak şekilde dolgu yapılır.

6. Doğrusal Olmayan Aktivasyon: ReLU

Evrişim işlemi lineer (doğrusal) bir işlemdir. Karmaşık dünyayı anlamak için sistemimize doğrusalsızlık eklemeliyiz.

ReLU (Rectified Linear Unit): \[f(x) = \max(0, x)\]

  • Negatif değerleri 0 yapar.
  • Pozitif değerlere dokunmaz.
  • Neden? Daha hızlı eğitim sağlar ve ağın karmaşık özellikleri öğrenmesine izin verir.

7. Ortaklama (Pooling)

Pooling, özellik haritalarının boyutsallığını azaltmak için kullanılır.

Özellikleri:

  • Hesaplama yükünü azaltır.
  • Parametre sayısını düşürür (Aşırı öğrenmeyi engeller).
  • Küçük kaymalara karşı dayanıklılık (Invariance) sağlar.

Max vs. Average Pooling

  • Max Pooling: Bölgedeki en yüksek değeri alır. En güçlü özelliği (yüksek aktivasyonu) korur. (En yaygın)
  • Average Pooling: Bölgenin ortalamasını alır. Genel bilgiyi korur.

8. Bir CNN Mimarisinin Akışı

Tam bir CNN genellikle şu katman dizisinden oluşur:

  1. Input: Ham görüntüler.
  2. Conv + ReLU: Düşük seviye (kenar, köşe) özellik çıkarımı.
  3. Pooling: Boyut azaltma.
  4. Conv + ReLU + Pooling: Yüksek seviye (şekil, nesne parçası) özellik çıkarımı.
  5. Flatten: Çok boyutlu veriyi tek boyuta (vektör) indirme.
  6. Fully Connected (Dense) + Softmax: Sınıflandırma (Kedi mi? Köpek mi?).

Özet Akış Şeması

graph LR
  A[Girdi Görüntüsü] --> B[Evrişim - Conv]
  B --> C[Aktivasyon - ReLU]
  C --> D[Ortaklama - Pooling]
  D --> E[Tekrarla...]
  E --> F[Vektöre Dönüştür - Flatten]
  F --> G[Sınıflandırma - FC]

Bölüm Özeti

Bu derste: - Klasik yöntemin neden derin öğrenmeye evrildiğini gördük. - Evrişim (Convolution) işleminin matematiksel temelini öğrendik. - Stride, Padding ve Pooling gibi “vites” ayarlarını kavradık. - Bir CNN’in hangi katmanlardan oluştuğunu özetledik.

Gelecek Hafta: VGG, ResNet ve Inception gibi tarihe geçmiş popüler mimarileri ve bu ağların nasıl eğitildiğini inceleyeceğiz.

Basit Dünya

  • Sadece 2 karakterden oluşan bir alfabemiz olsun. \ ve /
  • Görüntü düzlemimiz ise bu iki karakteri ifade edebilecek en küçük boyut olan 2x2 piksellik görüntülerden oluşsun.
  • Bu pikseller sadece Siyah ve Beyaz renk olabilirler.

Görsel Temsil: Girdi ve İşleme