Change Detection
Değişim tespiti, uydulardan fabrikalara kadar farklı zamanlarda çekilmiş aynı sahneye ait görüntüleri karşılaştırarak nelerin ortaya çıktığını, kaybolduğunu veya yer değiştirdiğini haritalandırır.
Değişim tespiti, aynı sahnenin farklı zamanlarda çekilen görüntüleri arasındaki anlamlı farkları bulma görevidir. İki veya daha fazla gözlemi karşılaştırır ve değişimin olduğu yerleri ikili değişim haritası, ormandan tarım arazisine geçiş gibi "önce-sonra" sınıfları ya da ortaya çıkan, kaybolan veya yer değiştiren nesnelerin listesi olarak verir. İki zamanlı değişim tespiti iki tarihi karşılaştırırken, çok zamanlı yöntemler kalıcı değişimi mevsimsel döngülerden ve tek seferlik gürültülerden ayırmak için bir zaman serisinin tamamını inceler. Bu görev uzaktan algılama ve uydu görüntüsü analizinin temelini oluşturur; aynı fikirler sabit güvenlik kameralarında arka plan çıkarmayı ve endüstriyel denetimde referans karşılaştırmalarını da sağlar.
Değişim Algılama Nasıl Çalışır?#
İki görüntü ancak karşılık gelen pikseller aynı zemini gösterdiğinde düzgün biçimde karşılaştırılabilir. Görüntü eşleme görüntüleri hizalar; çünkü tek piksellik bir kayma her kenarda sahte değişim oluşturur. Radyometrik normalleştirme ise güneş açısı, pozlama, pus ve sensör tepkisinden kaynaklanan farkları giderir. Karşılaştırma adımı daha sonra her piksel veya bölge için bir fark ölçüsü üretir; bir eşik değişimi gürültüden ayırır ve son işleme, tek başına kalan pikselleri kaldırıp geri kalanları bölgeler hâlinde birleştirir.
En basit karşılaştırma yöntemi görüntü farkıdır. Bu örnek, yukarıdan çekilmiş bir otoparkın 2,7 saniye arayla kaydedilen iki karesini karşılaştırır ve eşiği Otsu yöntemiyle seçer:
import cv2
import numpy as np
# Two frames of a parking lot filmed from above, 81 frames (2.7 seconds) apart
cap = cv2.VideoCapture("https://github.com/ultralytics/assets/releases/download/v0.0.0/solution_ci_parking_demo.mp4")
_, before = cap.read()
cap.set(cv2.CAP_PROP_POS_FRAMES, 81)
_, after = cap.read()
# Convert to grayscale and blur to suppress noise, then difference pixel by pixel
before = cv2.GaussianBlur(cv2.cvtColor(before, cv2.COLOR_BGR2GRAY), (5, 5), 0)
after = cv2.GaussianBlur(cv2.cvtColor(after, cv2.COLOR_BGR2GRAY), (5, 5), 0)
diff = cv2.absdiff(before, after)
# Otsu's method picks the change threshold, and an opening removes isolated noisy pixels
_, change_map = cv2.threshold(diff, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU)
change_map = cv2.morphologyEx(change_map, cv2.MORPH_OPEN, np.ones((5, 5), np.uint8))
print(f"{100 * (change_map > 0).mean():.1f}% of pixels changed")
cv2.imwrite("change_map.png", change_map)5.2% of pixels changed çıktısını verir. Kaydedilen haritada park yerine giren mavi araba, otoparktan geçen beyaz minibüsün her iki konumu ve karenin sol kenarından çıkan bir araba işaretlenir; park etmiş arabalar, çizgiler ve asfalt ise siyah kalır.
Piksel, Nesne ve Öğrenmeye Dayalı Yaklaşımlar#
Piksel farkı, iki görüntü aynı sensörden benzer ışık koşullarında geldiğinde işe yarar. Gürültüsü çarpımsal olan radar görüntülerinde oranlar farkların yerini alır; değişim vektörü analizi ise her çok bantlı pikseli, değişiminin hem büyüklüğü hem yönü olan bir vektör olarak ele alır. Sınıflandırma sonrası karşılaştırmada her tarih bağımsız olarak sınıflandırılır ve etiketler karşılaştırılır; bu yöntem "önce-sonra" sınıfları üretir ve farklı sensörleri tolere eder, ancak her iki sınıflandırmanın hatalarını bir araya getirir.
Derin öğrenme yöntemleri, her iki görüntüyü paylaşılan ağırlıklara sahip ikiz bir evrişimli sinir ağı üzerinden geçirir ve özellik haritalarının farkını çözerek bir değişim haritası üretir. Daudt ve çalışma arkadaşlarının 2018'de öne çıkardığı tam evrişimli ikiz ağlar bu tasarımı yaygınlaştırdı; sonraki modeller ise dikkat mekanizmaları ve transformer'lar ekledi. Yaygın kullanılan kıyaslama veri kümelerinden biri olan LEVIR-CD, Hao Chen ve Zhenwei Shi tarafından 2020'de yayımlandı; 0,5 metre/piksel çözünürlükte 1.024×1.024 piksellik 637 Google Earth görüntü çifti ve açıklama eklenmiş 31.333 bina değişikliği içerir.
Nesne düzeyinde değişim tespiti pikseller yerine nesne tespitlerini karşılaştırır; böylece gölgeler ve mevsimsel renk değişimleri göz ardı edilir. DOTA hava görüntüleri üzerinde önceden eğitilmiş bir Ultralytics YOLO26 yönlendirilmiş sınırlayıcı kutu modeli, uçaklar, gemiler, depolama tankları ve araçlar için döndürülmüş kutular döndürür. Böylece iki tarihteki nesne tespiti sonuçlarını eşleştirmek, neyin geldiğini ve neyin gittiğini ortaya çıkarır.
Değişim Tespiti ve İlgili Görevler#
- Anomali tespiti, çoğunlukla tek bir görüntüde, öğrenilmiş normallik tanımından sapan gözlemleri işaretler. Değişim tespiti bir referans gözlemi gerektirir; yeni bir bina gibi değişiklikler ise genellikle beklenen durumlardır.
- Nesne izleme ve optik akış, art arda gelen video kareleri arasındaki hareketi izler. Değişim tespiti ise çoğunlukla aylar ya da yıllar arayla çekilmiş, sahnenin iki zaman noktasındaki durumunu karşılaştırır.
- Veri kayması, devreye alınmış bir modelin aldığı girdilerin istatistiksel dağılımının zaman içindeki değişimini tanımlar ve modelin doğruluğunu düşürür.
Gerçek Dünya Uygulamaları#
- Ormansızlaşma ve arazi örtüsü izleme: Maryland Üniversitesi tarafından 2013'ten bu yana yayımlanan, Landsat görüntülerinden 30 metrelik çözünürlükte oluşturulmuş yıllık ağaç örtüsü kaybı haritaları Global Forest Watch'ın temelini oluşturur.
- Afet hasarı değerlendirmesi: Olay öncesi ve sonrası uydu veya drone görüntülerini karşılaştırmak, su altında kalan arazileri, yanmış alanları ve yıkılmış binaları haritalandırır. xBD veri kümesi, olay öncesi ve sonrası görüntü çiftlerine dayanarak bina hasarını dört düzeyli bir ölçekte sınıflandırır.
- Endüstriyel denetim: Sabit bir kamera, eksik vidaları, yanlış yerleştirilmiş bileşenleri veya yabancı nesneleri yakalamak için her montajı doğru parçanın referans görüntüsüyle karşılaştırır.
- Güvenlik ve gözetim: Değişim tespitinin video biçimi olan arka plan çıkarma, her pikseldeki statik sahneyi modeller ve bu sahneden sapmaları hareketli ön plan olarak değerlendirir; sabit kameralardaki hareket uyarıları bu yöntemi tetikler.










