實踐:基於深度學習的衛星圖像超解析度處理技術(一)

摘要: Yann Lecun曾將無監督學習比作蛋糕,將監督學習比作蛋糕上的糖霜,聲稱我們僅懂得如何做糖霜卻不知道怎樣才能做出蛋糕。在本篇文章中,我們提供了一份訓練無監督學習演算法的「蛋糕」配方,用來增強衛星圖像。

Yann Lecun曾將無監督學習比作蛋糕,將監督學習比作蛋糕上的糖霜,聲稱我們僅懂得如何做糖霜卻不知道怎樣才能做出蛋糕。在本篇文章中,我們提供了一份訓練無監督學習演算法的「蛋糕」配方,用來增強衛星圖像。

本研究起源於新興商業航天行業中日益增多的低成本衛星圖像。在這個新興的行業中,感測質量、回訪速率以及成本間存在著一種權衡。我們研究了高級圖像處理的特性,以減少這種權衡,並在相同成本情況下改善低質量感測器返回的圖像。

圖1:使用飛機、商業衛星與空間站進行遠程遙感。本圖意在表示不同遠程遙感活動間潛在的交叉,並不代表實際的交叉程度。航空遙感可用於增強精密商業衛星圖像。而精密商業衛星圖像又可用於增強低解析度的衛星圖像。

我們在深度神經網路(DNN)中嵌入高解析度圖像的圖像細節,並在增強地理相似圖像時抽取這些細節。作為本研究的一部分,我們引入了適合圖像增強任務的擾動層,為深度神經網路開發了一種新型架構。

超解析度技術

圖像增強的方式有很多,如降噪和色彩調整。對於衛星圖像而言,地面採樣距離(GSD)是一種常見的衡量圖像質量的方法,其表示圖像中單個像素表示的實際物理距離。本文提到的圖像增強是指降低(優化)衛星圖像中的地面採用距離,即超解析度技術。超解析度技術通過合成圖像中的子像素信息,提高圖像解析度。常見的合成方法包括:

  • 圖像中相鄰像素間插值
  • 影像中相鄰幀間插值
  • 頻域濾波,降低雜訊

在本研究中,我們對上述方法進行了擴展,在處理地理相關圖像時應用深度學習技術。

圖2:超解析度技術。為了將超解析度技術從不適定優化問題轉換為適定逆問題,我們必須從高解析度圖像出發,降低圖像質量,然後優化超解析度技術,從降質圖像中復原出原始圖像。我們使用峰值信噪比評估原始圖像與復原圖像間的差異。

為量化增強方法的效果,我們比較了圖像增強前後的峰值信噪比(PSNR)。此外,針對後續的分析,我們還展示了圖像中峰值信噪比的地域分布以及相關性。

PSNR是衡量超解析度演算法生成能力的必然選擇。我們未來將發表一篇文章,使用生成對抗網路為超解析度技術學習一種更好的代價函數。

含擾動層的完全卷積神經網路

在直接展示結果前,我們先討論下為執行超解析度處理流程而開發的框架。標準的深度神經網路,如AlexNet、 ResNet、 VGG與GoogLeNet,都是對低解析度圖像進行圖像分類與目標檢測的框架,在輸出空間達到指數級大小的超解析度圖像場景下並不適用。

考慮到超解析度技術本質上是低解析度圖像的一種擾動,我們受到ResNet的啟發,決定設計一種新的、由恆等映射擾動序列構成的深度神經網路。這種網路通過優化前一層與當前層的凸組合來擴展自身結構,每次僅擴展一層,併產生可訓練參數(旁路參數),衡量新層次對最終輸出的貢獻。

圖3:本文提出的凸擾動層與ResNet層的比較。兩種架構均包含卷積層與恆等函數的組合。凸擾動使得這種組合能夠訓練達到最優。隨著β值減小,層次對增強效果的貢獻也隨之降低。

這種結構有以下好處:

  • 這種網路架構很適合包含跳躍連接和隨機深度的極深神經網路的訓練,符合現代訓練策略
  • 旁路參數評估每一層的貢獻,就網路應達到的深度給出反饋
  • 每一層均執行近似恆等變換,使用不同結構增強圖像

每個擾動層至少包含兩個卷積層,每個卷積層間還包含一個非線性ReLU層。擾動層中更多的卷積層提高了擾動層增強圖像的能力,但訓練收斂也變得更加困難。另外,額外的擾動層具有類似的圖像增強潛力,且不存在收斂問題。

圖4:含擾動層的深度神經網路

旁路參數就每個擾動層的影響提供了直接的反饋。這些反饋有助於解答神經網路的深度應達到多少的問題。

圖5:模型訓練時的旁路參數。本圖繪製了訓練過程中旁路參數的權值。對於這個特殊的訓練演算法,每一層包括兩個訓練階段:首先,訓練各層參數;其次,結合所有以前訓練過的參數與新層次進行優化。旁路參數隨著網路層數的增長而減小。最終,新層次不再改變增強圖像中各像素的積分數值(不會與其它層聚合)——這正是子像素閾值的定義。

實驗

我們初步進行的實驗使用了巴拿馬運河3波段的GeoTIFF降質圖像,通過增強降質圖像來評估深度神經網路的圖像增強能力。我們在實驗中使用了兩張由DigitalGlobe提供的GeoTIFF圖像(非常大的衛星圖像):一張用於訓練,另一張用於測試。在一次深度神經網路計算中,我們並沒有選擇增強整張圖像,相反,我們每次增強一個27x27像素大小的圖像區域。由於GeoTIFF圖像非常大,抽取27x27像素區域的方法能夠為我們的深度神經網路提供充足的訓練數據。更多的訓練圖像或許可以提高實驗效果。但在下面的實驗中,我們使用這兩張GeoTIFF圖像訓練深度神經網路:

  • 這兩張GeoTIFF圖像的大小進行了調整,已有效地降低了圖像解析度
  • 採用隨機抽樣的方法,從第一張GeoTIFF圖像中獲取樣本,訓練深度神經網路,每次訓練僅訓練模型中的一層。我們訓練深度神經網路中的權值,最大化深度神經網路輸出的PSNR值
  • 深度神經網路用於增強兩張降質的GeoTIFF圖像
  • 實驗結果將與基於插值的圖像增強演算法進行比較

我們在一台2015年推出的裝有4塊Titan X顯卡的NVIDIA Devbox機器上,使用TensorFlow來創建、訓練、推斷深度神經網路,但是在實際訓練時,僅使用1塊顯卡用於訓練。為訓練神經網路,我們採用了最優化演算法ADAM,ADAM關聯了能夠影響訓練時間和收斂速度的參數。我們並未充分探索ADAM參數的最優選擇,但仍然花費大約12個小時(使用一塊Titan X顯卡)的時間來訓練每個擾動層。旁路參數的收斂速率(如圖5所示)為我們選擇ADAM參數乃至後續的訓練時間上提供了幫助。

實驗結果

在本次實驗中,我們使用了兩張關於巴拿馬運河的GeoTIFF圖像,一張用於訓練,另一張用於測試。

圖6:巴拿馬運河衛星圖像。這是深度神經網路中的原始訓練圖像。

首先是通過GeoTIFF降質圖像來創建訓練數據。通過調整GeoTIFF圖像的大小,最終生成的降質圖像在GSD與解析度上實現了有效的降低。使用線性插值作為起點,我們可以繪製PSNR在整張降質圖像上的分布。

圖7:深度神經網路輸入圖像中的PSNR分布。深度神經網路的輸入是一張重新調整大小(通過線性插值擴大2倍)的降質衛星圖像,與原始GeoTIFF圖像的大小相匹配。本圖顯示了在降質過程中引入的雜訊位置。藍色區域在降質時引入的雜訊較多,紅色區域引入的雜訊較少些。藍色區域通常表示含精細結構(如船隻)的區域,而紅色區域通常表示具有更粗糙特徵(如開放水域)的區域。

圖7表明,僅一個表示PSNR的數字並不足以描述衛星圖像中的雜訊。在降質圖像中,具有更多結構的區域,例如船隻,相比於自身結構較少的區域,如水域,具有更低的PSNR值。當我們訓練超解析度演算法來增強降質圖像時,我們想要增強我們關注的區域,而這通常是含有結構的區域。

圖8:使用深度神經網路增強後,圖像的PSNR收益。我們使用未用於深度神經網路訓練的測試圖像繪製PSNR收益的分布。圖像中的大部分區域得到了增強。藍色區域對應原始圖像中雜訊明顯較少的一般區域。PSNR的增強效果通過與初始線性插值方法比較得到。

圖9:與雙三次插值相比的PSNR收益。在GeoTIFF測試圖像上,我們與雙三次差值方法進行比較,繪製了在PSNR上的差異。初始雜訊較多的區域也同樣能受益。

圖10:與線性插值和雙三次插值相比,基於深度神經網路的增強方法的PSNR變化。PSNR變化由整張GeoTIFF圖像與GeoTIFF圖像中含船隻的子區域計算得到。包含精細結構的區域的增強效果明顯高於水域區域。

圖10中的結果表明,基於深度神經網路的增強方法能夠明顯改善含更多結構的區域。儘管測試圖像與訓練圖像具有相同的GSD,但不同的大氣條件與雲層覆蓋也影響著增強的效果,這在一定程度上解釋了測試圖像性能優化高於訓練圖像的原因。圖像清晰度也會影響到含船隻區域的標記,不準確的標記可能含有更多的水域,進而降低在該區域的收益。避免了這些干擾的實驗超出了本篇文章的討論範圍。

圖11:水域中船隻的增強示例。本圖展示了對降質船隻圖像的增強效果。由於此區域大部分為水域,其PSNR值小於僅含船隻的區域。

其他研究方向

包括SRCNN在內的一些示例,將超解析度技術應用於非衛星圖像,並在ImageNet上訓練時取得了類似的增強效果。這些方法用於衛星圖像增強或許是可行的,但我們提出的方法具有一個根本優勢:圖像的位置信息。此外,基於以下幾點,我們提出的方法是不同與現有方法的:

  • 衛星圖像往往是許多基於深度神經網路的機器學習演算法應用的極端情況
  • 過度訓練並不一定不利於我們的演算法,我們可以得到更具多樣性的圖像數據集
  • 擾動層提供了關於深度神經網路需達到的深度以及增加網路深度預期的邊際性能改善的信息
  • 除了紅色、綠色和藍色,GeoTIFF圖像能夠包含更多的顏色通道,針對額外的顏色通道(例如8波段圖像),我們的方法只需進行簡單地修改就可使用

最後,我們對擾動層中卷積層的數量進行了實驗,增加每個擾動層中卷積層的數量,並查看提高的性能。我們將在第二部分展示這些實驗結果,這些實驗基於8波段圖像和SpaceNet數據集。

文章原標題《Super-Resolution on Satellite Imagery using Deep Learning, Part 1》,作者:Patrick Hagerty

文章為簡譯,更為詳細的內容,請查看原文:The official blog of CosmiQ Works in Medium

推薦閱讀:

Caffe入門與實踐-簡介
Hinton提出逐層貪婪訓練的方式來解決梯度彌散和局部極值的問題,caffe是如何做到的?
scikit learn 里沒有神經網路?
梯度下降or擬牛頓法?

TAG:机器学习 | 神经网络 |