CN111209978B - 三维视觉重定位方法、装置及计算设备、存储介质 - Google Patents
三维视觉重定位方法、装置及计算设备、存储介质 Download PDFInfo
- Publication number
- CN111209978B CN111209978B CN202010309391.0A CN202010309391A CN111209978B CN 111209978 B CN111209978 B CN 111209978B CN 202010309391 A CN202010309391 A CN 202010309391A CN 111209978 B CN111209978 B CN 111209978B
- Authority
- CN
- China
- Prior art keywords
- cloud data
- point cloud
- preset
- pose
- matching
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/74—Image or video pattern matching; Proximity measures in feature spaces
- G06V10/75—Organisation 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/757—Matching configurations of points or features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/05—Geographic models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
Abstract
本申请公开了一种三维视觉重定位方法、装置及计算设备、存储介质,涉及计算机视觉技术领域,当确定待定位对象需要重定位时,则循环执行以下步骤直至匹配度满足预设匹配阈值:通过视觉里程计将待定位对象采集的连续多帧图像构建成第一点云数据,多帧图像是在预设地图对应的空间环境中采集的;根据待定位对象在预设地图中的模拟位姿,确定与第一点云数据对应的第二点云数据;针对至少一个模拟位姿,将模拟位姿对应的第二点云数据与预设地图的第三点云数据进行匹配,确定匹配度;若所有模拟位姿下的匹配度均未满足预设匹配阈值,则返回通过视觉里程计将待定位对象采集的连续多帧图像构建成第一点云数据的步骤。该方式提高了重定位的准确度。
Description
技术领域
本申请涉及计算机视觉技术领域,尤其涉及一种三维视觉重定位方法、装置及计算设备、存储介质。
背景技术
同步定位与建图(simultaneous localization and mapping, SLAM)在移动机器人、无人飞行器、自主驾驶、虚拟现实、增强现实等领域有着广泛的应用。SLAM在应用于定位时,相关技术中,在确定机器人在已知的地图中的绝对位姿时,需要基于输入机器人在已知地图中的初始帧位姿,以及机器人当前采集的图像,获取机器人当前帧相对于上一帧图像的相对位姿,并基于初始帧位姿和相对位姿,确定机器人当前帧在已知地图中的绝对位姿。
当机器人初次放置在已知地图所处的空间环境时,在不输入初始帧位姿时,亦或者机器人在移动的过程中当前采集的图像清晰度较差,导致跟踪丢失时,则无法确定机器人在已知地图中的绝对位姿。基于此,本申请提供一种三维视觉重定位方法来解决上述的问题。
发明内容
本申请提供了一种三维视觉重定位方法、装置及计算设备、存储介质,用以提高确定待定位对象的位姿的可靠性。
第一方面,本申请实施例提供一种三维视觉重定位方法,所述方法包括:
当确定待定位对象满足重定位条件后,则循环执行以下步骤直至匹配度满足预设匹配阈值:
通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据,其中,所述多帧图像是在预设地图对应的空间环境中采集的;
根据所述待定位对象在所述预设地图中的模拟位姿,确定与所述第一点云数据对应的第二点云数据;其中,所述模拟位姿为多个,不同的模拟位姿对应的第二点云数据中各点的三维坐标不完全相同;
针对至少一个模拟位姿,将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度;
若所有模拟位姿下的匹配度均未满足所述预设匹配阈值,则返回通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据的步骤。
在本方案中,并未采用现有技术中基于待定位对象的初始位姿持续进行后续定位,而是在确定待定位对象满足重定位条件后,会重新确定待定位对象的初始位姿,从而避免了由于后续某个时刻定位错误导致的累计误差。同时,在本方案中,通过视觉里程计得到待定位对象的第一点云数据,然后基于待定位对象在所述预设地图中的多个模拟位姿,将第一点云数据转换为多个第二点云数据,在某个第二点云数据与预设地图的第三点云数据匹配成功时,确定待定位对象的目标位姿,从而可基于重新定位得到的目标位姿进行后续定位,避免了累计误差的问题。
在一个可选的实施例中,所述重定位条件包括以下至少一种:所述待定位对象初次定位、所述待定位对象采集的当前帧图像的特征点与上一帧图像的特征点匹配度小于预设特征阈值。
通过该方式可以明确重定位的条件,以便执行重定位的方案。
在一个可选的实施例中,所述根据所述待定位对象在所述预设地图中的模拟位姿,确定与所述第一点云数据对应的第二点云数据,包括:
通过粒子滤波算法在所述预设地图中进行采样,确定多个粒子,其中,所述粒子用于表征所述待定位对象在所述预设地图中的模拟位姿;不同的粒子表征的模拟位姿均不同;所述模拟位姿具有六个自由度;
在各所述模拟位姿下,确定与所述第一点云数据对应的第二点云数据。
通过该方式可以通过粒子滤波的算法确定第二点云数据。
在一个可选的实施例中,所述针对至少一个模拟位姿,将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度,包括:
通过迭代就近点( Iterative Closest Point, ICP)算法将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度。
通过ICP进行第二点云数据和第三点云数据的匹配可以提高点云数据匹配的准确度。
在一个可选的实施例中,所述通过粒子滤波算法在所述预设地图中进行采样,包括:
若通过所述粒子滤波算法在所述预设地图中进行初次采样,则按照粒子均匀分布的方式进行采样;
若通过所述粒子滤波算法在所述预设地图中的采样为非初次采样,则按照预设规则进行采样,其中,所述预设规则为:
若粒子的权重值大于权重预设值,则在所述粒子邻域范围内增加采样数量;若所述粒子的权重值小于所述权重预设值,则在所述粒子邻域范围内减少采样数量。
通过该方式可明确粒子的采样规则。
在一个可选的实施例中,所述粒子的权重通过如下方式确定:
根据所述第二点云数据与所述第三点云数据中各对应点之间的距离以及匹配的点的数量,确定各粒子的权重值;其中匹配的点是指两者之间的距离小于预设距离阈值。
通过该方式可以确定粒子的权重值。
在一个可选的实施例中,所述方法还包括:
将所述匹配度满足所述预设匹配阈值对应的模拟位姿确定为所述待定位对象的目标位姿。
通过该方式可以确定待定位对象的目标位姿。
在一个可选的实施例中,所述将所述匹配度满足所述预设匹配阈值对应的模拟位姿确定为所述待定位对象的目标位姿,包括:
若所述匹配度满足所述预设匹配阈值,且各粒子间的收敛度满足预设收敛阈值,则将各粒子对应的模拟位姿的均值作为所述待定位对象的目标位姿。
通过该方式可以在粒子收敛时,确定待定位对象的目标位姿,使得确定目标位姿的准确度更高。
在一个可选的实施例中,所述连续多帧图像为所述待定位对象在指定时段采集的图像;所述指定时段为自所述待定位对象执行重定位开始时间点至最近一次确定所述匹配度未满足所述预设匹配阈值对应的时间点。
通过该方式可以确定连续多帧图像的采集时间段,以便更好进行重定位的步骤。
第二方面,本申请实施例提供一种三维视觉重定位装置,所述装置包括:
执行模块,用于当确定待定位对象满足重定位条件后,则循环执行以下步骤直至匹配度满足预设匹配阈值:
通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据,其中,所述多帧图像是在预设地图对应的空间环境中采集的;
根据所述待定位对象在所述预设地图中的模拟位姿,确定与所述第一点云数据对应的第二点云数据;其中,所述模拟位姿为多个,不同的模拟位姿对应的第二点云数据中各点的三维坐标不完全相同;
针对至少一个模拟位姿,将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度;
若所有模拟位姿下的匹配度均未满足所述预设匹配阈值,则返回通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据的步骤。
在一个可选的实施例中,所述重定位条件包括以下至少一种:所述待定位对象初次定位、所述待定位对象采集的当前帧图像的特征点与上一帧图像的特征点匹配度小于预设特征阈值。
在一个可选的实施例中,所述执行模块根据所述待定位对象在所述预设地图中的模拟位姿,确定与所述第一点云数据对应的第二点云数据,具体用于:
通过粒子滤波算法在所述预设地图中进行采样,确定多个粒子,其中,所述粒子用于表征所述待定位对象在所述预设地图中的模拟位姿;不同的粒子表征的模拟位姿均不同;所述模拟位姿具有六个自由度;
在各所述模拟位姿下,确定与所述第一点云数据对应的第二点云数据。
在一个可选的实施例中,所述执行模块针对至少一个模拟位姿,将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度,具体用于:
通过迭代就近点ICP算法将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度。
在一个可选的实施例中,所述执行模块通过粒子滤波算法在所述预设地图中进行采样,具体用于:
若通过所述粒子滤波算法在所述预设地图中进行初次采样,则按照粒子均匀分布的方式进行采样;
若通过所述粒子滤波算法在所述预设地图中的采样为非初次采样,则按照预设规则进行采样,其中,所述预设规则为:
若粒子的权重值大于权重预设值,则在所述粒子邻域范围内增加采样数量;若所述粒子的权重值小于所述权重预设值,则在所述粒子邻域范围内减少采样数量。
在一个可选的实施例中,所述粒子的权重通过如下方式确定:
根据所述第二点云数据与所述第三点云数据中各对应点之间的距离以及匹配的点的数量,确定各粒子的权重值;其中匹配的点是指两者之间的距离小于预设距离阈值。
在一个可选的实施例中,所述装置还包括:
位姿确定模块,用于将所述匹配度满足所述预设匹配阈值对应的模拟位姿确定为所述待定位对象的目标位姿。
在一个可选的实施例中,所述位姿确定模块,具体用于:
若所述匹配度满足所述预设匹配阈值,且各粒子间的收敛度满足预设收敛阈值,则将各粒子对应的模拟位姿的均值作为所述待定位对象的目标位姿。
在一个可选的实施例中,所述连续多帧图像为所述待定位对象在指定时段采集的图像;所述指定时段为自所述待定位对象执行重定位开始时间点至最近一次确定所述匹配度未满足所述预设匹配阈值对应的时间点。
第三方面,本申请实施例还提供一种计算设备,包括:
存储器以及处理器;
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令来执行第一方面任一项所述的三维视觉重定位方法。
第四方面,本申请实施例还提供一种计算机存储介质,其中,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行本申请实施例中的任一三维视觉重定位方法。
本申请的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种三维视觉重定位方法的流程示意图;
图2为本申请实施例提供的一种三维视觉重定位方法的流程示意图;
图3为本申请实施例提供的一种三位视觉重定位装置的结构示意图;
图4为本申请实施例提供的计算设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本申请中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应所述理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,SLAM总是将待定位对象的起始位置设为下一帧图像位姿的参考系,当待定位对象的起始位置不固定时,参考系也不一致,在不同的实验测试中,不能保证待定位对象全局参照系的一致性,进而使得待定位对象的位姿计算结果的可靠性降低。此外,如背景技术所述,当待定位对象的移动速度过快,其相机采集的图像模糊,或者由于相机拍照时被障碍物遮挡均不能获取清晰的图像,致使待定位对象的位姿确定异常,基于此,本申请提出一种三维视觉重定位方法。
另外,本申请所提及的待定位对象可以为移动机器人、无人飞行器、自动驾驶的设备等,其中,待定位对象预先已知待定位空间的预设地图,其中,所述预设地图是相机通过深度传感器如:RGB-D(Red Green Blue Depth)传感器、激光扫描仪等扫描待定位空间的环境后构建的。为了更好的说明本申请的技术方案,可参阅图1提供的三位视觉重定位方法的流程图,在执行操作之前,先要确定待定位对象是否满足重定位的条件,其中,重定位条件包括以下至少一种:待定位对象初次定位、待定位对象采集的当前帧图像的特征点与上一帧图像的特征点匹配度小于预设特征阈值。
其中,重定位条件中的待定位对象初次定位即待定位对象在预设地图所处的空间环境启动后,初次执行定位操作;初次并不限定待定位对象第一次执行定位操作,待定位对象重新启动后,执行的定位操作也属于初次定位,如:商场服务机器人,在商场开始营业前处于关机状态,商场开始营业后,启动服务机器人执行初次定位的操作。另外,重定位条件中还包括待定位对象采集的当前帧图像的特征点与上一帧图像的特征点匹配度小于预设特征阈值,由于相关技术中是通过SLAM确定位姿,SLAM是基于图像的特征点的匹配度来确定位姿的,但是当图像的特征点越来越少,仍然采用SLAM确定位姿的误差不断累加,得到的位姿可靠性降低。为了减少累计误差的存在,当确定当前帧图像的特征点和上一帧图像的特征点的匹配度小于预设特征阈值时,则执行重定位方法。
在待定位对象的处理器确定待定位对象满足重定位的条件后,循环执行如下步骤101-104,直到满足步骤105的条件结束循环:
步骤101:通过视觉里程计将待定位对象采集的连续多帧图像构建成第一点云数据,其中,多帧图像是在预设地图对应的空间环境中采集的。
需要说明的是,本申请并不限制视觉里程计的具体实现方式。可以采用ORB SLAM(基于ORB特征点的实时定位和建图系统)、DSO(直接稀疏视觉里程计)、RGBD SLAM(深度视觉里程计)、FAST RGBD SLAM(快速深度视觉里程计)、VINS(视觉惯性导航系统)等各种可以提供相对位姿的视觉里程计来将连续多帧图像构建成第一点云数据。
步骤102:根据待定位对象在所述预设地图中的模拟位姿,确定与第一点云数据对应的第二点云数据,其中,模拟位姿为多个,不同的模拟位姿对应的第二点云数据中各点的三维坐标不完全相同。
需要说明的是,可预先通过预设规则在所述预设地图中确定模拟位姿,可通过直接在预设地图的指定区域进行标记,还可以通过粒子滤波算法在预设地图中采样确定模拟位姿,凡是可以确定模拟位姿的方法均适用于本申请。
在具体执行时,可先通过粒子滤波算法在预设地图中进行采样,确定多个粒子,其中,粒子用于表征待定位对象在所述预设地图中的模拟位姿;不同的粒子表征的模拟位姿均不同;模拟位姿具有六个自由度;所述六自由度指沿x、y、z三个直角坐标轴方向的移动自由度和绕这三个坐标轴的转动自由度。之后,在各模拟位姿下,确定与第一点云数据对应的第二点云数据。
需要说明的是,本申请中假定第一点云数据对应的位姿并不正确,但是第一点云数据中各点的相对坐标是确定的,在模拟位姿下,将第一点云数据中各点进行迁移得到在模拟位姿下新的坐标,如:第一点云数据包括点1和点2,第一点云数据在位姿A(0,0,0,α0,β0,γ0)下得到的,点1的坐标为(0,0 ,1),点2的坐标为(1,1,3);假定模拟位姿为B(1,1,1,α1,β1,γ1),则将第一点云数据进行迁移,得到第二点云数据,其中,第二点云数据中包括点1’和点2’,点1’与点1相对应,点2’与点2相对应,点1’的坐标为(1,1 ,2),点2’的坐标为(2,2,4)。
步骤103:针对至少一个模拟位姿,将模拟位姿对应的第二点云数据与预设地图的第三点云数据进行匹配,确定匹配度。
需要说明的是,可通过多种点云数据的匹配方法来进行第二点云数据和第三点云数据的匹配,如:ICP算法、稳健ICP算法、point to plane ICP算法、point to line ICP算法,凡是可以确定模拟位姿的方法均适用于本申请。
在执行时,可通过ICP算法将模拟位姿对应的第二点云数据与预设地图的第三点云数据进行匹配,确定匹配度。由于上述模拟位姿是通过粒子滤波算法确定,本步骤中第二点云数据和第三点云数据的匹配通过ICP算法进行匹配可以避免出现局部收敛的情况,且根据匹配度,可确定第二点云数据和第三点云数据中各点的匹配数量和各点间欧式距离的差值,通过该方式可以获取更加准确的匹配结果。
另外,通过粒子滤波算法在预设地图中进行采样时,若通过粒子滤波算法在预设地图中进行初次采样,则按照粒子均匀分布的方式进行采样;若通过粒子滤波算法在预设地图中的采样为非初次采样,则按照预设规则进行采样,其中,预设规则为:
若粒子的权重值大于权重预设值,则在粒子邻域范围内增加采样数量;若粒子的权重值小于所述权重预设值,则在粒子邻域范围内减少采样数量。通过该方式可尽快确定满足待定位对象的位姿。
此外,需要说明的是,可根据第二点云数据与第三点云数据中各对应点之间的距离以及匹配的点的数量,确定各粒子的权重值;其中匹配的点是指两者之间的距离小于预设距离阈值。通过该方式确定的权重值有助于粒子滤波器确定在各粒子邻域范围内再次撒粒子的数量。
步骤104:判断所述模拟位姿下的匹配度是否均满足预设匹配阈值,若是,则执行步骤105,若所有模拟位姿下的匹配度均未满足预设匹配阈值,则返回通过视觉里程计将待定位对象采集的连续多帧图像构建成第一点云数据的步骤101。
需要说明的是,再次采集的连续多帧图像为待定位对象在指定时段采集的图像;指定时段为自待定位对象执行重定位开始时间点至最近一次确定匹配度未满足预设匹配阈值对应的时间点,如:假定待定位对象重定位开始时,采集的第一帧到第五帧的图像构建第一点云数据,执行重定位的步骤后,确定匹配度未满足预设的阈值,此时,待定位对象的位置可能发生了变化,假定此时又采集了十帧图像,则将第一帧到第十五帧的图像通过视觉里程计再次构建成第一点云数据,执行相应的重定位的步骤。
步骤105:将匹配度满足预设匹配阈值对应的模拟位姿确定为待定位对象的目标位姿。
本方案中,通过视觉里程计得到待定位对象的第一点云数据,然后基于待定位对象在所述预设地图中的多个模拟位姿,将第一点云数据转换为多个第二点云数据,在某个第二点云数据与预设地图的第三点云数据匹配成功时,确定待定位对象的目标位姿,从而可基于重新定位得到的目标位姿进行后续定位,避免了累计误差的问题。
为了更好的说明本申请的技术方案,结合粒子滤波算法以及ICP算法通过图2所示的流程图进行详细说明,首先要说明的是,本次采样的粒子采样依据上次匹配结果中的粒子分布概率;在第一次迭代时,可采用均匀分布,或基于已知先验信息,进行高斯分布确定各粒子表征的模拟位姿。
此外,需要为本次采样的每个粒子分配一个单独的重要性权重值。权重值的更新取决于第二点云数据与所述第三点云数据中各对应点之间的距离以及匹配的点的数量。在所有粒子权重值更新后,要对所有粒子权值进行归一化,以便进行统一的数据处理。
在重采样过程中,若粒子的权重值大于权重预设值,则在粒子邻域范围内增加采样数量;若粒子的权重值小于权重预设值,则在粒子邻域范围内减少采样数量。另外每个粒子的重采样分布半径与采样次数成反比的选取方式,以便获得更好的收敛性。在每个收敛半径内,对每个粒子的子代粒子进行高斯或正态近似分布。重新采样后,所有子代粒子的权重值相同。每次重采样时,还需计算所有粒子的均值和方差作为状态估计,若匹配度满足预设匹配阈值,且各粒子间的收敛度满足预设收敛阈值(也即各粒子的方差满足预设的匹配阈值),则将各粒子对应的模拟位姿的均值作为所述待定位对象的目标位姿。
步骤201:通过视觉里程计将待定位对象采集的连续多帧图像构建成第一点云数据。
步骤202:通过粒子滤波算法在预设地图中进行采样,确定多个粒子,其中,粒子用于表征待定位对象在所述预设地图中的模拟位姿;不同的粒子表征的模拟位姿均不同。
步骤203:在各模拟位姿下,确定与第一点云数据对应的第二点云数据。
步骤204:针对至少一个模拟位姿,通过ICP算法将模拟位姿对应的第二点云数据与预设地图的第三点云数据进行匹配,确定匹配度。
步骤205:判断匹配度是否满足预设匹配阈值;若否,返回通过视觉里程计将待定位对象采集的连续多帧图像构建成第一点云数据的步骤201,若是,执行步骤206。
步骤206:确定各粒子的收敛度是否满足预设收敛阈值;若是,执行步骤207,若否执行步骤201。
步骤207:将各粒子对应的模拟位姿的均值作为所述待定位对象的目标位姿。
接下来介绍本申请实施例提供的三位视觉重定位装置如图3所示,该装置包括:执行模块31。
执行模块31,用于当确定待定位对象满足重定位条件后,则循环执行以下步骤直至匹配度满足预设匹配阈值:
通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据,其中,所述多帧图像是在预设地图对应的空间环境中采集的;
根据所述待定位对象在所述预设地图中的模拟位姿,确定与所述第一点云数据对应的第二点云数据;其中,所述模拟位姿为多个,不同的模拟位姿对应的第二点云数据中各点的三维坐标不完全相同;
针对至少一个模拟位姿,将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度;
若所有模拟位姿下的匹配度均未满足所述预设匹配阈值,则返回通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据的步骤。
可选的,所述重定位条件包括以下至少一种:所述待定位对象初次定位、所述待定位对象采集的当前帧图像的特征点与上一帧图像的特征点匹配度小于预设特征阈值。
可选的,所述执行模块根据所述待定位对象在所述预设地图中的模拟位姿,确定与所述第一点云数据对应的第二点云数据,具体用于:
通过粒子滤波算法在所述预设地图中进行采样,确定多个粒子,其中,所述粒子用于表征所述待定位对象在所述预设地图中的模拟位姿;不同的粒子表征的模拟位姿均不同;所述模拟位姿具有六个自由度;
在各所述模拟位姿下,确定与所述第一点云数据对应的第二点云数据。
可选的,所述执行模块针对至少一个模拟位姿,将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度,具体用于:
通过迭代就近点ICP算法将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度。
可选的,所述执行模块通过粒子滤波算法在所述预设地图中进行采样,具体用于:
若通过所述粒子滤波算法在所述预设地图中进行初次采样,则按照粒子均匀分布的方式进行采样;
若通过所述粒子滤波算法在所述预设地图中的采样为非初次采样,则按照预设规则进行采样,其中,所述预设规则为:
若粒子的权重值大于权重预设值,则在所述粒子邻域范围内增加采样数量;若所述粒子的权重值小于所述权重预设值,则在所述粒子邻域范围内减少采样数量。
可选的,所述粒子的权重通过如下方式确定:
根据所述第二点云数据与所述第三点云数据中各对应点之间的距离以及匹配的点的数量,确定各粒子的权重值;其中匹配的点是指两者之间的距离小于预设距离阈值。
可选的,所述装置还包括:
位姿确定模块,用于将所述匹配度满足所述预设匹配阈值对应的模拟位姿确定为所述待定位对象的目标位姿。
可选的,所述位姿确定模块,具体用于:
若所述匹配度满足所述预设匹配阈值,且各粒子间的收敛度满足预设收敛阈值,则将各粒子对应的模拟位姿的均值作为所述待定位对象的目标位姿。
可选的,所述连续多帧图像为所述待定位对象在指定时段采集的图像;所述指定时段为自所述待定位对象执行重定位开始时间点至最近一次确定所述匹配度未满足所述预设匹配阈值对应的时间点。
在介绍了本申请示例性实施方式中的三维视觉重定位方法、装置之后,接下来,介绍本申请的另一示例性实施方式的计算设备。
所属技术领域的技术人员能够理解,本申请的各个方面可以实现为系统、方法或程序产品。因此,本申请的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本申请的计算设备可以至少包括至少一个处理器、以及至少一个存储器。其中,存储器存储有计算机程序,当计算机程序被处理器执行时,使得处理器执行本说明书上述描述的根据本申请各种示例性实施方式的三维视觉重定位方法中的步骤。例如,处理器可以执行如图1中所示的步骤101-步骤105。
下面参照图4来描述根据本申请的这种实施方式的计算设备130。图4显示的计算设备130仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。如图4所示,计算设备130以通用智能终端的形式表现。计算设备130的组件可以包括但不限于:上述至少一个处理器131、上述至少一个存储器132、连接不同系统组件(包括存储器132和处理器131)的总线133。
总线133表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。存储器132可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1321和/或高速缓存存储器1322,还可以进一步包括只读存储器(ROM)1323。存储器132还可以包括具有一组(至少一个)程序模块1324的程序/实用工具1325,这样的程序模块1324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备130也可以与一个或多个外部设备134(例如键盘、指向设备等)通信,和/或与使得该计算设备130能与一个或多个其它智能终端进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口135进行。并且,智能终端130还可以通过网络适配器136与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器136通过总线133与用于计算设备130的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备130使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在一些可能的实施方式中,本申请提供的三维视觉重定位方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本申请各种示例性实施方式的三维视觉重定位方法中的步骤。例如,处理器可以执行如图1中所示的步骤101-步骤105。
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请的实施方式的用于三维视觉重定位的程序产品可采用便携式紧凑盘只读存储器(CD-ROM)并包括计算机程序,并可在智能终端上运行。但本申请的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种三维视觉重定位方法,其特征在于,所述方法包括:
当确定待定位对象满足重定位条件后,则循环执行以下步骤直至匹配度满足预设匹配阈值:
通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据,其中,所述多帧图像是在预设地图对应的空间环境中采集的;
根据所述待定位对象在所述预设地图中的模拟位姿,确定与所述第一点云数据对应的第二点云数据;其中,所述模拟位姿为多个,不同的模拟位姿对应的第二点云数据中各点的三维坐标不完全相同;
针对至少一个模拟位姿,将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度;
若所有模拟位姿下的匹配度均未满足所述预设匹配阈值,则返回通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据的步骤。
2.根据权利要求1所述的方法,其特征在于,所述重定位条件包括以下至少一种:所述待定位对象初次定位、所述待定位对象采集的当前帧图像的特征点与上一帧图像的特征点匹配度小于预设特征阈值。
3.根据权利要求1所述的方法,其特征在于,所述根据所述待定位对象在所述预设地图中的模拟位姿,确定与所述第一点云数据对应的第二点云数据,包括:
通过粒子滤波算法在所述预设地图中进行采样,确定多个粒子,其中,所述粒子用于表征所述待定位对象在所述预设地图中的模拟位姿;不同的粒子表征的模拟位姿均不同;所述模拟位姿具有六个自由度;
在各所述模拟位姿下,确定与所述第一点云数据对应的第二点云数据。
4.根据权利要求3所述的方法,其特征在于,所述针对至少一个模拟位姿,将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度,包括:
通过迭代就近点ICP算法将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度。
5.根据权利要求3所述的方法,其特征在于,所述通过粒子滤波算法在所述预设地图中进行采样,包括:
若通过所述粒子滤波算法在所述预设地图中进行初次采样,则按照粒子均匀分布的方式进行采样;
若通过所述粒子滤波算法在所述预设地图中的采样为非初次采样,则按照预设规则进行采样,其中,所述预设规则为:
若粒子的权重值大于权重预设值,则在所述粒子邻域范围内增加采样数量;若所述粒子的权重值小于所述权重预设值,则在所述粒子邻域范围内减少采样数量。
6.根据权利要求5所述的方法,其特征在于,所述粒子的权重通过如下方式确定:
根据所述第二点云数据与所述第三点云数据中各对应点之间的距离以及匹配的点的数量,确定各粒子的权重值;其中匹配的点是指两者之间的距离小于预设距离阈值。
7.根据权利要求1至6任一项所述的方法,其特征在于,还包括:
将所述匹配度满足所述预设匹配阈值对应的模拟位姿确定为所述待定位对象的目标位姿。
8.根据权利要求7所述的方法,其特征在于,所述将所述匹配度满足所述预设匹配阈值对应的模拟位姿确定为所述待定位对象的目标位姿,包括:
若所述匹配度满足所述预设匹配阈值,且各粒子间的收敛度满足预设收敛阈值,则将各粒子对应的模拟位姿的均值作为所述待定位对象的目标位姿。
9.根据权利要求7所述的方法,其特征在于,所述连续多帧图像为所述待定位对象在指定时段采集的图像;所述指定时段为自所述待定位对象执行重定位开始时间点至最近一次确定所述匹配度未满足所述预设匹配阈值对应的时间点。
10.一种三维视觉重定位装置,其特征在于,所述装置包括:
执行模块,用于当确定待定位对象满足重定位条件后,则循环执行以下步骤直至匹配度满足预设匹配阈值:
通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据,其中,所述多帧图像是在预设地图对应的空间环境中采集的;
根据所述待定位对象在所述预设地图中的模拟位姿,确定与所述第一点云数据对应的第二点云数据;其中,所述模拟位姿为多个,不同的模拟位姿对应的第二点云数据中各点的三维坐标不完全相同;
针对至少一个模拟位姿,将所述模拟位姿对应的第二点云数据与所述预设地图的第三点云数据进行匹配,确定匹配度;
若所有模拟位姿下的匹配度均未满足所述预设匹配阈值,则返回通过视觉里程计将所述待定位对象采集的连续多帧图像构建成第一点云数据的步骤。
11.一种计算设备,其特征在于,包括:存储器以及处理器;
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1-9任一项所述的方法。
12.一种计算机存储介质,存储有计算机可执行指令,其特征在于,所述计算机可执行指令用于执行如权利要求1-9中任一权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309391.0A CN111209978B (zh) | 2020-04-20 | 2020-04-20 | 三维视觉重定位方法、装置及计算设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010309391.0A CN111209978B (zh) | 2020-04-20 | 2020-04-20 | 三维视觉重定位方法、装置及计算设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111209978A CN111209978A (zh) | 2020-05-29 |
CN111209978B true CN111209978B (zh) | 2020-07-10 |
Family
ID=70785986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010309391.0A Active CN111209978B (zh) | 2020-04-20 | 2020-04-20 | 三维视觉重定位方法、装置及计算设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111209978B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111402413B (zh) * | 2020-06-04 | 2020-12-22 | 浙江欣奕华智能科技有限公司 | 三维视觉定位方法、装置及计算设备、存储介质 |
CN111563934B (zh) * | 2020-06-10 | 2020-12-22 | 浙江欣奕华智能科技有限公司 | 单目视觉里程计尺度确定方法和装置 |
CN112258618B (zh) * | 2020-11-04 | 2021-05-14 | 中国科学院空天信息创新研究院 | 基于先验激光点云与深度图融合的语义建图与定位方法 |
CN112288817A (zh) * | 2020-11-18 | 2021-01-29 | Oppo广东移动通信有限公司 | 基于图像的三维重建处理方法及装置 |
CN112697156A (zh) * | 2020-12-04 | 2021-04-23 | 深圳市优必选科技股份有限公司 | 地图库建立方法、机器人、计算机设备及存储介质 |
CN112700497B (zh) * | 2021-01-04 | 2023-06-09 | 歌尔股份有限公司 | 回环检测方法、装置、设备及计算机可读存储介质 |
CN114413882B (zh) * | 2022-03-29 | 2022-08-05 | 之江实验室 | 一种基于多假设跟踪的全局初定位方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110927740A (zh) * | 2019-12-06 | 2020-03-27 | 合肥科大智能机器人技术有限公司 | 一种移动机器人定位方法 |
US10607083B2 (en) * | 2018-07-19 | 2020-03-31 | Microsoft Technology Licensing, Llc | Selectively alerting users of real objects in a virtual environment |
-
2020
- 2020-04-20 CN CN202010309391.0A patent/CN111209978B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10607083B2 (en) * | 2018-07-19 | 2020-03-31 | Microsoft Technology Licensing, Llc | Selectively alerting users of real objects in a virtual environment |
CN110927740A (zh) * | 2019-12-06 | 2020-03-27 | 合肥科大智能机器人技术有限公司 | 一种移动机器人定位方法 |
Non-Patent Citations (2)
Title |
---|
SLAM激光点云整体精配准位姿图技术;闰利等;《测绘学报》;20190331;第48卷(第03期);全文 * |
基于RGB-D数据的实时SLAM算法;付梦印等;《机器人》;20151130;第37卷(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111209978A (zh) | 2020-05-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111209978B (zh) | 三维视觉重定位方法、装置及计算设备、存储介质 | |
CN111325796B (zh) | 用于确定视觉设备的位姿的方法和装置 | |
CN107123142B (zh) | 位姿估计方法和装置 | |
CN112179330A (zh) | 移动设备的位姿确定方法及装置 | |
CN110587597B (zh) | 一种基于激光雷达的slam闭环检测方法及检测系统 | |
CN110349212B (zh) | 即时定位与地图构建的优化方法及装置、介质和电子设备 | |
CN111402413B (zh) | 三维视觉定位方法、装置及计算设备、存储介质 | |
CN113392794B (zh) | 车辆跨线识别方法、装置、电子设备和存储介质 | |
EP3985610A1 (en) | Audio collection device positioning method and apparatus, and speaker recognition method and system | |
CN114140759A (zh) | 高精地图车道线位置确定方法、装置及自动驾驶车辆 | |
CN113177980A (zh) | 用于自动驾驶的目标对象速度确定方法、装置及电子设备 | |
CN113963327A (zh) | 障碍物检测方法、装置、自动驾驶车辆、设备和存储介质 | |
CN111583338B (zh) | 用于无人设备的定位方法、装置、介质及无人设备 | |
CN113009908A (zh) | 一种无人设备的运动控制方法、装置、设备及存储介质 | |
CN116740160A (zh) | 一种复杂交通场景中的毫秒级多平面实时提取方法及装置 | |
CN110853098A (zh) | 机器人定位方法、装置、设备及存储介质 | |
WO2023142353A1 (zh) | 一种位姿预测方法及装置 | |
CN114429631B (zh) | 三维对象检测方法、装置、设备以及存储介质 | |
CN115719436A (zh) | 模型训练方法、目标检测方法、装置、设备以及存储介质 | |
CN110634159A (zh) | 一种目标检测方法和装置 | |
CN115953414A (zh) | 基于语义分割的低矮障碍物检测方法和自动驾驶车辆 | |
CN111563934B (zh) | 单目视觉里程计尺度确定方法和装置 | |
CN112987707A (zh) | 一种车辆的自动驾驶控制方法及装置 | |
CN112380965B (zh) | 进行人脸识别的方法及多目摄像机 | |
CN111398961B (zh) | 用于检测障碍物的方法和装置 |
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 |