适应地图创建中状态转换的系统和方法与流程

文档序号:17332249发布日期:2019-04-05 22:09阅读:117来源:国知局
适应地图创建中状态转换的系统和方法与流程

本申请根据35usc§119(e)要求于2017年9月28日提交的、题为“适应地图创建中状态转换的系统和方法”的第62/564,831号(案卷号:28888-2157p)美国临时专利申请的优先权权益,其将yingzebao和mingyuchen列为发明人。上述专利文献通过引用以其整体并入本文。

本公开总体涉及用于改进地图创建的过程的系统和方法,具体地,用于改进同步定位和地图创建(slam)的过程的系统和方法。



背景技术:

机器人系统和自主系统的兴起已导致需要这种系统能够在现实世界中找到它们的位置。当系统不知道它的位置,对它操作的区域没有进行地图创建,或者两者都没有时,该问题相当复杂。为了解决这个问题,开发了被称作为同步定位和地图创建(slam)的过程集。slam努力将移动系统放置在未知环境中的未知位置中,逐渐地创建其环境的地图,并同时确定其在地图内的位置。

应注意,在slam过程中,由于运动方式和环境类型的不同,设备的位置跟踪的稳定性和精度可能会有很大的差异。简单的slam过程在很短的时间内通常会失败,如果它不能解释这些因素,就无法从故障中恢复。

一些slam方法试图更有鲁棒性。例如,一些可能试图检测其速度的异常。如果检测到异常,则使用字袋模型来识别最相似的关键帧,获取摄像机新位姿的估计,并重新开始跟踪。然而,这样的方法具有明显的不足。例如,它们仅试图在故障发生之后恢复位姿跟踪。这样的系统没有尝试去预测故障。此外,可能还在未满足良好跟踪条件的情况下执行恢复;因此,劣质恢复可用来引导接下来的slam过程,这可能导致完全错误的结果。

因此,需要的是解决如何从跟踪故障恢复以及如何处理不同状况之间转换的问题的系统和方法。



技术实现要素:

根据本申请的一方面,提供了非暂时性计算机可读介质或媒介,包括一个或多个指令序列,所述一个或多个指令序列在由一个或多个处理器执行时,致使用于执行移动系统的定位和地图创建的步骤,所述步骤包括:

将劣质图像帧的数量和良好图像帧的数量初始化为初值;

从所述移动系统的一个或多个传感器接收图像数据、运动的相关数据或两者,其中,所述图像数据包括至少一个图像帧;

使用所述运动的相关数据、所述图像数据或两者估计所述移动系统的运动变化;

响应于所述运动变化未超过迅速运动的阈值:

检测来自所述至少一个图像帧的图像帧中的特征;

对所检测到的特征中的每个提取特征描述子;

根据包括在图像帧中检测到的特征的数量或检测到的特征的分布的至少一个准则,响应于所检测到的特征不是不充足的:

增加良好图像帧的数量;

响应于良好图像帧的数量大于第一阈值:

响应于劣质图像帧的数量大于第二阈值,对所述移动系统执行跟踪;以及

响应于劣质图像帧的数量不大于所述第二阈值,对所述移动系统执行重定位。

根据本申请的另一方面,提供了用于对移动系统执行定位和地图创建的处理器实施的方法,所述方法包括:

将劣质图像帧的数量和良好图像帧的数量初始化为初值;从所述移动系统的一个或多个传感器接收图像数据、运动的相关数据或两者,其中,所述图像数据包括至少一个图像帧;

使用所述运动的相关数据、所述图像数据或两者估计所述移动系统的运动变化;

响应于所述运动变化未超过迅速运动的阈值:

检测来自所述至少一个图像帧的图像帧中的特征;

对所检测到的特征中的每个提取特征描述子;根据包括在图像帧中检测到的特征的数量或检测到的特征的分布的至少一个准则,响应于所检测到的特征不是不充足的:

增加良好图像帧的数量;

响应于良好图像帧的数量大于第一阈值:

响应于劣质图像帧的数量大于第二阈值,对所述移动系统执行跟踪;以及

响应于劣质图像帧的数量不大于所述第二阈值,对所述移动系统执行重定位。

根据本申请的又一方面,提供了移动系统,用于对所述移动系统执行定位和地图创建,包括:

视觉系统,用于捕捉一个或多个图像帧;

一个或多个传感器,用于捕捉运动的相关数据;

一个或多个处理器;以及

非暂时性计算机可读介质或媒介,包括一个或多个指令序列,所述一个或多个指令序列在由所述一个或多个处理器中的至少一个处理器执行时,致使执行步骤,所述步骤包括:

将劣质图像帧的数量和良好图像帧的数量初始化为初值;

从所述移动系统的一个或多个传感器接收图像数据、运动的相关数据或两者,其中,所述图像数据包括至少一个图像帧;使用所述运动的相关数据、所述图像数据或两者估计所述移动系统的运动变化;

响应于所述运动变化未超过迅速运动的阈值:

检测来自所述至少一个图像帧的图像帧中的特征;

对所检测到的特征中的每个提取特征描述子;

根据包括在图像帧中检测到的特征的数量或检测到的特征的分布的至少一个准则,响应于所检测到的特征不是不充足的:

增加良好图像帧的数量;

响应于良好图像帧的数量大于第一阈值:

响应于劣质图像帧的数量大于第二阈值,对所述移动系统执行跟踪;以及

响应于劣质图像帧的数量不大于所述第二阈值,对所述移动系统执行重定位。

附图说明

将为本发明的实施方式给出参考,本发明的实施方式的示例可在附图中示出。这些附图旨在进行说明而非限制。尽管在这些实施方式的上下文中大体描述了本发明,但应理解的是,它不旨在将本发明的范围限于这些特定的实施方式。附图中的项未按比例绘制。

图1描绘了根据本文件的实施方式的计算装置/信息处理系统的简化框图。

图2包括根据本文件的实施方式的系统的简化框图,该系统包括同步定位和地图创建(slam)处理器系统。

图3描绘了根据本文件的实施方式的可至少部分地由快速运动检测器执行的方法。

图4描绘了根据本文件的实施方式的可至少部分地由图像特征检测器执行的方法。

图5描绘了根据当前的公开的实施方式的可至少部分地由特征分布检查器模块执行的方法。

图6描绘了根据本公开的实施方式的可至少部分地由无特征的运动估计器执行的方法。

图7描绘了根据本公开的实施方式的可至少部分地由状态检查器执行的方法。

图8描绘了根据本文件的实施方式的可至少部分地由重定位引擎执行的方法。

图9描绘了根据本文件的实施方式的可至少部分地由同步定位和地图创建(slam)引擎执行的方法。

图10描绘了根据本文件的实施方式的可至少部分地slam跟踪状态检查器执行的方法。

具体实施方式

在以下描述中,出于解释目的,阐明具体细节以便提供对本发明的理解。然而,将对本领域的技术人员显而易见的是,可在没有这些细节的情况下实践本发明。此外,本领域的技术人员将认识到,下文描述的本发明的实施方式可以以各种方式(例如过程、设备、系统、装置或方法)在有形的计算机可读介质上实施。

附图中示出的部件或是模块是本发明实施方式的示例性说明,并且意图避免使本发明不清楚。还应理解的是,在本论述的全文中,部件可描述为单独的功能单元(可包括子单元),但是本领域的技术人员将认识到,各种部件或其部分可划分成单独组件,或者可整合在一起(包括整合在单个的系统或组件内)。应当注意的是,本文论述的功能或操作可实施为部件。部件可以以软件、硬件、或它们的组合实施。

此外,附图内的部件或系统之间的连接并不旨在限于直接连接。相反地,在这些部件之间的数据可由中间部件修改、重格式化、或以其它方式改变。另外,可以使用另外或更少的连接。还应注意的是,术语“联接”、“连接”或“通信地联接”应理解为包括直接连接、通过一个或多个中间装置来进行的间接连接、和无线连接。

在本说明书中对“一个实施方式”、“优选实施方式”、“实施方式”或“多个实施方式”的提及表示结合实施方式所描述的具体特征、结构、特性或功能包括在本发明的至少一个实施方式中,以及可包括在多于一个的实施方式中。另外,在本说明书的各个地方出现以上所提到的短语并不一定全都是指相同的实施方式或多个相同实施方式。

在本说明书的各个地方使用某些术语目的在于说明,并且不应被理解为限制。服务、功能或资源并不限于单个服务、单个功能或单个资源;这些术语的使用可指代相关服务、功能或资源的可分布或聚合的分组。

术语“包括”、“包括有”、“包含”和“包含有”应理解为开放性的术语,并且其后任何列出内容都是示例,而不旨在限于所列项目。本文所使用的任何标题仅是为了组织目的,并且不应被用于限制说明书或权利要求的范围。本专利文献中提到的每个参考文献以其全文通过引用并入本文。

此外,本领域的技术人员应认识到,(1)某些步骤可以可选地执行;(2)步骤可不限于本文所阐述的特定次序;(3)某些步骤可以以不同次序执行;以及(4)某些步骤可同时地进行。

a.系统实施方式

在实施方式中,本专利文件的方面可使用、可包括一个或多个信息处理系统/计算系统或者可在一个或多个信息处理系统/计算系统上实施。为了本公开的目的,计算系统可包括可操作来计算、运算、确定、分类、处理、传输、接收、检索、发起、路由、交换、存储、显示、通信、显现、检测、记录、再现、处理或使用用于商业、科学、控制或其它目的的任何形式信息、智能或数据的任何手段或手段的组合。例如,计算系统可为或可包括个人计算机(例如,膝上型计算机)、平板电脑、平板手机、个人数字助理(pda)、智能手机、智能手表、智能包装、服务器(例如,刀片式服务器或机架式服务器)、网络存储装置或任何其它合适装置,并且可在尺寸、形状、性能、功能和价格方面改变。计算系统可以包括随机存取存储器(ram)、一个或多个处理资源(例如中央处理单元(cpu)或硬件或软件控制逻辑)、rom和/或其它类型的存储器。计算系统的附加部件可包括一个或多个盘驱动器、用于与外部设备通信的一个或多个网络端口、以及各种输入和输出(i/o)装置(例如键盘、鼠标、触摸屏和/或视频显示器)。计算系统还可包括可操作为在各种硬件部件之间传输通信的一个或多个总线。

图1描绘了根据本公开的实施方式的计算装置/信息处理系统(或是计算系统)的简化框图。尽管应理解,信息处理系统可不同地配置并且包括不同部件,包括具有少于或多于图1中描述的部件,但应理解,针对系统100所示出的功能可操作为支持计算系统的各种实施方式。

如图1所示,系统100包括一个或多个中央处理单元(cpu)101,cpu101提供计算资源并控制计算机。cpu101可实施有微处理器等,并且还可包括一个或多个图形处理单元(gpu)117和/或用于数学计算的浮点协处理器。系统100还可包括系统存储器102,系统存储器102可呈随机存取存储器(ram)、只读存储器(rom)、或两者的形式。

如图1所示,还可提供多个控制器和外围装置。输入控制器103表示至各种输入装置104的接口,例如键盘、鼠标或触笔。还可存在扫描仪控制器105,该扫描仪控制器与扫描仪106通信。系统100还可包括存储器控制器107,该存储器控制器107用于与一个或多个存储装置108对接,存储装置中的每个均包括存储介质(诸如磁带或盘)或光学介质(其可用于记录用于操作系统、实用工具和应用程序的指令的程序,它们可包括实施本发明的各方面的程序的实施方式)。存储装置108还可用于存储经处理的数据或是将要根据本发明处理的数据。系统100还可包括显示器控制器109,该显示器控制器109用于为显示装置111提供接口,显示装置111可为阴极射线管(crt)、薄膜晶体管(tft)显示器或其它类型的显示器。计算系统100还可包括用于一个或多个外围装置113的一个或多个外围装置控制器或接口112。外围装置可包括一个或多个打印机、移动性系统(可包括一个或多个电机、伺服单元等)、惯性测量单元、视觉系统(可包括一个或多个摄像机)、传感器等。通信控制器114可与一个或多个通信装置115对接,这使系统100能够通过各种网络(包括互联网、云资源(例如以太云、经以太网的光纤通道(fcoe)/数据中心桥接(dcb)云等)、局域网(lan)、广域网(wan)、存储区域网络(san))中的任一网络,或通过任何合适电磁载波信号(包括红外信号)来连接至远程装置。

在示出的系统中,所有主要系统部件可连接至总线116,总线116可以表示多于一个的物理总线。然而,各种系统部件可在物理上彼此接近或可不在物理上彼此接近。例如,输入数据和/或输出数据可远程地从一个物理位置传输到另一物理位置。另外,实现本发明的各方面的程序可经由网络从远程位置(例如,服务器)访问。此类数据和/或程序可通过各种机器可读介质中的任一机器可读介质来传送,机器可读介质包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如cd-rom和全息装置的光学介质;磁光介质;以及硬件装置,该硬件装置专门被配置成存储或存储并执行程序代码,该硬件装置例如专用集成电路(asic)、可编程逻辑器件(pld)、闪存装置、以及rom和ram装置。

本发明的方面可以利用用于一个或多个处理器或处理单元以使步骤执行的指令在一个或多个非暂时性计算机可读介质上编码。应注意,一个或多个非暂时性计算机可读介质应当包括易失性存储器和非易失性存储器。应注意,替代实现方式是可能的,其包括硬件实现方式或软件/硬件实现方式。硬件实施的功能可使用asic、可编程的阵列、数字信号处理电路等来实现。因此,任何权利要求中的术语“手段”旨在涵盖软件实现方式和硬件实现方式两者。类似地,如本文使用的术语“计算机可读媒介或介质”包括具有实施在其上的指令程序的软件和/或硬件或它们的组合。利用所构想的这些替代实现方式,应当理解,附图以及随附描述提供本领域的技术人员编写程序代码(即,软件)和/或制造电路(即,硬件)以执行所需处理所要求的功能信息。

应当注意,本发明的实施方式还可涉及具有其上具有用于执行各种计算机实施的操作的计算机代码的非暂时性有形计算机可读介质的计算机产品。介质和计算机代码可为出于本发明的目的而专门设计和构造的介质和计算机代码,或者它们可为相关领域中的技术人员已知或可用的。有形计算机可读介质的示例包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如cd-rom和全息装置的光学介质;磁光介质;以及专门配置成存储或存储并执行程序代码的硬件装置,例如,专用集成电路(asic)、可编程逻辑器件(pld)、闪存装置、以及rom和ram装置。计算机代码的示例包括机器代码(例如,编译器产生的代码)以及包含可由计算机使用解释器来执行的更高级代码的文件。实施方式可整体地或部分地实施为可在由处理装置执行的程序模块中的机器可执行指令。程序模块的示例包括库、程序、例程、对象、组件和数据结构。在分布的计算环境中,程序模块可物理上定位在本地、远程或两者的设定中。

本领域的技术人员将认识到,计算系统或编程语言对本发明的实践来说均不重要。本领域的技术人员将还将认识到,多个上述元件可物理地和/或在功能上划分成子模块或组合在一起。

1.一般性概述

本文中描绘的是包括异常检测和精心设计的状态机以帮助地图创建(诸如同步定位和地图创建(slam)确定)的系统和方法。在实施方式中,该系统和方法允许slam处理器在不同的跟踪状态之间及时地和平稳地进行切换,从而防止出现不良跟踪状态。

图2包括根据本文件的实施方式的同步定位和地图创建(slam)处理器系统的描绘。如图2中所示,slam处理器系统205可以是大型系统200(诸如机器人系统、自动驾驶车辆或其它类似系统)的一部分。在实施方式中,如上面图1所描述的,该系统可包括一个或多个计算系统或其部分。如图2中所描绘的,系统200还可包括移动系统210、惯性测量单元(imu)215和视觉系统220。应注意,系统200可包括额外的部件,此处未对额外的部件进行描绘以避免使本发明的方面不明显。

在实施方式中,移动系统210可包括一个或多个电机、伺服单元和/或促进系统200的运动的其它系统。在实施方式中,移动系统210可包括处理器系统或可通信地联接至处理器系统,该处理器系统经由移动系统210控制系统200的运动。这种系统对本领域普通技术人员是公知的,并且可使用各种的这种系统中的任一个。应注意,在实施方式中,系统200未必包括移动系统。例如,不具有移动系统的系统200可并入到移动装置中,诸如平板计算机、智能手机或膝上型计算机,而是依赖于用户或一些其它的运输机制或力量。

在实施方式中,惯性测量单元(imu)215可包括收集关于系统200的方位、速度、速率和/或加速度的一个或多个陀螺仪、加速度计或其它运动检测装置或运动测量装置。这种系统对本领域普通技术人员是公知的,并且可使用各种的这种系统中的任一个。应注意,运动测量数据可在若干轴上或沿着若干轴进行收集。如本领域普通技术人员公知的,与系统的运动相关的测量数据可有利地用于帮助确定系统200的位置和/或方位。

在实施方式中,视觉系统220可包括一个或多个摄像机,该一个或多个摄像机可拍摄视频图像、静止图像或两者。图像可从不同的角度进行捕捉,并且可同时地、连续地或两者兼具地进行捕捉。应理解,如本文中使用的术语“图像”应意指静止图像、视频图像或两者。这种系统对本领域普通技术人员是公知的,并且可使用各种的这种系统中的任一个。还如本领域普通技术人员公知的,图像可有利地用于帮助确定系统200的位置和/或方位。

如图2中所示,slam处理器系统205包括:快速运动检测器225、图像特征检测器230、特征分布检查器235、无特征的运动估计器240、状态检查器245、重定位引擎250、slam引擎255和slam跟踪状态检查器260。虽然图2提供了对slam处理器系统205的部件的一般性概述,但是下面针对图3至图10更详细地描述每个部件的功能以及它们的整体交互作用。

2.快速运动检测器的实施方式

图3描绘了根据本文件的实施方式的可至少部分地由快速运动检测器执行的方法。在实施方式中,该方法通过将劣质图像帧(bf)的数量初始化(例如,bf=0)和将良好图像帧gf)的数量初始化(例如,gf=0)(305)来开始。应注意,初始化可通过快速运动检测器225进行,可通过slam处理器205进行,或slam处理器可包括设置新的slam过程开始时初始化条件的初始化模块(未示出)。

在实施方式中,如图2中所示,快速运动检测器225从imu215、从视觉系统220或从两者接收信息(例如,陀螺仪和/或加速度计数据)(310)。该信息可能由于请求、由于触发事件、由于推动操作或它们的组合而不断地被快速运动检测器225接收到,或可以以各种时间间隔接收到。由两个系统或其中任一系统提供的信息可由快速运动检测器225使用,以确定系统200是否经历了突然的或迅速的运动变化(315),即,比阈值更快的变化。在系统200的slam评估中,迅速的或突然的运动可能有问题。在迅速运动的时间周期期间提供的信息对帮助确定系统的实际位置未必有益,因为例如系统可能花费一些时间来重新定向自己。应注意,在实施方式中,不同类型的运动(例如,平移、成角度的等)和/或沿着不同方向或轴的运动可触发对系统已经历快速运动的归类。例如,如果任何的一个或多个检测到的运动超出阈值,则快速运动检测器可将系统归类为正在快速运动。

在实施方式中,如果系统具有例如:(1)超过每秒90°的角速率;或(2)高于3米/秒平方(m/s2)的加速度标准偏差,则可认为系统已超过阈值限制。当然,应认识到可使用其它的阈值,以及阈值可基于测量数据捕获率。

在实施方式中,图像数据可用来确定快速运动。例如,如果图像模糊不清,则可认为系统经历了快速运动。例如,如果在图像中(或图像的大部分中)没有检测到特征(或检测到小于阈值的特征数),则可确定模糊度。在这样的状况下,系统200可被归类为经历了快速运动。

在实施方式中,检查运动数据和图像数据两者的状况可用来评估系统200是否经历了快速运动。例如,如果运动数据超过阈值加速度变化率但是图像数据仍然清晰,则可认为系统没有经历快速运动。

如果认为系统200的运动经历了迅速或快速运动,则增加劣质图像帧的数量(320)并重置良好帧的数量(320)。例如,劣质图像帧的数量可增加一个(例如,bf++),以及良好图像帧的数量可重置为零(例如,gf=0)。

如果不认为系统200经历了快速运动,则整个方法可进行到接合图像特征检测器230(325)。图4中描绘了可由图像特征检测器230采用的示例性方法的实施方式。

3.图像特征检测器的实施方式

图4描绘了根据本文件的实施方式的可至少部分地由图像特征检测器执行的方法。在实施方式中,来自视觉系统220的图像数据可直接地提供给图像特征检测器230,可经由快速运动检测器225提供,或两者。给定捕捉图像,可检测特征(405),并且可对检测到的特征中的每个提取特征描述子(410)。

本领域技术人员应理解,图像特征检测器230可采用许多不同的方法,以检测和提取图像特征描述子。示例包括但不限于,定向的fast和旋转的brief(orientedfastandrotatedbrief(orb)),加速鲁棒特征(speeded-uprobustfeatures(surf)),比例恒定的特征转换(scaleinvariantfeaturetransform(sift)),主成分分析sift(principalcomponentanalysissift(pca-sift)),和来自加速段测试的特征(featuresfromacceleratedsegmenttest(fast))。

在提取了许多的特征描述子后,整个方法可进行到接合特征分布检查器235(415)。图5中描绘了可由特征分布检查器235采用的示例性方法的实施方式。

4.特征分布检查器的实施方式

图5描绘了根据当前的公开的实施方式的可至少部分地由特征分布检查器模块执行的方法。对于图像,给定一组特征描述子以及它们在图像内的关联位置,特征分布检查器235可以检查(505)特征的数量(510)、在图像中特征的分布或两者是否充足。

如果特征数量小于阈值(例如,10个),或如果特征的分布是扭曲的(例如,特征的轮廓没有覆盖超过图像区域的30%),则特征分布检查器可输出“劣质”指示符和增加劣质帧的数量(例如,增加劣质帧数量,bf++),以及重置良好帧的数量(例如,将良好帧的数量重置为零,gf=0)(515)。而且,在实施方式中,整个方法可进行到接合无特征的运动估计器240(520)。图6中描绘了可由无特征的运动估计器240采用的示例性方法的实施方式。

如果特征是充足的,则增加良好帧的数量(例如,增加良好帧的数量,gf++)(525),并且整个方法可进行到接合状态检查器245(530)。图7中描绘了可由状态检查器245采用的示例性方法的实施方式。

5.无特征的运动估计器的实施方式

图6描绘了根据本公开的实施方式的可至少部分地由无特征的运动估计器执行的方法。在实施方式中,假定用于图像特征是不充足的,则slam处理器系统205可采用无特征的运动估计器240来估计系统200的位置和方位。因此,在实施方式中,使用imu数据,无特征的运动估计器240可估计系统200的位置和方位(605)。例如,无特征的运动估计器240可使用龙格-库塔(runge–kutta)方法(诸如rk4集成),以估计系统200的位置和方位,尽管还可采用其它的方法。在执行了估计后,整个过程可返回图3的步骤310(610),在步骤310中,快速运动检测器225接收并处理新imu数据、图像数据或两者。

6.状态检查器的实施方式

图7描绘了根据本公开的实施方式的可至少部分地由状态检查器245执行的方法。在实施方式中,给定用于相应图像的几组特征描述子,基于良好帧的数量和劣质帧的数量,状态检查器可确定接下来如何进行。

在实施方式中,如果没有足够的良好帧来充分执行slam处理(705),则该进程可能“跳过”尝试估计位置和方位,并且继续搜集更多良好图像帧。例如,如果良好帧数量没有大于良好帧的阈值(例如,3个帧)。则整个过程可能返回图3的步骤310(710),在步骤310中,快速运动检测器225接收并处理新imu数据、图像数据或两者。

在实施方式中,如果存在足够的良好帧(705),则状态检查器245可检查劣质帧的数量(715)。

如果劣质帧的数量大于劣质帧的阈值(例如,5个帧),则状态检查器分配“重定位”状态,并且将处理传递至重定位引擎250(720)。图8中描绘了可由重定位引擎250采用的示例性方法的实施方式。

如果劣质帧的数量没有大于劣质帧的阈值(例如,5个帧),则状态检查器分配“追踪”状态,并且将处理传递至slam引擎255(725)。图9中描绘了可由slam引擎255采用的示例性方法的实施方式。

7.重定位引擎的实施方式

图8描绘了根据本文件的实施方式的可至少部分地由重定位引擎执行的方法。给定最新的图像,可使用诸如字袋模型或基于深度学习的方法的方法,从由系统200先前捕获的一组图像中寻找许多看起来类似的图像(805)。doriangálvez-lópez和juand.tardós在《ieeetransactionsonrobotics(ieee机器人汇刊,t-ro)》的“bagsofbinarywordsforfastplacerecognitioninimagesequences(用于图像序列中快速定位识别的二进制字袋)"(28(5):1188–1197,10.1109/tro.2012.2197158,2012年10月)中提供了一个或多个示例性方法,其内容通过引用以其整体并入本文中。获取一组类似的图像后,可对图像之间的图像特征进行匹配(810)。在实施方式中,图像特征可通过比较图像特征描述子进行匹配,这对本领域普通技术人员是公知的。此外,该段中讨论了上述文章中的图像特征描述子匹配的示例,该内容通过引用并入本文中。

给定一组匹配的特征,可使用以下的方法来恢复最新图像的位姿(815),诸如点透视(pnp)、图像与图像相对位姿估计和/或基于深度学习的方法。alexkendall,matthewgrimes和robertocipolla在2015年ieee计算机视觉国际会议(iccv)上的“posenet:aconvolutionalnetworkforreal-time6-dofcamerarelocalization(位姿网:用于实时6自由度摄像机重定位的卷积网络)”(2938-2946.10.1109/iccv.2015.336(2015))中提供了示例性的基于深度学习的方法,该方法通过引用以其整体并入本文中。

在实施方式中,执行检查,以确定是否成功地获得最新图像的位姿(820)。例如,如果使用了pnp方法,通过检查图像的重二次投影误差小于阈值(例如,1个像素)的三维(3d)点的数量来确定是否成功。如果这样的3d点的数量大于阈值(例如,30个点),可认为已成功。如果使用了基于深度学习的方法,可如上述posenet文章中所讨论的那样确定是否成功。

如果成功地获得最新图像的位姿,可重置劣质帧的数量(例如,bf=0)(825),以及整个过程可返回图3的步骤310(835),在步骤310中,快速运动检测器225接收和处理新imu数据、图像数据或两者。

如果未成功地获得最新图像的位姿,可增加劣质帧的数量(例如,bf++)(830),以及整个过程可返回图3的步骤310(835),在步骤310中,快速运动检测器225接收和处理新imu数据、图像数据或两者。

8.slam引擎的实施方式

图9描绘了根据本文件的实施方式的可至少部分地由同步定位和地图创建(slam)引擎255执行的方法。给定足够多的良好图像帧,每个均具有一组特征和对应的特征描述子,则slam引擎255可执行一个或多个同步定位和地图创建(slam)方法(905)。slam方法的示例包括但不限于:多状态约束卡尔曼滤波器(msckf)、基于开放关键帧的视觉惯性slam(okvis)、并行跟踪和地图创建(ptam)、orb-slam等。

在实施方式中,slam引擎的输出提供给slam跟踪状态检查器260(910)。图10中描绘了可由slam跟踪状态检查器260采用的示例性方法的实施方式。

9.slam跟踪状态检查器的实施方式

图10描绘了根据本文件的实施方式的可至少部分地slam跟踪状态检查器执行的方法。在实施方式中,slam跟踪状态检查器260可检查是否已满足或触发一个或多个条件。例如,作为其流程或非一部分,一些slam方法将输出指示slam方法是否成功的标志。可替代地或另外地,检查器260可评估系统200的速率是否超出阈值(例如,5米/秒)。如果slam引擎失败或如果速率超出阈值,则slam跟踪状态检查器260可评估“失败”状态,可增加劣质帧的数量(例如,bf++)(1015),以及整个过程可返回图3的步骤310(1020),在步骤310中,快速运动检测器225接收和处理新imu数据、图像数据或两者。

在实施方式中,如果slam引擎成功,则可重置劣质帧的数量(例如,bf=)(1010),以及整个过程可返回图3的步骤310(1020)。

本领域技术人员将理解,前述示例提供了具有改进的地图创建能力的系统和方法。在实施方式中,该系统和方法允许slam处理器在不同的跟踪状态之间及时地和流利地进行切换,从而防止出现不良跟踪状态。

本领域技术人员将理解,前文的示例和实施方式是示例性的,并且不限制本公开的范围。旨在说明的是,在本领域的技术人员阅读本说明书并研究附图后将对本领域的技术人员显而易见的本发明的所有、置换、增强、等同、组合或改进包括在本公开的真实精神和范围内。还应注意的是,任何权利要求书的元素可不同地布置,包括具有多个从属、配置和组合。

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