APP下载

基于传感器和视觉SLAM的双目相机虚拟注册研究

2021-08-27吴广运周治平

传感技术学报 2021年5期
关键词:位姿对象精度

吴广运周治平

(江南大学物联网学院,江苏 无锡 214122)

增强现实(Augmented Reality,AR)是一种将虚拟世界和现实世界联系在一起的技术,它通过对用户观察到的真实场景进行分析处理,将虚拟对象嵌入到真实场景中,实现虚拟信息与真实场景无缝融合效果[1]。现今,关于视觉SLAM的研究十分火热,附带相关传感器的硬件设备诞生既带动了SLAM的进展,又给增强现实应用带来了发展新机遇[2]。一些AR应用让用户通过设备观看虚拟信息叠加在真实场景中,辅助用户对现实世界的认知,给用户带来了诸多便捷,在自动驾驶、虚拟装配、虚拟装饰和三维重建等热门领域兴起一股研究浪潮。

目前,注册方法分为两类,一类基于人工标记,另一类基于自然特征(无标记)[3]。在早期,带有标记的AR系统[4]非常流行,它们快速且稳定,比如ARtoolkit和ARtag,但它们需要真实场景中存在明显标记并且在复杂环境下会出现跟踪丢失现象,具有一定局限性。近些年,基于自然特征的注册方法在AR领域得到了广泛的应用,无标记注册算法通过对真实场景中的自然特征信息进行检测、匹配和跟踪,确定相机的位姿变化状态,实现虚拟注册,在复杂环境中也有很好的效果。Polvi[5]等利用3D射线投射和极线几何进行虚拟对象定位实现了无标记注册,但计算量大还需要人为调整参数,缺乏鲁棒性。ORB-SLAM[6]算法可以通过恢复未知场景时的运动轨迹估计相机位姿变化,并具有较高的稳定性,因此,一些研究者们开始结合SLAM算法实现AR跟踪注册。Liu等人[7]使用ORB-SLAM产生的三维地图信息来确定相机位姿,最终完成跟踪注册,但该方法需要进行离线操作处理完成初始化,所需时间较长,实时性不好。Gao等人[8]成功将视觉SLAM算法融合到增强现实注册系统中,完成虚拟对象注册,获得不错的效果。但该系统在跟踪注册过程中一旦相机移动过快会出现虚拟对象错位和目标丢失等问题,缺乏鲁棒性。

综上所述,基于标记的AR注册方法应用场景局限较大,结合SLAM的注册方法实时性较差,在特征点较少时缺乏鲁棒性。双目立体视觉技术的计算复杂度更小,适用于信息采集,具有巨大的发展空间[9]。因此,本文提出一种在视觉SLAM的基础上加入IMU模块改进的双目相机增强现实注册方法,并采用EuRoC数据集[10]进行验证。首先,采用双目相机采集信息跟踪目标,结合IMU预积分模块进行特征匹配以提高匹配效率。接着,引入IMU误差项联合求解相机位姿,增加优化参数以提高精度。最后,根据相机位姿变换信息得到虚拟对象坐标、相机坐标以及真实世界坐标变换关系,将虚拟对象准确地注册到真实世界。

1 结合视觉SLAM的增强现实注册方法

Gao等人[8]在视觉SLAM的基础上使用ORB特征匹配信息求解相机位姿,完成虚拟对象注册,成功地将视觉SLAM算法融合到增强现实注册系统中,取得不错的效果。该方法使用ORB特征匹配关系求解相邻图像帧重投影误差来确定相机位姿,利用误差值构造代价函数,通过最小化代价函数得到位姿参数。假设特征点X i在下一帧图像上的真实坐标为X j,由和计算得到的重投影坐标为,则该特征点的重投影误差为:

最后,将所有特征点重投影误差的和最小化,得到优化方程为:

式中:m在有对应匹配特征点时为1,没有则为0。接着,由位姿参数构成变换矩阵T4×4来完成世界坐标系到相机坐标系再到屏幕坐标系的转换,实现虚拟对象的注册。虚拟对象坐标为(X,Y,Z),虚拟对象屏幕坐标为(u,v),且平移量分别为px和py,对应方向焦距为fx和fy,则虚拟对象注册满足公式:

然而,该方法在进行ORB特征点匹配时采用特征点全局匹配,搜索范围大,耗时较长;并且在出现相机移动过快、视角大幅变换等现象时,相邻两帧图像匹配的特征点骤减,相机位姿估计精度大幅下降,注册精度随之降低,出现漂移现象。

2 本文改进注册方法

本文所提的增强现实的注册系统框架如图1所示,主要由跟踪和注册两个模块构成。其中跟踪模块是利用IMU数据加速ORB特征点匹配,计算相机位姿时加入IMU误差项联合求解实现跟踪。注册模块主要工作是在相机位姿信息确定后,根据相机位姿信息计算出旋转矩阵与平移矩阵,通过OpenGL把虚拟对象渲染并注册到相应位置。

图1 系统框架

2.1 特征点匹配

对于增强现实注册算法,时效性一定要得到保证,IMU预积分模在短时间内能提供比较精确的位姿估计[11],因此本文提出结合IMU数据改进的ORB特征点匹配方法。在本文中相机的参考坐标被设置为C,世界坐标系则为W,IMU的参考坐标设置为B和分别是相机采集第i帧时IMU相对世界坐标系的旋转关系、速度关系和平移关系。w B为角速度,a B为加速度,b a为加速度偏差参数,b g为角速度偏差参数,g w为重力参数。本文参考了文献[12]提出了预积分模型:

式中:Exp(∙)是李代数[13]到李群的指数映射,Δt是相邻两帧图像时间间隔。式(4)描述了两组IMU数据之间的关系,可以计算出第j帧的相机位姿情况。

通过IMU预积分,可以得到相邻两帧相机位姿变化关系。假设特征点X在前一帧的坐标为X1(x1,y1,z1),根据R和T可以计算该特征点在下一帧的坐标X2(x2,y2,z2)为:

因此,在进行ORB特征点匹配时,通过IMU预积分模块计算出相机在两帧图像之间的位姿变化,得出前一帧图像中的特征点X1在后一帧图像中大概位置X2,将ORB特征点全局搜索匹配转化为以X2为中心的局部区域搜索匹配,缩小搜索范围,提高了匹配速率。特征匹配完成后,所得到的初始匹配对中会存在错误匹配对,本文使用随机采样一致性算法[14](random sample consensus,RANSAC)剔除错误匹配的特征点,直至匹配精度达到设定阈值(本文设阈值为0.96)。

2.2 相机位姿更新

相机在移动时会存在运动过快、视角大幅变换现象,相邻两帧图像匹配的特征点骤减,此时仅使用ORB特征匹配求解相机位姿,位姿精度会大幅下降,注册精度也随之降低。然而IMU数据在短时间内能提供精确的相机位姿估计,可以解决传统视觉SLAM存在匹配特征点过少问题。因此,本文采用IMU数据和图像信息联合求解相机位姿。IMU误差计算公式为:

式中:ΔR ij、ΔV ij和ΔT ij分别为IMU模块的旋转信息、速度信息和平移信息,和可由式(4)计算得到。雅可比J g(∙)和J a(∙)分别为陀螺仪偏差和加速度偏差的一阶近似。则相机位姿优化方程为:

在相机位姿更新计算中,视觉误差和IMU误差均存在,为了尽可能减小两种误差对位姿结果的影响,本文将误差作为权重因子加入优化方程,给予较小误差项以较大的权重来提高计算效率和精度。则新的相机位姿优化方程为:

θ=是本文优化的参数,在传统视觉SLAM优化的基础上增加了陀螺仪偏差参数,IMU的速度参数和加速度偏差参数等新的优化参数,可以进一步提高求解的相机位姿精度。Eslam(i,j)是当前图像帧所有特征点的重投影误差和,Eimu(i,j)是相邻两帧图像的IMU误差项。最后,根据和式(3)求得转换矩阵T4×4,完成虚拟对象的注册。

3 实验与分析

实验验证是基于Windows系统和Python实现的。硬件配置为Intel(R)Core(TM)i5-9300H CPU@2.4 GHz,内存为8G。本文对相邻两帧图像进行特征点匹配,得到了两种算法的最终匹配结果和RANSAC后结果,见图2。

图2 各算法的匹配结果

表1展示了不同RANSAC迭代次数下特征点匹配结果,从中可以看到,随着RANSAC的迭代次数增加,错误匹配数目逐步减少,检测精度会随之提高。可见,本文所提的结合IMU的ORB匹配算法,检测时间和满足精度要求时所需RANSAC迭代次数均比ORB算法小,即保证了准确率又大幅提高了匹配速率,具有一定改进意义。

表1 算法匹配效率和时间对比

本文通过EuRoC数据集,对比了视觉SLAM和本文改进后算法的精度。图3展示了文献[8]和本文所提算法估计的轨迹图以及真实轨迹图。对比两个算法结果可知,本文所提算法在精度方面和文献[8]相比有了一定提高。图4为各算法局部真实轨迹比较情况。图5为本文算法在前20帧图像的相邻帧间误差统计结果,分别为IMU误差统计结果和视觉误差统计结果。其中,绝对轨迹误差的均方根误差(RMSE)、均值(mean)、中值(median)、标准差(std)、最小值(min)、最大值(max)等具体参数如表2所示。

图3 算法的运行轨迹及真实轨迹

表2 算法的绝对轨迹误差对比 单位:m

所提的改进注册算法是基于视觉SLAM实现的,由表2可知,所提算法在精度相关参数上有着明显的优势,其中RMSE只有传统视觉SLAM的1/3。由图4结果可知,在相机视角变化过大时,仅图像特征信息匹配确定相机位姿偏移较严重,在加入IMU数据后,相机位姿的精度得到大幅度改善。由图5可知,视觉误差受相邻帧图像匹配情况影响,在图像模糊、运动过快和特征缺失等情况下会明显增加;而IMU数据能在短时间内提供精确的位姿估计,但其缺乏反馈机制,存在误差累积现象,误差会越来越大。因此,本文采用图像视觉信息和IMU数据信息联合确定相机位姿,在增强现实注册算法前端进行特征点匹配时,通过IMU预积分模块减小匹配特征点的搜索空间,加速匹配过程,提高了算法时间效率;接着采用RANSAC对匹配结果进行迭代,提高匹配精度。在算法后端确定相机位姿时,加入IMU数据联合求解相机位姿,并将误差项作为权重因子加入求解方程,提高了算法精度。

图4 算法的局部轨迹比较

图5 测量误差统计

此外,结合SLAM的注册系统大多采用文献[7-8]中的算法。通过EuRoC数据集评估各个文献算法的精度。评估标准为RMSE值,实验结果如表3所示,“×”表示跟踪失败。

表3 系统精度对比 单位:m

实验结果表明文献[4]采用的有标记的注册算法容易出现跟踪丢失现象,应用场景受限;文献[5]的方法在精度方面表现一般。文献[7-8]都是基于自然特征的注册算法,在大多数数据集中都可以取得较好的效果。本文在基于自然特征的基础上加入IMU确定相机位姿,适应性和精度方面都有更好的表现。

最后,为了体现本文所提的增强现实注册算法的鲁棒性,在视角变化过大时不产生漂移现象。如图6所示,本文记录了在同一场景下各个视角的虚拟对象注册效果。实验结果图表明,结合IMU改进的注册算法,在视角变换过大时也能精确跟踪,虚拟对象的注册也不会出现丢失和漂移现象。

图6 算法的注册效果

4 结论

针对增强现实领域中的三维注册的低效率、低精度等问题,提出了结合IMU改进的注册方法。通过IMU预积分模块,预测当前帧的初始位姿,减小匹配范围,加速特征点的匹配,提高匹配速率;在后端确定相机位姿时加入IMU误差项联合优化位姿参数,提高注册精度。实验结果表明,所提方法具有更高的注册效率和精度。但是,所提方法没有采用图像深度信息进行匹配,只利用了图像的灰度信息。近年来,深度相机的普及给获取图像深度信息带来了便利,结合深度相机对所提方法进行改进是未来需要研究的问题。

猜你喜欢

位姿对象精度
涉税刑事诉讼中的举证责任——以纳税人举证责任为考察对象
基于DSPIC33F微处理器的采集精度的提高
攻略对象的心思好难猜
基于熵的快速扫描法的FNEA初始对象的生成方法
基于共面直线迭代加权最小二乘的相机位姿估计
基于CAD模型的单目六自由度位姿测量
GPS/GLONASS/BDS组合PPP精度分析
小型四旋翼飞行器位姿建模及其仿真
区间对象族的可镇定性分析
改进的Goldschmidt双精度浮点除法器