当前位置:   article > 正文

《论文阅读》P2B: Point-to-Box Network for 3D Object Tracking in Point Clouds

p2b: point-to-box network

留个笔记自用

P2B: Point-to-Box Network for 3D Object Tracking in Point Clouds

做什么

3D object detection。3维目标检测
在这里插入图片描述
对于输入的3D点云,像2D一样使用一个bounding box去将相应的物体包围起来,不过这里使用的bounding box也同样变成了3维的
而所谓的object tracking就是目标追踪,就是在detect的基础上增加了一个时序性,常见的2D追踪是在一段视频中,每一帧都是用object detect找到某一对象,然后一直使用bounding box包围它
3D object tracking,简单来说的目标就是,在搜索区域逐帧定位目标(由模板定义),可以理解成搜索区域就是视频的每一帧图像,而模板就是想要寻找的那个对象

做了什么

在这里插入图片描述
首先定位嵌入目标信息的3D搜索区域中的潜在目标中心,然后联合执行点驱动三维目标建议和验证,简单来说这里做的主要是对采样种子而不是3D盒子进行操作
具体来说,首先分别从模板和搜索区域的点云中采样种子点,然后执行排列不变特征增强,将从模板中获取的tar线索嵌入到搜索区域种子中,并用特定于目标的特征来表示它们。因此,有约束的搜索区域种子通过霍夫投票回归潜在的目标中心。种子阶段的目标得分进一步加强了这些中心。最后,每个中心包括它的邻居,以利用整体力量进行联合3D目标提议和验证
简单来说,将tracking问题当成detect问题单独看待,用输入的模板强化输入的搜索空间,然后根据vote的邻域和得分来强化3D目标

怎么做

在这里插入图片描述
整体结构由两个部分组成,第一部分target-specific feature augmentation(TSFA)特定目标特征增强部分,第二部分3D target proposal and verification(3D TPV)三维目标建议和验证部分
简单先看看整体结构,输入有两个,一个是模板也就是目标对象的点云∈RN1×3,一个是搜索区域也就是帧图像∈RN2×3,首先将二者各自输入一个feature extractor,各自得到各自的种子点,然后带有特定目标对象特征的模板种子对搜索区域种子进行更新,然后通过投票定位到各自的对象中心位置,同时种子点也以分类的方式计算自身的目标得分,两者结合更新特征,最后结合邻域信息得到3D目标建议
然后开始各模块细节,首先是第一部分,TSFA部分
在这里插入图片描述
就像上面说的,这里定义了两个输入,模板点云Ptmp,搜索空间点云Psea,这里的feature extractor使用的是Pointnet++作为baseline,上路得到模板种子点Q∈RM1×(3+d),下路得到搜索空间种子点R∈RM2×(3+d)这里的d是特征的通道数3是3维坐标值。
在这里插入图片描述
然后就是计算如何融合使对象对搜索区域进行更新,也就是将Q的信息嵌入R中,这里采用的是计算点之间相似度的做法
在这里插入图片描述
这里的q和r分别属于各自的种子点,这样计算出来的一个矩阵就是M2×M1大小的在这里插入图片描述
但这样就会出现一个问题,正常情形下Simj,i表示第j行第i列的点,则Simj,:表示第j行,即rj点与Q中所有种子点的相似度,以这个可以代表该点的目标特征更新值,但这里说因为Q的不确定性,这么做无法满足一个对Q的内部置换性
在这里插入图片描述
所以这里设计了一个别的方法,首先用Q也就是种子点特征来扩充每个simj,:(采用复制Q的方法),对每行都产生M1×(1+3+d)的向量,然后输入一个MLP进行特征进一步提取,以此得到rj点的特定特征,最后用maxpool和MLP聚合特征
在这里插入图片描述
相比于原来的方法这里主要是使用了maxpool来保证它的一致性,至此,就获得了搜索区域内每个种子点包含了目标模板特征信息的特征M2×(3+d)
然后是第二部分,3D TPV部分
在这里插入图片描述
首先这部分的输入是前一部分得到的搜索空间的种子点特征M2×(3+d2)维
分为两路,一路采用votenet中类似的投票方式,每个点潜在投票给各自的目标对象中心,具体来说就是构造一个MLP去预测该种子点与目标中心的坐标差和特征差,然后再用GT来对MLP进行训练
在这里插入图片描述
这里的Δgt表示的是GT中rj到对应目标中心的偏置距离,I(·)也是常见的了,判断r点是否在一个对象的表面,Δx是预测的rj到对应目标中心的偏置距离
在这里插入图片描述
然后是下路,classfy部分其实就是给每个点rj打分,构造一个MLP来对点生成得分,判断该点是否生成在目标对象的表面,若是则给积极得分,反之低分,这里采用的是cross-entropy来进行训练
在这里插入图片描述
然后将两路结果concat在一起
在这里插入图片描述
简单来说,这里就是聚合了上路的投票特征和下路的表面得分(也就是1+3+d2,1是得分,3是三维坐标值,d是特征通道数)
然后就是聚类了,对每个投票中心cj,使用一种简单的距离方式(球聚类)设定一个半径r,对每个点求出它的邻域
在这里插入图片描述
然后得到K个聚类中心
在这里插入图片描述
最后搭建一个MLP计算对象建议和得分
在这里插入图片描述
这里的T就是前面得到的K个聚类中心的邻域,p是对象建议,包含4个参数,也就是3D的平移偏置和旋转偏置
在这里插入图片描述
得到了k个proposal之后,最后就是对这k个进行筛选refine,这里设定的是建议中心与GT中心超过一定距离的视为失败,然后展示了整体的LOSS
在这里插入图片描述
reg是前面vote部分偏置的LOSS,cla是score部分评分的cross-entropy,prop是对proposal的s得分的LOSS,box就是对bounding box的loss

总结

1.不知道为什么标题是tracking,这不是detect吗,可能说是tracking的是因为这里设置了两个输入一个是模板一个是搜索空间,而detect只有搜索空间
2.论文里说特点是使用了种子点的方法,虽然这似乎没什么特殊的
3.感觉detect这里的问题可以做成无监督的或者说半监督的,利用模板之间的相似性

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/328216?site
推荐阅读
相关标签
  

闽ICP备14008679号