城市河网的低空遥感影像全卷积神经网络水质等级分类

2020-04-12 09:18周骁腾
关键词:实验区水体卷积

刘 春,杨 怿,周 源,周骁腾,

(1. 同济大学测绘与地理信息学院,上海200092;2. 北京大学大数据科学研究中心,北京100871;3. 上海同繁勘测工程科技有限公司,上海200092)

城市河网水质是城市生态环境的重要评价指标之一,也直接影响着城市民生和经济发展等诸多方面,因此快速和高效的水质监测技术在水环境的保护中起着重要作用。上海市计划至2020 年基本消灭劣五类水体,进而整治四类、五类水体,以不断改善城市水环境。截至目前,主要依靠人力摸排和水文站定点监测的方法对河流污染情况进行排查[1],但这些方法耗费较多的人力和物力,而且时空分辨率较低,难以满足水环境动态监测的需求[2]。

遥感技术的发展为快速、动态、全覆盖的水质监测提供了很好的技术手段。相对于内陆河流水体,海洋和大型湖泊水体更容易被遥感手段观测。随着各国环境监测卫星的不断研发和投入使用,针对海洋和大型湖泊的遥感水质监测技术体系已较为成熟。Mohdhasmadi 等[3]建立了法国地球观测系统(SPOT)卫星的近红外波段反射率与水质浊度的关系;Hellweger 等[4]发现美国陆地卫星专题制图仪(Landsat TM)的绿色和红色波段的比值与水体中叶绿素A 的含量成强线性相关,并实验验证了反演可行性;Tehrani 等[5]利用美国海洋水色卫星的宽视场水色扫描仪(SeaWiFS)、美国中分辨率成像光谱仪(MODIS)和欧空局ENVISAT 卫星的中等分辨率成像频谱仪(MERIS)的若干波段组合反演了有色溶解有机物和溶解有机碳浓度。以上研究主要采用线性模型进行回归反演,计算简单,对数据依赖小,但模型的物理描述机制不够充分。随着机器学习技术的发展,神经网络方法为建立更复杂、更准确的反演模型提供了可能,并且已有研究表明,基于神经网络的水质遥感分析效果优于传统方法[6-7]。

将海洋和大型湖泊水体的水质遥感监测技术应用于城市河网,主要面临2个主要问题。首先,城市水质监测常关注易出现污染源头的河网中上游部分,而这些河流的主干部分宽度通常为数十米,支流的宽度则常仅有数米,卫星遥感影像的空间分辨率往往无法达到城市相应水质监测的要求。为这一问题提供解决方案的是空间分辨率可达厘米级的无人机低空多光谱遥感技术,然而高分辨率的无人机低空多光谱遥感影像数据量更大。传统影像分析的统计模型虽然算法简便,能够快速对遥感影像进行处理,但是容易出现模型有偏问题,并且在建立模型时需要进行大量的光谱与水质参数相关性分析、回归模型拟合优度检验等前期工作。基于神经网络可以建立更复杂、更能反映多变水质状况的模型,但计算复杂度往往显著高于传统模型,使遥感影像的处理速度变得很慢,难以在实际工程项目中进行规模化应用。

目前在深度学习和图像模式识别领域中,卷积神经网络(CNN)方法在保留传统神经网络模型复杂度的同时,能够快速针对图像进行运算[8-9]。基于卷积神经网络建立分析模型,对无人机低空多光谱遥感影像进行分析,是城市河网水质监测的一个潜在的有效途径。

以城市河流水体为研究对象,建立支持水质反演模型自动化建模和低空遥感图像快速处理的水环境遥感监测数据处理方案。具体地,基于卷积神经网络模型框架,提出一个可以对无人机多光谱遥感影像进行水质等级分类的算法。

1 基于全卷积神经网络的水质等级分类算法

1.1 水质等级分类算法流程

为实现基于无人机低空多光谱遥感数据的城市河流全流域水质等级分类,给出了如图1 所示的总体算法思路。该算法包括3个主要步骤:数据准备、神经网络的设计与训练、对分类结果的评价。

1.2 网络架构设计

图1 水质等级分类算法流程Fig.1 Flow chart of water quality classification algorithm

无人机低空多光谱遥感影像数据是一类新型数据,是无人机低空遥感获取的、包含红绿蓝三波段和若干定制了中心波长的窄带波段。这类数据现有数据量较小,并且数据结构不同于传统图像语义分割领域使用的可见光图像,因此难以基于现有的成熟网络,如VGG模型[10]等,实现迁移学习[11],而需从底层架构训练卷积神经网络。在本研究的图像像素级标注问题上,Ronneberger 等[12]提出的U 型全卷积神经网络(UFCNN)是一个满足前述需求并具有良好泛化能力的模型。U型全卷积神经网络已经应用于遥感图像解译[13-14]。基于该网络架构,设计用于水质等级分类的卷积神经网络。

设计架构如图2 所示的U 型全卷积神经网络。网络共20层(未计入输入层)。前9层类似于常规卷积神经网络,由卷积层和池化层交替构成,用于特征提取;后9 层是由卷积层和上采样层交替构成的图像重建部分;中间包含2 个连接层,分别连接第3 层与第13 层、第6 层与第11 层,即同一尺度上的原始特征图与上采样结果特征图,以融合图像特征和空间位置信息。网络的输入是五通道的训练样本,输出是以独热编码(one-hot encoding)表示的分割结果。对于网络中使用的卷积层,除第10层、第12层、第14层和输出层采用1×1卷积来压缩特征维度外,其余均采用3×3卷积;所有卷积层的移动步长是1,补零(padding)方式为‘same'。池化层采用最大池化(max-pooling)算法,池化因子为2。上采样层采用反卷积算法[15],反卷积层使用3×3 卷积核,步长与池化层对应设为2。网络参数总个数为32 213。损失函数使用多分类交叉熵函数。

所设计的网络架构深度为3,即包含了3次最大池化和3 次反卷积上采样。在前期测试网络深度时,深度为3的网络测试精度高于深度为2的网络测试精度,而深度为4 和5 的网络测试精度与深度为3的网络测试精度基本相同,因此网络深度采用3。

图2 水质等级分类神经网络架构Fig.2 Neural network architecture for water quality classification

1.3 结果评价指标

对于分类结果,以常用的混淆矩阵及在其基础上计算的正确率、准确率、召回率和F分数等作为评价指标,计算式分别如下所示:

式中:A表示正确率;P表示准确率;R表示召回率;F表示F分数;pij表示混淆矩阵第i行第j列的元素,第i行表示真实类别为第i类的像元,第j列表示分类结果为第j类的像元。

对于本研究的神经网络训练结果,使用所有类别分类正确率的均值作为神经网络的分类精度。

2 实验验证

2.1 数据采集区域

使用了来自2个不同实验区的数据对算法进行稳定性和可行性验证。

实验区1位于上海市嘉定区。实验区范围东西向跨度约800 m,南北向跨度约900 m。实验区内部的河流主要是位于某一校园内部的人工河流,水系总长度约5.0 km,平均水深约0.5 m,水域总面积约0.50 km2。该河流水源主要为降水,没有污水排放,亦不与校区外部河流直接相连,水质较好。实验区西南角包含一段蕴藻浜支流,流经校园外部的居民区和工业区,水质较校园内部略差。

实验区2位于上海市宝山区杨行镇。实验区范围东西向跨度约5 500 m,南北向跨度约3 500 m。实验区内部的若干河流在区域内穿过绿地、居民区和工业区,在实验区外部汇入黄浦江。水系总长度约20 km,水域总面积约0.5 km2。图3是2个实验区的位置示意图。

图3 数据采集区域位置Fig.3 Experiment area position

2.2 数据采集和预处理结果

数据采集方式为无人机低空遥感。无人机作业时天气晴朗,实验水域在作业前1 个月内未发生特殊污染情况,水体水质状况基本稳定。无人机搭载的相机为多光谱相机,5个波段依次为红―绿―蓝可见光波段、675 nm 和705 nm 2 个窄带多光谱波段,后2个波段与多个两类水体非水色水质参数均有较高的相关性[6]。无人机采集的原始影像即为依次对应上述波段的五通道影像。

数据预处理包括辐射校正、几何校正和水体提取。辐射校正由自主研发的算法完成。几何校正由无人机测图软件Pix4D 完成,同时生成了实验区域的正射影像。实验区1 和2 的正射影像大小分别约为25 000 ×21 000 和21 000×13 000 像素,数据存储类型为16 位整型。水体提取由自主研发的自动化提取算法辅以人工后处理完成,预处理后正射影像如图3a和3b所示。

2.3 数据集建立

要建立用于U型全卷积神经网络训练和验证的数据集,首先需生成正射影像所对应的分类地面真值图像,然后利用两者不断生成用于单次训练的样本,最后将这些样本整合,形成数据集。

所使用的地面真实数据来自笔者团队对同一实验区的前期研究成果。依据国家标准《地表水环境质量标准》[16](下文简称“国标”)以及《上海市内陆河流及水系水质常规评价技术规范》(下文简称“上海市标准”),选用水质指标氨氮(AN)和总磷(TP),使用指数型反演公式对实验区水体的水质进行反演,并依据国标进行分类,最终得到Ⅰ类至Ⅲ类水、Ⅳ类水、Ⅴ类水和劣Ⅴ类水的水体在实验区的分布。依据分类结果,生成地面真值图像。在地面真值图像中,除上述4 个水质等级,还有一类像素为非水,即共有5 个类别。图像存储格式为单通道的tif 文件,水质等级的分布如图4b 和图5a 所示。分布图大小分别与正射影像大小对应,数据存储类型为整型,数据范围为0~4。表1记录了地面真值图像中每个类别所包含的像素个数。

表1 各类水的像素数量Tab.1 Number of pixels for each quality level water

使用随机开窗截取的方法生成单个学习样本,以克服正射影像过大、难以基于现有硬件条件直接在U型全卷积神经网络中进行迭代训练的问题。对应实验区1和2的窗口大小分别为300×300和64×64,每次截取时随机选定一个位置,然后在该位置上分别截取窗口大小的正射影像和地面真值图像,生成一个学习样本。在实验区正射影像中,水体部分仅占整个影像像素的小部分,而本实验的目标是水质分类,即主要关注影像的水体部分,因此不均匀的数据分布会给训练带来较大困难。针对此问题,在生成样本时,若随机的样本中不包含任何水体,则该样本无效,需重新生成。以此方法,本实验生成样本数量分别为1 000(实验区1)和3 000(实验区2)的数据集,下文称这2 个数据集分别为数据集1 和数据集2。

2.4 实验环境设置

实验运行硬件环境为:计算机内存16 GB,CPU型号Intel(R)Core(TM)i7-6700HQ 2.60 GHz,显卡型号NVIDIA GeForce GTX 960M。神经网络训练框架选用Keras[17]。

在第1.2节所述U型全卷积神经网络架构的基础上,对U 型全卷积神经网络的关键超参数做出如下设置:

(1)梯度下降算法

选用Adam 算法[18],研究表明该算法在多数情况下优于此前的动量算法、均方根传播(RMSProp)算法和可变步长梯度法(Adagrad)等梯度下降算法[19]。Adam 算法的参数使用其默认参数,即β1=0.9,β2=0.999,ϵ=1×10-8。

(2)正则化

为预防过拟合,使用Dropout[11]作为正则化算法。Dropout 层添加于每个Max-Pooling 层和Deconvolution层之后,Dropout率设为0.4。

(3)Batch-normalization

为预防深层神经网络出现梯度爆炸或梯度弥散,在除输出层外的每个激活层前使用Batchnormalization算法[20]。

(4)自适应学习速率调整

当学习停滞时,适当地减小学习速率可能使网络更好地收敛到极小值点。使用的自适应学习速率调整算法为Keras 预定义的学习率衰减(ReduceLROnPlateau)算法[17],参数选用默认参数,即每当连续迭代10 次而总loss 变化不明显时,将学习速率减小为原来的0.1倍。

对神经网络的训练结果和泛化能力有较明显影响的参数是学习速率,而Adam 算法结合自适应学习速率调整是选择该参数的一种优选策略[11]。另外,在多次神经网络训练过程中,当迭代次数达到200 左右时,经自适应学习速率调整,学习速率往往减小至1×10-12以下,并且训练精度已经较高,此时认为训练完成。在下文的交叉验证过程中,本实验选择的训练迭代次数均为200。

3 分类结果与分析

3.1 网络泛化能力评估

对数据集1采用交叉验证方法来划分训练集和验证集,并用最终交叉验证精度近似测试精度,以评估网络泛化能力。使用的交叉验证方法是k折交叉验证算法,k取10,即为十折交叉验证法。在实验中,每次随机选取900个样本作为训练数据集,其余100个样本作为验证数据集;重复完成10 次训练-验证过程,得到每次的训练精度和验证精度。

表2 为十折交叉验证结果。验证精度可反映U型全卷积神经网络的分类能力,验证精度与训练精度之差可反映U型全卷积神经网络的过拟合程度和泛化能力。如表2 所示,交叉验证的平均验证精度达到92.05%。由于水质监测本身并不要求非常高的水质分类精度,这一结果可以满足实际工作的需要。验证精度与训练精度平均相差1.54%,两者之差的标准差为1.60%,表明所提出的U 型全卷积神经网络具有较好的泛化能力。

表2 水质等级分类模型训练及交叉验证结果Tab.2 Training and cross-validation results of water quality classification model

3.2 分类结果与分析

为定性描述U型全卷积神经网络模型的分类结果,使用训练精度和验证精度均接近十折交叉验证精度均值的一组网络参数,即表2 中第10 次训练结果,对数据集1的整个正射影像进行分类,并输出分类结果图和混淆矩阵,如图4和表3所示。

表3 U型全卷积神经网络模型水质分类结果混淆矩阵(数据集1)Tab.3 Confusion matrix of water quality classification results with UFCNN model(data set 1)

为与所提算法进行对比,借助成熟的遥感图像处理软件ENVI 5.3,使用极大似然法对实验区1 的水体进行了分类。对照实验的分类结果如图4 所示。囿于篇幅,仅列出对照实验的F分数,如表4所示。表3中水质分类精度计算的是各类水质等级的像素分类精度的平均值,非水类分类准确率明显高于水质分类的原因是非水像素的五波段像素值都被置为零,分类相对容易,故非水像素的分类精度并未计入。从图4 可见,极大似然法不仅在相邻两等级的水质分类上存在混淆,甚至会混淆分属非相邻等级水质的像素。所提出的U型全卷积神经网络模型虽然在Ⅳ类与Ⅴ类水之间存在一定混淆,但总体上以较理想的精度实现了不同水质等级的水体分类,平均水质分类精度为87.96%。

图4 实验区1分类结果Fig.4 Classification results for experiment area 1

表4 实验组及对照组分类结果F分数Tab.4 F-score for experimental group and control group

数据集2 的数据量和变化程度更大,更接近水环境遥感检测项目中所使用的实际数据,但分类难度也更高。除前文提及的Dropout 参数调整为0.2以适应更复杂的数据之外,实验2沿用在数据集1上使用的U型全卷积神经网络模型及算法,在数据集2上进行训练并对整个正射影像进行分类,结果如图5和表5所示。表5显示的整体分类精度有所降低,为77.57%,但从图5 可以看出,模型仍识别出了不同水质等级的主要水体。

图5 实验区2分类结果Fig.5 Classification results of experiment area 2

表5 U型全卷积神经网络模型水质分类结果混淆矩阵(数据集2)Tab.5 Confusion matrix of water quality classification results with UFCNN model(data set 2)

数据集1 对比实验中,极大似然法的原理是通过欧式距离划分类别,即待分类样本被划分到与其距离最近的训练样本所属的类别。该方法没有对数据空间进行变换。结果表明,即使在数据的空间分辨率较高、光谱特征较丰富的情况下,对水体按照水质等级进行分类仍然是一个复杂度较高的分类问题,传统自动化分类方法难以进行有效分类。限制分类精度的其他原因主要有以下两点:一是地面真值图像不够精确,因地面真值图像是反演结果而非由全部实测得到的,本身包含的错误和误差阻碍了U 型全卷积神经网络模型训练精度的进一步提升;二是在有限的外部条件和优化空间本身复杂度较高的情况下,很可能未找到使U 型全卷积神经网络模型分类精度最优的超参数组合。

4 结论与展望

提出了一个基于全卷积神经网络的城市河流全流域低空遥感影像水质等级分类算法,该算法包括无人机遥感数据的处理、用于网络学习的样本数据集的构建、基于U 型全卷积神经网络的水质分类神经网络架构设计和超参数调整以及分类结果的评价与输出。使用上海市嘉定区某区域和上海市宝山区杨行镇某区域的无人机低空遥感影像对该算法进行了验证,分别达到87.96%和77.57%的平均水质分类精度,这一结果可支持该算法的可行性。所设计的全卷积神经网络经交叉验证,过拟合程度低,具有良好的泛化潜力。

基于无人机低空遥感的全流域水质监测工作尚处于起步阶段,若能经过一段时间的数据积累,则由深度学习依赖于大数据驱动的特性,该算法的精度和实际应用表现有望得到进一步提升。水质反演的结果由水体光谱特性决定,而水体光谱特性会受到无人机遥感影像的辐射定标与校正的直接影响,因此一种可靠的无人机遥感影像辐射定标和校正方法也是所提算法可推广性的前提和保障。

猜你喜欢
实验区水体卷积
国家可持续发展实验区全要素生产率的空间分异及影响因素
农村黑臭水体治理和污水处理浅探
农村黑臭水体治理与农村污水处理程度探讨
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
生态修复理念在河道水体治理中的应用
从滤波器理解卷积
本市达到黑臭水体治理目标
基于傅里叶域卷积表示的目标跟踪算法
2016年国家文创实验区规上文化产业收入近2000亿元