融合中值滤波与光流算法的云团跟踪算法 [PDF全文]
(浙江科技学院 自动化与电气工程学院,杭州 310023)
【目的】针对现有的云团跟踪算法存在跟踪速率低、云团滤波边缘信息丢失、云团跟踪定位不准等问题,结合优化的中值滤波算法,提出一种融合中值滤波与光流算法的云团跟踪算法。【方法】首先对太阳的位置进行定位,采用红蓝阈值比分割图像,用优化的中值滤波算法滤除噪点后,检测云块及其质心坐标; 然后对云图序列进行光流处理,实现对云块的精确检测与实时跟踪; 最后在不同云量情况下进行云团跟踪试验,并且与传统光流算法、块匹配算法、ViBe(visual background extractor,视图背景提取)算法进行比较。【结果】本文算法在云团边缘检测和云团实时跟踪上表现优越,目标跟踪效率比其他3种算法的平均值提高了约6.32百分点。【结论】本研究结果有效解决了云团滤波导致边缘信息缺失的问题,对预测短期太阳辐照度的准确性有重要意义。
Research on cloud tracking by fusion of median filtering and optical flow algorithm
LIANG Shixiong, HOU Beiping
(School of Automation and Electrical Engineering, Zhejiang University of Science and Technology, Hangzhou 310023, Zhejiang, China)
[Objective] Aiming at the existing cloud tracking algorithms afflicted by such problems as low tracking rate, loss of cloud filter edge information, and inaccurate cloud tracking and positioning, a cloud tracking algorithm that integrates the median filtering and the optical flow algorithm was proposed in combination with the optimized median filtering algorithm. [Method] Firstly, the position of the sun was located, the image was segmented using red and blue threshold ratios, and the cloud blocks and their center-of-mass coordinates were detected after the noise was filtered out with an optimized median filtering algorithm; then, the sequence of cloud maps was processed by optical flow to achieve the accurate detection and real-time tracking of the cloud blocks; finally, cloud tracking experiments were carried out in different cloud amounts and compared with the traditional optical flow algorithm, the block matching algorithm, and the ViBe(visual background extractor)algorithm. [Result] The proposed algorithm is superior in cloud edge detection and real-time cloud tracking, and the target tracking rate is improved by about 6.32 percentage points compared with the other three algorithms. [Conclusion] The problem of missing edge information due to cloud filtering is effectively solved, which is of significance for the accuracy of short-term solar irradiance prediction.
引言

随着光伏发电的普及和光伏并网容量的增加,短期发电功率波动对电网产生冲击的问题日益凸显,这给电力系统规划和运营商带来了巨大的挑战。云团运动将导致太阳辐照度快速变化,而太阳辐照度变化是干扰光伏发电系统输出的主要因素。光伏发电系统输出功率变化会对电网产生一定冲击,而目前电网运营商对其变化控制能力有限[1-2]。通过研究太阳辐照度对光伏发电的影响,可以缓解太阳能普及带来的运行问题[3]。短期太阳辐照度预测模型通常以云团运动速度作为主要参考因素,因此云团运动预测越来越受到关注[4-5]

短期太阳辐照度与云团结构变化、运动方向和运动速度息息相关[6]。传统获取云团运动矢量的方法需要先确定云团的图像特征,如亮度梯度、角点信息或温度梯度[7],假设云团特征在短时间内没有显著变化,则使用应用于连续图像的模式匹配技术来计算云团运动矢量。随后假设云团的速度、大小和形状在一段时间内保持不变,通过运动外推来估计未来的云团运动情况[8]。然而,这些方法不能在较短的时间或空间尺度上进行云团运动估计。考虑到空气和云团的高度可变性,为满足实际应用需求,高分辨率参数在算法中不可或缺,如小时、分钟和实时云信息。因此,高分辨率的成像系统和能跟上云团快速变化的工具和算法[9]对云团跟踪的研究很重要。

长期以来卫星图像在云团运动估计和跟踪中被广泛使用,但由于卫星图像覆盖范围广、局部分辨率低等问题,目前对特定区域云团运动的研究往往采用TSI(totalskyimager,全天空成像仪)图像即地基云图,其优点是局部信息量大、图像分辨率高、图像采样率可调,因此地基云图在云团检测、短期运动跟踪和估计方面被广泛运用。Yang等[10]采用互相关方法获得整个云场的云团运动平均矢量值,通过将云团沿相应的矢量方向移动来预测短期云团位置,类似非刚性配准技术的云团运动估计。文献[11]和文献[12]分别使用两种不同的图像处理算法在连续视频帧上检测云团,并跟踪云团的运动; 然后在获取云团的运动方向和速度后,估计出了云团在短时间内的位置; 最后将估算的云位置信息纳入估算过程,对短期内的太阳辐照度进行预测。天空图像特征的加入提升了辐照度预测的准确性。

针对现有方法中视频帧处理存在的云团识别率低、云团边缘信息丢失、跟踪算法速度慢等问题,本研究提出了一种融合中值滤波与光流算法的云团跟踪算法,并通过对比试验验证了算法的可行性。

1 地基云图特征分析

地基云图反映局部区域的云团信息及底层云的信息,更容易观测到局部区域内云团分布、运动和变化情况。因为观测到了云底部信息,就能更有效地判断云团的形状、高度,从而为局部区域内的气象预测提供有力的支撑。

1.1 地基云图数据

地基云图数据采用高分辨率相机采集得到,并且未对太阳进行遮挡,采集的地基云图见图1。图像视角为180°,能获取全景天空的所有图像特征信息。该采集系统采集图像的速率为10 s/帧,1 min可以采集6帧。将采集到的图像合成视频集作为研究的数据。云团跟踪主要针对积云和卷云的跟踪,并且云量(即云团总量占视野范围内天空的比值)低于70%以内。积云与卷云的运动对太阳辐照度的变化影响明显,当云团运动到太阳位置处,太阳辐照度大小急剧下降; 当云团由遮挡太阳到离开太阳位置时,太阳辐照度快速上升; 当一些云层较薄的云团遮挡太阳时,太阳辐照度变化波动较小。

图1 地基云图<br/>Fig.1 Ground-based sky images

图1 地基云图
Fig.1 Ground-based sky images

采用红蓝比阈值分割法对地基云图进行分割,分割出的云层区域用255像素值替换,背景天空区域及其他区域用0替换。由于分割出的图像上存在噪点,且云团的边缘信息不明确,因此需进行滤波处理。

1.2 太阳位置定位

首先对太阳的位置定位,太阳高度角α和方位角β计算公式分别如下:

式(1)中:δ为当天的旋转角度; φ为采集系统所处的纬度; γ为一天中某一个时间的角度; n为一年中的第n天; T为采集图像的时刻。

2 优化算法与算法流程2.1 优化中值滤波

传统的中值滤波算法[13-14]虽然在图像降噪方面性能较好,但部分图像细节信息容易丢失,对图像边缘部分判别能力较低,边缘还原度不能达到预期效果。

为解决上述问题,本研究首先将图像灰度化[15],对检索框内的元素与特定点的像素值作差求均值,通过给定阈值来判断是否进行中值替换。试验中检索框的大小为5×5。定义当前像素值为Iij,以Iij为中心的检索框内像素值定义为Fxy,x、y为框内对应像素点的坐标值,当前像素值与检索框内像素值的差的平均值L定义如下:

式(2)中:N为检索框内的像素点个数。平均距离的值可以反映当前像素点和框内其他像素点之间的相关性,当平均距离L大于设定阈值T时,用框内像素点的中值替换当前像素点; 当平均距离L小于设定阈值时,框内中间像素值保持不变。

为了得到较好的云团分割效果,根据云量的不同确定阈值。通过多次试验对比得出,当云量低于25%时,T值取20; 当云量超过25%且低于70%时,T值取32。

2.2 光流算法理论推导

视频帧通过上述操作处理后,可以将光流算法应用于已处理的视频序列。光流算法假设亮度强度在运动场中位移像素的邻域不变,对应光流约束方程描述如下:

I(x,y,t)=I(x+Δx,y+Δy,t+Δt)。 (3)

式(3)中:I(x,y,t)为第t帧(x,y)处像素梯度。用泰勒级数展开式(3)的右侧如下:

I(x+Δx,y+Δy,t+Δt)≈I(x,y,t)+IxΔx+IyΔy+ItΔt。 (4)

由式(3)式(4)可得:

Ixu+Iyv+It≈0。 (5)

式(5)中:u、v是光流速度。为了加快计算速度,假设相邻像素点在5×5的领域内具有相同的运动,则

式(5)中需求解Ix、Iy和It。其中,Ix和Iy通过卷积掩码求解,It为两帧的时间差。

在没有干扰的情况下式(5)成立。式(5)左边表示误差与理想值的接近程度,因此将误差项L(u,v)定义如下:

L(u,v)=∑(Ixu+Iyv+It)2。 (7)

优化目标变为

式(8)中:O为优化目标; p为某一像素点。对u和v分别求导,结果如下:

令式(9)中两式都等于0,得

为计算式(7)的最小值,由式(10)得

2.3 算法流程

算法流程如图2所示,主要步骤包括读取视频帧序列、处理视频的图像序列和图像上标定跟踪效果。其中图像帧处理和跟踪是核心步骤,图像帧处理步骤分为太阳位置定位,第k帧与k+1帧做云团滤波、分割处理,随后进行云团边缘检测及定位,最后通过光流算法计算出云团速度。

图2 算法流程<br/>Fig.2 Proposed algorithm flow

图2 算法流程
Fig.2 Proposed algorithm flow

3 试验结果与分析3.1 试验环境及跟踪效果

采用Ubuntu18.04作为试验平台,CPU为双路E5-2670v4,显卡型号为RTX3090 24 GB,内存为128 GB,固态硬盘容量为1 TB。

本研究算法云跟踪效果图见图3图3(a)为视频原始帧,上面是前一帧,下面是后一帧; 图3(b)为图3(a)对应的云团检测帧; 图3(c)为跟踪效果展示。由图3可知,无论是云团检测还是太阳位置定位,都能达到预期目标,可以清晰地分出云团块,准确定位云团块,这为对云团跟踪分析提供前提条件。

图3 云跟踪效果图<br/>Fig.3 Cloud tracking renderings

图3 云跟踪效果图
Fig.3 Cloud tracking renderings

3.2 有效性

为了验证本文算法的有效性,使用云量在0%~20%、>20%~50%、>50%~70%的云视频序列进行试验,当检测云量超过70%后停止跟踪。不同算法在不同云量下的跟踪效果图见图4。当云量在0%~20%时,几种算法都能准确识别云团位置和实时跟踪。当云量在>20%~50%时,从跟踪结果可以看出,本文算法能准确检测出云团边缘的轮廓,其效果明显优于ViBe(visual background extractor,视图背景提取)算法[16]和块匹配算法[17],并且在云团块的位置定位上也明显优于前两种算法。当云量高于50%时,可以看到前两种算法跟踪的云团块和实际云团块有明显偏差,而本文算法对云团块的识别和跟踪依然保持较高的稳定性。

图4 不同算法在不同云量下的跟踪效果图<br/>Fig.4 Tracking renderings of different algorithms under different cloud cover

图4 不同算法在不同云量下的跟踪效果图
Fig.4 Tracking renderings of different algorithms under different cloud cover

3.3 准确性

不同算法对云团跟踪的准确率如图5所示,由图可知,随着云量的增多,几种算法的准确率都呈下降趋势,当云量超过40%后,块匹配算法的准确率下降尤为明显。本研究算法相比其他算法准确率更高、稳定性更强,鲁棒性好。

几种算法的试验对比结果见表1,由表可知,本研究算法在跟踪数量与跟踪效率两方面都优于其他3种算法,跟踪效率比其他3种算法的平均值提升了约6.32百分点。

图5 不同算法对云团跟踪的准确率<br/>Fig.5 Accuracy of different algorithms for cloud tracking

图5 不同算法对云团跟踪的准确率
Fig.5 Accuracy of different algorithms for cloud tracking

表1 试验对比结果
Table 1 Comparison of experimental results

表1 试验对比结果<br/>Table 1 Comparison of experimental results

4 结 论

通过对云团跟踪算法的研究,我们提出了采用优化的中值滤波对分割后的图像进行滤波处理,在滤除噪点的同时能保持图像边缘信息的完整性。本文算法在云团边缘检测和云团实时跟踪上表现优越,目标跟踪速率上相比传统算法有明显的提升,解决了传统稠密光流算法跟踪速率慢的问题。

参考文献