CN111311684B - 一种进行slam初始化的方法与设备 - Google Patents

一种进行slam初始化的方法与设备 Download PDF

Info

Publication number
CN111311684B
CN111311684B CN202010251770.9A CN202010251770A CN111311684B CN 111311684 B CN111311684 B CN 111311684B CN 202010251770 A CN202010251770 A CN 202010251770A CN 111311684 B CN111311684 B CN 111311684B
Authority
CN
China
Prior art keywords
point cloud
cloud information
information
image frame
initial point
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.)
Active
Application number
CN202010251770.9A
Other languages
English (en)
Other versions
CN111311684A (zh
Inventor
侯晓辉
刘理想
周俊颖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Liangfengtai Shanghai Information Technology Co ltd
Original Assignee
Liangfengtai Shanghai Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Liangfengtai Shanghai Information Technology Co ltd filed Critical Liangfengtai Shanghai Information Technology Co ltd
Priority to CN202010251770.9A priority Critical patent/CN111311684B/zh
Publication of CN111311684A publication Critical patent/CN111311684A/zh
Application granted granted Critical
Publication of CN111311684B publication Critical patent/CN111311684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects

Abstract

本申请的目的是提供一种进行SLAM初始化的方法与设备,具体包括:建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息;通过摄像装置扫描所述目标区域获取对应的当前图像帧;根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧与所述目标点云信息的匹配相似度满足预设条件;根据所述当前图像帧与所述目标点云信息进行重定位以完成SLAM初始化。本申请提高了SLAM初始化的鲁棒性和准确性。

Description

一种进行SLAM初始化的方法与设备
技术领域
本申请涉及图像领域,尤其涉及一种进行SLAM初始化的技术。
背景技术
增强现实技术(Augmented Reality,简称AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像、视频、3D模型的技术,这种技术的目标是在屏幕上把虚拟世界叠加在显示界面并进行互动。它是一种将真实世界信息和虚拟世界信息"无缝"集成的新技术,该技术由1990年提出,随着随身电子产品CPU运算能力的提升,预期增强现实的用途将会越来越广。在运用增强现实技术时,通常需要进行同步定位与建图(SimultaneousLocalization and Mapping,简称SLAM),具体地,SLAM是指机器人在未知环境中从一个未知位置开始移动,在移动过程中根据位置估计和地图进行自身定位,同时在自身定位的基础上建造增量式地图,实现机器人的自主定位和导航。在复杂场景下通过纯视觉SLAM在制定目标上虚拟显示相关信息和模型,实现稳定的增强现实体验,是计算机视觉和增强现实领域富有挑战性的工作,它的困难之处在于视觉SLAM依靠图像中的特征实现跟踪和稀疏地图的构建。SLAM初始化的结果直接影响SLAM后续的跟踪精度和稳定性,因而初始化是SLAM比较重要的模块。
发明内容
本申请的一个目的是提供一种进行SLAM初始化的方法与设备。
根据本申请的一个方面,提供了一种进行SLAM初始化的方法,该方法包括:
建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息;
通过摄像装置扫描所述目标区域获取对应的当前图像帧;
根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧与所述目标点云信息的匹配相似度满足预设条件;
根据所述当前图像帧与所述目标点云信息进行重定位以完成SLAM初始化。
根据本申请的一个方面,提供了一种进行SLAM初始化的方法,该方法包括:
建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,每组初始点云信息中包括对应的关键帧;
通过摄像装置扫描所述目标区域获取对应的当前图像帧;
根据各初始点云信息的关键帧,将所述当前图像帧与所述点云数据库中的所述一组或多组初始点云信息依次进行重定位,直至所述当前图像帧与所述一组或多组初始点云信息中某组初始点云信息重定位成功,从而确定摄像装置的位姿信息,以完成SLAM初始化。
根据本申请的一个方面,提供了一种进行SLAM初始化的设备,该设备包括:
一一模块,用于建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息;
一二模块,用于通过摄像装置扫描所述目标区域获取对应的当前图像帧;
一三模块,用于根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧与所述目标点云信息的匹配相似度满足预设条件;
一四模块,用于根据所述当前图像帧与所述目标点云信息进行重定位以完成SLAM初始化。
根据本申请的另一个方面,提供了一种进行SLAM初始化的设备,该设备包括:
二一模块,用于建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,每组初始点云信息中包括对应的关键帧;
二二模块,用于通过摄像装置扫描所述目标区域获取对应的当前图像帧;
二三模块,用于根据各初始点云信息的关键帧,将所述当前图像帧与所述点云数据库中的所述一组或多组初始点云信息依次进行重定位,直至所述当前图像帧与所述一组或多组初始点云信息中某组初始点云信息重定位成功,从而确定摄像装置的位姿信息,以完成SLAM初始化。
根据本申请的一个方面,提供了一种进行SLAM初始化的设备,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如上所述任一方法的操作。
根据本申请的另一个方面,提供了一种存储指令的计算机可读介质,所述指令在被执行时使得系统进行如上所述任一方法的操作。
与现有技术相比,本申请通过建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息;通过摄像装置扫描所述目标区域获取对应的当前图像帧;根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧与所述目标点云信息的匹配相似度满足预设条件;根据所述当前图像帧与所述目标点云信息进行重定位以完成SLAM初始化。本申请能够适用于复杂度更高的场景,实现SLAM快速初始化。进一步地,在此基础上,提高基于SLAM的增强现实应用的鲁棒性和准确性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种进行SLAM初始化的方法流程图;
图2示出根据本申请一个方面的一种进行SLAM建图的方法流程图;
图3示出根据本申请另一个方面的一种进行SLAM初始化的方法流程图
图4示出根据本申请一个方面的一种计算设备的功能模块;
图5示出根据本申请另一个方面的一种计算设备的功能模块;
图6示出可被用于实施本申请中所述的各个实施例的示例性系统。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如,中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(Flash Memory)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change Memory,PCM)、可编程随机存取存储器(Programmable Random Access Memory,PRAM)、静态随机存取存储器(Static Random-Access Memory,SRAM)、动态随机存取存储器(Dynamic Random AccessMemory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disc,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请所指设备包括但不限于用户设备、网络设备、或用户设备与网络设备通过网络相集成所构成的设备。所述用户设备包括但不限于任何一种可与用户进行人机交互(例如通过触摸板进行人机交互)的移动电子产品,例如智能手机、平板电脑等,所述移动电子产品可以采用任意操作系统,如Android操作系统、iOS操作系统等。其中,所述网络设备包括一种能够按照事先设定或存储的指令,自动进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(Application Specific IntegratedCircuit,ASIC)、可编程逻辑器件(Programmable Logic Device,PLD)、现场可编程门阵列(Field Programmable Gate Array,FPGA)、数字信号处理器(Digital Signal Processor,DSP)、嵌入式设备等。所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云;在此,云由基于云计算(Cloud Computing)的大量计算机或网络服务器构成,其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成的一个虚拟超级计算机。所述网络包括但不限于互联网、广域网、城域网、局域网、VPN网络、无线自组织网络(Ad Hoc网络)等。优选地,所述设备还可以是运行于所述用户设备、网络设备、或用户设备与网络设备、网络设备、触摸终端或网络设备与触摸终端通过网络相集成所构成的设备上的程序。
当然,本领域技术人员应能理解上述设备仅为举例,其他现有的或今后可能出现的设备如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在本申请的描述中,“多个”的含义是两个或者更多,除非另有明确具体的限定。
图1示出了根据本申请一个方面的一种进行SLAM初始化的方法,该方法应用于计算设备,具体包括步骤S101、步骤S102、步骤S103以及步骤S104。在步骤S101中,计算设备建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息;在步骤S102中,计算设备通过摄像装置扫描所述目标区域获取对应的当前图像帧;在步骤S103中,计算设备根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧与所述目标点云信息的匹配相似度满足预设条件;在步骤S104中,计算设备根据所述当前图像帧与所述目标点云信息进行重定位以完成SLAM初始化。例如,所述计算设备包括但不限于用户设备、网络设备,或者用户设备与网络设备的结合等,其中,所述用户设备包括但不限于任何一种可与用户进行人机交互的移动电子产品,例如智能手机、平板电脑、智能眼镜、智能头盔等,所述网络设备包括但不限于计算机、网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云。例如,本方案可以是在用户设备端本地建立对应点云数据库并基于此完成SLAM初始化等。还如,本方案所指计算设备可以是用户设备与其他设备(例如,其他用户设备或者网络设备等)的结合,用户设备通过摄像装置采集当前图像帧,所述点云数据库由其他设备建立并存储,具体的初始化过程可以是在用户设备完成,也可以是在其他设备完成,例如,用户设备接收其他设备发送的点云数据库的相关信息(如点云数据库中所有点云信息或者关于目标区域的一组或多组初始点云信息),并基于图像帧在本地进行SLAM初始化;又例如,用户设备用于通过摄像装置采集关于目标区域的图像帧,并将该图像帧发送至其他设备,其他设备基于点云数据库及图像帧进行SLAM初始化,具体的后续处理过程(如跟踪或者建图等)可以在其他设备端完成,也可以是其他设备将SLAM初始化获取的位姿信息及地图点信息等发送至用户设备并在本地完成等。
具体而言,在步骤S101中,计算设备建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息。例如,所述点云信息包括3D点。例如,点云信息包括通过图像匹配和深度信息获取后确定的3D地图点,又例如,所述点云信息包括透过3D扫描仪所取得之资料形式,该扫描资料以点的型式记录,每一个点包含有三维坐标,有些可能含有颜色信息(R,G,B)或物体反射面强度。所述目标区域是指覆盖范围包含用户感兴趣或者将要进行拍摄或者将要进行SLAM初始化的区域,该目标区域可以是人为设定的,还可以摄像装置根据拍摄的图像智能控制的,如当前拍摄的图像纹理太少或者图像重复等则停止拍摄。所述初始点云信息是指点云信息对应的扫描范围包含该目标区域的3D地图点信息,对应点云数据库中包含一组或多组初始点云信息,换言之,点云数据库中除了包含目标区域对应的初始点云信息之外,还可以包含其他区域的点云信息等。在一些实施方式中,所述初始点云信息除了包含对应的3D地图点,还包括但不限于:点云信息对应的关键帧、点云信息对应的共视图信息、点云信息对应的生长树信息等。当然,本领域技术人员应能理解上述点云信息的获取方法仅为举例,其他现有的或今后可能出现的点云信息的获取方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
如在一些实施方式中,所述一组或多组初始点云信息中每一组初始点云信息包括但不限于:点云信息对应的关键帧信息;点云信息对应的共视图信息;点云信息对应的生长树信息等。例如,所述关键帧信息是指SLAM系统中符合预设筛选条件的图像帧,考虑到图像帧获取过程中图像插入频率过高,经常会导致信息冗余快速增加,而这些冗余信息对SLAM系统的精度提升十分有限,甚至没有提高,反而会消耗更多的计算资源,所以我们利用关键帧,在计算过程中适当降低信息冗余度,减少计算机资源的消耗,保证系统的平稳运行。所述共视图信息包括与当前帧有共同观测的关键帧的集合,从而构建一个临时地图,通过构建更强和更多的约束条件来优化相机的位姿。所述生长树信息是指用来管理关键帧的数据结构,确保操作某一关键帧时,维护与之相关的子结点。本方案通过利用点云信息的多个因素进行SLAM初始化,能够适用于复杂度更高的场景,实现快速初始化。在此基础上,提高基于SLAM的增强现实应用的鲁棒性和准确性。
在一些实施方式中,所述方法还包括步骤S105(未示出),在步骤S105中,计算设备通过所述摄像装置扫描所述目标区域获取对应的初始点云信息;其中,在步骤S101中,计算设备根据所述获取的初始点云信息建立或更新对应的点云数据库,其中,所述点云数据库包含关于目标区域的一组或多组初始点云信息。其中,所述点云数据库可以保存在用户设备本地,也可以存储在云端设备或其他用户设备中。例如,所述计算设备包括对应的摄像装置,用于拍摄当前目标区域的图像帧,如摄像头、跟踪摄像机等。通常基于点云进行初始化需要先获取一组或多组初始点云信息,基于该一组或多组初始点云信息建立或更新对应的点云数据库,随后,基于该点云数据库对当前图像帧进行匹配,得到最佳点云用于SLAM初始化。例如,计算设备获取该摄像装置的初始位姿信息,并基于该初始位姿信息通过摄像装置可以拍摄获取关于目标区域的多个图像帧,并基于该多个图像帧得到对应的初始点云信息。如在一些实施方式中,在步骤S105中,计算设备确定用于扫描所述目标区域的摄像装置的初始位姿信息;基于所述初始位姿信息通过所述摄像装置拍摄关于所述目标区域的多个图像帧,根据所述多个图像帧生成关于所述目标区域的初始点云信息。例如,计算设备先获取对应的扫描目标区域的摄像装置的初始位姿信息,如通过2D识别初始化、单帧初始化、双帧初始化、3D模型初始化等。获取对应的初始位姿信息后,计算设备继续通过摄像装置扫描所述目标区域得到关于目标区域的多个图像帧,根据该多个图像帧,计算设备执行SLAM算法获得对应的3D地图点,或者获得对应的3D地图点、关键帧、共视图、生长树等点云信息,例如执行SLAM算法中跟踪线程、局部建图线程,又例如执行SLAM算法中跟踪线程、局部建图线程、闭环检测线程,以获得点云信息,从而得到初始点云信息。在此,图2示出了SLAM算法利用三个线程进行三维跟踪和建图的过程,具体如下:
1)跟踪线程
这一部分主要工作是从图像中提取ORB(Oriented FAST and Rotated BRIEF,快速特征点提取和描述算法)特征、根据上一帧或重定位初始化位姿、跟踪局部地图、确定新的关键帧等。
跟踪算法的主要实现方式有两种:1跟踪运动模型;2跟踪关键帧。
一、跟踪运动模型。当前一图像帧成功跟踪之后,算法使用与之前速率相同的运动模式来预测当前帧的相机姿态,这个模型是假设相机处于匀速运动状态,例如使用者在观察物体时处于匀速移动状态等(静止不动为一种特殊的匀速移动状态,此时速度为0),就可以用上一帧的位姿和速度来估计当前帧的位姿。
如果当前帧使用运动模型计算得到的位姿不满足预先设置的精度要求时,则选择使用跟踪关键帧来计算当前帧的位姿。
二、跟踪关键帧。当使用运动模型无法匹配到足够数量的特征点时,就会选择使用跟踪关键帧。算法尝试和最近的一个关键帧做匹配,并利用匹配到的特征优化位姿。
跟踪成功以后,需要判断当前帧是否是新的关键帧。如果是新的关键帧,将其加入并更新地图,建立当前关键帧与其它关键帧的连接关系,更新当前关键帧与其它关键帧之间的特征点匹配关系,用于优化位姿。
由于地图的作用,当碰到跟踪画面丢失的情况时,可以做到在非初始视角或者非初始画面重定位成功。首先,计算当前帧的词袋向量,在关键帧词典数据库中选取若干关键帧作为候选。其次,寻找有足够多的特征点匹配的关键帧。最后,利用随机抽样一致算法迭代,使用投影特征点算法优化位姿。
2)局部地图构建线程
这一部分主要完成局部地图构建,包括插入关键帧、筛选最近的地图点、生成新地图点、局部BA(Bundle Adjustment,光束平差法)、筛选关键帧等,去除多余的关键帧。
在关键帧进行跟踪的同时,需要创建地图,以便扩展跟踪区域,同时提高跟踪精度。通过之前的跟踪计算结果,已经得到一个对位姿的初始估计。而地图的作用是提供了地图点云与当前图像画面中的提取到的特征点的匹配关系(3D地图点-2D特征点匹配)。根据匹配关系,可以在初始位姿的基础上,通过投影关系剔除误匹配,从而更精确地计算位姿,防止跟踪时虚拟物体漂移。
地图是将匹配到的特征点使用三角测量的方法建立起来的。对特征点使用三角测量法后,检查正向景深、视差、反投影误差和尺度一致性,这时才得到地图点。一个地图点是通过两个关键帧观察到的,而它也可以投影到与之相连的其他关键帧中。在地图点建立起来之后,使用光束平差算法优化地图点和关键帧的位姿。
3)闭环检测线程
闭环检测线程包括检测候选帧、计算Sim3、闭环融合以及优化本质图等。
在关键帧进行跟踪的同时,需要检测闭环,以便提高跟踪精度。检测闭环的目的是减小运行时的累积误差,防止跟踪时虚拟物体漂移。这一部分主要分为两个过程,分别是闭环探测和闭环校正。
闭环检测先使用词袋进行探测,当相机再次来到之前到过的场景时,就会因为看到相同的景物,得到类似的词袋描述,从而检测到闭环。然后计算相似变换。
闭环校正目的是融合重复的点云,并且在共视图中插入新的边以连接闭环。所有的被闭环处的关键帧观察到的地图点会通过映射在一个小范围里,然后去搜索它的近邻匹配。这样就可以对所有匹配的点云进行更加有效的数据融合,并更新关键帧位姿,以及在图中的边。
在一些实施方式中,所述初始位姿信息的获取方法包括但不限于:通过识别所述初始区域中预设的2D标识物完成初始化;单帧初始化;双帧初始化;3D模型初始化等。例如,摄像装置的初始位姿信息的获取方法包括但不限于以下四种方法:
1)通过2D识别SLAM初始化扫描应用场景;
首先,在现实目标的对应位置上放置2D识别图。2D图像识别初始化SLAM过程如下:
将2D识别图提取2D特征并保存为文件,形成2D特征库。搭载SLAM算法的设备通过摄像装置获取放置有2D识别图的目标设备图像It后,提取图像It特征并与存储的特征库进行匹配,进行识别。同时,根据真实目标在屏幕中的位置,以及相机的内参矩阵,确定摄像装置相对于真实目标的位姿,即摄像装置的外参矩阵。然后,根据识别结果,将识别算法得到的信息(摄像装置位姿)发送给SLAM算法,完成初始化。通过2D识别初始化SLAM后,用于扫描目标场景,在目标场景中实时跟踪和建图。
2)单帧初始化
单帧初始化在图像传感器(即摄像装置)获取到一个近似平面场景的条件下,利用单应性矩阵得到对应的旋转和平移矩阵。从而初始化地图点和摄像装置的姿态。
3)双帧初始化
选取两个特征点数目大于一定阈值的两个连续帧进行匹配,匹配点数大于一定阈值视为匹配成功,然后计算两帧之间的单应性矩阵homography matrix和基本矩阵(fundamental matrix),根据情况选择使用单应性矩阵或者基本矩阵恢复位姿RT(两个图像帧的相对位姿),将初始化成功的第一帧(拍摄的第一帧)作为世界坐标系,得到第一帧到第二帧的相对位姿,然后通过三角化得到深度,计算得到地图点。更新关键帧之间的关系进而执行BA(Bundle Adjustment)优化,以优化地图点。最后将地图点的深度归一化后,添加初始化关键帧和当前关键帧到地图中,完成初始化。
4)3D模型初始化
该方法首先需要获取跟踪目标的3D模型,利用3D模型来获取3D边缘特征,然后获取跟踪目标的初始位姿。在应用界面渲染初始位姿下的3D边缘特征,拍摄含跟踪目标的视频,读取视频的图像帧,用户通过3D模型边缘特征对准场景中的目标,进行跟踪匹配,跟踪到目标后,获得当前的位姿和特征点信息,完成初始化。
当然,本领域技术人员应能理解上述初始位姿信息的获取方法仅为举例,其他现有的或今后可能出现的初始位姿信息的获取方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在一些实施方式中,目标区域的确定可以使人为设定的,还可以是基于拍摄的图像智能控制的。所述方法还包括步骤S106(未示出),在步骤S106中,计算设备若获取到关于所述摄像装置的启动指令,启动所述摄像装置获取关于所述目标区域的多个图像帧,若最新采集到的图像帧满足预定条件,生成对应的停止采集指令;根据所述停止采集指令暂停所述摄像装置的采集过程,并将采集过的区域作为对应的目标区域。例如,用户持有计算设备,计算设备包括对应的摄像装置,用户可以通过启动操作向计算设备发送启动指令,计算设备若获取到关于摄像装置的启动指令,则启动该摄像装置拍摄当前场景相关的多个图像帧,基于用户或者系统的控制,摄像装置持续拍摄当前场景的图像帧,若摄像装置获取的最新图像帧满足预定条件,则生成对应的停止采集指令,将采集过的区域作为目标区域,并根据在所述目标区域采集的多个图像帧生成关于所述目标区域的初始点云信息。在一些实施方式中,所述预定条件包括但不限于:所述当前图像帧中特征点的数量小于或等于预设特征点数量阈值;所述当前图像帧的采集时间与所述摄像装置基于所述启动指令的启动时间之差大于或等于预设时间阈值。例如,对应的目标区域通常满足纹理丰富、分布均匀的特点,当最新采集的图像帧中的特征点数量不满足对应数量阈值时,我们认为拍摄的区域不是目标区域,采集到的图像帧数据没有意义,则生成对应的停止采集指令。又如,摄像装置在启动时设置了对应的采集时长,当当前最新图像帧的采集时间与启动时间之差超过采集时长时,生成对应的停止采集指令。当然,本领域技术人员应能理解上述预定条件仅为举例,其他现有的或今后可能出现的预定条件的获取方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在步骤S102中,计算设备通过摄像装置扫描所述目标区域获取对应的当前图像帧。当事先建立了所述目标区域的点云数据库时,便可以进行SLAM的初始化。例如,用户可以通过计算设备的摄像装置拍摄关于目标区域的图像帧,将当前拍摄的图像帧称为当前图像帧,并基于该当前图像帧进行SLAM初始化。其中,所述计算设备与初始点云/点云数据库生成设备可以是同一个设备,也可以是不同的设备。
在步骤S103中,计算设备根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧与所述目标点云信息的匹配相似度满足预设条件。例如,计算设备提取所述当前图像帧中的特征点,并根据该特征点与点云数据库中的一组或多组初始点云信息中关键帧进行匹配,若存在初始点云信息与当前图像帧满足预设条件,则将该初始点云信息作为目标点云信息,用于后续重定位等以完成SLAM初始化。其中,计算设备可以是用户设备,还可以是用设备与其他设备(其他用户设备或网络设备)的结合,如初始点云/点云数据库可以存储在用户设备本地,也可以存储在云端服务器或其他用户设备上。当前图像帧与初始点云信息进行匹配时,若初始点云/点云数据库存储在云端服务器或其他用户设备上时,可以将初始点云/点云数据库下载到用户设备本地,在用户设备本地进行匹配,或者将当前图像帧发送到云端服务器或其他用户设备上进行匹配,并将匹配结果返回给用户设备。在一些实施方式中,所述一组或多组初始点云信息中每一组点云信息还包括点云信息的关键帧信息;其中,在步骤S103中,计算设备根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧的特征点与所述目标点云信息中目标关键帧的特征点的匹配相似度满足预设条件。例如,采用BoW(Bag-of-Words)模型计算当前图像帧特征点与初始点云信息中多个关键帧的特征点之间的匹配点数,当该初始点云信息中关键帧的特征点与当前图像帧的特征点的匹配点数量满足一定阈值时,或者,当该初始点云信息中关键帧的特征点与当前图像帧的特征点的匹配点数量大于或等于所述一组或多组初始点云信息中其他初始点云信息中关键帧的特征点与所述当前图像帧的特征点的匹配数量,将该初始点云信息视为目标点云信息。其中,所述特征点可以包括但不限于SIFT、SURF、FAST、BRIEF、ORB等,特征的匹配是针对特征描述子的进行的,上面提到特征描述子通常是一个向量,两个特征描述子的之间的距离可以反应出其相似的程度,也就是这两个特征点是不是同一个。根据描述子的不同,可以选择不同的距离度量。如果是浮点类型的描述子,可以使用其欧式距离;对于二进制的描述子(BRIEF)可以使用其汉明距离(两个不同二进制之间的汉明距离指的是两个二进制串不同位的个数)。有了计算描述子相似度的方法,那么在特征点的集合中如何寻找和其最相似的特征点,这就是特征点的匹配了。常用的匹配方式包括但不限于暴力匹配方法、较差匹配、K近邻匹配等。最简单直观的方法就是暴力匹配方法(Brute-Froce Matcher),计算某一个特征点描述子与其他所有特征点描述子之间的距离,然后将得到的距离进行排序,取距离最近的一个作为匹配点。交叉匹配:针对暴力匹配,可以使用交叉匹配的方法来过滤错误的匹配。交叉过滤的是想很简单,再进行一次匹配,反过来使用被匹配到的点进行匹配,如果匹配到的仍然是第一次匹配的点的话,就认为这是一个正确的匹配。举例来说就是,假如第一次特征点A使用暴力匹配的方法,匹配到的特征点是特征点B;反过来,使用特征点B进行匹配,如果匹配到的仍然是特征点A,则就认为这是一个正确的匹配,否则就是一个错误的匹配。K近邻匹配:在匹配的时候选择K个和特征点最相似的点,如果这K个点之间的区别足够大,则选择最相似的那个点作为匹配点,通常选择K=2,也就是最近邻匹配。对每个匹配返回两个最近邻的匹配,如果第一匹配和第二匹配距离比率足够大(向量距离足够远),则认为这是一个正确的匹配,比率的阈值通常在2左右。另外还可采用随机采样一致性(RANSAC)来过滤掉错误的匹配,该方法利用匹配点计算两个图像之间单应矩阵,然后利用重投影误差来判定某一个匹配是不是正确的匹配。
当然,本领域技术人员应能理解上述特征点以及特征点匹配方式仅为举例,其他现有的或今后可能出现的特征点匹配方式的获取方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
在一些实施方式中,所述预设条件包括但不限于:所述当前图像帧的特征点与该初始点云信息中关键帧的特征点的匹配数量大于或等于预设匹配数量阈值;该初始点云信息中关键帧的特征点与所述当前图像帧的特征点的匹配数量大于或等于所述一组或多组初始点云信息中其他初始点云信息的关键帧的特征点与所述当前图像帧的特征点的匹配数量。例如,对应预设条件可以是选择特征匹配的匹配数量满足一定阈值的一个或多个目标点云信息,也可以是根据各个初始点云信息的关键帧与当前图像帧的特征匹配的匹配点数量取其中匹配数量最高的初始点云信息作为目标点云信息。当选择满足匹配数量阈值的一个或多个目标点云信息时,可选择任意一个目标点云信息进行后续的重定位过程,或者选择其中匹配数量最高的目标点云信息进行后续的重定位过程等。
在一些实施方式中,所述方法还包括步骤S107(未示出),在步骤S107中,若所述一组或多组初始点云信息中不存在与所述当前图像帧匹配的点云信息,通过所述摄像装置扫描所述目标区域获取对应的第一图像帧,直至所述第一图像帧在所述点云数据库的所述一组或多组初始点云信息中存在相匹配的第一目标点云信息,其中,所述第一图像帧的特征点与所述第一目标点云信息中第一目标关键帧的特征点的匹配相似度满足预设条件;其中,在步骤S104中,计算设备根据所述第一图像帧与所述第一目标点云信息进行重定位以完成SLAM初始化。例如,若根据所述当前图像帧的特征点与所述一组或多组初始点云信息中关键帧的特征点进行匹配时,未匹配到满足预设条件的目标点云信息,则认为当前图像帧不满足初始化要求,继续通过摄像装置采集关于所述目标区域的图像帧,如第一图像帧等,并根据该第一图像帧继续匹配直至该第一图像帧在所述点云数据库中匹配到满足预设条件的对应的第一目标点云信息,所述第一图像帧中第一不代表顺序,仅用于与前文当前图像帧进行区别,该第一图像帧可以是下一帧图像帧,若下一帧图像帧仍不匹配,该第一图像帧表示所述摄像装置采集到的第一个与点云数据库中初始点云信息满足预设条件的图像帧。随后,计算设备根据该匹配的第一图像帧与对应第一目标点云信息进行重定位以完成SLAM初始化。
在步骤S104中,计算设备根据所述当前图像帧与所述目标点云信息进行重定位以完成SLAM初始化。例如,所述重定位是指根据当前图像帧与目标点云信息中多个关键帧的特征点匹配找出一些候选关键帧,对每个候选关键帧,用RANSAC和PnP估计位姿,然后更新地图点,然后优化位姿,如果内点较少,则重复上述过程,直到有足够的内点支持,从而完成重定位。完成重定位后能够获取到对应的地图点和当前图像帧的位姿信息等,该位姿信息可以是当前帧与关键帧的相对位置关系,还可以是摄像装置的当前相机位姿信息。其中,当前图像帧与目标点云信息进行重定位时,若目标点云信息存储在云端服务器或其他用户设备上时,可以将目标点云信息下载到用户设备本地,在用户设备本地进行重定位,或者将当前图像帧发送到云端服务器或其他用户设备上进行重定位,并将重定位结果返回给用户设备。在一些实施方式中,所述步骤S104包括子步骤S1041(未示出)和子步骤S1042(未示出),在步骤S1041中,计算设备将所述当前图像帧的特征点与所述目标点云信息的关键帧中特征点进行匹配,若目标点云信息中的某关键帧匹配的特征点数量大于或等于预设数量阈值,将该关键帧作为候选关键帧;在步骤S1042中,计算设备根据所述候选关键帧获取所述摄像装置的位姿信息,以完成SLAM初始化。例如,计算设备对获取到的当前图像帧提取ORB特征,采用BoW(Bag-of-Words)模型计算当前图像帧特征点与目标点云信息中多个关键帧之间的匹配点,若匹配数量满足一定数量阈值则视为候选关键帧,并在后续基于该候选关键帧获取地图点和当前图像帧的位姿信息等。当然,本领域技术人员应能理解上述特征点匹配方式仅为举例,其他现有的或今后可能出现的特征点匹配方式的获取方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。在一些实施方式中,在步骤S1042中,计算设备对所述候选关键帧中每个候选关键帧进行随机采样一致性算法和PnP估计确定对应的内点及所述摄像装置的当前位姿信息;将所述候选关键帧的内点更新为地图点,利用图优化理论优化所述摄像装置的当前位姿信息;重复上述步骤,直至所述内点数量满足预定数量阈值,确定所述摄像装置的位姿信息,以完成SLAM初始化。例如,对于每个候选关键帧通过RANSAC(随机采样一致性算法)和PnP估计当前图像帧的当前位姿信息,然后更新估计得到的内点为地图点,进而利用图优化理论优化当前图像帧的当前位姿信息,如果优化后的内点较少,则重复上述步骤,对选择的多个候选关键帧的地图点进行更多的匹配,最后再次优化位姿,内点满足一定阈值时,重定位成功,从而建立与地图点云中的坐标系一致的SLAM坐标系,完成初始化。在此,所述RANSAC算法的输入是一组观测数据,一个可以解释或者适应于观测数据的参数化模型,一些可信的参数。RANSAC通过反复选择数据中的一组随机子集来达成目标。被选取的子集被假设为局内点,并用下述方法进行验证:
1.有一个模型适应于假设的局内点,即所有的未知参数都能从假设的局内点计算得出。
2.用1中得到的模型去测试所有的其它数据,如果某个点适用于估计的模型,认为它也是局内点。
3.如果有足够多的点被归类为假设的局内点,那么估计的模型就足够合理。
4.然后,用所有假设的局内点去重新估计模型,因为它仅仅被初始的假设局内点估计过。
5.最后,通过估计局内点与模型的错误率来评估模型。
这个过程被重复执行固定的次数,每次产生的模型要么因为局内点太少而被舍弃,要么因为比现有的模型更好而被选用。
在另一些实施方式中,所述方法还包括步骤S108(未示出),在步骤S108中,计算设备若经过预定次数的重复后,所述内点数量不满足所述预定数量阈值,通过所述摄像装置扫描所述目标区域获取对应的第二图像帧,直至所述第二图像帧与一组或多组初始点云信息中某组初始点云信息计算后的内点数量满足所述预定数量阈值,则重定位成功,从而确定摄像装置的位姿信息,以完成SLAM初始化。例如,重定位过程中,若经过预定次数(如5次等)的重复后,得到的内点数量仍不满足预定数量阈值,则计算设备确定当前图像帧与目标点云信息重定位失败,继续通过摄像装置拍摄关于目标区域的图像帧,直至存在第二图像帧,该第二图像帧在点云数据库中存在对应的第二目标点云信息,并与第二目标点云信息中第二目标关键帧确定对应候选关键帧后能够计算得到足够的内点数满足所述预定数量阈值,所述第二图像帧中第二不代表顺序,仅用于与前文当前图像帧、第一图像帧进行名称区别,该第二图像帧可以是当前图像帧/第一图像帧的下一帧图像帧,若下一帧图像帧仍不匹配,该第二图像帧表示所述摄像装置采集到的第一个与点云数据库中初始点云信息匹配后计算的内点数满足预定数量阈值的图像帧,即第一个能够完成重定位的图像帧。
在一些实施方式中,所述方法还包括步骤S109(未示出),在步骤S109中,所述摄像装置继续扫描关于所述目标区域的多个图像帧,基于SLAM初始化获取的位姿信息,生成对应的一组扫描点云信息;并根据所述扫描点云信息更新所述点云数据库。例如,计算设备完成此次扫描的SLAM初始化后,获取到对应的当前位姿信息和地图点信息,并通过摄像装置继续采集关于所述目标区域的多个图像帧,随后,根据前述的SLAM跟踪和建图方法等获得此次扫描的图像帧对应的扫描点云信息。计算设备可以将该扫描点云信息存储至点云数据库,基于该扫描点云信息更新所述点云数据库。所述点云数据库中保存了多个离线点云数据,可以确保SLAM初始化的快速、准确地进行。
图3示出根据本申请另一个方面的一种进行SLAM初始化的方法,其中,该方法包括步骤S201、步骤S202以及步骤S203。在步骤S201中,计算设备建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,每组初始点云信息中包括对应的关键帧;在步骤S202中,计算设备通过摄像装置扫描所述目标区域获取对应的当前图像帧;在步骤S203中,计算设备根据各初始点云信息中的关键帧,将所述当前图像帧与所述点云数据库中的所述一组或多组初始点云信息依次进行重定位,直至所述当前图像帧与所述一组或多组初始点云信息中某组初始点云信息重定位成功,从而确定摄像装置的位姿信息,以完成SLAM初始化。例如,所述点云数据库中除了包含目标区域对应的初始点云信息之外,还可以包含其他区域的点云信息等。在一些实施方式中,所述初始点云信息除了包含对应的3D地图点,还包括但不限于:点云信息对应的关键帧、点云信息对应的共视图信息、点云信息对应的生长树信息等。所述关键帧信息是符合预设筛选条件的图像帧,考虑到图像帧获取过程中图像插入频率过高,经常会导致信息冗余快速增加,而这些冗余信息对系统的精度提升十分有限,甚至没有提高,反而会消耗更多的计算资源,所以我们利用关键帧,在计算过程中适当降低信息冗余度,减少计算机资源的消耗,保证系统的平稳运行。例如,用户可以通过计算设备的摄像装置拍摄关于目标区域的图像帧,将当前拍摄的图像帧称为当前图像帧,基于该当前图像帧进行SLAM初始化。计算设备基于该当前图像帧和点云数据库中存储的一组或多组初始点云信息,可以依次将当前图像帧与点云数据库中存储的一组或多组初始点云信息进行重定位,从而确定能够重定位成功的初始点云信息,并确定对应的地图点和当前图像帧的位姿信息,该位姿信息可以是当前帧与关键帧的相对位置关系,还可以是摄像装置的当前相机位姿信息。所述重定位是指根据当前图像帧与初始点云信息中多个关键帧的特征点匹配找出一些候选关键帧,对每个候选关键帧,用RANSAC和PnP估计位姿,然后更新地图点,然后优化位姿,如果内点较少,则重复上述步骤,直到有足够的内点支持,从而完成重定位。在此,重定位成功包括根据候选关键帧,获得满足预定数量阈值的内点数,或者后续经过预定次数的重复优化后,能够获取到满足预定数量阈值的内点数等;若前述两个条件均不满足,则认为初始点云信息与当前图像帧的重定位失败。在一些实施方式中,若当前图像帧与所有初始点云信息重定位均失败,则继续通过摄像装置拍摄关于目标区域的图像帧,直至存在第三图像帧,该第三图像帧在点云数据库中存在对应的第三目标点云信息,与第三目标点云信息匹配后计算得到的内点数满足所述预定数量阈值,即第三图像帧重定位成功。所述第三图像帧中第三不代表顺序,仅用于与前文当前图像帧进行名称区别,该第三图像帧可以是当前图像帧的下一帧图像帧,若下一帧图像帧仍不匹配,该第三图像帧表示所述摄像装置采集到的第一个与点云数据库中初始点云信息匹配后计算的内点数满足预定数量阈值的图像帧,即第一个能够完成重定位的图像帧。其中,本方案可以是在用户设备端本地建立对应点云数据库并基于此完成SLAM初始化等。还如,本方案所指计算设备可以是用户设备与其他设备(例如,其他用户设备或者网络设备等)的结合,用户设备通过摄像装置采集当前图像帧,所述点云数据库由其他设备建立并存储,具体的初始化过程可以是在用户设备完成,也可以是在其他设备完成,例如,用户设备接收其他设备发送的点云数据库的相关信息(如点云数据库中所有点云信息或者关于目标区域的一组或多组初始点云信息),并基于图像帧在本地进行SLAM初始化;又例如,用户设备用于通过摄像装置采集关于目标区域的图像帧,并将该图像帧发送至其他设备,其他设备基于点云数据库及图像帧进行SLAM初始化,具体的后续处理过程(如跟踪或者建图等)可以在其他设备端完成,也可以是其他设备将SLAM初始化获取的位姿信息及地图点信息等发送至用户设备并在本地完成等。
在一些实施方式中,所述方法还包括步骤S204(未示出),在步骤S204中,计算设备确定处于所述目标区域中的摄像装置的初始位姿信息;基于所述初始位姿信息通过所述摄像装置拍摄关于所述目标区域的多个图像帧,根据所述多个图像帧生成关于所述目标区域的初始点云信息;其中,在步骤S201中,计算设备根据所述获取的初始位姿信息建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息。例如,所述计算设备包括对应的摄像装置,用于拍摄当前目标区域的图像帧,如摄像头、跟踪摄像机等。通常基于点云进行初始化需要先获取一组或多组初始点云信息,基于该一组或多组初始点云信息建立或更新对应的点云数据库,随后,基于该点云数据库对当前图像帧进行依次重定位,用于SLAM初始化。计算设备先获取对应的扫描目标区域的摄像装置的初始位姿信息,如通过2D识别物完成初始化、单帧初始化、双帧初始化、3D模型初始化等。获取对应的初始位姿信息后,计算设备通过摄像装置扫描所述目标区域得到关于目标区域的多个图像帧,根据该多个图像帧,计算设备执行SLAM算法获得对应的3D地图点,或者获得对应的3D地图点、关键帧、共视图、生长树等点云信息,例如执行SLAM算法中跟踪线程、局部建图线程,又例如执行SLAM算法中跟踪线程、局部建图线程、闭环检测线程,以获得点云信息,从而得到初始点云信息。在一些实施方式中,目标区域的确定可以使人为设定的,还可以是基于拍摄的图像智能控制的。例如,计算设备若获取到关于所述摄像装置的启动指令,启动所述摄像装置获取关于所述目标区域的多个图像帧,若最新采集到的图像帧满足预定条件,生成对应的停止采集指令;根据所述停止采集指令暂停所述摄像装置的采集过程,并将采集过的区域作为对应的目标区域。例如,用户持有计算设备,计算设备包括对应的摄像装置,用户可以通过启动操作向计算设备发送启动指令,计算设备若获取到关于摄像装置的启动指令,则启动该摄像装置拍摄当前场景相关的多个图像帧,基于用户或者系统的控制,摄像装置持续拍摄当前场景的图像帧,若摄像装置获取的最新图像帧满足预定条件,则生成对应的停止采集指令,将采集过的区域作为目标区域,并根据在所述目标区域采集的多个图像帧生成关于所述目标区域的初始点云信息。在一些实施方式中,所述预定条件包括但不限于:所述当前图像帧中特征点的数量小于或等于预设特征点数量阈值;所述当前图像帧的采集时间与所述摄像装置基于所述启动指令的启动时间之差大于或等于预设时间阈值。例如,对应的目标区域通常满足纹理丰富、分布均匀的特点,当最新采集的图像帧中的特征点数量不满足对应数量阈值时,我们认为拍摄的区域不是目标区域,采集到的图像帧数据没有意义,则生成对应的停止采集指令。又如,摄像装置在启动时设置了对应的采集时长,当当前最新图像帧的采集时间与启动时间之差超过采集时长时,生成对应的停止采集指令。当然,本领域技术人员应能理解上述预定条件仅为举例,其他现有的或今后可能出现的预定条件的获取方法如可适用于本申请,也应包含在本申请保护范围以内,并在此以引用方式包含于此。
上文主要介绍了用于计算设备上一种进行SLAM初始化的方法,此外,本申请还提供了能够实现上述各实施方式的计算设备,下面结合图4、图5进行介绍。
图4示出了根据本申请一个方面的一种进行SLAM初始化的计算设备,具体包括一一模块101、一二模块102、一三模块103以及一四模块104。一一模块101,用于建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息;一二模块102,用于通过摄像装置扫描所述目标区域获取对应的当前图像帧;一三模块103,用于根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧与所述目标点云信息的匹配相似度满足预设条件;一四模块104,用于根据所述当前图像帧与所述目标点云信息进行重定位以完成SLAM初始化。在此,图4示出的所述一一模块101、一二模块102、一三模块103以及一四模块104的具体实施方式与前述步骤S101、步骤S102、步骤S103以及步骤S104对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
如在一些实施方式中,所述一组或多组初始点云信息中每一组初始点云信息包括但不限于:点云信息对应的关键帧信息;点云信息对应的共视图信息;点云信息对应的生长树信息等。在此,所述初始点云信息的具体实施方式与前述初始点云信息对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
在一些实施方式中,所述设备还包括一五模块105(未示出),用于通过所述摄像装置扫描所述目标区域获取对应的初始点云信息;其中,一一模块101用于根据所述获取的初始点云信息建立或更新对应的点云数据库,其中,所述点云数据库包含关于目标区域的一组或多组初始点云信息。如在一些实施方式中,一五模块105,用于确定用于扫描所述目标区域的摄像装置的初始位姿信息;基于所述初始位姿信息通过所述摄像装置拍摄关于所述目标区域的多个图像帧,根据所述多个图像帧生成关于所述目标区域的初始点云信息。在此,所述一五模块105的具体实施方式与前述步骤S105对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
在一些实施方式中,所述初始位姿信息的获取方法包括但不限于:通过识别所述初始区域中预设的2D标识物完成初始化;单帧初始化;双帧初始化;3D模型初始化等。在此,所述初始位姿获取方法的具体实施方式与前述初始位姿获取方法对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
在一些实施方式中,目标区域的确定可以使人为设定的,还可以是基于拍摄的图像智能控制的。所述设备还包括一六模块106(用于若获取到关于所述摄像装置的启动指令,启动所述摄像装置获取关于所述目标区域的多个图像帧,若最新采集到的图像帧满足预定条件,生成对应的停止采集指令;根据所述停止采集指令暂停所述摄像装置的采集过程,并将采集过的区域作为对应的目标区域。在一些实施方式中,所述预定条件包括但不限于:所述当前图像帧中特征点的数量小于或等于预设特征点数量阈值;所述当前图像帧的采集时间与所述摄像装置基于所述启动指令的启动时间之差大于或等于预设时间阈值。在此,所述一六模块106的具体实施方式与前述步骤S106对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
在一些实施方式中,所述所述一组或多组初始点云信息中每一组点云信息还包括点云信息的关键帧信息;其中,一三模块103,用于根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧的特征点与所述目标点云信息中目标关键帧的特征点的匹配相似度满足预设条件。在此,所述一三模块103的具体实施方式与前述步骤S103对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
在一些实施方式中,所述设备还包括一七模块107(未示出),用于若所述一组或多组初始点云信息中不存在与所述当前图像帧匹配的点云信息,通过所述摄像装置扫描所述目标区域获取对应的第一图像帧,直至所述第一图像帧在所述点云数据库的所述一组或多组初始点云信息中存在相匹配的第一目标点云信息,其中,所述第一图像帧的特征点与所述第一目标点云信息中第一目标关键帧的特征点的匹配相似度满足预设条件;其中,一四模块104,用于根据所述第一图像帧与所述第一目标点云信息进行重定位以完成SLAM初始化。在此,所述一七模块107的具体实施方式与前述步骤S107对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
在一些实施方式中,一四模块104包括一四一单元1041(未示出)和一四二单元1042(未示出),一四一单元1041,用于将所述当前图像帧的特征点与所述目标点云信息的关键帧中特征点进行匹配,若目标点云信息中的某关键帧匹配的特征点数量大于或等于预设数量阈值,将该关键帧作为候选关键帧;一四二单元1042,用于根据所述候选关键帧获得所述摄像装置的位姿信息,以完成SLAM初始化。在一些实施方式中,一四二单元1042,用于对所述候选关键帧中每个候选关键帧进行随机采样一致性算法和PnP估计确定对应的内点及所述摄像装置的当前位姿信息;将所述候选关键帧的内点更新为地图点,利用图优化理论优化所述摄像装置的当前位姿信息;重复上述步骤,直至所述内点数量满足预定数量阈值,确定所述摄像装置的位姿信息,以完成SLAM初始化。在此,所述一四一单元1041和一四二单元1042的具体实施方式与前述步骤S1041和步骤S1042对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
在另一些实施方式中,所述设备还包括一八模块108(未示出),用于若经过预定次数的重复后,所述内点数量不满足所述预定数量阈值,通过所述摄像装置扫描所述目标区域获取对应的第二图像帧,直至所述第二图像帧与一组或多组初始点云信息中某组初始点云信息计算后的内点数量满足所述预定数量阈值,则重定位成功,从而确定摄像装置的位姿信息,以完成SLAM初始化。在此,所述一八模块108的具体实施方式与前述步骤S108对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
在一些实施方式中,所述设备还包括一九模块109(未示出),用于通过所述摄像装置继续扫描关于所述目标区域的多个图像帧,基于SLAM初始化获取的位姿信息,生成对应的一组扫描点云信息;并根据所述扫描点云信息更新所述点云数据库。在此,所述一九模块109的具体实施方式与前述步骤S109对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
图5示出根据本申请另一个方面的一种进行SLAM初始化的计算设备200,其中,该设备包括二一模块201、二二模块202以及二三模块203。二一模块201,用于建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,每组初始点云信息中包括对应的关键帧;二二模块202,用于通过摄像装置扫描所述目标区域获取对应的当前图像帧;二三模块203,用于根据各初始点云信息中的关键帧,将所述当前图像帧与所述点云数据库中的所述一组或多组初始点云信息依次进行重定位,直至所述当前图像帧与所述一组或多组初始点云信息中某组初始点云信息重定位成功,从而确定摄像装置的位姿信息,以完成SLAM初始化。在此,图5示出的所述二一模块201、二二模块202以及二三模块203的具体实施方式与前述图3示出的步骤S201、步骤S202以及步骤S203对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
在一些实施方式中,所述设备还包括二四模块204(未示出),用于确定处于所述目标区域中的摄像装置的初始位姿信息;基于所述初始位姿信息通过所述摄像装置拍摄关于所述目标区域的多个图像帧,根据所述多个图像帧生成关于所述目标区域的初始点云信息;其中,二一模块201,用于根据所述获取的初始位姿信息建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息。在此,所述二四模块204的具体实施方式与前述步骤S204对应的实施例相同或相似,因而不再赘述,以引用的方式包含与此。
除上述各实施例介绍的方法和设备外,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机代码,当所述计算机代码被执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机程序产品,当所述计算机程序产品被计算机设备执行时,如前任一项所述的方法被执行。
本申请还提供了一种计算机设备,所述计算机设备包括:
一个或多个处理器;
存储器,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前任一项所述的方法。
图6示出了可被用于实施本申请中所述的各个实施例的示例性系统;
如图6所示在一些实施例中,系统300能够作为各所述实施例中的任意一个上述设备。在一些实施例中,系统300可包括具有指令的一个或多个计算机可读介质(例如,系统存储器或NVM/存储设备320)以及与该一个或多个计算机可读介质耦合并被配置为执行指令以实现模块从而执行本申请中所述的动作的一个或多个处理器(例如,(一个或多个)处理器305)。
对于一个实施例,系统控制模块310可包括任意适当的接口控制器,以向(一个或多个)处理器305中的至少一个和/或与系统控制模块310通信的任意适当的设备或组件提供任意适当的接口。
系统控制模块310可包括存储器控制器模块330,以向系统存储器315提供接口。存储器控制器模块330可以是硬件模块、软件模块和/或固件模块。
系统存储器315可被用于例如为系统300加载和存储数据和/或指令。对于一个实施例,系统存储器315可包括任意适当的易失性存储器,例如,适当的DRAM。在一些实施例中,系统存储器315可包括双倍数据速率类型四同步动态随机存取存储器(DDR4SDRAM)。
对于一个实施例,系统控制模块310可包括一个或多个输入/输出(I/O)控制器,以向NVM/存储设备320及(一个或多个)通信接口325提供接口。
例如,NVM/存储设备320可被用于存储数据和/或指令。NVM/存储设备320可包括任意适当的非易失性存储器(例如,闪存)和/或可包括任意适当的(一个或多个)非易失性存储设备(例如,一个或多个硬盘驱动器(HDD)、一个或多个光盘(CD)驱动器和/或一个或多个数字通用光盘(DVD)驱动器)。
NVM/存储设备320可包括在物理上作为系统300被安装在其上的设备的一部分的存储资源,或者其可被该设备访问而不必作为该设备的一部分。例如,NVM/存储设备320可通过网络经由(一个或多个)通信接口325进行访问。
(一个或多个)通信接口325可为系统300提供接口以通过一个或多个网络和/或与任意其他适当的设备通信。系统300可根据一个或多个无线网络标准和/或协议中的任意标准和/或协议来与无线网络的一个或多个组件进行无线通信。
对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器(例如,存储器控制器模块330)的逻辑封装在一起。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑封装在一起以形成系统级封装(SiP)。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上。对于一个实施例,(一个或多个)处理器305中的至少一个可与系统控制模块310的一个或多个控制器的逻辑集成在同一模具上以形成片上系统(SoC)。
在各个实施例中,系统300可以但不限于是:服务器、工作站、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)。在各个实施例中,系统300可具有更多或更少的组件和/或不同的架构。例如,在一些实施例中,系统300包括一个或多个摄像机、键盘、液晶显示器(LCD)屏幕(包括触屏显示器)、非易失性存储器端口、多个天线、图形芯片、专用集成电路(ASIC)和扬声器。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。本领域技术人员应能理解,计算机程序指令在计算机可读介质中的存在形式包括但不限于源文件、可执行文件、安装包文件等,相应地,计算机程序指令被计算机执行的方式包括但不限于:该计算机直接执行该指令,或者该计算机编译该指令后再执行对应的编译后程序,或者该计算机读取并执行该指令,或者该计算机读取并安装该指令后再执行对应的安装后程序。在此,计算机可读介质可以是可供计算机访问的任意可用的计算机可读存储介质或通信介质。
通信介质包括藉此包含例如计算机可读指令、数据结构、程序模块或其他数据的通信信号被从一个系统传送到另一系统的介质。通信介质可包括有导的传输介质(诸如电缆和线(例如,光纤、同轴等))和能传播能量波的无线(未有导的传输)介质,诸如声音、电磁、RF、微波和红外。计算机可读指令、数据结构、程序模块或其他数据可被体现为例如无线介质(诸如载波或诸如被体现为扩展频谱技术的一部分的类似机制)中的已调制数据信号。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。调制可以是模拟的、数字的或混合调制技术。
作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。例如,计算机可读存储介质包括,但不限于,易失性存储器,诸如随机存储器(RAM,DRAM,SRAM);以及非易失性存储器,诸如闪存、各种只读存储器(ROM,PROM,EPROM,EEPROM)、磁性和铁磁/铁电存储器(MRAM,FeRAM);以及磁性和光学存储设备(硬盘、磁带、CD、DVD);或其它现在已知的介质或今后开发的能够存储供计算机系统使用的计算机可读信息/数据。
在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。

Claims (17)

1.一种进行SLAM初始化的方法,其中,该方法包括:
建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,所述一组或多组初始点云信息中每一组点云信息包括点云信息的关键帧信息;
通过摄像装置扫描所述目标区域获取对应的当前图像帧;
根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧的特征点与所述目标点云信息中目标关键帧的特征点的匹配相似度满足预设条件;
将所述当前图像帧的特征点与所述目标点云信息的关键帧中特征点进行匹配,若目标点云信息中的某关键帧中匹配的特征点的数量大于或等于预设数量阈值,将该关键帧作为候选关键帧;对所述候选关键帧中每个候选关键帧进行随机采样一致性算法和PnP估计确定对应的内点及所述摄像装置的当前位姿信息;将所述候选关键帧的内点更新为地图点,利用图优化理论优化所述摄像装置的当前位姿信息;重复上述步骤,直至所述内点数量满足预定数量阈值,确定所述摄像装置的位姿信息,以完成SLAM初始化。
2.根据权利要求1所述的方法,其中,所述一组或多组初始点云信息中每一组点云信息至少还包括以下任一项:
点云信息对应的共视图信息;
点云信息对应的生长树信息。
3.根据权利要求1或2所述的方法,其中,所述方法还包括:
通过所述摄像装置扫描所述目标区域获取对应的初始点云信息;
其中,所述建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,包括:
根据所述获取的初始点云信息建立或更新对应的点云数据库,其中,所述点云数据库包含关于目标区域的一组或多组初始点云信息。
4.根据权利要求3所述的方法,其中,所述通过所述摄像装置扫描所述目标区域获取对应的初始点云信息,包括:
确定处于所述目标区域中的摄像装置的初始位姿信息;
基于所述初始位姿信息通过所述摄像装置拍摄关于所述目标区域的多个图像帧,根据所述多个图像帧生成关于所述目标区域的初始点云信息。
5.根据权利要求4所述的方法,其中,所述初始位姿信息的获取方法包括以下至少任一项:
通过识别初始区域中预设的2D标识物完成初始化;
单帧初始化;
双帧初始化;
3D模型初始化。
6.根据权利要求4或5所述的方法,其中,所述基于所述初始位姿信息通过所述摄像装置拍摄关于所述目标区域的多个图像帧,包括:
若获取到关于所述摄像装置的启动指令,启动所述摄像装置获取关于所述目标区域的多个图像帧,若最新采集到的图像帧满足预设条件,生成对应的停止采集指令;
根据所述停止采集指令暂停所述摄像装置的采集过程,并将采集过的区域作为对应的目标区域。
7.根据权利要求6所述的方法,其中,所述预设条件包括以下至少任一项:
所述最新采集到的图像帧中特征点的数量小于或等于预设特征点数量阈值;
所述最新采集到的图像帧的采集时间与所述摄像装置基于所述启动指令的启动时间之差大于或等于预设时间阈值。
8.根据权利要求1所述的方法,其中,所述方法还包括:
若所述一组或多组初始点云信息中不存在与所述当前图像帧匹配的点云信息,通过所述摄像装置扫描所述目标区域获取对应的第一图像帧,直至所述第一图像帧在所述点云数据库的所述一组或多组初始点云信息中存在相匹配的第一目标点云信息,其中,所述第一图像帧的特征点与所述第一目标点云信息中第一目标关键帧的特征点的匹配相似度满足预设条件;
其中,所述根据所述当前图像帧与所述目标点云信息进行重定位以完成SLAM初始化,包括:
根据所述第一图像帧与所述第一目标点云信息进行重定位以完成SLAM初始化。
9.根据权利要求1或8所述的方法,其中,所述预设条件,包括以下至少任一项:
所述当前图像帧的特征点与该初始点云信息中关键帧的特征点的匹配数量大于或等于预设匹配数量阈值;
该初始点云信息中关键帧的特征点与所述当前图像帧的特征点的匹配数量大于或等于所述一组或多组初始点云信息中其他初始点云信息的关键帧的特征点与所述当前图像帧的特征点的匹配数量。
10.根据权利要求1所述的方法,其中,所述方法还包括:
若经过预定次数的重复后,所述内点数量不满足所述预定数量阈值,通过所述摄像装置扫描所述目标区域获取对应的第二图像帧,直至所述第二图像帧与一组或多组初始点云信息中某组初始点云信息计算后获得预定数量的内点数,则重定位成功,从而确定摄像装置的位姿信息,以完成SLAM初始化。
11.根据权利要求1所述的方法,其中,所述方法还包括:
所述摄像装置继续扫描关于所述目标区域的多个图像帧,基于SLAM初始化获取的位姿信息,生成对应的一组扫描点云信息;
根据所述扫描点云信息更新所述点云数据库。
12.一种进行SLAM初始化的方法,其中,该方法包括:
建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,每组初始点云信息中包括对应的关键帧;
通过摄像装置扫描所述目标区域获取对应的当前图像帧;
根据各初始点云信息的关键帧,将所述当前图像帧与所述点云数据库中所述一组或多组初始点云信息依次进行重定位,直至所述当前图像帧与所述一组或多组初始点云信息中某组初始点云信息重定位成功,从而确定摄像装置的位姿信息,以完成SLAM初始化;
其中,所述根据各初始点云信息的关键帧,将所述当前图像帧与所述点云数据库中所述一组或多组初始点云信息依次进行重定位,包括:
对于所述点云数据库中所述一组或多组初始点云信息中的第一组初始点云信息,将所述当前图像帧的特征点与该初始点云信息的关键帧中特征点进行匹配,若该初始点云信息中的某关键帧中匹配的特征点的数量大于或等于预设数量阈值,将该关键帧作为候选关键帧;对所述候选关键帧中每个候选关键帧进行随机采样一致性算法和PnP估计确定对应的内点及所述摄像装置的当前位姿信息;将所述候选关键帧的内点更新为地图点,利用图优化理论优化所述摄像装置的当前位姿信息;若获得满足预定数量阈值的内点数量或经过预定次数的重复优化后获得满足预定数量阈值的内点数量,确定所述当前图像帧与该初始点云信息重定位成功,否则,确定所述当前图像帧与该初始点云信息重定位失败,对下一组初始点云信息重复执行上述步骤。
13.根据权利要求12所述的方法,其中,所述方法包括:
确定处于所述目标区域中的摄像装置的初始位姿信息;
基于所述初始位姿信息通过所述摄像装置拍摄关于所述目标区域的多个图像帧,根据所述多个图像帧生成关于所述目标区域的初始点云信息,其中,该组初始点云信息包括对应的关键帧;
其中,所述建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,每组初始点云信息中包括对应的关键帧,包括:
根据所述获取的初始位姿信息建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息。
14.一种进行SLAM初始化的设备,其中,该设备包括:
一一模块,用于建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,所述一组或多组初始点云信息中每一组点云信息包括点云信息的关键帧信息;
一二模块,用于通过摄像装置扫描所述目标区域获取对应的当前图像帧;
一三模块,用于根据所述当前图像帧从所述点云数据库的所述一组或多组初始点云信息中确定相匹配的目标点云信息,其中,所述当前图像帧的特征点与所述目标点云信息中目标关键帧的特征点的匹配相似度满足预设条件;
一四模块,用于将所述当前图像帧的特征点与所述目标点云信息的关键帧中特征点进行匹配,若目标点云信息中的某关键帧中匹配的特征点的数量大于或等于预设数量阈值,将该关键帧作为候选关键帧;对所述候选关键帧中每个候选关键帧进行随机采样一致性算法和PnP估计确定对应的内点及所述摄像装置的当前位姿信息;将所述候选关键帧的内点更新为地图点,利用图优化理论优化所述摄像装置的当前位姿信息;重复上述步骤,直至所述内点数量满足预定数量阈值,确定所述摄像装置的位姿信息,以完成SLAM初始化。
15.一种进行SLAM初始化的设备,其中,所述设备还包括:
二一模块,用于建立或更新对应的点云数据库,其中,所述点云数据库中包含关于目标区域的一组或多组初始点云信息,每组初始点云信息中包括对应的关键帧;
二二模块,用于通过摄像装置扫描所述目标区域获取对应的当前图像帧;
二三模块,用于根据各初始点云信息的关键帧,将所述当前图像帧与所述点云数据库中的所述一组或多组初始点云信息依次进行重定位,直至所述当前图像帧与一组或多组初始点云信息中某组初始点云信息重定位成功,从而确定摄像装置的位姿信息,以完成SLAM初始化;
其中,所述根据各初始点云信息的关键帧,将所述当前图像帧与所述点云数据库中所述一组或多组初始点云信息依次进行重定位,包括:
对于所述点云数据库中所述一组或多组初始点云信息中的第一组初始点云信息,将所述当前图像帧的特征点与该初始点云信息的关键帧中特征点进行匹配,若该初始点云信息中的某关键帧中匹配的特征点的数量大于或等于预设数量阈值,将该关键帧作为候选关键帧;对所述候选关键帧中每个候选关键帧进行随机采样一致性算法和PnP估计确定对应的内点及所述摄像装置的当前位姿信息;将所述候选关键帧的内点更新为地图点,利用图优化理论优化所述摄像装置的当前位姿信息;若获得满足预定数量阈值的内点数量或经过预定次数的重复优化后获得满足预定数量阈值的内点数量,确定所述当前图像帧与该初始点云信息重定位成功,否则,确定所述当前图像帧与该初始点云信息重定位失败,对下一组初始点云信息重复执行上述步骤。
16.一种进行SLAM初始化的设备,其中,该设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如权利要求1至13中任一项所述方法的操作。
17.一种存储指令的计算机可读介质,所述指令在被执行时使得系统进行如权利要求1至13中任一项所述方法的操作。
CN202010251770.9A 2020-04-01 2020-04-01 一种进行slam初始化的方法与设备 Active CN111311684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010251770.9A CN111311684B (zh) 2020-04-01 2020-04-01 一种进行slam初始化的方法与设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010251770.9A CN111311684B (zh) 2020-04-01 2020-04-01 一种进行slam初始化的方法与设备

Publications (2)

Publication Number Publication Date
CN111311684A CN111311684A (zh) 2020-06-19
CN111311684B true CN111311684B (zh) 2021-02-05

Family

ID=71162678

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010251770.9A Active CN111311684B (zh) 2020-04-01 2020-04-01 一种进行slam初始化的方法与设备

Country Status (1)

Country Link
CN (1) CN111311684B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111860225B (zh) * 2020-06-30 2023-12-12 阿波罗智能技术(北京)有限公司 一种图像处理的方法、装置、电子设备及存储介质
CN112543859B (zh) * 2020-10-28 2022-07-15 华为技术有限公司 定位方法、装置、电子设备和存储介质
CN112595323A (zh) * 2020-12-08 2021-04-02 深圳市优必选科技股份有限公司 机器人及其建图方法和装置
CN112712018A (zh) * 2020-12-29 2021-04-27 东软睿驰汽车技术(沈阳)有限公司 标识地图的建立方法、视觉定位方法及装置
CN112329749B (zh) * 2021-01-05 2021-04-27 新石器慧通(北京)科技有限公司 点云的标注方法及标注设备
CN112837424B (zh) * 2021-02-04 2024-02-06 脸萌有限公司 图像处理方法、装置、设备和计算机可读存储介质
CN112991515B (zh) * 2021-02-26 2022-08-19 山东英信计算机技术有限公司 一种三维重建方法、装置及相关设备
CN113741698B (zh) * 2021-09-09 2023-12-15 亮风台(上海)信息科技有限公司 一种确定和呈现目标标记信息的方法与设备
CN115267796B (zh) * 2022-08-17 2024-04-09 深圳市普渡科技有限公司 定位方法、装置、机器人和存储介质
CN115937383B (zh) * 2022-09-21 2023-10-10 北京字跳网络技术有限公司 渲染图像的方法、装置、电子设备及存储介质
CN116012624B (zh) * 2023-01-12 2024-03-26 阿波罗智联(北京)科技有限公司 定位方法、装置、电子设备、介质以及自动驾驶设备

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291093A (zh) * 2017-07-04 2017-10-24 西北工业大学 基于视觉slam的复杂环境下无人机自主降落区域选择方法
CN107657640A (zh) * 2017-09-30 2018-02-02 南京大典科技有限公司 基于orb slam的智能巡防巡检管理方法
CN107909612A (zh) * 2017-12-01 2018-04-13 驭势科技(北京)有限公司 一种基于3d点云的视觉即时定位与建图的方法与系统
CN107958466A (zh) * 2017-12-01 2018-04-24 大唐国信滨海海上风力发电有限公司 一种Slam算法优化基于模型的跟踪方法
CN107993287A (zh) * 2017-12-01 2018-05-04 大唐国信滨海海上风力发电有限公司 一种目标跟踪的自动初始化方法
CN108665540A (zh) * 2018-03-16 2018-10-16 浙江工业大学 基于双目视觉特征和imu信息的机器人定位与地图构建系统
KR101988555B1 (ko) * 2017-12-05 2019-06-12 충북대학교 산학협력단 조명 불변 영상을 사용한 slam 시스템 및 점구름 지도 생성 방법
CN110070615A (zh) * 2019-04-12 2019-07-30 北京理工大学 一种基于多相机协同的全景视觉slam方法
CN110125928A (zh) * 2019-03-27 2019-08-16 浙江工业大学 一种基于前后帧进行特征匹配的双目惯导slam系统
CN110645998A (zh) * 2019-09-10 2020-01-03 上海交通大学 一种基于激光点云的无动态物体地图分段建立方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105856230B (zh) * 2016-05-06 2017-11-24 简燕梅 一种可提高机器人位姿一致性的orb关键帧闭环检测slam方法
US11397088B2 (en) * 2016-09-09 2022-07-26 Nanyang Technological University Simultaneous localization and mapping methods and apparatus
CN106570913B (zh) * 2016-11-04 2019-12-13 上海玄彩美科网络科技有限公司 基于特征的单目slam快速初始化方法
CN108801254A (zh) * 2017-05-02 2018-11-13 北京米文动力科技有限公司 一种重定位方法及机器人
CN107808395B (zh) * 2017-10-31 2020-12-04 南京维睛视空信息科技有限公司 一种基于slam的室内定位方法
WO2019195270A1 (en) * 2018-04-03 2019-10-10 Kaarta, Inc. Methods and systems for real or near real-time point cloud map data confidence evaluation
WO2020009826A1 (en) * 2018-07-05 2020-01-09 Kaarta, Inc. Methods and systems for auto-leveling of point clouds and 3d models
CN109671120A (zh) * 2018-11-08 2019-04-23 南京华捷艾米软件科技有限公司 一种基于轮式编码器的单目slam初始化方法及系统
CN110060202B (zh) * 2019-04-19 2021-06-08 湖北亿咖通科技有限公司 一种单目slam算法的初始化方法及系统
CN110322500B (zh) * 2019-06-28 2023-08-15 Oppo广东移动通信有限公司 即时定位与地图构建的优化方法及装置、介质和电子设备
CN110533587B (zh) * 2019-07-03 2023-06-13 浙江工业大学 一种基于视觉先验信息和地图恢复的slam方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107291093A (zh) * 2017-07-04 2017-10-24 西北工业大学 基于视觉slam的复杂环境下无人机自主降落区域选择方法
CN107657640A (zh) * 2017-09-30 2018-02-02 南京大典科技有限公司 基于orb slam的智能巡防巡检管理方法
CN107909612A (zh) * 2017-12-01 2018-04-13 驭势科技(北京)有限公司 一种基于3d点云的视觉即时定位与建图的方法与系统
CN107958466A (zh) * 2017-12-01 2018-04-24 大唐国信滨海海上风力发电有限公司 一种Slam算法优化基于模型的跟踪方法
CN107993287A (zh) * 2017-12-01 2018-05-04 大唐国信滨海海上风力发电有限公司 一种目标跟踪的自动初始化方法
KR101988555B1 (ko) * 2017-12-05 2019-06-12 충북대학교 산학협력단 조명 불변 영상을 사용한 slam 시스템 및 점구름 지도 생성 방법
CN108665540A (zh) * 2018-03-16 2018-10-16 浙江工业大学 基于双目视觉特征和imu信息的机器人定位与地图构建系统
CN110125928A (zh) * 2019-03-27 2019-08-16 浙江工业大学 一种基于前后帧进行特征匹配的双目惯导slam系统
CN110070615A (zh) * 2019-04-12 2019-07-30 北京理工大学 一种基于多相机协同的全景视觉slam方法
CN110645998A (zh) * 2019-09-10 2020-01-03 上海交通大学 一种基于激光点云的无动态物体地图分段建立方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于ORB-SLAM的室内机器人定位和三维稠密地图构建;侯荣波 等;《计算机应用》;20170510;第37卷(第5期);第1439-1444页 *
基于特征点的SLAM系统快速初始化方法研究;黄积晟;《中国优秀硕士学位论文全文数据库信息科技辑》;20190715;第I138-1015页 *
基于视觉的多机器人室内协同SLAM算法的研究与实现;叶必鹏;《中国优秀硕士学位论文全文数据库信息科技辑》;20190115;第I138-2380页 *

Also Published As

Publication number Publication date
CN111311684A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111311684B (zh) 一种进行slam初始化的方法与设备
CN111161347B (zh) 一种进行slam初始化的方法与设备
CN110657803B (zh) 机器人定位方法、装置以及存储装置
CN110322500B (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
CN107909612B (zh) 一种基于3d点云的视觉即时定位与建图的方法与系统
CN110555901B (zh) 动静态场景的定位和建图方法、装置、设备和存储介质
CN109887003B (zh) 一种用于进行三维跟踪初始化的方法与设备
JP5950973B2 (ja) フレームを選択する方法、装置、及びシステム
CN108805917B (zh) 空间定位的方法、介质、装置和计算设备
KR101532864B1 (ko) 모바일 디바이스들에 대한 평면 맵핑 및 트래킹
CN113741698B (zh) 一种确定和呈现目标标记信息的方法与设备
CN111094895B (zh) 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法
CN107784671B (zh) 一种用于视觉即时定位与建图的方法与系统
US20140037189A1 (en) Fast 3-D point cloud generation on mobile devices
KR20160003066A (ko) 일반적인 카메라 움직임 및 파노라마 카메라 움직임을 갖는 단안 시각 slam
CN111445526A (zh) 一种图像帧之间位姿的估计方法、估计装置和存储介质
CN110349212B (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
CN110648363A (zh) 相机姿态确定方法、装置、存储介质及电子设备
EP3326156A1 (en) Consistent tessellation via topology-aware surface tracking
CN108537726A (zh) 一种跟踪拍摄的方法、设备和无人机
CN110849380B (zh) 一种基于协同vslam的地图对齐方法及系统
CN110120090B (zh) 三维全景模型构建方法、装置及可读存储介质
Araar et al. PDCAT: a framework for fast, robust, and occlusion resilient fiducial marker tracking
CN112288817B (zh) 基于图像的三维重建处理方法及装置
Gorovyi et al. Advanced image tracking approach for augmented reality applications

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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method and device for SLAM initialization

Effective date of registration: 20221008

Granted publication date: 20210205

Pledgee: Industrial Bank Co.,Ltd. Shanghai Xuhui sub branch

Pledgor: HISCENE INFORMATION TECHNOLOGY Co.,Ltd.

Registration number: Y2022310000277

CP02 Change in the address of a patent holder

Address after: 201210 7th Floor, No. 1, Lane 5005, Shenjiang Road, China (Shanghai) Pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: HISCENE INFORMATION TECHNOLOGY Co.,Ltd.

Address before: Room 501 / 503-505, 570 shengxia Road, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai, 201203

Patentee before: HISCENE INFORMATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230906

Granted publication date: 20210205

Pledgee: Industrial Bank Co.,Ltd. Shanghai Xuhui sub branch

Pledgor: HISCENE INFORMATION TECHNOLOGY Co.,Ltd.

Registration number: Y2022310000277

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Method and Device for SLAM Initialization

Effective date of registration: 20231107

Granted publication date: 20210205

Pledgee: Industrial Bank Co.,Ltd. Shanghai Caohejing sub branch

Pledgor: HISCENE INFORMATION TECHNOLOGY Co.,Ltd.

Registration number: Y2023310000719

PE01 Entry into force of the registration of the contract for pledge of patent right