基于点特征直方图的点云自动配准方法

文档序号:10613622阅读:486来源:国知局
基于点特征直方图的点云自动配准方法
【专利摘要】本发明公开了基于点特征直方图的点云自动配准方法,包括:对被测物体多站采集获取点云数据,确定基准站和待配准站;从两站点云数据中均随机选取m个采样点,使任意三个点都不共线,每两个采样点均满足距离约束原则;对两站进行同名点对匹配,使基准站采样点集和待配准站采样点集形成的同名点对三角网近似全等;获取待配准站点云数据的变换矩阵,计算点特征直方图差异值获取配准误差;筛选出配准误差值最小时对应的变换矩阵;计算两站点云数据的重叠区域点云数据,通过迭代最近点算法获得精细配准矩阵。本发明能够解决对相邻两站点云重叠度较小或重叠区域特征不明显情况下的点云数据配准时容易陷入局部最小解问题,该方法准确性高,整体效率高。
【专利说明】
基于点特征直方图的点云自动配准方法
技术领域
[0001] 本发明属于点云数据配准领域,特别涉及一种基于点特征直方图的点云自动配准 方法。
【背景技术】
[0002] 三维激光扫描技术早期兴起于工业领域的逆向工程中,主要用于工艺品设计、汽 车、飞机以及船舶等工业制造业领域,后来逐渐被应用到测绘行业领域。通常情况下,三维 激光扫描工作由于受到被测物体范围较广、扫描设备的测量范围有限、物体遮挡等等因素 的影响,需架设多站进行不同角度的扫描,从而获取到被测对象表面的整体点云数据。而根 据扫描仪的扫描原理,采集到的三维点云坐标数据并不是出于统一坐标系下,因此需要将 不同站、不同时间段或者不同传感器设备采集到的点云数据匹配到统一三维空间直角坐标 系底下,这个过程即称之为点云数据配准。点云数据配准主要分为初始配准和精细配准两 大模块。
[0003] 点云初始配准算法主要有以下几大类:基于测量设备的初始配准、基于辅助标识 的初始配准、基于纹理特征的初始配准、基于表面几何特征的初始配准、基于RANSAC的初始 配准。其中基于测量设备的初始配准指的是依靠测量设备的一些定位信息来获取不同站点 云之间的相对移动位置关系,进而利用这些相对关系进行初始配准。这类初始配准对测量 设备过于依赖,无法满足大部分实际工程需求。在很多工程应用中,扫描现场摆设适当数量 的控制标靶,进而在内业中进行标靶点云的识别。研究者们据此提出了一些基于辅助标识 的自动配准方法,但这类方法增加了外业的工作量,并且有时会出现标靶遮挡物体表面的 情况出现。此外随着扫描仪的发展,扫描仪逐渐开始搭载相机,因而研究者们提出了一些基 于纹理特征的初始配准算法,但由于该类算法需要影像信息,如果影像有变形或者双张影 像重叠度不够则无法进行匹配,不具备广泛应用性。除了依靠点云的属性信息进行点云配 准工作外,还可以依据点云中潜在的一些几何特征进行点云配准工作,研究人员已经在此 方面做出了大量的研究。但这类算法多数只适用于噪声点较少的情况下,很易因噪声点的 参与而干扰特征描述子的计算准确度,从而影响配准效果。且点云对象特征不明显的情况 下,上述的几种算法很难获取到正确结果。通常情况下,为避免一些错误点或者局外点对某 个算法造成影响,应当首先借助某种方法将这些局外点剔除,因而很多研究者提出了一些 基于RANSAC的初始配准方法,其中R. B. Rusu等提出了一种基于点特征快速直方图的SAC-IA 算法,但该算法针对重叠度较小情况下的点云配准容易造成局部最小解问题,且针对大数 据量点云配准该算法无法达到高效实时配准,因此需要进一步改进。
[0004] 点云精细配准算法大多都是基于ICP(Iterative closest point,迭代最近点)算 法或者其变种改进算法进行的。ICP算法由Besl和Mckay以及Chen和Medioni早期提出,该算 法为后续基于迭代的配准算法发展奠定了理论和框架基础。基于前人研究这些不同种类的 变种ICP算法基础,由于不同种变种算法针对不同传感器和不同环境因素有着各自的优缺 点,并没有合适的框架通过比较这些算法针对不同情况提出合适的算法,因此Fr dn?〇iS Pomerleau等提出了一种变种ICP算法评价协议标准,此外Ff:an_p.oisPomerleau也提出了一 种ICP算法开源库,该库涵盖了一种ICP可重构算法框架,该框架可以融入不同种改进ICP算 法,框架内部可以快速比较不同变种算法的性能与准确性。但即便是上述各种ICP算法改进 及优化,但针对重叠度较小的点云而言,初始配准后直接进行ICP算法匹配也容易陷入局部 最小解问题。

【发明内容】

[0005] 本发明的一个目的是提供了一种基于点特征直方图的点云自动配准方法,能够解 决现有技术中对相邻两站点云重叠度较小或重叠区域特征不明显情况下的点云数据配准 时容易陷入局部最小解的问题,且该方法准确性高,整体效率高。
[0006] 本发明提供的技术方案为:
[0007] 一种基于点特征直方图的点云自动配准方法,包括:
[0008] 对被测物体进行多站采集获取该被测物体表面的整体点云数据,确定基准站和待 配准站,其中,基准站和待配准站为相邻的两站;
[0009] 从所述基准站点云数据和所述待配准站点云数据中均随机选取m个采样点,均使 所选取的m个采样点中的任意三个点都不共线,且每两个采样点之间的距离均满足距离约 束原则,其中,m> = 3;
[0010] 对所述待配准站采样点集和所述基准站采样点集进行同名点对的对应匹配,使所 述基准站采样点集和所述待配准站采样点集形成的同名点对三角网近似全等;
[0011] 获取所述待配准站点云数据的变换矩阵T,通过计算点特征直方图差异值获取所 述待配准站点云数据经过变换矩阵T变换后与所述基准站点云数据的配准误差;
[0012] 对所述基准站点云数据和所述待配准站点云数据均进行多次采样,从多次采样获 取的配准误差中筛选出配准误差值最小时对应的变换矩阵T min,进行点云数据的初始配准;
[0013] 计算所述基准站点云数据和所述待配准站点云数据的重叠区域点云数据,并通过 迭代最近点算法获得精细配准矩阵,进行点云数据的精细配准。
[0014] 优选的是,所述的基于点特征直方图的点云自动配准方法,从所述基准站点云数 据中和所述待配准站点云数据中均随机选取m个采样点之前还包括:
[0015] 对所述基准站点云数据和所述待配准站点云数据进行预处理;
[0016] 计算所述基准站点云表面和所述待配准站点云表面的法线;
[0017] 计算所述基准站点云数据和所述待配准站点云数据的点特征快速直方图。
[0018] 优选的是,所述的基于点特征直方图的点云自动配准方法,从所述基准站点云数 据中和所述待配准站点云数据中均随机选取m个采样点具体包括:
[0019] 对所述基准站点云数据和所述待配准站点云数据进行采样时,当采集一个新样点 时,判断所选取的新样点与已有的采样点是否满足距离约束原则;
[0020] 若不满足,则新样点无效,继续进行采集,若满足,则继续判断所选取的新样点与 已有采样点构建的直线的垂直距离是否小于预设阈值e dlst;
[0021] 若小于,则所采集的新样点与已有的采样点共线,该新样点无效,重新进行采样; [0022]若不小于,则所采集的新样点有效,继续采集下一个样点。
[0023]优选的是,所述的基于点特征直方图的点云自动配准方法,所述通过计算点特征 直方图差异值获取所述待配准站点云数据经过变换矩阵T变换后与所述基准站点云数据的 配准误差包括:
[0024] 所述待配准站点云数据Ρ经过变换矩阵Τ变换后为Ρ',在所述基准站点云数据Q中 查找所述待配准站点云数据Ρ'中每个点对应的最近邻域点;
[0025] 根据获取的点Pi对应的最近邻域点,提取出邻域索引和邻域间距离;
[0026]判断邻域间距离是否小于预定的邻域点对距离阈值e ;
[0027] 若不小于,则继续遍历点云数据P'中下一个点进行邻域间距离判断;
[0028] 若小于,则计算点P,与其对应的最近邻域点形成的点对之间的快速直方图差异平 方值总和err or,并统计至总误差值SumErr or上,同时累计满足预定的邻域点对距离阈值e 的点对个数nr;
[0029] 判断nr是否大于零,若大于零,返回配准的点特征中误_
若 不大于零,则返回配准的分值为无穷大。
[0030] 优选的是,所述的基于点特征直方图的点云自动配准方法,所述计算所述基准站 点云数据和所述待配准站点云数据的重叠区域点云数据包括:
[0031] 分别计算所述待配准站点云数据P和所述基准站点云数据Q的点云包围盒;
[0032] 对所述基准站点云数据Q进行空间网格线性划分;
[0033] 遍历所述待配准站点云数据P中的每个点P,,并计算每个点^对应的网格线性编码 值;
[0034]在所述基准站点云数据Q的空间网格中查找是否存在与该待配准站点云数据中点 Pi的网格线性编码值对应的空间网格;
[0035] 若不存在,则继续遍历待配准站点云数据P中的点;
[0036] 若存在,则对所述待配准站点云数据中点索引进行存储,且标记所述待配准 站点云数据中点网格线性编码值对应所述基准站点云数据Q中的空间网格为重叠网 格;
[0037]根据存储的所述待配准站点云数据中点Pi的索引,以及所述基准站点云数据Q中 重叠的空间网格,得到所述基准站点云数据和所述待配准站点云数据的重叠区域点云数 据。
[0038]优选的是,所述的基于点特征直方图的点云自动配准方法,所述通过迭代最近点 算法获得精细配准矩阵包括下列步骤:
[0039]步骤一、得到所述基准站点云数据和所述待配准站点云数据的重叠区域点云数据 后,根据获取的重叠区域点云数据执行迭代最近点算法,得到配准矩阵T1;
[0040] 步骤二、将配准矩阵应用至经过初始配准后的所述待配准站点云数据Ρ'上,即 P/i = P/ i-i*Ti;
[0041] 步骤三、循环执行步骤一至步骤二,达到迭代循环次数N,其中,N> = 2;
[0042] 步骤四、计算所述待配准站点云数据P'经过配准矩阵配准后与所述基准站点云 数据的配准误差ε;
[0043] 步骤五、判断配准误差ε是否小于等于点云采样分辨率的0.5倍范围内,
[0044] 若不满足,则使迭代循环次数Ν加1;
[0045] 若满足,则输出精细配准矩阵:ΤζΤΑ?^. . .Τη。
[0046]优选的是,所述的基于点特征直方图的点云自动配准方法,在所述待配准站点云 数据的初始配准阶段和精细配准阶段,均采用开放运算语言并行加速模块进行加速。
[0047]优选的是,所述的基于点特征直方图的点云自动配准方法,所述待配准站点云数 据初始配准阶段的开放运算语言并行加速模块包括:点云邻域搜索模块、点特征直方图计 算模块以及初始配准迭代过程模块。
[0048]优选的是,所述的基于点特征直方图的点云自动配准方法,所述待配准站点云数 据初始配准阶段的开放运算语言并行加速过程包括:
[0049]中央处理器将去噪后的所述基准站点云数据和所述待配准站点云数据发送至图 形处理器并存储至全局内存中;
[0050] 中央处理器创建基准站点云邻域搜索KD-tree并发送至图形处理器中,点云邻域 并行搜索和计算所述基准站点云表面和所述待配准站点云表面的法线同时执行;
[0051] 并行计算所述基准站点云数据和所述待配准站点云数据的点特征简易直方图;
[0052] 并行计算所述基准站点云数据和所述待配准站点云数据的点特征快速直方图; [0053]并行执行初始配准迭代过程;
[0054]图形处理器将初始配准迭代过程中获取的变换矩阵及配准误差发送至中央处理 器中,筛选出配准误差最小时对应的变换矩阵Tmin。
[0055]优选的是,所述的基于点特征直方图的点云自动配准方法,所述待配准站点云数 据精细配准阶段的开放运算语言并行加速模块包括:每次迭代的邻域搜索模块、最小二乘 估计变换矩阵模块以及点云矩阵变换模块。
[0056]优选的是,所述的基于点特征直方图的点云自动配准方法,所述待配准站点云数 据精细配准阶段的开放运算语言并行加速过程包括:
[0057]中央处理器将初始配准后的基准站点云数据和待配准站点云数据发送至图形处 理器并存储至全局内存中;
[0058]中央处理器创建基准站点云邻域搜索KD-tree并发送至图形处理器中,进行邻域 并行搜索;
[0059]对变换矩阵变量G、h并行填充,并发送矩阵G、h至中央处理器中,进行楚列斯基分 解法求解变换矩阵T_i ;
[0060] 中央处理器发送变换矩阵T_i至图形处理器中进行点云矩阵变换并行计算,同时 累乘精细配准矩阵
[0061] 其中,
[0062]
[0063]本发明至少包括以下有益效果:首先在点云数据初始配准阶段采用了基于点特征 直方图的采样一致性初始配准算法(SAC-IA),并对该算法的不足之处,从算法准确度和效 率角度提出了改进,算法在点云数据初始配准阶段提出了两项改进,一是在算法中加入了 采样点几何形状约束以保证采样点不共线,二是通过计算点特征直方图差异代替了欧式距 离差异改进了配准误差评定方法,从而保证了算法的准确性,避免了局部最小解问题;附加 了同名点对三角网是否近似全等判断条件,避免了大部分不符合条件点对的迭代计算,从 而提高了算法的整体效率。在点云数据精细配准阶段通过计算所述基准站点云数据和所述 待配准站点云数据的重叠区域点云数据,并通过迭代最近点算法获得精细配准矩阵,从而 进行所述待配准站点云数据的精细配准,避免了现有算法不能应对点云重叠度较小的点云 数据配准情况。在初始配准阶段和精细配准阶段,均采用开放运算语言(Open Computing Language,简称OpenCL)并行加速算法进行加速,从而在整体上很大程度地提高了算法效 率,使得算法足以完成海量点云实时性配准工作。
【附图说明】
[0064] 图1为本发明所述的基于点特征直方图的点云自动配准方法的流程示意图;
[0065] 图2为本发明所述的基于点特征直方图的点云自动配准方法的初始配准阶段的流 程不意图;
[0066] 图3为本发明所述的基于点特征直方图的点云自动配准方法的精细配准阶段的流 程不意图;
[0067]图4为点对三角网近似全等示意图;
[0068]图5为点云数据空间网格划分效果图;
[0069] 图6为基于重叠区域的精细配准算法迭代效果图;
[0070] 图7为点云数据初始配准并行加速流程示意图;
[0071 ]图8为点云数据精细配准并行加速流程示意图;
[0072]图9(a)为对故宫云龙大石雕扫描的两站去噪后原始数据视图;
[0073]图9(b)为对故宫云龙大石雕扫描的两站原始点云数据物理叠合效果图;
[0074]图9(c)为对故宫云龙大石雕扫描的两站点云数据自动配准后的点云叠加效果图;
[0075] 图10(a)为对一高校扫描的两站去燥后原始数据视图;
[0076] 图10(b)为对一高校扫描的两站原始点云数据物理叠合效果图;
[0077] 图10(c)为对一高校扫描的两站点云数据自动配准后的点云叠加效果图;
[0078] 图11(a)为对一块地形扫描的两站去燥后原始数据视图;
[0079] 图11(b)为对一块地形扫描的两站原始点云数据物理叠合效果图;
[0080] 图11(C)为对一块地形扫描的两站点云数据自动配准后的点云叠加效果图;
[0081] 图12(a)为对一棵树扫描的两站去燥后原始数据视图;
[0082]图12(b)为对一棵树扫描的两站原始点云数据物理叠合效果图;
[0083]图12(c)为对一棵树扫描的两站点云数据自动配准后的点云叠加效果图。
【具体实施方式】
[0084]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它 实施例,都属于本发明保护的范围。
[0085]为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说 明。
[0086] 如图1,图2所示,本发明实施例提供的基于点特征直方图的点云自动配准方法,包 括下列步骤:
[0087] S01、对被测物体进行多站采集获取该被测物体表面的整体点云数据,确定基准站 和待配准站,其中,基准站和待配准站为相邻的两站;
[0088]需要说明的是:对被测物体进行多站采集,一般将第一站作为基准站,但是具体将 哪一站作为基准站,本发明并不做具体限定。待配准站和基准站为相邻的两站,如果将第一 站作为基准站,一般将相邻的第二站作为待配准站,当将第二站和第一站进行点云数据配 准后,第二站的点云数据和第一站的点云数据位于统一的三维空间直角坐标系中,这时将 统一后的第一站和第二站作为基准站,将和第二站相邻的第三站作为待配准站。最后将采 集的所有站点云数据都配准至统一的三维空间直角坐标系中。
[0089] S02、从所述基准站点云数据和所述待配准站点云数据中均随机选取m个采样点, 均使所选取的m个采样点中的任意三个点都不共线,且每两个采样点之间的距离均满足距 离约束原则,其中,m> = 3;
[0090] 其中,如图2所示,在所述步骤S02之前,还包括步骤:
[0091] A、对所述基准站点云数据和所述待配准站点云数据进行预处理;其中,对所述基 准站点云数据和所述待配准站点云数据进行预处理,主要是对点云数据进行去噪处理。 [0092] B、计算所述基准站点云表面和所述待配准站点云表面的法线。
[0093] C、计算所述基准站点云数据和所述待配准站点云数据的点特征快速直方图。
[0094]其中,步骤S02的过程具体为:
[0095] S021、对所述基准站点云数据和所述待配准站点云数据进行采样时,当采集一个 新样点时,判断所选取的新样点与已有的采样点是否满足距离约束原则;
[0096] S022、若不满足,则新样点无效,继续进行采集,
[0097] S023、若满足,则继续判断所选取的新样点与已有采样点构建的直线的垂直距离 是否小于预设阈值e diSt;
[0098] S024、若小于,则所采集的新样点与已有的采样点共线,该新样点无效,重新进行 米样;
[0099] S025、若不小于,则所采集的新样点有效,继续采集下一个样点。
[0100]例如:在进行SAC-IA算法的采样点时,依次在待配准站点云中依据距离约束原则 采样点,当采样到第二个点时,由已有的两个采样点PI、P2构建成一条直线L;继续在待配准 站点云中采集点,每采样一个新的样点P new,就开始首先判断与已有样点的距离是否满足距 离约束原则,进而再判断该点到构建的直线L的垂直距离是否小于预设阈值£<^,如果小 于则代表与已有样点共线,该样点无效,需重新筛选,否则该样点有效,继续采样下一个点, 直到采集样点的个数达到要求个数。
[0101] 其中,预设阈值edlst,一般设置为点云采样分辨率值的若干倍,例如3到5倍之间。
[0102] S03、对所述待配准站采样点集和所述基准站采样点集进行同名点对的对应匹配, 使所述基准站采样点集和所述待配准站采样点集形成的同名点对三角网近似全等;
[0103] 需要说明的是:对所述待配准站采样点集和所述基准站采样点集进行同名点对的 对应匹配,是利用SAC-IA算法寻找同名点对,同名点对搜索完成后,分别依照顺序将基准站 点云数据Q,待配准站点云数据P中各自的m个采样点每三个点构成一个三角形,然后各自组 成一个三角网形式。依次判断所有组两站点对的对应三角形是否近似全等,如果都近似全 等则继续SAC-IA算法的矩阵求解步骤,否则SAC-IA算法执行返回到采样点步骤。
[0104]例如:当采样点m = 3时,判断单个三角形是否近似全等,m>3时则判断三角网是否 近似全等。两站点云对应的采样点组成的三角网如图4所示。
[0105] S04、估计所述待配准站点云数据的变换矩阵T,通过计算点特征直方图差异值获 取所述待配准站点云数据经过变换矩阵T变换后与所述基准站点云数据的配准误差;
[0106] 其中,获取配准误差的具体过程为:
[0107] S041、所述待配准站点云数据P经过变换矩阵T变换后为P',在所述基准站点云数 据Q中查找所述待配准站点云数据P'中每个点对应的最近邻域点;
[0108] S042、根据获取的点Pi对应的最近邻域点,提取出邻域索引index和邻域间距离 dist;
[0109] S043、判断邻域间距离dist是否小于预定的邻域点对距离阈值e;
[0110] S044、若不小于,则继续遍历点云数据P'中下一个点进行邻域间距离判断;
[0111] S045、若小于,则计算点Pi与其对应的最近邻域点形成的点对之间的快速直方图 差异平方值总和error,并统计至总误差值SumError上,即:SumError = SumError+error,同 时累计满足预定的邻域点对距离阈值e的点对个数nr,即:nr = nr+1;
[0112] S046、判断nr是否大于零,若大于零,返回配准的点特征中误差
若不大于零,则返回配准的分值为无穷大。
[0113] S05、循环执行步骤S02至S04,对所述基准站点云数据和所述待配准站点云数据进 行多次采样,从多次采样获取的配准误差中筛选出配准误差值最小时对应的变换矩阵Tmin, 进行所述待配准站点云数据的初始配准;
[0114]其中,循环执行步骤S02至S04,也就是循环执行一个迭代过程,用来获取配准误 差,提高了配准的准确性。
[0115] S06、计算所述基准站点云数据和所述待配准站点云数据的重叠区域点云数据,并 通过迭代最近点算法获得精细配准矩阵,进行所述待配准站点云数据的精细配准。
[0116]其中,如图3所示,所述计算所述基准站点云数据和所述待配准站点云数据的重叠 区域点云数据包括下列步骤:
[0117]步骤一、分别计算所述待配准站点云数据P和所述基准站点云数据Q的点云包围 盒;
[0118] 步骤二、对所述基准站点云数据Q进行空间网格线性划分;
[0119] 步骤三、遍历所述待配准站点云数据P中的每个点Pi,并计算每个APi对应的网格 线性编码值;
[0120] 步骤四、在所述基准站点云数据Q的空间网格中查找是否存在与该待配准站点云 数据中点Pi的网格线性编码值对应的空间网格;
[0121] 步骤五、若不存在,则执行步骤三继续遍历待配准站点云数据P中的点;
[0122] 步骤六、若存在,则对所述待配准站点云数据中点索引进行存储,存储至 vIndeX_P*,且标记所述待配准站点云数据中APi的网格线性编码值对应的空间网格为重 置网格;
[0123] 步骤七、根据存储的所述待配准站点云数据中点Pi的索引,以及所述基准站点云 数据Q中重叠的空间网格,得到所述基准站点云数据和所述待配准站点云数据的重叠区域 点云数据,将重叠区域点云数据存储
[0124] 具体的点云空间网格划分效果如图5(a)(b)所示,图5(b)为最终的重叠部分网格 筛选结果。
[0125] 其中,所述通过迭代最近点算法获得精细配准矩阵包括下列步骤:
[0126] 步骤一、得到所述基准站点云数据和所述待配准站点云数据的重叠区域点云数据 后,根据获取的重叠区域点云数据执行迭代最近点算法,得到配准矩阵T 1;
[0127] 步骤二、将配准矩阵应用至经过初始配准后的所述待配准站点云数据Ρ'上,即 P/i = P/ i-i*Ti;
[0128] 步骤三、循环执行步骤一至步骤二,达到迭代循环次数N,其中,N> = 2;
[0129] 步骤四、计算所述待配准站点云数据P'经过配准矩阵配准后与所述基准站点云 数据的配准误差ε;
[0130] 步骤五、判断配准误差ε是否小于等于点云采样分辨率的0.5倍范围内,
[0131 ]若不满足,则使迭代循环次数Ν加1;
[0132] 若满足,则输出精细配准矩阵:ΤιΤΑ?^. . .Τη。
[0133] 其中,算法的迭代收敛条件是采用迭代次数收敛,一般情况下迭代最大次数N设置 为2或者3即可。具体的算法迭代效果如图6所示。
[0134] 进一步的,在所述待配准站点云数据的初始配准阶段和精细配准阶段,均采用开 放运算语言并行加速模块进行加速。
[0135] 其中,开放运算语言为OpenCL。
[0136] 其中,所述待配准站点云数据初始配准阶段的开放运算语言并行加速模块包括: 点云邻域搜索模块、点特征直方图计算模块以及初始配准迭代过程模块。
[0137] 如图7所示,所述待配准站点云数据初始配准阶段的开放运算语言并行加速过程 包括:
[0138] 中央处理器将去噪后的所述基准站点云数据和所述待配准站点云数据发送至图 形处理器并存储至全局内存中;
[0139] 中央处理器创建基准站点云邻域搜索KD-tree并发送至图形处理器中,点云邻域 并行搜索和计算所述基准站点云表面和所述待配准站点云表面的法线同时执行;
[0140]并行计算所述基准站点云数据和所述待配准站点云数据的点特征简易直方图; [0141]并行计算所述基准站点云数据和所述待配准站点云数据的点特征快速直方图;
[0142] 并行执行初始配准迭代过程;
[0143] 图形处理器将初始配准迭代过程中获取的变换矩阵及配准误差发送至中央处理 器中,筛选出配准误差最小时对应的变换矩阵Tmin。
[0144] 其中,中央处理器为CPU,图形处理器为GPU。
[0145] 其中,所述待配准站点云数据精细配准阶段的开放运算语言并行加速模块包括: 每次迭代的邻域搜索模块、最小二乘估计变换矩阵模块以及点云矩阵变换模块。
[0146] 如图8所示,所述待配准站点云数据精细配准阶段的开放运算语言并行加速过程 包括:
[0147] 中央处理器将初始配准后的基准站点云数据和待配准站点云数据发送至图形处 理器并存储至全局内存中;
[0148] 中央处理器创建基准站点云邻域搜索KD-tree并发送至图形处理器中,进行邻域 并行搜索;
[0149] 对变换矩阵变量G、h并行填充,并发送矩阵G、h至中央处理器中,进行楚列斯基分 解法求解变换矩阵T_i ;
[0150] 中央处理器发送变换矩阵T_i至图形处理器中进行点云矩阵变换并行计算,同时 累乘精细配准矩阵
[0151] 其中,
[0152]
[0153] 为了验证本发明实施例的广泛适用性,本发明实施例准备了三组实验,分别对应 不同种类的点云数据。针对配准的应用,实际数据主要分为三大类:线特征明显点云、面特 征明显点云以及无明显特征点云。其中线特征明显点云指的是点云的上线性特征比较明 显、线性轮廓较为突出,如:石雕文物等等;面特征明显点云指的是点云中有很多突出的平 面特征,如:城市建筑物等等;无明显点特征点云指的是点云中没有任何突出的线、面等特 征,如:地形、树木等等。因此本发明实施例在实际实验前准备了以上三种种类数据,实际采 集点云三维激光扫描设备为RIEGL VZ1000,具体数据分别为:故宫云龙大石雕点云数据、某 高校科研楼点云数据、某块地形数据、单棵树木点云。针对每类数据,均采取两站扫描,两站 间点云重叠度控制在15%-20%左右。各种不同类型点云数据配准实验如下:
[0154] (1)线特征明显点云自动配准实验
[0?55]故宫云龙大石雕扫描两站数据数量分别为:2,637,262、3,779,241,点云米样分辨 率为1.0_,通过实际算法验证,本发明实施例的算法以及并行加速后的算法均能完成两站 点云自动配准过程,如图9(a)(b)(c)(d)所示。图(a)透明区域分别代表两站点云重叠区域。
[0156] 并行加速前后,平均运行时间对比如下表:
[0157] 表格1故宫云龙大石雕点云配准运行时间消耗对比
[0158]
[0159]其中,需要说明的是,本发明实施例原始算法是在初始配准阶段和精细配准阶段 没有采用并行加速时的算法。
[0160] (2)面特征明显点云自动配准实验
[0161] 某高校扫描两站数据数量分别为:36,074,395、34,973,429,点云采样分辨率为 5.0mm,通过实际算法验证,本发明实施例原始算法以及并行加速后算法均能完成两站点云 自动配准过程,如图l〇(a)(b)(c)所示,图(a)透明区域分别代表两站点云主要重叠区域。
[0162] 算法并行前后,平均运行时间对比如下表:
[0163] 表格2某高校科研楼点云配准运行时间消耗对比
[0164]
[0165] (3)无明显特征点云自动配准实验
[0166] 1、某块地形扫描两站数据数量分别为:1,507,694、1,154,906,点云米样分辨率为 10.0mm,通过实际算法验证,本发明实施例原始算法以及并行加速后算法均能完成两站点 云自动配准过程,如图ll(a)(b)(c)(d)所示,(a)图透明区域即代表两站大致重叠区域。
[0167] 算法并行前后,平均运行时间对比如下表:
[0168] 表格3某块地形点云配准运行时间消耗对比
[0169]
[0170] 2、某单棵树木扫描两站数据数量分别为:1,507,694、1,154,906,点云米样分辨率 为6.0mm,通过实际算法验证,本发明实施例算法以及并行加速后算法均能完成两站点云自 动配准过程,如图12(a)(b)(c)(d)所示。
[0171 ]表格4某单棵树木点云配准运行时间消耗对比
[0172]
[0173] 通过上述配准实验可知,本发明实施例的算法能够很好应用于不同类型的点云数 据,具有较广的适用性,且每次实验的配准中误差均在点云采样分辨率的0.5倍以下,满足 配准中误差要求。且通过不同类型点云配准运行时间消耗的对比可发现,通过并行加速优 化后,点云自动配准算法效率提高了大约8倍左右。
[0174] 尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列 运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地 实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限 于特定的细节和这里示出与描述的图例。
【主权项】
1. 一种基于点特征直方图的点云自动配准方法,其特征在于,包括: 对被测物体进行多站采集获取该被测物体表面的整体点云数据,确定基准站和待配准 站,其中,基准站和待配准站为相邻的两站; 从所述基准站点云数据和所述待配准站点云数据中均随机选取m个采样点,均使所选 取的m个采样点中的任意Ξ个点都不共线,且每两个采样点之间的距离均满足距离约束原 贝1J,其中,m〉= 3; 对所述待配准站采样点集和所述基准站采样点集进行同名点对的对应匹配,使所述基 准站采样点集和所述待配准站采样点集形成的同名点对Ξ角网近似全等; 获取所述待配准站点云数据的变换矩阵T,通过计算点特征直方图差异值获取所述待 配准站点云数据经过变换矩阵T变换后与所述基准站点云数据的配准误差; 对所述基准站点云数据和所述待配准站点云数据均进行多次采样,从多次采样获取的 配准误差中筛选出配准误差值最小时对应的变换矩阵Tmin,进行点云数据的初始配准; 计算所述基准站点云数据和所述待配准站点云数据的重叠区域点云数据,并通过迭代 最近点算法获得精细配准矩阵,进行点云数据的精细配准。2. 如权利要求1所述的基于点特征直方图的点云自动配准方法,其特征在于,从所述基 准站点云数据中和所述待配准站点云数据中均随机选取m个采样点之前还包括: 对所述基准站点云数据和所述待配准站点云数据进行预处理; 计算所述基准站点云表面和所述待配准站点云表面的法线; 计算所述基准站点云数据和所述待配准站点云数据的点特征快速直方图。3. 如权利要求1所述的基于点特征直方图的点云自动配准方法,其特征在于,从所述基 准站点云数据中和所述待配准站点云数据中均随机选取m个采样点具体包括: 对所述基准站点云数据和所述待配准站点云数据进行采样时,当采集一个新样点时, 判断所选取的新样点与已有的采样点是否满足距离约束原则; 若不满足,则新样点无效,继续进行采集,若满足,则继续判断所选取的新样点与已有 采样点构建的直线的垂直距离是否小于预设阔值edist; 若小于,则所采集的新样点与已有的采样点共线,该新样点无效,重新进行采样; 若不小于,则所采集的新样点有效,继续采集下一个样点。4. 如权利要求2所述的基于点特征直方图的点云自动配准方法,其特征在于,所述通过 计算点特征直方图差异值获取所述待配准站点云数据经过变换矩阵T变换后与所述基准站 点云数据的配准误差包括: 所述待配准站点云数据P经过变换矩阵T变换后为P',在所述基准站点云数据Q中查找 所述待配准站点云数据P'中每个点对应的最近邻域点; 根据获取的点Pi对应的最近邻域点,提取出邻域索引和邻域间距离; 判断邻域间距离是否小于预定的邻域点对距离阔值e ; 若不小于,则继续遍历点云数据P'中下一个点进行邻域间距离判断; 若小于,则计算点Pi与其对应的最近邻域点形成的点对之间的快速直方图差异平方值 总和error,并统计至总误差值SumError上,同时累计满足预定的邻域点对距离阔值e的点 对个数nr; 判断nr是否大于零,若大于零,返回配准的点特征中误差若不大 于零,则返回配准的分值为无穷大。5. 如权利要求1所述的基于点特征直方图的点云自动配准方法,其特征在于,所述计算 所述基准站点云数据和所述待配准站点云数据的重叠区域点云数据包括: 分别计算所述待配准站点云数据P和所述基准站点云数据Q的点云包围盒; 对所述基准站点云数据Q进行空间网格线性划分; 遍历所述待配准站点云数据P中的每个点Pi,并计算每个点Pi对应的网格线性编码值; 在所述基准站点云数据Q的空间网格中查找是否存在与该待配准站点云数据中点Pi的 网格线性编码值对应的空间网格; 若不存在,则继续遍历待配准站点云数据P中的点; 若存在,则对所述待配准站点云数据中点Pi的索引进行存储,且标记所述待配准站点云 数据中点Pi的网格线性编码值对应所述基准站点云数据Q中的空间网格为重叠网格; 根据存储的所述待配准站点云数据中点Pi的索引,W及所述基准站点云数据Q中重叠的 空间网格,得到所述基准站点云数据和所述待配准站点云数据的重叠区域点云数据。6. 如权利要求5所述的基于点特征直方图的点云自动配准方法,其特征在于,所述通过 迭代最近点算法获得精细配准矩阵包括下列步骤: 步骤一、得到所述基准站点云数据和所述待配准站点云数据的重叠区域点云数据后, 根据获取的重叠区域点云数据执行迭代最近点算法,得到配准矩阵Τι ; 步骤二、将配准矩阵Τι应用至经过初始配准后的所述待配准站点云数据Ρ '上,即Ρ ' 1 = P'i-i*Ti; 步骤Ξ、循环执行步骤一至步骤二,达到迭代循环次数N,其中,N〉= 2; 步骤四、计算所述待配准站点云数据P'经过配准矩阵Τι配准后与所述基准站点云数据 的配准误差ε; 步骤五、判断配准误差ε是否小于等于点云采样分辨率的0.5倍范围内, 若不满足,则使迭代循环次数Ν加1; 若满足,则输出精细配准矩阵:Τ = Τ?*Τ2*. . .Τη。7. 如权利要求4所述的基于点特征直方图的点云自动配准方法,其特征在于,在所述待 配准站点云数据的初始配准阶段和精细配准阶段,均采用开放运算语言并行加速模块进行 加速。8. 如权利要求7所述的基于点特征直方图的点云自动配准方法,其特征在于,所述待配 准站点云数据初始配准阶段的开放运算语言并行加速模块包括:点云邻域捜索模块、点特 征直方图计算模块W及初始配准迭代过程模块。9. 如权利要求8所述的基于点特征直方图的点云自动配准方法,其特征在于,所述待配 准站点云数据初始配准阶段的开放运算语言并行加速过程包括: 中央处理器将去噪后的所述基准站点云数据和所述待配准站点云数据发送至图形处 理器并存储至全局内存中; 中央处理器创建基准站点云邻域捜索KD-tree并发送至图形处理器中,点云邻域并行 捜索和计算所述基准站点云表面和所述待配准站点云表面的法线同时执行; 并行计算所述基准站点云数据和所述待配准站点云数据的点特征简易直方图; 并行计算所述基准站点云数据和所述待配准站点云数据的点特征快速直方图; 并行执行初始配准迭代过程; 图形处理器将初始配准迭代过程中获取的变换矩阵及配准误差发送至中央处理器中, 筛选出配准误差最小时对应的变换矩阵Tmin。 10 .如权利要求7所述的基于点特征直方图的点云自动配准方法,其特征在于,所述待 配准站点云数据精细配准阶段的开放运算语言并行加速模块包括:每次迭代的邻域捜索模 块、最小二乘估计变换矩阵模块W及点云矩阵变换模块。11.如权利要求10所述的基于点特征直方图的点云自动配准方法,其特征在于,所述待 配准站点云数据精细配准阶段的开放运算语言并行加速过程包括: 中央处理器将初始配准后的基准站点云数据和待配准站点云数据发送至图形处理器 并存储至全局内存中; 中央处理器创建基准站点云邻域捜索KD-tree并发送至图形处理器中,进行邻域并行 捜索; 对变换矩阵变量G、h并行填充,并发送矩阵G、h至中央处理器中,进行楚列斯基分解法 求解变换矩阵T_i; 中央处理器发送变换矩阵T_i至图形处理器中进行点云矩阵变换并行计算,同时累乘 精细配准矩阵 其中,
【文档编号】G06T5/40GK105976312SQ201610371302
【公开日】2016年9月28日
【申请日】2016年5月30日
【发明人】黄明, 丁鹤松, 贾军辉
【申请人】北京建筑大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1