張雨昕,邱 波,石超君,李夢慈,相冠杰
(河北工業(yè)大學,天津 300401)
全天相機[1]拍攝的云圖是判斷地球大氣條件的重要依據(jù),對天文選址工作至關重要,而云量是全天相機云圖的重要信息之一。云量是指特定類型的云(部分云量)或全部類型的云(總云量)覆蓋天空的估計比例。目前對于云量計算的研究大部分基于云檢測實現(xiàn),一類是根據(jù)云點與總像元點之間的比值計算云量,比如國際衛(wèi)星測云氣候?qū)W計劃(International Satellite Cloud Climatology Project, ISCCP)根據(jù)像元輻射值與晴空輻射之間的關系,判斷像元是云點還是非云點[2]。閾值法根據(jù)天空與云的紅藍波段比值的不同,利用固定閾值[3]、全局自適應閾值[4]、局部閾值[5]對云點進行判斷。超高分辨率輻射儀第一階段云量算法(Clouds from Advanced Very High Resolution Radiometer phase 1 algorithm, CLAVR-1)[6]將像元分為無云、混合和有云3類。中等分辨率成像光譜儀云量算法(Moderate Resolution Imaging Spectroradiometer, MODIS)[2]將像元分為確定云、可能云、可能晴空、晴空4類。此外還有超高分辨率輻射儀拓展云量算法(Clouds from Advanced Very High Resolution Radiometer Extended algorithm, CLAVR-X)[6]、高分辨率紅外測深儀云量算法(High-resolution Infrared Radiation Sounder, HIRS)[7]等。但是它們都是將像元分為有限的幾個類別做定性分析,這無疑是很粗糙的。此外還有基于特征的云檢測分類算法如隨機森林、支持向量機、貝葉斯分類器[8]、K-means++[9]、神經(jīng)網(wǎng)絡[10]等,主要基于顏色[11-14]或紋理特征[12]進行云區(qū)域分割。近年來深度學習在云檢測領域得到了廣泛應用,比如基于深度殘差全卷積網(wǎng)絡[14]的云檢測方法實現(xiàn)了對遙感影像云層目標像素級別的分割,像素精度達到93.33%;還有基于帶權重的多尺度融合分割網(wǎng)絡的遙感云圖云檢測方法[15],像素精度可達95.39%;改進的全卷積神經(jīng)網(wǎng)絡實現(xiàn)了日間地基云圖和夜間地基云圖的云區(qū)域分割[16],像素精度達到94.59%。另一類根據(jù)像元輻射量與反射率的比值計算等效云量,僅是對云覆蓋面積的反映。因此無論是云量還是等效云量,現(xiàn)階段云量的研究只關注云層的覆蓋面積而忽略了云的分布密集程度。
目前30 m口徑望遠鏡(Thirty Meters Telescope, TMT)觀測云量時使用人工判讀云圖法:分別在天頂距44.7°和65°處畫圓(在圖1中用藍色和綠色標注),將全天云量分為外圈以內(nèi)無云(Clear),外圈以內(nèi)厚云覆蓋超過50%(Covered),內(nèi)圈有云(Inner)和內(nèi)圈無云、外圈到內(nèi)圈之間有云(Outer)4類。本質(zhì)上說,人工判讀法主要基于全天相機(All-Sky Imager, ASI)圖像中云區(qū)域的比例測量云量,對云分布的密集程度考慮不充分,并且沒有直觀可靠的定量指標。
圖1 全天相機云圖區(qū)域劃分Fig.1 Division of ASI image region
針對上述問題,本文提出了一種新的云量測量指標——云分布密度,用于描述圍繞云圖中心點的全天云量的分布情況。本文的主要創(chuàng)新點有:(1)將云點與云圖中心點之間的距離變量引入云量計算,定義了云分布密度的計算模型;(2)重新定義云面積的計算模型,引入云層厚度變量;(3)提出了一種基于云分布密度和云面積的云圖自動分類系統(tǒng),使用4種傳統(tǒng)分類算法(支持向量機、K最鄰近法、決策樹和隨機森林)并選取1 511幅云圖數(shù)據(jù)進行實驗分析,結果表明,隨機森林的分類結果最好,并且對各種類型的云圖具有很高的識別精度。
本文使用的云圖數(shù)據(jù)來源于中國科學院國家天文臺光學天文學重點實驗室,大小為1 411 × 1 411像素。數(shù)據(jù)集中有1 511幅全天相機云圖,其中295幅外圈以內(nèi)無云,696幅外圈以內(nèi)厚云覆蓋超過50%,277幅內(nèi)圈有云,243幅內(nèi)圈無云、外圈到內(nèi)圈之間有云。
云分布密度的提出主要是為了說明云區(qū)域距云圖中心的遠近對天文觀測結果的影響,距離中心越近,影響越大,反之越小,云分布密度是對這種影響進行量化表示。云分布密度有3個決定要素:面積、厚度和距云圖中心的距離。在歸一化處理后的云區(qū)域灰度圖的基礎上,我們將云區(qū)域劃分為N個單位云區(qū)域xi(i=1,2, ...,N),xi的面積為si,平均云層厚度為wi,云區(qū)域中心點距云圖中心點的距離為di,一幅全天相機圖像的云分布密度可以表示為
(1)
其中,f是以di為自變量的云區(qū)域分布密度函數(shù)。由于設備和裁剪的問題,距離參數(shù)不固定,因此取相對距離di*=di/R,其中,R為全天相機有效區(qū)域半徑。
云分布密度主要尋找合適的函數(shù)表達云區(qū)域距云圖中心點距離對觀測的影響。根據(jù)云分布密度的定義,相同面積的云區(qū)域距離中心點越近,對觀測影響越大。(1)式中的距離分布函數(shù)f是隨di遞減的函數(shù),在云圖中心點分布密度最大。由于本文對全天相機云圖的分類是基于30 m口徑望遠鏡的判斷標準,在參數(shù)設定上考慮內(nèi)圈和外圈的影響。經(jīng)過多次試驗和與人工觀測的結果對比研究,設定云圖中心點分布密度為1,內(nèi)圈為0.7,外圈為0,經(jīng)MATLAB線性擬合距離分布函數(shù)和相對距離的關系如圖2,用公式表示為
圖2 距離分布函數(shù)f與相對距離di*的關系
f(di*)=-24.33sin(di*-π)+1.228(di*-10)2-121.8 ,
(2)
其中,正弦項是為了修正擬合的二次函數(shù),使其滿足遞減條件。
在實際運算中以每個像素點為計算單位,可使云分布密度測量精確到像素級別,由此單位云區(qū)域xi為云圖像素點,面積si為1。由于云圖中天空呈藍色而云呈白色,且云層越厚云越白,即云層厚度與云點的灰度值呈正比,因此云層厚度wi由灰度值Vi表示為
wi=Vi/255 ,
(3)
其中,Vi的取值范圍為0~255。綜合(1),(2)和(3)式可得到基于像素的云分布密度計算模型
(4)
其中,Vi為云圖像素值;di為該像素點距云圖中心點的距離;Ncloud為云點總數(shù)。計算結果進行歸一化,使云分布密度值映射到0~100之間。圖3表示4類云圖的云分布密度情況,可以看出各類云圖有較明顯的分界,說明云分布密度可以作為基于云量的云圖分類標準。
圖3 4類云圖的云分布密度
目前國際上主要針對衛(wèi)星云圖根據(jù)云檢測得到云像元,將云像元分為不同的種類,統(tǒng)計計算每種像元的概率,從而得到總云量,以此反映云層的覆蓋面積。本文在超高分辨率輻射儀拓展云量算法的基礎上,以云圖的每個像素點定義云面積的計算模型,所有像素點的加權面積和與整個云圖有效區(qū)域的面積比作為代表云面積(Scloud)的指標,以云層厚度作為云點面積權重,即根據(jù)灰度值定義權重參數(shù),灰度值Vi的取值范圍為0~255,將其線性劃分為255個等級。云面積計算公式為
(5)
其中,Sglobal為云圖有效區(qū)域面積,以像素為單位,本文中Sglobal=7062π≈1 565 882 pixel。
國內(nèi)已有關于云圖自動分類的相關研究:文[17]結合衛(wèi)星云圖的紋理特征和光譜特征,采用支持向量機算法實現(xiàn)衛(wèi)星云圖的自動分類;文[18]提出一種針對全天相機云圖的云量自動計算方法,并根據(jù)30 m口徑望遠鏡判讀全天相機云圖的方法對云圖進行自動分類。但這兩種方法沒有對全天相機云圖的云量特征進行深入描述。本文以云分布密度和云面積描述云圖的云量特征,并結合機器學習算法構建基于云量計算的云圖分類系統(tǒng)。圖4是自動分類系統(tǒng)的流程圖,云圖經(jīng)去噪、分割云區(qū)域圖像后進行云量的數(shù)值計算,最后以云分布密度和云面積為特征的分類器對云圖進行自動分類。
圖4 云圖自動分類系統(tǒng)流程圖Fig.4 Cloud map automatic classification system flow chart
云圖的固定噪聲[19]會影響云檢測的準確度,進而影響云量計算和云圖分類的結果。本文主要針對嚴重影響云檢測準確度的兩種噪聲——星光噪聲和日月光噪聲進行云圖去噪,見圖5(a),(b)。
本文采用最大類間方差算法進行云區(qū)域檢測,云區(qū)域標記為1,天空背景標記為0,得到二值圖像如圖5(c)。在此基礎上將二值圖像與原圖相乘可以分割出云區(qū)域,然后將分割圖進行灰度歸一,消除云圖之間的明暗差異,最終云圖分割結果如圖5(d)。
圖5(a)原圖(灰度圖);(b)去噪結果;(c)云區(qū)域檢測;(d)云圖分割Fig.5(a) Original image (gray scale image); (b) Denoising image; (c) Cloud area detection; (d) Cloud segmentation.
在云區(qū)域分割的基礎上計算每幅云圖的云分布密度和云面積,作為下一步云圖分類的特征。表1顯示了數(shù)據(jù)集中部分云圖的云分布密度和云面積,圖6展示了數(shù)據(jù)集中云圖的兩個指標之間的關系,圖中離差(Deviation)計算公式為
σ=|Scloud-Dcloud/100|.
(6)
由圖6可以看出,云分布密度和云面積整體上呈正相關。經(jīng)統(tǒng)計,76.44%的云圖的離差在0.1以內(nèi),93.78%的云圖的離差在0.2以內(nèi)。但在云較少(Scloud< 0.3)的情況下,兩者并非嚴格正相關,離差較大,出現(xiàn)云面積較高但云分布密度較低的情況,這在表1列舉的樣例中也有體現(xiàn)。這是由于云分布密度的計算模型中加入了云點和中心點的距離影響:云面積大但距中心點遠,云多分布在云圖邊緣,云分布密度低;反之,云面積小但距中心點近,云多位于云圖中央,云分布密度高,不利于天文觀測。云分布密度和云面積非正相關的情況多出現(xiàn)在Clear類和Outer類,可能導致這兩類的誤判。
圖6 云分布密度和云面積之間的關系Fig.6 The relationship of ASICDD and Scloud
表1 部分云圖的云分布密度和云面積Table 1 ASICDD and Scloud value of some ASI image
本文采用支持向量機、K最鄰近法、決策樹和隨機森林進行分類測試。數(shù)據(jù)集中訓練集包含1 056幅全天相機圖像,其中有206幅外圈以內(nèi)無云,489幅外圈以內(nèi)厚云覆蓋超過50%,199幅內(nèi)圈有云,162幅內(nèi)圈無云、外圈到內(nèi)圈之間有云。另外455幅全天相機圖像用作測試集,包括89幅外圈以內(nèi)無云,207幅外圈以內(nèi)厚云覆蓋超過50%,78幅內(nèi)圈有云,81幅內(nèi)圈無云、外圈到內(nèi)圈之間有云。本文基于Python中的Scikit-learn(Sklearn)對全天相機圖像進行分類,每幅云圖的云分布密度和云面積作為分類特征,訓練集用于訓練4個分類器,結合分層洗牌分割交叉驗證訓練超參數(shù),使用準確率(Accuracy)作為模型評分。另采用文[17]中的結合紋理特征與支持向量機的方法作對比,基于灰度共生矩陣(Gray-level Co-occurrence Matrix, GLCM)提取圖像的灰度和紋理特征,結合支持向量機進行云圖分類。
為了全面評價本文提出的基于云分布密度和云面積的云圖自動分類系統(tǒng)的分類效果,本文以分類準確率(Accuracy)、精準率(Precision)、召回率(Recall)和F1-score作為評判指標,對測試集455幅全天相機圖像進行自動分類,并與國家天文臺提供的人工分類標簽作對比,以人工分類結果為準,評估不同分類算法在各類云圖上的分類性能。4個指標定義為
A=(TP+TN)/(TP+FP+TN+FN),
(7)
P=TP/(TP+FP),
(8)
R=TP/(TP+FN),
(9)
(10)
其中,TP表示實為正并劃分為正的樣本數(shù);TN表示實為負并劃分為負的樣本數(shù);FP表示實為負卻劃分為正的樣本數(shù);FN表示實為正卻劃分為負的樣本數(shù)。測試集的預測結果如表2,從表2可以看出,本文使用的4種算法在各類云圖的識別準確率上均達到90%以上,表明本文提出的云分布密度和云面積可以作為可信的云量指標,在云圖自動分類工作中展現(xiàn)了優(yōu)良的性能??傮w準確率最高的是隨機森林算法,Covered和Inner達到了100%準確識別。但Outer類準確率最高的是文[17]中的方法,本文提出的方法很容易將Outer類誤判為Clear類?;诨叶裙采仃囂卣魈崛〉姆椒▽uter類的識別較準確,但對Clear類和Inner類的識別準確度較差,因此總體準確率不如本文方法。
表2 自動分類準確率對比Table 2 Comparison of accuracy of automatic classification results
對于誤判的云圖,進行如圖7所示的分析。圖7(a)是人工判定標簽為Clear,系統(tǒng)自動識別為Clear的云圖;圖7(b)是人工判定標簽為Outer,系統(tǒng)自動識別為Clear的云圖(誤判云圖),由圖7可以看出,圖7(a),(b)在外圈以內(nèi)均有云存在,圖7(a)中云較薄,分布較分散,圖7(b)中云較厚,分布較為集中,(a)圖的云分布密度和云面積均大于(b)圖,因此導致系統(tǒng)誤判。
圖7 云圖誤判分析Fig.7 Misjudgment analysis of cloud images
實驗采用精準率、召回率和F1-score對分類結果進行評判,表3顯示了3種分類器的分類結果評分,總體評分取樣本的宏平均。從表3可以看出,隨機森林分類器的各項總評分最高,總精準率達到98.41%,總召回率達到98.2%,總F1-score達到98.3%,在本文自動分類系統(tǒng)中的分類性能最好。
表3 使用精準率、召回率和F1-score評估分類結果Table 3 Using precision, recall, and F1-score to evaluate classification results
本文提出了一個計算全天相機云圖云量的直觀可信的數(shù)值指標——云分布密度,并基于云量的數(shù)值特征建立云圖自動分類系統(tǒng),該系統(tǒng)實現(xiàn)了較高的識別準確率。本文測試了支持向量機、K最近鄰、決策樹和隨機森林4種傳統(tǒng)算法,其中隨機森林的準確率最高,各類云圖的識別準確率達95%以上,但是還存在云圖誤判的情況,需要進一步完善計算模型。此外,云圖的光照條件容易影響云層厚度的判斷,本文未能完全消除光照的影響,因此在接下來的研究中需要考慮光照的影響,通過去噪消除或是建立基于光照模型的云量計算模型。除此之外,還可以結合最新的機器學習算法完善系統(tǒng),提高系統(tǒng)的識別準確率。