肖 斌,徐 勇,何宏昌,张 洁,苗林林,刘 兵
(桂林理工大学 测绘地理信息学院,广西 桂林 541006)
在遥感影像分类中,阴影对分类精度有较大影响,尤其在丘陵地区[1-2]。阴影削弱了地物在传感器上的响应,严重干扰了目标地物的识别与解译[3-4]。阴影在影像上与水体的光谱曲线较为接近,因此为了提高分类精度,必须考虑图像中的阴影。
基于多光谱影像的阴影检测方法十分丰富,但在高光谱影像中研究较少。当前影像阴影检测的方法可分为2大类:基于像素的方法和基于对象的方法,前者主要利用阴影的颜色、结构和轮廓等特性,后者则是将阴影的性质与先验知识相结合[5-6]。Vicky等[7]基于像素的方法提出将RGB转换为HSV模式,把色调、饱和度和明度参数转为圆柱体的颜色、半径和高度,通过定量分析每个像素的值来判断是否为阴影。杨元维等[8]通过改进Wallis模型对高分辨率影像的阴影进行自动补偿,有效地补偿阴影,使其亮度和对比度共同提升到与非阴影区域相一致的水平。Ni等[9]基于对象的方法通过2幅不同时期影像覆盖区域的亮度值差异,提取云和阴影区域。Sabri等[10]通过二维经验模式的自动和数据驱动的阴影检测和消除方法,利用阴影区域的纹理特征与明亮区域的差异性,从而分割出阴影区域。但在复杂的地物分类中,需将各种地物有效区分,必须考虑“异物同谱”现象[11];阴影的光谱曲线与水体的光谱曲线十分接近,容易造成水体的“误识别”和“漏识别”[12]。为了解决上述问题,Li等[13]引入表面粗糙度的方法对阴影区域与水体区域进行计算,并通过阈值选择,提取出阴影区域,可以有效区分水体与阴影。计算表面粗糙度的方法适用于大部分地区,但由于喀斯特地貌的特殊性,山体十分陡峭,最大坡度可达90°,太阳光照射山体产生的阴影可能存在平面,表面粗糙度可能存在相同的区域。
为了减弱或者消除高光谱影像分类中阴影与水体的错分现象,本文提出一种融合决策树的阴影检测方法和基于波段回归模型的阴影去除方法。首先结合研究区的归一化差值植被指数(Normalized Difference Vegetation Index,NDVI)、归一化水指数 (Normalized Difference Water Index,NDWI)和DEM数据,通过决策树提取阴影区域;然后通过构建回归模型,利用函数将阴影区域拟合至明亮区域,再通过BP神经网络进行分类;最后利用桂林市研究样区的高光谱影像进行方法的验证对比和分析。
研究区(24°44′N~25°18′N,110°4′E~110°42′E)位于广西壮族自治区桂林市中南部,东与临川县相邻,西与临桂区毗邻,南与阳朔县交界,北与兴安县相邻。研究区为典型的喀斯特地区,多山地,平均海拔148 m,山峰最高为451 m。地处低纬度,属亚热带季风气候,且丘陵地区多阴影,在遥感影像中表现为阴影区域块状分布。
本文采用的影像数据是珠海一号高光谱卫星(OHS),获取时间为2020年11月13日。该卫星采用推扫成像方式,空间分辨率为 10 m,离地500 km,质量67 kg,有32个波谱通道,每个波段对应中心波长如表1所示。光谱分辨率 2.5 nm,波长范围400~1 000 nm,运行轨道98°[14],云量覆盖为0。获取的高光谱数据基于ENVI5.3软件平台,对OHS影像进行预处理,包括辐射定标、大气校正、正射校正、最小噪声分离和光谱平滑处理以及阴影检测与去除等。
表1 珠海1号波段信息
2.1.1 阴影检测
研究区喀斯特地貌在遥感影像中分布着大量块状阴影,由于山体坡度不同、高度不同,导致不同坡度、不同高度处阴影的灰度值不同。从高光谱影像与GoogleErath影像对比可得,坡度较小与高度较低处阴影较坡度较大与高度较高处的灰度值低,又因水体深度不一,导致水体在影像中光谱线不一。影像中阴影与水体的波谱曲线表现相似,如图1所示。因此,水体与阴影在分类结果中存在大量错分现象。通过Google地图分析发现,同一山脊两侧的阴影区域与明亮区域均为林地,在分类之前需将阴影区域中的光谱特征拟合至林地的光谱特征,从而减少或消除因“异物同谱”现象对分类结果的影响。针对影像中存在的大量阴影,本文提出基于决策树的阴影检测方法与基于波段回归模型的去除方法。
图1 水体区域与阴影区域光谱曲线Fig.1 Spectral curve of water area and shadow area
基于决策树的方法对阴影区域进行检测,首先通过计算研究区NDVI值、NDWI值提取林地阴影和水体,再结合ALOS 12.5 m高程数据来选择阈值实现阴影区域的检测。经过多次阈值训练测试,对比GoogleErath影像,可以将研究区中存在的水体与阴影区域全部提取。由于研究区存在坡度较小且有阴影区域,坡度设置为10会将山地中少量目视即可辨别为林地的区域纳入阴影检测中,同时也可以将小区域的阴影边缘提取更为全面。最终选取阴影检测的决策树参数设置为NDVI指数小于0与NDWI大于0的并集结合坡度slope大于10,阴影检测结果如图2所示。
图2 阴影检测部分Fig.2 Shadow detection area
2.1.2 阴影去除
阴影区域与明亮区域在波长680~900 nm中的光谱曲线存在明显差异,由于山体遮掩,波长680 nm后的电磁波大部分被阴影处地物吸收,通过构建阴影区域与明亮区域各波段的关系模型,将阴影区域波段的灰度值推算至无阴影林地区域。与此同时,将去阴影后的区域影像与原明亮区域影像叠加,得到去除阴影后的遥感影像。去除阴影前后明亮区域与阴影区域光谱曲线如图3和图4所示。
图3 去除阴影前明亮区域与阴影区域光谱曲线Fig.3 Spectral curve of bright area and shadow area before shadow removal
图4 去除阴影后明亮区域与阴影区域光谱曲线Fig.4 Spectral curve of bright area and shadow area after shadow removal
实验过程中,首先选取70组山脊两侧的阴影区域与明亮区域的面状ROI数据,分别计算每组数据中每个波段的平均反射率;然后,基于最小二乘回归算法对ROI数据建立回归模型,得到模型系数a数据,如图5所示。
图5 模型系数a值Fig.5 Model coefficient a value
最后,选取相关性大于0.5的7个波段(B20,B24,B25,B29,B30,B31,B32)创建拟合函数如下:
式中,Bl为明亮区域反射率;Bs为阴影区域反射率;a,b为待定系数。基于上述模型,在ENVI5.3平台上分别实现阴影区域7个波段重建。将7个波段分别进行波段计算,波段组合后的结果与非阴影区域叠加,最后通过Savitzky-Golay滤波器[15]对叠加后的影像进行滤波平滑,得到阴影去除后结果如图6所示。对去除阴影区域的光谱反射率与明亮区域光谱反射率对比分析,结果显示,去除阴影区域的光谱反射率较为接近明亮区域的光谱反射率。
图6 模型去除阴影结果Fig.6 Shadow removal results of model
BP神经网络是一种根据误差反向传播算法训练的多层前馈神经网络[16],它以实际输出值与期望输出值之间的误差均方差为目标函数,通过梯度下降法使目标函数最小,从而达到最优网络。BP神经网络是一种3层以上的前馈神经网络,其模型结构如图7所示。误差反向传播算法是BP神经网络的一种支持算法,通常称为BP算法。BP算法主要体现了梯度下降的思想,利用随机梯度下降技术使网络的实际输出值与正确输出值之间的误差最小[17]。
图7 BP神经网络模型结构Fig.7 Structure of BP neural network model
本实验将地物分为林地、耕地、建筑用地、裸地和水体5大类。在影像预处理及去除阴影的基础上,以Google Earth影像为依据选取ROI训练样本,并从每类地物样本中随机抽取1/3的反射率数据(如表2所示)作为训练数据导入,训练集取样本总数的70%,验证集和测试集分别占样本总数的15%。
表2 样本不同数据集
利用BP神经网络程序对样本点反射率进行分类训练验证。经过反复调整,本次实验神经元个数为12,训练算法为Levenberg-Marquardt算法,隐藏层为1层,训练次数为1 000次均方误差达到最低为0.240。样本点的训练相关系数r为0.970,验证相关系数r为0.934,测试相关系数r为0.932,总体相关系数r为0.958,以上结果表明训练样本集具有代表性,满足分类精度要求。
基于最小二乘算法构建多元线性回归模型,得出模型系数,如表3所示。
表3 阴影去除回归模型系数
由表3可以看出,回归模型的决定系数R2均大于0.6,说明阴影区域拟合结果可以满足分类精度要求。经函数拟合后,研究区中阴影区域的光谱特征均拟合至林地的光谱特征。然而,由于阴影所处的区域不同,重采样时受邻近像元的影响,导致466~560 nm波谱范围内拟合结果较差,如图8所示。
由图8可以看出城市区域、缓冲区域、丘陵区域中光谱曲线466~560 nm间差异, 在RGB (B12,B6,B1)彩色合成影像中,不同区域由于饱和度、明度以及色相的差异,拟合结果也有不同;而城市区域与丘陵区域的光谱曲线对比分析发现,在饱和度与明度较高的区域,拟合结果与周边地物较为接近。
图8 不同阴影区域光谱曲线拟合结果Fig.8 Fitting results of spectral curves in different shadow areas
使用BP神经网络分类算法分别对经预处理的高光谱影像(图9 (a))进行去阴影前与去阴影后分类,分类结果部分区域如图9(b)和图9(c)所示。
由图9可以看出,丘陵地区阴影区域在影像去阴影前被错分为水体,水体的制图精度为95.74%,林地的制图精度为99.14%,OA总体精度97.30%,Kappa系数0.955。经函数拟合去除阴影后,阴影区域被分类到林地,去除阴影后林地与水体的分类结果较好,林地与水体的错分现象明显减少,林地制图精度达到99.17%,水体制图精度提高至97.93%,分类OA总体精度增至98.08%,Kappa系数提升至0.968,提高了整体分类精度。此外,对山地阴影进行去除实验后,城市阴影被分到水体区域明显减少,由于城市高大建筑阴影与丘陵地区阴影的混淆影响,导致极少数丘陵阴影边缘区域被划分为建筑物。
通过计算各地物类别的错分率(Error Rate),去除阴影前后林地与水体间存在的错分现象有明显改善。存在错分现象的主要原因是水体在影像上的光谱曲线表现与阴影处相似,导致阴影被错分至水体。去除阴影后,改变了阴影区域的光谱曲线,使林地与水体的分类结果较好,林地与水体的错分现象明显减少,林地的错分率从2.42%降至1.52%,水体的错分率从7.26%降至4.53%。相较于去阴影前高大建筑中的阴影错分为水体的区域有所降低,错分率从3.83%降至0.18%,但是在阴影边缘区域,部分林地被错分至建筑物类别,主要原因是在阴影边缘区域的光谱曲线与城市高大建筑阴影区域较为接近,城市高大建筑物阴影区域错分减少的同时,囊括了山地阴影边缘区域。
针对丘陵地区中阴影对高光谱影像分类精度的影响,本文提出一种融合决策树的阴影检测结合基于波段回归模型的阴影去除方法,有效地减弱了丘陵地区阴影对高光谱影像分类精度的影响。通过阴影去除前后的BP神经网络分类结果进行比较,阴影去除后的OA整体分类精度较阴影去除前提高了0.78%,Kappa系数提高了0.013。阴影去除后虽然提高了分类精度,但是去除阴影后,区域中原有的地物信息也被掩盖,所处地理位置不同的阴影区域拟合的结果也与邻近区域的色度、饱和度和明度存在拟合过度的现象,所以自适应的高光谱阴影去除是后续进一步研究的重点。