结合新色彩空间和PCA的高分影像阴影检测方法
2021-12-12靳华中袁福祥李庆鹏常学立包志熙
靳华中,袁福祥,李庆鹏,常学立,包志熙
(1.湖北工业大学 计算机学院,湖北 武汉 430068;2.中国资源卫星应用中心,北京 100000)
0 引言
随着空间遥感技术的快速发展,遥感影像在城市规划、数字农业和资源勘探等领域应用越发广泛[1]。阴影反映了地物的空间结构特征,一直以来是识别地物的研究热点。根据侧影的长度和照射角度,可以推算地物的高度、形状等信息,有助于城区建设、遥感制图等应用[2]。当然,阴影也会遮盖地物,使得地物的有效信息衰减或丢失,给遥感影像目标识别、特征提取和图像匹配等解译工作带来困难[3]。随着传感器技术的不断发展,亚米级的高分辨率影像在城市规划、道路制图等领域得到了更广泛的应用。在高分影像中,地物类别更加精细,地物目标易受到阴影区域影响,造成地物目标的提取和识别困难。因此,进一步提升高分影像的阴影检测精度和准确度,对城市规划、自然灾害评定等具有重要的应用价值和意义。
目前,国内外学者对遥感图像阴影检测进行了大量的研究,大体可分为颜色特征、波段运算和色彩空间3类方法。
早期人们主要利用颜色变换对彩色遥感图像进行阴影检测。Funka-Lea等[4]利用图像的颜色与几何形状位置进行提取。Barnard等[5]通过图像颜色区域分割和图像再现,结合动态范围压缩进行阴影提取。王军利等[6]通过分析阴影区域与非阴影区域的RGB通道的像素亮度值不同,利用差分算子和协方差算子结合种子填充的思想设计了一种阴影检测算法。利用颜色特征提取阴影有一定的应用价值,但对于地物复杂度更高的高分影像效果并不好。
由于阴影在不同波段处的特征存在差异,对波段进行代数运算能够提取阴影。陈红顺等[7]根据阴影区蓝、红波段辐射亮度下降幅度的差异,构建归一化蓝红波段指数来区分植被与阴影,但该方法难以区分阴影与红蓝地物。田庆久等[8]计算绿蓝波段的差比值,结合近红外波段的直方图阈值分割来提取阴影。该方法在复杂大气和地面情况下无法有效提取阴影。邓佳音等[9]通过波段间的线性计算和非线性计算,结合数字高程模型进行阴影提取。此方法会造成数据精度损失,阴影提取精度容易受图像质量影响。
Ma等[10]通过转换HIS色彩空间,构建归一化的亮度与饱和度差值指数,实现了高大建筑物的阴影检测,但是对于小阴影区域存在漏检问题。罗艳[11]等通过波段运算,结合主成分变换和近红外波段构建阴影指数提取阴影。姚花琴[12]等利用C1C2C3不变色彩空间中的C3分量进行阈值分割,提取建筑物阴影,但蓝色地物会被误识别为阴影。
可见,上述3类阴影检测方法虽然在一定程度上改善阴影的提取效果,但是都具有一定的局限性。受到不变色彩空间和图像多光谱特征的研究方法的启发,本文提出了一种新的色彩空间YCS,结合主成分分析法提取阴影。通过实验验证,提出的方法可以有效地避免红蓝地物对阴影提取的干扰,能够更加准确地提取阴影区域。
1 结合新色彩空间和PCA的高分影像阴影检测算法
通过结合不变色彩空间和主成分分析实现高分影像阴影提取,算法框图如图1所示。
图1 本文算法框图Fig.1 Block diagram of the proposed algorithm
对原始高分影像进行色彩空间转换,本文提出的新色彩空间是对像元值做非线性变换,在变换后的Y3分量中,阴影区域和其他地物的对比度增强。然后对高分影像进行主成分分析,计算得到第一主成分,第一主成分能够代表原始图像的大部分信息。对第一主成分归一化后,阴影区域信息得到增强。结合Y3分量和归一化的第一主成分构建阴影指数YSI,得到阴影指数图像,使用迭代法计算图像分割阈值,提取图像阴影区域。最后对提取到的阴影区域进行阴影补偿。
1.1 新色彩空间表示方法
在遥感图像中,阴影区域对光的反射较弱,不会随着光照的改变而有较大变化[13],文献[14]从Phong光照模型中发现,在阴影区域的RGB三个通道中,阴影区域对B分量更加敏感。在同等的光线照射下,阴影区域的R分量和G分量的亮度值低于其他地物,而B分量亮度值明显高于其他地物,阴影区域的亮度普遍偏小。
波段比值法能够增强分子与分母间的差别,非线性变换通过对各像元值的计算,突出阴影区域与其他地物在数值上的差别。因此,本文借助波段比值法突出阴影区域在B分量与其他地物的区别,采用非线性变换突出阴影区域在像元值与其他地物的差别。结合波段比值法和非线性变换,本文提出一种新的色彩空间表示方法,计算公式为:
(1)
式中,φ1和φ2是偏移参数,通过偏移能够突出原始图像中较小像元值与较大像元值的区别,使得阴影区域与非阴影区域对比度增强,本文取φ1=0.5,φ2=3;x1,x2,x3分别对应R,G,B分量在YCS色彩空间的色彩转换。由于x3突出了阴影区域在B分量的显示效果,因此Y3分量比Y1分量和Y2分量更有利于阴影提取。在YCS色彩空间下,计算高分影像的Y3分量,如图2所示。
(a) 原始图像
由图2(b)可以看出,通过转换到本文提出的YCS色彩空间后,其他地物的亮度值明显被抑制,阴影区域对比度明显增强,有利于进一步阴影提取。
1.2 主成分归一化法
主成分分析方法能够对数据降维,减少数据的冗余。对于不同遥感影像,可选取不同的波段进行主成分分析。本文所使用的高分2号遥感影像有R,G,B,NIR(近红外波段)4个波段,因此对4个波段进行主成分分析。变换后得到的4个特征值从大到小排序,特征值越大,对应的特征向量越能代表图像[15]。对于高分影像,由于第一主成分的方差贡献率通常在90%以上,第一主成分图像可以代表原始图像的大部分信息。原始图像和第一主成分图像如图3所示。
(a) 原始图像
由图3(b)可以看出,通过主成分变换后,阴影区域的亮度要比其他地物亮度值更大,有利于进一步的阴影提取。由ENVI分析得到,阴影区域总在第一主成分的两端,即在正值的极大值处,负值的极小值处。因此,将第一主成分归一化到[0,1],可以更加突出阴影与其他地物的区别。具体归一化方法为大于0的部分除以PC1中的最大值,小于0的部分除以PC1中的最小值。在归一化后的第一主成分中,阴影区域的信息得到了增强,并且原来处于两端的阴影区域合并到了一端,更有利于后续的阴影提取。
1.3 YSI阴影指数构建
高分影像通过转换色彩空间提取Y3分量后,阴影区域的蓝光值比红光和绿光值更大,增强了与其他地物的对比度;遥感影像经过主成分变换后,阴影区域处于第一主成分的2个端点处。通过归一化,阴影区域在第一主成分中相较于其他地物占有更大的值,与Y3分量类似。受二者的相似性启发,本文提出一种结合Y3分量和第一主成分的阴影指数构建方法。
比值法构建阴影指数的原理是增加强反射波段与弱反射波段之间的差异,从而达到增强感兴趣区域的目的[16]。将强反射波段置于分子,弱反射波段置于分母,使感兴趣区域的亮度得到增强,而其他地物受到抑制。于是,为了增强阴影区域亮度,同时抑制其他地物的亮度,结合Y3分量和第一主成分构建阴影指数YSI:
(2)
式中,YSI为构建的阴影指数;Y3为转换色彩空间后的第3分量;PC1为归一化后的第一主成分。
1.4 阈值分割与阴影补偿
在构建完阴影指数后,可以利用阈值分割方法来划分阴影与其他地物。许多学者使用OTSU算法进行阈值分割。OTSU算法是最大类间方差法,按照图像的灰度特性,将图像分为背景和前景2类,分别计算方差。类间方差越大,说明2类区别越大。OTSU算法被广泛应用到区分阴影和其他地物的场景中。
OTSU算法很容易受到噪声的影响,并且当目标与背景比例悬殊时可能会出现三峰或多峰的情况,无法计算出最佳阈值。如图4所示的直方图中,横坐标表示像元值,纵坐标表示该像元值的个数。
图4 OTSU算法阈值分割直方图Fig.4 OTSU algorithm threshold segmentation histogram
遥感图像有噪声干扰时,噪声的像元值个数相较于其他地物的像元值要少,且噪声像元值较小,分布在直方图左侧,导致OTSU算法在计算分割阈值时向左偏移,即计算出的分割阈值偏小,分割效果较差,导致阴影提取效果不理想。
本文使用迭代法计算分割阈值[17],计算公式如下:
(3)
式中,f(x,y)表示坐标为(x,y)的灰度值;T为分割阈值。
迭代法算法流程:
(1) 设置一个初始阈值T。
(2) 使用阈值T对图像进行分割,灰度值大于阈值T设置为1,记为K1;否则设置为0,记为K2。
(3) 分别计算K1和K2中的平均灰度均值,分别记为m1,m2。
(5) 当阈值T与前一个阈值相等时,停止迭代。否则重复步骤(2)~(4),所得阈值T即为分割阈值。
图5所示为迭代法计算出的分割阈值。
图5 迭代法阈值分割直方图Fig.5 Iterative threshold segmentation histogram
由图4和图5可以看出,迭代法相较于OTSU算法,抗噪声干扰强,能够在双峰直方图中准确地找到谷底,计算得到分割阈值,效果相较于OTSU更好。
检测出阴影区域后,本文使用形态学闭运算进行阴影补偿[18]。对二值图像的运算顺序是先膨胀再腐蚀。通过滤波器填充后,图像的凹角能够对连通域内小面积区域填充,缝合小裂缝,而连通域总体位置和大小不变。通过形态学闭运算,阴影区域内未被检测到的小面积区域得到补偿,阴影区域更加完整。
2 实验结果与分析
2.1 实验数据来源
采用4幅700 pixel×700 pixel的高分二号影像进行阴影提取实验。高分二号包含一个全色波段(波长0.45~0.9 μm)和4个多光谱波段(蓝波段0.45~0.52 μm、绿波段0.52~0.59 μm、红波段0.63~0.69 μm和近红外波段0.77~0.89 μm)。全色波段下的空间分辨率为0.8 m,多光谱波段下的空间分辨率为3.2 m。
2.2 实验结果与分析
本文的对比算法为SI阴影检测算法,计算公式如下:
(4)
式(4)考虑了阴影在B分量中与其他非阴影区域的差别,同时考虑了阴影在R分量与NIR分量区别于植被的特点,通过B、R和NIR三个分量,结合比值法和差值法构建SI阴影指数,对SI指数图像二值化处理后,手动确定分割阈值实现阴影提取[19]。
本文分别计算高分影像的SI与YSI数值,并比较实验结果。实验环境是操作系统Windows 10专业版,python版本3.6,编译器Visual Studio Code。
图6为第1次实验结果图,图7为第2次实验结果图。图6(a)、图7(a)为原始图像,图6(b)、图7(b)为SI算法提取结果图,图6(c)、图7(c)为本实验算法提取结果图。
图6(a)和图7(a)包含了建筑物、植被、道路、车辆及阴影等复杂地物,SI检测算法对复杂地物无法进行有效的阴影提取。本实验算法能够检测出建筑物阴影,且形状完整规则,视觉效果较好。
(a) 原始图像
(a) 原始图像
图8为第3次实验结果图,图9为第4次实验结果图。图8(a)和图9(a)为原始图像,图8(b)和图9(b)为SI算法提取结果图,图8(c)和图9(c)为本实验算法提取结果图。
图8(a)和图9(a)在图6(a)和图7(a)图像中复杂地物基础上增加了红色与蓝色建筑物。SI检测算法将其识别为阴影,效果不佳。本文提出的方法能够有效地抑制蓝色与红色地物的干扰,阴影区域平滑完整,视觉效果较好。
(a) 原始图像
(a) 原始图像
上述实验结果表明,本文提出的算法能够准确提取出阴影,阴影区域边界清晰,形状完整。其原因在于本文构建了新的阴影指数YSI,阴影指数图像的直方图均为双峰图,未出现单峰的情况,更有利于使用迭代法准确计算谷底,易于获得分割阈值。但在图8(c)中,有部分区域如环岛被误检测为阴影,将在后续研究中予以改进。
3 结束语
高分影像的阴影影响影像的质量与观感,为地物检测和识别带来了一定的困难。本文提出了一种新的色彩空间表示方法YCS,能够在增强阴影区域的同时抑制其他地物,结合主成分分析法,构建了新的阴影指数YSI,实现了阴影阈值的有效分割,阴影补偿后的阴影区域边界清晰、细节完整、形状规则,且其他非阴影区域的信息未变。实验结果表明,本文提出的算法不仅能有效解决传统方法无法区分蓝色与红色地物的难题,而且能够较为完整地提取阴影区域。