一种基于图神经网络的三维点云目标检测算法

文档序号:31413835发布日期:2022-09-03 11:40阅读:154来源:国知局
一种基于图神经网络的三维点云目标检测算法

1.本发明属于目标检测技术领域,尤其涉及一种基于图神经网络的三维点云目标检测算法。


背景技术:

2.目前,三维目标检测研究方法包括基于激光雷达的检测方法、基于深度图像的检测方法等。但点云提供了真实世界的三维几何感知,能更精确地描述现实物体和环境特征。近年来,许多研究方法将激光点云作为输入,研究原始点云编码算法。基于三维点云的目标检测算法包括基于投影的检测方法、基于体素采样的检测方法以及直接面向点云的方法。
3.前两种方法先将点云转化为结构化数据,再采用卷积网络进行特征提取,但是存在计算复杂、特征丢失的问题。面向点云的检测方法又分为基于点的方法和基于图的方法,前者能有效捕捉局部特征,但不能获取点云之间的连接关系;后者保留了数据空间特征,能捕获点云拓扑结构。但是,部分研究的构图均匀度较弱,易受噪声影响。并且采用的图卷积算法难以避免点云特征信息不足和过平滑问题,容易损失有效信息,增加了点云识别难度,影响3d检测性能。


技术实现要素:

4.本发明目的在于提供一种基于图神经网络的三维点云目标检测算法,以解决结构化的卷积模型已无法适用于非结构化的点云特征提取,将点云数据进行结构化处理又会增加计算损失。因此,选择将点云作为直接输入,不采用映射处理。然而,点云稀疏无序的特性,容易导致采样不均匀,引起噪声数据。点云编码算法难以规避信息不足和图卷积过平滑的问题。
5.为实现上述目的,本发明的一种基于图神经网络的三维点云目标检测算法的具体技术方案如下:
6.一种基于图神经网络的三维点云目标检测算法,包括以下步骤,且以下步骤顺次进行:
7.步骤s1、获取点云数据集,划分出训练集、验证集和测试集;
8.步骤s2、对训练数据中的原始点云集合进行采样和聚类的预处理后,对目标点云的邻域空间构建连接边,完成点云语义图的构建;
9.步骤s3、将点云图输入到局部池化模块中,提取局部深层抽象特征,进一步减少目标节点规模,简化图结构,将特征语义图输入到图卷积模块中,通过节点之间的连接关系完成特征交互,包括特征聚合和特征更新的计算过程;
10.步骤s4、在图卷积操作之后,以目标点云为中心进行邻域重构,将重构语义图输入空洞图卷积模块,增大卷积感知范围,降低邻域特征噪声影响;
11.步骤s5、通过注意力机制计算更新后的节点特征权重,将加权特征与所述步骤s3的特征进行向量拼接,用于步骤s7的池化操作;
12.步骤s6、全局池化模块的构建选择最大值池化和求和池化的方法,作为对称性函数,能实现点云的置换不变性,解决点的无序性问题;通过图卷积层的特征提取,已经获取到目标节点的邻域特征,为了实现全局特征的传递,将池化后的特征向量再进行均值池化,得到全局特征向量;均值函数相较于最大值函数的优势在于,最大值函数容易造成特征信息的丢失,而均值函数能更好地保留节点特征信息;
13.步骤s7、将步骤s5和s6得到的点云特征和图特征拼接计算后,输入到分类和定位分支,预测目标的类别,并画出3d检测框;
14.步骤s8、计算检测损失,以梯度下降法收敛,调整算法参数,直至损失最小,停止训练。
15.进一步,所述步骤s2点云语义图的构建流程包括:首先通过体素下采样算法,降低点云密度,保留有效信息;再通过knn算法,遍历采样空间,确定目标点的k近邻;最后,在节点邻域空间中建立点的连接关系,构建邻接边,完成语义图构建。
16.进一步,所述步骤s2中原始点云集合为p,表示为:
17.p={p1,p2,p3......pn|(n≤n)}
18.其中pi属性表示为(xi,si),由三维空间坐标和状态属性组成,xi是点云的三维坐标(xi,yi,zi)∈r3状态属性,在激光点云数据集下,采用激光反射强度表示;
19.对于给定的点云集合p,通过knn算法捕捉到的邻域点云集合为:
[0020][0021]
捕捉到的拓扑关系表示为:
[0022]
e(i,j)={(fi,fj)|j∈nk(i)}
[0023]
其中,f表示邻域点云集合,e(i,j)表示连接关系,d表示空间距离度量方式,采样欧式距离计算,max表示取最远距离,min表示取最近距离。fi是目标中心点,fk是待采样点,nk(i)代表点fi的邻域空间,fj代表其中的邻节点。
[0024]
进一步,所述步骤s2结束后,对训练数据先进行下采样处理,去除部分数据噪声,降低点云密度,得到目标点云集合;采用k最邻近算法对点云集合进行计算,使用kd-tree索引提高查询效率,遍历采样空间后,选取目标点云的k近邻,再进行所述步骤s3。
[0025]
进一步,所述步骤s3中的,将特征语义图输入到图卷积模块后,图卷积计算采用消息传递网络实现,包括节点特征传递和更新两个阶段;采用的图卷积计算方式除点云坐标外,另引入目标节点和邻节点状态si和sj,加入目标节点自身属性,弥补点云特征不足的问题,进一步增强节点特征;构建优化的图卷积模块,并且采用自动配准机制,减少平移方差,实现点云平移不变性;
[0026]
图卷积模块采用多层感知机完成特征映射;特征聚合函数选择最大值函数,针对点云无序性,通过求取特征最大值,实现局部置换不变性。
[0027]
进一步,所述步骤s3中的领域特征噪声,采用门控循环单元(gate recurrent unit,gru)作为状态更新器,过滤点云图中存在的大量噪声信息,减缓网络过平滑现象;目标节点t+1时刻下的状态取决于此时的邻域聚合信息和t时刻的属性,通过门控信号,控制保留聚合特征中的有效信息,过滤噪声;通过门控信号的权重互补增强更新状态的稳定性,特征向量之间的复合计算,采用多层感知机实现。
[0028]
具体为,所述步骤s3中图卷积模块采用的图卷积计算方法引入点云坐标外、目标
节点si和邻节点状态属性sj,得到的图卷积特征聚合表达函数和特征更新函数为:
[0029][0030][0031]
其中,l
t
使用多层感知机完成特征映射,获取深层抽象特征。p选择特征聚合方式为max,针对点云无序性,通过max方法实现局部置换不变性;h
t
(s
it
)使用节点i的状态计算了坐标偏移量,将h
t
输出设置为0时,禁用该自动配准机制;图卷积通过引入目标和邻节点状态,完成局部节点对的特征交互、聚合。
[0032]
进一步,所述步骤s3中的节点状态信息存在大量特征噪声,采用门控循环单元作为特征更新模型,完成语义图中特征噪声的过滤,减缓模型过平滑现象,更新函数表示为:
[0033][0034]
其中,z是门控信号,控制保留信息和过滤信息,目标节点t+1时刻下的状态属性取决于此时态下的聚合信息和t时刻的节点本身属性,门控单元通过权重的相互弥补实现更新状态的稳定;
[0035]
图卷积模块包括三层感知机和一层门控循环单元,进行的特征维度映射表示为:
[0036]
[n*900]

[n*600]

[n*600]

[n*300]
[0037]
图卷积模块通过两次迭代,提取语义图的二阶邻域特征
[0038]
所述步骤s4中点云语义图重构算法,将k值设置为50,采用knn算法取出目标节点的50个近邻点,然后重新计算邻域特征;重构目的在于重构邻居关系,避免固定图结构下的聚合趋势相似。
[0039]
进一步,所述步骤s4空洞图卷积模块的空洞图卷积的膨胀率参数设置为2,随机率设置为0.2,以增强模型的鲁棒性。
[0040]
进一步,所述步骤s8中求取损失使用的损失函数包括分类损失和定位损失:
[0041]
分类损失定义为平均交叉熵损失函数:
[0042][0043]
其中,和表示i节点的标签和预测概率;
[0044]
通过huber损失计算定位损失,在此取所有点的损失均值:
[0045][0046]
为防止模型过拟合,加入l2正则化损失函数:
[0047]
reg_loss=∑i(μix
i-xi)2+λ(μi)2[0048]
将三个部分的损失函数相加,得到模型全部损失计算函数:
[0049]
total_loss=aaverage_loss+bloc_loss+creg_loss
[0050]
其中a,b,c为常量因子,采用梯度下降法迭代求解最小化的损失函数和模型参数。
[0051]
本发明的一种基于图神经网络的三维点云目标检测算法具有以下优点:该算法直接面向点云,构建点云语义图,通过图卷积捕捉点云的拓扑结构特征,完成点云之间的特征交互,用于全局视野下的目标检测任务;构建的目标检测网络能迅速扩大图卷积感知范围,优化过平滑问题,具有较高的鲁棒性和较优的性能。
附图说明
[0052]
图1为本发明的一种基于图神经网络的三维点云目标检测算法的整体流程示意图。
[0053]
图2为本发明的一种基于图神经网络的三维点云目标检测算法的图卷积模块示意图。
[0054]
图3为本发明的一种基于图神经网络的三维点云目标检测算法的目标检测模型结构示意图。
[0055]
图4为本发明的一种基于图神经网络的三维点云目标检测算法的全局池化层结构示意图。
[0056]
图5为实施例1中的一种在kitti数据集上的检测效果示意图。
具体实施方式
[0057]
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种基于图神经网络的三维点云目标检测算法做进一步详细的描述。
[0058]
如图1-图4所示,本发明涉及一种基于图神经网络的三维点云目标检测模型,完成点云数据的渲染,使机器感知3d环境,可以应用于虚拟现实和自动驾驶领域。
[0059]
整个算法流程可简单理解为:在局部池化操作之后,通过两个图卷积模块对语义图进行特征提取;在两层图卷积网络后,对点云集合重新构图,输入到空洞图卷积中,增大感知范围,减少邻域噪声影响;通过残差连接,将每次卷积得到的特征向量进行拼接计算;将点特征输入到全局池化层,得到全局特征向量;将局部特征和全局特征向量拼接后输入预测模块,进行目标分类和定位。
[0060]
本发明提供一种基于图神经网络的三维点云目标检测算法,基于图神经网络和残差连接,实现点云的特征传递和更新,完成点云目标检测任务。经过测试,该算法在kitti数据集(由德国卡尔斯鲁厄理工学院和丰田美国技术研究院联合创办的自动驾驶场景下的计算机视觉算法评测数据集)上能有效完成现实场景下的人和车的识别检测。该检测算法性能良好,具有较高区分度。
[0061]
实施例1:
[0062]
一种基于图神经网络的三维点云目标检测算法,如图1所示,该方法包括:将原始点云数据通过下采样降低点云密度;采用最近邻算法获取目标点云的近邻点,构建邻域空间和点云语义图;然后通过训练好的目标检测模型,提取点特征和图特征,用于实际场景下的目标分类和定位;对预测结果进行分析处理;所述的目标检测模型由图卷积层、残差连接网络以及池化层构成。
[0063]
三维点云目标检测模型的训练过程包括:
[0064]
s1:获取点云数据集,划分出训练集、验证集和测试集。
[0065]
在kitti数据集上完成模型的训练,按数据量分出7481个训练样本和7518个测试样本,每个样本都包含点云数据和相机图像;训练过程中,进一步将训练集划分为包含3721个样本的训练数据以及包含3769个样本的验证数据。
[0066]
s2:对训练数据进行采样和聚合的预处理后,对目标点云的邻域空间构建连接边,完成点云语义图的构建。
[0067]
构图方法(构图方法包括节点的选择以及构建连接边的方法)通过点的采样和聚类,捕捉局域拓扑关系,建立目标节点和邻节点之间的连接关系,选取基于kd-tree索引的knn算法,首先确定划分维度,然后取出数据中值划分超平面,直至所有点划分完毕,kd-tree索引时间复杂度接近于log2n,搜索效率较高,查询近邻点时,对于稀疏不均匀的点云,具有较高的鲁棒性。
[0068]
点云语义图的构建流程包括:首先通过体素下采样算法,降低点云密度,保留有效信息;再通过knn算法,遍历采样空间,确定目标点的k近邻;最后,在节点邻域空间中建立点的连接关系,构建邻接边,完成语义图构建。
[0069]
原始点云集合为p,表示为:
[0070]
p={p1,p2,p3......pn|(n≤n)}
[0071]
其中pi属性表示为(xi,si),由三维空间坐标和状态属性组成,xi是点云的三维坐标(xi,yi,zi)∈r3状态属性,在激光点云数据集下,采用激光反射强度表示。
[0072]
对于给定的点云集合p,通过knn算法捕捉到的邻域点云集合为:
[0073][0074]
捕捉到的拓扑关系表示为:
[0075]
e(i,j)={(fi,fj)|j∈nk(i)}
[0076]
其中,f表示邻域点云集合,e(i,j)表示连接关系,d表示空间距离度量方式,采样欧式距离计算,max表示取最远距离,min表示取最近距离。fi是目标中心点,fk是待采样点,nk(i)代表点fi的邻域空间,fj代表其中的邻节点。
[0077]
s3:将点云图输入到局部池化模块中,提取局部深层抽象特征,进一步减少目标节点规模,简化图结构,将特征语义图输入到图卷积模块中,通过节点之间的连接关系完成特征交互,包括特征聚合和特征更新的计算过程。
[0078]
采用的图卷积计算方法除点云坐标外,另引入目标节点和邻节点状态属性si和sj,引入节点自身属性,增强点的特征信息,构建的图卷积采用自动配准机制,减少点云平移方差,得到的图卷积特征聚合表达函数和特征更新函数为:
[0079][0080][0081]
其中,l
t
使用多层感知机完成特征映射,获取深层抽象特征。p选择特征聚合方式为max,针对点云无序性,通过max方法实现局部置换不变性。h
t
(s
it
)使用节点i的状态计算了坐标偏移量,将h
t
输出设置为0时,禁用该自动配准机制。图卷积通过引入目标和邻节点状态,完成局部节点对的特征交互、聚合。
[0082]
节点状态属性信息存在大量特征噪声,采用门控循环单元作为特征更新模型,完成语义图中特征噪声的过滤,减缓模型过平滑现象,更新函数表示为:
[0083][0084]
其中,z是门控信号,控制保留信息和过滤信息,目标节点t+1时刻下的状态属性取决于此时态下的聚合信息和t时刻的节点本身属性,门控单元通过权重的相互弥补实现更新状态的稳定。
[0085]
图卷积模块包括三层感知机和一层门控循环单元,结构如图2所示,进行的特征维
度映射表示为:
[0086]
[n*900]

[n*600]

[n*600]

[n*300]
[0087]
图卷积模块通过两次迭代,提取语义图的二阶邻域特征。
[0088]
s4:在图卷积操作之后,以目标点云为中心进行邻域重构,将重构语义图输入空洞图卷积模块,增大卷积感知范围,降低邻域噪声影响。
[0089]
重构图目的在于重构点云连接关系,避免固定图结构下的聚合特征趋向相似。并且通过一层空洞图卷积,增大图卷积感受野,减少邻域噪声信息干扰。
[0090]
在2层图卷积模块后,重构点云邻域空间。重构方法采用knn算法重新获取目标节点的邻节点,优选的,设置k值为50。
[0091]
将空洞卷积扩展到非欧式数据空间中,与图神经网络结合,扩大图卷积感知范围,优选的,计算过程中dilated rate设置为2,并设置random rate为0.2,以增强模型鲁棒性。
[0092]
s5:通过注意力机制计算更新后的节点特征权重,将加权特征与s3的特征进行向量拼接,用于s7的池化操作。
[0093]
将局部池化特征表示为节点t0时刻的状态state0,通过一个软注意力机制,计算出节点特征的权重分值;将分值赋予t2时刻下的节点状态state2,计算出加权特征;并将state0与state3进行特征拼接操作,输入全局池化层,得到语义图全局特征。
[0094]
目标检测模型在三层图卷积模块的结构基础上,增加了残差连接,如图3所示,通过跳跃残差连接和空洞图卷积,扩大了图卷积特征感知范围,增强了点云特征信息,在不同时刻的状态差值下,抑制节点状态的趋向,优化模型特征提取性能。
[0095]
s6:全局池化选取最大值和求和池化的对称性函数,获取局部邻域特征后,再次进行均值池化计算,得到全局特征。
[0096]
优选的,全局池化方法选择max池化和sum池化算法,最大值函数和求和函数是对称性函数,能实现点云的置换不变性,解决点云无序性问题,全局池化层结构如图4所示。
[0097]
通过图卷积模块的特征提取,获取到局部邻域特征,为了实现全局特征的传递,将池化后的点特征向量,再次进行mean池化操作,计算得到的特征作为全局特征向量。mean函数相比于max函数的优势在于,max函数易造成特征的丢失,而mean函数则更好地保留了节点特征。
[0098]
s7:将s5和s6得到的点云特征和图特征拼接计算后,输入到分类和定位分支,预测目标的类别,并画出3d检测框;
[0099]
将图卷积层和池化层输出的点特征向量与图特征向量拼接计算后,输入到目标检测模块,在分类分支中预测目标类别,在定位分支中标出检测边界框。
[0100]
3d检测边界框和锚点参数为(x,y,z,l,w,h,θ),其中(x,y,z)代表边界框中心位置,(l,w,h)代表长宽高,θ是偏航角,使用节点坐标对边界框编码:
[0101][0102][0103]
其中,lm,hm,wm,θm为常量因子。
[0104]
s8:计算检测损失,以梯度下降法收敛,调整算法参数,直至损失最小,停止训练。
[0105]
损失函数包括分类损失和定位损失。
[0106]
分类损失定义为平均交叉熵损失函数:
[0107][0108]
其中,和表示i节点的标签和预测概率。
[0109]
通过huber损失计算定位损失,在此取所有点的损失均值:
[0110][0111]
为防止模型过拟合,加入l2正则化损失函数:
[0112]
reg_loss=∑i(μix
i-xi)2+λ(μi)2[0113]
将三个部分的损失函数相加,得到模型全部损失计算函数:
[0114]
total_loss=aaverage_loss+bloc_loss+creg_loss
[0115]
其中a,b,c为常量因子,采用梯度下降法迭代求解最小化的损失函数和模型参数,当损失函数值最小时,停止训练,保存模型和参数。
[0116]
使用测试集对训练好的模型进行测试,目标检测模型能识别实际场景下的目标car、cyclist和pedestrian,并且能画出物体检测框,在现实场景下模型对物体类别和位置都具有较高的区分度。
[0117]
综上可知,一种基于图神经网络的目标检测算法直接面向原始点云数据,通过图卷积、空洞图卷积以及残差连接等模块,编码点云的有效信息,优化了点云特征信息不足和网络过平滑的问题。
[0118]
通过融合图卷积层输出的点云局部特征和池化层输出的图全局特征,有效获取点云之间的连接关系和图的结构信息,捕捉点云的坐标、状态属性和空间特征,优化点云稀疏性问题。
[0119]
图卷积的特征传递阶段引入点云的坐标信息和状态属性,增强特征,完成特征交互;特征更新阶段采用门控循环单元对特征噪声进行过滤,保留邻域特征中的有效信息,提高节点状态更新的稳定性。
[0120]
该检测算法在现实场景下,能实现目标的分类和定位,具有较高的区分度。
[0121]
实施例1:
[0122]
将目标检测算法在kitti数据集上进行验证,检测效果如图5所示。现实场景图中标记出了car,pedestrian,cyclist三种目标的真值;对应地,通过检测算法在点云检测图中标出预测值。
[0123]
在kitti测试集上进行测试,得到简单的3d检测模式下的平均精度(the average precision,ap),如表1所示。
[0124]
表1
[0125] carpedestriancyclistap84.2243.8969.59
[0126]
根据检测结果,目标检测算法有效地完成了分类和定位的分支任务,对car、cyclist和pedestrian三类目标,实现了较高的区分度。标注的目标检测框,对三类目标进
行了预测和定位,预测值与真值接近;针对数据更加充分的car目标,目标检测算法的平均精度达到80%以上。
[0127]
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本技术的权利要求范围内的实施例都属于本发明所保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1