基于卷積-小波神經網絡的SAR圖像海冰變化檢測方法(MATLAB R2018A)

海冰是冰凍圈的重要組成部分,海冰的變化信息對航行安全和自然資源開采等非常重要,許多船舶沒有加固防冰設備,因此,必須避開所有的冰區。尤其當冰壓很高時,即使破冰船也很難在冰層中前行。為了安全航行,獲取發生改變的冰層覆蓋信息具有重要價值。通過分析在同一地理區域內不同時間拍攝的兩張遙感圖像來識別海冰中明顯變化的區域,從而對海冰變化檢測進行研究。合成孔徑雷達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等。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/21033.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/21033.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/21033.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

leetCode.89. 格雷編碼

leetCode.89. 格雷編碼 題目思路 代碼 class Solution { public:vector<int> grayCode(int n) {vector<int> res(1,0); // n 0時&#xff0c;之后一位0while (n--) {// 想要實現對象超下來&#xff0c;就從末尾開始&#xff0c;讓vector里面 加 元素for (int i …

Stable Diffusion Webui--安裝與使用

最近進行的課程匯報&#xff0c;學習了2023年的CVPR文章《DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation》&#xff0c;因此嘗試使用了幾種方法對這篇文章的工作進行了一定的復現。本文主要介紹Stable Diffusion Web UI(webui)的安裝…

【因果推斷python】10_分組和虛擬變量回歸1

目錄 分組數據回歸 分組數據回歸 并非所有數據點都是一樣的。 如果我們再次查看我們的 ENEM 數據集&#xff0c;相比小規模學校的分數&#xff0c;我們更相信規模較大的學校的分數。 這并不是說大型學校更好或什么&#xff0c; 而只是因為它們的較大規模意味著更小的方差。 i…

bootstrap5-學習筆記1-容器+布局+按鈕+工具

參考&#xff1a; Bootstrap5 教程 | 菜鳥教程 https://www.runoob.com/bootstrap5/bootstrap5-tutorial.html Spacing Bootstrap v5 中文文檔 v5.3 | Bootstrap 中文網 https://v5.bootcss.com/docs/utilities/spacing/ 之前用bootstrap2和3比較多&#xff0c;最近用到了5&a…

SRE視角下的DevOps構建之道

引言&#xff1a; 隨著數字化時代的飛速發展&#xff0c;軟件成為了企業競爭力的核心。為了更高效地交付高質量的軟件&#xff0c;DevOps&#xff08;Development和Operations的組合&#xff09;作為一種文化、實踐和工具集的集合&#xff0c;逐漸成為了行業內的熱門話題。然而…

OpenFHE 使用樣例

參考文獻&#xff1a; 編譯 OpenFHEOpenFHE 源碼解析&#xff1a;PKE 部分[ABB22] Al Badawi A, Bates J, Bergamaschi F, et al. Openfhe: Open-source fully homomorphic encryption library[C]//Proceedings of the 10th Workshop on Encrypted Computing & Applied Ho…

渲染100為什么是高性價比網渲平臺?渲染100邀請碼1a12

市面上主流的網渲平臺有很多&#xff0c;如渲染100、瑞云、炫云、渲云等&#xff0c;這些平臺各有特色和優勢&#xff0c;也都聲稱自己性價比高&#xff0c;以渲染100為例&#xff0c;我們來介紹下它的優勢有哪些。 1、渲染100對新用戶很友好&#xff0c;注冊填邀請碼1a12有3…

【CTF MISC】XCTF GFSJ0008 low Writeup(LSB隱寫+QR Code識別)

low 暫無 解法 用 StegSolve 打開&#xff0c;Green plane 1 中疑似隱藏有二維碼。 使用大佬寫的代碼&#xff1a; from PIL import Imageimg Image.open("./low.bmp") img_tmp img.copy() pix img_tmp.load() width, height img_tmp.size for w in range(wid…

每日一題——Python實現PAT甲級1046 Shortest Distance(舉一反三+思想解讀+逐步優化)

一個認為一切根源都是“自己不夠強”的INTJ 個人主頁&#xff1a;用哲學編程-CSDN博客專欄&#xff1a;每日一題——舉一反三Python編程學習Python內置函數 Python-3.12.0文檔解讀 目錄 我的寫法 專業點評 優點 改進建議 時間復雜度分析 空間復雜度分析 總結 我要更…

Python模塊導入的寫法

關于Python模塊導入的寫法有 相對路徑導入 和 絕對路徑導入 兩種不同的導入路徑的寫法。 文章目錄 相對路徑導入絕對路徑導入總結 相對路徑導入 from .utils import upblock2d, crossattn_upblock2d使用了相對導入&#xff0c;以&#xff08;“.”&#xff09;開頭這種導入方…

HCIP-Datacom-ARST自選題庫__MAC【14道題】

一、單選題 1.缺省情況下&#xff0c;以下哪種安全MAC地址類型在設備重啟后表項會丟失? 黑洞MAC地址 Sticky MAC地址 安全動態MAC地址 安全靜態MAC地址 2.華為交換機MAC地址表中的動態sticky MAC地址的默認老化時間是多少秒? 300 不會老化 400 500 3.華為交換機MA…

【BeyondCompare官方免費版下載鏈接】

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、BeyondCompare官方免費版下載鏈接 前言 該軟件用于比較兩個文本或文件夾之間的不同之處&#xff0c;查看代碼修改時非常好用。 一、BeyondCompare官方免費…

Polar Web【簡單】login

Polar Web【簡單】login 本文旨在記錄此題的探索和解決過程。 Contents Polar Web【簡單】login探索&思路EXP (python)結果&總結 探索&思路 查看源碼&#xff0c;發現存在用戶信息泄露。嘗試用獲取信息登錄&#xff0c;顯示成功&#xff0c;但其后沒有可做的操作。…

有損線、上升邊退化與材料特性(七)

有損線的不良影響 當信號沿著實際有損線傳輸時&#xff0c;高頻分量的幅度減小&#xff0c;而低頻分量的幅度保持不變。由于這個種選擇性的衰減&#xff0c;信號的帶寬降低&#xff0c;信號的上升邊會增長。如果上升邊的退化與單位間隔比很小&#xff0c;同位模式將比較穩定與…

Django視圖與路由:打造你的網絡帝國

Hello&#xff0c;我是阿佑&#xff0c;上期給大家講了 Django ORM魔法&#xff1a;用Python代碼召喚數據庫之靈&#xff01; 今天將帶大家深入探討了視圖的工作原理、如何編寫高效的函數視圖和類視圖&#xff0c;以及如何巧妙地利用URL路由來提升應用的用戶體驗和可維護性。通…

最新h5st(4.7.2)參數分析與純算法還原(含算法源碼)

文章目錄 1. 寫在前面2. 加密分析3. 算法還原 【&#x1f3e0;作者主頁】&#xff1a;吳秋霖 【&#x1f4bc;作者介紹】&#xff1a;擅長爬蟲與JS加密逆向分析&#xff01;Python領域優質創作者、CSDN博客專家、阿里云博客專家、華為云享專家。一路走來長期堅守并致力于Python…

操作系統 實驗29 同步與互斥

1、并發線程同步與互斥 源程序&#xff1a; #include <stdio.h> #include <stdlib.h> #include <pthread.h> #include <unistd.h> #include <string.h> int num30,count10; pthread_mutex_t mylockPTHREAD_MUTEX_INITIALIZER; void *sub1(voi…

圖解 Python 編程(10) | 錯誤與異常處理

&#x1f31e;歡迎來到Python的世界 &#x1f308;博客主頁&#xff1a;卿云閣 &#x1f48c;歡迎關注&#x1f389;點贊&#x1f44d;收藏??留言&#x1f4dd; &#x1f31f;本文由卿云閣原創&#xff01; &#x1f4c6;首發時間&#xff1a;&#x1f339;2024年6月2日&…

LangChain學習之prompt格式化與解析器使用

1. 學習背景 在LangChain for LLM應用程序開發中課程中&#xff0c;學習了LangChain框架擴展應用程序開發中語言模型的用例和功能的基本技能&#xff0c;遂做整理為后面的應用做準備。視頻地址&#xff1a;基于LangChain的大語言模型應用開發構建和評估高 2. 先準備嘗試調用O…

數據結構(C):從初識堆到堆排序的實現

目錄 &#x1f31e;0.前言 &#x1f688; 1.堆的概念 &#x1f688; 2.堆的實現 &#x1f69d;2.1堆向下調整算法 &#x1f69d;2.2堆的創建&#xff08;堆向下調整算法&#xff09; ??2.2.1 向下調整建堆時間復雜度 &#x1f69d;2.3堆向上調整算法 &#x1f69d;2.…