ACTA Scientiarum Naturalium Universitatis Pekinensis
River Extraction from High-resolution Satellite Images Combining Deep Learning and Multiple Chessboard Segmentation
FANG Haiquan, JIANG Yunzhong, YE Yuntao, et al
1. School of Mathematical Sciences, Peking University, Beijing 100871; 2. Institute of Water Resources, China Institute of Water Resources and Hydropower Research, Beijing 100038; † E-mail: fanghaiquan22@126.com
Abstract Using existing methods to extract rivers, especially the small river from remote sensing images, is liable to be interrupted. The combination of deep learning and multiple chessboard segmentation is applied to river extraction from high resolution remote sensing images. Three GF-2 satellite remote sensing images in mountain area, plain and city are used for experiment. The results show that compared with the existing methods, extracted river by proposed method is more continuous. The small rivers accounts for two pixel widths can also be extracted in GF-2 satellite remote sensing images. Key words deep learning; multiple chessboard segmentation; high resolution satellite images; river extraction; convolution neural network (CNN)
随着我国航天技术的飞速发展以及高分系列卫星的成功发射, 高分辨率遥感影像数据的可获取性日益增强。利用高分辨率遥感影像提取河流成为重要的应用之一。河流是地球地貌的重要组成部分,对生态环境、气候变化和人类生产活动具有重要的影响。河流信息提取对于河道规划建设、水土资源监测和流域综合治理具有重要的意义[1]。
从研究方法来看, 利用遥感影像提取河流的研究主要经历了两个发展阶段: 一是早期基于像元的
方法, 二是近期基于面向对象的方法。基于像元的方法把遥感影像中每一个像元点作为研究对象, 用到的算法主要有最大似然法[2]、归一化差分水体指数法(NDWI)[3–4]、多波段谱间关系
[5–6] [7–8]法 、决策树 、支持向量机(SVM)[9–10]和 BP神经网络(BPNN)[11–12]等。由于遥感影像中同物异谱和异物同谱现象较多, 而基于像元的方法只考虑单个像元, 没有考虑与周边其他像元之间的关系,所以对河流与非河流的识别准确度不够理想, 导致
提取的河流中断, 并且干扰物较多。基于面向对象的方法考虑像元临近范围内的空
[13]间形态特征 。该方法把光谱相近的像元点聚集在同一簇, 光谱差异大的像元点分在不同的簇, 通过这种方式对影像进行分割。影像分割之后再应用不同的算法进行分类识别, 从而实现水体的提取。Frohn等[14]采用纹理分析、光谱变换和图像分割方
[15]法对热融湖进行分类。Pu等 应用面向对象的图像分割算法对遥感图像进行分割, 再用人工神经网络对分割后的图像进行分类, 分类效果优于像元分类方法。Liu等[16]评估面向对象方法的优势和局限性, 认为该方法效果的好坏依赖于分割尺度的大
[17]小。殷亚秋等 利用面向对象的方法, 对 SPOT5
[18]影像数据进行水体提取。李艳华等 应用面向对象的方法对山区细小水体进行提取, 针对提取的细小水体存在中断现象, 利用形态学膨胀方法及细化算法进行后处理, 但是这种方法对于中断较大的地方难以处理。黄帅等[19]利用面向对象的方法, 对国产高分一号卫星(GF-1)遥感影像的水体进行提取,
[20]提取效果优于最大似然分类法。付勇勇等 以高分二号卫星(GF-2)影像为数据源, 采用面向对象的分析技术, 有效地提取出复杂水网平原水体。
由于高分辨率影像数据量较大, 因此人工智能和大数据技术是分析高分辨率影像数据的有力工具。深度学习算法在图像识别领域已经得到非常成功的应用[21–22]。近年来, 深度学习算法也用于遥感
[23]影像的水体提取。Yu等 应用卷积神经网络, 对Landsat 影像的水体进行提取, 提取效果优于支持
[24]向量机和人工神经网络。王雪等 应用全卷积神经网络, 对遥感影像的水体进行提取, 提取效果优于传统的阈值法和基于图论的Grabcut算法。何海清等[25]把水体指数与卷积神经网络相结合, 用于提取遥感影像中的水体, 得到较高的水体识别准确率。
相对于像元方法, 尽管面向对象的方法在提取水体方面有所改进, 但是对于河流提取仍然存在不足, 提取的河流还是容易出现间断。本文提出将深度学习与多次棋盘分割法相结合, 把多个单次棋盘分割提取的河流进行叠加, 可以得到比较连续的河流。
1 研究方法
基于深度学习和多次棋盘分割法(deep learning and multiple chessboard segmentation, DL+MCS)的高分辨率遥感影像河流提取方法的技术路线如图1所示。
1.1 数据预处理
高分二号遥感卫星4 m分辨率多光谱的光谱范围为 0.45~0.52 μm (蓝光), 0.52~0.59 μm (绿光), 0.63~0.69 μm (红光)和 0.77~0.89 μm (近红外光), 依次记为第1, 2, 3和4波段。应用ENVI软件对遥感影像预处理。
利用 Matlab读取遥感影像像元亮度值(digital number, DN), 可以看出数值较大, 并且不同影像差异较大。为了便于归一化, 从 4个波段任意选取3个波段组合成假彩色图, 并保存为tif 格式, 此时每张遥感影像的DN值最大为 255, 归一化处理是将每个像元 DN 值除以255。
从 4个波段选取3个波段, 可以有不同的组合方式。本文选第4-4-2波段顺序进行组合, 计算时采用第2和第4两个波段的数据, 通过实验, 发现用这两个波段提取河流的准确度更高。
1.2 样本准备
样本准备包括训练样本和检测样本的准备。训练样本选取是通过一个点选取一个矩阵, 具体实现步骤如下。
第一步, 在 ENVI软件下打开经过预处理的遥感影像, 用鼠标双击影像中的样本点, 此时会显示横纵坐标, 在 Excel里记录样本点的横纵坐标。
第二步, 基于 Matlab 软件, 以样本点的横纵坐标为中心, 选取中心点的前(m/2–1)行到后 m/2行、左(m/2–1)列到右 m/2 列, 构成一个m×m方形邻域(m为偶数)。本文m取为 16, 即每个样本为16×16的矩阵。由于使用第 2 和第 4 两个波段的数据, 因此每个样本为16×16×2的张量, 为一个训练样本的输入数据。
第三步, 训练样本标记, 包括河流样本与非河流样本, 采用 One-hot编码。河流样本记为[1 0],非河流样本记为[0 1], 对应训练样本的输出数据。本文对河流样本定义为位于河流或河流边缘选取的 16×16×2 样本, 其中水体面积占样本面积一半以上。非河流样本为非水体图像, 选取时尽量避开河流与水体。
检测样本的生成方法: 以待提取河流区域的遥感影像作为研究对象, 经过预处理, 采用棋盘分割法, 将影像分割为一系列16×16×2 的张量, 作为检测样本的输入数据。可进行多次棋盘分割。
1.3 建立深度学习模型
卷积神经网络(convolution neural network, CNN)是首批表现良好的深度学习模型之一, 专门用来处理具有类似网格结构数据的神经网络[26]。
本文构建的卷积神经网络结构为1个输入层、1个卷积层、1个池化层、1个全连接层和1个输出层。卷积神经网络输入层的每个输入样本为16×16 ×2的张量。卷积层中卷积核大小设为3×3, 在每个3×3的方阵中算出32个特征, 激活函数采用RELU函数。池化层采用最大值池化, 采样大小设为2× 2。全连接层神经元个数设为1024 个, 激活函数用RELU。输出层采用 softmax 函数, 由于是二分类,所以输出神经元个数为 2。
在 Tensorflow 框架下用 python 语言实现卷积神经网络模型的训练和检测。将训练样本输入到卷积神经网络模型进行训练, 直到模型训练收敛之后保存。
本文分别实验 8×8×2, 16×16×2, 32×32×2 和64×64×2 这 4个样本尺度, 发现效果最好的为16× 16×2。
1.4 多次棋盘分割法
棋盘分割法(chessboard segmentation, CS)采用矩阵分块的原理, 把一个大矩阵分割为多个大小相同的子矩阵。
根据分割起始点位置的不同, 可以有不同的棋盘分割, 相应的棋盘分割法记为Fi,j, 这里(i, j)为起始点位置。
单次棋盘分割法(single chessboard segmentation, SCS)对大矩阵只做一次棋盘分割。多次棋盘分割法(multiple chessboard segmentation, MCS)对一个大矩阵采用多种不同的棋盘分割方法分别进行分割。
本文采用12种分割方法: F1,1, F1,5, F1,9, F1,13, F5,1, F5,5, F5,9, F5,13, F9,1, F9,5, F9,9 和 F9,13。图 2(a)是棋盘分割法F1,1的分割示意图, 从第1行第1列的元素开始分割, 分割后得到的每个子矩阵大小为 16×16方阵。图 2(b)是棋盘分割法 F5,5 分割示意图, 从第 5 行第 5列的元素开始分割。除棋盘分割法F1,1 外, 其他棋盘分割法需要舍弃边界的部分元素。
1.5 图像后处理
通过多次棋盘分割法提取的河流可能存在一些零散的小面积区域, 通过算法删除小面积区域后得到的图像主要是河流以及河岸边的景物, 此时的河流连续性较好。进一步采用阈值法, 可去掉河岸的非水体部分, 从而提取出单纯的河流水体。
2 试验结果与讨论2.1 试验数据
选取5景高分二号卫星多光谱遥感影像作为训
练样本数据, 每一景影像为6000×6000以上的矩阵,覆盖面积为6000×6000×4 m2 以上, 从中选取2 万个河流样本和 2万个非河流样本, 包含的景物有河流、湖泊、山脉、建筑、农田、公路和铁路等。这4万个训练样本景物可以确保训练好的模型具有较好的泛化能力, 能够用于其他高分二号卫星影像的河流提取。
选取3景 GF-2遥感影像作为河流提取的测试数据, 与训练数据相互独立, 从每一景中选取出1600×1600的影像进行实验分析, 这 3景的地理位置分别是江西吉安、湖南岳阳洞庭湖和北京市, 记为第一景、第二景和第三景, 分别代表山区、平原和城市, 图 3为 3景影像的真彩色图, 数据来自水利部信息中心。
2.2 模型验证和比较
为了验证卷积神经网络(CNN)模型的有效性,对 CNN与传统的BP神经网络(BPNN)和支持向量机(SVM)模型进行对比。
训练样本为从2.1 节的5景中选取的4万个样本, 每个样本为16×16×2的张量。
检测样本从2.1 节的3景中选取, 每一景选取200个河流样本和200个非河流样本, 共 1200个样本, 每个样本为16×16×2的张量。
3种方法分类识别得到的结果以及准确率如表1和 2所示。可以看出, 基于卷积神经网络的深度学习模型识别准确率最高。
2.3 试验结果与分析
多次棋盘分割法通过集成多个单次棋盘分割法
的实验结果, 提取的河流更加连续。本文对3景待提取河流的影像分别进行实验对比, 以第一景影像为例。
试验 1: 卷积神经网络+单次棋盘分割法(CNN +SCS)。对第一景待提取河流的高分二号卫星遥感影像, 预处理后只做一次棋盘分割, 得到 100×100个检测样本, 再用训练好的CNN模型对检测样本进行检测, 把检测结果按分割时的顺序组合成完整的图, 如图4(a)所示。
试验2: 卷积神经网络+多次棋盘分割法(CNN +MCS)。对第一景待提取河流的高分二号卫星遥感影像, 分别做 12 次不同的棋盘分割: F1,1, F1,5, F1,9, F1,13, F5,1, F5,5, F5,9, F5,13, F9,1, F9,5, F9,9 和 F9,13。将12次分割得到的图像叠加如图4(b)所示。
由图4(a)可看出, 单次棋盘分割法提取的河流多处出现间断, 还有较多零散的图像, 而图 4(b)的河流连续性较好。
由于 CNN模型的识别准确率较高, 所以图4 (b)中非河流图像往往不会超过河流图像, 并且图4 (b)的河流连续性较好, 连续的河流比非河流占据更大的面积。利用此特点, 通过删除小面积区域的算法, 剔除非河流图像, 采用 Matlab 的 bwareaopen 函数, 阈值设为10000, 结果如图5所示。在图5的基础上, 采用阈值法去掉河岸的非水体部分, 得到单纯的河流水体, 如图6所示。把提取的河流叠加到经过正射校正的遥感影像中, 如图7 (a)所示, 图中的河流用白色显示, 可以看出提取的河流与遥感影像中的河流一致。对于图7(a), 在 ENVI 软件下, 通过放大图像可以看出提取的细小河流只占两个像元, 因为所用的高分二号卫星影像分辨率为4 m, 所以本文方法能够提取宽度为8m的细小河流。
对于第二景和第三景遥感影像, 采用同样的方法进行河流提取, 结果如图7(b)和 7(c)所示。可以看出, 对于山区、平原和城市3种地貌的高分二号卫星遥感影像, 采用本文方法都能连续、完整和真实地提取出河流。
2.4 方法对比
常规的河流提取方法主要包括基于像元的方法和面向对象的方法, 相应的算法分别是归一化差分水体指数法(NDWI)和多尺度分割算法(multiresolution segmentation)。下面以第一景影像为例进行实验。
采用NDWI法提取的河流如图8(a)所示, 可以看出存在较多非河流图像, 有的水体没有被提取出来, 导致河流中断。
面向对象方法在ecognition软件下实现。首先用多尺度分割算法对影像分割, 再将影像分为3 类:类别 a包括植被和建筑等非水体, 分类条件为第4个波段的灰度值大于103或第2个波段的灰度值大于 160, 颜色设置为黑色; 类别b为水体, 分类条件NDWI在 0.1~1.0 之间, 颜色设置为白色; 类别c为除类别a和 b外的其他景物, 颜色设置为黑色。按
类别a→b→c顺序执行, 得到的河流如图8 (b)所示。可以看出, 河流仍有多处出现中断, 并且有部分非河流图像。由于河流不连续, 故不适合用删除小面积区域图像的算法去删除小面积区域, 否则会把原本中断的河流更多地删除, 导致河流更加不连续。本文将基于卷积神经网络与多次棋盘分割法相结合(CNN+MCS), 把CNN替换为传统的机器学习方法, 再结合 MCS (如 BPNN+MCS 和 SVM+ MCS), 在 3景影像中分别进行实验。结果显示, BPNN+MCS或SVM+MCS方法提取的河流与本文CNN+MCS方法的结果很接近。由2.2节可知, 与CNN模型相比, BPNN和SVM的识别准确率略低,但是结合多次棋盘分割法, 在数据量不大的情况下, BPNN+MCS或 SVM+MCS方法提取的河流与CNN+MCS方法提取的河流差异不大。由于深度学习方法在处理大数据方面有很大的优势, 如果进行更大的工程实验, 随着数据量的增加, CNN+ MCS方法将优于BPNN+MCS或 SVM+MCS方法。
3 结论
本文提出基于深度学习和多次棋盘分割法的高分辨率遥感影像河流提取方法, 充分地考虑像元之间的空间几何关系, 具有较高的识别准确率, 提取的河流连续、完整、真实, 尤其是能够提取两个像元宽度的细小河流。本文只对一个局部区域河流进行提取, 后续工作中还可以扩大范围, 比如提取一个流域甚至更大范围的河流水系。基于深度学习和多次棋盘分割法结合的方法不仅适用于遥感影像中的河流提取, 还可用于遥感影像中的道路提取和目标检测等。除了遥感影像, 本文方法还可用于一般的图像处理。致谢 研究工作得到北京大学数学科学学院张平文院士的指导, 表示衷心感谢。
参考文献
[1] Schumann G, Hostache R, Puech C, et al. Highresolution 3-D flood information from radar imagery for flood hazard management. IEEE Transactions on Geoscience and Remote Sensing, 2007, 45(6): 1715– 1725 [2] Settle J J, Briggs S A. Fast maximum likelihood classification of remotely-sensed imagery. International Journal of Remote Sensing, 1987, 8(5): 723– 734 [3] Mcfeeters S K. The use of normalized difference water index (NDWI) in the delineation of open water features. International Journal of Remote Sensing, 1996, 17(7): 1425–1432 [4] Hanqiu X. Modification of normalised difference water index (NDWI) to enhance open water features in remotely sensed imagery. International Journal of Remote Sensing, 2006, 27(14): 3025–3033 [5] 杨树文, 薛重生, 刘涛, 等. 一种利用 TM 影像自动提取细小水体的方法. 测绘学报, 2010, 39(6): 611–617 [6] Sheng Y, Shah C A, Smith L C. Automated image registration for hydrologic change detection in the lake-rich Arctic. IEEE Geoscience & Remote Sensing Letters, 2008, 5(3): 414–418 [7] 都金康, 黄永胜, 冯学智, 等. SPOT 卫星影像的水体提取方法及分类研究. 遥感学报, 2001, 5(3): 214–219 [8] 杨甲, 张珂, 刘丽, 等. 基于 SPOT-5影像的吴哥地区水体提取方法研究. 测绘工程, 2016, 25(3): 51– 55 [9] Pal M, Mather P M. Support vector machines for classification in remote sensing. International Journal of Remote Sensing, 2005, 26(5): 1007–1011 [10] Liu Y, Zhang B, Wang N, et al. A self-trained semisupervised SVM approach to the remote sensing land cover classification. Computers & Geosciences, 2013, 59(9): 98–107 [11] Kavzoglu T, Mather P M. The use of back propagating artificial neural networks in land cover classification. International Journal of Remote Sensing, 2003, 24(23): 4907–4938 [12] Gong B, Im J, Mountrakis G. An artificial immune network approach to multi-sensor land use/land cover classification. Remote Sensing of Environment, 2011, 115(2): 600–614 [13] Blaschke T. Object based image analysis for remote sensing. ISPRS Journal of Photogrammetry and Remote Sensing, 2010, 65(1): 2–16 [14] Frohn R C, Hinkel K M, Eisner W R. Satellite remote sensing classification of thaw lakes and drained thaw lake basins on the North Slope of Alaska. Remote Sensing of Environment, 2005, 97(1): 116–126 [15] Pu R, Landry S, Yu Q. Object-based urban detailed land cover classification with high spatial resolution IKONOS imagery. International Journal of Remote Sensing, 2011, 32(12): 3285–3308 [16] Liu D, Xia F. Assessing object-based classification: Advantages and limitations. Remote Sensing Letters, 2010, 1(4): 187–194 [17] 殷亚秋, 李家国, 余涛, 等. 基于高分辨率遥感影像的面向对象水体提取方法研究. 测绘通报, 2015 (1): 81–85 [18] 李艳华, 丁建丽, 闫人华. 基于国产GF-1遥感影像的山区细小水体提取方法研究. 资源科学, 2015, 37(2): 0408–0416 [19] 黄帅, 丁建丽, 李艳华. 面向对象的国产GF-1遥感影像水体信息提取研究. 人民长江, 2016, 47(5): 23–28 [20] 付勇勇, 王旭航, 邓劲松, 等. 采用国产 GF-2 遥感影像的复杂水网平原水体信息提取. 浙江大学学报(工学版), 2017, 51(12): 2474–2480 [21] Krizhevsky A, Sutskever I, Hinton G E. Imagenet Classification with Deep Convolutional Neural Networks // Advances in Neural Information Processing Systems: 25. Nevada: NIPSF, 2012: 1097–1105 [22] Donahue J, Jia Y Q, Vinyals O, et al. DECAF: A deep convolutional activation feature for generic visual recognition. Computer Science, 2013, 50(1): 815–830 [23] Yu Long, Wang Zhiyin, Tian Shengwei, et al. Convolutional neural networks for water body extraction from Landsat imagery. International Journal of Computational Intelligence and Applications, 2017, 16(1): 1–12 [24] 王雪, 隋立春, 钟棉卿, 等. 全卷积神经网络用于遥感影像水体提取. 测绘通报, 2018(6): 41–45 [25] 何海清, 杜敬, 陈婷, 等. 结合水体指数与卷积神经网络的遥感水体提取. 遥感信息, 2017, 32(5): 82–86 [26] Ian G, Yoshua B, Aaron C. 深度学习. 赵申剑, 黎彧君, 符天凡, 等, 译. 北京: 人民邮电出版社, 2017