海冰是冰凍圈的重要組成部分,海冰的變化信息對航行安全和自然資源開采等非常重要,許多船舶沒有加固防冰設備,因此,必須避開所有的冰區。尤其當冰壓很高時,即使破冰船也很難在冰層中前行。為了安全航行,獲取發生改變的冰層覆蓋信息具有重要價值。通過分析在同一地理區域內不同時間拍攝的兩張遙感圖像來識別海冰中明顯變化的區域,從而對海冰變化檢測進行研究。合成孔徑雷達SAR圖像已被證明是海冰監測的理想來源,因其有源微波傳感器,可以全天時主動獲取地表遙感信息,且不受陽光條件和云層覆蓋的影響。但也因其存在固有的乘性散斑噪聲,為SAR圖像的變化檢測帶來挑戰性。由于缺乏強大的自動圖像解讀技術,依靠人工對SAR圖像中的海冰變化信息進行檢測耗時且主觀。目前,現有的海冰變化檢測方法還面臨一些問題,如抗噪性能不強,差分圖像質量不高,分類效果不好,以及海冰變化檢測數據集稀少等。
通常圖像的變化檢測可分為監督和無監督方法。與監督方法相關的主要問題是缺乏地面參考數據,這通常涉及勞動密集型和耗時的人工標記過程。因此,無監督方法在該領域得到了廣泛的發展和應用。無監督方法主要組成部分包括:圖像預處理,差分圖像生成,以及變化區域分割。圖像預處理主要包括幾何校正和去噪,在生成差分圖像時,主要有差值法、比值法、對數比算子、均值比算子、基于鄰域的比值差異法等。通常使用對數比算子,因為它對散斑噪聲具有魯棒性。圖像分割階段,聚類方法非常流行,聚類就是將數據集中大量未標注的數據按照某種相似性進行劃分,并通過迭代運算調整優化聚類中心,將相似度大的數據劃為一類,而不同類別之間的數據保持較大的差異性,因為它們不需要差分圖像分布。
鑒于此,采用一種基于卷積-小波神經網絡的SAR圖像海冰變化檢測方法,網絡結構如下:
?
function CM = hclustering(pixel_vector, Xd)[ylen, xlen] = size(Xd);% feature vectors are divided into three categories by using FCMoptions = [2.0; 100; 1e-5; 0];fprintf('... ... 1st round clustering ... ...\n');
[center,U,obj_fcn] = fcm(pixel_vector,2, options);maxU = max(U);
index{1} = find(U(1,:) == maxU);
index{2} = find(U(2,:) == maxU);
if numel(index{1})<numel(index{2})ttr = numel(index{1})/(ylen*xlen)*1.25;ttl = numel(index{1})/(ylen*xlen)/1.10;
elsettr = numel(index{2})/(ylen*xlen)*1.25;ttl = numel(index{2})/(ylen*xlen)/1.10;
endc_num = 5;
fprintf('... ... 2nd round clustering ... ...\n');
[center,U,obj_fcn] = fcm(pixel_vector,c_num, options);Xdk = zeros(ylen*xlen, 1);
CMk0 = zeros(ylen*xlen, 1);Xdk = reshape(Xd, ylen*xlen, 1);maxU = max(U);for i = 1:c_numindex{i} = find(U(i,:) == maxU);
endfor i = 1:c_numidx_mean(i) = mean(Xdk(index{i}));
end[idx_mean, idx] = sort(idx_mean);for i = 1:c_numidx_num(i) = numel(index{idx(i)});
endCMk0(index{idx(c_num)}) = 0.0;
c = idx_num(c_num);
mid_lab = 0;for i = 1:c_num-1c = c+idx_num(c_num-i);if c / (ylen*xlen) < ttlCMk0(index{idx(c_num-i)}) = 0.0;elseif c / (ylen*xlen) >= ttl && c / (ylen*xlen) < ttrCMk0(index{idx(c_num-i)}) = 0.5;mid_lab = 1;elseif mid_lab == 0CMk0(index{idx(c_num-i)}) = 0.5;mid_lab = 1;elseCMk0(index{idx(c_num-i)}) = 1;endend
end
基于卷積-小波神經網絡的SAR圖像海冰變化檢測方法(MATLAB 2018)
原創2024-06-02 11:48·哥本哈根詮釋2023
海冰是冰凍圈的重要組成部分,海冰的變化信息對航行安全和自然資源開采等非常重要,許多船舶沒有加固防冰設備,因此,必須避開所有的冰區。尤其當冰壓很高時,即使破冰船也很難在冰層中前行。為了安全航行,獲取發生改變的冰層覆蓋信息具有重要價值。通過分析在同一地理區域內不同時間拍攝的兩張遙感圖像來識別海冰中明顯變化的區域,從而對海冰變化檢測進行研究。合成孔徑雷達SAR圖像已被證明是海冰監測的理想來源,因其有源微波傳感器,可以全天時主動獲取地表遙感信息,且不受陽光條件和云層覆蓋的影響。但也因其存在固有的乘性散斑噪聲,為SAR圖像的變化檢測帶來挑戰性。由于缺乏強大的自動圖像解讀技術,依靠人工對SAR圖像中的海冰變化信息進行檢測耗時且主觀。目前,現有的海冰變化檢測方法還面臨一些問題,如抗噪性能不強,差分圖像質量不高,分類效果不好,以及海冰變化檢測數據集稀少等。通常圖像的變化檢測可分為監督和無監督方法。與監督方法相關的主要問題是缺乏地面參考數據,這通常涉及勞動密集型和耗時的人工標記過程。因此,無監督方法在該領域得到了廣泛的發展和應用。無監督方法主要組成部分包括:圖像預處理,差分圖像生成,以及變化區域分割。圖像預處理主要包括幾何校正和去噪,在生成差分圖像時,主要有差值法、比值法、對數比算子、均值比算子、基于鄰域的比值差異法等。通常使用對數比算子,因為它對散斑噪聲具有魯棒性。圖像分割階段,聚類方法非常流行,聚類就是將數據集中大量未標注的數據按照某種相似性進行劃分,并通過迭代運算調整優化聚類中心,將相似度大的數據劃為一類,而不同類別之間的數據保持較大的差異性,因為它們不需要差分圖像分布。鑒于此,采用一種基于卷積-小波神經網絡的SAR圖像海冰變化檢測方法,網絡結構如下:function CM = hclustering(pixel_vector, Xd)[ylen, xlen] = size(Xd);% feature vectors are divided into three categories by using FCMoptions = [2.0; 100; 1e-5; 0];fprintf('... ... 1st round clustering ... ...\n');
[center,U,obj_fcn] = fcm(pixel_vector,2, options);maxU = max(U);
index{1} = find(U(1,:) == maxU);
index{2} = find(U(2,:) == maxU);
if numel(index{1})<numel(index{2})ttr = numel(index{1})/(ylen*xlen)*1.25;ttl = numel(index{1})/(ylen*xlen)/1.10;
elsettr = numel(index{2})/(ylen*xlen)*1.25;ttl = numel(index{2})/(ylen*xlen)/1.10;
endc_num = 5;
fprintf('... ... 2nd round clustering ... ...\n');
[center,U,obj_fcn] = fcm(pixel_vector,c_num, options);Xdk = zeros(ylen*xlen, 1);
CMk0 = zeros(ylen*xlen, 1);Xdk = reshape(Xd, ylen*xlen, 1);maxU = max(U);for i = 1:c_numindex{i} = find(U(i,:) == maxU);
endfor i = 1:c_numidx_mean(i) = mean(Xdk(index{i}));
end[idx_mean, idx] = sort(idx_mean);for i = 1:c_numidx_num(i) = numel(index{idx(i)});
endCMk0(index{idx(c_num)}) = 0.0;
c = idx_num(c_num);
mid_lab = 0;for i = 1:c_num-1c = c+idx_num(c_num-i);if c / (ylen*xlen) < ttlCMk0(index{idx(c_num-i)}) = 0.0;elseif c / (ylen*xlen) >= ttl && c / (ylen*xlen) < ttrCMk0(index{idx(c_num-i)}) = 0.5;mid_lab = 1;elseif mid_lab == 0CMk0(index{idx(c_num-i)}) = 0.5;mid_lab = 1;elseCMk0(index{idx(c_num-i)}) = 1;endend
endCM = reshape(CMk0, ylen, xlen);
完整代碼可通過知乎學術咨詢獲得:https://www.zhihu.com/consult/people/792359672131756032?isMe=1
結果如下:
工學博士,擔任《Mechanical System and Signal Processing》《中國電機工程學報》《控制與決策》等期刊審稿專家,擅長領域:現代信號處理,機器學習,深度學習,數字孿生,時間序列分析,設備缺陷檢測、設備異常檢測、設備智能故障診斷與健康管理PHM等。