CN110781894A - 点云语义分割方法、装置及电子设备 - Google Patents

点云语义分割方法、装置及电子设备 Download PDF

Info

Publication number
CN110781894A
CN110781894A CN201910934545.2A CN201910934545A CN110781894A CN 110781894 A CN110781894 A CN 110781894A CN 201910934545 A CN201910934545 A CN 201910934545A CN 110781894 A CN110781894 A CN 110781894A
Authority
CN
China
Prior art keywords
level
point
point cloud
features
edge
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.)
Pending
Application number
CN201910934545.2A
Other languages
English (en)
Inventor
蒋理
刘枢
沈小勇
贾佳亚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201910934545.2A priority Critical patent/CN110781894A/zh
Publication of CN110781894A publication Critical patent/CN110781894A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/29Graphical models, e.g. Bayesian networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本公开提供了一种点云语义分割方法、装置及电子设备,涉及人工智能领域。该方法包括:获取原始点云,通过编码网络模型对所述原始点云对应的点云数据进行编码,以获取点云编码特征;将所述点云编码特征输入至解码网络模型,通过所述解码网络模型中的边模块分支根据所述点云编码特征获取与所述原始点云对应的边特征,并通过所述解码网络模型中的点模块分支根据所述点云编码特征和所述边特征获取与所述原始点云对应的点特征;根据所述点特征和所述边特征进行分类预测,得到所述原始点云中各点对应的分类信息。本公开能够通过点‑边的相互交流配合增大了信息传递的范围并更好地利用局部环境信息,提高了点云语义分割的精准度和效率。

Description

点云语义分割方法、装置及电子设备
技术领域
本公开涉及人工智能技术领域,具体而言,涉及一种点云语义分割方法、点云语义分割装置及电子设备。
背景技术
随着计算机技术的发展,计算机视觉与机器学习研究者对图像语义分割问题越来越感兴趣,越来越多的应用场景需要精确且高效的分割技术,如自动驾驶、室内导航、甚至虚拟现实与增强现实等。
目前,基于深度学习对三维应用场景进行分割的技术方案主要有基于体素的方案和基于点云的方案,但是由于三维物体空间分布的稀疏性,直接将三维空间体素化会存在存储空间的利用率低下等问题;由于点云的不规则性和无序性,用于提取局部区域的卷积层不能应用于点云。
鉴于此,本领域亟需开发一种新的点云语义分割方法及装置。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的实施例提供了一种点云语义分割方法、点云语义分割装置及电子设备,进而至少在一定程度上可以准确、高效地进行点云语义分割,帮助计算机理解三维环境。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开实施例的一个方面,提供了一种点云语义分割方法,包括:获取原始点云,通过编码网络模型对所述原始点云对应的点云数据进行编码,以获取点云编码特征;将所述点云编码特征输入至解码网络模型,通过所述解码网络模型中的边模块分支根据所述点云编码特征获取与所述原始点云对应的边特征,并通过所述解码网络模型中的点模块分支根据所述点云编码特征和所述边特征获取与所述原始点云对应的点特征;根据所述点特征和所述边特征进行分类预测,得到所述原始点云中各点对应的分类信息。
根据本公开实施例的一个方面,提供了一种点云语义分割装置,包括:编码模块,用于获取原始点云,通过编码网络模型对所述原始点云对应的点云数据进行编码,以获取点云编码特征;解码模块,用于将所述点云编码特征输入至解码网络模型,通过所述解码网络模型中的边模块分支根据所述点云编码特征获取与所述原始点云对应的边特征,并通过所述解码网络模型中的点模块分支根据所述点云编码特征和所述边特征获取与所述原始点云对应的点特征;分类模块,用于根据所述点特征和所述边特征进行分类预测,得到所述原始点云中各点对应的分类信息。
在本公开的一些实施例中,基于前述方案,所述编码模块配置为:对所述原始点云进行多次下采样,以生成多级包含不同数量点的点云层;对各级所述点云层对应的点云数据进行特征提取,以获取与各级所述点云层对应的点云编码特征。
在本公开的一些实施例中,基于前述方案,所述点云编码特征包括中间点云编码特征和零级点云编码特征,其中所述零级点云编码特征是对下采样生成的最后一级点云层进行特征提取生成的,所述中间点云编码特征是对所述最后一级点云层之前的点云层进行特征提取生成的。
在本公开的一些实施例中,所述中间点云编码特征包含多级中间点云编码特征;所述解码网络模型包括多级解码网络子模型,并且各级所述解码网络子模型均包括一个点模块和一个边模块;基于前述方案,所述解码模块包括:特征提取单元,用于将M级点特征和M+1级中间点云编码特征输入至M+1级解码网络子模型,通过所述M+1级解码网络子模型中的所述边模块根据所述M级点特征和M-1级边特征获取M级边特征,并通过所述M+1级解码网络子模型中的所述点模块根据所述M+1级中间点云编码特征、所述M级点特征和所述M级边特征获取M+1级点特征;其中,M为小于解码网络子模型总数量的正整数。
在本公开的一些实施例中,基于前述方案,所述解码模块配置为:将所述零级点云编码特征和一级中间点云编码特征输入至一级解码网络子模型,通过所述一级解码网络子模型中的所述边模块根据所述零级点云编码特征获取零级边特征,并通过所述一级解码网络子模型中的所述点模块根据所述一级中间点云编码特征、所述零级点云编码特征和所述零级边特征获取一级点特征和零级边特征。
在本公开的一些实施例中,基于前述方案,所述特征提取单元包括:边特征获取单元,用于通过所述边模块对所述M级点特征中各点的位置信息、M-1级图结构和所述M-1级边特征进行特征提取,以获取所述M级边特征;点特征获取单元,用于通过所述点模块对所述M级边特征、所述M级点特征和所述M+1级中间点云编码特征进行特征提取,以获取所述M+1级点特征。
在本公开的一些实施例中,基于前述方案,所述边特征获取单元包括:图结构构建单元,用于根据所述M级点特征中各点的位置信息和所述M-1级图结构构建M级图结构;上采样单元,用于根据所述M-1级边特征和所述M级图结构进行边的上采样,以获取上采样边特征;编码单元,用于对所述M级图结构、所述M级点特征和所述上采样边特征进行编码,以获取所述M级边特征。
在本公开的一些实施例中,基于前述方案,所述图结构构建单元配置为:将M级点云层中任意一点确定为第一目标点,获取所述M级点云层中与所述第一目标点对应的第一近邻点,所述第一近邻点与所述第一目标点之间的距离不超过预设距离阈值;将所述M级点云层中各所述第一目标点和与各所述第一目标点对应的所述第一近邻点相连,以获取M级初始图结构;将所述M级初始图结构中的任意一边作为第一目标边,并获取所述第一目标边对应的两个端点;在M-1级点云层中确定与各所述端点对应的近邻点,从与各所述端点对应的近邻点中分别确定一个目标近邻点,并将所述目标近邻点相连以形成检测边,并判断所述检测边是否为所述M-1级图结构中的边;当所述检测边不是所述M-1级图结构中的边时,将所述目标边从所述M级初始图结构中删除;重复判断所述M级初始图结构中所有边对应的检测边是否为所述M-1级图结构中的边,并根据判断结果对所有的边进行更新,以获取所述M级图结构。
在本公开的一些实施例中,基于前述方案,所述上采样单元配置为:将所述M级图结构中的任意一边确定为待处理边;根据所述待处理边对应的两个端点在所述M-1级边特征对应的边中确定与所述待处理边对应的近邻边;对所述近邻边与所述M-1级边特征对应的边取交集,并将所述交集中的边对应的边特征根据所述待处理边对应的两个端点的距离进行插值,以获取所述上采样边特征。
在本公开的一些实施例中,基于前述方案,所述编码单元配置为:将所述M级图结构中的任意一边作为第二目标边,获取所述第二目标边对应的两个端点;从所述M级点特征中获取各所述端点对应的点特征,将各所述端点对应的点特征连接,并对连接后的点特征进行特征提取,以获取连接点特征;将所述连接点特征和所述第二目标边对应的上采样边特征串联,并对串联后的特征进行特征提取,以获取与所述第二目标边对应的M级边子特征;重复上述步骤,直至获取所述M级图结构中各边对应的M级边子特征,并根据各边对应的M级边子特征确定所述M级边特征。
在本公开的一些实施例中,所述最后一级点云层为零级点云层;基于前述方案,所述点云语义分割装置还可以配置为:将所述零级点云层中任意一点确定为第二目标点,根据所述第二目标点与所述零极点云层中其它各点的距离和预设距离的关系确定所述第二目标点对应的近邻点;根据所述第二目标点和所述第二近邻点构建所述零级图结构。
在本公开的一些实施例中,基于前述方案,所述解码模块配置为:对M级点云层中各点所连的边对应的M级边子特征进行最大池化处理,以获取与所述M级点云层中各点对应的区域特征;将所述M级点云层中各点对应的点特征和所述区域特征连接,并对连接后的特征进行插值处理,以获取插值点特征;将所述插值点特征和所述M+1级中间点云编码特征连接,并对连接后的特征进行特征提取,以获取所述M+1级点特征。
在本公开的一些实施例中,基于前述方案,所述分类模块配置为:将所述边特征中与所述原始点云中各点对应的边子特征进行最大池化处理,以获取与所述原始点云中各点对应的区域特征;将所述点特征与所述原始点云中各点对应的区域特征连接,并通过多层感知器对连接后的特征进行分类预测,以获取所述原始点云中各点对应的分类信息。
根据本公开实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器及存储装置,其中,所述存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述实施例中所述的点云语义分割方法。
在本公开的一些实施例所提供的技术方案中,通过编码网络模型对原始点云对应的点云数据进行编码,以获取点云编码特征;接着通过解码网络模型中的边模块分支根据点云编码特征获取与原始点云对应的边特征,并通过解码网络模型中的点模块分支根据点云编码特征和边特征获取与原始点云对应的点特征;最后根据点特征和边特征进行分类预测,以获取原始点云中各点对应的分类信息。本公开的技术方案能够通过点-边的相互交流配合增大了信息传递的范围并更好地利用局部环境信息,提高了点云语义分割的精准度和效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图;
图2示意性示出了根据本公开的一个实施例的点云语义分割方法的流程示意图;
图3示意性示出了根据本公开的一个实施例的解码网络模型对原始点云解码的流程示意图;
图4示意性示出了根据本公开的一个实施例的解码网络模型进行解码的流程示意图;
图5示意性示出了根据本公开的一个实施例的边模块的结构示意图;
图6示意性示出了根据本公开的一个实施例的通过边模块获取M级边特征的流程示意图;
图7示意性示出了根据本公开的一个实施例的图结构的构建流程图;
图8示意性示出了根据本公开的一个实施例的M级图结构的构建流程图;
图9A-9C示意性示出了根据本公开的一个实施例的M级图结构中边集的筛选流程图;
图10示意性示出了根据本公开的一个实施例的获取上采样边特征的流程示意图;
图11示意性示出了根据本公开的一个实施例的检测边和M-1级边特征对应的边存在交集的结构示意图;
图12示意性示出了根据本公开的一个实施例的边编码层的结构示意图;
图13示意性示出了根据本公开的一个实施例的获取M级边特征的流程示意图;
图14示意性示出了根据本公开的一个实施例的点模块的结构示意图;
图15示意性示出了根据本公开的一个实施例的通过点模块获取点特征的流程示意图;
图16示意性示出了根据本公开的一个实施例的点云语义分割模型的结构示意图;
图17示意性示出了根据本公开的一个实施例的大型室内点云的语义分割效果图;
图18示意性示出了根据本公开的一个实施例的大型室内点云的语义分割效果图;
图19示意性示出了根据本公开的一个实施例的点云语义分割装置的框图;
图20示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图。
如图1所示,系统架构100可以包括终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备、网络和服务器。比如服务器103可以是多个服务器组成的服务器集群等。终端设备101可以是诸如照相式扫描仪、激光雷达等拍摄装置,通过终端设备101可以获取图像,进而根据图像确定图像对应的点云。
在本公开的一个实施例中,终端设备101获取原始点云后,可以通过网络102向服务器103发送该原始点云对应的点云数据,当服务器103获取原始点云对应的点云数据后,可以通过编码网络模型对点云数据进行多级编码,也就是对点云数据进行多次下采样,逐步减少点云中点的数量,在下采样的过程中,可以获取中间点云编码特征和零级点云编码特征,其中零级点云编码特征是编码网络模型输出的最后一级点云层对应的编码特征,同时,零级点云编码特征也是输入至解码网络模型中的输入特征。接着通过解码网络模型中的边模块分支根据点云编码特征获取与原始点云对应的边特征,并通过解码网络模型中的点模块分支根据点云编码特征和边特征获取与原始点云对应的点特征,具体地,解码网络模型包括多个解码网络子模型,各个解码网络子模型包括一个点模块和一个边模块,其中点模块可以根据上一级点云层对应的点特征和边特征以及当前级点云层对应的中间点云编码特征确定当前级点云层所对应的点特征,边模块可以根据当前级点云层对应的点特征和上一级点云层对应的边特征确定当前级点云层对应的边特征,同时也可以根据零级点云特征确定零级边特征;最后根据原始点云对应的点特征和边特征进行分类预测,以获取与原始点云中各点对应的分类信息。本公开实施例的技术方案能够结合点特征和边特征,增大了信息传递的范围,并更好地利用局部环境信息,从而提高了点云语义分割的精准度和效率。
需要说明的是,本公开实施例所提供的点云语义分割方法一般由服务器执行,相应地,点云语义分割装置一般设置于服务器中。但是,在本公开的其它实施例中,也可以由终端设备执行本公开实施例所提供的点云语义分割方法,并且本公开实施例所提供的点云语义分割方法可以对具有丰富环境结构信息的三维场景数据进行分割,并获取很好的分割效果。
在本领域的相关技术中,现有的基于深度学习的场景分割的技术方案主要有基于体素的方案和基于点云的方案。基于体素的方案将三维空间划分为规则排布的小方格(体素),并使用广泛用于二维分割的卷积神经网络进行特征学习。基于点云的方案则是仅考虑三维空间中被占据的区域,直接将点的三维坐标作为网络的输入,通过多层感知器(MLP)来进行特征提取。
相应地,相关技术存在弊端,对于基于体素的方案,由于三维物体空间分布的稀疏性,与物体密集分布的二维图像不同,直接将三维空间体素化会存在存储空间的利用率低下等问题。对于基于点云的方案,由于点云的不规则性和无序性,用于提取局部区域的卷积层不能应用于点云。虽然为了解决这个问题,研究者提出来一些解决方案,例如基于体素的方案通过八叉树表示,稀疏卷积等方法来节省空间;通过在局部区域应用最大池化层(MaxPooling)来提取局部信息;通过局部区域建图来利用上下文信息,等等。但是该些解决方案的效果都不是很理想,分割的精度和效率都较低。
同时,尽管基于体素的方案可以直接利用深度卷积神经网络进行特征学习,但是体素化的过程中,三维物体的精度会有所损失。这些方案始终面临的一个问题是物体精度和网络训练效率的取舍。当减小体素的大小以保证物体的精度时,网络所需内存以及训练所需时间会大幅增加。因此,本公开选择基于点云来进行三维场景分割。基于点云的方案需要设计新的不同于卷积层的方法来提取局部信息。直接在局部区域应用最大池化层(MaxPooling)来获得局部信息缺少了对点与点之间的关系的考虑,并且直接取最大值有可能忽略一些重要信息。另外一些基于局部建图的方案考虑了点与点之间的信息传递,但这些方案是针对每一层次的点云单独建图,或直接固定点云大小进行建图,没有考虑边信息在不同层次间的传递。
鉴于相关技术中存在的问题,本公开实施例提供了一种点云语义分割方法,该点云语义分割方法是基于机器学习实现的,机器学习属于人工智能的一种,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
本公开实施例提供的方案涉及人工智能的图像语义理解技术,具体通过如下实施例进行说明:
本公开实施例首先提出了一种点云语义分割方法,该点云语义分割方法可以应用于增强现实、虚拟现实、家用机器人等三维应用场景,以下对本公开实施例的技术方案的实现细节进行详细阐述:
图2示意性示出了根据本公开的一个实施例的点云语义分割方法的流程图,该点云语义分割方法可以由服务器来执行,该服务器可以是图1中所示的服务器103。参照图2所示,该点云语义分割方法至少包括步骤S210至步骤S230,详细介绍如下:
在步骤S210中,获取原始点云,通过编码网络模型对原始点云对应的点云数据进行编码,以获取点云编码特征。
在本公开的一个实施例中,通过终端设备101可以对目标场景进行拍摄,以获取构成目标场景的点数据集合,即原始点云;也可以是通过终端设备101从网络上下载获取的与目标场景对应的原始点云,当然也可以是终端设备101本地保存的与目标场景对应的原始点云,等等,本公开实施例对此不作具体限定。在获取终端设备101发送的原始点云后,可以将该原始点云输入至点云语义分割模型,以对原始点云中的点及与点连接的边进行特征提取,以获取点特征和边特征,进一步地,可以根据点特征和边特征进行分类预测,获取与各点对应的分类信息。
在本公开的一个实施例中,点云语义分割模型包括编码网络模型和解码网络模型,其中,编码网络模型用于对原始点云对应的点云数据进行编码,即对原始点云逐级进行下采样,以获取各级点云层对应的点云编码特征,具体地,图3示出了编码网络模型对原始点云对应的点云数据进行编码的流程示意图,如图3所示,对原始点云共进行了2次编码处理,每次编码处理的流程相同,均包括:采样阶段、分组阶段和特征提取阶段,其中,采样阶段:首先从原始点云或前次编码处理得到的特征点中选择任意一点作为目标点,接着从其它点中选择离该目标点距离最远的点,并将最远的点和目标点形成点集合,然后迭代选取离点集合最远的点,并更新点集合,直至点集合中点的数量达到预设数量;重复上述步骤,直至获取多个点集合,即从原始点云的R个点中选出R1个中心点。分组阶段:分别以每个中心点为圆点,将该圆点和与该圆点相距预设半径范围内的所有点组成子点集。特征提取阶段:由前一层得到的R1×k×(C+D)的点阵,其中R1为中心点数量,k为每个子点集中点的数量,C为各点的特征维度、D为各点的坐标维度;对每一组点k×(C+D),先对其中心点做归一化,得到局部坐标,接着进行特征提取以得到1×(C1+D)的特征向量;通过对每一组点进行特征提取,得到R1个(C1+D)维的特征点。将每一次编码处理获得的特征点作为下一次编码处理的输入特征点,再进行上述处理,以获取所需数量的特征点,如图中所示的维度为(R2,C2+D)的特征点,该些特征点组成点云层,也就是说,通过对原始点云对应的点云数据依次进行多次编码可以获取多级点云层,例如对原始点云进行编码可以获取一级点云层,对一级点云层进行编码可以获取二级点云层,依次类推,直至获得最后一级点云层,由于最后一级点云层是解码网络模型的输入特征,为了方便,可以将其定义为零级点云层,进一步地,对零级点云层进行特征提取获得的点云编码特征可以标记为零级点云编码特征,而对非零级点云层进行特征提取获得的点云编码特征可以标记为中间点云编码特征。图3中所示的维度为(R1,C1+D)的特征点对应的特征向量即为与原始点云进行下采样形成的一级点云层所对应的中间点云编码特征,维度为(R2,C2+D)的特征点对应的特征向量即为与一级点云层进行下采样形成的二级点云层所对应的零级点云编码特征。值得说明的是,编码网络模型可以对原始点云进行多级编码处理,以形成零级点云编码特征和多级中间点云编码特征,其中各级中间点云编码特征对应不同级的包含不同数量的点的点云层,例如原始点云包含1000个点,编码网络模型对原始点云对应的点云数据进行4次编码,则可以生成与包含500个点的三级点云层所对应的三级中间点云编码特征,与所对应的含250个点的二级点云层所对应的二级中间点云编码特征,与包含100个点的一级点云层所对应的一级中间点云编码特征对应,和与包含50个点的零级点云层所对应的零级点云编码特征。解码网络模型用于对零级点云编码特征逐级进行上采样,以获取与各级点云层对应的点特征和边特征,最终获取与原始点云对应的点特征和边特征。
在步骤S220中,将点云编码特征输入至解码网络模型,通过解码网络模型中的边模块分支根据点云编码特征获取与原始点云对应的边特征,并通过解码网络模型中的点模块分支根据点云编码特征和边特征获取与原始点云对应的点特征。
在本公开的一个实施例中,在获取中间点云编码特征和零级点云编码特征后,可以将其作为输入特征输入至解码网络模型中进行解码,以获取与原始点云对应的点特征和边特征。其中各级中间点云编码特征通过跳连的方式与解码过程中相应层级的点特征相连接,例如想要获取M级点特征,那么可以将M级中间点云编码特征输入至生成M级点特征的点模块,以使该点模块根据M级中间点云编码特征生成M级点特征。
在本公开的一个实施例中,解码网络模型包括多级解码网络子模型,各级解码网络子模型均包括一个边模块和一个点模块,进一步地,各级解码网络子模型中的边模块构成边模块分支,点模块构成点模块分支,其中边模块分支可以根据点云编码特征获取与原始点云对应的边特征,点模块分支可以根据点云编码特征和边特征获取与原始点云对应的点特征。本公开实施例中通过阶层式的边模块分支和点模块分支相互配合来进行点云语义分割,在点最稀疏的层次,即最后一级点云层,进行图的初始化,并随着点的上采样解码过程逐渐扩大图,从而通过边的上采样实现边特征在不同层级间的传递,同时接收不同层次的点特征来改进边特征。与此同时,不同层的边特征也用于为点特征的学习提供丰富的上下文信息,因而,边模块分支和点模块分支之间构成了信息的相互传递和交流。
在采用各级解码网络子模型进行分级解码时,具体流程如下:通过一级解码网络子模型中的边模块根据零级点云编码特征获取零级边特征,并通过其中的点模块根据零级点云编码特征、零级边特征及一级中间点云编码特征获取一级点特征;通过M级解码网络子模型中的边模块根据M级点特征和M-1级边特征获取M级边特征,并通过其中的点模块根据M+1级中间点云编码特征、M级点特征和M级边特征获取M+1级点特征,其中M为小于解码网络子模型总数量的正整数,这样可以使得解码网络模型进行多次上采样后获得与原始点云大小相同的点特征。
图4示出了通过解码网络模型进行解码的流程示意图,如图4所示,解码网络模型400包括一级解码网络子模型、二级解码网络子模型、……、M+1级解码网络子模型、……、N级解码网络子模型,将零级点云编码特征和一级中间点云数据进行特征输入至一级解码网络子模型,通过一级解码网络子模型根据零级点云编码特征和一级中间点云编码特征进行解码,以获取一级点特征和零级边特征;接着将一级点特征和二级中间点云数据进行特征输入至二级解码网络子模型,通过二级解码网络子模型根据一级点特征和二级中间点云编码特征进行解码,以获取二级点特征和一级边特征;……;将M级点特征和M+1级中间点云数据进行特征输入至M+1级解码网络子模型,通过M+1级解码网络子模型根据M级点特征和M+1级中间点云编码特征进行解码,以获取M+1级点特征和M级边特征,重复上述步骤,直至得到N级点特征和N级边特征,其中N级点特征对应的点的数量与原始点云中点的数量相同。
在本公开的一个实施例中,在通过边模块根据M级点特征和M-1级边特征获取M级边特征时,可以根据M级点特征中各点的位置信息、M-1级图结构和M-1级边特征进行特征提取,以获取M级边特征。
图5示出了边模块的结构示意图,如图5所示,边模块500包括图构建层501、边上采样层502和边编码层503,其中图构建层501根据M级点特征和M-1级图结构能够获取M级图结构;边上采样层502根据M级图结构和M-1级边特征能够获取上采样边特征;边编码层503根据M级点特征、M级图结构和上采样边特征能够获取M级边特征。通过图5所示的边模块可以接收不同层次的点特征来改进边特征,提高边特征的精准度。
在本公开的一个实施例中,图6示出了通过边模块获取M级边特征的流程示意图,如图6所示,获取M级边特征的流程至少包括步骤S601-S603,具体地:
在步骤S601中,根据M级点特征中各点的位置信息和M-1级图结构构建M级图结构。
在本公开的一个实施例中,图7示出了图结构的构建流程图,如图7所示,在获取零级点云编码特征后,可以根据其中的点的位置信息(N0×3)进行图的初始化,以形成零级图结构G0;接着通过点模块根据零级点云编码特征获取一级点特征后,可以通过图构建模块根据一级点特征中点的位置信息和G0生成一级图结构G1;……;通过点模块根据M级点特征获取M+1级点特征后,通过图构建模块根据M+1级点特征中点的位置信息和GM生成M+1级图结构GM+1,重复上述步骤,直至获取根据N级点特征生成的图结构G。
在本公开的一个实施例中,对于给定的点云P={p1,p2,…,pN}可以构建一个有向图G=(V,E),其中点云可以对应三维空间,点云中的点具有三个坐标值,V=P为顶点集,E为连接每个顶点与其周围区域点的边集。在本公开实施例中,获得零级点云编码特征后,可以根据零级点云编码特征中点的位置信息进行图的初始化,具体地,将零级点云编码特征对应的零级点云层中的所有点V0作为零级点云层的点集;接着将零级点云层中任意一点确定为目标点,根据目标点与零极点云层中其它各点的距离和预设距离的关系确定目标点对应的近邻点,当目标点与其它点的距离小于或等于预设距离时,可将其它点作为目标点对应的近邻点;最后根据目标点和近邻点构建零级图结构,具体可以将目标点分别与近邻点连接形成边,E0为零级点云层中各点与其最近的近邻点相连的边组成的边集,进而根据点集V0和边集E0可以确定零级图结构G0=(V0,E0)。
在本公开的一个实施例中,对于M级图结构的构建,可以根据M级点特征中各点的位置信息和M-1级图结构进行构建,图8示出了M级图结构的构建流程图,如图8所示,在步骤S801中,将M级点云层中任意一点确定为第一目标点,获取M级点云层中与第一目标点对应的第一近邻点,该第一近邻点与第一目标点之间的距离不超过预设距离阈值;在步骤S802中,将M级点云层中各第一目标点和与各第一目标点对应的第一近邻点相连,以获取M级初始图结构;在步骤S803中,将M级初始图结构中的任意一边作为第一目标边,并获取第一目标边对应的两个端点;在步骤S804中,在M-1级点云层中确定与各端点对应的近邻点,从与各端点对应的近邻点中分别确定一个目标近邻点,并将目标近邻点相连以形成检测边,判断检测边是否为M-1级图结构中的边;在步骤S805中,当检测边不是M-1级图结构中的边时,将目标边从M级初始图结构中删除;在步骤S806中,重复步骤S803-步骤S805,以获取M级图结构。
作为对步骤S804-S805的进一步解释,图9A-9C示出了M级图结构中边集的筛选流程图,对于M级初始图结构GM (0)=(VM,EM (0))中的任意一条边eij,其对应的两个端点为i、j,从M-1级点云层中确定分别与该两个端点相距不超过预设距离阈值的近邻点,如图9A所示,端点i的近邻点为A、B、C,端点j的近邻点为D、E、F;然后根据两个端点的近邻点形成边eij对应的近邻边集,如图9B所示;接着将近邻边集与图9C所示的M-1级图结构中的边集取交集,如果交集不为空,说明边eij的两个端点相距较近,在M-1级点云层中存在联系,那么可以将边eij保存在最终的边集EM和M级图结构GM中;如果交集为空,说明边eij的两个端点相距甚远以至于在M-1级点云层中都没有建立联系,那么可以将eij从初始边集EM (0)中删除。通过对M级初始图结构中的每一条边重复上述操作,直至得到最终的边集EM和M级图结构GM
从图7可知,本公开实施例中的图结构构建流程不同于每一层单独建图的方案,而是阶层式地进行图结构的构建,进而增加了信息传递的范围。
在步骤S602中,根据M-1级边特征和M级图结构进行边的上采样,以获取上采样边特征。
在本公开的一个实施例中,作为对步骤S602的进一步解释,图10示出了获取上采样边特征的流程示意图,如图10所示,在步骤S1001中,将M级图结构中的任意一边确定为待处理边;在步骤S1002中,根据待处理边对应的两个端点在M-1级边特征对应的边中确定与待处理边对应的近邻边;在步骤S1003中,对近邻边与M-1级边特征对应的边取交集,并将交集中的边对应的边特征根据待处理边对应的端点的距离进行插值,以获取上采样边特征。其中步骤S1002及S1003中取交集的具体实现方法与图9A-9C所示的流程相同,进一步地,当确定存在交集时,即在M-1级边特征对应的边中存在与M级图结构中的边对应的近邻边时,如图11中的深色有向边AD、BD、BF和CF所示,可以将相应的边特征根据两个端点i、j的距离进行插值得到上采样边特征,如图11所示,该上采样边特征即为有向边ij,其为根据有向边AD、BD、BF和CF对应的边特征进行上采样所得到的边特征。通过边的上采样实现了边特征在不同层级间的传递,使得边具有更加丰富的高低层次信息。
在步骤S603中,对M级图结构、M级点特征和上采样边特征进行编码,以获取M级边特征。
在本公开的一个实施例中,通过边编码层503根据M级图结构、M级点特征和上采样边特征进行编码,可以获取M级边特征。图12示出了边编码层的结构示意图,如图12所示,边编码层503包括索引层1201、点特征连接层1202、第一多层感知器层1203、点-边特征连接层1204、第二多层感知器层1205。边编码层可以对M级图结构中的任意一条边对应的上采样边特征进行处理,以获取M级边特征。
基于图12所示的边编码层的结构示意图,图13示出了获取M级边特征的流程示意图,如图13所示,获取M级边特征的流程至少包括步骤S1301-S1304,具体地:
在步骤S1301中,将M级图结构中的任意一边作为第二目标边,获取第二目标边对应的两个端点。
在本公开的一个实施例中,根据M级点特征和M-1级图结构获取M级图结构后,可以通过索引层1201从M级图结构中选定任意一边eij作为第二目标边,并确定与第二目标边eij对应的两个端点i、j。
在步骤S1302中,从M级点特征中获取两个端点对应的点特征,将两个端点对应的点特征连接,并对连接后的点特征进行特征提取,以获取连接点特征。
在本公开的一个实施例中,可以通过索引层1201根据第二目标边对应的两个端点i、j从M级点特征中分别获取端点i的点特征和端点j的点特征
Figure BDA0002221259300000172
同时从上采样边特征中获取与第二目标边eij对应的上采样边特征
Figure BDA0002221259300000173
接着可以通过点特征连接层1202将端点i的点特征和端点j的点特征
Figure BDA0002221259300000175
连接,形成连接后的特征fedge,其所对应的通道数由
Figure BDA0002221259300000176
变为
Figure BDA0002221259300000177
最后通过第一多层感知器层1203对连接后的特征fedge进行特征提取,以获取连接点特征。
在步骤S1303中,将连接点特征和第二目标边对应的上采样边特征串联,并对串联后的特征进行特征提取,以获取与第二目标边对应的M级边子特征。
在本公开的一个实施例中,获取连接点特征后,可以将其与上采样边特征
Figure BDA0002221259300000178
通过点-边特征连接层1204进行串联,接着可以通过第二多层感知器层1205对串联后的特征进行特征提取,以获取与第二目标边eij对应的M级边子特征。
在步骤S1304中,重复步骤S1301-S1303,直至获取M级图结构中各边对应的M级边子特征,并根据各边对应的M级边子特征确定M级边特征。
在本公开的一个实施例中,重复步骤S1301-S1303,以获取M级图结构中所有边对应的M级边子特征
Figure BDA0002221259300000179
进而根据所有的M级边子特征确定M级边特征
Figure BDA00022212593000001710
该M级边特征对应的边的数量为|EM|,通道数为KM
需要说明的是,对于零级边特征的生成,只需通过图12所示的边编码层对零级点云编码特征进行特征提取即可,具体地,可以将零级点云编码特征输入至边编码层,边编码层首先将零级点云编码特征对应的零级点云层中的任意一点作为目标点,接着在零级点云层中寻找与目标点相距不超过预设距离阈值的近邻点,同时获取目标点和近邻点所对应的点特征,并对其进行连接;然后通过多层感知器对连接后的点特征进行特征提取以获取零级边特征。
图14示出了点模块的结构示意图,如图14所示,点模块1400包括最大池化层1401、连接层1402、插值层1403、连接层1404和多层感知器输出层1405,其中(|EM|×KM)为M级边特征,可用HEM简化表示,其中|EM|为M级边特征中边的数量,KM为M级边特征的通道数;(NM×CM,NM×3)为M级点特征,可用FVL简化表示,其中NM为M级点特征中点的数量,CM为M级点特征的通道数;(NM+1×C’M+1)为M+1级中间点云编码特征,其中NM+1为M+1级中间点云编码特征中点的数量,C’M+1为M+1级中间点云编码特征的通道数;(NM×(CM+KM))为连接层1402输出的连接后的特征;(NM+1×(CM+KM))为插值点特征;(NM+1×CM+1,NM+1×3)为M+1级点特征,可用FV(M+1)简化表示,其中NM+1为M+1级点特征中点的数量,CM+1为M+1级点特征的通道数。相应地,基于图14所示的点模块的结构,图15示出了通过点模块获取点特征的流程示意图,如图15所示,获取点特征的流程至少包括步骤S1501-S1503,具体地:
在步骤S1501中,对M级点云层中各点所连的边对应的M级边子特征进行最大池化处理,以获取与M级点云层中各点对应的区域特征。
在本公开的一个实施例中,最大池化层1401对接收到的M级边特征HEM中与各点所连的边对应的边子特征HEM(pi)进行最大池化处理,通过特征的聚合以生成与M级点云层中各个点对应的区域特征,当获取M级点云层中所有点对应的区域特征后,将区域特征输出至连接层1402。
在步骤S1502中,将M级点云层中各点对应的点特征和区域特征连接,并对连接后的特征进行插值处理,以获取插值点特征。
在本公开的一个实施例中,在获取M级点云层中所有点对应的区域特征后,可以将所有点对应的点特征和区域特征连接,以获取连接后的特征。接着可以将连接后的特征输入至插值层1403,通过插值层1403对其进行插值,以获取插值点特征。
在步骤S1503中,将插值点特征和M+1级中间点云编码特征连接,并对连接后的特征进行特征提取,以获取M+1级点特征。
在本公开的一个实施例中,获取插值点特征后,可以通过连接层1404将插值点特征与M+1级中间点云编码特征连接,再通过多层感知器输出层1405对连接后的特征进行特征提取,以获取M+1级点特征。值得注意的是,本公开实施例中特征的连接都是串联,这样可以最大程度地保留点的信息及边的信息。
本公开实施例中,点模块根据M级边特征、M级点特征和M+1级中间点云编码特征进行特征提取以获取M+1级点特征,能够通过边特征来为点传递上下文环境信息,提高了所获取的点特征的精准度。
在步骤S230中,根据点特征和边特征进行分类预测,得到原始点云中各点对应的分类信息。
在本公开的一个实施例中,通过对零级点云编码特征进行多次上采样获取与原始点云具有相同数量的点的点云层所对应的点特征及边特征后,可以根据点特征和边特征进行分类预测,以获取点的分类信息。具体地,可以将边特征中与原始点云中各点对应的边子特征进行最大池化处理,以获取与原始点云中各点对应的区域特征;然后将点特征与原始点云中各点对应的区域特征连接(例如,串联等),并通过分类器对连接后的特征进行分类预测,以获取与原始点云中各点对应的分类信息,其中分类器具体可以是多层感知器,通过多层感知器对与原始点云对应的点特征进行特征提取,以获取每个点的语义标签,该语义标签即为每个点的分类信息,用于表示每个点所属的物体种类,例如哪些点属于道路、哪些点属于建筑、哪些点属于路标,等等。
以家用的扫地机器人为例,扫地机器人中的扫描设备可以对空间布局进行扫描,获取空间布局的点云图,接着扫描设备可以将获取的点云信息输入至数据处理设备,通过数据处理设备对接收到的点云信息进行处理,以获取点云中每个点的分类信息,比如空间布局中哪个位置的点为桌腿、哪个位置的点为地毯,等等。图16示出了点云语义分割模型的结构示意图,如图16所示,空间布局对应的点云数据N×C’首先通过编码网络模型1601进行多级编码,以获取多级中间点云编码特征Ni×C'i(i为正整数)和零级点云编码特征(N0×C0,N0×3),其中N为原始点云的点数量,C’为原始点云中点的通道数,Ni为i级点云层中点的数量,C’i为编码网络模型输出的点特征的通道数,N0为零级点云层中点的数量,C0为编码网络模型输出的零级点云编码特征的通道数,N0×3为零级点云层中点的位置信息;接着通过解码网络模型1602中的边模块根据零级点云编码特征获取零级边特征|E0|×K0,其中|E0|为零级边特征中边的数量,K0为零级边特征的通道数;点模块根据零级点云编码特征、零级边特征和一级中间点云编码特征获取一级点特征(N1×C1,N1×3)。由于解码网络模型1602中存在多个重复的解码网络子模型,该些解码网络子模型可以根据i级点特征获取i级边特征,并根据i级点特征、i级边特征和i+1级中间点云编码特征获取i+1级点特征,当完成上采样后,解码网络模型1602可以输出点特征(N×C,N×3)和边特征|E|×K。然后对边特征进行最大池化处理,以获取与空间布局的点云中各点对应的区域特征,并将点特征与各点对应的区域特征串联,以获取串联特征;最后通过多层感知器根据串联特征进行分类预测,以输出空间布局中各点对应的分类信息(N×class)。
在本公开的一个实施例中,在生成各级点云层对应的初始图结构的时候,不仅可以考虑各级点云层中的各个点在该点云层中的近邻点,也可以根据不同半径球随机建边,例如将各级点云层中的点作为圆心,并以不同半径形成多个球,从各个球中选择若干个点,进而根据圆心点和选择的若干个点形成初始图结构中的边。
在本公开的一个实施例中,在采用点云语义分割模型对点云进行处理获取点的语义信息之前,需要根据点云样本和对应的语义样本对点云语义分割模型进行训练。在训练的过程中,由于点模块对应的点模块分支存在损失,边模块对应的边模块分支也存在损失,因此可以根据点所属的物体种类计算点模块分支的损失,根据边的两个端点的语义一致性计算边模块分支的损失,其中语义一致性指边的两端点是否对应同一物体种类,计算损失所采用的损失函数可以为交叉熵损失函数等等,返回至图16,最终输出的边特征经过多层感知器提取特征,能够获取边特征的分类|E|,根据该分类能够确定边模块分支的损失,同样的根据点对应的分类信息可以确定点模块分支的损失,在获取了点模块分支的损失和边模块分支的损失后,可以对两个损失进行加权求和,以确定与点云语义分割模型对应的损失。通过不断调整模型的参数以使模型的损失函数达到最小,即完成对模型的训练。
本公开实施例中的点云语义分割通过编码网络模型和包含点模块和边模块的解码网络模型对点云数据进行处理,获取点云中各点对应的分类信息,并且在解码过程中能够通过阶层式的建图过程以及边的上采样,使得边特征在不同层级间的传递成为可能,从而使得边具有更加丰富的高低层次信息,也增大了点信息的传递范围。同时,在通过边的两端点的语义一致性来指导边特征的学习的过程中,属于不同类别的点特征的辨别度也得到了增强。图17和图18示出了大型室内点云的语义分割效果图,如图17和18所示,其中的输入图像为通过拍摄装置对室内布局拍摄获得的图像,地面实况是根据输入图像确定的标注数据,本方案对应的图像是根据本公开中的点云语义分割方法对输入图像对应的室内点云进行分割后生成的效果图,从图17和图18可知,其与地面实况的效果相差不大,也就是说,本公开的点云语义分割方法能够提高点云分割的精准度,达到很好的分割效果。
以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的点云语义分割方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的点云语义分割方法的实施例。
图19示意性示出了根据本公开的一个实施例的点云语义分割装置的框图。
参照图19所示,根据本公开的一个实施例的点云语义分割装置1900,包括:编码模块1901、解码模块1902和分类模块1903。
其中,编码模块1901,用于获取原始点云,通过编码网络模型对所述原始点云对应的点云数据进行编码,以获取点云编码特征;解码模块1902,用于将所述点云编码特征输入至解码网络模型,通过所述解码网络模型中的边模块分支根据所述点云编码特征获取与所述原始点云对应的边特征,并通过所述解码网络模型中的点模块分支根据所述点云编码特征和所述边特征获取与所述原始点云对应的点特征和边特征;分类模块1903,用于根据所述点特征和所述边特征进行分类预测,得到所述原始点云中各点对应的分类信息。
在本公开的一个实施例中,所述编码模块1901配置为:对所述原始点云进行多次下采样,以生成多级包含不同数量点的点云层;对各级所述点云层对应的点云数据进行特征提取,以获取与各级所述点云层对应的点云编码特征。
在本公开的一个实施例中,所述点云编码特征包括中间点云编码特征和零级点云编码特征,其中所述零级点云编码特征是对下采样生成的最后一级点云层进行特征提取生成的,所述中间点云编码特征是对所述最后一级点云层之前的点云层进行特征提取生成的。
在本公开的一个实施例中,所述中间点云编码特征包含多级中间点云编码特征;所述解码网络模型包括多级解码网络子模型,并且各级所述解码网络子模型均包括一个点模块和一个边模块;所述解码模块1902包括:特征提取单元,用于将M级点特征和M+1级中间点云编码特征输入至M+1级解码网络子模型,通过所述M+1级解码网络子模型中的所述边模块根据所述M级点特征和M-1级边特征获取M级边特征,并通过所述M+1级解码网络子模型中的所述点模块根据所述M+1级中间点云编码特征、所述M级点特征和所述M级边特征获取M+1级点特征;其中,M为小于解码网络子模型总数量的正整数。
在本公开的一个实施例中,所述解码模块1902配置为:将所述零级点云编码特征和一级中间点云编码特征输入至一级解码网络子模型,通过所述一级解码网络子模型中的所述边模块根据所述零级点云编码特征获取零级边特征,并通过所述一级解码网络子模型中的所述点模块根据所述一级中间点云编码特征、所述零级点云编码特征和所述零级边特征获取一级点特征。
在本公开的一个实施例中,所述特征提取单元包括:边特征获取单元,用于对所述M级点特征中各点的位置信息、M-1级图结构和所述M-1级边特征进行特征提取,以获取所述M级边特征。
在本公开的一个实施例中,所述边特征获取单元包括:图结构构建单元,用于根据所述M级点特征中各点的位置信息和所述M-1级图结构构建M级图结构;上采样单元,用于根据所述M-1级边特征和所述M级图结构进行边的上采样,以获取上采样边特征;编码单元,用于对所述M级图结构、所述M级点特征和所述上采样边特征进行编码,以获取所述M级边特征。
在本公开的一个实施例中,所述图结构构建单元配置为:将M级点云层中任意一点确定为第一目标点,获取所述M级点云层中与所述第一目标点对应的第一近邻点,所述第一近邻点与所述第一目标点之间的距离不超过预设距离阈值;将所述M级点云层中各所述第一目标点和与各所述第一目标点对应的所述第一近邻点相连,以获取M级初始图结构;将所述M级初始图结构中的任意一边作为第一目标边,并获取所述第一目标边对应的两个端点;在M-1级点云层中确定与各所述端点对应的近邻点,从与各所述端点对应的近邻点中分别确定一个目标近邻点,并将所述目标近邻点相连以形成检测边,并判断所述检测边是否为所述M-1级图结构中的边;当所述检测边不是所述M-1级图结构中的边时,将所述目标边从所述M级初始图结构中删除;重复判断所述M级初始图结构中所有边对应的检测边是否为所述M-1级图结构中的边,并根据判断结果对所有的边进行更新,以获取所述M级图结构。
在本公开的一个实施例中,所述上采样单元配置为:将所述M级图结构中的任意一边确定为待处理边;根据所述待处理边对应的两个端点在所述M-1级边特征对应的边中确定与所述待处理边对应的近邻边;对所述近邻边与所述M-1级边特征对应的边取交集,并将所述交集中的边对应的边特征根据所述待处理边对应的两个端点的距离进行插值,以获取所述上采样边特征。
在本公开的一个实施例中,所述编码单元配置为:将所述M级图结构中的任意一边作为第二目标边,获取所述第二目标边对应的两个端点;从所述M级点特征中获取各所述端点对应的点特征,将各所述端点对应的点特征连接,并对连接后的点特征进行特征提取,以获取连接点特征;将所述连接点特征和所述第二目标边对应的上采样边特征串联,并对串联后的特征进行特征提取,以获取与所述第二目标边对应的M级边子特征;重复上述步骤,直至获取所述M级图结构中各边对应的M级边子特征,并根据各边对应的M级边子特征确定所述M级边特征。
在本公开的一个实施例中,所述最后一级点云层为零级点云层;所述点云语义分割装置1900还可以配置为:将所述零级点云层中任意一点确定为第二目标点,根据所述第二目标点与所述零极点云层中其它各点的距离和预设距离的关系确定所述第二目标点对应的近邻点;根据所述第二目标点和所述第二近邻点构建所述零级图结构。
在本公开的一个实施例中,所述解码模块1902配置为:对M级点云层中各点所连的边对应的M级边子特征进行最大池化处理,以获取与所述M级点云层中各点对应的区域特征;将所述M级点云层中各点对应的点特征和所述区域特征连接,并对连接后的特征进行插值处理,以获取插值点特征;将所述插值点特征和所述M+1级中间点云编码特征连接,并对连接后的特征进行特征提取,以获取所述M+1级点特征。
在本公开的一个实施例中,所述分类模块1903配置为:将所述边特征中与所述原始点云中各点对应的边子特征进行最大池化处理,以获取与所述原始点云中各点对应的区域特征;将所述点特征与所述原始点云中各点对应的区域特征连接,并通过多层感知器对连接后的特征进行分类预测,以获取所述原始点云中各点对应的分类信息。
图20示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图20示出的电子设备的计算机系统2000仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图20所示,计算机系统2000包括中央处理单元(Central Processing Unit,CPU)2001,其可以根据存储在只读存储器(Read-Only Memory,ROM)2002中的程序或者从存储部分2008加载到随机访问存储器(Random Access Memory,RAM)2003中的程序而执行各种适当的动作和处理,实现上述实施例中所述的图像标注方法。在RAM 2003中,还存储有系统操作所需的各种程序和数据。CPU 2001、ROM 2002以及RAM2003通过总线2004彼此相连。输入/输出(Input/Output,I/O)接口2005也连接至总线2004。
以下部件连接至I/O接口2005:包括键盘、鼠标等的输入部分2006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分2007;包括硬盘等的存储部分2008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分2009。通信部分2009经由诸如因特网的网络执行通信处理。驱动器2010也根据需要连接至I/O接口2005。可拆卸介质2011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器2010上,以便于从其上读出的计算机程序根据需要被安装入存储部分2008。
特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分2009从网络上被下载和安装,和/或从可拆卸介质2011被安装。在该计算机程序被中央处理单元(CPU)2001执行时,执行本公开的系统中限定的各种功能。
需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的图像处理装置中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (15)

1.一种点云语义分割方法,其特征在于,包括:
获取原始点云,通过编码网络模型对所述原始点云对应的点云数据进行编码,以获取点云编码特征;
将所述点云编码特征输入至解码网络模型,通过所述解码网络模型中的边模块分支根据所述点云编码特征获取与所述原始点云对应的边特征,并通过所述解码网络模型中的点模块分支根据所述点云编码特征和所述边特征获取与所述原始点云对应的点特征;
根据所述点特征和所述边特征进行分类预测,得到所述原始点云中各点对应的分类信息。
2.根据权利要求1所述的点云语义分割方法,其特征在于,所述通过编码网络模型对所述原始点云对应的点云数据进行编码,以获取点云编码特征,包括:
对所述原始点云进行多次下采样,以生成多级包含不同数量点的点云层;
对各级所述点云层对应的点云数据进行特征提取,以获取与各级所述点云层对应的点云编码特征。
3.根据权利要求2所述的点云语义分割方法,其特征在于,所述点云编码特征包括中间点云编码特征和零级点云编码特征,其中所述零级点云编码特征是对下采样生成的最后一级点云层进行特征提取生成的,所述中间点云编码特征是对所述最后一级点云层之前的点云层进行特征提取生成的。
4.根据权利要求3所述的点云语义分割方法,其特征在于,所述中间点云编码特征包含多级中间点云编码特征;所述解码网络模型包括多级解码网络子模型,并且各级所述解码网络子模型均包括一个点模块和一个边模块;
所述通过所述解码网络模型中的边模块分支根据所述点云编码特征获取与所述原始点云对应的边特征,并通过所述解码网络模型中的点模块分支根据所述点云编码特征和所述边特征获取与所述原始点云对应的点特征,包括:
将M级点特征和M+1级中间点云编码特征输入至M+1级解码网络子模型,通过所述M+1级解码网络子模型中的所述边模块根据所述M级点特征和M-1级边特征获取M级边特征,并通过所述M+1级解码网络子模型中的所述点模块根据所述M+1级中间点云编码特征、所述M级点特征和所述M级边特征获取M+1级点特征;
其中,M为小于解码网络子模型总数量的正整数。
5.根据权利要求4所述的点云语义分割方法,其特征在于,所述通过所述解码网络模型中的边模块分支根据所述点云编码特征获取与所述原始点云对应的边特征,并通过所述解码网络模型中的点模块分支根据所述点云编码特征和所述边特征获取与所述原始点云对应的点特征,包括:
将所述零级点云编码特征和一级中间点云编码特征输入至一级解码网络子模型,通过所述一级解码网络子模型中的所述边模块根据所述零级点云编码特征获取零级边特征,并通过所述一级解码网络子模型中的所述点模块根据所述一级中间点云编码特征、所述零级点云编码特征和所述零级边特征获取一级点特征。
6.根据权利要求4所述的点云语义分割方法,其特征在于,所述通过所述M+1级解码网络子模型中的所述边模块根据所述M级点特征和M-1级边特征获取M级边特征,包括:
对所述M级点特征中各点的位置信息、M-1级图结构和所述M-1级边特征进行特征提取,以获取所述M级边特征。
7.根据权利要求6所述的点云语义分割方法,其特征在于,所述对所述M级点特征中各点的位置信息、M-1级图结构和M-1级边特征进行特征提取,以获取所述M级边特征,包括:
根据所述M级点特征中各点的位置信息和所述M-1级图结构构建M级图结构;
根据所述M-1级边特征和所述M级图结构进行边的上采样,以获取上采样边特征;
对所述M级图结构、所述M级点特征和所述上采样边特征进行编码,以获取所述M级边特征。
8.根据权利要求7所述的点云语义分割方法,其特征在于,所述根据所述M级点特征中各点的位置信息和所述M-1级图结构构建M级图结构,包括:
将M级点云层中任意一点确定为第一目标点,获取所述M级点云层中与所述第一目标点对应的第一近邻点,所述第一近邻点与所述第一目标点之间的距离不超过预设距离阈值;
将所述M级点云层中各所述第一目标点和与各所述第一目标点对应的所述第一近邻点相连,以获取M级初始图结构;
将所述M级初始图结构中的任意一边作为第一目标边,并获取所述第一目标边对应的两个端点;
在M-1级点云层中确定与各所述端点对应的近邻点,从与各所述端点对应的近邻点中分别确定一个目标近邻点,并将所述目标近邻点相连以形成检测边,并判断所述检测边是否为所述M-1级图结构中的边;
当所述检测边不是所述M-1级图结构中的边时,将所述目标边从所述M级初始图结构中删除;
重复判断所述M级初始图结构中所有边对应的检测边是否为所述M-1级图结构中的边,并根据判断结果对所有的边进行更新,以获取所述M级图结构。
9.根据权利要求7或8所述的点云语义分割方法,其特征在于,所述根据所述M-1级边特征和所述M级图结构进行边的上采样,以获取上采样边特征,包括:
将所述M级图结构中的任意一边确定为待处理边;
根据所述待处理边对应的两个端点在所述M-1级边特征对应的边中确定与所述待处理边对应的近邻边;
对所述近邻边与所述M-1级边特征对应的边取交集,并将所述交集中的边对应的边特征根据所述待处理边对应的两个端点的距离进行插值,以获取所述上采样边特征。
10.根据权利要求7所述的点云语义分割方法,其特征在于,所述对所述M级图结构、所述M级点特征和所述上采样边特征进行编码,以获取所述M级边特征,包括:
将所述M级图结构中的任意一边作为第二目标边,获取所述第二目标边对应的两个端点;
从所述M级点特征中获取各所述端点对应的点特征,将各所述端点对应的点特征连接,并对连接后的点特征进行特征提取,以获取连接点特征;
将所述连接点特征和所述第二目标边对应的上采样边特征串联,并对串联后的特征进行特征提取,以获取与所述第二目标边对应的M级边子特征;
重复上述步骤,直至获取所述M级图结构中各边对应的M级边子特征,并根据各边对应的M级边子特征确定所述M级边特征。
11.根据权利要求6所述的点云语义分割方法,其特征在于,所述最后一级点云层为零级点云层;所述方法还包括:
将所述零级点云层中任意一点确定为第二目标点,根据所述第二目标点与所述零极点云层中其它各点的距离和预设距离的关系确定所述第二目标点对应的近邻点;
根据所述第二目标点和所述第二近邻点构建零级图结构。
12.根据权利要求4所述的点云语义分割方法,其特征在于,所述通过所述M+1级解码网络子模型中的所述点模块根据所述M+1级中间点云编码特征、所述M级点特征和所述M级边特征获取M+1级点特征,包括:
对M级点云层中各点所连的边对应的M级边子特征进行最大池化处理,以获取与所述M级点云层中各点对应的区域特征;
将所述M级点云层中各点对应的点特征和所述区域特征连接,并对连接后的特征进行插值处理,以获取插值点特征;
将所述插值点特征和所述M+1级中间点云编码特征连接,并对连接后的特征进行特征提取,以获取所述M+1级点特征。
13.根据权利要求1所述的点云语义分割方法,其特征在于,所述根据所述点特征和所述边特征进行分类预测,得到所述原始点云中各点对应的分类信息,包括:
将所述边特征中与所述原始点云中各点对应的边子特征进行最大池化处理,以获取与所述原始点云中各点对应的区域特征;
将所述点特征与所述原始点云中各点对应的区域特征连接,并通过多层感知器对连接后的特征进行分类预测,以获取所述原始点云中各点对应的分类信息。
14.一种点云语义分割装置,其特征在于,包括:
编码模块,用于获取原始点云,通过编码网络模型对所述原始点云对应的点云数据进行编码,以获取中间点云编码特征和零级点云编码特征;
解码模块,用于将所述点云编码特征输入至解码网络模型,通过所述解码网络模型中的边模块分支根据所述点云编码特征获取与所述原始点云对应的边特征,并通过所述解码网络模型中的点模块分支根据所述点云编码特征和所述边特征获取与所述原始点云对应的点特征;
分类模块,用于根据所述点特征和所述边特征进行分类预测,得到所述原始点云中各点对应的分类信息。
15.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,所述存储装置用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如权利要求1至13中任一项所述的点云语义分割方法。
CN201910934545.2A 2019-09-29 2019-09-29 点云语义分割方法、装置及电子设备 Pending CN110781894A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910934545.2A CN110781894A (zh) 2019-09-29 2019-09-29 点云语义分割方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910934545.2A CN110781894A (zh) 2019-09-29 2019-09-29 点云语义分割方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN110781894A true CN110781894A (zh) 2020-02-11

Family

ID=69384748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910934545.2A Pending CN110781894A (zh) 2019-09-29 2019-09-29 点云语义分割方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN110781894A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112418129A (zh) * 2020-11-30 2021-02-26 上海商汤临港智能科技有限公司 一种点云数据处理的方法、装置、电子设备及存储介质
CN112560965A (zh) * 2020-12-18 2021-03-26 中国科学院深圳先进技术研究院 图像语义分割方法、存储介质和计算机设备
WO2022111343A1 (zh) * 2020-11-26 2022-06-02 腾讯科技(深圳)有限公司 非时序点云媒体的处理方法、装置、设备及存储介质
CN114598892A (zh) * 2020-12-07 2022-06-07 腾讯科技(深圳)有限公司 点云数据编码方法、解码方法、装置、设备及存储介质
WO2023220987A1 (zh) * 2022-05-18 2023-11-23 北京小米移动软件有限公司 目标点确定方法、装置、电子设备及存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022111343A1 (zh) * 2020-11-26 2022-06-02 腾讯科技(深圳)有限公司 非时序点云媒体的处理方法、装置、设备及存储介质
CN112418129A (zh) * 2020-11-30 2021-02-26 上海商汤临港智能科技有限公司 一种点云数据处理的方法、装置、电子设备及存储介质
CN112418129B (zh) * 2020-11-30 2024-04-12 上海商汤临港智能科技有限公司 一种点云数据处理的方法、装置、电子设备及存储介质
CN114598892A (zh) * 2020-12-07 2022-06-07 腾讯科技(深圳)有限公司 点云数据编码方法、解码方法、装置、设备及存储介质
CN114598892B (zh) * 2020-12-07 2024-01-30 腾讯科技(深圳)有限公司 点云数据编码方法、解码方法、装置、设备及存储介质
CN112560965A (zh) * 2020-12-18 2021-03-26 中国科学院深圳先进技术研究院 图像语义分割方法、存储介质和计算机设备
CN112560965B (zh) * 2020-12-18 2024-04-05 中国科学院深圳先进技术研究院 图像语义分割方法、存储介质和计算机设备
WO2023220987A1 (zh) * 2022-05-18 2023-11-23 北京小米移动软件有限公司 目标点确定方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
Zhang et al. A review of deep learning-based semantic segmentation for point cloud
Fu et al. Single image 3D object reconstruction based on deep learning: A review
Fahim et al. Single-View 3D reconstruction: A Survey of deep learning methods
Kuo et al. Mask2cad: 3d shape prediction by learning to segment and retrieve
CN110781894A (zh) 点云语义分割方法、装置及电子设备
Wang et al. 3d shape reconstruction from free-hand sketches
Yuniarti et al. A review of deep learning techniques for 3D reconstruction of 2D images
CN112529015A (zh) 一种基于几何解缠的三维点云处理方法、装置及设备
CN111932529B (zh) 一种图像分类分割方法、装置及系统
Biasotti et al. Mathematical tools for shape analysis and description
CN113159232A (zh) 一种三维目标分类、分割方法
CN116797787B (zh) 基于跨模态融合与图神经网络的遥感影像语义分割方法
He et al. Learning scene dynamics from point cloud sequences
CN115205150A (zh) 图像的去模糊方法、装置、设备、介质及计算机程序产品
Deng et al. Fusing geometrical and visual information via superpoints for the semantic segmentation of 3D road scenes
Song et al. S^ 2 RGAN S 2 RGAN: sonar-image super-resolution based on generative adversarial network
Tyagi et al. A comprehensive review on image synthesis with adversarial networks: Theory, literature, and applications
Lee et al. Connectivity-based convolutional neural network for classifying point clouds
Samavati et al. Deep learning-based 3D reconstruction: a survey
CN116630514A (zh) 图像处理方法、装置、计算机可读存储介质及电子设备
CN113096239B (zh) 一种基于深度学习的三维点云重建方法
Lei et al. Mesh convolution with continuous filters for 3-d surface parsing
Lei et al. Mesh Convolution with Continuous Filters for 3D Surface Parsing
Chen et al. Multi-view Pixel2Mesh++: 3D reconstruction via Pixel2Mesh with more images
Goswami et al. Multi-faceted hierarchical image segmentation taxonomy (MFHIST)

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40021515

Country of ref document: HK

SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination