CN108364257B - 三维扫描点云数据的拼接方法及系统 - Google Patents
三维扫描点云数据的拼接方法及系统 Download PDFInfo
- Publication number
- CN108364257B CN108364257B CN201810116871.8A CN201810116871A CN108364257B CN 108364257 B CN108364257 B CN 108364257B CN 201810116871 A CN201810116871 A CN 201810116871A CN 108364257 B CN108364257 B CN 108364257B
- Authority
- CN
- China
- Prior art keywords
- cloud data
- point cloud
- point
- iteration
- key frame
- 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
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformation in the plane of the image
- G06T3/40—Scaling the whole image or part thereof
- G06T3/4038—Scaling the whole image or part thereof for image mosaicing, i.e. plane images composed of plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
Abstract
本发明涉及三维扫描技术领域,公开了一种三维扫描点云数据的拼接方法及系统。所述三维扫描点云数据的拼接方法,包括:获取三维扫描的点云数据,并对点云数据进行预处理;对预处理后的点云数据与上一帧的点云数据进行迭代匹配;根据预设迭代终止条件和迭代匹配条件判断是否迭代匹配成功;当判断迭代匹配成功时,确定点云数据的关键帧;计算关键帧的点云数据和关键帧之前的所有点云数据的最近点,以进行关键帧校正;以及根据校正的关键帧进行点云数据的拼接。本发明通过点云数据和上一帧点云数据的迭代匹配确定和校正关键帧,进而通过关键帧实现了三维扫描点云数据的快速、精确拼接,提升了三维扫描点云数据拼接的精确度、适应性和拼接效果。
Description
技术领域
本发明涉及三维扫描技术领域,尤其涉及一种三维扫描点云数据的拼接方法及系统。
背景技术
三维扫描技术是三维空间数据建模的基础,在各行各业都有广泛应用。现有三维扫描技术通过扫描仪器在不同视角多次扫描获取三维空间的点集成为点云数据,然后将各个视角的点云数据转化为同一三维坐标系下进行点云数据的拼接,最终形成三维扫描点云数据。
现有三维扫描技术通常采用最近点迭代法(ICP)利用牛顿迭代或者搜索方法寻找两组点云对应的最近点对,采用欧式距离作为目标函数进行迭代,从而得到三维数据的刚体变换,但这种方式要求每帧的点云数据有足够的特征而适应性较差,同时这种拼接方式精确度较低,容易形成累计误差而导致分层,进而影响三维扫描的拼接效果。
发明内容
鉴于此,本发明提供一种三维扫描点云数据的拼接方法及系统,解决现有三维扫描拼接的精确度、适应性和拼接效果不佳的技术问题。
根据本发明的一个实施例,提供一种三维扫描点云数据的拼接方法,包括:获取三维扫描的点云数据,并对点云数据进行预处理;对预处理后的点云数据与上一帧的点云数据进行迭代匹配;根据预设迭代终止条件和迭代匹配条件判断是否迭代匹配成功;当判断迭代匹配成功时,确定点云数据的关键帧;计算关键帧的点云数据和关键帧之前的所有点云数据的最近点,以进行关键帧校正;以及根据校正的关键帧进行点云数据的拼接。
优选的,所述对预处理后的点云数据与上一帧的点云数据进行迭代匹配,包括:提取预处理的点云数据和上一帧的点云数据中二维坐标一致的点对作为初始点对;根据初始点对的对应关系使用奇异值分解计算初始变换矩阵;根据计算的初始变换矩阵对预处理的点云数据进行变换;计算变换后的点云数据与上一帧的点云数据之间的最近点作为有效点对;以及根据有效点对和代价函数计算变换矩阵。
优选的,所述对点云数据进行预处理,包括:计算点云数据的所有点的邻域拓扑关系;计算点云数据的所有点的法向;以及判断并过滤点云数据中的离群点。
优选的,所述预设迭代终止条件包括迭代次数、相邻两次迭代矩阵相似度和相邻两次迭代点对距离,所述迭代匹配条件包括点对距离的均方差和相邻点云数据的重叠率。
优选的,所述确定点云数据的关键帧,包括:对获取的点云数据进行刚体变换和法向变换;计算刚体变换和法向变换后点云数据与上一帧点云数据的重叠率;以及根据计算的重叠率确定点云数据的关键帧。
根据本发明的另一个实施例,还提供一种三维扫描点云数据的拼接系统,包括:预处理模块,用于获取三维扫描的点云数据并对点云数据进行预处理;迭代匹配模块,用于对所述预处理模块预处理后的点云数据与上一帧的点云数据进行迭代匹配;迭代判断模块,用于根据预设迭代终止条件和迭代匹配条件判断是否迭代匹配成功;关键帧确定模块,用于当所述迭代判断模块判断所述迭代匹配模块迭代匹配成功时,确定点云数据的关键帧;关键帧校正模块,用于计算所述关键帧确定模块确定的关键帧的点云数据和关键帧之前的所有点云数据的最近点,以进行关键帧校正;以及点云数据拼接模块,用于根据所述关键帧校正模块校正的关键帧进行点云数据的拼接。
优选的,所述迭代匹配模块包括:初始点对提取单元,用于提取所述预处理模块预处理的点云数据和上一帧的点云数据中二维坐标一致的点对作为初始点对;初始变换矩阵计算单元,用于根据所述初始点对提取单元提取的初始点对的对应关系使用奇异值分解计算初始变换矩阵;点云数据变换单元,用于根据所述初始变换矩阵计算单元计算的初始变换矩阵对所述预处理模块预处理的点云数据进行变换;有效点对计算单元,用于计算所述点云数据变换单元变换后的点云数据与上一帧的点云数据之间的最近点作为有效点对;以及变换矩阵计算单元,用于根据所述有效点对计算单元计算的有效点对和代价函数计算变换矩阵。
优选的,所述预处理模块包括:邻域计算单元,用于计算点云数据的所有点的邻域拓扑关系;法向计算单元,用于计算点云数据的所有点的法向;以及离群点判断过滤单元,用于判断并过滤点云数据中的离群点。
优选的,所述根据预设迭代终止条件包括迭代次数、相邻两次迭代矩阵相似度和相邻两次迭代点对距离,所述迭代匹配条件包括点对距离的均方差和相邻点云数据的重叠率。
优选的,所述关键帧确定模块包括:刚体法向变换单元,用于对所述预处理模块预处理的点云数据进行刚体变换和法向变换;重叠率计算单元,用于计算所述刚体法向变换单元刚体变换和法向变换后点云数据与上一帧点云数据的重叠率;以及关键帧确定单元,用于根据所述重叠率计算单元计算的重叠率确定点云数据的关键帧。
本发明提供的三维扫描点云数据的拼接方法及系统,获取三维扫描的点云数据并对点云数据进行预处理;对预处理后的点云数据与上一帧的点云数据进行迭代匹配;根据预设迭代终止条件和迭代匹配条件判断是否迭代匹配成功;当判断迭代匹配成功时,确定点云数据的关键帧;计算关键帧的点云数据和关键帧之前的所有点云数据的最近点以进行关键帧校正;以及根据校正的关键帧进行点云数据的拼接,通过点云数据和上一帧点云数据的迭代匹配确定和校正关键帧,进而通过关键帧实现了三维扫描点云数据的快速、精确拼接,提升了三维扫描点云数据拼接的精确度、适应性和拼接效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一个实施例中三维扫描点云数据的拼接方法的流程示意图。
图2为本发明一个实施例中点云数据预处理的流程示意图。
图3为本发明一个实施例中迭代匹配的流程示意图。
图4为本发明一个实施例中确定点云数据的关键帧的流程示意图。
图5为本发明另一个实施例中三维扫描点云数据的拼接系统的结构示意图。
图6为本发明另一个实施例中预处理模块的结构示意图。
图7为本发明另一个实施例中迭代匹配模块的结构示意图。
图8为本发明另一个实施例中关键帧确定模块的结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明的技术方案作进一步更详细的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以结合具体情况理解上述术语在本发明中的具体含义。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
图1为本发明一个实施例中三维扫描点云数据的拼接方法的流程示意图。如图所示,所述三维扫描点云数据的拼接方法,包括:
步骤S101:获取三维扫描的点云数据,并对点云数据进行预处理。
在本实施例中,可从三维扫描仪扫描获取对象的点云数据,所述点云数据为点云在图像上像素顺序排列的有序数据,包括点p的三维坐标(x,y,z)和对应的二维坐标(u,v)。
参见图2,所述对点云数据进行预处理,包括:
步骤S201:计算点云数据的所有点的邻域拓扑关系。
具体的,根据点p(x,y,z)的二维坐标(u,v),查找以二维坐标(u,v)为中心、以参数win为边长的窗口中的有效的点集{T},对{T}中的每个点q(x0,y0,z0),计算点q到点p的距离:然后把点集{T}根据距点p的欧式距离{dpq}的升序排列,即得到该点p的邻域拓扑,进而按照这种计算方式计算点云数据的所有点的邻域拓扑关系。
步骤S202:计算点云数据的所有点的法向。
具体的,根据计算出的点p的邻域拓扑,对点集{P}中的任意点p(x,y,z)找出最近邻的M个点,通过M个点拟合平面判断平面的法向n(nx,ny,nz)与坐标原点O的向量pO的夹角θ,如果θ>π/2,则法向n的反方向(-nx,-ny,-nz)为点p的法向,否则n(nx,ny,nz)为点p的法向。
步骤S203:判断并过滤点云数据中的离群点。
具体的,根据邻域点阈值B,对点集{P}中的任意点p(x,y,z)及其邻域拓扑,判断邻域拓扑中邻域点的个数N,若N<B,则点p为离群点;否则,则判断邻域拓扑中前N个邻域点与点p的z方向的距离的均值m,如果m<B,则点p为正常点,否则点p为离群点,在判断到离群点后,将离群点进行过滤,避免离群点对后续迭代匹配造成的干扰和影响,提升了点云数据迭代匹配的适应性、精确度和拼接效果。
步骤S102:对预处理后的点云数据与上一帧的点云数据进行迭代匹配。
在对获取的点云数据进行预处理后,对预处理后的点云数据与上一帧的点云数据进行迭代匹配。参见图3,所述点云数据与上一帧的点云数据进行迭代匹配,包括:
步骤S301:提取预处理的点云数据和上一帧的点云数据中二维坐标一致的点对作为初始点对。
步骤S302:根据初始点对的对应关系使用奇异值分解计算初始变换矩阵。
步骤S303:根据计算的初始变换矩阵对预处理的点云数据进行变换。
步骤S304:计算变换后的点云数据与上一帧的点云数据之间的最近点作为有效点对。
步骤S305:根据有效点对和代价函数计算变换矩阵。
在本实施例中,首先提取预处理的点云数据{P}和上一帧的点云数据{Q}中二维坐标一致的点对作为初始点对,根据初始点对的对应关系使用奇异值分解(Singular ValueDecomposition,SVD)计算初始变换矩阵,然后根据计算的初始变换矩阵对预处理的点云数据{P}进行变换,计算变换后的点云数据{P}与上一帧的点云数据{Q}之间的最近点作为有效点对,最后根据有效点对和代价函数计算变换矩阵:
其中,nqi表示有效点对中属于点云数据{Q}中的点的法向,通过迭代匹配方式实现点云数据的精确匹配,提升了点云数据迭代匹配的可靠性和精确度。
考虑到海量点云数据的稠密性以及单个点的独立性,在本实施例中还可进一步根据点云数据的数据量和可调用的GPU资源分配和调取GPU进行并行计算,减轻系统CPU的处理压力,提升了点云数据迭代匹配的工作效率。
步骤S103:根据预设迭代终止条件和迭代匹配条件判断是否迭代匹配成功。
在本实施例中,需要预先设置迭代终止条件和迭代匹配条件。所述迭代终止条件可设置为迭代次数和迭代收敛,所述迭代收敛可配置为相邻两次迭代矩阵相似度、相邻两次迭代点对距离的均方差等。在当前迭代匹配满足预设迭代终止条件时,立刻终止迭代匹配过程,进而转入迭代匹配是否成功的判断过程;否则返回步骤S102继续进行迭代匹配过程。
在迭代匹配判断时,迭代匹配条件可配置为点对距离的均方差、相邻点云数据的重叠率等。在当前迭代匹配满足预设迭代匹配条件时,判定当前迭代匹配成功;否则返回步骤S101重新进行新的点云数据的获取和预处理过程。
步骤S104:当判断迭代匹配成功时,确定点云数据的关键帧。
在判断迭代匹配成功后,进而确定点云数据的关键帧。参见图4,所述确定点云数据的关键帧,包括:
步骤S401:对获取的点云数据进行刚体变换和法向变换。
步骤S402:计算刚体变换和法向变换后点云数据与上一帧点云数据的重叠率。
步骤S403:根据计算的重叠率确定点云数据的关键帧。
在本实施例中,首先针对点云数据{P}中的每个点p(x,y,z)进行刚体变换变换:并对应地变换法向:
其中为旋转矩阵,为平移向量,然后计算刚体变换和法向变换后点云数据{P}与上一帧点云数据{Q}的重叠率,最后根据计算的重叠率确定点云数据的关键帧,即两者之间交集超过预设比率时判定对应的帧为关键帧。
步骤S105:计算关键帧的点云数据和关键帧之前的所有点云数据的最近点,以进行关键帧校正。
在确定点云数据的关键帧后,计算关键帧的点云数据和关键帧之前的所有点云数据的最近点(Iterative Closest Point,ICP),以进行关键帧校正,提升了点云数据迭代匹配的精确度、适应性和拼接效果。
步骤S106:根据校正的关键帧进行点云数据的拼接。
在校正关键帧后,根据校正的关键帧进行点云数据的拼接,通过点云数据和上一帧点云数据的迭代匹配确定和校正关键帧,进而通过关键帧实现了三维扫描点云数据的快速、精确拼接,提升了三维扫描点云数据拼接的精确度、适应性和拼接效果。
图5为本发明另一个实施例中三维扫描点云数据的拼接系统的结构示意图。如图所示,在上述方法实施例的基础上,本实施例的三维扫描点云数据的拼接系统100包括预处理模块10、迭代匹配模块20、迭代判断模块30、关键帧确定模块40、关键帧校正模块50和点云数据拼接模块60。
在本实施例中,所述预处理模块10可从三维扫描仪扫描获取对象的点云数据,所述点云数据为点云在图像上像素顺序排列的有序数据,包括点p的三维坐标(x,y,z)和对应的二维坐标(u,v)。参见图6,所述预处理模块10包括邻域计算单元101、法向计算单元102和离群点判断过滤单元103。
所述邻域计算单元101根据点p(x,y,z)的二维坐标(u,v),查找以二维坐标(u,v)为中心、以参数win为边长的窗口中的有效的点集{T},对{T}中的每个点q(x0,y0,z0),计算点q到点p的距离:然后把点集{T}根据距点p的欧式距离{dpq}的升序排列,即得到该点p的邻域拓扑,进而按照这种计算方式计算点云数据的所有点的邻域拓扑。
所述法向计算单元102根据所述邻域计算单元101计算出的点p的邻域拓扑关系,对点集{P}中的任意点p(x,y,z)找出最近邻的M个点,通过M个点拟合平面判断平面的法向n(nx,ny,nz)与坐标原点O的向量pO的夹角θ,如果θ>π/2,则法向n的反方向(-nx,-ny,-nz)为点p的法向,否则n(nx,ny,nz)为点p的法向。
所述离群点判断过滤单元103根据邻域点阈值B,对点集{P}中的任意点p(x,y,z)及其邻域拓扑,判断邻域拓扑中邻域点的个数N,若N<B,则点p为离群点;否则,则判断邻域拓扑中前N个邻域点与点p的z方向的距离的均值m,如果m<B,则点p为正常点,否则点p为离群点,在判断到离群点后,将离群点进行过滤,避免离群点对后续迭代匹配造成的干扰和影响,提升了点云数据迭代匹配的适应性、精确度和拼接效果。
在所述预处理模块10对获取的点云数据进行预处理后,所述迭代匹配模块20对所述预处理模块10预处理后的点云数据与上一帧的点云数据进行迭代匹配。参见图7,所述迭代匹配模块20包括初始点对提取单元201、初始变换矩阵计算单元202、点云数据变换单元203、有效点对计算单元204和变换矩阵计算单元205。
在本实施例中,所述初始点对提取单元201提取所述预处理模块10预处理的点云数据{P}和上一帧的点云数据{Q}中二维坐标一致的点对作为初始点对,所述初始变换矩阵计算单元202根据初始点对的对应关系使用奇异值分解(Singular Value Decomposition,SVD)计算初始变换矩阵,然后所述点云数据变换单元203根据所述初始变换矩阵计算单元202计算的初始变换矩阵对所述预处理模块10预处理的点云数据{P}进行变换,所述有效点对计算单元204计算所述点云数据变换单元203变换后的点云数据{P}与上一帧的点云数据{Q}之间的最近点作为有效点对,最后变换矩阵计算单元205根据有效点对和代价函数计算变换矩阵:
其中,nqi表示有效点对中属于点云数据{Q}中的点的法向,通过迭代匹配方式实现点云数据的精确匹配,提升了点云数据迭代匹配的可靠性和精确度。
考虑到海量点云数据的稠密性以及单个点的独立性,在本实施例中还可进一步设置有GPU分配调度模块,用于根据点云数据的数据量和可调用的GPU资源分配和调取GPU进行并行计算,减轻系统CPU的处理压力,提升了点云数据迭代匹配的工作效率。
在本实施例中,可在所述迭代判断模块30预先设置迭代终止条件和迭代匹配条件。所述迭代终止条件可设置为迭代次数和迭代收敛,所述迭代收敛可配置为相邻两次迭代矩阵相似度、相邻两次迭代点对距离的均方差等。在当前迭代匹配满足预设迭代终止条件时,所述迭代判断模块30立刻终止迭代匹配过程,进而转入迭代匹配是否成功的判断过程;否则返回所述迭代匹配模块20继续进行迭代匹配过程。
在所述迭代判断模块30迭代匹配判断时,迭代匹配条件可配置为点对距离的均方差、相邻点云数据的重叠率等。所述迭代判断模块30在当前迭代匹配满足预设迭代匹配条件时,判定当前迭代匹配成功;否则返回所述预处理模块10重新进行新的点云数据的获取和预处理过程。
在所述迭代判断模块30判断迭代匹配成功后,进而所述关键帧确定模块40确定点云数据的关键帧。参见图8,所述关键帧确定模块40包括刚体法向变换单元401、重叠率计算单元402和关键帧确定单元403。
在本实施例中,所述刚体法向变换单元401首先针对点云数据{P}中的每个点p(x,y,z)进行刚体变换变换:并对应地变换法向:其中为旋转矩阵,为平移向量,然后所述重叠率计算单元402计算所述刚体法向变换单元401刚体变换和法向变换后点云数据{P}与上一帧点云数据{Q}的重叠率,最后所述关键帧确定单元403根据所述重叠率计算单元402计算的重叠率确定点云数据的关键帧,即两者之间交集超过预设比率时判定对应的帧为关键帧。
在所述关键帧确定模块40确定点云数据的关键帧后,所述关键帧校正模块50计算关键帧的点云数据和关键帧之前的所有点云数据的最近点(Iterative Closest Point,ICP),以进行关键帧校正,提升了点云数据迭代匹配的精确度、适应性和拼接效果。
在所述关键帧校正模块50校正关键帧后,所述点云数据拼接模块60根据所述关键帧校正模块50校正的关键帧进行点云数据的拼接,通过点云数据和上一帧点云数据的迭代匹配确定和校正关键帧,进而通过关键帧实现了三维扫描点云数据的快速、精确拼接,提升了三维扫描点云数据拼接的精确度、适应性和拼接效果。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (8)
1.一种三维扫描点云数据的拼接方法,其特征在于,包括:
获取三维扫描的点云数据,并对点云数据进行预处理;
对预处理后的点云数据与上一帧的点云数据进行迭代匹配;
根据预设迭代终止条件和迭代匹配条件判断是否迭代匹配成功;
当判断迭代匹配成功时,确定点云数据的关键帧;
计算关键帧的点云数据和关键帧之前的所有点云数据的最近点,以进行关键帧校正;以及
根据校正的关键帧进行点云数据的拼接;
所述确定点云数据的关键帧,包括:
对获取的点云数据进行刚体变换和法向变换;
计算刚体变换和法向变换后点云数据与上一帧点云数据的重叠率;以及
根据计算的重叠率确定点云数据的关键帧;其中,变换后点云数据与上一帧点云数据两者之间交集超过预设比率时判定对应的帧为关键帧。
2.根据权利要求1所述的三维扫描点云数据的拼接方法,其特征在于,所述对预处理后的点云数据与上一帧的点云数据进行迭代匹配,包括:
提取预处理的点云数据和上一帧的点云数据中二维坐标一致的点对作为初始点对;
根据初始点对的对应关系使用奇异值分解计算初始变换矩阵;
根据计算的初始变换矩阵对预处理的点云数据进行变换;
计算变换后的点云数据与上一帧的点云数据之间的最近点作为有效点对;以及
根据有效点对和代价函数计算变换矩阵。
3.根据权利要求1所述的三维扫描点云数据的拼接方法,其特征在于,所述对点云数据进行预处理,包括:
计算点云数据的所有点的邻域拓扑关系;
计算点云数据的所有点的法向;以及
判断并过滤点云数据中的离群点。
4.根据权利要求1所述的三维扫描点云数据的拼接方法,其特征在于,所述预设迭代终止条件包括迭代次数、相邻两次迭代矩阵相似度和相邻两次迭代点对距离,所述迭代匹配条件包括点对距离的均方差和相邻点云数据的重叠率。
5.一种三维扫描点云数据的拼接系统,其特征在于,包括:
预处理模块,用于获取三维扫描的点云数据并对点云数据进行预处理;
迭代匹配模块,用于对所述预处理模块预处理后的点云数据与上一帧的点云数据进行迭代匹配;
迭代判断模块,用于根据预设迭代终止条件和迭代匹配条件判断是否迭代匹配成功;
关键帧确定模块,用于当所述迭代判断模块判断所述迭代匹配模块迭代匹配成功时,确定点云数据的关键帧;
关键帧校正模块,用于计算所述关键帧确定模块确定的关键帧的点云数据和关键帧之前的所有点云数据的最近点,以进行关键帧校正;以及
点云数据拼接模块,用于根据所述关键帧校正模块校正的关键帧进行点云数据的拼接;
所述关键帧确定模块包括:
刚体法向变换单元,用于对所述预处理模块预处理的点云数据进行刚体变换和法向变换;
重叠率计算单元,用于计算所述刚体法向变换单元刚体变换和法向变换后点云数据与上一帧点云数据的重叠率;以及
关键帧确定单元,用于根据所述重叠率计算单元计算的重叠率确定点云数据的关键帧;其中,变换后点云数据与上一帧点云数据两者之间交集超过预设比率时判定对应的帧为关键帧。
6.根据权利要求5所述的三维扫描点云数据的拼接系统,其特征在于,所述迭代匹配模块包括:
初始点对提取单元,用于提取所述预处理模块预处理的点云数据和上一帧的点云数据中二维坐标一致的点对作为初始点对;
初始变换矩阵计算单元,用于根据所述初始点对提取单元提取的初始点对的对应关系使用奇异值分解计算初始变换矩阵;
点云数据变换单元,用于根据所述初始变换矩阵计算单元计算的初始变换矩阵对所述预处理模块预处理的点云数据进行变换;
有效点对计算单元,用于计算所述点云数据变换单元变换后的点云数据与上一帧的点云数据之间的最近点作为有效点对;以及
变换矩阵计算单元,用于根据所述有效点对计算单元计算的有效点对和代价函数计算变换矩阵。
7.根据权利要求5所述的三维扫描点云数据的拼接系统,其特征在于,所述预处理模块包括:
邻域计算单元,用于计算点云数据的所有点的邻域拓扑关系;
法向计算单元,用于计算点云数据的所有点的法向;以及
离群点判断过滤单元,用于判断并过滤点云数据中的离群点。
8.根据权利要求5所述的三维扫描点云数据的拼接系统,其特征在于,所述根据预设迭代终止条件包括迭代次数、相邻两次迭代矩阵相似度和相邻两次迭代点对距离,所述迭代匹配条件包括点对距离的均方差和相邻点云数据的重叠率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810116871.8A CN108364257B (zh) | 2018-02-06 | 2018-02-06 | 三维扫描点云数据的拼接方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810116871.8A CN108364257B (zh) | 2018-02-06 | 2018-02-06 | 三维扫描点云数据的拼接方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108364257A CN108364257A (zh) | 2018-08-03 |
CN108364257B true CN108364257B (zh) | 2023-05-09 |
Family
ID=63004637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810116871.8A Active CN108364257B (zh) | 2018-02-06 | 2018-02-06 | 三维扫描点云数据的拼接方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108364257B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110163900B (zh) * | 2019-05-31 | 2021-04-20 | 北京百度网讯科技有限公司 | 用于调整点云数据方法和装置 |
CN112102178A (zh) * | 2020-07-29 | 2020-12-18 | 深圳市菲森科技有限公司 | 一种点云保特征去噪方法、装置、电子设备及存储介质 |
CN112270643A (zh) * | 2020-09-04 | 2021-01-26 | 深圳市菲森科技有限公司 | 一种三维成像数据拼接方法、装置、电子设备及存储介质 |
CN112991424B (zh) * | 2021-04-07 | 2024-02-13 | 重庆大学 | 一种基于八叉树算法的分形维数计算方法及装置 |
CN113483695B (zh) * | 2021-07-01 | 2024-01-26 | 先临三维科技股份有限公司 | 三维扫描系统、辅助件、处理方法、装置、设备及介质 |
CN114199132B (zh) * | 2021-12-16 | 2024-02-27 | 上海应用技术大学 | 一种基于机器视觉的激光三维扫描仪及扫描方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103392191A (zh) * | 2011-02-22 | 2013-11-13 | 3M创新有限公司 | 混合拼接 |
CN105678842A (zh) * | 2016-01-11 | 2016-06-15 | 湖南拓视觉信息技术有限公司 | 室内环境三维地图制作方法及装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296693B (zh) * | 2016-08-12 | 2019-01-08 | 浙江工业大学 | 基于3d点云fpfh特征实时三维空间定位方法 |
CN106296812B (zh) * | 2016-08-18 | 2019-04-02 | 宁波傲视智绘光电科技有限公司 | 同步定位与建图方法 |
CN106384383B (zh) * | 2016-09-08 | 2019-08-06 | 哈尔滨工程大学 | 一种基于fast和freak特征匹配算法的rgb-d和slam场景重建方法 |
CN107063258A (zh) * | 2017-03-07 | 2017-08-18 | 重庆邮电大学 | 一种基于语义信息的移动机器人室内导航方法 |
-
2018
- 2018-02-06 CN CN201810116871.8A patent/CN108364257B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103392191A (zh) * | 2011-02-22 | 2013-11-13 | 3M创新有限公司 | 混合拼接 |
CN105678842A (zh) * | 2016-01-11 | 2016-06-15 | 湖南拓视觉信息技术有限公司 | 室内环境三维地图制作方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108364257A (zh) | 2018-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108364257B (zh) | 三维扫描点云数据的拼接方法及系统 | |
US10430951B2 (en) | Method and device for straight line detection and image processing | |
EP3306562B1 (en) | Image processing method and device | |
KR101404640B1 (ko) | 영상 매칭 방법 및 이를 수행하는 시스템 | |
CN103198751B (zh) | 一种移动机器人基于激光测距仪的线特征地图创建方法 | |
CN109583365B (zh) | 基于成像模型约束非均匀b样条曲线拟合车道线检测方法 | |
CN111160232B (zh) | 正面人脸重建方法、装置及系统 | |
CN110597249B (zh) | 一种机器人及其回充定位方法和装置 | |
CN105631939B (zh) | 一种基于曲率滤波的三维点云畸变校正方法及其系统 | |
CN115880364A (zh) | 基于激光点云和视觉slam的机器人位姿估计方法 | |
CN113140036A (zh) | 一种三维建模方法、装置、设备及存储介质 | |
CN112414403A (zh) | 一种机器人的定位定姿方法、设备及存储介质 | |
CN105335952A (zh) | 匹配代价计算方法和装置、以及视差值计算方法和设备 | |
CN111415305A (zh) | 恢复三维场景的方法、计算机可读存储介质及无人机 | |
JPH06274619A (ja) | 画像処理装置 | |
CN102592277A (zh) | 基于灰度子集合划分的曲线自动匹配方法 | |
CN105975975A (zh) | 一种环境线特征提取方法 | |
EP4217964B1 (en) | Generation of a 3d point cloud of a scene | |
CN117372421B (zh) | 晶圆缺陷定位方法、装置、定位设备及晶圆缺陷定位系统 | |
CN113781569A (zh) | 一种回环检测方法和装置 | |
CN112529943A (zh) | 一种物体检测方法、物体检测装置及智能设备 | |
CN110675338B (zh) | 一种基于多幅影像的矢量数据自动纠正方法 | |
CN110363708B (zh) | 改进斜线方向插值效果的图像处理方法及装置 | |
CN116912324A (zh) | 一种摄像头的内参标定方法 | |
CN115267723A (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 |