一种点云数据配准方法、系统、电子设备及存储介质与流程

文档序号:32413092发布日期:2022-12-02 21:46阅读:80来源:国知局
一种点云数据配准方法、系统、电子设备及存储介质与流程

1.本技术涉及三维场景建模技术领域,特别是涉及一种点云数据配准方法、系统电子设备及存储介质。


背景技术:

2.随着计算机技术的日渐成熟和普及,虚拟内容和真实世界可以通过三维ar实现互动,其中,三维模型和点云之间的配准尤为重要,现有的点云数据配准方法是直接在点云和点云之间配准。
3.对现有技术的研究和实践过程中,本技术的发明人发现,随着三维ar的流行,越来越多大规模场景需要进行点云之间的配准,大量的点云数据进行配准则会造成计算量增大而增加耗时,影响配准速度,匹配点不足则影响匹配精度;另外,当迭代初值选择不当,会导致无法得到最优配准结果。


技术实现要素:

4.本技术主要解决的技术问题是提供一种点云数据配准方法、系统电子设备及存储介质,能够通过三维模型和点云的平面特征和线特征,实现三维模型和点云之间的配准。
5.为解决上述技术问题,本技术采用的一个技术方案是:提供一种点云数据配准方法,包括:获取场景的三维模型和场景点云,基于所述三维模型的顶点坐标获取模型点云;对所述模型点云和所述场景点云进行平面特征提取,分别得到模型点云平面特征集和场景点云平面特征集;根据所述模型点云平面特征集和所述场景点云平面特征集对所述模型点云和所述场景点云进行线特征提取,得到对应的模型点云线特征集和场景点云线特征集;基于所述模型点云平面特征集、所述场景点云平面特征集、所述模型点云线特征集和所述场景点云线特征集,对所述模型点云和所述场景点云进行特征匹配,确定特征匹配关系;基于所述特征匹配关系,确定所述模型点云和所述场景点云的坐标变换关系,以对所述模型点云与所述场景点云配准。
6.在本技术的一实施例中,所述获取场景的三维模型和场景点云,基于所述三维模型的顶点坐标获取模型点云,包括:获取场景的三维模型,并获取所述三维模型的顶点坐标以构建模型点云;其中,场景点云为标准点云;所述对所述模型点云和所述场景点云进行平面特征提取,分别得到模型点云平面特征集和场景点云平面特征集,包括:对所述模型点云进行平面特征提取,得到第一模型点云平面特征集;以及对所述场景点云进行平面特征提取,得到第一场景点云平面特征集。
7.在本技术的一实施例中,所述对所述模型点云进行平面特征提取,得到第一模型点云平面特征集;以及对所述场景点云进行平面特征提取,得到第一场景点云平面特征集,包括:对所述模型点云中的数据利用随机抽样进行平面特征提取,得到第一模型点云平面特征集以及每个平面对应的点云数据;对所述场景点云中的数据利用随机抽样进行平面特征提取,得到第一场景点云平面特征集以及每个平面对应的点云数据;其中,对所述第一模
型点云平面特征集和所述第一场景点云平面特征集进行平面合并,得到对应的第二模型点云平面特征集和第二场景点云平面特征集。
8.在本技术的一实施例中,所述对所述第一模型点云平面特征集和所述第一场景点云平面特征集进行平面合并,得到对应的第二模型点云平面特征集和第二场景点云平面特征集,包括:分别对所述第一模型点云平面特征集和所述第一场景点云平面特征集进行平面合并;其中,对所述第一模型点云平面特征集进行平面合并为:遍历所述第一模型点云平面特征集的所有平面,对所述第一模型点云平面特征集中同属一平面的点云数据进行合并,更新合并点云数据后的平面,进而获取第二模型点云平面特征集;对所述第一场景点云平面特征集进行平面合并为:遍历所述第一场景点云平面特征集的所有平面,对所述第一场景点云平面特征集中同属一平面的点云数据进行合并,更新合并点云数据后的平面,进而获取第二场景点云平面特征集;所述根据所述模型点云平面特征集和所述场景点云平面特征集对所述模型点云和所述场景点云进行线特征提取,得到对应的模型点云线特征集和场景点云线特征集,包括:分别基于所述第二模型点云平面特征集中平面之间相交的直线和所述第二场景点云平面特征集中平面之间相交的直线,确定并提取对应的模型点云线特征集和场景点云线特征集。
9.在本技术的一实施例中,所述分别基于所述第二模型点云平面特征集中平面之间相交的直线和所述第二场景点云平面特征集中平面之间相交的直线,确定并提取对应的模型点云线特征集和场景点云线特征集,包括:基于所述第二模型点云平面特征集确定一选取平面,遍历所述第二模型点云平面特征集中剩余的平面,获取与选取平面相交的其他平面,进而得到相应的相交直线,确定所述相交直线为模型点云线特征,依据所述模型点云线特征确定所述第二模型点云平面特征集的模型点云线特征集;以及基于所述第二场景点云平面特征集确定一选取平面,遍历所述第二场景点云平面特征集中剩余的平面,获取与选取平面相交的其他平面,进而得到相应的相交直线,确定所述相交直线为场景点云线特征,依据所述场景点云线特征确定所述第二场景点云平面特征集的场景点云线特征集。
10.在本技术的一实施例中,在得到相应的相交直线之后,根据实际平面点云的位置判断两个平面点云是否存在相交直线:若两个平面点云存在相交直线,则保留该相交直线,并以该相交直线为线特征;若两个平面点云不存在相交直线,则删除该相交直线。
11.在本技术的一实施例中,所述根据实际平面点云的位置判断两个平面点云是否存在相交直线,包括:基于所述相交直线对应的第一平面和第二平面,获取所述第一平面和所述第二平面对应的第一平面点云和第二平面点云,以及获取平面中每个点到相交直线的距离;分别遍历所述第一平面点云的每个点和所述第二平面点云的每个点,当点到所述相交直线的距离小于设定阈值时,认为该点在所述相交直线上,否则,认为该点不在所述相交直线上;当所述第一平面点云和所述第二平面点云都有大于设定数量的点在所述相交直线时,则认为所述第一平面点云和所述第二平面点云有相交直线,否则,认为所述第一平面点云和所述第二平面点云不存在相交直线。
12.在本技术的一实施例中,所述基于所述模型点云平面特征集、所述场景点云平面特征集、所述模型点云线特征集和所述场景点云线特征集,对所述模型点云和所述场景点云进行特征匹配,确定特征匹配关系,包括:对于所述第二模型点云平面特征集中每一平面特征,获取在所述第二场景点云平面特征集中与其匹配的平面特征;对于所述模型点云线
特征集中每一模型点云线特征,获取在所述场景点云线特征集中与其匹配的场景点云线特征;基于平面特征的匹配关系和线特征的匹配关系确定特征匹配关系。
13.在本技术的一实施例中,所述基于所述特征匹配关系,确定所述模型点云和所述场景点云的坐标变换关系,以对所述模型点云与所述场景点云配准,包括:设定初始坐标变换关系,基于所述特征匹配关系,根据所述初始坐标变换关系把模型点云变换到场景点云,并依据误差在所述特征匹配关系中构建误差项,基于所述误差项建立目标函数,进而对所述目标函数进行优化,确定最优坐标变换关系,依据所述最优坐标变化关系对所述模型点云与所述场景点云进行配准。
14.在本技术的一实施例中,在获取场景的三维模型和场景点云之后,还包括:根据所述模型点云和所述场景点云的空间大小,分别对所述模型点云和所述场景点云进行体素化处理,进而对体素化处理后的模型点云的每个体素中点云数据进行平面提取,得到第一模型点云平面特征集以及每个平面的点云数据;以及对体素化处理后的场景点云的每个体素中点云数据进行平面提取,得到第一场景点云平面特征集以及每个平面的点云数据。
15.为解决上述技术问题,本技术采用的另一个技术方案是:提供一种点云数据配准系统,包括:获取模块,用于获取场景的三维模型和场景点云,基于所述三维模型的顶点坐标获取模型点云;第一提取模块,用于对所述模型点云和所述场景点云进行平面特征提取,分别得到模型点云平面特征集和场景点云平面特征集;第二提取模块,用于根据所述模型点云平面特征集和所述场景点云平面特征集对所述模型点云和所述场景点云进行线特征提取,得到对应的模型点云线特征集和场景点云线特征集;匹配模块,基于所述模型点云平面特征集、所述场景点云平面特征集、所述模型点云线特征集和所述场景点云线特征集,对所述模型点云和所述场景点云进行特征匹配,确定特征匹配关系;确定模块,基于所述特征匹配关系,确定所述模型点云和所述场景点云的坐标变换关系,以对所述模型点云与所述场景点云配准。
16.为解决上述技术问题,本技术采用的再一个技术方案是:提供一种电子设备,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
17.为解决上述技术问题,本技术采用的又一个技术方案是:提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
18.区别于现有技术,本技术提供的点云数据配准方法,包括:获取场景的三维模型和场景点云,基于所述三维模型的顶点坐标获取模型点云;对所述模型点云和所述场景点云进行平面特征提取,分别得到模型点云平面特征集和场景点云平面特征集;根据所述模型点云平面特征集和所述场景点云平面特征集对所述模型点云和所述场景点云进行线特征提取,得到对应的模型点云线特征集和场景点云线特征集;基于所述模型点云平面特征集、所述场景点云平面特征集、所述模型点云线特征集和所述场景点云线特征集,对所述模型点云和所述场景点云进行特征匹配,确定特征匹配关系;基于所述特征匹配关系,确定所述模型点云和所述场景点云的坐标变换关系,以对所述模型点云与所述场景点云配准;通过三维模型和场景点云的平面特征和线特征进行配准,可提升配准速度同时提高配准精度,提高配准效率。
附图说明
19.图1是本发明点云数据配准方法一实施例的流程示意图;
20.图2是本发明步骤s1一实施例的流程示意图;
21.图3是本发明步骤s2一实施例的流程示意图;
22.图4是本发明步骤s2后一实施例的流程示意图;
23.图5是本发明步骤s23一实施例的流程示意图;
24.图6是本发明步骤s3一实施例的流程示意图;
25.图7是本发明相交直线判断步骤一实施例的流程示意图;
26.图8是本发明步骤s4一实施例的流程示意图;
27.图9是本发明点云数据配准系统一实施例的结构示意图;
28.图10是本发明电子设备一实施例的结构示意图;
29.图11是本发明计算机可读存储介质一实施例的结构示意图。
具体实施方式
30.下面结合附图和实施例,对本发明作进一步的详细描述。特别指出的是,以下实施例仅用于说明本发明,但不对本发明的范围进行限定。同样的,以下实施例仅为本发明的部分实施例而非全部实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
31.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
32.传统的点云配准方法,主要是直接在点云和点云之间进行配准,且采用icp等配准方式,通过迭代计算点与点之间的距离来确定匹配点,然而在大规模场景下,要对大量点云数据进行配准时,其耗时显著增加,配准效率较低,并且有可能陷入局部最优而导致匹配不准等问题。
33.申请人在研究中发现,对于大量点云数据进行配准的情况,若是提取一些主要特征值来表示对应的点云数据关系,可显著降低配准所需时间,进而提高配准效率,并且能有效避免陷入局部最优的情况。
34.因此,提出一种新的点云数据配准方法,通过获取场景的三维模型的模型点云和场景点云,基于模型点云和场景点云提取平面特征,依据平面特征提取线特征,根据平面特征和线特征进行特征匹配,确定特征匹配关系,基于特征匹配关系确定模型点云和场景点云的坐标变换关系,以对模型点云和场景点云进行配准。
35.请参阅图1,图1是本发明点云数据配准方法一实施例的流程示意图;需注意的是,若有实质上相同的结果,本发明的方法并不以图1所示的流程顺序为限,如图1所示,该方法包括如下步骤:
36.s1、获取场景的三维模型和场景点云,基于三维模型的顶点坐标获取模型点云;
37.参阅图2,图2是步骤s1一实施例的流程示意图,步骤s1包括:
38.s11、获取场景的三维模型和场景的场景点云;
39.三维模型是物体的多边形表示,通常用计算机或者其它视频设备进行显示。显示的物体可以是现实世界的实体,也可以是虚构的物体;任何物理自然界存在的东西都可以用三维模型表示;其中,场景可以是待配准场景,对于已配准场景,则可以用来校验,三维模型是场景的三维模型,通过三维建模工具生成或者其他方式生成。场景点云是标准的点云数据,即在三维坐标系统中的一组向量的集合,包含有几何位置信息。
40.具体地,对于场景,通过三维建模工具生成对应的三维模型,并依据标准的点云数据获取场景对应的场景点云q。
41.s12、获取三维模型的顶点坐标以构建模型点云。
42.具体地,获取三维模型的所有顶点坐标,得到构成三维模型的顶点数据,由该顶点数据组成模型点云m。
43.在一些实施例中,在获取场景的三维模型和场景点云之后,还包括:根据模型点云m和场景点云q的空间大小,分别对模型点云m和场景点云q进行体素化处理,进而对体素化处理后的模型点云的每个体素中点云数据进行平面提取,得到第一模型点云平面特征集以及每个平面的点云数据;以及对体素化处理后的场景点云的每个体素中点云数据进行平面提取,得到第一场景点云平面特征集以及每个平面的点云数据。
44.体素化中的体素是体积元素(volume pixel)的简称,包含体素的立体可以通过立体渲染或者提取给定阈值轮廓的多边形等值面表现出来,是数字数据于三维空间分割上的最小单位,一些三维显示器运用体素来描述显示器的分辨率,如可以显示512
×
512
×
512体素的显示器;
45.具体地,根据模型点云m和场景点云q所占空间的大小,分别对模型点云m和场景点云q通过立体渲染或者提取给定阈值轮廓的多边形等值面表现出来,即进行体素化处理。
46.s2、对模型点云和场景点云进行平面特征提取,分别得到模型点云平面特征集和场景点云平面特征集;
47.参阅图3,图3是步骤s2一实施例的流程示意图,步骤s2包括:
48.s21、对模型点云进行平面特征提取,得到第一模型点云平面特征集;
49.在一些实施例中,对体素化处理后模型点云的每一个体素中的点云数据进行平面提取,得到第一模型点云平面特征集。
50.具体地,对场景三维模型的模型点云通过ransac的方法进行平面提取,得到一组平面特征集合sm={p1,p2,

,pm}以及每个平面对应的点云数据;其中sm表示从模型点云m中提取到的所有平面特征,pi表示从点云中提取到的第i个平面,可以用如下平面方程来表示:
51.ni·
(p-ci)=0
52.其中,ni=(nxi,nyi,nzi)表示平面i的法向量,是一个单位向量,而ci=(cxi,cyi,nzi)表示平面i的中心点,p表示三维空间中任一点的坐标;
53.s22、对场景点云进行平面特征提取,得到第一场景点云平面特征集。
54.在一些实施例中,对体素化处理后场景点云的每一个体素中的点云数据进行平面提取,得到第一场景点云平面特征集。
55.具体地,对场景的场景点云通过ransac的方法进行平面提取,得到一组平面特征集合sq={p1,p2,

,pn}以及每一个平面对应的点云数据;其中,sq表示从场景点云q中提取
到的所有平面特征,pi表示从点云中提取到的第i个平面,可以用如下平面方程来表示:
56.ni·
(p-ci)=0
57.其中,ni=(nxi,nyi,nzi)表示平面i的法向量,是一个单位向量,而ci=(cxi,cyi,nzi)表示平面i的中心点,p表示三维空间中任一点的坐标。
58.参阅图4,图4是步骤s2后一实施例的流程示意图,即步骤s22后还包括步骤s23的平面合并:
59.s23、对第一模型点云平面特征集和第一场景点云平面特征集进行平面合并,得到对应的第二模型点云平面特征集和第二场景点云平面特征集。
60.具体地,对模型点云m和场景点云q提取到的平面集合sm和sq,分别进行平面合并的操作,把属于同一个平面的点云进行合并,去除重复的平面,并对合并后的平面进行更新,得到新的平面特征集s'm={p1,p2,

,pk}和s'q={p1,p2,

,ph}以及每一个平面对应的点云。
61.参阅图5,图5是步骤s23一实施例的流程示意图,步骤s23包括:
62.s231、遍历第一模型点云平面特征集的所有平面,对第一模型点云平面特征集中同属一平面的点云数据进行合并,更新合并后的平面,进而获取第二模型点云平面特征集;
63.具体地,对于平面特征集合sm其中一个平面pi,遍历平面特征集合sm中剩余的所有平面,当满足如下条件时:
[0064][0065]
则表明平面pi和满足条件的平面为同一个平面,例如平面pi和平面pj是同一个平面,此时就可以把平面pj去除掉,同时把属于平面pj的点与平面pi中的点合并。上式中的thres1和thres2分别为设定的阈值;
[0066]
遍历完平面特征集合sm中的每一个平面,此时已经把重复的平面去除,并且相同平面的点也已经合并到一起,接下来就对合并后的点云重新进行平面拟合,得到新的平面特征集合s'm,即第二模型点云平面特征集。
[0067]
s232、遍历第一场景点云平面特征集的所有平面,对第一场景点云平面特征集中同属一平面的点云数据进行合并,更新合并后的平面,进而获取第二场景点云平面特征集;
[0068]
具体地,对于平面特征集合sq其中一个平面,采用如同平面特征集合sm的处理方式,遍历平面特征集合sq中剩余的所有平面,对平面进行平面合并;
[0069]
遍历完平面特征集合sq中的每一个平面,此时已经把重复的平面去除,并且相同平面的点也已经合并到一起,接下来就对合并后的点云重新进行平面拟合,得到新的平面特征集合s'q,即第二场景点云平面特征集。
[0070]
s3、根据模型点云平面特征集和场景点云平面特征集对模型点云和场景点云进行线特征提取,得到对应的模型点云线特征集和场景点云线特征集;
[0071]
具体地,对于第二模型点云平面特征集s'm和第二场景点云平面特征集s'q,利用相交平面之间所交的直线,分别提取模型点云m和场景点云q中的线特征,得到相应的线特征集lm={l1,l2,

,la}和lq={l1,l2,

,lb},分别对应模型点云线特征集和场景点云线特征
集,其中模型点云线特征集lm是根据第二模型点云平面特征集s'm中的平面相交所得,场景点云线特征集lq是根据第二场景点云平面特征集s'q中的平面相交所得,li表示第i个线特征,采用如下方式表示:
[0072][0073]
其中,di=(ui,vi,wi)表示线特征li的方向,pi=(xi,yi,zi)表示线特征li上的一点。
[0074]
参阅图6,图6是步骤s3一实施例的流程示意图,步骤s3包括:
[0075]
s31、基于第二模型点云平面特征集中平面之间相交的直线,确定并提取对应的模型点云线特征集;
[0076]
在一些实施例中,基于第二模型点云平面特征集确定一选取平面,遍历第二模型点云平面特征集中剩余的平面,获取与选取平面相交的其他平面,进而得到相应的相交直线,确定相交直线为模型点云线特征,依据模型点云线特征确定第二模型点云平面特征集的模型点云线特征集;
[0077]
例如:以第二模型点云平面特征集s'm中的平面特征为例,对于其中某一个平面pi,遍历第二模型点云平面特征集s'm中剩余的所有平面,找出可能与平面pi相交的所有平面;其中,判断平面是否相交的条件如下:
[0078]
|ni·
nj|《thres3[0079]
其中,ni和nj分别表示平面pi和平面pj的法向量,thres3是设定的阈值。
[0080]
假设平面pi和平面pj相交,则相交直线li的方向di用以下方式得到:
[0081][0082]
其中,上述公式表示n1和n2的叉乘,而直线上一点pi可以通过联立平面方程组得到:
[0083][0084]
zi随意取一个值,联立上述方程组就可以解得相应的xi和yi,从而得到直线上一点pi=(xi,yi,zi);
[0085]
求得直线方程后,还需要根据实际平面点云的位置判断两块平面点云是否真的相交出了该直线,如果两块点云存在相交直线,即共线区域,则保留该线特征。
[0086]
找出第二模型点云平面特征集s'm中的所有线特征,进而得到模型点云线特征集lm。
[0087]
s32、基于第二场景点云平面特征集中平面之间相交的直线,确定并提取对应的场景点云线特征集;
[0088]
在一些实施例中,基于第二场景点云平面特征集确定一选取平面,遍历第二场景点云平面特征集中剩余的平面,获取与选取平面相交的其他平面,进而得到相应的相交直线,确定相交直线为场景点云线特征,依据场景点云线特征确定第二场景点云平面特征集的场景点云线特征集;具体采用如步骤s31的处理过程,找出第二场景点云平面特征集s'q中的所有线特征,进而得到场景点云线特征集lq。
[0089]
在一些实施例中,在得到相应的相交直线之后,根据实际平面点云的位置判断两个平面点云是否存在相交直线:若两个平面点云存在相交直线,则保留该相交直线,并以该相交直线为线特征;若两个平面点云不存在相交直线,则删除该相交直线。
[0090]
参阅图7,图7为判断步骤一实施例的流程示意图,判断两个平面点云是否存在相交直线,包括:
[0091]
步骤a、基于相交直线对应的第一平面和第二平面,获取第一平面和第二平面对应的第一平面点云和第二平面点云,以及获取平面中每个点到相交直线的距离;例如:对于平面pi和平面pj,可以得到它们对应的平面点云,假设平面点云分别为pci和pcj,则对于平面中的每一个点p,可以按照如下公式计算其到相交直线的距离:
[0092]
d=||(p-pi)
×di
||;
[0093]
步骤b、分别遍历第一平面点云的每个点和第二平面点云的每个点,当点到相交直线的距离小于设定阈值时,认为该点在相交直线上,否则,认为该点不在相交直线上;例如:分别遍历pci和pcj中的每一个点,按照上述公式计算其到直线的距离,当d《thres4时,则认为该点在相交直线li上;
[0094]
步骤c、当第一平面点云和第二平面点云都有大于设定数量的点在相交直线时,则认为第一平面点云和第二平面点云有相交直线,否则,认为第一平面点云和第二平面点云不存在相交直线;例如:只有当pci和pcj中都有一定数量的点在相交直线li上时,才认为平面pi和平面pj相交出了相交直线li,否则认为平面点云pci和pcj不存在相交直线。
[0095]
s4、基于模型点云平面特征集、场景点云平面特征集、模型点云线特征集和场景点云线特征集,对模型点云和场景点云进行特征匹配,确定特征匹配关系;
[0096]
参阅图8,图8是步骤s4一实施例的流程示意图,步骤s4包括:
[0097]
s41、对于第二模型点云平面特征集中每一平面特征,获取在第二场景点云平面特征集中与其匹配的平面特征;
[0098]
具体地,对于第二模型点云平面特征集s'm中每一个平面特征,在第二场景点云平面特征集s'q中寻找与其对应的平面,方式如下:
[0099][0100]
其中,na·
(p-ca)=0表示第二模型点云平面特征集s'm中的平面特征,nb·
(p-cb)=0表示第二场景点云平面特征集s'q中的平面特征,当两个平面满足上述关系时,则认为两个平面是匹配的。
[0101]
s42、对于模型点云线特征集中每一模型点云线特征,获取在场景点云线特征集中与其匹配的场景点云线特征;
[0102]
具体地,对于模型点云线特征集lm中的每一个线特征,在场景点云线特征集lq中寻找与其对应的直线,具体方式如下:
[0103][0104]
其中,(da,pa)表示模型点云线特征集lm中的线特征,(db,pb)表示场景点云线特征集lq中的线特征,当两个线特征满足上述关系时,则认为这两条直线是匹配的。
[0105]
s43、基于平面特征的匹配关系和线特征的匹配关系确定特征匹配关系。
[0106]
s5、基于特征匹配关系,确定模型点云和场景点云的坐标变换关系,以对模型点云与场景点云配准。
[0107]
具体地,设定初始坐标变换关系,基于特征匹配关系,根据初始坐标变换关系把模型点云变换到场景点云,并依据误差在特征匹配关系中构建误差项,基于误差项建立目标函数,进而对目标函数进行优化,确定最优坐标变换关系,依据最优坐标变化关系对模型点云与场景点云进行配准。
[0108]
在一些实施例中,根据上述步骤确定的特征匹配关系,可以求解出模型点云m和点云q之间的坐标变换,从而实现模型和点云的配准。
[0109]
假设待求的坐标变换矩阵为(r,t),它表示模型到点云的变换,其中r表示旋转矩阵,t表示平移矩阵,则坐标变换矩阵的具体求解过程如下:
[0110]
根据特征匹配关系,当应用坐标变换矩阵(r,t)把模型点云m变换到场景点云q的坐标系下时,匹配的特征将满足如下关系:
[0111]
对于平面特征有:
[0112][0113]
对于线特征有:
[0114][0115]
由于误差的存在,上述两个公式中的等式并不会完全相等,因此将上述两个公式转换成以下形式:
[0116]
对于平面特征有:
[0117][0118]
对于线特征有:
[0119][0120]
根据转换后的公式,从匹配的平面特征和线特征中构建出4个误差项,进而构建目标函数:
[0121][0122]
通过优化目标函数的方法,当目标函数最小时,就可以得到一个最优的变换矩阵,此变换矩阵即为所求的模型到点云的坐标变换矩阵。
[0123]
区别于现有技术,本实施例中,通过获取场景的三维模型和场景点云,基于三维模型的顶点坐标获取模型点云;对模型点云和场景点云进行平面特征提取,分别得到模型点云平面特征集和场景点云平面特征集;根据模型点云平面特征集和场景点云平面特征集对模型点云和场景点云进行线特征提取,得到对应的模型点云线特征集和场景点云线特征
集;基于模型点云平面特征集、场景点云平面特征集、模型点云线特征集和场景点云线特征集,对模型点云和场景点云进行特征匹配,确定特征匹配关系;基于特征匹配关系,确定模型点云和场景点云的坐标变换关系,以对模型点云与场景点云配准;通过三维模型和场景点云的平面特征和线特征进行配准,可提升配准速度同时提高配准精度,提高配准效率,且不会陷入局部最优的情况。
[0124]
请参阅图9,图9是本发明点云数据配准系统一实施例的结构示意图。该系统可以执行上述方法中点云数据配准执行的步骤。相关内容请参见上述方法中的详细说明,在此不再赘叙。
[0125]
该系统600包括:获取模块610、第一提取模块620、第二提取模块630、匹配模块640、确定模块650;其中,获取模块610用于获取场景的三维模型和场景点云,基于三维模型的顶点坐标获取模型点云;第一提取模块620用于对模型点云和场景点云进行平面特征提取,分别得到模型点云平面特征集和场景点云平面特征集;第二提取模块630用于根据模型点云平面特征集和场景点云平面特征集对模型点云和场景点云进行线特征提取,得到对应的模型点云线特征集和场景点云线特征集;匹配模块640基于模型点云平面特征集、场景点云平面特征集、模型点云线特征集和场景点云线特征集,对模型点云和场景点云进行特征匹配,确定特征匹配关系;确定模块650基于特征匹配关系,确定模型点云和场景点云的坐标变换关系,以对模型点云与场景点云配准。
[0126]
请参阅图10,图10是本发明电子设备一实施例的结构示意图。该电子设备可以执行上述方法中点云数据配准执行的步骤。
[0127]
该电子设备700包括存储器720、处理器710以及存储在存储器720中并可在处理器710上运行的计算机程序;处理器710在执行该计算机程序时,可以执行上述方法中点云数据配准执行的步骤,相关内容请参见上述方法中的详细说明,在此不再赘叙。
[0128]
请参阅图11,图11是本发明计算机可读存储介质一实施例的结构示意图。该计算机可读存储介质800存储有计算机程序810,该计算机程序810被处理器执行时实现上述方法中点云数据配准执行的步骤。相关内容请参见上述方法中的详细说明,在此不再赘叙。
[0129]
以上方案,通过获取场景的三维模型的模型点云和场景点云,基于模型点云和场景点云提取平面特征,依据平面特征提取线特征,根据平面特征和线特征进行特征匹配,确定特征匹配关系,基于特征匹配关系确定模型点云和场景点云的坐标变换关系,以对模型点云和场景点云进行配准,在大量点云数据配准过程中,通过三维模型和场景点云的平面特征和线特征进行配准,可提升配准速度同时提高配准精度,提高配准效率,且不会陷入局部最优的情况。
[0130]
在本发明所提供的几个实施方式中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0131]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个
网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
[0132]
另外,在本发明各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0133]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0134]
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1