CN111094895B - 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法 - Google Patents

用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法 Download PDF

Info

Publication number
CN111094895B
CN111094895B CN201880057251.XA CN201880057251A CN111094895B CN 111094895 B CN111094895 B CN 111094895B CN 201880057251 A CN201880057251 A CN 201880057251A CN 111094895 B CN111094895 B CN 111094895B
Authority
CN
China
Prior art keywords
pose
repositioning
hypotheses
visual
relocation
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
CN201880057251.XA
Other languages
English (en)
Other versions
CN111094895A (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.)
Baidu com Times Technology Beijing Co Ltd
Baidu USA LLC
Original Assignee
Baidu com Times Technology Beijing Co Ltd
Baidu USA LLC
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 Baidu com Times Technology Beijing Co Ltd, Baidu USA LLC filed Critical Baidu com Times Technology Beijing Co Ltd
Publication of CN111094895A publication Critical patent/CN111094895A/zh
Application granted granted Critical
Publication of CN111094895B publication Critical patent/CN111094895B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/28Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network with correlation of data from several navigational instruments
    • G01C21/30Map- or contour-matching
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/005Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0268Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
    • G05D1/0274Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0088Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Electromagnetism (AREA)
  • Image Analysis (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本文中描述通过利用传感器系统的运动来提高重新定位的成功率并消除虚假重新定位的歧义的系统和方法。在一个或多个实施方式中,在重新定位过程期间,使用一个或多个视觉传感器拍摄快照,并且在视觉地图中实施单次重新定位以建立候选假设。在一个或多个实施方式中,传感器在环境中以所跟踪的移动轨迹移动,以在一个或多个新姿势下捕获环境的视觉表示。随着视觉传感器移动,重新定位系统会跟踪各种所估计的定位假设,并移除错误假设,直到一个优胜假设为止。一旦完成该过程,重新定位系统便输出相对于视觉地图的定位结果。

Description

用于在预构建的视觉地图中进行鲁棒自重新定位的系统和 方法
技术领域
本公开总体上涉及具有改进的性能、特征和用途的用于自重新定位的系统和方法。
背景技术
地图内的定位对于在已知环境中工作的任何基于位置的应用程序都是至关重要的。可根据事先的记录或根据同时定位与地图构建(SLAM)来构建地图。根据使用的传感器,视觉地图表示会有所不同。例如,LIDAR系统会生成二维(2D)/三维(3D)点云的地图。深度传感器会生成密集3D体积表示点的地图。相机系统会生成环境的视觉表示的地图,该地图可包括稀疏的3D点、半稀疏的边缘和刻面或密集的3D重建。
重新定位通常涉及相对于预构建的地图找到空间中的6自由度(6-DOF)姿势或平面中的3-DOF姿势。视觉重新定位通常需要在当前场景与视觉地图之间有足够的重叠视觉表示。重新定位可能由于各种原因而失败。第一,环境可能已发生重大变化,并导致在同一位置处传感器观察到的图像与构建的视觉地图之间不匹配。第二,视觉地图可能具有类似的表示,从而导致定位的局部歧义。第三,传感器可能面对构建地图时从未观察到的视角,这是方向性传感器(例如,相机和深度传感器)所常见的。通过使用视觉测量快照进行重新定位的传统重新定位方法来解决上述问题是非常具有挑战性的。
因此,需要通过利用传感器系统的运动来提高重新定位的成功率并消除虚假重新定位的歧义的系统和方法。
发明内容
本公开的目的是提出用于在预构建的视觉地图中进行自重新定位的改进的系统和方法,以解决在前述背景技术部分中提到的技术问题。
在第一方面,本公开提供一种用于在预构建的视觉地图中进行自重新定位的方法,该方法包括:在初始姿势下使用至少一个视觉传感器捕获快照;至少基于快照在视觉地图中建立多个重新定位假设;以跟踪的移动轨迹将至少一个视觉传感器从初始姿势移动至新姿势;在新姿势下进行附加视觉测量;以及通过使用移动轨迹和附加视觉测量中的至少一个来实施假设细化,以拒绝一个或多个重新定位假设。
在第二方面,本公开提供一种用于在预构建的视觉地图中进行自重新定位的系统,该系统包括:至少一个视觉传感器,用于视觉测量;运动系统,用于移动至少一个视觉传感器;处理器,联接至至少一个视觉传感器和运动系统;非易失性存储器,存储一个或多个指令,该指令在由处理器执行时致使处理器执行以下操作:指示至少一个视觉传感器在第一姿势下进行视觉测量;使用第一姿势下的视觉测量来实施单次重新定位以相对于预构建的视觉地图定位系统,定位结果包括至少一个视觉传感器在预构建的视觉地图中在第一姿势下的候选重新定位假设;指示运动系统以跟踪的移动轨迹将至少一个视觉传感器从第一姿势移动至第二姿势;指示至少一个视觉传感器在第二姿势下进行附加视觉测量;以及通过使用所跟踪的移动轨迹和附加视觉测量中的至少一个来实施假设细化,以拒绝一个或多个重新定位假设。
在第三方面,本公开提供一种用于在预构建的视觉地图中进行自重新定位的方法,该方法包括:在第一姿势下使用至少一个视觉传感器捕获第一快照;至少基于第一快照实施单次重新定位以在预构建的视觉地图中定位至少一个视觉传感器,该单次重新定位建立至少一个视觉传感器在第一姿势下的多个重新定位假设;以跟踪的移动轨迹将至少一个视觉传感器从第一姿势移动至第二姿势;将所跟踪的移动轨迹与多个重新定位假设中的每一个融合,以在预构建的视觉地图中获得一个或多个潜在最终姿势;以及通过至少使用移动轨迹来实施假设细化,以拒绝一个或多个所建立的重新定位假设,其中,如果从多个重新定位假设中的一个开始的所跟踪的移动轨迹与预构建的视觉地图不兼容,则拒绝该重新定位假设。
附图说明
将参考本公开的实施方式,它们的示例可示于附图中。这些附图旨在是说明性的而非限制性的。虽然本公开大体上在这些实施方式的上下文中描述,但应理解,本公开的范围并不旨在限于这些特定实施方式。附图中的项目未按比例绘制。
图1描绘根据本文件的实施方式的用于自重新定位的系统。
图2描绘根据本文件的实施方式的用于自重新定位的过程。
图3描绘根据本文件的实施方式的用于根据快照建立假设的过程。
图4描绘根据本文件的实施方式的用于假设细化过程的过程。
图5描绘根据本文件的实施方式的计算装置/信息处置系统的简化框图。
具体实施方式
在以下描述中,出于解释目的,阐明具体细节以便提供对本公开的理解。然而,将对本领域的技术人员显而易见的是,可在没有这些细节的情况下实践本公开。此外,本领域的技术人员将认识到,下文描述的本公开的实施方式可以以各种方式(例如过程、装置、系统、装置或方法)在有形的计算机可读介质上实施。
附图中示出的组件或模块是本公开实施方式的示例性说明,并且意图避免使本公开不清楚。还应理解,在本论述的全文中,组件可描述为单独的功能单元(可包括子单元),但是本领域的技术人员将认识到,各种组件或其部分可划分成单独组件,或者可整合在一起(包括整合在单个的系统或组件内)。应注意,本文论述的功能或操作可实施为组件。组件可以以软件、硬件、或它们的组合实施。
此外,附图内的组件或系统之间的连接并不旨在限于直接连接。相反,在这些组件之间的数据可由中间组件修改、重格式化、或以其它方式改变。另外,可使用另外或更少的连接。还应注意,术语“联接”、“连接”、或“通信地联接”应理解为包括直接连接、通过一个或多个中间装置来进行的间接连接、和无线连接。
在本说明书中对“一个实施方式”、“优选实施方式”、“实施方式”或“多个实施方式”的提及表示结合实施方式所描述的具体特征、结构、特性或功能包括在本公开的至少一个实施方式中,以及可包括在多于一个的实施方式中。另外,在本说明书的各个地方出现以上所提到的短语并不一定全都是指相同的实施方式或多个相同实施方式。
在本说明书的各个地方使用某些术语目的在于说明,并且不应被理解为限制。服务、功能或资源并不限于单个服务、单个功能或单个资源;这些术语的使用可指代相关服务、功能或资源的可分布或聚合的分组。尽管本文中描述的实施方式可在图像(或快照)的上下文中,图像(或快照)可以是来自视频的静止图像或图像帧,但是当前专利文件的发明性元素不限于此。因此,本公开元素的各方面可应用于或适用于其它上下文和/或其它输入传感器数据。还应当注意,图像可包括来自人眼不可见的视觉传感器(诸如来自红外传感器)的图像信息;并且还应当注意,对非视觉传感器的引用是指非基于视觉的传感器。
术语“包括”、“包括有”、“包含”和“包含有”应理解为开放性的术语,并且其后任何列出内容都是实例,而不旨在限于所列项目。短语“实时”应理解为意指实时或接近实时,因为处理通常会引入或包括一些延迟。本文所使用的任何标题仅是为了组织目的,并且不应被用于限制说明书或权利要求的范围。本专利文件中提到的每个参考文献以其全文通过引用并入本文。
此外,本领域的技术人员应认识到:(1)某些步骤可以可选地执行;(2)步骤可不限于本文中所阐述的特定次序;(3)某些步骤可以以不同次序执行;以及(4)某些步骤可同时地进行。
A.引言
在包括自动驾驶和机器人应用的各种应用中,精确的重新定位对于决策制定和路径规划很重要。由于各种原因,完成精确而鲁棒的重新定位具有挑战性。第一,环境可能已发生重大变化,并导致在同一位置处传感器看到的图像与构建的视觉地图之间不匹配。第二,视觉地图可能具有类似的表示,从而导致定位的局部歧义。第三,传感器可能面对构建地图时从未观察到的视角,这是方向性传感器(例如,相机和深度传感器)所常见的。通过使用视觉测量的快照进行重新定位的传统重新定位方法来解决上述问题非常具有挑战性。
为了提高重新定位的准确性和鲁棒性,已经进行了各种努力。由牛津大学的移动机器人组(Mobile Robotics Group)于2008年发布并于2012年进行改进的FAB-MAP是基于外观的SLAM系统,该系统构建视觉词汇的概率模型以进行图像检索和定位。DorianGalvez-López公开了一种使用词袋(BoW)将图像转换成词袋表示的方法。它实施层次树,以接近图像特征空间中的最近邻从而进行快速检索。
FAB-MAP和BoW都可认为是基于图像的重新定位方法,它们首先在视觉地图中找到最相似的图像。然后使用常见的计算机视觉技术来计算相对姿势(图像到图像)或绝对姿势(即,使用多点透视成像(PnP))以找到重新定位结果。重新定位精度在很大程度上取决于图像检索精度。已提出了用于时间/空间一致性检查的一些方法,以移除图像检索的误报,但这些仍属于没有利用传感器系统运动和多种假设的单次方法的类别。
迭代最近点(ICP)是一种最小化两个点云之间的差异的算法。ICP是用于LIDAR/基于深度的传感器系统的(重新)定位的核心算法,该算法构建视觉地图的密集2D/3D点云表示。使用ICP进行定位通常需要合理的初始猜测,如果没有足够的先验信息,则可能很难进行重新定位。没有很好的初步猜测,则ICP可能无法收敛,并因此重新定位可能会失败。
B.自重新定位系统的实施方式
图1描绘了根据本文件的实施方式的用于自重新定位的自重新定位系统100。在一个或多个实施方式中,系统100并入用于视觉图像捕获的一个或多个视觉传感器110、用于移动(平移和/或旋转)传感器以在不同于先前姿势的姿势(位置和/或定向)下捕获附加图像的运动系统130。在一个或多个实施方式中,系统100包括联接至视觉传感器110和运动系统130的至少一个处理器系统150。处理器150从视觉传感器110接收数据,并基于存储在非易失性存储器160中的指令实施自重新定位算法。处理器150可指示运动系统130在自重新定位过程期间执行期望的运动以捕获附加图像。运动系统130可包括机械或电气部件,以使至少一个视觉传感器能够进行物理移动(例如,轮式机器人的6-DOF移动或3-DOF移动),以移动到不同姿势。一个或多个视觉传感器110可以是普通相机、热成像相机、深度传感器或光探测与测距(LIDAR)传感器,或其组合。
在实施方式中,自重新定位系统100还可包括一个或多个非视觉传感器120,诸如惯性测量单元(IMU)、超宽带(UWB)系统、全球定位系统(GPS)接收器、轮编码器等,以向处理器提供非视觉信息。这些非视觉传感器可用于为传感器融合提供相对和/或全局位置信息,并通过拒绝明显的错误假设来促进重新定位假设的建立和细化。例如,UWB可用于接收一个或多个Wi-Fi信标信号以辅助定位。在实施方式中,自重新定位系统100还可包括用于诸如远程控制、数据传输等各种目的的外部通信的通信接口140。在实施方式中,自重新定位系统100还可包括照明系统170,该照明系统170包括一个或多个灯以为期望的视觉图像提供照明。
在实施方式中,在重新定位过程期间,一个或多个视觉传感器110以预定义模式移动(或整个系统100移动至视觉传感器所附接的位置)或以期望的运动(例如,平移和旋转)探索环境,以捕获环境的视觉表示,以使其与视觉地图有足够的重叠。随着一个或多个视觉传感器110移动,重新定位系统跟踪各种所估计的定位假设,并移除错误假设,直到仅保留一个优胜假设为止。在一个或多个实施方式中,可调整的置信度水平用于确定重新定位过程何时完成。一旦完成该过程,重新定位系统便输出相对于视觉地图的定位结果。在一个或多个实施方式中,置信度水平可从所估计的重新定位姿势的不确定性中导出,或者可从重新定位优化问题的成本(例如,重新投影误差)启发式地计算出。
在一个或多个实施方式中,系统100可并入或包括计算系统或其部分,下面参考图5对其进行描述。
C.自重新定位过程的实施方式
图2描绘了根据本文件的实施方式的用于自重新定位的过程。该过程开始于步骤205,在该步骤205中自重新定位系统起动发现模式。在一个或多个实施方式中,在此状态下,传感器系统相对于预构建的视觉地图的位置或在预构建的视觉地图中的位置是未知的。在传感器系统的当前姿势下捕获(210)可用传感器测量的快照。在一个或多个实施方式中,使用(215)单次重新定位方法以相对于视觉地图定位自重新定位系统。例如,在一个或多个实施方式中,可将由传感器系统捕获的图像(可称为查询图像)中的特征之间的特征映射与视觉地图的一组关键图像帧中的特征进行比较。在一个或多个实施方式中,重新定位姿势是根据查询图像与参考关键帧之间的相对姿势计算的,或者是根据查询图像相对于预构建的地图的绝对姿势直接估计的。在一个或多个实施方式中,评估(220)单次重新定位假设结果,以确定在视觉地图中是否找到一个或多个重新定位假设匹配。例如,确定查询图像中的一组特征是否在阈值水平上或超过阈值水平与视觉地图的一个或多个候选关键帧中的一组特征匹配。
在一个或多个实施方式中,传感器快照信息还可包括来自非视觉(即,非基于图像)传感器(诸如UWB或GPS)的传感器信息。在一个或多个实施方式中,此基于非视觉的传感器数据可用于在单次重新定位步骤期间识别可能的候选假设或修剪假设。
如果在捕获的图像与预构建的视觉地图之间未建立重新定位假设(220),则自重新定位系统可使运动系统移动(225)传感器系统并捕获(210)新的快照以重复前述过程。
在一个或多个实施方式中,单次重新定位结果包括传感器系统的当前姿势的多达N个最佳假设,其中,N为正整数。稍后参考图3公开用于从快照建立假设的一些示例性实施方式。在一个或多个实施方式中,多达N个最佳匹配是指通过绝对阈值、相对或比率得分和/或其它启发式方法的最高N个得分或最低N个不确定性得分,以选择候选假设或消除明显的错误假设。
响应于存在多达N个重新定位假设(220),自重新定位系统使运动系统移动(230)该系统以在新姿势下进行附加视觉测量(235)。在一个或多个实施方式中,还可在新姿势下捕获附加传感器数据。在一个或多个实施方式中,移动的轨迹可以是包括一个或多个6-DOF移动的预定义运动模式,例如,平移和全景旋转。在一个或多个实施方式中,可基于所有可用的视觉地图、多达N个最佳假设和/或来自非视觉传感器的其它信息来动态地生成移动的轨迹。
在一个或多个实施方式中,通过使用移动轨迹和附加视觉测量中的至少一个来细化(240)多达N个最佳假设,以拒绝一个或多个重新定位假设。在一个或多个实施方式中,在新姿势下捕获的视觉测量值优选地与先前的视觉测量值重叠,以促进新姿势下的本地SLAM过程以进行假设细化。可关于图4找到使用本地SLAM过程的详细假设细化的实施方式。在一个或多个实施方式中,本地SLAM可由视觉里程计或视觉惯性里程计代替,以进行假设细化。对于重新定位假设,在一个或多个实施方式中,将所有收集到的视觉测量值与视觉地图相匹配,并且利用本地SLAM结果及其与固定的预构建的视觉地图的关联来执行局部束调整。如果局部束调整不能收敛或收敛后导致较大的误差,则拒绝重新定位假设。例如,在一个或多个实施方式中,可通过将所跟踪的移动轨迹与视觉地图内的优胜假设叠加来验证候选假设。如果候选假设是良好候选项,则系统的先前轨迹应使用候选假设作为视觉地图中的锚点或参考点进行对准。此外,在新姿势下进行的视觉测量应与应在视觉地图中的所估计位置处观察到的现有3D界标很好地匹配。
在每次细化之后,自重新定位系统检查(245)是否存在优胜假设。如果不存在,则过程返回至步骤220以重复前述过程。如果存在优胜假设,则自重新定位系统完成(250)发现模式并输出细化的重新定位姿势。细化的重新定位姿势可用作优先用于其它基于位置的服务的姿势。
在一个或多个实施方式中,可调整的置信度水平可用于确定重新定位的完成时间,并输出相对于视觉地图的定位结果。
图3描绘了根据本文件的实施方式的用于为给定查询快照或帧建立候选假设的过程。首先,应用(305)基于外观的方法来检索存储在视觉地图中的类似于查询帧的一个或多个关键帧。在一个或多个实施方式中,可使用BOW和/或基于深度学习的方法来实施关键帧检索。在一个或多个实施方式中,查询帧中的一个或多个二维(2D)特征与可预先存储在自重新定位系统的存储器内或者甚至存储在云(例如,在线存储系统)中的、预构建的视觉地图的检索到的关键帧中的2D特征匹配(310)。将帧中的匹配点推断或映射(315)至视觉地图中的3D点。使用3D点计算(320)多个候选姿势。在一个或多个实施方式中,在给定视觉地图中的推断的3D点的情况下,可使用多点透视成像(PnP)估计候选姿势。可关于快照计算(325)多个候选姿势中的每一个的重新投影误差。在一个或多个实施方式中,重新投影误差表示对应于投影点与测量点之间的图像距离的几何误差。至少基于所计算的重新投影误差,可为自重新定位过程选择(330)前N个候选假设姿势,N是小于候选姿势的数目的正整数。在一个或多个实施方式中,快照数据可包括来自非视觉传感器(例如,GPS、UWB)或LIDAR的信息,或者快照数据也可用于促进选择过程。
在初始姿势下针对初始快照建立候选重新定位假设之后,可对假设进行细化。图4描绘了根据本文件的一个或多个实施方式的用于假设细化过程的过程。在一个或多个实施方式中,移动的轨迹可以是包括一个或多个6-DOF移动的预定义运动模式,例如,平移和全景旋转。在实施方式中,可基于视觉地图、候选假设和/或来自非视觉传感器的附加信息来动态地生成移动的轨迹。可经由一个或多个非视觉传感器(例如,GPS、UWB、轮编码器)、LIDAR等利用本地SLAM跟踪(405)一个或多个视觉传感器的移动轨迹,以记录从初始姿势到进行附加视觉测量的一个或多个新姿势的相对位移。在新姿势下使用一个或多个视觉传感器进行(410)附加视觉测量(快照)。在一个或多个实施方式中,将所跟踪的移动轨迹叠加(415)至候选假设姿势中的每一个,以在预构建的视觉地图中获得分别对应于候选假设的潜在最终姿势。在一个或多个实施方式中,移动轨迹本身可用于假设细化。例如,如果从候选假设中的一个开始的移动轨迹明显与视觉地图不兼容,例如不被视觉地图的边界范围允许或在视觉地图的边界范围之外,则可拒绝该候选假设。在一个或多个实施方式中,可在进行潜在的最终姿势的重新定位验证之前实施由于不兼容的轨迹导致的假设拒绝,以简化重新定位计算过程。在一个或多个实施方式中,将在视觉地图中的在所获得的潜在最终姿势中的每个下的3D界标重新投影(420)至一个或多个2D视图中。在一个或多个实施方式中,使用(425)对应于每个潜在最终姿势的一个或多个2D视图,以与在新姿势下进行的附加视觉测量相匹配。如果潜在最终姿势的一个或多个2D视图相对于附加视觉测量具有较大的误差,则拒绝(430)对应的假设。在一个或多个实施方式中,拒绝的误差可以是绝对误差阈值、相对误差阈值或其组合。
在实施方式中,可针对视觉传感器的每个移动重复上述假设细化过程,直到优胜假设看似结束发现模式为止。在实施方式中,在所有假设由于较大误差而被拒绝的情况下,自重新定位过程回到从新建立的前N个假设的快照开始,进行另一轮自重新定位过程。
D.系统实施方式
在一个或多个实施方式中,本专利文件的各方面可使用、可包括一个或多个信息处置系统/计算系统或可在一个或多个信息处置系统/计算系统上实施。例如,在一个或多个实施方式中,图1的系统100可利用计算系统500的一个或多个部件和/或可包括或利用云计算资源。例如,计算系统可为或可包括个人计算机(例如,膝上型计算机)、平板电脑、平板手机、个人数字助理(PDA)、智能手机、智能手表、智能包装、服务器(例如,刀片式服务器或机架式服务器)、网络存储装置、相机或或可承载视觉传感器110并驱动运动系统(130)的任何其他合适装置,并且可在大小、形状、性能、功能和价格方面改变。计算系统可包括随机存取存储器(RAM)、一个或多个处理资源(例如中央处理单元(CPU)或硬件或软件控制逻辑)、ROM和/或其他类型的存储器。计算系统的另外组件可包括一个或多个盘驱动器、用于与外部装置通信的一个或多个网络端口、以及各种输入和输出(I/O)装置(例如键盘、鼠标、触摸屏和/或视频显示器)。计算系统还可包括可操作为在各种硬件组件之间传输通信的一个或多个总线。
图5描绘根据本公开的实施方式的计算装置/信息处理系统(或是计算系统)的简化框图。应理解,计算系统可不同地配置并且包括不同组件,包括如图5中所示的更少或更多的部件,但应理解,针对系统500所示出的功能可操作为支持计算系统的各种实施方式。
如图5所示,计算系统500包括一个或多个中央处理单元(CPU)501,CPU 501提供计算资源并控制计算机。CPU 501可实施有微处理器等,并且还可包括一个或多个图形处理单元(GPU)519和/或用于数学计算的浮点协处理器。系统500还可包括系统存储器502,系统存储器502可呈随机存取存储器(RAM)、只读存储器(ROM)、或两者的形式。
如图5所示,还可提供多个控制器和外围装置。输入控制器503表示至各种输入装置504的接口,例如键盘、鼠标、触摸屏和/或触笔。计算系统500还可包括存储控制器507,该存储控制器507用于与一个或多个存储装置508对接,存储装置中的每个包括存储介质(诸如磁带或盘)或光学介质(其可用于记录用于操作系统、实用工具和应用程序的指令的程序,它们可包括实施本公开的各方面的程序的实施方式)。存储装置508还可用于存储经处理的数据或是将要根据本公开处理的数据。系统500还可包括显示控制器509,该显示控制器509用于为显示装置511提供接口,显示装置511可为阴极射线管(CRT)、薄膜晶体管(TFT)显示器、有机发光二极管、电致发光面板、等离子面板或其他类型的显示器。计算系统500还可包括用于一个或多个外围装置506的一个或多个外围控制器或接口505。外围装置的示例可包括一个或多个打印机、扫描仪、输入装置、输出装置、传感器等。通信控制器514可与一个或多个通信装置515对接,这使系统500能够通过各种网络(包括互联网、云资源(例如以太云、经以太网的光纤通道(FCoE)/数据中心桥接(DCB)云等)、局域网(LAN)、广域网(WAN)、存储区域网络(SAN))中的任一网络,或通过任何合适电磁载波信号(包括红外信号)来连接至远程装置。在一个或多个实施方式中,可利用云源来运行重新定位计算,而不包括本地SLAM部分。
在示出的系统中,所有主要系统组件可连接至总线516,总线516可表示多于一个的物理总线。然而,各种系统组件可在物理上彼此接近或可不在物理上彼此接近。例如,输入数据和/或输出数据可远程地从一个物理位置(例如,实时地)传输到另一物理位置。另外,实现本公开的各方面的程序可经由网络从远程位置(例如,服务器)访问。在一个或多个实施方式中,数据和/或程序可通过各种机器可读介质中的任一机器可读介质来传送,机器可读介质包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如CD-ROM和全息装置的光学介质;磁光介质;以及硬件装置,该硬件装置专门被配置成存储或存储并执行程序代码,该硬件装置例如专用集成电路(ASIC)、可编程逻辑器件(PLD)、闪存装置、以及ROM和RAM装置。
本公开的方面可利用用于一个或多个处理器或处理单元以使步骤执行的指令在一个或多个非暂态计算机可读介质上编码。应注意,一个或多个非暂态计算机可读介质应当包括易失性存储器和非易失性存储器。应注意,替代实现方式是可能的,其包括硬件实现方式或软件/硬件实现方式。硬件实施的功能可使用ASIC、可编程的阵列、数字信号处理电路等来实现。因此,任何权利要求中的术语“手段”旨在涵盖软件实现方式和硬件实现方式两者。类似地,如本文使用的术语“计算机可读媒介或介质”包括具有实施在其上的指令程序的软件和/或硬件或它们的组合。利用所构想的这些替代实现方式,应当理解,附图以及随附描述提供本领域的技术人员编写程序代码(即,软件)和/或制造电路(即,硬件)以执行所需处理所要求的功能信息。
应当注意,本公开的实施方式还可涉及具有其上具有用于执行各种计算机实施的操作的计算机代码的非暂态有形计算机可读介质的计算机产品。介质和计算机代码可为出于本公开的目的而专门设计和构造的介质和计算机代码,或者它们可为相关领域中的技术人员已知或可用的。有形计算机可读介质的示例包括但不限于:诸如硬盘、软盘和磁带的磁性介质;诸如CD-ROM和全息装置的光学介质;磁光介质;以及专门配置成存储或存储并执行程序代码的硬件装置,例如,专用集成电路(ASIC)、可编程逻辑器件(PLD)、闪存装置、以及ROM和RAM装置。计算机代码的示例包括机器代码(例如,编译器产生的代码)以及包含可由计算机使用解释器来执行的更高级代码的文件。本公开的实施方式可整体地或部分地实施为可在由处理装置执行的程序模块中的机器可执行指令。程序模块的示例包括库、程序、例程、对象、组件和数据结构。在分布的计算环境中,程序模块可物理上定位在本地、远程或两者的设定中。
本领域的技术人员将认识到,计算系统或编程语言对本公开的实践来说均不重要。本领域的技术人员将还将认识到,多个上述元件可物理地和/或在功能上划分成子模块或组合在一起。
本领域技术人员将理解,前文的示例和实施方式是示例性的,并且不限制本公开的范围。旨在说明的是,在本领域的技术人员阅读本说明书并研究附图后将对本领域的技术人员显而易见的本公开的所有、置换、增强、等同、组合或改进包括在本公开的真实精神和范围内。还应注意,任何权利要求书的元素可不同地布置,包括具有多个从属、配置和组合。

Claims (18)

1.一种用于在预构建的视觉地图中进行自重新定位的方法,包括:
在初始姿势下使用至少一个视觉传感器捕获快照;
至少基于所述快照在所述视觉地图中建立多个重新定位假设;
以跟踪的移动轨迹将所述至少一个视觉传感器从所述初始姿势移动至新姿势;
在所述新姿势下进行附加视觉测量;以及
通过使用所述移动轨迹和所述附加视觉测量中的至少一个来实施假设细化,以拒绝一个或多个重新定位假设;其中,实施假设细化包括:
将所跟踪的移动轨迹叠加至所述多个重新定位假设中的每一个,
以在所述预构建的视觉地图中获得分别对应于所述多个重新定位假设的多个潜在最终姿势,其中,如果从所述多个重新定位假设中的一个开始的所跟踪的移动轨迹与所述预构建的视觉地图不兼容,则拒绝所述假设;
在每个所获得的潜在最终姿势下将所述预构建的视觉地图中的三维界标重新投影至一个或多个二维视图中;
使用对应于每个潜在最终姿势的所述一个或多个二维视图,以与在所述新姿势下进行的所述附加视觉测量相匹配;以及
至少基于在所述匹配过程期间对于每个潜在最终姿势的所述一个或多个二维视图的匹配误差,拒绝一个或多个重新定位假设。
2.根据权利要求1所述的方法,还包括:
输出所述多个重新定位假设当中的具有细化的重新定位姿势的优胜假设,所述细化的重新定位姿势通过将所跟踪的移动轨迹与所述优胜假设叠加而获得。
3.根据权利要求2所述的方法,其中,通过使用所述移动轨迹和所述附加视觉测量两者来实施假设细化。
4.根据权利要求1所述的方法,还包括:
响应于所述多个重新定位假设完全被拒绝,移动所述至少一个视觉传感器,以使用新的重新定位假设捕获新快照,进行下一轮自重新定位。
5.根据权利要求1所述的方法,其中,建立所述多个重新定位假设包括:
应用基于外观的方法来检索存储在所述视觉地图中的、类似于所述快照的一个或多个关键帧;
将所述快照中的一个或多个二维特征与所述预构建的视觉地图的所检索的帧中的二维特征进行匹配;
将所述帧中的匹配点推断或映射至所述预构建的视觉地图中的三维点;
使用所推断的三维点来计算多个候选姿势;
计算所述多个候选姿势中的每个的重新投影误差;以及
至少基于所计算的重新投影误差,选择一个或多个候选姿势作为所述假设。
6.根据权利要求1所述的方法,其中,使用非视觉传感器跟踪所述移动轨迹。
7.根据权利要求1所述的方法,其中,将所识别的误差与绝对误差阈值、相对误差阈值或其组合进行比较,以确定拒绝过程。
8.一种用于在预构建的视觉地图中进行自重新定位的系统,包括:
至少一个视觉传感器,用于视觉测量;
运动系统,用于移动所述至少一个视觉传感器;
处理器,联接至所述至少一个视觉传感器和所述运动系统;
非易失性存储器,存储一个或多个指令,所述指令在由所述处理器执行时致使所述处理器执行以下操作:
指示所述至少一个视觉传感器在第一姿势下进行视觉测量;
在所述第一姿势下使用所述视觉测量来实施单次重新定位,以相对于预构建的视觉地图定位所述系统,定位结果包括所述至少一个视觉传感器在所述预构建的视觉地图中在所述第一姿势下的候选重新定位假设;
指示所述运动系统以跟踪的移动轨迹将所述至少一个视觉传感器从所述第一姿势移动至第二姿势;
指示所述至少一个视觉传感器在所述第二姿势下进行附加视觉测量;以及
通过使用所跟踪的移动轨迹和所述附加视觉测量中的至少一个来实施假设细化,以拒绝一个或多个重新定位假设;其中,实施假设细化还包括:
分别将所跟踪的移动轨迹叠加至每个候选重新定位假设,以在所述预构建的视觉地图中获得分别对应于所述重新定位假设的潜在最终姿势;
在每个所获得的潜在最终姿势下将所述预构建的视觉地图中的三维界标重新投影至一个或多个二维视图中;
使用对应于每个潜在最终姿势的所述一个或多个二维视图,以与在新姿势下进行的所述附加视觉测量相匹配;以及
至少基于在所述匹配过程期间对于每个潜在最终姿势的所述一个或多个二维视图的匹配误差,拒绝一个或多个重新定位假设。
9.根据权利要求8所述的系统,其中,响应于在所述第一姿势下建立零个重新定位假设,所述处理器配置成还执行:
指示所述运动系统以跟踪的移动轨迹将所述至少一个视觉传感器从所述第一姿势移动至第二姿势;
指示所述至少一个视觉传感器在所述第二姿势下进行视觉测量;以及
在所述第二姿势下使用所述视觉测量来重新实施所述单次重新定位,以在所述预构建的视觉地图中定位所述系统。
10.根据权利要求8所述的系统,其中,所述候选重新定位假设是具有最高N个得分或最低N个不确定性的假设,该假设通过绝对误差阈值、误差得分比测试、启发式算法或其组合,以修剪明显的错误假设,N为正整数。
11.根据权利要求8所述的系统,其中,所述系统还包括配置成跟踪所述至少一个视觉传感器的所述移动轨迹的至少一个非视觉传感器。
12.根据权利要求8所述的系统,其中,所述匹配误差的阈值是绝对误差阈值、相对误差阈值或其组合。
13.一种用于在预构建的视觉地图中进行自重新定位的方法,包括:
在第一姿势下使用至少一个视觉传感器捕获第一快照;
至少基于所述第一快照实施单次重新定位,以在预构建的视觉地图中定位至少一个视觉传感器,所述单次重新定位建立所述至少一个视觉传感器在所述第一姿势下的多个重新定位假设;
以跟踪的移动轨迹将所述至少一个视觉传感器从所述第一姿势移动至第二姿势;
将所跟踪的移动轨迹与所述多个重新定位假设中的每个融合,以在所述预构建的视觉地图中获得一个或多个潜在最终姿势;以及
通过至少使用所述移动轨迹来实施假设细化,以拒绝一个或多个所建立的重新定位假设,其中,如果从所述多个重新定位假设中的一个开始的所跟踪的移动轨迹与所述预构建的视觉地图不兼容,则拒绝所述重新定位假设。
14.根据权利要求13所述的方法,其中,建立所述多个重新定位假设包括基于来自一个或多个非视觉传感器的信息拒绝明显的错误假设。
15.根据权利要求14所述的方法,其中,来自一个或多个非视觉传感器的所述信息是全局或相对位置信息。
16.根据权利要求13所述的方法,其中,通过使用所述移动轨迹和在所述第二姿势下进行的附加视觉测量两者来实施假设细化,所述假设细化还包括:
在每个所获得的潜在最终姿势下将所述预构建的视觉地图中的三维界标重新投影至一个或多个二维视图中;
使用对应于每个潜在最终姿势的所述一个或多个二维视图,以与在新姿势下进行的所述附加视觉测量相匹配;以及
至少基于在所述匹配过程期间对于每个潜在最终姿势的所述一个或多个二维视图的匹配误差,拒绝一个或多个重新定位假设。
17.根据权利要求13所述的方法,还包括:
进一步移动所述至少一个视觉传感器,以重复所述融合和假设细化过程,直到最后一个重新定位假设;以及
输出所述预构建的视觉地图内具有细化的重新定位姿势的优胜假设,所述细化的重新定位姿势通过将所跟踪的移动轨迹与所述优胜假设叠加而获得。
18.根据权利要求13所述的方法,还包括:
响应于所有重新定位假设被拒绝,移动所述至少一个视觉传感器,以进行新快照捕获,重新实施单次重新定位以重新启动自重新定位。
CN201880057251.XA 2018-06-29 2018-06-29 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法 Active CN111094895B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/093743 WO2020000395A1 (en) 2018-06-29 2018-06-29 Systems and methods for robust self-relocalization in pre-built visual map

Publications (2)

Publication Number Publication Date
CN111094895A CN111094895A (zh) 2020-05-01
CN111094895B true CN111094895B (zh) 2023-08-22

Family

ID=68984564

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880057251.XA Active CN111094895B (zh) 2018-06-29 2018-06-29 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法

Country Status (3)

Country Link
US (1) US11788845B2 (zh)
CN (1) CN111094895B (zh)
WO (1) WO2020000395A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210251139A1 (en) 2018-08-08 2021-08-19 The Toro Company Handle and method for training an autonomous vehicle, and methods of storing same
CN113137968B (zh) * 2020-01-16 2023-03-14 浙江舜宇智能光学技术有限公司 基于多传感器融合的重定位方法、重定位装置和电子设备
WO2021253430A1 (zh) * 2020-06-19 2021-12-23 深圳市大疆创新科技有限公司 绝对位姿确定方法、电子设备及可移动平台
CN111750864B (zh) * 2020-06-30 2022-05-13 杭州海康机器人技术有限公司 一种基于视觉地图的重定位方法和装置
CN114485604A (zh) * 2020-11-12 2022-05-13 新海科技集团有限公司 一种agv小车导航系统和使用该系统的导航方法
US20220189060A1 (en) * 2020-12-10 2022-06-16 Niantic, Inc. Visual Camera Re-Localization using Graph Neural Networks and Relative Pose Supervision
CN112652020B (zh) * 2020-12-23 2024-01-30 上海应用技术大学 一种基于AdaLAM算法的视觉SLAM方法
CN112837374B (zh) * 2021-03-09 2023-11-03 中国矿业大学 一种空间定位方法及系统
CN114643579B (zh) * 2022-03-29 2024-01-16 深圳优地科技有限公司 一种机器人定位方法、装置、机器人及存储介质
CN115267796B (zh) * 2022-08-17 2024-04-09 深圳市普渡科技有限公司 定位方法、装置、机器人和存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013148077A1 (en) * 2012-03-30 2013-10-03 Qualcomm Incorporated Mashup of ap location and map information for wifi based indoor positioning
CN104736964A (zh) * 2012-10-22 2015-06-24 高通股份有限公司 移动装置的地图辅助式基于传感器定位
WO2015103536A1 (en) * 2014-01-03 2015-07-09 Google Technology Holdings LLC Methods and systems for generating a map including sparse and dense mapping information
CN105425808A (zh) * 2015-11-10 2016-03-23 上海禾赛光电科技有限公司 机载式室内气体遥测系统及方法
CN105652871A (zh) * 2016-02-19 2016-06-08 深圳杉川科技有限公司 移动机器人的重定位方法
CN106092104A (zh) * 2016-08-26 2016-11-09 深圳微服机器人科技有限公司 一种室内机器人的重定位方法及装置
CN106885574A (zh) * 2017-02-15 2017-06-23 北京大学深圳研究生院 一种基于重跟踪策略的单目视觉机器人同步定位与地图构建方法
WO2017172778A1 (en) * 2016-03-28 2017-10-05 Sri International Collaborative navigation and mapping
CN107869989A (zh) * 2017-11-06 2018-04-03 东北大学 一种基于视觉惯导信息融合的定位方法及系统

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPP299498A0 (en) * 1998-04-15 1998-05-07 Commonwealth Scientific And Industrial Research Organisation Method of tracking and sensing position of objects
US7135992B2 (en) * 2002-12-17 2006-11-14 Evolution Robotics, Inc. Systems and methods for using multiple hypotheses in a visual simultaneous localization and mapping system
US9002511B1 (en) 2005-10-21 2015-04-07 Irobot Corporation Methods and systems for obstacle detection using structured light
US8174568B2 (en) * 2006-12-01 2012-05-08 Sri International Unified framework for precise vision-aided navigation
JP6481347B2 (ja) * 2014-11-28 2019-03-13 村田機械株式会社 移動量推定装置、自律移動体、及び移動量の推定方法
EP3371670B1 (en) * 2015-11-02 2024-05-22 Starship Technologies OÜ Device and method for autonomous localisation
US10393515B2 (en) * 2016-01-20 2019-08-27 Mitsubishi Electric Corporation Three-dimensional scanner and measurement assistance processing method for same
KR102372669B1 (ko) * 2016-06-08 2022-03-10 삼성전자주식회사 전자 장치, 외부 서버 및 그 제어 방법
US10571926B1 (en) * 2016-08-29 2020-02-25 Trifo, Inc. Autonomous platform guidance systems with auxiliary sensors and obstacle avoidance
FR3073311A1 (fr) * 2017-11-09 2019-05-10 Centralesupelec Procede d'estimation de pose d'une camera dans le referentiel d'une scene tridimensionnelle, dispositif, systeme de realite augmentee et programme d'ordinateur associe
CN107990899B (zh) 2017-11-22 2020-06-30 驭势科技(北京)有限公司 一种基于slam的定位方法和系统
CN108052101B (zh) 2017-12-06 2021-12-21 北京奇虎科技有限公司 机器人的重定位方法及装置
CN110340863B (zh) * 2018-04-08 2023-02-17 AIrobot株式会社 自主移动搬运机器人
US10679376B2 (en) * 2018-04-24 2020-06-09 Microsoft Technology Licensing, Llc Determining a pose of a handheld object

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013148077A1 (en) * 2012-03-30 2013-10-03 Qualcomm Incorporated Mashup of ap location and map information for wifi based indoor positioning
CN104736964A (zh) * 2012-10-22 2015-06-24 高通股份有限公司 移动装置的地图辅助式基于传感器定位
WO2015103536A1 (en) * 2014-01-03 2015-07-09 Google Technology Holdings LLC Methods and systems for generating a map including sparse and dense mapping information
CN105425808A (zh) * 2015-11-10 2016-03-23 上海禾赛光电科技有限公司 机载式室内气体遥测系统及方法
CN105652871A (zh) * 2016-02-19 2016-06-08 深圳杉川科技有限公司 移动机器人的重定位方法
WO2017172778A1 (en) * 2016-03-28 2017-10-05 Sri International Collaborative navigation and mapping
CN106092104A (zh) * 2016-08-26 2016-11-09 深圳微服机器人科技有限公司 一种室内机器人的重定位方法及装置
CN106885574A (zh) * 2017-02-15 2017-06-23 北京大学深圳研究生院 一种基于重跟踪策略的单目视觉机器人同步定位与地图构建方法
CN107869989A (zh) * 2017-11-06 2018-04-03 东北大学 一种基于视觉惯导信息融合的定位方法及系统

Also Published As

Publication number Publication date
CN111094895A (zh) 2020-05-01
US20200309534A1 (en) 2020-10-01
WO2020000395A1 (en) 2020-01-02
US11788845B2 (en) 2023-10-17

Similar Documents

Publication Publication Date Title
CN111094895B (zh) 用于在预构建的视觉地图中进行鲁棒自重新定位的系统和方法
US11668571B2 (en) Simultaneous localization and mapping (SLAM) using dual event cameras
CN111325796B (zh) 用于确定视觉设备的位姿的方法和装置
CN109084746B (zh) 用于具有辅助传感器的自主平台引导系统的单目模式
US10192113B1 (en) Quadocular sensor design in autonomous platforms
US11003956B2 (en) System and method for training a neural network for visual localization based upon learning objects-of-interest dense match regression
US10496104B1 (en) Positional awareness with quadocular sensor in autonomous platforms
Strasdat et al. Double window optimisation for constant time visual SLAM
CN110322500A (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
CN110807350A (zh) 用于面向扫描匹配的视觉slam的系统和方法
CN108022264B (zh) 相机位姿确定方法及设备
Ye et al. 6-DOF pose estimation of a robotic navigation aid by tracking visual and geometric features
CN110986969A (zh) 地图融合方法及装置、设备、存储介质
Chu et al. You are here: Mimicking the human thinking process in reading floor-plans
CN114549738A (zh) 无人车室内实时稠密点云重建方法、系统、设备及介质
CN110349212A (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
US20220230350A1 (en) Position recognition method and system based on visual information processing
CN114565668A (zh) 即时定位与建图方法及装置
Park et al. Vision-based SLAM system for small UAVs in GPS-denied environments
JP7166446B2 (ja) ロボットの姿勢を推定するシステムおよび方法、ロボット、並びに記憶媒体
Birk et al. Simultaneous localization and mapping (SLAM)
Gautam et al. An experimental comparison of visual SLAM systems
US11915449B2 (en) Method and apparatus for estimating user pose using three-dimensional virtual space model
KR20230049969A (ko) 글로벌 측위 장치 및 방법
Baligh Jahromi et al. Layout slam with model based loop closure for 3d indoor corridor reconstruction

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