崔 順,許允飛,蘇麗穎,崔辰州,樊東衛(wèi),韓 軍,王川中,張 磊,張 潔
(1. 北京工業(yè)大學機械工程與應用電子技術學院,北京 100124;2. 中國科學院國家天文臺,北京 100101;3. 中國科學院大學,北京 100049;4. 中國極地研究中心,上海 200136)
對于天文選址,云量是首先需要考慮的因素之一。觀測目標發(fā)射的光線到達地基望遠鏡的終端時,受到大氣中云的散射和吸收,大氣中云量的多少,決定了觀測數(shù)據(jù)質量的好壞,從而決定了天文可用時間和天文觀測可視域。然而,現(xiàn)在對云的觀測還是以人工觀測為主,觀測結果受人為主觀因素影響較大[1]。因此,實現(xiàn)云量的自動檢測尤為重要。
全天相機主要由電荷耦合元件(Charge Coupled Device, CCD)和魚眼鏡頭組成,通過全天相機拍攝的全天空地基云圖,具有很高的空間和時間分辨率,其分析結果能夠準確反映當?shù)氐脑屏扛采w與變化特征,適合用于全天云量信息監(jiān)測[2]。
全天相機在拍攝地基云圖時,會受到時間、天氣、光照的影響,導致獲取圖像的內容、質量有所差異。在進行云量自動檢測工作時,針對不同時段(如白天與黑夜)的圖像,云量檢測方法也不同。因此,在進行云量檢測之前,去除不可靠圖像,區(qū)分圖像場景是晴天數(shù)與晴夜數(shù)自動化統(tǒng)計的重要步驟,也是接下來云量分析工作的基礎。實現(xiàn)自動化的分類方法將減少選址人員在數(shù)據(jù)處理上的工作量。
本文根據(jù)圖像質量、應用場景等因素對全天空地基云圖做了詳細的類別劃分并基于雪龍?zhí)柸炜盏鼗茍D數(shù)據(jù)集訓練卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network, CNN)[3]分類模型,提出了全天空地基云圖的自動化分類處理方法。
使用中國科學院云南天文臺麗江觀測站全天空地基云圖數(shù)據(jù)集對模型進行分類測試,取得了不錯的分類效果,證明了模型擁有較強的泛化性能,適用于天文選址時全天空地基云圖的分類。
全天相機拍攝的全天空地基云圖種類復雜多樣,質量也不盡相同,使用大量不同且具有代表性的訓練數(shù)據(jù)能夠提高分類模型的泛化能力,使模型在新數(shù)據(jù)集上擁有較好的適應性,從而實現(xiàn)任意地區(qū)全天空地基云圖的自動化分類,為云檢測自動化系統(tǒng)的實現(xiàn)和快速部署提供支撐。
雪龍?zhí)柺俏覈鴺O地綜合科學考察專用船。2017年7月20日雪龍?zhí)枏纳虾3霭l(fā),7月31日進入北極圈,10月9日返回上海長江口水域,共航行20 590海里,成功完成了第8次北極科學考察任務。搭載在雪龍?zhí)柹系娜煜鄼C每5分鐘采集一次數(shù)據(jù),航行期間共獲得數(shù)據(jù)89.8 GB,共13 484張,圖像單張分辨率為1 000 × 625。航行沿途經(jīng)過區(qū)域廣,環(huán)境因素復雜,獲取的全天影像數(shù)據(jù)類型豐富、覆蓋性強,很適合作為模型的訓練數(shù)據(jù)。
根據(jù)應用場景做如下分析,將云圖劃分為夜晚(dark)、雨露雪(rain_snow)、過曝光(overlight)、晴空(bluesky)、少云(cloudimage)、多云(overcast)6類。
晝夜給圖像帶來不同的特性,研究的內容和方法也往往不同。云點識別時,對于白天拍攝的全天空地基云圖,通過圖像可見光波段的性質確定有云點[4];夜間則將測得的星場圖像與計算的星像圖作比較,確定那些已知的明亮恒星被云遮蓋,從而識別云[5]。因此,晝夜圖像分類便于之后的科學研究,將夜晚拍攝圖像劃分為一類,如圖1。
圖1 夜晚類典型圖像
Fig.1 Typical image of dark
對白天圖像做如下更為細致的劃分。拍攝過程中,鏡頭會受到惡劣天氣的影響,雨露雪對鏡頭的覆蓋,嚴重影響成像質量,使得這部分圖像很難應用于之后的云量檢測工作。將受雨露雪影響的圖像劃分為單獨一類,并且結合拍攝時的氣象信息,可用于輔助驗證當時的天氣狀況。雨露雪類圖像如圖2。
圖2 雨露雪類典型圖像
Fig.2 Typical image of rain_snow
正午光線充足,在強光照射下拍攝圖片容易發(fā)生過曝光現(xiàn)象,將這類數(shù)據(jù)劃分為單獨一類,可區(qū)分更有研究價值的全天空云圖數(shù)據(jù)。當曝光面積大于全天圖像面積三分之一時,認為該圖片屬于過曝光類。過曝光類典型圖像如圖3。
在去除質量較差的圖像后,根據(jù)云量的多少將剩余圖像劃分為3類,晴空類、多云類和少云類。晴空不含云,整個天空幾乎完全被云覆蓋定義為多云,其他則認為是少云,少云類也是白天云量分析工作的主要部分。為了能更好地解釋劃分標準,各類別典型代表圖像如下:晴空類如圖4,多云類如圖5,少云類如圖6。
圖3 過曝光類典型圖像
Fig.3 Typical image of overlight
圖4 晴空類典型圖像
Fig.4 Typical image of bluesky
圖5 多云類典型圖像
Fig.5 Typical image of overcast
圖6 少云類典型圖像
Fig.6 Typical image of cloudimage
在獲取的圖像中選取6 160張,進行人工分類及標注。標注具體數(shù)量如下:過曝光1 124張、多云1 128張、雨露雪1 117張、少云1 115張、夜晚1 119張、晴空557張。
中國科學院云南天文臺麗江觀測站是我國南方重要的天文觀測基地。目前擁有多臺望遠鏡:2.4 m望遠鏡、1.8 m望遠鏡、BOOTES-4和臺灣自動化望遠鏡(Taiwan Automated Telescope, TAT)等,麗江觀測站全天相機為這些望遠鏡的夜晚觀測提供實時的云量信息,在天文觀測中起著必不可少的輔助作用。
數(shù)據(jù)集選取2016年11月26日到2016年12月26日期間麗江觀測站全天相機拍攝的全天空云圖數(shù)據(jù),共5 807張,單張圖像分辨率為720 × 480。按照2.2節(jié)中描述的分類標準對數(shù)據(jù)進行人工分類,用于測試模型在其他全天空地基云圖數(shù)據(jù)集上的泛化能力。
卷積神經(jīng)網(wǎng)絡在圖像識別領域擁有巨大的優(yōu)勢,它可以直接使用圖像的像素點作為輸入,通過訓練提取最有效的特征,并且對縮放、平移、旋轉等畸變具有不變性,有很好的泛化效果。卷積的權值共享結構,可以大幅減少神經(jīng)網(wǎng)絡的參數(shù)量,在防止過擬合的同時降低了神經(jīng)網(wǎng)絡模型的復雜度。
LeNet5[6]是Yann LeCun在1998年設計的用于手寫數(shù)字識別的卷積神經(jīng)網(wǎng)絡,是最早的卷積神經(jīng)網(wǎng)絡之一。LeNet5擁有如下特點:每個卷積層包含3部分,卷積、池化和非線性激活函數(shù);使用卷積提取空間特征;降采樣的平均池化層;雙曲正切或S型的激活函數(shù);多層感知機作為最后的分類器;層與層之間的稀疏連接減少計算的復雜度。到現(xiàn)在,許多特性仍在當前主流的卷積神經(jīng)網(wǎng)絡中使用。
AlexNet[7]是由Hinton和他的學生Alex Krizhevsky設計,它將LeNet5的思想發(fā)揚光大,并把卷積神經(jīng)網(wǎng)絡的基本原理應用到很深、很寬的網(wǎng)絡中。在2012年的ImageNet圖像分類競賽中,AlexNet以顯著優(yōu)勢獲得冠軍。AlexNet成功地將線性整流函數(shù)(Rectified Linear Unit, ReLU)作為卷積神經(jīng)網(wǎng)絡的激活函數(shù),并驗證其效果在較深的網(wǎng)絡超過了S型函數(shù)(Sigmoid function)。訓練時隨機失活(Dropout)的使用減輕了模型過擬合現(xiàn)象,使用重疊的最大池化,避免平均池化的模糊化效果,并提出步長小于池化核的尺寸,提升特征的豐富性。隨機從256 × 256的原始圖像中截取224 × 224大小的區(qū)域,極大限度地擴大了數(shù)據(jù)量,減輕模型過擬合現(xiàn)象,提升模型的泛化能力。
本文在LeNet5和AlexNet的啟發(fā)下搭建卷積神經(jīng)網(wǎng)絡模型,模型結構如圖7。卷積層層數(shù)設定為2,卷積核大小均為5 × 5。每個卷積層后連接一個核大小為3 × 3、步長為2的最大池化層,最后連接兩個全連接層, 并通過一個Softmax[8]層確定最終分類結果。在全連接層使用隨機失活方法忽略了一部分神經(jīng)元,卷積層后使用線性整流函數(shù)。
圖7 卷積神經(jīng)網(wǎng)絡的結構
Fig.7 The structure of a convolutional neural network
本節(jié)主要包括數(shù)據(jù)預處理、模型訓練過程以及對模型效果的評價。
對數(shù)據(jù)進行合適的預處理,使其符合模型輸入的要求,并最大限度地包含有效信息。
4.1.1 劃分訓練集與測試集
在已經(jīng)做好人工標注的6 160張圖像中,選取晴空的圖像500張,其余每類圖像1 000張作為訓練集,余下的圖像作為驗證集。訓練集和驗證集沒有交叉圖像。驗證集數(shù)據(jù)不用于對模型的訓練,僅用于判斷模型對未知圖像的分類準確度。
4.1.2 獲取感興趣區(qū)域
將所有分辨率為1 000 × 625的原始圖像(如圖8(a))做中心裁剪,去掉兩端無關的信息,裁剪后圖像分辨率為800 × 625(如圖8(b))。
圖8 對全天圖像進行感興趣區(qū)域裁剪。(a) 裁剪前,(b) 裁剪后
Fig.8 Crop all-sky images to get the region of interest. Image (a) as before cropping, image (b) as after cropped
4.1.3 數(shù)據(jù)增強
模型訓練過程中,為了防止過擬合現(xiàn)象的發(fā)生,通常需要輸入充足的數(shù)據(jù)量。在數(shù)據(jù)量較小的情況下,通過數(shù)據(jù)增強的方法,在保證數(shù)據(jù)特征不變的基礎上對圖像數(shù)據(jù)進行幾何變換,增加數(shù)據(jù)量。數(shù)據(jù)增強的操作包含翻轉變換、縮放變換、平移變換、尺度變換、對比度變換、噪聲擾動、顏色變換等。
結合數(shù)據(jù)特征,對訓練集采取如下數(shù)據(jù)增強的方法:(1)對訓練集圖像做偏移處理,分別以右下、右上、中心、左下、左上為坐標原點,裁剪大小為700 × 550的區(qū)域;(2)通過左右翻轉操作,將數(shù)據(jù)擴充10倍(如圖9),對數(shù)量較少的無云晴空,增加上下翻轉過程;(3)最終得到每類10 000張圖像。
將經(jīng)過上述操作的圖像分辨率壓縮至128 × 128,減小圖像尺度,減輕模型訓練的負擔;其次對圖像進行隨機截取,大小為100 × 100,相當于將數(shù)據(jù)量擴大了(128-100)2=784倍;最后進行隨機上下翻轉,隨機改變圖像的對比度、亮度、飽和度、色調等特征,進一步擴大數(shù)據(jù)量。實驗證明,使用上述數(shù)據(jù)增強的手段將大大減輕過擬合現(xiàn)象,提升模型的泛化能力。 船上固定景物和部分可能出現(xiàn)的視場外數(shù)據(jù)進行翻轉平移后作為噪聲,有利于提高模型的泛化能力。
驗證集數(shù)據(jù)以圖像中心為坐標原點,裁剪大小為700 × 550區(qū)域,再壓縮至128 × 128,最后做中心裁剪,得到分辨率為100 × 100的圖像,保證驗證集圖像保留足夠多的有效信息并和訓練集圖像在輸入模型時具有相同的尺度。
圖9 數(shù)據(jù)增強操作的部分示例。第1行分別是以右下、右上、中心、左下、左上為坐標原點裁剪后的圖像;
第2行是對第1行圖像進行左右翻轉操作后的圖像
Fig.9 Data augmentation example. The first line is the image cropped at the lower right, upper right, center, lower left,
and upper left; The second line is the image after the left and right flip operations of the first line
4.1.4 標準化
在圖像輸入模型前,對圖像進行標準化處理,將降低輸入圖像的冗余性,使得網(wǎng)絡對圖片的動態(tài)范圍變化不敏感。主要有如(1)式的操作:
(1)
其中,Iin為圖片的紅綠藍三通道像素值;M為三通道像素的均值;AS如(2)式:
(2)
其中,S為三通道像素的標準差;N為三通道各自的像素個數(shù)。訓練集及驗證集數(shù)據(jù)經(jīng)過標準化處理后,輸入模型進行訓練與驗證。
網(wǎng)絡訓練過程中,隨著訓練批次的增加,損失值(loss)逐漸下降,準確率(accuracy)不斷上升(如圖10)。可以看出,在選取合適訓練批次大小以及學習率的情況下,模型損失值下降平穩(wěn),在訓練迭代次數(shù)達到50之后,下降速度明顯放緩,模型逐漸收斂。當?shù)螖?shù)達到100時,損失值逐漸趨近于0.15,并不再有明顯下降,訓練集以及驗證集的準確率整體趨勢較為相似。在迭代次數(shù)達到50之后,驗證集準確率逐漸趨于平穩(wěn),訓練集準確率在95%與100%之間不斷波動,這是由于訓練集圖像在輸入模型前進行隨機的對比度、亮度變換等操作,導致在當前迭代次數(shù)下,模型并沒有完全擬合所有可能出現(xiàn)的圖像數(shù)據(jù)。訓練在迭代次數(shù)達到220之后,驗證集準確率穩(wěn)定為95.5%,不再發(fā)生變化,表示模型已經(jīng)收斂。
由于樣本種類較多,并且存在數(shù)量不均衡的特點。因此,對于分類效果的評判,采用精確率(Precision)、召回率(Recall)以及F1-Score進行評價。精確率表示預測為正的樣本里有多少是真正的正樣本,即預測為正樣本有兩種可能,一種是將正類預測為正類(PT),另一種是將負類預測為正類(PF),則精確率P可以表示為
(3)
召回率是針對原有樣本而言的,它表示樣本中的正例有多少被正確預測了,同樣也有兩種可能,一種是把原來的正類預測成正類(PT),另一種就是把原來的正類預測為負類(NF),即召回率R可以表示為
(4)
圖10 訓練過程中的準確率與損失值變化曲線,橫軸為訓練迭代數(shù),縱軸為損失值和準確率
Fig.10 Loss and accuracy curve of training.The horizontal axis is the number of training epochs,and the vertical axis is the loss value and accuracy
F1-Score(F1)是精確率和召回率的調和均值,相當于精確率和召回率的綜合評價指標,可由(5)式推導:
(5)
變換后F1表示為
(6)
各項類別的精確率、召回率和F1-Score如圖11。
圖11 各項類別的精確率、召回率和F1-Score
Fig.11 Precision, Recall and F1-Score for each category
由圖11可見,卷積神經(jīng)網(wǎng)絡在各個類別都取得了非常好的效果,其分類精度、召回率、F1-Score均達到了90%以上,絕大多數(shù)類別在95%以上。
全天空地基云圖拍攝過程中,由于拍攝設備、相機參數(shù)的不同,圖像尺度也有所差異。對圖像進行一些簡單的預處理,使圖像在輸入模型前尺度信息盡可能與訓練數(shù)據(jù)一致,可以提高模型對數(shù)據(jù)的判別準確率。
對麗江5 807張圖像做人工標注,其中夜晚4 257張、晴空454張、過曝光614張、少云321張、多云115張、雨露雪46張。原始圖像(如圖12(a))分辨率為720 × 480,以圖像中心為基準,截取400 × 320大小的圖像(如圖12(b)),獲取與訓練數(shù)據(jù)近似長寬比的有效信息。再壓縮至128 × 128,最后做中心裁剪,得到分辨率為100 × 100的圖像,保持輸入尺度與訓練集圖像一致。經(jīng)過4.1.4節(jié)中的標準化處理后,輸入模型中進行預測。
圖12 麗江站全天相機數(shù)據(jù)預處理樣例。(a) 原始圖像,(b) 裁剪后的圖像
Fig.12 All-sky images classification example of Lijiang station. Image (a) as the original picture, image (b) as the cropped image
模型對測試集各項類別預測結果的精確率、召回率和F1-Score如圖13。結果顯示,模型在全新數(shù)據(jù)集上有著不錯的表現(xiàn),對數(shù)量最多的夜晚類判定精準,并且對少云、晴空、過曝光、多云類也有較好的區(qū)分能力。但對雨露雪類劃分結果較差,并且晴空的召回率、多云的召回率、少云的準確率相對較低,因此,對這幾部分做了深入的研究和分析。
為了更好地尋找誤判原因,主要分析了分類的混淆矩陣(如圖14)。從圖14可以看出,雨露雪大部分預測為過曝光,誤判圖像如圖15,雨滴數(shù)量較少且存在嚴重的過曝光現(xiàn)象。模型更加關注過曝光的特征,可能是誤判的主要原因??傮w來講,測試集中雨露雪類的雨滴數(shù)量較訓練集明顯減少,也可能是導致雨露雪分類準確度整體較低的主要原因。
從圖14可以看出,晴空召回率、少云精確率較低的主要原因是一部分晴空預測為少云,典型誤判圖像如圖16,根據(jù)對圖像的觀察,這些圖像與訓練集中的晴空有較大差異,并且存在較明顯的3個污點,可能是導致誤判的原因。
多云的召回率較低,由圖14可知,多云主要誤判為過曝光,典型誤判圖像如圖17,誤判圖像亮度較高,整體特征與訓練集中過曝光類較為相近。訓練集中多云類亮度均比較低,主要是由于相機拍攝時的參數(shù)設置不同所致。
圖13 測試集數(shù)據(jù)各項類別的精確率、召回率和F1-ScoreFig.13 Precision, Recall and F1-Score for each category of test set
圖14 測試集數(shù)據(jù)分類的混淆矩陣
Fig.14 Confusion matrix for test set data
圖15 誤判為過曝光類的雨露雪類圖像
Fig.15 Rain_snow misjudged as overlight
圖16 誤判為少云類的晴空類圖像
Fig.16 Bluesky misjudged as cloudimage
圖17 誤判為過曝光類的多云類圖像
Fig.17 Overcast misjudged as overlight
本文基于雪龍?zhí)柸炜盏鼗茍D數(shù)據(jù)集,提出了可用于天文選址的全天空地基云圖分類處理方法,并使用麗江觀測站全天空地基云圖數(shù)據(jù)進行測試,證明了模型在從未接觸過并且尺度不同的全天空地基云圖數(shù)據(jù)集上仍能擁有不錯的分類效果,模型具有較強的泛化能力以及良好的可移植性。
但是從測試結果可以看出,如下兩種因素對分類結果存在較大影響:
(1)云圖種類復雜多樣,當云圖同時具有兩種或兩種以上類別特征時,并不能完全將云圖準確劃分開來,如誤判為過曝光類的雨露雪圖像。
(2)圖像受相機拍攝參數(shù)影響較大,導致訓練集并沒有包含所有可能出現(xiàn)的種類,從而識別錯誤,如誤判為少云的晴空類。
針對以上問題,尋找多樣化的數(shù)據(jù)進行訓練將有效提高分類精度,并使模型在其它全天空地基云圖數(shù)據(jù)集上有更好的表現(xiàn)。
致謝:本文得到中國虛擬天文臺和中國天文數(shù)據(jù)中心提供的數(shù)據(jù)資源和技術支持。感謝國家天文臺-阿里云天文大數(shù)據(jù)聯(lián)合研究中心對本文工作的支持。感謝中國極地研究中心、中國科學院云南天文臺麗江觀測站提供的數(shù)據(jù)資源。