苏 航,杨 钢
(哈尔滨工业大学建筑学院,黑龙江 哈尔滨 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天空种类。
本文的分类树程序的训练数据仅为一年,未来更多的训练数据将使该方法的准确率有所提高。虽然本文数据源于哈尔滨地区,但该分类树程序也仅针对具有类似气候特征的地区,在未来的研究中,对于其他地区也可尝试利用该方法建立特定气候区域内的特定分类树程序,从而进行实时天空识别。