张丽玉,陈芸芝,陈红梅,汪小钦
(1.福州大学 空间数据挖掘和信息共享教育部重点实验室,福建 福州350108;2.卫星空间信息技术综合应用国家地方联合工程研究中心,福建 福州350108;3.数字中国研究院(福建),福建 福州350108;4.福建省水产研究所,福建 厦门361004)
近年来,近海藻类养殖业高速发展,藻类养殖面积不断扩大,沿海开发程度也不断提高,但其中的无序扩张却严重影响了近海区域的生态系统结构平衡及养殖用海与海洋功能区划的协调性[1-2]。为了促进藻类养殖业的健康可持续发展,需实时、快速、准确掌握藻类养殖的空间分布情况及养殖面积变化,避免盲目扩大生产,为实现海域藻类动态化监测及养殖用海资源的合理开发利用,提供科学的参考依据[3-4]。
目前利用卫星遥感影像对近海浮筏藻类养殖信息的识别方法主要包括:人机交互操作、指数阈值法、机器学习分类方法、面向对象分类,以及基于深度学习框架提取等[5-11]。因此,许多学者利用上述方法开展了藻类养殖区范围的提取研究[12-20]。利用深度卷积神经网络虽然可以较好地识别水产养殖区,但在学习与训练过程中,为了防止训练过拟合,需要人工制作大量的样本标签数据,耗时耗力;而且,深度学习框架的训练对电脑硬件要求较高,可操作性较弱,较难完全实现自动化提取。
Otsu[21]是一种经典的自适应阈值分割算法,其核心思想是将影像以某一阈值变量将灰度级分为两类,确定各灰度级属于目标类和背景类的概率和灰度均值,最后通过最大类间方差自适应确定最佳阈值T,达到最佳分割效果。该方法计算简单且不受图像亮度与对比度影响,分割效果良好,因此在专题信息自动化提取中得到广泛的应用[21-24]。但传统Otsu(大津法)阈值分割算法在遥感图像地物提取或分割中存在欠/过分割、计算量大和运算效率低等问题。黄冬梅等[25]提出了不同粒度遥感信息的非线性优化Otsu 算法,并对岛屿地物进行分类,在降低错分率的同时提高了算法的计算效率,相比传统Otsu 算法的时间效率提高了59.88%。邹橙等[26]利用GF-2 数据,构建水体指数(new comprehensive water index,NCWI)后,利用优化算法(Otsu-CSO)快速确定最佳分割阈值,提取水体区域,并与几种常规水体区域提取方法进行对比分析,验证了Otsu 算法结合鸡群算法寻优的高效性。
本文以三沙湾为研究区,综合利用同时期不同空间分辨率的遥感影像数据(Sentinel-2 MSI 与GF-2),采用一种优化的Otsu 算法(GA-Otsu)快速实现藻类养殖区范围的自动化提取,为及时掌握三沙湾区域藻类的分布,统计藻类养殖面积,分析评价海域生态平衡,合理规划养殖用海,有效控制养殖密度提供参考。
1.1.1 研究区概况
三沙湾位于福建省东北部沿海(26°30′N—26°58′N,119°26′E—120°10′E),地处霞浦、福安、宁德、罗源四县市滨岸交界处。海湾内属中亚热带海洋性季风气候,年均气温17~19 ℃,年均水温约20.3 ℃,年均盐度约27。它由东吾洋、官井洋、盐田港、白马港、卢门港、东冲口等组成,是一个近封闭型海湾,同时也是我国重要的复合养殖海湾之一。海湾水域面积开阔,总面积714 km2,是我国著名的“藻类海产品养殖地”[27-29],海域内藻类养殖大部分为海带、紫菜和龙须菜,采用浮筏养殖。藻类悬挂在数百米缆绳上。缆绳上间隔地系上漂浮球(沉入水中0.5 m 左右),缆绳两端固定,一条条缆绳并排组成一系列长约百米的浮筏,这些浮筏在海面上等间距规则排列,组成数千米的条带[4]。浮筏藻类养殖的实地照片和影像图如图1 所示,在Sentinel-2A 和GF-2 影像上藻类呈深黑色,成排分布,形状规则,水体呈现碧绿色,网箱呈现较亮的白色,多聚集分布,少量零星分布。
图1 浮筏藻类养殖影像Fig.1 Image of floating raft algae cultivation
1.1.2 数据源
Sentinel-2 卫星由Sentinel-2A 和Sentinel-2B 两颗卫星组成。Sentinel-2A 于2015 年6 月下旬发射,并于2015 年12 月在欧洲空间局(Multi-Spectral European Space Agency)网站提供免费数据共享。该卫星搭载多光谱影像仪,拍摄影像包括13 个波段,其影像多光谱波段主要参数信息如表1 所示。Sentinel-2 卫星影像数据各波段分辨率不一,为了使藻类提取的效果更精确,需要将不同分辨率波段都重采样至最高分辨率10 m。
表1 Sentinel-2 影像多光谱波段主要参数信息Tab.1 Sentinel-2 image multi-spectral band main parameter information
高分二号(GF-2)卫星是我国自主研发的首颗空间分辨率优于1 m 的民用光学遥感卫星,搭载着两台高分辨率的相机,分别为1 m 全色和4 m 多光谱相机,具有亚米级空间分辨率。该卫星影像有5 个波段,主要参数信息如表2 所示。
表2 GF-2 影像多光谱波段主要参数信息Tab.2 GF-2 image multi-spectral band main parameter information
三沙湾藻类生长期一般为11 月到次年4 月,而5—6 月为海带的收割季节。由于紫菜和龙须菜在夏季高温炎热的环境下无法生存,一般在5 月前也将进行收割。为了更好地实现藻类养殖区的监测,本研究根据藻类的养殖周期变化特点,选取藻类生长较为茂盛的时期(一般为3—4 月)进行藻类养殖区提取。下载2019 年3 月30 号的Sentinel-2A 和GF-2 影像,选取分辩率为10 m 和4 m 的数据(因未获取到GF-2 全色波段1 m 分辨率数据,故无法将图像融合为1 m 分辨率)进行藻类养殖区分布信息提取实验。由于2019 年3 月份的高分二号影像不全,仅有2 幅影像,无法完整获取到覆盖整个三沙湾海域的影像,故只能在有限的影像上选取三沙湾研究区的典型区域(与Sentinel-2 影像获取的典型研究区一致)来验证算法的可行性。本文先对影像进行辐射定标、大气校正等预处理;再进行研究区的藻类养殖区提取;最后,将研究区人工矢量化绘制的各藻类边界,用于藻类养殖区提取精度的验证和藻类养殖区面积统计。
藻类养殖区自动化提取主要分为三步:1)统计与分析藻类在各波段上的光谱值,构建藻类光谱指数(algal spectral index,ASI);基于各波段光谱特征和藻类光谱指数确定初始阈值,进行藻类养殖区的一个粗提取,消除部分背景对后续藻类提取造成的影响。2)在最大类间方差的基础上,引入类内方差,共同参与阈值选取,并将遗传算法用于阈值快速确定,优化算法;选取研究区内典型海域,利用GA-Otsu 算法进行藻类养殖区自动化提取,并与传统Otsu 算法的实验结果对比分析,验证算法的有效性和准确性。3)将优化的Otsu 算法(GA-Otsu)运用到三沙湾研究区,实现藻类养殖区的养殖信息自动化提取。具体技术路线如图2 所示。
图2 技术路线图Fig.2 Technology road map
1.2.1 光谱特征分析与指数构建
本文在同时期高分辨率的谷歌影像中进行均匀随机采点后,导出采样点坐标,再将坐标数据转换添加至Sentinel-2A 和GF-2 遥感影像上获取采样点光谱值。共抽取30 个水体样本点、30 个网箱样本点、60 个藻类样本点进行光谱值统计,样本点分布如图3a 所示。以各地物样本点光谱反射率均值为纵坐标,以每个波段中心值作为横坐标,绘制光谱反射率曲线如图3b、c 所示。
从图3b 中可以看出,藻类光谱反射率在波长范围内总体较低,且随着波长的增大而逐渐走低,在短波红外波段(Sentinel-2 的B11、B12)达到最低,几乎完全被吸收,藻类在遥感影像上呈现暗黑色矩形条带,色调均一。网箱与藻类在各波段光谱特征差异明显,尤其是在Sentinel-2 的B11 波段最为明显,与藻类几乎呈现相反的增长趋势,易与藻类区分。藻类在绿光波段(Sentinel-2 的B3)反射率较强,与海水差异大,识别性强;B4~B12 波段,水体与藻类之间的光谱特征较为相似,如在近红外波段(Sentinel-2 的B8)反射率较弱,藻类与海水几乎不可分,都表现为暗色调,差异非常小。同样在GF-2 影像相应的红、绿、蓝与近红外波段,藻类与网箱、水体具有类似的光谱特征变化规律(见图3c):藻类在绿光波段(G)光谱反射率最强,在近红外波段(NIR)光谱反射率最弱。因此,为了进一步扩大两者的差异,应增强藻类的信息,抑制背景地物信息,利用绿光波段(Sentinel-2 的B3、GF-2 的G)、近红外波段(Sentinel-2 的B8、GF-2 的NIR)影像,通过比值运算,构建藻类光谱指数(algal spectral index,ASI)I=RG/RN。其中:I为藻类光谱指数;RG、RN分别为绿光波段(Sentinel-2 的B3、GF-2 的G)、近红外波段(Sentinel-2 的B8、GF-2 的NIR)的反射率。在藻类光谱指数图像上,藻类的细节部分保留效果较好,受海水中泥沙等悬浮物的影响小,可以较好地区分藻类养殖区与海水。
图3 不同地物样点分布图和光谱反射率曲线图Fig.3 Distribution map and spectral reflectance curve of different ground objects
1.2.2 Otsu 算法的优化
为了提高阈值选取的精确性,使藻类的分割效果更佳,本文在大津(传统Otsu)算法基础上,综合考虑目标和背景的类间方差、类内方差及各类内方差权重配比问题,进行算法优化,具体算法如下:
其中:u为整个图像的灰度均值;u0、u1分别为目标类和背景类的灰度均值;w0、w1为目标和背景的比列。
参照类间方差的定义和公式,在目标类和背景类的类内方差前分别设置一个常系数k0、k1,定义类内方差的公式为:
GA-Otsu 算法是在满足目标和背景类间方差最大,类内方差最小时,确定最优分割阈值,更好地分离目标和背景,新的阈值求取公式为:
其中:G(T)为类间方差和类内方差的比值;Th为最佳分割阈值。当G(T)取得最大值时,对应的灰度级即为最佳阈值。
传统Otsu 算法需通过遍历搜索的方式反复计算对应方差,获取最优阈值,计算量大、耗时长,严重影响分割效率[30]。因此,本研究采用一种稳定高效的遗传算法来解决Otsu 阈值寻优过程中存在的问题。遗传算法是一种并行的、自适应的、具有强大搜索能力的优化工具,利用遗传算法优化Otsu算法实质就是在解空间中快速寻找使G(T)达到最大的T值,以此作为最佳阈值来分割影像,从而提高Otsu 算法的全局搜索能力和分割效率[31-35]。
阈值分割的遗传算法主要步骤如下:
1)确定编码方式与解码规则:由于图像的灰度值取值范围为0~255,因此用16 位二进制串对灰度分割阈值(s,t)进行二进制编码,前8 位代表阈值s,后8 位表示阈值t,解码则是相反过程,以此获得适应度值。
2)初始化种群:初始群体规模的设定会直接影响遗传算法的执行效率和结果。取值太大,则会增加计算复杂性,影响收敛速度;取值过小,则会使搜索空间受限,不利于求取最优解。本文设置初始种群规模n=10。
3)选择适应度函数:采用式(2)作为适应度函数,适应度值越高则适应度越大且阈值分割效果越好。
4)选择:本文选用轮盘赌法进行选择操作,通过保留上一代中优良个体,来更新原来的种群,获得更高适应度个体。
5)交叉:交叉主要是将选择操作得到的种群个体进行两两交叉组合得到新一代种群,交叉概率会影响算法的收敛速度。因此,合理选择交叉概率至关重要[36],设置交叉概率pc=0.9。
6)变异:采用基本位变异算子(simple mutation)对个体基因位的值进行变动,从而得到新个体[37],设置变异概率pv=0.1。
7)终止条件:在种群更新迭代过程中,当目标阈值的最大值与背景阈值的最小值相等时,则以进化过程中所得到的具有最大适应度个体作为最优解输出,终止计算。本文目标最大分割阈值约为0.045,当T为0.045 时停止迭代。
为了验证优化的Otsu 算法(GA-Otsu)在藻类养殖区自动化提取中的时效性和可行性,本文综合利用同时期不同分辨率的遥感影像数据(Sentinel-2 MSI 与GF-2),从三沙湾研究区选取面积大小为5 km×5 km 的典型水域3 个,分别为东安岛、官井洋、东吾洋水域,进行藻类养殖区信息自动化提取实验。此外,本文采用人机交互逐网格搜索的方式对不同分辨率卫星遥感影像数据(Sentinel-2 和GF-2)的三个代表性区域内的藻类进行矢量化绘制,为了减少矢量化误差,在绘制过程中用局部放大策略进行矢量化处理,并结合Google Earth 同时期高分辨率影像进行逐一比对确认。
在Sentinel-2 影像上共矢量化藻类图斑数2220 个;因GF-2 影像分辨率较高,故矢量化藻类图斑数较Sentinel-2 影像少288 个。将矢量化后的藻类边界用于藻类养殖区提取结果的精度评定,具体精度如表4~5 所示,并与传统Otsu 算法的提取结果进行精度对比分析。基于Sentinel-2 影像的实验结果见图4,并对实验结果进行放大显示,局部放大效果见图5。
本文采用GA-Otsu 算法和传统Otsu 算法两种方法,对三沙湾3 个典型水域的藻类养殖区进行自动化提取;并用5 个精度评定指标——总体精度OA(overall accuracy)、Kappa 系数、漏提率、错提率和总耗时,对藻类养殖区提取结果进行精度的定量评定;同时采用目视判别方式进行定性评价。
由Sentinel-2 遥感影像实验结果(见图4)和精度(见表4)可知:
图4 三沙湾典型区域藻类养殖区提取结果图(Sentinel-2 遥感影像)Fig.4 Extraction results of algae aquaculture area in typical area of Sansha Bay(Sentinel-2 remote sensing image)
1)在藻类养殖区提取总体精度上,本文提出的GA-Otsu 算法高于传统Otsu 算法。表4 中本算法在东安岛、官井洋及东吾洋水域的总体精度分别为92.59%、93.50%、87.19%,较传统Otsu 算法分别提高了2.45%、7.16%、4.62%。
2)传统Otsu 算法在提取小面积藻类时,存在较多的孤立像元,在各藻类条带内部有较多的漏提像元,丢失严重。而GA-Otsu 算法能够很好地将细小的藻类提取出来,在各藻类条带内部漏提现象得到明显改善。由表4 可知,GA-Otsu 算法在东安岛、官井洋及东吾洋水域的藻类养殖区的漏提率比传统Otsu 算法分别减少22.64%、26.23%、21%。
表4 Sentine-2 藻类养殖区提取精度和耗时对比Tab.4 Comparison of extraction accuracy and time-consuming of Sentinel-2 algae aquaculture area
3)GA-Otsu 算法在确定最优阈值时展现出了更强的寻优能力,更好的稳定性,有效地避免了传统Otsu 算法自动确定阈值过程计算量大、耗时长等问题。每一个区域平均耗时从传统Otsu 算法的2 s降到GA-Otsu 算法的0.3 s,时间效率提高了85%。
4)GA-Otsu 算法相比于传统Otsu 算法,因加入类内方差与类间方差共同确定阈值,不但充分考虑了藻类和背景区域之间的差异性,还考虑了它们内部像元的一致性和相关性,能够较为完整地提取藻类,并有效抑制其他地物对藻类提取的影响。此外,由局部放大效果显示(见图5)可知,GA-Otsu 算法在藻类养殖区提取的细节上保留较好,尤其是在图像上藻类颜色较浅或者水中悬浮物杂质较多的地方,提取效果较传统Otsu 算法好,漏提现象明显减少。
图5 Sentinel-2 遥感影像局部放大效果显示图Fig.5 Partial zoom effect display of Sentinel-2 remote sensing image
在GF-2 遥感影像上,本文提出的优化Otsu 算法(GA-Otsu),依然适用,具体实验结果(见图6、7 和表5)如下:
图6 三沙湾典型区域藻类养殖区提取结果图(GF-2 遥感影像)Fig.6 Extraction results of algae aquaculture area in typical area of Sansha Bay(GF-2 remote sensing image)
1)从表5 可知,GA-Otsu 算法的藻类养殖区提取总体精度较传统Otsu 算法高。用GA-Otsu 算法提取东安岛、官井洋及东吾洋水域的总体精度分别为96.66%、96.66%、92.21%,较传统Otsu 算法的藻类养殖区提取总体精度分别提高了7.37%、10.96%、14.41%,提升效果较10 m 分辨率的Sentinel-2 遥感影像好。
表5 GF-2 藻类养殖区提取精度和耗时对比Tab.5 Comparison of extraction accuracy and time-consuming of GF-2 algae aquaculture area
2)GF-2 遥感影像的空间分辨率为4 m,较Sentinel-2 分辨率高,因此地物的许多细节也将被放大,尤其是在藻类的边缘部分。GA-Otsu 算法因综合考虑藻类地物和背景的类间方差、类内方差及各类方差权重配比等多个指标来共同确定最佳阈值,因此在边缘处的提取结果明显较传统Otsu 算法好,此外背景误提为藻类的现象也得到明显改善。
3)在海域面积大小一致的情况下,因GF-2 遥感影像具有较高的空间分辨率,故影像的数据量较Sentinel-2 大,因此各区域的运算耗时较Sentinel-2 长。本文基于不同空间分辨率遥感影像,运用GA-Otsu 算法仍可有效地实现藻类养殖区的自动化提取,表明该算法对来自不同传感器的数据源仍具有一定的普适性。
图7 GF-2 遥感影像局部放大效果显示图Fig.7 Partial zoom effect display of GF-2 remote sensing image
典型区域实验结果定性与定量的评定,充分验证了GA-Otsu 算法在水产藻类养殖区提取上的有效性和精确性;因此,本文将优化的Otsu 算法(GA-Otsu)迁移运用至整个三沙湾Sentinel-2 遥感影像研究区上(因2019 年3 月份的高分二号影像不全,仅有两幅影像,无法覆盖整个三沙湾海域,故未将优化的Otsu 算法运用至整个三沙湾GF-2 遥感影像上)。因三沙湾海域面积较大,用全局单一阈值对藻类养殖区进行提取,会出现藻类漏提现象;所以,本文首先采用分块处理方式,即用k×k的窗口对整个三沙湾原始影像进行局部范围提取,k值可以根据影像大小和水产藻类在影像上所占的像元数来适当选取。整个三沙湾研究区的幅宽约为50 km,幅宽较大,这里k取1000 像元(10 km)对影像进行分块;再对分块后的影像进行拼接,提取结果见图8;最后对三沙湾藻类边界进行矢量化处理并评定提取精度。共勾画三沙湾藻类像元867 247个(藻类图斑数8764 个),采用混淆矩阵方式进行精度验证,结果见表6。
图8 GA-Otsu 算法三沙湾藻类养殖区提取分布图Fig.8 Algae aquaculture area extraction in Sansha Bay distribution map by GA-Otsu algorithm
表6 三沙湾藻类养殖区提取精度Tab.6 Extraction accuracy of algae aquaculture area in Sansha Bay
根据表6 可知,用GA-Otsu 算法提取三沙湾藻类养殖区信息的总体精度为91.48%,Kappa 系数为0.83,用户精度为99.98%,制图精度为84.15%。通过目视解译三沙湾藻类养殖区提取的分布图(见图8)可知,GA-Otsu 算法由于加入类内方差共同参与阈值选取,克服了传统Otsu 算法仅考虑目标与背景区域之间差异的局限性,有效解决了藻类和背景误提问题,使藻类误提率低,各藻类边缘提取也更为清晰,不会出现各条带藻类连片提取和粘连提取现象。此外,在图像的边缘部分,藻类反映在图像上的色调明显较浅,此时藻类与背景水体的光谱特征较为相似,也容易造成漏提;但GA-Otsu算法相比于传统Otsu 算法,漏提现象也得到明显的改善,漏提率下降。
1)本文基于藻类光谱特征和敏感波段分析,利用绿光和近红外波段,通过比值运算,构建藻类光谱指数(algal spectral index,ASI),扩大藻类和背景两者的差异,有效增强藻类的信息,抑制背景地物信息,使分离效果更佳。
2)GA-Otsu 算法在类间方差的基础上加入类内方差,共同参与阈值选取,综合考虑了藻类与背景区域之间的差异性,以及它们内部像元之间的相关性和一致性,提高了藻类阈值选取的准确性和科学性,从而使藻类错提的现象得到明显改善,细小藻类图斑提取效果更好,不会出现大量的孤立像元,各藻类条带内部漏提像元也明显减少。在Sentinel-2 影像上,算法优化后总体精度提高4.74%,Kappa 系数提高0.14;而在GF-2 影像上,效果提升得更加明显,总体精度提高了10%左右,Kappa系数提高0.18。
3)在优化的藻类自动化提取算法(GA-Otsu)中,将优化的Otsu 算法与遗传算法快速寻优相结合,有效地规避了传统Otsu 算法通过遍历搜索的方式反复计算对应方差,获取最优阈值的运算过程,大大减少运算量,提高了算法的运行效率并节约了时间成本。算法的时间效率提高了85%,具有较高的实际应用价值。
4)本文基于两种不同空间分辨率的遥感影像,运用GA-Otsu 算法有效地实现了藻类养殖区的自动化提取,表明该算法具有一定的普适性,它不受因传感器不同而造成的影像差异的影响,更不需要针对特定数据源制作特定样本数据集进行训练学习,可以实现完全的自动化提取。
5)本文算法也依然存在一些问题,如本文算法只运用了地物的光谱特征进行图像分割,无法顾及遥感影像中待识别地物的空间特征及上下文关系,更无法避免“异物同谱,同物异谱”现象造成的影响。此外,相比于深度学习方法而言,本文算法获取的仅是藻类的表层光谱特征,无法实现深层特征提取,从而在提取精度的提升上存在局限性。这些都待进一步解决完善。
致谢:欧空局提供的Sentinel-2A MSI 数据和海丝卫星数据服务中心提供的高分二号数据。