paper 原论文的链接
code: 源代码链接
readpaper-含笔记: readpaper.com上的论文阅读及笔记
1. 主要思想
通过什么方式,解决了什么问题
本文主要核心是联合两中view(BEV-based, 3D-based-输出N,C的模型,不一定是point-based)branch,来对多帧点云进行时序分割,不同于传统的是:它不是只将多帧点云拼接后进行识别,因为这样会损失时序信息;而是增加了bev branch来提升时序信息的感知。具体做法是:
- bev branch分支: 将多帧送入类似Unet的网络中,然后将多帧特征相减(Discrepant feature map),得到增强的动态物表征,为了避免静态物消失,则将Discrepant feature 通道特征concat到原始feature通道后,并且为了适应不同速度的特征,则感受野需要不一样-使用不同kernel大小并行处理;并且将这些feature map concat到一起作为BEV最终输出。
- 3D branch: 是将多帧point cloud 输入一个Net 中到(K*N,C);然后设置一个position embeding 输出一个(K,C)作为位置编码用于区分不同帧的特征(类似transformer中的position embeding方法,区分输入特征); 然后将(K,C)中每个C与对应的(KxN,C)中的N,C相加;得到(KxN,C)特征,用SPVCNN等单帧基础模型去识别得到(KxN,C1);
- 两个分支融合: 用point-based branch去查询BEV中对应位置的特征;然后将两个特征分支concat; 也就是基于3D分支的点的坐标去找所对应的BEV中体素栅格,然后将栅格中的特征与3D branch中的特征拼接,然后再去预测是否为动态物的结果。(这个过程实现可以参考 torchsparse中的 hash query)
2. 具体方法
说明怎么解决的,具体设计是什么, 有什么启发性思考(作者的创新点)
- 如图所示,一些细节已经在基本思想中描述;
- CFFE模块:主要是用position embeding区分特征属于哪一帧。
- MAFL模块:bev-base先多帧单独识别,然后再将特征相减得到discrepant特征
3. 实验支撑
记录一些关键实验的结论分析,具有启发性的实验和结论
- 证明了BEV视图对于时序或者说动态物识别的有效性。
- MAFL模块在区分物体是否移动上有一定优势。
- CFFE模块对多帧识别也有好处。
- 该方法使用BEV 存在的一个问题:假设平面移动,如果陡峭的坡,可能会有一些不足。
4. 总结启示
针对中心思想和实验结论的总结和扩展思考
扩展思考 : 也就是用自己已有的知识或者自己的“土话”,重新理解paper(费曼学习法的精髓-便于记忆和举一反三的应用)
- 本文利用了BEV-based的空间表示优势,来对多帧动态物预测,很有启发,也确定了BEV在多帧时序上的价值;
- 本文将transformer中的position embeding用上了,很巧妙;这个设计本身就具有区分不同位置或者不同帧信息的作用,此处使用也是恰如其分。
- 对bev based的感知算法特性又多了一些了解。
5. 相关文献
主要的比较贴近的文献,关键性文献