Uzaktan Algılama Teknolojileri Ders 12 Hiperspektral Görüntülerde Hedef ve Anomali Tespiti Alp Ertürk alp.erturk@kocaeli.edu.tr
Veriden
: 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.
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 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 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)
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.
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
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
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 SMF x = w T x = st C 1 x s T C 1 s 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.
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 SMF x = w T x = st C 1 x s T C 1 s 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.
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 end hyper_vector(b,:) = reshape(hyper_data(:,:,b),1,spat1*spat2); %% The target(s) spectsigns(:,1) = squeeze(hyper_data(381,48,:));
%% 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
SMF_stop = cputime; disp(['smf is finished in ' num2str(smf_stop-smf_start) 'seconds.']); %% figure; imshow(costmap_smf(:,:,1)>0.4,[]);
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 RX r = r μ T Σ 1 r μ Bu denklemde r 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 end hyper_vector(b,:) = reshape(hyper_data(:,:,b),1,spat1*spat2);
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?????