其他分享
首页 > 其他分享> > 《论文阅读》Joint 3D Instance Segmentation and Object Detection for Autonomous Driving

《论文阅读》Joint 3D Instance Segmentation and Object Detection for Autonomous Driving

作者:互联网

留个笔记自用

Joint 3D Instance Segmentation and Object Detection for Autonomous Driving

做什么

Instance segmentation实例分割
在这里插入图片描述
目标检测( Object detection)不仅需要提供图像中物体的类别,还需要提供物体的位置(bounding box)。语义分割( Semantic segmentation)需要预测出输入图像的每一个像素点属于哪一类的标签。实例分割( instance segmentation)在语义分割的基础上,还需要区分出同一类不同的个体。
在这里插入图片描述
这里就是从2D图像的分割转移到了点云上的分割,无非就是在位置信息上多了一维
3D object detection。3维目标检测
在这里插入图片描述
对于输入的3D点云,像2D一样使用一个bounding box去将相应的物体包围起来,不过这里使用的bounding box也同样变成了3维的

做了什么

大部分的目标检测的做法都是将问题视为bounding box的回归问题,而这里是联合预测三维边界盒和实例分割,也就是题目写的将问题joint起来。例如分割,这里提出了一种空间嵌入策略,将所有前景点集合到它们相应的对象中心,类似于votenet中的vote过程。可以基于简单的聚类策略生成对象建议。对于每个集群,只生成一个建议。因此,这里不再需要非最大抑制(NMS)过程。
在这里插入图片描述
这里展现了同时进行实例分割和目标检测的结果,两者联合使问题转化成一个彼此提高彼此增强的问题
这样就能获得几个好处(1)基于实例mask的表示能够很好地捕捉局部几何信息(2)基于Bounding Box的对象表示能够帮助挖掘整个对象的全局形状信息。

怎么做

在这里插入图片描述
整体结构分为两部分,第一部分SE learning-based object proposal基于自我学习的目标提案部分,local Bounding Boxes refinement局部包围盒细化
简单理解一下整体结构,首先点云经过一个特征提取,提取了局部特征和全局上下文信息,然后有两个分支用于语义分割和实例对象的感知,它们被编码为对象中心坐标和维度等,然后生成每一点的对象中心和所属bounding box(类似于votenet)同时对于每一个聚类都会生成一个bounding box。然后对于每个建议细化它的bounding box结果。
首先是第一部分,在这里也就是上部,对象建议部分
在这里插入图片描述
输入就是一个点云,首先经过一个由PointNet++作为baseline的feature extractor提取特征,这里提取出来的结果构造了三个不同的分支,Semantic Score语义得分分支,Spatial embedding空间嵌入分支,Features Extraction特征提取分支。
首先是特征提取分支,这里就使利用多尺度采样和分组的PointNet++提取逐点的特征
然后是语义分支,输入是Pointnet的逐点特征,这里就是对逐点的语义类进行语义分类,然后用cross-entropy去进行监督训练在这里插入图片描述
这里的C是类别总数,yi是GT的one-hot分类,pi是网络预测出来的分类向量结果,γ和α都是加权参数
然后是第二个分支,空间分支,这里做的是像votenet一样将每个点各自回归到各自所属的对象中心,这样就可以将空间所有点直接分类
而这里回归的不是中心点的位置,而是距离中心点的偏移向量
在这里插入图片描述
这里的p即点的三维坐标值,c即对象中心点的GT三维坐标值,同时因为这里还有目标检测的联合任务,所以还需要对逐点预测包围盒的长宽高l,w,h和头部方向θ,对于这些参数,直接将地面GT框信息分配给相应的点
然后就是将信息结合后给出目标检测和实例分割建议
前面已经得到了两个任务分别需要的参数,实例分割中,每个点所属对象的中心的偏移向量和各自的类别,目标检测中,每个点所属的bounding box的位置和大小
然后就可以对每个点的结果进行聚类
在这里插入图片描述
在这里插入图片描述
这里就是效果的展示,红色的点是各自点偏移至中心的结果
然后是第二部分,包围盒细化部分
在这里插入图片描述
简单来说这里做了两件事,第一,属于一个集群的点将被用于第二阶段细化,即使它们中的一些不在BoundingBox内。第二,一些前景点,即使它们在 BoundingBox 中,如果它们与BoundingBox共享不同的簇id,也会被移除。
简单来说,这里的细化做了两步,只要回归到同一簇内的点都进行细化,包围框内只细化同一类的点,这里随机选择了M个点和前面第一部分得到的第三分支特征分支作为输入,对对象建议再一步进行细化
在这里插入图片描述
最后就是结构训练的LOSS,这里设计了三个LOSS,Lsem-cls语义分割损失、语义分析LSE损失和Lreg包围框回归损失
其中语义分割损失就是前面语义分支的点分类cross-entropy损失
然后是语义分析损失
在这里插入图片描述
这里的Ioffset是偏置的l1损失,Isize是bounding box结构大小的l1损失,Iθ是bounding box头部角的l1损失
最后是包围框回归损失
在这里插入图片描述
这里的B就是预测的bounding box,包含了7个参数,包围框中心坐标c,包围框长宽高h、w、l,头部角θ
最后将三个LOSS相加
在这里插入图片描述

总结

1.联合LOSS联合任务,互相增强的方法比较常见也很好用,感觉这里可以用前面一篇2D和3D对抗的,用分割的特征去预测检测的结果,用检测的特征去预测分割的结果。其他的细节部分没有什么特别新意的地方

标签:box,Segmentation,这里,Driving,Object,语义,分割,bounding,分支
来源: https://blog.csdn.net/qq_43310834/article/details/110863695