点云语义分割方法、装置、电子设备和可读存储介质
文献发布时间:2023-06-19 11:19:16
技术领域
本公开涉及人工智能领域,具体涉及深度神经网络模型压缩领域,更具体地,涉及一种点云语义分割方法、一种点云语义分割装置、一种电子设备、一种可读存储介质和一种计算机程序产品。
背景技术
在计算机视觉中,语义分割任务完成了对图片体素级的分类,是计算机视觉中的基础问题,例如在地理信息系统中,需根据语义分割结果,对河流、道路、建筑物等进行标注。
在相关技术中,无论是经典语义分割模型,例如全卷积神经网络等,还是改进的轻量化语义分割模型,例如ENet、CGNet等,其特征提取都是利用深层卷积网络实现。当识别目标为三维点云数据时,需要使用更大规模的深层卷积网络,从而导致其部署时对计算资源和存储空间的需求较大。在实现本公开的过程中发现,相关技术中点云语义分割模型的模型规模较大,难以在边缘设备上运行。
发明内容
有鉴于此,本公开提供了一种点云语义分割方法、一种点云语义分割装置、一种电子设备、一种可读存储介质和一种计算机程序产品。
本公开的一个方面提供了一种点云语义分割方法,包括:获取待检测点云数据;根据上述待检测点云数据获取体素网格;将上述体素网格输入被部署在边缘设备中的点云语义分割模型中,输出第一概率矩阵,其中,上述点云语义分割模型包括依次连接的第一特征提取网络和插值网络,上述点云语义分割模型是基于知识蒸馏技术对深度模型进行压缩后训练得到的;以及将上述第一概率矩阵经过分类器,得到上述待检测点云数据的语义分割结果。
根据本公开的实施例,上述根据上述待检测点云数据获取体素网格包括:将上述待检测点云数据输入固定分辨率的三维栅格地图中;对于上述三维栅格地图中的每一个栅格,使用上述栅格中所有点云的质心替代上述栅格中的其他点云,得到上述栅格的体素;以及遍历上述上述三维栅格地图中的所有栅格,得到体素网格。
根据本公开的实施例,上述将上述体素网格输入被部署在边缘设备中的点云语义分割模型中,输出第一概率矩阵包括:将上述体素网格输入上述第一特征提取网络中,得到第一特征矩阵;将上述第一特征矩阵输入上述插值网络中,通过上采样方式获取体素网格中每一个体素的分类概率向量;以及基于上述每一个体素的分类概率向量生成上述第一概率矩阵。
根据本公开的实施例,上述深度模型包括依次连接的第二特征提取网络和插值网络,其中,上述第二特征提取网络的网络规模大于上述第一特征提取网络的网络规模。
根据本公开的实施例,上述点云语义分割模型基于知识蒸馏技术对深度模型进行压缩后训练得到包括:获取样本点云数据,并基于上述样本点云数据获取样本体素网格;对上述深度模型进行训练得到第一模型;将上述样本体素网格输入上述第一模型中,得到上述第一模型输出的第二特征矩阵和第二概率矩阵;以及使用上述第二特征矩阵和上述第二概率矩阵作为上述样本体素网格的标签,基于上述样本体素网格训练初始点云语义分割模型,获取点云语义分割模型。
根据本公开的实施例,上述使用上述第二特征矩阵和上述第二概率矩阵作为上述样本体素网格的标签,基于上述样本体素网格训练初始点云语义分割模型,获取点云语义分割模型包括:使用上述第二特征矩阵作为上述样本体素网格的标签,基于上述样本体素网格训练上述初始点云语义分割模型的第一特征提取网络;以及使用上述第二概率矩阵作为上述样本体素网格的标签,基于上述样本体素网格训练第二模型,得到上述点云语义分割模型,其中,上述第二模型包括经过训练的上述初始点云语义分割模型的第一特征提取网络和上述初始点云语义分割模型的插值网络。
根据本公开的实施例,上述将上述第一概率矩阵经过分类器,得到上述待检测点云数据的语义分割结果包括:将上述第一概率矩阵输入到分类器中,得到上述体素网络中每一个体素所属的类别;以及基于上述体素网络中每一个体素所属的类别,获取上述待检测点云数据的语义分割结果。
本公开的另一方面提供了一种点云语义分割装置,包括数据获取模块、数据预处理模块、执行模块和分类模块。
其中,数据获取模块,用于获取待检测点云数据;数据预处理模块,用于根据上述待检测点云数据获取体素网格;执行模块,用于将上述体素网格待检测点云数据输入被部署在边缘设备中的点云语义分割模型中,输出第一概率矩阵,其中,上述点云语义分割模型包括依次连接的第一特征提取网络和插值网络,上述点云语义分割模型是基于知识蒸馏技术对深度模型进行压缩后训练得到的;以及分类模块,用于将上述第一概率矩阵经过分类器,得到上述待检测点云数据的语义分割结果。
根据本公开的实施例,上述数据预处理模块包括:第一处理单元、第二处理单元和第三处理单元。
其中,第一处理单元:用于将上述待检测点云数据输入固定分辨率的三维栅格地图中;第二处理单元:用于对于上述三维栅格地图中的每一个栅格,使用上述栅格中所有点云的质心替代上述栅格中的其他点云,得到上述栅格的体素;以及第三处理单元,用于遍历上述上述三维栅格地图中的所有栅格,得到体素网格。
根据本公开的实施例,上述执行模块包括:第一执行单元、第二执行单元和第三执行单元。
其中,第一执行单元,用于将上述体素网格输入上述第一特征提取网络中,得到第一特征矩阵;第二执行单元,用于将上述第一特征矩阵输入上述插值网络中,通过上采样方式获取体素网格中每一个体素的分类概率向量;以及第三执行单元,用于基于上述每一个体素的分类概率向量生成上述第一概率矩阵。
根据本公开的实施例,上述深度模型包括依次连接的第二特征提取网络和插值网络,其中,上述第二特征提取网络的网络规模大于上述第一特征提取网络的网络规模。
根据本公开的实施例,上述执行模块还包括:样本获取单元、第一训练单元、第四执行单元和第二训练单元。
其中,样本获取单元,用于获取样本点云数据,并基于上述样本点云数据获取样本体素网格;第一训练单元,用于对上述深度模型进行训练得到第一模型;第四执行单元,用于将上述样本体素网格输入上述第一模型中,得到上述第一模型输出的第二特征矩阵和第二概率矩阵;以及第二训练单元,用于使用上述第二特征矩阵和上述第二概率矩阵作为上述样本体素网格的标签,基于上述样本体素网格训练初始点云语义分割模型,获取点云语义分割模型。
根据本公开的实施例,上述第二训练单元包括:第一训练子单元和第二训练子单元。
其中,第一训练子单元,用于使用上述第二特征矩阵作为上述样本体素网格的标签,基于上述样本体素网格训练上述初始点云语义分割模型的第一特征提取网络;以及第二训练子单元,用于使用上述第二概率矩阵作为上述样本体素网格的标签,基于上述样本体素网格训练第二模型,得到上述点云语义分割模型,其中,上述第二模型包括经过训练的上述初始点云语义分割模型的第一特征提取网络和上述初始点云语义分割模型的插值网络。
根据本公开的实施例,上述分类模块包括:第一分类单元和第二分类单元。
其中,第一分类单元,用于将上述第一概率矩阵输入到分类器中,得到上述体素网络中每一个体素所属的类别;以及第二分类单元,用于基于上述体素网络中每一个体素所属的类别,获取上述待检测点云数据的语义分割结果。
本公开的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当上述一个或多个程序被上述一个或多个处理器执行时,使得上述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序产品,所述计算机程序产品包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
根据本公开的实施例,通过根据待检测点云数据获取体素网格;将上述体素网格输入被部署在边缘设备中的点云语义分割模型中,输出第一概率矩阵,其中,上述点云语义分割模型包括依次连接的第一特征提取网络和插值网络,上述点云语义分割模型是基于知识蒸馏技术对深度模型进行压缩后训练得到的;以及将上述第一概率矩阵经过分类器,得到上述待检测点云数据的语义分割结果。由于通过将体素化的点云数据输入到点云语义分割模型中,并基于点云语义分割模型的输出获取点云数据的语义分割结果。采用了知识蒸馏的方法,实现了对点云语义分割模型的低精度损失的压缩,进而降低了部署点云语义分割模型时需要的计算资源和存储空间,实现了点云语义分割模型在边缘设备上的部署。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的点云语义分割方法的应用场景的示意图;
图2示意性示出了根据本公开实施例的点云语义分割模型训练方法200的流程图;
图3a、图3b和图3c示意性示出了根据本公开实施例的点云数据结构的示意图;
图4示意性示出了根据本公开实施例的点云语义分割模型训练过程的示意图;
图5示意性示出了根据本公开实施例的点云语义分割装置500的示意图;
图6示意性示出了根据本公开实施例的适于实现点云语义分割方法的电子设备600的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。
知识蒸馏是指通过使用大型网络(教师模型)指导小型网络(学生模型)进行训练,教师模型往往模型较大但精度较高,学生模型一般模型较小但精度较低,经过教师模型指导学生模型进行训练,进而使得学生模型在保持原有模型大小的基础上,获得教师模型的精度。基于知识蒸馏的思想,教师模型和学生模型的训练都可以在具有丰富计算资源与存储资源的设备,例如云计算中心进行,边缘设备仅需具备运行学生模型的资源,即可实现边缘设备对复杂数据的语义分割。
在相关技术中,例如点集的深层次特征学习,其网络结构可以分为两部分,包括用于获取点云全局特征的特征提取网络和用于获取每个体素信息的插值网络。其中,特征提取网络用于完成点云从三维空间到嵌入空间的映射,使得最终提取出的全局特征包含了点云整体的信息;插值网络基于全局特征进行上采样,完成对每个体素特征的获取,进而得到语义分割的结果。特征提取网络占到整体网络中绝大多数的存储空间和运算量,基于知识蒸馏的思想,可以通过对原网络结构中特征提取网络的替换得到学生模型,从而达到模型压缩的效果。
本公开的实施例提供了一种用于多个机器人中每个机器人的通信方法以及能够应用该方法的机器人。该方法包括身份识别过程和信息收发过程。在身份识别过程中,每个机器人在不同时隙发送对自身进行标识的身份识别信号,并接收来自其他机器人的身份识别信号。基于接收的身份识别信号,多个机器人可以彼此相互识别。在完成身份识别之后,进入信息收发过程,多个机器人可以根据预定规则彼此通信。
图1示意性示出了根据本公开实施例的点云语义分割方法的应用场景的示意图。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括服务器101、网络102、遥感卫星103和检测目标104。
网络102用以在服务器101和遥感卫星103之间提供通信链路的介质。需要注意的是,网络102可以包括各种连接类型,包括但不限于附图中所示的无线通信链路等。
遥感卫星103内置有具有3D扫描功能的电子设备,例如激光雷达、立体摄像机、深度相机等,这些电子设备通过对检测目标104的多次扫描,获取检测目标104的点云数据。同时,遥感卫星103装配有具有数据存储及处理功能的电子设备,例如卫星上位机等,可以用于对点云数据的处理。
服务器101可以是具备丰富计算资源的服务器或服务器集群,用于根据遥感卫星103采集的点云数据完成对点云语义分割模型的训练。
本公开实施例的点云语义分割方法一般可以由遥感卫星103执行,以便于对点云数据进行实时处理,减少对卫星上下行资源的占用。另一方面本公开实施例的点云语义分割方法也可以由服务器101执行,或可以由能够与服务器104通信的其他服务器或服务器集群执行。
需要注意的是,图1中的服务器和网络的数目仅是示意性的,根据实现需要,可以具有任意数目的服务器和网络。本公开实施例的点云语义分割方法还可以应用在无人驾驶领域,用于对汽车周边信息的实时分类;同时还可以应用在医疗领域,特别是医疗影像分析领域,用于辅助医生完成对正常组织和病变组织的区分。
图2示意性示出了根据本公开实施例的点云语义分割模型训练方法200的流程图。
如图2所示,该方法200包括操作S210~S240。
在操作S210,获取待检测点云数据。
根据本公开的实施例,待检测点云数据可由3D摄像设备获取。点云数据表现为三维空间的点的集合,可以表示物体的形状、颜色等信息。
在操作S220,根据待检测点云数据获取体素网格。
根据本公开的实施例,采用体素作为对三维图像检测的最小单位。
在操作S230,将体素网格输入被部署在边缘设备中的点云语义分割模型中,输出第一概率矩阵。
根据本公开的实施例,点云语义分割模型包括依次连接的第一特征提取网络和插值网络,点云语义分割模型是基于知识蒸馏技术对深度模型进行压缩后训练得到的。
根据本公开的实施例,边缘设备包括用户端的设备,例如手机、电脑、VR设备等,也可以包括与用户端设备建立直接通信的基站、服务器等。
在操作S240,将第一概率矩阵经过分类器,得到待检测点云数据的语义分割结果。
根据本公开的实施例,分类器可以是softmax分类器,用于根据每一个体素的概率向量,计算得到该体素对应的类别。例如,体素的概率向量为[0.01,0.02,0.95,0.02],经过分类器可以判定该体素属于第3类别。
根据本公开的实施例,通过将体素化的点云数据输入到点云语义分割模型中,并基于点云语义分割模型的输出获取点云数据的语义分割结果。因为采用了知识蒸馏的方法,实现了对点云语义分割模型的低精度损失的压缩,进而降低了部署点云语义分割模型时需要的计算资源和存储空间,实现了点云语义分割模型在边缘设备上的部署。
下面参考图3a、图3b、图3c、图4,结合具体实施例对图2所示的方法做进一步说明。
图3a、图3b和图3c示意性示出了根据本公开实施例的点云数据结构的示意图。
图3a表示物体的多视角图片,是通过不同视角的虚拟摄像机从物体中获取的二维图像的集合。多视角图片通常需要使用比较多的图片来构建完整的三维模型。
将该多视角图片置于三维坐标系统中,用点的集合来表示物体的外表形状,即可得到如图3b所示的点云图像。点云本质上是三维点的集合,是将连续的物体图像离散化得到的。点云可以包含物体的形状、位置、颜色等信息。
由于点云中点的数量较多,若直接利用点云数据作为输入,所建立的模型规模较大,且模型在训练时容易陷入过拟合。因此,在点云数据处理时,常将其表示为三维空间中体素的集合,如图3c所示。在本公开的实施例中,采用体素化的点云数据作为模型的输入。
根据本公开的实施例,将待检测点云数据体素化的过程包括:将待检测点云数据输入固定分辨率的三维栅格地图中;对于三维栅格地图中的每一个栅格,使用栅格中所有点云的质心替代栅格中的其他点云,得到栅格的体素;以及遍历三维栅格地图中的所有栅格,得到体素网格。
根据本公开的实施例,体素化后的点云数据具有较少的数据量,有效降低了输入数据的维度,有利于减少模型部署时资源的消耗。
需要注意的是,点云数据的体素化方法并不限于方法,例如,对于每一个栅格内的点云,可以使用所有点云的几何中心替代其他点云。
图4示意性示出了根据本公开实施例的点云语义分割模型训练过程的示意图。
如图4所示,点云语义分割模型是通过训练完成的深度模型作为教师模型指导初始语义分割模型进行训练从而得到的。
根据本公开的实施例,深度模型包括依次连接的第二特征提取网络和插值网络,其中,第二特征提取网络的网络规模大于第一特征提取网络的网络规模。
具体训练过程如下:
首先,获取样本点云数据,并基于样本点云数据获取样本体素网格。
根据本公开的实施例,样本点云数据以及样本体素网格的获取可以参考图3a~3c描述中的相关方法。
然后,对深度模型进行训练得到第一模型。
根据本公开的实施例,深度模型的结构较为复杂,部署深度模型时需要占用较多的计算资源和存储空间。基于知识蒸馏的思想,将深度模型进行训练得到的第一模型即教师模型。
之后,将样本体素网格输入第一模型中,得到第一模型输出的第二特征矩阵和第二概率矩阵。
根据本公开的实施例,将样本体素网格输入第一模型中的第二特征提取网络中,可以得到第二特征矩阵;将第二特征矩阵输入第一模型的插值网络中,该网络通过上采样的方法可以获取样本体素网格中的每一个样本体素的分类概率向量;最后将每一个样本体素的分类概率向量置入向量空间,可以生成第二概率矩阵。
最后,使用第二特征矩阵和第二概率矩阵作为样本体素网格的标签,基于样本体素网格训练初始点云语义分割模型,获取点云语义分割模型。
根据本公开的实施例,在训练初始点云语义分割模型的过程中,还可以使用样本体素网格的真实标签对训练过程进行监督。训练时,采取分步训练的方法,首先对初始点云语义分割模型的第一特征提取网络进行训练,然后加载初始点云语义分割模型的插值网络进行再次的训练。
根据本公开的实施例,在对初始点云语义分割模型的第一特征提取网络进行训练时,使用样本体素网格作为训练样本,使用样本体素网格的真实标签作为第一标签,使用第二特征矩阵作为第二标签,可以采用随机梯度下降法等用于模型参数的迭代,训练模型时的超参,例如学习率、训练次数等,可以根据实际训练效果进行调整,模型的训练效果可以由损失值进行表征。训练时可以采用相关技术中的损失函数,例如公式1所示的L2损失函数,也可以采用复合的损失函数,如公式2、3所示:
L=||P
L=μL
L
在公式1~3中,L表示实际训练时采用的损失函数;P
需要注意的是,在P
根据本公开的实施例,在对初始点云语义分割模型的插值网络进行训练时,首先会将插值网络加载到训练完成的第一特征提取网络的后端,组成第二模型。训练第二模型时,使用样本体素网格作为训练样本,使用样本体素网格的真实标签作为第一标签,使用第二概率矩阵作为第二标签,其他的训练参数的设置可以与训练第一特征提取网络时相似。
需要注意的是,由于在训练第二模型时,会同时对训练完成的第一特征提取网络进行再次的训练,特别是当第一特征提取网络具备避免梯度弥散或梯度爆炸的功能时,为了避免过度训练,可以第二次训练时为第一特征提取网络设置一个较小的学习率。
根据本公开的实施例,将如图4中所示的点云数据输入到点云语义分割模型中,可以得到该点云数据对应的第一概率矩阵,根据第一概率矩阵获取语义分割结果的过程包括:将第一概率矩阵输入到分类器中,得到体素网络中每一个体素所属的类别;以及基于体素网络中每一个体素所属的类别,获取待检测点云数据的语义分割结果。
图5示意性示出了根据本公开实施例的点云语义分割装置500的示意图。
如图5所示,该点云语义分割装置500包括数据获取模块510、数据预处理模块520、执行模块530和分类模块540。其中:
数据获取模块510,用于获取待检测点云数据。
数据预处理模块520,用于根据待检测点云数据获取体素网格。
执行模块530,用于将体素网格待检测点云数据输入被部署在边缘设备中的点云语义分割模型中,输出第一概率矩阵,其中,点云语义分割模型包括依次连接的第一特征提取网络和插值网络,点云语义分割模型是基于知识蒸馏技术对深度模型进行压缩后训练得到的;
分类模块540,用于将第一概率矩阵经过分类器,得到待检测点云数据的语义分割结果。
根据本公开的实施例,通过将体素化的点云数据输入到点云语义分割模型中,并基于点云语义分割模型的输出获取点云数据的语义分割结果。因为采用了知识蒸馏的方法,实现了对点云语义分割模型的低精度损失的压缩,进而降低了部署点云语义分割模型时需要的计算资源和存储空间,实现了点云语义分割模型在边缘设备上的部署。
根据本公开的实施例,数据预处理模块520包括:第一处理单元、第二处理单元和第三处理单元。
其中,第一处理单元:用于将待检测点云数据输入固定分辨率的三维栅格地图中;第二处理单元:用于对于三维栅格地图中的每一个栅格,使用栅格中所有点云的质心替代栅格中的其他点云,得到栅格的体素;以及第三处理单元,用于遍历三维栅格地图中的所有栅格,得到体素网格。
根据本公开的实施例,执行模块530包括:第一执行单元、第二执行单元和第三执行单元。
其中,第一执行单元,用于将体素网格输入第一特征提取网络中,得到第一特征矩阵;第二执行单元,用于将第一特征矩阵输入插值网络中,通过上采样方式获取体素网格中每一个体素的分类概率向量;以及第三执行单元,用于基于每一个体素的分类概率向量生成第一概率矩阵。
根据本公开的实施例,深度模型包括依次连接的第二特征提取网络和插值网络,其中,第二特征提取网络的网络规模大于第一特征提取网络的网络规模。
根据本公开的实施例,执行模块530还包括:样本获取单元、第一训练单元、第四执行单元和第二训练单元。
其中,样本获取单元,用于获取样本点云数据,并基于样本点云数据获取样本体素网格;第一训练单元,用于对深度模型进行训练得到第一模型;第四执行单元,用于将样本体素网格输入第一模型中,得到第一模型输出的第二特征矩阵和第二概率矩阵;以及第二训练单元,用于使用第二特征矩阵和第二概率矩阵作为样本体素网格的标签,基于样本体素网格训练初始点云语义分割模型,获取点云语义分割模型。
根据本公开的实施例,第二训练单元包括:第一训练子单元和第二训练子单元。
其中,第一训练子单元,用于使用第二特征矩阵作为样本体素网格的标签,基于样本体素网格训练初始点云语义分割模型的第一特征提取网络;以及第二训练子单元,用于使用第二概率矩阵作为样本体素网格的标签,基于样本体素网格训练第二模型,得到点云语义分割模型,其中,第二模型包括经过训练的初始点云语义分割模型的第一特征提取网络和初始点云语义分割模型的插值网络。
根据本公开的实施例,分类模块540包括:第一分类单元和第二分类单元。
其中,第一分类单元,用于将第一概率矩阵输入到分类器中,得到体素网络中每一个体素所属的类别;以及第二分类单元,用于基于体素网络中每一个体素所属的类别,获取待检测点云数据的语义分割结果。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图6示意性示出了根据本公开实施例的适于实现点云语义分割方法的电子设备600的框图。图6示出的电子设备600仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图6所示,根据本公开实施例的电子设备600包括处理器601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。处理器601例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器601还可以包括用于缓存用途的板载存储器。处理器601可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 603中,存储有电子设备600操作所需的各种程序和数据。处理器601、ROM602以及RAM 603通过总线604彼此相连。处理器601通过执行ROM 602和/或RAM 603中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 602和RAM 603以外的一个或多个存储器中。处理器601也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备600还可以包括输入/输出(I/O)接口605,输入/输出(I/O)接口605也连接至总线604。系统600还可以包括连接至I/O接口605的以下部件中的一项或多项:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被处理器601执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 602和/或RAM 603和/或ROM 602和RAM 603以外的一个或多个存储器。
本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行本公开实施例所提供的方法的程序代码,当计算机程序产品在电子设备上运行时,该程序代码用于使电子设备实现本公开实施例所提供的点云语义分割方法。
在该计算机程序被处理器601执行时,执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。
在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分609被下载和安装,和/或从可拆卸介质611被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
需要说明的是,本公开实施例所提供的点云语义分割方法和装置可用于人工智能领域,具体地,例如无人驾驶领域等,也可用于除金融领域之外的任意领域,例如,边缘计算领域等。本公开实施例所提供的点云语义分割方法和装置的应用领域不做限定。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
- 点云语义分割方法、装置、电子设备和可读存储介质
- 语义分割方法、装置、电子设备和计算机可读存储介质