朱曉雯,侯 宇,劉玉海,吳克儉**
(1.中國海洋大學(xué)海洋與大氣學(xué)院,山東 青島 266100;2.中國海洋大學(xué)數(shù)學(xué)科學(xué)學(xué)院,山東 青島 266100;3.中國科學(xué)院海洋研究所,山東 青島 266100;4.中科曙光國際信息產(chǎn)業(yè)有限公司,山東 青島 266100)
有效波高(Significant Wave Height, SWH)是海浪研究中一項重要的海洋要素。在物理海洋學(xué)中,有效波高在傳統(tǒng)上被定義為最高三分之一波(H1/3)的平均波高[1],即前三分之一大波波高。有效波高是重要的海浪要素,也是描述海況主要參量之一,被廣泛應(yīng)用于海洋數(shù)值模擬、海岸工程和航海運輸?shù)阮I(lǐng)域。高分辨率的SWH數(shù)據(jù)能為多尺度物理海洋學(xué)研究以及海浪精細化預(yù)報、防災(zāi)減災(zāi)、海氣耦合模式的發(fā)展等工作提供更加有效的數(shù)據(jù)支撐。在推動海-氣耦合模式的過程中,需要對每個海洋網(wǎng)格增強像素化,這樣才能更好地解析中小尺度的氣候變化過程,然而隨著空間分辨率的提高,所需要的計算量級也急速增長。
隨著人工智能技術(shù)的迅速發(fā)展和顯卡(GPU)在加速運算中的廣泛使用,深度學(xué)習(xí)方法被廣泛運用于海洋和氣象等自然科學(xué)研究中[2-8]。Wang等[9]歸納總結(jié)了適用于不同類型時空數(shù)據(jù)的深度學(xué)習(xí)方法,并分類統(tǒng)計了近年來深度學(xué)習(xí)方法在氣候和天氣學(xué)中的研究結(jié)果。除了傳統(tǒng)的插值方法之外,近年來有很多深度學(xué)習(xí)的方法也被用來解決海洋數(shù)據(jù)的降尺度問題。降尺度是從低分辨率(Low-Resolution, LR)重建高分辨率(High-Resolution, HR)數(shù)據(jù)的過程。二維數(shù)據(jù)的降尺度處理可以對應(yīng)計算機視覺和模式識別領(lǐng)域中圖像的超分辨率問題[10]。基于神經(jīng)網(wǎng)絡(luò)的超分辨率算法的基本思想是建立從低分辨率圖像到高分辨率圖像的一個映射[11],Aurélien等[12]使用卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對海表面溫度(Sea Surface Temperature, SST)圖像進行高分辨率處理,利用深度神經(jīng)網(wǎng)絡(luò)解決海洋遙感數(shù)據(jù)的降尺度問題,取得了優(yōu)于傳統(tǒng)方法的效果。在進行大批量海洋數(shù)據(jù)的高分辨率處理時,傳統(tǒng)的簡單插值方法速度快,但精確度稍低(如雙三次插值),復(fù)雜一點的插值方法雖能取得較好的差之效果,但是計算復(fù)雜,處理速度較慢(如克里金插值)?;谝陨鲜聦?,作者思考能否改進深度學(xué)習(xí)的方法,找到一種既能快速計算高分辨率處理效果,又能媲美甚至超越復(fù)雜插值方法的方案。
本文運用了多種方法對SWH數(shù)據(jù)進行處理,包括傳統(tǒng)的雙三次插值(Bicubic interpolation)、克里金插值(Kriging interpolation)以及改進的深度學(xué)習(xí)方法:超分辨率卷積神經(jīng)網(wǎng)絡(luò)(Super-Resolution CNN,簡稱SRCNN),用峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)等多種評價指標比較了各種方法的高分辨率處理效果。
本文的SWH數(shù)據(jù)來源于歐洲中期天氣預(yù)報中心(European Center for Medium Range Weather Forecasting, ECMWF)發(fā)布的ERA Interim, Daily數(shù)據(jù)集,與之前發(fā)布的ERA-15和ERA-40產(chǎn)品相比,該數(shù)據(jù)集使用了最新的四維變分同化技術(shù),其中海浪數(shù)據(jù)運用耦合海浪模式數(shù)據(jù)和大量的衛(wèi)星數(shù)據(jù)、浮標觀測數(shù)據(jù)進行同化[13]。選取東太平洋海區(qū)的有效波高數(shù)據(jù),空間范圍為:109.625°W~132°W, 0°~22.375°S,空間分辨率為0.125°×0.125°,時間范圍從2011年1月1—31日,時間分辨率6 h,即每天四個時刻數(shù)據(jù)(0時、6時、12時、18時),共124個時刻的SWH場,數(shù)據(jù)大小為180×180。
Dee等[14]指出,在模式開發(fā)和數(shù)據(jù)同化方面,ECMWF數(shù)據(jù)具有良好的效果,而且從多個角度驗證了ERA-Interim數(shù)據(jù)集的優(yōu)越性。Mooney等[15]在愛爾蘭冬季氣溫的模擬結(jié)果中發(fā)現(xiàn),運用ERA-Interim數(shù)據(jù)模擬的結(jié)果更符合實際的觀測氣溫,兩者相關(guān)性系數(shù)更高,而且比使用ERA-40和NNRP-1數(shù)據(jù)模擬的結(jié)果稍好。以上事實有力證明了本文所選數(shù)據(jù)的可靠性,基于這些數(shù)據(jù)的結(jié)果也是科學(xué)可信的。
將高分辨率數(shù)據(jù)處理成縮小六倍的低分辨率數(shù)據(jù)用于測試,數(shù)據(jù)大小變?yōu)?0×30,空間分辨率從0.125°×0.125°降為0.75°×0.75°。每種方法展示了兩次實驗測試,測試數(shù)據(jù)選擇標準是:在測試集中選擇形態(tài)分布差異較大的兩個時刻,以保證模型對于處理不同分布狀態(tài)的低分辨率海浪數(shù)據(jù)具有普適性效果。
1.2.1 RMSE和PSNR 均方根誤差(Root-Mean-Square Error,RMSE)是一種常用的測量數(shù)值之間差異的量度,是估計量與真實量之差期望值的平方根,對于兩個m×n的矩陣I1和I2,它們的RMSE定義如式(1),本文中RMSE單位為米(m)。
(1)
峰值信噪比(Peak Signal-to-Noise Ratio,PSNR)經(jīng)常用作圖像處理等領(lǐng)域中信號重建質(zhì)量的測量方法,是一種評價圖像質(zhì)量的客觀標準。通常圖像經(jīng)過處理后,在某種程度上輸出的圖像會與原始圖像有所差別。為了衡量經(jīng)過處理后的圖像質(zhì)量,使用PSNR作為評價圖像質(zhì)量的指標,判斷圖像處理程序結(jié)果是否令人滿意。PSNR通過均方誤差(Mean Square Error,MSE)進行定義,對于兩張m×n的灰度圖像I1和I2,它們的均方誤差(MSE)定義如式(2):
(2)
峰值信噪比PSNR定義如式(3):
(3)
其中:MAXI表示圖像像素點顏色的最大數(shù)值,對于灰度圖像,圖像每個采樣點用8位表示,則MAXI=255。為了統(tǒng)一比較標準,在計算PSNR時使用標準化到0~255范圍的SWH數(shù)據(jù)。
1.2.2 SSIM 結(jié)構(gòu)相似度(Structural Similarity,簡稱SSIM)[16]被用來測量兩個圖像之間的相似性。SSIM的設(shè)計是為了改進傳統(tǒng)的圖像評價方法,如峰值信噪比(PSNR)和均方誤差(MSE)。結(jié)構(gòu)相似性的基本思想假定自然影像是高度結(jié)構(gòu)化的[17],即在自然影像中相鄰像素之間有很強的關(guān)聯(lián)性,而海浪有效波高數(shù)據(jù)也具有這種關(guān)聯(lián)性,而這樣的關(guān)聯(lián)性承載了海洋要素的結(jié)構(gòu)信息。相較于傳統(tǒng)圖像衡量指標(如PSNR),結(jié)構(gòu)相似性(SSIM)在圖像品質(zhì)的衡量上更能符合人眼對圖像品質(zhì)的判斷。
給定兩張圖像x和y,兩者的結(jié)構(gòu)相似性定義如公式(4)所示:
(4)
式中:l(x,y)是亮度項;c(x,y)是對比度項,s(x,y)是結(jié)構(gòu)項;α>0,β>0,γ>0,這三項是調(diào)整l(x,y)、c(x,y)、s(x,y)相對重要性的參數(shù);μx及μy、σx及σy分別為x和y中像素點的平均值和標準差,σxy為x和y的協(xié)方差;C1,C2,C3都為常數(shù),用來保持l(x,y)、c(x,y)、s(x,y)的穩(wěn)定。結(jié)構(gòu)相似性指標的值越大,代表兩張圖像相似度越高。本文在具體計算時,令α=β=λ=1及C3=C2/2,得到式(5):
(5)
計算SSIM時同樣使用標準化到0~255范圍的SWH數(shù)據(jù)。
1.2.3 余弦相似性(Cosine similarity) 對于兩個圖像(或矩陣)A和B,其余弦相似性(Cosine similarity)由點積和向量長度給出,如式(6)所示,式中Aij和Bij分別代表A和B對應(yīng)點的值。
對于圖像來說,像素值都為非負值,余弦相似性的范圍從0到1,1表示兩張圖像是完全相同的,0通常表示它們之間是獨立的,而在這之間的值則表示中間的相似性或相異性。為了統(tǒng)一比較標準,在計算余弦相似度時用標準化到0~255范圍的SWH數(shù)據(jù)。
(6)
1.3.1 雙三次插值 在數(shù)學(xué)上,雙三次插值(Bicubic Interpolation)是常用的二維數(shù)據(jù)的插值方法。插值后得到的曲面比雙線性插值或最近鄰插值方法得到的相應(yīng)曲面更加光滑。雙三次插值可以使用拉格朗日多項式、三次樣條或三次卷積算法。在本文中使用由Keys[18]提出的三次卷積算法。
本文中將30×30的低分辨率數(shù)據(jù)用雙三次插值的方法高分辨率處理為180×180的規(guī)格,即分辨率提高了六倍,分辨率從0.75°×0.75°變?yōu)?.125°×0.125°。
1.3.2 Kriging 在最初在地質(zhì)統(tǒng)計學(xué)中,克里金法(Kriging)或稱高斯過程回歸法(Gaussian process regression)是一種插值方法,插值后的值由先驗協(xié)方差控制的高斯過程建模得出。在適當(dāng)?shù)南闰灱僭O(shè)下,克里金法給出了對中間值的最佳線性無偏估計[19]。該方法廣泛應(yīng)用于空間分析和計算機實驗領(lǐng)域。Jessica等[20]運用Kriging方法確定鯨類動物保護的潛在區(qū)域;Lin等[21]將普通克里金法應(yīng)用于氣溫和光合有效輻射量等氣候要素的插值。本文運用了普通的克里金方法(Ordinary kriging)進行計算。
同雙三次插值方法(Bicubic interpolation)一樣,將30×30的低分辨率數(shù)據(jù)用Kriging方法高分辨率處理為180×180的規(guī)格,分辨率從0.75°×0.75°變?yōu)?.125°×0.125°。
1.3.3 SRCNN 超分辨率卷積神經(jīng)網(wǎng)絡(luò)(Super-Resolution CNN,簡稱SRCNN)是由Dong等[22]提出的解決超分辨問題的深度學(xué)習(xí)方法,計算過程如圖1所示。對于給定的低分辨率圖像Y, SRCNN的第一卷積層提取一組特征圖,第二層將這些特征映射到高分辨率的特征圖上,最后一層結(jié)合空間鄰域內(nèi)的預(yù)測,生成最終的高分辨率圖像F(Y)[22]。該方法的實質(zhì)是運用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)直接學(xué)習(xí)低、高分辨率圖像之間的映射。本次研究中,低分辨率的數(shù)據(jù)是先由高分辨率數(shù)據(jù)進行切割,得到33×33的高分辨率切片,再將切片進行六倍下采樣,然后對縮小的切片用臨近插值法處理得到與高分辨率數(shù)據(jù)尺寸相同的,但“模糊”的低分辨率數(shù)據(jù)。這樣就得到了許多一一對應(yīng)的低、高分辨率數(shù)據(jù),建模學(xué)習(xí)這些低、高分辨率數(shù)據(jù)的映射關(guān)系。
圖1 SRCNN過程展示
運用SRCNN方法時,我們需要劃分訓(xùn)練集和測試集,為了避免臨近時間造成訓(xùn)練集和測試集的高度相似,本文選取前100個時刻的高分辨率數(shù)據(jù)作為訓(xùn)練集,剩余的數(shù)據(jù)用作測試。
傳統(tǒng)的SRCNN超分辨率方法用于處理圖像,即數(shù)據(jù)類型為整型,范圍在0~255之間,而這并不能完全滿足實際海洋問題的應(yīng)用。Aurélien等[12]解決了SST圖像數(shù)據(jù)的高分辨率問題,但并沒有將其結(jié)果轉(zhuǎn)化為真實的SST數(shù)據(jù),因此也無法為進一步的海洋要素分析提供真實數(shù)據(jù),且由于圖像數(shù)據(jù)均為整數(shù),即使轉(zhuǎn)化為真實海洋數(shù)據(jù),數(shù)據(jù)取值范圍也僅有256個值,數(shù)據(jù)精度有限,這就大大降低了深度學(xué)習(xí)方法的實用性。為了解決該問題,并且與傳統(tǒng)的SRCNN方法作比較,本文設(shè)計了兩種實驗方案(SRCNN的方案一和方案二,分別用SRCNN_1、SRCNN_2表示,下同):
SRCNN_1:將SWH數(shù)據(jù)標準化到0~255范圍,存為三通道灰度圖,此時數(shù)據(jù)均為圖片格式,數(shù)據(jù)類型為整數(shù)型,用搭建好的SRCNN架構(gòu)訓(xùn)練一個六倍超分辨率重建的模型,此模型的輸入輸出格式均為圖片格式,想要得到真實的SWH數(shù)據(jù),需要逆標準化的過程,將0~255范圍的圖片數(shù)據(jù)轉(zhuǎn)化為真實SWH數(shù)據(jù)。
SRCNN_2:對傳統(tǒng)的SRCNN框架進行改進,在模型的數(shù)據(jù)讀取部分和數(shù)據(jù)預(yù)處理部分進行改進,使模型能做到大批量讀取真實SWH數(shù)據(jù),并在模型內(nèi)部進行標準化過程。重新訓(xùn)練浮點數(shù)矩陣數(shù)據(jù)的超分辨率模型,訓(xùn)練好的模型可以實現(xiàn)輸入低分辨率SWH數(shù)據(jù),輸出高分辨率SWH數(shù)據(jù),無需額外進行數(shù)據(jù)類型的轉(zhuǎn)化,使用效果更加便捷,處理數(shù)據(jù)效率更快。
將兩種方案分別在服務(wù)器上進行訓(xùn)練,除了訓(xùn)練集的數(shù)據(jù)類型不同外,其他參數(shù)均相同,網(wǎng)絡(luò)結(jié)構(gòu)的參數(shù)設(shè)置如表1所示。
表1 SRCNN網(wǎng)絡(luò)結(jié)構(gòu)
SRCNN方法使用搭建在LINUX服務(wù)器上的TensorFlow框架進行計算。TensorFlow是谷歌大腦(Google Brain)團隊開發(fā)的第二代機器學(xué)習(xí)系統(tǒng)[23]。該方法用兩塊型號為NVIDIA GeForce GTX 1080Ti的顯卡進行計算,極大提高了計算速度。具體參數(shù)的設(shè)置見表2。
表2 SRCNN方法參數(shù)設(shè)置
對于每種方法,本文選擇了兩個SWH分布差異較大的時刻進行實驗,分別為2011年1月29日18時和31日6時的SWH場。圖2和3分別展示了兩次實驗的低分辨率、高分辨率SWH場和各種方法的處理效果。
與原始高分辨率SWH相比,四種方法的高分辨率處理效果在空間分布趨勢方面均沒有很大的出入。因此在分析SWH分布這種定性問題時,雙三次插值、Kriging插值和SRCNN兩個方案的結(jié)果均能滿足要求。
從細節(jié)分析,SRCNN_1的結(jié)果如圖2(e)、3(e)所示,具有明顯的片狀結(jié)構(gòu),SWH場分布連續(xù)性不如其他的方法。這是因為該方法使用的訓(xùn)練集是圖像格式,轉(zhuǎn)化真實的SWH數(shù)據(jù)時,數(shù)值范圍為0~255的整數(shù),而SRCNN_2的設(shè)計很好地解決了這一問題,數(shù)據(jù)連續(xù)性有了明顯提高,更加適合處理SWH的高分辨率問題。
((a)低分辨率SWH;(b)原始高分辨率SWH;(c)雙三次插值;(d)kriging插值;(e)SRCNN_1;(f)SRCNN_2。(a)Low resolution SWH;(b)Original high resolution SWH;(c)Bicubic interpolation;(d)Kriging interpolation;(e)SRCNN_1;(f)SRCNN_2.)
((a)低分辨率SWH;(b)原始高分辨率SWH;(c)雙三次插值;(d)kriging插值;(e)SRCNN_1;(f)SRCNN_2。(a)Low resolution SWH;(b)Original high resolution SWH;(c)Bicubic interpolation(d)Kriging interpolation;(e)SRCNN_1;(f)SRCNN_2.)
分別計算四種方法所得結(jié)果的評價指標(SSIM,PSNR,RMSE,COSINE)(見表3)。四種方法的SSIM 和COSINE 兩項指標相差不大,結(jié)果都很接近1,說明從視覺上來看,四種方法的插值效果與原始高分辨率的數(shù)據(jù)非常相似,在定性分析SWH分布特征時均能滿足要求。從PSNR指標來看,Kriging方法最優(yōu),其次是SRCNN_2和SRCNN_1,而這三種方法與Bicubic方法相比,在PSNR上有了較大幅度的提高。RMSE指標方面,Kriging和SRCNN_2最優(yōu),明顯優(yōu)于其他兩種算法,說明Kriging和SRCNN_2方法的整體誤差比較小,誤差范圍在±0.01 m左右。但是由于Kriging方法對于不同時刻的數(shù)據(jù)都要重新進行大量計算,因此處理大批量數(shù)據(jù)時面臨計算效率低、計算量大的問題。而SRCNN的方法在訓(xùn)練好一個區(qū)域的模型之后,可以快速、大量地處理該區(qū)域不同狀態(tài)的SWH數(shù)據(jù),每次處理過程僅僅是多層矩陣運算,大大提高了計算效率,具有快速、大批量處理數(shù)據(jù)的能力。
表3 海表面有效波高場高分辨率處理效果的不同指標
從各項指標結(jié)果上看,Kriging算法與兩種SRCNN算法都可以得到很好的高分辨率結(jié)果,且明顯優(yōu)于傳統(tǒng)的Bicubic算法。而SRCNN_2的各個指標都要優(yōu)于SRCNN_1,表明本文對于SRCNN方法的改造有明顯的提升效果。SRCNN_2在與Kriging方法效果相當(dāng)?shù)那疤嵯拢蟠罂s短了計算時間和計算量,處理大量的低分辨率數(shù)據(jù)時,深度學(xué)習(xí)的方法具有更高的計算效率。
本文計算了每一點的估計誤差,并求得各種方法所造成誤差的最大、最小值(見表4)。分析表中數(shù)據(jù)可得,在最大、最小估計誤差方面,Bicubic算法、Kriging算法和SRCNN_1效果相近,SRCNN_2效果優(yōu)于這三種算法,不容易出現(xiàn)很大的偏差。雖然上文的結(jié)果顯示Kriging整體均方根誤差比較小,但其在某些點的處理效果不佳,會造成較大的誤差。SRCNN_2相比SRCNN_1有了進一步的優(yōu)化,與其他三種方法相比,SRCNN_2的結(jié)果在極端海浪狀況的分析問題上更具有優(yōu)勢。
表4 海表面有效波高場高分辨率處理誤差的最大、最小值
進一步分析誤差的空間分布規(guī)律,圖4和5分別展示了兩次實驗的估計誤差分布場,分析誤差分布特點可以看出:Kriging方法的整體估計(見圖5(b))偏高在邊緣處的估計偏低且誤差大,兩種SRCNN算法的誤差分布場整體趨勢與Bicubic算法一致,但誤差范圍明顯小于Bicubic算法,SRCNN_2比SRCNN_1的誤差分布更加均勻,Bicubic、SRCNN_1和 SRCNN_2這三種方法的誤差場分布與原始海浪SWH場的分布有關(guān)。
((a)雙三次插值;(b)kriging插值;(c)SRCNN方案一;(d)SRCNN方案二。(a)Bicubic interpolation;(b)Kriging interpolation;(c)SRCNN_1;(d)SRCNN_2.)
((a)雙三次插值;(b)kriging插值;(c)SRCNN_1;(d)SRCNN_2。(a)bicubic interpolation;(b)Kriging interpolation;(c)SRCNN_1;(d)SRCNN_2.)
為了進一步測試SRCNN_2方法的效果,選取0.75°S~23.125°S,66.875°W~89.25°W的近岸海域進行測試,測試效果如圖6所示。相比于雙三次插值,SRCNN_2方法在海岸線的還原上效果較好,但是靠近海岸線部分的值偏小。誤差原因可能如下:在卷積過程中,對陸地的處理是將其設(shè)置為0值,因此在海陸過渡處的插值偏小;訓(xùn)練集中的數(shù)據(jù)均不包含近岸處的浪場,沒有很好地將近岸的高、低分辨率數(shù)據(jù)的映射關(guān)系學(xué)到網(wǎng)絡(luò)中。在今后的實驗中,在訓(xùn)練集中加入近岸的數(shù)據(jù),會得到較好的改善。
((a)低分辨率SWH;(b)原始高分辨率SWH;(c)雙三次插值;(d)SRCNN_2。(a)Low resolution SWH;(b)Original high;resolution SWH;(c)Double cubic interpolation;(d)SRCNN_2.)
總結(jié)以上研究得出結(jié)論:整體指標排名:Kriging>SRCNN_2>SRCNN_1>Bicubic,計算效率排名:SRCNN_2>SRCNN_1>Bicubic> Kriging,誤差極值效果排名:SRCNN_2>SRCNN_1>Bicubic> Kriging。
綜上所述,改進的SRCNN方法(SRCNN_2)是一種在整體效果、局部細節(jié)和計算效率方面均比較優(yōu)秀的高分辨率處理方法,運用顯卡進行并行運算大大節(jié)約了計算時間,實現(xiàn)了用深度學(xué)習(xí)方法直接處理原始海浪數(shù)據(jù),提高了深度學(xué)習(xí)方法在海洋數(shù)據(jù)處理中的實際應(yīng)用價值。相比于傳統(tǒng)的Bicubic和Kriging方法,SRCNN_2的結(jié)果為SWH定性分析、定量分析和異常情況分析等提供了更加可靠的數(shù)據(jù)支持。
在之后的研究中,作者將使用不同的神經(jīng)網(wǎng)絡(luò)模型進行高分辨率處理,擴大研究的空間范圍和時間范圍,討論不同方法誤差分布的規(guī)律及產(chǎn)生原因,增加測試量,在地形復(fù)雜的近岸海域區(qū)域進行計算和實驗,進一步提高結(jié)果的說服力。