【自监督论文阅读笔记】Contrastive Self-Supervised Learning With Smoothed Representation for Remote Sensing
????????在遙感中,隨著時間的推移不斷積累大量未標記的圖像,很難對所有數據進行標注。因此,一種可以使用未標記數據提高識別率的自監督學習技術將對遙感有用。這封信介紹了 基于 SimCLR 框架的 遙感平滑表示的 對比自監督學習。在遙感的自監督學習中,通常使用 眾所周知的特征,即 短距離內的圖像 可能在語義上相似。本文的算法基于此知識,它同時 利用 多個相鄰圖像作為錨圖像的正對,這與現有方法(例如 Tile2Vec)不同。此外,最先進的自監督學習方法之一的 MoCo 和 SimCLR 僅使用單輸入圖像的兩個增強視圖,但本文提出的方法 使用多輸入圖像 并 對它們的表示進行平均(例如,平滑表示)。因此,在農田數據層 (CDL)、RESISC-45、UCMerced 和 EuroSAT 數據集中,所提出的方法優于最先進的自監督學習方法,例如 Tile2Vec、MoCo 和 SimCLR。所提出的方法與 CDL 分類任務中的預訓練 ImageNet 模型相當。
I. INTRODUCTION:
????????在遙感領域,基于深度學習的計算機視覺技術,如 語義分割[1]-[3]、目標檢測[4]-[6]、圖像分類[7]、[8]、[9]、[ 10],應用廣泛。特別是,圖像分類 是 遙感圖像分析的基本要素,它將遙感圖像分類為有意義的類別。在最近的相關研究中,已經嘗試使用沒有標簽的大規模數據來提高基于深度學習的視覺識別的準確性。自監督學習是使用未標記數據學習有意義表征的代表性研究領域。現代自監督學習技術,如 MoCo [11] 和 SimCLR [12],已經發展得很好。
????????代表性的 遙感自監督學習方法是 Tile2Vec [13] 和 上下文編碼器 [14]。上下文編碼器用于語義分割任務,Tile2Vec 方法針對分類任務。 Tile2Vec 技術利用 三元組損失 來最小化 錨點 和 相鄰patches的表示 之間的距離,并最大化 錨點 和 遠處patches 的表示之間的距離。
????????本文提出了一種 使用平滑表示的 自監督學習方法,如圖 1 所示。不同于現有的最先進方法,如 SimCLR [12]、MoCo [11] 和 Tile2Vec [13] ,本文?使用多個正樣本 和 負樣本來學習表示。被選為正樣本的 K 個相鄰圖像被平均 以創建平滑表示,這對于減少噪聲表示?很有用。本文的方法僅使用從 xView 數據集中收集的 325 600 個衛星圖像塊進行訓練。所提出的方法表現出的性能可與在農田數據層 (CDL) 分類中使用來自 ImageNet 的 120 萬張圖像進行訓練所獲得的性能相媲美。
Contributions:
????????1)本文將 SimCLR 技術(一種用于通用圖像識別任務的最先進算法)應用于具有平滑表示的遙感應用。
????????2) 據本文所知,本文是第一個 證明 自監督學習算法 可以 在遙感應用中 提供與 ImageNet 預訓練模型相當的性能的方法。
????????3) 本文使用 RESISC45、UCMerced 和 EuroSAT 數據集建立了實驗協議,以評估遙感應用中的自監督學習算法。
II. MOTIVATION AND PROBLEM STATEMENT
????????Tile2Vec 方法使用?三元組損失,這會導致兩個問題。
第一個問題是 Tile2Vec 方法明確需要 錨點和遠距離圖像 的一對負樣本。換句話說,每個錨對應于單個遠距離圖像。最近提出的基于對比學習的自監督學習技術?不需要 明確的負樣本對 [12 SimCLR]。相反,未配對的錨圖像 和 相鄰圖像 用作負樣本。本文采用這種方法來提高性能。
第二個問題是?可能會 錯誤地選擇相鄰圖像。 Tile2Vec 方法僅選擇一個正例來計算三元組損失。當相鄰圖像選擇不正確時,可能會出現性能下降。為了解決這個問題,本文使用多個相鄰圖像。但是,目前(2021)沒有使用多個輸入的自監督學習技術。本文專注于解決本研究中的兩個問題。
III. CONTRASTIVE SELF-SUPERVISED LEARNING FOR REMOTE SENSING
????????本文認為,第二部分提到的兩個問題可以用兩種方法來解決。
第一個是使用只需要正樣本對的對比學習。
第二種是使用平滑的表示來允許對比學習中的多個輸入。
本節中解釋這兩種方法。本文技術的總體架構如圖 2 所示。本文的算法使用從高分辨率衛星圖像中提取的多個相鄰圖像。隨機選擇錨圖像和相鄰圖像,并將這些圖像用作編碼器的輸入。最后,本文使用帶有編碼器和投影頭提取輸入的特征,并通過 最小化基于特征的對比損失?來訓練網絡。
A. Contrastive Learning With Neighbor Images
????????受 SimCLR 算法 [12] 的啟發,本文使用 隱空間中的對比損失 來最大化數據點的不同增強視圖之間的相似性。 SimCLR 算法使用從同一圖像裁剪的圖像。這些裁剪圖像應該在空間上重疊,因為裁剪圖像的內容包含相同的對象。但是,本文使用 不重疊或輕微重疊的 錨點和相鄰圖像。本文算法的數學解釋如下。為了方便起見,假設本文選擇了一個相鄰的patch。將?錨點?和 相鄰圖像 的小批量分別表示為 ?和 。 N 是 mini-batch 的圖像數量。
????????衛星圖像通常是大約 100 萬像素或更大的大尺寸圖像。兩個裁剪圖像用于計算來自卷積神經網絡 f 的輸入的小批量 x 的表示 hx = f (x)。因此,我們可以分別用 f(a) 和 f(n) 得到 ha 和 hn。與原始的 SimCLR 類似,本文使用投影頭 ,其中 b(·) 是一個批量歸一化函數 [15] 和 σ ( ·) 是一個整流線性單元(ReLU)函數。 W1 和 W2 分別表示 g(·) 的第一層和第二層全連接層的權重參數。 x 的隱變量是 zx = g(hx)。與原始的 SimCLR 算法不同,本文采用了批量歸一化。
????????對于損失函數,本文使用 歸一化溫度標度交叉熵 (NT-Xent) 損失 來學習 具有相鄰補丁的表示。原始損失函數與原始 SimCLR 算法中使用的損失函數相同 [12]
其中 和? 是錨圖像和相鄰圖像的兩個批量batches中的第 j 個隱變量,za 和 zn 分別是錨圖像和相鄰圖像的隱變量的小批量mini-batches。每個mini-batches中的圖像數量用 N 表示。每個項 l(·) 的損失值定義如下:
其中?,τ 是溫度參數。在本文的實驗中將 τ 的值設置為 0.5。 ?用于正樣本。本文最大化?正樣本(即錨點和相鄰樣本)的表示之間的相似性。用于負樣本。同一個mini-batch中存在的其他 與當前索引的anchor圖像 不對應的圖像 被認為是?負樣本。我們最大化該項以使其不同。
B. Smoothed Representation 平滑的表示
????????最大化錨點和一個相鄰圖像的表示之間的相似性可能會產生負面影響。原因是可以選擇 具有與錨圖像不同的結構或對象的圖像 作為相鄰圖像。我們相信,如果我們選擇多個相鄰補丁,我們可以減輕負面影響。因此,我們選擇了多個相鄰補丁并提出了一種基于多個相鄰補丁創建平滑的表示的方法,該方法可以減輕由錯誤選擇正樣本引起的負面影響(見圖 3)。
????????在圖中,anchor 和 Group 0 中的三個相鄰圖像看起來很相似,這是一個幸運的案例。在Group 1 中,其中一個相鄰圖像與錨圖像不同。錨圖像沒有建筑物,但一些建筑物顯示在三個相鄰圖像之一中。因此,本文聚合了基于多個相鄰圖像的多個表示,以緩解問題
其中 hnk 是用相鄰圖像 nk 提取的表示, k ∈ {1, . . . K },K 是相鄰圖像的數量。本文將此值設置為 3。本文的算法在算法 1 中給出。算法中的 tm 表示錨點和相鄰圖像的數據增強函數,其中 m ∈ {1, . . . K + 1}。
IV . EXPERIMENTS
A. 數據集
????????本文將兩個數據集(即 xView [16] 和 ImageNet [17])用于前置任務,如表 I 所示。首先,ImageNet 數據集用于評估帶標簽的監督遷移學習設置。該數據集包含大約 120 萬張訓練圖像。對于遙感數據,本文使用了 xView 數據集,該數據集最初是為評估衛星圖像中的目標檢測算法而設計的。為了評估自監督學習算法,本文處理了 xView 數據集,該數據集由 846 張圖像組成,從 WorldView-3 衛星以 0.3 m 的分辨率拍攝。對于本文的實驗,從 814 張圖像中隨機選擇錨圖像。其余圖像的像素值較小;因此,本文沒有使用這些圖像。本文從 814 張圖像中裁剪出 100 張錨圖像,總共獲得 81400 張圖像。本文還?裁剪了距離錨塊 100 像素以內的三個相鄰塊。最后,獲得了 325600 個patches?。patches?大小為 50 × 50。遠處的圖像從圓圈外裁剪,僅用于評估 Tile2Vec 算法。
? ? ? ? 本文為目標任務使用了四個數據集(即 CDL、RESISC-45、UCMerced 和 EuroSAT)。這些數據集的目的是分類。表 I 顯示了類別數。 CDL 和 EuroSAT 數據集分別具有 50×50 和 64×64 的低分辨率圖像。相比之下,RESISC-45 和 UCMerced 數據集擁有 256×256 的高分辨率圖像。CDL 和 UCMerced 數據集的圖像數量明顯少于其他數據集;因此,本文希望他們能夠?通過自監督學習 證明遷移學習的顯著有效性。
B. 實施
????????本文采用 TorchVision 庫中的 ResNet-50 架構 [21] 進行所有實驗。表 II 列出了每種方法的超參數。 lr、Opt.、Mo.、Mini 和 Reg。分別代表學習率、優化器、動量、小批量大小和權重衰減正則化。對于 MoCo v1 和 v2,初始學習率通過每 30 個 epoch 乘以 0.1 來衰減。對于其他算法,本文沒有使用學習率衰減。此外,在Tile2V ec的原始源代碼中,初始學習率為0.001,沒有學習率衰減。相反,使用了 Adam 優化器。對于基于 SimCLR 的方法中的投影頭,本文使用了兩個帶有 ReLU 和 1000 個節點的全連接層。
????????對于 CDL 分類測試,本文使用了與 scikit-learn 庫 [23] 中提供的默認值相同的超參數。 EuroSAT、RESISC45 和 UCMerced 的超參數設置如下。我們使用了 60 個 epoch 和 64 個 mini-batch size。初始學習率為 0.1,學習率每 20 個 epoch 乘以 0.1 衰減。權重衰減參數為 0.0005。對于優化器,我們使用動量為 0.9 的隨機梯度下降 (SGD)。
????????與其他方法 [即 MoCo v1、MoCo v2 和 SimCLR (SJ)] 不同,本文提出的方法?沒有使用數據增強的尺度抖動。本文實驗中使用的所有算法包括用于數據增強的隨機灰度、顏色抖動和隨機水平翻轉。除 ImageNet 實驗外,前置任務的圖像大小為 50 × 50,因為前置數據集中的裁剪塊大小為 50 × 50。本文使用 224 × 224 圖像進行 ImageNet 實驗。對于目標任務,本文使用了 64 × 64 的圖像尺寸,這是目標數據集中最小的尺寸,以在我們有限的資源下節省時間。
C. CDL 分類測試
?????????首先,本文使用前置任務數據集(例如 xView 和 ImageNet)訓練了一個模型。我們使用編碼器從 CDL 數據集中提取特征。這些特征用作三個機器學習分類器的輸入,即隨機森林 (RF)、多層感知器 (MLP) 和邏輯回歸 (LR)。我們測量了目標任務測試集的分類率。我們隨機選取CDL數據集圖片總數(1000張)的70%(700張)作為訓練數據,其余的作為測試數據。該評估過程重復 100 次,并使用測試數據對分類率進行平均。
?
????????實驗結果列于表三。 “Supervised” 意味著在目標任務數據集上使用 ImageNet 預訓練模型進行學習。本文的算法在最先進的算法中顯示出最好的結果。表中的 SimCLR (SJ) 表示具有 尺度抖動 數據增強的 SimCLR。本文算法的結果與使用 ImageNet 的預訓練模型的結果相當。使用RF分類器,分類率為66.45%,是三種分類器中最好的。結果優于使用 ImageNet 數據集獲得的結果(例如,使用 LR 的結果為 66.17%)。此外,本文的算法不需要任何人工注釋成本。本文觀察到 ImageNet 預訓練模型與基于自監督學習的預訓練模型 [例如,MoCo v1、MoCo v2 和 SimCLR (SJ)] 之間的差距并不大;因此,本文得出結論,域內遷移學習可能對 CDL 數據集有幫助。
D.微調測試
????????對于微調測試,本文針對目標任務使用了三個數據集,即 RESISC-45、UCMerced 和 EuroSAT 數據集。本文使用所有這些數據集中圖像總數的 90% 進行訓練,其余用作測試數據。與CDL分類測試類似,我們也包含了 與ImageNet預訓練模型的對比,從頭開始訓練提取的結果也包含在內。使用每種方法預訓練的權重參數用作目標任務的初始權重,最后一個線性分類層除外。
?
????????結果列于表IV。 “Scratch”意味著 僅使用目標任務數據集 從頭開始學習。本文的方法平均顯示出最好的結果。特別是,本文的算法對 RESISC-45 和 UCMerced 數據集有效。其他自監督學習算法中準確率最高的為 91.79%,而我們的方法達到了 92.42%。此外,ImageNet 預訓練模型顯示出 94.1% 的準確率。 ImageNet 預訓練模型的準確度與我們的方法之間存在大約 1.7% 的差距。
????????在 RESISC-45 數據集上,從頭開始學習的結果(表 IV 中的“Scratch”)顯示出比 MoCo v1、Tile2Vec、SimCLR 和 SimCLR (SJ) 更好的分類率。這是因為 RESISC-45 數據集的訓練數據很大。同樣,在 EuroSAT 數據集上,從頭開始學習也取得了不錯的效果。因此,我們推測當目標訓練數據的數量較少時,自監督學習算法是有效的。
E. 線性分類測試
????????在線性分類測試中,本文使用編碼器作為特征提取器。添加了線性分類層。我們只更新了線性層,編碼器的權重參數被凍結。該測試程序測量了每種算法學習到的表示的質量。選擇訓練數據和測試數據的方法與微調測試相同。線性分類任務的結果如表 V 所示。本文實現了 47.34% 的平均分類率。本文的算法在 EuroSA T 數據集上的表現大大優于其他方法。然而,在 UCMerced 數據集上,本文的算法比 MoCo v1 和 SimCLR (SJ) 方法差。
????????ImageNet 預訓練模型顯示出比自監督學習方法更好的結果(平均 68.86%)。然而,使用自監督學習算法獲得的結果明顯優于從頭開始學習的結果 (16.59%)。這證明了未標記數據的有效性。此外,結果表明,scale jittering 尺度抖動有效地提高了原始 SimCLR 的性能;然而,在本文的方法中使用相鄰圖像(不包括幾何數據增強技術)與其他方法相當或更有效。
F . Discussion
?????????在本節中,介紹了本文方法的優點和局限性。
優點:
????????首先,多項實驗表明,尺度抖動可有效提高原始 SimCLR 的性能;然而,在本文的方法中使用 不包括幾何數據增強技術的相鄰圖像 具有可比性或更有效。此外,根據本文的實驗結果,可以得出結論,當在目標任務中提供少量訓練數據時,自監督學習提供與 ImageNet 預訓練模型相似或更好的準確性。衛星圖像和 ImageNet 之間的域差距可能需要在目標域中有足夠數量的訓練數據。
局限性:
????????盡管有這些優點,但也有一些局限性。在微調測試中,所提出的算法在 RESISC-45 和 EuroSAT 數據集上沒有表現出比“Scratch”顯著的性能改進。具體來說,在 EuroSAT 數據集上,所提出方法的準確性低于“Scratch”。 RESISC-45 和 EuroSAT 數據集包含的數據比 UCMerced 數據集多得多。因此,當下游任務中的訓練數據量足夠時,所提出的方法無效。這是尚待解決的問題。
V. CONCLUSION
????????本文提出了一種對比自監督學習方法,具有遙感平滑的表示。本文的技術使用基于 SimCLR 框架的對比損失來最大化從錨圖像和相鄰圖像中提取的特征之間的相似性。此外,它降低了從錨圖像中提取的特征與小批量中其他圖像的相似性。與其他算法相比,本文技術的改進是因為使用多個相鄰圖像來增加訓練數據的多樣性。為了整合從相鄰圖像中提取的特征,本文使用了平滑表示技術,可以減輕錯誤選擇相鄰圖像的負面影響。與其他最先進的自監督學習方法相比,所提出的技術在 CDL 數據集的分類、微調和線性分類測試中表現出最佳性能。此外,在 CDL 分類測試中,本文們的方法在使用 RF 分類器時優于 ImageNet 預訓練模型。
總結
以上是生活随笔為你收集整理的【自监督论文阅读笔记】Contrastive Self-Supervised Learning With Smoothed Representation for Remote Sensing的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 车机ui设计,星越L车机
- 下一篇: 《转》mac 蓝牙不可用解决