建筑物作为遥感影像中的重要地物要素[1-2],对其精确快速地提取和及时地更新直接影响着城市规划、土地利用等方面[3]。但现在大部分研究都是利用遥感影像[4]、机载LiDAR点云[5]或其他多源数据[6-7]获取建筑物模型,进而应用于对其边界的检测及提取,对后续的规则化问题研究较少。又因受遮挡、阴影、光谱等噪声影响[8-9],粗提取后的建筑物边界效果并不理想,因此,将粗提取后的建筑物边界进行规则化,使之更加拟合其真实边界显得尤为重要。
建筑物边界的主要拟合方法有:①凸包拟合,即寻找一个由这些点构成的凸多边形以将平面上的点全部包含在内;②最小外接矩形拟合[10],即计算待拟合边界与最小外接矩形之间的差值,对其设置一定的阈值从而判断角点的存在性;③直角多边形拟合,即根据提取的直线段主方向及其垂直方向将线段分为两组并进行组内直线段的连接与微调,从而选择适用的策略进行拟合;④最小二乘法直线拟合[11],即依据拟合公式yi=aix+bi逐个对每条线段进行拟合;⑤角点定位拟合,即对粗提取后的边界后进行预处理,然后提取其角点并拟合连接得到规则的建筑物边界。
上述方法虽然对边界规则化的效果较好,但仍存在一些问题,如建模过程烦琐导致解算复杂、理论不严密、只对特殊试验区有效等。因此,为了获取更加接近实际建筑物的真实边界,本文结合Harris算子和Susan算子,提出一种对粗提取后的多边形建筑物顶部边界进行规则化拟合的处理方法。
1 研究方法
1.1 角点检测
角点即二维图像亮度变化十分明显的点或曲线边缘上曲率极大值的点[12]。如果要提取建筑物顶部边界,需要对角点的位置进行准确的识别、提取及规则化拟合连接。因此,精确地检测并提取建筑物顶部边界角点十分重要。
1.1.1 Harris算法角点检测
Harris算子为Harris等在Moravec角点检测算法的基础上提出的基于信号的点特征提取方法[13],主要应用微分方程和自相关矩阵检测图像角点是否存在。其原理为:用一定大小的窗口在图像上滑动,当在任意方向上移动该窗口都会导致窗口中的像素灰度发生较大变化时,该窗口中存在角点。
其角点响应函数的表达式为
(1)
式中,k为常量,一般取经验值0.04~0.06;λ1、λ2为自相关阵M的两个特征值;当窗口内某点的R值大于设置的阈值且在邻域内为极大值时,可将其视作角点。
1.1.2 Susan算法角点检测
Susan算法是Smith等提出的一种处理灰度图像的方法[14],有检测图像边缘、提取边界角点、消除噪声等作用。其原理为:提取圆形模板内各点与核心点像素灰度值相近的Usan区域[15]。
Susan算法的角点响应函数表达式为
(2)
式中,阈值g=1/2(max(n))。当图像内点的Usan值小于g,则可认为该点是初始角点,再通过对其进行非极大值抑制求得最后的角点。
1.2 角点点号排序
在对建筑物边界进行角点检测时,由于其通过遍历图像以确定角点以致提取的边界角点是杂乱无序的。因此首先要对角点点号进行排序处理,然后再进行规则化拟合连接。
对于单栋的简单矩形、菱形类建筑及凹(凸)多边形类建筑,重心在建筑物内部。假设A、B、C、D点为建筑物顶部边界角点,首先根据已知点坐标计算出重心O的坐标,然后以重心O点作为旋转中心逆时针旋转,可得点A在点B的顺时针方向,则定义点号顺序点A在点B之前。通过如此往复,可得出各角点点号的先后顺序。