CN116129125A - 实例分割方法、装置、设备、存储介质及程序产品 - Google Patents
实例分割方法、装置、设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN116129125A CN116129125A CN202310334524.3A CN202310334524A CN116129125A CN 116129125 A CN116129125 A CN 116129125A CN 202310334524 A CN202310334524 A CN 202310334524A CN 116129125 A CN116129125 A CN 116129125A
- Authority
- CN
- China
- Prior art keywords
- point cloud
- point
- alpha
- training
- semantic
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/26—Segmentation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/44—Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
提供了一种实例分割方法、装置、设备、存储介质及程序产品,方法包括:通过第一骨干网络对待分割点云进行语义预测和质心偏移预测,得到每个点的语义预测结果和质心偏移向量;通过第二骨干网络对待分割点云进行多等级的对象性预测,得到多级点云;根据质心偏移向量,将多级点云的每个点移动至预测中心,得到影响力点云;根据语义预测结果,对影响力点云的核心点进行聚类,得到每个语义类别的至少一个核心点云;将影响力点云中的边缘点聚类到对应语义类别的目标核心点云中,得到实例分割结果。
Description
技术领域
本公开涉及但不限于计算机视觉技术,尤其涉及一种实例分割方法、装置、设备、存储介质及程序产品。
背景技术
目前,基于深度学习的点云实例分割方法通常为强监督方法,即所用的大量训练样本均需要标注语义标签和实例标签,而大量的标签标注工作提高了实例分割的人工成本,影响了实例分割的效率;而采用弱监督方法,可以减少标注量,减少人工成本,一定程度上提高了实例分割的效率,但影响了实例分割结果的准确性。
发明内容
本公开实施例至少提供一种实例分割方法、装置、设备、存储介质及程序产品,提高了实例分割的效率和准确性。
本公开的技术方案是这样实现的:
一方面,本公开实施例提供一种实例分割方法,所述方法包括:
通过第一骨干网络对获取的待分割点云进行语义预测和质心偏移预测,得到所述待分割点云中每个点的语义预测结果和质心偏移向量;所述第一骨干网络和第二骨干网络是基于第一训练点云训练得到的;所述第一训练点云是通过带有语义标签的原始语义点云确定的;通过所述第二骨干网络对所述待分割点云进行对象性预测,得到包括多个等级的对象性标签的多级点云;所述多个等级的对象性标签用于表征每个实例的形状;根据所述质心偏移向量,将所述多级点云中的每个点移动至各自对应的预测中心,得到影响力点云;根据所述语义预测结果,对所述影响力点云中的核心点进行聚类,得到每个语义类别的至少一个核心点云;所述核心点为对象性标签的等级为预设核心等级的点;将所述影响力点云中的边缘点聚类到对应语义类别的至少一个核心点云中的目标核心点云中,得到实例分割结果;所述边缘点为对象性标签的等级为预设边缘等级的点。
这样,实例分割装置中的第一骨干网络和第二骨干网络的训练没有采用标注好的实例标签,如此,减小了实例标注的工作量,提高了网络训练效率,从而提高了实例分割的效率;并且,由于实例分割装置对位于实例核心区域的核心点和位于边缘区域的边缘点进行分开处理,提高了边缘点聚类的准确性,从而提高了实例分割的准确性。
另一方面,本公开实施例提供一种实例分割装置,包括:
第一预测模块,用于通过第一骨干网络对获取的待分割点云进行语义预测和质心偏移预测,得到所述待分割点云中每个点的语义预测结果和质心偏移向量;所述第一骨干网络和第二骨干网络是基于第一训练点云训练得到的;所述第一训练点云是通过带有语义标签的原始语义点云确定的;
第二预测模块,用于通过所述第二骨干网络对所述待分割点云进行对象性预测,得到包括多个等级的对象性标签的多级点云;所述多个等级的对象性标签用于表征每个实例的形状;
移动模块,用于根据所述质心偏移向量,将所述多级点云中的每个点移动至各自对应的预测中心,得到影响力点云;
核心聚类模块,用于根据所述语义预测结果,对所述影响力点云中的核心点进行聚类,得到每个语义类别的至少一个核心点云;所述核心点为对象性标签的等级为预设核心等级的点;
边缘聚类模块,用于将所述影响力点云中的边缘点聚类到对应语义类别的至少一个核心点云中的目标核心点云中,得到实例分割结果;所述边缘点为对象性标签的等级为预设边缘等级的点。
再一方面,本公开实施例提供一种实例分割设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序时,实现上述实例分割方法。
又一方面,本公开实施例提供一种计算机可读存储介质,存储有计算机程序,用于被处理器执行时,实现上述实例分割方法。
又一方面,本公开实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述实例分割方法。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开的技术方案。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1为本公开实施例提供的一个可选的实例分割方法流程图;
图2为本公开实施例提供的一个中心点回归的效果示意图;
图3为本公开实施例提供的一个可选多级预测点云示意图;
图4为本公开实施例提供的一个可选的实例分割方法流程图;
图5为本公开实施例提供的一个可选核心点影响力图;
图6A为本公开实施例提供的一个可选的相关技术中的聚类方法示意图;
图6B为本公开实施例提供的一个可选的聚类效果示意图;
图7为本公开实施例提供的一个可选的实例分割方法示意图;
图8为本公开实施例提供的一个可选的实例分割方法流程图;
图9为本公开实施例提供的一个可选的实例分割方法流程图;
图10为本公开实施例提供的一个可选的实例分割方法流程图;
图11A为本公开实施例提供的一个可选多级训练点云示意图;
图11B为本公开实施例提供的一个可选重组训练点云示意图;
图11C为本公开实施例提供的一个可选重组的虚拟场景示意图;
图12为本公开实施例提供的一个可选的重组模板示意图;
图13为本公开实施例提供的一个可选的实例分割方法流程图;
图14为本公开实施例提供的一个可选的实例分割方法流程图;
图15为本公开实施例提供的一个可选的实例分割方法流程图;
图16为本公开实施例提供的一个可选的实例分割方法流程图;
图17为本公开实施例提供的一个可选的实例分割网络的训练过程示意图;
图18A为本公开实施例提供的一个可选的初始的伪实例点云示意图;
图18B为本公开实施例提供的一个可选的过滤后的第一训练点云示意图;
图18C为本公开实施例提供的一个可选的实例分割效果图;
图18D为本公开实施例提供的一个可选的多级预测点云示意图;
图18E为本公开实施例提供的一个可选的核心点聚类示意图;
图18F为本公开实施例提供的一个可选的实例分割效果示意图;
图19A为本公开实施例提供的一个可选的多级预测点云示意图;
图19B为本公开实施例提供的一个可选的核心点聚类效果示意图;
图19C为本公开实施例提供的一个可选的核心点聚类效果示意图;
图20为本公开实施例提供的一个可选的实例分割装置的结构示意图;
图21为本公开实施例提供的一个可选的实例分割设备的硬件实体示意图。
具体实施方式
为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,所描述的实施例不应视为对本公开的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本公开实施例的目的,不是旨在限制本公开。
为了更好地理解本公开实施例提供的实例分割方法,下面先对相关技术中采用的实例分割方案进行说明。
随着3D采集技术的迅速发展,LiDAR激光雷达和RGB-D深度相机等高性能的3D扫描仪,大大降低了点云数据的获取难度,同时也带来了越来越多需要感知3D环境和对象交互的新兴应用。作为3D场景理解中非常关键且基础的一项基本感知任务,三维实例分割需要同时做到对点云中的每个点赋予特定的语义标签和实例标签,用以区分不同的个体,广泛应用于室内机器人导航、增强现实和自动驾驶等现实场景中。
目前,大多数三维实例分割方法都是强监督方法。例如,先进行目标检测,得到3D检测框,再在3D检测框剔除实例置信度低的点;或者,也可以不显式的得到3D检测框,而是对特征点进行分组等。强监督方法均需要对语义和实例进行联合预测;而实例标签的注释需要耗费大量的人工时间。
示例性的,在一个场景中,有20把椅子,属于相同的语义——椅子,可以一次标注完成;而实例标注需要将不同的椅子逐一标记,即需要花费更多的标注时间。
后来,提出了三维实例分割的弱监督方法,减少了需要进行标注的点云;例如,仅标注3D边界框或者每个实例仅标注一点;然而,这样标注的点云训练的实例分割网络的性能远远落后于强监督方法。
本公开实施例提供一种实例分割方法,该方法可以由实例分割设备的处理器执行。其中,实例分割设备指的可以是服务器、笔记本电脑、平板电脑、台式计算机、智能电视、机顶盒、移动设备(例如移动电话、便携式视频播放器、个人数字助理、专用消息设备、便携式游戏设备)等具备实例分割能力的设备。图1为本公开实施例提供的一种实例分割方法的实现流程示意图,如图1所示,该方法包括如下步骤:S101-S105。
S101、通过第一骨干网络对获取的待分割点云进行语义预测和质心偏移预测,得到待分割点云中每个点的语义预测结果和质心偏移向量;第一骨干网络和第二骨干网络是基于第一训练点云训练得到的;第一训练点云是通过带有语义标签的原始语义点云确定的。
在本公开实施例中,待分割点云为通过图像采集装置或3D扫描仪,从场景中获取的3D点云,3D点云中每个点都在三维坐标系中。这里,对于从场景中获取3D点云的方式可以根据需要设置,本公开实施例不作限制。
在本公开实施例中,第一骨干网络可以对待分割点云进行语义预测和质心偏移预测,得到语义预测结果和质心偏移预测向量;其中,语义预测结果为带有预测出的每个点的语义标签的待分割点云;质心偏移向量表征预测出的实例质心与对应实例中的点之间的偏移向量。
在本公开实施例中,实例分割装置可以基于第一训练点云,对初始第一骨干网络进行训练,得到第一骨干网络;第一训练点云包含伪实例标签,第一训练点云中伪实例的实例质心可以作为真实实例质心;如此,实例分割装置可以通过学习,预测出质心偏移向量。
在本公开实施例中,第二骨干网络也是基于第一训练点云进行训练得到的。实例分割装置可以基于第一训练点云进行多个等级的对象性标签的标注,得到多级训练点云;多级训练点云包括多个等级的对象性标签,多个等级的对象性标签用于表征待分割点云中每个实例的形状;多级训练点云中每个点的对象性等级标签用于表征该点属于对应实例的核心区域还是边缘区域。通过多级训练点云对初始第二骨干网络进行训练,得到第二骨干网络。
需要说明的是,多个等级的数量可以根据需要设置,对此本公开实施例不作限制。多个等级包括核心等级和边缘等级。
在本公开实施例中,第一骨干网络与第二骨干网络可以为相同的网络,也可以为不同的网络;这里,第一骨干网络或者第二骨干网络可以为卷积神经网络,例如:基于子流形稀疏卷积的3D U-net、体素卷积神经网络(Point-Voxel CNN,PVCNN)、基于持久同源的图卷积网络(Persistent Homology based Graph Convolution Network)等;对此,本公开实施例不作限制。
S102、通过第二骨干网络对待分割点云进行对象性预测,得到包括多个等级的对象性标签的多级点云;多个等级的对象性标签用于表征每个实例的形状,以及内部信息和外部信息。
在本公开实施例中,实例分割装置可以将待分割点云输入第二骨干网络,第二骨干网络可以对待分割点云进行多个等级的对象性预测,得到多级点云;多级点云中每个点包括对应等级的对象性标签,多个等级的对象性标签可以表征第二骨干网络对待分割点云预测的每个实例的形状,以及区分每个实例内部和外部的其他信息,即每个实例的内部信息和每个实例的外部信息。
需要说明的是,第二骨干网络是通过带有多个等级的对象性标签的多级训练点云进行训练得到的;多级点云中的对象性标签的多个等级,和多级训练点云中对象性标签的多个等级的等级数目相同,每个等级的标签也相同;如此,实例分割装置在得到多级点云后,可以通过多级点云区分出每个实例的核心区域内的核心点和边缘区域的边缘点;如此,将每个实例与其他实例区分,同时感知每个实例的边界。
S103、根据质心偏移向量,将多级点云中的每个点移动至各自对应的预测中心,得到影响力点云;
在本公开实施例中,实例分割装置在得到质心偏移向量后,可以采用中心点回归的方式,将多级点云中的每个点移动至各自对应的预测中心,得到影响力点云;也就是说,影响力点云是每个点被移动后的多级点云,影响力点云中包括多个等级的对象性标签。
在本公开实施例中,实例分割装置可以利用多级点云中的每个点加上对应的质心偏移向量,得到影响力点云中的每个影响力点;如此,实例分割装置可以将多级点云中的点向预测中心移动,得到与多级点云对应的影响力点云,参考公式(1)。
xm'=xm+dm 公式(1)
其中,多级点云中包含M个点;m为正整数,且m∈M;xm为多级点云中的任意一点,dm为xm对应的质心偏移向量,xm'为xm对应的影响力点。
示例性的,如图2所示,将点云A、点云B、点云C、点云D和点云E向各自对应的预测中心移动后,可以得到点云A'、点云B'、点云C'、点云D'和点云E'。从图中可以看出,通过移动,点云A'-E'中位于边缘区域点相比在A-E中更加边缘化;点云A'-E'中位于核心区域的点,相比在A-C中更加向核心区域聚集。
S104、根据语义预测结果,对影响力点云中的核心点进行聚类,得到每个语义类别的至少一个核心点云;核心点为对象性标签为预设核心等级的点。
在本公开实施例中,实例分割装置可以根据语义预测结果中的每个点的语义类别,对影响力点云中的核心点进行聚类,得到每个语义类别的至少一个核心点云;这里,每个语义类别的至少一个核心点云对应每个语义类别的至少一个实例;影响力点云中的核心点为多个等级对象性标签中标签为预设核心等级的标签。多个等级包括预设核心等级和预设边缘等级。
示例性的,多个等级的对象性标签包括5个,分别为0、1、2、3和4,其中,预设核心等级的对象性标签为3和4,则0-2为预设边缘等级的对象性标签。
需要说明的是,实例分割装置可以采用聚类算法对核心点进行聚类;这里,聚类算法可以为广度优先搜索算法(Breadth-First Search algorithm,BFS),也可以为PageRank算法,还可以为亲密度中心性算法等图形算法,或者,基于密度的聚类算法(Density-BasedSpatial Clustering of Applications with Noise,DBSCAN);对于聚类算法,可以根据需要设置,对此,本公开实施例不作限制。
S105、将影响力点云中的边缘点聚类到对应语义类别的目标核心点云中,得到实例分割结果;核心点为伪实例标签为预设边缘等级的点。
在本公开实施例中,实例分割装置在得到每个语义类别的至少一个核心点云后,可以将每个边缘点聚类到对应类别的至少一个核心点云中的目标核心点云中,从而完成实例分割,得到实例分割结果;其中,每个边缘点和对应的目标核心点云属于语义预测结果中相同的语义类别。
在本公开实施例中,实例分割装置可以根据影响力点云的分布,计算边缘点与对应语义类别的每个核心点云之间的影响力值;如此,实例分割装置可以计算影响力点云中每个边缘点与相同语义类别的至少一个核心点云之间的影响力值,根据影响力值的大小将多级点云中的边缘点聚类到目标核心点云中。
在本公开实施例中,实例分割装置可以将相同语义类别的至少一个核心点云中,与对应的边缘点之间的影响力值最大的核心点云作为目标核心点云,将每个边缘点聚类到目标核心点云中,从而完成点云的分类,即实例分割。
在本公开实施例中,边缘点与相同语义类别的至少一个核心点云之间的影响力值,与边缘点与至少一个核心点云之间的距离反相关。
在本公开的一些实施例中,边缘点与相同语义类别的一个核心点云之间的影响力值可以为边缘点与核心点云的中心点之间的影响力值。
在本公开的一些实施例中,边缘点与相同语义类别的一个核心点云之间的影响力值可以为边缘点与核心点云的所有点之间的影响力值的平均值。
这里,对于边缘点与核心点云之间的影响力值,可以根据需要设置,对此,本公开实施例不作限制。
需要说明的是,这种区分核心点和边缘点,并对核心点和边缘点采用不同的策略进行聚类,完成实例分割的方法,可以称为非对称对象推理算法。
示例性的,图3示出了一种影响力图,如图3所示,影响力图中包括三个等级对象性标签的点:高对象性点、中对象性点和低对象性点;其中高对象性点位于实例的核心,中对象性点位于实例的次级核心,低对象性点位于实例的边缘;高对象性点和中对象性点可以作为核心点先进行聚类,最后再对低对象性点进行聚类。
可以理解的是,实例分割装置中包括:第一骨干网络和第二骨干网络,由于第一骨干网络和第二骨干网络都是基于第一训练点云训练的,且第一训练点云是基于语义标准点云确定的;也就是说,实例分割装置中的第一骨干网络和第二骨干网络的训练没有采用标注好的实例标签,如此,减小了实例标注的工作量,提高了网络训练效率,从而提高了实例分割的效率;并且,由于实例分割装置对位于实例核心区域的核心点和位于边缘区域的边缘点分开进行聚类,提高了边缘点聚类的准确性,从而提高了实例分割的准确性。
在本公开的一些实施例中,S105中将影响力点云中的边缘点聚类到对应语义类别的目标核心点云中,得到实例分割结果的实现,如图4所示,可以包括:S201-S203。
S201、计算每个边缘点,与对应语义类别的至少一个核心点云之间的影响力值,得到对应的每个边缘点的至少一个影响力值;影响力值用于表征一个边缘点与对应语义类别的一个核心点云中所有点之间的影响力值的均值;
在本公开实施例中,实例分割装置对影响力点云中的核心进行聚类,得到每个语义类别的至少一个核心点云后,可以计算影响力点云中的边缘点和相同语义类别的至少一个核心点云之间的至少一个影响力值,得到每个边缘点的至少一个影响力值。
在本公开实施例中,实例分割装置可以计算每个边缘点和对应的一个核心点云中每个核心点之间的影响力值,得到每个影响力值,再对每个影响力值求均值,得到每个边缘点和对应的一个核心点云之间的影响力值,从而得到每个边缘点和对应语义类别的至少一个核心点云之间的至少一个影响力值。
在本公开实施例中,任意一个边缘点j与核心点云A之间的影响力值可以通过公式(2)计算。
其中,核心点云A中包括PA个点,核心点云A中任意一个点为i,i∈PA,wij表示边缘点j和核心点云A中第i个点之间的影响力值,可参考公式(3)计算。也就是说,在与边缘点j属于相同语义类别的核心点云包括A、B、……、K共K个的情况下,实例分割装置可以得到边缘点j的K个影响力值,表示为
其中,Pcore表示核心点云,ε为超参数;ε可以根据需要设置;ε越大,一个点的影响范围越大,影响的点越多。可以看出,对于核心点云中的任意两个点,不考虑两个点之间的影响力值,即两个点之间的影响力值为0;边缘点j和核心点云A中第i个点之间的距离越大,他们之间的影响力值越小。
在本公开实施例中,为了促进核心点云吸收未聚类的边缘点,实例分割装置需要针对每个核心点云,计算其与相同语义类别内的其他点之间的影响力值。
示例性的,如图5所示的核心点影响力图,其中,核心点云A与点e1-e4之间有4个影响力值,通过4个箭头表示,与核心点云A距离越近的点,箭头越粗,表示影响力越大;也就是说,点e1-e4中,核心点云A和点e1之间的影响力最大。核心点云B与点e5-e9之间有5个影响力值,通过5个箭头表示,与核心点云B距离越近的点,箭头越粗,表示影响力越大;也就是说,点e5-e9中,核心点云B和点e9之间的影响力最大。
S202、将每个边缘点的至少一个影响力值中的最大值所对应的核心点云,作为与每个边缘点对应的目标核心点云。
在本公开实施例中,实例分割装置在得到每个边缘点的至少一个影响力值后,可以将每个边缘点的至少一个影响力值中的最大值对应的影响力核心点云,作为目标核心点云。例如,边缘点j的K个影响力值中,影响力核心点云C的影响力值最大,表示边缘点j的目标核心点云为C。
S203、将每个边缘点聚类到对应的目标核心点云中,得到每个语义类别的至少一个实例分割点云,从而得到实例分割结果。
在本公开实施例中,实例分割装置在确定每个边缘点的目标核心点云后,可以将每个边缘点聚类到对应的目标核心点云中,得到每个语义类别的至少一个实例分割点云,从而得到实例分割结果。
示例性的,图6A示出了一种相关技术中聚类的效果示意图;如图6A所示,可以看出,相关技术中仅通过半径搜索进行聚类的方式,可能导致欠分割和过分割的问题,即不同的实例A和B没有分割开,而属于实例B的点被过分割,没有聚类到实例B中。图6B为本公开实施例提供的一种可选的聚类效果示意图,如图6B所示,可以看出,在聚类过程中,由于将核心点和边缘点进行了区分,可以先聚类出核心点云a和b,再对a旁的边缘点a1和b旁的边缘点b1进行聚类,最终得到实例A和实例B。
在本公开的一些实施例中,非对称对象推理算法可以通过下述算法体现:
输入:场景点云X∈RN×3;语义标签S∈RN×1;质心偏移向量D∈RN×3;多等级对象性标签O∈RN×1。
输出:伪实例标签C
从步骤1-4可以看出,实例分割装置只对场景点云中属于前景类别的点Nfg进行处理,忽略背景类别。以室内场景为例,背景类别如墙面、地板。前景类别如室内的桌子、椅子、柜子等。步骤5中为边缘等级中的最高等级;例如,为1,则核心点的等级为2-4;也就是说,步骤5-8是将边缘点和核心点区分开;步骤9是将点云移动到对应实例的预测中心,步骤10是将核心点以实例为单位聚类为K个核心点云;步骤11-16是计算影响力图,并根据影响力图确定出对边缘点影响力最大的核心点云;步骤17为将边缘点Pj聚类到影响力最大的核心点云中,步骤18就得到了每个实例点云的标识ID,步骤19返回实例标签,完成实例分割。
可以理解的是,实例分割装置可以根据影响力点云中的每个边缘点与整个核心点云之间的影响力值,将边缘点聚类到影响力值最大的核心点云中,提高了边缘点聚类的准确性,进而提高实例分割的准确性。
在本公开的一些实施例中,S101中通过第一骨干网络对获取的待分割点云进行语义预测和质心偏移预测,得到待分割点云中每个点的语义预测结果和质心偏移向量之前的实现,如图7所示,可以包括:S301-S304。
S301、对原始语义点云进行聚类,得到初始的伪实例点云。
在本公开实施例中,实例分割装置在获取原始语义点云后,可以对原始语义点云进行聚类,得到初始的伪实例点云;其中,原始语义点云为带有语义标签的点云。
在本公开实施例中,实例分割装置可以根据语义标签,通过聚类算法对原始语义点云进行聚类,得到初始的伪实例点云;初始的伪实例点云中包含聚类得到的伪实例标签。
在本公开的一些实施例中,聚类算法可以为BFS算法;也就是说,实例分割装置可以以原始语义点云中每个语义类别中的任意一点为种子点,以种子点为中心,以r为搜索半径,在原始语义点云中相同语义类别的点中逐点进行搜索,将半径r以内的点进行聚类;再将与种子点聚类到一起的点作为新的种子点,继续进行半径为r的搜索,直到搜索完原始语义点云中的所有点,完成对原始语义点云的初始实例分割,得到初始的伪实例点云。
S302、根据初始的伪实例点云中每个伪实例包含的点的数量,对初始的伪实例点云进行过滤,得到第一训练点云。
在本公开实施例中,实例分割装置在得到初始的伪实例点云后,可以对初始的伪实例点云中每个伪实例包含的点的数量,对初始的伪实例点云进行过滤,得到第一训练点云。
在本公开实施例中,点的数量过多的伪实例可能为欠分割的实例,即多个实例聚类在一起成为一个伪实例;点的数量过少的伪实例可能为过分割的实例,即属于一个实例的一部分点;也就是说,初始的伪实例点云中包含的点的数量过多和过少都有可能是置信度低的伪实例,因此,实例分割装置需要将点的数量过多或过少的伪实例点云进行过滤,得到置信度高的第一训练点云。这里,第一训练点云中可有包括多个置信度高的实例点云,例如,第一训练点云可以包括椅子1、椅子2、桌子、床、灯1和灯2的点云。
可以理解的是,由于从初始的伪实例点云中过滤了置信度低的伪实例点云,得到置信度高的第一训练点云,提高了第一训练点云中实例标签的准确性,从而提高了第一骨干网络和第二骨干网络的准确性。
在本公开的一些实施例中,S302中根据初始的伪实例点云中每个伪实例包含的点的数量,对初始的伪实例点云进行过滤,得到第一训练点云的实现,如图5所示,可以包括:S401-S402。
S401、对每个语义类别的每个伪实例点云中点的数量进行排序,得到每个语义类别的数量顺序。
在本公开实施例中,实例分割装置在得到初始的伪实例点云后,可以根据原始语义点云中的语义标签,对初始的伪实例点云中每个语义类别的每个伪实例点云中的点的数量进行排序,得到每个语义类别的数量顺序。
在本公开的一些实施例中,实例分割装置可以对初始的伪实例点云中每个语义类别的每个伪实例点云中的点的数量进行升序排序,得到每个语义类别的数量升序顺序;也可以对初始的伪实例点云中每个语义类别的每个伪实例点云中的点的数量进行降序排序,得到每个语义类别的数量降序顺序;对于排序方式,可以根据需要设置,对此,本公开实施例不作限制。
S402、从每个语义类别的数量顺序中,选取预设数量顺序范围内的伪实例点云,得到每个语义类别的训练点云,第一训练点云包括每个语义类别的训练点云。
在本公开实施例中,实例分割装置在得到每个语义类别的数量顺序后,可以从每个语义类别的数量顺序中,选取预设数量顺序范围内的伪实例点云,得到每个语义类别的训练点云,从而得到第一训练点云。
在本公开的一些实施例中,预设数量顺序范围可以为数量顺序中的序数范围。
示例性的,预设数量顺序范围可以为,以数量中心值为中心,在数量顺序中占据的序数百分比范围。例如,初始的伪实例点云中属于语义类别1的伪实例点云包括5个,其中,伪实例点云1中点的数量为17289,伪实例点云2中点的数量为3526,伪实例点云3中点的数量为5564,伪实例点云4中点的数量为4891,伪实例点云5中点的数量为15,伪实例点云6中点的数量为32;实例分割装置对语义类别1的伪实例点云的点的数量进行升序排序,得到数量顺序为15,32,3526,4891,5564和17289;预设数量顺序范围为33%,也就是说,第一训练点云可以包括伪实例点云2和伪实例点云3。
可以理解的是,通过数量顺序和预设数量顺序范围,可以从初始的伪实例点云中选取点的数量靠近中心值的伪实例点云,从而过滤掉点数过高或过低的点云,如此,可以快速实现对初始的伪实例点云的过滤,得到第一训练点云。
S303、基于第一训练点云对初始第二骨干网络进行训练,得到第二骨干网络。
在本公开实施例中,实例分割装置在得到第一训练点云后,可以基于第一训练点云对初始第二骨干网络进行训练,训练完成后,可以得到第二骨干网络。
在本公开的一些实施例中,实例分割装置可以对第一训练点云中的伪实例点云进行重组,得到重组训练点云;重组训练点云可以表征由多组高置信度伪实例点云随机生成的场景;基于重组训练点云对初始第二骨干网络进行训练,得到第二骨干网络。
在本公开的一些实施例中,S203中基于第一训练点云对初始第二骨干网络进行训练,得到第二骨干网络的实现,如图9所示,可以包括:S501-S504。
S501、对第一训练点云进行点云压缩,得到第一压缩点云。
在本公开实施例中,实例分割装置可以对第一训练点云中每个点的坐标按照相同比例缩小,实现点云压缩,得到第一压缩点云。这里,相同比例是预先设置好的,例如,3:1、4:1以及2:1等;相同比例的比例值可以根据需要设置,对此,本公开实施例不作限制。
在本公开的一些实施例中,相同比例为2:1,实例分割装置可以将第一训练点云中每个点的坐标除以2,得到第一压缩点云中每个点的坐标,从而得到第一压缩点云。第一压缩点云包括多个压缩伪实例点云,第一压缩点云中的多个压缩伪实例点云与第一训练点云中的多个伪实例点云一一对应;第一压缩点云中每个压缩伪实例点云相比第一训练点云中对应的伪实例点云,形状不变,但体积减小。
S502、根据第一训练点云中每个伪实例点云中的每个点,到第一压缩点云中对应的压缩伪实例点云之间的压缩距离,确定与每个伪实例点云对应的多级训练点云;多级训练点云包括多个等级的对象性标签。
在本公开实施例中,实例分割装置在得到第一压缩点云后,可以计算每个伪实例点云中每个点,到对应的压缩伪实例点云之间的距离,得到每个伪实例点云中每个点到对应的压缩伪实例点云之间的压缩距离。其中,每个伪实例点云的多个压缩距离的数量和每个伪实例点云中点的数量相同。
可以理解的是,由于每个伪实例点云中的每个点到压缩伪实例点云之间的压缩距离,包含了每个伪实例点云的形状信息,如此,在多级训练点云用于第二骨干网络的训练的情况下,第二骨干网络可以更好的感知伪实例的形状,提高了第二骨干网络预测对象性标签的准确性。
在本公开的一些实施例中,实例分割装置可以计算每个伪实例点云中每个点到对应的压缩伪实例点云中所有点之间的距离,得到每个点的多个距离;再将多个距离的平均值作为每个伪实例点云中每个点到对应的压缩伪实例点云之间的压缩距离。
在本公开的一些实施例中,S502中根据第一训练点云中每个伪实例点云中的每个点,到第一压缩点云中对应的压缩伪实例点云之间的压缩距离,确定与每个伪实例点云对应的多级训练点云的实现,如图10所示,可以包括:S601-S603。
S601、计算每个伪实例点云中的每个点,到对应的压缩伪实例点云中每个点之间的距离,得到与每个伪实例点云中每个点对应的多个距离。
在本公开实施例中,实例分割装置可以计算每个伪实例点云中每个点到对应的压缩伪实例点云中所有点之间的距离,得到每个伪实例点云中每个点对应的多个距离;其中,每个伪实例点云中每个点对应的多个距离的数量与每个伪实例点云中包含的点的数量相同。
S602、将每个伪实例点云中每个点对应的多个距离中的最小距离,作为每个伪实例点云中每个点与对应的压缩点云之间的压缩距离,得到每个伪实例点云的多个压缩距离。
在本公开实施例中,实例分割装置在得到每个伪实例点云中每个点对应的多个距离后,可以从每个伪实例点云中每个点对应的多个距离确定出最小距离,作为每个伪实例点云中每个点到对应的压缩点云之间的压缩距离,从而得到每个伪实例点云中多个点对应的多个压缩距离。
S603、根据每个伪实例点云的多个压缩距离,确定每个伪实例点云的多个等级的对象性标签,得到每个伪实例点云对应的多级训练点云。
在本公开实施例中,实例分割装置可以根据每个伪实例点云的多个压缩距离,确定每个伪实例点云的多个等级的对象性标签,从而得到每个伪实例点云对应的多级训练点云。
在本公开实施例中,实例分割装置可以将每个实例点云的多个压缩距离进行排序,得到距离顺序;将距离顺序按照多个等级对应的多个预设距离顺序范围进行分类,得到多个等级的对象性标签;其中,多个预设距离顺序范围的和为1。
示例性的,第一训练点云中的一个伪实例点云PX中包含S个点,点云PX的坐标X包含S个点的坐标,记为X={x1,x2,…,xS}∈RS×3,实例分割装置可以对PX进行压缩,得到点云PX的压缩点云Px,压缩点云Px的坐标x也包含S个点的坐标,记为然后,从PX中的每个点到压缩点云Px中的每个点的距离中,找到点云PX中的每个点对应的最近距离作为点云PX中的S个点到压缩点云Px的压缩距离,得到压缩距离列表T,压缩距离列表T中包括点云中S个点到压缩点云Px的距离,记为T={T1,T2,…TS}∈RS×1。多个等级的对象性标签值labelob-ID和对应的多个预设距离顺序范围如公式(4)所示;其中,对象性标签值labelob-ID为2-4的可以为预设核心等级,对象性标签值labelob-ID为0-1的可以为预设边缘等级,
在本公开实施例中,多个等级的对象性标签的数量可以根据需要设置,多个等级的对象性标签对应的多个预设距离顺序范围也可以根据需要设置;其中,多个预设距离顺序范围的大小可以相同,也可以不同;对于多个等级的对象性标签的数量、标识和对应的预设距离顺序范围,本公开实施例不作限制。
可以理解的是,通过对多个压缩距离进行排序,以及多个预设距离顺序范围,可以快速确定多个等级的对象性标签,从而快速得到确定每个伪实例点云对应的多级训练点云。
S503、基于每个伪实例点云对应的多级训练点云,进行点云重组,得到重组训练点云。
在本公开实施例中,实例分割装置在得到每个伪实例对应的多级训练点云后,可以基于每个伪实例对应的多级训练点云,进行点云重组,得到重组训练点云。
在本公开的一些实施例中,实例分割装置可以从所有伪实例对应的多级训练点云中选取至少一个多级训练点云,对至少一个多级训练点云进行空间旋转、空间位置变换等处理,得到重组训练点云。
示例性的,图11A示出了4个伪实例点云对应的4个多级训练点云;图11B示出了,通过对5个伪实例点云对应的5个多级训练点云进行重组,得到的一种重组训练点云,图11B的重组训练点云对应的虚拟场景,如图11C所示。
在本公开的一些实施例中,S503中基于每个伪实例点云对应的多级训练点云,进行点云重组,得到重组训练点云的实现,可以包括:
S5031、按照重组模板中的预设点云属性,对多级训练点云进行点云重组,得到重组训练点云;预设点云属性包括:预设点云数量、预设点云体积和预设点云位置;预设点云位置之间不存在相交区域。
在本公开实施例中,重组模板中的预设点云属性可以包括:预设点云数量、预设点云位置以及预设点云位置对应的预设点云体积;其中,预设点云数量用于表示重组训练点云中包括的多级训练点云的数量,预设点云位置用于表示预设点云数量中每个点云对应的位置,预设点云体积用于表示每个预设点云位置上的多级训练点云的体积;在一些实施例中,在点云密度均匀为一定值的情况下,点云体积可以通过点云中点的数量表征。
需要说明的是,重组模板中每个预设点云位置在空间上不相交。
示例性的,图12示出了一种可选的重组模板,重组模板包括预设点云数量为9个,对应9个预设点云位置:0-8。其中,第0个位置为中心位置;每个点云位置上的预设点云体积不同。实例分割装置可以按照9个不同的点云体积,从第一训练点云中获取9个多级训练点云,9个多级训练点云分别放置在对应的9个预设点云位置上,得到重组训练点云。
可以理解的是,实例分割装置可以基于重组模板进行点云重组,提高了点云重组的效率。
S504、利用重组训练点云对初始第二骨干网络进行训练,得到第二骨干网络,以及第二骨干网络输出的多级预测点云。
在本公开实施例中,实例分割装置在得到重组训练点云后,可以将重组训练点云中多个等级的对象性标签作为监督数据,将去除多个等级的对象性标签的重组训练点云作为输入数据,对初始第二骨干网络进行训练,得到第二骨干网络。
可以理解的是,由于通过点云重组可以随机生成大量虚拟点云场景,即重组训练点云中可以包含大量的训练数据;如此,可以提高第二骨干网络的精度。
在本公开的一些实施例中,S504中利用重组训练点云对初始第二骨干网络进行训练,得到第二骨干网络的实现,可以包括:S701-S705。
S701、获取第k-1次更新的第二骨干网络;其中,k为正整数;在k等于1的情况下,第k-1次更新的第二骨干网络为初始第二骨干网络。
在本公开实施例中,实例分割装置对初始第二骨干网络进行多次更新,其中,第k-1次更新的第二骨干网络表示初始第二骨干网络更新了k-1次;在k为1的情况下,第k-1次更新的第二骨干网络表示初始第二骨干网络更新了0次,即没有更新,也就是说,在k为1的情况下,第k-1次更新的第二骨干网络为初始第二骨干网络。
S702、通过第k-1次更新的第二骨干网络对重组训练点云的每个点进行特征提取,得到每个点的第k次的第二点云特征。
在本公开实施例中,实例分割装置在获取第k-1次更新的第二骨干网络之后,可以通过第k-1次更新的第二骨干网络对重组训练点云的每个点进行特征提取,得到每个点的第k次的第二点云特征。
S703、对每个点的第k次的第二点云特征进行第二线性变换,得到第k次的第二线性变换特征;第k次的第二线性变化特征的维度与多个等级的对象性标签的等级数量一一对应。
在本公开实施例中,实例分割装置在得到每个点的第k次的第二点云特征之后,可以对每个点的第k次的第二点云特征进行第二线性变换,得到第二线性变换特征;其中,第k次的第二线性变化特征的维度与多个等级的对象性标签的等级的数量一一对应;第k次的第二线性变化特征的每个维度的值表示对应等级标签的分数。
S704、计算每个点的第k次第二线性变换特征与对应点的真实对象性标签之间的第k次第二交叉熵,得到所有点的第k次第二交叉熵的均值作为第k次对象性损失。
在本公开实施例中,实例分割装置可以从每个点的第k次的第二线性变化特征的所有维度的值中选择最大值作为对应点的第k次第二目标维度值,计算所有点的第k次第二目标维度值与对应的等级的第k次实例标签值之间的第k次交叉熵,将所有点对应的第k次交叉熵的均值作为第k次对象性损失Lobjectness,参考公式(5)
其中,重组训练点云包括N1个点,对于任意一点n,第k次第二线性变换特征为qn,真实对象性标签为on。
示例性的,对于点n,第k次第二线性变化特征qn为[0.3,0.1,0.1,0.1,0.9];其中,点n的labelob-ID为0的预测分值为0.3,点n的labelob-ID为1-3的预测分值均为0.1,点n的labelob-ID为4的预测分值为0.9;点n的真实对象性标签on为[0,0,0,0,1],表示点n的实际labelob-ID为4。
S705、在第k次对象性损失与第k-1次对象性损失之间的第k次对象性损失的差值,连续小于或者等于第二差值阈值,且连续次数大于或者等于第二预设次数的情况下,停止训练,将第k-1次更新的第二骨干网络作为第二骨干网络;以及,将第k-1次更新的第二骨干网络预测的多级点云作为多级预测点云。
在本公开实施例中,实例分割装置在得到第k次对象性损失之后,可以利用第k次对象性损失减去第k-1次对象性损失,得到第k次对象性损失的差值;在第k次对象性损失的差值为连续第H次小于或者等于第二差值阈值,且H大于或者等于第二预设次数的情况下,停止训练;并将第k-1次更新的第二骨干网络作为训练完成的第二骨干网络;其中,第二差值阈值和第二预设次数可以根据实际需要设置,对此,本公开实施例不作限制。
可以理解的是,通过第k-1次更新的第二骨干网络确定第k次对象性损失的差值;如此,实例分割装置可以得到每一次更新的第二骨干网络与上一次更新的第二骨干网络之间的对象性损失差值,基于对象性损失差值连续多次稳定的条件,停止训练,使第二骨干网络可以达到最高精度,提高了第二骨干网络预测多级预测点云的准确性。
在本公开的一些实施例中,S704中计算每个点的第k次第二线性变换特征与对应点的真实对象性标签之间的第k次第二交叉熵,得到所有点的第k次第二交叉熵的均值作为第k次对象性损失之后的实现,可以包括:
S706、在第k次对象性损失差值大于预设差值阈值,或者,第k次对象性损失的差值连续小于或者等于第二预设差值阈值,且连续次数小于第二预设次数的情况下,根据第k次对象性损失对第k-1次的第二骨干网络进行第k次更新,得到第k次更新的第二骨干网络。
在本公开实施例中,实例分割装置可以在第k次对象性损失差值大于预设差值阈值的情况下,根据第k次对象性损失对第k-1次的第二骨干网络进行第k次更新,得到第k次更新的第二骨干网络。
在本公开实施例中,实例分割装置可以在第k次对象性损失的差值连续小于或者等于第二预设差值阈值,且连续次数小于第二预设次数的情况下,根据第k次对象性损失对第k-1次的第二骨干网络进行第k次更新,得到第k次更新的第二骨干网络。
可以理解的是,实例分割装置可以在第k次对象性损失的差值不满足S705中的条件的情况下,对第k-1次的第二骨干网络进行下一次更新,直到第k+h次更新的第二骨干网络得到的第k+h+1次损失差值阈值,连续小于或者等于第二预设差值阈值,且连续次数大于或者等于第二预设次数的情况下,停止训练,将第k+h次更新的第二骨干网络作为第二骨干网络;h为正整数。
在本公开的一些实施例中,S706中根据第k次对象性损失对第k-1次的第二骨干网络进行第k次更新,得到第k次更新的第二骨干网络之后的实现,可以包括:
S707、在k大于或者等于第二更新次数阈值的情况下,停止训练,将所述第k次更新的第二骨干网络作为所述第二骨干网络。
在本公开实施例中,第二更新次数阈值为第二骨干网络的最大更新次数,实例分割装置可以在得到第k次更新的第二骨干网络后,判断k是否大于或者等于第二更新次数阈值;若是,则停止训练,否则,继续获取第k+1次损失,参考S705中的步骤,根据第k+1次损失的差值判断第二骨干网络是否进行下一次训练。
其中,第二更新次数阈值可以根据需要设置,对此,本公开实施例不作限制。
可以理解的是,通过第二更新次数阈值可以限制第二骨干网络的训练次数,提高第二骨干网络的训练效率。
S304、基于第一训练点云和原始语义点云对初始第一骨干网络进行训练,得到第一骨干网络。
在本公开实施例中,实例分割装置在得到第一训练点云之后,可以基于第一训练点云和原始语义点云对初始第一骨干网络进行训练,在训练完成后,得到第一骨干网络。
在本公开的一些实施例中,实例分割装置可以利用第一训练点云中的伪实例标签,以及原始语义点云中的语义标签作为监督数据,对初始第一骨干网络进行训练,得到第一骨干网络。
在本公开的一些实施例中,实例分割装置可以利用第一训练点云中的伪实例标签,以及原始语义点云中的语义标签作为监督数据,对初始第一骨干网络进行第一轮训练,再根据第一轮训练完成的第一骨干网络输出的语义分割结果和质心偏移向量,以及训练完成的第二骨干网络输出的多级预测点云,进行实例分割,得到更新后的伪实例标签;最后,利用更新后的伪实例标签,以及原始语义点云中的语义标签作为监督数据,对第一轮训练完成的第一骨干网络进行第二轮训练。
可以理解的是,实例分割装置可以通过原始语义点云得到第一训练点云,基于第一训练点云训练第一骨干网络和第二骨干网络,而无需采用带有实例标签的点云进行监督,如此,可以减小训练数据的人工成本,提高实例分割的效率。
在本公开的一些实施例中,S304中基于第一训练点云和原始语义点云对初始第一骨干网络进行训练,得到第一骨干网络的实现,如图13所示,可以包括:S801-S803。
S801、基于第一训练点云中的伪实例标签和对应的原始语义点云中的语义标签对初始第一骨干网络进行第一轮训练,得到初始第三骨干网络、第三质心偏移向量和第三语义预测结果。
在本公开实施例中,实例分割装置在得到第一训练点云后,可以将第一训练点云中的伪实例标签,以及原始语义点云中的语义标签作为监督数据,将原始训练点云作为训练数据,对初始第一骨干网络进行训练,得到训练完成的网络作为初始第三骨干网络;初始第三骨干网络预测的质心偏移向量为第三质心偏移向量;以及,基于初始第三骨干网络预测出的语义预测结果,确定第三语义预测结果;第三语义预测结果包含预测出的语义标签。
在本公开的一些实施例中,S801中基于第一训练点云中的伪实例标签和对应的原始语义点云中的语义标签对初始第一骨干网络进行第一轮训练,得到初始第三骨干网络、第三质心偏移向量和第三语义预测结果的实现,可以包括:
S901、获取第α-1次更新的第一骨干网络;其中,α为正整数;在α等于1的情况下,第α-1次更新的第一骨干网络为初始第一骨干网络。
在本公开实施例中,实例分割装置对初始第一骨干网络进行多次更新,其中,第α-1次更新的第一骨干网络表示初始第一骨干网络更新了α-1次得到的网络;在α为1的情况下,第α-1次更新的第一骨干网络表示初始第一骨干网络更新了0次,即没有更新,也就是说,在α为1的情况下,第α-1次更新的第二骨干网络为初始第一骨干网络。
S902、基于第α-1次更新的第一骨干网络、原始语义点云中的语义标签和第一训练点云中的伪实例标签,得到第α次第一语义预测结果、第α次第一语义损失和第α次第一预测偏移向量;第α次第一偏移损失用于表征第α-1次更新的第一骨干网络预测出的实例质心与真实伪实例质心之间的差异;第一训练点云包含真实伪实例。
在本公开实施例中,实例分割装置可以通过第α-1次更新的第一骨干网络和原始语义点云中的语义标签,对原始训练点云进行语义预测,得到第α次第一语义预测结果和第α次第一语义损失。
在本公开实施例中,实例分割装置可以通过第α-1次更新的第一骨干网络和第一训练点云中的伪实例标签,对原始训练点云进行质心偏移预测,得到第一预测偏移向量。
在本公开的一些实施例中,S902中基于第α-1次更新的第一骨干网络、原始语义点云中的语义标签和第一训练点云中的伪实例标签,得到第α次第一语义预测结果、第α次第一语义损失和第α次第一预测偏移向量的实现,可以包括:S1001-S1002。
S1001、通过第α-1次更新的第一骨干网络对原始训练点云中的每个原始点进行第α次特征提取,得到每个原始点的第α次第一点云特征。
在本公开实施例中,实例分割装置可以通过第α-1次更新的第一骨干网络对原始训练点云中的每个点,进行特征提取,得到每个原始点的第α次第一点云特征F∈RN×dim。
这里,第一点云特征的维度dim可以根据需要设置,例如,第一点云特征的维度可以为128维、64维等,对此,本公开实施例不作限制。
S1002、通过第α-1次更新的第一骨干网络对每个原始点的第α次第一点云特征进行语义预测,得到第α次第一语义预测结果;基于每个原始点的第α次第一点云特征和对应原始点的语义标签,确定第α次第一语义损失;以及,对每个原始点的第α次第一点云特征进行特征变换,得到每个原始点的第α次第一预测质心偏移向量。
在本公开实施例中,实例分割装置在得到第α次第一点云特征之后,可以通过第α-1次更新的第一骨干网络对每个原始点的第α次第一点云特征进行语义预测,得到第α次第一语义预测结果;第α次第一语义预测结果包含第α-1次更新的第一骨干网络预测出的第α次语义标签。
在本公开实施例中,实例分割装置在得到第α次第一点云特征之后,可以对每个原始点的第α次第一点云特征进行第一线性变换,得到第α次第一线性变换特征;第一线性变换特征的维度与原始语义点云中语义标签的类别数量相同;第一线性变换特征的每个维度值代表对应的语义标签类别的得分。
在本公开实施例中,实例分割装置可以计算每个点的第α次第一线性变换特征和对应的语义标签之间的交叉熵的均值,作为第α次第一语义损失。第一语义损失的计算可以参考公式(6)。
其中,原始语义点云包括N2个点,对于任意一点n,第α次第一线性变换特征为yn,对应的语义标签为cn。
在本公开实施例中,实例分割装置在得到每个原始点的第α次第一点云特征之后,可以对每个原始点的第α次第一点云特征进行特征变换,得到每个原始点的第α次预测质心偏移向量。
这里,实例分割装置可以采用多层感知机(Multi-Layer perceptron,MLP)对第α次第一点云特征进行特征变换,得到第α次预测质心偏移向量D∈RN×3。
在一些实施例中,MLP可以为两层MLP,通过两层MLP将每个原始点的第一点云特征变换为对应原始点的预测质心偏移向量。
可以理解的是,实例分割装置在提取每个原始点的第α次第一点云特征后,可以基于每个原始点的第α次第一点云特征,得到第α次第一语义预测结果、第α次第一语义损失和第α次第一预测偏移向量。
在本公开的一些实施例中,实例分割装置可以将通过第α-1次更新的第一骨干网络对每个原始点的第α次第一点云特征进行语义预测,得到的语义预测结果直接作为第α次第一语义预测结果。
在本公开的一些实施例中,S1002中通过第α-1次更新的第一骨干网络对每个原始点的第α次第一点云特征进行语义预测,得到第α次第一语义预测结果的实现,如图14所示,可以包括:S10021-S10022。
S10021、通过第α-1次更新的第一骨干网络对每个原始点的第α次第一点云特征进行语义预测,得到第α次初始的语义预测点云。
在本公开实施例中,实例分割装置通过第α-1次更新的第一骨干网络对每个原始点的第α次第一点云特征进行语义预测,得到第α次初始的语义预测点云;第α次初始的语义预测点云中每个点都有对应的语义特征向量。
S10022、通过平均池,对第α次初始的语义预测点云中每个超体素中的语义特征向量进行平滑处理,得到微调后的第α次初始的语义预测点云作为第一语义预测结果。
在本公开实施例中,任意一次初始的语义预测点云中的超体素与原始语义点云中预计算的超体素对应;实例分割装置可以通过超体素聚类算法对原始语义点云进行超体素聚类,得到多个超体素;原始语义点云中的多个超体素与初始的语义预测点云中的多个超体素一一对应。
需要说明的是,超体素聚类算法可以为模糊C均值的聚类方法,也可以为流约束的聚类算法,还可以为无监督的过分割方法等,对于超体素聚类算法可以根据需要设置,本公开实施例不作限制。
在本公开实施例中,实例分割装置可以对多个超体素中的每个超体素中每个语义特征向量求平均值,得到每个超体素的平均语义向量;将每个超体素的平均语义向量作为对应超体素中每个点的语义特征向量,从而得到微调后的第α次初始的语义预测点云,作为第α次第一语义预测结果。
可以理解的是,基于超体素对语义预测结果进行微调,可以减少点云中噪声的干扰,进而提高后续实例分割的效果。
S903、基于第α次第一语义预测结果和原始语义点云进行点云聚类,得到第α次第一实例预测结果。
在本公开实施例中,实例分割装置在得到第α次第一语义预测结果后,可以根据第α次第一语义预测结果中每个点的语义标签,对原始语义点云进行聚类,得到第α次第一实例预测结果。这里,点云聚类的方法可以参考S103中的描述,此处不再赘述。
S904、根据第α次第一实例预测结果、第一训练点云和第α次第一预测偏移向量,确定第一偏移损失。
在本公开实施例中,实例分割装置在得到第α次第一实例预测结果和第α次第一预测偏移向量后,可以根据第α次第一实例预测结果、第一训练点云和第α次第一预测偏移向量,确定第一偏移损失。
在本公开的一些实施例中,S904中根据第α次第一实例预测结果、第一训练点云和第α次第一预测偏移向量,确定第一偏移损失的方式,如图15所示,可以包括:S1101-S1103。
S1101、将第α次第一实例预测结果中每个实例的所有点的平均坐标确定为对应实例中每个点的第α次第一实例质心向量。
S1102、利用与第一训练点云对应的每个点的第α次第一实例质心向量,减去第一实例预测结果中对应点的坐标,得到每个点的第α次第一向量差值,作为与第一训练点云对应的每个点的第α次第一真实质心偏移向量。
在本公开实施例中,实例分割装置在得到第α次第一实例预测结果后,可以确定与第一训练点云对应的每个点的第α次第一实例质心向量,如此,实例分割装置可以利用与第一训练点云对应的每个点的第α次第一实例质心向量,减去对应点的坐标pn,得到与第一训练点云对应的每个点的第α次第一向量差值作为与第一训练点云对应的每个点的第α次第一真实质心偏移向量。
S1103、根据与第一训练点云对应的每个点的第α次第一预测质心偏移向量,和对应点的第α次第一真实质心偏移向量,确定第α次的第一偏移损失。
在本公开实施例中,实例分割装置在得到与第一训练点云对应的每个点的第α次第一真实质心偏移向量后,可以根据与第一训练点云对应的每个点的第α次第一真实质心偏移向量和第α次预测质心偏移向量,确定第一次的第一偏移损失。
可以理解的是,实例分割装置可以根据第α次第一实例预测结果确定真实质心偏移向量,根据与第一训练点云中对应的每个点的真实质心偏移向量和预测质心偏移向量,一起确定第一偏移损失,使第一骨干网络可以针对高置信度的第一训练点云学习对质心偏移向量的预测,提高质心偏移向量的准确性。
在本公开的一些实施例中,S1103中根据与第一训练点云对应的每个点的第α次第一预测质心偏移向量,和对应点的第α次第一真实质心偏移向量,确定第α次的第一偏移损失的实现,如图16所示,可以包括:S1201-S1206。
S1201、计算与第一训练点云对应的每个点的第α次第一预测质心偏移向量,与对应点的第α次第一真实质心偏移向量的差值的范数,得到与第一训练点云对应的每个点的第α次第一差值范数。
S1202、对与第一训练点云对应的每个点的第α次第一差值范数求平均值,得到第α次第一子偏移损失。
在本公开实施例中,实例分割装置可以对与第一训练点云对应的所有点,计算第α次第一差值范数的平均值,得到第α次第一子偏移损失Loffset1,参考公式(7)。
其中,n表示原始语义点云中的任意一点,Mn∈{0,1}为二进制掩码,n如果属于第一训练点云中的点,则Mn取值为0,否则,取值为1;也就是说,第α次第一子偏移损失Loffset1,只对与第一训练点云对应的点进行计算。
S1203、计算与第一训练点云对应的每个点的第α次第一预测质心偏移向量,与对应点的第α次第一预测质心偏移向量的范数之间的比值,作为第α次第一预测比值;以及,计算与第一训练点云对应的每个点的第α次第一实际质心偏移向量,与对应点的第α次第一真实质心偏移向量的比值,作为第α次第一实际比值。
S1204、确定与第一训练点云对应的每个点的第α次第一预测比值和对应点的第α次第一实际比值的乘积,得到与第一训练点云对应的每个点的第α次第一方向乘积。
S1205、对与第一训练点云对应的每个点的第α次方向乘积求平均值,得到第α次第二子偏移损失。
在本公开实施例中,实例分割装置可以对第一训练点云对应的每个点,计算第α次第一预测质心偏移向量,与第α次第一预测质心偏移向量的范数之间的比值,作为第α次第一预测比值;计算第α次第一真实质心偏移向量,与第α次第一真实质心偏移向量的范数之间的比值,作为第α次第一实际比值;再将第α次第一预测比值和第α次第一实际比值相乘,得到第α次第一方向乘积;之后,对所有点的第α次第一方向乘积求均值,可以得到第α次第二子偏移损失Loffset2,参考公式(8)。
其中,第α次第一预测质心偏移向量的范数和第α次第一真实质心偏移向量的范数均为为Α2范数。可以看出,通过Mn的设置,第α次第二子偏移损失Loffset2,只对与第一训练点云对应的点进行计算。
需要说明的是,第二子偏移损失Loffset2表征基于余弦相似性的附加方向损失。
S1206、利用第α次第一子偏移损失减去第α次第二子偏移损失,得到第α次的第一偏移损失。
在本公开实施例中,实例分割装置在得到第α次第一子偏移损失Loffset1和第α次第二子偏移损失Loffset2之后,可以用第α次第一子偏移损失Loffset1减去第二子偏移损失Loffset2,得到第α次的第一偏移损失,参考公式(9)。
Loffset=Loffset1-Loffset2 公式(9)
这里,将公式(9)中的第一子偏移损失Loffset1和第二子偏移损失Loffset2展开后,可以通过公式(10)表示。
S905、将第α次第一语义损失和第α次第一偏移损失的和,作为第α次第一损失。
在本公开实施例中,实例分割装置在计算出第α次第一语义损失Lsemantic和第α次第一偏移损失Loffset之后,可以将第α次第一语义损失Lsemantic和第α次第一偏移损失Loffset的和,作为第α次第一损失。第α次第一损失为第α次第一语义损失Lsemantic和第α次第一偏移损失Loffset的联合损失,记为Ljoint,参考公式(11)。
Ljoint=Loffset+Lsemantic 公式(11)
可以理解的是,实例分割装置通过语义损失和针对质心偏移向量的偏移损失的联合损失,来更新第一骨干网络,使最终得到的第一骨干网络可以同时保证语义预测结果和质心偏移向量的预测准确性,进而提高后续实例分割的准确性。
S906、在第α次第一损失与第α-1次第一损失之间的第α次第一损失差值,连续小于或者等于第一差值阈值,且连续次数大于或者等于第一预设次数的情况下,停止训练,得到第α-1次更新的第一骨干网络作为初始第三骨干网络;以及,第α次第一预测偏移向量作为第三质心偏移向量;第α次第一语义预测结果作为第三语义预测结果。
在本公开实施例中,实例分割装置在得到第α次第一损失之后,获取第α-1次第一损失,计算第α次第一损失与第α-1次第一损失之间的差值,作为第α次第一损失差值。
在本公开实施例中,实例分割装置可以在第α次第一损失差值连续小于或者等于第一差值阈值,且连续次数大于或者等于第一预设次数的情况下,确定第一骨干网络的输出区域稳定,停止训练,得到第α-1次更新的第一骨干网络作为初始第三骨干网络;以及,第α次第一预测偏移向量作为第三质心偏移向量;第α次第一语义预测结果作为第三语义预测结果。
可以理解的是,在第一损失的值趋于稳定的情况下,当前第一损失与上一次第一损失的差值较小,可以小于或者等于第一差值阈值,且连续次数大于或者等于第一预设次数;如此,可以使初始第三骨干网络达到最高精度,提高了初始第三骨干网络预测质心偏移向量和语义分割结果的准确性。
在本公开的一些实施例中,第一骨干网络在进行第一轮训练的情况下,可以采用三维坐标系下的点云进行训练。
在本公开的一些实施例中,第一骨干网络在进行第一轮训练的情况下,可以忽略深度坐标,例如,一个点的三维坐标为(x,y,z),则可以忽略z坐标,采用二维点云进行训练,或者将z坐标统一设置为一个值。
可以理解的是,忽略深度坐标的训练方式,可以减小采样过程导致的干扰,例如,考虑深度坐标可能导致椅子被分割为上下两个实例,即过分割的情况;这种情况可以通过忽略深度坐标的方式来改善,从而提高了第一骨干网络第一轮训练的效果,进而提高实例分割效果。
S802、基于第三语义预测结果、第三质心偏移向量,对第二骨干网络输出的多级预测点云进行实例分割,得到第三训练点云。
在本公开实施例中,实例分割装置对初始第一骨干网络完成第一轮训练,得到初始第三骨干网络后,可以基于初始第三骨干网络输出的第三语义预测结果和第三质心偏移向量,对第二骨干网络输出的多级预测点云进行实例分割,得到第三训练点云。
在本公开的的一些实施例中,S802中基于第三语义预测结果、第三质心偏移向量对第二骨干网络输出的多级预测点云进行实例分割,得到第三训练点云的实现,可以包括:S1301-S1303。
S1301、根据第三质心偏移向量,将多级预测点云中的每个点移动至各自对应的预测中心,得到影响力预测点云。
S1301、根据第三语义预测结果,对影响力预测点云中的核心点进行聚类,得到每个语义类别的至少一个第三核心点云。
S1303、将影响力预测点云中的边缘点聚类到对应语义类别的至少一个第三核心点云中的第三目标核心点云中,得到第三训练点云。
在本公开实施例中,S1301-S1303的实现,可以参考S103-S105的描述,在此不再赘述。
可以理解的是,实例分割装置可以对第二骨干网络预测出的多级预测点云中,核心区域的核心点以及边缘区域的边缘点,采用不同的方式聚类,减少了边缘点的欠分割问题,从而提高第三训练点云中实例分割的准确性。
S803、基于第三训练点云的伪实例标签和原始语义点云的语义标签,对初始第三骨干网络进行第二轮训练,得到第一骨干网络。
在本公开实施例中,实例分割装置基于第三训练点云和原始语义点云对初始第三骨干网络进行第二轮训练,得到第一骨干网络的方式,可以参考S801中基于第一训练点云和原始语义点云对初始第一骨干网络进行第一轮训练,得到初始第三骨干网络的实现方式,在此不在赘述。
可以理解的是,由于第三训练点云是基于多级预测点云,分别对核心点和边缘点进行聚类得到的实例分割结果,相比第一训练点云包含更多的训练数据,同时,伪实例标签的准确性更高,通过第三训练点云作为新的监督数据,替代第一训练点云,可以进一步提高第一骨干网络的预测准确性。
本公开实施例提供一种实例分割网络的训练过程示意图,如图17所示,实例分割网络包括3D U-net骨干网1和3D U-net骨干网2;其中,实线箭头用于表示数据的输入和输出,虚线箭头用于表示监督数据的输入,划线箭头用于表示更新后的监督数据的输入。从图中可以看出,通过BFS算法对原始语义点云进行实例分割,可以得到初始的伪实例点云;基于初始的伪实例点云中每个伪实例点云中点的数量进行点云过滤,可以得到第一训练点云;第一训练点云和原始语义点云作为3D U-net骨干网1第一轮训练的监督数据;将原始训练点云作为训练数据输入3D U-net骨干网1,完成第一轮训练后,3D U-net骨干网1可以输出语义预测结果和预测的质心偏移向量。对第一训练点云进行多个等级的对象性标签的标注后,再进行点云重组,可以得到重组训练点云;将重组训练点云作为监督数据,同时,将不带多等级伪实例标签的重组训练点云作为训练数据,对3D U-net骨干网2进行训练;完成训练的3D U-net骨干网2可以输出多级预测点云。通过多级预测点云中多个等级的对象性标签可以区分核心点和边缘点;通过质心偏移向量对多级预测点云进行移动,得到影响力点云;对影响力点云中的核心点进行聚类,得到对应多级预测点云中的核心点云;基于影响力点云计算核心点与其他点之间的影响力值,生成影响力图;再将边缘点吸收到对应的核心点云中,最终完成实例分割,得到第三训练点云。最后,将第三训练点云替代第一训练点云作为3D U-net骨干网1的监督数据,对3D U-net骨干网1进行第二轮训练,得到训练完成的入3D U-net骨干网1。
基于图17中的实例分割方法,图18A示出了初始的伪实例点云,可以看出,桌子周边有三把椅子点云连在一起,被预测为一个实例;对初始的伪实例进行过滤后,可以将这三把椅子过滤掉,得到图18B中的第一训练点云;基于第一训练点云进行学习,第一骨干网络预测出的实例分割结果,如图18C所示,其中三把椅子中有两把椅子被预测为一个实例,实例分割效果有所提升;图18D是第二骨干网络预测出的多级预测点云;图18E为基于图18D进行核心点聚类的结果;图18F给出了基于图18D中的核心点云进行边缘点吸收后的实例分割结果,可以看出,图18D很好的区分了3把椅子,相比图18C的实例分割效果更好。
基于图17中的实例分割网络,3D U-net采用7层U形网,每个超体素大小为2cm,将3D U-net1的训练数据的批量大小设置为8,3D U-net2的训练数据的批量大小设置为16,重组训练点云为5000个虚拟场景,初始学习率为0.001;针对非对称性推理算法,超参数设置为3;从原始语义点云中得到初始的伪实例点云的BFS算法的搜索半径为5cm;预设边缘等级为0和1,预设核心等级为2-4;训练集采用ScanNet-v2,得到第三训练点云中各伪实例标签的三种不同的平均精确度大小,参见表1。
表1
从表1中可以看出,对于不同的室内场景中的对象,每一个指标的平均分数都超过75分,其中,mAP表示在50%到95%之间的分数范围,步长为5%;mAP@0.5和mAP@0.25的平均分数近于85;也就是说,本公开实施例提供的实例分割方法分割实例的效果都很好。
如表2所示,验证集采用ScanNet-v2,通过不同的实例分割方法对验证集进行实例分割,得到不同方法的平均精确度。
表2
从表2中可以看出,全监督方法(PointGroup)与本公开实施例提供的实例分割方法(AOIA),在不同的评估指标中,平均精确度基本相同;在本公开实施例的提供的实例分割方法的基础上,通过平均池对语义预测结果进行平滑处理后在不同的评估指标中,3种不同的AP值比AOIA更高;对于弱监督方法,例如CSC的4种方法,标注的点越稀疏AP50值越低,可见,在训练数据中标注的点越多,AP越高。而SegGroup对每个实例只标注一个点,其AP50值与CSC-100的方法基本一致,SPIB是对每个实例的3D边框进行标注,得到的AP值低于SegGroup。
验证集采用ScanNet-v2,表3示出了采用过滤后得到的第一训练点云进行训练,以及采用未过滤的初始的伪实例点云进行训练后的实例分割网络,3中不同的AP值比较,可以看出,采用第一训练点云的3种AP值均高于采用初始的伪实例点云的方式;也就是说,对初始的伪实例点云进行过滤,可以提高实例分割的效果。
表3
训练点云 | AP | <![CDATA[AP<sub>50</sub>]]> | <![CDATA[AP<sub>25</sub>]]> |
初始伪实例点云 | 28.7 | 46.4 | 62.3 |
第一训练点云 | 30.3 | 48.5 | 65.5 |
验证集采用ScanNet-v2,表4示出了不同的预设核心等级设置对实例分割的影响,是否采用中心点回归的影响,以及是否采用投影方式的影响。从表4中可以看出,预设核心等级包括1-4,即80%的点设置为核心点的方式,相比40%和60%的设置,三种AP值都有提升,且均高于基线通过BFS搜索进行实例分割的方法,而且采用中心点回归的AP值一定高于不采用中心点回归的AP值。本公开实施例采用了中心点回归的方式,将点云向预测中心移动生成影响力点云。在3D U-net1的第一轮训练中,采用投影的方式,忽略深度坐标,即z坐标的情况下,相比没有采用投影的方式,三种AP值有明显的提高。
表4
实例分割方法 | 中心点回归 | 核心点比例 | 投影 | AP | <![CDATA[AP<sub>50</sub>]]> | <![CDATA[AP<sub>25</sub>]]> |
Baseline BFS | 100% | 62 | 73.5 | 76.9 | ||
Baseline BFS | √ | 100% | 67.9 | 78.2 | 82.1 | |
AOIA(Ours) | √ | Top40% | 68.5 | 78.8 | 82.9 | |
AOIA(Ours) | √ | Top60% | 69.6 | 80 | 83.7 | |
AOIA(Ours) | √ | Top80% | 70.9 | 80.8 | 83.9 | |
AOIA(Ours) | √ | Top80% | √ | 75.6 | 83.9 | 86.3 |
图19A示出了多级点云,基于图19A中的多级点云,图19B示出了采用40%的点进行核心点聚类的效果示意图,图19C示出了采用80%的点作为核心点进行核心点聚类的效果示意图。
需要说明的是,核心点的百分比越小,实例分割的更好,但也容易导致过分割的问题,因此,需要采用合适的百分比,达到最优效果。
基于前述的实施例,本公开实施例提供一种实例分割装置,该装置包括所包括的各单元、以及各单元所包括的各模块,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(Central ProcessingUnit,CPU)、微处理器(Microprocessor Unit,MPU)、数字信号处理器(Digital SignalProcessor,DSP)或现场可编程门阵列(Field Programmable Gate Array,FPGA)等。
图20为本公开实施例提供的一种实例分割装置的组成结构示意图,如图20所示,实例分割装置600包括:第一预测模块610、第二预测模块620、移动模块630、核心聚类模块640和边缘聚类模块650;其中:
第一预测模块610,用于通过第一骨干网络对获取的待分割点云进行语义预测和质心偏移预测,得到所述待分割点云中每个点的语义预测结果和质心偏移向量;所述第一骨干网络和第二骨干网络是基于第一训练点云训练得到的;所述第一训练点云是通过带有语义标签的原始语义点云确定的;
第二预测模块620,用于通过所述第二骨干网络对所述待分割点云进行对象性预测,得到包括多个等级的对象性标签的多级点云;所述多个等级的对象性标签用于表征每个实例的形状,以及内部信息和外部信息;
移动模块630,用于根据所述质心偏移向量,将所述多级点云中的每个点移动至各自对应的预测中心,得到影响力点云;
核心聚类模块640,用于根据所述语义预测结果,对所述影响力点云中的核心点进行聚类,得到每个语义类别的至少一个核心点云;所述核心点为对象性标签的等级为预设核心等级的点;
边缘聚类模块650,用于将所述影响力点云中的边缘点聚类到对应语义类别的至少一个核心点云中的目标核心点云中,得到实例分割结果;所述边缘点为对象性标签的等级为预设边缘等级的点。
在一些实施例中,所述边缘聚类模块650,还用于计算每个边缘点,与对应语义类别的至少一个核心点云之间的影响力值,得到对应的每个边缘点的至少一个影响力值;所述影响力值用于表征一个边缘点与对应语义类别的一个核心影响力点云中所有点之间的影响力值的均值;将所述每个边缘点的至少一个影响力值中的最大值所对应的核心点云,作为与所述每个边缘点对应的所述目标核心点云;将所述每个边缘点聚类到对应的目标核心点云中,得到每个语义类别的至少一个实例分割点云,作为所述实例分割结果。
在一些实施例中,所述实例分割装置600还包括:训练模块;所述训练模块,还用于通过第一骨干网络对所述待分割点云进行语义预测和质心偏移预测,得到所述待分割点云中每个点的语义预测结果和质心偏移向量之前,对原始语义点云进行聚类,得到初始的伪实例点云;根据所述初始的伪实例点云中每个伪实例包含的点的数量,对所述初始的伪实例点云进行过滤,得到第一训练点云;基于所述第一训练点云对初始第二骨干网络进行训练,得到所述第二骨干网络;基于所述第一训练点云和所述原始语义点云对初始第一骨干网络进行训练,得到所述第一骨干网络。
在一些实施例中,所述训练模块,还用于对每个语义类别的每个伪实例点云中点的数量进行排序,得到每个语义类别的数量顺序;从所述每个语义类别的数量顺序中,选取预设数量顺序范围内的伪实例点云,得到所述每个语义类别的训练点云,所述第一训练点云包括每个语义类别的训练点云。
在一些实施例中,所述训练模块,还用于对所述第一训练点云进行点云压缩,得到所述第一压缩点云;根据所述第一训练点云中每个伪实例点云中的每个点,到所述第一压缩点云中对应的压缩伪实例点云之间的压缩距离,确定与所述每个伪实例点云对应的多级训练点云;所述多级训练点云包括所述多个等级的对象性标签;基于与所述每个伪实例点云对应的多级训练点云,进行点云重组,得到重组训练点云;利用所述重组训练点云对所述初始第二骨干网络进行训练,得到所述第二骨干网络,以及所述第二骨干网络输出的所述多级预测点云。
在一些实施例中,所述训练模块,还用于计算所述每个伪实例点云中的每个点,到对应的压缩伪实例点云中每个点之间的距离,得到与所述每个伪实例点云中每个点对应的多个距离;将所述每个伪实例点云中每个点对应的多个压缩距离中的最小距离,作为所述每个伪实例点云中每个点与对应的压缩点云之间的压缩距离,得到所述每个伪实例点云的多个压缩距离;根据所述每个伪实例点云的多个压缩距离,确定所述每个伪实例点云的所述多个等级的对象性标签,得到所述每个伪实例点云对应的所述多级训练点云。
在一些实施例中,所述训练模块,还用于按照重组模板中的预设点云属性,对所述多级训练点云进行点云重组,得到所述重组训练点云;所述预设点云属性包括:预设点云数量、预设点云体积和预设点云位置;所述预设点云位置之间不存在相交区域。
在一些实施例中,所述训练模块,还用于获取第k-1次更新的第二骨干网络;其中,k为正整数;在k等于1的情况下,第k-1次更新的第二骨干网络为所述初始第二骨干网络;通过第k-1次更新的第二骨干网络对所述重组训练点云的每个点进行特征提取,得到每个点的第k次的第二点云特征;对所述每个点的第k次的第二点云特征进行第二线性变换,得到第k次的第二线性变换特征;所述第k次的第二线性变化特征的维度与所述多个等级的对象性标签的等级数量一一对应;计算所述每个点的第k次第二线性变换特征与对应点的真实对象性标签之间的第k次第二交叉熵,得到所有点的第k次第二交叉熵的均值作为第k次对象性损失;在所述第k次对象性损失与第k-1次对象性损失之间的第k次对象性损失的差值,连续小于或者等于第二预设差值阈值,且连续次数大于或者等于第二预设次数的情况下,停止训练,将所述第k-1次更新的第二骨干网络作为所述第二骨干网络。
在一些实施例中,所述训练模块,还用于所述计算所述每个点的第k次第二线性变换特征中的第二目标维度值,与对应的目标等级训练标签值之间的第k次第二交叉熵,得到所有点的第k次第二交叉熵的均值作为第k次对象性损失之后,在所述第k次对象性损失差值大所述于预设差值阈值,或者,所述第k次对象性损失的差值连续小于或者等于第二差值阈值,且连续次数小于第二预设次数的情况下,根据所述第k次对象性损失对所述第k-1次的第二骨干网络进行第k次更新,得到第k次更新的第二骨干网络。
在一些实施例中,所述训练模块,还用于基于所述第一训练点云中的伪实例标签和对应的原始语义点云中的语义标签对所述初始第一骨干网络进行训练,得到初始第三骨干网络、第三质心偏移向量和第三语义预测结果;基于所述第三语义预测结果、所述第三质心偏移向量,对所述第二骨干网络输出的所述多级预测点云进行实例分割,得到第三训练点云;基于所述第三训练点云中的伪实例标签和所述原始语义点云中的语义标签对所述初始第三骨干网络进行训练,得到所述第一骨干网络。
在一些实施例中,所述训练模块,还用于获取第α-1次更新的第一骨干网络;其中,α为正整数;在α等于1的情况下,第α-1次更新的第一骨干网络为所述初始第一骨干网络;基于所述第α-1次更新的第一骨干网络、所述原始语义点云中的语义标签和所述第一训练点云中的伪实例标签,得到第α次第一语义预测结果、第α次第一语义损失和第α次第一预测偏移向量;所述第α次第一偏移损失用于表征所述第α-1次更新的第一骨干网络预测出的实例质心与真实伪实例质心之间的差异;所述第一训练点云包含所述真实伪实例;基于所述第α次第一语义预测结果和所述原始语义点云进行点云聚类,得到第α次第一实例预测结果;根据所述第α次第一实例预测结果、所述第一训练点云和所述第α次第一预测偏移向量,确定第一偏移损失;将所述第α次第一语义损失和所述第α次第一偏移损失的和,作为第α次第一损失;在所述第α次第一损失与第α-1次第一损失之间的第α次第一损失差值,连续小于或者等于第一差值阈值,且连续次数大于或者等于第一预设次数的情况下,停止训练,得到所述第α-1次更新的第一骨干网络作为所述初始第三骨干网络;以及,所述第α次第一预测偏移向量作为所述第三质心偏移向量;所述第α次第一语义预测结果作为所述第三语义预测结果。
在一些实施例中,所述训练模块,还用于通过所述第α-1次更新的第一骨干网络对所述原始训练点云中的每个原始点进行第α次特征提取,得到所述每个原始点的第α次第一点云特征;通过所述第α-1次更新的第一骨干网络对所述每个原始点的第α次第一点云特征进行语义预测,得到第α次第一语义预测结果;以及,基于所述每个原始点的第α次第一点云特征和对应原始点的语义标签,确定所述第α次第一语义损失;以及,对所述每个原始点的第α次第一点云特征进行特征变换,得到所述每个原始点的第α次第一预测质心偏移向量。
在一些实施例中,所述训练模块,还用于将所述第α次第一实例预测结果中每个实例的所有点的平均坐标确定为对应实例中每个点的第α次第一实例质心向量;利用与所述第一训练点云对应的每个点的第α次第一实例质心向量,减去对应点的坐标,得到与所述第一训练点云对应的每个点的第α次第一向量差值,作为与所述第一训练点云对应的每个点的第α次第一真实质心偏移向量;根据与所述第一训练点云对应的每个点的第α次第一预测质心偏移向量,和对应点的第α次第一真实质心偏移向量,确定所述第α次的第一偏移损失。
在一些实施例中,所述训练模块,还用于通过所述第α-1次更新的第一骨干网络对所述每个原始点的第α次第一点云特征进行语义预测,得到第α次初始的语义预测点云;通过平均池,对所述第α次初始的语义预测点云中每个超体素中的语义特征向量进行平滑处理,得到微调后的第α次初始的语义预测点云作为所述第α次第一语义预测结果。
在一些实施例中,所述训练模块,还用于计算与所述第一训练点云对应的每个点的第α次第一预测质心偏移向量,与对应点的第α次第一真实质心偏移向量之间的差值的范数,得到与所述第一训练点云对应的每个点的第α次第一差值范数;对与所述第一训练点云对应的每个点的第α次第一差值范数求平均值,得到第α次第一子偏移损失;计算所述与所述第一训练点云对应的每个点的第α次第一预测质心偏移向量,与所述对应点的第α次第一预测质心偏移向量的范数之间的比值,作为第α次第一预测比值;以及,计算所述与所述第一训练点云对应的每个点的第α次第一真实质心偏移向量,与所述第α次第一真实质心偏移向量的范数之间的比值,作为第α次第一实际比值;确定所述与所述第一训练点云对应的每个点的第α次第一预测比值,和对应点的第α次第一实际比值的乘积,得到与所述第一训练点云对应的每个点的第α次第一方向乘积;对所述与所述第一训练点云对应的每个点第α次第一方向乘积求平均值,得到第α次第二子偏移损失;利用所述第α次第一子偏移损失减去所述第α次第二子偏移损失,得到所述第α次的第一偏移损失。
在一些实施例中,所述训练模块,还用于所述将所述第α次第一语义损失和所述第α次第一偏移损失的和,作为第α次第一损失之后,在所述第α次第一损失差值大于第一损失差值阈值,或者,在第α次第一损失差值连续小于或者等于第一损失差值阈值,且连续次数小于所述第一预设次数的情况下,根据所述第α次第一损失对所述第α-1次更新的第一骨干网络进行第α次更新,得到第α次更新的第一骨干网络。
在一些实施例中,所述训练模块,还用于根据所述第三质心偏移向量,将所述多级预测点云中的每个点移动至各自对应的预测中心,得到影响力预测点云;根据所述第三语义预测结果,对所述影响力预测点云中的核心点进行聚类,得到每个语义类别的至少一个第三核心点云;将所述影响力预测点云中的边缘点聚类到对应语义类别的至少一个第三核心点云中的第三目标核心点云中,得到所述第三训练点云。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上述方法实施例描述的方法,对于本公开装置实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
需要说明的是,本公开实施例中,如果以软件功能模块的形式实现上述的实例分割方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read OnlyMemory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本公开实施例不限制于任何特定的硬件、软件或固件,或者硬件、软件、固件三者之间的任意结合。
本公开实施例提供一种计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法中的部分或全部步骤。
本公开实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法中的部分或全部步骤。所述计算机可读存储介质可以是瞬时性的,也可以是非瞬时性的。
本公开实施例提供一种计算机程序,包括计算机可读代码,在所述计算机可读代码在计算机设备中运行的情况下,所述计算机设备中的处理器执行用于实现上述方法中的部分或全部步骤。
本公开实施例提供一种计算机程序产品,所述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,所述计算机程序被计算机读取并执行时,实现上述方法中的部分或全部步骤。该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一些实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一些实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
这里需要指出的是:上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考。以上设备、存储介质、计算机程序及计算机程序产品实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本公开设备、存储介质、计算机程序及计算机程序产品实施例中未披露的技术细节,请参照本公开方法实施例的描述而理解。
需要说明的是,图21为本公开实施例中实例分割设备的一种硬件实体示意图,如图21所示,该实例分割设备700的硬件实体包括:处理器701、通信接口702和存储器703,其中:
处理器701通常控制计算机设备700的总体操作。
通信接口702可以使计算机设备通过网络与其他终端或服务器通信。
存储器703配置为存储由处理器701可执行的指令和应用,还可以缓存待处理器701以及计算机设备700中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(FLASH)或随机访问存储器(Random AccessMemory,RAM)实现。处理器701、通信接口702和存储器703之间可以通过总线704进行数据传输。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本公开的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本公开的各种实施例中,上述各步骤/过程的序号的大小并不意味着执行顺序的先后,各步骤/过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。上述本公开实施例序号仅仅为了描述,不代表实施例的优劣。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本公开所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本公开各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本公开上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本公开各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本公开的实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。
Claims (19)
1.一种实例分割方法,其特征在于,包括:
通过第一骨干网络对获取的待分割点云进行语义预测和质心偏移预测,得到所述待分割点云中每个点的语义预测结果和质心偏移向量;所述第一骨干网络和第二骨干网络是基于第一训练点云训练得到的;所述第一训练点云是通过带有语义标签的原始语义点云确定的;
通过所述第二骨干网络对所述待分割点云进行对象性预测,得到包括多个等级的对象性标签的多级点云;所述多个等级的对象性标签用于表征每个实例的形状,以及内部信息和外部信息;
根据所述质心偏移向量,将所述多级点云中的每个点移动至各自对应的预测中心,得到影响力点云;
根据所述语义预测结果,对所述影响力点云中的核心点进行聚类,得到每个语义类别的至少一个核心点云;所述核心点为对象性标签的等级为预设核心等级的点;
将所述影响力点云中的边缘点聚类到对应语义类别的至少一个核心点云中的目标核心点云中,得到实例分割结果;所述边缘点为对象性标签的等级为预设边缘等级的点。
2.根据权利要求1所述的方法,其特征在于,所述将所述影响力点云中的边缘点聚类到对应语义类别的至少一个核心点云中的目标核心点云中,得到实例分割结果,包括:
计算每个边缘点,与对应语义类别的至少一个核心点云之间的影响力值,得到对应的每个边缘点的至少一个影响力值;所述影响力值用于表征一个边缘点与对应语义类别的一个核心影响力点云中所有点之间的影响力值的均值;
将所述每个边缘点的至少一个影响力值中的最大值所对应的核心点云,作为与所述每个边缘点对应的所述目标核心点云;
将所述每个边缘点聚类到对应的目标核心点云中,得到每个语义类别的至少一个实例分割点云,作为所述实例分割结果。
3.根据权利要求1或2所述的方法,其特征在于,所述通过第一骨干网络对所述待分割点云进行语义预测和质心偏移预测,得到所述待分割点云中每个点的语义预测结果和质心偏移向量之前,所述方法还包括:
对原始语义点云进行聚类,得到初始的伪实例点云;
根据所述初始的伪实例点云中每个伪实例包含的点的数量,对所述初始的伪实例点云进行过滤,得到所述第一训练点云;
基于所述第一训练点云对初始第二骨干网络进行训练,得到所述第二骨干网络;
基于所述第一训练点云和所述原始语义点云对初始第一骨干网络进行训练,得到所述第一骨干网络。
4.根据权利要求3所述的方法,其特征在于,所述根据所述初始的伪实例点云中每个伪实例的点云数量,对所述初始的伪实例点云进行过滤,得到所述第一训练点云,包括:
对每个语义类别的每个伪实例点云中点的数量进行排序,得到每个语义类别的数量顺序;
从所述每个语义类别的数量顺序中,选取预设数量顺序范围内的伪实例点云,得到所述每个语义类别的训练点云,所述第一训练点云包括每个语义类别的训练点云。
5.根据权利要求3或4所述的方法,其特征在于,所述基于所述第一训练点云对初始第二骨干网络进行训练,得到所述第二骨干网络,并输出多级训练点云,包括:
对所述第一训练点云进行点云压缩,得到第一压缩点云;
根据所述第一训练点云中每个伪实例点云中的每个点,到所述第一压缩点云中对应的压缩伪实例点云之间的压缩距离,确定与所述每个伪实例点云对应的多级训练点云;所述多级训练点云包括所述多个等级的对象性标签;
基于与所述每个伪实例点云对应的多级训练点云,进行点云重组,得到重组训练点云;
利用所述重组训练点云对所述初始第二骨干网络进行训练,得到所述第二骨干网络,以及所述第二骨干网络输出的所述多级预测点云。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一训练点云中每个伪实例点云中的每个点,到所述第一压缩点云中对应的压缩伪实例点云之间的压缩距离,确定与所述每个伪实例点云对应的多级训练点云,包括:
计算所述每个伪实例点云中的每个点,到对应的压缩伪实例点云中每个点之间的距离,得到与所述每个伪实例点云中每个点对应的多个距离;
将所述每个伪实例点云中每个点对应的多个距离中的最小距离,作为所述每个伪实例点云中每个点与对应的压缩点云之间的压缩距离,得到所述每个伪实例点云的多个压缩距离;
根据所述每个伪实例点云的多个压缩距离,确定所述每个伪实例点云的所述多个等级的对象性标签,得到所述每个伪实例点云对应的所述多级训练点云。
7.根据权利要求5或6所述的方法,其特征在于,所述基于与所述每个伪实例点云对应的多级训练点云,进行点云重组,得到重组训练点云,包括:
按照重组模板中的预设点云属性,对所述多级训练点云进行点云重组,得到所述重组训练点云;所述预设点云属性包括:预设点云数量、预设点云体积和预设点云位置;所述预设点云位置之间不存在相交区域。
8.根据权利要求5-7任一项所述的方法,其特征在于,所述利用所述重组训练点云对所述初始第二骨干网络进行训练,得到所述第二骨干网络,包括:
获取第k-1次更新的第二骨干网络;其中,k为正整数;在k等于1的情况下,第k-1次更新的第二骨干网络为所述初始第二骨干网络;
通过第k-1次更新的第二骨干网络对所述重组训练点云的每个点进行特征提取,得到每个点的第k次的第二点云特征;
对所述每个点的第k次的第二点云特征进行第二线性变换,得到第k次的第二线性变换特征;所述第k次的第二线性变化特征的维度与所述多个等级的对象性标签的等级数量一一对应;
计算所述每个点的第k次第二线性变换特征与对应点的真实对象性标签之间的第k次第二交叉熵,得到所有点的第k次第二交叉熵的均值作为第k次对象性损失;
在所述第k次对象性损失与第k-1次对象性损失之间的第k次对象性损失的差值,连续小于或者等于第二预设差值阈值,且连续次数大于或者等于第二预设次数的情况下,停止训练,将所述第k-1次更新的第二骨干网络作为所述第二骨干网络。
9.根据权利要求8所述的方法,其特征在于,所述计算所述每个点的第k次第二线性变换特征中的第k次第二目标维度值,与对应的目标等级训练标签值之间的第k次第二交叉熵,得到所有点的第k次第二交叉熵的均值作为第k次对象性损失之后,所述方法还包括:
在所述第k次对象性损失差值大所述于预设差值阈值,或者,所述第k次对象性损失的差值连续小于或者等于第二差值阈值,且连续次数小于第二预设次数的情况下,根据所述第k次对象性损失对所述第k-1次的第二骨干网络进行第k次更新,得到第k次更新的第二骨干网络。
10.根据权利要求3-9任一项所述的方法,其特征在于,所述基于所述第一训练点云和所述原始语义点云对初始第一骨干网络进行训练,得到所述第一骨干网络,包括:
基于所述第一训练点云中的伪实例标签和对应的原始语义点云中的语义标签对所述初始第一骨干网络进行训练,得到初始第三骨干网络、第三质心偏移向量和第三语义预测结果;
基于所述第三语义预测结果、所述第三质心偏移向量,对所述第二骨干网络输出的所述多级预测点云进行实例分割,得到第三训练点云;
基于所述第三训练点云中的伪实例标签和所述原始语义点云中的语义标签对所述初始第三骨干网络进行训练,得到所述第一骨干网络。
11.根据权利要求10所述的方法,其特征在于,所述基于所述第一训练点云中的伪实例标签和对应的原始语义点云中的语义标签对所述初始第一骨干网络进行训练,得到初始第三骨干网络、第三质心偏移向量和第三语义预测结果,包括:
获取第α-1次更新的第一骨干网络;其中,α为正整数;在α等于1的情况下,第α-1次更新的第一骨干网络为所述初始第一骨干网络;
基于所述第α-1次更新的第一骨干网络、所述原始语义点云中的语义标签和所述第一训练点云中的伪实例标签,得到第α次第一语义预测结果、第α次第一语义损失和第α次第一预测偏移向量;所述第α次第一偏移损失用于表征所述第α-1次更新的第一骨干网络预测出的实例质心与真实伪实例质心之间的差异;所述第一训练点云包含所述真实伪实例;
基于所述第α次第一语义预测结果和所述原始语义点云进行点云聚类,得到第α次第一实例预测结果;
根据所述第α次第一实例预测结果、所述第一训练点云和所述第α次第一预测偏移向量,确定第一偏移损失;
将所述第α次第一语义损失和所述第α次第一偏移损失的和,作为第α次第一损失;
在所述第α次第一损失与第α-1次第一损失之间的第α次第一损失差值,连续小于或者等于第一差值阈值,且连续次数大于或者等于第一预设次数的情况下,停止训练,得到所述第α-1次更新的第一骨干网络作为所述初始第三骨干网络;以及,所述第α次第一预测偏移向量作为所述第三质心偏移向量;所述第α次第一语义预测结果作为所述第三语义预测结果。
12.根据权利要求11所述的方法,其特征在于,所述基于所述第α于所次更新的第一骨干网络、所述原始语义点云中的语义标签和所述第一训练点云中的伪实例标签,得到第α次第一语义预测结果、第α次第一语义损失和第α次第一预测偏移向量,包括:
通过所述第α-1次更新的第一骨干网络对所述原始训练点云中的每个原始点进行第α次特征提取,得到所述每个原始点的第α次第一点云特征;
通过所述第α-1次更新的第一骨干网络对所述每个原始点的第α次第一点云特征进行语义预测,得到第α次第一语义预测结果;以及,
基于所述每个原始点的第α次第一点云特征和对应原始点的语义标签,确定所述第α次第一语义损失;以及,
对所述每个原始点的第α次第一点云特征进行特征变换,得到所述每个原始点的第α次第一预测质心偏移向量。
13.根据权利要求11所述的方法,其特征在于,所述根据所述第α次第一实例预测结果、所述第一训练点云和所述第α次第一预测偏移向量,确定第一偏移损失,包括:
将所述第α次第一实例预测结果中每个实例的所有点的平均坐标确定为对应实例中每个点的第α次第一实例质心向量;
利用与所述第一训练点云对应的每个点的第α次第一实例质心向量,减去对应点的坐标,得到与所述第一训练点云对应的每个点的第α次第一向量差值,作为与所述第一训练点云对应的每个点的第α次第一真实质心偏移向量;
根据与所述第一训练点云对应的每个点的第α次第一预测质心偏移向量,和对应点的第α次第一真实质心偏移向量,确定所述第α次的所述第一偏移损失。
14.根据权利要求12或13所述的方法,其特征在于,所述通过所述第α-1次更新的第一骨干网络对所述每个原始点的第α次第一点云特征进行语义预测,得到第α次第一语义预测结果,包括:
通过所述第α-1次更新的第一骨干网络对所述每个原始点的第α次第一点云特征进行语义预测,得到第α次初始的语义预测点云;
通过平均池,对所述第α次初始的语义预测点云中每个超体素中的语义特征向量进行平滑处理,得到微调后的第α次初始的语义预测点云作为所述第α次第一语义预测结果。
15.根据权利要求13所述的方法,其特征在于,所述根据与所述第一训练点云对应的每个点的第α次第一预测质心偏移向量,和对应点的第α次第一真实质心偏移向量,确定所述第α次的所述第一偏移损失,包括:
计算与所述第一训练点云对应的每个点的第α次第一预测质心偏移向量,与对应点的第α次第一真实质心偏移向量之间的差值的范数,得到与所述第一训练点云对应的每个点的第α次第一差值范数;
对与所述第一训练点云对应的每个点的第α次第一差值范数求平均值,得到第α次第一子偏移损失;
计算所述与所述第一训练点云对应的每个点的第α次第一预测质心偏移向量,与所述对应点的第α次第一预测质心偏移向量的范数之间的比值,作为第α次第一预测比值;以及,计算所述与所述第一训练点云对应的每个点的第α次第一真实质心偏移向量,与所述第α次第一真实质心偏移向量的范数之间的比值,作为第α次第一实际比值;
确定所述与所述第一训练点云对应的每个点的第α次第一预测比值,和对应点的第α次第一实际比值的乘积,得到与所述第一训练点云对应的每个点的第α次第一方向乘积;
对所述与所述第一训练点云对应的每个点第α次第一方向乘积求平均值,得到第α次第二子偏移损失;
利用所述第α次第一子偏移损失减去所述第α次第二子偏移损失,得到所述第α次的第一偏移损失。
16.根据权利要求11-15任一项所述的方法,其特征在于,所述将所述第α次第一语义损失和所述第α次第一偏移损失的和,作为第α次第一损失之后,所述方法还包括:
在所述第α次第一损失差值大于第一损失差值阈值,或者,在第α次第一损失差值连续小于或者等于第一损失差值阈值,且连续次数小于所述第一预设次数的情况下,根据所述第α次第一损失对所述第α-1次更新的第一骨干网络进行第α次更新,得到第α次更新的第一骨干网络。
17.根据权利要求10所述的方法,其特征在于,所述基于所述第三语义预测结果、所述第三质心偏移向量对所述多级预测点云进行实例分割,得到第三训练点云,包括:
根据所述第三质心偏移向量,将所述多级预测点云中的每个点移动至各自对应的预测中心,得到影响力预测点云;
根据所述第三语义预测结果,对所述影响力预测点云中的核心点进行聚类,得到每个语义类别的至少一个第三核心点云;
将所述影响力预测点云中的边缘点聚类到对应语义类别的至少一个第三核心点云中的第三目标核心点云中,得到所述第三训练点云。
18.一种实例分割设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器;
其中,所述处理器用于执行所述计算机程序以:
通过第一骨干网络对获取的待分割点云进行语义预测和质心偏移预测,得到所述待分割点云中每个点的语义预测结果和质心偏移向量;所述第一骨干网络和第二骨干网络是基于第一训练点云训练得到的;所述第一训练点云是通过带有语义标签的原始语义点云确定的;
通过所述第二骨干网络对所述待分割点云进行对象性预测,得到包括多个等级的对象性标签的多级点云;所述多个等级的对象性标签用于表征每个实例的形状,以及内部信息和外部信息;
根据所述质心偏移向量,将所述多级点云中的每个点移动至各自对应的预测中心,得到影响力点云;
根据所述语义预测结果,对所述影响力点云中的核心点进行聚类,得到每个语义类别的至少一个核心点云;所述核心点为对象性标签的等级为预设核心等级的点;
将所述影响力点云中的边缘点聚类到对应语义类别的至少一个核心点云中的目标核心点云中,得到实例分割结果;所述边缘点为对象性标签的等级为预设边缘等级的点。
19.一种计算机可读存储介质,其特征在于,存储有计算机程序,其中,所述计算机程序被处理器执行时致使所述处理器:
通过第一骨干网络对获取的待分割点云进行语义预测和质心偏移预测,得到所述待分割点云中每个点的语义预测结果和质心偏移向量;所述第一骨干网络和第二骨干网络是基于第一训练点云训练得到的;所述第一训练点云是通过带有语义标签的原始语义点云确定的;
通过所述第二骨干网络对所述待分割点云进行对象性预测,得到包括多个等级的对象性标签的多级点云;所述多个等级的对象性标签用于表征每个实例的形状,以及内部信息和外部信息;
根据所述质心偏移向量,将所述多级点云中的每个点移动至各自对应的预测中心,得到影响力点云;
根据所述语义预测结果,对所述影响力点云中的核心点进行聚类,得到每个语义类别的至少一个核心点云;所述核心点为对象性标签的等级为预设核心等级的点;
将所述影响力点云中的边缘点聚类到对应语义类别的至少一个核心点云中的目标核心点云中,得到实例分割结果;所述边缘点为对象性标签的等级为预设边缘等级的点。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
SG10202250363A | 2022-07-04 | ||
SG10202250363A | 2022-07-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116129125A true CN116129125A (zh) | 2023-05-16 |
Family
ID=86316299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310334524.3A Pending CN116129125A (zh) | 2022-07-04 | 2023-03-30 | 实例分割方法、装置、设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116129125A (zh) |
-
2023
- 2023-03-30 CN CN202310334524.3A patent/CN116129125A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110660062B (zh) | 一种基于PointNet的点云实例分割方法及系统 | |
Yu et al. | Grouping with bias | |
EP2418588A1 (en) | Visual localization method | |
CN110866896B (zh) | 基于k-means与水平集超像素分割的图像显著性目标检测方法 | |
CN111444976A (zh) | 目标检测方法、装置、电子设备和可读存储介质 | |
CN107273824B (zh) | 基于多尺度多方向局部二值模式的人脸识别方法 | |
CN111310821B (zh) | 多视图特征融合方法、系统、计算机设备及存储介质 | |
CN106780639B (zh) | 基于显著性特征稀疏嵌入和极限学习机的哈希编码方法 | |
CN111583279A (zh) | 一种基于pcba的超像素图像分割方法 | |
CN113515656A (zh) | 一种基于增量学习的多视角目标识别与检索方法、及装置 | |
Struski et al. | Lossy compression approach to subspace clustering | |
CN113850811B (zh) | 基于多尺度聚类和掩码打分的三维点云实例分割方法 | |
Kim et al. | Low complexity fast grid-based refining segmentation in the v-pcc encoder | |
CN106033613B (zh) | 目标跟踪方法及装置 | |
CN117292076A (zh) | 工程机械局部作业场景动态三维重构方法及系统 | |
CN116958873A (zh) | 行人跟踪方法、装置、电子设备及可读存储介质 | |
CN116129125A (zh) | 实例分割方法、装置、设备、存储介质及程序产品 | |
CN106886783A (zh) | 一种基于区域特征的图像检索方法及系统 | |
CN106485686A (zh) | 一种基于万有引力的谱聚类图像分割算法 | |
CN111767419A (zh) | 图片搜索方法、装置、设备及计算机可读存储介质 | |
CN116415210A (zh) | 图像侵权检测方法、装置及存储介质 | |
Guo et al. | Image saliency detection based on geodesic‐like and boundary contrast maps | |
Hu et al. | Binary adaptive semi-global matching based on image edges | |
CN114549838A (zh) | 分割点云数据的方法、装置、设备和计算机可读介质 | |
Lizarraga-Morales et al. | Integration of color and texture cues in a rough set–based segmentation method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |