YOLO'yu lisansla
Ultralytics Sözlüğüne dön

Scale-Invariant Feature Transform (SIFT)

Ölçekten Bağımsız Özellik Dönüşümü (SIFT), anahtar noktaları bulan ve ölçekleme ile döndürme karşısında kararlı 128 değerli tanımlayıcılar oluşturan klasik bir algoritmadır.

Ölçekten Bağımsız Özellik Dönüşümü (SIFT), görüntüdeki ayırt edici yerel anahtar noktaları bulan ve her birini, görüntü ölçeklendiğinde veya döndürüldüğünde büyük ölçüde aynı kalan 128 sayılık bir vektörle tanımlayan klasik bir bilgisayarlı görü algoritmasıdır. Bu tanımlayıcıları eşleştirmek, yazılımın farklı mesafe ve açılardan çekilmiş aynı sahneye ait iki fotoğrafı ilişkilendirmesini sağlar; örtüşen fotoğraflar bu şekilde bir panoramada birleştirilir. SIFT, öğrenilmiş bir özellik haritası kullanan bir evrişimli sinir ağından farklı olarak, elle tasarlanmış bir özellik çıkarımı yöntemidir.

Kökeni ve Temel Fikri#

British Columbia Üniversitesi'nden David Lowe, SIFT'i 1999 tarihli ICCV makalesi Yerel Ölçekten Bağımsız Özelliklerle Nesne Tanıma ile tanıttı ve yöntemi 2004'te International Journal of Computer Vision'da yayımlanan "Ölçekten Bağımsız Anahtar Noktalardan Ayırt Edici Görüntü Özellikleri" makalesinde ayrıntılı olarak ele aldı. SIFT özellikleri ölçek ve döndürmeye karşı değişmezdir; ayrıca kayda değer düzeydeki afin bozulmalara, 3D bakış açısı değişimlerine, gürültüye ve aydınlatma değişikliklerine rağmen sağlam biçimde eşleşir. Yöntemin patenti vardı ve patentin süresi 2020'de doldu. OpenCV, SIFT'i 4.4.0 sürümünde contrib deposundan ana kütüphaneye taşıdı.

Bir nesnenin fotoğrafta sabit bir boyutu yoktur; bu nedenle bir algılayıcı her boyuttaki yapıyı aramalıdır. SIFT, artan güçlerde Gauss bulanıklığı uygulayıp oktav adı verilen gruplar hâlinde alt örnekleme yaparak bir ölçek uzayı oluşturur.

SIFT Nasıl Çalışır#

Algoritma dört aşamada çalışır:

  1. Ölçek uzayı ekstremumlarının tespiti: Komşu bulanıklık düzeyleri arasındaki farklar (Gauss farkı), bir leke algılayıcısını yaklaşık olarak verir. Bir piksel, uzay ve ölçek boyunca 26 komşusu arasında maksimum ya da minimum değerliyse aday olur.
  2. Anahtar nokta konumlandırma: Adaylar alt piksel hassasiyetinde iyileştirilir. Kararsız oldukları için düşük kontrastlı noktalar ve kenarlar üzerinde bulunan noktalar elenir.
  3. Yön atama: Her anahtar noktanın çevresindeki yerel gradyan yönlerinin histogramı baskın bir yön belirler ve sonraki tüm ölçümler bu yöne göre yapılır. Böylece döndürmeye karşı değişmezlik sağlanır.
  4. Tanımlayıcı oluşturma: Komşuluk 4 x 4'lük bir ızgaraya bölünür ve her hücrede 8 bölmeli bir gradyan histogramı bulunur. Böylece aydınlatmaya duyarlılığı azaltmak için normalize edilen 4 x 4 x 8 = 128 değer elde edilir.

Eşleştirme, tanımlayıcıları Öklid uzaklığıyla karşılaştırır. Lowe'un oran testi, bir eşleşmeyi yalnızca en yakın komşu ikinci en yakın komşudan belirgin biçimde daha yakınsa tutar. k en yakın komşu araması, her iki uzaklığı da sağlamak için k = 2 değerini kullanır.

import cv2
from ultralytics.utils import ASSETS

# Load a sample image in grayscale and a half-size copy
img = cv2.imread(str(ASSETS / "bus.jpg"), cv2.IMREAD_GRAYSCALE)
small = cv2.resize(img, None, fx=0.5, fy=0.5)

# Detect keypoints and compute 128-dimensional descriptors
sift = cv2.SIFT_create()
kp1, des1 = sift.detectAndCompute(img, None)
kp2, des2 = sift.detectAndCompute(small, None)

# Match half-size descriptors to full-size ones, then apply Lowe's ratio test
pairs = cv2.BFMatcher().knnMatch(des2, des1, k=2)
good = [m for m, n in pairs if m.distance < 0.8 * n.distance]
print(f"{len(good)} of {len(kp2)} half-size keypoints matched at full size")

Yazdırılan sayı, yarı boyutta bulunan kaç anahtar noktanın tam boyutlu görüntüde yeniden tanındığını gösterir; bu, ölçek değişmezliğinin iş başındaki hâlidir.

Uygulamalar#

SIFT, geometrik görü görevlerinde varsayılan yerel özellik hâline geldi:

  • Panorama birleştirme: Brown ve Lowe'un otomatik panorama birleştirme yöntemi (IJCV 2007), örtüşen fotoğraflardaki SIFT özelliklerini eşleştirir ve fotoğrafları hizalamak için bir homografi kestirir; bu hizalama adımına görüntü eşleme denir.
  • 3D yeniden yapılandırma: Photo Tourism (Snavely, Seitz ve Szeliski, 2006), turist fotoğraflarındaki SIFT özelliklerini eşleştirir ve kamera pozlarını ve seyrek 3D yapıyı çıkarmak için epipolar geometriden yararlanır.
  • Robot konumlandırma: Se, Lowe ve Little (2001), mobil robotların konumlandırılması ve haritalanması için SIFT yer işaretlerini kullandı; bu yaklaşım modern görsel SLAM yöntemlerinin öncüllerindendir.
  • Örnek tanıma: Lowe'un 2004 tarihli makalesinde, dağınık ve kısmen örtülü bir sahnede oyuncak tren ve kurbağa, yalnızca 3 eşleşen özellik kullanılarak tanınır.

Ultralytics YOLO nesne takibinde BoT-SORT, kareler arasındaki kamera hareketini telafi eder; izleyici yapılandırmasında gmc_method: sift ayarlandığında, bu kestirim için varsayılan seyrek optik akış yerine SIFT eşleşmeleri kullanılır.

SIFT, farklı görünümler arasında aynı fiziksel noktaları eşleştirir; bu nedenle eşleşme ve geometri görevlerine uygundur. Nesne algılama ise nesnelerin kategorisini ve konumunu tahmin eder. Şablon eşleştirme, sabit bir yamayı kaydırır ve ölçek ya da döndürme değiştiğinde başarısız olur.

SIFT, Rublee ve çalışma arkadaşlarının 2011'de SIFT ve SURF'e alternatif olarak tanıttığı ikili tanımlayıcı ORB'den daha yavaştır. Ayrıca dokusuz yüzeylerde ve çok büyük bakış açısı değişimlerinde zorlanır; kategori düzeyinde tanıma için yerini büyük ölçüde öğrenilmiş modellere bırakmıştır.

Lowe'un 2004 testlerinde, rastgele ölçek ve döndürme değişiklikleri, 30 derecelik derinlik döndürmesi ve %2 gürültü içeren görüntülerde, 40.000 anahtar noktayla eşleştirme yapıldığında uzaklık oranı 0.8'in üzerinde olan eşleşmelerin elenmesi yanlış eşleşmelerin %90'ını ortadan kaldırırken doğru eşleşmelerin %5'inden azını elledi.

Çözümleri keşfet

Sporda bilgisayarlı görü

Sporda bilgisayarlı görü

Ultralytics YOLO'nun oyuncu ve top takibi, performans analitiği, antrenörlük içgörüleri ve sporcu rehabilitasyonuyla spor alanında görsel yapay zekâyı nasıl güçlendirdiğini keşfet.
Daha fazla bilgi edin
Hava görüntüleri için bilgisayarlı görü

Hava görüntüleri için bilgisayarlı görü

İHA ve hava görüntülerini Ultralytics YOLO ile tarım, su ürünleri yetiştiriciliği, koruma çalışmaları ve jeo-uzamsal analiz için gerçek zamanlı içgörülere dönüştür.
Daha fazla bilgi edin
Havacılıkta bilgisayarlı görü

Havacılıkta bilgisayarlı görü

Uçak denetimi, pistteki yabancı madde tespiti, havaalanı yer operasyonları ve kompozit malzeme kusurlarının tespiti için Ultralytics YOLO ile havacılık ve uzay sektöründe bilgisayarlı görü uygula.
Daha fazla bilgi edin
Güvenlikte bilgisayarlı görü

Güvenlikte bilgisayarlı görü

Ultralytics YOLO modelleriyle her sahayı koru. Görsel yapay zekâ; çevre izleme, tehdit tespiti, plaka tanıma ve iş yeri güvenliğini destekler.
Daha fazla bilgi edin
Robotikte bilgisayarlı görü

Robotikte bilgisayarlı görü

Ultralytics YOLO modelleriyle daha akıllı makinelere güç ver. Robotikte görsel yapay zekâ; otonom navigasyonu, algılamayı, nesne takibini ve gerçek zamanlı kontrolü destekler.
Daha fazla bilgi edin
Lojistikte bilgisayarlı görü

Lojistikte bilgisayarlı görü

Ultralytics YOLO modelleriyle lojistiği kolaylaştır. Görüntü yapay zekâsı; paket denetimini, ayrıştırmayı, araç takibini ve gerçek zamanlı depo güvenliği izlemeyi mümkün kılar.
Daha fazla bilgi edin
Perakendede bilgisayarlı görü

Perakendede bilgisayarlı görü

Ultralytics YOLO modelleriyle perakendeyi yeniden tasarla. Görüntü yapay zekâsı; envanter takibini, raf izlemeyi, kuyruk yönetimini ve daha kapsamlı müşteri analizlerini mümkün kılar.
Daha fazla bilgi edin
Sağlık hizmetlerinde bilgisayarlı görü

Sağlık hizmetlerinde bilgisayarlı görü

Ultralytics YOLO modelleriyle sağlık çözümleri geliştir. Sağlık hizmetlerinde görüntü yapay zekâsı; daha hızlı tıbbi görüntüleme, daha akıllı tanı ve hasta takibini mümkün kılar.
Daha fazla bilgi edin
Üretimde bilgisayarlı görü

Üretimde bilgisayarlı görü

Ultralytics YOLO modelleriyle üretimi optimize et. Görsel yapay zekâ; kalite kontrolünü, kusur tespitini, kişisel koruyucu donanım uyumunu ve montaj hattı otomasyonunu destekler.
Daha fazla bilgi edin
Otomotivde bilgisayarlı görü

Otomotivde bilgisayarlı görü

Ultralytics YOLO modelleriyle otomotivde bilgisayarlı görüden yararlan. Görsel yapay zekâ; daha akıllı yollar için yol güvenliğini, sürüş desteğini ve araç otomasyonunu ileri taşır.
Daha fazla bilgi edin
Tarımda bilgisayarlı görü

Tarımda bilgisayarlı görü

Ultralytics YOLO modelleriyle akıllı tarıma görüntü yapay zekâsı kazandır. Daha yüksek ve akıllı verim için mahsul izleme, hayvan takibi ve hassas tarımı destekle.
Daha fazla bilgi edin

Geleceğin yapay zekasını birlikte inşa edelim!

Makine öğreniminin geleceğine yolculuğuna başla