蘇 航,楊 鋼
(哈爾濱工業大學建筑學院,黑龍江 哈爾濱 150000)
實時捕捉室外天空亮度分布、準確計算室內任一點的照度的前提就是了解實時的實際天空所對應的CIE天空的種類[1, 2]。目前已有判別天空類型方法主要由以下幾種:Kittler等[3]提出通過獲取不同天空下日光曲線來判斷其對應的CIE天空類型,但在實測數據圖像中存在曲線的重合交錯的現象,且無法細分到每一類天空;將實際天空145個天空面元亮度數據與理論亮度值進行方差比對[4],但由于設備成本高,測量點多,應用范圍受限;由Lou等[5]提出通過氣象站可獲得的氣象數據建立分類樹模型,但由于氣象數據描述的是大范圍、長時間的氣候特征,不適用于實時輸出結果。
本文將基于上述問題,結合分類樹程序提出一種實現CIE天空種類的實時識別的新方法。
由于測量點用于天空類型的分類,在測量點的選取中應考慮其是否可以代表整體天空的亮度分布情況。根據Kittler[6]的研究結果表明天空中子午線(通過天空天頂和瞬時太陽位置的垂直面)方向上點的亮度是描述太陽光在大氣中全面擴散的重要指標之一。因此選取該方向上的天空亮度點作為用于分類的關鍵選取點是可靠的。同時, Vichuda[7]在探究天空亮度分布特點時也將天空整體劃分為3個區域進行研究,圖1表示太陽附近天空變化區域(ZONE3),水平天空變化區域(ZONE2)及其他區域(ZONE1)的位置情況。而子午線方向上的測量點也可包含以上三個典型區域,再次論證該方向上的點的亮度可以較為全面的描述天空整體的亮度情況。
其次,Kittler[6]提出快速掃描亮度數據方法為以高度角為90°的天頂點為中心插入等值線進行測量。圖1中給出EKO天空亮度掃描儀的垂直面方向測量點的位置,經Tregenza[8]驗證12°的等值線在垂直方向上的天空覆蓋率可達到75%,因此天空亮度掃描儀實測數據可以作為原始數據進行后續分析。最終本文基于EKO天空亮度掃描儀的全天空145點掃描測量結果建立分類樹程序,15個采集點的位置位于太陽子午線上,對應的高度角分別為(6°、18°、30°、42°、54°、66°、78°、90°)共15點,滿足上述天空亮度數據采集要求。
圖1 EKO天空亮度掃描儀測量數據的分布Fig.1 Distribution of EKO sky brightness scanner measurement data
1.2.1 CIE一般天空分類相關變量選取原則
根據CIE天空的亮度分布說明[9]與信息法研究天空亮度分布[10]所述,天空亮度分布取決于兩個特征,即天空最大元位置和天空整體的亮度漸變。在實際的觀察中,天空最大元位置的漸變可表現在最大元亮度與最大元邊緣變化情況;天空整體亮度的漸變可表現為天空整體亮度,天空邊緣變化情況及天空整體亮度波動情況。其中,最大元亮度可由最大亮度點的亮度Lmax進行描述;最大元邊緣變化情況可由最亮點周邊最大變化率Δmax進行描述;天空整體亮度大小可由全部測點亮度平均值Lav15進行描述;天空邊緣變化情況可由高度角6°點的亮度與高度角12°點的亮度的比值Δed進行描述,在天空整體亮度較低,Δed變化較小的情況下,Led1(高度角6°點的亮度)和Led2(高度角12°點的亮度)可以對天空邊緣亮度變化進行更好的描述;天空整體亮度波動情況可由15點亮度方差D15,除亮度最大點其他14點亮度方差D14及兩方差比值D15/14三個分類變量進行表征。采用三個方差數據對亮度波動進行描述是因為D15無法分辨部分晴朗無云天空與多云的天空,D14無法分辨部分晴朗無云天空與陰天中的均勻天空,D15/14則可以更好得對多云的晴天進行分辨(圖2)。
圖2 影響CIE天空亮度分布因素分析Fig.2 Analysis of factors influencing CIE sky luminance distribution
1.2.2 CIE一般天空分類變量相關性分析
基于哈爾濱2018—2019年天空亮度掃描儀3 019組天空亮度掃描結果中特定15點亮度值的12種相關變量及其對應的天空類型,利用spss軟件對各相關變量的相關性進行Spearman test,得到以下結果,基本可以論證上述觀點。
由圖3可知,在陰、云、晴三類天空的分類變量中,描述最大元亮度的Lmax,描述天空整體亮度的Lav15,描述天空邊緣變化的Led1與Led2,描述天空整體亮度波動情況的D15與D14,以上六個分類變量與天空類型的相關性較大。在CIE 1-5類陰天空的分類變量中,由于陰天空類型主要由天空整體亮度分布情況決定,因此描述天空整體亮度大小的Lav15,描述天空邊緣變化的Led2,描述天空整體亮度波動情況的D14,以上三個分類變量與天空類型的相關性較大。在CIE 6-10類云天空的分類變量中,由于云量主要由天空整體亮度波動情況決定,因此描述天空整體亮度波動的D15/14在分類變量中占主導地位。在CIE 11-15類晴天空的分類變量中,由于天空類型主要由天空最大元位置亮度分布決定,描述最大元亮度的Lmax和描述最大元邊緣變化情況的Δmax與晴天空類型相關性較大。另外部分晴天空各類型間邊緣與整體亮度波動存在差異,因此描述天空邊緣變化情況的Δed和描述天空整體亮度波動的D15/14在晴天空的分類中也起到一定的作用。
圖3 分類變量與CIE天空類型相關性分析Fig.3 The correlation analysis between categorical variables and CIE sky types
本文數據源自哈爾濱工業大學二校區寒地研究中心(北緯45°)天空亮度掃描儀2018年9月23日至2019年9月22日的掃描測量結果,每日8時至下午3時每小時取一組天空亮度分布數據,除去異常數據后共3 019組天空亮度分布數據。利用三次樣條插值法對哈爾濱2018—2019年天空亮度掃描儀3 019組天空亮度掃描結果進行擴展,使每一高度角范圍內有360個方位角的亮度數據。通過哈爾濱對應的緯度、時間等變量,求得任一時刻的太陽方位角,從而鎖定對應太陽位置的點的位置與亮度值,再與天頂點進行連線,從而獲得所需特定15點的位置及亮度信息(圖4)。
圖4 哈爾濱工業大學EKO天空亮度掃描儀實測數據(晴天)Fig.4 Measurement data from EKO sky luminance scanner in Harbin Institute of Technology(clear sky)
機器學習使用計算機作為工具并致力于真實實時地模擬人類學習方式,包括決策樹、隨機森林、人工神經網絡、貝葉斯學習等方法,分類樹方法相較于其他算法具有計算速度快、準確性高的特點,分類邏輯易于理解和解釋,且適用于處理多維度輸出的分類問題。決策樹程序最初由Breiman[11]提出,該算法可將具有多個變量的數據集分類為不同的組,可有效對不具有明顯特征的大量數據集進行分類。本文采用決策樹中的分類樹算法,其原理為從根節點開始,對實例的某一個特征進行分類,根據分類結果,將實例分配到子節點,這時,每一個子節點對應著該特征的一個取值;如此遞歸的分配下去,直到將該實例分配到葉子節點。由于CIE天空分類標準源于全球實際天空亮度分布狀況的統計結果,不同地區分類標準具有顯著差異。因此以分類樹方法建立地域模型,可有針對性地建立準確度高,可實時識別實際天空類型的分類樹程序。根據Lou等[5]的研究可知,利用四種框架對天空亮度數據進行分類,相較于一種框架的方式可以減少計算負荷量,簡化模型并提高模型的可靠性(圖5)。
圖5 分類樹程序框架及其工作流程圖Fig.5 Classification tree program framework and flow chart
決策樹算法有很多種,包括ID3、C4.5、C5.0、CART等。本文選用CART算法,該算法支持離散型與連續型變量。通過采用基尼系數來代替信息增益比建立二叉樹,使模型更加簡潔。CART算法采用的辦法是后剪枝法,即先生成決策樹,然后產生所有可能的剪枝后的CART樹,然后使用交叉驗證來檢驗各種剪枝的效果,選擇泛化能力最好的剪枝策略。
交叉驗證是為了檢查模型的泛化性和穩定性,讓模型的輸出更加可靠。本文的分類樹程序是由matlab平臺進行構建,以下為不同閾值(10-100)下的四種分類樹的k折交叉驗證誤差曲線。k折交叉驗證將樣本集隨機劃分為k份、k-1份作為訓練集,1份作為驗證集,依次輪換訓練集和驗證集k次,驗證誤差最小的模型即為所得模型(圖6)。根據圖像選擇交叉驗證誤差最小時所對應的葉子節點含有的最小樣本數,對分類樹程序進行簡化,從而得到以下程序(圖7)。
圖6 葉子節點含有的最小樣本數對分類樹性能的影響Fig.6 The impact of the minimum number of samples in leaf nodes on the performance of classification tree algorithm
2.3.1 分類結果分析
檢驗數據源于2019年9月23日至2019年12月31日中隨機選取的540組數據,分類樹0共319組數據,分類樹1共54組數據,分類樹2共54組數據,分類樹3共113組數據,分類準確率如下。
表1 分類樹0結果數據
表2 分類樹1結果數據
表3 分類樹2結果數據
表4 分類樹3結果數據
2.3.2 全年天空分類結果準確性分析
圖8為哈爾濱2018年至2019年全年各類天空發生概率情況。由于地理、氣候條件等因素,某一地區一年內的天空類型發生頻率基本相近,因此以年為單位,加權計算分類的準確率可以更加客觀地反映該方法的準確性。陰天空、云天空和晴天空三大類天空的全年時間范圍內的準確率需結合全年各類天空發生概率進行計算。
圖8 哈爾濱地區全年各類型天空發生頻率Fig.8 Frequency of 15 types of sky in Harbin throughout the year
由統計數據(圖表)可知陰天空、云天空和晴天空全年發生概率。因此三類分類整體的加權準確率為:
11.76%×61.22%+51.28%×75.16%+36.96%×65.71%=70.03%
15類CIE一般天空的全年時間范圍內的準確率也需結合全年各類天空發生概率進行計算。由統計數據(圖表)可知CIE 15類天空全年發生概率。因此CIE 15類天空分類整體加權準確率為:
61.22%×(3.15%×66.67%+0.86%×50%+1.95%×66.67%+5.53%×87.5%)+75.16%×98.77%×49.95%+65.71%×(9.27%×69.4%+0.79%×100%+16.59%×76.09%+10.2%×70%)=60.12%
綜上所述,本文為未來的CIE一般天空類型識別方式提供了一種新思路。首次通過提取天空亮度掃描儀結果中特定15點亮度值,得到9個相關分類變量(如平均值、方差等),再利用分類變量及其對應的天空類型建立分類樹程序。經驗證該方法對哈爾濱天空進行CIE一般天空實時分類結果具有很高的準確度。本方法的優點是測量點少、易測量,可獲取任一時刻實際天空所對應的CIE天空種類。
本文的分類樹程序的訓練數據僅為一年,未來更多的訓練數據將使該方法的準確率有所提高。雖然本文數據源于哈爾濱地區,但該分類樹程序也僅針對具有類似氣候特征的地區,在未來的研究中,對于其他地區也可嘗試利用該方法建立特定氣候區域內的特定分類樹程序,從而進行實時天空識別。