Bilgisayarla Görüye Giriş Ders 7 SIFT ve Öznitelik Eşleme Alp Ertürk alp.erturk@kocaeli.edu.tr
Panorama Oluşturma Görüntü mozaikleme, panorama oluşturma gibi tüm uygulamalar için öncelikle ilgili görüntülerin eşlenmesi / çakıştırılması gerekmektedir
Panorama Oluşturma İki görüntüden öznitelikleri çıkar (kenar, köşe, yuvarlak,...)
Panorama Oluşturma İki görüntüden öznitelikleri çıkar Eşleşen çiftleri bul
Panorama Oluşturma İki görüntüden öznitelikleri çıkar Eşleşen çiftleri bul Bu çiftleri kullanarak görüntüleri hizala / çakıştır
Panorama Oluşturma Zorluk 1: İki görüntüde de aynı noktayı bağımsız olarak tespit etmek Eşleyemeyiz! Tekrarlanır yapıda bir tespit gerekli
Panorama Oluşturma Zorluk 2: Her nokta için diğer görüntüdeki ilgili noktayı doğru şekilde tespit etmek? Güvenilir ve ayrıştırıcı bir tespit gerekli
Panorama Oluşturma Zorluk 3: Eşleşen noktalar kullanılarak görüntüler arası dönüşüm bulmak (hatalı eşleşmelere rağmen)
İyi Özniteliklerin Özellikleri Tekrarlanabilirlik Geometrik ve fotometrik dönüşümlere rağmen aynı özniteliğin tespit edilebilmesi Ayırt Edicilik (İng: Saliency) Özniteliklerin birbirinden ayırt edilebilir bir tanımlaması olması Verimlilik Öznitelik sayısının piksel sayısından çok daha az olması Yerellik Bir özniteliğin görüntünün göreceli olarak küçük bir alanını kaplaması ve oklüzyon vb. etkilere gürbüz olması
Önceki Derste Kenar Tespiti Doğrusal süzgeçler DoG LoG Canny Köşe Tespiti Harris Yuvarlak Tespiti LoG Ölçek uzayı LoG
Ölçek Değişmezlikli Öznitelik Dönüşümü Görüntü ışıklılık değişimi, ölçeklenmesi ve dönme değişmezliği Affin bozulmaya karşı gürbüz 3B bakış açısındaki değişimlere karşı gürbüz Öznitelikler yerel olduğundan dolayı oklüzyon ve karmaşaya karşı gürbüz Tekrarlanabilirlik, ayırt edicilik, verimlilik ve yerellik açısından başarılı
Algoritma: 1) Ölçek uzayında uç nokta tespiti 2) Anahtar nokta konumlandırma (key point localization) 3) Yönelim atama 4) Anahtar nokta tanımlayıcı
Ölçek uzayında uç nokta tespiti: Nesnenin farklı görüş açılarından tanımlanabilecek konumlarını ve ölçeklerini tanımlamayı amaçlar Bu amaçla, görüntü, değişken ölçekte Gauss ile konvolüsyona sokulur L(x, y, σ) = G(x, y, σ) * I(x, y) Farklı ölçeklerde Gauss pencereleri ile süzgeçlenmiş görüntülerin farkı alınarak anahtar noktalar çıkarılır D(x, y, σ) = L(x, y, kσ) - L(x, y, σ) D deki her nokta, aynı ölçekteki 8 komşusu ve farklı ölçeklerdeki 9 ar komşusu ile karşılaştırılır. En büyük veya en küçük nokta ise seçilir
Anahtar nokta konumlandırma: İlk bulunan noktalar arasından, düşük zıtlığa (kontrast) sahip olanlar veya bir kenarda uygun şekilde konumlandırılmamış olanlar elenir Düşük zıtlığa sahip olanları elemek için Laplacian değerinin (z) eşiklenmesi kullanılır z = Kötü konumlanmış olanların elenmesi için, kenarların doğrultusunda ve dikine eğimin farkına bakılır. Eğer bu fark, anahtar noktanın konumu ve ölçeğindeki 2 2 Hessian matrisin en büyük özvektörünün en küçük özvektörüne oranından küçükse, anahtar nokta elenir
İlk anahtar noktalar Laplacian eşiği sonrası anahtar noktalar Özvektör oranları eşiği sonrası anahtar noktalar
Yönelim atama: Önceki adımda hesaplanan süzgeçlenmiş L görüntüsü kullanılarak gradyan genliği m hesaplanır m(x, y) = L x + 1, y L x 1, y 2 + L x, y + 1 L x, y 1 2 Yönelim θ hesaplanır θ(x, y) = tan 1 L x, y + 1 L x, y 1 L x + 1, y L x 1, y Gradyan yönelimlerinin histogramı çıkarılır Histogramdaki en yüksek tepe noktası ve bu tepenin %80 boyutundan büyük diğer yerel tepeler kullanılarak o yönelimde bir anahtar nokta belirlenir
0 2 Yönelim histogramı Gradyan yönleri
Anahtar nokta tanımlayıcı: Gradyan bilgisi anahtar nokta yöneliminde olacak şekilde döndürülür ve anahtar noktasının ölçeğinin 1.5 katı değişintide bir Gauss ile ağırlıklandırılır Bu veri kullanılarak, anahtar nokta merkezli bir pencerede bir histogram kümesi yaratılır Anahtar tanımlayıcılar genel olarak 4 4 lük 16 histogramdır (Her pusula yönü için 8 yönelim ve 8 ara yön) Bu sayede her anahtar nokta için 128 elemanlı bir öznitelik elde edilir
Görüntü gradyanları Anahtar nokta tanımlayıcılar
Öznitelik Eşleme Bir görüntüdeki bir öznitelik (örn. SIFT anahtar tanımlayıcı) için, diğer görüntüdeki en iyi eşlenecek özniteliği nasıl buluruz? 1) İki tanımlayıcıyı karşılaştıracak bir uzaklık mesafesi tanımla 2) İkinci görüntüdeki tüm öznitelikleri, birinci görüntüdeki öznitelik ile karşılaştır ve en küçük uzaklığı veren özniteliği bul Uzaklık mesafesi tanımı?
Öznitelik Uzaklığı Karesel farkların toplamı (SSD)? - Kötü eşleşmelere de düşük mesafeler (yüksek puanlar) verebilir f 1 f 2
Öznitelik Uzaklığı Karesel farkların toplamı (SSD) SSD(f 1, f 2 ) / SSD(f 1, f 2 ) =? f 1 f ' 2 f 2
Öznitelik Eşleme Eşleştirme 50 75 200 SSD < T ise eşleşmeyi kabul et Eşik seçimi önemli Öznitelik uzaklığı
Öznitelik Eşleme Öznitelik eşleştirme için birçok farklı metrik kullanılabilir Öklid mesafesi Mahalanobis mesafesi Spektral açısal uzaklık Korelasyon katsayısı...
Öznitelik Eşleme Başarım ölçümü? True positive : Tespit edilen eşleşmelerden doğru olanların oranı False positive: Tespit edilen eşleşmelerden yanlış olanların oranı ROC eğrisi ( Receiver Operator Characteristic ) 1 0.7 true positive rate 0 0.1 false positive rate 1
Öznitelik Eşleme ROC Eğrileri: Farklı eşik değerleri için doğru ve yanlış eşleşme sayıları Eğrinin altında kalan alan ne kadar büyükse, o kadar başarılı bir yöntemdir Hedef tespiti gibi uygulamalarda da sıklıkla kullanılmaktadır