基于点云数据的基元检测方法、装置和计算机设备

文档序号:30935611发布日期:2022-07-30 01:06阅读:243来源:国知局
基于点云数据的基元检测方法、装置和计算机设备

1.本技术涉及人工智能技术领域,特别是涉及一种基于点云数据的基元检测方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.通过各种三维传感器(如kinect、激光雷达等)扫描获取的点云数据能够保存物体和周围环境的空间、颜色、强度等信息,但不便于人们进行直接的理解和分析。而且由于点云数据本身稀疏、嘈杂且无序,使得人们无法直接通过点云数据获得一个准确的高级抽象语义。也就是说,在点云数据所表达的低级视觉特征和人们所能处理的高级抽象语义之间存在着理解的鸿沟。而通过检测点云数据当中普遍存在的几何基元,人们能够建立跨越这道鸿沟的桥梁。传统的基元检测方式是通过预测人造物体点云数据中每一个点所属的基元以及基元属性,从而将点云数据拟合为几何基元。
3.然而传统方式采用的是孤立的基元检测方式,当人造物体结构较复杂时,容易出现检测错误,导致基元检测准确性较低。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高基元检测准确性的基于点云数据的基元检测方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,本技术提供了一种基于点云数据的基元检测方法。该方法包括:将获取的样本点云数据输入至待训练的基元检测模型中,确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数;通过待训练的基元检测模型根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系;根据全局结构关系中的错误结构关系,对待训练的基元检测模型进行约束,得到预先训练的基元检测模型;通过预先训练的基元检测模型对获取到的待检测点云数据进行基元检测。
6.在其中一个实施例中,将获取的样本点云数据输入至待训练的基元检测模型中,确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数包括:通过待训练的基元检测模型对样本点云数据进行特征提取,得到样本点云数据对应的高维特征;通过待训练的基元检测模型根据高维特征确定样本点云数据对应的多个样本基元,预测各样本基元对应的样本基元类型;通过待训练的基元检测模型根据各样本基元的样本基元类型以及样本点云数据对相应样本基元进行参数化拟合,得到各样本基元对应的几何参数。
7.在其中一个实施例中,通过待训练的基元检测模型对样本点云数据进行特征提取,得到样本点云数据对应的高维特征包括:
通过待训练的基元检测模型提取样本点云数据对应的浅层特征;通过待训练的基元检测模型提取样本点云数据对应的深层特征;将浅层特征以及深层特征进行组合,得到样本点云数据对应的高维特征。
8.在其中一个实施例中,通过待训练的基元检测模型根据高维特征确定样本点云数据对应的多个样本基元,预测各样本基元对应的样本基元类型包括:通过待训练的基元检测模型根据高维特征对样本点云数据进行分类,得到样本点云数据中各点的原始基元类型;通过待训练的基元检测模型根据高维特征将样本点云数据分割为多个样本基元;通过待训练的基元检测模型在各样本基元对应的点的原始基元类型中选取数量最多的原始基元类型确定为相应样本基元的样本基元类型。
9.在其中一个实施例中,通过待训练的基元检测模型根据高维特征将样本点云数据分割为多个样本基元包括:通过待训练的基元检测模型根据高维特征预测样本点云数据中各点的空间偏移量;根据各点的空间偏移量计算相应点的空间偏移结果;根据样本点云数据中各点的空间偏移结果以及高维特征将样本点云数据分割为多个样本基元。
10.在其中一个实施例中,通过预先训练的基元检测模型对获取到的待检测点云数据进行基元检测包括:获取待检测点云数据;将待检测点云数据输入至预先训练的基元检测模型中,确定待检测点云数据对应的多个待检测基元,拟合各待检测基元对应的几何参数,得到基元检测结果。
11.第二方面,本技术还提供了一种基于点云数据的基元检测装置。该装置包括:几何参数预测模块,用于将获取的样本点云数据输入至待训练的基元检测模型中,确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数;全局结构关系提取模块,用于通过待训练的基元检测模型根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系;训练模块,用于根据全局结构关系中的错误结构关系,对待训练的基元检测模型进行约束,得到预先训练的基元检测模型;基元检测模块,用于通过预先训练的基元检测模型对获取到的待检测点云数据进行基元检测。
12.第三方面,本技术还提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:将获取的样本点云数据输入至待训练的基元检测模型中,确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数;通过待训练的基元检测模型根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系;根据全局结构关系中的错误结构关系,对待训练的基元检测模型进行约束,得到预先训练的基元检测模型;
通过预先训练的基元检测模型对获取到的待检测点云数据进行基元检测。
13.第四方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:将获取的样本点云数据输入至待训练的基元检测模型中,确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数;通过待训练的基元检测模型根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系;根据全局结构关系中的错误结构关系,对待训练的基元检测模型进行约束,得到预先训练的基元检测模型;通过预先训练的基元检测模型对获取到的待检测点云数据进行基元检测。
14.第五方面,本技术还提供了一种计算机程序产品。计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:将获取的样本点云数据输入至待训练的基元检测模型中,确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数;通过待训练的基元检测模型根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系;根据全局结构关系中的错误结构关系,对待训练的基元检测模型进行约束,得到预先训练的基元检测模型;上述基于点云数据的基元检测方法、装置、计算机设备、存储介质和计算机程序产品,通过待训练的基元检测模型确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数,然后根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系,从而根据提取的全局结构关系中的错误结构关系,对待训练的基元检测模型进行约束,得到预先训练的基元检测模型,进而通过预先训练的基元检测模型对获取到的待检测点云数据进行基元检测。由于预先训练的基元检测模型是基于提取的多个样本基元之间的全局结构关系进行训练得到的,能够更准确地判断待检测点云数据中所包含的几何基元在整体的待检测点云数据中的结构关系,能够提高基元检测的准确性。
附图说明
15.图1为一个实施例中基于点云数据的基元检测方法的应用环境图;图2为一个实施例中基于点云数据的基元检测方法的流程示意图;图3为一个实施例中一个实施例中通过待训练的基元检测模型根据高维特征将样本点云数据分割为多个样本基元步骤的流程示意图;图4为一个实施例中点p0的空间偏移预测过程的示意图;图5为一个实施例中待训练的基元检测模型的网络结构示意图;图6为一个实施例中特征提取层的优化过程;图7为另一个实施例中基于点云数据的基元检测方法的流程示意图;图8为一个实施例中relationnet中空间偏移预测层的结果示意图;图9为一个实施例中基于点云数据的基元检测装置的结构框图;图10为一个实施例中计算机设备的内部结构图;
图11为另一个实施例中计算机设备的内部结构图。
具体实施方式
16.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
17.本技术实施例提供的基于点云数据的基元检测方法,可以应用于如图1所示的应用环境中。其中,三维扫描设备102通过网络与计算机设备104进行通信。三维扫描设备102用于扫描周围环境,采集周围环境中人造物体的原始点云数据,将采集到的原始点云数据发送至计算机设备104。计算机设备104在原始点云数据中提取样本点云数据,根据样本点云数据训练基元检测模型,通过预先训练的基元检测模型进行基元检测。其中,三维扫描设备102可以是激光扫描设备、基于深度相机的三维扫描系统等。计算机设备104可以是终端或服务器。终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、智能车载设备等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
18.在一个实施例中,如图2所示,提供了一种基于点云数据的基元检测方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:步骤202,将获取的样本点云数据输入至待训练的基元检测模型中,确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数。
19.其中,样本点云数据是指用于训练基元检测模型的点云数据。样本基元是指样本点云数据中所包含的基元,用于对人造物体进行抽象表示。
20.具体地,在基元检测模型的训练过程中,三维扫描设备对周围环境中的人造物体进行扫描,将扫描的信息以点云形式进行记录,得到原始点云数据。原始点云数据是海量点的集合,一个点可以包括三维坐标和表面法向量,还可以包括颜色信息(rgb)、激光反射强度(intensity)等。三维扫描设备将采集到的原始点云数据发送至计算机设备。计算机设备在原始点云数据中提取各点的三维坐标以及表面法向量,将提取的多个点的三维坐标以及表面法向量进行叠加,得到样本点云数据。例如,三维坐标为三维向量,表面法向量为三维向量,叠加之后得到的样本点云数据为六维向量。
21.计算机设备中存储有待训练的基元检测模型。待训练的基元检测模型可以是深度学习模型,如relationnet。在获取到样本点云数据后,计算机设备调用待训练的基元检测模型,将获取的样本点云数据输入至待训练的基元检测模型中,通过待训练的基元检测模型来预测样本点云数据对应的多个样本基元,样本基元可以包括平面、球体、圆柱、圆锥、开样条曲线、闭样条曲线等。之后,通过对各样本基元进行参数化拟合,得到各样本基元对应的几何参数。例如,平面对应的几何参数可以是平面法向量和平面与原点的距离。球体对应的几何参数可以是球心和半径。圆柱对应的几何参数可以是圆心、半径和轴线方向向量。圆锥对应的几何参数可以是顶点、夹角和轴线方向向量。开/闭样条曲线对应的几何参数可以是20*20控制点网格。
22.步骤204,通过待训练的基元检测模型根据各样本基元对应的几何参数提取多个
样本基元之间的全局结构关系。
23.其中,全局结构关系是指多个样本基元在物体朝向、摆放位置和尺寸等之间的几何关系。全局结构关系用于对预测出的各样本基元的几何参数进行约束,以获得一个更加干净、整洁的几何基元检测结果。全局结构关系可以包括组成人造物体的平面、球体、圆柱、圆锥等样本基元之间存在的平行、垂直、轴对齐等几何关系。
24.具体地,通过待训练的基元检测模型将多个样本基元进行两两组合生成原始候选集。原始候选集可以包括多个基元对。通过待训练的基元检测模型根据各基元对的几何参数计算该基元对中两个样本基元对应的全局结构关系。
25.可选地,由于部分样本基元的全局结构关系难以定义,例如,球体之间无法确定平行与垂直关系,圆柱和平面之间不存在轴对齐关系,则将这些样本基元从对应的全局结构关系中进行排除。具体地,通过待训练的基元检测模型识别原始候选集中的每一个基元对是否满足预设的全局结构关系。将原始候选集中不满足预设的全局结构关系的基元对进行排除处理,得到目标候选集。例如,球体和平面的两两组合并不适合上述所提及的三种全局结构关系,因此将该基元对排除出原始候选集。进而通过待训练的基元检测模型根据目标候选集中各样本基元对应的几何参数提取目标候选集中各基元对之间的全局结构关系。
26.示例性地,对样本基元之间存在的平行、垂直、轴对齐这三种全局结构关系进行说明。
27.(1)平行与垂直平行与垂直是人造物体的样本基元当中存在最广泛的全局结构关系之一。为了提取样本基元之间的这种朝向关系,可以利用平面法向量、圆柱与圆锥的轴线方向向量作为样本基元的方向向量,进而判断样本基元之间的平行与垂直关系。
28.可选地,当样本基元xi和xj存在平行关系时,其方向向量应满足:
ꢀꢀ
(1)当两者存在垂直关系时,其方向向量应满足:
ꢀꢀ
(2)其中,表示样本基元xi的方向向量,表示样本基元xj的方向向量。
29.可选地,由于样本点云数据的稀疏性和噪声的影响,根据各样本基元对应的几何参数提取样本基元之间的平行与垂直关系时,还可以允许存在10
°
的误差。如,当两个样本基元的方向向量夹角为处于[85
°
,95
°
]之间,可以认为两者属于垂直关系。再如,当两个样本基元的方向向量夹角为处于[0
°
,10
°
]或者[170
°
,180
°
]之间,可以认为两者属于垂直关系。
[0030]
(2)轴对齐对齐是人造物体当中广泛存在的一个特点,这一特点使得来自不同样本基元的中心点和轴线位于同一延长线上,可以将样本基元之间存在的这种关系称为轴对齐关系。轴对齐常见于球体、圆柱和圆锥三种几何基元之间,可以包括以下两种情况:一种是球心位于圆柱或圆锥轴线延长线上,另一种是圆柱和圆锥的轴线位于同一延长线上。
[0031]
针对第一种情况,可以直接计算球体球心到轴线延长线的距离。对于球体球心o(x0,y0,z0)和另一样本基元的轴线,球心o到轴线的距离d可以表示为:(3)当待训练的基元检测模型计算得到的球心与圆柱或圆锥的轴线之间的距离小于预设距离阈值时,则确定球与圆柱或圆锥存在轴对齐关系。例如,预设距离阈值可以是0.05。
[0032]
针对第二种情况,在本实施例中,待训练的基元检测模型并不直接计算两条轴线的位置是否属于同一延长线上,而是选取圆柱的圆心或圆锥的顶点,利用上述情况一的方法计算其到另一基元的轴线延长线的距离,其计算方法如上式(3)所示。
[0033]
步骤206,根据全局结构关系中的错误结构关系,对待训练的基元检测模型进行约束,得到预先训练的基元检测模型。
[0034]
将提取的全局结构关系与预设的标注关系进行比对,当比对不一致时,确定该全局结构关系为错误结构关系。根据错误结构关系以及预设全局结构关系损失函数计算全局结构关系损失。具体地,预设全局结构关系损失函数可以包括平行结构关系损失函数、垂直结构关系损失函数以及轴对齐关系损失函数。
[0035]
当错误结构关系包括平行、垂直以及轴对齐关系时,可以将错误结构关系对应的基元对划分为r
pa
、r
ot
和r
al
三个集合,分别代表错误结构关系中存在平行、垂直、轴对齐关系的基元组合。例如,表示样本基元xi和xj之间存在平行关系。类似的,还可以根据提取的样本基元之间真实存在的全局结构关系,将对应的基元对分别保存在g
pa
、g
ot
和g
al
三个集合中,分别代表全局结构关系中存在平行、垂直、轴对齐关系的基元组合。
[0036]
对于平行关系,若两个样本基元xi和xj被误分类为平行,但实际上并不具有平行关系,则需要计算两个基元之间的平行结构关系损失,平行结构关系损失函数可以如下所示:(4)其中,表示平行结构关系损失,r
pa
表示错误结构关系中的平行关系基元组合,g
pa
表示全局结构关系中的平行关系基元组合,表示样本基元xi的方向向量,表示样本基元xj的方向向量。
[0037]
类似地,平行结构关系损失函数可以如下所示:(5)
其中,表示垂直结构关系损失,r
ot
表示错误结构关系中的垂直关系基元组合,g
ot
表示全局结构关系中的垂直关系基元组合,表示样本基元xi的方向向量,表示样本基元xj的方向向量。
[0038]
对于轴对齐关系,可以选择轴上一点m(x2,y2,z2)到达另一经过点且方向向量为的轴线的距离作为损失:(6)其中,表示轴对齐关系损失。
[0039]
将平行结构关系损失、垂直结构关系损失以及轴对齐关系损失进行求和,得到全局结构关系损失。进而根据全局结构关系损失对待训练的基元检测模型进行训练,当全局结构关系损失不再下降或者小于损失阈值时,停止模型训练,得到预先训练的基元检测模型。
[0040]
步骤208,通过预先训练的基元检测模型对获取到的待检测点云数据进行基元检测。
[0041]
在训练完成后,计算机设备在获取到的原始点云数据中提取各点的三维坐标以及表面法向量,将提取的多个点的三维坐标以及表面法向量进行叠加,得到待检测点云数据。将待检测点云数据输入至预先训练的基元检测模型中,通过预先训练的基元检测模型来确定待检测点云数据对应的多个待检测基元,拟合各待检测基元对应的几何参数,将确定的多个待检测基元以及各待检测基元对应的几何参数确定为基元检测结果。
[0042]
上述基于点云数据的基元检测方法中,通过待训练的基元检测模型确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数,然后根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系,从而根据提取的全局结构关系中的错误结构关系,对待训练的基元检测模型进行约束,得到预先训练的基元检测模型,进而通过预先训练的基元检测模型对获取到的待检测点云数据进行基元检测。由于预先训练的基元检测模型是基于提取的多个样本基元之间的全局结构关系进行训练得到的,能够更准确地判断待检测点云数据中所包含的几何基元在整体的待检测点云数据中的结构关系,能够提高基元检测的准确性。
[0043]
在一个实施例中,确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数包括:通过待训练的基元检测模型对样本点云数据进行特征提取,得到样本点云数据对应的高维特征;通过待训练的基元检测模型根据高维特征确定样本点云数据对应的多个样本基元,预测各样本基元对应的样本基元类型;通过待训练的基元检测模型根据各样本基元的样本基元类型以及样本点云数据对相应样本基元进行参数化拟合,得到各样本基元对应的几何参数。
[0044]
其中,高维特征是指包括全局结构信息和局部细节信息的特征。
[0045]
待训练的基元检测模型可以包括特征提取层、分类分割层、参数化拟合层和全局结构约束层。其中,特征提取层可以是dgcnn(dynamic graph cnn,动态图卷积网络)中的边
缘卷积层,具体是堆叠的三层边缘卷积层。通过待训练的基元检测模型中的特征提取层提取样本点云数据对应的高维特征。例如,特征提取层可以采用knn(k
‑ꢀ
nearest neighbor,k最近邻)算法以及max对称函数,对样本点云数据进行特征提取。对于具有n个点的样本点云数据其中,r表示实数,f表示维度,如f=6。特征提取层采用knn(k-nearest neighbor,k最近邻)算法寻找各点对应的k个邻域点,将多个点对应的邻域点组成的集合用ne来表示。根据多个点对应的邻域点构建无向图,其中,表示无向图中的顶点,表示无向图中的边。对于顶点vi而言,具有共k条边,代表了距离中心点pi最近的点分别为{p
ji1,


p
jik
}。因此,特征提取层在中心点pi处所提取到的高维特征可以表示为:(7)其中, 表示pi对应的高维特征,表示pi对应的k个邻域点的集合,pj表示pi对应的邻域点{p
ji1,


p
jik
},p
i-pj表示pi与各邻域点{p
ji1,


p
jik
}的距离,表示将pi的坐标,以及pi与各邻域点{p
ji1,


p
jik
}的距离,作为多层感知机mlp的输入,表示mlp的输出,表示采用max对称函数对mlp的输出进行聚集。
[0046]
通过采用max对称函数对mlp的输出进行聚集,能够避免由于样本点云数据的输入顺序不同而带来的输出结果不同。此外,相比单独使用点pi的特征或点pi与邻域点pj的距离作为多层感知机的输入,堆叠作为输入能够让提取的高维特征既保留了全局的结构信息又保留了邻域内的局部信息。随着待训练的基元检测模型训练的推进,特征提取层在寻找邻域点时将不仅以三维坐标进行距离的衡量,还将以在训练过程中学习到的高维特征进行距离的计算,从而达到对在三维空间中并不接近,但在特征空间具有较高相似度的点进行汇聚的目的。
[0047]
为了实现对全局结构关系的提取,将样本点云数据以及提取的高维特征作为分类分割层的输入,通过分类分割层根据高维特征对样本点云数据进行分类以及分割,得到分类结果以及分割结果,从而通过分类分割层根据分类结果确定分割结果中各样本基元对应的样本基元类型。
[0048]
通过待训练的基元检测模型中的参数化拟合层根据各样本基元的样本基元类型以及样本点云数据对相应样本基元进行参数化拟合,输出各样本基元对应的几何参数。其中,参数化拟合层可以采用spfn(supervised primitive fitting network,有监督基元拟合网络)或者splinenet(曲面拟合网络)的网络结构。
[0049]
根据输入的样本基元类型不同,参数化拟合层将输出不同种类的几何参数如下表1所示,为各样本基元对应的几何参数。
[0050]
表1 样本基元对应的几何参数
进一步地,当样本基元类型为开/闭样条曲面时,通过参数化拟合层采用spline-net的网络结构对开/闭样条曲面进行预测。spline-net同样基于dgcnn提出的边缘卷积层构建特征提取层,即参数化拟合层包括边缘卷积层构建的特征提取层,其输入是对应样条曲面的点集合并输出一个20*20的控制点网格用于表示该样条曲面。
[0051]
在本实施例中,通过待训练的基元检测模型提取样本点云数据的高维特征,由于高维特征中既包括全局结构信息又包含局部的细节内容,能够为后续确定样本点云数据对应的多个样本基元,预测各样本基元对应的样本基元类型,提供更丰富的上下文信息。进而通过待训练的基元检测模型根据各样本基元的样本基元类型以及样本点云数据对相应样本基元进行参数化拟合,能够得到更为准确的各样本基元对应的几何参数。
[0052]
在本实施例的一种可选方式中,通过待训练的基元检测模型对样本点云数据进行特征提取,得到样本点云数据对应的高维特征包括:通过待训练的基元检测模型提取样本点云数据对应的浅层特征;通过待训练的基元检测模型提取样本点云数据对应的深层特征;将浅层特征以及深层特征进行组合,得到样本点云数据对应的高维特征。
[0053]
在样本点云数据的特征提取阶段,通过待训练的基元检测模型中的特征提取层,基于三维空间中的邻域点提取浅层特征,能够捕获更多的局部特征并保留更多的细节信息。还可以基于高维空间中的邻域点提取深层特征,在扩大了感受野的同时提供了更抽象的全局特征信息。其中,三维空间中的邻域点以及高维空间中的邻域点可以是采用knn算法查找到的。为了缓解深层特征对于样本点云数据细节信息丢失的问题,特征提取层可以采用跳层连接的特征提取方法,将浅层特征与深层特征进行组合,得到样本点云数据对应的高维特征,使得最终提取的高维特征既包括全局结构信息又含有局部的细节内容。例如,高维特征可以是256维的高维特征。通过上述特征提取层,样本点云数据由原本的三维空间映射到了高维空间,其携带的高维特征能为后续基元分类分割提供更丰富的上下文信息。
[0054]
在该实施方式中,通过待训练的基元检测模型提取样本点云数据对应的浅层特征以及深层特征,从而将浅层特征以及深层特征进行组合,得到样本点云数据对应的高维特征,高维特征既包括全局结构信息又含有局部的细节内容,能为后续基元分类分割提供更丰富的上下文信息。
[0055]
在本实施例的一种可选方式中,通过待训练的基元检测模型根据高维特征确定样本点云数据对应的多个样本基元,预测各样本基元对应的样本基元类型包括:通过待训练的基元检测模型根据高维特征对样本点云数据进行分类,得到样本点云数据中各点的原始基元类型;通过待训练的基元检测模型根据高维特征将样本点云数据分割为多个样本基元;通过待训练的基元检测模型在各样本基元对应的点的原始基元类型中选取数量最多的原始基元类型确定为相应样本基元的样本基元类型。
[0056]
待训练的基元检测模型中包括分类分割层,通过分类分割层利用多层感知机根据
高维特征对样本点云数据进行逐点预测基元类型,得到样本点云数据中各点的原始基元类型。例如,多层感知机可以是两层全连接层。同时,通过分类分割层利用可微分的均值漂移算法根据高维特征将完整的样本点云数据进行聚类,将点云的高维特征向量转换为少量的基元实例标签,实现基元的分割。可微分的均值漂移算法能够嵌入待训练的基元检测模型中进行端到端的训练。
[0057]
在均值漂移过程中,若带宽越窄,则均值漂移的结果将会产生更多的聚类结果,也即将样本点云数据划分为更多的样本基元。而常见的人造物体中并不会包含过多的基元,因此分割出的基元数量超过一定阈值时,算法将会增大核函数的带宽,减少分割得到的基元数量。
[0058]
需要注意的是,由于基元分类与分割由两个不同的神经网络分支完成,所以不同的点所对应的基元类型与基元分割结果并无直接关系。即使是组成同一样本基元的点也可能存在着不同的样本基元类型,因此,最终一个样本基元对应的样本基元类型由组成该样本基元的所有点进行投票确定,即选取组成各样本基元的点对应的原始基元类型中数量最多的原始基元类型作为该样本基元对应的样本基元类型。
[0059]
在该实施方式中,通过待训练的基元检测模型同时根据高维特征对样本点云数据进行分类以及分割,进而在各样本基元对应的点的原始基元类型中选取数量最多的原始基元类型确定为相应样本基元的样本基元类型,能够得到准确的样本基元类型。
[0060]
在一个实施例中,如图3所示,通过待训练的基元检测模型根据高维特征将样本点云数据分割为多个样本基元包括:步骤302,通过待训练的基元检测模型根据高维特征预测样本点云数据中各点的空间偏移量。
[0061]
步骤304,根据各点的空间偏移量计算相应点的空间偏移结果。
[0062]
步骤306,根据样本点云数据中各点的空间偏移结果以及高维特征将样本点云数据分割为多个样本基元。
[0063]
其中,空间偏移量是指各点朝向物体中心的偏移量。空间偏移结果是指各点经过空间偏移后的位置坐标。
[0064]
待训练的基元检测模型的分类分割层中还可以包括空间偏移层。通过空间偏移层用于基元分割过程中将归属于同一个样本基元的点往其中心进行移动。
[0065]
具体地,将高维特征作为空间偏移层的输入,通过空间偏移层根据高维特征预测样本点云数据中各点的空间偏移量。在确定样本点云数据中各点对应的邻域点后,可以得到各点对应的邻域点的空间偏移量。针对样本点云数据中的各点,通过该点在空间偏移前的位置坐标以及该点对应的邻域点的空间偏移量,计算得到该点最终的空间偏移结果。具体地,对于样本点云数据而言,将点pi最终的空间偏移结果调整为pi的k邻域点空间偏移量的加和,这个调整过程可以称为邻域偏移聚合,邻域偏移聚合的计算公式可以如下所示:(8)
其中,表示在受到邻域点pj中某一邻域点的影响后,点pi最终的空间偏移位置,表示点pi在空间偏移前的位置坐标,表示指向 的方向向量,表示与之间距离的差值,将该差值作为权重,用于衡量邻域点对中心点pi的影响程度。
[0066]
示例性地,如图4所示,为一个实施例中点p0的空间偏移预测过程的示意图。邻域点p1、p
2 和p3,对于点p0空间偏移的影响既包含方向上的影响,也包含距离上的影响。表示点p0偏移后的空间偏移位置。
[0067]
由于后续的基元分割任务依赖于提取的高维特征,利用空间偏移层计算相应点的空间偏移结果,实现将每个点移向其各自样本基元的中心。从而根据高维特征以及各点的空间偏移结果将样本点云数据中同一类的相邻样本基元分离,使得高维特征能主动编码各个部件,即各样本基元的空间偏移结果,帮助后续任务更好地进行分类分割。
[0068]
本实施例中,通过增加空间偏移层,不仅能额外提供一个显式的约束,还能使得待训练的基元检测模型在基元分割过程中充分利用高维特征和空间偏移后的三维空间信息,实现信息的互补,大大提高了基元分割的准确性。
[0069]
在一个实施例中,在对待训练的基元检测模型的训练过程中,通过待训练的基元检测模型对样本点云数据进行高维特征提取、在基元分割过程中进行空间偏移预测、基元分类以及全局结构关系提取,在经过上述处理步骤后,通过计算上述各处理步骤的损失,来对待训练的基元检测模型进行训练。如图5所示,为待训练的基元检测模型的网络结构示意图。其中,点云坐标n*3表示点云坐标为三维向量,点云法向量n*3表示点云法向量为三维向量。点云特征提取器是指待训练的基元检测模型中的特征提取层,输入点云特征提取器的样本点云数据包括点云坐标n*3和点云法向量n*3,点云特征是指高维特征提取步骤所提取的高维特征。基元分类是指根据点云特征对样本点云数据进行逐点分类,得到样本点云数据中各点的原始基元类型。基元分割是指根据高维特征将样本点云数据分割为多个样本基元。参数化拟合器是指参数化拟合层,点云偏移是指预测样本点云数据中各点的空间偏移量,

是指将各点对应的邻域点的空间偏移量进行加和,偏移点是指各点的空间偏移结果。
[0070]
具体地,待训练的基元检测模型可以在提取全局结构关系之后,计算高维特征提取步骤对应的特征损失、空间偏移预测步骤对应的空间偏移损失、基元分类步骤对应的类型预测损失以及全局结构关系提取步骤对应的全局结构关系损失。从而根据特征损失与对应的特征损失权重,空间偏移损失与对应的空间偏移权重,类型预测损失与对应的类型预测权重,全局结构关系损失与对应的全局结构关系损失权重,以及预设损失计算关系计算待训练的基元检测模型的综合损失。根据综合损失对待训练的基元检测模型进行训练,直至综合损失不再下降或者到达预设迭代次数时,停止模型训练,得到预先训练的基元检测模型。
[0071]
进一步地,特征损失可以根据采用三元组损失函数对提取的高维特征进行损失计算,该损失函数会先从样本点云数据中随机选择一个点作为锚点pa,随后从与锚点归属于同一样本基元的点中选择一点作为类内点p
p
,再从其他不同样本基元中选择一点作为类外
点pn,将这三个点称为一个三元组t=《p
a,
p
p,
pn》,重复该过程生成三元组集合,则三元组集合t所对应的特征损失为:(9)其中,表示特征损失,ts表示三元组的数量,最大可以为30,表示三元组ti,表示类内点与类外点之间最少应拉开多大的距离,若值越大,代表两者之间需要的距离也越大,对于特征提取的要求也就越高。
[0072]
通过计算特征损失来训练基元检测模型,实现对特征提取层进行优化,特征提取层的优化过程可以如图6所示,通过优化特征提取层,使得来自同一样本基元的点在特征空间中相互靠近,而来自不同样本基元的点则能够互相远离,以增大不同样本基元之间的区分度。
[0073]
空间偏移损失可以根据如下公式进行计算:(10)其中,表示空间偏移损失,n表示样本点云数据中点的个数,表示点的空间偏移量,为点所在的样本基元的中心,通过在读取样本点云数据时,求解样本基元的三维包围盒的中心点得到的。
[0074]
类型预测损失可以采用交叉熵损失作为类型预测损失,其计算方式如下:(11)其中,表示类型预测损失,n表示样本点云数据中点的个数,表示样本点云数据中的点。
[0075]
全局结构关系损失的计算公式如上述公式(4)、(5)和(6)。
[0076]
进而根据特征损失与对应的特征权重,空间偏移损失与对应的空间偏移权重,类型预测损失与对应的类型预测权重,全局结构关系损失与对应的全局结构关系权重,以及预设损失计算关系计算待训练的基元检测模型的综合损失。预设损失计算关系是指综合损失的计算公式,可以如下所示:
ꢀꢀ
(12)其中,表示综合损失,表示空间偏移损失对应的空间偏移权重,表示空间偏移损失,表示特征损失对应的特征权重,表示特征损失,表示类型
预测损失对应的类型预测权重,表示全局结构关系损失对应的全局结构关系权重,表示类型预测损失,表示平行结构关系损失,表示垂直结构关系损失,表示轴对齐关系损失。例如,=10,=1.5,=0.5,=0.1。
[0077]
在本实施例中,通过计算高维特征提取步骤对应的特征损失、空间偏移预测步骤对应的空间偏移损失、基元分类步骤对应的类型预测损失以及全局结构关系提取步骤对应的全局结构关系损失,从而计算待训练的基元检测模型的综合损失,以根据综合损失对待训练的基元检测模型进行训练,能够从整体上提高基元检测模型的基元检测准确性。
[0078]
在另一个实施例中,如图7所示,提供了一种基于点云数据的基元检测方法,该方法包括以下步骤:步骤702,浅层特征提取。
[0079]
通过待训练的基元检测模型提取样本点云数据对应的浅层特征。
[0080]
步骤704,深层特征提取。
[0081]
通过待训练的基元检测模型提取样本点云数据对应的深层特征。
[0082]
步骤706,高维特征提取。
[0083]
将浅层特征以及深层特征进行组合,得到样本点云数据对应的高维特征。
[0084]
步骤708,逐点分类。
[0085]
通过待训练的基元检测模型根据高维特征对样本点云数据进行分类,得到样本点云数据中各点的原始基元类型。
[0086]
步骤710,空间偏移量预测。
[0087]
通过待训练的基元检测模型根据高维特征预测样本点云数据中各点的空间偏移量。
[0088]
步骤712,空间偏移结果计算。
[0089]
根据各点的空间偏移量计算相应点的空间偏移结果。
[0090]
步骤714,基元分割。
[0091]
根据样本点云数据中各点的空间偏移结果以及高维特征将样本点云数据分割为多个样本基元。
[0092]
步骤716,基元类型确定。
[0093]
通过待训练的基元检测模型在各样本基元对应的点的原始基元类型中确定相应样本基元的样本基元类型,得到各样本基元的样本基元类型。
[0094]
步骤718,参数化拟合。
[0095]
通过待训练的基元检测模型根据各样本基元的样本基元类型以及样本点云数据对相应样本基元进行参数化拟合,得到各样本基元对应的几何参数。
[0096]
步骤720,全局结构关系提取。
[0097]
通过待训练的基元检测模型根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系。
[0098]
步骤722,综合损失计算。
[0099]
计算高维特征提取步骤对应的特征损失、空间偏移预测步骤对应的空间偏移损失、基元分类步骤对应的类型预测损失以及全局结构关系提取步骤对应的全局结构关系损
失,从而根据特征损失与对应的特征损失权重,空间偏移损失与对应的空间偏移权重,类型预测损失与对应的类型预测权重,全局结构关系损失与对应的全局结构关系损失权重,以及预设损失计算关系计算待训练的基元检测模型的综合损失。根据综合损失对待训练的基元检测模型进行训练,直至综合损失不再下降或者到达预设迭代次数时,停止模型训练,得到预先训练的基元检测模型。
[0100]
步骤724,基元检测。
[0101]
获取待检测点云数据,将待检测点云数据输入至预先训练的基元检测模型中,确定待检测点云数据对应的多个待检测基元,拟合各待检测基元对应的几何参数,得到基元检测结果。
[0102]
其中,待检测点云数据是指在实际应用过程中,需要进行基元检测的点云数据。该基元检测过程与基元检测模型在训练过程中的几何参数拟合过程是相同的,此处不再赘述。
[0103]
在本实施例中,由于提取的高维特征中既包括全局结构信息又包含局部的细节内容,能够为后续基元分类和基元分割,提供更丰富的上下文信息。进而通过待训练的基元检测模型根据各样本基元的样本基元类型以及样本点云数据对相应样本基元进行参数化拟合,能够得到更为准确的各样本基元对应的几何参数。通过空间偏移预测,能够将样本点云数据中同一类的相邻样本基元分离,使得高维特征能主动编码各样本基元的空间偏移结果,帮助后续任务更好地进行分类分割。空间偏移结果为第一种全局结构关系。之后,根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系,作为第二种全局结构关系。由于预先训练的基元检测模型是基于上述全局结构关系训练得到的,能够更准确地判断待检测点云数据中所包含的几何基元在整体的待检测点云数据中的结构关系,大大提高了基元检测的准确性。
[0104]
示例性地,预先训练的基元检测模型可以是relationnet模型。为了验证本技术中的relationnet模型的优势,针对abc数据集,选取了四种基准方法进行结果的对比,其中,包括两种传统的方法:最近邻(nearest neighbor,简称nn)及随机采样一致(random sample consensus,简称ransac),和两种目前领先的深度学习方法:spfn及parsenet(parametric surface fitting network,参数化曲面拟合网络)。通过在abc数据集上训练并进行相应测试,relationnet模型取得了领先的结果,具体如表2所示。
[0105]
表2 relationnet与现有方法在abc测试集上的比较结果通过添加空间偏移预测和全局结构关系约束,relationnet在分割精度、分类精度上都取得了进步,其中,基元分割的miou从82.14%提升到了85.08%,提高了2.94%的miou,而
基元分类的miou从88.6%提升到了90.1%,提高了1.5%的miou。
[0106]
相比较parsenet完全根据提取的点云特征进行基元分割,得益于空间偏移预测层所提供的点云偏移,relationnet能够在特征提取过程中主动编码单个点与所在基元之间的相对位置关系,从而生成相比其他方法而言更加锐利的边缘。除此之外,全局结构约束层将基于整个基元所拟合的参数进行损失计算,同时考虑的点数更多,因此所提取的损失也具有更强的约束能力,使relationnet不容易出现大面积的分割错误。
[0107]
如图8所示,为relationnet中空间偏移预测层的结果示意图,原始点云是指relationnet的输入点云。
[0108]
空间偏移预测层在处理结构较为简单的输入点云时能够非常准确地将点偏移至基元的中心位置,即使在处理复杂结构的输入点云时,也能在不同基元之间产生一个较为显著间隔,帮助后续的基元分割任务。
[0109]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0110]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的基于点云数据的基元检测方法的基于点云数据的基元检测装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个基于点云数据的基元检测装置实施例中的具体限定可以参见上文中对于基于点云数据的基元检测方法的限定,在此不再赘述。
[0111]
在一个实施例中,如图9所示,提供了一种基于点云数据的基元检测装置,包括:几何参数拟合模块902、全局结构关系提取模块904、训练模块906和基元检测模块908,其中:几何参数拟合模块902,用于将获取的样本点云数据输入至待训练的基元检测模型中,确定样本点云数据对应的多个样本基元,拟合各样本基元对应的几何参数;全局结构关系提取模块904,用于通过待训练的基元检测模型根据各样本基元对应的几何参数提取多个样本基元之间的全局结构关系;训练模块906,用于根据全局结构关系中的错误结构关系,对待训练的基元检测模型进行约束,得到预先训练的基元检测模型;基元检测模块908,用于通过预先训练的基元检测模型对获取到的待检测点云数据进行基元检测。
[0112]
在一个实施例中,几何参数拟合模块902包括:特征提取模块,用于通过待训练的基元检测模型对样本点云数据进行特征提取,得到样本点云数据对应的高维特征;基元检测模块,用于通过待训练的基元检测模型根据高维特征确定样本点云数据对应的多个样本基元,预测各样本基元对应的样本基元类型;参数化拟合模块,用于通过待训练的基元检测模型根据各样本基元的样本基元类
型以及样本点云数据对相应样本基元进行参数化拟合,得到各样本基元对应的几何参数。
[0113]
在一个实施例中,特征提取模块还用于通过待训练的基元检测模型提取样本点云数据对应的浅层特征;通过待训练的基元检测模型提取样本点云数据对应的深层特征;将浅层特征以及深层特征进行组合,得到样本点云数据对应的高维特征。
[0114]
在一个实施例中,基元检测模块还包括:基元分类模块,用于通过待训练的基元检测模型根据高维特征对样本点云数据进行分类,得到样本点云数据中各点的原始基元类型;基元分割模块,用于通过待训练的基元检测模型根据高维特征将样本点云数据分割为多个样本基元;基元分类模块还用于通过待训练的基元检测模型在各样本基元对应的点的原始基元类型中选取数量最多的原始基元类型确定为相应样本基元的样本基元类型。
[0115]
在一个实施例中,基元分割模块还包括:空间偏移模块,用于通过待训练的基元检测模型根据高维特征预测样本点云数据中各点的空间偏移量;根据各点的空间偏移量计算相应点的空间偏移结果;根据样本点云数据中各点的空间偏移结果以及高维特征将样本点云数据分割为多个样本基元。
[0116]
在一个实施例中,基元检测模块908还用于获取待检测点云数据;将待检测点云数据输入至预先训练的基元检测模型中,确定待检测点云数据对应的多个待检测基元,拟合各待检测基元对应的几何参数,得到基元检测结果。
[0117]
上述基于点云数据的基元检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0118]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储样本点云数据、待训练的基元检测模型、预先训练的基元检测模型等数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于点云数据的基元检测方法。
[0119]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示层和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示层和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换
信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种基于点云数据的基元检测方法。该计算机设备的显示层用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0120]
本领域技术人员可以理解,图10以及图11中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0121]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0122]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0123]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0124]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0125]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0126]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0127]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并
不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1