基于语义特征的3D 点云室内目标检测*
2023-09-29林靖宇
董 雯 林靖宇
(广西大学电气工程学院 南宁 530004)
1 引言
随着科技的发展,研究者可以更方便地获得场景的三维点云数据。三维点云相对于二维图像包含更丰富的空间信息,因此被应用于无人驾驶[1~2]、室内机器人[3]、三维重建[4]等领域。但是点云具有稀疏性和无序性,这使得图像中广泛应用的卷积神经网络无法直接应用于点云。目前基于点云的目标检测在准确度方面不如图像目标检测,仍有很大的研究空间。
目前点云目标检测存在以下几种方法:1)将点云转化为鸟瞰图[2],然后使用全卷积网络估计目标的位置和航向角。这种方法缺点就是转化过程中垂直方向上的信息丢失。为了避免信息丢失出现了鸟瞰图与点云相结合的方法[5]。2)将点云转化为前视图[6],然后使用2D 卷积神经网络估计目标位置和航向角。这种投影方法同样存在着信息丢失问题。3)将点云转化为体素[7],再利用3D 卷积进行特征提取,最后回归得到边界框和航向角。这种方法存在着内存占用大计算困难的问题。4)点云与图像融合的方法[8],将点云的优势和图像的优势相结合,以达到更好的检测效果。但是目前对于纯点云数据的应用挖掘还远远不够,不依赖图像的点云目标检测仍然还有很大的潜力。5)直接处理点云的方法。如VoteNet 模型[9],首先利用Point-Net++网络[10]提取点云特征,然后利用霍夫投票机制得到投票点,并聚类获得投票簇,最后提取每个簇的特征预测目标位置和类别。
为了解决室内环境目标检测精度不高的问题。本文利用目前相对较为成熟的点云语义分割技术,在VoteNet模型的基础上进行了两个改进:1)添加了一个能有效提取语义特征的前置网络,通过点云重染色将提取到的语义特征与几何特征进行融合,提高了特征的质量,取得了更好的检测效果。2)通过在VoteNet投票簇生成阶段添加了语义约束,一定程度上解决了VoteNet 投票簇中点的语义非一致性问题。
2 改进VoteNet模型的实现
改进VoteNet模型框架如图1所示。
图1 改进VoteNet模型框架
2.1 语义特征提取与点云重染色
点云是离散、稀疏的数据,因此点云特别适合做分割,目前点云语义分割技术也相对成熟,能够分割出较小的目标。点云语义分割,是点云数据点级别的分类,会得到每个点的语义标签,可以区分不同类别的目标,但是同类目标不会被区分(可以区分某个点属于桌子还是椅子,但是无法区分这个点属于哪一张桌子)。而目标检测则是要得到所有待测目标的位置及分类。点云语义分割与目标检测是有关联的,在已知点云语义标签的情况下进行目标检测,就相当于只需要对同类目标进行区分。因此本文利用了点云语义分割技术来提取准确度较高的语义特征,并将语义特征应用到目标检测模型VoteNet中以达到提高目标检测精度的目的。
经过实验,确定了语义分割网络输出的语义特征应用到目标检测模型VoteNet 中的方式为:点云输入语义分割网络,得到每个点的语义类别;然后对每个语义类别赋予一种颜色,生成新的染色点云,最后将染色后的点云作为目标检测模型Vote-Net 的输入。本文将这个染色过程称为点云重染色。
RandLA-Net[11]是一个轻量级的点云语义分割网络,其网络结构也是类似于PointNet++的编码-解码结构,如图2 所示。其编码模块是由多个局部特征聚合模块(LFA)和随机采样(RS)的组合层组成,解码模块则是由多个上采样(US)和多层感知机(MLP)的组合层组成。RandLA-Net 与Point-Net++的区别在于其编码模块是采用了随机采样而不是最远点采样,时间复杂度和空间复杂度都是常数级别,因此可以直接处理大规模点云,而不需要将点云拆分再拼接。为了解决随机采样的信息丢失问题,其设计了局部特征聚合模块,该模块可以较好地解决信息丢失。因RandLA-Net进行点云语义分割具有高效、准确的特点,故选择RandLA-Net作为本文的语义特征提取网络。
图2 RandLA-Net网络结构
2.2 投票簇语义约束
VoteNet 模型由投票点经过采样、分组生成投票簇时,可能将具有不同语义标签的点划分到一个簇中(投票簇中的点语义非一致),这样会导致神经网络对每个簇提取的特征质量变差,从而导致边界框参数不准确,甚至目标分类错误。使用语义类别约束投票簇的分组过程,使得每个投票簇中的点具有相对较为一致的语义类别,就能提高每个簇提取特征的质量,进而提高目标检测精度。
添加投票簇语义约束后VoteNet 模型如图3 所示,实线为原始VoteNet模型,虚线为改进所添加的部分。与原始VoteNet相比其主干网络添加了两层解码层,再通过共享PointNet 层,最终输出N个点的分类矩阵(N×b),其中b为点云的语义类别个数。通过查找编号记录可以得到投票点对应的分类矩阵(M×b)。将M个投票点{vi=[yi;gi∈R3+C]}Mi=1的(3+C)维特征与其对应的b维分类特征{qi∈Rb}Mi=1级联,作为新的投票点特征{ui=[yi;gi;qi∈R3+C+b]}Mi=1。最后,从M个投票点中以最远点采样得到K个点,然后以这K个点为中心,r为半径去寻找(3+C+b)维特征空间中临近投票点,将半径r范围内的点划分为一个投票簇,最终得到K个投票簇,投票簇的表示如式(1)所示。
图3 添加投票簇语义约束后的Votenet框架
3 实验
3.1 实验环境
实验平台为Intel Core i7-7700HQ、NVIDIA GTX 1060、16GB 内存,在Ubuntu 16.04 和Python3.6下搭建CUDA 10.0、CUDNN 7.6.4、TensorFlow 1.15深度学习环境。
3.2 实验数据集
实验采用公开数据集ScanNet。ScanNet 是一个大型室内环境数据集,包含1513 个室内场景数据,数据包括2D 图像数据和3D 点云数据。数据集1201 个场景用于训练,312 个场景用于测试。语义分割类别为21类,目标检测类别为18类。
3.3 本文模型与其他现有模型对比
为了从整体上验证本文模型在室内点云目标检测上的有效性,将本文模型在ScanNet 数据集上进行实验,并与近年来主流的3D 目标检测模型进行对比。
各模型在ScanNet数据集上的全类别目标检测平均精度如表2 所示,表格中对最优结果进行了加粗显示。输入坐标及RGB 时的VoteNet 模型结果为复现结果(论文中仅给出输入坐标的实验结果)。从表2 可以看出:改进VoteNet 模型在3D IoU(交并比阈值)为0.25以及0.5时,mAP(全部类别平均精度)都远高于其他方法。在输入坐标和RGB信息时,与原VoteNet模型相比,3D IoU 阈值为0.25时的平均精度提高了18.1%;3D IoU 阈值为0.5 时的平均精度提高了11.7%。表1 为各模型在Scan-Net数据集上的每类目标检测精度。从表1 可以看出,改进模型除了在浴缸这个类别检测精度比原始VoteNet 低外,其余类别检测精度都高于包括原始VoteNet在内的其他模型。对于拥有水平面的大型目标,如床、沙发等,检测精度较高,但对于垂直片状的目标,如门、窗,检测精度则低一些。特别是小型垂直片状目标,如图片,检测精度较低,但高于其他模型。实验证明,本文模型对室内点云目标检测是相对有效的。
表1 各模型在ScanNet数据集上的每类目标检测精度
3.4 语义特征提取与重染色的有效性
为了验证语义特征提取与重染色的有效性,在ScanNet数据集上进行了对比实验,来比较原始VoteNet 与添加了语义特征提取和点云重染色后的VoteNet 的目标检测结果。另外,为了证明采用不同重染色编码不会对目标检测精度造成影响,实验分别采用了两种不同的重染色编码。
实验结果如表3 所示。从表3 可以看出,添加了语义特征提取和点云重染色后的VoteNet,目标检测平均精度要高于原始VoteNet;语义重染色模型在两种重染色编码下的目标检测精度相差不大。图4 为某个场景在两种重染色编码下的预测框可视化结果。从图4 来看,采用不同的重染色编码方式,最终预测的边界框基本一致。因此,采用不同重染色编码不会对目标检测精度造成影响。
表3 添加了语义特征提取和点云重染色后的VoteNet与原始VoteNet检测精度对比
图4 添加了语义特征提取和点云重染色后的VoteNet在不同重染色编码下的预测框可视化结果
最终得出结论:添加语义特征提取与重染色能够显著提高ScanNet 数据集上点云目标的检测精度。目标检测精度的提高得益于语义特征的提取和语义特征与几何特征(即坐标)的融合。实验证明,重染色是将语义特征与几何特征融合的一种可行的方式。
3.5 投票簇语义约束的有效性
为了验证投票簇语义约束的有效性,在Scan-Net 数据集上进行实验,实验将有色点云分别输入原始VoteNet 和添加投票簇语义约束后的Vote-Net。实验结果如表4 所示。添加语义约束后,在IoU=0.25 和IoU=0.5 时,mAP 分别提高了4.41%和2.83%。实验证明,对投票簇添加语义约束,能够使得每个投票簇中的点具有相对较为一致的语义类别,进而可以提高目标检测精度。
表4 添加语义约束后的VoteNet与原始VoteNet检测精度对比
3.6 可视化结果及分析
对改进VoteNet模型中语义染色的结果及最终预测的边界框进行三维空间可视化,如图5 所示。图5 中每行为一个室内场景,第一列为输入点云,第二列为根据真实语义染色的点云,第三列为根据RandLA-Net 网络预测的语义标签染色的点云,第四列为真实边界框的可视化效果,第五列为改进Vote-Net模型预测的边界框的可视化效果。
图5 语义染色和目标检测可视化
由可视化结果可以看出,语义特征提取确实有助于提高目标检测精度。比如,第二行场景中间圆桌旁边的椅子由于采集过程中的遮挡存在数据残缺,有的只剩下椅背,但是由于语义分割网络预测到了这些点是椅子这个类别而非旁边的桌子,所以改进VoteNet模型最终也预测出了椅背的边界框。
但是在以下几种情况,目标检测效果仍然不理想:1)两个待测目标的边界框有交集时,仍存在预测边界框位置或大小不准确的情况。2)当语义分割网络预测出错时,改进VoteNet 模型最终可能会预测错误或漏检。
4 结语
针对点云室内目标检测模型较少且检测精度不高的问题,本文利用了相对较为成熟的点云语义分割技术,在目标检测模型VoteNet的基础上,提出改进模型。
对本文中的两个改进分别进行实验,实验结果表明两个改进对于提高室内点云目标检测精度都是有效的。将本文的改进模型,与其他3D 目标检测模型进行对比实验,实验结果表明,本文模型可以较好地利用点云的语义特征,并在室内点云数据集ScanNet 上取得了高于其他模型的目标检测精度。