Image Registration
Görüntü eşleme, özellik eşleşmelerini veya piksel benzerliğini ve bir dönüşüm modelini kullanarak aynı sahnenin görüntülerini tek bir koordinat sisteminde hizalar.
Görüntü eşleme, aynı sahnenin iki veya daha fazla görüntüsünü hizalayarak her fiziksel noktanın tüm görüntülerde aynı piksel koordinatlarına gelmesini sağlayan bir bilgisayarlı görü işlemidir. Görüntüler farklı zamanlarda, bakış açılarında veya sensörlerle çekilmiş olabilir: Ocak ve Haziran aylarındaki uydu geçişleri, aynı hastanın MRI ve CT taramaları ya da titreyen bir kamerayla çekilmiş ardışık kareler. Görüntüler eşlendikten sonra piksel piksel karşılaştırılabilir, tek bir görünümde birleştirilebilir veya mozaik hâlinde birleştirilebilir.
Eşleme işleminde bir görüntü sabit veya referans görüntü olarak belirlenir; diğer görüntü olan hareketli görüntü ise onun koordinat sistemine dönüştürülür. Bu işlem üç seçim gerektirir: Görüntülerin ne ölçüde hizalandığını nasıl ölçeceğimiz, hangi tür geometrik dönüşüme izin vereceğimiz ve en iyi dönüşümü nasıl arayacağımız. Dönüşüm tahmin edildikten sonra hareketli görüntü yeniden örneklenir; enterpolasyon, yeni konumlardaki piksel değerlerini hesaplar.
Öznitelik Tabanlı ve Yoğunluk Tabanlı Yöntemler#
Özellik tabanlı eşleme, her iki görüntüde köşe ve benek gibi ayırt edici noktaları tespit eder, her birini ORB veya SIFT gibi bir tanımlayıcıyla betimler ve görüntüler arasındaki tanımlayıcıları eşleştirir. Eşleşen ilgi noktaları, birbirine karşılık gelen konum çiftleri oluşturur; RANSAC gibi sağlam bir kestirici de eşleşmeyenleri eleyerek dönüşümü hesaplar. Özellik yöntemleri hızlıdır ve büyük yer değiştirmeleri yönetebilir; bu nedenle panorama birleştirme ve drone haritalamada genellikle tercih edilir. Öğrenilmiş görüntü eşleme yöntemleri, elle tasarlanmış tanımlayıcıların zorlandığı sahnelerde bu yaklaşımın kapsamını genişletir. Bu örnek, bir test fotoğrafını bilinen bir döndürme, ölçekleme ve kaydırmayla bozup dönüşümü OpenCV ile geri bulur:
import cv2
import numpy as np
from skimage import data
# Fixed image, and a moving copy rotated 10 degrees, scaled 1.1x, and shifted (25, -15) pixels
fixed = data.camera()
warp = cv2.getRotationMatrix2D((256, 256), 10, 1.1)
warp[:, 2] += (25, -15)
moving = cv2.warpAffine(fixed, warp, (512, 512))
# Detect and match ORB features in both images
orb = cv2.ORB_create(1000)
kp_moving, des_moving = orb.detectAndCompute(moving, None)
kp_fixed, des_fixed = orb.detectAndCompute(fixed, None)
matches = cv2.BFMatcher(cv2.NORM_HAMMING, crossCheck=True).match(des_moving, des_fixed)
src = np.float32([kp_moving[m.queryIdx].pt for m in matches])
dst = np.float32([kp_fixed[m.trainIdx].pt for m in matches])
# Fit a similarity transform (rotation, scale, translation) with RANSAC, rejecting wrong matches
M, inliers = cv2.estimateAffinePartial2D(src, dst, method=cv2.RANSAC)
angle, scale = np.degrees(np.arctan2(M[1, 0], M[0, 0])), np.hypot(M[0, 0], M[1, 0])
print(f"Kept {inliers.sum()} of {len(matches)} matches: rotation {angle:.2f} degrees, scale {scale:.3f}")
# Resample the moving image into the fixed image's coordinates
registered = cv2.warpAffine(moving, M, (512, 512))
cv2.imwrite("registered.png", registered)Kod Kept 497 of 567 matches: rotation 10.01 degrees, scale 0.910 çıktısını verir. Tahmin edilen dönüşüm, uygulanan eğriltmenin tersidir: 10 derece geri döndürme ve 1/1.1 ölçek. registered.png, örtüştükleri her yerde özgün fotoğrafla hizalanır.
Yoğunluk tabanlı eşleme, açık özellikleri atlar ve piksellerin değerlerini doğrudan karşılaştırarak benzerlik ölçütünü en yükseğe çıkaracak dönüşümü ayarlar. Bu yaklaşım, 1981 tarihli "Stereo Görmeye Uygulanan Bir Yinelemeli Görüntü Eşleme Tekniği" başlıklı makaleleriyle artık optik akış için de kullanılan yöntemi tanıtan Bruce Lucas ve Takeo Kanade'ye dayanır. Korelasyon aynı sensörden alınmış görüntüler için uygundur; 1990'ların ortalarında tıbbi eşleme için tanıtılan karşılıklı bilgi ise MRI ile CT gibi farklı kipleri ele alır; bu görüntülerde aynı doku farklı parlaklıklarda görünür. Genellikle kaba ölçekten ince ölçeğe görüntü piramidi üzerinde gradyan inişi kullanan bir iyileştirici en iyi parametreleri arar. SimpleITK eşleme çerçevesi gibi araç takımları da ölçütü, iyileştiriciyi, dönüşümü ve enterpolatörü ayrı bileşenler olarak sunar.
Guha Balakrishnan ve çalışma arkadaşlarının 2019'da yayımladığı VoxelMorph gibi derin öğrenme yöntemleri, tek bir ileri geçişte deformasyon alanı tahmin etmek üzere bir evrişimli sinir ağını eğitir. Böylece dakikalar veya daha uzun süren çift başına optimizasyonun yerini GPU'da bir saniyeden kısa süren bir tahmin alır.
Dönüşüm Modeli Seçme#
Dönüşüm, görüntüler arasındaki gerçek farklılığa uygun olmalıdır:
- Öteleme ve rijit dönüşüm: Rijit dönüşüm durumunda döndürmenin de eklendiği kaymalar; uzaklıklar korunur. Aynı rijit nesnenin taramalarında yaygındır.
- Benzerlik ve afin: Benzerlik dönüşümü tekdüze ölçekleme ekler; afin dönüşüm ise görüntünün tamamına uygulanan tek bir dönüşümle tekdüze olmayan ölçekleme ve kaydırma ekler. Biraz farklı ölçeklerde çekilmiş uydu görüntüleri için uygundur.
- Projektif (homografi): Belge tarama ve panoramalarda olduğu gibi düzlemsel sahneler veya dönen kameralar için perspektif değişikliklerini modeller.
- Deforme edilebilir: Taramalar arasında şekli değişen yumuşak dokularda gerektiği gibi her bölgenin bağımsız hareket etmesine izin verir.
Daha esnek modeller, analizin tespit etmesi gereken gerçek değişiklikler dâhil neredeyse her şeye uyum sağlayabilir. Bu nedenle kayıt işlemi genellikle en basit makul modelle başlar ve esnekliği yalnızca hizalama hatasının devam ettiği yerlerde artırır. Derinlik içeren ve kameranın hareket ettiği sahnelerde, hiçbir tekil 2B dönüşümün gideremeyeceği paralaks görülür; bu tür sahnelerin hizalanması bunun yerine epipolar geometriye ve 3B yeniden yapılandırmaya dayanır.
Görüntü Kaydının Kullanıldığı Alanlar#
Uzaktan algılama ve uydu görüntüsü analizinde eşleme, değişiklik tespitinin ilk adımıdır: Yeni yapılaşmayı veya temizlenmiş orman alanlarını işaretlemeden önce aynı bölgenin aylar arayla çekilmiş görüntüleri hizalanmalıdır; aksi hâlde küçük bir kayma her yol kenarında değişiklik varmış gibi görünür. Tıbbi görüntü analizinde, farklı ziyaretlerde çekilmiş taramaları hizalamak klinisyenlerin tümör büyümesini ölçmesini sağlar; PET ile CT'yi hizalamak metabolik etkinliği anatomiyle birleştirir; etiketli bir atlası yeni bir taramayla eşlemek ise beyin yapılarının görüntü bölütlemesi için klasik bir yöntem olan anatomik etiketleri aktarır.
Video uygulamalarında kamera hareketini tahmin etmek için ardışık kareler eşlenir. Sabitleme bu hareketi giderir; izleyiciler ise hareketli kameradan gelen görüntülerin kamera hareketini nesne hareketiyle karıştırmaması için eşlemeden yararlanır. Ultralytics YOLO nesne takibindeki varsayılan TrackTrack izleyicisi her kareyi bir öncekiyle eşler: Yarım çözünürlükte seyrek optik akışla köşe özelliklerini izler ve RANSAC kullanarak benzerlik dönüşümü hesaplar. Bu sayede drone veya araç kamerasından gelen görüntülerde izler doğru nesnelere bağlı kalır.










