基于物方垂直双面元的最小二乘匹配方法
技术领域
本发明属于遥感图像处理影像匹配技术领域,涉及一种基于物方垂直双面元的最小二乘匹配方法。
背景技术
影像匹配技术目前已经被广泛地应用于三维重建、拼接、检索、目标跟踪等方面,在民用、军事医疗领域具有重要的应价值。由于物体表面在大多数情况下并不是理想的。比如外界各种遮挡关系、光照变化的影响,即使是空间场景物体上的同一点在不同的二维图像上的对应投影点的亮度值或颜色值并不是完全相同;同样地,具有相同亮度值或颜色值的二维图像投影点也未必对应物体表面的同一点。影像匹配技术是计算机视觉及摄影测量领域中最基础、也是最困难的工作之一。
随着城市化速度不断加快,建立精确的城市三维模型,实现由数字城市到智慧城市的过度,已成为3S技术发展的主要趋势。其中,高精度的密集匹配,是建立精确城市三维模型的基础。城市建筑最大的特点是存在大量的棱角线、点,而对于这些建筑物棱角线上的点,由于其在大部分匹配算法中会被模糊处理,如何匹配出建筑物棱角上的点,一直是密集匹配与三维重建中的难点。
最小二乘匹配是Ackerman教授于1983年提出的一种高精度的影像匹配方法,由于其具有灵活、可靠、高精度的特点,很快推广到了多点和多片的情况,包括基于SIFT的宽基线立体影像最小二乘匹配以及共线条件约束的多片最小二乘匹配算法MPGC等。为了改进MPGC算法中多幅待匹配影像间存在独立变形参数这一不足,江万寿教授提出了基于物方面元的最小二乘匹配,该算法利用共线条件方程作为几何约束关系,利用物方面元参数以及单中心投影的投影方程消除参数与匹配的各片之间独立的变形系数,减少未知数的个数,同时得到空间面元的法向量。但这些方法在优化的过程中会模糊包括建筑物顶部边缘在内的垂直边缘点,使得优化后的点云无法得到清晰的棱角线。具体来说,传统的单面元最小二乘匹配方法中,斜面元的几何意义是三维点的切平面。将整个点云的三维模型看作一个连续曲面,设其曲面方程为F(x,y,z)=0(即z=f(x,y)),面元的法向量(同样也是曲面的法向量)可表示为 (也就是。但在城市地区遥感影像中存在大量的建筑物,使得地面高层起伏大,并不是一个连续的曲面,此时城市建筑物中存在大量的棱角线,面元的法向量不止一个,传统的单面元最小二乘匹配方法会模糊这样的棱角线。尤其当匹配的窗口变大,这种模糊现象就越严重。
发明内容
针对现有技术的缺点,本发明的目的是提供一种能够突出建筑物棱角线上的特征点,提高遥感影像中建筑物的模型精度的匹配方法。
本发明的技术方案为一种基于物方垂直双面元的最小二乘匹配方法,包括以下步骤:
步骤1,在密集匹配的三维点云数据中,建立每个三维点的初始法向量,
包括以每个三维点为初始法向量的起点,以(α,β)、(π/2-α,π/2-β)为初始方向角,建立两条垂直的初始法向量,
a1=cosαcosβ
b1=sinαcosβ
c1=sinβ(1)
a2=cos(π/2-α)cos(π/2-β)=sinαsinβ
b2=sin(π/2-α)cos(π/2-β)=cosαsinβ
c2=sin(π/2-β)=cosβ
其中,(a1,b1,c1)、(a2,b2,c2)表示两条垂直的初始法向量的坐标;
步骤2,基于各三维点的初始法向量,建立误差方程,进行双面元参数的迭代优化,搜索最佳匹配点位,实现包括以下步骤,
步骤2.1,将三维点(Xc,Yc,Zc)投影到参考影像上,得到参考影像上相应像点坐标(x0c,y0c);
步骤2.2,以(x0c,y0c)为中心,一个像素为采样间隔,从参考影像上取出一个μ×μ个像素大小的影像窗口,计算窗口内每个像素的像点坐标(x0,y0),其中μ为预设值;
步骤2.3,为三维点在物方建立一对互相垂直的面元P1、P2,面元中心为三维点的物方坐标值(Xc,Yc,Zc),P1、P2的法向量为(a1,b1,c1)、(a2,b2,c2);
步骤2.4,分别计算步骤2.2所取影像窗口中的μ×μ个点投影到P1、P2上每个投影点的物方坐标(X1,Y1,Z1)、(X2,Y2,Z2);
步骤2.5,分别计算P1、P2上每个投影点投影到各搜索影像上的像点坐标(xi,yi),得到搜索影像上的相应影像窗口,其中投影到第i张搜索影像上的像点坐标记为(xi,yi);
步骤2.6,分别对参考影像和搜索影像上影像窗口中的点采用双线性内插法进行重采样,得到参考影像上影像窗口中的点重采样后的像素亮度值g0(x0,y0)和P1上的投影点投影到第i张搜索影像上的像点重采样后的像素亮度值gi(xi1,yi1)、P2上的投影点投影到第i张搜索影像上的像点重采样后的像素亮度值gi(xi2,yi2);
步骤2.7,根据共线方程约束和最小二乘匹配原理建立误差方程如下,
其中,vP1、vP2为投影误差;h0i、h1i为第i张搜索影像到参考影像的辐射畸变系数;
步骤2.8,进行辐射畸变改正,解求得到未知数的改正值,包括辐射畸变改正值dh0i、dh1i,面元角度改正值2个dα、dβ和物点坐标改正值dZc;
步骤2.9,当所有改正值小于预设改正值阈值时,停止迭代,取搜索影像窗口中心点为最佳匹配点位;否则,根据改正值得到改正后的参数h0i、h1i、Zc、α、β,基于改正后的参数α、β根据公式(1)计算改正后的面元法向量作为新的(a1,b1,c1)、(a2,b2,c2),重复步骤2.3至2.8,并将迭代次数计算值+1,当迭代次数大于预设次数阈值仍未出现所有改正值小于预设改正值阈值时,判断迭代失败,没有找到该三维点的匹配点。
而且,步骤2.8中解求未知数的改正值方式为,用差分代替微分来计算亮度值在x、y方向的导数值,将解求的投影系数带入光束方程,联立共线方程解求搜索影像中像点坐标的改正值;简化未知数,求解改正值。
而且,步骤2.9中,停止迭代后根据下式计算影像间的相关系数ri1、ri2,
其中,ri1、ri2分别为参考影像上影像窗口与从面元P1、P2投影到第i张搜索影像所得影像窗口间的相关系数,r、s为像素在影像窗口中的行列号;g0(x0r,y0s)为参考影像上影像窗口中的点重采样后的像素亮度值,其中(x0r,y0s)表示参考影像中影像窗口内的第r行第s列像点坐标;gi1(xi1r,yi1s)、gi2(xi2r,yi2s)分别为面元P1、P2上的投影点投影到第i张搜索影像上的像点重采样后的像素亮度值,其中(xi1r,yi1s)、(xi2r,yi2s)分别为从面元P1、P2投影到第i张搜索影像所得影像窗口内第r行第s列的像点坐标; 分别为g0(x0r,y0s)、gi1(xi1r,yi1s)和gi2(xi2r,yi2s)的均值。
而且,第k次迭代执行步骤2.9时,根据改正值得到改正后的参数h0i、h1i、Zc、α、β如下式,
h0i k=h0i k-1+dh0i k+h0i k-1dh1i k(22)
h1i k=h1i k-1+h1i k-1dh1i k
Zc k=Zc k-1+dZc k
αk=αk-1+dαk(23)
βk=βk-1+dβk
其中,h0i k、h1i k表示第k次迭代求得的参数h0i、h1i的值,dh0i k、dh1i k表示第k次求得的参数h0i、h1i的改正值;Zc k、αk、βk分别表示第k次迭代求得的参数Zc、α、β的值,dZc k、dαk、dβk分别表示第k次求得的参数Zc、αk、βk的改正值。
本发明的技术方案在物方逐个三维点建立两个互相垂直的面元,根据参考影像、面元、搜索影像的投影关系建立几何约束条件,以最小二乘思想建立误差方程,通过迭代求得匹配结果。本发明中以两个互相垂直的面元作为三维点的切平面克服了棱角线上点切平面的法向量不唯一的问题,对其具有很好的优化效果,实现突出建筑物棱角线,提高建筑物密集匹配精度。
附图说明
图1为本发明实施例的流程图。
图2为本发明实施例中建立初始法向量的示意图。
图3为本发明实施例中相关参数的几何关系图。
具体实施方式
为了更好地理解本发明的技术方案,下面结合附图对本发明做进一步的详细说明。
本发明技术方案可采用计算机软件技术实现自动运行流程。本发明的实施例是对两幅城市区域无人机影像进行匹配,参照图1,本发明实施例流程的步骤如下:
步骤1,建立初始法向量。
实施例首先输入影像相关参数,采用SGM或其他的基于图像的密集点云生成算法生成密集的三维点云数据,输出的数据包括三维点云数据中任一三维点的物方坐标值P(Xc,Yc,Zc),然后参照图2为三维点云数据中每个三维点建立两条互相垂直的初始法向量(图中S为摄影中心;p(u0c,v0c,w0c)为像点在像空间辅助坐标系中的坐标)。在密集匹配的点云中,逐个点建立初始法向量后,每个三维点位于两条垂直法向量的交点。通过每个三维点两条垂直法向量的交点,可以搜索出位于建筑棱角线附近的特征点。
实施例中,对每个三维点建立初始法向量的具体规则为:
以三维点为初始法向量的起点,设两条垂直法向量的初始方向角为(α,β)、(π/2-α,π/2-β),由法向量与方向角的关系得:
a1=cosαcosβ
b1=sinαcosβ
c1=sinβ(1)
a2=cos(π/2-α)cos(π/2-β)=sinαsinβ
b2=sin(π/2-α)cos(π/2-β)=cosαsinβ
c2=sin(π/2-β)=cosβ
(a1,b1,c1)、(a2,b2,c2)表示为三维点建立的两条垂直的法向量坐标。
步骤2,参照图3的几何关系,采用共线方程约束建立误差方程,逐个三维点进行双面元参数的迭代优化。实施例设阈值为10-5,即当求解的每个参数的改正值均小于10-5时停止迭代,否则,采用求得的改正值改正相关参数继续迭代。记录迭代次数,当迭代次数超过1000次时,迭代失败,该点无效。
实施例的步骤b对每个三维点分别进行迭代优化的具体实现步骤如下:
步骤2.1,将三维点(Xc,Yc,Zc)投影到参考影像上,按式(2)-(5)计算参考影像上相应像点坐标(x0c,y0c):
式(2)中,R为参考影像的旋转矩阵,(Xc,Yc,Zc)为三维点的物方坐标值,(Xs0,Ys0,Zs0)为参考影像外方位元素中的线元素,(ku0c,kv0c,kw0c)为中间变量;
式(3)中,R-1(3)为参考影像旋转矩阵逆矩阵的第三行,f0为参考影像主距,λ为三维点投影到参考影像的投影系数;
式(4)中,(u0c,v0c,w0c)为像点(x0c,y0c)的像空间辅助坐标;
式(5)中,(x0c,y0c)为三维点(Xc,Yc,Zc)投影到参考影像上的像点坐标,R-1(1)、R-1(2)为参考影像旋转矩阵逆矩阵的第一、二行。
步骤2.2,以(x0c,y0c)为中心,一个像素为采样间隔,从参考影像上取出一个μ×μ个像素(μ可由用户预设,一般μ为7、9或11)大小的影像窗口,计算窗口内每个像素的像点坐标(x0,y0),实施例以毫米为单位进行计算。
步骤2.3,为三维点在物方建立一对互相垂直的面元P1、P2,面元中心为三维点的物方坐标值(Xc,Yc,Zc),第一次执行步骤2.3时P1、P2法向量分别为步骤1.2中求得的(a1,b1,c1)、(a2,b2,c2),之后执行步骤2.3时,采用上一次迭代执行步骤2.9时计算改正后的面元法向量所得新的(a1,b1,c1)、(a2,b2,c2)。
按公式(6)计算垂直面元的方程:
P1:a1(X-Xc)+b1(Y-Yc)+c1(Z-Zc)=0(6)
P2:a2(X-Xc)+b2(Y-Yc)+c2(Z-Zc)=0
式(6)中,(X,Y,Z)表示面元P1、P2上的点。
步骤2.4,按公式(7)-(9),分别计算步骤2.2所取影像窗口中的μ×μ个点投影到P1、P2上每个投影点的物方坐标(X1,Y1,Z1)、(X2,Y2,Z2),为简化公式表达起见,实施例采用1(2)作为下标表示P1或P2的情况:
式(7)中,(u0,v0,w0)为影像窗口中各点的像空间辅助坐标;
式(8)中,λ1(2)表示λ1或λ2,分别为影像窗口投影到P1、P2上的投影系数;a1(2)、b1(2)、c1(2),即a1或a2,b1或b2,c1或c2;
式(9)中,(Xs0,Ys0,Zs0)为参考影像外方位元素中的线元素,(X1(2),Y1(2),Z1(2))表示影像窗口投影到P1、P2上的物方坐标(X1,Y1,Z1)或(X2,Y2,Z2)。
步骤2.5,按公式(10)-(13),分别计算P1、P2上每个投影点投影到各搜索影像上的像点坐标(xi,yi),得到搜索影像上的相应影像窗口。其中从P1、P2分别投影到搜索影像上各形成一个影像窗口。相应计算公式如下:
式(10)中,Ri为第i张搜索影像的旋转矩阵,Ri -1为第i张搜索影像旋转矩阵的逆矩阵,(Xsi,Ysi,Zsi)为第i张搜索影像外方位元素中的线元素,(kui1(2),kvi1(2),kwi1(2))为中间变量;
式(11)中,Ri -1(3)为第i张搜索影像旋转矩阵逆矩阵的第三行,fi为第i张搜索影像主距,λi1(2)为三维点投影到第i张搜索影像的投影系数;
式(12)中,(ui1(2),vi1(2),wi1(2))分别为P1、P2上的投影点投影到第i张搜索影像上像点(xi1(2),yi1(2))的像空间辅助坐标;
式(13)中,(xi1(2),yi1(2))分别为第i张搜索影像上的像点坐标,Ri -1(1)、Ri -1(2)为第i张搜索影像旋转矩阵逆矩阵的第一、二行。
i的取值取决于搜索影像的数量。
步骤2.6,分别对参考影像和搜索影像上影像窗口中的点采用双线性内插法进行重采样,得到g0(x0,y0)和gi(xi1(2),yi1(2));
步骤2.7,按共线方程约束(公式(14))和最小二乘匹配原理建立误差方程(公式(15));
其中:
式(14)中, 为搜索影像的旋转矩阵,a1i、a2i、a3i、b1i、b2i、b3i、c1i、c2i、c3i为其中的参数;
式(15)中,vP1、vP2为投影误差;h0i、h1i为第i张搜索影像到参考影像的辐射畸变系数;gi(xi1(2),yi1(2))分别为P1、P2上的投影点投影到第i张搜索影像上的像点重采样后的像素亮度值;g0(x0,y0)为参考影像上影像窗口中的点重采样后的像素亮度值。
步骤2.8,辐射畸变改正。解求未知数的改正值方法如下:
用差分代替微分来计算亮度值在x、y方向的导数值;
将解求的投影系数带入光束方程,联立共线方程解求搜索影像中像点坐标的改正值;
简化未知数,求解改正值。
当迭代所求得的改正值均小于阈值时,所求得的搜索影像的像点坐标即为参考影像的匹配点,将相关数据记录到txt文档,当所有三维点的匹配点求解完毕,得到一个完整的三维模型。
实施例的具体实现如下:
由于影像是不连续的且窗口中每个像素的采样间隔是相同的,可用差分代替微分来计算亮度值在x、y方向的导数值 即公式(16):
注:式(16)中的坐标为像素坐标。
由于参考影像面元中心(u0c,v0c,w0c)(即像点(x0c,y0c)的像空间辅助坐标)也在光束方程(17)上,将参考影像面元中心带入光束方程中(18),由求得的中间变量λc,求解投影系数λ1(2):
X=Xs0+λu0
Y=Ys0+λv0(17)
Z=Zs0+λw0
Xc=Xs0+λcu0c
Yc=Ys0+λcv0c(18)
Zc=Zs0+λcw0c
λc=(Zc-Zs0)/w0c
将公式(17)、(19)带入公式(14)计算(xi1(2),yi1(2)),由公式(1),(a1,b1,c1)、(a2,b2,c2)可以用参数α、β来表示,因此,误差方程(15)中的(dxi1,dyi1)、(dxi2,dyi2)可以按公式(20)计算:
其中,i用于标识第i张搜索影像。
此时,误差方程(15)中的未知数已经化简为2n+3个:辐射畸变改正值2n个,即dh0i、dh1i;面元角度改正值2个,即dα、dβ;物点坐标改正值1个,即dZc,n为搜索影像的个数。误差方程(15)中的未知数化简后与单面元的未知数个数相同。
步骤2.9,具体实施时可根据精度要求预设改正值阈值和次数阈值,实施例中设改正值阈值为10-5,即当所有改正值小于10-5时,停止迭代,取第i张搜索影像窗口中心点为该搜索影像的最佳匹配点位。
否则,以所求改正值按公式(22)、(23)改正参数h0i、h1i、Zc、α、β,基于改正后的参数α、β根据公式(1)计算改正后的面元法向量作为新的(a1,b1,c1)、(a2,b2,c2),重复步骤2.3-2.8,并将迭代次数计算值+1(可设迭代次数的初始值为0),当迭代次数大于1000仍未出现任一搜索影像所有改正值小于10-5时,认为迭代失败,该三维点无效,即没有找到该点的匹配点。
为便于评价匹配精度,本发明进一步提出可在迭代结束后按公式(21)计算影像间的相关系数ri1、ri2:
其中,ri1、ri2分别为参考影像上影像窗口与从面元P1、P2投影到第i张搜索影像所得影像窗口间的相关系数,r、s为像素在影像窗口中的行列号;g0(x0r,y0s)为参考影像上影像窗口中的点重采样后的像素亮度值,其中(x0r,y0s)表示参考影像中影像窗口内的第r行第s列像点坐标;gi1(xi1r,yi1s)、gi2(xi2r,yi2s)分别为面元P1、P2上的投影点投影到第i张搜索影像上的像点重采样后的像素亮度值,其中(xi1r,yi1s)、(xi2r,yi2s)分别为从面元P1、P2投影到第i张搜索影像所得影像窗口内第r行第s列的像点坐标; 分别为g0(x0r,y0s)、gi1(xi1r,yi1s)和gi2(xi2r,yi2s)的均值。
参数改正可依据以下公式:
h0i k=h0i k-1+dh0i k+h0i k-1dh1i k(22)
h1i k=h1i k-1+h1i k-1dh1i k
Zc k=Zc k-1+dZc k
αk=αk-1+dαk(23)
βk=βk-1+dβk
式(22)中,h0i k、h1i k表示第k次迭代求得的参数h0i、h1i的值,dh0i k、dh1i k表示第k次求得的参数h0i、h1i的改正值;
式(23)中,Zc k、αk、βk分别表示第k次迭代求得的参数Zc、α、β的值,dZc k、dαk、dβk分别表示第k次求得的参数Zc、αk、βk的改正值。
第一次执行步骤2.9时,改正h0i 1、h1i 1、Zc 1、α1、β1所用h0i 0、h1i 0、Zc 0、α0、β0即初始的h0i、h1i、Zc、α、β。
将迭代完成后的结果记录为txt文档,文档内容可提供全面的结果,包括:初始三维点坐标、改正后三维点坐标、参考影像像点坐标、搜索影像像点坐标、初始面元法向量、改正后面元法向量、初始匹配点相关系数、改正后匹配点相关系数、迭代次数、是否迭代成功等。具体实施时,可根据投影公式计算改正后的三维点坐标(Xc,Yc,Zc)。
以下通过仿真实验来验证本发明的有效性:
仿真实验采用两组航向/旁向重叠的城市区域无人机影像,并得到准确的内外方位元素,相邻影像间的重叠度均大于80%,标准影像大小为8206×6078。采用SGM密集匹配方法生成三维点云数据。
评价指标:对三维模型中建筑物棱角附近点的匹配成功率和匹配后影像窗口间相关系数两个方面进行评价。
(1)三维点的匹配成功率:统计完整的三维模型中的点云匹配成功的概率与单面元最小二乘匹配中点云匹配进行比较,比较迭代成功的概率。
比较了完整的三维模型中点云匹配成功的概率后,三维模型中的点云数据分为建筑物棱角点和非棱角点两类,分别统计匹配成功的概率,并与单面元最小二乘匹配进行比较。
(2)窗口间相关系数:影像窗口间的相关系数是评价两个影像窗口是否相关的重要评价指标,影像窗口相关系数越高,说明影像中心点是同名点的概率越高。与评价(1)相类似,通过整体和分类两方面来比较本发明与单面元最小二乘匹配法方法的匹配效果。
仿真结果:根据评价指标,仿真实验的实验数据如下表所示:
表1:实验结果统计表
从表1的实验结果可以看出,由于实验模型采取的垂直的双面元,对于垂直边缘(实验中的房顶边缘)具有很好的突出效果,同时由于本发明采取的几何约束和误差方程的建立方式与单面元最小二乘匹配相同,因此并没有损失非边缘区域的匹配精度。
综上所述,本发明具有如下的优点:
(1)采用垂直双面元代替传统的单面元最小二乘匹配构造几何模型,突出了垂直边缘。
(2)两张面元有固定的几何关系,可由一张面元的参数简单解求另一张面元的参数,没有增加计算的复杂度。
(3)采用与单面元最小二乘匹配相同的几何约束和误差方程的建立方式,在突出垂直边缘的情况下没有损失非边缘区域的匹配精度。
与传统的最小二乘匹配方法相比,本发明的方法都具有很明显的优势,既有较少的未知数个数,又有较高的匹配精度,更突出了三维模型中的垂直边缘,是一种可行的影响匹配方法。
以上内容是结合遥感影像和最佳实施方案对本发明说做的进一步详细说明,不能认定本发明的具体实施只限于这些说明。本领域的技术人员应该理解,在不脱离由所附权利要求书限定的情况下,可以在细节上进行各种修改,都应当视为属于本发明的保护范围。