掌桥专利:专业的专利平台
掌桥专利
首页

实时扫描匹配方法及系统

文献发布时间:2023-06-19 19:30:30


实时扫描匹配方法及系统

技术领域

本发明涉及实时三维扫描重建技术领域,具体涉及一种从单帧数据到三维模型的实时扫描匹配方法及系统。

背景技术

三维重建的应用范围愈发广泛,尤其实时三维重建更为突出。基于3D相机对物体表面进行实时三维重建的需求场景更加普及,其中需要一种快速鲁棒的匹配方法,提升三维扫描重建的速度。目前三维匹配的方法大多以迭代最近点(Iterative Closest Points,ICP)方法为主,但是,此方法有两个弊端:一是严重依赖初始值,迭代收敛过程容易陷入局部最优,造成匹配失败;二是全局搜索最邻近匹配点对,速度非常慢。特别是对于扫描过程中相机移动速度过快或者相机发生大角度转动的过程中,无法正确匹配,需要重新回到上一次扫描区域,降低了扫描速度。

发明内容

本发明的目的在于提供一种在快速运动以及大角度转动的情况下,依然可以流畅扫描,具有较好鲁棒性的实时扫描匹配方法及系统,以解决上述背景技术中存在的至少一项技术问题。

为了实现上述目的,本发明采取了如下技术方案:

一方面,本发明提供一种实时扫描匹配方法,包括:

基于预先构建的运动模型对前一帧的运动速度进行处理,得到当前帧的运动速度,作为当前帧的初始位姿;

将点云数据转化为有序的规则点云,基于获取的当前帧的初始位姿,结合直接投影法进行最近点迭代;其中,每次迭代中满足对应点之间的欧式距离阈值以及对应点的法向量之间的夹角阈值的顶点对,才被判定为内点,参与下一次迭代计算;如果在最大迭代次数内,满足收敛阈值范围,则认为匹配成功,返回变换矩阵,并进入下一帧的匹配过程。

优选的,预先构建的所述运动模型估算当前帧相较于上一帧的初始位姿,当前帧的速度表示为v

对于获取到的当前帧的速度v

优选的,对于当前帧数据称为源数据,上一帧数据称为目标数据,源数据与目标数据之间目标迭代函数为:

优选的,对所有顶点求取法向量,法向量计算为:

n

其中,P

获取得到的法向量的方向具有不确定性,需要对其进行统一,将相机原点作为视点位置V,对法向量进行调整,使其满足n

优选的,如果在最大迭代次数内,不满足收敛阈值范围,则匹配失败;若匹配失败,则调用特征点匹配方法,完成相邻帧之间的匹配。

优选的,调用特征点匹配方法,完成相邻帧之间的匹配,包括:

对于源数据和目标数据,计算其顶点对应的特征描述子;

计算源数据和目标数据中的特征描述子两两之间的欧式距离,获取特征描述子之间的匹配程度;

源数据对目标数据的1对N的特征描述子最佳匹配点对为K

根据获取得到的特征匹配点对集合K,计算得到源数据与目标数据之间的变换矩阵。

第二方面,本发明提供一种实时扫描匹配系统,包括:

计算模块,用于基于预先构建的运动模型对前一帧的运动速度进行处理,得到当前帧的运动速度,作为当前帧的初始位姿;

迭代匹配模块,用于将点云数据转化为有序的规则点云,基于获取的当前帧的初始位姿,结合直接投影法进行最近点迭代;其中,每次迭代中满足对应点之间的欧式距离阈值以及对应点的法向量之间的夹角阈值的顶点对,才被判定为内点,参与下一次迭代计算;如果在最大迭代次数内,满足收敛阈值范围,则认为匹配成功,返回变换矩阵,并进入下一帧的匹配过程。

第三方面,本发明提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如上所述的实时扫描匹配方法。

第四方面,本发明提供一种计算机程序产品,包括计算机程序,所述计算机程序当在一个或多个处理器上运行时,用于实现如上所述的实时扫描匹配方法。

第五方面,本发明提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行实现如上所述的实时扫描匹配方法的指令。

本发明有益效果:在相机快速运动以及大角度转动的情况下可以实现快速鲁棒的拼接。

本发明附加方面的优点,将在下述的描述部分中更加明显的给出,或通过本发明的实践了解到。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例所述的实时扫描匹配方法流程图。

具体实施方式

下面详细叙述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。

还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件和/或它们的组。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

为便于理解本发明,下面结合附图以具体实施例对本发明作进一步解释说明,且具体实施例并不构成对本发明实施例的限定。

本领域技术人员应该理解,附图只是实施例的示意图,附图中的部件并不一定是实施本发明所必须的。

实施例1

本实施例1中,首先提供了一种实时扫描匹配系统,该系统包括:

计算模块,用于基于预先构建的运动模型对前一帧的运动速度进行处理,得到当前帧的运动速度,作为当前帧的初始位姿;

迭代匹配模块,用于将点云数据转化为有序的规则点云,基于获取的当前帧的初始位姿,结合直接投影法进行最近点迭代;其中,每次迭代中满足对应点之间的欧式距离阈值以及对应点的法向量之间的夹角阈值的顶点对,才被判定为内点,参与下一次迭代计算;如果在最大迭代次数内,满足收敛阈值范围,则认为匹配成功,返回变换矩阵,并进入下一帧的匹配过程。

本实施例1中,基于上述的系统,实现了一种具有较高鲁棒性、匹配速度快的实时扫描匹配方法,包括:

基于预先构建的运动模型对前一帧的运动速度进行处理,得到当前帧的运动速度,作为当前帧的初始位姿;

将点云数据转化为有序的规则点云,基于获取的当前帧的初始位姿,结合直接投影法进行最近点迭代;其中,每次迭代中满足对应点之间的欧式距离阈值以及对应点的法向量之间的夹角阈值的顶点对,才被判定为内点,参与下一次迭代计算;如果在最大迭代次数内,满足收敛阈值范围,则认为匹配成功,返回变换矩阵,并进入下一帧的匹配过程。

其中,预先构建的所述运动模型估算当前帧相较于上一帧的初始位姿,当前帧的速度表示为v

对于获取到的当前帧的速度v

对于当前帧数据称为源数据,上一帧数据称为目标数据,源数据与目标数据之间目标迭代函数为:

对所有顶点求取法向量,法向量计算为:

n

其中,P

获取得到的法向量的方向具有不确定性,需要对其进行统一,将相机原点作为视点位置V,对法向量进行调整,使其满足n

如果在最大迭代次数内,不满足收敛阈值范围,则匹配失败;若匹配失败,则调用特征点匹配方法,完成相邻帧之间的匹配。

调用特征点匹配方法,完成相邻帧之间的匹配,包括:

对于源数据和目标数据,计算其顶点对应的特征描述子;

计算源数据和目标数据中的特征描述子两两之间的欧式距离,获取特征描述子之间的匹配程度;

源数据对目标数据的1对N的特征描述子最佳匹配点对为K

根据获取得到的特征匹配点对集合K,计算得到源数据与目标数据之间的变换矩阵。

实施例2

如图1所示,本实施例2中,提供了一种在相机快速运动以及大角度转动的情况下可以快速鲁棒匹配的方法,对于在初始值不准确(相机快速运动或者大角度转动)的情况下,依然可以实现快速鲁棒的拼接。

该方法包括步骤如下:

步骤1:

在扫描匹配过程中,对于相机快速运动或者大角度转动,容易造成匹配失败,导致扫描不连续。设计了一种运动模型,来补偿位姿信息,作为下一帧数据输入时的初始位姿估计。

通过相邻帧之间的变换矩阵信息表示相邻帧之间的运动速度,三维空间中的变换矩阵包含旋转矩阵R和平移矩阵t,单纯的旋转矩阵R无法进行四则运算,采用四元数q表示旋转矩阵R,则相邻帧之间的运动速度表示为:

v=(q,t);

通过构建一个运动模型估算当前帧相较于上一帧的初始位姿,当前帧的速度表示为v

本实施例中,由于当前帧的运动速度估计更接近于上一帧的运动速度,为消除上一帧若出现变化幅度过大的影响,用前n速度的均值作为当前帧速度的估计;对于获取到的当前帧的速度v

步骤2:

原有的迭代最近点(ICP)方法需要进行全局搜索最邻近匹配点对,速度非常慢。本实施例中,对迭代最近点方法进行改进,首先,将点云数据转化为有序的规则点云,然后,采用直接投影法实现迭代,并且通过并行运算对此进行实现。

相邻两帧之间的匹配问题,对于当前帧数据称为源数据,上一帧数据称为目标数据,源数据与目标数据之间目标迭代函数定义为:

其中,p

首先,对所有顶点求取法向量,法向量计算方式为:

n

其中,P

获取得到的法向量的方向具有不确定性,需要对其进行统一,将相机原点作为视点位置V,对法向量进行调整,使其满足以下条件:

n

设置最大迭代次数,收敛阈值,对应点之间的欧式距离阈值以及对应点的法向量之间的夹角阈值;只有每次满足距离阈值和夹角阈值的顶点对,才被判定为内点,参与下一次迭代计算;如果在最大迭代次数内,满足收敛阈值范围,则认为匹配成功,返回变换矩阵,并进入下一帧的匹配过程;否则,匹配失败。

按照上述步骤,进行并行运算,得到相邻帧之间的变换矩阵。

步骤3:

如果步骤2中返回匹配失败结果,则调用特征点匹配方法,完成相邻帧之间的成功匹配,快速恢复到步骤2。

对于源数据P和目标数据Q,计算其顶点对应的特征描述子,包括但不仅限于PFH,NARF,SHOT特征等;

计算源数据和目标数据中的特征描述子两两之间的欧式距离,获取特征描述子之间的匹配程度;

源数据P对目标数据Q的1对N的特征描述子最佳匹配点对为K

根据获取得到的特征匹配点对集合K,计算得到源数据与目标数据之间的变换矩阵;如果该过程无法收敛,则代表匹配失败,舍弃当前帧,进入下一帧的匹配过程。

实施例3

本实施例3提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质用于存储计算机指令,所述计算机指令被处理器执行时,实现如上所述的实时扫描匹配方法,该方法包括:

基于预先构建的运动模型对前一帧的运动速度进行处理,得到当前帧的运动速度,作为当前帧的初始位姿;

将点云数据转化为有序的规则点云,基于获取的当前帧的初始位姿,结合直接投影法进行最近点迭代;其中,每次迭代中满足对应点之间的欧式距离阈值以及对应点的法向量之间的夹角阈值的顶点对,才被判定为内点,参与下一次迭代计算;如果在最大迭代次数内,满足收敛阈值范围,则认为匹配成功,返回变换矩阵,并进入下一帧的匹配过程。

实施例4

本实施例4提供一种计算机程序产品,包括计算机程序,所述计算机程序当在一个或多个处理器上运行时,用于实现如上所述的实时扫描匹配方法,该方法包括:

基于预先构建的运动模型对前一帧的运动速度进行处理,得到当前帧的运动速度,作为当前帧的初始位姿;

将点云数据转化为有序的规则点云,基于获取的当前帧的初始位姿,结合直接投影法进行最近点迭代;其中,每次迭代中满足对应点之间的欧式距离阈值以及对应点的法向量之间的夹角阈值的顶点对,才被判定为内点,参与下一次迭代计算;如果在最大迭代次数内,满足收敛阈值范围,则认为匹配成功,返回变换矩阵,并进入下一帧的匹配过程。

实施例5

本实施例5提供一种电子设备,包括:处理器、存储器以及计算机程序;其中,处理器与存储器连接,计算机程序被存储在存储器中,当电子设备运行时,所述处理器执行所述存储器存储的计算机程序,以使电子设备执行实现如上所述的实时扫描匹配方法的指令,该方法包括:

基于预先构建的运动模型对前一帧的运动速度进行处理,得到当前帧的运动速度,作为当前帧的初始位姿;

将点云数据转化为有序的规则点云,基于获取的当前帧的初始位姿,结合直接投影法进行最近点迭代;其中,每次迭代中满足对应点之间的欧式距离阈值以及对应点的法向量之间的夹角阈值的顶点对,才被判定为内点,参与下一次迭代计算;如果在最大迭代次数内,满足收敛阈值范围,则认为匹配成功,返回变换矩阵,并进入下一帧的匹配过程。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明公开的技术方案的基础上,本领域技术人员在不需要付出创造性劳动即可做出的各种修改或变形,都应涵盖在本发明的保护范围之内。

相关技术
  • 股票形态库生成及形态库实时匹配的方法、系统及应用
  • 一种非接触近距离信息实时匹配交互系统及方法
  • 基于大规模街景数据的实时图片匹配地理定位方法和系统
  • 用于电动车辆信息的实时聚集以用于附设服务的实时竞拍,以及电动车辆能量需求与充电服务的实时最低成本匹配的方法和系统
  • 用于电动车辆信息的实时聚集以用于附设服务的实时竞拍,以及电动车辆能量需求与充电服务的实时最低成本匹配的方法和系统
技术分类

06120115932085