CN116266382A - 一种slam前端跟踪失败重定位方法及装置 - Google Patents
一种slam前端跟踪失败重定位方法及装置 Download PDFInfo
- Publication number
- CN116266382A CN116266382A CN202111552620.2A CN202111552620A CN116266382A CN 116266382 A CN116266382 A CN 116266382A CN 202111552620 A CN202111552620 A CN 202111552620A CN 116266382 A CN116266382 A CN 116266382A
- Authority
- CN
- China
- Prior art keywords
- image frame
- current image
- point cloud
- current
- matching
- 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 53
- 230000002159 abnormal effect Effects 0.000 claims abstract description 17
- 230000000007 visual effect Effects 0.000 abstract description 32
- 230000003287 optical effect Effects 0.000 abstract description 24
- 230000001427 coherent effect Effects 0.000 abstract description 4
- 230000001133 acceleration Effects 0.000 description 24
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 13
- 230000033001 locomotion Effects 0.000 description 13
- 238000001514 detection method Methods 0.000 description 11
- 230000003993 interaction Effects 0.000 description 10
- 238000005286 illumination Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 230000004438 eyesight Effects 0.000 description 4
- 230000005484 gravity Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 239000011521 glass Substances 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 239000000725 suspension Substances 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000010287 polarization Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003238 somatosensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000016776 visual perception Effects 0.000 description 1
- 230000002618 waking effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/006—Mixed reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- 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/10028—Range image; Depth image; 3D point clouds
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本实施例提供一种SLAM前端跟踪失败重定位方法及设备,在进行定位时通过摄像装置获取当前图像帧和历史图像帧。跟踪状态为不正常时,对当前图像帧和历史点云进行特征点匹配。特征点匹配成功时,利用PnP计算摄像装置的当前位姿信息。特征点匹配不成功时,利用IMU计算摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。在光流跟踪跟丢的情况下,能够利用特征点匹配寻找前后帧特征点的匹配关系,以使重新产生视觉约束。或者利用IMU计算摄像装置的当前位姿信息,以保证稳定输出位姿,使得输出的轨迹保持连贯。从而实现即使视觉跟踪失败,也无需重启***,提升用户使用体验。
Description
技术领域
本申请涉及计算机视觉技术领域,尤其涉及一种SLAM前端跟踪失败重定位方法及装置。
背景技术
AR(增强现实技术,Augmented Reality)技术是计算机在现实影像上叠加相应的图像技术,利用虚拟世界套入现实世界并与之进行互动,达到″增强″现实的目的。VR(虚拟现实,Virtual Reality)技术是在计算机上生成一个三维空间,并利用这个空间提供给使用者关于视觉、听觉、触觉等感官的虚拟。AR/VR技术构建了数字的三维世界,SLAM(同步定位与建图技术,Conditional Access Module)则提供了三维数字世界的空间定位功能。
目前常用的SLAM技术包括视觉SLAM、激光SLAM等。视觉SLAM主要是基于相机来完成环境的感知工作。视觉SLAM包括传感器信息读取、前端视觉里程计、后端优化、回环检测、建图等步骤。其中,前端视觉里程计不仅提供了连续两帧特征点之间的匹配关系,还需要计算当前帧的初始位姿。目前较常将光流跟踪作为前端视觉里程计。
然而,在实际应用中,存在一些复杂的场景,例如光照变化剧烈或者摄像头被遮挡。在这些场景中,光流跟踪可能会跟丢,即对当前图像帧跟踪上的特征点较少。这使得当前图像帧失去与历史图像帧的视觉约束,为了能准确定位只能重启AR/VR***,最终导致用户对AR/VR设备的使用体验较差。
发明内容
本申请提供了一种SLAM前端跟踪失败重定位方法及装置,用于解决在实际应用中,存在一些复杂的场景,例如光照变化剧烈或者摄像头被遮挡。在这些场景中,光流跟踪可能会跟丢,即对当前图像帧跟踪上的特征点较少。这使得当前图像帧失去与历史图像帧的视觉约束,为了能准确定位只能重启AR/VR***,最终导致用户对AR/VR设备的使用体验较差的问题。
第一方面,本实施例提供一种SLAM前端跟踪失败重定位方法,所述方法包括:从摄像装置获取当前图像帧和历史图像帧,其中,所述当前图像帧为所述摄像装置扫描目标区域之后得到的图像帧,所述历史图像帧为所述当前图像帧的上一图像帧;
在根据所述当前图像帧和所述历史图像帧判断跟踪状态为不正常时,从后端滑窗获取历史点云,以及对所述当前图像帧和所述历史点云进行特征点匹配;
在所述当前图像帧和所述历史点云特征点匹配成功时,利用PnP计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位;
在所述当前图像帧和所述历史点云特征点匹配不成功时,利用IMU计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。
第二方面,本实施例提供一种SLAM前端跟踪失败重定位装置,包括:
图像帧获取单元,用于执行:从摄像装置获取当前图像帧和历史图像帧,其中,所述当前图像帧为所述摄像装置扫描目标区域之后得到的图像帧,所述历史图像帧为所述当前图像帧的上一图像帧;
特征点匹配单元,用于执行:在根据所述当前图像帧和所述历史图像帧判断跟踪状态为不正常时,从后端滑窗获取历史点云,以及对所述当前图像帧和所述历史点云进行特征点匹配;
重定位单元,用于执行:
在所述当前图像帧和所述历史点云特征点匹配成功时,利用PnP计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位;
在所述当前图像帧和所述历史点云特征点匹配不成功时,利用IMU计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。
本实施例提供的的SLAM前端跟踪失败重定位方法及装置,在进行定位时通过摄像装置获取当前图像帧和历史图像帧,当前图像帧为摄像装置扫描目标区域之后得到的图像帧,历史图像帧为当前图像帧的上一图像帧。在根据当前图像帧和历史图像帧判断跟踪状态为不正常时,从后端滑窗获取历史点云,以及对当前图像帧和历史点云进行特征点匹配。进一步,如果当前图像帧和历史点云特征点匹配成功时,利用PnP计算摄像装置的当前位姿信息。如果当前图像帧和历史点云特征点匹配不成功时,利用IMU计算摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。这样,在光流跟踪跟丢的情况下,能够利用特征点匹配寻找前后帧特征点的匹配关系,以使重新产生视觉约束。或者利用IMU计算摄像装置的当前位姿信息,以保证稳定输出位姿,使得输出的轨迹保持连贯。从而实现即使SLAM前端视觉跟踪失败,也无需重启AR/VR***,提升用户使用体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据一些实施例的包括虚拟现实设备的显示***结构示意图;
图2示出了根据一些实施例的VR场景全局界面示意图;
图3示出了根据一些实施例的全局界面的推荐内容区域示意图;
图4示出了根据一些实施例的全局界面的应用快捷操作入口区域示意图;
图5示出了根据一些实施例的全局界面的悬浮物示意图;
图6示出了根据一些实施例的摄像装置被遮挡场景示意图;
图7示出了根据一些实施例的光照变化剧烈场景示意图;
图8示出了根据一些实施例的视觉SLAM流程示意图;
图9示出了根据一些实施例的一种SLAM前端跟踪失败重定位方法的流程图;
图10示出了根据一些实施例的对当前图像帧和历史点云进行特征点匹配的流程示意图;
图11示出了根据一些实施例中一种SLAM前端跟踪失败重定位装置框架图。
具体实施方式
为使本申请示例性实施例的目的、技术方案和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施例中的技术方案进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。
基于本申请中示出的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整技术方案。
应当理解,本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。
此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。
本申请中使用的术语″模块″,是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
本说明书通篇提及的″多个实施例″、″一些实施例″、″一个实施例″或″实施例″等,意味着结合该实施例描述的具体特征、结构或特性包括在至少一个实施例中。因此,本说明书通篇出现的短语″在多个实施例中″、″在一些实施例中″、″在至少另一个实施例中″或″在实施例中″等并不一定都指相同的实施例。此外,在一个或多个实施例中,具体特征、结构或特性可以任何合适的方式进行组合。因此,在无限制的情形下,结合一个实施例示出或描述的具体特征、结构或特性可全部或部分地与一个或多个其他实施例的特征、结构或特性进行组合。这种修改和变型旨在包括在本申请的范围之内。
本申请的SLAM前端跟踪失败重定位方法及装置均应用于虚拟现实设备。所述虚拟现实设备500泛指能够佩戴于用户面部,为用户提供沉浸感体验的显示设备,包括但不限于VR眼镜、增强现实设备(Augmented Reality,AR)、VR游戏设备、移动计算设备以及其它可穿戴式计算机等。本申请部分实施例以VR眼镜为例对技术方案进行阐述,应当理解的是,所提供的技术方案同时可应用于其他类型的虚拟现实设备。所述虚拟现实设备500可以独立运行,或者作为外接设备接入其他智能显示设备,其中,所述显示设备可以是智能电视、计算机、平板电脑、服务器等。
虚拟现实设备500可以在佩戴于用户面部后,显示媒资画面,为用户双眼提供近距离影像,以带来沉浸感体验。为了呈现媒资画面,虚拟现实设备500可以包括多个用于显示画面和面部佩戴的部件。以VR眼镜为例,虚拟现实设备500可以包括外壳、位置固定件、光学***、显示组件、姿态检测电路、接口电路等部件。实际应用中,光学***、显示组件、姿态检测电路以及接口电路可以设置于外壳内,以用于呈现具体的显示画面;外壳两侧连接位置固定件,以佩戴于用户面部。
在使用时,姿态检测电路中内置有重力加速度传感、陀螺仪等姿态检测元件,当用户头部移动或转动时,可以检测到用户的姿态,并将检测到的姿态数据传递给控制器等处理元件,使处理元件可以根据检测到的姿态数据调整显示组件中的具体画面内容。
如图1所示,在一些实施例中,所示虚拟现实设备500可以接入显示设备200,并与服务器400之间构建一个基于网络的显示***,在虚拟现实设备500、显示设备200以及服务器400之间可以实时进行数据交互,例如显示设备200可以从服务器400获取媒资数据并进行播放,以及将具体的画面内容传输给虚拟现实设备500中进行显示。
其中,显示设备200可以是液晶显示器、OLED显示器、投影显示设备。具体显示设备类型,尺寸大小和分辨率等不作限定,本领技术人员可以理解的是,显示设备200可以根据需要做性能和配置上一些改变。显示设备200可以提供广播接收电视功能,还可以附加提供计算机支持功能的智能网络电视功能,包括但不限于,网络电视、智能电视、互联网协议电视(IPTV)等。
显示设备200以及虚拟现实设备500还与服务器400通过多种通信方式进行数据通信。可允许显示设备200和虚拟现实设备500通过局域网(LAN)、无线局域网(WLAN)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。示例的,显示设备200通过发送和接收信息,以及电子节目指南(EPG)互动,接收软件程序更新,或访问远程储存的数字媒体库。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。通过服务器400提供视频点播和广告服务等其他网络服务内容。
在进行数据交互的过程中,用户可通过移动终端300和遥控器100操作显示设备200。移动终端300和遥控器100可以与显示设备200之间采用直接的无线连接方式进行通信,也可以采用非直接连接的方式进行通信。即在一些实施例中,移动终端300和遥控器100可以通过蓝牙、红外等直接连接方式与显示设备200进行通信。当发送控制指令时,移动终端300和遥控器100可以直接将控制指令数据通过蓝牙或红外发送到显示设备200。
在另一些实施例中,移动终端300和遥控器100还可以通过无线路由器与显示设备200接入同一个无线网络,以通过无线网络与显示设备200建立非直接连接通信。当发送控制指令时,移动终端300和遥控器100可以将控制指令数据先发送给无线路由器,再通过无线路由器将控制指令数据转发给显示设备200。
在一些实施例中,用户还可以使用移动终端300和遥控器100还可以直接与虚拟现实设备500进行交互,例如,可以将移动终端300和遥控器100作为虚拟现实场景中的手柄进行使用,以实现体感交互等功能。
在一些实施例中,虚拟现实设备500的显示组件包括显示屏幕以及与显示屏幕有关的驱动电路。为了呈现具体画面,以及带来立体效果,显示组件中可以包括两个显示屏幕,分别对应于用户的左眼和右眼。在呈现3D效果时,左右两个屏幕中显示的画面内容会稍有不同,可以分别显示3D片源在拍摄过程中的左相机和右相机。由于用户左右眼观察到的画面内容,因此在佩戴时,可以观察到立体感较强的显示画面。
虚拟现实设备500中的光学***,是由多个透镜组成的光学模组。光学***设置在用户的双眼与显示屏幕之间,可以通过透镜对光信号的折射以及透镜上偏振片的偏振效应,增加光程,使显示组件呈现的内容可以清晰的呈现在用户的视野范围内。同时,为了适应不同用户的视力情况,光学***还支持调焦,即通过调焦组件调整多个透镜中的一个或多个的位置,改变多个透镜之间的相互距离,从而改变光程,调整画面清晰度。
虚拟现实设备500的接口电路可以用于传递交互数据,除上述传递姿态数据和显示内容数据外,在实际应用中,虚拟现实设备500还可以通过接口电路连接其他显示设备或外设,以通过和连接设备之间进行数据交互,实现更为复杂的功能。例如,虚拟现实设备500可以通过接口电路连接显示设备,从而将所显示的画面实时输出至显示设备进行显示。又例如,虚拟现实设备500还可以通过接口电路连接手柄,手柄可以由用户手持操作,从而在VR用户界面中执行相关操作。
其中,所述VR用户界面可以根据用户操作呈现为多种不同类型的UI布局。例如,用户界面可以包括全局界面,AR/VR终端启动后的全局UI如图2所示,所述全局UI可显示于AR/VR终端的显示屏幕中,也可显示于所述显示设备的显示器中。全局UI可以包括推荐内容区域1、业务分类扩展区域2、应用快捷操作入口区域3以及悬浮物区域4。
推荐内容区域1用于配置不同分类TAB栏目;在所述栏目中可以选择配置媒资、专题等;所述媒资可包括2D影视、教育课程、旅游、3D、360度全景、直播、4K影视、程序应用、游戏、旅游等具有媒资内容的业务,并且所述栏目可以选择不同的模板样式、可支持媒资和专题同时推荐编排,如图3所示。
在一些实施例中,内容推荐区域1还可以包括主界面和副界面。如图3所示,位于UI布局居中位置的部分是主界面,而位于主界面两侧位置的部分则为副界面。主界面和副界面可以用于分别展示不同的推荐内容。例如,根据推荐的片源类型,可以在主界面显示3D片源的业务;而在左侧的副界面中显示2D片源的业务,在右侧的副界面中显示全景片源的业务。
显然,对于主界面和副界面,可以在显示不同业务内容的同时,呈现为不同的内容布局。并且,用户可以通过特定的交互动作控制切换主界面和副界面。例如,通过控制焦点标志左右移动,使焦点标志在主界面最右侧时再向右移动,可以将控制右侧的副界面显示在UI布局的居中位置,此时主界面切换为显示全景片源的业务,左侧的副界面切换为显示3D片源的业务;而右侧的副界面切换为显示2D片源的业务。
另外,为了便于用户观看,还可以通过不同的显示效果对主界面和副界面分别进行显示。例如,可以提高副界面的透明度,使副界面获得虚化效果,从而突出主界面。还可以设置副界面为灰度效果,保持主界面为彩色效果,突出主界面。
在一些实施例中,推荐内容区域1的顶部还可以设置有状态栏,在状态栏中可以设置有多个显示控件,包括时间、网络连接状态、电量等常用选项。状态栏中包括的内容可以由用户自定义,例如,可以添加天气、用户头像等内容。状态栏中所包含的内容可以被用户选中,以执行相应的功能。例如,用户点击时间选项时,虚拟现实设备500可以在当前界面中显示时间设备窗口,或者跳转至日历界面。当用户点击网络连接状态选项时,虚拟现实设备500可以在当前界面显示WiFi列表,或者跳转至网络设置界面。
状态栏中显示的内容可以根据具体项目的设置状态呈现为不同的内容形式。例如,时间控件可以直接显示为具体的时间文字信息,并在不同的时间显示不同的文字;电量控件则可以根据虚拟现实设备500的当前电量剩余情况,显示为不同的图案样式。
状态栏用于使用户能够执行常用的控制操作,实现快速对虚拟现实设备500进行设置。由于对虚拟现实设备500的设置程序包括诸多项,因此在状态栏中通常不能将所有常用设置选项全部显示。为此,在一些实施例中,状态栏中还可以设置有扩展选项。扩展选项被选中后,可以在当前界面中呈现扩展窗口,在扩展窗口中可以进一步设置有多个设置选项,用于实现虚拟现实设备500的其他功能。
例如,在一些实施例中,扩展选项被选中后,可以在扩展窗口中设置″快捷中心″选项。用户在点击快捷中心选项后,虚拟现实设备500可以显示快捷中心窗口。快捷中心窗口中可以包括″截屏″、″录屏″以及″投屏″选项,用于分别唤醒相应的功能。
业务分类扩展区域2支持配置不同分类的扩展分类。如果有新的业务类型时,支持配置独立TAB,展示对应的页面内容。业务分类扩展区域2中的扩展分类,也可以对其进行排序调整及下线业务操作。在一些实施例中,业务分类扩展区域2可包括的内容:影视、教育、旅游、应用、我的。在一些实施例中,业务分类扩展区域2被配置为可展示大业务类别TAB,且支持配置更多的分类,其图标支持配置,如图3所示。
应用快捷操作入口区域3可指定预装应用靠前显示以进行运营推荐,支持配置特殊图标样式替换默认图标,所述预装应用可指定为多个。在一些实施例中,应用快捷操作入口区域3还包括用于移动选项目标的左向移动控件、右向移动控件,用于选择不同的图标,如图4所示。
悬浮物区域4可以配置为在固定区域左斜侧上方、或右斜侧上方,可配置为可替换形象、或配置为跳转链接。例如,悬浮物接收到确认操作后跳转至某个应用、或显示指定的功能页,如图5所示。在一些实施例中,悬浮物也可不配置跳转链接,单纯的用于形象展示。
在一些实施例中,全局UI还包括位于顶端的状态栏,用于显示时间、网络连接状态、电量状态、及更多快捷操作入口。使用AR/VR终端的手柄,即手持控制器选中图标后,图标将显示包括左右展开的文字提示,选中的图标按照位置自身进行左右拉伸展开显示。
例如,选中搜索图标后,搜索图标将显示包含文字″搜索″及原图标,进一步点击图标或文字后,搜索图标将跳转至搜索页面;又例如,点击收藏图标跳转至收藏TAB、点击历史图标默认定位显示历史页面、点击搜索图标跳转至全局搜索页面、点击消息图标跳转至消息页面。
在一些实施例中,可以通过外设执行交互,例如AR/VR终端的手柄可对AR/VR终端的用户界面进行操作,包括返回按钮;主页键,且其长按可实现重置功能;音量加减按钮;触摸区域,所述触摸区域可实现焦点的点击、滑动、按住拖拽功能。AR/VR技术构建了数字的三维世界,SLAM则提供了三维数字世界的空间定位功能。SLAM是一系列复杂的计算和算法,它们使用传感器在未知环境中构造地图和结构,并定位设备的位置和方向。目前常用的SLAM技术包括视觉SLAM、激光SLAM等。视觉SLAM主要是基于相机来完成环境的感知工作。视觉SLAM包括传感器信息读取、前端视觉里程计、后端优化、回环检测、建图等步骤。其中,前端视觉里程计不仅提供了连续两帧特征点之间的匹配关系,还需要计算当前帧的初始位姿。目前较常将光流跟踪作为前端视觉里程计。
然而,在实际应用中,存在一些复杂的场景,例如光照变化剧烈或者摄像头被遮挡。如图5所示的摄像装置被遮挡场景示意图和如图6所示的光照变化剧烈场景示意图。图5和图6的右图为当前图像帧,左图为当前图像帧的上一图像帧,本申请将上一图像帧称为历史图像帧。通过带颜色的线段关联了当前图像帧和历史图像帧匹配上的特征点。可以看出,在摄像装置被遮挡和光照变化剧烈的场景下,当前图像帧和历史图像帧匹配上的特征点比较少,即跟踪上的点比较少。跟踪上的点也有部分时跟踪错误,这就导致当前图像帧失去与历史图像帧的视觉约束,为了能准确定位只能重启AR/VR***,最终导致用户对AR/VR设备的使用体验较差。
为了解决上述问题,本申请提供一种SLAM前端跟踪失败重定位方法。
为清楚说说明本申请的实施例,下面给出一些相关名词的解释。
参见图7,图7为视觉SLAM流程示意图,包括以下步骤:
传感器信息读取:在视觉SLAM中主要为相机图像信息的读取和预处理。如果是在机器人中,还可能***盘、惯性传感器等信息的读取和同步。
视觉里程计:视觉里程计的任务是估算相邻图像间相机的运动,以及局部地图的样子。前端视觉里程计十分重要,它不仅提供了两帧特征点的匹配关系,还要计算当前帧的初始位姿。两者都决定了整个SLAM***的精度和稳定性。所以保证视觉跟踪的稳定性至关重要。
后端优化:后端接受不同时刻视觉里程计测量的相机位姿,以及回环检测的信息,对它们进行优化,得到全局一致的轨迹和地图。
回环检测:回环检测判断机器人是否到达过先前的位置。如果检测到回环,它会把信息提供给后端进行处理。
建图:它根据计算的轨迹,建立与任务要求对应的地图。在经典的SLAM模型中,地图即所有路标点的集合。SLAM通常是用来为上层应用提供信息的。应用层面对于″定位″的需求是SLAM能够提供相机或搭载相机的主体的空间位姿信息。而对于地图,则存在着许多不同的需求:定位、导航、避障、重建以及交互。
光流跟踪:光流是目标、场景或摄像机在连续两帧图像间运动时造成的目标的运动。它是图像在平移过程中的二维矢量场,是通过二维图像来表示物体点三维运动的速度场,反映了微小时间间隔内由于运动形成的图像变化,以确定图像点上的运动方向和运动速率。跟踪是在图像序列或视频里对其中的特征点进行追踪的过程。光流跟踪主要依赖于三个假设:[亮度恒定]图像中目标的像素强度在连续帧之间不会发生变化。[时间规律]相邻帧之间的时间足够短,以至于在考虑运行变化时可以忽略它们之间的差异。该假设用于导出下面的核心方程。[空间一致性]相邻像素具有相似的运动。
PnP(Perspective-n-Point):PnP是求解3D到2D点对运动的方法。如果两张图像中其中一张特征点的3D位置已知,那么最少只需3个点对就可以及用PnP估计相机运动。特征点的3D位置可以由三角化或者RGB-D相机的深度图确定。PnP问题有很多种求解方法:用3对点估计位姿的P3P、直接线性变换等。
IMU(Inertial Measurement Unit,惯性测量单元):IMU是一种使用加速度计和陀螺仪来测量物体三轴姿态角(或角速率)以及加速度的装置。狭义上,一个IMU内在正交的三轴上安装陀螺仪和加速度计,一共6个自由度,来测量物体在三维空间中的角速度和加速度,这就是我们熟知的″6轴IMU″;广义上,IMU可在加速度计和陀螺仪的基础上加入磁力计,可形成如今已被大众知晓的″9轴IMU″。
其中加速度计检测物体在载体坐标***独立三轴的加速度信号,而陀螺仪检测载体相对于导航坐标系的角速度信号,测量物体在三维空间中的角速度和加速度,并以此解算出物体的姿态。IMU在导航中的核心价值无可替代,为了提高其可靠性,还可以为每个单轴配备更多种类的传感器。为保证测量准确性,一般IMU要安装在被测物体的重心上。
参见图8,图8为本申请实施例提供的一种SLAM前端跟踪失败重定位方法的流程图,该方法具体包括:
步骤S101,从摄像装置获取当前图像帧和历史图像帧,其中,当前图像帧为摄像装置扫描目标区域之后得到的图像帧,历史图像帧为当前图像帧的上一图像帧。
步骤S101为通过摄像装置获取图像帧的过程。本申请实施例中涉及的摄像装置可以是包括单目、双目、多目摄像头的摄像装置,也可以是鱼眼、全景等特殊相机。使用单目相机,利用移动相机之后进行三角化,测量像素的距离。使用双目相机,利用左右目的视差计算像素的距离。本申请实施例对于摄像装置的种类不作限制。本申请实施例首先通过摄像装置扫描目标区域,获得图像帧。这里的当前图像帧和历史图像帧可以是任意时刻扫描目标区域得到的图像帧。历史图像帧为当前图像帧的上一图像帧。目标区域可以是需要建立三维数字世界的某个空间。
步骤S102,在根据当前图像帧和历史图像帧判断跟踪状态为不正常时,从后端滑窗获取历史点云,以及对当前图像帧和历史点云进行特征点匹配。
视觉SLAM在实际应用中常采用光流跟踪为前端视觉里程计,本申请实施例以光流跟踪为示例,阐述判断跟踪状态是否正常的具体过程。光流跟踪利用图像序列中像素在时间域上的变化以及相邻图像帧之间的相关性来找到上一图像帧跟当前图像帧之间存在的对应关系,从而计算出相邻图像帧之间物体的运动信息。光流跟踪必须保证每一图像帧对特征点的连续跟踪,只有一帧图像帧没有跟踪上,则只能重新提取新的特征点并进行跟踪,此时新的特征点和旧的特征点则会失去匹配关系。在获取当前图像帧和历史图像帧之后,如果当前图像帧和历史图像帧匹配的特征点数量少于预设的数量值,则可以判断跟踪状态为不正常。
如果根据当前图像帧和历史图像帧判断跟踪状态为不正常,则从后端滑窗获取历史点云,以及对当前图像帧和历史点云进行特征点匹配。这里,历史点云指的是当前图像帧所涉及目标区域的历史图像帧的历史特征点。
本申请利用计算设备提取所述当前图像帧中的特征点,并且从计算设备中提取存储的历史点云。其中,计算设备可以是用户设备,还可以是用设备与其他设备(其他用户设备或网络设备)的结合,历史点云可以存储在用户设备本地,也可以存储在云端服务器或其他用户设备上。当前图像帧特征点与历史点云进行匹配时,历史点云存储在云端服务器或其他用户设备上时,可以将历史点云下载到用户设备本地,在用户设备本地进行匹配,或者将当前图像帧发送到云端服务器或其他用户设备上进行匹配,并将匹配结果返回给用户设备。
参见图9,图9为对当前图像帧和历史点云进行特征点匹配的流程示意图。对当前图像帧和历史点云进行特征点匹配的流程具体包括以下步骤:
步骤S201,提取所述当前图像帧的特征点,以及计算所述当前图像帧的特征点描述子和所述历史点云描述子;
提取当前图像帧的特征点的过程可以是:遍历图像帧,找到所有的角点。以一个角点p作为示例,设其像素灰度值为i,取这个角点以3为半径的圆上的所有像素点,能取到16个,然后设定一个阈值t,如果连续n个像素点的灰度值都大于i+t或者都小于i-t。我们则认为其为特征点。接着计算方向:特征点与重心的角度。
计算特征点描述子的过程可以是:描述子为在每一个特征点旁边设置一个向量,或者设置数组,记录着特征点周围的信息。例如可以采用BRIEF描述子。BRIEF描述子是一个二进制描述子,就是在特征点周围随机取128对点对或者是256对点对p和q,若p大于q,则记为1,否则记为0。这就组成了一个128数量的[0,1,1,0....]序列。
需要说明的是,本申请实施例中提取图像帧的特征点和计算特征点描述子的方法可以包括但不限于上述方法。
步骤S202,根据当前图像帧的特征点描述子和历史点云描述子,确定当前图像帧的特征点和历史点云的匹配数量,以及根据匹配数量判断当前图像帧和历史点云特征点匹配是否成功。
在步骤S201中得到了当前图像帧所有的特征点,并计算得到特征点和历史点云的描述子之后,根据当前图像帧的特征点描述子和点云描述子,可以确定当前图像帧的特征点和历史点云的匹配数量。具体的,可以采用暴力匹配算法计算当前图像帧的特征点描述子和历史点云描述子之间的汉明距离,汉明距离小于预设距离阈值的当前图像帧的特征点和历史点云确定为匹配的特征点。
即用汉明距离来度量两个描述子的相似程度。汉明距离小于预设距离阈值的当前图像帧的特征点描述子和历史点云描述子的相似度高,表示对应的当前图像帧的特征点和相应的历史点云匹配成功。汉明距离大于预设距离阈值的当前图像帧的特征点描述子和历史点云描述子的相似度低,表示对应的当前图像帧的特征点和相应的历史点云匹配失败。
在一些实施例中,预设距离阈值根据经验可以设置为75,将预设距离阈值设置为75能够使得特征点匹配结果更准确。
针对暴力匹配算法,可以及用交叉匹配的方法来过滤错误的匹配。交叉过滤即再进行一次匹配,反过来使用被匹配到的点进行匹配,如果匹配到的仍然是第一次匹配的点的话,就认为这是一个正确的匹配。假如第一次特征点A使用暴力匹配的方法,匹配到的特征点是特征点B;反过来,使用特征点B进行匹配,如果匹配到的仍然是特征点A,则就认为这是一个正确的匹配,否则就是一个错误的匹配。
对当前图像帧和历史点云进行特征点匹配,还具体包括以下步骤:
在当前图像帧的特征点和历史点云的匹配数量大于预设数量阈值时,确定当前图像帧和历史点云特征点匹配成功;
在当前图像帧的特征点和历史点云的匹配数量小于预设数量阈值时,确定当前图像帧和历史点云特征点匹配不成功。
在一些实施例中,预设数量阈值为20,将预设数量阈值设置为20能够使得特征点匹配结果更准确。
当然,本领域技术人员应能理解上述特征点以及特征点匹配方式仅为举例,其他现有的或今后可能出现的特征点匹配方式的获取方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
步骤S103,在当前图像帧和历史点云特征点匹配成功时,利用PnP计算摄像装置的当前位姿信息;
这里,与当前图像帧匹配的历史点云的历史图像帧可以是一个,也可以是多个。可以选择任意的历史点云进行后续的重定位过程,也可以选择其中匹配点数量最多的历史点云进行后续的重定位过程。
重定位是指根据当前图像帧与历史图像帧的特征点匹配找出一些候选关键帧,对每个候选关键帧,用PnP估计位姿,然后更新地图点,然后优化位姿,如果内点较少,则重复上述过程,直到有足够的内点支持,从而完成重定位。完成重定位后能够获取到对应的地图点和当前图像帧的位姿信息等,该位姿信息可以是当前帧与关键帧的相对位置关系,还可以是摄像装置的当前相机位姿信息。需要说明的是,利用PnP估计摄像装置的位姿属于现有技术,本申请不作详细的阐述。
步骤S104,在当前图像帧和历史点云特征点匹配不成功时,利用IMU计算摄像装置的当前位姿信息。
步骤S103的前提是当前图像帧和历史点云特征点匹配成功,即存在历史图像帧的特征点与当前图像帧的特征点匹配。如果不存在历史图像帧的特征点与当前图像帧的特征点匹配时,则无法采用PnP估计位姿。本申请实施例利用IMU计算摄像装置的当前位姿信息。
IMU可以测量得到摄像装置各个时刻的角速度和加速度。利用IMU计算摄像装置的当前位姿信息的具体过程为:
首先求出当前时刻t与下一时刻t+1加速度的均值,由于IMU的数据存在着坐标系、偏置和重力加速度的问题需要额外的处理。对于加速度,由于IMU的加速度数据是在相机坐标系下表示的,因此要利用对应时刻的姿态将其转换到世界坐标系下,转换前需要减去偏置,转化之后要减去重力加速度,其中世界坐标系下的重力加速度恒等于9.8。
加速度计算公式如下:
at,ω=Qt(at,b-Ba)-g
at+1,ω=Qt+1(at+1,b-Ba)-g
其中,at,ω为世界坐标系下时刻t的加速度均值,at,b为相机坐标系下时刻t的加速度均值,at+1,ω为世界坐标系下时刻t的加速度均值,at+1,b为相机坐标系下时刻t的加速度均值,Ba为偏置,g为重力加速度。
把求出的当前时刻t与下一时刻t+1加速度的均值作为Δt时间内的平均加速度,平均加速度a′t,ω计算公式如下:
有了平均加速度a′t,ω及当前时刻的初始速度Vt和初始位置Pt,就可以积分近似的求出t+1时刻的速度Vt+1和位置Pt+1。计算公式如下:
Vt+1=Vt+a′t,ωΔt
求出当前时刻t与下一时刻t+1角速度的均值ω′t,计算公式如下:
把角速度的均值ω′t作为Δt时间内的平均角速度,有了这个平均角速度及当前时刻的姿态Qt,就可以积分近似的求出t+1时刻的姿态Qt+1,计算公式如下:
Qt+1=Qt(ω′tΔt)
本实施例提供的的SLAM前端跟踪失败重定位方法,在进行定位时通过摄像装置获取当前图像帧和历史图像帧,当前图像帧为摄像装置扫描目标区域之后得到的图像帧,历史图像帧为当前图像帧的上一图像帧。在根据当前图像帧和历史图像帧判断跟踪状态为不正常时,从后端滑窗获取历史点云,以及对当前图像帧和历史点云进行特征点匹配。进一步,如果当前图像帧和历史点云特征点匹配成功时,利用PnP计算摄像装置的当前位姿信息。如果当前图像帧和历史点云特征点匹配不成功时,利用IMU计算摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。这样,在光流跟踪跟丢得情况下,能够利用特征点匹配寻找前后帧特征点的匹配关系,以使重新产生视觉约束。或者利用IMU计算摄像装置的当前位姿信息,以保证稳定输出位姿,使得输出的轨迹保持连贯。从而实现即使SLAM前端视觉跟踪失败,也无需重启AR/VR***,提升用户使用体验。
为了解决上述在摄像装置被遮挡和光照变化剧烈的场景下跟踪失败时需要重启AR/VR***的问题,本申请实施例中还提供一种SLAM前端跟踪失败重定位装置,如图10所示的装置框架图,该装置包括:
图像帧获取单元101,用于执行:从摄像装置获取当前图像帧和历史图像帧,其中,所述当前图像帧为所述摄像装置扫描目标区域之后得到的图像帧,所述历史图像帧为所述当前图像帧的上一图像帧;
特征点匹配单元102,用于执行:在根据所述当前图像帧和所述历史图像帧判断跟踪状态为不正常时,从后端滑窗获取历史点云,以及对所述当前图像帧和所述历史点云进行特征点匹配;
重定位单元103,用于执行:在所述当前图像帧和所述历史点云特征点匹配成功时,利用PnP计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位;
在所述当前图像帧和所述历史点云特征点匹配不成功时,利用IMU计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。
在一些实施例中,对所述当前图像帧和所述历史点云进行特征点匹配,具体包括:
提取所述当前图像帧的特征点,以及计算所述当前图像帧的特征点描述子和所述历史点云描述子;
根据所述当前图像帧的特征点描述子和所述历史点云描述子,确定所述当前图像帧的特征点和所述历史点云的匹配数量。
在一些实施例中,对所述当前图像帧和所述历史点云进行特征点匹配,还具体包括:
在所述当前图像帧的特征点和所述历史点云的匹配数量大于预设数量阈值时,所述当前图像帧和所述历史点云特征点匹配成功;
在所述当前图像帧的特征点和所述历史点云的匹配数量小于所述预设数量阈值时,所述当前图像帧和所述历史点云特征点匹配不成功。
在一些实施例中,根据所述当前图像帧的特征点描述子和所述历史点云描述子,确定所述当前图像帧的特征点和所述历史点云是否匹配的步骤具体包括:
利用暴力匹配算法计算所述当前图像帧的特征点描述子和所述历史点云描述子之间的汉明距离;
将汉明距离小于预设距离阈值的所述当前图像帧的特征点和所述历史点云确定为匹配的特征点。
即用汉明距离来度量两个描述子的相似程度。汉明距离小于预设距离阈值的当前图像帧的特征点描述子和历史点云描述子的相似度高,表示对应的当前图像帧的特征点和相应的历史点云匹配成功。汉明距离大于预设距离阈值的当前图像帧的特征点描述子和历史点云描述子的相似度低,表示对应的当前图像帧的特征点和相应的历史点云匹配失败。
由于本申请实施例中的SLAM前端跟踪失败重定位装置可以应用前述SLAM前端跟踪失败重定位方法,因此,关于本申请实施例中SLAM前端跟踪失败重定位装置的其他内容可以参见前述SLAM前端跟踪失败重定位方法的内容,此处不再赘述。并且,本申请实施例中的SLAM前端跟踪失败重定位装置同样在光流跟踪跟丢得情况下,能够利用特征点匹配寻找前后帧特征点的匹配关系,以使重新产生视觉约束。或者利用IMU计算摄像装置的当前位姿信息,以保证稳定输出位姿,使得输出的轨迹保持连贯。从而实现即使SLAM前端视觉跟踪失败,也无需重启AR/VR***,提升用户使用体验。
为了解决上述在摄像装置被遮挡和光照变化剧烈的场景下跟踪失败时需要重启AR/VR***的问题,本申请实施例中还提供一种虚拟现实设备500,包括显示器、摄像装置以及上述实施例中的SLAM前端跟踪失败重定位装置。摄像装置用于获取目标区域的图像帧。之后重定位装置采用光流跟踪为前端视觉里程计,利用图像序列中像素在时间域上的变化以及相邻图像帧之间的相关性来找到上一图像帧跟当前图像帧之间存在的对应关系。如果根据当前图像帧和历史图像帧判断跟踪状态为不正常,则从后端滑窗获取历史点云,以及对当前图像帧和历史点云进行特征点匹配。之后如果所述当前图像帧和所述历史点云特征点匹配成功时,利用PnP计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。如果所述当前图像帧和所述历史点云特征点匹配不成功时,利用IMU计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。
由于本申请实施例中的虚拟现实设备500可以应用前述SLAM前端跟踪失败重定位方法,因此,关于本申请实施例中虚拟现实设备的其他内容可以参见前述SLAM前端跟踪失败重定位方法的内容,此处不再赘述。
在一些实施例中,用户利用虚拟现实设备500显示内容过程中,跟踪失败即根据当前图像帧和历史图像帧判断跟踪状态为不正常时,可以在显示器上显示警示信息″跟踪状态当前为不正常″,以提示用户当前跟踪状态为不正常。在利用上述实施例的重定位方法进行重定位的过程中,用户可以根据警示信息,调整当前设备状态。
例如,如果是由于光照变化剧烈导致的跟踪失败,设备可以根据光照变化,还可以在显示器上显示提示信息″请调节环境光强度″。用户从显示器上查看到提示信息之后,则可以对环境光强度进行调整,以使得跟踪状态调整为正常。如果是由于摄像头被遮挡导致的跟踪失败,设备可以根据被遮挡的状态(例如设置距离传感器判断当前摄像头前方有障碍物),在显示器上显示提示信息″请移走障碍物″。用户从显示器上查看到提示信息之后,则可以将障碍物移走,以使得跟踪状态调整为正常。这样,如果跟踪失败并且重定位失败之后,用户可以通过调整设备状态,使得跟踪状态调整为正常,从而进一步避免重启AR/VR***的情况发生。
用户在根据警示信息对环境光强度进行调整或者将障碍物移走,使得跟踪状态调整为正常之后。可以在显示器上显示提示信息″跟踪状态当前为正常″。如果用户在调整设备状态或者环境光强度之后,跟踪状态仍然为不正常,则在显示器上保持显示警示信息″跟踪状态当前为不正常″。这样,用户可以通过查看警示信息,判断当前跟踪状态,以继续调整设备状态或者环境光强度,直至在显示器上显示提示信息″跟踪状态当前为正常″。本申请各个实施例之间相同或相似的内容可相互参照,相关实施例不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
为了方便解释,已经结合具体的实施方式进行了上述说明。但是,上述示例性的讨论不是意图穷尽或者将实施方式限定到上述公开的具体形式。根据上述的教导,可以得到多种修改和变形。上述实施方式的选择和描述是为了更好的解释原理以及实际的应用,从而使得本领域技术人员更好的使用所述实施方式以及适于具体使用考虑的各种不同的变形的实施方式。
Claims (10)
1.一种SLAM前端跟踪失败重定位方法,其特征在于,所述方法包括:
从摄像装置获取当前图像帧和历史图像帧,其中,所述当前图像帧为所述摄像装置扫描目标区域之后得到的图像帧,所述历史图像帧为所述当前图像帧的上一图像帧;
在根据所述当前图像帧和所述历史图像帧判断跟踪状态为不正常时,从后端滑窗获取历史点云,以及对所述当前图像帧和所述历史点云进行特征点匹配;
在所述当前图像帧和所述历史点云特征点匹配成功时,利用PnP计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位;
在所述当前图像帧和所述历史点云特征点匹配不成功时,利用IMU计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。
2.根据权利要求1所述的SLAM前端跟踪失败重定位方法,其特征在于,所述方法还包括:在根据所述当前图像帧和所述历史图像帧判断跟踪状态为正常时,继续进行前端跟踪。
3.根据权利要求1所述的SLAM前端跟踪失败重定位方法,其特征在于,对所述当前图像帧和所述历史点云进行特征点匹配,具体包括:
提取所述当前图像帧的特征点,以及计算所述当前图像帧的特征点描述子和所述历史点云描述子;
根据所述当前图像帧的特征点描述子和所述历史点云描述子,确定所述当前图像帧的特征点和所述历史点云的匹配数量,以及根据匹配数量判断所述当前图像帧和所述历史点云特征点匹配是否成功。
4.根据权利要求3所述的SLAM前端跟踪失败重定位方法,其特征在于,对所述当前图像帧和所述历史点云进行特征点匹配,还具体包括:
在所述当前图像帧的特征点和所述历史点云的匹配数量大于预设数量阈值时,确定所述当前图像帧和所述历史点云特征点匹配成功;
在所述当前图像帧的特征点和所述历史点云的匹配数量小于所述预设数量阈值时,确定所述当前图像帧和所述历史点云特征点匹配不成功。
5.根据权利要求3所述的SLAM前端跟踪失败重定位方法,其特征在于,根据所述当前图像帧的特征点描述子和所述历史点云描述子,确定所述当前图像帧的特征点和所述历史点云是否匹配的步骤具体包括:
利用暴力匹配算法计算所述当前图像帧的特征点描述子和所述历史点云描述子之间的汉明距离;
将汉明距离小于预设距离阈值的所述当前图像帧的特征点和所述历史点云确定为匹配的特征点。
6.根据权利要求5所述的的SLAM前端跟踪失败重定位方法,其特征在于,所述预设距离阈值为75。
7.一种SLAM前端跟踪失败重定位装置,其特征在于,所述装置包括:
图像帧获取单元,用于执行:从摄像装置获取当前图像帧和历史图像帧,其中,所述当前图像帧为所述摄像装置扫描目标区域之后得到的图像帧,所述历史图像帧为所述当前图像帧的上一图像帧;
特征点匹配单元,用于执行:在根据所述当前图像帧和所述历史图像帧判断跟踪状态为不正常时,从后端滑窗获取历史点云,以及对所述当前图像帧和所述历史点云进行特征点匹配;
重定位单元,用于执行:在所述当前图像帧和所述历史点云特征点匹配成功时,利用PnP计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位;
在所述当前图像帧和所述历史点云特征点匹配不成功时,利用IMU计算所述摄像装置的当前位姿信息,以及根据所述摄像装置的当前位姿信息进行重定位。
8.根据权利要求7所述的SLAM前端跟踪失败重定位装置,其特征在于,对所述当前图像帧和所述历史点云进行特征点匹配,具体包括:
提取所述当前图像帧的特征点,以及计算所述当前图像帧的特征点描述子和所述历史点云描述子;
根据所述当前图像帧的特征点描述子和所述历史点云描述子,确定所述当前图像帧的特征点和所述历史点云的匹配数量。
9.根据权利要求8所述的SLAM前端跟踪失败重定位装置,其特征在于,对所述当前图像帧和所述历史点云进行特征点匹配,还具体包括:
在所述当前图像帧的特征点和所述历史点云的匹配数量大于预设数量阈值时,所述当前图像帧和所述历史点云特征点匹配成功;
在所述当前图像帧的特征点和所述历史点云的匹配数量小于所述预设数量阈值时,所述当前图像帧和所述历史点云特征点匹配不成功。
10.根据权利要求8所述的SLAM前端跟踪失败重定位装置,其特征在于,根据所述当前图像帧的特征点描述子和所述历史点云描述子,确定所述当前图像帧的特征点和所述历史点云是否匹配的步骤具体包括:
利用暴力匹配算法计算所述当前图像帧的特征点描述子和所述历史点云描述子之间的汉明距离;
将汉明距离小于预设距离阈值的所述当前图像帧的特征点和所述历史点云确定为匹配的特征点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111552620.2A CN116266382A (zh) | 2021-12-17 | 2021-12-17 | 一种slam前端跟踪失败重定位方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111552620.2A CN116266382A (zh) | 2021-12-17 | 2021-12-17 | 一种slam前端跟踪失败重定位方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116266382A true CN116266382A (zh) | 2023-06-20 |
Family
ID=86743726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111552620.2A Pending CN116266382A (zh) | 2021-12-17 | 2021-12-17 | 一种slam前端跟踪失败重定位方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116266382A (zh) |
-
2021
- 2021-12-17 CN CN202111552620.2A patent/CN116266382A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11257294B2 (en) | Cross reality system supporting multiple device types | |
US11995782B2 (en) | Cross reality system with localization service | |
US11748963B2 (en) | Cross reality system with simplified programming of virtual content | |
US11227435B2 (en) | Cross reality system | |
CN110047104B (zh) | 对象检测和跟踪方法、头戴式显示装置和存储介质 | |
US11551430B2 (en) | Cross reality system with fast localization | |
US20210256766A1 (en) | Cross reality system for large scale environments | |
US11967020B2 (en) | Cross reality system with map processing using multi-resolution frame descriptors | |
CN109146965A (zh) | 信息处理装置和计算机程序 | |
EP4046401A1 (en) | Cross reality system with wireless fingerprints | |
US11228737B2 (en) | Output control apparatus, display terminal, remote control system, control method, and non-transitory computer-readable medium | |
CN113544748A (zh) | 交叉现实*** | |
CN113678171A (zh) | 信息处理装置、信息处理方法和记录介质 | |
CN116266382A (zh) | 一种slam前端跟踪失败重定位方法及装置 | |
CN118339424A (zh) | 用于真实世界测绘的物体和相机定位***以及定位方法 | |
CN116342838A (zh) | 一种头戴设备及头戴设备中的建图初始化方法 | |
TWI759764B (zh) | 基於光通信裝置疊加虛擬物件的方法、電子設備以及電腦可讀取記錄媒體 | |
CN112053444B (zh) | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 | |
WO2020244576A1 (zh) | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 | |
CN112053451B (zh) | 基于光通信装置叠加虚拟对象的方法和相应的电子设备 | |
CN116339499A (zh) | 一种头戴设备及头戴设备中的平面检测方法 | |
Calloway | Adaptive Three-Tier Sensor Fusion Model with Application to See-Through Augmented Reality in Urban Environments |
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 |