一种标识辅助的视觉惯性增强现实注册方法与流程

文档序号:22549626发布日期:2020-10-17 02:23阅读:121来源:国知局
一种标识辅助的视觉惯性增强现实注册方法与流程

本发明属于计算机视觉、机器人定位与导航以及增强现实技术领域,具体涉及一种标识辅助的视觉惯性增强现实注册方法。



背景技术:

增强现实(augmentedreality,ar)是为了弥补虚拟现实中无真实环境的缺陷衍生而来,是一种将虚拟信息和真实世界“无缝”融合的新技术,把原本在现实世界的一定场景下很难体验到的实体信息(视觉、听觉、触觉、味觉等),通过计算机等技术,模拟仿真后再叠加到真实世界,真实世界和虚拟物体实时地融合渲染到了同一个显示设备上,从而达到对现实感知的增强,使人类感知到现实中难以体验到的信息。

增强现实是一种底层技术,只要是需要对现实增强感知的场合都可以使用增强现实技术。例如:在电子商务领域中可以使用增强现实技术在用户面前展示线上产品,使用户在未购买产品的情况下逼真地感受产品;在旅游展览产业中使用增强现实技术展示难以在真实世界中修复的景观和物品,给旅客更梦幻的体验;在军事领域上可使用增强现实技术更直观地显示作战信息;另外,在游戏、教育、医疗等等其它领域增强现实都有着非常广泛的应用。

增强现实的关键技术之一是跟踪二维平面或三维物体将虚拟物体注册到真实场景中,实时保持在相机运动过程中,虚拟物体和真实场景的几何一致性。普通的方形黑白人工标识由于识别速度快、成本低、精度高、鲁棒性好等优点,广泛用于增强现实注册,但是当标识不在视野中时相机就无法定位。在机器人领域视觉惯导融合的同时建图和定位技术是目前相机定位成本较低精度较高的方案,但是在它的世界坐标系一般是系统初始化的第一帧,即每次运行定位系统的世界坐标系都不同,这样只有通过检测环境中的平面等信息加上用户交互来确定虚拟物体的位置,虚拟物体的位置无法预先用世界坐标准确表示,所构建的地图难以复用,且难以长时间保持鲁棒性。



技术实现要素:

本发明的目的在于,针对现有技术的缺陷,提供一种标识辅助的视觉惯导增强现实注册方法,利用标识辅助视觉惯导进行相机的定位和对周围环境的建图,统一slam系统的坐标系,提高虚实注册的鲁棒性。

本发明采用的技术方案:

一种标识辅助的视觉惯性增强现实注册方法,包括如下步骤:

步骤1、预先实验对自然特征容易跟踪失败的区域张贴人工标识,张贴基准人工标识;

步骤2、在增强现实系统使用场景中放置好所有的人工标识后,开始对相机的实时跟踪,从相机获取图像帧,对每帧图像进行提取特征点和检查人工标识,在获取两帧图像之间进行imu预积分;

步骤3、从增强现实系统使用场景中的任意位置开始建立初始地图,如果检测到人工标识,则以人工标识为基准调整坐标系;

步骤4、随着相机运动,实时估算相邻图像间的位姿,并且不断插入关键帧,如果跟踪失败则进行重定位;

步骤5、当检测到回环时,优化观测的信息,构建全局一致的地图,以自定义格式保存该地图,可供下次或其他用户在当前环境中使用;

步骤6、根据环境地图和基准人工标识的位置,对虚拟物体进行三维注册。

所述步骤1包括如下步骤:

步骤1.1、在aruco字典中选择一些标识,按照相机分辨率和工作距离,打印出这些标识,测量标识的边长l;

步骤1.2、预先不粘贴人工标识,在不放置人工标识的增强现实系统使用场景中,使用基于特征点的slam算法,同时定位和建图,在此过程中记录算法容易跟踪失败的区域,随后在这些区域按大小增加适当数量的id不同的人工标识;

步骤1.3、在增强现实系统使用场景中放置人工标识,尤其在容易跟踪失败的区域根据区域大小增加适量工标识。

所述步骤2包括如下步骤:

步骤2.1、将图像划分网格,每个网格提取一定数量特征点,根据实际效果设置两个阈值t1,t2,分别代表每帧图像和每个网格所需要的特征点数量,若图像或网格特征点数量不足,则舍弃该帧图像或网格;

步骤2.2、对相邻两帧图像间imu预积分;

步骤2.3、将图像进行自适应二值化和形态学运算:对二值化的图像提取轮廓,过滤掉过大、过小和不是四边形的轮廓,使用单应矩阵将四边形去除透视投影,然后用otsu的方法二值化,二值化后的图形转换为一个二进制的值和字典中的值对比,从而识别人工标识。

所述步骤3包括如下步骤:

步骤3.1、分别假设初始化场景为平面和非平面计算单应矩阵和基础矩阵,再按照两种解法的得分选择其中一个作为最终解,从而恢复初始化两帧间的运动;

步骤3.2、利用imu信息或人工标识信息恢复单目相机场景估算的真实尺度;

步骤3.3、如果检测到基准人工标识,把基准人工标识坐标系设为世界坐标系,调整以前的地图坐标,后续的跟踪建图以新的世界坐标系为准,如果没有检测到基准人工标识,则世界坐标为初始化的第一帧。

所述步骤3.1中,

在初始化场景中,从相机获取有足够匹配点的两帧图像,分别记为xr,xc,分别计算单应矩阵hcr和基础矩阵fcr:

xc=hcrxr,

按照对称变换误差分别计算两种模型的得分:

其中m表示h或f,根据下面的得分比例,当rh>0.45时选择基础矩阵:

rh=sh/(sh+sf)

分解h矩阵或f矩阵得到初始化两帧的位姿,三角化初始地图点,得到初始化地图。

所述步骤4中,具体子步骤包括:

步骤4.1、当上一帧跟踪成功,则假设当前帧的与上一帧间的变换是固定值,再通过特征匹配地图点,优化当前帧位姿;

步骤4.2、在纯视觉无法估计位姿的情况下利用imu信息和人工标识信息,当视觉跟踪失败时,完全使用imu信息估计位姿,这时观测到人工标识可得相机相对于人工标识的位姿,可求出这两个位姿间的变换,进而可以求出这个人工标识的世界坐标,将这个标识加入地图,可作为后续跟踪使用;

步骤4.3:当跟踪失败时进行重定位。

所述步骤5中,具体子步骤包括:

步骤5.1、通过每一帧检测人工标识,和在词袋数据库中对比关键帧,检测回环;

步骤5.2、检测到回环后,根据回环约束,对全局地图包括关键点、关键帧、人工标识的位姿使用全局光束平差法优化;

步骤5.3、保存优化后地图,供下次或其他用户在当前场景复用。

所述步骤5.1包括如下步骤:

步骤5.1.1、当没有关键帧中没有检测到人工标识按照词袋检测回环;

步骤5.1.2、人工标识检测回环。

与现有技术相比,本发明的有益效果在于:

(1)本发明提供一种标识辅助的视觉惯性增强现实注册方法,选定的人工标识坐标系作为世界坐标,保证每次运行slam系统可以在同一个坐标系下;大多数视觉slam算法都是以系统开始运行的第一帧的位姿作为世界坐标系,这样在增强现实系统中就无法预设虚拟物体的位置,然而在人工标识三维注册算法中通常假设人工标识是固定不动的,这样可以规定某个人工标识自身坐标系为增强现实系统的世界坐标系;

(2)本发明提供一种标识辅助的视觉惯性增强现实注册方法,利用人工标识快速进行重定位和回环检测,提高系统的鲁棒性;视觉slam中的回环检测存在一定错误率、受光照和动态环境影响较大、效率不高。而二维码标识相对稳定,且具有编号,若将系统中每个标识设定独一无二的编号,可以认为看到两次相同编号标识时在同一位置,从而帮助系统重定位和回环优化;

(3)本发明提供一种标识辅助的视觉惯性增强现实注册方法,利用人工标识修正单目相机定位的累积误差,提高系统定位的准确性;由于单目相机无法获取深度信息,所以随着相机的运动,所估计的相机位姿会有较大的累积误差,可以通过人工标识进行修正。

附图说明

图1是本发明一种标识辅助的视觉惯性增强现实注册方法流程图;

图2是本发明使用的人工标识示意图;

图3是人工标识坐标系和相机位置关系示意图。

具体实施方式

下面结合附图和具体实施例对本发明提供的一种标识辅助的视觉惯性增强现实注册方法作进一步详细说明。

如图1所示,本发明提供一种标识辅助的视觉惯导增强现实注册方法,方法包括:

步骤1:预先实验对自然特征容易跟踪失败的区域张贴人工标识,在适当位置张贴基准人工标识,如图2所示;

根据本发明的一种实施方式,步骤1包括:

步骤1.1:在aruco字典中选择一些标识,按照相机分辨率和工作距离,选择适当的大小,打印出这些标识,测量标识的边长l,人工标识坐标系如图3所示。

步骤1.2:预先不粘贴人工标识,在不放置人工标识的增强现实系统使用场景中,使用基于特征点的slam算法,同时定位和建图,在此过程中记录算法容易跟踪失败的区域,随后在这些区域按大小增加适当数量的id不同的人工标识。

步骤1.3:在增强现实系统使用场景中放置人工标识,尤其在容易跟踪失败的区域根据区域大小增加适量工标识。

步骤1.4:根据增强现实系统的使用场景,在便于测量所要放置的虚拟物体坐标、相机相对容易观测到、不明显影响美观的位置上粘贴代表世界坐标系的人工标识。

步骤2:在增强现实系统使用场景中放置好所有的人工标识后,开始对相机的实时跟踪。从相机获取图像帧,对每帧图像进行提取特征点和检查人工标识,在获取两帧图像之间进行imu预积分;

步骤2具体包括包括:

步骤2.1:将图像划分网格,每个网格提取一定数量特征点。为了保证基于特征点的位姿计算的可靠性,需要根据实际效果设置两个阈值t1,t2,分别代表每帧图像和每个网格所需要的特征点数量,若图像或网格特征点数量不足,则舍弃该帧图像或网格。所述特征点可以为orb、zkaze等。

步骤2.2:对相邻两帧图像间imu预积分。

步骤2.3:将图像进行自适应二值化和形态学运算。对二值化的图像提取轮廓,过滤掉过大、过小和不是四边形的轮廓。使用单应矩阵将四边形去除透视投影,然后用otsu的方法二值化。二值化后的图形转换为一个二进制的值和字典中的值对比,从而识别人工标识。

步骤3:从增强现实系统使用场景中的任意位置开始建立初始地图,如果检测到人工标识,则以人工标识为基准调整坐标系;

步骤3.1、从增强现实系统使用场景中的任意位置开始建立初始地图

地图初始化的目的是计算相邻两帧位姿从而三角化地图点。由于无法知道初始场景是否为平面,所以分别假设初始化场景为平面和非平面计算单应矩阵和基础矩阵。再按照两种解法的得分选择其中一个作为最终解,从而恢复初始化两帧间的运动。在初始化场景中,从相机获取有足够匹配点的两帧图像,分别记为xr,xc,分别计算单应矩阵hcr和基础矩阵fcr:

xc=hcrxr,

按照对称变换误差分别计算两种模型的得分:

其中m表示h或f,根据下面的得分比例,当rh>0.45时选择基础矩阵:

rh=sh/(sh+sf)

分解h矩阵或f矩阵得到初始化两帧的位姿,三角化初始地图点,得到初始化地图。在此过程中同时检查提供世界坐标系的人工标识,将初始地图转换到世界坐标系下。

步骤3.2、获取真实尺度

纯视觉特征的单目初始化是没有真实尺度信息的,可利用imu信息或人工标识信息恢复单目相机场景估算的真实尺度。

其中tc为当前帧相对人工标识的平移向量,tr为参考帧相对于人工标识的平移向量,t为当前帧和参考帧间的平移向量。

步骤3.3:步骤3.3、以人工标识为基准调整坐标系

无标识的slam系统初始化是以第一帧fr的坐标系为世界坐标系。当初始化时相机观测到基准人工标识,可得第一帧在基准人工标识坐标系下的位姿:当前帧相对于第一帧的位姿:(rc,tc),可求出这两个位姿间的变换t,则所有帧的位姿都可以变换到基准人工标识坐标系下。即把基准人工标识坐标系设为世界坐标系,调整以前的地图坐标,后续的跟踪建图以新的世界坐标系为准。如果没有检测到基准人工标识,则世界坐标为初始化的第一帧。

步骤4:随着相机运动,实时估算相邻图像间的位姿,并且不断插入关键帧,如果跟踪失败则进行重定位;步骤4包括:

步骤4.1:当上一帧跟踪成功,则假设当前帧的与上一帧间的变换是固定值,再通过特征匹配地图点,优化当前帧位姿。计算与上一帧平均视差和匹配的特征点数量,若视差大于阈值或特征点数量小于阈值,将当前帧作为关键帧加入地图。

步骤4.2:在纯视觉无法估计位姿的情况下利用imu信息和人工标识信息,当视觉跟踪失败时,完全使用imu信息估计位姿,这时观测到人工标识可得相机相对于人工标识的位姿,可求出这两个位姿间的变换,进而可以求出这个人工标识的世界坐标,将这个标识加入地图,可作为后续跟踪使用。

步骤4.3:当跟踪失败时进行重定位。

根据本发明的一种实施方式,步骤4.3包括:

步骤4.3.1:词袋重定位,根据最新插入的关键帧的词袋向量对比关键帧数据库。

步骤4.3.2:人工标识重定位,观测到了人工标识就能估计出相机当前的位姿,以这个位姿作为准确的当前帧位姿。

步骤5:当检测到回环时,优化观测的信息,构建全局一致的地图,以自定义格式保存该地图,可供下次或其他用户在当前环境中使用;步骤5包括:

步骤5.1:在相机运动到相同位置时需要回环检测矫正漂移,否则累计误差越来越大;

步骤5.2:检测到回环后,根据回环约束,对全局地图包括关键点、关键帧、人工标识的位姿使用全局光束平差法优化;

步骤5.3:保存优化后的地图,构建了当前环境的全局地图,可供其他用户或下次使用,由于世界坐标系固定,则虚拟物体的位置也是固定的,所以该地图复用性强。

根据本发明的一种实施方式,步骤5.1包括:

步骤5.1.1:当没有关键帧中没有检测到人工标识按照词袋检测回环。首先计算最近插入的关键帧和它的相邻帧之间的相似度。保存最低分数,查询数据库,得到最相似的非相邻关键帧,相似度比所保存的最低相似度高。得到n个候选关键帧。这些关键帧和最近插入的关键帧进行闭环。特征点匹配如果匹配数量足够,我们将相应地图点的三维位置去求解最合适的刚体变化t,使用ransacpnp算法。

步骤5.1.2:人工标识检测回环。每一帧都执行人工标识的回环检测,而不是等到插入关键帧。当相机观测到一个人工标识,如果这个人工标识没有被相邻参考关键帧观测到,说明检测到了回环。矫正人工标识所估计的位姿和跟踪的位姿之间的漂移。关键点和人工标识都可以检测到的回环,两种回环显示的相机位姿漂移都必须被矫正,沿着从参考关键帧到检测到回环的第一个关键帧均匀传播误差,优化sim(3)关键帧位姿。

步骤6:根据环境地图和基准人工标识的位置,对虚拟物体进行三维注册。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应该涵盖在本发明的保护范围之内。

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