王藝儒, 王光輝, 楊化超, 劉慧杰
(1.中國礦業大學環境與測繪學院,徐州 221116; 2.自然資源部國土衛星遙感應用中心,北京 100048)
遙感技術自上世紀中期興起后高速發展,至今已有眾多新興傳感器投入應用,遙感影像數據逐漸進入“高分時代”,大量高分數據為經濟、國防、生態等各個領域提供數據支持。在遙感成像過程中,傳感器、拍攝時間季節、光照條件、大氣條件等差異都易導致拍攝影像內部、影像與影像之間出現亮度不均勻,色彩不一致的現象。這些問題不僅影響目視解譯,更影響后續生產中影像之間的拼接效果。在實際生產工作中,生產人員往往需要花費大量的時間精力用于處理影像色彩不一致的問題。
目前國內外對于單幅影像色彩處理的算法有很多,例如金淑英等[1]利用二階三次多項式擬合的方法通過對像元進行灰度拉伸來改正海底視頻和影像的亮度不均勻現象; Kim等[2]提出基于小波變換的光照補償方法; Tan[3]提出通過歸一化增強可視性影像,得到亮度均衡的影像; 譚攀等[4]在HIS模型勻光算法基礎上提出一種動態分塊的線性拉伸,改善相鄰影響塊色彩不一致的現象。現在較常見的影像勻光方法根據采用模型的不同可歸納為: 加性模型和乘性模型2類[5-6]。加性模型的原理是將遙感影像看作亮度均勻的前景影像與亮度不均的背景影像加和,通過一系列處理將背景影像去除而達到勻光的效果。這一類算法的重點問題是確定背景影像,背景影像的好壞很大程度上決定了勻光的效果[6-7]。確定背景影像的方法大體上有2類,第一類是通過數學模型來模擬原片[8],ERDAS Imagine的色彩平衡功能提供了4種數學模型模擬影像亮度變化[9-11],李治江[12]和Stumpfel等[13]各提出了一種基于局部均值的自適應勻光模板; 第二類是基于信號處理來確定背景影像,王密等[10]提出了基于MASK差值勻光法,張振等[14]提出了反差一致性MASK勻光算法。乘性模型勻光算法將不均勻的影像看成是景物受到的照度和景物反射率的乘積[15]。例如Orsini等[16]和Lam[17]采用Retinex方法處理亮度和反差不均勻的影像; Nnolim等[18]和Seow等[19]采用同態濾波的方法增強影像高頻信息達到勻光的目的。
盡管國內外學者已經提出大量圖像勻色方法,但主要為通過人工方式,借助圖像處理軟件進行調節影像色彩。這種利用人工調色的方法容易受到主觀因素影像,并且在實際生產過程中耗時耗力。隨著影像分辨率的逐漸提高,數據量呈幾何級數增長,人工調色難以快速、準確完成大量數據的調色需求。基于深度學習方法的生成對抗網絡可作為遙感影像勻色的處理手段,與傳統算法相比,采用圖像色彩風格遷移的方法改正影像色彩只需要在訓練階段輸入參考影像,在色彩校正中不依賴色彩底圖,應用場景更加廣泛,校正過程更加省時省力。目前已有學者嘗試基于生成對抗網絡的影像分類、影像增強、影像去云霧和影像修補等。如Xue[20]采用一種半監督的卷積生成對抗網絡對高光譜影像進行分類信息提取; 李雪等[21]采用注意力引導的色彩一致生成對抗網絡進行建筑物語義分割; 王照乾等[22]通過DenseNet生成對抗網絡增強低照度圖像; Lyu等[23]通過對抗性訓練,對遙感影像進行增強; 何鎏一[24]和Hu等[25]分別利用條件生成對抗網絡和改進的循環一致生成網絡來對影像進行去霧操作; 冀儉儉[26]提出了一種基于生成對抗網絡的分級聯合圖像補全方法; 鄭凱等[27]通過DCLS生成對抗網絡去除高原地區衛星影像云霧。其中國內學者李雪在建筑物語義分割前利用生成對抗網絡方法進行了一定的色彩校正。與其他生成對抗網絡相比,循環一致生成對抗網絡(cycle generative adversarial networks, CycleGAN)的環形結構能夠有效將2類數據相互轉換,不僅保證了能夠實現非成對影像的互相轉換,更能有效地限制生成器函數,使其更能向其有效方向繼續迭代訓練。
本文針對地物復雜的城區影像,首次提出一種無監督的自動勻色算法——加入通道注意力機制的循環一致生成對抗色彩網絡(channel attention-CycleGAN, CA-CycleGAN),以期能夠無監督地自動進行影像色彩改正,從而高效解決大量遙感影像色彩調整的問題。
與CycleGAN一致,注意力引導的循環一致生成對抗網絡仍然具有2對呈現環形閉合的生成器與鑒別器[28](圖1)。第一階段待校正影像x通過生成器Gy轉化為校正影像Gy(x),此時鑒別器Dy對校正影像Gy(x)進行鑒別,生成器Gy與鑒別器Dy為一對對抗,通過互相對抗學習提高生成器Gy的生成水平和鑒別器Dy的鑒定水平。第二階段通過生成器Fx生成影像Fx[Gy(x)],待校正影像x與循環生成影像Fx[Gy(x)]之間計算影像的循環一致損失。第一階段同時模板影像y也會通過生成器Fx轉化為影像待校正影像域的影像Fx(y),此時鑒別器Dx對影像Fx(y)進行鑒別,生成器Fx與鑒別器Dx為另一對對抗,通過互相對抗學習提高生成器Fx的生成水平和鑒別器Dx的鑒定水平。并在第二階段繼續通過生成器Gy生成循環影像Gy[Fx(y)],同樣的模板影像y與循環影像Gy[Fx(y)]之間將計算循環一致損失來控制生成和鑒別函數的學習。

圖1 注意力引導的CycleGAN原理圖Fig.1 Schematic diagram of attention guided CycleGAN
為了使網絡能夠更清晰地理解影像中哪部分信息更重要,在生成器中加入如圖2所示的通道注意力網絡,其中Conv表示卷積層,ReLU表示ReLU激活函數。為了有效計算各通道權重,需要對輸入的特征圖空間維度進行壓縮,同時采用平均池化和最大池化可以在對空間信息整合的同時收集到獨特的影像特征。同時由于通道注意力網絡簡單,能夠在較少增加網絡復雜度的同時取得較好的優化效果,減少訓練的時間復雜度。

圖2 通道注意力結構Fig.2 Structure of channel attention
如圖3所示,生成器主要由編碼器、注意力機制、殘差塊和解碼器構成,其中編碼器由3層卷積網絡構成,Norm為標準化層,ReLU為激活函數,注意力采用上文介紹的通道注意力。由于本文測試集影像大小為256像素×256像素,殘差塊一共選用9個。解碼器采用反卷積和卷積,將影像輸出為與輸入通道相同的RGB模式256像素×256像素大小的影像。最后一層激活函數為Tanh,鑒別器網絡采用的是5層網絡,將輸入影像通道數減小,最后再進行平均池化提取影像特征,鑒別器中的激活函數為Leaky ReLU。

圖3 生成器和鑒別器網絡結構Fig.3 Network structure of generator and discriminator
1)對抗損失函數。X→Y與Y→X的對抗損失分別為:
LGAN(G,DY,X,Y)=Ey~pdata(y)[lnDY(y)]+Ex~pdata(x){ln (1-DY[G(x)]},
(1)
LGAN(F,DX,Y,X)=Ex~pdata(x)[lnDX(x)]+Ey~pdata(y){ln[1-DX(F(y)]},
(2)
式中:X為樣本數據集;Y為參考影像域數據集;x~pdata(x)表示樣本數據集中的樣本數據x服從樣本數據集的數據分布pdata(x);y~pdata(y)表示參考影像域數據集中的參考影像域數據y服從參考影像域數據集的數據分布pdata(y);X→Y表示從X到Y的生成對抗過程; 在這個過程中,G生成與參考影像域Y相似色彩的圖像G(x),而DY則區分生成的G(x)真實參考色彩樣本y,因此G的目標是將函數LGAN(G,DY,X,Y)最小化,D的目標則是使函數LGAN(G,DY,X,Y)最大化,即minGmaxDyLGAN(G,DY,X,Y)。
循環一致生成函數中同樣存在類似的F(y)函數,因此對于y向x生成的過程存在相同原理的對抗損失函數。其中F的目標是將函數LGAN(F,DX,Y,X)最小化,Dx則使函數LGAN(F,DX,Y,X)最大化,即minFmaxDxLGAN(G,DY,Y,X)。
2)循環一致性損失函數。計算公式為:
Lcyc(G,F)=Ex~pdata(x){‖F[G(x)]-x‖1}+Ey~pdata(y){‖G[F(y)]-y‖1}。
(3)
由于CycleGAN采用的訓練方式是無監督訓練模式,并且輸入樣本并需要一一對應,因此能夠將x映射到y的函數G(x)和能夠將y映射到x的函數F(y)存在相當多種。循環一致性損失函數的意義在于減少映射函數的其他可能性,控制映射函數是循環一致的,確保訓練得到的映射函數G(x)和F(y)不至于太離譜,生成器和鑒別器能夠在后續訓練中得到更好的優化。如上述公式所述,對于從x生成G(x)并進一步生成F[G(x)]的過程,盡可能控制x與F[G(x)]相差不大,約束F[G(x)]與x的L1范數,即‖F[G(x)]-x‖。同樣地,對于y生成F(y)并進一步生成G[F(y)]的過程,盡可能使得y與G(F(y))相差不大,從而約束生成函數G(x)和F(y),使生成的影像與原影像差別較小。2部分循環一致性損失匯總則形成影像色彩校正網絡的循環一致性損失函數值。
3)損失匯總。計算公式為:
L(G,F,DX,Dy)=LGAN(G,DY,X,Y)+LGAN(F,DX,Y,X)+λLcyc(G,F)。
(4)
將式(1)和式(2)中的對抗損失函數和式(3)中的循環一致性損失函數按一定權重結合起來,就能夠實現非成對影像的互相轉換。其中λ是循環一致性損失的縮放系數,是一個超參數,用來控制對抗損失和循環一致性損失的比重。由于損失函數構成的特殊性,因此訓練過程中的損失只能一定程度準確反映訓練的好壞,也只能大致反映訓練進度和訓練結果的好壞,因此訓練的優劣主要需要通過訓練成果圖來反饋,損失函數圖作為輔助參考。
本文研究區域為湖南省長沙市部分地區,主要典型地物為房屋、道路、城區內綠化區和未綠化的裸土地等,影像數據選取高分二號(GF-2)2016年3月B3(R),B2(G),B1(B)合成彩色影像數據。研究中的色彩參考影像由原始數據經過直方圖拉伸和Photoshop軟件人工處理得到。將原始影像和色彩參考影像切割成256像素×256像素大小,并轉為JPG數據,為訓練做準備。訓練樣本中原始影像和色彩參考影像共計1 600×2張。驗證數據集為遙感影像原始數據,共計12 800張。
訓練集一共包含3 200張影像,分為待校正影像集和色彩參考集各1 600張,影像大小為256像素×256像素; 訓練使用PyTorch1.4.0框架搭建深度學習框架。分別使用CycleGAN無監督和CA-CycleGAN對訓練集影像進行訓練,對比加入注意力機制后網絡的改進效果。訓練時不將訓練集進行色彩偏移或隨機翻轉,為了提高網絡的特征學習能力,無監督訓練進行了200輪。經過測試,前100輪固定學習率為0.000 2,后100輪將學習率線性衰減到0,效果較好。為了驗證本文方法的優越性,訓練過程結束后,分別保存處理模型,并使用模型對待校正影像集和驗證數據集分別進行影像校正,便于對比影像校正前和通過不同方法校正后的結果。不同方法色彩校正結果對比如表1所示。

表1 小區域內影像色彩校正效果對比Tab.1 Comparison of images color correction effect in small area
如表1所示,無論是CycleGAN還是CA-CycleGAN在小區域內對影像的明暗度和色彩都有較好的改正,但可以看出經過CycleGAN校正的影像色彩較為分明,無論是植被還是黃土都明顯有自己獨特的顏色風格,并且建筑部分有稍微偏綠的情況。而CA-CycleGAN對影像色彩的校正上則有統一的顏色風格,整體較為協調。因為差距較小,在小范圍上無太大影響,然而當小區域影像拼接為一幅大區域影像的時候,CA-CycleGAN整體一致的色彩風格使得影像更加協調統一,拼接痕跡較為不明顯。
圖4為不同方法色彩校正后拼接效果示例。由圖4可以看出,影像1中的橫向道路在經過CycleGAN色彩校正后,道路兩側由于在勻色過程中被切割成2個小幅影像而產生色差,拼接線明顯,而通過CA-CycleGAN色彩校正后,幾乎不可見道路兩側的拼接痕跡; 影像2中的縱向道路與第一景影像情況類似,同樣在通過CA-CycleGAN色彩校正后,拼接痕跡幾乎不可見,達到較為完美的拼接情況。影像3中的紅色房子在經過CycleGAN的色彩校正后左右2部分紅色明暗不同,而CA-CycleGAN可以完美地將紅色房子的左右兩側調整為相同的色彩,僅表現為輕微拼接痕跡。影像4表示CycleGAN在處理較為空曠的地帶色彩校正上效果并不穩定,也易出現明顯色彩差異,導致拼接后影像有明顯塊狀區域,而本文采用的CA-CycleGAN可以在一定程度上解決這一問題,使得影像不被分割的太明顯。



圖4 不同方法色彩校正后拼接效果
圖5為2種方法色彩校正的損失函數,其中D_A表示循環正向過程時的鑒別器損失值,G_A表示循環正向過程時的生成器損失值,cycle_A表示循環正向過程時文中式(3)中的循環損失,idt_A表示循環正向過程時文中式(1)中的對抗損失,D_B表示循環反向過程時的鑒別器損失值,G_B表示循環反向過程時的生成器損失值,cycle_B表示循環反向過程時文中式(3)中的循環損失,idt_B表示循環反向過程時文中式(1)中的對抗損失。

不僅在色彩調整效果上能直觀地看出CA-CycleGAN的效果比CycleGAN優異,根據圖5的損失函數同樣可以看出本文采用的CA-CycleGAN方法的損失函數收斂速度更快,整體收斂效果也更好。通過表2可以看出,CA-CycleGAN在訓練的最后一次迭代循環結果中,正向訓練和逆向訓練的生成器損失值(G_A與G_B)、逆向訓練的鑒別器損失值(D_B)、正向訓練和逆向訓練的循環一致損失值(cycle_A與cycle_B)以及正向訓練和逆向訓練的單張影像總損失值(idt_A與idt_B)均小于CycleGAN方法的相應損失值,僅在正向訓練的鑒別器損失值(D_A)這一項略大于CycleGAN的鑒別器損失值。由此也可認為本文采用的CA-CycleGAN色彩校正方法在影像色彩校正方向對CycleGAN方法有一定的改良。

表2 最后一個循環時不同色彩校正方法的損失值Tab.2 Loss value of different color correction methods in the last cycle
圖6為使用本文方法進行色彩校正的驗證數據集中部分影像,可以看出對于城區影像色彩校正效果較好,影像整體色彩鮮明,便于遙感影像的下一步加工和應用。本文方法不僅效果優秀,還大大提高了遙感影像色彩校正的效率,經過測試,對于單張256像素×256像素大小的影像數據,每分鐘可完成約1 000景影像的色彩校正,對于整景空間分辨率約0.8 m,覆蓋面積約800 km2的GF-2數據,每景影像的切割、色彩校正、拼接整體操作時間在5 min以內,有效節約了影像色彩校正的人力成本和時間成本。

本研究以長沙市城區GF-2衛星數據為例,提出了一種新的基于生成對抗網絡的CA-CycleGAN影像色彩校正方法。
通過在原始CycleGAN的基礎上加入通道注意力機制,構成引入注意力的ResNet結構的生成器,而鑒別器則采用pix2pix中的PatchGANs結構,生成器與鑒別器之間采用對抗損失和循環一致性損失進行約束,在處理GF-2城區影像色彩校正中取得較好的成果。
實驗結果表明,相比于傳統的需要人工操作的勻色方法,本文實現了遙感影像色彩校正的自動化,可以大批量進行影像勻色,節約人力資源。并且通過根據影像參考的季節和地物類型,可分別訓練不同季節、不同區域的勻色模型。通過已經訓練好的模型進行色彩校正時,對于切割好的256像素×256像素大小影像速度可以達到每分鐘1 000景以上,每景GF-2影像的切割、色彩校正和拼接操作總時間小于5 min,大大節省了影像色彩校正時間。
本研究為遙感影像色彩處理方面提出了新的思路和方法,并對于影像去云霧、影像增強等方面也有一定的啟發作用。本文所提出的影像色彩校正算法還有進一步的改進空間,所訓練的模型僅使用于部分城區,下一步將其他季節以及其他地物類型分別訓練不同模型,測試在不同氣候、不同地區的情況下本方法的普適性,以及通過更好的色彩模板訓練的情況下對本文方法的改進。