2020年青藏高原湖泊语义分割数据集

2022-01-15 14:18王兆滨高雄康建芳艾鸣浩
关键词:真值湖泊语义

王兆滨,高雄,康建芳,艾鸣浩

1.兰州大学信息科学与工程学院,兰州 730000

2.中国科学院西北生态环境资源研究院,兰州 730000

3.国家冰川冻土沙漠科学数据中心,兰州 730000

数据库(集)基本信息简介

images/BZ_73_709_1835_1062_1913.pngimages/BZ_73_1086_1835_2222_1913.pngimages/BZ_73_709_1915_1062_1993.pngimages/BZ_73_1086_1915_2222_1993.pngimages/BZ_73_709_1995_1062_2073.pngimages/BZ_73_1086_1995_2222_2073.pngimages/BZ_73_709_2075_1062_2154.pngimages/BZ_73_1086_2075_2222_2154.pngimages/BZ_73_709_2156_1062_2234.pngimages/BZ_73_1086_2156_2222_2234.pngimages/BZ_73_709_2236_1062_2314.pngimages/BZ_73_1086_2236_2222_2314.pngimages/BZ_73_709_2316_1062_2394.pngimages/BZ_73_1086_2316_2222_2394.pngimages/BZ_73_709_2396_1062_2474.pngimages/BZ_73_1086_2396_2222_2474.pngimages/BZ_73_709_2476_1062_2555.pngimages/BZ_73_1086_2476_2222_2555.pngimages/BZ_73_709_2557_1062_2791.pngimages/BZ_73_1086_2557_2222_2635.pngimages/BZ_73_1086_2635_2222_2713.pngimages/BZ_73_1086_2713_2222_2791.pngimages/BZ_73_709_2793_1062_3027.pngimages/BZ_73_1086_2793_2222_2871.pngimages/BZ_73_1086_2871_2222_2949.pngimages/BZ_73_1086_2949_2222_3027.png

引 言

湖泊水体提取是遥感图像分析的一个重要研究领域,并且青藏高原上分布着约 1612个湖泊,面积超过1 km2的湖泊约占1200个,占中国湖泊数量与面积的一半[1]。一方面,湖泊对全球温度变化非常敏感,且在碳循环中扮演着重要的角色,而青藏高原上湖泊密集,为研究者们提供了重要的机会[2]。另一方面,湖泊与人类的生产和生活息息相关,比如农业灌溉、交通运输和提供人类赖以生存的饮用水源等。因此,研究基于遥感图像的湖泊水体的自动提取具有重要意义。

语义分割是计算机视觉领域的一项关键技术,其是对图像中的所有像素进行分类,并将所有的图像分割成若干个具有语义类别的区域来表示现实生活的实际物品。与自然图像语义分割数据集相比,遥感图像的拍摄角度是不同的,图像中目标通常是向上的,且在图像中以任意的方向出现[3]。

对于遥感图像的语义分割任务已经得到了广泛的研究,大部分的研究方法都是将基于自然图像的语义分割方法迁移到遥感图像处理领域。由于深度学习对数据集的规模存在一定的要求,若数据集过小,则模型不能对目标进行充分的学习。但遥感图像的获取存在一定的限制,其语义分割数据集往往都不会太大。研究者们通常使用在大规模的自然图像数据集上预训练而获得的预训练权重,然后在遥感图像数据集上精细调整权重,用于遥感领域的语义分割[4]。

虽然此方法可以提高模型的精度,但是由于自然图像与遥感图像有较大的差别,主要体现在同一类别尺度变化较大,且遥感图像中具有复杂的背景。因此,使用自然图像数据集获得的语义分割模型也就不适用于遥感图像,使用基于自然图像数据集的预训练方法对模型准确率的提升还是具有较大局限性。

随着深度学习技术的快速发展,可以使用基于深度学习方法来对遥感图像中湖泊进行分割[5-6]。虽然,基于阈值法和常规机器学习算法对湖泊水体提取的研究仍具有一定的优势,但是深度学习方法对特征的学习能力相比其他方法还是具有较大的优势。本数据集,可用于青藏高原区域湖泊的灾害分析和评估研究。一方面可以基于语义分割方法对湖泊进行提取,也可以对后面的研究进行数据支持。另一方面,可以使用本数据集来对语义分割模型进行预训练,解决了使用自然数据集进行预训练的局限性,从而提高研究模型的准确率。

1 数据采集和处理方法

1.1 数据来源

本研究建立了以青藏高原湖泊水体为研究对象且由 RGB图像组成的可见光光谱遥感图像数据集,其中的图像全部来自于谷歌地球。在遥感图像中,大小和方向的差异是产生目标物体偏差的主要原因,为了消除偏差和增加多样性,我们可以使用数据增广来扩充数据集,使得模型可以充分学习目标物体的语义特征。

1.2 数据采集方法

1.2.1 训练样本制作

与自然图像相比,遥感图像的尺寸往往很大。在本数据集中,图像的原始大小一般为1457×971,个别图像的大小会有细微的差别,但由于GPU显存和其他软硬件的限制,不能将原始图像直接输入到模型,需要对原始图像进行缩放,并将原始图像分割成不重叠的块。本数据集中只有湖泊与非湖泊两种类别,在青藏高原上,湖泊只占一小部分,而非湖泊则占有较大的部分,因此会产生数据集正负样本不平衡问题,进而模型不能充分学习到正样本的特征,产生欠拟合问题。因此,使用数据平衡策略来平衡正负样本。如果正样本在图像中的占比非常小,将丢弃图像。反之,我们则保留该图像。最后从所有的子图像中随机选取了共6774 张大小为256×256的包含湖泊的图像。

1.2.2 数据标注

在得到了裁剪后的子图像后,需要将所得到的图像进行数据标注。本研究使用的数据标注软件为labelme,其是麻省理工大学人工智能实验室采用Python语言编写研发的图形界面的图像标注软件。使用labelme软件打开裁剪后的子图像并对图像中的湖泊水体沿着湖泊边缘进行标注,对所有的标注结果分配类别为lake,最终得到标注后的json文件。数据标注形式及类别如图1所示。

图1 labelme对图像进行数据标注

1.2.3 文件格式转换

在完成数据标注后,得到的json文件并不能直接用于语义分割模型的训练。因此,需要对得到的json文件进行批量转换。转换后的文件如图 2所示,其中共包含 5个文件,需提取 img.png和label.png作为训练图像和真值图像。对于图片中所有相同的类别,赋予其相同的颜色。在本数据集中只有两个类别,一个是湖泊,另一个是背景。

图2 json文件转换后的图像文件

1.2.4 数据增广

数据增广是深度学习任务中用于在训练样本较小的情况下生成新的样本以增加训练集样本数量的一种常用技术。在本研究每个训练时代之前,对所有训练样本使用最常见的翻转(上-下、左-右)和在(0°,90°)中以任意角度旋转方法来提高模型的泛化能力。数据增广的结果如图3所示,其中A为原始图像;B是将原始图像左右翻转;C是将原始图像上下翻转;D-F是将原始图像以(0°,90°)中的任意角度旋转;a-f为A-F对应的真值图像。

图3 数据增广的示例

1.3 数据集的划分

一般来说,深度学习模型学习的本质是学习数据分布,为了保证模型所学习到的特征可以对数据进行正确的预测,需要保证训练集和测试集具有近似的分布。随机选择6164张RGB图像作为训练集,剩下的610张RGB图像用作测试集。

1.4 模型训练和应用细节

语义分割模型训练的过程一般分为训练阶段和测试阶段。在训练阶段,每次可将批量的RGB图像和通过数据标注以及格式转换后的真值图像作为训练样本输入到模型中。在前向传播过程中,经过一系列的卷积(反卷积)层、标准化层、池化层和激活函数层来进行特征的提取,最后通过softmax函数来得到最后的标签映射。将得到的标签映射和真值图像输入到损失函数中来计算损失值。最后,在反向传播过程中通过梯度下降法来更新模型的参数。在测试阶段,使用在训练集上获得最佳评价指标的模型参数来预测测试集中的图像,并将得到的预测标签映射与真值图像进行比较,通过相关的评价指标确定模型性能的好坏。语义分割模型训练的流程如图4所示。

图4 语义分割模型流程图

本模型算法是基于深度学习开源框架 pytorch[7],且模型的训练参数使用 Kaiming[8]初始化来得到。交叉熵损失函数[9]被用来计算预测标签和真值图像的损失值,为了最小化交叉熵损失函数,使用Adam[10]优化器来更新模型的参数,将权重衰减系数设置为 0.001,并使用学习率衰减策略来防止模型的过拟合。使用学习率衰减策略的主要原因是在模型训练的后期,较大的学习率会越过最优解从而导致模型不能收敛到最小值。最终模型经过70个时代后收敛到最小值。

2 数据样本描述

本数据集共分为train_img和trian_label两部分,其中train_img文件夹内共包含6774 张大小为256×256的RGB谷歌地球遥感影像,其空间分辨率为17 m,train_label文件夹内为6774 张原始影像相对应的二分类标签图像,其中红色为湖泊水体,黑色为背景。

图5中展示了青藏高原中RGB图像及其对应的真值图像。

图5 湖泊水体提取研究区

3 数据质量控制和评估

3.1 评价指标

语义分割是深度学习中热门的研究领域之一,不同于图像分类方法,但归根结底也是一种图像像素分类方法。所以,其分类结果由True Positive(TP),False Positive(FP),True Negative(TN),False Negative(FN),即真阳性,假阳性,真阴性,假阴性4种情况来构成混淆矩阵。常用的衡量算法精度的评价指标如下:

(1) Overall Accuracy(OA,总体准确率):这是一个评价算法精度最直接的评价指标,即正确分类的像素数与总像素数的比值。

(2) Recall(RC,召回率):召回率是正确预测为湖泊的像素数与湖泊所有像素数的比率。

(3) Mean Intersection Over Union(MIoU,平均交并比):MIoU是正确分类的像素数和真值图像像素数之比与对应类别中检测到的像素数之比的平均值。

(4) True Water Rate(TWR,真水率):TWR是正确分类的湖泊像素数与标记的湖泊像素数的比值。

(5) False Water Rate(FWR,误水率):FWR为错误分类湖泊像素数与标记的湖泊像素数之比。

3.2 湖泊水体提取结果评价

通过使用 MSLWENet[5]、DeepLab V3+[11]、PSPNet[12]、MWEN[13]和 Unet[14]对本数据集进行验证,其结果表明,由本数据集训练出的语义分割模型还是比较理想的,能够有效的解决湖泊类内方差大、类间方差小以及小湖泊误分类等问题。其中MSLWENet在验证集上OA达到了98.53%,并且在类内方差大地区的OA为98.31%、类间方差小地区的OA为98.78%以及对小湖泊识别的OA达到了98.70%。除此之外,MSLWENet的RC、MIoU、TWR和FWR评价指标分别为97.67%、96.09%、97.47%、2.53%,都明显优于其他4个对比模型,具体信息如表1所示。DeepLab V3+和PSPNet是自然图像分割领域的经典模型,由于使用了具有强特征提取能力的ResNet[15]作为编码器,所以在湖泊水体提取任务也获得了不错的性能,但是在细节上与 MSLWENet还是具有一定的差异。MWEN是专用于遥感图像水体提取的神经网络,Unet是医学图像分割领域的经典模型,但是由于这两个模型使用了浅层编码器,所以将其应用到青藏高原区域水体提取任务时,不能很好地处理噪声干扰和提取足够的特征用于像素分类。其中DeepLab V3+、PSPNet、MWEN和Unet在验证集上的OA分别为98.10%、98.08%、97.75%和96.12%,在类内方差大地区的OA分别为97.07%、97.70%、96.22%和92.97%,在类间方差小地区的OA为95.87%、96.85%、95.30%和84.89%,以及对小湖泊识别的OA为98.57%、98.26%、98.30%和96.81%。

表1 不同神经网络模型在验证集上的定量比较

图6中第1-2行为小湖泊提取可视化结果,第3-4行为类间方差小区域提取的可视化结果,第5-6行为类内方差大区域提取的可视化结果。其中a(1)-a(5)为测试集中的原始图像;(b(1)-b(5))是原始图像所对应的真值图像;c(1)-c(5)、d(1)-d(5)、e(1)-e(5)、f(1)-f(5)、g(1)-g(5)分别是 MSLWENet、DeepLab V3+、PSPNet、MWEN和Unet的提取结果。通过对图6分析可以得到,非湖泊类别中存在的冰川积雪、山体阴影与湖泊具有相似的光谱特征,同为湖泊但是在纹理光谱等特征却存在着较大的差异以及对小湖泊水体提取的准确率是衡量算法性能的重要方面。

图6 不同模型提取湖泊水体的性能比较

4 数据价值

基于阈值法和传统机器学习等方法的湖泊水体提取,虽然取得了不错的进展,但仍存在一定的局限性。比如,阈值法及其相关算法,存在最佳阈值的选择问题;而传统的机器学习算法,则涉及到特征工程中特征的组合和选择问题。最后算法的性能好坏主要就是取决于特征工程所获得的特征能否正确表达样本的真实属性。

深度学习语义分割这一计算机视觉领域中的重点研究领域,近些年来逐渐被应用到遥感图像湖泊水体提取中,但是这也存在着一个弊端,就是数据集的制作问题。本文所制作的数据集一方面可以用来作为湖泊语义分割数据集,来对青藏高原上的湖泊进行水体提取的研究。另一方面也可以用本数据集来做预训练获得预训练权重,从而提高湖泊水体相关研究者们在自己数据集上的精度。这对青藏高原的生态稳定以及环境的可持续发展具有重要的意义。

5 数据使用方法和建议

本数据集所保存的图像文件,可以通过Python中的PIL和Opencv库中的相关模块或包来进行读取,并输入到深度学习模型中。

猜你喜欢
真值湖泊语义
语言与语义
你相信吗?湖泊也可以“生死轮回”
10kV组合互感器误差偏真值原因分析
奇异的湖泊
“上”与“下”语义的不对称性及其认知阐释
真值限定的语言真值直觉模糊推理
滚动轴承振动速度的乏信息真值估计
基于真值发现的冲突数据源质量评价算法
认知范畴模糊与语义模糊
语义分析与汉俄副名组合