基于卷积神经网络的遥感图像水体提取*
2022-01-21张铭飞高国伟胡敬芳
张铭飞, 高国伟, 胡敬芳, 宋 钰
(1.北京信息科技大学 传感器北京市重点实验室,北京 100101;2.北京信息科技大学 现代测控技术教育部重点实验室,北京 100192;3.传感器联合国家重点实验室 中国科学院空天信息创新研究院,北京 100190)
0 引 言
水资源可用性是旱地可持续发展的主要限制因素。气候变化加剧了人与环境之间的用水需求冲突,凸显了有效水资源管理对于实现经济发展与环境保护之间平衡的重要性。2008年,中国北方典型旱地内蒙古提出了严格的水资源开发利用规定,以实现可持续发展。随着全国水资源保护政策的提出,水域变化监测显得尤为重要。
现阶段用来进行水体提取的方法主要有阈值法[1]、决策树法[2]、支持向量机(SVM)法[3]。王鑫等人[4]将图像的局部二值模式(local binary patterns,LBP)和频谱特征通过视觉词袋模型进行融合,以增强遥感影像中的水体目标特征表达能力,设计了基于词袋的遥感图像水体识别模型。然而由于该方式是在频域范围内对水体进行特征提取,并不能完全表征目标的特定信息。
陈坤等人[5]使用具有三层卷积层的神经网络模型,经过训练实现对遥感水体的提取;何海清等人[6]将水体指数与卷积神经网络(convolutional neural network,CNN)相结合建立水体提取模型,水体识别精度达到了94.19 %;何红术等人基于U-Net模型,经过改进提高了其识别精度。以上文献表明,CNN可用于水体识别,但这些模型的识别精度并不高,而且有些模型的网络结构较为复杂。
针对现有的网络结构复杂,模型训练收敛慢等问题,基于CNN,本文提出了一种用于遥感图像水体提取的模型。首先通过网络爬虫构造遥感图像训练数据集,为了比较模型的鲁棒性,构造了两种类型的数据集。第一个是由0.1~0.8 m辨率的高分一、二、六号卫星图像组成的粗标记的数据集,第二个是由0.8 m分辨率的高分二号卫星图像组成的精标记的数据集[7],最后在Tensorflow的框架下设计网络模型,通过训练后在测试集上进行模型验证。
1 遥感图像水体提取模型原理与结构
经典语义分割模型UNet[8]最先用于医学图像的分割,并在医学图像数据集上取得了非常好的分割效果。由于网络模型并没有较深的层数,并且在较少的数据集上表现出了非常好的分割效果,因此备受广大研究者的追捧。受U-Net结构的启发,本文提出了一种具有通道注意力机制的残差网络U-Net(residual U-Net with attention mechanisms,AMR-Unet)模型。它不仅能够学习图像中简单的局部特征,而且可以结合通道特征组成复杂的特征。其核心是将图像局部特征和通道空间特征结合起来,从而获得位移、尺度、形变的不变特征,具有很强的鲁棒性。因此在以上背景下,利用AMR-Unet有利于克服水域的复杂环境因素,对水体进行提取。
1.1 网络模型
U-Net结构由两部分组成,由下采样收缩路径和上采样扩张路径组成,其中下采样模块遵循典型的卷积网络架构,如图1所示。AMR-Unet模型由Encoder和Decoder两部分组成,如图2所示,Encoder对应U-Net的收缩路径,Decoder对应扩张路径。
图1 U-Net结构
图2 AMR-Unet结构
1.2 卷积层计算
在CNN中,卷积层通过卷积运算,提取原始图像的高维语义特征,可以增强信号的特征也可以降低信号噪声[9~11]。卷积操作可表示下
input(Ni,k)
(1)
式中 *为二维离散卷积运算符,N为batch size,C为通道数量,H为输入图像特征图的高度(以像素为单位),W为输入图像特征图的宽度(以像素为单位),bias为偏置值,out为卷积运算的输出结果。
1.3 池化层计算
CNN中,池化(pooling)层通常称为下采样(subsampling)层,池化操作利用图像局部具有相关性原理,对上一层特征图中相邻矩形区域进行统计计算,起到了二次特征提取作用。常用的池化操作有最大池化(max pooling)、最小池化(min pooling)、平均池化(average pooling)[10]等。池化操作表示如下
(2)
式中Hin,Win分别为输入特征图的高和宽;Hout,Wout分别为池化操作后特征图的高和宽;padding为对特征图进行填充,通常在特征图边缘填充0或1;kernel_size为池化区域的大小;stride为池化操作移动的步长。
1.4 全连接层计算
全连接层将得到的一系列特征图像素取出排成一个向量,其过程如下
(3)
1.5 SoftMax分类器
SoftMax分类器用作损失函数的评估,并对分类的正确与否进行调整。可表示如下
(4)
式中xi为进行评估的目标,xj为需要进行评估的所有目标。
2 实验结果与分析
实验数据集分为两个数据集,第一个数据集是来自高分一号、高分二号、高分六号,拥有1 000张粗标注的数据集,训练集、验证集和测试集的比例为8︰1︰1,该数据集的分辨率为256×256;第二个数据集是来自高分二号的1 000张精标注的数据集[12],训练集、验证集和测试集比例与第一个数据集相同,该数据集的分辨率为492×492。
其中训练过程平均交并比(mean intersection over union,MIOU)记录如图3、图4所示。对于粗标记数据集,在训练第115次时模型开始收敛;训练精标记数据集,模型在第100次时进行收敛。
图3 粗标记MIoU
图4 精标记MIoU
将训练后的模型在测试集上进分割的效果如图5所示。其中AMR-Unet模型和U-Net分别在两种数据集上的MIoU、像素准确度(pixel accuracy,PA)和推理时间(infer time)如表1所示。从表1可以看出,AMR-Unet模型的分割效果要好于U-Net模型,在Infer time变化较小的情况下提高了MIoU和PA。
图5 分割结果对比
表1 评价指标
实验所使用的计算机配置如下:CPU为Intel Core i7—11800H,运行内存大小为16 GB;GPU为NVIDIA GeForce GTX 3060,显卡内存大小为6 GB。超参数设定为:学习率(learning rate)为1×e-4,批大小(batchsize)为2。
实验结果表明,在两种数据集上,模型提取精度分别为94.78 %,94.42 %,对于不同的数据集都表现出很好的分割效果,鲁棒性较好,分割精度高于传统的U-Net模型,表明该模型对于遥感图像水体提取具有良好的效果。
3 结 论
本文提出了一种遥感图像水体提取的卷积神经网络AMR-Unet,利用网络爬虫并手动标记,建立了两种不同标记类型的数据集,通过实验验证模型分割精度达94.78 %,在模型复杂度较低的情况下,能够达到理想的分割效果,为后续基于遥感图像进行水域监测打下基础。由于训练集中并未包含具有冰层的遥感数据集,因此,模型如何能够将冰层也识别为水体还需进一步研究。