CN114972514A - Slam定位方法、装置、电子设备和可读存储介质 - Google Patents
Slam定位方法、装置、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN114972514A CN114972514A CN202210611948.5A CN202210611948A CN114972514A CN 114972514 A CN114972514 A CN 114972514A CN 202210611948 A CN202210611948 A CN 202210611948A CN 114972514 A CN114972514 A CN 114972514A
- Authority
- CN
- China
- Prior art keywords
- image data
- data stream
- dso
- pose
- visual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 201
- 230000000007 visual effect Effects 0.000 claims abstract description 120
- 230000003287 optical effect Effects 0.000 claims abstract description 30
- 238000012545 processing Methods 0.000 claims abstract description 27
- 238000005457 optimization Methods 0.000 claims description 40
- 238000005259 measurement Methods 0.000 claims description 28
- 230000009466 transformation Effects 0.000 claims description 12
- 238000001514 detection method Methods 0.000 claims description 11
- 230000010354 integration Effects 0.000 claims description 9
- 230000004807 localization Effects 0.000 claims description 8
- 230000002441 reversible effect Effects 0.000 claims description 5
- 238000012360 testing method Methods 0.000 claims description 3
- 239000000126 substance Substances 0.000 claims 1
- 210000003128 head Anatomy 0.000 description 35
- 230000033001 locomotion Effects 0.000 description 19
- 238000004364 calculation method Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 16
- 230000004927 fusion Effects 0.000 description 15
- 238000004590 computer program Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 11
- 230000003190 augmentative effect Effects 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000000605 extraction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 6
- 238000005286 illumination Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000003384 imaging method Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 239000012769 display material Substances 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000452 restraining effect Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
- G01C21/1656—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments with passive imaging devices, e.g. cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/513—Sparse representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Abstract
本申请公开了一种SLAM定位方法、装置、电子设备和可读存储介质,所述SLAM定位方法包括:获取双目鱼眼摄像头依据时序性采集的视觉图像数据流,对视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流,识别灰度图像数据流中的DSO特征,采用光流法对DSO特征进行特征匹配处理,得到DSO匹配对;依据DSO匹配对在灰度图像数据流中的位置信息,确定头盔本体当前的初始位姿;对初始位姿进行动态优化,得到目标优化位姿。本申请能在视觉环境复杂的情况下,更好地提升视觉SLAM的位姿定位精度。
Description
技术领域
本申请涉及SLAM技术领域,尤其涉及一种SLAM定位方法、装置、电子设备和可读存储介质。
背景技术
目前,SLAM(simultaneous localization and mapping,即时定位与地图构建)技术已越来越发展成熟,现代流行的视觉SLAM系统大概可以分为前端和后端。前端完成数据关联,相当于VO(Visual Odometry,视觉里程计),通过VST头显设备上的摄像头对拍摄的图像进行处理,研究帧与帧之间变换关系,完成实时的位姿跟踪,计算位姿变化,当VST头显设备中设有IMU传感器采集位姿信息时,也可参与融合计算(即VIO,Visual InertialOdometry视觉惯性里程计的做法),后端主要对前端的输出结果进行优化,利用滤波理论或者优化理论进行树或图的优化,得到最优的位姿估计和地图。随着SLAM技术的普遍应用,6DoF(degree of freedom,自由度)追踪与SLAM相结合,沉浸式的VR(Virtual Reality,虚拟现实)或AR(Augmented Reality,增强现实)体验已成为可能。使用者可以摆脱标识图的束缚,进行实时的位姿定位与地图构建,从而在虚拟内容上产生更加沉浸和逼真的体验。
而现在主流的视觉SLAM方法有两种,分别是基于特征法的SLAM,以及基于直接法的SLAM,其中:
基于特征法的SLAM:基于特征法的视觉里程计是在图像中提取特征点并计算描述子,通过描述子实现特征匹配,通过计算最小化重投影误差来估计当前帧的位姿,但是基于特征法的SLAM很难在视觉环境为缺少特征的弱纹理环境中运行,视觉环境中缺少纹理时,难以提取足够数量的特征点,导致位姿定位精度较低。
基于直接法的SLAM:基于直接法的视觉里程计仅提取特征点而不计算描述子,通过计算光流得到相邻两个图像帧之间特征点的匹配关系,之后通过计算最小化光度误差估计位姿信息,无需依赖特征点,只要图像中存在像素梯度,便可顺利实时运行。但是由于该方法基于一个很强的灰度不变假设,即基于直接法的SLAM很难在视觉环境为环境光照变化较大的环境中运行,在环境光照变化明显时,光流法的运动跟踪策略使其位姿定位精度出现较大的偏差。
因此,如何在视觉环境复杂的情况下,更好地提升视觉SLAM的位姿定位精度,成为亟待解决的技术问题。
发明内容
本申请的主要目的在于提供一种SLAM定位方法、装置、电子设备和可读存储介质,旨在解决如何在视觉环境复杂的情况下,更好地提升视觉SLAM的位姿定位精度的技术问题。
为实现上述目的,本申请提供一种SLAM定位方法,所述SLAM定位方法应用于VST头显设备,所述VST头显设备包括头盔本体,以及固连于所述头盔本体的双目鱼眼摄像头,所述SLAM定位方法包括:
获取所述双目鱼眼摄像头依据时序性采集的视觉图像数据流,对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流;
识别所述灰度图像数据流中的DSO特征,基于光流法对所述DSO特征进行特征匹配处理,得到DSO匹配对;
依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿;
对所述初始位姿进行动态优化,得到目标优化位姿。
可选地,所述依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿的步骤包括:
采用逆向光流法对所述DSO匹配对进行校准,得到DSO校准对;
依据所述DSO校准对在所述灰度图像数据流中的位置信息,结合最小化光度误差法计算得到所述头盔本体当前的初始位姿。
可选地,所述对所述初始位姿进行动态优化,得到目标优化位姿的步骤包括:
从所述DSO校准对中提取ORB特征描述子和LBD特征描述子,并对所述ORB特征描述子和所述LBD特征描述子进行聚类,得到所述灰度图像数据流中的点线特征对;
依据所述点线特征对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿。
可选地,所述VST头显设备还包括固连于所述头盔本体的IMU传感器,所述对所述ORB特征描述子和所述LBD特征描述子进行聚类,得到所述灰度图像数据流中的点线特征对的步骤之后包括:
基于所述IMU传感器采集所述头盔本体当前的惯性测量数据,并对所述惯性测量数据进行预积分,得到惯导位姿变换数据;
依据所述惯导位姿变换数据,校准所述灰度图像数据流中的所述点线特征对,得到惯导校准对;
所述依据所述点线特征对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿的步骤包括:
依据所述惯导校准对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿。
可选地,所述对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流的步骤之后包括:
将所述灰度图像数据流输入至直接法里程计的前端约束中,选取得到关键帧;
累计所述关键帧的数量;
若所述关键帧的数量达到预设数量阈值,则触发所述关键帧的视觉重定位,将所述视觉重定位的结果,添加至所述直接法里程计的后端约束中,并将累计的所述关键帧的数量清零。
可选地,所述依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿的步骤包括:
将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,得到消除累积误差后的所述位置信息;
依据消除累积误差后的所述位置信息,结合最小化光度误差法计算得到所述头盔本体当前的初始位姿。
可选地,所述将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,得到消除累积误差后的所述位置信息的步骤包括:
将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,基于所述后端约束,对所述DSO匹配对在所述灰度图像数据流中的位置信息进行跟踪匹配,识别出所述灰度图像数据流中的关键帧和冗余帧;
从所述灰度图像数据流中剔除所述冗余帧,并将所述关键帧中的所述DSO匹配对的帧间估计坐标信息,作为消除累积误差后的所述位置信息。
本申请还提供一种SLAM定位装置,所述SLAM定位装置应用于VST头显设备,所述VST头显设备包括头盔本体,以及固连于所述头盔本体的双目鱼眼摄像头,所述SLAM定位装置包括:
视觉图像获取模块,用于获取所述双目鱼眼摄像头依据时序性采集的视觉图像数据流,对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流;
直接法位姿标定模块,用于识别所述灰度图像数据流中的DSO特征,基于光流法对所述DSO特征进行特征匹配处理,得到DSO匹配对;
所述直接法位姿标定模块,还用于依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿;
特征法位姿优化模块,用于对所述初始位姿进行动态优化,得到目标优化位姿。
本申请还提供一种电子设备,所述电子设备为实体设备,所述电子设备包括:存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的所述SLAM定位方法的程序,所述SLAM定位方法的程序被处理器执行时可实现如上述的SLAM定位方法的步骤。
本申请还提供一种可读存储介质,所述可读存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有实现SLAM定位方法的程序,所述实现SLAM定位方法的程序被处理器执行以实现如上述SLAM定位方法的步骤。
本申请还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的SLAM定位方法的步骤。
在本申请中,由于受到特征法视觉里程计与直接法视觉里程计缺点的影响,本申请通过获取双目鱼眼摄像头依据时序性采集的视觉图像数据流,对视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流,并识别该灰度图像数据流中的DSO特征,基于光流法对所述DSO特征进行特征匹配处理,得到DSO匹配对,然后依据DSO匹配对在灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿,从而通过应用稀疏直接法节省了特征点提取和特征点匹配的时间,具有更好的实时性,并且在缺乏角点的弱纹理视觉环境中具有更良好的表现,并可通过采用最小化重投影误差法对该初始位姿进行动态优化,得到目标优化位姿,从而通过应用特征法的闭环检测显著减少了旋转、平移和尺度漂移等累积误差,实时性更佳,实现不仅在缺乏角点或者纹理较少的视觉环境中具有较强的鲁棒性,而且基于最小化重投影误差法对初始位姿进行的动态优化,可显著提高在光照变化较大的视觉环境中进行运动的位姿定位精度,融合了直接法和特征法视觉里程计的优点,进而在视觉环境复杂的情况下,能更好地提升视觉SLAM的位姿定位精度。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请SLAM定位方法第一实施例的流程示意图;
图2为本申请实施例中VST头显设备的硬件结构示意;
图3为本申请SLAM定位方法第二实施例的流程示意图;
图4为本申请实施例中SLAM定位装置涉及的硬件运行环境的设备结构示意图。
本申请目的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其它实施例,均属于本发明保护的范围。
在本实施例中,本申请的VST(Video See-Through,视频透视)头显设备可以是例如混合现实(Mixed Reality)—MR头显设备、增强现实(Augmented Reality)—AR头显设备、虚拟现实-(VirtualReality)—VR头显设备、扩展现实(Extended Reality)—XR头显设备或其某种组合。
VST(Video See-Through,视频透视)是增强现实(Augmented Reality,简称AR)的一种重要形式,其基本原理是由安装在VST头显设备上的摄像头摄取外部真实环境的图像,计算机通过计算处理将所要添加的信息或图像信号叠加在视频信号上,通过视频信号融合器实现计算机生成的虚拟场景与真实场景融合,最后通过VST头显设备中的透视显示器呈现给用户。
SLAM(simultaneous localization and mapping,即时定位与地图构建)技术已越来越发展成熟,现代流行的视觉SLAM系统大概可以分为前端和后端。前端完成数据关联,相当于VO(Visual Odometry,视觉里程计),通过VST头显设备上的摄像头对拍摄的图像进行处理,研究帧与帧之间变换关系,完成实时的位姿跟踪,计算位姿变化,当VST头显设备中设有IMU传感器采集位姿信息时,也可参与融合计算(即VIO,Visual Inertial Odometry视觉惯性里程计的做法),后端主要对前端的输出结果进行优化,利用滤波理论或者优化理论进行树或图的优化,得到最优的位姿估计和地图。随着SLAM技术的普遍应用,6DoF(degreeof freedom,自由度)追踪与SLAM相结合,沉浸式的VR(Virtual Reality,虚拟现实)或AR(Augmented Reality,增强现实)体验已成为可能。使用者可以摆脱标识图的束缚,进行实时的位姿定位与地图构建,从而在虚拟内容上产生更加沉浸和逼真的体验。
然而,现在主流的视觉SLAM方法有两种,分别是基于特征法的SLAM,以及基于直接法的SLAM。两种方法具备各自的劣势,基于特征法的SLAM很难在视觉环境为缺少特征的弱纹理环境中运行,视觉环境中缺少纹理时,难以提取足够数量的特征点,导致位姿定位精度较低。而基于直接法的SLAM很难在视觉环境为光照变化较大的环境中运行,在环境光照变化明显时,光流法的运动跟踪策略使其位姿定位精度出现较大的偏差。
因此,如何在视觉环境复杂的情况下,更好地提升视觉SLAM的位姿定位精度,成为亟待解决的技术问题。
实施例一
基于此,请参照图1,本实施例提供一种SLAM定位方法,所述SLAM定位方法应用于VST头显设备,所述VST头显设备包括头盔本体,以及固连于所述头盔本体的双目鱼眼摄像头,所述SLAM定位方法包括:
步骤S10,获取所述双目鱼眼摄像头依据时序性采集的视觉图像数据流,对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流;
本实施例的SLAM定位方法应用于VST头显设备(VST-HMD,Video See Through-Head Mount Display),可参照图2,本实施例的采用了透视显示器加双目鱼眼摄像头的组合方式组成VST头显设备,将所有信息转换成数字信息,并统一在透视显示器上显示,实现对虚拟和现实信息之间的强制对准,避免鬼影和偏移等问题。经过试验测定,双目鱼眼摄像头的光轴偏转角达3.75°时,立体景象的叠加效应最佳。在得到最佳的摄像头角度后,制备固定的双目鱼眼摄像头,同时与透视显示器进行匹配测试。由于双目鱼眼摄像头和透视显示器的参数不一致,视口范围存在差异,影响沉浸感和真实性。运用视口同步技术,根据VST头显设备的FOV(Field of View,视口范围)和分辨率调整双目鱼眼摄像头的FOV和分辨率,使之保持一致。
在本实施例中,透视显示器可由半反半透的光学元件构成,融合透射式和反射式显示屏的特点,透射特性不会对观察者(如人眼)的视线(有效视角)造成遮挡,用于透视现实世界,反射特性可反射显示增强现实的虚拟对象。即观察者既可以看到现实世界透过透视显示器在人眼中的成像,又可以看到处理器生成的虚拟对象(图像或信息)通过透视显示器的反射进入人眼所成的像,最终完成虚拟对象与人眼看到的现实世界的叠加融合,实现增强现实。由于透视显示器本身具有屏幕的特性,因此也可以作为终端(即VST头显设备)与用户的交互屏幕使用。可选地,终端还可以包括其它显示器,将透视显示器作为专用AR屏幕,将其它显示器作为交互屏幕使用,本发明实施例对此不作具体限定。可以理解的是,随着显示材料技术的发展,透视显示器还可以是未来的悬空屏幕、3D全息投影屏幕等,本申请对透视显示器的具体材料、形态或者呈现形式不作具体限定。
本实施例通过选用鱼眼摄像头确保VST头显设备有大的视场角,超过130°的视场角让VST头显设备在运动过程中尽可能多的采集场景信息,不容易丢失。
步骤S20,识别所述灰度图像数据流中的DSO特征,基于光流法对所述DSO特征进行特征匹配处理,得到DSO匹配对;
在本实施例中,本领域技术人员可知的是,DSO(Direct Sparse Odometry,稀疏直接法)特征属于基于稀疏直接法的视觉里程计对灰度图像数据流提取的像素特征,它不包含回环检测、地图复用的功能。因此,它不可避免地会出现累计误差,尽管很小,但不能消除。
在本实施例中,容易理解的是,该光流法是指一种简单实用的图像运动的表达方式,定义为一个图像序列中的图像亮度模式的表观运动,即空间物体表面上的点的运动速度在视觉传感器的成像平面上的表达。
步骤S30,依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿;
在本实施例中,可依据DSO匹配对在灰度图像数据流中的位置信息,结合最小化光度误差化,计算得到头盔本体当前的初始位姿。最小化光度误差即最小化图像灰度强度的误差,通过双目鱼眼摄像头基于直接法对灰度图像数据流进行观测,确定不同视角的两幅图像匹配的像素或者图像块(即本实施例的DSO匹配对),基于灰度不变假设原理,建立匹配像素或者图像块的像素强度的代价函数,通过最小二乘法迭代优化计算,最终求取出头盔本体当前的初始位姿。在本实施例中,该代价函数和最小二乘法,本领域技术人员已有一定深入的研究,在此不再赘述。
步骤S40,对所述初始位姿进行动态优化,得到目标优化位姿。
在本实施例中,可采用最小化重投影误差法对初始位姿进行动态优化,得到目标优化位姿。本领域技术人员可以理解的是,在计算机视觉中,基于特征法的SLAM经常会用到最小化重投影误差(Reprojection error)法。比如在计算平面单应矩阵和投影矩阵的时候,往往会使用最小化重投影误差来构造代价函数,然后最小化这个代价函数,以优化单应矩阵或者投影矩阵。之所以使用最小化重投影误差法,是因为它不光考虑了单应矩阵的计算误差,也考虑了图像点的测量误差,所以其精度会更高。通过用最小化重投影误差法对所述初始位姿进行动态优化,使视觉图像中的像素坐标(观测到的投影位置)按照当前估计的位姿进行投影得到的位置误差最小。
本实施例通过使用直接法估计头盔本体当前的初始位姿,由于在长时间跟踪后容易产生累计误差,此时可以通过跟踪地图点,将当前图像中观察到的地图点投影到当前帧中,通过计算最小化重投影误差的方式来消除累计误差,将滑动窗口中所有帧观测到的特征点记为地图点,然后将所有地图点根据当前帧的初始位姿投影到当前帧,得到当前帧中特征点与地图点的匹配关系。为了使投影位置更加精确,使重投影误差计算有一个良好的初值,本实施例可通过构建特征点位置与地图点的投影坐标的光度误差函数来优化当前帧中所有投影点的位置。
在本实施例中,由于受到特征法视觉里程计与直接法视觉里程计缺点的影响,本实施例通过获取双目鱼眼摄像头依据时序性采集的视觉图像数据流,对视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流,并识别该灰度图像数据流中的DSO特征,基于光流法对所述DSO特征进行特征匹配处理,得到DSO匹配对,然后依据DSO匹配对在灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿,从而通过应用稀疏直接法节省了特征点提取和特征点匹配的时间,具有更好的实时性,并且在缺乏角点的弱纹理视觉环境中具有更良好的表现,并可通过采用最小化重投影误差法对该初始位姿进行动态优化,得到目标优化位姿,从而通过应用特征法的闭环检测显著减少了旋转、平移和尺度漂移等累积误差,实时性更佳,实现不仅在缺乏角点或者纹理较少的视觉环境中具有较强的鲁棒性,而且基于最小化重投影误差法对初始位姿进行的动态优化,可显著提高在光照变化较大的视觉环境中进行运动的位姿定位精度,融合了直接法和特征法视觉里程计的优点,进而在视觉环境复杂的情况下,能更好地提升视觉SLAM的位姿定位精度。
在一种可实施的方式中,所述依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿的步骤包括:
步骤A10,采用逆向光流法对所述DSO匹配对进行校准,得到DSO校准对;
步骤A20,依据所述DSO校准对在所述灰度图像数据流中的位置信息,结合最小化光度误差法计算得到所述头盔本体当前的初始位姿。
在本实施例中,本领域技术人员可以理解的是,逆向光流法也称为反向光流法,逆向光流法就是前面所述光流法(即正向光流法)的逆向,也就是交换一下方向,现在是从灰度图像数据流中第一时刻的A位置反向回到第二时刻的B位置,其中,第二时刻早于第一时刻,也就是从运动之后的A位置变换回运动前的B位置。
在本实施例中,通过双目鱼眼摄像头获取到最新一帧的图像之后,首先使用光流法跟踪前一个图像中的特征点,得到它们在当前图像中的位置信息,并且使用逆向光流法去除误匹配的特征点对,然后根据最小化光度误差来计算头盔本体当前的初始位姿,从而使得当发生大尺度移动和旋转时,可以很好的跟踪,提升了视觉SLAM的位姿定位精度,并且此过程不需要提取特征和进行描述子匹配,在减少计算量的同时,还能在纹理较少的环境中提高鲁棒性。
在一种可能的实施方式中,所述对所述初始位姿进行动态优化,得到目标优化位姿的步骤包括:
步骤B10,从所述DSO校准对中提取ORB特征描述子和LBD特征描述子,并对所述ORB特征描述子和所述LBD特征描述子进行聚类,得到所述灰度图像数据流中的点线特征对;
步骤B20,依据所述点线特征对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿。
在本实施例中,本领域技术人员可知的是,ORB(Oriented FAST and RotatedBRIEF,点特征提取和描述)特征描述子,以用来对图像中的关键点快速创建特征向量,这些特征向量可以用来识别图像中的对象。LBD(Line detection and description,线点特征提取和描述)特征描述子,以用来对图像中的关键线快速创建特征向量,这些特征向量可以用来识别图像中的对象。
在本实施例中,使用ORB点特征描述子和线特征LBD描述子,构建点线特征综合视觉模型。因为ORB点特征描述子和LBD线特征描述子都是256位的二进制向量,可使用Kmeans算法分别对点、线特征描述子进行聚类。
在本实施例中,ORB点特征提取和匹配计算量比较大,花费比较多的时间,在环境特征过少时,无法正常工作,构建的环境地图比较稀疏。而LBD线特征法在环境质感不佳或纹理较少时,相比点特征具有较高的鲁棒性,并且运动过大时,也具有较高的鲁棒性,但是LBD线特征的提取和匹配,相比ORB点特征法,计算量较大。
在本实施例中,由于直接法在纹理较少的环境(例如,白墙、白桌面、透明玻璃等)中,具有较高的精度和较好的鲁棒性,并且不需要计算描述子和匹配特征点,节省很大计算量,可以用于构建半稠密甚至稠密的场景。但是直接法灰度不变假设,容易受光照影响,并且发生大尺度移动和旋转(例如,旋转速度超过2m/s时)时无法很好的跟踪。例如,而点线特征融合的方法在运动过大时,相比直接法具有较高的鲁棒性,并且兼具了点特征和线特征法的优点,克服了单用直接法的缺点和单用线特征法的缺点。
在本实施例中,使用直接法估计初始位姿,在长时间跟踪后容易产生累计误差,因此本实施例通过从DSO校准对中提取ORB特征描述子和LBD特征描述子,并对ORB特征描述子和LBD特征描述子进行聚类,得到灰度图像数据流中的点线特征对,并依据点线特征对在灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿,从而引入线特征与点特征结合的视觉定位技术,能够很好地克服点特征在弱纹理走廊、光线剧烈变化等场景失效的问题,且通过视觉点线特征紧耦合的机制,能克服纯视觉在快速运动、旋转等情况自主定位失效问题,提升了VST头显设备即时定位系统的精度和鲁棒性,显著减少了旋转、平移与尺度漂移等累积误差,有效缓解了特征点不稳定和弱纹理带来的跟丢问题。
本实施例通过融合特征法和直接法的SLAM定位方法,可呈现强弱纹理自适应的效果。其中,强弱纹理自适应指的是:当场景处于强纹理时,环境中存在着较多的角点,这时融合后的SLAM可呈现出接近于纯特征法的效果(此时纯直接法的SLAM精度没有纯特征法的高),而当场景处于弱纹理时,环境中缺乏角点,只存在一些光度变化较为明显的区域,这时融合后的SLAM可呈现出接近于纯直接法的效果(纯特征法的SLAM此时会失效),保留了ORB特征,使得融合后的SLAM具备回环检测(可消除累积误差)的功能,这点是纯直接法所不具备的。
进一步地,所述VST头显设备还包括固连于所述头盔本体的IMU传感器,所述对所述ORB特征描述子和所述LBD特征描述子进行聚类,得到所述灰度图像数据流中的点线特征对的步骤之后包括:
步骤C10,基于所述IMU传感器采集所述头盔本体当前的惯性测量数据,并对所述惯性测量数据进行预积分,得到惯导位姿变换数据;
在本实施例中,所述IMU(Inertial measurement unit,惯性测量单元)传感器包括加速度计和陀螺仪,所述惯性测量数据可包括头盔本体的空间位姿相对运动向量,例如位移和角度。
在本实施例中,由于惯性测量单元与双目鱼眼摄像头采集数据的频率不同,可以使用流形预积分的方式在离散时间对惯性测量数据进行预积分,将惯性测量数据与图像帧中视觉观测数据对齐。
步骤C20,依据所述惯导位姿变换数据,校准所述灰度图像数据流中的所述点线特征对,得到惯导校准对;
在本实施例中,IMU传感器可以测量得到角速度和加速度,但是IMU传感器在获取惯性测量数据时会产生测量偏差和噪声,由于在实际使用的情况中,IMU传感器的数据采集频率要远大于摄像头采集数据的频率,因此需要在离散的时间下对IMU传感器采集的惯性测量数据进行预积分处理。例如可采用一种中值积分的方法对惯性测量数据进行预积分处理,即对于k帧和k+1帧二者之间的位姿可以使用两帧之间IMU传感器采集到的所有数据的平均值表示,也就是i时刻与i+1时刻之间的所有惯性测量数据的平均值。
在本实施例中,由于每次计算新的图像帧的位姿,都需要对所有惯性测量数据进行积分处理,因此增加了系统的计算量,会导致SLAM系统的运行效率降低。采用IMU预积分可以通过计算两帧之间的增量更新积分值,以降低VST头显设备中SLAM系统的计算量。在连续时间下,IMU预积分的值只与不同时刻的IMU的测量值和IMU偏差有关。
所述依据所述点线特征对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿的步骤包括:
步骤C30,依据所述惯导校准对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿。
本实施例通过基于IMU传感器采集头盔本体当前的惯性测量数据,并对惯性测量数据进行预积分,得到惯导位姿变换数据,并依据该惯导位姿变换数据,校准灰度图像数据流中的该点线特征对,得到惯导校准对,然后依据该惯导校准对在灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到头盔本体当前的目标优化位姿,从而利用IMU信息预测点线特征在图像像素坐标系下的位置变化,剔除投影到图像坐标系之外的点特征匹配、长度相差较大的线特征匹配,以及运动的线特征,提高了点线特征匹配的准确性,并根据前后图像帧上线特征与点特征的匹配情况,跟踪线程采用pose-only的非线性优化方式,对当前帧的位姿进行优化,得到头盔本体当前的目标优化位姿。
本实施例在基于特征法的SLAM和基于直接法的SLAM进行融合的基础上,提出一种视觉惯导融合的视觉SLAM框架。在该融合算法中,利用光流法进行运动跟踪得到头盔本体的初始姿态,并将地图点投影到当前帧中,通过构建重投影误差函数估计位姿,同时利用IMU的瞬时高精度测量数据来弥补稳健性较低的视觉数据,以及利用长时间视觉数据的相对稳健性来抑制IMU数据的累计漂移误差。
实施例二
基于本申请第一实施例,在本申请另一实施例中,与上述实施例一相同或相似的内容,可以参考上文介绍,后续不再赘述。在此基础上,请参照图3,所述对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流的步骤之后包括:
步骤S50,将所述灰度图像数据流输入至直接法里程计的前端约束中,选取得到关键帧;
步骤S60,累计所述关键帧的数量;
步骤S70,若所述关键帧的数量达到预设数量阈值,则触发所述关键帧的视觉重定位,将所述视觉重定位的结果,添加至所述直接法里程计的后端约束中,并将累计的所述关键帧的数量清零。
在本实施例中,来自双目鱼眼摄像头的图像数据流每帧图像帧输入至直接法里程计,直接法里程计前端对输入的图像帧进行处理,直接法里程计进行前端跟踪,根据里程计的运动状态触发视觉重定位,视觉重定位通过对当前帧的图像特征点和离线构建的特征地图进行匹配,对匹配的特征点进行求解得到当前帧的重定位结果,对重定位结果进行置信度计算,将计算得到的置信度作为融合重定位结果到直接法里程计的权重,然后基于相邻重定位之间的所有关键帧进行局部图优化,将局部图优化结果按照权重进行加权后作为约束添加至直接法里程计的后端优化窗口中,直接法里程计后端基于当前重定位所融合结果进行后端优化。在直接法里程计方法中,通常将获得头盔本体位姿初值的过程称为直接法前端,基于头盔本体位姿初值进行迭代优化的过程称为直接法后端。
由于在直接法里程计运行过程中,累积误差会逐渐增大,本实施例通过将灰度图像数据流输入至直接法里程计的前端约束中,选取得到关键帧,并累计所述关键帧的数量,若关键帧的数量达到预设数量阈值,则触发关键帧的视觉重定位,将视觉重定位的结果,添加至所述直接法里程计的后端约束中,并将累计的所述关键帧的数量清零,从而定期地进行重定位,融合重定位结果来消除累积误差,限制处理数据的规模减少计算量,滑动窗口中仅维持少量的图像帧,提高了VST头显设备中SLAM系统的运行效率。
在一种可能的实施方式中,所述依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿的步骤包括:
步骤D10,将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,得到消除累积误差后的所述位置信息;
步骤D20,依据消除累积误差后的所述位置信息,结合最小化光度误差法计算得到所述头盔本体当前的初始位姿。
在本实施例中,当无重定位结果时,目标函数即为最小化光度误差,当有重定位结果时,目标函数即为最小化光度误差和视觉重定位结果的融合误差,最小化融合误差。将视觉重定位结果的约束融合到直接法里程计中构造优化目标函数。在本发明实施例融合并不是简单的加权平均,而是一个紧耦合过程,即,将重定位结果作为约束添加到直接法里程计的后端约束中。
本实施例通过将DSO匹配对在灰度图像数据流中的位置信息输入至后端约束中,得到消除累积误差后的位置信息,然后依据消除累积误差后的位置信息,结合最小化光度误差法计算得到头盔本体当前的初始位姿,从而减少SLAM位姿计算的累计误差,进一步提升了视觉SLAM的位姿定位精度。
进一步地,所述将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,得到消除累积误差后的所述位置信息的步骤包括:
步骤E10,将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,基于所述后端约束,对所述DSO匹配对在所述灰度图像数据流中的位置信息进行跟踪匹配,识别出所述灰度图像数据流中的关键帧和冗余帧;
步骤E20,从所述灰度图像数据流中剔除所述冗余帧,并将所述关键帧中的所述DSO匹配对的帧间估计坐标信息,作为消除累积误差后的所述位置信息。
在本实施例中,当视觉重定位被触发时,对图像数据流的当前帧进行图像预处理,并进行特征点提取。所述图像预处理包括,图像去畸变、高斯模糊、构建高斯金字塔、特征点和描述子提取等。进一步地,本实施例还可对重定位结果进行置信度计算。由于环境中的干扰因素非常多,当前场景并不一定适合重定位,比如白色墙壁、雷同的长廊等,这使得重定位结果并不是那么可靠。而错误的重定位结果融合到里程计中反而会将里程计带偏。所以需要对重定位结果进行置信度计算,确保融合结果的可靠性。
本实施例通过将DSO匹配对在灰度图像数据流中的位置信息输入至所述后端约束中,基于后端约束,对DSO匹配对在灰度图像数据流中的位置信息进行跟踪匹配,识别出灰度图像数据流中的关键帧和冗余帧,并从所述灰度图像数据流中剔除冗余帧,再将关键帧中的所述DSO匹配对的帧间估计坐标信息,作为消除累积误差后的所述位置信息,从而利用IMU信息预测点线特征在图像像素坐标系下的位置变化,剔除投影到图像坐标系之外的点特征匹配、长度相差较大的线特征匹配,以及运动的线特征,提高了点线特征匹配的准确性,融合重定位结果来消除累积误差,限制处理数据的规模减少计算量,滑动窗口中仅维持少量的图像帧,提高了VST头显设备中SLAM系统的运行效率。
实施例三
本发明实施例还提供一种SLAM定位装置,所述SLAM定位装置应用于VST头显设备,所述VST头显设备包括头盔本体,以及固连于所述头盔本体的双目鱼眼摄像头,所述SLAM定位装置包括:
视觉图像获取模块,用于获取所述双目鱼眼摄像头依据时序性采集的视觉图像数据流,对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流;
直接法位姿标定模块,用于识别所述灰度图像数据流中的DSO特征,基于光流法对所述DSO特征进行特征匹配处理,得到DSO匹配对;
所述直接法位姿标定模块,还用于依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿;
特征法位姿优化模块,用于对所述初始位姿进行动态优化,得到目标优化位姿。
可选地,所述直接法位姿标定模块,还用于:
采用逆向光流法对所述DSO匹配对进行校准,得到DSO校准对;
依据所述DSO校准对在所述灰度图像数据流中的位置信息,结合最小化光度误差法计算得到所述头盔本体当前的初始位姿。
可选地,所述特征法位姿优化模块,还用于:
从所述DSO校准对中提取ORB特征描述子和LBD特征描述子,并对所述ORB特征描述子和所述LBD特征描述子进行聚类,得到所述灰度图像数据流中的点线特征对;
依据所述点线特征对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿。
可选地,所述VST头显设备还包括固连于所述头盔本体的IMU传感器,述特征法位姿优化模块,还用于:
基于所述IMU传感器采集所述头盔本体当前的惯性测量数据,并对所述惯性测量数据进行预积分,得到惯导位姿变换数据;
依据所述惯导位姿变换数据,校准所述灰度图像数据流中的所述点线特征对,得到惯导校准对;
依据所述惯导校准对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿。
可选地,所述视觉图像获取模块,还用于:
将所述灰度图像数据流输入至直接法里程计的前端约束中,选取得到关键帧;
累计所述关键帧的数量;
若所述关键帧的数量达到预设数量阈值,则触发所述关键帧的视觉重定位,将所述视觉重定位的结果,添加至所述直接法里程计的后端约束中,并将累计的所述关键帧的数量清零。
可选地,所述直接法位姿标定模块,还用于:
将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,得到消除累积误差后的所述位置信息;
依据消除累积误差后的所述位置信息,结合最小化光度误差法计算得到所述头盔本体当前的初始位姿。
可选地,所述直接法位姿标定模块,还用于:
将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,基于所述后端约束,对所述DSO匹配对在所述灰度图像数据流中的位置信息进行跟踪匹配,识别出所述灰度图像数据流中的关键帧和冗余帧;
从所述灰度图像数据流中剔除所述冗余帧,并将所述关键帧中的所述DSO匹配对的帧间估计坐标信息,作为消除累积误差后的所述位置信息。
本发明实施例提供的SLAM定位装置,采用上述实施例一或实施例二中的SLAM定位方法,解决了如何在视觉环境复杂的情况下,更好地提升视觉SLAM的位姿定位精度的技术问题。与现有技术相比,本发明实施例提供的SLAM定位装置的有益效果与上述实施例提供的SLAM定位方法的有益效果相同,且所述SLAM定位装置中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
实施例四
本发明实施例提供一种电子设备,电子设备包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例一中的SLAM定位方法。
下面参考图4,其示出了适于用来实现本公开实施例的电子设备的结构示意图。本公开实施例中的电子设备可以包括但不限于混合现实(Mixed Reality)—MR头显设备、增强现实(Augmented Reality)—AR头显设备、虚拟现实-(VirtualReality)—VR头显设备、扩展现实(Extended Reality)—XR头显设备或其某种组合等等VST头显设备。图4示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图4所示,电子设备可以包括处理装置(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)中的程序或者从存储装置加载到随机访问存储器(RAM)中的程序而执行各种适当的动作和处理。在RAM中,还存储有电子设备操作所需的各种程序和数据。处理装置、ROM以及RAM通过总线彼此相连。输入/输出(I/O)接口也连接至总线。
通常,以下系统可以连接至I/O接口:包括例如触摸屏、触摸板、键盘、鼠标、图像传感器、麦克风、加速度计、陀螺仪等的输入装置;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置;包括例如磁带、硬盘等的存储装置;以及通信装置。通信装置可以允许电子设备与其他设备进行无线或有线通信以交换数据。虽然图中示出了具有各种系统的电子设备,但是应理解的是,并不要求实施或具备所有示出的系统。可以替代地实施或具备更多或更少的系统。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
本发明提供的电子设备,采用上述实施例一或实施例二中的SLAM定位方法,解决了如何在视觉环境复杂的情况下,更好地提升视觉SLAM的位姿定位精度的技术问题。与现有技术相比,本发明实施例提供的电子设备的有益效果与上述实施例一提供的SLAM定位方法的有益效果相同,且该电子设备中的其他技术特征与上一实施例方法公开的特征相同,在此不做赘述。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
实施例五
本发明实施例提供一种计算机可读存储介质,具有存储在其上的计算机可读程序指令,计算机可读程序指令用于执行上述实施例一中的SLAM定位方法。
本发明实施例提供的计算机可读存储介质例如可以是U盘,但不限于电、磁、光、电磁、红外线、或半导体的系统、系统或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、系统或者器件使用或者与其结合使用。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读存储介质可以是电子设备中所包含的;也可以是单独存在,而未装配入电子设备中。
上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被电子设备执行时,使得电子设备:获取双目鱼眼摄像头依据时序性采集的视觉图像数据流,对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流;识别所述灰度图像数据流中的DSO特征,基于光流法对所述DSO特征进行特征匹配处理,得到DSO匹配对;依据所述DSO匹配对在所述灰度图像数据流中的位置信息,结合最小化光度误差法计算得到头盔本体当前的初始位姿;对所述初始位姿进行动态优化,得到目标优化位姿。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块的名称在某种情况下并不构成对该单元本身的限定。
本发明提供的计算机可读存储介质,存储有用于执行上述SLAM定位方法的计算机可读程序指令,解决了如何在视觉环境复杂的情况下,更好地提升视觉SLAM的位姿定位精度的技术问题。与现有技术相比,本发明实施例提供的计算机可读存储介质的有益效果与上述实施例一或实施例二提供的SLAM定位方法的有益效果相同,在此不做赘述。
实施例六
本发明实施例还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述的SLAM定位方法的步骤。
本申请提供的计算机程序产品解决了如何在视觉环境复杂的情况下,更好地提升视觉SLAM的位姿定位精度的技术问题。与现有技术相比,本发明实施例提供的计算机程序产品的有益效果与上述实施例一或实施例二提供的SLAM定位方法的有益效果相同,在此不做赘述。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利处理范围内。
Claims (10)
1.一种SLAM定位方法,其特征在于,所述SLAM定位方法应用于VST头显设备,所述VST头显设备包括头盔本体,以及固连于所述头盔本体的双目鱼眼摄像头,所述SLAM定位方法包括:
获取所述双目鱼眼摄像头依据时序性采集的视觉图像数据流,对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流;
识别所述灰度图像数据流中的DSO特征,基于光流法对所述DSO特征进行特征匹配处理,得到DSO匹配对;
依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿;
对所述初始位姿进行动态优化,得到目标优化位姿。
2.如权利要求1所述的SLAM定位方法,其特征在于,所述依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿的步骤包括:
采用逆向光流法对所述DSO匹配对进行校准,得到DSO校准对;
依据所述DSO校准对在所述灰度图像数据流中的位置信息,结合最小化光度误差法计算得到所述头盔本体当前的初始位姿。
3.如权利要求2所述的SLAM定位方法,其特征在于,所述对所述初始位姿进行动态优化,得到目标优化位姿的步骤包括:
从所述DSO校准对中提取ORB特征描述子和LBD特征描述子,并对所述ORB特征描述子和所述LBD特征描述子进行聚类,得到所述灰度图像数据流中的点线特征对;
依据所述点线特征对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿。
4.如权利要求3所述的SLAM定位方法,其特征在于,所述VST头显设备还包括固连于所述头盔本体的IMU传感器,所述对所述ORB特征描述子和所述LBD特征描述子进行聚类,得到所述灰度图像数据流中的点线特征对的步骤之后包括:
基于所述IMU传感器采集所述头盔本体当前的惯性测量数据,并对所述惯性测量数据进行预积分,得到惯导位姿变换数据;
依据所述惯导位姿变换数据,校准所述灰度图像数据流中的所述点线特征对,得到惯导校准对;
所述依据所述点线特征对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿的步骤包括:
依据所述惯导校准对在所述灰度图像数据流中的位置信息,结合视觉重投影误差法计算得到所述头盔本体当前的目标优化位姿。
5.如权利要求1所述的SLAM定位方法,其特征在于,所述对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流的步骤之后包括:
将所述灰度图像数据流输入至直接法里程计的前端约束中,选取得到关键帧;
累计所述关键帧的数量;
若所述关键帧的数量达到预设数量阈值,则触发所述关键帧的视觉重定位,将所述视觉重定位的结果,添加至所述直接法里程计的后端约束中,并将累计的所述关键帧的数量清零。
6.如权利要求5所述的SLAM定位方法,其特征在于,所述依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿的步骤包括:
将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,得到消除累积误差后的所述位置信息;
依据消除累积误差后的所述位置信息,结合最小化光度误差法计算得到所述头盔本体当前的初始位姿。
7.如权利要求6所述的SLAM定位方法,其特征在于,所述将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,得到消除累积误差后的所述位置信息的步骤包括:
将所述DSO匹配对在所述灰度图像数据流中的位置信息输入至所述后端约束中,基于所述后端约束,对所述DSO匹配对在所述灰度图像数据流中的位置信息进行跟踪匹配,识别出所述灰度图像数据流中的关键帧和冗余帧;
从所述灰度图像数据流中剔除所述冗余帧,并将所述关键帧中的所述DSO匹配对的帧间估计坐标信息,作为消除累积误差后的所述位置信息。
8.一种SLAM定位装置,其特征在于,所述SLAM定位装置应用于VST头显设备,所述VST头显设备包括头盔本体,以及固连于所述头盔本体的双目鱼眼摄像头,所述SLAM定位装置包括:
视觉图像获取模块,用于获取所述双目鱼眼摄像头依据时序性采集的视觉图像数据流,对所述视觉图像数据流的各图像帧进行灰度化处理得到灰度图像数据流;
直接法位姿标定模块,用于识别所述灰度图像数据流中的DSO特征,基于光流法对所述DSO特征进行特征匹配处理,得到DSO匹配对;
所述直接法位姿标定模块,还用于依据所述DSO匹配对在所述灰度图像数据流中的位置信息,确定所述头盔本体当前的初始位姿;
特征法位姿优化模块,用于对所述初始位姿进行动态优化,得到目标优化位姿。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7中任一项所述SLAM定位方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有实现SLAM定位方法的程序,所述实现SLAM定位方法的程序被处理器执行以实现如权利要求1至7中任一项所述SLAM定位方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210611948.5A CN114972514A (zh) | 2022-05-30 | 2022-05-30 | Slam定位方法、装置、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210611948.5A CN114972514A (zh) | 2022-05-30 | 2022-05-30 | Slam定位方法、装置、电子设备和可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114972514A true CN114972514A (zh) | 2022-08-30 |
Family
ID=82957676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210611948.5A Pending CN114972514A (zh) | 2022-05-30 | 2022-05-30 | Slam定位方法、装置、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114972514A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257134A (zh) * | 2023-02-09 | 2023-06-13 | 上海鱼微阿科技有限公司 | 非惯性参考系下手柄头盔追踪方法、装置、设备及介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109493385A (zh) * | 2018-10-08 | 2019-03-19 | 上海大学 | 一种结合场景点线特征的移动机器人室内自主定位方法 |
CN109544636A (zh) * | 2018-10-10 | 2019-03-29 | 广州大学 | 一种融合特征点法和直接法的快速单目视觉里程计导航定位方法 |
CN110866496A (zh) * | 2019-11-14 | 2020-03-06 | 合肥工业大学 | 基于深度图像的机器人定位与建图方法和装置 |
CN111060115A (zh) * | 2019-11-29 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于图像边缘特征的视觉slam方法及系统 |
CN111862150A (zh) * | 2020-06-19 | 2020-10-30 | 杭州易现先进科技有限公司 | 图像跟踪的方法、装置、ar设备和计算机设备 |
CN112419497A (zh) * | 2020-11-13 | 2021-02-26 | 天津大学 | 基于单目视觉的特征法与直接法相融合的slam方法 |
CN112541423A (zh) * | 2020-12-09 | 2021-03-23 | 北京理工大学重庆创新中心 | 一种同步定位与地图构建方法和系统 |
-
2022
- 2022-05-30 CN CN202210611948.5A patent/CN114972514A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109493385A (zh) * | 2018-10-08 | 2019-03-19 | 上海大学 | 一种结合场景点线特征的移动机器人室内自主定位方法 |
CN109544636A (zh) * | 2018-10-10 | 2019-03-29 | 广州大学 | 一种融合特征点法和直接法的快速单目视觉里程计导航定位方法 |
CN110866496A (zh) * | 2019-11-14 | 2020-03-06 | 合肥工业大学 | 基于深度图像的机器人定位与建图方法和装置 |
CN111060115A (zh) * | 2019-11-29 | 2020-04-24 | 中国科学院计算技术研究所 | 一种基于图像边缘特征的视觉slam方法及系统 |
CN111862150A (zh) * | 2020-06-19 | 2020-10-30 | 杭州易现先进科技有限公司 | 图像跟踪的方法、装置、ar设备和计算机设备 |
CN112419497A (zh) * | 2020-11-13 | 2021-02-26 | 天津大学 | 基于单目视觉的特征法与直接法相融合的slam方法 |
CN112541423A (zh) * | 2020-12-09 | 2021-03-23 | 北京理工大学重庆创新中心 | 一种同步定位与地图构建方法和系统 |
Non-Patent Citations (2)
Title |
---|
JIAWEI MO等: ""Fast Direct Stereo Visual SLAM"", 《IEEE ROBOTICS AND AUTOMATION LETTERS》, 10 December 2021 (2021-12-10), pages 778 - 785, XP011894043, DOI: 10.1109/LRA.2021.3133860 * |
汝少楠等: ""基于稀疏直接法闭环检测定位的视觉里程计"", 《广东工业大学学报》, 31 May 2021 (2021-05-31), pages 48 - 54 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116257134A (zh) * | 2023-02-09 | 2023-06-13 | 上海鱼微阿科技有限公司 | 非惯性参考系下手柄头盔追踪方法、装置、设备及介质 |
CN116257134B (zh) * | 2023-02-09 | 2024-04-09 | 玩出梦想(上海)科技有限公司 | 非惯性参考系下手柄头盔追踪方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110322500B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
WO2019242262A1 (zh) | 基于增强现实的远程指导方法、装置、终端和存储介质 | |
CN105678748B (zh) | 三维监控系统中基于三维重构的交互式标定方法和装置 | |
CN108805917B (zh) | 空间定位的方法、介质、装置和计算设备 | |
CN109506642B (zh) | 一种机器人多相机视觉惯性实时定位方法及装置 | |
JP6198230B2 (ja) | 深度カメラを使用した頭部姿勢トラッキング | |
WO2018140107A1 (en) | System for 3d image filtering | |
US9406171B2 (en) | Distributed aperture visual inertia navigation | |
JP2002259992A (ja) | 画像処理装置およびその方法並びにプログラムコード、記憶媒体 | |
US20160210761A1 (en) | 3d reconstruction | |
CN111899276A (zh) | 一种基于双目事件相机的slam方法及系统 | |
US20210377515A1 (en) | Information processing device, information processing method, and program | |
CN110544278B (zh) | 刚体运动捕捉方法及装置、agv位姿捕捉系统 | |
CN110969706B (zh) | 增强现实设备及其图像处理方法、系统以及存储介质 | |
CN113610702B (zh) | 一种建图方法、装置、电子设备及存储介质 | |
CN114972514A (zh) | Slam定位方法、装置、电子设备和可读存储介质 | |
CN111476907A (zh) | 基于虚拟现实技术的定位及三维场景重建装置、方法 | |
US10540809B2 (en) | Methods and apparatus for tracking a light source in an environment surrounding a device | |
CN117232499A (zh) | 多传感器融合的点云地图构建方法、装置、设备及介质 | |
US11941851B2 (en) | Systems and methods for calibrating imaging and spatial orientation sensors | |
CN114327072A (zh) | 真实人物和mr虚拟环境中虚拟物体的动作触发交互方法 | |
CN111489376B (zh) | 跟踪交互设备的方法、装置、终端设备及存储介质 | |
CN113822936A (zh) | 数据处理方法、装置、计算机设备及存储介质 | |
Calloway et al. | Global localization and tracking for wearable augmented reality in urban environments | |
CN112880687B (zh) | 一种室内定位方法、装置、设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |