一种基于AR的遮挡环境下的视觉定位方法及系统
文献发布时间:2023-06-19 11:55:48
技术领域
本发明涉及定位导航技术领域,具体涉及一种基于AR的遮挡环境下的视觉定位方法及系统。
背景技术
定位技术是现代社会较为成熟的技术,目前主流的定位手段为卫星定位,如常用的全球定位系统(GPS),它由24颗工作卫星所组成,形成GPS卫星星座,其中21颗为可用于导航的卫星,3颗为活动的备用卫星。24颗卫星分布在6个倾角为55°的轨道上绕地球运行,卫星的运行周期约为12恒星时,每颗GPS工作卫星都发出用于导航定位的信号,用户接受信号即可解算数据进行定位。
现有的定位方法主要依赖于GPS卫星信号来进行定位,虽然卫星时刻都在广播自己的位置信息,但是出于降低功耗的考虑,用户的信号接收机往往并不是时刻都在接收GPS信号,而是以一定的频率进行更新,当用户在驾车行驶时,有时因信号响应时间的问题而导致定位出现漂移,降低了用户的使用体验;另一方面,卫星定位在室外的开阔场地具有较好的效果,但用户处于桥洞、高架桥和密集建筑物等遮挡环境时,往往只能实际接收到一两颗卫星的信号,因此接收机所接收到的多个卫星信号,通常是由环境内的障碍物反射而来,由于信号在反射过程中增加了行程,进而导致定位失准,出现漂移的情况,因此需要一种新的定位方法来解决上述的不足。
发明内容
为了克服上述现有的定位技术存有的运动过程中漂移和遮挡反射失准的技术缺陷,本发明提供一种增加运动时定位精度和降低反射影响的基于AR的遮挡环境下的视觉定位方法及系统。
为了解决上述问题,本发明按以下技术方案予以实现的:
本发明所述的一种基于AR的遮挡环境下的视觉定位方法,其特征在于,该方法包括:
开启摄像头,移动并录制周边环境的视频流;
解析视频流,利用卫星数据对摄像头进行相机校准;
计算位移旋转向量,实时生成移动过程中的纠偏点;
记录卫星定位的移动轨迹,检测是否出现漂移;
如果没有出现漂移,则保持使用卫星数据进行定位;
如果出现了漂移,则使用纠偏点替换卫星数据进行定位。
所述的开启摄像头,移动并录制周边环境的视频流,具体为:询问用户终端设备的摄像头权限,开启摄像头,提示用户保持移动状态,录制并保存周边环境的视频流。
所述的解析视频流,利用卫星数据对摄像头进行相机校准,具体为:对视频流逐帧进行解析,获得当前的环境特征,询问用户终端设备的定位权限,开启卫星定位,获取移动过程中的三个以上的卫星定位数据,通过特征点匹配计算出三组以上的摄像头的光学焦距,当光学焦距的数值稳定时,则设定为标准的摄像头光学焦距数值,并记录对应的卫星数据作为参照点,即完成相机校准。
所述的计算位移旋转向量,实时生成移动过程中的纠偏点,具体为:继续录制并对视频流逐帧进行解析,通过相机校准的数据,计算摄像头的位移旋转向量,实时计算出当前的预测地理位置,将预测地理位置作为纠偏点进行保存,但保持使用卫星数据进行定位。
所述的记录卫星定位的移动轨迹,检测是否出现漂移,具体为:记录卫星定位的卫星数据,将卫星数据的历史经纬度拟合出一条移动轨迹,同时计算实时的纠偏点,接收实时的卫星数据,计算当前卫星数据的定位点到移动轨迹的垂直距离,计算当前卫星数据的定位点到纠偏点的绝对距离,如果绝对距离或垂直距离超过误差限制距离,则表明定位出现了漂移。
所述的误差限制距离为20m~30m。
所述的如果没有出现漂移,则保持使用卫星数据进行定位,具体为:计算当前卫星数据的定位点到移动轨迹的垂直距离,计算当前卫星数据的定位点到纠偏点的绝对距离,如果绝对距离或垂直距离均小于误差限制距离,则表明定位没有出现漂移,利用当前卫星数据的定位点进行定位,并对移动轨迹进行更新。
所述的如果出现了漂移,则使用纠偏点替换卫星数据进行定位,具体为:当定位出现漂移,则使用实时生成的纠偏点来进行定位,同时舍弃漂移的卫星数据,将纠偏点加入到移动轨迹进行更新。
一种基于AR的遮挡环境下的视觉定位系统,其特征在于,该系统包括:
录制模块,用于开启摄像头,移动并录制周边环境的视频流;
校准模块,用于解析视频流,利用卫星数据对摄像头进行相机校准;
位移模块,用于计算位移旋转向量,实时生成移动过程中的纠偏点;
检测模块,用于记录卫星定位的移动轨迹,检测是否出现漂移;
保持模块,用于在没有出现漂移时,则保持使用卫星数据进行定位;
定位模块,用于在出现了漂移时,则使用纠偏点替换卫星数据进行定位。
与现有技术相比,本发明的有益效果是:
本发明所述的一种基于AR的遮挡环境下的视觉定位方法及系统具有增加运动时定位精度和降低反射影响的优点,当用户通过载具进行移动时,通过解析环境视频流,即可完成相机校准和计算正确的纠偏点,通过已有的历史数据来生成移动轨迹,若实时的定位点不在移动轨迹上,则表明是运动产生的定位漂移,若实时的定位点与预期的纠偏点存有较大偏差,则表明是遮挡反射产生的定位漂移,利用纠偏点对漂移的定位点进行纠正,即可保持稳定准确的定位,并对移动轨迹进行更新以便增加识别漂移的准确性,解决了现有的定位技术存有的运动过程中漂移和遮挡反射失准的问题,满足了用户在遮挡环境下的定位需要。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明,其中:
图1是本发明的方法流程示意图;
图2是本发明的系统结构示意图;
图3是本发明的相机校准原理示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
如图1~图3所示,本发明所述的一种基于AR的遮挡环境下的视觉定位方法,其特征在于,该方法包括:
101、开启摄像头,移动并录制周边环境的视频流;
所述的开启摄像头,移动并录制周边环境的视频流,具体为:询问用户终端设备的摄像头权限,开启摄像头,提示用户保持移动状态,录制并保存周边环境的视频流。
102、解析视频流,利用卫星数据对摄像头进行相机校准;
所述的解析视频流,利用卫星数据对摄像头进行相机校准,具体为:对视频流逐帧进行解析,具体的,解析算法采用SLAM图像同步定位法,即可获得当前的环境特征;然后询问用户终端设备的定位权限,开启卫星定位,获取移动过程中的三个以上的卫星定位数据,通过特征点匹配计算出三组以上的摄像头的光学焦距,当光学焦距的数值稳定时,则设定为标准的摄像头光学焦距数值,并记录对应的卫星数据作为参照点,即完成相机校准。
具体的,如图3所示,所述的相机校准,包含特征点上的参照点位P、参照点位Q、用户位置O1和平移后的位置O2,位置O1和位置O2为卫星定位数据所对应的经纬度坐标点,其中,参照点位Q为位置O2在特征点上的投影,位移旋转向量S为位置O1到位置O2的位移旋转向量,通过读取用户终端设备的加速度传感器,即可计算出位移旋转向量S。
在位置O1和位置O2分别对参照点位P和参照点位Q进行录制时,参照点位P和参照点位Q在成像平面上距离分别为x和y;f为摄像头光学焦距,a为参照点位P和参照点位Q的直线距离,b和d为位置O1到参照点位P和参照点位Q的直线距离,c和e为位置O2到参照点位P和参照点位Q的直线距离。
利用三角函数可得等式:
等式1:F1=f1(d,e,S),则e=g1(d,S);
等式2:F2=f2(b,c,S),则c=g2(d,S);
等式3:F3=f3(a,b,d),则a=g3(b,d);
利用相似三角形定律可得等式:
等式4:f/b=x/a;
等式5:f/e=y/a;
利用勾股定理可得等式:
等式6:a
联立等式1~等式6,解多元多次方程,计算得光学焦距f=F(S)。
用户在移动过程中会不断生成新的位置O1和位置O2,并重复解算出新的光学焦距f,计算多个光学焦距f的均值,将其设定为标准的摄像头光学焦距数值,并选择当前的经纬度作为参照点。
103、计算位移旋转向量,实时生成移动过程中的纠偏点;
所述的计算位移旋转向量,实时生成移动过程中的纠偏点,具体为:继续录制并对视频流逐帧进行解析,通过相机校准的光学焦距f,将新的位置O1和位置O2带入运算,获得摄像头的位移旋转向量S,然后对参照点进行向量运算,实时计算出当前的预测地理位置,将预测地理位置作为纠偏点进行保存,但保持使用卫星数据进行定位。
104、记录卫星定位的移动轨迹,检测是否出现漂移;
所述的记录卫星定位的移动轨迹,检测是否出现漂移,具体为:记录卫星定位的卫星数据,将卫星数据的历史经纬度拟合出一条移动轨迹,同时计算实时的纠偏点,接收实时的卫星数据,计算当前卫星数据的定位点到移动轨迹的垂直距离,计算当前卫星数据的定位点到纠偏点的绝对距离,如果绝对距离或垂直距离超过误差限制距离,则表明定位出现了漂移。具体的,所述的误差限制距离为20m~30m,作为本发明一种较佳的实施方式,所述的误差限制距离为25m,即,如果绝对距离或垂直距离超过25m,则表明定位出现了漂移。
105、如果没有出现漂移,则保持使用卫星数据进行定位;
所述的如果没有出现漂移,则保持使用卫星数据进行定位,具体为:计算当前卫星数据的定位点到移动轨迹的垂直距离,计算当前卫星数据的定位点到纠偏点的绝对距离,如果绝对距离或垂直距离均小于误差限制距离,则表明定位没有出现漂移,利用当前卫星数据的定位点进行定位,并对移动轨迹进行更新。
106、如果出现了漂移,则使用纠偏点替换卫星数据进行定位。
所述的如果出现了漂移,则使用纠偏点替换卫星数据进行定位,具体为:当定位出现漂移,则使用实时生成的纠偏点来进行定位,同时舍弃漂移的卫星数据,将纠偏点加入到移动轨迹进行更新。
一种基于AR的遮挡环境下的视觉定位系统,其特征在于,该系统包括:
录制模块1,用于开启摄像头,移动并录制周边环境的视频流;
校准模块2,用于解析视频流,利用卫星数据对摄像头进行相机校准;
位移模块3,用于计算位移旋转向量,实时生成移动过程中的纠偏点;
检测模块4,用于记录卫星定位的移动轨迹,检测是否出现漂移;
保持模块5,用于在没有出现漂移时,则保持使用卫星数据进行定位;
定位模块6,用于在出现了漂移时,则使用纠偏点替换卫星数据进行定位。
该视觉定位方法及系统具有增加运动时定位精度和降低反射影响的优点,当用户通过载具进行移动时,通过解析环境视频流,即可完成相机校准和计算正确的纠偏点,通过已有的历史数据来生成移动轨迹,若实时的定位点不在移动轨迹上,则表明是运动产生的定位漂移,若实时的定位点与预期的纠偏点存有较大偏差,则表明是遮挡反射产生的定位漂移,利用纠偏点对漂移的定位点进行纠正,即可保持稳定准确的定位,并对移动轨迹进行更新以便增加识别漂移的准确性,解决了现有的定位技术存有的运动过程中漂移和遮挡反射失准的问题,满足了用户在遮挡环境下的定位需要。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,故凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
- 一种基于AR的遮挡环境下的视觉定位方法及系统
- 一种基于云计算环境下的AR教学资源处理方法及系统