APP下载

联合3D实例分割和目标检测用于自动驾驶

2021-11-12宋新萍姚振鑫

智能计算机与应用 2021年9期
关键词:关键点实例聚类

赵 璐,宋新萍,姚振鑫

(上海工程技术大学 机械与汽车工程学院,上海 201600)

0 引 言

3D物体检测是3D感知中的一项具有挑战性的任务,是自动驾驶汽车(AV)的基本组成部分。与普通2D物体检测不同,AV需要从现实世界中估计更多的3D边界框信息,以完成诸如路径规划、避免碰撞之类的高级任务。3D物体检测的最新方法利用了不同类型的数据,包括传感器采集的数据,单眼图像,立体图像。在自动驾驶中,LiDAR捕获的点云是更通用,信息量更大的数据格式[1]。LiDAR点云的3D实例分割和对象检测示例如图1所示,图像分别显示了原始点云和3D检测结果,真实情况和预测结果分别以绿色和红色绘制,其中的红点是前景点的预测的对象中心,RGB图像仅在此处用于可视化。

图1 来自LiDAR点云的3D实例分割和对象检测示例

目标检测通常将对象表示为2D或3D BBox,并带有多个参数,如Bbox的中心、尺寸和方向等,这种简单的表示形式适合于深度学习框架,同时也有一些局限性。例如,对象的形状信息已被完全丢弃,对于某个BBox,不可避免要包含来自背景或其它对象的一些像素;在遮挡的情况下,这种情况变得更加严重;此外,BBox表示不够准确,无法描述对象的确切位置。为了克服此问题,已为每个BBox使用了一个附加的实例mask,以消除其它对象或背景的影响,通常实例mask是二进制的,以描述像素是否属于此对象。

本文设计了一个自下而上的联合3D实例分割与目标检测的端到端框架,其主要目标是更好地进行3D目标检测。

1 相关工作

1.1 来自多个传感器的3D物体检测

MV3D是一项开创性的工作,融合了视觉和雷达点云信息,将点云投射到鸟瞰图和前视图中,这样既能减少计算量,又不至于丢失过多的信息[2]。受MV3D启发,AVOD提出一种特征提取方式,借助FPN的想法,从点云输入和RGB图像得到全分辨率的特征图送入RPN网络,弥补了mv3d网络在小目标物体检测上的不足[3]。

1.2 基于LIDAR的3D检测

已被数个领先的3D检测器证明,LiDAR传感器具有抗干扰能力强、对光照不敏感以及测距精度高等特点。学者们提出了两种类型的方法,即单阶段方法和两阶段方法。相比于单阶段的方法,两阶段的方法检测精度更高,但需要更多的网络推理时间。

单阶段方法:VoxelNet代替了人工提取的特征,将点云划分为等距的3D体素,并通过类似PointNet的网络来应用VFE层,通过神经网络学习低级几何特征,从而表现出良好的性能[4]。HVNet通过引进混合体素网格来提高检测精度[5]。

两阶段方法:与直接生成3D边界框的单阶段方法不同,两阶段方法旨在通过在第二阶段来优化第一阶段生成的3D提议,以生成更准确的目标检测框。最近,PointRCNN利用具有SA和FP层的PointNet++来提取每个点的特征,提出了区域提议网络(RPN)来生成提议,并应用了改进模块来预测边界框和类标签[6]。

1.3 3D实例分割

当前的3D方法可以分为两种:第一种基于检测方法提取3D边界框,并在每个框内利用mask学习分支来预测对象mask。SGPN基于提取的特征为每个点建立了一个相似度矩阵,通过相似矩阵计算点在特征空间的距离来判断两个点是否属于同一对象[7];第二种基于分段的方法预测语义标签,并利用点嵌入将点分组为对象实例,与SGPN不同,新提出的GSPN采用综合分析策略来生成实例细分的提议。

2 本文的方法

联合实例分割和3D BBoxes回归框架如图2所示,可以分为两部分:第一部分是基于聚类策略的对象建议,第二部分是基于最小二乘拟合算法的BBoxes改进。第一部分包括融合采样模块、语义分割与中心偏移模块以及基于聚类的提案生成模块;第二部分包括3D关键点选择模块和最小二乘拟合模块。

图2 联合实例分割和3D BBoxes回归框架图

2.1 骨干网络

融合采样:通过融合采样[8],删除了基于点的方法中必不可少的Feature Propagate(FP)层, 从而极大地减少了框架的运行时间[9]。

点云特征提取:对于采用融合采样策略后的输入点云,使用具有多尺度采样和分组操作的常用PointNet++(无FP层以增加网络的运行速度)网络作为骨干网络。特别是,设计的框架具有独立的模块,特征提取模块可以使用任何点特征提取网络代替。

2.2 语义分割与中心偏移

利用语义分割模块来提取描述性特征,并预测每个点的语义标签,与语义分割平行,采用偏移分支来学习相对偏移,将每个点移至其各自的真实实例中心。通过这种方式,可以将同一对象实例的点移向相同的中心,并将其聚集得更近,从而可以将点更好地分组为对象,并且可以将附近的同一类对象分离。

2.2.1 语义分割

以逐点特征作为输入,设计了一个分割分支Ms模块用于语义类预测。由于采用了多尺度采样和分组策略,局部结构和全局上下文信息都已在每个点状特征向量中进行了编码,这有利于处理不同大小的对象。为了很好地解决分类中的类不平衡问题,使用焦点损失作为评测标准,式(1):

(1)

其中,C表示类别数,如果真相属于第i类,则yi等于1,否则等于0;pi是第i类的预测概率;γ∈(0,+∞)是聚焦参数;αi∈[0,1]是第i类的加权参数。

2.2.2 中心偏移

中心偏移模块Mc用于预测每个点到其对象中心的偏移量,只要所有点都拉到其所属物理中心的同一对象,则可以将其直接分为不同的实例。因此,偏移量分支对骨干网络提取的特征进行编码,以针对N个前景(FG)点生成N个偏移向量O={o1,…,oN}∈RN×3。对于属于同一实例的点,通过L1-distance回归损失将其学习偏移量约束,式(2):

(2)

(3)

从点到其实例质心的距离通常具有较小的值(0~1 m),考虑到不同类别的不同对象大小,发现网络很难回归精确的偏移量,尤其是对于大型对象的边界点距离实例质心相对较远。为了解决这个问题,制定了方向损失,来约束预测偏移矢量的方向,式(4):

(4)

2.3 基于聚类的提案生成

通过语义分割与中心偏移的操作,所有FG点都将汇总到其相应对象的中心。可以通过简单的聚类算法(即k均值[10])进行实例分割,k-means是较经典的聚类算法之一,该算法的效率高,在对大规模数据进行聚类时被广泛应用。聚类后,通过平均前k个预测值,还为每个实例生成了平均值BBox。

2.4 BBox优化

尽管从第一阶段开始的BBox预测非常精确,但仍有一些改进空间。类似于其它基于两阶段的方法,将相同实例上的点投票为其目标关键点,将最小二乘拟合算法应用于预测的关键点,通过得到的3D旋转R∈ SO(3)和平移t∈R3来优化第一阶段得到的BBox。

(1)3D关键点检测。对于生成的每个提案,使用3D关键点检测模块MK来检测每个对象的3D关键点,MK会预测从可见点到目标关键点的每点欧几里德平移偏移,这些可见点以及预测的偏移量将投票给目标关键点,通过聚类算法收集投票点,并选择聚类中心作为投票关键点。

(5)

其中,M是对象的选定关键点数。

2.5 多任务损失

多任务损失被用于训练的网络,包括语义分割损失Lcls、中心偏移损失Lcenter、关键点平移偏移损失Lkeypoints和3D BBox回归损失Lreg,式(6):

L=Lcls+Lcenter+Lkeypoints+Lreg

(6)

中心偏移损失, 在训练过程中,直接为每个FG点生成监督信号,并将损失函数表述为式(7):

Lcenter=Lo_reg+Lo_dir+Lsize+Lθ

(7)

其中,Lo_reg、Lo_dir、Lsize和Lθ分别是偏移量约束损失、方向损失、BBox尺寸和方向角的平滑度L1-distance损失。

BBox回归损失:每个建议都编码为7维向量,包括对象中心(cx,cy,cz),对象尺寸(h,w,l)和头方向角θ。旋转后的3D联合损失在这里用作评测标准,式(8):

(8)

其中,Bd和Bg分别代表预测的BBox和真实的BBox。

3 实验

3.1 数据集

本文利用公共KITTI数据集评估了3D实例分割和对象检测的框架。整个数据集分为训练集和测试集两个子集,分别由7 481和7 518帧组成。

3.2 3D实例分割

在KITTI中,已为3类对象汽车、行人和骑自行车的人提供了3D BBox注释,只需提取每个BBox内部的点,即可为每个对象生成实例mask。3D实例地面真实情况的示例如图3所示,其中不同的颜色表示该图像底部的不同对象, 绿色的BBox是真实结果,其它颜色 BBox是预测结果,底部图像仅用于可视化。

图3 基于KITTI 3D BBox注释生成的实例分割

图4 KITTI 3D物体检测测试集上两阶段方法的评估结果

3.3 KITTI上的3D对象检测

将本文的3D点云目标检测与其它最新方法进行了比较,结果见表1。在3D和BEV检测任务中,本文的方法在所有竞争对手中均获得了出色的性能,在不同的召回率设置方面优于最新方法,具有更好的检测覆盖率和准确性,如图4所示。将从LiDAR检测到的3D边界框投影到RGB图像,以实现更好的可视化,如图5所示。

图5 在KITTI基准上联合实例分割和3D对象检测的3个示例

表1 与KITTI测试服务器上其它方法的性能比较

3.4 可视化检测到的关键点

在实例分割的基础上,可视化了检测到的3D关键点,如图6所示。绿色点是真实3D关键点,红色点是预测的3D关键点,实验结果表明本文的方法能够选择合适的关键点。

图6 3D关键点可视化

4 结束语

本文提出了用于联合3D对象检测和实例分割的统一框架。第一阶段设计了一个语义分割模块Ms与平行的中心偏移模块Mc,将属于同一对象的所有前景点拉到其所属物理中心;第二阶段,提出了一种简单有效的基于关键点的方法来优化第一阶段得到的BBox。本文所提出的框架仅需几个区域提议就能获得最新的效果,这对于在实际应用中进行实时感知非常重要。当前,使用PointNet ++作为骨干网,是实时检测率的瓶颈。将来,希望设计一个更高效的骨干网络,以使系统实时运行,以便在360°视点上进行目标检测。

猜你喜欢

关键点实例聚类
一种傅里叶域海量数据高速谱聚类方法
论建筑工程管理关键点
基于知识图谱的k-modes文本聚类研究
水利水电工程施工质量控制的关键点
基于数据降维与聚类的车联网数据分析应用
基于模糊聚类和支持向量回归的成绩预测
利用定义法破解关键点
机械能守恒定律应用的关键点
完形填空Ⅱ
完形填空Ⅰ