实时六自由度VR/AR/MR设备定位方法技术

技术编号:18237168 阅读:93 留言:0更新日期:2018-06-17 00:24
本发明专利技术公开了一种实时六自由度VR/AR/MR设备定位方法,包括先计算六自由度定位方案,其特征在于六自由度定位方案在t时刻计算出相机的位姿Pose(t),此时画面有渲染需求就直接应用Pose(t);由于六自由度定位方案的复杂性,下一个位姿Pose(t+1)和t时刻隔的时间比较长,中间画面又有渲染需求时,将Pose(t)和IMU旋转矩阵RIMU进行一次融合,将得到的结果直接应用于渲染,以达到实时渲染的要求。本发明专利技术在传统六自由度方案的基础上加上IMU,IMU模组便宜轻便,成本不高,并且IMU的融合算法对CPU性能消耗很小,容易加入原六自由度方案。最终实现了具备实时性的六自由度定位方案。 1

Real time six degree of freedom VR/AR/MR device positioning method

The present invention discloses a real-time six degree of freedom VR/AR/MR device positioning method, including the first calculation of the six degree of freedom positioning scheme, which is characterized by the six freedom degree positioning scheme calculating the position and pose Pose (T) of the camera at t time, when the rendering requirement is directly applied to Pose (t); the next one is the complexity of the six degree of freedom positioning scheme. When the time of the position Pose (t+1) and the t time interval is longer, and when the middle picture has the rendering demand, the Pose (T) and the IMU rotation matrix RIMU is fused, and the results are directly applied to the rendering to meet the requirements of real-time rendering. The invention is based on the traditional six degree of freedom scheme with IMU, the IMU module is cheap and light, the cost is not high, and the IMU fusion algorithm consumes very little to the CPU performance, and it is easy to add the original six degree of freedom scheme. Finally, a real-time six degree of freedom localization scheme is realized. One

【技术实现步骤摘要】
实时六自由度VR/AR/MR设备定位方法
本专利技术涉及图像处理领域,具体是一种实时六自由度VR/AR/MR设备定位方法。
技术介绍
三自由度定位方案:使用IMU数据,计算出设备在三个轴向上的旋转的技术,一种最简易的方法是通过IMU中的陀螺仪数据,对时间做积分,将所得的结果应用到VR设备上。六自由度定位方案:现有的方案一般是使用摄像头,通过图像处理技术,同时得到设备在三个轴向上的旋转和三个方向上的位移。目前的VR设备只能支持三自由度的定位,VR设备显示的画面只有三个方向的旋转,用户在空间中的位移无法被反映在画面上,三自由度定位的沉浸感不足。AR/MR设备为了实现六自由度的定位,一般是借助摄像头的图像处理的方法来计算用户的位移,而图像处理由于计算量和摄像头硬件限制,计算一次姿态的时间一般远远大于16毫秒,往往不能达到使画面流畅所需要的60FPS的要求,无法实时定位。
技术实现思路
本专利技术的目的在于提出一种六自由度定位方案,能比较精确地计算出用户的姿态,同时满足至少60FPS渲染要求的计算速度。技术方案:一种实时六自由度VR/AR/MR设备定位方法,包括先计算六自由度定位方案,六自由度定位方案在t时刻计算出相机的位姿Pose(t),此时画面有渲染需求就直接应用Pose(t);由于六自由度定位方案的复杂性,下一个位姿Pose(t+1)和t时刻隔的时间比较长,中间画面又有渲染需求时,将Pose(t)和IMU旋转矩阵RIMU进行一次融合,将得到的结果直接应用于渲染,以达到实时渲染的要求;其中,Pose(t)和IMU的融合结果PoseIMU(t)T按照以下公式计算:PoseIMU(t)T=RIMU*Pose(t)T式中,RIMU为4*4的齐次矩阵,是IMU计算出的旋转矩阵。具体的,所述六自由度定位方案使用SLAM算法或PTAM算法计算。优选的,SLAM算法计算步骤为:S101:相机标定,目标在于得到相机的内参矩阵:其中,fx和fy为相机的焦距,xo,yo为主点坐标,s为坐标轴倾斜参数;S102:定位,相机标定好以后,根据相机拍到的画面,求解出相机的位姿;S103:地图重建,将相机拍到的画面转换成点云,并通过点云拼接的方法,将周围的环境以点云的形式重新表示出来;S104:回环检测,由于定位计算的结果跟真实的相机位姿有偏差,短时间内偏差较小,时间长以后会存在累积误差,计算出的姿态跟真实的位姿差别较大,通过回环检测,当相机拍摄到的画面和之前重复时,可矫正相机位姿;最后得到的相机位姿矩阵Pose(t)如下:其中,R3×3是一个属于SO3群的旋转矩阵,表示六个自由度中的三个旋转量;T3×1是一个列向量,向量的每个元素分别表示相机在三个轴向上的位移。具体的,步骤S101中所述相机标定包括:线性标定法、非线性优化标定法和两步标定法。具体的,步骤S102中求解相机的位姿的方法为光束平差法。优选的,所述IMU旋转矩阵RIMU的计算方法为RIMU=αRgyro+βRacc+γRmag其中,α+β+γ=1;Rgyro、Racc、Rmag分别为陀螺仪、加速度计、磁力计计算出的位姿矩阵。具体的,α、β、γ的数值通过EKF算法、线性的KF算法或者Mahony滤波计算。陀螺仪的校准方式为:在多次采样中取平均值;或者先在静止状态下采集陀螺仪的偏移量,上报数据时去除。加速度计在静止状态下利用重力加速度的方向剔除干扰,过程如下:A=(ax,ay,az)G=(g,0,0)Δ=A-G其中A为静止状态下加速计数据,G为重力加速度向量,Δ为加速计偏移量,At为加速计原始数据,为校准后t时刻的加速计数据。磁力计校准需要考虑是否含有附加的局部磁场环境:若无,磁力计则采用平面校准法或八字校准法进行校准;在含有附加的局部磁场环境下,通过下述方法进行校准:S201:将设备水平旋转360度;S202:找到磁力计水平方向数据的最小输出Xmin,Ymin和最大输出Xmax,Ymax;S203:第一比例系数Xs=1;S204:计算另一个比例系数YsS205:计算偏置补偿Xb=Xs[1/2(Xmax-Xmin)-Xmax]Yb=Ys[1/2(Ymax-Ymin)-Ymax]S206:得到输出Xout=Xin*Xs+XbYout=Yin*Ys+Yb其中,XoutYout为校准后的磁力计数据,XinYin为原始磁力计数据,Z轴在使用此种方法时无需校准。本专利技术的有益效果本专利技术在一般六自由度方案的基础上加上IMU,实现了具备实时性的六自由度定位方案。IMU模组便宜轻便,成本不高,容易在原六自由度的方案上进行改装,并且IMU的融合算法对CPU性能消耗很小,容易加入原六自由度方案。附图说明图1为传统六自由度定位的SLAM算法方案框图图2为传统通过IMU计算相机位姿的方案框图图3为本专利技术六自由度定位方案框图具体实施方式下面结合附图以最优实施例对本专利技术作进一步说明,但本专利技术的保护范围不限于此:结合图3,一种实时六自由度VR/AR/MR设备定位方法,先基于SLAM计算六自由度定位方案,六自由度定位方案在t时刻计算出相机的位姿Pose(t),此时画面有渲染需求就直接应用Pose(t);由于六自由度定位方案的复杂性,下一个位姿Pose(t+1)和t时刻隔的时间比较长,中间画面又有渲染需求时,将SLAM计算得到的Pose(t)和IMU旋转矩阵RIMU进行一次融合,将得到的结果直接应用于渲染,以达到实时渲染的要求;其中,Pose(t)和IMU的融合结果PoseIMU(t)T按照以下公式计算:PoseIMU(t)T=RIMU*Pose(t)T式中,RIMU为4*4的齐次矩阵,是IMU计算出的旋转矩阵。(在其它实施例中,所述六自由度定位方案可以基于PTAM算法计算)。结合图1,SLAM算法可以使用的相机方案主要有:RGBD相机、双目相机、单目相机,SLAM算法计算步骤为:S101:相机标定(可选用线性标定法、非线性优化标定法或两步标定法),目标在于得到相机的内参矩阵:其中,fx和fy为相机的焦距,xo,yo为主点坐标,s为坐标轴倾斜参数;S102:定位,相机标定好以后,根据相机拍到的画面,通过光束平差法求解出相机的位姿;S103:地图重建,将相机拍到的画面转换成点云,并通过点云拼接的方法,将周围的环境以点云的形式重新表示出来;S104:回环检测,由于定位计算的结果跟真实的相机位姿有偏差,短时间内偏差较小,时间长以后会存在累积误差,计算出的姿态跟真实的位姿差别较大,通过回环检测,当相机拍摄到的画面和之前重复时,可矫正相机位姿;最后得到的相机位姿矩阵Pose(t)如下:其中,R3×3是一个属于SO3群的旋转矩阵,表示六个自由度中的三个旋转量;T3×1是一个列向量,向量的每个元素分别表示相机在三个轴向上的位移。位姿矩阵可以直接应用于Direct3D、OpenGL、Unity等图形库和引擎的渲染。结合图2,所述IMU旋转矩阵RIMU的计算方法为RIMU=αRgyro+βRacc+γRmag其中,α+β+γ=1(α、β、γ的数值选用EKF算法、线性的KF算法或者Mahony滤波计算);Rgyro、Racc、Rmag分别为陀螺仪、加速度计、磁力计计算出的位姿矩阵。Rgyro、Racc、Rmag在实际过程中需要校本文档来自技高网...
实时六自由度VR/AR/MR设备定位方法

【技术保护点】
1.一种实时六自由度VR/AR/MR设备定位方法,它先计算六自由度定位方案,其特征在

【技术特征摘要】
2017.09.11 CN 20171081275361.一种实时六自由度VR/AR/MR设备定位方法,它先计算六自由度定位方案,其特征在于六自由度定位方案在t时刻计算出相机的位姿Pose(t),此时画面有渲染需求就直接应用Pose(t);由于六自由度定位方案的复杂性,下一个t+1时刻位姿Pose(t+1)和t时刻隔的时间比较长,当中间画面又有渲染需求时,将Pose(t)和IMU旋转矩阵RIMU进行一次融合,将得到的结果直接应用于渲染,以达到实时渲染的要求;其中,Pose(t)和IMU的融合结果PoseIMU(t)T按照以下公式计算:PoseIMU(t)T=RIMU*Pose(t)T式中,RIMU是IMU计算出的旋转矩阵。2.根据权利要求1所述的实时六自由度VR/AR/MR设备定位方法,其特征在于所述六自由度定位方案使用SLAM算法或PTAM算法计算。3.根据权利要求2所述的实时六自由度VR/AR/MRs设备定位方法,其特征在于SLAM算法计算步骤为:S101:相机标定,目标在于得到相机的内参矩阵:其中,fx和fy为相机的焦距,xo,yo为主点坐标,s为坐标轴倾斜参数;S102:定位,相机标定好以后,根据相机拍到的画面,求解出相机的位姿;S103:地图重建,将相机拍到的画面转换成点云,并通过点云拼接的方法,将周围的环境以点云的形式重新表示出来;S104:回环检测,矫正相机位姿;最后得到的相机位姿矩阵Pose(t)如下:其中,R3×3是一个属于SO3群的旋转矩阵,表示六个自由度中的三个旋转量;T3×1是一个列向量,向量的每个元素分别表示相机在三个轴向上的位移。4.根据权利要求3所述的实时六自由度VR/AR/MR设备定位方法,其特征在于步骤S101中所述相机标定包括:线性标定法、非线性优化标定法和两步标定法。5.根据权利要求3所述的实时六自由度VR/...

【专利技术属性】
技术研发人员:张洋曹俊张琦
申请(专利权)人:南京睿悦信息技术有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1