一种基于先验信息和U-Net的SAR图像海陆分割方法
2021-12-12张晓蕾王亚楠
刘 启,张晓蕾,王亚楠
(1.中国水利水电科学研究院,北京 100038;2.水利部防洪抗旱减灾工程技术研究中心,北京 100038;3.航天信息股份有限公司,北京 100195)
0 引言
合成孔径雷达(Synthetic Aperture Radar,SAR)是一种高分辨率微波成像系统,通过多普勒波束锐化和脉冲压缩,获得观测目标沿传感器运动方向和视线方向上的二维高分辨率斜距图像[1],可安装在飞机、卫星等平台上,全天时、全天候对地观测。SAR图像海陆分割是将输入的大场景SAR图像分割为水域和陆地2类,并生成陆地掩模的过程[2],在海岸线提取、海洋近岸目标检测中具有重要意义[3],通常要求高分割精度和高时效性。
目前,已有一些基于SAR遥感图像的海陆分割方法。阈值法由于简单直观的特点,阈值的选取有多种方法(如直方图法[4]、OTSU法[5-6]等),其中,OTSU法具有原理简单、稳定有效的优点,利用图像的光谱测度直方图,使用穷举法选取使图像类间方差最大的阈值,是使用最广泛的阈值方法之一,但是对噪声较敏感,阈值较难确定。除阈值分割算法外,国内外学者还发展了边缘检测分割算法[7]、区域生长和分裂合并的分割算法[8]、Markovian分割算法[9]、水平截集算法[10]以及超像素分割算法[11-12]等。算法各有优缺点,边缘检测算法直观简单易行,但不易提取区域结构。区域生长和分裂合并算法对复杂图像的分割效果较好,但往往需要人工给定种子点,是一种半自动分割算法。Markovain分割算法基于Markov随机场模型并引入模拟退火法计算,计算量较大。水平截集算法基于活动轮廓法检测边界的思想,计算量大、迭代方式复杂,检测速度较慢。
近年来,深度学习得到了快速发展,自然图像分割模型也被应用到SAR遥感图像海陆分割中,效果相比传统算法有显著提升。张金松等人[13]基于密集深度分离卷积的分割网络架构,通过密集分离卷积和扩张卷积提取图像高维特征,构造基于双线性插值的上采样解码模块用于输出分割结果。王彬等人[14]通过升级残差网络为主干网络,分4级提取海水目标的特征产生海水分割结果。崔昊等人[15]利用编码器—解码器架构,在编码层中引入残差块,通过Sigmoid层对图像进行像素级海陆分割。戴牧宸等人[16]通过减少双边网络中空间路径的卷积层数,选用ResNet18轻量化模型作为上下文路径骨干网络,同时提出边缘增强损失函数策略提升模型分割性能。此外,还有学者提出了基于DeepU-Net、DeepLabv3等网络的海陆分割方法,分割精度有进一步的提升。
然而,无论是传统方法还是深度学习方法,海陆分割仍存在两方面的问题:(1) 陆地水域和SAR阴影的影响。由于SAR斜视成像特点引起的背向雷达区域无散射回波,在图像上与水体表现为相同的黑色区域,无法通过DN值进行区分;此外海岸线提取和海洋船只检测仅关注以海岸线边界的二分类,内陆水体呈现弱散射,也会被分割,对应用产生不利影响。(2) 分割时效性问题。现有方法经常是逐像素分割处理,而SAR图像通常尺寸较大,逐像素处理往往难以满足应用要求。目前有一些海陆分割加速方法,如基于海图信息的SAR影像海陆自动分割[17]、基于GSHHG数据库与改进CV模型的SAR图像海陆分割算法[18]和基于海岸线数据库的遥感图像海陆分割[19]。这些方法通过引入先验信息提升海陆分割的时效性,但未与分割性能良好的深度学习模型相结合。
本文提出采用海陆先验信息粗判和深度学习海陆精细分割相结合的方法,海陆粗判采用现有的海陆先验数据库;海陆精细分割采用U-Net网络,一方面消除陆地水域和SAR阴影的影响,另一方面大幅提升海陆分割的时效性。
1 研究方法
1.1 海陆先验数据
采用Matplotlib底图工具包(Matplotlib Basemap Toolkit,MBT)提供的海陆先验信息。陆海数据来源于全球高分辨率海岸线数据(GSHHG)。Basemap可以精确判断出陆地主体部分,随着时间推移,虽然海陆边界部分发生了微小变化,但是陆地主体位置基本没变。由于农田等都处于陆地主体部分,使用Basemap进行陆地主体判断,可以避免使用U-Net模型对农田、阴影等分割效果不好的情况,能够整体提高分割精度,满足精度指标要求。
1.2 U-Net网络
对于SAR遥感图像进行分割不仅要输出图像的类别,还要明确类别图像的位置,输出相同大小带有标签的分类后的图像。相比于以像素为单位的分割方法,U-Net以图片为整体进行图片分类分割,大大降低了计算复杂度。U-Net中较浅的高分辨率层用以实现像素的定位,较深的层用以实现像素的分类,从而实现图像语义级别的分割。U-Net是使用全卷积网络进行语义分割的算法之一,为Encoder-Decoder结构,具有结构简单、有效性高的特点。该网络结构在训练时进行了数据增强,能够使用少量标注数据实现更有效的网络训练。U-Net架构包括一个捕获上下文信息的收缩路径和一个允许精确定位的对称拓展路径,从而在少量数据的基础上完成端到端的训练。U-Net结构如图1所示。
图1 U-Net结构Fig.1 U-Net structure
U-Net的典型特点为U型对称结构,左侧为卷积层,右侧为上采样层。在U-Net结构中,包含4个卷积层和对应的4个上采样层。该网络具有2种工作方式:① 从一开始实现网络并进行权重初始化,随后进行模型训练;② 借用现有网络卷积层结构和已训练好的权重文件,同时配置上采样层进行训练计算,比如ResNet,VGG等。在深度学习模型训练中,使用已有的权重模型文件可以大大加快训练速度。
1.3 基于海陆先验信息和U-Net相结合的海陆分割
为了兼顾海陆分割的精度和时效性,本文采用海陆粗判和海陆精细分割相结合的方案,流程如图2所示。海陆粗判采用现有的海陆先验数据库,海陆精细分割采用U-Net。
图2 基于先验信息和U-Net的SAR图像海陆分割方法流程Fig.2 Flowchart of the sea-land segmentation method of SAR image based on prior information and U-Net
整体海陆分割流程如下:
(1) 输入大图后首先对影像大图4条边每隔一定像素点取一个坐标(避免图像4个角点是陆地,中间是水域的情况),间隔像素点数由图像的分辨率决定,大致每隔10 000 m取一个坐标点,例如当图像分辨率为10 m时,每隔1 000个像素取一个坐标。然后将所有像素坐标根据RPC文件转为经纬度,使用Basemap的island函数,将取出点的经纬度依次用island函数判断是否为陆地/海域,如果所有的点都判断是陆地/海域,就将整景影像判为纯陆地/海域,跳过该景影像输入下一景进行判断。
(2) 经过步骤(1)判断,影像不是纯陆地/海域时,采用512 pixel×512 pixel的滑窗在整景影像上进行滑动切片,将切片4个角点像素坐标根据RPC文件转为经纬度,然后使用island函数判断四角坐标是否为陆地/海域,四角坐标全部判断为陆地/海域时将整张切片置为纯陆地/海域,否则使用U-Net模型对该切片进行逐像素精细海陆分割。
(3) 等待所有切片处理结束,拼接大图输出分割结果。传统的全图U-Net海陆分割优点是处理流程简便、环境搭建简单,但是当整景影像陆地/海域占主体时,时间消耗较长。引入Basemap先验海陆信息后,陆地/水域主体采用Basemap判断,海陆边缘采用U-Net分割,在保证精度的同时极大地缩减了海陆分割的时间,同时也降低了陆地水域和SAR阴影的干扰。
2 实验结果
2.1 实验数据
本文采用的SAR图像为高分三号SAR图像。高分三号是我国首颗C频段多极化SAR卫星,不仅涵盖了传统的条带、扫描成像模式,而且可在聚束、条带、扫描、波浪、全球观测和高低入射角等多种成像模式下自由切换。本文主要采用条带和扫描图像进行测试,实验图像如表1所示。
表1 实验图像
2.2 分割性能评估指标
为衡量海陆分割性能,采用平均交并比(MIOU)指标进行综合评估,计算方法如下:
(1)
式中,TP表示分割正确,分割结果是陆地,实际是陆地;FP表示分割错误,分割结果是陆地,实际是海域;FN表示分割错误,分割结果是海域,实际是陆地。
2.3 实验及结果
本文实验采用GTX 2080 Ti显卡,在Keras环境下进行。
对U-Net训练时,将原始图像裁剪为512 pixel×512 pixel大小并进行标注,同时采用翻转、平移等数据增强方式,对原始数据样本进行扩充,最终采用3 869张512 pixel×512 pixel的SAR图像标注数据作为训练数据集。训练过程中,由于内存限制,每批次输入2张图像(batch_size=2)进行100轮迭代(ephoc=100),每次迭代输出损失函数Loss值,直至训练完成保存最优的网络模型。训练过程中损失函数Loss值的变化曲线如图3所示。
图3 U-Net网络训练的损失函数变化曲线Fig.3 Variable graph of U-Net train loss function
损失函数Loss采用的是二分类的交叉熵损失函数:
Loss=-[yt·lb(yp)+(1-yt)·lb(1-yp)]。
(2)
交叉熵损失函数是分类中最常用的损失函数。交叉熵用来度量2个概率分布的差异性,衡量模型学习到的分布和真实分布的差异。
在二分类问题中,y取值的集合可能为{0,1},假设某个样本的真实标签为yt,该样本yt=1的概率为yp。
使用以上训练得到的U-Net模型进行测试,3张图的测试指标结果如图4~图6和表2~表4所示。算法分别为传统方法OTSU、U-Net与Basemap+U-Net。Basemap+U-Net为本文提出方法,即利用海陆先验信息结合U-Net进行联合分割。
(a) 原图
(a) 原图
(a) 原图
表2 条带图1测试结果
表3 条带图2测试结果
表4 扫描图测试结果
从实验结果可以看到,OTSU算法具有最快的分割速度,然而由于其主要基于阈值,因此在海域和陆地存在较多的错判。常规U-NET方法相比于OTSU方法分割精度有一定提升,但耗时最长。本文提出的方法有效去除了陆地水域和SAR阴影的干扰,有最高的分割精度,耗时介于OTSU和U-NET方法之间,具有较好的实用价值。如果图中只存在海洋区域或者陆地区域,本文提出的方法将只使用Basemap进行先验判断而跳过U-Net逐像素分割过程,总体速度有较大提升。
3 结束语
针对当前海陆分割方法存在精度和时效性问题,对比当前常用的海陆分割算法OTSU,U-Net等,选择海陆分割精度较高的U-Net,引入Basemap先验知识库,使模型在复杂场景也能保持相对较高的准确率,并且速度也得到了有效提升。下一步工作,将针对U-NET分割精度受限的问题,采用分割精度更高的模型与先验信息相结合,从而进一步提升海陆分割的精度。