本申请涉及自动驾驶技术领域,尤其涉及一种点云配准的方法及装置。
背景技术:
点云配准是将激光雷达在不同时间、不同条件下(包括位置和角度等条件)获取的两幅或多幅点云图像进行匹配或叠加的过程,还可以用于实现将一帧单独的点云图像与已经构建好的点云图像进行匹配以获得该帧点云图像对应的真实帧的位置。常见的点云配准算法由icp(iterativeclosestpoint,迭代最近点)算法、ndt(normaldistributionstransform,正态分布变换)算法等。
下面具体说明将一帧单独的点云图像与已经构建好的点云图像进行匹配的过程:首先对该帧的点云图像进行特征提取以得到特征点;通过进行相似性度量找到匹配的特征点对;接着通过所述匹配的特征点对得到对应的空间坐标变换参数;最后由坐标变换参数进行图像的配准。将某一体素在选定的一帧点云图像上对应的数据点称为初值,将待匹配的数据帧称为初始帧,将该体素在已经构建好的点云图像上对应的数据点的称为真实值,将包含该真实值的数据帧称为真实数据帧,根据所述初值获取对应的所述目标值的过程即根据所述初始帧来获取真实数据帧的过程。
现有的点云配准方法往往采用牛顿迭代法根据所述初始帧来获取对应的所述真实数据帧,预先确定初始帧与每次迭代的步长,通过计算初始帧与真实数据帧之间的匹配度,当满足预设匹配度的要求时认为通过牛顿迭代法获取到所述真实数据帧。但进行牛顿迭代可能导致出现算法陷入局部最优解的问题,即某次迭代的数据帧结果满足预设匹配度的要求,但该数据帧并非所述初始帧对应的真实数据帧,这会使点云配准时建立的两个体素之间的匹配关系发生错误,进而直接影响点云配准的准确度,造成算法陷入局部最优解的实际原因可能是所述初始帧通过牛顿迭代在靠近所述真实数据帧的过程中匹配到了与真实数据帧相似度较高的干扰数据帧。
由此可见,如何避免点云配准过程中进行牛顿迭代时出现算法陷入局部最优解的问题,对于提高点云配准的精度和准确度具有重要意义。
技术实现要素:
为了解决现有技术存在的上述技术问题,本申请提供了一种点云配准的方法及装置,能够准确的获取初始帧在点云地图中对应的真实数据帧,避免算法陷入局部最优解,进而有效提高点云配准的精度和准确度。
本申请实施例提供了一种点云配准的方法,所述点云地图由若干数据帧构建而成,所述方法包括:
构建点云地图时获取并保存第一预设数目个关键帧;
点云配准时,在所述第一预设数目个所述关键帧中确定目标关键帧;所述目标关键帧为所述第一预设数目个所述关键帧中与所述初始帧匹配度最高的关键帧;
用所述目标关键帧进行点云配准以获取真实数据帧。
可选的,所述构建点云地图时获取并保存第一预设数目个关键帧包括:
构建点云地图时依次获取所述第一预设数目个点云正态分布变化率大于或等于预设阈值的数据帧作为所述关键帧;
用二叉树存储所述第一预设数目个所述关键帧。
可选的,所述在所述第一预设数目个所述关键帧中确定目标关键帧包括:
在所述第一预设数目个所述关键帧中选择第二预设数目个连续的关键帧,分别计算所述第二预设数目个关键帧与所述初始帧的匹配度;
判断所述第二预设数目个关键帧与所述初始帧的匹配度的大小关系确定所述目标关键帧。
可选的,所述判断所述第二预设数目个关键帧与所述初始帧的匹配度的大小关系确定所述目标关键帧包括:
若匹配度依次上升,确定所述第二预设数目个连续的关键帧中与所述初始帧匹配度最高的关键帧为第一限制关键帧,从所述第一限制关键帧和所述第一限制关键帧之后未被选择的关键帧中确定所述目标关键帧;
若匹配度依次下降,确定所述第二预设数目个连续的关键帧中与所述初始帧匹配度最高的关键帧为第二限制关键帧,从所述第一限制关键帧和所述第一限制关键帧之前未被选择的关键帧中确定所述目标关键帧;
若匹配度先上升后下降,将所述第二预设数目个连续的关键帧中与所述初始帧匹配度最高的关键帧确定为所述目标关键帧。
可选的,所述用所述目标关键帧进行点云配准以获取真实数据帧包括:
根据所述目标关键帧获取第三限制关键帧和第四限制关键帧;所述第三限制关键帧和第四限制关键帧为与所述目标关键帧相邻的关键帧;
将所述第三限制关键帧和所述第四限制关键帧所确定的范围内的所有数据帧中与所述初始帧匹配度最高的数据帧确定为所述真实数据帧。
可选的,所述第二预设数目的取值大于或等于2。
本申请实施例还提供了一种点云配准的装置,所述装置包括:第一获取单元、确定单元和第二获取单元;
所述第一获取单元,用于构建点云地图时获取并保存第一预设数目个关键帧;
所述确定单元,用于点云配准时,在所述第一预设数目个所述关键帧中确定目标关键帧;所述目标关键帧为所述第一预设数目个所述关键帧中与所述初始帧匹配度最高的关键帧;
所述第二获取单元,用于用所述目标关键帧替代所述初始帧进行点云配准以获得真实数据帧。
可选的,所述第一获取单元包括:关键帧获取子单元和存储子单元;
所述关键帧获取子单元,用于构建点云地图时依次获取所述第一预设数目个点云正态分布变化率大于或等于预设阈值的数据帧作为所述关键帧;
所述存储子单元,用于利用二叉树存储所述第一预设数目个所述关键帧。
可选的,所述确定单元包括:选择子单元和判断子单元;
所述选择子单元,用于在所述第一预设数目个所述关键帧中选择第二预设数目个连续的关键帧,分别计算所述第二预设数目个关键帧与所述初始帧的匹配度;
所述判断子单元,用于根据所述第二预设数目个关键帧与所述初始帧的匹配度的大小关系确定所述目标关键帧。
可选的,所述第二获取单元包括:第一获取子单元和第二获取子单元;
所述第一获取子单元,用于根据所述目标关键帧获取第三限制关键帧和第四限制关键帧;所述第三限制关键帧和第四限制关键帧为与所述目标关键帧相邻的关键帧;
所述第二获取子单元,用于将所述第三限制关键帧和所述第四限制关键帧所确定的范围内的所有数据帧中与所述初始帧匹配度最高的数据帧确定为所述真实数据帧。本申请所述方法具有以下优点:
本申请提供了一种点云配准的方法,所述方法包括:构建点云地图时获取并保存第一预设数目个关键帧;点云配准时,在所述第一预设数目个所述关键帧中确定目标关键帧,所述目标关键帧为所述第一预设数目个所述关键帧中与所述初始帧匹配度最高的关键帧;用所述目标关键帧替代所述初始帧进行点云配准以获得真实数据帧,在由所述目标帧匹配真实数据帧的过程中,可以大幅减少匹配的次数,有效提高匹配的速度,进一步的,若其它数据段中存在于所述真实数据帧匹配程度高的干扰帧,通过所述关键帧还可以排除此类干扰帧的影响。利用本申请提供的方法,能够准确的获取初始帧在点云地图中对应的真实数据帧,避免算法陷入局部最优解,进而有效提高点云配准的精度和准确度。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例一提供的一种点云配准的方法的流程图;
图2为本申请实施例一提供的场景示意图一;
图3为本申请实施例一提供的场景示意图二;
图4为本申请实施例二提供的一种点云配准的装置的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例一:
本申请实施例一提供了一种点云配准的方法,下面结合附图进行具体说明。
参见图1,该图为本申请实施例一提供的一种点云配准的方法的流程图。
还可以参见图2,该图为本申请实施例一提供的场景示意图一。
本申请实施例所述方法包括以下步骤:
s101:构建点云地图时获取并保存第一预设数目个关键帧。
点云地图的构建是指将对应地图区域的若干数据帧的点云数据之间匹配以得到整个区域的三维点云地图,因为激光扫描光束受物体遮挡的原因,不可能通过一次扫描完成对整个地图区域内物体的三维点云的获取,因此需要从不同的位置和角度对物体进行扫描,具体可以参见图2所示的场景,以点云地图中存在物体为路灯为例,构建地图时激光扫描光束需要从不同的角度,例如路灯的前方、后方、侧面以及顶端等分别对路灯进行扫描以获得路灯的三维点云,因此构建点云地图时会获取若干数据帧。
当激光扫描光束的扫描角度变化不大时,所得的数据帧的相似度较高,例如固定激光扫描的高度,水平扫描角度每旋转1°获取一帧数据,这些数据帧的相似度较高,但如果将水平扫描角度每旋转90°获取一帧数据,显然获得数据帧的相似度会很低。
因此利用某些数据帧可以对所述点云地图的的数据帧进行划分,即从构建点云地图的所有数据帧中选取若干关键帧作为划分依据,将构建点云地图的数据帧划分为不同的数据段,通过将初始帧与关键帧进行匹配,根据匹配程度就可以确定所述初始帧处于的数据段,仍以图2所示场景为例,若用激光扫描光束分别对路灯的各个方向进行扫描,路灯的正前方、正后方、正左方和正右方等互相角度偏差较大的位置获得的数据帧可作为关键帧,在图2中用实线框表示,所述关键帧将所有的数据帧分为不同的数据段,每个数据段中还包含有若干个数据帧,在图2中用虚线框表示,若已知包含所述路灯的某个扫描方向上的初始帧,则可以根据通过与所述关键帧进行匹配,快速的获得其所对应的真实数据帧所在的数据段。
综上所述,通过获取第一预设数目个关键帧,并将获取的关键帧按获取顺序保存,在由所述目标帧匹配真实数据帧的过程中,可以大幅减少匹配的次数,有效提高匹配的速度,进一步的,若其它数据段中存在于所述真实数据帧匹配程度高的干扰帧,通过所述关键帧的划分还可以排除此类干扰帧的影响,使得点云配准获得的是全局最优解而非局部最优解。
本申请对所述第一预设数目不作具体限定,进一步的,所述构建点云地图时获取并保存第一预设数目个关键帧包括:
s101a:构建点云地图时依次获取所述第一预设数目个点云正态分布变化率大于或等于预设阈值的数据帧作为所述关键帧。
由于每一帧的点云数据上都会记录若干点的数据,相邻的数据帧上点云分布存在差别,具体可参见图3所示场景,图3为扫描某地图区域所得相邻的两个数据帧,由于数据帧1和数据帧2相邻,数据帧1和数据帧2中的点云分布满足正态分布的特征,绝大多数的数据点集中在某一范围内,点云分布存在对称中心,并分别向对称中心两侧均匀下降,可以用点云正态分布的变化率作为选择所述关键帧的依据。
所述点云正态分布的变化率越大,表明相邻的数据帧所包含的点云重叠部分越少,即此时点云地图内的场景变化特征最为明显,将点云正态分布的变化率大于或等于预设阈值的数据帧作为所述关键帧,再通过将所述初始帧与所述关键帧进行匹配,可以更准确的获取所述初始帧所在的数据段。此外,本申请对于所述预设阈值不做具体限定。
s101b:用二叉树存储所述第一预设数目个所述关键帧。
所述第一预设数目个所述关键帧可以存放在二叉树中以提高索引的效率,所述二叉树可以为完全二叉树、满二叉树或者平衡二叉树,本申请对此不作具体限定。
s102:点云配准时,在所述第一预设数目个所述关键帧中确定目标关键帧;所述目标关键帧为所述第一预设数目个所述关键帧中与所述初始帧匹配度最高的关键帧。
在所述第一预设数目个所述关键帧中确定与所述初始帧匹配度最高的关键帧,具体为:
s102a:在所述第一预设数目个所述关键帧中选择第二预设数目个连续的关键帧,分别计算所述初始帧与所述第二预设数目个关键帧的匹配度。
s102b:比较所得匹配度的大小关系。
若匹配度依次上升,确定所述第二预设数目个连续的关键帧中与所述初始帧匹配度最高的关键帧为第一限制关键帧,从所述第一限制关键帧和所述第一限制关键帧之后未被选择的关键帧中确定所述目标关键帧。
进一步的,在所述第一限制关键帧和所述第一限制关键帧之后未被选择的关键帧中再次选择第二预设数目个连续的关键帧,比较再次选择的关键帧与初始帧的匹配度关系。
若匹配度依次下降,确定所述第二预设数目个连续的关键帧中与所述初始帧匹配度最高的关键帧为第二限制关键帧,从所述第一限制关键帧和所述第一限制关键帧之前未被选择的关键帧中确定所述目标关键帧。
进一步的,在所述第一限制关键帧和所述第一限制关键帧之前未被选择的关键帧中再次选择第二预设数目个连续的关键帧,比较再次选择的关键帧与初始帧的匹配度关系。
若匹配度先上升后下降,表明此时所述目标关键帧在所述第二预设数目个连续的关键帧中,将所述第二预设数目个连续的关键帧中与所述初始帧匹配度最高的关键帧确定为所述目标关键帧。
进一步的,所述第二预设数目的取值大于或等于2,即至少从所述第一预设数目个所述关键帧中选择2个连续的关键帧。
可以理解的是,在所述第一预设数目个所述关键帧中选择第二预设数目个连续的关键帧时,或,在所述第一限制关键帧和所述第一限制关键帧之后未被选择的关键帧中再次选择第二预设数目个连续的关键帧时,或,在所述第一限制关键帧和所述第一限制关键帧之前未被选择的关键帧中再次选择第二预设数目个连续的关键帧时,可以随机选择的方式,也可以采用预设的规则进行选择,例如在一种可能的实现方式中,可以采用二分法选择的方式,即从关键帧序列中心位置选择第二预设数目个连续的关键帧。
s103:用所述目标关键帧进行点云配准以获取真实数据帧。
具体包括:
s103a:根据所述目标关键帧获取第三限制关键帧和第四限制关键帧;所述第三限制关键帧和第四限制关键帧为与所述目标关键帧相邻的关键帧。
确定目标关键帧后,可以通过所述目标关键帧判断出所述初始帧对应的真实数据帧所在的数据段,即所述真实数据帧将与所述目标关键帧相邻的两个关键帧所限定数据段
s103b:将所述第三限制关键帧和所述第四限制关键帧所确定的范围内的所有数据帧中与所述初始帧匹配度最高的数据帧确定为所述真实数据帧。
本申请实施例提供了一种点云配准的方法,通过构建点云地图时获取并保存第一预设数目个关键帧;点云配准时,在所述第一预设数目个所述关键帧中确定目标关键帧,所述目标关键帧为所述第一预设数目个所述关键帧中与所述初始帧匹配度最高的关键帧;用所述目标关键帧替代所述初始帧进行点云配准以获得真实数据帧,在由所述目标帧匹配真实数据帧的过程中,可以大幅减少匹配的次数,有效提高匹配的速度,进一步的,若其它数据段中存在于所述真实数据帧匹配程度高的干扰帧,通过所述关键帧还可以排除此类干扰帧的影响。利用本申请实施例提供的方法,能够准确的获取初始帧在点云地图中对应的真实数据帧,避免算法陷入局部最优解,进而有效提高点云配准的精度和准确度。
实施例二:
基于上述实施例提供的点云配准的方法,本申请实施例二还提供了一种点云配准的装置,下面结合附图具体说明。
参见图4,该图为本申请实施例二提供的一种点云配准的装置的结构图。
本申请实施例所述装置包括:第一获取单元401、确定单元402和第二获取单元403。
所述第一获取单元401,用于构建点云地图时获取并保存第一预设数目个关键帧。
所述确定单元402,用于点云配准时,在所述第一预设数目个所述关键帧中确定目标关键帧;所述目标关键帧为所述第一预设数目个所述关键帧中与所述初始帧匹配度最高的关键帧。
所述第二获取单元403,用于用所述目标关键帧替代所述初始帧进行点云配准以获得真实数据帧。
进一步的,所述第一获取单元401包括:关键帧获取子单元401a和存储子单元401b。
所述关键帧获取子单元401a,用于构建点云地图时依次获取所述第一预设数目个点云正态分布变化率大于或等于预设阈值的数据帧作为所述关键帧。
所述存储子单元401b,用于利用二叉树存储所述第一预设数目个所述关键帧。
进一步的,所述确定单元402包括:选择子单元402a和判断子单元402b。
所述选择子单元402a,用于在所述第一预设数目个所述关键帧中选择第二预设数目个连续的关键帧,分别计算所述第二预设数目个关键帧与所述初始帧的匹配度。
进一步的,所述第二预设数目的取值大于或等于2。
所述判断子单元402b,用于根据所述第二预设数目个关键帧与所述初始帧的匹配度的大小关系确定所述目标关键帧。
进一步的,所述判断子单元402b用于若匹配度依次上升,确定所述第二预设数目个连续的关键帧中与所述初始帧匹配度最高的关键帧为第一限制关键帧,从所述第一限制关键帧和所述第一限制关键帧之后未被选择的关键帧中确定所述目标关键帧;
若匹配度依次下降,确定所述第二预设数目个连续的关键帧中与所述初始帧匹配度最高的关键帧为第二限制关键帧,从所述第一限制关键帧和所述第一限制关键帧之前未被选择的关键帧中确定所述目标关键帧;
若匹配度先上升后下降,将所述第二预设数目个连续的关键帧中与所述初始帧匹配度最高的关键帧确定为所述目标关键帧。
进一步的,所述第二获取单元403包括:第一获取子单元403a和第二获取子单元403b。
所述第一获取子单元403a,用于根据所述目标关键帧获取第三限制关键帧和第四限制关键帧;所述第三限制关键帧和第四限制关键帧为与所述目标关键帧相邻的关键帧。
所述第二获取子单元403b,用于将所述第三限制关键帧和所述第四限制关键帧所确定的范围内的所有数据帧中与所述初始帧匹配度最高的数据帧确定为所述真实数据帧。
本申请实施例提供了一种点云配准的装置,所述第一获取单元用于通过构建点云地图时获取并保存第一预设数目个关键帧;点云配准时,所述第二获取单元用于在所述第一预设数目个所述关键帧中确定目标关键帧,所述目标关键帧为所述第一预设数目个所述关键帧中与所述初始帧匹配度最高的关键帧;所述确定单元用所述目标关键帧替代所述初始帧进行点云配准以获得真实数据帧,在由所述目标帧匹配真实数据帧的过程中,可以大幅减少匹配的次数,有效提高匹配的速度,进一步的,若其它数据段中存在于所述真实数据帧匹配程度高的干扰帧,通过所述关键帧还可以排除此类干扰帧的影响。利用本申请实施例提供的装置,能够准确的获取初始帧在点云地图中对应的真实数据帧,避免算法陷入局部最优解,进而有效提高点云配准的精度和准确度。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:只存在a,只存在b以及同时存在a和b三种情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元及模块可以是或者也可以不是物理上分开的。另外,还可以根据实际的需要选择其中的部分或者全部单元和模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本申请的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。