APP下载

结合深度卷积网络及光学图像的降雨强度识别

2020-07-15洪思弟赖绍钧林志玮丁启禄刘金福

关键词:降雨量正确率降雨

洪思弟, 赖绍钧, 林志玮,3,4, 丁启禄, 刘金福,5,6

(1.福建农林大学计算机与信息学院,福建 福州 350002;2.福州市气象局,福建 福州 350014;3.福建农林大学林学院,福建 福州 350002;4.福建农林大学林学博士后流动站,福建 福州 350002;5.福建农林大学海峡自然保护区研究中心,福建 福州 350002;6.生态与资源统计福建省高校重点实验室,福建 福州 350002)

降雨量为某一地区某一时间内的降水数据,具有地域性和时效性.降雨量高低直接影响到旱涝灾害的形成,进而对人们日常生活造成影响[1].中国作为全球旱涝灾害频发的国家之一[2],2017年和2018年我国因洪涝和地质灾害造成的直接经济损失共达2 971亿元,因旱灾造成的直接经济损失亦共有630亿元[3-4].通过检测降雨量制定合理的防御旱涝措施,有助于减少旱涝灾害对国民经济造成的损失.气象监测站采用人工测量及自动测量两种手段进行降雨量检测,其中人工检测是观测员采用雨量器对降雨量进行记录;而自动检测是采用双翻斗雨量传感器,由汇集漏斗、计量翻斗和计数翻斗协同工作,从而计算得到降雨量大小.无论是人工检测或是自动检测均能够得到较为精确、可靠的降雨量数值.但是,气象站点能够得到的仅是小区域的降雨量,难以代表整个降雨地区的降雨量;且在暴雨期间,容易受限于通讯或者交通条件,延误降雨情报的送达[5-9].而雷达监测降雨量是通过向监测区域发射雷达波束,使用雷达接收机回收该区域的回波功率,并接收雨滴直径值,计算得到该区域的降雨量大小.张利平等[10]结合卡尔曼滤波法和增长模繁殖法基于雷达监测降雨量;谢亚楠等[11]阐述并分析了基于合成孔径雷达的降雨数据的主要反演算法;陈新涛等[12]建立了基于地面S波段天气雷达以及GPM微波成像仪和双频降水雷达观测数据的反演算法.虽然雷达测量可有效解决传统测量问题,得到降雨量分布情况,但由于雨滴容易受到风力、蒸发等因素影响进而改变其大小和分布,使得降雨量的测量呈现偏差,造成雷达测雨精度不高.不论是在气象站点进行人工或自动检测,或是采用雷达测量,均是以精确测量降雨量为目的,检测过程耗时较长.人们通常采用降雨强度来表示降雨量等级,例如小雨、中雨、大雨等.网络通讯设备以及视频监测设备的快速发展,使得视频监控图像具有获取方便、实时性及推广容易等优点,视频监控图像已成为许多研究领域采用的重要手段[13-17].随着深度学习理论的发展,深度神经网络可自动提取数据特征,并获得较高的分类精度,被广泛应用于图像处理领域[18-20].本文基于福州市8个气象站点的降雨图像与气象站点检测得到的各个时段内的降雨量数据对降雨强度进行划分,结合深度学习理论,建立深度卷积神经网络识别模型,以期对洪涝灾害进行实时监测及预报.

1 试验数据

1.1 数据来源

选择福州市作为研究区域.福州市属于典型的河口盆地地貌,盆地四周群山环绕,气候属亚热带季风气候,雨量充沛,少霜无雪,春季阴雨绵绵,夏季伴有雷雨天气和热带风暴,多台风,冬季有雨无雪,雨量较少[21].福州市内有晋安区、长乐区、福清市、连江县、罗源县、闽侯县、闽清县、永泰县共8个气象站点,主要承担监测并预报灾害性天气、提出预防措施以及承担日常的地方天气预报等工作.通过气象站,获得福州市大量的天气监测图像,对每张图像按照标准[22]中1小时降水量等级划分标准进行降雨强度等级划分,共划分为6类(表1).其中福州市地形图、8个气象站点分布的地理位置以及获得的天气监测图像如图1所示.

表1 降雨强度等级划分标准

1.2 数据处理

通过研究历史降雨图像数据,对实时降雨图像进行降雨强度识别.试验数据包括福州市8个地区15 d共22 451张图像数据,其中包含连续暴雨、“纳莎”台风等天气情况.按照标准[22]中1小时降水量等级划分标准和各地区每小时降雨量数据,采用人工标注的方法对每张试验数据标注降雨强度.由于数据是由红外摄影机收集而来,红外摄影机在晚上开启红外线摄像模式,红外线穿透云雾能力强,雨纹能够清晰被观察到;白天取得彩色光学图像,受光照强度影响,难以观察到雨纹.因白天和晚上图像存在差异,将试验数据划分为白天、晚上和混和数据集.对于模型训练集和测试集进行划分,将混合数据集、白天数据集以及晚上数据集分别按照气象站点,把各气象站点中不同降雨强度影像数据按7∶3比例划分为训练集和测试集,具体数据分布见表2.

表2 降雨图像数据分布情况

2 研究方法

2.1 整体流程

试验整体流程分为三部分(图2),(1)依据福州市气象局提供的每小时降雨量数据采用人工标注的方式对原始数据进行降雨强度标定,并划分为白天、晚上和混合3个数据集;(2)基于深度卷积神经网络DenseNet模型,分别建立3种不同网络深度的卷积集神经网络,利用3个数据集的训练数据,为每个数据集各自训练3个不同深度的识别模型,共得到9个识别模型;(3)对输入测试数据进行图像降雨强度识别,得到最终识别结果.模型的训练与测试均采用相同类型的数据集,即70%白天数据用于训练,30%白天数据用于测试,训练与测试数据不重复.

2.2 卷积神经网络

卷积神经网络[23-24]属于前馈神经网络,具有较强的特征提取及分类能力,被广泛应用于图像处理领域,如图像分类[23]、图像分割[24-25]以及图像定位[26]等.卷积神经网络主要由输入层、卷积层、激活函数、池化层以及全连接层构成,不同组合表现出不同的模型效果.

卷积层采用不同权重的卷积核对输入图像进行卷积计算,抽取图像分类特征.卷积计算通过引入非线性激活函数,使卷积神经网络能够拟合复杂的非线性函数.提取有效分类特征,其中激活函数主要有Sigmoid函数、双曲正切Tanh函数、修正线性单元Relu函数.Sigmoid及Tanh函数分别将输入值值域调整至[0,1]及[-1,1],两种激活函数均具有函数单调性,且具有光滑作用.但对于Sigmoid函数和Tanh函数采用指数运算,计算量大,且其导函数容易导致网络训练梯度不正常.Relu函数是对输入值与0比较后取最大值,具有单边抑制性以及稀疏激活性,且形式简单,计算方便.因此,本文采用Relu函数作为网络激活函数,具体公式表示如下:

f(x)=max(0,x)

(1)

池化操作类似卷积操作,目的是在减小经过卷积层运算后的特征矩阵大小,进而减少下一层操作的参数量以及计算量.最常采用的池化操作为最大池化和平均池化,即通过固定大小的窗口,在输入数据上滑动窗口且不重叠,对滑动窗口内的数据取最大值或均值,以保留主要特征.全连接层起到分类器的作用.层内结点数量与类别数目相同,每个结点与上一层所有结点相连,连线上以权重关连上下层节点间关系,其输出分别表示各个类别的识别机率,即通过对上一层输出的特征进行加权求和,得到各个类别的分数.

2.3 DenseNet网络结构

DenseNet卷积神经网络具有特征重复利用以及计算量小等优点,主要采用传统卷积神经网络不具备的密集连接,并降低卷积层的卷积核数目.DenseNet网络主要由Dense block和Transition layer构成,具体模型结构见图3.从图3中可以看到,DenseNet网络首先对输入采用大小为7×7的卷积核进行卷积操作,并将卷积得到的特徵图进行最大池化运算;其次,通过4个Dense block和3个Transition layer穿插连接,最后进行全局平均池化并分类.

Dense block结构由一个输入层和多个Residual block结构构成.Residual block[31]主要由两层不同卷积层组成,第一层的卷积核大小为1×1,第二层的卷积核为3×3,具体结构见图4.其中Residual block之间采用密集连接,每个Residual block的输入均由其前面的所有Residual block输出的特征图串联得到.如第三个Residual block的输入是将第一个及第二个Residual block的输出特征图串联起来,也就是使得每个Residual block都包含了前面所有Residual block的输出特征.因为特征重复利用导致特征维度增加,所以DenseNet网络通过减少训练时卷积层的卷积核数目来降低特征维度;而卷积核的数量与卷积神经网络的参数计算密切相关,卷积核数量的显著减少,使得网络参数量骤减,从而提高特征在卷积神经网络中的传输效率.

Transition layer结构用于连接Dense block,每个Transition layer均由一个卷积层和平均池化层构成,卷积层中的卷积核大小为1×1,结构见图5.其中,卷积层通过控制卷积核的通道数改变前一层输出特征图的数量;池化层通过控制卷积核的大小及卷积核移动步长改变前一层输出特征图的大小,以达到降维效果.通过Transition layer进行降维操作,每经过一层Transition layer,输出的特征图数量均减少且尺寸减半,进一步减少整个网络模型的参数使用量.特征图的尺寸大小与网络的计算速度相关,因此DenseNet网络通过减小特征图尺寸及减少数量来加快计算速度.

图4 Dense block结构示意图

Fig.4 Structure diagram of Dense block

图5 Transition layer结构示意图

Fig.5 Schematic diagram of Transition layer structure

根据Dense block中Residual block数量的差异,构造出不同层数的DenseNet网络框架.本研究采用DenseNet-63,DenseNet-121和DenseNet-169模型,各个网络具体参数见表3.在表3中,RB×3表示3个Residual block,Dense Block(1)和Transition Layer(1)分别表示第一个Dense Block和第一层Transition Layer,可以看出不同层数的DenseNet网络均首先通过一样的卷积核以及池化层;之后通过4个由不同数量的Residual block所组成的Dense Block和3个Transition Layer;最后进行分类.其中DenseNet-63中Dense Block分别有3、6、12、8个Residual block;DenseNet-121是它的两倍,分别有6、12、24、16个Residual block;而DenseNet-169则在第三和第四个Dense Block及121层均有所增加,为32个.

3 结果与分析

本研究的试验环境为Ubuntu 16.04,采用英伟达(NVDIA)显卡.对试验数据采取随机抽样,进行训练集与测试集的划分.模型的参数设置为:学习率为0.0004,Batch Size为16,Epoc为400.试验精度采用分类精度(Accuracy)度量模型的分类效果,其公式为:

(2)

式中,n为测试样本总数,当测试样本被分类正确时xi为1,被分类错误时xi为0.

采用Kappa系数度量模型分类结果的一致性,其公式为:

(3)

假设一个只有两种类别(1和2)的数据集,结果见表4.po计算公式见式(4),结果与式(2)的Accuracy一致;pe计算公式见式(5),称为理论一致率.

(4)

(5)

式中,a表示图像真实类别为1且被正确分类的数量,d表示图像真实类别为2且被正确分类的数量,b表示图像真实类别为2且被分类为类别1的数量,c表示图像真实类别为1且被分类为类别2的数量.

表3 DenseNet网络结构参数表1)

1)RB=Residual block,表示1×1卷积+3×3卷积.

表4 混淆矩阵示意图

3.1 不同数据集及不同网络深度的对比

为了探究数据集间的差异,并体现DenseNet网络的稳健性,且考虑到网络层数量(网络深度)将影响模型拟合能力,采用白天(D)、晚上(N)和混合数据集(M)分别训练了3个不同深度的DenseNet模型.总共建立了9个模型,即DenseNet-63-D, DenseNet-63-N, DenseNet-63-M, DenseNet-121-D, DenseNet-121-N, DenseNet-121-M, DenseNet-169-D, DenseNet-169-N, DenseNet-169-M.模型的命名规则为“网络主框架名称—网络深度—数据集类型”,例如DenseNet-63-D、DenseNet-63-N及DenseNet-63-M表示采用的DenseNet网络为主框架,3个模型深度皆为63层,分别使用白天数据集、晚上数据集及混合数据集训练分类模型.其中总体识别精度和Kappa系数的结果见表5.所有模型的Kappa系数均大于或等于0.80,表明DenseNet模型的识别结果与实际结果具有高度的一致性,且所有模型总体识别精度均高于86%,最高达88.41%.从图6可知,该模型在不同数据集下的训练损失值均收敛于一较低的稳定值,训练损失值平稳后,不同数据集对不同网络深度模型的识别精度相似并稳定在80%以上,表明该模型具有好的稳定性、可行性,且适用性强.

通过不同数据集的分析,并比较白天和晚上降雨图像数据集的识别结果,DenseNet-63、DenseNet-121、DenseNet-169三个模型均在白天降雨图像数据集取得最高的识别精确度.通过观察不同降雨强度下的白天图像,发现这些图像最大的区别在于其云层变化(图7).因为降雨量强度受云层厚度的影响,云层厚度变化导致云层颜色的深浅变化,所以云层变化成为模型识别的主要特征.而晚上的图像拍摄开启了红外线模式,红外线穿透云雾能力强,在晚上能够不受雾气干扰,使得雨纹能够清晰被观察到.从图8可以观察到晚上图像具有明显雨纹,且雨纹方向受风向影响;晚上图像中雨纹有垂直向下和斜向下的情况,较白天复杂.因此白天雨量图像的的识别精度略高于晚上图像.采用混合数据集将白天与晚上的数据进行糅合,提高了混合数据集的数据复杂性;与浅层网络的分类结果相比,深层网络模型在混合数据集方面的识别精度更高.

表5 不同数据集在不同深度DenseNet模型的识别精度和Kappa系数

从不同模型深度分析可知,白天和晚上的降雨图像数据集均在DenseNet-121取得最好识别精度,而混合数据集在DenseNet-169取得最好的识别精确度.主要是因为通过晚上的图像能够清晰地观察到雨纹变化,而白天的图像不易观察到雨纹,主要依据云层变化来对降雨量进行识别.不论是白天还是晚上的雨图,其背景变化只出现在不同站点之间,因此特征的识别集中于晚上图片中的雨纹以及白天图片的云层变化,特征提取更简单.DenseNet模型使用121层网络时便能较好抽取及学习雨纹及云层变化,可达到较好的识别精度;而更深的169层网络在更深的网络层已经提取不到有用的雨纹及云层特征,使得169层网络分类精度较121层网络低.当数据混合了白天和晚上的雨图时,依据雨纹以及云层的变化来识别,识别特征与单独晚上数据或者白天数据相比均更为复杂,此时更深层网络能够达到更好的分类精度.

综上所述,DenseNet模型在不同的数据集上存在识别精度差异,导致此差异的主要原因是白天和晚上摄像头的拍摄模式不同,使得晚上数据集的识别精度高于白天数据集;而模型在采用不同网络深度时亦存在识别精度差异,主要受到不同数据集特征抽取的影响.因此,本文基于各数据集得到识别效果最好的模型,依次为DenseNet-121-D、DenseNet-121-N和DenseNet-169-M模型.

3.2 不同气象站点的降雨强度识别

依据各数据集下识别精度最高的模型,绘制各气象站点的DenseNet-121-D、DenseNet-121-N和DenseNet-169-M模型识别精度柱状图(图9),其中各气象站点识别正确率均高于80%.此外,通过计算各模型在不同气象站点下识别精度的方差来检验模型精度的稳定性,计算得到的方差均非常小,其中最大的方差仅为0.07%,识别精度未存在明显波动,具有一定的稳定性.表明DenseNet模型对不同气象站点降雨量影像数据的分类精度较为稳定,具有一定的适用性.

3.3 不同降雨强度等级识别结果的对比

依据6个等级的降雨强度类别绘制折线图,呈现DenseNet-121-D、DenseNet-121-N和DenseNet-169-M模型在各等级降雨量下的分类效果;并依据白天和晚上数据集的数据绘制柱状图,呈现白天和晚上数据集占总数据集的百分比,结果见图10.从图10可以看到零星小雨、小雨以及中雨在各数据集及各模型中具有更为稳定的识别正确率;大雨识别正确率有小幅度的振荡,暴雨识别正确率振荡的最为明显,且正确率相较前三类呈下降趋势.主要原因在于各雨类数据量分布的差异,其中大雨和暴雨图片数分别占总数的4.39%和1.03%,在DenseNet-121-D和DenseNet-121-N模型上大暴雨图像分类正确率均为0;DenseNet-169-M模型上大暴雨图像分类正确率则为33.3%.白天正确率为0是因为白天未收集到大暴雨图像数据,因此只对其余5个降雨强度等级进行训练并测试;而晚上数据集只收集到12张大暴雨图像,仅占总数据的0.05%,其中训练图像占大暴雨数据的70%,即对9张图像进行训练,对其余3张图像进行测试.数据量太小导致模型训练该类别时引入了更多的数据噪声,即训练过程受其他类别图像的影响,导致该类别的分类特征不精确,出现全部测试错误,或是在DenseNet-169-M模型上,只有1张测试图像分类正确,得到的正确率仅为33.3%.大雨、暴雨和大暴雨的正确率波动幅度较大、数据量小导致计算正确率的基数小、斜率大.由此可知识别错误的数目极易影响到识别正确率,导致其变化幅度更大,而且模型分类能力的优劣与訓練数据相关.因此,大雨、暴雨和大暴雨正确率比数据量大的降雨强度等级有所降低,模型间正确率波动更大.但由于数据量少,因此对整体的效果影响很小.综上所述,不同等级的降雨强度存在较大的识别精度差异是由于试验数据在各个等级之间分布不均匀.

3.4 DenseNet网络与传统卷积神经网络识别结果的对比

将DenseNet网络与传统卷积神经网络的识别结果进行比较,包含AlexNet、VGG及Inception;并对各个网络的参数量进行对比,结果见表6.AlexNet网络由5个卷积层和3个全连接层简单拼构而成,其卷积层采用大小为11×11及5×5等的卷积核进行卷积操作;VGG网络与AlexNet相比,其卷积层采用大小为3×3的卷积核代替11×11及5×5等大尺寸卷积核进行卷积操作;而Inception网络是通过Inception block获取不同感受野的特征图,并对其进行堆叠,以此学习更复杂的特征.Inception block由4个分支组成,第一个分支只有一层卷积层,采用大小为1×1的卷积核进行卷积操作;第二个分支由两层卷积层组成,依序采用大小为1×1及3×3的卷积核分别进行卷积操作;第三个分支由3层卷积层组成,第一层卷积层采用大小为1×1的卷积核,而第二、三层各自采用大小为3×3卷积核进行卷积操作;第四个分支由一层池化层和一层卷积层所组成,池化层采用大小为3×3的卷积核进行操作,卷积层则使用大小为1×1的卷积核.

表6 DenseNet框架与传统卷积神经网络识别结果的比较

深层的特征图比浅层的特征图具有更大的感受野,这是卷积神经网络特点之一.DenseNet通过密集连接将浅层与深层的特征图进行串联,实现不同感受野的特征图堆叠,其混叠程度比Inception高,因此DenseNet网络能够较好地描述更复杂的数据.表6中DenseNet网络在晚上数据集中的分类正确率分别比AlexNet、Vgg-19及Inception-V2 高8.32%,5.61%及3.79%;白天数据集上的分类正确率分别比AlexNet、Vgg-19及Inception-V2 高1.06%、1.49%及1.62%;在混合数据集中的分类正确率分别比AlexNet、Vgg-19及Inception-V2高 2.50%、1.89%及2.23%;在参数量上,DenseNet-63的参数量比AlexNet、VGG-19及Inception-V2分别下降20倍、60倍及4倍以上. DenseNet网络具有最好的分类结果,且具有最少的网络参数量.由于晚上数据集比白天数据集复杂,白天数据集的分类精度均达到86%以上,而晚上数据集的分类精度最大值仅83.46%,最小值仅78.93%.由此可见白天数据集能够提取到更优的分类特征,难以处理更复杂的晚上数据集;但是,DenseNet在不同数据集上均保持87%左右的分类正确率,表明DenseNet网络在处理更复杂的数据时具有一定的优势.综上所述,DenseNet网络与其它传统卷积神经网络相比,具有更好的数据适应性和可行性.

4 小结

本文基于深度学习理论,通过降雨图像数据构建DenseNet深度卷积网络降雨强度识别模型,利用福州市8个气象站点的降雨图像数据进行建模.结果表明DenseNet模型的识别正确率最高值达到88.41%,最低值为86.90%.通过对比不同气象站点的识别正确率,发现该模型对不同气象站点的降雨图像具有良好的稳定性;通过对比不同数据集的识别正确率,发现白天数据比晚上数据具有更高的识别精度;通过对比不同深度的网络模型,发现混合数据比单独晚上或白天数据复杂,导致其在模型深度上的识别精度不一致;通过对比不同等级降雨强度的识别正确率,发现由于各个等级降雨强度数据的不均衡导致该模型对数据量较大的零星小雨、小雨、中雨三类雨图具有良好的稳定性,而大雨、暴雨和大暴雨数据由于占比极小,导致识别正确率下降且不稳定.综上所述,本文构建的降雨强度识别框架具有识别精度高、泛化能力强、实时监测降雨强度等级等优势,在降雨强度识别中具有可行性.

猜你喜欢

降雨量正确率降雨
个性化护理干预对提高住院患者留取痰标本正确率的影响
课程设置对大学生近视认知的影响
降雨型滑坡经验性降雨型阈值研究(以乐清市为例)
泥石流
生意
生意
豫南山区野生北虫草发生出草规律及采集利用调查初报