為遙感與衛星影像微調 CLIP
研究人員利用衛星影像和說明文字對 OpenAI 的 CLIP 模型進行了微調,證明了在遙感領域中,為了實現高性能檢索,進行特定領域的微調是必要的。所得模型在將航拍照片與其對應的文本描述進行匹配方面,表現顯著優於基準 CLIP 模型。
技術方法與模型架構
該專案使用了 openai/clip-vit-base-patch32 模型的微調版本。其架構採用雙編碼器系統——一個文本編碼器和一個圖像編碼器——利用對比學習將兩種模態映射到一個共同的嵌入空間中。在此空間中,匹配的圖像-說明文字對會被推得更近,而不相似的對則會被推得更遠。
訓練基礎設施
訓練是使用以下技術棧進行的:
- 框架:Flax 和 JAX(一個具有自動微分功能的線性代數庫)。
- 硬體:Google Cloud TPUs。
- 優化:表現最佳的模型使用了 Adam 優化器,學習率為 5e-6,批次大小為 1024(分佈在 8 個 TPU 核心上,每個核心 128)。
數據集與數據增強
為了使模型適應衛星影像的獨特視覺特徵,團隊使用了三個主要數據集:
- RSICD:主要數據集,包含來自 Google Earth、Baidu Map、MapABC 和 Tianditu 的約 10,000 張 RGB 影像(224x224),每張影像最多有五條說明文字。
- UCM:基於 UC Merced Land Use 數據集,包含 2,100 張影像,涵蓋 21 個類別,每張影像有五條說明文字。
- Sydney:包含 613 張悉尼(Australia)的影像,涵蓋七個類別,每張影像有五條說明文字。
正則化策略
為了防止在這些相對較小的數據集上發生過擬合,團隊實施了兩種增強方式:
- 圖像增強:利用 PyTorch Torchvision 進行隨機裁剪、隨機縮放、色彩抖動以及隨機水平和垂直翻轉。
- 文本增強:採用使用 Marian MT 系列模型的反向翻譯。說明文字會先從英文翻譯成法文、西班牙文、義大利文和葡萄牙文,然後再翻譯回英文,以增加對於說明文字少於五條唯一描述的影像的說明文字多樣性。
損失函數圖表顯示,圖像增強顯著減少了過擬合,而圖像與文本增強的結合則提供了最大的過擬合減少量。
評估結果
評估是在 RSICD 測試集的子集中,涵蓋 30 個影像類別進行的。模型透過對每張影像對形式為 "An aerial photograph of {category}" 的 30 條說明文字進行排名,並測量 top-k 準確度來進行測試。
| Model-name | k=1 | k=3 | k=5 | k=10 |
|---|---|---|---|---|
| baseline | 0.572 | 0.745 | 0.837 | 0.939 |
| Best Model (Adam, lr 5e-6) | 0.883 | 0.968 | 0.982 | 0.998 |
微調後的模型在性能上較基準模型有了顯著提升,特別是在 k=1 時,準確度從 0.572 增加到 0.883。
實際應用與能力
微調後的 CLIP 模型實現了多種遙感能力:
- 文本轉圖像搜索:使用文本查詢(例如 "beach"、"airport" 或特定的建築特徵)在大型衛星影像集合中進行搜索。
- 圖像轉圖像搜索:在語料庫中尋找視覺上相似的衛星影像。
- 特徵定位:透過將影像劃分為 patches 並進行編碼,模型可以將文本向量與特定的影像 patches 匹配,以確定特徵在特定區域出現的概率。
倫理考量
作者指出,雖然這項技術可以用於社會公益——例如監測氣候變化或國防——但它也引發了倫理考量,即它可能被威權國家用於軍事和警察監視。
未來研究方向
團隊識別了幾個進一步開發的領域:
- 圖像描述 (Image Captioning):開發一個結合 CLIP 編碼器與 GPT-3 解碼器的序列到序列模型。
- 數據集擴展:在更多的圖像-說明文字對上進行微調,以進一步提高性能。
- 泛化能力:研究微調如何影響在非 RSICD 數據上的性能,以及模型對其訓練集之外的類別進行分類的能力。
Sources
相關
- Dispatch
- 專案
- 專案
- 專案
- Dispatch