王 敏,周樹道,劉展華,任尚書
(1.國防科技大學(xué) 氣象海洋學(xué)院,江蘇 南京 211101;2.南京信息工程大學(xué) 氣象災(zāi)害預(yù)警與評估協(xié)同創(chuàng)新中心,江蘇 南京 210044;3.解放軍95171部隊,廣東 廣州 510000)
云是地球上水文循環(huán)的一個重要環(huán)節(jié),它與地面輻射相互作用共同影響著局地和全球尺度的能量平衡[1-3]。云分類對天氣預(yù)報很重要,直接決定著降水、降雪、雹和雷電等天氣活動。地基云觀測數(shù)據(jù)主要包括云量、云狀、云底高度,根據(jù)三者的不同表現(xiàn)可以將云分為3族、10屬、29類,具有種類多、變化快、相似、易與天空背景融合等特點。實際觀測中人工觀測為主,存在著主觀性強、準靜態(tài)、成本高、觀測點偏少以及信息記錄不完整等問題。目前的地基云圖云狀自動化識別方法通常采用圖像預(yù)處理→特征提取→分類器分類這樣的流程。
大多數(shù)研究者[4-7]重點研究表達不同云屬性的特征提取技術(shù),但這種識別分類方法是基于人工經(jīng)驗提取特征的,且各個環(huán)節(jié)都是獨立的,只有簡單的兩三層學(xué)習(xí)網(wǎng)絡(luò),實則是一種“淺層學(xué)習(xí)”,致使此類方法適用的云類別范圍有限,加之分類器的選取、云的復(fù)雜變化,影響了器測云狀識別的識別精度及識別速度,僅能簡單識別積云、層云、高積云、卷云等少數(shù)四至五類典型云的自動識別。
在圖像分類問題上,卷積神經(jīng)網(wǎng)絡(luò)(CNN)[8-9]表現(xiàn)搶眼且具有鮮明的優(yōu)勢:它無需人工選取特征,只需要設(shè)置適宜的參數(shù),就能取得較高的精度,而且對不同類型的目標物往往都能很好地應(yīng)用。卷積神經(jīng)網(wǎng)絡(luò)具有非比尋常的從樣本中學(xué)習(xí)特征的能力,這個學(xué)習(xí)的過程就是訓(xùn)練。在有監(jiān)督的學(xué)習(xí)中,訓(xùn)練需要大量帶有標簽的圖像樣本。因此,在使用卷積神經(jīng)網(wǎng)絡(luò)對地基云圖進行相關(guān)研究時,建立云圖樣本庫是第一步,也是非常重要的一步。在擁有了一定量的圖像資源以后,如何對其進行評價和預(yù)處理,使它們最大程度地服務(wù)于實驗本身,也是需要考慮的問題。
本文中將詳細闡述說明地基云圖數(shù)據(jù)庫建立及處理方法。首先,通過數(shù)碼相機直接拍攝、從互聯(lián)網(wǎng)上下載、從公開發(fā)行的云圖類書籍獲取以及由全天空照相機拍攝等手段獲取三個云圖樣本庫;接著,對三個樣本庫圖像的分辨率、噪聲、數(shù)量等問題進行了分析;最后,采用雙線性插值和數(shù)據(jù)增強方法對樣本庫進行歸一化預(yù)處理,為卷積神經(jīng)網(wǎng)絡(luò)在地基云圖識別的應(yīng)用奠定基礎(chǔ)。
要建立云圖樣本庫,必須要獲取帶有分類標簽的彩色三通道地基可見光云圖像,圖像中最好能夠以云為主體且只有一類云而不宜是多類云的混合。目前獲取云圖主要途徑有:數(shù)碼相機直接拍攝、從互聯(lián)網(wǎng)上下載、從公開發(fā)行的云圖類書籍獲取、由全天空照相機拍攝產(chǎn)生,如圖1所示。不同來源的云圖差別可見表1。
圖1 地基云圖樣本的不同來源
在實際中,這些途徑獲取的大部分圖像是不帶有標簽的(即沒有定義所屬類別),所以獲取能夠用于CNN訓(xùn)練的云圖工作量比較大。本文根據(jù)實驗實際需要,收集整理了3個云圖樣本庫,為了便于區(qū)分,將它們分別命名為SWIMCAT樣本庫、Total-sky樣本庫、Online-image樣本庫。
表1 不同來源的云圖樣本特點分析
(1)SWIMCAT樣本庫
SWIMCAT樣本庫主要是使用廣角高分辨率天空成像系統(tǒng)拍攝的圖像,該系統(tǒng)是一個地基全天空成像儀,主要由一個佳能EOS 600D相機機身和Sigma圓形魚眼鏡頭組成,視野180°,可以定期自動捕獲圖像。SWIMCAT樣本庫共包含了由地基全天空成像儀獲取的5個云類別的784個圖像斑塊[10],斑塊即為從整張圖片中剪切的一部分。這五種類別云包括晴空(sky)、有圖案的云(pattern)、厚重的烏云(thick-dark)、厚重的白云(thick-white)和面紗云(veil)。所有圖像斑塊均為125×125像素,圖片格式為png,如圖2所示。
圖2 SWIMCAT樣本庫示例
(2) Total-sky樣本庫
Total-sky樣本庫包含5 000張全天空圖像,是從位于西藏(29.25 N,88.88 E)海拔4 000 m以上的天空照相機TSI(Total-sky cloud imager)上獲取的,TSI主要包括一個每10 s拍攝一次的數(shù)字相機和一個曲面鏡。所有圖像以jpg格式存儲,分辨率為800×800像素。圖像分為五種天空條件:卷云狀(cirrus)、積云狀(cumulus)、層狀(stratus)、晴空(clear)和混濁(hybird),示例見圖3。
圖3 Total-sky樣本庫示例
(3) Online-image樣本庫
Online-image樣本庫主要搜集了《航空氣象云圖》、《中國云圖》、國家氣象局官方網(wǎng)站等來源共1 049幅帶標注類別的地基可見光云圖像,所有的圖片都存儲為jpg格式,多數(shù)圖片長寬不相等且分辨率也各不相同,高積云原始歸檔圖庫如圖4所示。
在收集完這些圖像后,需逐一驗證原有標注的準確性,并將它們按照云分類的10個類別進行歸檔,分別是Cu(積云)、Cb(積雨云)、Sc(層積云)、St(層云)、Ns(雨層云)、As(高層云)、Ac(高積云)、Ci(卷云)、Cs(卷層云)、Cc(卷積云)。
(1)分辨率
從示例圖片可以看出,SWIMCAT樣本庫和Total-sky樣本庫的圖片長寬像素相同,均為正方形圖片,而Online-image樣本庫分辨率不一致且各圖片長寬像素不相等。根據(jù)CNN卷積運算機制,輸入圖片需長寬相等,且在分辨率大小方面,Total-sky和Online-image樣本庫都有像素大于800×800的樣本存在,訓(xùn)練時會導(dǎo)致參數(shù)量過多,訓(xùn)練時間過長。綜合以上考慮,三個樣本庫在進入網(wǎng)絡(luò)訓(xùn)練之前,必須要經(jīng)過預(yù)處理,將圖片長寬各自統(tǒng)一到同一數(shù)值,調(diào)整圖像大小后的樣本庫的圖片樣例見圖5,圖片下方對應(yīng)字母為類別,數(shù)字為數(shù)量。
(2)噪聲
在SWIMCAT樣本庫和Total-sky樣本庫中,除了云和天空之外幾乎沒有其他噪聲,而Online-image樣本庫的圖片中還包含樹木、房屋等噪聲。噪聲無疑會影響分類準確率,因此將Online-image樣本庫原圖像向外縮放,突出云的主體地位,然后將之作為一組樣本輸入進網(wǎng)絡(luò)以便CNN更好地學(xué)習(xí)主體特征。
(3)可辨別性
SWIMCAT樣本庫和Total-sky樣本庫中的圖片均被分為5個類別,無論從類別數(shù)還是從類間差異度上來看,都更便于用戶關(guān)注分類算法。而Online-image樣本庫分類的難度明顯更大,不僅是因為需分成10個類別,更因為樣本中存在一些不利于圖像分類的特征:一是同一類別圖片中的云可能從外觀上相差較大,二是有些不同類別的云可能肉眼上難以分辨,三是部分圖片中的噪聲因素,如圖6所示。CNN的卷積操作可以有效提取圖像信息,經(jīng)過上百個卷積核的數(shù)次訓(xùn)練,完成區(qū)分主次、規(guī)避噪聲的目標也并不難。而且從歷史案例來看,CNN完成的比Online-image樣本庫更復(fù)雜的分類任務(wù)非常多,如果分類精度不佳,可以再增加樣本量、提高網(wǎng)絡(luò)復(fù)雜度、優(yōu)化具體參數(shù)。
建立樣本庫,除了要關(guān)注樣本圖片的分辨率、噪聲、數(shù)量等基本的參數(shù)信息,還有一些“軟實力”是必須要注意的,主要體現(xiàn)在以下三個方面。
(1)樣本庫的真實性和多樣性
用樣本庫來訓(xùn)練CNN,樣本真實性是最基本的,如果樣本庫本身的標簽就是錯誤或是帶有爭議的,那么網(wǎng)絡(luò)就會學(xué)習(xí)到錯誤的特征,進行錯誤的鑒別,當使用這類圖片來訓(xùn)練時,勢必影響分類的準確率。而樣本庫的多樣性不單是指每個分類的數(shù)量,更加關(guān)注每個類別在圖像這一媒介上的不同表現(xiàn)形式。對于同一的類型的云,很可能就“橫看成嶺側(cè)成峰,遠近高低各不同”,所以要盡量擴充樣本的多樣性。這里預(yù)先請兩位老觀測員對每一個樣本逐一進行了再標注核準,如果兩人分類意見不一致,則不再使用該樣本。通過此種方法,力求把標注不準確對實驗造成的誤差降到最低點。
(2)樣本庫的大小問題
CNN的訓(xùn)練需要大數(shù)據(jù)的支撐,那么對于樣本庫來說,什么情況為數(shù)量足夠?什么情況為樣本不足?完成一個分類任務(wù)究竟需要多少樣本?研究表明,訓(xùn)練樣本量沒有絕對的最小和最大量,通常與所需要進行的分類任務(wù)相關(guān),任務(wù)越復(fù)雜,需要的樣本越多。例如,如果只是對黑白圖像進行分類,那么只需要很少的訓(xùn)練樣本,如果要對ImageNet圖片庫進行分類,那么每個類別至少需要1 000張圖片。在小樣本數(shù)據(jù)集中,訓(xùn)練一個新的CNN網(wǎng)絡(luò)需要花費大量資源,往往會導(dǎo)致過擬合。所以在實際操作中,如果出現(xiàn)過擬合或者分類精度過低,那么可以推測,所使用的樣本還不夠,需通過擴充樣本庫的方法來提高精度。本研究中,Online-image樣本庫中個別類別只有幾十張圖片,面對10個類別的分類任務(wù),擴充數(shù)據(jù)以作對比實驗就是一個很好的選擇。
為了使資產(chǎn)評估行業(yè)快速發(fā)展,目前我國正加速對資產(chǎn)評估實踐方面的大量推廣。雖然從短時間來看,比較符合我國當前的經(jīng)濟情況,但是如果從長遠來看,這真的會對整個資產(chǎn)評估行業(yè)產(chǎn)生益處嗎?馬克思主義理論告訴我們,理論與實踐要相互結(jié)合,要用理論來指導(dǎo)實踐。只有將理論基礎(chǔ)打得扎實,才能不斷地研究出更高深的資產(chǎn)評估理論,使我國資產(chǎn)評估行業(yè)形成一個良性循環(huán)。目前,我國資產(chǎn)評估理論教育還處于起步階段,尚處于摸索階段,無法全面地將所有理論知識進行深入教導(dǎo)。
(3)樣本庫的平衡
樣本庫在建立完善的過程中,很有可能存在各個類別的樣本數(shù)量并不接近甚至相差較大的情況,如本研究中Online-image樣本庫,高積云有239個樣本,卷積云只有35個,這就屬于樣本庫不平衡。研究表明,樣本庫不平衡時,可能會影響分類精度。影響精度的情況是,樣本較豐富的類別識別準確率高,而樣本量少的類別識別精度尤為低。如果出現(xiàn)這種情況,可以擴充樣本量少的類別的樣本量,直至精度提高到應(yīng)有水平。
樣本庫存在的上述問題會影響實驗的進行,所以在將樣本輸入進CNN之前,必須對其進行預(yù)處理。圖像預(yù)處理的方法有很多種,包括處理框標注、調(diào)整圖像大小、色彩調(diào)整等。在本研究中,針對原始樣本庫分辨率不一致,需要統(tǒng)一調(diào)整圖像大小的需求,進行雙線性插值操作;針對Online-image樣本庫存在噪聲且需要擴充數(shù)據(jù)的需求,采用了數(shù)據(jù)增強的方法。
圖像的大小調(diào)整是圖像分類問題中的基本技術(shù),在批量更改圖片輸入尺寸或者需將不同尺寸圖片處理到同一大小時,通常會用到此方法。在本研究中,Online-image樣本庫圖片尺寸不一致、長寬像素不同,但是在CNN網(wǎng)絡(luò)結(jié)構(gòu)當中,輸入節(jié)點的個數(shù)通常是固定的,所以圖像在進入網(wǎng)絡(luò)之前大小必須得到統(tǒng)一。
圖像大小調(diào)整的目的是放大或縮小圖像的像素,同時保持原始圖像的細節(jié)和感知質(zhì)量。通??梢赃x擇兩種方案,一是對圖像進行線性插值操作,二是對圖像進行剪裁。由于云圖像中云的分布比較分散,裁剪可能會減少圖像中的有用信息,因此選擇保留信息更全也是更常用的雙線性插值方法[12],其表達式為:
f(x,y)=
(x-x1)(y2-y)f(x2,y1)+(x2-x)(y-y1)f(x1,y2)+
(1)
其中f(x,y)為目標圖像在像素點(x,y)處的灰度值,f(x1,y1)、f(x2,y1)、f(x1,y2)和f(x2,y2)分別為點(x,y)周圍四個像素點(x1,y1)、(x2,y1)、(x1,y2)和(x2,y2)的圖像灰度值。
由于雙線性插值可以通過簡單的計算來實現(xiàn),使得其使用率非常高。除了網(wǎng)絡(luò)需求需要調(diào)整大小之外,有的樣本分辨率過大會影響計算速度,也可以通過這種操作調(diào)整圖像大小。通過雙線性插值將原分辨率600×397的圖片調(diào)整到397×397的樣例,如圖7所示。
圖7 雙線性插值法處理圖片效果示例
當深度學(xué)習(xí)使用大型樣本庫進行訓(xùn)練時,樣本提供信息的能力常常會被放大,所以深度學(xué)習(xí)非常重視數(shù)據(jù)的獲取[12],增加樣本庫的大小是提高深度學(xué)習(xí)模型泛化能力的有效途徑。然而,獲取新數(shù)據(jù)是一項昂貴且耗時的工作,為了解決數(shù)據(jù)采集問題,通常采用一種正則化技術(shù)——數(shù)據(jù)增強,來人工合成新的訓(xùn)練數(shù)據(jù),增加訓(xùn)練集的大小。近年來,在一些機器學(xué)習(xí)任務(wù)中,特別是在分類方面,數(shù)據(jù)增強取得了巨大的成功[13]。對于圖像分類任務(wù),采用一些圖像變換方法從訓(xùn)練集中生成新的樣本非常實用和有效,常用的數(shù)據(jù)增強方法有翻轉(zhuǎn)、旋轉(zhuǎn)、裁剪和縮放、移動、顏色抖動、加入噪聲和PCA(主成分分析)抖動等幾種。
Online-image樣本庫包含10個類別,類別里最少的僅有35張圖片,需要對樣本進行擴充。本文主要采取了水平翻轉(zhuǎn)、縮放、亮度調(diào)整3種方法,將樣本數(shù)擴充到原來的4倍,擴充后的圖片樣例見圖8。具體方法選擇主要有以下幾點考慮:
(1)水平翻轉(zhuǎn)、縮放、亮度變換都是經(jīng)典的數(shù)據(jù)增強方法,對云圖的基本信息改變不大又能使網(wǎng)絡(luò)學(xué)習(xí)到更為豐富的特征,計算簡單便于實現(xiàn),所以選擇了此三種方法。經(jīng)驗表明,向外縮放20%和增加亮度20%效果最佳。
(2)由于云圖像中云的垂直特征(特別是云底的紋理特征)通常是云識別的重要因素,因此諸如垂直翻轉(zhuǎn)和旋轉(zhuǎn)等改變云體垂直分布的方法并不適合云圖數(shù)據(jù)增強。
(3)裁剪通常是隨機的,且有可能會丟失掉云體重要信息;樣本中背景復(fù)雜,移動圖像主體并不適宜;加入噪聲和PCA抖動實現(xiàn)過程略復(fù)雜,會帶來大量的計算成本。
(4)擴充倍數(shù)選擇為4的原因是:對于云圖而言,上述3種擴充的方法都是比較經(jīng)典和適用的。誠然擴充至4倍并不代表樣本就已足夠,只能由實驗結(jié)果裁定。裁定方法是:在其他參數(shù)保持不變的基礎(chǔ)上,擴充后數(shù)據(jù)分類精度與原數(shù)據(jù)精度相差不大,則說明原數(shù)據(jù)量充足;擴充后數(shù)據(jù)精度明顯高于原數(shù)據(jù)精度,則說明原數(shù)據(jù)量不足以支撐網(wǎng)絡(luò)訓(xùn)練,可以通過增加源圖片數(shù)量或者加大擴充倍數(shù)增加樣本量,直至分類精度已不再受樣本量增加的影響。
圖8 使用數(shù)據(jù)增強方法的云圖樣例
本文設(shè)計的地基云圖自動分類卷積神經(jīng)網(wǎng)絡(luò)包含了4個卷積層、4個池化層,3個全連接層。每個增強數(shù)據(jù)集中的類別按照9:1的比例分為訓(xùn)練集和測試集,隨機選取樣本作為訓(xùn)練樣本。批處理大小設(shè)置為64,訓(xùn)練在100個epoch處停止。使用Adam優(yōu)化器,學(xué)習(xí)率按照常用設(shè)置為0.000 8。訓(xùn)練通過權(quán)重衰減來正則化(L2正則化系數(shù)默認設(shè)置為0.000 1),前兩個全連接層則通過隨機失活進行正則化(隨機失活比例默認設(shè)置為0.5)。利用本文提出的數(shù)據(jù)增強集在卷積神經(jīng)網(wǎng)絡(luò)CNN與LBP(Local Binary Patterns),Heinle feature、Texton-based method三種方法進行云分類比較的結(jié)果見表2。
表2 方法平均準確率比較
如表2所示,所提出的數(shù)據(jù)增強樣本庫在CNN網(wǎng)絡(luò)上進行識別的表現(xiàn)明顯優(yōu)于Heinle feature、Texton-based method和LBP算法,可以有效解決卷積神經(jīng)網(wǎng)絡(luò)對小樣本數(shù)據(jù)識別率不高以及不能完整進行網(wǎng)絡(luò)運行的問題。
本文提出了一種卷積神經(jīng)網(wǎng)絡(luò)識別的地基云圖數(shù)據(jù)庫建立及處理方法。首先介紹三個樣本庫的來源和建立過程,并從樣本的分辨率、噪聲、可辨識性等屬性出發(fā),分析了各個樣本庫的基本特點。緊接著從這些基本特點出發(fā),挖掘出了整個研究中需要關(guān)注和把握的幾個問題(如:樣本庫的真實性、大小、平衡性等問題)。然后結(jié)合網(wǎng)絡(luò)運行的實際需求,闡述了采用兩種圖像預(yù)處理方法(雙線性插值和數(shù)據(jù)增強方法)的原因,并對其原理和具體操作過程進行了進一步說明。最后利用卷積神經(jīng)網(wǎng)絡(luò)CNN、LBP、Heinle feature以及Texton-based method四種方法對增強后的數(shù)據(jù)庫進行識別分類實驗驗證。
樣本庫的建立是整個研究的基礎(chǔ)工程,預(yù)處理過程是重要一環(huán),本文立足基本預(yù)處理方法,具有一定的思維邏輯性的理論支撐性,為下一步具體選擇網(wǎng)絡(luò)架構(gòu)和特征提取方法奠定了基礎(chǔ)。