点云数据处理方法、装置、电子设备及存储介质与流程

文档序号:31793465发布日期:2022-10-14 16:36阅读:344来源:国知局
点云数据处理方法、装置、电子设备及存储介质与流程

1.本技术涉及人工智能、云技术、大数据以及计算机技术领域,具体而言,本技术涉及一种点云数据处理方法、装置、电子设备及存储介质。


背景技术:

2.点云(point cloud)是一个点的数据集,数据集中的每个点包含有三维坐标,有的可能含有颜色信息或反射强度信息。点云是最常用的三维物体表示模型之一。点云补全(point cloud completion)(类似于二维图像的补全/修复)任务旨在将残缺且稀疏的扫描数据,恢复成完整并且稠密的点云。如图1所示,图1中的图(a)是残缺的点云数据对应的三维图像,点云补全的目的是得到图1中图(b)所示的为补全后的点云数据。点云补全可以应用在三维扫描数据的修复和补全等多种应用场景中。
3.随着人工智能技术的发展,近年来深度学习技术也已经开始应用于点云数据,可以通过训练神经网络来实现点云补全。目前,虽然有些神经网络可以一定程度上实现点云补全,但是目前大多网络模型对点云补全的效果并不佳,仍需要改善,如何进一步提升点云补全的效果一直是点云补全任务中在研究的重要问题。


技术实现要素:

4.本技术实施例的目的旨在提供一种能够有效提升点云补全的点云数据处理方法、装置、电子设备及存储介质。为了实现上述目的,本技术实施例提供的技术方案如下:
5.一方面,本技术实施例提供了一种点云数据处理方法,所述方法包括:
6.获取待补全的原始点云数据,所述原始点云数据包括多个初始点的三维坐标;
7.对所述原始点云数据进行特征提取,得到多个第一点的特征表示,每个所述第一点的特征表示包括该第一点的三维坐标和点特征;
8.根据各个第一点的三维坐标,从所述多个第一点中确定出每个第一点的第一数量的邻域点;
9.对于每个所述第一点,根据该第一点的特征表示和该第一点的每个邻域点的特征表示,确定该第一点与该第一点的每个邻域点之间的关联性,并根据该第一点的各个邻域点对应的关联性,将该第一点的各个邻域点的特征表示进行融合,得到该第一点对应的融合特征;
10.基于各个第一点的融合特征,得到多个第二点的第二特征表示;
11.基于所述多个第二点的特征表示,生成补全后的目标点云数据。
12.另一方面,本技术实施例提供了一种点云数据处理装置,所述装置包括:
13.待补全数据获取模块,用于获取待补全的原始点云数据,所述原始点云数据包括多个初始点的三维坐标;
14.数据补全模块,用于通过执行数据补全操作,得到补全后的目标点云数据,所述数据补全操作包括以下步骤:
15.对所述原始点云数据进行特征提取,得到多个第一点的特征表示,每个所述第一点的特征表示包括该第一点的三维坐标和点特征;
16.根据各个第一点的三维坐标,从所述多个第一点中确定出每个第一点的第一数量的邻域点;
17.对于每个所述第一点,根据该第一点的特征表示和该第一点的每个邻域点的特征表示,确定该第一点与该第一点的每个邻域点之间的关联性,并根据该第一点的各个邻域点对应的关联性,将该第一点的各个邻域点的特征表示进行融合,得到该第一点对应的融合特征;
18.基于各个第一点的融合特征,得到多个第二点的第二特征表示;
19.基于所述多个第二点的特征表示,生成补全后的目标点云数据。
20.可选的,数据补全模块可以通过执行以下操作得到每个所述第一点对应的融合特征:
21.对于每个所述第一点,将该第一点的点特征和三维坐标拼接,得到该第一点的第一特征;
22.对于每个第一点的每个邻域点,根据该第一点的第一特征和该邻域点的第一特征,确定该第一点与该邻域点之间的关联性;
23.对于每个所述第一点,将该第一点的各个邻域点对应的关联性作为权重,对该第一点的各个邻域点的第一特征进行加权融合,得到该第一点对应的融合特征。
24.可选的,数据补全模块可以通过采用基于通道注意力机制的至少一个第一注意力模块来得到每个第一点与该第一点的邻域点之间的关联性、以及该第一点对应的融合特征;其中,在所述第一注意力模块有至少两个时,每个所述第一点对应的融合特征可以是通过以下方式得到的:
25.对于每个第一点,将该第一点的第一特征作为查询向量,将该第一点的每个邻域点的第一特征分别作为键向量,通过每个所述第一注意力模块分别执行以下操作:
26.对于该第一点的每个邻域点,基于该第一点的第一特征和该邻域点的第一特征,确定该第一点和该邻域点之间的第一注意力权重,将所述第一注意力权重作为所述关联性;
27.采用该第一点的各个邻域点对应的第一注意力权重,对相应的各个邻域点的第一特征进行加权融合,得到该第一点对应的新特征;
28.其中,每个所述第一点对应的融合特征包括该第一点对应于各所述第一注意力模块的新特征;
29.相应的,数据补全模块在基于各个第一点对应的融合特征,得到多个第二点的第二特征表示时,可以用于:
30.将每个所述第一点对应于每个所述第一注意力模块的新特征分别作为一个第二点的点特征,基于多个第二点的点特征,生成各个第二点的三维坐标,其中,每个第二点的特征表示包括该第二点的三维坐标和点特征。
31.可选的,数据补全模块还用于:对于每个第一点,根据该第一点的三维坐标,生成该第一点的空间坐标特征;
32.相应的,对于每个第一点的每个邻域点,数据补全模块在根据该第一点的第一特
征和该邻域点的第一特征,确定该第一点与该邻域点之间的关联性、以及得到该第一点对应的融合特征时,可以用于:
33.根据该第一点的第一特征、该邻域点的第一特征以及该邻域点的空间坐标特征,确定该第一点与该邻域点之间的关联性;
34.对于该第一点的每个邻域点,基于该邻域点的第一特征和空间坐标特征进行特征提取,得到该邻域点的第二特征;
35.采用该第一点的各个邻域点对应的权重,对该第一点的各个邻域点的第二特征进行加权融合,得到该第一点对应的融合特征。
36.可选的,数据补全模块在基于所述多个第二点的特征表示,生成补全后的目标点云数据时,可以用于:
37.基于所述多个第二点的特征表示,通过进行至少一次上采样处理,得到多个目标点的点特征,并根据所述多个目标点的点特征,得到多个目标点的三维坐标,所述目标点云数据包括所述多个目标点的三维坐标。
38.可选的,数据补全模块在在生成目标点云数据时可以用于:
39.基于所述多个初始点的三维坐标和各个第二点的三维坐标,确定初始的点云输入,所述初始的点云输入包括多个输入点的三维坐标;
40.将所述初始的点云输入作为第一次上采样处理的点云输入,重复执行上采样处理直至达到设定次数,将最后一次上采样处理得到的多个输出点的三维坐标,确定为多个目标点的三维坐标;
41.其中,所述上采样处理包括以下步骤:
42.对于点云输入中的每个所述输入点,根据该输入点的三维坐标和各个第二点的三维坐标,确定该输入点和各个第二点之间的距离,根据所述距离从各个第二点中确定出该输入点的第二数量的邻域点;
43.对于每个所述输入点,通过融合该输入点的各个邻域点的点特征,得到该输入点的点特征;
44.基于各所述输入点的三维坐标和点特征,通过特征上采样得到多个输出点的点特征;
45.基于所述多个输出点的点特征,得到各个输出点的三维坐标,并将各个输出点的三维坐标作为下一次上采样处理的点云输入。
46.可选的,对于每个所述输入点,数据补全模块在通过融合该输入点的各个邻域点的点特征,得到该输入点的点特征时,可以用于:
47.根据该输入点与该输入点的每个邻域点之间的距离,确定该输入点的每个邻域点对应的权重,其中,每个邻域点对应的权重与该邻域点对应的距离成负相关;
48.根据该输入点的各个邻域点对应的权重,对该输入点的各个邻域点的点特征进行加权融合,得到输入点的点特征。
49.可选的,对于每一次上采样处理,数据补全模块在基于各所述输入点的三维坐标和点特征,通过特征上采样得到多个输出点的点特征时,可以用于:
50.分别将每个输入点的点特征和三维坐标拼接,得到每个输入点的第三特征;
51.根据各个输入点的三维坐标,从各个输入点中确定出每个输入点的第三数量的邻
域点;
52.对于每个输入点,根据该输入点的第三特征和该输入点的各邻域点的历史特征,通过特征上采样得到该输入点对应的至少两个输出点的点特征;
53.其中,对于第一次上采样处理,一个邻域点的历史特征为该邻域点的第三特征,对于除第一次上采样处理之外的每次上采样处理,一个邻域点的历史特征为上一次上采样处理时该邻域点作为输出点时的点特征。
54.可选的,对于每个输入点,数据补全模块在根据该输入点的第三特征和该输入点的各邻域点的历史特征,通过特征上采样得到该输入点对应的至少两个输出点的点特征时,可以用于:
55.通过至少两个第二注意力模块中的每个注意力模块分别执行以下操作:
56.分别确定该输入点的第三特征和该输入点的每个邻域点的历史特征之间第二注意力权重;
57.采用该输入点的各个邻域点对应的第二注意力权重,对该输入点的各个邻域点的历史特征进行加权融合,得到该输入点对应的一个输出点的点特征。
58.可选的,数据补全模块在基于所述多个输出点的点特征,得到各个输出点的三维坐标时,可以用于:
59.基于所述多个输出点的点特征进行特征提取,得到各个输出点的三维坐标偏移;
60.基于所述各个输入点的三维坐标和各个输出点的三维坐标偏移,得到各个输出点的三维坐标。
61.可选的,所述数据补全模块在基于原始点云数据得到补全后的目标点云数据时,是通过调用训练好的点云补全网络实现的,所述点云补全网络是基于训练数据集对神经网络模型进行迭代训练得到的,所述训练数据集包括多个训练样本,每个损失训练样本包括一个点云数据对,所述点云数据对包括待补全的样本点云数据和对应的补全后的样本点云数据。
62.再一方面,本技术实施例还提供了一种电子设备,该电子设备包括存储器和处理器,存储器中存储有计算机程序,处理器通过执行该计算机程序以实现本技术任一可选实施例提供的方法。
63.本技术实施例还提供了一种计算机可读存储介质,该存储介质中存储有计算机程序,该计算机程序被处理器执行时实现本技术任一可选实施例提供的方法。
64.本技术实施例还提供了一种计算机程序产品,该计算机产品包括计算机程序,该计算机程序被处理器执行时实现本技术任一可选实施例提供的方法。
65.本技术实施例提供的技术方案带来的有益效果如下:
66.本技术实施例提供的点云数据处理方法,在对原始点云数据进行补全处理的过程中,在通过对原始点云数据进行特征提取,得到初始的点云特征表示(即多个第一点的三维坐标及点特征)之后,会根据初始的点云特征表示中的各点与其邻域点之间的语义关联,通过特征融合的方式,得到多个第二点的特征表示,由于在进行特征融合时,对于每个点而言,不仅考虑了该点的自身信息,还基于该点与其邻域点之间的语义关系,融入了该点的各个邻近点即邻域点的信息,使得所得到的多个第二点的特征表示中不仅包含了更多的细节特征,还可以更好的保持各点与其邻域点之间的语义一致性,因此,基于上述多个第二点的
特征表示所生成的目标点云数据,可以更加真实地还原出物体本身的结构和细节,可以有效提升点云补全效果,能够更好的满足实际应用需求。
附图说明
67.为了更清楚地说明本技术实施例中的技术方案,下面将对本技术实施例描述中所需要使用的附图作简单地介绍。
68.图1为点云数据补全前后的效果对比示意图;
69.图2为本技术实施例提供的一种点云数据处理方法的流程示意图;
70.图3为本技术实施例适用的一种点云数据处理系统的结构示意图;
71.图4为本技术实施例提供的一种点云补全网络的模型结构及数据处理原理的示意图;
72.图5为本技术实施例提供的一种生成器的结构及数据处理原理的示意图;
73.图6和图7为本技术实施例提供的采用不同方案得到的补全后的点云数据的效果对比示意图;
74.图8为本技术实施例中提供的一种点云数据处理装置的结构示意图;
75.图9为本技术实施例所适用的一种电子设备的结构示意图。
具体实施方式
76.下面结合本技术中的附图描述本技术的实施例。应理解,下面结合附图所阐述的实施方式,是用于解释本技术实施例的技术方案的示例性描述,对本技术实施例的技术方案不构成限制。
77.本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本技术实施例所使用的术语“包括”以及“包含”是指相应特征可以实现为所呈现的特征、信息、数据、步骤、操作、元件和/或组件,但不排除实现为本技术领域所支持其他特征、信息、数据、步骤、操作、元件、组件和/或它们的组合等。应该理解,当我们称一个元件被“连接”或“耦接”到另一元件时,该一个元件可以直接连接或耦接到另一元件,也可以指该一个元件和另一元件通过中间元件建立连接关系。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的术语“和/或”指示该术语所限定的项目中的至少一个,例如“a和/或b”可以实现为“a”,或者实现为“b”,或者实现为“a和b”。在描述多个(两个或两个以上)项目时,如果没有明确限定多个项目之间的关系,这多个项目之间可以是指多个项目中的一个、多个或者全部,例如,对于“参数a包括a1、a2、a3”的描述,可以实现为参数a包括a1或a2或a3,还可以实现为参数a包括参数a1、a2、a3这三项中的至少两项。
78.本技术是针对现有点云数据补全效果有待提升的问题,而提出的一种点云数据的处理方法,基于该方法,能够有效提高点云数据的补全效果。
79.可选的,本技术实施例提供的方案,可以基于人工智能(artificial intelligence,ai)技术实现,具体可以涉及到神经网络模型的训练以及神经网络模型的应用。例如,可以基于训练数据集,采用机器学习(machine learning,ml)方式训练得到满足需求的点云补全网络,之后,对于需要补全的原始点云数据,可以通过调用训练好的点云补
全网络,得到补全后的目标点云数据,为实现目标对象(如目标物体)的三维修复或其他应用提供了良好的数据基础。
80.人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。随着人工智能技术的研究和进步,人工智能技术已经在常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等多个领域展开研究和应用,相信随着技术的发展,该技术将在更多的领域得到应用,并发挥越来越重要的价值。
81.可选的,本技术实施例提供的方法中所涉及的数据处理可以基于云技术实现。例如,可以基于云技术进行点云补全网络(即初始的用于点云数据补全的神经网络模型)的训练,训练过程中所涉及的各种数据计算(如训练损失的计算、模型参数的调整等)可以采用云计算(cloud computing)的方式实现。可选的,训练过程中所使用的各个训练集的存储还可以采用云存储(cloud storage)的方式存储。可选的,在采用训练好的点云补全网络对原始点云数据进行处理时,所涉及的数据处理步骤也可以采用云计算的方式实现,例如,本技术实施例提供的点云数据处理方法可以由云服务器执行。
82.其中,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算则是指it基础设施的交付和使用模式,指通过网络以按需、易扩展的方式获得所需资源;广义云计算指服务的交付和使用模式,指通过网络以按需、易扩展的方式获得所需服务。这种服务可以是it和软件、互联网相关,也可是其他服务。随着互联网、实时数据流、连接设备多样化的发展,以及搜索服务、社会网络、移动商务和开放协作等需求的推动,云计算的产生从理念上将推动整个互联网模式、企业管理模式发生革命性的变革。
83.可选的,本技术实施例提供的点云数据处理方法可以实现为一独立的应用程序或者是应用程序(如目标应用)中的一个功能模块/插件,通过运行该独立的应用程序或者具有相应功能的模块/插件,可以实现点云数据的补全,可选的,该应用程序还可以基于补全后的目标点云数据渲染出该数据对应的目标对象的三维图像。
84.本技术实施例提供的方法可以由任意的电子设备执行,如可以由终端设备或服务器执行,作为一可选方式,该方法可以由服务器(如云服务器)执行。其中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。上述用户终端(也可以称为用户设备)可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备(例如智能音箱)、可穿戴电子设备(例如智能手表)、车载终端、智能家电(例如智能电视)、ar/vr设备等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。
85.下面通过对几种可选的实施方式的描述,对本技术实施例的技术方案以及本技术的技术方案产生的技术效果进行说明。需要指出的是,下述实施方式之间可以相互参考、借鉴或结合,对于不同实施方式中相同的术语、相似的特征以及相似的实施步骤等,不再重复描述。
86.图2示出了本技术实施例提供的一种点云数据处理方法的流程示意图,该方法可以由服务器执行,如图2所示,该方法包括以下步骤s110至步骤s160。
87.步骤s110:获取待补全的原始点云数据,其中,原始点云数据包括多个初始点的三维坐标。
88.原始点云数据即稀疏的残缺点云数据,是该方法的原始输入,对于原始点云数据的获取方式,本技术实施例不做限定。原始点云数据可以有多种获取方式,比如,可以采用点云数据获取设备获取的真实场景中的目标对象的扫描数据,例如,可以通过激光扫描仪扫描物体表面,以此得到点云数据。在实际应用中,由于人为因素或者光线、环境等多种因素影响会使得获取到的点云数据并不完整,因此,需要进行补全,点云补全的目的就是修复这些不完整的点云数据,得到修复后的目标点云数据。
89.步骤s120:对原始点云数据进行特征提取,得到多个第一点的特征表示,每个第一点的特征表示包括该第一点的三维坐标和点特征。
90.该步骤用于实现残缺点云数据的提取,以基于提取得到的多个点的特征表示来实现后续的点云补全。其中,对于对原始点云数据进行特征提取的具体方式,本技术实施例不做限定。可选的,可以采用点云特征提取网络对原始点云数据进行特征提取。具体采用何种网络模型可以根据需求选择。可选的,可以采用层次化的点云特征提取网络来进行特征提取,如可以采用基于pointnet++或基于point transformer的特征提取网络中的编码器进行原始点云数据的特征提取,得到多个第一点的点特征以及三维坐标。
91.作为一个示例性的说明,假设原始点云数据包括2000个点的三维坐标,可以将这2000个点的三维坐标作为神经网络的输入数据,输入到训练好的编码器中,基于编码器可以提取得到多个点的点特征和三维坐标,如通过特征提取可以得到了n
p
=500个点的坐标及点特征其中,表示提取得到的这500个第一点的三维坐标的集合,表示这500个第一点的点特征的集合,每个第一点的点特征的特征维度为c
p

92.步骤s130:根据各个第一点的三维坐标,从多个第一点中确定出每个第一点的第一数量的邻域点。
93.步骤s140:对于每个第一点,根据该第一点的特征表示和该第一点的每个邻域点的特征表示,确定该第一点与该第一点的每个邻域点之间的关联性,并根据该第一点的各个邻域点对应的关联性,将该第一点的各个邻域点的特征表示进行融合,得到该第一点对应的融合特征。
94.步骤s150:基于各个第一点对应的融合特征,得到多个第二点的第二特征表示。
95.步骤s160:基于多个第二点的特征表示,生成补全后的目标点云数据。
96.其中,对于每个第一点,该第一点与其任一邻域点之间的关联性,表征了该第一点与该第一点的邻域点之间的语义关联程度。
97.为了使得补全后的点云数据除了能够保持目标对象的整体结构,还能够具有更真实的细节信息,本技术实施例提供的该方法,在基于原始点云数据得到多个第一点的三维坐标及点特征之后,还进一步结合了第一点及其邻域点之间的语义关系,生成了各个第一点对应的融合特征,使得融合特征中不仅包括了点自身的信息,还融入了其邻近点的信息,
因此,相比于通过步骤s120提取得到的特征,融合特征中包含了更多的细节特征,为后续目标点云数据提供了更好的数据支撑。
98.本技术实施例中,每个第一点的邻域点可以基于第一点之间的距离来确定,邻域点的数量(即上述第一数量)的具体取值(正整数)本技术实施例不做限定,可以根据实际应用需求、经验值或实验值来配置。假设邻域点的数量为m,可以根据多个第一点的三维坐标,计算出每两个第一点之间的距离,对于每个第一点,可以将该点与各个第一点之间的距离按照从小到大的顺序,选择排序靠前的m个距离对应的第一点,确定为该点的邻域点。可选的,在实际应用中,每个第一点的邻域点可以包括该点自身,也可以不包括该点自身。
99.在确定出每个第一点的若干个邻域点之后,对于每个第一点,可以根据该点的特征表示和其邻域点的特征表示,计算出该点与每个邻域点之间的语义关联性,也就是两个点的特征表示之间的关联性。对于第一点与其邻域点的关联性的具体计算方式,本技术实施例不做具体限定。
100.比如,对于每个第一点,可以通过融合该点的点特征和三维坐标(如拼接),得到该点的新特征,对于该点的每个邻域点,可以将该点的新特征和该邻域点的新特征之间的关联性,作为该点和该邻域点之间的关联性;还可以对每个第一点的新特征进行进一步的特征提取,以获取到具有更好的语义表达能力的特征,基于第一点的进一步提取后的特征和其邻域点的进一步提取后的特征之间的关联性,得到该第一点与其邻域点的关联性。
101.可选的,任意两个点(第一点和该点的一个邻域点)之间的关联性,可以是一个粗粒度的关联性,也可以是一个细粒度的关联性,比如,关联性可以一个特征向量,该向量可以是只有一个数值的向量,该数值越大两个点的语义关联性越大,该向量也可以是包括多个数值(该数值的大小与第一点的特征的维度相同)的向量,向量中的每个数值代表了两个点的特征中一个维度的相关性。
102.在得到每个第一点与其各个邻域点的相关性之后,则可以根据该相关性对各个邻域点的特征表示进行融合,得到每个点对应的融合特征。比如,对于一个第一点,在得到该点与其m个邻域点中每个邻域点的相关性,可以根据将每个邻域点对应的相关性作为权重,对该邻域点的特征(可以基于该邻域点的点特征和三维坐标)进行加权,并通过对各个邻域点的加权后的特征进行融合,得到该第一点对应的融合特征。
103.作为一种可选方案,每个第一点对应的融合特征可以是通过以下方式得到的:
104.对于每个第一点,将该第一点的点特征和三维坐标拼接,得到该第一点的第一特征;
105.对于每个第一点的每个邻域点,根据该第一点的第一特征和该邻域点的第一特征,确定该第一点与该邻域点之间的关联性;
106.对于每个第一点,将该第一点的各个邻域点对应的关联性作为权重,对该第一点的各个邻域点的第一特征进行加权融合,得到该第一点对应的融合特征。
107.可选的,对于每个第一点,在执行上述加权融合时,可以是采用该第一点的各个邻域点的权重,直接对相对应的各个邻域点的第一特征进行加权求和,得到融合特征,也可以先对各个邻域点的第一特征进行进一步的特征提取,再采用该第一点的各个邻域点的权重,对相对应的各个邻域点再提取后的特征进行加权求和。
108.为了更好的学习到邻近点之间的语义关联,作为一可选方案,可以基于各个第一
点的特征表示,采用基于注意力机制的注意力模块来得到每个第一点对应的融合特征,可选的,可以基于每个第一点的特征表示,得到每个第一点的输入特征,对于每个第一点,该点的输入特征可以作为注意力模块的查询向量(q)和键向量(k),可以通过输入特征进行进一步的特征提取,得到该点的值向量(v),基于该点的输入特征和该点的各个邻域点的输入特征,可以通过自注意模块得到该点与各个邻域点对应的注意力权重(即关联性),并通过对各个邻域点的值向量进行加权融合,得到该点对应的融合特征。
109.对于点云补全任务而言,由于目的是为了得到补全后的点云,也就是补全后的各个点的三维坐标,因此,在点云补全任务中,点的坐标信息是尤为重要的,为了进一步提升点云数据的补全效果,作为一可选方案,本技术的该方法还可以包括:对于每个第一点,根据该第一点的三维坐标,生成该第一点的空间坐标特征;
110.对于每个第一点的每个邻域点,上述根据该第一点的第一特征和该邻域点的第一特征,确定该第一点与该邻域点之间的关联性,可以包括:根据该第一点的第一特征、该邻域点的第一特征以及该邻域点的空间坐标特征,确定该第一点与该邻域点之间的关联性;
111.对于每个第一点,上述将该第一点的各个邻域点对应的关联性作为权重,对该第一点的各个邻域点的第一特征进行加权融合,得到该第一点对应的融合特征,包括:
112.对于该第一点的每个邻域点,基于该邻域点的第一特征和空间坐标特征进行特征提取,得到该邻域点的第二特征;
113.采用该第一点的各个邻域点对应的权重,对该第一点的各个邻域点的第二特征进行加权融合,得到该第一点对应的融合特征。
114.该可选方案中,在计算第一点与其邻域点之间的关联性、以及通过融合个邻域点的特征来获取该第一点对应的融合特征时,进一步考虑了各个邻域点的坐标信息,通过将各个邻域点的三维坐标的空间坐标特征作为补充信息融入到点对之间的关联性以及融合特征的计算中,可以使计算出的结果更符合真实情况,提升最终得到的目标点云数据的真实效果。
115.其中,基于该邻域点的第一特征和空间坐标特征进行特征提取得到该邻域点的第二特征的具体方式,本技术实施例不做限定,可选的,对于每个邻域点,可以对该邻域点的第一特征进行特征提取,将提取后的特征与该邻域点的空间坐标特征融合(如拼接或对应元素相加等)得到第二特征。
116.在得到各个第一点对应的融合特征之后,可以基于各个第一点对应的融合特征,得到多个第二点的特征表示,其中,每个第二点的特征表示包括该第二点的点特征和三维坐标。可选的,每个第一点对应的融合特征可以是一个,此时,每个第一点可以作为一个第二点,一个第一点的三维坐标即为一个第二点的三维坐标,可以将第一点对应的融合特征作为第二点的点特征。每个第一点对应的融合特征也可以是多个。在实际应用中,为了能够获取到更加完整的补全后的点云结构,每个第一点对应的融合特征也可以有多个,也就是说,除了可以获取到包含更多信息的融合特征之外,还可以实现点云数据的上采样,此时,每个一点对应的每个融合特征都可以作为一个第二点的点特征。
117.为了学习到每个第一点与其邻域点之间的更加细粒度的语义关联,本技术的可选实施例中,每个第一点与该第一点的邻域点之间的关联性、以及该第一点对应的融合特征,可以是采用基于通道注意力机制的至少一个第一注意力模块实现的,在第一注意力模块有
至少两个时,每个第一点对应的融合特征可以通过以下步骤得到:
118.对于每个第一点,将该第一点的第一特征作为查询向量,将该第一点的每个邻域点的第一特征分别作为键向量,通过每个第一注意力模块分别执行以下操作:
119.对于该第一点的每个邻域点,基于该第一点的第一特征和该邻域点的第一特征,确定该第一点和该邻域点之间的第一注意力权重,将该第一注意力权重作为关联性;
120.采用该第一点的各个邻域点对应的第一注意力权重,对相应的各个邻域点的第一特征进行加权融合,得到该第一点对应的新特征,其中,每个第一点对应的融合特征包括该第一点对应于各个第一注意力模块的新特征;
121.相应的,上述基于各个第一点对应的融合特征,得到多个第二点的第二特征表示,包括:
122.将每个第一点对应于每个第一注意力模块的新特征分别作为一个第二点的点特征,基于多个第二点的点特征,生成各个第二点的三维坐标。
123.对于每个第一点及其邻域点,采用基于通道注意力机制的第一注意力模块,可以学习到两个点的特征中每个维度的特征之间的语义关联,比如,每个第一点的第一特征的特征维度为d,那么一个第一点和该点的一个邻域点之间的注意力权重则是一个d维的权重向量,在采用该注意力权重对该邻域点的第一特征进行加权时,是将该d维的权重向量中每个维度的权重值与对应维度的特征值进行相乘,即对应元素相乘(elemental-wise product),如将该权重向量与该邻域点的第一特征进行对应元素的相乘,或者是对该邻域点的第一特征进行特征提取,将提取后的特征与该权重向量进行对应元素的相乘,得到加权后的特征,之后,将该第一点的各个邻域点对应的加权后的特征融合,得到融合特征。
124.在采用多个注意力模块时,不同的注意力模块可以学习第一点与其邻域点在多个不同层面(不同特征空间)的关联性,可以理解的是,不同注意力模块的模型参数是不同的,每个注意力模块可以学习两个点在该注意力模块对应的特征空间的关联性。通过学习每个第一点与其邻域点在多个不同层面的关联性,可以得到每个第一点对应于多个层面的融合特征,在实现邻近点的特征之间的语义信息融合的同时,也实现了点云数据的上采样,得到了更多的点的特征表示,从而得到了一个稀疏但更加完整的点云结构。
125.由于第二点的特征表示中既包含了第二点的坐标数据,又包含了融入等多局部细节信息的点特征,因此,可以基于多个第二点的特征表示,实现点云数据的补全,得到包含更多细节、具有更加真实的补全效果的目标对象的目标点云数据。可以理解的是,基于多个第二点的特征表示,生成目标点云数据的过程是一个上采样过程,通过一次或多次的上采样处理,可以得到更多点的点云数据,也就是包括更多数量的点的三维坐标。
126.其中,基于多个第二点的特征表示生成目标点云数据的具体过程,本技术实施例不做限定,可选的,可以采用现有方案中基于点云特征(本技术实施例中的多个点的特征表示)实现点云补全的方式。由于本技术实施例的方法中,所获取的多个点的特征表示能够为点云数据补全提供更丰富的细节特征,因此,即使后续采用现有方式来生成目标点云数据,该目标点云数据也可以更好的恢复出目标对象的细节和整体结构,能够更好的满足实际应用需求。为了进一步提升最终所获取到的目标点云数据的效果,本技术的可选实施例中,补全后的目标点云数据可以是通过以下方式得到的:
127.基于多个第二点的特征表示,通过进行至少一次上采样处理,得到多个目标点的
点特征,并根据多个目标点的点特征,得到多个目标点的三维坐标,目标点云数据包括多个目标点的三维坐标。
128.可选的,上采样处理可以通过训练好的神经网络实现,可以将获取到的包含更多局部细节信息的多个第二点的特征表示,输入到训练好的神经网络中,通过该神经网络进行一次或多次特征上采样,并可以基于上采样后的特征预测得到多个目标点的三维坐标。
129.作为一可选方案,多个目标点的三维坐标可以是通过以下方式得到的:
130.基于多个初始点的三维坐标和各个第二点的三维坐标,确定初始的点云输入,初始的点云输入包括多个输入点的三维坐标;
131.将初始的点云输入作为第一次上采样处理的点云输入,重复执行上采样处理直至达到设定次数,将最后一次上采样处理得到的多个输出点的三维坐标,确定为多个目标点的三维坐标;其中,上述上采样处理包括以下步骤:
132.对于点云输入中的每个输入点,根据该输入点的三维坐标和各个第二点的三维坐标,确定该输入点和各个第二点之间的距离,根据距离从各个第二点中确定出该输入点的第二数量的邻域点;
133.对于每个输入点,通过融合该输入点的各个邻域点的点特征,得到该输入点的点特征;
134.基于各输入点的三维坐标和点特征,通过特征上采样得到多个输出点的点特征;
135.基于多个输出点的点特征,得到各个输出点的三维坐标,并将各个输出点的三维坐标作为下一次上采样处理的点云输入。
136.可以看出,每次上采样处理的输入数据包括点云输入和各个第二点的特征表示(即局部特征表示),该特征表示包括点的三维坐标和点特征,点云输入包括多个输入点的三维坐标,其中,第一次上采样处理所使用的输入数据可以基于原始点云数据和各个第二点的三维坐标来得到,除第一次之外的每次上采样处理所使用的点云输入是上一次上采样处理后得到的多个点的三维坐标,可以理解的是,按照每次上采样处理的执行顺序,每次上采样处理的所使用的点云输入中点的数量是不断增加的,比如,第n次上采样处理的点云输入中点的数量是n1,进行特征上采样时上采样率为2,那么第n+1次所使用的点云输入中点的数量则为2n1。
137.对于基于多个初始点的三维坐标和各个第二点的三维坐标,确定第一次上采样处理所使用的点云输入的具体方式,本技术实施例不做限定。可选的,可以通过采样方式,从多个初始点和多个第二点中选出预设数量的输入点,也可以是通过对多个初始点和多个第二点进行插值的方式来确定多个输入点,比如,可以从多个初始点和多个第二点中先随机一个基准点,再从剩下的点中找出与该基准点距离最近的若干个点,将这若干个点的三维坐标求平均(或者按照与该基准点的距离的远近,进行加权求和)得到一个输入点的三维坐标,之后,再选择一个新的基准点(比如,从除了上一个基准点和上一个基准点对应的若干个最近点之外的点中,选择一个距离上一个基准点最远的点作为新的基准点)),通过重复上述步骤,得到另一个输入点的三维坐标,通过不断重复上述操作,可以得到预设数量的输入点的三维坐标。
138.在确定出第一次上采样处理所使用的各个输入点的三维坐标之后,对于每个输入点,可以该输入点与各个第二点之间的距离,从多个第二点中确定出该输入点的若干个邻
近点即上述邻域点,如邻域点的数量为k个(其中,第二数量和第一数量可以相同,也可以不同,可以根据需求配置),按照上述距离由小到大的顺序,见排序靠前的k个距离对应的k个第二点确定为该输入点的邻域点,由于各个邻域点都是该输入点的邻近点,因此,以通过融合若干个邻域点的点特征,得到该输入点的点特征。其中,对于将各个邻域点的点特征进行融合的具体方式,本技术实施例不做限定,可选的,可以是将各个邻域点的点特征求平均(即各个邻域点的点特征中同一位置的特征值求均值),得到输入点的点特征。作为另一可选方案,对于每个输入点,上述通过融合该输入点的各个邻域点的点特征,得到该输入点的点特征,可以包括:
139.根据该输入点与该输入点的每个邻域点之间的距离,确定该输入点的每个邻域点对应的权重,其中,一个邻域点对应的权重与该邻域点对应的距离成负相关;
140.根据该输入点的各个邻域点对应的权重,对该输入点的各个邻域点的点特征进行加权融合,得到输入点的点特征。
141.本技术实施例提供的该方案,通过特征插值的方式实现了对输入点的多个邻域点的特征的融合。对于每个输入点,该输入点的不同的邻域点与该输入点的距离是不同的,而由于两个点的距离越远,两个点会相互影响到的可能性也会越低,因此,本技术的该可选方案,在对输入点的多个邻域点的点特征进行融合时,进一步考虑每个邻域点与该输入点的距离,让与该输入点更近的邻域点的特征对该输入点的点特征能够产生相对更大的影响,从而可以得到更加准确的输入点的点特征。
142.在确定出各个输入点的点特征及三维坐标之后,可以基于多个输入点的三维坐标和点特征,通过特征上采样得到多个输出点的点特征,其中,输出点的数量是由输入点的数量和上采样率决定的,在得到多个输出点的点特征之后,可以基于这些点特征,预测得到各个输出点的三维坐标,也就是下一次上采样处理所使用的点云数据,如果当前的上采样处理是最后一次上采样处理,那么此时得到的多个输出点的三维坐标就是多个目标点的三维坐标。
143.可选的,对于每次上采样处理,在得到该次处理对应的多个输出点的点特征之后,可以通过神经网络(如多个感知机)预测各个点的三维坐标,神经网络可以基于多个输出点的点特征之间的关联,生成各个点的三维坐标。
144.本技术的可选实施例中,对于每一次上采样处理,基于各输入点的三维坐标和点特征,通过特征上采样得到多个输出点的点特征,可以包括:
145.分别将每个输入点的点特征和三维坐标拼接,得到每个输入点的第三特征;
146.根据各个输入点的三维坐标,从各个输入点中确定出每个输入点的第三数量的邻域点;
147.对于每个输入点,根据该输入点的第三特征和该输入点的各邻域点的历史特征,通过特征上采样得到该输入点对应的至少两个输出点的点特征;
148.其中,对于第一次上采样处理,每个邻域点的历史特征为该邻域点的第三特征(即点特征和三维坐标的拼接),对于除第一次上采样处理之外的每次上采样处理,每个邻域点的历史特征为上一次上采样处理时该邻域点作为输出点时的点特征。
149.该可选方案中,对于每次上采样处理,在计算该次处理的各个输入点对应的输出点的点特征时,有效利用了各个输入点的各个邻域点的历史特征,也就是上一次上采样处
理时所得到的各个输出点的点特征,由于上一次上采样处理时所得到的各个输出点也就是当前次上采样处理的各个输入点,因此,每个输入点的历史特征是已经生成的该输入点的特征信息,采用该可选方案,可以将已经生成的各个点的特征信息保留到当前次上采样处理中,从而使得当前次上采样处理所得到的各个输出点的点特征中包含更丰富的特征信息,具有更好的特征表达能力,可以使得最终得到的目标点云数据可以更加细节化、真实地的表达目标对象。其中,上述第三数量的具体取值可以根据实际需求配置,第三数量与前文中的第一数量、第二数量的取值可以相同,也可以不同。
150.本技术的可选实施例中,对于每个输入点,根据该输入点的第三特征和该输入点的各邻域点的历史特征,通过特征上采样得到该输入点对应的至少两个输出点的点特征,包括:
151.通过至少两个第二注意力模块中的每个注意力模块分别执行以下操作:
152.分别确定该输入点的第三特征和该输入点的每个邻域点的历史特征之间的第二注意力权重;
153.采用该输入点的各个邻域点对应的注意力权重,对该输入点的各个邻域点的历史特征进行加权融合,得到该输入点对应的一个输出点的点特征。
154.可以理解的是,不同的第二注意力模块的模型参数是不同的,不同的注意力模块可以学习到输入点与其邻域点在不同特征空间的语义关联性即注意力权重,权重值越大语义关联性越大,之后,基于输入点的各个邻域点对应的注意力权重,对相应的各个邻域点的历史特征进行融合,使得得到的输出点的点特征中融入了其多个邻域点的信息,且在融入时还考虑了每个邻域点与输入点的语义关联性的大小。
155.可选的,对于每个输入点,在采用该输入点的每个邻域点对应的第二注意力权重(即该输入点与邻域点之间的关联性)时,还可以进一步考虑各个邻域点的三维坐标的特征即空间坐标特征,比如,对于每个邻域点,可以根据该输入点的第三特征、该邻域点的第三特征以及该邻域点的空间坐标特征,确定该第一点与该邻域点之间的关联性,在对该输入点的各个邻域点的历史特征进行加权融合时,也可以融入各个邻域点的空间坐标特征,比如,对于该输入点的每个邻域点,可以对该邻域点的历史特征进行特征提取,将提取的特征与该邻域点的空间坐标特征进行融合,得到融合特征,在采用各个邻域点对应的第二注意力权重对各个邻域点的历史特征进行融合时,可以是对各个的邻域点的上述融合特征进行融合。
156.可选的,第二注意力模块可以是采用基于通道注意力机制的注意力模块,可以学习到点对之间更细粒度的关联性,即输入点的第三特征和其邻域点的历史特征中每一维度的关联。其中,第二注意力模块的数量等于上采样处理过程的上采样率。
157.本技术的可选实施例中,上述基于多个输出点的点特征,得到各个输出点的三维坐标,包括:
158.基于多个输出点的点特征进行特征提取,得到各个输出点的三维坐标偏移;
159.基于各个输入点的三维坐标和各个输出点的三维坐标偏移,得到各个输出点的三维坐标。
160.可选的,对于每次上采样处理,在得到该次处理对应的多个输出点的点特征之后,可以基于这些输出点的点特征来预测得到各个输出点的三维坐标偏移,具体可以通过训练
好的神经网络结构实现,比如,可以通过多层感知机来预测各个输出点的三维坐标偏移,其中,输出点的三维坐标偏移是输出点的三维坐标相对于该次上采样处理的点云输入中输入点的三维坐标而言的,可以根据该词上采样处理的上采样率,将点云输入中输入点的三维坐标进行相应倍数的复制,复制后的输入点的数量等于输出点的数量,将各个输出点的三维坐标偏移叠加到复制后的对应的输入点的三维坐标上,即可得到各个输出点的三维坐标。
161.当然,作为另一可选方案,也可以通过训练得到能够直接基于多个输出点的点特征,得到各个输出点的三维坐标的神经网络结构。
162.可选的,本技术实施例提供的点云数据处理方法可以是通过调用训练好的点云补全网络实现的,点云补全网络是基于训练数据集对神经网络模型进行迭代训练得到的,训练数据集包括多个训练样本,每个损失训练样本包括一个点云数据对,点云数据对包括待补全的样本点云数据和对应的补全后的样本点云数据。
163.对于上述点云补全网络的具体模型架构本技术实施例不做限定,可以根据需求配置。可选的,该点云补全网络可以包括初始特征提取网络、种子特征生成网络和目标数据生成网络,其中,初始特征提取网络用于对原始点云数据进行特征提取,得到多个第一点的特征表示,多个第一点的特征表示可以作为种子特征网络的输入数据,种子特征网络可以基于每个第一点与其若干个邻域点之间的语义关联关系,进行特征上采样,并生成多个第二点的特征表示,多个第二点的特征表示可以作为目标数据生成网络的输入数据,目标生成网络根据多个第二点的特征表示,生成最终的目标点云数据。
164.对于目标点云数据的具体计算方式,本技术实施例也不做限定,可以采用端到端的训练方式,也可以是先对其中的一个或多个部分进行预训练,再对整个网络进行训练,例如,可以先对初始特征提取网络进行训练,得训练好的该网络,之后,可以固定初始特征提取网络的模型参数,对整个点云补全网络进行端到端的迭代训练,得到训练好的点云补全网络。
165.本技术实施例提供的方法,可以适用于任何有点云数据补全需求的应用场景中,比如,可以应用到三维场景重建场景中,实现三维扫描数据的修复和补全。为了更好的说明本技术实施例所提供的方案以及该方法的实用性,下面结合一个具体的场景实施例对该方案进行说明。
166.图3示出了本场景实施例所适用的一种点云数据处理系统的结构示意图,如图3所示,该点云数据处理可以包括采集设备10、终端设备20、三维重建服务器30和训练服务器40。其中,训练服务器40可以用于执行本技术实施例中涉及的神经网络的训练操作,如基于训练数据集对待训练的点云补全网络进行迭代训练,在得到训练好的点云补全网络之后,可以将该点云补全网络部署到三维重建服务器30。
167.本实施例中,采集设备10为点云数据采集设备,用于采集待补全的原始点云数据,其中,采集设备可以是激光扫描仪,在需要对目标物体进行三维重建时,可以通过激光扫描仪扫描目标物体表面,得到待补全的原始点云数据,也就是残缺的点云数据。采集设备10获取到的原始点云数据可以通过终端设备20发送给三维重建服务器30,三维重建服务器30可以基于训练好的点云补全网络,通过执行本技术实施例提供的方法,实现对原始点云数据的补全,得到补全后的目标点云数据,并可以将该目标点云数据发送给终端设备20,终端设
备20可以基于该目标点云数据渲染出目标物体的三维结构。
168.图4示出了本技术实施例提供的一种点云补全网络的结构及数据处理原始示意图。下面结合图3和图4对本技术提供的点云数据处理方法的一种可选实施方式进行说明。
169.如图4所示,本技术实施例提供的点云补全网络的整体结构采用编码器-解码器结构。该网络的数据处理流程可以包括如下三个步骤:
170.步骤一:对残缺的点云输入做特征提取。
171.该步骤可以通过图4的编码器实现,对于编码器的具体模型结构本技术实施例不做限定,可选的,采用了层次化的点云特征提取网络(如基于pointnet++或point transformer等)提取特征。该步骤提取得到的特征对应于前文中的多个第一点的特征表示。
172.步骤二:生成局部特征表示。
173.该步骤可以将步骤一提取得到的特征输入如图4所示的种子生成器中(可以是基于transformer的生成器)中,得到稀疏的点云结构以及对应的局部特征表示(对应于前文中的多个第二点的特征表示)
174.步骤三:完整点云生成和细节恢复。
175.该步骤是基于生成的局部特征表示,采用了多个上采样层对稀疏点云进行补全,逐步得到完整点云输出,即基于多个第二点的特征表示,通过进行多次上采样处理,得到目标点云数据。可选的,如图4所示,每个上采样层中可以使用一个基于transformer的生成器进行特征转换和特征点生成。
176.下面结合图4中的点云补全网络,对上述各个步骤的实现进行详细说明。
177.步骤一:对残缺的点云输入做特征提取,得到初始的点云特征表示,即多个第一点的点特征和三维坐标。
178.作为一个示例,假设残缺的点云输入p即原始点云数据包括2000个的三维坐标,可以采用编码器对残缺的点云输入原始点云数据进行特征提取,得到初始的点云特征表示,该初始的点云表示包括残缺的点云坐标该初始的点云表示包括残缺的点云坐标以及对应的每个点的特征其中,n
p
表示第一点的数量,3表示每个第一点的坐标维度,c
p
表示每个点的特征维度,f
p
表示第一点的点特征。
179.步骤二:生成局部特征表示。
180.本技术实施例中提出了一种专门用于点云补全任务的局部特征表示,该局部特征表示能够为点云补全任务提供更丰富的细节特征。
181.在该步骤,可以利用步骤一提取得到的残缺的点云坐标以及对应的每个点的特征通过一个种子生成器,生成了一个稀疏但是完整的点云结构。如图4中的(a)部分的网络结构所示,该种子生成器可以是一个基于transformer的生成器,包括用于实现上采样的transformer结构和共享的多层感知机(shared mlp)。本技术实施例提供的该方案中,将自然语言处理中的transformer结构推广到了点云生成任务中,并设计了一种基于transformer的生成器,该生成器通过结合局部邻域中的语义信息,可以对输入的点云做处理并上采样,最终得到新生成的点坐标。该生成器可以用在上述的步骤二和
步骤三的过程中。
182.下面结合一个示例,对采用该基于transformer的生成器来得到局部特征表示(即多个第二点的点特征和三维坐标)的过程进行说明。
183.在步骤二中,种子生成器的输入为步骤一提取得到的初始的点云特征表示,即上述残缺的点云坐标以及对应的每个点的特征假设原始点云数据包括2000个初始点的三维坐标,通过步骤一提取后得到了n
p
=500个第一点的坐标及每个点的特征假设基于transformer的种子生成器的上采样率为2,则将残缺的点云坐标以及对应的每个点的特征输入到该种子生成器之后,可以生成ns=1000个第二点的坐标以及每个点对应的点特征可选的,该种子生成器的数据处理流程可以如下:
184.步骤1:将n
p
*(c
p
+3)的输入数据(将各个第一点的点特征和坐标拼接后的特征,即各个第一点的第一特征)经过特征提取(如经过mlp处理后),可以得到每个第一点的查询向量qi表示第i个第一点的查询向量,中,每个第一点的键向量key可以等于query,即ki=qi。
185.步骤2:根据各个第一点的三维坐标,确定每个第一点的若干个邻域点,假设邻域点的数量为4,以第i个第一点为例,可以计算该点的三维坐标和其他各个第一点的三维坐标之间的距离,将距离最近的4个第一点作为该点的邻域点,找到最近的4个邻域点之后,对于这4个点中的每一个邻域点,以第j个点为例,可以基于qi与该点的kj,采用channel-wise self-attention(通道注意力机制)计算第i个和第j个点之间的权重a,假设上采样倍数为2,则会通过两套不同的attention权重参数(即模型参数不同的注意力机制),计算得到两个权重,记为a1和a2,之后可以对a1和a2进行归一化处理,得到第j个点对应的两个归一化后的注意力权重a1和a2,同样,可以计算出其他三个邻域点各自对应的两个权重。
186.步骤3:可选的,可以将query中的每个qi进行特征提取(如经过一层mlp处理)得到每个第一点对应的值向量vi(或者将qi直接作为vi,或者是将qi和ki拼接后进行特征提取得到vi),对于每个第一点,可以将该点的4个邻域点对应的a1分别与这4个邻域点的值向量进行加权,将加权后的4个值向量求和,得到第一点对应的一个新的特征(即融合特征),同样,可以将该点的采用4个邻域点对应的a2分别与这4个邻域点的值向量进行加权,将加权后的4个值向量求和,得到第一点对应的另一个新的特征(即融合特征),从而实现了基于点之间的语义关联性的特征融合及特征上采样处理,每个第一点对应有两个新的特征,因此,基于500个第一点的特征和坐标,可以得到1000个点的新的特征即之后将经过shared mlp既可以得到这100个点对应的三维坐标可选的,该三维坐标可以是1000个点对应的三维坐标偏移,可以通过对种子生成器的输入部分的n
p
=500个点的坐标进行复制,将复制后的1000个点的三维坐标和ns=1000个点的三维坐标偏移相加,得到最终的1000个点的坐标这1000个点即为前文中的第二点,为1000个第二点的三维坐标,为1000个第二点的特征。
187.至此,得到了种子生成器的输出,即和也就是图4中的局部特征表示(patch seeds),其中,ns表示上述1000个点,即为前文中的第二点,为1000个第二点的三维坐标,为1000个第二点的特征。
188.从的生成过程可以看出,采用本技术实施例提供的方案所生成的局部特征表示,能够保留更多的局部区域的细节,即s中每一个点对应的特征覆盖了其邻域的范围,并能够为后续的点云生成提供有效的区域性的信息。
189.步骤三:完整点云生成和细节恢复,即目标点云数据的生成。
190.本实施例中,目标点云数据的生成可以通过多次上采样处理实现,如图4中所示的多个上采样层,每个上采样层实现一次上采样处理。图4所示的结构中,上采样层的层数为3,p
l
表示第l-1层的上采样层的输入点云(前文中的点云输入)。其中,第l层的上采样层的输入点云根据第l-1层的输入得到的,即第l-1层的上采样层输出的各个点的三维坐标。
191.下面对第一层的上采样层的输入点云(即初始的点云输入)的生成获取进行介绍。
192.可选的,可以基于种子生成器输出的坐标(假设ns=1000)和特征以及原始点云数据(假设为2000个点的三维坐标,表示为),可以对这1000个点的坐标和这2000个点的坐标进行融合(融合方式不做限定),得到第一层上采样层对应的点云输入n0可以根据需求配置具体取值,是第一层上采样层的输入点的数量,在步骤三中,pi表示第i个输入点的三维坐标。
193.在得到第一层上采样层的点云输入之后,可以基于该点云输入和步骤二得到的局部特征表示和通过第一层上采样层进行第一次上采样处理,得到下一次上采样处理所使用的点云输入,再基于该新的点云输入和局部特征表示,通过第二层上采样层进行第二次上采样处理,得到下一次上采样处理所使用的点云输入,通过不断重复上述过程,直至得到最后一个上采样层输出的点云输入,该点云数据即为目标点云数据。如图4中的(b)部分的网络结构所示,基于第l-1层的上采样层的输入点云p
l
和局部特征表示(patch seeds),通过该上采样层,可以得到第l层的上采样层的输入点云p
l+1
。下面以第l-1层为例,对该层的上采样处理过程进行介绍。
194.首先,对于一个点云输入n为点的数量,可以通过种子特征插值处理(图4中的插值种子特征)将局部特征表示f即patch seeds扩展到输入点云中的每一个点上。其中,对于点云输入以及局部特征表示f,可以利用插值法将f传播到每一个点上。对于每一个点pi(点云输入中第i个点的三维坐标),首先可以根据点pi与s(种子生成器输出的各个点)中各个点的三维坐标,计算点pi与s中各个点之间的距离,在s中找到与点pi最近的k个点,设点pi的邻域n(i)={x1,

,xk}∈s,即邻域点的数量为k个,然后可以利用点pi与各个邻域点之间的距离,采用下述表达式计算插值之后的特征si(点pi的点特征):
195.其中,
196.上述表达式中,d
ij
表示点pi和邻域点xj之间的距离。通过该方法,可以将局部特征扩展到点云输入中的每个点上,得到对应的si为三维坐标为pi的输入点的特征。
197.对于第l-1层上采样层而言,该层的点云输入为即n
l
个输入点的三维坐标,通过上述特征插值处理,可以得到该层对应的插值后的局部特征之后可以基于点云输入和局部特征采用基于transformer的生成器生成p
l+1
,图5示出来该生成器的结构示意图,生成器的数据处理流程可以包括如下步骤:
198.步骤1:生成器的输入是第l-1层的点云输入以及经过插值得到的局部特征首先将这两个特征拼接,拼接后的特征(图4中的seed features)经过一个mlp处理后得到新的query特征(作为transformer的query,图5中的q),表示对第i个输入点的拼接特征(即第三特征)进行特征提取后的特征。
199.步骤2:为了保留已生成点的特征信息,使用上一层的输出特征(即历史特征,对应图4中的跳跃连接即skip connections)作为transformer的key特征(图5中的k),如图4中所示,第l-1层的输出特征n
l+1
×
c会作为第l层的key。如果没有这样的已有特征(第一层上采样没有上一层的输出特征),则
200.步骤3:根据各个输入点的三维坐标,计算输入点之间的距离,根据距离确定出每个输入点的邻域即多个邻域点,给定点pi的邻域n(i)(假设有s个邻域点),对于每一个邻域点j,可以应用channel-wise self-attention(通道自注意力机制)来计算每一对点(pi和邻域点j)之间的每一维的权重,计算原理如下:
[0201][0202]
该公式对应于图5中的关系(relation)计算、δ的融合、以及多层感知机mlp的处理步骤,其中,αm,β,γ都是特征变换函数(mlps,即图5中左侧的多层感知机,集模型参数),用来计算权重向量δj是邻域点j的空间坐标编码即空间坐标特征(positional encoding)。对于一个指定的上采样率r
l
,生成器会将点云输入上采样r
l
倍,即r
lnl
=n
l+1
。对应的,m=1,2,

,r
l
表示其中每一个上采样的过程,分别用来生成一组新的点,例如,r
l
=2,m的取值为1和2,和为通过不同的特征变换函数计算出的权重向量(也就是每一维度对应的注意力分数)。
[0203]
步骤4:用softmax函数对生成的权重做归一化:
[0204][0205]
步骤5:通过将权重与对应的value特征(即值特征/值向量)相乘,得到最终生成的新的点特征,即采用各个邻域点对应的权重对各个邻域点的特征进行融合。可选的,可以通
过以下表达式计算得到新的点特征:
[0206][0207]
其中,value特征可以是由邻域点j的key和query拼接并经过一层mlp得到的。φ也是一个特征变换函数(模型参数),即可以对拼接后的特征进行进一步特征提取,*表示对应元素相乘(elemental-wise product)。
[0208]
通过上述加权融合,对于点云输入中的每个输入点,可以得到该输入点对应的m个输出点的点特征,m等于采样层的上采样率。
[0209]
步骤6:将步骤5所有求得的特征组合起来,得到输出特征h
l
={h
im
|i=1,

,n
l
;m=1,

,r
l
},即图4中的n
l+1
×
c。输出特征h
l
经过一个mlp(shared mlp),即可以得到对应的生成的点坐标,具体的,通过mlp可以得到各个输出点的三维坐标偏移

p
l
,将

p
l
和复制后的输入的p
l
进行融合,得到p
l+1

[0210]
至此,第l-1层的上采样处理过程完成,得到的p
l+1
作为第l层的上采样层的点云输入。
[0211]
需要说明的是,在实际应用中,对应上述步骤三的实现,可以采用本技术实施例提出的上述基于transformer的生成器来实现,也可以采取其他常见的骨干网络实现,如可以采用图卷积,pointnet++等网络来实现。
[0212]
此外,对于本领域技术人员而言,对于本技术实施例中上述图4和图5中所示的生成器的结构,并不是唯一不可变的,可以根据应用需要有所改动,但对于本领域技术人员而言,实现原理与本技术实施例提供的方法的数据处理原理相同的其他网络结构也属于本技术的保护范围之内。比如,图4中所示的采样层的层数是可以根据需求设置的,用于特征进一步提取的mlp也可以采用其他特征提取网络。
[0213]
本技术实施例提出的基于局部特征表示的点云补全方法,能起到更好的细节恢复和特征保持的效果,同时有利于点云的语义理解。本技术实施例的该点云补全方案至少具有以下优势和创新点:
[0214]
1)能够有效地恢复缺失点云中的细节特征和重要结构,补全物体中缺失的部分,恢复出语义一致的完整点云数据,更加真实地还原物体本身的结构和细节,得到更真实的补全结果。
[0215]
2)本技术实施例提出的点云补全网络能够扩展到真实场景的扫描数据中,有较好的泛化性能,实现了通用的三维点云补全,并能够扩展到真实扫描数据和未知物体类别的数据上,对于网络训练中不存在的样本类别仍有较好的效果。
[0216]
3)将自然语言处理中的transformer结构扩展到三维点云生成操作中,设计出了一种基于transformer的生成器。
[0217]
4)设计了一种基于局部特征表示的点云补全网络,通过将以往的全局特征细化为局部化的局部/区域性特征,能保留局部细节,在补全过程中不仅考虑了点的自身信息,也能结合与邻近点之间的语义关系,从而达到更还原更真实的补全效果。
[0218]
为了测试本技术实施例提供的方案的效果,在样本数据上对本技术实施例提供的
方法和现有的点云补全方案进行了测试,图6和图7示出来本技术方案与现有技术的补全效果对比示意图,其中,输入为残缺的点云数据对应的物体结构,基线为采用现有方案得到的补全后的点云数据的物体结构,真值为样本输入中输入对应的完整点云数据,由图6和图7可以看出,与现有技术相比,采用本技术实施例提供的点云补全方案所得到的补全效果更佳真实、物体的细节信息更丰富。
[0219]
对应于本技术实施例提供的点云数据处理方法,本技术实施例还提供了一种点云数据处理装置,可选的,该点云数据处理装置100可以是任意的电子设备,如服务器,如图8所示,该点云数据处理装置100可以包括待补全数据获取模块110和数据补全模块120。其中,
[0220]
待补全数据获取模块110,用于获取待补全的原始点云数据,所述原始点云数据包括多个初始点的三维坐标;
[0221]
数据补全模块120,用于通过执行数据补全操作,得到补全后的目标点云数据,所述数据补全操作包括以下步骤:
[0222]
对所述原始点云数据进行特征提取,得到多个第一点的特征表示,每个所述第一点的特征表示包括该第一点的三维坐标和点特征;
[0223]
根据各个第一点的三维坐标,从所述多个第一点中确定出每个第一点的第一数量的邻域点;
[0224]
对于每个所述第一点,根据该第一点的特征表示和该第一点的每个邻域点的特征表示,确定该第一点与该第一点的每个邻域点之间的关联性,并根据该第一点的各个邻域点对应的关联性,将该第一点的各个邻域点的特征表示进行融合,得到该第一点对应的融合特征;
[0225]
基于各个第一点的融合特征,得到多个第二点的第二特征表示;
[0226]
基于所述多个第二点的特征表示,生成补全后的目标点云数据。
[0227]
可选的,数据补全模块可以通过执行以下操作得到每个所述第一点对应的融合特征:
[0228]
对于每个所述第一点,将该第一点的点特征和三维坐标拼接,得到该第一点的第一特征;
[0229]
对于每个第一点的每个邻域点,根据该第一点的第一特征和该邻域点的第一特征,确定该第一点与该邻域点之间的关联性;
[0230]
对于每个所述第一点,将该第一点的各个邻域点对应的关联性作为权重,对该第一点的各个邻域点的第一特征进行加权融合,得到该第一点对应的融合特征。
[0231]
可选的,数据补全模块可以通过采用基于通道注意力机制的至少一个第一注意力模块来得到每个第一点与该第一点的邻域点之间的关联性、以及该第一点对应的融合特征;其中,在所述第一注意力模块有至少两个时,每个所述第一点对应的融合特征可以是通过以下方式得到的:
[0232]
对于每个第一点,将该第一点的第一特征作为查询向量,将该第一点的每个邻域点的第一特征分别作为键向量,通过每个所述第一注意力模块分别执行以下操作:
[0233]
对于该第一点的每个邻域点,基于该第一点的第一特征和该邻域点的第一特征,确定该第一点和该邻域点之间的第一注意力权重,将所述第一注意力权重作为所述关联
性;
[0234]
采用该第一点的各个邻域点对应的第一注意力权重,对相应的各个邻域点的第一特征进行加权融合,得到该第一点对应的新特征;
[0235]
其中,每个所述第一点对应的融合特征包括该第一点对应于各所述第一注意力模块的新特征;
[0236]
相应的,数据补全模块在基于各个第一点对应的融合特征,得到多个第二点的第二特征表示时,可以用于:
[0237]
将每个所述第一点对应于每个所述第一注意力模块的新特征分别作为一个第二点的点特征,基于多个第二点的点特征,生成各个第二点的三维坐标,其中,每个第二点的特征表示包括该第二点的三维坐标和点特征。
[0238]
可选的,数据补全模块还用于:对于每个第一点,根据该第一点的三维坐标,生成该第一点的空间坐标特征;
[0239]
相应的,对于每个第一点的每个邻域点,数据补全模块在根据该第一点的第一特征和该邻域点的第一特征,确定该第一点与该邻域点之间的关联性、以及得到该第一点对应的融合特征时,可以用于:
[0240]
根据该第一点的第一特征、该邻域点的第一特征以及该邻域点的空间坐标特征,确定该第一点与该邻域点之间的关联性;
[0241]
对于该第一点的每个邻域点,基于该邻域点的第一特征和空间坐标特征进行特征提取,得到该邻域点的第二特征;
[0242]
采用该第一点的各个邻域点对应的权重,对该第一点的各个邻域点的第二特征进行加权融合,得到该第一点对应的融合特征。
[0243]
可选的,数据补全模块在基于所述多个第二点的特征表示,生成补全后的目标点云数据时,可以用于:
[0244]
基于所述多个第二点的特征表示,通过进行至少一次上采样处理,得到多个目标点的点特征,并根据所述多个目标点的点特征,得到多个目标点的三维坐标,所述目标点云数据包括所述多个目标点的三维坐标。
[0245]
可选的,数据补全模块在在生成目标点云数据时可以用于:
[0246]
基于所述多个初始点的三维坐标和各个第二点的三维坐标,确定初始的点云输入,所述初始的点云输入包括多个输入点的三维坐标;
[0247]
将所述初始的点云输入作为第一次上采样处理的点云输入,重复执行上采样处理直至达到设定次数,将最后一次上采样处理得到的多个输出点的三维坐标,确定为多个目标点的三维坐标;
[0248]
其中,所述上采样处理包括以下步骤:
[0249]
对于点云输入中的每个所述输入点,根据该输入点的三维坐标和各个第二点的三维坐标,确定该输入点和各个第二点之间的距离,根据所述距离从各个第二点中确定出该输入点的第二数量的邻域点;
[0250]
对于每个所述输入点,通过融合该输入点的各个邻域点的点特征,得到该输入点的点特征;
[0251]
基于各所述输入点的三维坐标和点特征,通过特征上采样得到多个输出点的点特
征;
[0252]
基于所述多个输出点的点特征,得到各个输出点的三维坐标,并将各个输出点的三维坐标作为下一次上采样处理的点云输入。
[0253]
可选的,对于每个所述输入点,数据补全模块在通过融合该输入点的各个邻域点的点特征,得到该输入点的点特征时,可以用于:
[0254]
根据该输入点与该输入点的每个邻域点之间的距离,确定该输入点的每个邻域点对应的权重,其中,每个邻域点对应的权重与该邻域点对应的距离成负相关;
[0255]
根据该输入点的各个邻域点对应的权重,对该输入点的各个邻域点的点特征进行加权融合,得到输入点的点特征。
[0256]
可选的,对于每一次上采样处理,数据补全模块在基于各所述输入点的三维坐标和点特征,通过特征上采样得到多个输出点的点特征时,可以用于:
[0257]
分别将每个输入点的点特征和三维坐标拼接,得到每个输入点的第三特征;
[0258]
根据各个输入点的三维坐标,从各个输入点中确定出每个输入点的第三数量的邻域点;
[0259]
对于每个输入点,根据该输入点的第三特征和该输入点的各邻域点的历史特征,通过特征上采样得到该输入点对应的至少两个输出点的点特征;
[0260]
其中,对于第一次上采样处理,一个邻域点的历史特征为该邻域点的第三特征,对于除第一次上采样处理之外的每次上采样处理,一个邻域点的历史特征为上一次上采样处理时该邻域点作为输出点时的点特征。
[0261]
可选的,对于每个输入点,数据补全模块在根据该输入点的第三特征和该输入点的各邻域点的历史特征,通过特征上采样得到该输入点对应的至少两个输出点的点特征时,可以用于:
[0262]
通过至少两个第二注意力模块中的每个注意力模块分别执行以下操作:
[0263]
分别确定该输入点的第三特征和该输入点的每个邻域点的历史特征之间第二注意力权重;
[0264]
采用该输入点的各个邻域点对应的第二注意力权重,对该输入点的各个邻域点的历史特征进行加权融合,得到该输入点对应的一个输出点的点特征。
[0265]
可选的,数据补全模块在基于所述多个输出点的点特征,得到各个输出点的三维坐标时,可以用于:
[0266]
基于所述多个输出点的点特征进行特征提取,得到各个输出点的三维坐标偏移;
[0267]
基于所述各个输入点的三维坐标和各个输出点的三维坐标偏移,得到各个输出点的三维坐标。
[0268]
可选的,所述数据补全模块在基于原始点云数据得到补全后的目标点云数据时,是通过调用训练好的点云补全网络实现的,所述点云补全网络是基于训练数据集对神经网络模型进行迭代训练得到的,所述训练数据集包括多个训练样本,每个损失训练样本包括一个点云数据对,所述点云数据对包括待补全的样本点云数据和对应的补全后的样本点云数据。
[0269]
可以理解的是,本技术实施例的装置可执行本技术实施例所提供的方法,其实现原理相类似,本技术各实施例的装置中的各模块所执行的动作是与本技术各实施例的方法
中的步骤相对应的,对于装置的各模块的详细功能描述具体可以参见前文中所示的对应方法中的描述,此处不再赘述。
[0270]
本技术实施例中提供了一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,该处理器执行存储器中存储的计算机程序时可实现本技术任一可选实施例中的方法。
[0271]
图9示出了本发明实施例所适用的一种电子设备的结构示意图,如图9所示,该电子设备可以为服务器或者用户终端,该电子设备可以用于实施本发明任一实施例中提供的方法。
[0272]
如图9中所示,该电子设备2000主要可以包括至少一个处理器2001(图9中示出了一个)、存储器2002、通信模块2003和输入/输出接口2004等组件,可选的,各组件之间可以通过总线2005实现连接通信。需要说明的是,图9中示出的该电子设备2000的结构只是示意性的,并不构成对本技术实施例提供的方法所适用的电子设备的限定。
[0273]
其中,存储器2002可以用于存储操作系统和应用程序等,应用程序可以包括在被处理器2001调用时实现本发明实施例所示方法的计算机程序,还可以包括用于实现其他功能或服务的程序。存储器2002可以是rom(read only memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,ram(random access memory,随机存取存储器)或者可存储信息和计算机程序的其他类型的动态存储设备,也可以是eeprom(electrically erasable programmable read only memory,电可擦可编程只读存储器)、cd-rom(compact disc read only memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0274]
处理器2001通过总线2005与存储器2002连接,通过调用存储器2002中所存储的应用程序实现相应的功能。其中,处理器2001可以是cpu(central processing unit,中央处理器),通用处理器,dsp(digital signal processor,数据信号处理器),asic(application specific integrated circuit,专用集成电路),fpga(field programmable gate array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合,其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。
[0275]
电子设备2000可以通过通信模块2003(可以包括但不限于网络接口等组件)连接到网络,以通过网络与其它设备(如用户终端或服务器等)的通信,实现数据的交互,如向其他设备发送数据或从其他设备接收数据。其中,通信模块2003可以包括有线网络接口和/或无线网络接口等,即通信模块可以包括有线通信模块或无线通信模块中的至少一项。
[0276]
电子设备2000可以通过输入/输出接口2004可以连接所需要的输入/输出设备,如键盘、显示设备等,电子设备200自身可以具有显示设备,还可以通过接口2004外接其他显示设备。可选的,通过该接口2004还可以连接存储装置,如硬盘等,以可以将电子设备2000中的数据存储到存储装置中,或者读取存储装置中的数据,还可以将存储装置中的数据存储到存储器2002中。可以理解的,输入/输出接口2004可以是有线接口,也可以是无线接口。
根据实际应用场景的不同,与输入/输出接口2004连接的设备,可以是电子设备2000的组成部分,也可以是在需要时与电子设备2000连接的外接设备。
[0277]
用于连接各组件的总线2005可以包括一通路,在上述组件之间传送信息。总线2005可以是pci(peripheral component interconnect,外设部件互连标准)总线或eisa(extended industry standard architecture,扩展工业标准结构)总线等。根据功能的不同,总线2005可以分为地址总线、数据总线、控制总线等。
[0278]
可选的,对于本发明实施例所提供的方案而言,存储器2002可以用于存储执行本发明方案的计算机程序,并由处理器2001来运行,处理器2001运行该计算机程序时实现本发明实施例提供的方法或装置的动作。
[0279]
基于与本技术实施例提供的方法相同的原理,本技术实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时可实现前述方法实施例的相应内容。
[0280]
本技术实施例还提供了一种计算机程序产品,该产品包括计算机程序,该计算机程序被处理器执行时可实现前述方法实施例的相应内容。
[0281]
需要说明的是,本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”、“1”、“2”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例能够以除图示或文字描述以外的顺序实施。
[0282]
应该理解的是,虽然本技术实施例的流程图中通过箭头指示各个操作步骤,但是这些步骤的实施顺序并不受限于箭头所指示的顺序。除非本文中有明确的说明,否则在本技术实施例的一些实施场景中,各流程图中的实施步骤可以按照需求以其他的顺序执行。此外,各流程图中的部分或全部步骤基于实际的实施场景,可以包括多个子步骤或者多个阶段。这些子步骤或者阶段中的部分或全部可以在同一时刻被执行,这些子步骤或者阶段中的每个子步骤或者阶段也可以分别在不同的时刻被执行。在执行时刻不同的场景下,这些子步骤或者阶段的执行顺序可以根据需求灵活配置,本技术实施例对此不限制。
[0283]
以上仅是本技术部分实施场景的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术的方案技术构思的前提下,采用基于本技术技术思想的其他类似实施手段,同样属于本技术实施例的保护范畴。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1