CN116071570A - 一种室内场景下的3d目标检测方法 - Google Patents
一种室内场景下的3d目标检测方法 Download PDFInfo
- Publication number
- CN116071570A CN116071570A CN202310122180.XA CN202310122180A CN116071570A CN 116071570 A CN116071570 A CN 116071570A CN 202310122180 A CN202310122180 A CN 202310122180A CN 116071570 A CN116071570 A CN 116071570A
- Authority
- CN
- China
- Prior art keywords
- point
- feature
- points
- features
- proposed
- 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/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
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
- G06V10/765—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects using rules for classification or partitioning the feature space
-
- 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/80—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
- G06V10/806—Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (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
本发明公开了一种室内场景下的3D目标检测器,其包括如下的一些步骤:(1):获取用于训练3D点云目标检测模型的训练数据集。(2):将点云通过最远点采样算法后,将剩余的点送入一个点云特征提取网络用来提取点的多尺度特征。(3):使用输出的特征进行投票和聚类,从而生成提议点。(4):对提议点进行多尺度特特征的增强。(5):将提议点送入对比优化器、分类解码器和回归解码器,经过后处理后计算损失函数。(6):计算损失函数并使用反向传播方法训练整个端到端的点云检测网络。(7):将模型模式设置为验证模式,对待检测的点云数据进行检测并评估性能。
Description
技术领域
本发明涉及3D点云处理技术领域,尤其是一种端到端的的3D点云目标检测方法。
背景技术
作为计算机理解3D世界的基本任务之一,3D目标检测技术对于现实世界中大量的下游任务有着重要的意义,如虚拟现实、场景理解等。随着雷达价格的降低和使用的频繁,3D点云的处理收到了越来越多的关注,成为最有前景的发展技术之一。3D点云是坐标轴下的数据集,由激光雷达等3D扫描设备获取空间若干点的位置、颜色信息和强度信息。
和传统图像相比,点云直接提供三维空间的数据,包括几何、形状与尺度信息且不易受光照强度变化和其它物体遮挡等影响,而图像则需要通过透视几何来反推三维数据。另一方面点云的数据通常是无序的,而传统的对于图像处理方式不能直接对这种无序的数据进行处理。
早期的工作主要诉诸于将点云数据进行体素化,[Voxelnet,Second,Center-based,Once dataset,Hv-bird,]、网格化[Pointpillar PIXOR,Frustum]、多视图化[MV3D]或应用一些预先定义的形状模板[Database-assisted object retrieval,Searchclassify]将点云图像规则化后使用传统的CNN等模型进行处理。最近VoteNet的提出以及它的变体[MLCV,H3DNet,]在端到端的基于原始点云的目标检测网络上取得了巨大的成功。VoteNet预测3D物体边框的问题看做是一个点级别的回归问题,其通过从原始的输入点采样一系列的种子点,这些种子点通过投票的方式产生投票点,这些投票点会分布在目标中心点附近形成簇,对各个簇进行聚类和特征聚合后得到提议点(包括提议点坐标和提议点特征向量)用以生成3D边界框(中心、尺寸和方向)。
然而基于中心点的投票方式中,存在两个影响模型效果的因素,分别是投票点的质量不齐影响着模型的效果好坏,训练数据的不均衡和不充分影响着模型的鲁棒性。
发明内容
本发明所要解决的技术问题在于,提供一种高效的3D点云的目标检测方法能够有效的提取提议点周围的感兴趣区域,并且能够在数据量不充分的情况实现各种回归和分类目标的解耦,优化注意力的分配。
在基于中心点投票的方式中,投票点的质量很大程度上决定了生成的提议的可靠性和后续网络模型的表现。然而在实际中投票簇的中心很少在物体的表平面上,簇的感受野往往距离目标表面较远或者无法覆盖整个目标而只覆盖目标表面的一小部分,如图1所示。这不利于对物体的实际尺寸、朝向的预测。受到传统的二阶段2D目标检测模型启发,一种简单直接的想法是进行类似感兴趣区域提取的操作来手动的提取提议点附近的特征用来进行后续的分类和回归,然而基于投票的模型并没有先验框(anchor)的概念,提议点无法提供较为精确的朝向和尺度信息,这使得感兴趣区域提取的操作无法进行。同时基于投票的3D点云目标检测中包含方向块分类、语义种类分类、目标分类,这使得神经网络对一系列的分类解耦和优化造成了困难。
为解决上述技术问题,本发明提供一种端到端的3D点云目标的检测方法,包括如下步骤。
(1)获取用于训练3D点云目标检测模型的训练数据集,数据集来源可以是来自于激光雷达或者其他点云传感设备,也可以来自于深度相机或者经过深度估计的图像数据,并进行适当的预处理。
(2)将点云通过最远点采样算法后,将剩余的点送入一个点云特征提取网络用来提取点的多尺度特征。
(3)使用(2)输出的特征进行投票和聚类,以簇的中心作为提议点坐标,以簇中各个点生成的特征作为提议点特征,从而生成提议点。
(4)根据提议点特征生成多尺度注意力,并以提议点中心为中心从(2)的输出提取不同尺度的特征,并根据注意力完成多尺度特征的融合,从而生成新的提议点。
(5)将(4)生成的提议点送入对比优化器、分类解码器和回归解码器,经过后处理后计算损失函数。
(6)以(5)的输出为损失函数并使用反向传播方法训练整个端到端的点云检测网络,直到网络收敛。
(7)使用(6)方式训练好的模型将其模式设置为验证模式,对待检测的点云数据进行检测,网络输出经过后处理后得到物体的检测框和它对应的类别。完成所有点云数据的推理后进行模型性能的评估。
优选的,步骤(1)中,所述图像数据集为已有的公共的室内场景,一些常见的数据集如SUN RGB-D数据集和ScannetV2数据集。SUN RGB-DD是用于3D场景理解的单角度RGB-D数据。它包含约5K个RGB-D训练图像和5K个测试图像,其中包含跨模态定向边界框注释信息。基于提供的相机参数从深度图转换点云。ScanNet V2是一个3D网格数据集,包含约1500个3D重建室内场景,包括约1200个训练样本和300个测试样本。每一个样本含有一个或者多个标签,每个标签由一个带类别的三维边框组成,计为{x,y,z,l,h,w,θ,k},其中x,y,z分别代表物体中心点在三维空间中的坐标,l,h,w分别代表物体的长宽高对应的数值,θ表示物体在Bev空间的偏航角,k表示物体的类别。对于这两个数据集,我们使用与VoteNet中相同的数据准备和训练/验证分割。
优选的,步骤(2)中,使用PointNet++网络进行特征提取,PointNet++是Pointnet点云特征提取网络的改进网络,他以分层方式处理度量空间中采样的一组点(欧几里得空间中的2D点)。PointNet++的总体思想很简单。我们首先通过基础空间的距离度量将点集划分为重叠的局部区域。与CNN类似,从小邻域中提取捕捉精细几何结构的局部特征;这样的局部特征被进一步分组为更大的单元并被处理以产生更高级别的特征。重复此过程,直到获得整个点集的特征。由于分层提取特征的特性,其可以在不同的层次上产生不同尺度的特征图。
优选的,步骤(3)中,对于从步骤(2)中生成的多尺度特征图,使用经过特征图融合后的底层特征图进行聚类,聚类使用最简单的KMeans聚类即可。接着使用使用PointNet++中提出的集和抽象(set abstraction)算子将一个簇内所有的点的特征进行融合。从而生成多个提议点pi{xi,yi,zi,f},其中xi,yi,zi分别代表提议点的坐标,f表示这个提议点对应的特征向量。
优选的,步骤(4)中,具体来说原始点云经过主干网络和特征金字塔网络后生成三种不同尺度的点云特征层自底向上依次是{FP0,FP1,FP2},根据步骤(2)中产生不同尺度的特征层,模型使用拥有最多抽象点的特征层FP0作为种子点,种子投票产生其中M是投票点的数量,表示第i个投票点的空间坐标,表示投票点的特征向量,C是特征向量的维度。投票点经过聚类模块后产生一系列的提议点其中P是投票点后进行聚类的聚类中心,也就是提议点的数量。对每个提议点pi得到的第k个尺度的特征可以用如下的公式描述:
其中posi表示第i个提议点的坐标,ball表示球查询,为了尽可能多的捕捉物体的局部结构信息,球查询使用最远点查询的方式,r是球查询的半径,mlpk表示以ReLU为激活函数并带有批量归一化(Batch Norm)的多层感知机,θk是多层感知机对应的可学习参数。pool对应最大值池化,不同尺度的特征拼接起来形成该提议点的多尺度特征fpi∈Rc,其中G表示特征维度的大小。
根据提议点坐标在不同的特征层中回溯不同尺度的特征后,虽然获得了不同尺度的感受野和物体边缘特征,但是这些特征是不能直接使用的,会陷入之前提到的尺度不匹配问题,这是由固定的查询半径所决定的。本文通过一个可训练的通道注意力机制来缓解尺度不匹配的问题,注意力模块的输入为提议点的特征向量fi,输出为attn∈R^G′。具体结构可以见附图说明,每个提议点特征向量先经过多层感知机的变换,然后通过sigmoid计算每一个通道的注意力,将注意力和多尺度特征进行点积来选择感兴趣的特征,这是端到端可训练的过程,网络可以学习如何从提议点的特征来选择不同尺度的局部结构信息。
最终得到多尺度融合后的提议点如公式
优选的,步骤(5)中,经过步骤(4)得到的提议点的提议点特征已经包括了丰富的多尺度信息。步骤(5)中的对比模块首先经过引入了特征编码,特征编码通过两层多尺度感知机实现,用来以较少的消耗将提议点特征向量编码为为z=RDC,默认情况下DC=128,用来衡量不同的提议点进行特征编码后的相似度,相似度使用余弦相似度,其具体的计算公式如下:
其中zi,zt分别是提议点i和提议点j的特征编码,相似度的结果在[-1,1]之间。对比分支的损失函数针对一批包含k个点的提议点集合(zi,di,yi),其中zi表示经过编码后的提议点特征向量,di表示提议点坐标和最近的物体几何中心店的距离,yi是这个物体的类别标签,具体的损失公式如下:
其中,Nyi是所有和yi有相同的类别的提议点的数量τ用来控制对比损失的温度的参数。在上述公式中表示进行标准化后的特征编码。在进行损失计算时,使用如下的公式来判断每一个提议点对应的对比损失的权重:
其中di表示提议点距离最近的一个3D框的中心点的距离,表示指示函数,φ是参数,默认为0.3m。w(di)是一个关于di距离的函数用来根据距离计算对于这个提议的权重,一个典型的函数为w(di)=(0.3-di)·0.33。
提议点经过分类分支和回归分支得到最终的输出结果,分类分支和回归分支由几层共享卷积输出中间特征,中间特征经过分类分支卷积得到分类的输出结果,经过回归分支卷积得到回归的输出结果。
损失函数由如下的公式完成计算:
Loss=Lvote_loss+Lobject_loss+Lce;ter_loss+Ldir_loss+Ldir_reg+Lsize_class+Lsize_reg+Lsemantic_class
其中Lv1te_l1ss使用一张点云图像所有的提议点的坐标和所有目标框的中心作为两个点集使用倒角距离Chamfe Distance来计算,其公式表示如下:
两个点云集S1和S2,第一项代表S1中任意一点x到S2的最小距离之和,第二项则表示S2中任意一点y到S1的最小距离之和。如果该距离较大,则说明两组点云区别较大。通过对投票损失来约束提议点中心逼近物体中心。
L1bject_class用来约束提议点的坐标落在某个目标框内,使用交叉熵损失优化。数学表达为L1bject_class=∑-(plog(q)+(1-p)*log(1-q),其中p表示网络预测是否为目标的置信度,q表示这个中心点是否在目标框内的概率,其值为0或者1。
Lcenter_l1ss使用倒角距离约束提议点中心距离目标框中心的距离,其数学表达类似于Lvote_loss的数学计算过程。
Lsize_class使用交叉熵对尺寸进行分类损失计算,不同的尺寸将分在不同的类别之中。L_size_reg对尺寸进行回归量进行损失计算,使用平滑L1损失函数(Smooth L1Loss),对于需要计算损失的偏差量,即预测值-实际值,计为e。损失的数学表达过程如下:
Ldir_loss用来对方向分类输出的置信度进行约束,其损失使用交叉熵损失,目标框的偏航角度在(0,pi)之间,则应该分为0类,目标框在(pi,2pi)之间,则应该分为1类。Ldir_reg对角度回归值做损失计算,同样使用Lsize_reg中使用的平滑L1损失计算损失。
Lsema;tic_loss使用多分类交叉熵损失对最终的分类结果做损失计算,多分类交叉熵损失函数计算的数学表达如下:@
其中n是样本的数量,G是一个向量,预测了在各个类别上的置信度,G经过了softmax的计算,因此∑a=1。y是对真实标签进行onehot编码后的向量。
优选的,步骤(6)中,,使用步骤(5)得到的损失函数和真实标签计算损失。将损失值通过反向传播算法计算所有可训练参数的梯度。并使用Adawm优化器对网络参数进行计算。
附图说明
图1为本发明的方法流程示意图。
图2为本发明的模型架构示意图。
具体实施方式
如图1所示,一种基于多尺度融合和对比学习的室内场景下3D目标检测算法,其包括如下步骤:
(1)步骤1获取用于训练3D点云目标检测模型的训练数据集;
点云目标检测数据集为已有的公共的室内3D点云数据集,或者临时采集场景中的室内3D点云数据集。如果是一些带有3D信息的图像数据如深度相机拍出来的或者通过其他方式得到的深度图像。可以将2D深度图像转为3D图像。所述图像数据集中包括N张训练点云数据,每张点云数据中至少包括一个待检测的3D目标,对于每个3D目标需要有一个用来描述其所在位置的标注数据{x,y,z,l,h,w,θ}。,其中x,y,z分别代表这个目标所在中心点的坐标,l,h,w分别代表这个目标的长宽高,θ表示物体在鸟瞰图上的偏航角度。所有的标注信息称之为标签。
(2)步骤将点云通过最远点采样算法后,将剩余的点送入特征提取网络进行特征提取;
最远点采样算法首先随机选取一个初始点并将这个点移动到一个新的集合,然后找到和它距离最远的另外一个点同样将这个点移动到新的集合,接着就是找距离这个新的集合最远的点移动到这个集合,反复迭代直到新集合的点的数量达到我们需要的点的数量要求。特征提取网络是一个对点云进行特征提取的神经网络,一般的特征提取网络需要是一个基于点云的特征提取网络如Pointnet或者Pointnet++。具体的,PointNet++是PointNet点云特征提取网络的改进网络,他以分层方式处理度量空间中采样的一组点(欧几里得空间中的2D点)。PointNet++的总体思想很简单。我们首先通过基础空间的距离度量将点集划分为重叠的局部区域。与CNN类似,从小邻域中提取捕捉精细几何结构的局部特征;这样的局部特征被进一步分组为更大的单元并被处理以产生更高级别的特征。重复此过程,直到获得整个点集的特征。由于分层提取特征的特性,其可以在不同的层次上产生不同尺度的特征图,计为{fp1,fp2,fp3}。不同的特征图有着不同的尺度,一个典型的尺度选择分别为[0.4m,0.8m,1.2m],即不同的尺度的每一个特征点分别有0.4M、0.8M、1.2m的感受野。具体的尺度选择根据使用场景的选择有关,如自动驾驶场景上就应该使用更大的感受野从而可以获取足够大的感受野来处理更大的目标。
(3)步骤3使用(2)输出的特征进行投票和聚类,以簇的中心作为提议点坐标,以簇中个个点生成的特征作为提议点特征;
使用经过特征图融合后的底层特征图进行聚类,聚类使用最简单的KMeans聚类即可。接着使用使用PointNet++中提出的集和抽象(set abstraction)算子将一个簇内所有的点的特征进行融合。其具体实施步骤如下:
对于一个特征点集合,首先会利用最远点采样在原始点云中随机采样n_point个点,以采样到的点为中心点在指定半径内球体内选择n_saMple个点。以这n_saMple个点为一组,对每一组按照PointNet的方式提取特征,并用最大池化得到每一组点的全局特征。假设特征数量为n_feature,那么SA模块返回的特征维度为n_feature,同时SA模块会返回最远点采样的坐标,以便于进一步连续进行SA操作。经过SA操作后每个簇内的点云会生成多个提议点pi{xi,yi,zi,f},其中xi,yi,zi分别代表提议点的坐标,f表示这个提议点对应的特征向量。其中f中的前三个特征分别用来表示坐标的偏移量,即预测点的坐标等于这些提议点类似于二阶段2D目标检测的rpn阶段,初步可以确定目标的中心位置。
(4)步骤4根据提议点特征生成多尺度注意力,并以提议点的中心从(2)的输出体育不同尺度的特征,并根据注意力完成多尺度的特征融合,从而生成新的提议点;
具体来说原始点云经过主干网络和特征金字塔网络后生成三种不同尺度的点云特征层自底向上依次是{FP0,FP1,FP2},根据步骤(2)中产生的不同尺度的特征层,模型使用拥有最多抽象点的特征层FP0作为种子点,种子投票产生 其中M是投票点的数量,表示第i个投票点的空间坐标,表示投票点的特征向量,C是特征向量的维度。投票点经过聚类模块后产生一系列的提议点其中P是投票点后进行聚类的聚类中心,也就是提议点的数量。对于每个提议点pi得到的第k个尺度的特征可以使用如下的公式来表示:
其中posi表示第i个提议点的坐标,ball表示球查询,为了尽可能多的捕捉物体的局部结构信息,球查询使用最远点查询的方式,r是球查询的半径,mlpk表示以ReLU为激活函数并带有批量归一化(Batch Norm)的多层感知机,θk是多层感知机对应的可学习参数。pool对应最大值池化,不同尺度的特征拼接起来形成该提议点的多尺度特征fpi∈Rc,其中G表示特征维度的大小。
接着使用一个注意力模块来缓解多尺度特征和提议点的尺度不匹配的问题。注意力模块的输入为提议点的特征向量fi,输出为attn∈Rc。具体结构可以见附图说明,每个提议点特征向量先经过多层感知机(多层感知机由两层线性变化层和一个ReLU激活层组成,其中ReLU激活层在线性变化层的中间)的变换,然后通过sigmoid计算每一个通道的注意力,将注意力和多尺度特征进行点积来选择感兴趣的特征。
最终得到多尺度融合后的提议点
(5)步骤5将多尺度提议点送入对比优化器、分类解码器和回归解码器,经过后处理后计算损失函数,损失函数是如下三个分支输出损失的加权求和;
(51)多尺度提议点的特征部分包含的封堵的多尺度信息,首先会在对比模块对这些特征信息进行对比计算。首先将步骤(4)得到的提议点特征进行特征编码,特征编码通过两层多层感知机实现,使用较少的开销将提议点特征向量编码为z=RDC,默认情况下DC=128,用来衡量不同的提议点进行特征编码后的相似度,相似度使用余弦相似度,其具体的计算公式如下:
其中zi,zt分别是提议点i和提议点j的特征编码,相似度的结果在[-1,1]之间。对比分支的损失函数针对一批包含N个点的提议点集合(zi,di,yi),其中zi表示经过编码后的提议点特征向量,di表示提议点坐标和最近的物体几何中心店的距离,yi是这个物体的类别标签,具体的损失公式如下:
其中,Nyi是所有和yi有相同的类别的提议点的数量τ用来控制对比损失的温度的参数。在上述公式中表示进行标准化后的特征编码。在进行损失计算时,使用如下的公式来判断每一个提议点对应的对比损失的权重:
其中di表示提议点距离最近的一个3D框的中心点的距离,表示指示函数,φ是参数,默认为0.3m。w(di)是一个关于di距离的函数用来根据距离计算对于这个提议的权重,一个典型的函数为w(di)=(0.3-di)·0.33。
(52)提议点经过分类分支得到所有分类的结果,包括目标分类、方向分类、尺寸分类和语义分类。
(521)目标分类用来约束提议点的坐标落在某个目标框内,使用交叉熵损失优化。数学表达为Lobject_class=∑-(plog(q)+(1-p)*log(1-q),其中p表示网络预测是否为目标的置信度,q表示这个中心点是否在目标框内的概率,其值为0或者1。
(522)尺寸分类损失Lsize_cls用来对物体的尺寸进行分类,一个典型的分类可以{0.4m,0.8m,1.2m}分别用来表示不同尺寸的物体,不同的尺度应该输出不同的结果。同样使用交叉熵损失进行损失计算。
(523)方向分类损失Ldir_cls用来对方向分类输出的置信度进行约束,如果目标检测框的偏航角度在使(0,pi)之间,则应该分为0类,目标框在(pi,2pi)之间,则应该分为1类。方向分类损失使用二分类交叉熵损失进行计算。
(524)语义分类损失Lsemantic_cls用来对模型输出的检测框的类比计算损失。不同类别的物体具有不同的语义标签如{0,1,…}。语义分类损失使用多分类交叉熵损失对最终的分类结果做损失计算,多分类交叉熵损失计算的数学表达式如下:
其中n是样本的数量,G是一个向量,预测了在各个类别上的置信度,G经过了softmaxd的计算,因此∑a=1。y是对真实标签进行onehot编码后的向量。
(524)角度分类损失用来对方向分类输出的置信度进行约束,其损失使用交叉熵损失,目标框的偏航角度在(0,pi)之间,则应该分为0类,目标框在(pi,2pi)之间,则应该分为1类,角度分类损失使用交叉熵损失来计算,输入为角度分类的置信度和角度分类的标签。
(53)提议点输出的特征经过回归分类分支得到所有回归的结果,包括投票点回归、中心回归、方向回归和方向回归。
(531)投票点回归提议所负责预测的目标中心点位置,对于一个提议来说,它所对应的标签为在一个点云图像中所有标注框的中心位置距离这个提议点中心最近的一个。具体计算方式是使用一张点云图像所有的提议点的坐标和所有目标框的中心作为两个点集使用倒角距离Chamfe Distance来计算,其公式表示如下:
其中S1,S2表示两个点云集合,公式中的第一个多项式表示S1中任意一点和S2的最小距离之和,第二项则表示S2中任意一点y到S1的最小距离之和。如果该距离较大,则说明两组点云区别较大。通过对投票损失来约束提议点中心逼近物体中心。
(532)中心回归用来约束预测的中心,其标签为这个提议需要预测的物体的中心距离,其数学表示为δy=y-p,δy表示需要预测的标签,y表示物体真实的中心,p表示当前提议的中心点坐标。Lcenter_loss使用倒角距离约束提议点中心距离目标框中心的距离,其数学表达类似于Lvote_loss的数学计算过程。
(533)角度回归用来约束检测模型对目标所在位置的偏航角度的预测。标签为这个提议需要预测的物体的角度偏差,角度范围在[-π,π],其中,在最后输出之前的会进行一次clip操作,从而将输出的范围限制到[-π,π],同样使用smoothL1 Liss用来对预测值p和标签值y进行损失计算。
(534)尺寸回归用来约束检测模型对目标的长、宽、高用符号表示为h、w、l进行约束。h,w,l的标签分别使用如下的过程进行编码计算:
对于尺寸回归的损失计算Ldir_reg,使用平滑L1损失(Smooth L1 Loss),其数学表示形式如下:
(6)步骤6以步骤5中的输出作为损失函数并使用反向传播算法端到端的训练整个点云检测网络直到网络达到收敛。
(61)对于网络的训练网路训练使用AdamW优化算法,将所有卷积层、反卷积层、全连接层的所有可训练参数都加入到优化器的优化参数列表中,学习率设置为1e-3,并且使用step下降法。网络总共训练36个epoch。每个epoch使用batch-wise的训练方式,每个batch完成反向传播,每次反向传播对整个网络中的所有可训练参数进行一次更新,更新使用m一阶梯度进行更新,使用梯度下降法进行更新。
(62)网络的训练策略使用step方式进行学习率的更新,分别在第24个epoch和第32个epoch进行学习率的更新,每次将学习率缩小十倍,每次使用学习率乘上0.1作为新的学习率,即使用1e-4和1e-5作为新的学习率来更新整个网络。
(63)在前提得训练策略中不使用对比优化器,因为在前期中对比优化器会让整个网络的训练不稳定,因此在第前面2个epoch中不适用对比优化器进行注意力的训练和整个网络特征提取能力的优化。
(7)使用(6)训练好的模型将其设置为验证模式,对待检测的点云数据进行检测,网络输出经过后处理得到的物体检测框和它对应的类别。完成所有点云数据的推理后进行模型性能的评估。
(71)模型的验证模式即固定模式的可训练参数,尤其是批量归一化(BatchNorm)层的运行时均值和标准差转化为学习到的均值和方差。
由于传统的基于投票的3D目标检测方式往往在进行投票的时候缺乏足够的信息帮助,投票簇的中心很少在物体的表平面上,簇的感受野往往距离目标较远或者无法覆盖整个目标而只有一小部分,这不利于物体的实际的尺寸、朝向的预测。收到传统的二阶段2D目标检测模型的启发,一种简单直接的想法是进行类似于感兴趣区域提取的方式来手动的提取提议带你附近的特征用来进行后续的分类和回归,然而基于投票的方式并没有先验框(anchor)的概念,提议点无法提供较为精准的朝向和尺度信息,这使得感兴趣区域提取的操作无法进行,同时基于投票的3D点云目标检测网络中包含方块分类、语义种类分类、目标分类、这使得神经网络对一系列的分类解耦和优化造成了困难。
为了解决上述提到的问题,本发明提供了一种端到端的优化方案,通过搭建合适的网络模型结构引入注意力和多尺度特征融合的方法,网络通过投票的方式获得提议点的坐标和对应的特征之后,进行多尺度特征的融合和注意力的获得,并且在提议点的精修过程中,利用物体类别的不同对网络特征提取的帮助信息,使用对比学习的方式优化不同类别物体的特征向量的方向(余弦相似度决定,一般的类别确定后对于尺寸,中心点等回归量的预测都有较大的帮助),提出了一种基于多尺度融合和对比学习室内场景下的3D目标检测的方法。该方法使用端到端的训练方式,无需要进行复杂的训练步骤,其模型的整体权重只需要14.12Mb,是一种轻量化但是效果很好的3D目标检测方法。
Claims (6)
1.一种自然场景下3D点云目标检测检测方法,其特征在于,包括如下步骤:
(1)获取用于训练3D点云目标检测模型的训练数据集,数据集来源可以是来自于激光雷达或者其他点云传感设备,也可以来自于深度相机或者经过深度估计的图像数据,并进行适当的预处理。
(2)将点云通过最远点采样算法后,将剩余的点送入一个点云特征提取网络用来提取点的多尺度特征。
(3)使用(2)输出的特征进行投票和聚类,以簇的中心作为提议点坐标,以簇中各个点生成的特征作为提议点特征,从而生成提议点。
(4)根据提议点特征生成多尺度注意力,并以提议点中心为中心从(2)的输出提取不同尺度的特征,并根据注意力完成多尺度特征的融合,从而生成新的提议点。
(5)将(4)生成的提议点送入对比优化器、分类解码器和回归解码器,经过后处理后计算损失函数。
(6)以(5)的输出为损失函数并使用反向传播方法训练整个端到端的点云检测网络,直到网络收敛。
(7)使用(6)方式训练好的模型将其模式设置为验证模式,对待检测的点云数据进行检测,网络输出经过后处理后得到物体的检测框和它对应的类别。完成所有点云数据的推理后进行模型性能的评估。
2.如权利要求1中所述的室内场景下3D目标检测方法,其特征在于,步骤(1)中,所有的训练数据集来自于已有的公共场景3D目标检测数据集,或者是临时采集场景中的3D目标检测数据集,数据集中包括一系列的训练点云图像,每张点云图像中至少有一个3D目标obji,其标签为pi={xi,yi,zi,θ,l,h,w},其中xi,yi,zi为目标中心点,l,h,w分别为目标检测框的长宽高,θ为目标在鸟瞰图上的偏航角度。
3.如权利要求1所述的室内场景中3D目标检测方法,其特征在于,步骤(2)中,使用点级别的(point-wise)特征提取网络如PointNet++,PointNet++奖基础空间的距离度量将点集分为重叠的局部区域。并从小领域中提取捕捉精细的集合结构的局部特征,这样的局部特征被进一步分组为更大的单元并被处理以产生更高级别的特征在不同层次上产生成不同层次的特征图。
4.如权利要求1所述的室内场景下3D目标检测方法,其特征在于,步骤(3)中对于从步骤(2)中生成的多尺度特征图,使用经过特征图融合后的底层特征图进行聚类,聚类使用最简单的KMeans聚类即可。集的使用PointNet++中替提出的集合抽象(set abstraction)算子将一个簇内的所有的点的特征进行融合。从而生成多个提议点pi{xi,yi,zi,f},其中xi,yi,zi分别代表提议点的特征,f表示这个提议点对应的特征向量。
5.如权利要求1中所述的室内场景下3D目标检测方法,其特征在于,步骤(4)中对于每个提议点pi,根据其在空间位置中的位置,从不同的特征图上原始点云经过主干网络和特征金字塔网络后生成三种不同尺度的点云特征层自底向上依次是{FP0,FP1,FP2},根据步骤(2)中产生不同尺度的特征层,模型使用拥有最多抽象点的特征层FPO作为种子点,种子投票产生其中M是投票点的数量,表示第i个投票点的空间坐标,表示投票点的特征向量,C是特征向量的维度。投票点经过聚类模块后产生一系列的提议点其中P是投票点后进行聚类的聚类中心,也就是提议点的数量。
根据提议点坐标在不同的特征层中回溯不同尺度的特征后,虽然获得了不同尺度的感受野和物体边缘特征,但是这些特征是不能直接使用的,会陷入之前提到的尺度不匹配问题,这是由固定的查询半径所决定的。本文通过一个可训练的通道注意力机制来缓解尺度不匹配的问题,注意力模块的输入为提议点的特征向量fi,输出为attn∈R^c′。具体结构可以见附图说明,每个提议点特征向量先经过多层感知机的变换,然后通过sigmoid计算每一个通道的注意力,将注意力和多尺度特征进行点积来选择感兴趣的特征,这是端到端可训练的过程,网络可以学习如何从提议点的特征来选择不同尺度的局部结构信息。
6.如权利要求1中所述的室内场景下3D目标检测方法,其特征在于,步骤(5)中,模型的多分支输出包含一个对比分支和特征编码。特征编码通过两层多尺度感知机实现,用来以较少的消耗将提议点特征向量编码为z=R{DC},默认情况下DC=128,用来衡量不同的提议点进行特征编码后的相似度,使用余弦相似度来计算两个不同的特征编码的相似度。提议点经过分类分支和回归分支得到最终的输出结果,分类分支和回归分支由几层共享卷积来输出中间特征,中间特征经过分类分支卷积得到分类的输出结果,经过回归分支得到回归的计算结果。
损失函数由3个分支输出的分类、回归、对比损失计算结果来得到最后的损失,计算公式如下:
Loss=Lvote_loss+Lobject_loss+Lcenter_loss+Ldir_loss+Ldir_reg+Lsize_class+Lsize_reg+Lsemantic_class
如权利要求1中所述的室内场景下3D目标检测方法,其特征在于,步骤(6)中,使用步骤(5)得到的损失函数和真实标签计算损失。将损失值通过反向传播算法计算所有可训练参数的梯度。并使用Adawm优化器对网络参数进行计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310122180.XA CN116071570A (zh) | 2023-02-16 | 2023-02-16 | 一种室内场景下的3d目标检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310122180.XA CN116071570A (zh) | 2023-02-16 | 2023-02-16 | 一种室内场景下的3d目标检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116071570A true CN116071570A (zh) | 2023-05-05 |
Family
ID=86181857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310122180.XA Pending CN116071570A (zh) | 2023-02-16 | 2023-02-16 | 一种室内场景下的3d目标检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116071570A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117475170A (zh) * | 2023-12-22 | 2024-01-30 | 南京理工大学 | 基于fpp的由局部到全局结构引导的高精度点云配准方法 |
-
2023
- 2023-02-16 CN CN202310122180.XA patent/CN116071570A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117475170A (zh) * | 2023-12-22 | 2024-01-30 | 南京理工大学 | 基于fpp的由局部到全局结构引导的高精度点云配准方法 |
CN117475170B (zh) * | 2023-12-22 | 2024-03-22 | 南京理工大学 | 基于fpp的由局部到全局结构引导的高精度点云配准方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106682598B (zh) | 一种基于级联回归的多姿态的人脸特征点检测方法 | |
US20220414911A1 (en) | Three-dimensional reconstruction method and three-dimensional reconstruction apparatus | |
CN109800794B (zh) | 一种外观相似目标的跨相机重识别融合方法及系统 | |
CN110472585B (zh) | 一种基于惯导姿态轨迹信息辅助的vi-slam闭环检测方法 | |
CN106845430A (zh) | 基于加速区域卷积神经网络的行人检测与跟踪方法 | |
CN109766873B (zh) | 一种混合可变形卷积的行人再识别方法 | |
CN112949647B (zh) | 三维场景描述方法、装置、电子设备和存储介质 | |
KR102440385B1 (ko) | 멀티 인식모델의 결합에 의한 행동패턴 인식방법 및 장치 | |
CN112767447A (zh) | 基于深度霍夫优化投票的时敏单目标跟踪方法、存储介质和终端 | |
Feng et al. | Point cloud registration algorithm based on the grey wolf optimizer | |
CN113781519A (zh) | 目标跟踪方法和目标跟踪装置 | |
CN115222896A (zh) | 三维重建方法、装置、电子设备及计算机可读存储介质 | |
Alcantarilla et al. | Visibility learning in large-scale urban environment | |
CN116071570A (zh) | 一种室内场景下的3d目标检测方法 | |
CN114283326A (zh) | 一种结合局部感知和高阶特征重构的水下目标重识别方法 | |
CN113673505A (zh) | 实例分割模型的训练方法、装置、系统及存储介质 | |
CN116612382A (zh) | 一种城市遥感图像目标检测方法和装置 | |
CN116863260A (zh) | 数据处理方法及装置 | |
Walch et al. | Deep Learning for Image-Based Localization | |
CN114297237A (zh) | 基于类别融合的三维点云数据检索方法、装置及计算机设备 | |
Guo et al. | A hybrid framework based on warped hierarchical tree for pose estimation of texture-less objects | |
CN113705731A (zh) | 一种基于孪生网络的端到端图像模板匹配方法 | |
CN115880740A (zh) | 人脸活体检测方法、装置、计算机设备和存储介质 | |
CN113487374A (zh) | 一种基于5g网络的区块电商平台交易系统 | |
CN114140524A (zh) | 一种多尺度特征融合的闭环检测系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |