文章将3D点云里面的目标跟踪(Object Tracking)问题看作一个目标检测(Object Detection)问题,主要使用了VoteNet里面用到的一些技术来实现目标检测。因此,理解VoteNet,对理解本文有很大的帮助。VoteNet的大概介绍,可以参考:
https://zhuanlan.zhihu.com/p/94355668
1 点云目标跟踪的输入输出
主要有两个输入:
目标模版点云(target template):比如一辆汽车模型的点云,需要在search area中定位到与该模版点云相似的汽车的位置。
搜索区域点云(search area):被搜索的点云。
一个输出:
target template点云在search area点云中的3D box信息。
2. 网络结构
如上图所示,整体分为两步。对照VoteNet:
第一步计算出seed point
第二步通过seed point计算出3D box
与VoteNet的主要区别在于:
目标跟踪最后只需要预测出一个包含目标点云的Box、score
目标检测最后要预测出所有物体的Box、每个box的类别、score
下面对两个步骤进行大概介绍。
3. Target-specific feature augmentation
该步主要对template点云和search area点云进行预处理,为search area点云生成一个seed point点集,以便在后续模块中执行voting操作。在上面的网络结构图中:
template点云有 个点,数据的shape为:
search area点云有 个点,数据的shape为:
每步的操作流程如下:
template点云( )使用一个PointNet++进行下采样,得出 个seeds的feature: 。最后将每个seed点的3D坐标拼到feature里面,得到:
Search area点云( )用同一个PointNet++进行下采样,得到 个seeds的feature: 。最后将每个seed点的3D坐标拼到feature里面,得到:
使用cosine距离,计算 个feature和 个feature之间,任意两个点之间的similarity,得出相似性矩阵:
使用相似性矩阵和template点云的seeds点feature,为Search area点云的每个seed点,构建出一个新的feature,得出: 。具体构建过程如下图所示:
这步可以认为是将模版点云和待搜索点云融合到一起,得到了一个新的seed点云。seed点云即包含了模版点云的信息,也包含了待搜索点云的信息。
4. 3D target proposal and verification
该步操作以seed点云作为输入,在Search area点云内定位出target template点云的位置box。大概操作步骤如下:
voting:对每个seed,分别使用一个共享的MLP,预测出每个seed所属物体的中心点以及中心点的feature。具体实现时,先预测出seed点与其所属物体中心点之间的3D坐标和feature之间的偏移量,然后再通过偏移量计算出中心点3D坐标和feature。最后测出 个中心点坐标和feature: 。在计算loss时,只对落在目标物体上的点的3D坐标计算loss。
classifying:这步主要通过一个2分类器,预测出每个seed点落在目标物体表面的score(confidence):
将每个seed点的voting结果与score拼接到一起,得到:
Clustering:从 个点中采样出 个点,分别用每个采样点作为中心点,用ball query找到每个点的邻居点,构成 个cluster
对每个cluster,使用一个类似于PointNet的网络(MLP-Maxpool-MLP),预测出K个目标物体中心点坐标、在X-Y平面上的偏移量,以及每个预测结果的score(confidence)。
最后选取score最高的预测值,作为最终的结果。如下图所示,0.96得分最高,则选为最终的结果:
5. Loss
共有4个loss组成:
:表示seed点voting出来的其所属物体中心点坐标,与GT的差距。只计算落在目标物体上的点。
:表示计算出来的每个seed点属于目标物体的score,与GT的差距。
:表示每个cluster预测出来的score,与GT的差距。GT的设置:cluster预测出来的box的中心点,距离GT中心点0.6米之内,则设置为1;否则设置为0.
:表示每个cluster预测出来的box,与GT box的差距。只计算 中GT-score为1的box。
对以上4个loss加权求和得出一个总体的loss来训练。
6. 总结
这篇文章主要使用VoteNet中的相关技术来实现目标追踪。另外,文章给出了一种将target点云与search area点云融合的方法,可以学习借鉴。
推荐阅读: