基于特征点线的单目相机位姿估计和优化方法及系统与流程

文档序号:14072648阅读:724来源:国知局

本发明属于即时定位与地图构建技术领域,特别是涉及一种基于特征点线的单目相机位姿估计和优化方法及系统。



背景技术:

视觉测量是即时定位与地图构建技术中的重要研究课题之一。近年来,视觉测量已经被充分研究并广泛应用于机器人,自主驾驶,可穿戴计算和增强现实,并且在一些例如全球定位系统无效的室内和水下环境的特别情况下尤其适用。其中单目视觉测量使用单目摄像机的视觉光度仪具有更广阔的应用前景,更便宜,更紧凑,更容易校准等的优点。单目视觉测量的最标准程序是首先提取一组图像特征并在连续帧中匹配它们,然后重建增量3d结构和最佳相机位姿,最后通过重投影误差最小化改善结构和位姿。因此,研究相机位姿估计和优化,对即时定位与地图构建成果有着重要意义。

一般来说,现有的相机位姿估计算法可以基于所使用特征的类型被分为三类:基于点的相机位姿估计,基于线的相机位姿估计,以及点线组合的相机位姿估计。

基于点的相机位姿估计依赖于三维点到二维点的对应,由于点特征可以被容易地检测到,并且在许多环境中具有良好的效率和性能,因此可利用这一特征建立三维空间中的点与二维相片中的点的对应并以此来估计相机的位姿。该方法存在的问题是当系统包含大量观测值时,这些方法就无法应用或变得十分低效,而且在低纹理场景特别是人造环境中效果很差。

基于线的相机位姿估计应用合适的方法检测线段,再进行匹配以估计相机的位姿。该方法存在的问题是精度不高,需要加入其它约束和优化以获得更精确的结果。而且方法步骤复杂计算效率也很低,耗时较长。

点线组合的相机位姿估计目前还没有得到很好的解决,相关的工作也非常有限,大部分方法为将线性约束与基于点的算法集成。这些方法的缺点是当特征稀缺时它们将是无效的。即使使用共线性和共面约束来解决极端条件,这种方法也是针对不同情况使用不同的模型,无法视点和线为等位条件,做不到真正的点线结合,而且难以扩展用于冗余观察。



技术实现要素:

本发明的目的是提供一种做到真正点线结合的、基于特征点线的单目相机位姿估计和优化方法及系统。

本发明基于特征点线的单目相机位姿估计和优化方法,包括步骤:

s1基于m个特征点和n条特征线的几何约束构建代价函数,利用代价函数求解相机位姿的旋转矩阵r和平移向量t,其中,m+n≥3;本步骤进一步包括:

s101基于几何约束分别建立各特征点矩阵形式的点约束和各特征线矩阵形式的线约束;

s102联立所有的点约束和线约束构造超定线性系统;

s103求解超定线性系统,获得t关于r的表达式;

s104根据最小二乘法构建总代价函数f(r,t):其中:fi(r,t)表示第i个点约束的子代价函数,gj(r,t)表示第j个线约束的子代价函数,pgci,1和pgci,2为第i个点约束中两个相互独立的子约束;lgci,1和lgci,2为第j个线约束中两个相互独立的子约束;

s105引入凯里参数化描述r,使f(r,t)转化为四阶多项式,得到最终的代价函数f(s);

s106令f(s)分别对各特征点和各特征线对应r的分解参数矩阵的一阶偏导为0,计算驻点;

s107应用基技术自动恢复旋转矩阵r和平移向量t;

s2对步骤s1获得的旋转矩阵r和平移向量t进行优化;本步骤进一步包括:

s201将所有的点约束和线约束表示为形式,ω=m+n,其表示条件数;ψω由观察值ηω构成,ηω为特征线两端点组成的2*2二维坐标矩阵;x包含来自r和t的所有元素;

s202对引入桑普森误差构建目标函数,以步骤s1获得的r和t为初始值,利用fns迭代器迭求解x,从而获得优化后的r和t;

s203对优化后的r进行奇异值分解以微调r;

s204根据微调后的r和步骤s103所获得的t关于r的表达式,计算优化后的t。

进一步的,所述各特征点矩阵形式的几何约束{pgci}为其中,{pgci}表示第i个三维特征点的几何约束;表示第i个三维特征点在相片平面上所对应的二维特征点的v坐标;pi表示第i个三维特征点的三维坐标;t表示从世界坐标系向相机坐标系的平移向量。

进一步的,所述各特征线矩阵形式的几何约束{lgcj}为其中,{lgcj}表示第j条三维特征线的几何约束;表示第j条三维特征线的三维方向向量的第一维元素;表示第j条三维特征线;k表示相机的内参矩阵;表示第j条三维特征线与原点构成的平面的三维法向量的第三维元素;表示第j条三维特征线与原点构成的平面的三维法向量的第二维元素;t表示对矩阵进行转置;t和r分别表示从世界坐标系向相机坐标系的平移向量和旋转矩阵。

进一步的,子步骤s105具体为:

使用凯里参数化描述旋转矩阵

根据t关于r的表达式,将t表示为的形式;

去掉r和t的表达式中的系数,将r和t的表达式代入总代价函数f(r,t)中,得到最终的代价函数f(s),记为

其中,s=1+b2+c2+d2;b,c,d均为旋转矩阵r的分解参数;u是系数矩阵;ρ=[b2,bc,bd,b,c2,cd,d2,d,1]t;h(s)为具有未知可变向量s=[b,c,d]t的二次多项式。

进一步的,步骤s202中,所述目标函数为其中,h(x)表示桑普森误差;为描述ψω不确定性的协方差矩阵。

本发明基于特征点线的单目相机位姿估计和优化系统,包括:

第一模块,用来基于m个特征点和n条特征线的几何约束构建代价函数,利用代价函数求解相机位姿的旋转矩阵r和平移向量t,其中,m+n≥3;

所述第一模块进一步包括子模块:

第一子模块,用来基于几何约束分别建立各特征点矩阵形式的点约束和各特征线矩阵形式的线约束;

第二子模块,用来联立所有的点约束和线约束构造超定线性系统;

第三子模块,用来求解超定线性系统,获得t关于r的表达式;

第四子模块,用来根据最小二乘法构建总代价函数f(r,t):

其中:fi(r,t)表示第i个点约束的子代价函数,gj(r,t)表示第j个线约束的子代价函数,pgci,1和pgci,2为第i个点约束中两个相互独立的子约束;lgci,1和lgci,2为第j个线约束中两个相互独立的子约束;

第五子模块,用来引入凯里参数化描述r,使f(r,t)转化为四阶多项式,得到最终的代价函数f(s);

第六子模块,用来令f(s)分别对各特征点和各特征线对应r的分解参数矩阵的一阶偏导为0,计算驻点;

第七子模块,用来应用基技术自动恢复旋转矩阵r和平移向量t;

第二模块,用来对第一模块获得的旋转矩阵r和平移向量t进行优化;

所述第二模块进一步包括:

第八子模块,用来将所有的点约束和线约束表示为形式,ω=m+n,其表示条件数;ψω由观察值ηω构成,ηω为特征线两端点组成的2*2二维坐标矩阵;x包含来自r和t的所有元素;

第九子模块,用来对引入桑普森误差构建目标函数,以第一模块获得的r和t为初始值,利用fns迭代器迭求解x,从而获得优化后的r和t;

第十子模块,用来对优化后的r进行奇异值分解以微调r;

第十一子模块,用来根据微调后的r和第三子模块所获得的t关于r的表达式,计算优化后的t。

本发明具有如下优点和有益效果:

本发明通过鲁棒的几何约束和可靠的代数求解器,直接检索在不进行初始化或迭代的情况下通过一阶最优性条件最小化的代价函数的所有固定点,得到可靠的相机位姿初始值。并且为了改进相机位姿,本发明提出了一种新的优化策略,通过考虑每个特征的特定不确定性来最小化无约束sampson误差,以更合理地减小噪声影响。此外,本发明还通过避免高维参数搜索,使过程比传统的光束平差法更简单。本发明提的第一模型可以等效地处理点和线要素,这适用于所有需要最小数量为3的点和线要素的所有最小情况,并且具有可以容易地扩展到具有更多冗余观测值的各种情况的优点。

本发明方法对单目相片获取设备无限制,适用于车载单目相机、机载单目相机和手持式单目相机的相片;对相片场景也无限制,适用于道路场景、航空场景和室内场景的相片。

附图说明

图1为本发明方法的具体流程示意图;

图2为本发明几何约束的原理示意图。

具体实施方式

下面将结合附图和具体实施方式,进一步说明本发明技术方案。

见图1,本发明基于特征点和特征线的单目相机位姿估计和优化方法,具体步骤如下:

步骤1,建立特征点和特征线的几何约束,并依此构建代价函数,利用代价函数求解相机位姿初始的旋转矩阵和平移向量。

本步骤包括以下子步骤:

步骤101,建立特征点和特征线矩阵形式的几何约束,即点约束和线约束。

由相片与空间之间的三点共线及相交线共面的几何约束,可构造出所需的点约束和线约束。本发明所采用几何约束的原理见图2,图中描述了等价使用特征点和特征线进行相机位姿估计的基本模型,w和c分别代表世界坐标系和当前相机的相机坐标系,m个三维特征点其在相片平面上所对应的二维特征点记为为描述方便,本发明使用归一化坐标描述二维特征点,其中,表示特征点的二维坐标。同时,n条三维特征线其在相片平面上所对应的二维特征线记为图2中πj表示三维特征线lj与摄影中心o所构成的平面。为使描述形式更加简洁,线段的表示方法使用齐次坐标。与点特征不同,本发明使用的三维-二维匹配特征线不要求端点一致,即不要求sj、与摄影中心o或ej、与摄影中心o三点共线,其中,sj和ej表示三维特征线lj的端点,为二维特征线的端点。

所述点约束和线约束的几何采用矩阵形式表示,如下:

对第i个空间点,即第i个三维特征点,构建点约束{pgci}:其中,pi表示第i个空间点的三维坐标,表示第i个空间点对应的二维点的v坐标。

对第j个线约束{lgcj}:其中,表示第j条三维特征线的三维方向向量的第一维元素,表示第j条三维特征线,k表示已知相机的3×3内参矩阵,表示第j条三维特征线与相机坐标系的原点构成的平面的三维法向量的第三维元素,表示第j条三维特征线与相机坐标系的原点构成的平面的三维法向量的第二维元素,t表示对矩阵进行转置。

本发明中,t和r分别表示从世界坐标系向相机坐标系的平移向量和旋转矩阵。

内参矩阵k如下:

内参矩阵k包含5个内部参数,所述内部参数包括焦距、图像传感器尺寸和主点。其中,内部参数αx=f·mx,αy=f·my,αx和αy表示以像素衡量的焦距,mx和my分别表示像素大小到实际距离的尺度因子,f是以距离衡量的实际焦距。γ表示影像平面的x坐标和y坐标之间的偏度系数,通常为0;u0和v0表示影像平面的像主点的坐标。

步骤102,根据特征点和特征线的几何约束构造超定线性系统,即联立步骤101中所有的点约束和线约束构造统一的方程组。

步骤103,根据超定线性系统的解法求解平移向量t关于旋转矩阵r的表达式,将问题转化为求解旋转矩阵r的问题。

超定线性系统的解法如下:

对超定方程at=b,其中,a是系数矩阵,b是常数项。可按照如下公式解得t:

t=(ata)-1atb(2)

将步骤102中超定线性系统带入此公式(2),即可得t关于r的表达式,即可将同时求t和r问题转化为只求r的问题。

步骤104,根据点约束和线约束定义子代价函数,并根据最小二乘法构建总代价函数。

将点约束{pgci}分开记为pgci,1和pgci,2,分别代表点约束{pgci}的两个相互独立的子约束。同理,线约束{lgcj}可以记为lgci,1和lgci,2,分别代表线约束{lgcj}的两个相互独立的子约束。

点约束和线约束均包括三个子约束,该三个子约束中,有两个相互独立的子约束,另一子约束则是根据该两个相互独立的子约束获得。pgci,1和pgci,2、以及lgci,1和lgci,2则为三个子约束中的两个相互独立的子约束。

则可以分别构建点约束和线约束的子代价函数,如下:

所述第i个特征点的点约束子代价函数fi(r,t)为:

所述第j条特征线的线约束子代价函数gj(r,t)为:

根据最小二乘法,得到总代价函数f(r,t):

式(5)中:表示将左侧等式f(r,t)定义为右侧等式,并求解使得f(r,t)取得最小值时候的t和r;m为点约束数量,n为线约束数量,m+n≥3。

步骤105,使用已有的凯里参数化方法描述旋转矩阵r,使总代价函数f(r,t)转化为四阶多项式,并去除恒正系数,得到最终的代价函数。

使用凯里参数化,将r写为:

式(6)中,s=1+b2+c2+d2;b,c,d均为旋转矩阵r的分解参数。

照此方法处理则步骤103中t的表达式,可以改写为的形式,其中,u是将线性方程组t=(ata)-1atb矩阵化表示后的3×10系数矩阵,其维度不受点特征和线特征数目的影响,始终保持为3×10,ρ=[b2,bc,bd,b,c2,cd,d2,d,1]t

将上述r和t的表达式带入公式(5)的总代价函数f(r,t)中,并由于s=1+b2+c2+d2恒正,则r和t的表达式中的系数都可以去掉,于是得到最终的代价函数f(s):

式(7)中,h(s)是具有未知可变向量s=[b,c,d]t的二次多项式。

步骤106,在一阶最优条件下对步骤105得到的四阶多项式(即代价函数f(s))进行最小化,即令其一阶偏导数等于零,见公式(8),获得所有驻点,驻点即候选的极小值点。

式(8)中:

sk代表第k个点特征或线特征对应的旋转矩阵分解参数;

ξk(s)表示f(s)对sk求偏导所得的三次多项式。

ξk(s)等于零时未知数b,c,d的取值即驻点。

由ξk(s)构成的多项式系统可以写为vθ=0,其中,v是由ξk(s)组成的线性方程组矩阵化表示的3×20系数矩阵,其维度不受点特征和线特征数目的影响,始终保持为3×20,θ=[b3,b2c,...,b,c3,c2d,...,c,d3,d2,d,1]t,是由r的分解参数构成的向量。

步骤107,应用基技术,自动恢复初始的旋转矩阵r和平移向量t。

经过以上步骤101~106,相机位姿估计问题已经被转化为了求解多变量多项式系统的问题,其解决方案可以使用基技术来解决,即以矩阵分解的方法求解多项式中的未知数。由于每个ξk(s)的度为3,所以系统可能解的最大数量为27(实验结果表明,当特征数大于7时,基的求解器在一般情况下将返回唯一的解)。为了得到s的最终结果,应从所有驻点中挑选出hessian矩阵为正定的部分作为候选值,然后通过最小重投影残差在多个候选中选择最优。之后,可以通过步骤105中的t的表达式自动计算所求解t。

步骤2,对步骤1中得到的相机位姿初始旋转矩阵r和平移向量t进行优化,以获得更加精确的相机位姿。

本步骤包括以下子步骤:

步骤201,将点约束和线约束重写为新的统一形式:

当给定ω=m+n组点特征和线特征时,可以将{pgci}和{lgcj}重写为统一的形式:

其中:

ψω由观察值ηω组成;ηω是一个由特征线两个端点组成的一个2*2的二维坐标矩阵,对于检测到的每个特征点和每条特性线的两端点,真实数值被定义为无噪声状态条件下的理想值,其对应的观察值η=[ηuv]t可视为特征提取算法所提取的平面坐标加上零均值高斯噪声δη的扰动之后的值,δη具有已知的2×2协方差矩阵cη,下标ω为已知对应条件数。

x是包含来自r和t的整个元素的未知12维向量,即x=[r1,r2,...,r9,t1,t2,t3]t,其中r1,r2,...,r9表示旋转矩阵的9个元素,t1,t2,t3表示平移向量的三个元素。

由上同时也有:

式(10)中:

η=ηω代表当变量η取值为ηω时偏导数的值;

为描述坐标观测值ψω不确定性的协方差矩阵;

在近似满足高斯分布下,视为通过误差传播定律传递到ψ空间下的协方差矩阵。

步骤202,通过引入桑普森误差建立适合在fns迭代方法之下能够迅速收敛的目标函数,并通过fns迭代器得到结果。

当ψω近似为高斯分布时,最小化ψ空间中马氏距离的公式如下:

式(11)中,ω=m+n表示点特征和线特征数目的总和,为ψω的真值。

使用拉格朗日乘数消除上方程中额外的约束,问题可以简化为最小化如下的无约束方程的问题:

式(12)中:

h(x)则是在公式(11)中引入的sampson误差的形式,它可以通过对x求导来进行最小化:

式(13)中,m和l都是取决于x的12×12矩阵。

上式中使用了基本数值方案(fns)的迭代方法来求解x,对于具有较小的m-l特征值的特征向量是每次迭代的x的新解,并且m和l应该被最新的x更新直到收敛。

虽然该方法在理论上不需要具体的初始值,但是为了使迭代更快地收敛,可用统一模型的输出来初始化它。

步骤203,对迭代后的结果进行奇异值分解来微调所得的经过优化的旋转矩阵r。

由于该方法不考虑r的正交或决定性约束,因此需要在迭代后进行后验校正,通过奇异值分解(svd)微调所得解r

步骤204,旋转矩阵r带入步骤1中得到的t关于r的表达式式中,得到经过优化的平移向量t。

具体实施时,本发明方法可基于软件技术实现自动运行流程,也可采用模块化方式实现相应系统。因此,本发明相应提供的一种基于特征点线的单目相机位姿估计和优化系统,包括以下模块:

第一模块,用来基于m个特征点和n条特征线的几何约束构建代价函数,利用代价函数求解相机位姿的旋转矩阵r和平移向量t,其中,m+n≥3;

所述第一模块进一步包括子模块:

第一子模块,用来基于几何约束分别建立各特征点矩阵形式的点约束和各特征线矩阵形式的线约束;

第二子模块,用来联立所有的点约束和线约束构造超定线性系统;

第三子模块,用来求解超定线性系统,获得t关于r的表达式;

第四子模块,用来根据最小二乘法构建总代价函数f(r,t):

其中:fi(r,t)表示第i个点约束的子代价函数,gj(r,t)表示第j个线约束的子代价函数,pgci,1和pgci,2为第i个点约束中两个相互独立的子约束;lgci,1和lgci,2为第j个线约束中两个相互独立的子约束;

第五子模块,用来引入凯里参数化描述r,使f(r,t)转化为四阶多项式,得到最终的代价函数f(s);

第六子模块,用来令f(s)分别对各特征点和各特征线对应r的分解参数矩阵的一阶偏导为0,计算驻点;

第七子模块,用来应用基技术自动恢复旋转矩阵r和平移向量t;

第二模块,用来对第一模块获得的旋转矩阵r和平移向量t进行优化;

所述第二模块进一步包括:

第八子模块,用来将所有的点约束和线约束表示为形式,ω=m+n,其表示条件数;ψω由观察值ηω构成,ηω为特征线两端点组成的2*2二维坐标矩阵;x包含来自r和t的所有元素;

第九子模块,用来对引入桑普森误差构建目标函数,以步骤s1获得的r和t为初始值,利用fns迭代器迭求解x,从而获得优化后的r和t;

第十子模块,用来对优化后的r进行奇异值分解以微调r;

第十一子模块,用来根据微调后的r和第三子模块所获得的t关于r的表达式,计算优化后的t。

需要强调的是,本发明所述的实施例是说明性的,而不是限定性的。因此本发明包括并不限于具体实施方式中所述的实施例,凡是由本领域技术人员根据本发明的技术方案得出的其他实施方式,同样属于本发明保护的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1