CN110349213A - 基于深度信息的位姿确定方法、装置、介质与电子设备 - Google Patents

基于深度信息的位姿确定方法、装置、介质与电子设备 Download PDF

Info

Publication number
CN110349213A
CN110349213A CN201910580095.1A CN201910580095A CN110349213A CN 110349213 A CN110349213 A CN 110349213A CN 201910580095 A CN201910580095 A CN 201910580095A CN 110349213 A CN110349213 A CN 110349213A
Authority
CN
China
Prior art keywords
point
error
key frame
frame
map
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.)
Granted
Application number
CN201910580095.1A
Other languages
English (en)
Other versions
CN110349213B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201910580095.1A priority Critical patent/CN110349213B/zh
Publication of CN110349213A publication Critical patent/CN110349213A/zh
Priority to PCT/CN2020/094461 priority patent/WO2020259248A1/zh
Application granted granted Critical
Publication of CN110349213B publication Critical patent/CN110349213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • G06V10/757Matching configurations of points or features

Abstract

本公开提供了一种基于深度信息的位姿确定方法、装置、存储介质与电子设备,属于计算机视觉技术领域。该方法包括:通过相机获取关于场景的当前帧图像,并获取当前帧图像的深度信息;从当前帧图像提取特征点,将深度信息有效的特征点确定为三维特征点,将深度信息无效的特征点确定为二维特征点;将二维特征点和三维特征点分别与场景的局部地图点进行匹配,以构建第一误差函数,第一误差函数包括二维误差项和三维误差项,二维误差项为匹配成功的二维特征点与局部地图点之间的误差,三维误差项为匹配成功的三维特征点与局部地图点之间的误差;通过计算第一误差函数的最小值,确定相机在当前帧的位姿参数。本公开可以提高SLAM中的跟踪精度。

Description

基于深度信息的位姿确定方法、装置、介质与电子设备
技术领域
本公开涉及计算机视觉技术领域,尤其涉及一种基于深度信息的位姿确定方法、基于深度信息的位姿确定装置、计算机可读存储介质与电子设备。
背景技术
SLAM(Simultaneous Localization And Mapping,同时定位和建图)是通过终端设备在场景中移动并采集场景的图像,同时进行设备自身位姿的确定以及场景建模的一种方法,是AR(Augmented Reality,增强现实)、机器人等领域的基础技术。
现有的SLAM方法中,大多通过视觉信号单元(如相机)和IMU(InertiaMeasurement Unit,惯性测量单元)的对准,实时确定相机的位姿,从而将相机拍摄到的场景画面还原为场景模型。然而,该方法受到IMU精度以及延迟性的限制,在短时间内可以获得较为准确的位姿信息,长时间使用则会产生较为严重的漂移,导致无法对相机进行准确的跟踪,不利于场景建模。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开提供了一种基于深度信息的位姿确定方法、基于深度信息的位姿确定装置、计算机可读存储介质与电子设备,进而至少在一定程度上改善现有的SLAM方法中跟踪精度较低的问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种基于深度信息的位姿确定方法,包括:通过相机获取关于场景的当前帧图像,并获取所述当前帧图像的深度信息;从所述当前帧图像提取特征点,将深度信息有效的特征点确定为三维特征点,将深度信息无效的特征点确定为二维特征点;将所述二维特征点和三维特征点分别与所述场景的局部地图点进行匹配,以构建第一误差函数,所述第一误差函数包括二维误差项和三维误差项,所述二维误差项为匹配成功的二维特征点与局部地图点之间的误差,所述三维误差项为匹配成功的三维特征点与局部地图点之间的误差;通过计算所述第一误差函数的最小值,确定所述相机在当前帧的位姿参数。
根据本公开的第二方面,提供一种基于深度信息的位姿确定装置,包括:图像获取模块,用于通过相机获取关于场景的当前帧图像,并获取所述当前帧图像的深度信息;特征点提取模块,用于从所述当前帧图像提取特征点,将深度信息有效的特征点确定为三维特征点,将深度信息无效的特征点确定为二维特征点;函数构建模块,用于将所述二维特征点和三维特征点分别与局部地图点进行匹配,以构建第一误差函数,所述第一误差函数包括二维误差项和三维误差项,所述二维误差项为匹配成功的二维特征点与局部地图点之间的误差,所述三维误差项为匹配成功的三维特征点与局部地图点之间的误差;位姿确定模块,用于通过计算所述第一误差函数的最小值,确定所述相机在当前帧的位姿参数。
根据本公开的第三方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一种位姿确定方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一种位姿确定方法。
本公开具有以下有益效果:
基于当前帧图像的深度信息,将图像中提取的特征点划分为二维特征点和三维特征点,并分别对两类特征点进行局部地图点的匹配,以构建二维误差项和三维误差项,从而建立第一误差函数,通过优化求解第一误差函数的最小值,得到相机在当前帧的位姿参数。一方面,引入深度信息建立误差函数,以作为位姿参数确定的依据,可以提高SLAM中位姿参数的准确度,增加跟踪精度。另一方面,基于深度信息是否有效,对特征点进行分类,并分别构建误差项,相比于将所有特征点通过一个误差项进行优化的方式,本示例性实施方式具有更高的灵活性与针对性,并可以降低无效或错误的深度信息对结果造成的影响,此外,也可以提高SLAM方法长时间运行的稳定性与鲁棒性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施方式,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本示例性实施方式中一种SLAM系统的架构示意图;
图2示出本示例性实施方式中一种基于深度信息的位姿确定方法的流程图;
图3示出本示例性实施方式中一种基于深度信息的位姿确定方法的子流程图;
图4示出本示例性实施方式中一种SLAM方法的流程图;
图5示出本示例性实施方式中一种基于深度信息的位姿确定装置的结构框图;
图6示出本示例性实施方式中一种用于实现上述方法的计算机可读存储介质;
图7示出本示例性实施方式中一种用于实现上述方法的电子设备。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。
本公开的示例性实施方式首先提供一种基于深度信息的位姿确定方法,该位姿确定方法主要应用于SLAM场景中,确定相机的位姿。图1示出了该方法应用环境的SLAM系统架构图。如图1所示,该SLAM系统100可以包括:场景101、可移动的相机102、可移动的深度传感器103和计算设备104。其中,场景101为待建模的现实场景,如室内、庭院、街道等。相机102和深度传感器103可以一体化设置,例如:相机102为平面摄像头,深度传感器103为设置在旁边的TOF(Time Of Flight,飞行时间)传感器;或者相机102和深度传感器103为两个摄像头,组成双目相机;或者深度传感器103为红外光装置,其与相机102组成结构光相机。相机102和深度传感器103可在场景101内移动,采集场景101的图像及其深度信息,图1示出相机102和深度传感器103设置在可移动的机器人上,此外也可以是用户手持手机或佩戴智能眼镜等在场景101内移动,该手机或智能眼镜内置有相机102和深度传感器103。计算设备104可以是终端计算机或服务器等,与相机102和深度传感器103通讯连接,可进行数据交互,相机102和深度传感器103将采集的图像及其深度信息发送到计算设备104,计算设备104进行处理分析,以实现SLAM中的定位和建模。
需要说明的是,图1所示的SLAM系统100仅是一个示例,还可以有若干的变化形式,举例说明:相机102、深度传感器103和计算设备104可以集成于一个设备中,如内置了相机102、深度传感器103和计算设备104的机器人,其可以在场景101内一边移动一边拍照,并对照片进行处理,实现定位和建模;各装置的数目也不限于图1所示的情况,如可以设置多个相机(如手机上设置3个或4个摄像头),或者设置多台服务器组成的计算设备集群,通过云计算的方式对大量的场景图像进行处理,等等;还可以增加图1中未示出的装置,如设置与相机102配套的IMU(Inertia Measurement Unit,惯性测量单元),以帮助确定相机102的位姿,或者设置投影装置,在场景103内产生虚拟投影,与相机102、用户或机器人形成交互。
在SLAM的起始时刻,从零开始对场景建模,此时未采集任何场景图像;SLAM流程开始后,相机跟随用户或者机器人在场景内移动,一边移动一边采集场景图像,形成连续帧的图像流,实时发送到计算设备;在获得一定帧数的图像后,计算设备可以初始化场景的地图模型,通常只包括场景的一小部分,或者与实际场景有差别;此后,相机每采集一帧的图像,计算设备都可以根据该图像对地图模型进行更新优化(当然也可以在筛选出关键帧时进行地图模型的更新优化),增加地图模型中没有的地图点,或者修正已有地图点的位置等;在进行地图模型的更新优化时,需要先确定相机的位姿参数,这在SLAM中是必需的一个环节,只有在确定相机的位姿参数后,才可以将相机采集的图像对应匹配到三维的地图模型中,以更新优化地图模型。
本示例性实施方式即是针对于如何在每一帧确定相机的位姿参数,所提出的改进方法。基于图1的SLAM系统100,本示例性实施方式的执行主体可以是其中的计算设备104。图2示出了本示例性实施方式的一种流程,可以包括以下步骤S210~S240:
步骤S210,通过相机获取关于场景的当前帧图像,并获取当前帧图像的深度信息。
其中,相机每采集一帧图像,计算设备分析一帧图像,当前帧图像是相机所采集的最新一帧图像。深度信息是与当前帧图像同时采集的,例如:采用平面摄像头加深度传感器拍摄场景图像,可以得到图像中每个像素点的深度信息,通常为深度值;采用双目相机拍摄场景图像,可以通过三角化算法得到图像中每个像素点的深度信息;采用结构光相机拍摄场景图像,可以利用红外点阵向场景投射红外光信号,并在接收反射回来的信号后,通过红外光的变化计算得到深度信息,等等。
步骤220,从当前帧图像提取特征点,将深度信息有效的特征点确定为三维特征点,将深度信息无效的特征点确定为二维特征点。
其中,特征点是图像中具有代表性的、辨识度较高的点或区域,例如图像中的角点、边缘和一些区块等,本示例性实施方式可以采用ORB算法(Oriented FAST and RotatedBRIEF,面向FAST(Features From Accelerated Segment Test,基于加速分割检测的特征)算法和旋转BRIEF(Binary Robust Independent Elementary Features,二进制鲁棒独立基本特征))提取特征点并对特征点进行描述;也可以采用FAST、SIFT(Scale-InvariantFeature Transform,尺度不变特征变换)、SURF(Speeded Up Robust Features,加速鲁棒特征)等算法提取特征点;还可以对当前帧图像进行目标检测,在检测到的物体边缘轮廓上提取一定的特征点,等等。
提取的特征点为当前帧图像中的像素点,具有深度信息。本示例性实施方式中,考虑到深度传感器、双目相机等深度检测部件本身的能力限制,无法准确检测距离深度传感器过近或者过远的物体的深度信息,或者对于黑色材质或高反光材质的物体、光照变化较大的场景等处理能力较差,当前帧图像的深度信息可能包含无效的像素点深度信息。因此,基于深度信息是否有效,可以将特征点划分为三维特征点和二维特征点:深度信息无效的特征点为二维特征点,由于其深度信息无效,仅保留其在当前帧图像中的二维坐标(即平面坐标);深度信息有效的特征点为三维特征点,除了其在当前帧图像中的二维坐标外,还具有其在深度方向上的第三维坐标,其坐标值通常为深度值。
检测深度信息是否有效时,主要检测各特征点的深度信息能否准确反映所拍摄物体的实际情况,基于该思想原理,对于不同类型、不同场景下的图像,所采用的检测方法与标准可以因情况而异,本公开对此不做限定,以下提供几个具体的检测方法示例。
(1)深度传感器在无法准确检测物体深度信息的情况下,可以将对应部分的深度值输出为无效值或异常值,例如TOF传感器的深度检测范围通常为0.5~3米,如果物体到TOF传感器的距离在此范围之外,导致TOF传感器感应到的TOF(发射与接收信号之间的时间差)超出上限或下限,则可以将物体的深度值记为无效值或上限、下限值,因此该深度值不可信,为无效信息;反之,若深度值为检测范围内的正常数值,则为有效信息。
(2)基于目标检测所提取的特征点,可以以物体为单位,对当前帧图像中每个物体的全部特征点进行统一检测,检测该物体的深度值跨度(即最大深度值减去最小深度值),如果在正常范围内,则该物体的全部特征点的深度信息都有效。例如:从当前帧图像中检测到椅子,并从椅子的轮廓上提取10个特征点(包括角点、边缘点等),10个特征点中的最大深度值减去最小深度值得到椅子的深度值跨度,认为是该椅子在深度方向上的厚度;通过事先设定每种物体的厚度范围,如椅子的厚度为0.5~2米,则判断上述深度值跨度是否在该范围内,若在,则10个特征点的深度信息全部有效,反之则全部无效。
步骤S230,将二维特征点和三维特征点分别与场景的局部地图点进行匹配,以构建第一误差函数。
其中,局部地图点是指以当前帧图像所拍摄区域为中心的一个局部范围内、在当前帧之前已检测到的场景的地图点,地图点是指在场景的地图模型中已添加的点。在SLAM采集场景图像时,通常从连续帧图像中选取一定数量的关键帧,这是为了减少建模过程中的信息冗余而选取的具有代表性的帧,通常可以每间隔一定的帧数选取一帧为关键帧,或者在图像内容变化较多时提取关键帧。本示例性实施方式中,局部地图点可以是上一关键帧以及上一关键帧的共视关键帧中出现过的地图点。其中,上一关键帧为距离当前帧最近的关键帧;共视是指两帧图像的内容相似度较高,或者具有共同的视场角(Field OfVision,FOV),说明两帧图像所拍摄的区域重合度较高,具有共视关系,其中一帧为另一帧的共视帧。本示例性实施方式可以检测其他关键帧与上一关键帧的特征点是否为相同的点,若相同的特征点数量超过一定的比例,则该其他关键帧为上一关键帧的共视关键帧,也可以根据相同特征点的数量确定每个其他关键帧与上一关键帧的共视程度,从高到低选取一定数量的其他关键帧,为上一关键帧的共视关键帧。在确定上一关键帧及其共视关键帧后,对其中的地图点取并集,得到的地图点为局部地图点。
在得到局部地图点后,将当前帧图像中的二维特征点和三维特征点分别与局部地图点进行匹配,若判断特征点和局部地图点为场景中的同一点,则匹配成功。匹配方法可以包括几种示例性方法:对特征点和局部地图点分别进行特征描述,例如通过ORB、BRIEF等算法,根据描述子的相似度确定特征点和局部地图点是否匹配;对局部地图点进行下采样,使其与当前帧图像中的特征点数量相同,然后对特征点的点云与局部地图点的点云进行ICP(Iterative Closest Point,迭代最近邻点)算法匹配;基于目标检测从当前帧图像提取的特征点,以物体为单位与局部地图点中的物体模型进行匹配,将匹配成功的物体中的全部特征点与对应的物体模型中的局部地图点进行匹配。
在匹配后,可以基于匹配成功的特征点与局部地图点点对,构建第一误差函数:
其中,Loss1为第一误差函数,Loss2D为二维误差项,Loss3D为三维误差项;P2D表示二维特征点的集合,ei,k表示其中的任一点与对应的局部地图点之间的误差;P3D表示三维特征点的集合,ej,k表示其中的任一点与对应的局部地图点之间的误差;k表示当前帧。
在一种可选的实施方式中,可以在公式(1)中添加鲁棒核函数ρ(),用于减少误匹配对最终结果的影响,如下所示:
在一种可选的实施方式中,二维误差项可以是匹配成功的二维特征点与局部地图点之间的重投影误差,三维误差项可以是匹配成功的三维特征点与局部地图点之间的ICP(迭代最近邻)误差,即有以下关系:
其中,w表示世界坐标系,为相机在当前帧的位姿参数,表示实际场景从世界坐标系转换到当前帧图像的平面上所采用的旋转及平移参数;为二维特征点i在当前帧图像中的平面坐标,Pi w为二维特征点i对应的局部地图点的世界坐标,π()表示三维的局部地图点投影到图像平面(此处为当前帧图像的平面),因此,公式(3)表示将局部地图点重投影到当前帧图像的平面后,与对应的二维特征点之间的平面坐标误差。类似的,在公式(4)中,为三维特征点j在当前帧图像中的立体坐标(包含深度信息,为三维的相机坐标系中的坐标),Pj w为三维特征点j对应的局部地图点的世界坐标,经过转换到相机坐标系中,与计算坐标误差。
在一种可选的实施方式中,还可以在上述公式(1)或(2)中添加信息矩阵,用于衡量特征点的观测不确定性,如下所示:
其中,是以协方差矩阵的形式表示的二维特征点i的信息矩阵,表示的三维特征点j的信息矩阵,信息矩阵与相机本身的噪声性能等相关,在此相当于对不同位置的特征点进行了加权计算,可以提高第一误差函数的准确度。
步骤S240,通过计算第一误差函数的最小值,确定相机在当前帧的位姿参数。
在SLAM中,误差函数也可称为优化函数、约束函数等,其用于优化求解相应的变量参数,本示例性实施方式中,第一误差函数用于优化相机在当前帧的位姿参数,以公式(5)为例,有如下关系:
通过对第一误差函数进行非线性优化,多次迭代后求得位姿参数其中,迭代收敛的条件可以是迭代达到一定的轮数,或者第一误差函数在连续两轮迭代中降低的值低于预定的数值等。
基于上述内容,本示例性实施方式中,基于当前帧图像的深度信息,将图像中提取的特征点划分为二维特征点和三维特征点,并分别对两类特征点进行局部地图点的匹配,以构建二维误差项和三维误差项,从而建立第一误差函数,通过优化求解第一误差函数的最小值,得到相机在当前帧的位姿参数。一方面,引入深度信息建立误差函数,以作为位姿参数确定的依据,可以提高SLAM中位姿参数的准确度,增加跟踪精度。另一方面,基于深度信息是否有效,对特征点进行分类,并分别构建误差项,相比于将所有特征点通过一个误差项进行优化的方式,本示例性实施方式具有更高的灵活性与针对性,并可以降低无效或错误的深度信息对结果造成的影响,此外,也可以提高SLAM方法长时间运行的稳定性与鲁棒性。
在一种可选的实施方式中,如果预先对IMU和视觉信号单元进行对准(或称为对齐、配准、融合、耦合等),则第一误差函数还可以包括惯性测量误差项,为IMU和视觉信号单元之间的误差。其中,视觉信号单元是指通过视觉信号(主要为图像)进行定位与建模的单元,主要包括相机,还可以包括与相机配套的深度传感器、计算机等。第一误差函数可以如下所示:
引入鲁棒核函数ρ()和信息矩阵的情况下,第一误差函数也可以是:
在公式(7)和(8)中,eIMU,k为惯性测量误差项,表示在当前帧IMU和视觉信号单元之间的误差,表示IMU的信息矩阵。第一误差函数中设置惯性测量误差项,可以将IMU信号作为位姿优化的一项依据参数,进一步提高位姿参数的准确度。
本示例性实施方式中,IMU和视觉信号单元的对准可以包括以下步骤:通过计算IMU的预积分中的旋转参数和视觉信号单元测量的旋转参数之间的误差最小值,得到IMU的陀螺仪偏置;通过计算IMU的预积分中的位置参数和视觉信号单元测量的位置参数之间的误差最小值,得到IMU的重力加速度;基于IMU的陀螺仪偏置和重力加速度,将IMU和视觉信号单元进行对准。上述步骤可以在SLAM的初始化阶段执行,即在初始化阶段使IMU和视觉信号单元对准,此后在跟踪过程中,也可以执行上述步骤,不断优化调整IMU和视觉信号单元的对准状态,以进一步提高跟踪的精度。
上述跟踪以及位姿确定的过程通常由SLAM中的跟踪线程负责执行,此外,SLAM还可以包括关键帧处理线程(或称为地图建模线程、地图重构线程等)。在一种可选的实施方式中,关键帧处理线程可以将当前帧确定为新的关键帧,根据新的关键帧及其位姿参数更新场景的地图模型。通过位姿参数,可以将新的关键帧转换到世界坐标系中,与已有的场景地图模型进行匹配,优化修正地图模型中的地图点位置,或者添加新的地图点,删除异常的地图点等。
在一种可选的实施方式中,并非每一帧都作为关键帧处理,在步骤S240后,可以执行以下步骤:当判断当前帧满足第一预设条件时,将当前帧确定为新的关键帧,更新场景的地图模型;当判断当前帧不满足第一预设条件时,将当前帧确定为普通帧,进入下一帧的处理。其中,第一预设条件可以包括:
当前帧距离上一关键帧超过预设帧数,预设帧数可根据经验或实际应用需求设定,例如超过15帧则当前帧为新的关键帧。
当前帧与上一关键帧的视差超过预设差值,视差为共视的相反概念,表示两帧所拍摄的区域的差异程度,差异越大,共视程度越低,视差越大;预设差值可根据经验或实际应用需求设定,例如可以设定为15%,当前帧与上一关键帧的视差超过15%时为新的关键帧。
统计当前帧图像中,与局部地图点之间的误差小于第一阈值的二维特征点的数量,以及与局部地图点之间的误差小于第二阈值的三维特征点的数量,两数量之和为当前帧跟踪成功的特征点数量,若小于预设数量,则当前帧为新的关键帧。第一阈值、第二阈值和预设数量可根据经验或实际应用需求设定。
需要说明的是,也可以任意组合上述3种条件,例如当前帧距离上一关键帧超过预设帧数,且当前帧与上一关键帧的视差超过预设差值时,当前帧为新的关键帧,本公开对此不做限定。
在确定新的关键帧后,可以将其加入关键帧队列,关键帧处理线程对队列中的关键帧依次处理,以更新场景的地图模型。下面通过三个方面来具体说明如何更新地图模型:
第1方面、可以对已有的地图点进行更新,同时进一步优化关键帧的位姿参数,参考图3所示,具体包括以下步骤S310~S340:
步骤S310,获取新的关键帧以及与新的关键帧关联的其他关键帧,形成关键帧集合。
其中,与新的关键帧关联的其他关键帧可以是:距离新的关键帧最近的M个关键帧,以及新的关键帧的N个共视关键帧,M和N是预设的正整数,可根据经验或实际应用需求设定,当然M个关键帧和N个共视关键帧中可能有重复的帧,两部分取并集即可,得到关键帧集合,记为Fkey。或者也可以将与新的关键帧具有其他关联关系的关键帧形成关键帧集合Fkey
步骤S320,获取关键帧集合中出现过的全部地图点,形成地图点集合。
换而言之,对Fkey中全部关键帧的地图点取并集,形成地图点集合,记为Pmap
步骤330,基于关键帧集合与其中每个关键帧的位姿参数、以及地图点集合,构建第二误差函数。
其中,第二误差函数包括重投影误差项,重投影误差项为地图点集合中的任一地图点到关键帧集合中的任一关键帧的重投影误差之和,可以表示如下:
eo,p表示Pmap中的任一地图点p到Fkey中的任一关键帧o的重投影误差。进一步的,也可以在第二误差函数中添加鲁棒核函数ρ(),则有:
在一种可选的实施方式中,为了提高第二误差函数的准确度,还可以设置帧间惯性测量误差项,为IMU在关键帧集合中任意两相邻关键帧i和i+1之间的误差之和,如下所示:
在公式(11)中,还添加了关键帧i和i+1之间的IMU信息矩阵,可以进一步优化第二误差函数。
步骤S340,通过计算第二误差函数的最小值,优化关键帧集合中各关键帧的位姿参数以及地图点集合中各地图点的坐标,以更新地图模型。
其中,优化求解可以如下所示:
Xp为Pmap中的任一地图点p的世界坐标,为Fkey中的任一关键帧q的位姿参数,通过优化求解这两项参数,可以优化修正地图点坐标,更新地图模型。
第2方面、可以删除已有的地图点中异常的地图点,具体而言,基于上述建立的关键帧集合和地图点集合,可以将满足第二预设条件的地图点作为异常地图点,从地图模型中删除。第二预设条件可以包括以下任一条:
若地图点p在关键帧集合中各关键帧上的重投影误差的均值大于预设误差阈值,则p为异常地图点。预设误差阈值可根据经验或实际应用需求设定。在计算重投影误差时,可以选取关键帧集合中的全部关键帧进行计算,也可以选取p具有投影的关键帧进行计算。
若地图点p在关键帧集合中被跟踪成功的关键帧数量小于预测数量乘以预设比例,则p为异常地图点。被跟踪成功是指地图点p在关键帧上的重投影误差小于一定的数值,例如小于上述第一阈值。基于p的位置以及各关键帧的位姿参数,关键帧处理线程可以预测p被跟踪成功的关键帧数量,该数量乘以小于或等于1的预设比例,结果用于衡量是否跟踪异常;预设比例表示允许的偏差程度,可根据经验或实际应用需求设定,例如为0.5。判断关系如下所示:
为指示函数,在()内为真和假时分别取值为1和0;T1为第一阈值,R为预设比例,Pre()表示预测函数。
第3方面、可以增加新的地图点,具体而言,若新的关键帧中存在与局部地图点(或地图点集合中的地图点)不匹配的特征点,可以认为该特征点尚不存在于地图模型中;于是可以将该特征点与关键帧集合中其他关键帧的特征点进行匹配。若匹配成功,得到一对特征点点对,可以认为该点对是场景中的同一点在两个不同帧上的投影;对该点对进行三角化计算,以还原出其在场景中的三维坐标,从而得到一个新的地图点,可以添加到地图模型中。
需要补充的是,上述方法实际可以应用于每个关键帧,将关键帧集合中每个关键帧的特征点都与地图点集合中的地图点进行匹配,未匹配成功的特征点形成一个未知点集合,再将未知点集合中的特征点两两匹配(采用不放回的方式,匹配出一个点对,则将两个点从集合中移除,因此不会出现一个点匹配到两个或多个点的情况),匹配的点对对应三角化生成新的地图点。
在一种可选的实施方式中,若新的关键帧中存在与局部地图点不匹配的特征点,由于该特征点具有深度信息,即该特征点具有三维的图像坐标,根据关键帧的位姿参数可以将该特征点映射到世界坐标系中,计算出其真实位置,从而作为新的地图点,添加到地图模型中。即使该地图点的位置有偏差,也可以在后续帧的处理中不断优化。
除了上述跟踪线程和关键帧处理线程外,SLAM还可以包括回环检测线程,用于针对新的关键帧进行回环检测,以对地图模型进行全局优化。具体而言,针对新的关键帧,通过预先训练的视觉词袋模型将该关键帧中的特征点转换为词典描述;然后计算该关键帧与之前的关键帧的词典相似性,若相似性达到一定的阈值,则认为该关键帧为候选回环帧;针对候选回环帧做几何验证,即匹配点之间应该满足对应的几何关系,如果通过几何验证则认为是回环帧,进行地图模型的全局优化。
图4示出了本示例性实施方式的一种SLAM方法流程,包括跟踪线程、关键帧处理线程和回环检测线程分别执行的3个部分,具体如下:
跟踪线程执行步骤S411,采集当前帧图像及其深度信息;然后执行步骤S412,从当前帧图像提取特征点;然后执行步骤S413,根据深度信息将特征点分类,得到二维特征点和三维特征点;然后执行步骤S414,将二维特征点和三维特征点分别与局部地图点匹配,构建第一误差函数;然后执行步骤S415,通过计算第一误差函数的最小值,优化求解当前帧的位姿参数;最后执行步骤S416,判断当前帧是否满足第一预设条件,若不满足,则进入下一帧的处理,若满足,则将其作为新的关键帧,加入到关键帧队列。跟踪线程的流程结束。
关键帧处理线程响应于当前帧作为新的关键帧,执行步骤S421,在关键帧队列中添加新的关键帧;然后执行步骤S422,构建第二误差函数;然后执行步骤S423,通过计算第二误差函数的最小值,优化多个附近关键帧(靠近当前帧的关键帧)的位姿以及地图点的位置,这是对地图模型的局部优化;在局部优化后,执行步骤S424,判断IMU和视觉信号单元是否对准,若未对准,则执行步骤S425以进行对准;在对准前,还可以判断一定数量的附近关键帧之间是否存在明显的视差,如果存在,则可以进行对准,如果不存在,则认为无法对准,跳过对准的步骤;然后执行步骤S426,删除地图模型中的异常地图点;然后执行步骤S427,在地图模型中添加新的地图点。关键帧处理线程的流程结束。
回环检测线程在关键帧处理线程局部优化的基础上,可以进行全局优化,具体包括:先执行步骤S431,进行回环检测;若为回环候选帧,则执行步骤S432,进行几何验证;若几何验证通过,则执行步骤S433,对地图模型全局优化。
本公开的示例性实施方式还提供了一种基于深度信息的位姿确定装置,如图5所示,该位姿确定装置500可以包括:图像获取模块510,用于通过相机获取关于场景的当前帧图像,并获取当前帧图像的深度信息;特征点提取模块520,用于从当前帧图像提取特征点,将深度信息有效的特征点确定为三维特征点,将深度信息无效的特征点确定为二维特征点;函数构建模块530,用于将二维特征点和三维特征点分别与局部地图点进行匹配,以构建第一误差函数,第一误差函数包括二维误差项和三维误差项,二维误差项为匹配成功的二维特征点与局部地图点之间的误差,三维误差项为匹配成功的三维特征点与局部地图点之间的误差;位姿确定模块540,用于通过计算第一误差函数的最小值,确定相机在当前帧的位姿参数。
在一种可选的实施方式中,匹配成功的二维特征点与局部地图点之间的误差可以是重投影误差,匹配成功的三维特征点与局部地图点之间的误差可以是迭代最近邻误差。
在一种可选的实施方式中,局部地图点可以包括:上一关键帧以及上一关键帧的共视关键帧中出现过的地图点;其中,上一关键帧为距离当前帧最近的关键帧。
在一种可选的实施方式中,如果位姿确定装置500预先对IMU和视觉信号单元进行对准,则第一误差函数还可以包括惯性测量误差项,为IMU和视觉信号单元之间的误差,视觉信号单元包括相机。
在一种可选的实施方式中,位姿确定装置500还可以包括:IMU对准模块,用于通过计算IMU的预积分中的旋转参数和视觉信号单元测量的旋转参数之间的误差最小值,得到IMU的陀螺仪偏置,通过计算IMU的预积分中的位置参数和视觉信号单元测量的位置参数之间的误差最小值,得到IMU的重力加速度,并基于IMU的陀螺仪偏置和重力加速度,将IMU和视觉信号单元进行对准。
在一种可选的实施方式中,位姿确定装置500还可以包括:地图更新模块,用于将当前帧确定为新的关键帧,根据新的关键帧以及位姿参数更新场景的地图模型。
在一种可选的实施方式中,地图更新模块还可以用于当判断当前帧满足第一预设条件时,将当前帧确定为新的关键帧,当判断当前帧不满足第一预设条件时,将当前帧确定为普通帧,进入下一帧的处理;第一预设条件可以包括以下任意一个或多个的组合:当前帧距离上一关键帧超过预设帧数,上一关键帧为距离当前帧最近的关键帧;当前帧与上一关键帧的视差超过预设差值;在当前帧跟踪成功的特征点数量小于预设数量,跟踪成功的特征点数量通过以下方法确定:统计与局部地图点之间的误差小于第一阈值的二维特征点的数量,以及与局部地图点之间的误差小于第二阈值的三维特征点的数量,两数量之和为跟踪成功的特征点数量。
在一种可选的实施方式中,地图更新模块可以包括:关键帧获取单元,用于获取新的关键帧以及与新的关键帧关联的其他关键帧,形成关键帧集合;地图点获取单元,用于获取关键帧集合中出现过的全部地图点,形成地图点集合;第二函数构建单元,用于基于关键帧集合与其中每个关键帧的位姿参数、以及地图点集合,构建第二误差函数,第二误差函数包括重投影误差项,重投影误差项为地图点集合中的任一地图点到关键帧集合中的任一关键帧的重投影误差之和;优化处理单元,用于通过计算第二误差函数的最小值,优化关键帧集合中各关键帧的位姿参数以及地图点集合中各地图点的坐标,以更新地图模型。
在一种可选的实施方式中,第二误差函数还可以包括帧间惯性测量误差项,为IMU在关键帧集合中任意两相邻关键帧之间的误差之和。
在一种可选的实施方式中,与新的关键帧关联的其他关键帧可以包括:距离新的关键帧最近的M个关键帧,以及新的关键帧的N个共视关键帧;其中,M和N是预设的正整数。
在一种可选的实施方式中,地图更新模块还可以包括:地图点删除单元,用于将地图点集合中满足第二预设条件的地图点从地图模型中删除;其中,第二预设条件可以包括:地图点在关键帧集合中被跟踪成功的关键帧数量小于预测数量乘以预设比例,预设比例小于或等于1;或者地图点在关键帧集合中各关键帧上的重投影误差的均值大于预设误差阈值。
在一种可选的实施方式中,地图更新模块还可以包括:地图点添加单元,用于若新的关键帧中存在与局部地图点不匹配的特征点,则将该特征点与关键帧集合中其他关键帧的特征点进行匹配,根据匹配的结果进行三角化计算,得到新的地图点,以添加到地图模型中。
在一种可选的实施方式中,位姿确定装置500还可以包括:回环检测模块,用于针对新的关键帧进行回环检测,以对地图模型进行全局优化。
上述装置的模块/单元的具体细节在方法部分实施方式中已经详细说明,未披露的方案细节内容可以参见方法部分的实施方式内容,因而不再赘述。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
参考图6所示,描述了根据本公开的示例性实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
本公开的示例性实施方式还提供了一种能够实现上述方法的电子设备。下面参照图7来描述根据本公开的这种示例性实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施方式的功能和使用范围带来任何限制。
如图7所示,电子设备700可以以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730和显示单元740。
存储单元720存储有程序代码,程序代码可以被处理单元710执行,使得处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,处理单元710可以执行图2、图3或图4所示的方法步骤等。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)721和/或高速缓存存储单元722,还可以进一步包括只读存储单元(ROM)723。
存储单元720还可以包括具有一组(至少一个)程序模块725的程序/实用工具724,这样的程序模块725包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开示例性实施方式的方法。
此外,上述附图仅是根据本公开示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的示例性实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施方式。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施方式仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

Claims (14)

1.一种基于深度信息的位姿确定方法,其特征在于,包括:
通过相机获取关于场景的当前帧图像,并获取所述当前帧图像的深度信息;
从所述当前帧图像提取特征点,将深度信息有效的特征点确定为三维特征点,将深度信息无效的特征点确定为二维特征点;
将所述二维特征点和三维特征点分别与所述场景的局部地图点进行匹配,以构建第一误差函数,所述第一误差函数包括二维误差项和三维误差项,所述二维误差项为匹配成功的二维特征点与局部地图点之间的误差,所述三维误差项为匹配成功的三维特征点与局部地图点之间的误差;
通过计算所述第一误差函数的最小值,确定所述相机在当前帧的位姿参数。
2.根据权利要求1所述的方法,其特征在于,如果预先对惯性测量单元和视觉信号单元进行对准,则所述第一误差函数还包括惯性测量误差项,为所述惯性测量单元和所述视觉信号单元之间的误差,所述视觉信号单元包括所述相机。
3.根据权利要求2所述的方法,其特征在于,所述对惯性测量单元和视觉信号单元进行对准,包括:
通过计算所述惯性测量单元的预积分中的旋转参数和所述视觉信号单元测量的旋转参数之间的误差最小值,得到所述惯性测量单元的陀螺仪偏置;
通过计算所述惯性测量单元的预积分中的位置参数和所述视觉信号单元测量的位置参数之间的误差最小值,得到所述惯性测量单元的重力加速度;
基于所述惯性测量单元的陀螺仪偏置和重力加速度,将所述惯性测量单元和所述视觉信号单元进行对准。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
将所述当前帧确定为新的关键帧,根据所述新的关键帧以及所述位姿参数更新所述场景的地图模型。
5.根据权利要求4所述的方法,其特征在于,在确定所述相机在当前帧的位姿参数后,所述方法还包括:
当判断所述当前帧满足第一预设条件时,将所述当前帧确定为新的关键帧;
当判断所述当前帧不满足所述第一预设条件时,将所述当前帧确定为普通帧,进入下一帧的处理;
所述第一预设条件包括以下任意一个或多个的组合:
所述当前帧距离上一关键帧超过预设帧数,所述上一关键帧为距离所述当前帧最近的关键帧;
所述当前帧与所述上一关键帧的视差超过预设差值;
在所述当前帧跟踪成功的特征点数量小于预设数量,所述跟踪成功的特征点数量通过以下方法确定:
统计与局部地图点之间的误差小于第一阈值的所述二维特征点的数量,以及与局部地图点之间的误差小于第二阈值的所述三维特征点的数量,两数量之和为所述跟踪成功的特征点数量。
6.根据权利要求4所述的方法,其特征在于,所述根据所述新的关键帧以及所述位姿参数更新所述场景的地图模型,包括:
获取所述新的关键帧以及与所述新的关键帧关联的其他关键帧,形成关键帧集合;
获取所述关键帧集合中出现过的全部地图点,形成地图点集合;
基于所述关键帧集合与其中每个关键帧的位姿参数、以及所述地图点集合,构建第二误差函数,所述第二误差函数包括重投影误差项,所述重投影误差项为所述地图点集合中的任一地图点到所述关键帧集合中的任一关键帧的重投影误差之和;
通过计算所述第二误差函数的最小值,优化所述关键帧集合中各关键帧的位姿参数以及所述地图点集合中各地图点的坐标,以更新所述地图模型。
7.根据权利要求6所述的方法,其特征在于,所述第二误差函数还包括帧间惯性测量误差项,为惯性测量单元在所述关键帧集合中任意两相邻关键帧之间的误差之和。
8.根据权利要求6所述的方法,其特征在于,所述与所述新的关键帧关联的其他关键帧包括:距离所述新的关键帧最近的M个关键帧,以及所述新的关键帧的N个共视关键帧;其中,M和N是预设的正整数。
9.根据权利要求6所述的方法,其特征在于,在更新所述地图模型时,还将所述地图点集合中满足第二预设条件的地图点从所述地图模型中删除;其中,所述第二预设条件包括:
所述地图点在所述关键帧集合中被跟踪成功的关键帧数量小于预测数量乘以预设比例,所述预设比例小于或等于1;或者
所述地图点在所述关键帧集合中各关键帧上的重投影误差的均值大于预设误差阈值。
10.根据权利要求6所述的方法,其特征在于,在更新所述地图模型时,若所述新的关键帧中存在与所述局部地图点不匹配的特征点,则将该特征点与所述关键帧集合中其他关键帧的特征点进行匹配,根据匹配的结果进行三角化计算,得到新的地图点,以添加到所述地图模型中。
11.根据权利要求4所述的方法,其特征在于,所述方法还包括:
针对所述新的关键帧进行回环检测,以对所述地图模型进行全局优化。
12.一种基于深度信息的位姿确定装置,其特征在于,包括:
图像获取模块,用于通过相机获取关于场景的当前帧图像,并获取所述当前帧图像的深度信息;
特征点提取模块,用于从所述当前帧图像提取特征点,将深度信息有效的特征点确定为三维特征点,将深度信息无效的特征点确定为二维特征点;
函数构建模块,用于将所述二维特征点和三维特征点分别与局部地图点进行匹配,以构建第一误差函数,所述第一误差函数包括二维误差项和三维误差项,所述二维误差项为匹配成功的二维特征点与局部地图点之间的误差,所述三维误差项为匹配成功的三维特征点与局部地图点之间的误差;
位姿确定模块,用于通过计算所述第一误差函数的最小值,确定所述相机在当前帧的位姿参数。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-11任一项所述的方法。
14.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-11任一项所述的方法。
CN201910580095.1A 2019-06-28 2019-06-28 基于深度信息的位姿确定方法、装置、介质与电子设备 Active CN110349213B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910580095.1A CN110349213B (zh) 2019-06-28 2019-06-28 基于深度信息的位姿确定方法、装置、介质与电子设备
PCT/CN2020/094461 WO2020259248A1 (zh) 2019-06-28 2020-06-04 基于深度信息的位姿确定方法、装置、介质与电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910580095.1A CN110349213B (zh) 2019-06-28 2019-06-28 基于深度信息的位姿确定方法、装置、介质与电子设备

Publications (2)

Publication Number Publication Date
CN110349213A true CN110349213A (zh) 2019-10-18
CN110349213B CN110349213B (zh) 2023-12-12

Family

ID=68177312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910580095.1A Active CN110349213B (zh) 2019-06-28 2019-06-28 基于深度信息的位姿确定方法、装置、介质与电子设备

Country Status (2)

Country Link
CN (1) CN110349213B (zh)
WO (1) WO2020259248A1 (zh)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866977A (zh) * 2019-10-31 2020-03-06 Oppo广东移动通信有限公司 增强现实处理方法及装置、系统、存储介质和电子设备
CN111105462A (zh) * 2019-12-30 2020-05-05 联想(北京)有限公司 位姿确定方法及装置、增强现实设备和可读存储介质
CN111292365A (zh) * 2020-01-23 2020-06-16 北京字节跳动网络技术有限公司 生成深度图的方法、装置、电子设备和计算机可读介质
CN111311588A (zh) * 2020-02-28 2020-06-19 浙江商汤科技开发有限公司 重定位方法及装置、电子设备和存储介质
CN111310654A (zh) * 2020-02-13 2020-06-19 北京百度网讯科技有限公司 一种地图要素的定位方法、装置、电子设备及存储介质
CN111462107A (zh) * 2020-04-10 2020-07-28 视研智能科技(广州)有限公司 一种端到端的高精度工业零件形状建模方法
CN111623773A (zh) * 2020-07-17 2020-09-04 国汽(北京)智能网联汽车研究院有限公司 一种基于鱼眼视觉和惯性测量的目标定位方法及装置
CN111652933A (zh) * 2020-05-06 2020-09-11 Oppo广东移动通信有限公司 基于单目相机的重定位方法、装置、存储介质与电子设备
CN111784778A (zh) * 2020-06-04 2020-10-16 华中科技大学 基于线性求解非线性优化的双目相机外参标定方法和系统
CN111833403A (zh) * 2020-07-27 2020-10-27 闪耀现实(无锡)科技有限公司 用于空间定位的方法和装置
CN111951262A (zh) * 2020-08-25 2020-11-17 杭州易现先进科技有限公司 Vio误差的修正方法、装置、系统和电子装置
CN112085842A (zh) * 2019-06-14 2020-12-15 北京京东尚科信息技术有限公司 深度值确定方法及装置、电子设备和存储介质
WO2020259248A1 (zh) * 2019-06-28 2020-12-30 Oppo广东移动通信有限公司 基于深度信息的位姿确定方法、装置、介质与电子设备
CN112348889A (zh) * 2020-10-23 2021-02-09 浙江商汤科技开发有限公司 视觉定位方法及相关装置、设备
CN112923916A (zh) * 2019-12-06 2021-06-08 杭州海康机器人技术有限公司 一种地图精简方法、装置、电子设备及机器可读存储介质
CN113034538A (zh) * 2019-12-25 2021-06-25 杭州海康威视数字技术股份有限公司 一种视觉惯导设备的位姿跟踪方法、装置及视觉惯导设备
CN113191174A (zh) * 2020-01-14 2021-07-30 北京京东乾石科技有限公司 物品定位方法和装置、机器人及计算机可读存储介质
CN113240806A (zh) * 2021-05-13 2021-08-10 深圳市慧鲤科技有限公司 信息处理方法、装置、电子设备及存储介质
CN113256718A (zh) * 2021-05-27 2021-08-13 浙江商汤科技开发有限公司 定位方法和装置、设备及存储介质
CN113506369A (zh) * 2021-07-13 2021-10-15 阿波罗智能技术(北京)有限公司 用于生成地图的方法、装置、电子设备和介质
CN113535875A (zh) * 2021-07-14 2021-10-22 北京百度网讯科技有限公司 地图数据扩充方法、装置、电子设备、介质和程序产品
CN113689485A (zh) * 2021-08-25 2021-11-23 北京三快在线科技有限公司 无人机深度信息的确定方法、装置、无人机及存储介质
CN113781563A (zh) * 2021-09-14 2021-12-10 中国民航大学 一种基于深度学习的移动机器人回环检测方法
CN114331915A (zh) * 2022-03-07 2022-04-12 荣耀终端有限公司 图像处理方法及电子设备
CN114750147A (zh) * 2022-03-10 2022-07-15 深圳甲壳虫智能有限公司 机器人的空间位姿确定方法、装置和机器人
CN115578432A (zh) * 2022-09-30 2023-01-06 北京百度网讯科技有限公司 图像处理方法、装置、电子设备及存储介质
CN115919461A (zh) * 2022-12-12 2023-04-07 之江实验室 一种基于slam的手术导航方法
CN116386016A (zh) * 2023-05-22 2023-07-04 杭州睿影科技有限公司 一种异物处理方法、装置、电子设备及存储介质

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112686961A (zh) * 2020-12-31 2021-04-20 杭州海康机器人技术有限公司 一种深度相机标定参数的修正方法、装置
CN112785705B (zh) * 2021-01-21 2024-02-09 中国科学技术大学 一种位姿获取方法、装置及移动设备
CN112802185B (zh) * 2021-01-26 2022-08-02 合肥工业大学 面向微创手术空间感知的内窥镜图像三维重构方法和系统
CN112862803B (zh) * 2021-02-26 2023-09-26 中国人民解放军93114部队 基于边缘和特征点融合的红外成像slam方法和装置
CN112927308B (zh) * 2021-03-26 2023-09-26 鹏城实验室 一种三维注册方法、装置、终端及计算机可读存储介质
CN113034596B (zh) * 2021-03-26 2022-05-13 浙江大学 一种三维物体检测与跟踪方法
CN113052898B (zh) * 2021-04-08 2022-07-12 四川大学华西医院 基于主动式双目相机的点云和强反光目标实时定位方法
CN113094462B (zh) * 2021-04-30 2023-10-24 腾讯科技(深圳)有限公司 数据处理方法和装置及存储介质
CN113345017B (zh) * 2021-05-11 2022-09-20 香港理工大学深圳研究院 一种使用标志辅助视觉slam的方法
CN113420590B (zh) * 2021-05-13 2022-12-06 北京航空航天大学 弱纹理环境下的机器人定位方法、装置、设备及介质
CN113382365B (zh) * 2021-05-21 2022-06-10 北京索为云网科技有限公司 移动终端的位姿跟踪方法及设备
CN113361365B (zh) * 2021-05-27 2023-06-23 浙江商汤科技开发有限公司 定位方法和装置、设备及存储介质
CN113362358A (zh) * 2021-06-02 2021-09-07 东南大学 一种动态场景下基于实例分割的鲁棒性位姿估计方法
CN113324542B (zh) * 2021-06-07 2024-04-12 北京京东乾石科技有限公司 一种定位方法、装置、设备和存储介质
CN113432593B (zh) * 2021-06-25 2023-05-23 北京华捷艾米科技有限公司 集中式同步定位与地图构建方法、装置和系统
CN113591865B (zh) * 2021-07-28 2024-03-26 深圳甲壳虫智能有限公司 一种回环检测方法、装置以及电子设备
CN115700507B (zh) * 2021-07-30 2024-02-13 北京小米移动软件有限公司 地图更新方法及其装置
CN113609985B (zh) * 2021-08-05 2024-02-23 诺亚机器人科技(上海)有限公司 物体位姿检测方法、检测设备、机器人及可存储介质
CN113744308B (zh) * 2021-08-06 2024-02-20 高德软件有限公司 位姿优化方法、装置、电子设备、介质及程序产品
CN113838129B (zh) * 2021-08-12 2024-03-15 高德软件有限公司 一种获得位姿信息的方法、装置以及系统
CN113793414A (zh) * 2021-08-17 2021-12-14 中科云谷科技有限公司 建立工业现场环境三维视图的方法、处理器及装置
CN113784026B (zh) * 2021-08-30 2023-04-18 鹏城实验室 基于图像的计算位置信息的方法、装置、设备及存储介质
CN113884025B (zh) * 2021-09-16 2024-05-03 河南垂天智能制造有限公司 增材制造结构光回环检测方法、装置、电子设备和存储介质
CN113936042B (zh) * 2021-12-16 2022-04-05 深圳佑驾创新科技有限公司 一种目标跟踪方法、装置和计算机可读存储介质
CN114812540B (zh) * 2022-06-23 2022-11-29 深圳市普渡科技有限公司 一种建图方法、装置和计算机设备
CN115375870B (zh) * 2022-10-25 2023-02-10 杭州华橙软件技术有限公司 回环检测优化方法、电子设备及计算机可读存储装置
CN116030136B (zh) * 2023-03-29 2023-06-09 中国人民解放军国防科技大学 基于几何特征的跨视角视觉定位方法、装置和计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102589571A (zh) * 2012-01-18 2012-07-18 西安交通大学 一种空间三维视觉计算验证方法
CN107869989A (zh) * 2017-11-06 2018-04-03 东北大学 一种基于视觉惯导信息融合的定位方法及系统
CN108369741A (zh) * 2015-12-08 2018-08-03 三菱电机株式会社 用于配准数据的方法和系统
EP3451288A1 (en) * 2017-09-04 2019-03-06 Universität Zürich Visual-inertial odometry with an event camera
CN109658449A (zh) * 2018-12-03 2019-04-19 华中科技大学 一种基于rgb-d图像的室内场景三维重建方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104933755B (zh) * 2014-03-18 2017-11-28 华为技术有限公司 一种静态物体重建方法和系统
CN109345588B (zh) * 2018-09-20 2021-10-15 浙江工业大学 一种基于Tag的六自由度姿态估计方法
CN110349213B (zh) * 2019-06-28 2023-12-12 Oppo广东移动通信有限公司 基于深度信息的位姿确定方法、装置、介质与电子设备
CN110335316B (zh) * 2019-06-28 2023-04-18 Oppo广东移动通信有限公司 基于深度信息的位姿确定方法、装置、介质与电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102589571A (zh) * 2012-01-18 2012-07-18 西安交通大学 一种空间三维视觉计算验证方法
CN108369741A (zh) * 2015-12-08 2018-08-03 三菱电机株式会社 用于配准数据的方法和系统
EP3451288A1 (en) * 2017-09-04 2019-03-06 Universität Zürich Visual-inertial odometry with an event camera
CN107869989A (zh) * 2017-11-06 2018-04-03 东北大学 一种基于视觉惯导信息融合的定位方法及系统
CN109658449A (zh) * 2018-12-03 2019-04-19 华中科技大学 一种基于rgb-d图像的室内场景三维重建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
姚二亮等: "基于Vision-IMU的机器人同时定位与地图创建算法", 《仪器仪表学报》 *
姚二亮等: "基于Vision-IMU的机器人同时定位与地图创建算法", 《仪器仪表学报》, no. 04, 15 April 2018 (2018-04-15) *

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112085842A (zh) * 2019-06-14 2020-12-15 北京京东尚科信息技术有限公司 深度值确定方法及装置、电子设备和存储介质
WO2020259248A1 (zh) * 2019-06-28 2020-12-30 Oppo广东移动通信有限公司 基于深度信息的位姿确定方法、装置、介质与电子设备
CN110866977A (zh) * 2019-10-31 2020-03-06 Oppo广东移动通信有限公司 增强现实处理方法及装置、系统、存储介质和电子设备
CN112923916A (zh) * 2019-12-06 2021-06-08 杭州海康机器人技术有限公司 一种地图精简方法、装置、电子设备及机器可读存储介质
CN113034538B (zh) * 2019-12-25 2023-09-05 杭州海康威视数字技术股份有限公司 一种视觉惯导设备的位姿跟踪方法、装置及视觉惯导设备
CN113034538A (zh) * 2019-12-25 2021-06-25 杭州海康威视数字技术股份有限公司 一种视觉惯导设备的位姿跟踪方法、装置及视觉惯导设备
CN111105462A (zh) * 2019-12-30 2020-05-05 联想(北京)有限公司 位姿确定方法及装置、增强现实设备和可读存储介质
CN113191174B (zh) * 2020-01-14 2024-04-09 北京京东乾石科技有限公司 物品定位方法和装置、机器人及计算机可读存储介质
CN113191174A (zh) * 2020-01-14 2021-07-30 北京京东乾石科技有限公司 物品定位方法和装置、机器人及计算机可读存储介质
CN111292365A (zh) * 2020-01-23 2020-06-16 北京字节跳动网络技术有限公司 生成深度图的方法、装置、电子设备和计算机可读介质
CN111310654A (zh) * 2020-02-13 2020-06-19 北京百度网讯科技有限公司 一种地图要素的定位方法、装置、电子设备及存储介质
CN111310654B (zh) * 2020-02-13 2023-09-08 北京百度网讯科技有限公司 一种地图要素的定位方法、装置、电子设备及存储介质
CN111311588A (zh) * 2020-02-28 2020-06-19 浙江商汤科技开发有限公司 重定位方法及装置、电子设备和存储介质
CN111311588B (zh) * 2020-02-28 2024-01-05 浙江商汤科技开发有限公司 重定位方法及装置、电子设备和存储介质
CN111462107A (zh) * 2020-04-10 2020-07-28 视研智能科技(广州)有限公司 一种端到端的高精度工业零件形状建模方法
CN111652933A (zh) * 2020-05-06 2020-09-11 Oppo广东移动通信有限公司 基于单目相机的重定位方法、装置、存储介质与电子设备
CN111652933B (zh) * 2020-05-06 2023-08-04 Oppo广东移动通信有限公司 基于单目相机的重定位方法、装置、存储介质与电子设备
CN111784778A (zh) * 2020-06-04 2020-10-16 华中科技大学 基于线性求解非线性优化的双目相机外参标定方法和系统
CN111784778B (zh) * 2020-06-04 2022-04-12 华中科技大学 基于线性求解非线性优化的双目相机外参标定方法和系统
CN111623773A (zh) * 2020-07-17 2020-09-04 国汽(北京)智能网联汽车研究院有限公司 一种基于鱼眼视觉和惯性测量的目标定位方法及装置
CN111833403A (zh) * 2020-07-27 2020-10-27 闪耀现实(无锡)科技有限公司 用于空间定位的方法和装置
WO2022022449A1 (zh) * 2020-07-27 2022-02-03 闪耀现实(无锡)科技有限公司 用于空间定位的方法和装置
CN111951262A (zh) * 2020-08-25 2020-11-17 杭州易现先进科技有限公司 Vio误差的修正方法、装置、系统和电子装置
CN111951262B (zh) * 2020-08-25 2024-03-12 杭州易现先进科技有限公司 Vio误差的修正方法、装置、系统和电子装置
CN112348889A (zh) * 2020-10-23 2021-02-09 浙江商汤科技开发有限公司 视觉定位方法及相关装置、设备
CN113240806A (zh) * 2021-05-13 2021-08-10 深圳市慧鲤科技有限公司 信息处理方法、装置、电子设备及存储介质
CN113256718A (zh) * 2021-05-27 2021-08-13 浙江商汤科技开发有限公司 定位方法和装置、设备及存储介质
CN113506369A (zh) * 2021-07-13 2021-10-15 阿波罗智能技术(北京)有限公司 用于生成地图的方法、装置、电子设备和介质
CN113535875A (zh) * 2021-07-14 2021-10-22 北京百度网讯科技有限公司 地图数据扩充方法、装置、电子设备、介质和程序产品
CN113689485A (zh) * 2021-08-25 2021-11-23 北京三快在线科技有限公司 无人机深度信息的确定方法、装置、无人机及存储介质
CN113781563B (zh) * 2021-09-14 2023-10-24 中国民航大学 一种基于深度学习的移动机器人回环检测方法
CN113781563A (zh) * 2021-09-14 2021-12-10 中国民航大学 一种基于深度学习的移动机器人回环检测方法
CN114331915B (zh) * 2022-03-07 2022-08-05 荣耀终端有限公司 图像处理方法及电子设备
CN114331915A (zh) * 2022-03-07 2022-04-12 荣耀终端有限公司 图像处理方法及电子设备
CN114750147A (zh) * 2022-03-10 2022-07-15 深圳甲壳虫智能有限公司 机器人的空间位姿确定方法、装置和机器人
CN114750147B (zh) * 2022-03-10 2023-11-24 深圳甲壳虫智能有限公司 机器人的空间位姿确定方法、装置和机器人
CN115578432A (zh) * 2022-09-30 2023-01-06 北京百度网讯科技有限公司 图像处理方法、装置、电子设备及存储介质
CN115919461A (zh) * 2022-12-12 2023-04-07 之江实验室 一种基于slam的手术导航方法
CN115919461B (zh) * 2022-12-12 2023-08-08 之江实验室 一种基于slam的手术导航方法
CN116386016A (zh) * 2023-05-22 2023-07-04 杭州睿影科技有限公司 一种异物处理方法、装置、电子设备及存储介质
CN116386016B (zh) * 2023-05-22 2023-10-10 杭州睿影科技有限公司 一种异物处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2020259248A1 (zh) 2020-12-30
CN110349213B (zh) 2023-12-12

Similar Documents

Publication Publication Date Title
CN110349213A (zh) 基于深度信息的位姿确定方法、装置、介质与电子设备
CN110335316A (zh) 基于深度信息的位姿确定方法、装置、介质与电子设备
US11869158B2 (en) Cross reality system with localization service and shared location-based content
US10650546B2 (en) Method of providing a descriptor for at least one feature of an image and method of matching features
US11900547B2 (en) Cross reality system for large scale environments
US11568605B2 (en) Cross reality system with localization service
US11551430B2 (en) Cross reality system with fast localization
US11967020B2 (en) Cross reality system with map processing using multi-resolution frame descriptors
US20230209373A1 (en) Cross reality system with wireless fingerprints
CN110322500A (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
CN104106262B (zh) 使用深度相机的头部姿态跟踪
CN101162524B (zh) 图像处理设备及方法
WO2021163306A1 (en) Cross reality system with accurate shared maps
CN110047104A (zh) 对象检测和跟踪方法、头戴式显示装置和存储介质
WO2021163289A1 (en) Cross reality system for large scale environments
EP4046070A1 (en) Cross reality system supporting multiple device types
EP3274964B1 (en) Automatic connection of images using visual features
US20160210761A1 (en) 3d reconstruction
CN110349212A (zh) 即时定位与地图构建的优化方法及装置、介质和电子设备
WO2018119403A1 (en) Head mounted sensor system
Phan et al. Towards 3D human posture estimation using multiple kinects despite self-contacts
Bai et al. Application of unmanned aerial vehicle multi-vision image 3D modeling in geological disasters
US20240135656A1 (en) Cross reality system for large scale 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
GR01 Patent grant
GR01 Patent grant