黃亞群,羅 俊*,蔣慕蓉,楊 磊,鄭培煜
(1.云南大學 信息學院,云南 昆明 650500;2.中國科學院云南天文臺,云南 昆明 650011)
太陽活動會影響無線電短波通訊,太陽噴射出的高能電磁輻射會對無電磁保護的電力設備造成巨大影響。使用地基望遠鏡對太陽表面進行實時觀測和分析,從而提前預警、降低損失。由于大氣湍流擾動的影響,地基望遠鏡得到的太陽圖片是模糊的,這些低分辨率圖片難以直接分析,因此需要進行圖像超分辨率重建處理。傳統(tǒng)的太陽斑點圖重建方法主要有斑點成像術、斑點掩模法[1]、多幀盲反卷積法和選幀位移疊加法(Level1+)[2],這些方法需要大氣統(tǒng)計特性、大氣視寧度等較多的先驗知識,以及較多的圖像幀數(shù),以致重建過程計算量大、耗時長,不能滿足太陽觀測的實時需求。
現(xiàn)有深度學習超分辨率重建方法對細節(jié)模糊、特征單一的低分辨率太陽斑點圖的重建效果較差,重建結(jié)果會出現(xiàn)偽影、部分高頻信息丟失等問題。為解決這些問題,崔雯昊等[3]在Cycle-GAN的基礎上加入VGG對圖像進行深度特征提取,然后使用改進的Cycle-GAN對低分辨率太陽斑點圖進行重建,并對重建結(jié)果進行圖像融合;李福海等[4]同樣使用GAN并結(jié)合梯度引導對太陽斑點圖進行重建,使用梯度引導有效地還原了圖像細節(jié),防止重建圖像發(fā)生幾何變形。二者都有較好的重建效果,由于他們采用的都是有監(jiān)督深度學習方法,所以數(shù)據(jù)集中高分辨率圖像的質(zhì)量決定了重建圖像的質(zhì)量,重建結(jié)果的上限被數(shù)據(jù)集所限制。然而現(xiàn)有Level1+數(shù)據(jù)集中的高分辨率太陽斑點圖的分辨率并不高,同時理想的高分辨率太陽斑點圖原圖數(shù)量極少,無法作為有效的數(shù)據(jù)集,不能用于網(wǎng)絡訓練。因此,要使重建結(jié)果達到理想效果,就應該合理使用分辨率不是最高但可以直接用于網(wǎng)絡訓練的Level1+數(shù)據(jù)集,以及因數(shù)量極少且沒有與之對應的低分辨率圖而不能用于網(wǎng)絡訓練的太陽斑點圖原圖。
基于對上述問題的分析,該文在NICE-GAN[5](沒有獨立編碼器的生成對抗網(wǎng)絡)的基礎上結(jié)合風格遷移網(wǎng)絡[6],提出一種太陽斑點圖超分辨率重建網(wǎng)絡STYLE-NICE-GAN,恢復全局輪廓與高頻信息,提高圖片分辨率。首先,將低分辨率太陽斑點圖和Level1+高分辨率太陽斑點圖作為數(shù)據(jù)集,用于訓練NICE-GAN,使NICE-GAN的重建結(jié)果達到數(shù)據(jù)集Level1+的效果,恢復全局輪廓與部分細節(jié);其次,考慮到太陽斑點圖特征單一、圖片間相似度極高的特點,利用圖片質(zhì)量比Level1+數(shù)據(jù)集更好的太陽斑點圖原圖[2],對NICE-GAN的重建結(jié)果進行風格遷移,提高局部細節(jié)的清晰度及整體的對比度。實驗結(jié)果表明:相較Level1+法和現(xiàn)有深度學習超分辨率重建方法,該方法重建得到的高分辨率太陽斑點圖,具有細節(jié)清晰、偽影較少、高頻信息明顯等優(yōu)點。
STYLE-NICE-GAN網(wǎng)絡由兩部分組成,一部分是NICE-GAN網(wǎng)絡,另一部分是風格遷移網(wǎng)絡,為更好地描述STYLE-NICE-GAN網(wǎng)絡結(jié)構(gòu),先分別介紹兩個子網(wǎng)絡,然后給出整體網(wǎng)絡結(jié)構(gòu)。
NICE-GAN[5]是一種實現(xiàn)圖像轉(zhuǎn)換的生成對抗網(wǎng)絡,可以實現(xiàn)貓狗和斑馬與馬等的轉(zhuǎn)換,在有成對的Level1+數(shù)據(jù)集的情況下,使用NICE-GAN捕捉低分辨率太陽斑點圖到高分辨率太陽斑點圖的映射關系,恢復出太陽斑點圖全局輪廓和部分細節(jié)。NICE-GAN網(wǎng)絡結(jié)構(gòu)如圖1所示,包括G、F兩個生成器以及DX、DY兩個鑒別器,其中生成器G生成Y領域的高分辨率圖,生成器F生成X領域的低分辨率圖,鑒別器DX鑒別圖像是X領域的圖像,鑒別器DY鑒別圖像是Y領域的圖像,G(x)、F(y)是生成的重建圖像,x、y是參考圖像。
圖1 NICE-GAN網(wǎng)絡結(jié)構(gòu)
由于NICE-GAN網(wǎng)絡最初是為現(xiàn)實生活中的圖像轉(zhuǎn)換而設計的,這些圖與太陽斑點圖存在區(qū)別,因此,該文改進了NICE-GAN的損失函數(shù),使它有利于太陽斑點圖的重建。
(1)重建損失。
基于深度學習的超分辨率重建方法為了矯正重建圖像的顏色和紋理特征,一般使用均方差損失函數(shù),但這樣會使重建圖像的局部細節(jié)過于平滑,違背該文的重建目標。因此,該文使用絕對值損失作為重建損失函數(shù),在保證重建圖像與目標圖像具有相似輪廓的同時,使重建圖像的局部細節(jié)不會過于平滑。
X領域圖像生成Y領域圖像的重建損失公式如式(1)所示:
(1)
Y領域圖像生成X領域圖像的重建損失公式如式(2)所示:
(2)
其中,Ey~Y代表目標(高分辨率)分布,Ex~X代表重建(低分辨率)分布,下同。
重建損失公式如式(3)所示:
(3)
(2)對抗損失。
為了使訓練更加穩(wěn)定以及得到高質(zhì)量的重建結(jié)果,該文使用相對性最小二乘對抗損失[7],它能夠獲取質(zhì)量更高的感知效果與更加逼真的高頻信息。
X領域圖像生成Y領域圖像的對抗損失公式如式(4)所示:
Ex~X[(1-Dy(Gx→y(x)))2]
(4)
Y領域圖像生成X領域圖像的對抗損失公式如式(5)所示:
Ey~Y[(1-Dx(Fy→x(y)))2]
(5)
對抗損失公式如式(6)所示:
(6)
由于使用相對性對抗損失,此處鑒別器的目標為鑒別一張圖片比另一張圖片更加真實的概率,隨著訓練迭代次數(shù)的增加,Dy(Gx→y(x))和Dx(Fy→x(y))將會提高,而D(x)和D(y)則會下降,最終兩者達到平衡。
(3)循環(huán)一致性損失。
僅僅是重建損失和對抗損失并不能保證所學習的映射函數(shù)將單個輸入的X領域圖像映射到所需的Y領域輸出圖像。為了避免網(wǎng)絡把部分X(或Y)領域圖像轉(zhuǎn)換為Y(或X)領域圖像中的同一張圖像,并進一步減少可能存在的映射函數(shù)空間,所學習的映射函數(shù)應該是循環(huán)一致的,如圖1所示。
對X領域的每張圖像x,圖像生成周期應該能夠?qū)帶回到原始圖像,x≈Fy→x(Gx→y(x));類似地,對Y領域的每張圖像y,應滿足y≈Gx→y(Fy→x(y))。為了達到以上目的,該文使用循環(huán)一致性損失[8],為避免重建結(jié)果過于平滑,循環(huán)一致性損失使用絕對值損失函數(shù)。
X領域圖像生成Y領域圖像的循環(huán)一致性損失公式如式(7)所示:
(7)
Y領域圖像生成X領域圖像的循環(huán)一致性損失公式如式(8)所示:
(8)
循環(huán)一致性損失公式如式(9)所示:
(9)
(4)總損失函數(shù)。
訓練過程總損失由式(3)、式(6)、式(9)所述的三類損失加權構(gòu)成,其中重建損失和循環(huán)一致性損失解決了不可識別性問題,NICE-GAN網(wǎng)絡的總損失函數(shù)如式(10)所示:
Lall=λ1Lrec+λ2Lgan+λ3Lcyc
(10)
其中,λ1、λ2、λ3是三類損失函數(shù)的權重值。
雖然低分辨率太陽斑點圖經(jīng)過NICE-GAN的重建后,重建結(jié)果已經(jīng)恢復了全局輪廓和部分細節(jié),但重建結(jié)果的分辨率依然不高,還有模糊的部分,與理想的太陽斑點圖原圖還存在一定距離,重建結(jié)果還有上升空間,然而現(xiàn)有Level1+數(shù)據(jù)集已經(jīng)是分辨率最高的數(shù)據(jù)集,同時太陽斑點圖原圖數(shù)量極少且沒有與之對應的低分辨率圖,所以無法作為數(shù)據(jù)集參與網(wǎng)絡訓練。
Gatys L A等[6]在2015年首次提出使用卷積神經(jīng)網(wǎng)絡對圖片進行風格遷移,文中提出卷積神經(jīng)網(wǎng)絡的低層特征一般是輸入圖像的位置信息,高層特征一般是輸入圖像的像素信息,對不同圖像進行位置信息與像素信息的融合,即可實現(xiàn)圖像的風格遷移。用于訓練風格遷移網(wǎng)絡的數(shù)據(jù)集是不成對的,而且風格圖和內(nèi)容圖的風格特征和內(nèi)容特征都差異明顯,同時遷移后的結(jié)果圖很好地保留了風格圖的風格特征和內(nèi)容圖的內(nèi)容特征。
因此,可以使用公開數(shù)據(jù)集去訓練風格遷移網(wǎng)絡,使之可以保證內(nèi)容特征不丟失和風格特征完整體現(xiàn),然后使用風格遷移網(wǎng)絡結(jié)合少量的太陽斑點圖原圖對NICE-GAN的重建結(jié)果進行無監(jiān)督二次重建,這樣可以規(guī)避因太陽斑點圖原圖數(shù)量極少且沒有與之對應的低分辨率圖而無法作為數(shù)據(jù)集參與網(wǎng)絡訓練但在實際重建過程中又要參考它們的難點。
文中風格遷移網(wǎng)絡采用基于特征計算的思想,與AdaIN[9]/WCT[10]類似,使用自動編碼器和解碼器的結(jié)構(gòu),如圖2所示。風格圖和內(nèi)容圖二者的風格特征及內(nèi)容特征一般是完全不同的,如果二者的風格特征和內(nèi)容特征高度相似,只是分辨率有差異,此時對二者進行風格遷移,可以作為圖像重建的一種方法。文中方法基于此想法并借鑒Level1+多幀重和圖像融合[3]而提出。
圖2 風格遷移網(wǎng)絡結(jié)構(gòu)
1.2.1 編碼器和解碼器
文中風格遷移網(wǎng)絡使用編碼器提取內(nèi)容圖和風格圖各自的特征矩陣Fc(內(nèi)容特征矩陣)和Fs(風格特征矩陣),將內(nèi)容圖的特征矩陣Fc進行壓縮后,與風格遷移矩陣T進行矩陣相乘,再進行解壓,得到遷移后的特征矩陣Fd,對Fd進行解碼,得到風格遷移后的圖像。
編碼器和解碼器都是預訓練好的,編碼器的結(jié)構(gòu)和VGG19網(wǎng)絡的前幾層一樣,解碼器的結(jié)構(gòu)與編碼器的結(jié)構(gòu)是對稱的,編碼和解碼的部分過程如圖3所示。圖2中風格遷移網(wǎng)絡部分的壓縮步驟C和解壓步驟U是需要學習的,壓縮和解壓保證使用編碼器的不同層的特征時,解碼器能接收到維度相同的特征,這兩個步驟均采用普通的卷積實現(xiàn)。
圖3 風格遷移網(wǎng)絡的編碼、解碼過程
在編碼過程中,通過卷積層提取內(nèi)容圖和風格圖的特征,再利用池化層進行下采樣,降低圖像的尺寸,使得后續(xù)卷積層提取維度更小的內(nèi)容圖和風格圖的特征。解碼過程中,通過卷積層不斷融合及還原內(nèi)容圖和風格圖的特征,再利用池化層進行上采樣,提高圖像的尺寸,確保生成圖與內(nèi)容圖的尺寸一致。
1.2.2 風格遷移矩陣
為實現(xiàn)任意圖像的風格遷移,使在公共數(shù)據(jù)集上能較好融合內(nèi)容特征和風格特征的風格遷移網(wǎng)絡,在太陽斑點圖上也有好的遷移效果,該文使用風格遷移矩陣T[11]融合內(nèi)容圖和風格圖的特征。由于該文重點關注內(nèi)容特征的不丟失,所以使用風格遷移矩陣T和內(nèi)容特征矩陣Fc的乘積作為最終的融合結(jié)果Fd。Fd是風格遷移后的特征矩陣,如式(11)所示:
Fd=TFc
(11)
其中,風格遷移矩陣T是Li X等[11]在19年提出的快速風格遷移模塊,只使用內(nèi)容特征Fc和風格特征Fs即可計算出,使網(wǎng)絡可以對任意的圖像和風格進行遷移。
1.2.3 風格遷移網(wǎng)絡的損失函數(shù)
風格遷移網(wǎng)絡的損失函數(shù)由內(nèi)容損失和風格損失加權求和得到,為矯正生成圖的顏色和紋理特征,二者都以均方差損失作為損失函數(shù),內(nèi)容損失是生成圖與內(nèi)容圖的內(nèi)容特征Fd和Fc做均方差,風格損失由風格圖和生成圖的不同層Gram矩陣的均方差損失加權求和得到,內(nèi)容損失Lc和風格損失Ls分別如式(12)、式(13)所示:
Lc=(Fd-Fc)2
(12)
(13)
其中,wl為第l層網(wǎng)絡的權重,El為第l層的風格損失,El如式(14)所示:
(14)
風格遷移網(wǎng)絡的總損失如式(15)所示:
Lall=αLc+βLs
(15)
其中,α、β是分別調(diào)節(jié)內(nèi)容特征和風格特征的損失函數(shù)的權重。
由于該文的研究目的是太陽斑點圖高分辨率重建,所以在實際應用中只用到了NICE-GAN的生成器G模塊,該模塊捕捉了低分辨率太陽斑點圖到高分辨率太陽斑點圖的映射關系并生成高分辨率圖片,所以將NICE-GAN的生成器G與風格遷移網(wǎng)絡結(jié)合成STYLE-NICE-GAN網(wǎng)絡,結(jié)構(gòu)如圖4所示。
圖4 STYLE-NICE-GAN網(wǎng)絡結(jié)構(gòu)
由于NICE-GAN網(wǎng)絡和風格遷移網(wǎng)絡的訓練目標有所不同,所以二者的訓練數(shù)據(jù)集是不同的,因此二者需要分開訓練,在訓練完成后,再組成STYLE-NICE-GAN網(wǎng)絡,對太陽斑點圖進行重建。
NICE-GAN網(wǎng)絡是有監(jiān)督學習,風格遷移網(wǎng)絡是無監(jiān)督學習,二者的訓練目標有所不同,NICE-GAN網(wǎng)絡使重建結(jié)果盡可能與Level1+一致,風格遷移網(wǎng)絡使重建結(jié)果內(nèi)容不丟失和風格完整表現(xiàn),所以分別構(gòu)造兩個網(wǎng)絡所需要的數(shù)據(jù)集。
該文使用云南天文臺提供的數(shù)據(jù)作為訓練NICE-GAN網(wǎng)絡的數(shù)據(jù)集,使用MS-COCO[12]數(shù)據(jù)集和WikiArt[13]數(shù)據(jù)集作為訓練風格遷移網(wǎng)絡的數(shù)據(jù)集。NICE-GAN網(wǎng)絡的數(shù)據(jù)集包括重建選幀算法得到的22 000張模糊圖blur和使用Level1+算法得到對應的22 000張清晰圖Level1+。在訓練風格遷移網(wǎng)絡的數(shù)據(jù)集中,MS-COCO數(shù)據(jù)集作為內(nèi)容圖,該文使用約4萬張圖;WikiArt數(shù)據(jù)集作為風格圖,該文使用約4萬張圖。
考慮到以下因素,風格遷移網(wǎng)絡使用公共數(shù)據(jù)集:已有的Level1+數(shù)據(jù)集不夠清晰,訓練效果不好,同時又沒有足以形成數(shù)據(jù)集的高清太陽斑點圖原圖;公共數(shù)據(jù)集中圖像的紋理復雜、類別眾多,如果在公共數(shù)據(jù)集上,內(nèi)容和風格能取得很好的平衡,那么在紋理和種類都比較單一的太陽斑點圖也能取得一定效果。
不同分辨率的太陽斑點圖如圖5所示,其中blur、Level1+組成數(shù)據(jù)對,用于訓練NICE-GAN網(wǎng)絡,原圖由于數(shù)量極少且沒有與之對應的低分辨率圖,故只作為風格遷移過程中的風格圖,不參與任何網(wǎng)絡的訓練。
圖5 不同分辨率的太陽斑點圖
2.2.1 NICE-GAN網(wǎng)絡訓練
該文使用Adam作為NICE-GAN網(wǎng)絡的參數(shù)優(yōu)化算法,生成器和鑒別器的初始學習率均設置為0.000 1,訓練迭代100 000次,重建損失、對抗損失和循環(huán)一致性損失的權重值λ1、λ2、λ3分別設置為10、1、10。
訓練時將數(shù)據(jù)集blur和數(shù)據(jù)集Level1+輸入NICE-GAN網(wǎng)絡,網(wǎng)絡在初始訓練時學習率保持不變,經(jīng)過反復訓練,學習率呈線性下降趨勢,最終趨于0;當學習率達到預設值時,停止訓練,最終得到兩個數(shù)據(jù)集之間的映射關系,即數(shù)據(jù)集blur中的低分辨率太陽斑點圖經(jīng)過NICE-GAN網(wǎng)絡重建后與數(shù)據(jù)集Level1+中對應的高分辨率太陽斑點圖一致。
2.2.2 風格遷移網(wǎng)絡訓練
該文使用Adam作為風格遷移網(wǎng)絡的參數(shù)優(yōu)化算法,初始學習率設置為0.000 1,訓練迭代100 000次,用于調(diào)節(jié)內(nèi)容特征和風格特征損失函數(shù)權重的α和β,一般設為0.5和0.5,因為該文強調(diào)內(nèi)容特征的不丟失,所以設置為1和0.01。
訓練時將數(shù)據(jù)集MS-COCO和數(shù)據(jù)集WikiArt輸入到風格遷移網(wǎng)絡,網(wǎng)絡訓練方法為最小化損失函數(shù),當損失函數(shù)值達到理想值時,停止訓練,最終重建圖達到內(nèi)容和風格的完美平衡,即在重建圖中內(nèi)容特征不丟失和風格特征完整表現(xiàn)。
將NICE-GAN的重建結(jié)果作為風格遷移網(wǎng)絡的內(nèi)容圖,少量太陽斑點圖原圖作為風格圖,這樣的重建結(jié)果包含了太陽斑點圖的全局特征和局部細節(jié),同時圖片整體得到了增強,清晰度和對比度都有所提高。為了驗證文中方法的有效性,將其與當前幾種用于太陽斑點圖超分辨率重建的方法SRGAN[14]、SPSR[15]、CycleGAN[16]、DeblurGAN[17]進行比較,并使用有參考圖像質(zhì)量評價標準SSIM、PSNR和無參考圖像質(zhì)量評價標準BRISQUE、NIQE、PIQE對重建結(jié)果進行客觀評價。
由于缺少真正的太陽斑點圖原圖,所以文中方法和對比方法重建結(jié)果的參照對象是Level1+方法重建結(jié)果,這也導致文中方法重建結(jié)果的客觀評價并不占優(yōu);因為SSIM是從亮度、結(jié)構(gòu)和對比度這三個維度去評價兩幅圖片的相似度,而太陽斑點圖更側(cè)重于后兩個維度,亮度的影響可以忽略不計,所以SSIM不能很好地評價文中方法的重建結(jié)果。
為了更好地對文中方法進行評價以及解決該方法重建結(jié)果的亮度與對應Level1+圖不同的問題,使用傅里葉變換對文中方法的重建結(jié)果進行重構(gòu),處理過程如圖6所示。
圖6 傅里葉變換重構(gòu)
由圖6可知,對文中方法的重建結(jié)果進行傅里葉變換重構(gòu):使用傅里葉變換將Level1+方法和文中方法的重建結(jié)果在空域中的信息映射至頻域空間,得到二者的幅度譜以及相位譜,其中幅度譜代表的是圖像各像素點的亮度信息,即該像素應該顯示什么顏色,但是幅度譜不包含每一點在原圖像中的具體位置;相位譜記錄的是所有點的相位信息,看起來相位譜是一團噪聲,但它非常重要,因為相位信息中攜帶著圖像的位置信息,結(jié)合圖像的幅度譜和相位譜即可得到圖像原本的信息,結(jié)合文中方法重建結(jié)果的相位譜與Level1+方法重建結(jié)果的幅度譜重構(gòu)圖像,即結(jié)合文中方法重建結(jié)果的位置信息和Level1+方法重建結(jié)果的顏色信息。
使用SSIM和PSNR進行有參考評價時,參考圖像為Level1+方法得到的重建圖像,因為它具有良好的可解釋性,是目前主流的太陽圖像重建方法。不同方法的重建結(jié)果、有參考評價結(jié)果、無參考評價結(jié)果分別由圖7、表1、表2所示。
圖7 不同方法的重建結(jié)果對比
由圖7和表1可知,雖然文中方法在未經(jīng)傅里葉變換重構(gòu)處理前,評價數(shù)值比其他方法低,但經(jīng)過處理后,評價數(shù)值明顯提高,重建結(jié)果與Level1+方法重建結(jié)果非常接近,SSIM和PSNR均有不錯的評價值,超過了大部分方法,與最優(yōu)秀的方法處于同一水平。由此可以判斷,文中方法保留了太陽斑點圖的局部細節(jié)和高頻信息,不會影響后續(xù)的科學分析。
表1 不同方法的有參考評價結(jié)果
表2 不同方法的無參考評價結(jié)果
由表2可知,文中方法在三種無參考評價指標(這三種評價指標數(shù)值越小表明圖像質(zhì)量越高)上的評價值均優(yōu)于其他方法,包括Level1+方法,這說明文中方法在一定程度上優(yōu)于目前最好的Level1+方法。文中方法和Level1+方法重建結(jié)果的對比如圖8所示。
圖8 文中方法與Level1+方法結(jié)果對比
由圖8可知,文中方法與目前最優(yōu)秀的Level1+方法的重建結(jié)果相比,整體輪廓不變,同時保留了太陽斑點圖最重要的局部細節(jié)和高頻信息,如圖8(c)、圖8(d)兩行所示,經(jīng)過傅里葉變換重構(gòu)的文中方法重建結(jié)果在SSIM和PSNR上的評價也證明了這一點,這使得后續(xù)的分析不受影響,而且圖片整體得到了增強,重建結(jié)果的清晰度和對比度都有所提高,視覺效果得到改善。不同方法的效率比較如表3所示,由表3可知,與其他方法相比,文中方法重建每百張圖片耗時最少,效率最高。
表3 不同方法的效率比較
該文提出一種結(jié)合生成對抗網(wǎng)絡和風格遷移網(wǎng)絡的太陽斑點圖超分辨率重建方法STYLE-NICE-GAN,使用NICE-GAN網(wǎng)絡,在有監(jiān)督學習下,重建高分辨率太陽斑點圖;使用風格遷移網(wǎng)絡,在無監(jiān)督學習下,對NICE-GAN網(wǎng)絡的重建結(jié)果進行二次重建。實驗結(jié)果表明,該方法對于太陽斑點圖有很強的超分辨率重建能力,在不影響后續(xù)分析的前提下,視覺效果優(yōu)于作為參考圖的Level1+方法,評價指標也優(yōu)于其他深度學習方法。
該方法雖然取得一定成果,但在數(shù)據(jù)預處理和風格遷移網(wǎng)絡方面仍有改進空間。對于前者,使用圖像融合并結(jié)合多張低分辨率圖,生成具有更多信息的低分辨率圖,減少偽影的生成;對于后者,嘗試使用無偏風格遷移網(wǎng)絡[18]減少內(nèi)容損失。