发明内容
针对现有技术的不足,本发明的目的是提供一种基于多尺度多特征融合的遥感影像建筑物检测方法,该方法对高分辨率影像降采样构建影像金字塔,在每一个尺度空间中提取用于描述建筑物特性的多种特征,通过不同尺度下多种特征融合,计算影像各区域显著性,从而达到建筑物的自动检测。
为达到上述目的,本发明采用的技术方案如下:
一种基于多尺度多特征融合的遥感影像建筑物检测方法,其关键在于包括以下步骤:
S1:对高分辨率遥感影像降采样,获得由不同尺度的影像构成的影像金字塔;
S2:计算影像金字塔每一层影像对应的边缘影像;
S3:对不同尺度的边缘影像进行多组特征计算,并对获得的多组特征进行融合建立特征模型;
S4:根据特征模型与邻域局部非极大值抑制进行窗口选取,获得最可能含有建筑物的目标窗口;
S5:对目标窗口进行小范围内的膨胀/收缩计算,获得贴合目标建筑物的矩形窗口;
S6:根据目标窗口的主方向旋转所述矩形窗口,得到与建筑物朝向一致的最优目标窗口,并根据最优目标窗口提取出建筑物。
进一步的,步骤S1中所述降采样采用的公式为:
其中,W(p,q)=W(p)*W(q)表示长度为5的高斯卷积核,(p,q)为高斯卷积核中点的坐标,(i,j)为影像中点的坐标。
进一步的,步骤S2中所述边缘影像的计算步骤为:
S2.1:对影像金字塔每层影像进行高斯平滑滤波;
S2.2:计算平滑滤波后影像中每个像素点的梯度值;
S2.3:根据梯度值判定各像素点是否为边缘点,若是则保存,否则设置为0,获得影像对应的二进制边缘影像;
S2.4:阈值计算,并根据阈值对二进制边缘影像进行边缘强化,获得所述边缘影像。
更进一步的,步骤S2.4中所述阈值采用Otsu算法计算最大化非边缘点和边缘点的类间差异而获得。
再进一步的,所述Otsu算法通过最小化边缘点与非边缘点两类的错分概率,使得边缘点和非边缘点的类间方差最大,获得阈值。
进一步的,步骤S3中所述多组特征包括边缘分布特征、主方向显著性与正交性特征、Blob相似度特征和超像素跨越特征。
再进一步的,所述边缘分布特征、主方向显著性与正交性特征、Blob相似度特征和超像素跨越特征的计算公式如下:
边缘分布特征LED:
LED=de×ds,
其中,de=ne/nw为边缘密度,ds=min(nt)/Mean(nt)为边缘分布均匀性,ne和nw分别表示以R为半径的圆形窗口内的边缘点数和总像素数,nt表示第t象限所包含的边缘点数,t=1,2,3,4;
主方向显著性与正交性特征OOS:
OOS=r×Max{N(k)+N(k+6)},
其中,r为正交指数,N(k)、N(k+6)分别表示第k、k+6个方向级所包含的边缘点的个数,且N(k)与N(k+6)为正交关系,所述方向级的定义为:以垂直向上为起始方向,顺时针为正方向,每15°为一个方向级,从0°到180°共分为12个方向级;
Blob相似度特征M:
其中,W表示滑动窗口,T表示设置的模板,(M0,N0)表示模板T的大小,(m,n)为模板T内的坐标,(i,j)为滑动窗口W内影像的坐标;
超像素跨越特征SS:
其中,|S\W|表示超像素块S在窗口W外的面积,|S∩W|表示超像素块S在窗口内的面积。
进一步的,步骤S3中特征模型为:
其中,saliency表示特征模型,LED为边缘分布特征,OOS为主方向显著性与正交性特征,M为Blob相似度特征,SS为超像素跨越特征。
进一步的,步骤S4中所述目标窗口的获取步骤为:
S4.1:根据特征模型计算得到影像金字塔每一层的显著图;
S4.2:根据滑动窗口内所有像素显著值的和与滑动窗口的面积计算窗口的显著性得分;
S4.3:采用局部非极大值抑制算法选取邻域里显著性得分最高的窗口,并抑制得分低的窗口、消除交叉重复的冗余窗口,获得目标窗口。
更进一步的,步骤S4.2中所述窗口的显著性得分的计算公式为:
其中,score表示窗口的显著性得分,saliency(i)表示该窗口内第i个点的显著值,|win|表示该窗口的面积。
本发明基于高分辨率遥感影像降采样获得的影像金字塔,在多尺度影响下计算边缘密度、分布均匀性、方向显著性与正交性、和背景的反差程度以及包含超像素块的完整性等多个特征,并通过特征模型来寻找建筑物所在的目标窗口,实现了高效准确地自动检测建筑物。
本发明的显著效果是:
(1)将高分辨率遥感影像中建筑物的亮度、方向等光谱以及结构等特性,结合边缘分布、区域显著信息以及超像素水平上的完整性等构建多特征模型,在高斯金字塔影像上进行多尺度的建筑物检测,对大小、形状、朝向各异的建筑物的检测具有普适性;
(2)本发明更深层次地挖掘了影像的空间特征和语义信息,仅利用高分辨率遥感影像就可以实现高分辨率影像上建筑物目标窗口的快速、准确、自动提取,同时设计了新的边缘影像计算方法,有效地提高了建筑物自动检测的精度和效率。
具体实施方式
下面结合附图对本发明的具体实施方式以及工作原理作进一步详细说明。
如图1所示,一种基于多尺度多特征融合的遥感影像建筑物检测方法,按照以下步骤进行:
S1:建筑物在高分辨率遥感影像中的大小、位置、朝向都有着很大的变化,单从一个尺度,很难将不同大小的建筑物检测出来,因此首先对高分辨率影像做降采样得到影像金字塔;
采用上述高斯函数来平滑图像,其中,W(p,q)=W(p)*W(q)表示长度为5的高斯卷积核,(p,q)为高斯卷积核中点的坐标,(i,j)为影像中点的坐标。由此得到一个分辨率逐级递减的图像序列{ML,ML-1,……,M0}。由于金字塔底层高分辨率影像细节保存完好,而顶层低分辨率影像则更注重全局特征,基于影像金字塔进行多尺度检测建筑物能兼顾细节和整体,达到更高的检测精度。
同一大小的窗口在不同分辨率的影像中对应着不同面积,如图2所示,假如原影像为1m的分辨率,则10*10像素大小的窗口在第一层原始影像中对应实际面积为10*10㎡,在第二层经过一次降采样的影像中对应的实际面积为20*20㎡,而在第三层影像中对应的实际面积为40*40㎡。因此通过建立影像金字塔,只需要设置一个尺寸的窗口,就能实现从10*10㎡到40*40㎡大小的地物的检测,从而实现了多尺度提取不同大小的建筑物。
边缘是描述目标的一种重要特征,边缘信息可以反映出光谱的不连续性、反差、方向信息以及结构类型。尤其对于建筑物这样有着特殊结构和纹理的目标,边缘信息对于目标提取可以很好的起到指示作用,因此进入步骤S2。
S2:计算影像金字塔每一层影像对应的边缘影像;
本例中,不同于常用的canny、Sobel等边缘检测算法,本发明采用一种简单而更为有效的边缘计算方法来计算影像金字塔每一层影像对应的边缘影像,流程图如图3所示:
S2.1:首先根据下式滤波器对影像金字塔每层影像进行高斯平滑滤波,避免将一些尖锐的噪声点错误的当作边缘:
S2.2:计算平滑滤波后影像中每个像素点的梯度值;
S2.3:根据梯度值判定各像素点是否为边缘点,即:将在梯度主方向上比相邻两个像素点梯度大的像素作为边缘点保存起来,而其他非边缘点则设置为0,获得影像对应的二进制边缘影像;
S2.4:边缘影像由边缘和非边缘两类组成,边缘和非边缘之间的类间方差越大,说明这两部分的差别越大。当部分边缘错分为非边缘或部分非边缘错分为边缘都会导致类间方差变小,因此使类间方差最大的分割意味着错分概率最小。采用Otsu算法遍历计算阈值,使得边缘点和非边缘点两类的错分概率最小,即这两者的类间方差达到最大。并根据阈值对二进制边缘影像进行边缘强化,获得所述边缘影像。
S3:对不同尺度的边缘影像进行边缘分布特征、主方向显著性与正交性特征、Blob相似度特征和超像素跨越特征计算,并对获得的多组特征进行融合建立特征模型,具体如下:
边缘分布特征LED:和其他地物相比,建筑物具有其独特的边缘信息。例如相较于大片的空地、湖等包含边缘较少的地物,建筑物应当是具有一定的边缘密度的;和道路、林地等条带状或不规则的目标相比,建筑物的边缘应当是完整且均匀分布的。根据建筑物的这些特性,本发明采用了局部边缘密度和边缘分布均匀性两个特性来共同描述建筑物的边缘特征,用以初步筛选目标。
对于边缘影像,其纹理信息主要是通过局部窗口的边缘密度和边缘像素分布的均匀性来表现的。在步骤S2得到的边缘影像的基础上,定义边缘分布特征LED如下公式:
LED=de×ds,
其中,de=ne/nw为边缘密度,ds=min(nt)/Mean(nt)为边缘分布均匀性,ne和nw分别表示以R为半径的圆形窗口内的边缘点数和总像素数,nt表示第t象限所包含的边缘点数,t=1,2,3,4;如图4所示,取四个象限所包含的最少的边缘点数min(ni)除以平均每个象限包含的边缘点数Mean(ni)得到ds,用来衡量边缘点在四个象限内分布的均匀性。取LED为de与ds的乘积,只有当边缘密度和边缘分布均匀性两者都较大的时候,边缘分布特征LED才会取到一个较大值。考虑到建筑物一般具有完整且较强的边缘,在四个象限内的分布均匀,应当具有较大的LED值,因此以LED来描述建筑物的边缘特征。
主方向显著性与正交性特征OOS:建筑物大多是较为规则的矩形结构或者多边形结构,具有较为明显的主方向并且显现正交性,即具有两个相互垂直的主方向(θM和θM+90°,θM∈[0,90°]),如图5所示。因此在步骤S2得到的边缘影像f(x,y)的基础上,计算窗口内每个边缘点的梯度方向θ:
以15°为一个方向级将梯度方向划分为12个区间,并统计每个方向区间包含的边缘点数,如图6所示。如果窗口内包含有垂直结构的目标,应当在某两个特定的相互垂直的方向上具有较密集的边缘,该特定的方向即为目标主方向。因此本发明通过计算相互垂直的两个方向级的边缘点数的和,并将取到最大值的两个垂直方向级作为该窗口的主方向,即Max{N(k)+N(k+6)},k<6,其中N(k)表示第k个方向级所包含的边缘点的个数,N(k)和N(k+6)相差90°,是正交关系。
同时将这两个相互垂直的方向级作比来计算该区域的正交指数r=N(k)/N(k+6)or N(k+6)/N(6),r<1.0。相互垂直的边缘结构应当在两个垂直主方向级上同时包含更密集的边缘点,因此具有更大的正交指数r。
本实施例定义结合了主方向和正交性的特征指数计算公式如下:
OOS=r×Max{N(k)+N(k+6)},
其中,r为正交指数,N(k)、N(k+6)分别表示第k、k+6个方向级所包含的边缘点的个数。
Blob相似度特征M:考虑到建筑物大多和周围的树、道路等背景形成明显的亮度反差,因此设计了一个中间亮周围暗的正方形模板T,如图7所示,来衡量窗口中心和周围的反差程度。模板T覆盖住滑动窗口W,根据下式计算窗口和模板的匹配测度M来反映该滑动窗口W与模板T的相似程度:
其中,W表示滑动窗口,T表示设置的模板,(M0,N0)表示模板T的大小,(m,n)为模板T内的坐标,(i,j)为滑动窗口W内影像的坐标;
相关性越大,表示窗口W和模板T越相似,即窗口中心与周围的反差越强烈,说明该滑动窗口内包含建筑物的可能性就越大。
超像素跨越特征SS:该特征普遍适用于目标识别,其中心思想是一个目标应当包含一个或多个完整的超像素块,而不能够包含半个超像素块。即一个超像素块应当属于一个目标,而不能被分给多个目标。
本实施例中也将该思想用于描述建筑物,采用基于图的快速超像素分割算法将影像分割为由超像素块组成的超像素影像,通过计算滑动窗口内不完整的超像素块的面积除以窗口总面积,得到该滑动窗口跨越超像素块的程度。如果该窗口包含着完整的目标,则其应当尽可能少的跨越了超像素块,因此该项特征值SS也就越大。
其中,|S\W|表示超像素块S在窗口W外的面积,|S∩W|表示超像素块S在窗口内的面积。
将上述计算所得的边缘分布特征LED、主方向显著性与正交性特征OOS、Blob相似度特征M、超像素跨越特征SS进行融合建立特征模型:
其中,saliency表示特征模型,LED为边缘分布特征,OOS为主方向显著性与正交性特征,M为Blob相似度特征,SS为超像素跨越特征。
S4:根据特征模型与邻域局部非极大值抑制进行窗口选取,获得最可能含有建筑物的目标窗口,具体步骤为:
S4.1:根据特征模型计算得到影像金字塔每一层的显著图,其中每个像素点对应一个显著值saliency;
S4.2:根据滑动窗口内所有像素显著值的和与滑动窗口的面积计算窗口的显著性得分,计算公式为:
其中,score表示窗口的显著性得分,saliency(i)表示该窗口内第i个点的显著值,|win|表示该窗口的面积。
因此,包含有建筑物的窗口相较于背景应该表现出明显更强的显著性,因此得分高的窗口即为可能包含有建筑物的窗口。但是滑动窗口会导致窗口存在包含或者大部分交叉的情况,所以采用局部非极大值抑制算法来找到最佳目标窗口位置,具体参见步骤4.3。
S4.3:通过定义一个邻域大小,判断中心点的窗口得分是否比其邻域范围内所有的窗口得分都要高,如果是则认为该窗口是一个局部极大值;否则舍弃该窗口;
经过非极大值抑制筛选的窗口再进行纵向比较,如果一个窗口的显著性得分是局部最大,且比金字塔影像中其他层的对应位置上的窗口得分高,则该窗口为最适尺寸的最可能含有建筑物的目标窗口。
S5:对目标窗口进行小范围内的膨胀/收缩计算,获得贴合目标建筑物的矩形窗口,具体方式为:
由于步骤S4中用于检测显著性的滑动窗口是正方形,而事实上绝大多数建筑物都是矩形或者不规则的形状,因此在得到目标窗口之后向外/内分别做一个小范围的膨胀/收缩计算,窗口宽w和h分别收缩和扩张原边长的1/2长度,并计算新的窗口的得分:
其中,score(h1,w1)即宽、高分别为w1和h1的新窗口的得分,|win(h1,w1)|为该新窗口的面积,即新窗口的得分等于新窗口内所有点的显著性得分总和除以该窗口的面积。最合适的窗口应当是在最小的范围内表现出最强的显著性,也因此获取最大值的窗口即为最贴合目标的矩形窗口。
S6:根据步骤S3的中间过程中求得的目标窗口主方向θ旋转所述矩形窗口,得到与建筑物朝向一致的最优目标窗口,并根据该最优目标窗口提取出建筑物。
本实施例基于高分辨率遥感影像,首先通过降采样获得金字塔影像,然后在多尺度影像下计算边缘密度、分布均匀性、方向显著性与正交性、和背景的反差程度以及包含超像素块的完整性等多个特征,并通过多特征融合后建立的特征模型与邻域局部非极大值抑制来寻找建筑物所在的目标窗口,实现了高效、准确地自动检测建筑物。