掌桥专利:专业的专利平台
掌桥专利
首页

一种AR室内结构化场景单目视觉定位方法

文献发布时间:2023-06-19 11:32:36


一种AR室内结构化场景单目视觉定位方法

技术领域

本发明属于工业智能相机领域,涉及一种AR室内结构化场景单目视觉定位方法。

背景技术

AR(增强现实)系统的核心是空间定位技术。目前主流的AR定位包括激光定位、红外定位以及可见光定位方式。激光定位技术需要预先在场景中布置多个激光发射器,通过被定为物体的信号接收、角度差完成定位功能,定位精度高、速度快、响应频率快,但由于其造价高、配套产品多,不适合推广大范围使用;红外定位技术在被定位设备上安装红外光源,需要在场景中安放多个红外光捕捉传感器,通过设备接收的反射光进行位姿解算,该方案避免了激光定位成本高的缺点,但仍旧需要多个模块配套运行,且安装过程繁琐。

目前采用视觉定位技术是主流的AR定位方案,由于其具有空间定位精度高、造价低、易于布置的特点,得到了大力的推广和应用。其主要定位原理如图1所示:

(1)首先使用单目相机进行场景感知;

(2)对场景图像信息进行特征提取;

(3)将特征信息通过光学几何算法中进行位姿解算;

(4)将空间位姿信息传输给AR设备。

目前市面上的AR设备可见光定位方式中,在图1步骤2中的策略是从图片中提取特征点,在步骤4中的策略是基于关键帧的优化方法进行位姿解算。但是这种“特征点+关键帧优化”的策略存在以下缺点:

(1)在室内环境下,大多数为重复纹理和弱纹理(如单一颜色的墙壁,天花板,反光的瓷砖和地板等),此时基于特征点的提取方法效果差,容易发生点特征丢失;如果总是使用线特征解算也会导致解算过程运算量大,导致运算速度消耗,降低AR设备的定位频率;

(2)基于关键帧优化的位姿优化虽然精度很高,但是资源开销大,并且在出现场景特征丢失或者AR设备剧烈运动情况下导致导致无法完成位姿解算,定位过程中断。

发明内容

本发明的目的在于提供一种AR室内结构化场景单目视觉定位方法,以解决现有技术中位姿优化解算方法具有不足,并且仅仅依据场景中的点特征进行解算定位,容易出现场景特征丢失,导致无法完成解算,而通过线特征进行解算又存在计算速度低从而导致AR设备定位实时性低的技术问题。

所述的一种AR室内结构化场景单目视觉定位方法,包括下列步骤:

步骤一、单目相机进行拍摄获取图像数据;

步骤二、通过两个并行线程相独立地进行点特征和线特征的提取和描述;

步骤三、根据获得的点特征的识别点数量判断是否采用线特征进行解算定位,如果识别点数量少于阈值执行步骤五,否则执行步骤四;

步骤四、在点特征线程中利用EKF对图像点特征进行位姿解算解算获得位姿输出,实现空间定位,若存在状态丢失,识别点数量不少于阈值,EKF依据之前的状态向量进行预测完成状态估计,获得位姿输出;

步骤五、在线特征线程中利用EKF对图像线特征进行位姿解算,并由EKF中状态均方误差阵的估计得到相应的状态的协方差,根据协方差评估各位姿输出的精度,将精度较高的位姿输出作为输出结果实现空间定位。

优选的,EKF解算过程中:针对AR观测系统建立状态方程解算系统状态,不考虑通常不改变的环境特征,仅考虑相机的运动变量建立状态方程;建立量测方程以描述空间中的三维场景被AR设备的相机拍摄到转化成为像素的过程,具体来说是三维场景中的点线结构在图片上的像素位置;EKF解算时依次经过状态一步预测、状态均方误差阵的一步预测、滤波增益系数计算、加入量测信息的状态估计和状态均方误差阵的估计,状态一步预测利用状态方程求解,加入量测信息的状态估计中利用量测方程计算量测信息。

优选的,建立状态方程的方法如下:

1)相机的运动状态向量定义为:

其中:

2)结构特征的状态向量定义为:

其中:

根据相机的运动变量建立状态方程:

其中:X为相机运动状态和三维环境中结构特征结合得到的状态变量,结构特征包括点特征和/或线特征,

优选的,所述状态方程中的w,a的状态通过外接扩展的IMU模块测量得到或是基于固定运动模型假设得到,当采用外接扩展的IMU模块时,需要对量测方程进行增广。

优选的,EKF解算过程建立量测方程以描述空间中的三维场景被AR设备的相机拍摄到转化成为像素的过程,具体来说是三维场景中的点线结构在图片上的像素位置;量测方程包含了两部分:1)三维世界坐标系到相机坐标系的转换——To Camera:

P

其中:P

2)相机投影模型——Projection:

其中:L

结合以上两个步骤,可以将量测方程表示为:

Z=h(x)

优选的,EKF的滤波算法主要分为五个部分,所用算式依次为:

状态一步预测:

状态均方误差阵的一步预测:

滤波增益系数计算:

加入量测信息的状态估计:

状态均方误差阵的估计:

P

其中

优选的,本方法在线特征的特征提取环节中,使用的是LSD方法,选取直线上的任意两个点采用普吕克直线坐标进行描述,建立普吕克坐标与平面上直线的投影方程,提取反向投影得到线特征。

本发明的技术效果:本方案通过两个独立线程同时进行点特征和线特征的提取,保证二者同时或在相近时间内被提取出来,在没有特征丢失场景本方法通过EKF仅对点特征解算,从而实现位姿输出和定位。由于本方案采用EKF进行解算,即使图像在提取特征时出现部分点特征丢失,只要识别点数量不小于解算所需阈值,本方法仍能仅对点特征进行解算就获得可靠性满足要求的位姿输出结果,实现定位,运算量小,不影响AR设备的定位频率。

而当识别点数量小于阈值会影响定位可靠性的情况下,本方法能及时启用另一线程已提取的线特征,并分别对点特征和线特征进行EKF解算,从而获取两个位姿输出结果,EKF在产生位姿输出的同时还能给出状态的协方差,有助于评估当前定位的精度情况,因此本方法在启用线特征后能根据精度选择更好的位姿输出进行定位。

在特征丢失的情况下,本方案可以依靠此时的状态向量的均值和协方差,根据AR场景中的结构化线特征,仅依靠状态一步预测完成状态估计,且不需要额外的优化框架。因此具有鲁棒性高,运算量低,存储量大的优点。扩展卡尔曼滤波可方便的进行多传感器拓展,当AR设备加入IMU,电磁传感器等传感器时,仅需要对量测方程进行增广即可,可拓展性强,适用范围广。+

附图说明

图1为现有技术中AR室内结构化场景的定位方法的示意图。

图2为本发明一种AR室内结构化场景单目视觉定位方法的示意图。

图3为本发明一种AR室内结构化场景单目视觉定位方法的框架流程图。

图4为本发明中提取结构特征部分的框架流程图。

图5为本发明中EKF进行解算的框架流程图。

图6为表示笛卡尔坐标系下提取点特征的的几何关系的示意图。

图7为表示普吕克坐标提取线特征的几何关系的示意图。

图8为基于点线特征的相机模型中表示投影关系的示意图。

具体实施方式

下面对照附图,通过对实施例的描述,对本发明具体实施方式作进一步详细的说明,以帮助本领域的技术人员对本发明的发明构思、技术方案有更完整、准确和深入的理解。

如图2-8所示,本发明提供了一种AR室内结构化场景单目视觉定位方法,该方法包括如下步骤。

步骤一、单目相机进行拍摄获取图像数据。

步骤二、通过两个并行线程相独立地进行点特征和线特征的提取和描述。

(1)基于点线特征的结构化场景特征提取。

①首先提取点特征。

本专利使用ORB(oriented Fast and Rotated BRIEF)特征点提取方法。ORB特征是当今视觉特征算法中最为常用的一种。它改进了FAST检测子不具有方向性的问题,并采用速度极快的二进制描述子BRIEF,可以使得提取与匹配的过程大大加速。适合AR设备的快速定位的需求。

点特征的提取分为两部分:

1.FAST关键点的提取。

1.在图像中选取像素p,假设它的亮度为I

2.设置一个中心阈值T(通常为I

3.以像素p为原点,半径为3像素,选取周围的16个像素点。

4.如果16个像素点上有3/4的点亮度大于I

5.重复1,直到遍历完所有图片中的像素。

2.BRIFE描述子计算。

1.选取FAST关键点周围的一块像素区域。

2.随机在像素区域中挑选出两个像素。

3.比较像素值的大小,大则在向量中记录为1,否则记为0。

4.重复2,直至向量长度达到128。

5.重复1,遍历图片中所有的FAST关键点。

②然后建立特征点的投影模型。

主要包括点的笛卡尔坐标系和点特征的投影模型。

1.坐标系描述。

点特征在笛卡尔坐标系下的描述方法使用(u,v)来表示像素位置,选取图片的左下角作为坐标系的原点,水平方向为u轴,垂直方向为v轴,那么图片中任意一个点就可以表示。如图6所示:

2.点的特征投影模型。

点特征的正向投影模型表述为:

其中

其中Z

③其次提取线特征。

传统的线段提取的方法有:canny边缘算子提取图片边缘再结合霍夫变换提取直线等方法,但是这种方法匹配精度较差,并且运算速度慢,导致在AR设备所要求的实时精确定位系统使用时,往往不能满足要求。

在本方案的直线提取环节中,使用的是LSD方法,它是一种速度快,精度高的算法,能够在线性时间内得到亚像素级别的精度检测结果。

线特征提取的核心思想是一种“区域生长”的方法,即将梯度相似的像素点进行合并,进而生成更大的连通区域。具体细节为:首先对图像进行预处理,包括图片降采样与滤波;然后计算图片中像素的梯度方向与幅值,将梯度近似的像素进行合并;对该区域生成一个最小外接矩形;如果该区域内的像素方向一致率较高大于某一预先设定的阈值,就可以将该区域生成一条线特征。

线特征的提取包括直线的描述方法和线特征的投影方程。

1.线特征的描述。

在本方案中直线的描述采用普吕克直线坐标,具体细节表述如下:

选取直线上的任意两个点,将他们的齐次坐标写做

A=[x

可以定义普吕克矩阵为:

L

这是一个维度为4×4的反对称矩阵,对角线上的元素为零,该矩阵具有两个约束:

L=(-L)

det(L)=0,

所以可以将普吕克矩阵写作

再将普吕克矩阵中的非零元素提取出来,得到一种更加紧凑的向量表达形式,称之为普吕克直线坐标:

其中:

N的表示原点O与直线L所构成平面的法线,n=A

V表示直线L的方向,v=A

几何关系如下图7所示:

2.线特征的投影方程。

普吕克坐标与平面上直线的正向投影:

在摄像机映射P的作用下,空间中的三维普吕克矩阵坐标L被映射成为平面上的一条直线I,具体的映射关系为:

[I]

普吕克直线坐标与平面上直线的正向投影:

在摄像机映射P的作用下,普吕克直线坐标与平面上的直线I的关系为:

I=KP

其中,

普吕克直线坐标与平面上直线的反向投影:

其中,

(2)基于卡尔曼滤波的位姿估计。

扩展卡尔曼滤波(EKF)算法是标准卡尔曼滤波(KF)在处理非线性系统情况下的扩展;其本质思想是:在系统的状态方程与量测方程均为非线性方程时,先利用泰勒级数展开,再略去高阶项使其能够近似为线性系统,最后可以用“预测+更新”的标准卡尔曼滤波手段,来对状态量进行估计。

扩展卡尔曼滤波主要包括了状态方程以及量测方程的建立、滤波算法的建立这两部分。

①首先建立状态方程以及量测方程。

状态方程描述的是:在离散时间情况下,系统状态所满足的随着时间变化的函数关系。因为在AR观测系统中,相机的模型,镜头的畸变都是非线性环节,所以该函数关系在此处为非线性函数。因为卡尔曼滤波的基本观点是用随机过程的观点来看问题,所以每一个变量都要被建模成符合高斯模型的形式。

(1)首先建立状态方程。

在AR系统中想要实时获得当前所处的位姿,并且定位还需要外界的结构特征信息。所以状态变量包括:相机运动状态和三维环境中结构特征的坐标。

1)相机的运动状态向量定义为:

其中:

2)结构特征的状态向量定义为:

其中:

因为在AR的使用场景中环境特征是不改变的(房子的结构稳定,屋内的墙壁地板,家具不发生移动),因此状态方程仅考虑变化的部分,即相机的运动变量,可以写做:

其中:

w,a的状态可以由外接扩展的IMU模块测量得到;或是基于固定运动模型假设得到。

Γ

W

(2)然后建立量测方程。

量测方程描述的是:空间中的三维场景被AR设备的相机拍摄到转化成为像素的过程,具体来说是三维场景中的点线结构在图片上的像素位置。

投影方程包含了两部分:1)三维世界坐标系到相机坐标系的转换;2)相机投影模型。

1)世界坐标系到相机坐标系的转换——To Camera:

P

其中:P

2)相机投影模型——Projection:

其中:L

结合以上两个步骤,可以将量测方程表示为:

Z=h(x),

②然后建立滤波算法。

滤波算法主要分为五个部分:

状态一步预测:

状态均方误差阵的一步预测:

滤波增益系数计算:

加入量测信息的状态估计:

状态均方误差阵的估计:

P

其中

上面结合附图对本发明进行了示例性描述,显然本发明具体实现并不受上述方式的限制,只要采用了本发明的发明构思和技术方案进行的各种非实质性的改进,或未经改进将本发明构思和技术方案直接应用于其它场合的,均在本发明保护范围之内。

相关技术
  • 一种AR室内结构化场景单目视觉定位方法
  • 一种基于室内定位的AR场景渲染方法
技术分类

06120112964217