SIFT Tespiti ve Tanımlayıcı (SIFT Detector and Descriptor)
- 1. Genel Bakış (Overview)
- 2. İlgi Noktası Nedir? (What is an Interest Point?)
- 3. Leke Tespiti (Detecting Blobs)
- 4. SIFT Dedektörü (SIFT Detector)
- 5. SIFT Tanımlayıcısı (SIFT Descriptor)
- 6. Özetleyici Teknik Karşılaştırma Tablosu
1. Genel Bakış (Overview)
Geleneksel bilgisayarlı görü yaklaşımlarında, nesneleri tanımak ve konumlandırmak için ikili bölütleme (binary segmentation) ve geometrik momentlerin analizi oldukça etkilidir. Ancak bu yöntemler sadece son derece kontrol edilebilir endüstriyel ortamlarda (arkadan aydınlatmalı silüetler) veya yüksek kontrastlı metin okuma uygulamalarında (plaka tanıma vb.) kararlılık gösterir.
Gerçek dünya sahnelerinde yer alan üç boyutlu veya karmaşık iki boyutlu (planar) nesnelerin tanınması söz konusu olduğunda, bu basit yaklaşımlar tamamen çöker.
Geleneksel Şablon Eşleştirme (Template Matching) Sınırları:
──────────────────────────────────────────────────────────
1. Ölçek (Scale) Değişimi: Nesne derinliğine bağlı boyut değişimi.
2. Rotasyon (Rotation): Nesnenin 2D/3D dönme hareketleri.
3. Kısmi Tıkanma (Occlusion): Nesnenin bir kısmının engellenmesi.
4. Işık Değişimi (Illumination): Kamera kazancı, parlama ve gölgeler.
Eğer bir nesneyi aratmak için klasik şablon eşleştirme (template matching) veya normalize çapraz korelasyon (normalized cross-correlation - NCC) kullanılmak istenirse, nesnenin olası tüm dönme açıları ve farklı ölçek varyasyonları için binlerce alt-şablon (partial templates) üretilip tüm görüntü üzerinde kaydırılarak aranması gerekir. Bu süreç, hesaplama karmaşıklığı açısından $O(N \cdot M \cdot S \cdot R)$ seviyesine ulaşır ve pratik uygulamalar için tamamen imkansızdır.
Temel Sezgi: Bu temel problemin aşılması, görüntüden doğrudan son derece ayırt edici, benzersiz ve geometrik/aydınlatma değişimlerine karşı dayanıklı yerel öznitelikler (highly descriptive and unique local features) çıkarılmasına bağlıdır. Bu özniteliklerin konumları ve yerel görünüm imzaları (descriptors) çıkarıldıktan sonra, iki farklı görüntüdeki noktalar birebir eşleştirilerek nesne tanıma, panorama birleştirme (image stitching) ve 3D rekonstrüksiyon işlemleri başarıyla gerçekleştirilir.
2. İlgi Noktası Nedir? (What is an Interest Point?)
Bir görüntünün ilgi noktası (interest point), yerel olarak en zengin görsel bilgiye ve benzersizliğe sahip olan bölgesidir. Yerel bir yamanın ilgi noktası olarak seçilebilmesi için belirli kritik kriterleri karşılaması gerekir:
İdeal Bir İlgi Noktasının Nitelikleri:
- Zengin İçerik (Rich Content): Yerel analiz penceresi içinde parlaklık (renk/yoğunluk) varyasyonunun yüksek olması gerekir.
- Net Temsil Edilebilirlik (Well-defined Representation): Noktanın etrafındaki görsel dokudan, eşleştirmede kullanılacak benzersiz ve kompakt bir imza (descriptor) üretilebilmelidir.
- Kesin Konumlandırma (Well-defined Position): Eşleştirmenin uzamsal doğruluğu için ilgi noktasının görüntü düzleminde net bir koordinatı ($x, y$) bulunmalıdır.
- Ölçek ve Rotasyon Değişmezliği (Scale & Rotation Invariance): Nesne büyüdüğünde, küçüldüğünde veya döndüğünde bile aynı koordinat ve imza kararlı bir şekilde tekrar üretilebilmelidir (repeatability).
- Işığa Karşı Dayanıklılık (Insensitivity to Illumination): Gölgelerden, parlamalardan ve kamera kazancından etkilenmemelidir.
Çizgi, Kenar, Köşe ve Lekelerin Karşılaştırılması:
- Kenarlar (Edges): Kenarlar, yoğunluğun tek bir doğrultuda hızlı değiştiği bölgelerdir. Bir kenar çizgisi boyunca yerel analiz penceresi kaydırıldığında görünüm neredeyse hiç değişmez (aperture problem / açıklık problemi). Bu belirsizlik nedeniyle kenarlar iyi birer ilgi noktası değildir.
- Köşeler (Corners): Köşeler iki farklı yöndeki kenarın birleşimi olduğu için uzamsal konumları net olarak saptanabilir ($x, y$). Ancak, karmaşık dokular barındıran nesneleri temsil edecek kadar zengin yerel görünüm (appearance) bilgisi sunamazlar ve görüntüde seyrek bulunurlar.
- Lekeler ve Yamalar (Blobs): Belirli bir uzamsal ölçeğe ($\sigma$), baskın bir yöne ($\theta$) ve zengin yerel doku varyasyonuna sahip olan dairesel/oval yamalardır. Konumları, boyutları ve iç dokuları matematiksel olarak kararlı modellenebildiği için bilgisayarlı görüde en ideal ilgi noktası adayı Blob yapılarıdır.
3. Leke Tespiti (Detecting Blobs)
Matematiksel olarak bir blobu saptamak, farklı uzamsal çözünürlüklerde (scale-space / ölçek uzayı) yerel parlaklık ekstremumlarını (peaks/tepe noktaları) bulmak demektir.
3.1 1 Boyutlu Sinyalde İkinci Türev ve Ölçek Uzayı (Scale Space)
Tek boyutlu bir sinyalde gürültüyü süzmek için $\sigma$ genişliğindeki Gauss filtresi kullanılır:
$$G(x, \sigma) = \frac{1}{\sqrt{2\pi}\sigma} e^{-\frac{x^2}{2\sigma^2}}$$
Sinyal, Gauss’un birinci türeviyle ($\frac{d}{dx} G_\sigma$) konvolüsyona sokulduğunda kenar geçişlerinde birer tepe noktası (peak) verir.
Gauss’un ikinci türevi filtresi ($\frac{d^2}{dx^2} G_\sigma$ / Inverted Mexican Hat) uygulandığında ise kenarın tam merkezinde bir Sıfır Geçişi (Zero-Crossing) oluşur.
Farklı genişliklerdeki blobları (örneğin genişliği sırasıyla $W$, $2W$ ve $3W$ olan $A, B, C$ blobları) analiz etmek için filtre genişliğini ($\sigma$) sürekli değiştirerek görüntü çözünürlüğünü düşürdüğümüz bir Ölçek Uzayı (Scale Space) tasarlanır:
$$S(x, \sigma) = f(x) * G(x, \sigma)$$
3.2 $\sigma^2$-Normalizasyonu ve Karakteristik Ölçek (Characteristic Scale)
Gauss filtresinin standart sapması ($\sigma$) büyüdükçe (ölçek arttıkça), filtrenin tepe genlik değeri düşer ve dolayısıyla sinyal yanıtı sönümlenir. Farklı ölçeklerde elde edilen ekstremum yanıt genliklerini birbiriyle tutarlı şekilde karşılaştırabilmek için ikinci türev filtresi $\sigma^2$ sabiti ile çarpılarak normalleştirilir. Buna $\sigma$-normalleştirilmiş çıktı denir:
$$\text{NLoG}{1D} = \sigma^2 \frac{d^2 G\sigma}{dx^2} * f(x)$$
Eğer farklı $\sigma$ (ölçek) değerlerine bağlı olarak bir blobun tam merkezindeki yanıt genliği grafiğe dökülürse, yanıtın tam olarak $\sigma^* \propto \text{Blob Genişliği}$ oranında maksimum (yerel ekstremum) yaptığı görülür:
- $A$ bloğu ($Genel=W$): $\sigma_A^* = \sigma_1$ ölçeğinde ekstremum verir.
- $B$ bloğu ($Genel=2W$): $\sigma_B^* = 2\sigma_1$ ölçeğinde ekstremum verir.
- $C$ bloğu ($Genel=3W$): $\sigma_C^* = 3\sigma_1$ ölçeğinde ekstremum verir.
Karakteristik Ölçek (Characteristic Scale): Bu maksimum yanıtın elde edildiği benzersiz $\sigma^$ değerine o blobun Karakteristik Ölçeği denir. Böylece 2 boyutlu $(x, \sigma)$ uzayında yerel ekstremumları arayarak hem blobun kesin konumunu ($x^$) hem de blobun boyutunu ($\sigma^*$) saptamış oluruz.
3.3 2 Boyutlu Uzayda NLoG Operatörü
İki boyutlu görüntülerde tek boyuttaki normalleştirilmiş ikinci türevin karşılığı Normalleştirilmiş Laplacian of Gaussian (NLoG) operatörüdür. 2D Gauss fonksiyonuna Laplacian operatörünün ($\nabla^2 = \frac{\partial^2}{\partial x^2} + \frac{\partial^2}{\partial y^2}$) uygulanması ve $\sigma^2$ normalizasyonu ile elde edilir:
$$\text{NLoG}_{2D} = \sigma^2 \nabla^2 G(x, y, \sigma) = \sigma^2 \left( \frac{\partial^2 G}{\partial x^2} + \frac{\partial^2 G}{\partial y^2} \right)$$
$$\text{NLoG}_{2D}(x, y, \sigma) = -\frac{1}{2\pi\sigma^2} \left( 2 - \frac{x^2 + y^2}{\sigma^2} \right) e^{-\frac{x^2+y^2}{2\sigma^2}}$$
2D bir görüntüdeki tüm blobları saptamak için görüntü bu NLoG filtresiyle çok sayıda farklı ölçekte ($\sigma$) konvolüsyona sokularak 3 boyutlu bir Ölçek-Uzay Hacmi (Scale-Space Volume) oluşturulur:
$$V(x, y, \sigma) = I(x, y) * \left[ \sigma^2 \nabla^2 G(x, y, \sigma) \right]$$
Bu 3B hacim içinde yerel ekstremum ($x^, y^, \sigma^*$) noktaları aranır.
4. SIFT Dedektörü (SIFT Detector)
David Lowe tarafından önerilen SIFT (Scale-Invariant Feature Transform) dedektörü, yukarıdaki teorik NLoG tabanlı blob tespitini donanımsal olarak son derece hızlı, verimli ve gürültüye dayanıklı hale getiren bir dizi mühendislik yaklaşımı (tricks) içerir.
4.1 Hızlı NLoG Yaklaşımı: Difference of Gaussians (DoG)
Her ölçek seviyesinde 2D NLoG filtresini sıfırdan hesaplayıp görüntüyle konvolüsyona sokmak çok yüksek işlem gücü gerektirir. Lowe, ölçek uzayındaki iki ardışık Gauss pürüzsüzleştirilmiş görüntüsünün birbirinden çıkarılmasıyla elde edilen Difference of Gaussians (DoG - Gaussların Farkı) operatörünün, NLoG operatörüne mükemmel bir matematiksel yaklaşım sunduğunu ispatlamıştır:
$$\text{DoG}(x, y, \sigma) = S(x, y, k\sigma) - S(x, y, \sigma) = I(x, y) * \left[ G(x, y, k\sigma) - G(x, y, \sigma) \right]$$
Isı yayılımı ve difüzyon denklemlerinden yararlanarak limit durumunda şu yaklaşım elde edilir:
$$\frac{\partial G}{\partial \sigma} = \lim_{\Delta\sigma \to 0} \frac{G(x,y,\sigma + \Delta\sigma) - G(x,y,\sigma)}{\Delta\sigma}$$
$$\sigma \nabla^2 G = \frac{\partial G}{\partial \sigma} \approx \frac{G(x,y,k\sigma) - G(x,y,\sigma)}{(k-1)\sigma}$$
Buradan her iki tarafı $\sigma$ ile çarparak $\sigma$-normalleştirilmiş Laplacian elde edilir:
$$G(x,y,k\sigma) - G(x,y,\sigma) \approx (k-1) \cdot \left[ \sigma^2 \nabla^2 G \right] = (k-1) \cdot \text{NLoG}$$
Bu matematiksel ilişki sayesinde, sadece Gauss pürüzsüzleştirilmiş görüntülerin birbirinden çıkarılmasıyla, çok daha ağır bir işlem olan NLoG çıktısı (sadece sabit bir $k-1$ ölçek faktörü farkıyla) son derece hızlıca elde edilir.
4.2 3 Boyutlu Ekstremum Arama ve Zayıf Noktaların Elenmesi
DoG fark görüntüleri yığını (stack) oluşturulduktan sonra yerel ekstremumları saptamak için şu adımlar izlenir:
- DoG hacmi üzerinde $3 \times 3 \times 3$ boyutlarında küçük kübik bir pencere kaydırılır.
- Merkezdeki pikselin mutlak değeri, kendi görüntüsündeki 8 komşusuyla ve bir üst ile bir alt ölçek seviyesindeki 9’ar komşusuyla (toplam 26 komşuyla) karşılaştırılır.
- Eğer merkez piksel bu 26 komşunun tamamından kesin olarak büyük veya küçükse (yerel ekstremum ise) bir ilgi noktası adayı olarak işaretlenir.
Zayıf Noktaların Temizlenmesi: Gürültü ve düşük kontrast içeren kararsız adayları süzmek için belirlenen bir eşik değerinin altındaki ekstremum pikselleri elenerek supprese edilir. Ayrıca kenar üzerindeki kararsız noktalar Hessian matrisinin özdeğer oranları kullanılarak temizlenir. Geriye kalan güçlü ve kararlı pikseller kesin SIFT İlgi Noktaları olarak saptanır.
4.3 Ölçek ve Rotasyon Değişmezliğinin Sağlanması
1. Ölçek Değişmezliği (Scale Invariance)
Nesnenin kameraya uzaklığına bağlı olarak değişen büyütme oranları (magnifications), DoG spektrumunda farklı $\sigma^$ karakteristik ölçeklerinde tepe değerleri üretilmesine neden olur. Bu karakteristik ölçeklerin oranı nesneler arasındaki gerçek boyut oranını ($\frac{\sigma_1^}{\sigma_2^*}$) verir. SIFT, eşleştirmeden önce ilgi noktası pencerelerini bu karakteristik ölçeklerine göre yeniden boyutlandırarak (normalize ederek) ölçek farkını tamamen ortadan kaldırır.
2. Rotasyon Değişmezliği ve Birincil Yönelim (Principal Orientation)
Ölçek normalizasyonu yapılmış dairesel ilgi noktası bölgesini kapsayan kare bir piksel penceresi tanımlanır.
- Pencere içindeki her bir piksel için yatay ($I_x$) ve dikey ($I_y$) kısmi türevler üzerinden yerel gradyan büyüklüğü ($m$) ve yön açısı ($\theta$) hesaplanır:
$$m(x,y) = \sqrt{I_x^2 + I_y^2} \quad \text{ve} \quad \theta(x,y) = \tan^{-1}\left( \frac{I_y}{I_x} \right)$$
- Işık değişimlerine, gölgelere ve kamera kazancına karşı bağışıklık kazanmak için gradyan büyüklükleri tamamen ihmal edilir ve sadece gradyan yönleri ($\theta$) hesaba katılır.
- Açısal aralık ($0^\circ - 360^\circ$) 36 dilime bölünerek bir Gradyan Yönelim Histogramı oluşturulur.
- Bu histogramdaki en yüksek tepe noktası, o ilgi noktasının Birincil Yönelimi (Principal Orientation) olarak atanır.
- Eşleştirme aşamasında, ilgi noktası etrafındaki yama (patch), bu birincil yönelim açısı kadar ters yönde döndürülerek (reoriented) her zaman Kuzey (Yukarı) yönüne hizalanır. Böylece rotasyon etkisi tamamen sıfırlanmış olur.
5. SIFT Tanımlayıcısı (SIFT Descriptor)
Boyut ve rotasyon etkileri tamamen sıfırlandıktan sonra, normalize edilmiş ve kuzeye hizalanmış ilgi noktası yamasının iç görünümünü temsil edecek kompakt ve güçlü bir yerel imza (signature) üretilmelidir.
5.1 SIFT Descriptor’ın Matematiksel İnşası
- İlgi noktasının etrafındaki normalize edilmiş yama üzerinde piksellerden oluşan standart boyutta bir ızgara (grid) kurulur.
- Yine ışık ve kontrast değişimlerine bağışıklık sağlamak adına gradyan büyüklükleri ihmal edilerek, her pikselin sadece gradyan yönleri ($\theta$) hesaplanır.
- Bu yama alanı, örtüşmeyen 4 eşit çeyreğe (quadrant) bölünür.
- Her bir çeyrek için bağımsız olarak, 8 ana yönü ($0^\circ, 45^\circ, 90^\circ, \dots, 315^\circ$) kapsayan 8-binli yerel gradyan yönelim histogramı hesaplanır.
- Bu 4 ayrı histogram yan yana birleştirilerek (concatenated) tek bir uzun vektöre dönüştürülür.
- Lowe’un orijinal patentli uygulamasında $16 \times 16$ piksel alanı, $4 \times 4 = 16$ alt bölgeye bölünür ve her alt bölge için 8 yönlü histogram hesaplanır. Bu sayede $16 \times 8 = 128$ boyutlu meşhur SIFT Descriptor vektörü üretilmiş olur.
Izgara Yapısı (Grid) 4 Çeyrek Histogramı
┌──────────┬──────────┐
│ │ │ Lokal Hist 1 ──┐
│ Çeyrek 1 │ Çeyrek 2 │ Lokal Hist 2 ──┼──► Concatenate ──► [ SIFT Tanımlayıcı Vektörü ]
│ │ │ Lokal Hist 3 ──┼──► (Uzun Birleşik Histogram)
├──────────┼──────────┤ Lokal Hist 4 ──┘
│ │ │
│ Çeyrek 3 │ Çeyrek 4 │
│ │ │
└──────────┴──────────┘
5.2 İki SIFT Tanımlayıcısının Karşılaştırılmasında Kullanılan Metrikler ($H_1, H_2$)
-
L2 Mesafesi (L2 Distance - Öklid): İki histogram arasındaki farkların karelerinin toplamının kareköküdür. Mesafe sıfıra ne kadar yakınsa, yerel dokuların eşleşmesi o kadar kusursuzdur:
$$D(H_1, H_2) = \sqrt{\sum_{k} \left( H_1[k] - H_2[k] \right)^2}$$
-
Normalize Korelasyon (Normalized Correlation): Tanımlayıcıların ortalamaları ($\mu_1, \mu_2$) çıkarılarak kendi enerjilerine bölünmesiyle hesaplanır. Değerin 1.0 çıkması mükemmel bir doğrusal uyumu gösterir:
$$D(H_1, H_2) = \frac{\sum_{k} (H_1[k] - \mu_1)(H_2[k] - \mu_2)}{\sqrt{\sum_{k} (H_1[k] - \mu_1)^2 \sum_{k} (H_2[k] - \mu_2)^2}} \quad \text{burada} \quad \mu = \frac{1}{N} \sum_{k} H[k]$$
-
Kesişim Metriği (Intersection Metric): Histogramların her bir kutusu (bin) için minimum değerlerinin toplanmasıyla elde edilen örtüşme (overlap) miktarıdır:
$$D(H_1, H_2) = \sum_{k} \min\left( H_1[k], H_2[k] \right)$$
5.3 SIFT Eşleştirme Örnekleri ve Uygulamalar
5.4 SIFT Algoritmasının Sınırları ve 3D Nesne Sıkıntısı
SIFT, iki boyutlu düzlemsel (planar) nesnelerde, farklı rotasyonlar, büyük ölçek değişimleri ve ağır tıkanmalar (occlusions) altında yüzlerce kararlı eşleşme üretebilir. Ortak noktalar üzerinden görüntüleri geometrik olarak warp ederek kesintisiz panoramalar ve kolajlar dikmeyi sağlar.
Ancak üç boyutlu (3D) nesnelerin tanınmasında SIFT başarısız olmaya başlar.
Bunun nedeni, 3D bir nesneye farklı bakış açılarından (viewpoints) bakıldığında, yerel özniteliklerin 3B derinlik geometrisi yüzünden tamamen değişmesidir. Deneysel sonuçlar göstermiştir ki:
- Bakış açısı 30 derece değiştiğinde: Eşleşen SIFT noktalarında dramatik bir düşüş yaşanır.
- Bakış açısı farkı 90 dereceye ulaştığında: Neredeyse hiç eşleşen SIFT noktası elde edilemez.
Sonuç: SIFT, 3D nesnelerde sadece çok küçük bakış açısı değişimleri altında güvenilirdir.
6. Özetleyici Teknik Karşılaştırma Tablosu
| Konu Başlığı | Temel Matematiksel Denklem | Saptadığı / Tanımladığı Değer | Çözdüğü Kritik Görü Problemi | Karşılaştığı Temel Kısıt / Sınır |
|---|---|---|---|---|
| İlgi Noktası | Dairesel yama (Blobs) | Yerel konumsal koordinat ($x, y$), ölçek penceresi ($\sigma$) ve yönelim ($\theta$). | Kenarların çizgi boyunca kayma belirsizliğini ve köşelerin seyrekliğini giderir. | Görüntüde hiçbir dokunun olmadığı tamamen homojen (flat) alanlar. |
| Blob Tespiti | $\text{NLoG} = \sigma^2 \nabla^2 G$ | Karakteristik Ölçek ($\sigma^$) ve konum ($x^, y^*$). | Farklı boyutlardaki nesneleri ölçek uzayında yerel ekstremumla yakalar. | Yüksek boyutlu Gauss entegrallerinin piksel başına düşen işlem maliyeti. |
| SIFT Dedektörü | $\text{DoG} = S(k\sigma) - S(\sigma)$ | Ölçek ve rotasyondan arındırılmış ilgi noktaları. | Hızlı DoG yaklaşımıyla işlem yükünü sönümler ve birincil yön tayini yapar. | Keypoint adayları arasındaki gürültülü ve zayıf ekstremumlar. |
| SIFT Tanımlayıcısı | Vektör birleştirme (Concatenation) | 128 boyutlu benzersiz görsel imza vektörü. | Kısmi tıkanma, ışık değişimleri ve gürültü altında kararlı eşleştirme sağlar. | 3D nesnelerde 30° ve 90° bakış açısı değişimlerinde eşleşmenin tamamen çökmesi. |