Uzaktan Algılama Teknolojileri
Alp Ertürk
alp.erturk@kocaeli.edu.tr
Ders 12 – Hiperspektral Görüntülerde Hedef
ve Anomali Tespiti
Hedef Tespiti
• Veriden
Hedef Tespiti: Zorlukları
• Spektral değişkenlik: Spektral imzalar mevsim şartlarına, hava koşullarına, ilgili materyalin fiziksel veya kimyasal yapısındaki şartlara ve hiperspektral görüntünün alındığı alıcının yapısına göre değişim gösterebilmektedir
• Karışımlı pikseller: Hiperspektral görüntülerde uzamsal çözünürlük sıklıkla düşüktür. Uzamsal çözünürlüğünün yetersiz olduğu durumlarda ise bir piksel, kapladığı alanda kalan birden çok materyalin karışımı olarak yanıt vermektedir. Karışımlı pikseller ayrıca uzamsal çözünürlük yeterli olduğunda da içkin karışım şeklinde (örn. Mineraller vs.) gerçekleşebilmektedir
• Hedef piksellerin sayıca azlığı: Hedef içeren piksel sayısı, içermeyen piksel sayısına göre çok az olduğu için, yüksek başarımlı istatistiksel kestirimler elde etmek zorlayıcıdır.
Hedef Tespiti vs. Sınıflandırma
• Sınıflandırmada, görüntüdeki tüm piksellere birer sınıf etiketi atanır. Sınıf sayısı önceden bilinmektedir.
• Hedef tespitinde ie tüm pikseller iki sınıfa ayrılır: hedef ve hedef olmayan.
• Ancak hedef tespitinin iki sınıflı bir sınıflandırma problemi olarak görülmesi önünde iki engel vardır:
• 1) Hedef piksel sayısı çok azdır. Bu yüzden hedef sınıfın istatistiklerini kestirecek yeterlilikte eğitim örneğine sahip olunması mümkün değildir
• 2) Arka-plan (hedef olmayan) piksellerin sayıca baskınlığından dolayı, sınıflandırma hatası olasılığının en küçüklenmesi iyi bir kriter değildir.
Hedef Tespiti
• Hedef tespiti başarımı için şu tanımlar önemlidir:
• True positive: Hedef olan piksellerden hedef olarak bulunanların yüzdesi (Hit)
• False positive: Hedef olmayan piksellerden hedef olarak bulunanların yüzdesi (False Alarm)
• True negative: Hedef olmayan piksellerden hedef değil olarak bulunanların yüzdesi
• False negative: Hedef olan piksellerden hedef değil olarak bulunanların yüzdesi (Miss)
Hedef Tespiti
Hedef olarak tespit edildi
Hedef olarak tespit edilmedi
Hedef var True Positive False Negative Hedef yok False Positive True Negative
• True Positive ile False Negative’in toplamı %100 (veya 1)
• False Positive ile True Negative’in toplamı %100 (veya 1)
Hedef Tespiti
• Bir hedef tespiti yönteminin başarımını tek eşik değeri üzerinden değerlendirmek mantıklı değildir
• Eşik küçüldükçe true positive arttığı gibi (false negative azalır), false positive de artar (true negative azalır).
• Eşik büyüdükçe false positive azaldığı gibi (true negative artar), true positive de azalır (false negative artar)
• Yöntemin her eşik değeri veya parametre ayarı için farklı bir true positive ve false positive oranı elde edilir.
Hedef Tespiti
• Bir hedef tespiti sisteminin / yönteminin başarımını gösteren grafiksel eğriye alıcı çalışma karakteristikleri (Receiver Operating Characteristics – ROC) eğrisi adı verilir.
• ROC eğrisi, y-ekseninde True Positive, x-ekseninde ise False Positive olacak şekilde çizdirilir
• Her eşik değeri taranarak ilgili true positive – false positive ikilisi grafiğe eşlenerek eğri oluşturulur
Hedef Tespiti
Hedef Tespiti
• ROC eğrisi sol-üst köşeye ne kadar yakınsa, yöntem o kadar başarılıdır. Bu şekilde birden fazla yöntemin başarımı karşılaştırılır
• Ancak her durumda bu karşılaştırmayı yapmak kolay olmamaktadır
• Bu durumlarda aşağıdaki metrikler kullanılır
• Eğrinin altındaki alan (Area Under Curve – AUC)
• True Positive = 1 için False Positive
• False Positive = 0 için Tue Positive
Hedef Tespiti
• Spectral Matched Filter (SMF):
• Temel hiperspektral hedef tespiti yöntemlerinden birisidir
• Eşlenik süzgeç tabanlıdır ve süzgecin işaret-gürültü oranını en büyüklemesi amaçlanır
𝑆𝑀𝐹 𝒙 = 𝒘𝑇𝒙 = 𝒔𝑇𝑪−1𝒙 𝒔𝑇𝑪−1𝒔
• Bu denklemde, x test edilen piksel, s hedefin spektral imzası, C ise arkaplan kovaryans matrisidir. Bu kovaryans matrisi, imge genelinde veya test edilen piksel komşuluğunda hesaplanabilir.
Hedef Tespiti
• Spectral Matched Filter (SMF):
• Temel hiperspektral hedef tespiti yöntemlerinden birisidir
• Eşlenik süzgeç tabanlıdır ve süzgecin işaret-gürültü oranını en büyüklemesi amaçlanır
𝑆𝑀𝐹 𝒙 = 𝒘𝑇𝒙 = 𝒔𝑇𝑪−1𝒙 𝒔𝑇𝑪−1𝒔
• Bu denklemde, x test edilen piksel, s hedefin spektral imzası, C ise arkaplan kovaryans matrisidir. Bu kovaryans matrisi, imge genelinde veya test edilen piksel komşuluğunda hesaplanabilir.
Hedef Tespiti
clear all; close all; clc;
% Hyperspectral Anomaly Detection % using RX Detector
load('D:\Hyperspectral Data\AVIRIS - Salinas\Salinas_corrected.mat');
hyper_data = salinas_corrected;
%% Initialization
hyper_data = (hyper_data-min(min(min(hyper_data))))/(max(max(max(hyper_data)))- min(min(min(hyper_data))));
figure; imshow(hyper_data(:,:,30),[]);
[spat1,spat2,spec] = size(hyper_data);
hyper_vector = zeros(spec,spat1*spat2);
for b = 1:1:spec
hyper_vector(b,:) = reshape(hyper_data(:,:,b),1,spat1*spat2);
end
%% The target(s)
spectSigns(:,1) = squeeze(hyper_data(381,48,:));
Hedef Tespiti
%% Target detection by Simple Matched Filter (SMF) (Global) SMF_start = cputime;
mean_b = squeeze(mean(mean(hyper_data)))';
Cb = cov(double(hyper_vector'));
costMap_SMF = zeros(spat1,spat2,size(spectSigns,2));
pixel = 0;
for i = 1:1:spat1 for j = 1:1:spat2
pixel = pixel + 1; disp(pixel);
x = double( squeeze(hyper_data(i,j,:)) )';
for k = 1:1:size(spectSigns,2) s = spectSigns(:,k)';
costMap_SMF(i,j,k) = ( (s-mean_b)*(Cb\(x - mean_b)') ) / ((s-mean_b)*(Cb\(s - mean_b)') );
end end end
Hedef Tespiti
SMF_stop = cputime;
disp(['SMF is finished in ' num2str(SMF_stop-SMF_start) 'seconds.']);
%%
figure; imshow(costMap_SMF(:,:,1)>0.4,[]);
Hedef Tespiti
Anomali Tespiti
• Hedef tespiti için hedefin spektral imzası gerekmektedir
• Hedefe ait spektral imzaya sahip olunmadığında veya belirgin bir hedef aranmadığın durumlarda?
• Anomali tespiti
• Anomali: Arkaplandan (veya etrafından) çok farklı yapıda spektral davranışa sahip piksel
• Olası anomaliler: Askeri taşıt, mayın, nadir mineral, bitki stresi, ...
Anomali Tespiti: RX
• Reed-Xiaoli (RX) yöntemi, temel anomali tespiti yaklaşımıdır
• Global (görüntü genelinde) veya yerel olarak uygulanabilir
• Hedef tespitinde olduğu gibi, her piksel için bir değer elde edilir. Değerler eşiklenerek anomalidir / anomali değildir kararı verilir
𝑅𝑋 𝒓 = 𝒓 − 𝝁 𝑇𝜮−1 𝒓 − 𝝁
• Bu denklemde 𝒓 test edilen piksel vektörü, 𝝁 imge genelindeki veya piksel komşuluğundaki ortalama vektörü, 𝜮 ise imge genelinde ve piksel komşuluğunda elde edilen kovaryans matrisidir
Anomali Tespiti: RX
clear all; close all; clc;
% Hyperspectral Anomaly Detection % using RX Detector
load('D:\Hyperspectral Data\AVIRIS - Salinas\Salinas_corrected.mat');
hyper_data = salinas_corrected;
%% Initialization
hyper_data = (hyper_data-min(min(min(hyper_data)))) / (max(max(max(hyper_data))) - min(min(min(hyper_data))));
figure;imshow(hyper_data(:,:,120),[]);
[spat1,spat2,spec] = size(hyper_data);
hyper_vector = zeros(spec,spat1*spat2);
for b = 1:1:spec
hyper_vector(b,:) = reshape(hyper_data(:,:,b),1,spat1*spat2);
end
Anomali Tespiti: RX
%% Global RX Detector RX = zeros(spat1,spat2);
index = 0;
mean_global = squeeze(mean(mean(hyper_data)));
cov_global = cov(hyper_vector');
for index1 = 1:1:spat1 for index2 = 1:1:spat2
index = index+1;
disp(index);
r = squeeze(hyper_data(index1,index2,:));
RX(index1,index2) = (r-mean_global)'*((cov_global+0.000000001*eye(spec,spec))\(r-mean_global));
end end
RX = (RX-min(min(RX)))/(max(max(RX))-min(min(RX)));
figure; imshow(RX,[]);
anomalies = (RX>0.7);
figure; imshow(anomalies,[]);
Anomali Tespiti: RX
Sorular
?
?
?
?
?