『笔记』PointRCNN
『笔记』PointRCNN
2019 CVPR 香港中文大学的一篇3D目标检测的文章,是第一个输入只有原始点云数据的两阶段3D目标检测方法。文章比较老了,就没有阅读原文,在知乎上看了这篇说得不错:论文阅读:PointRCNN 第一个基于原始点云的3D目标检测,基本能够大致了解了
总得来说,该方法分为两个阶段,也就是two stage常有的第一步得到proposals,第二步实现refinement
第一阶段:将点云输入PointNet++,得到点云features,使用点云segmentation输出mask,获得foreground points,即任意有意义的object类的点云。对于foreground的每个点,都让其输出一个box proposal预测。预测方式使用了作者特别的设计,使用bin-based box generation,思路只是把x, z, angle的regression部分解藕为在哪个bin的classification和到了该bin后的residual两部分,bin的尺寸设计很显然是design choice. 得到的proposals显然一大堆,通过40m内和40到80m两个距离区域,用nms和topk的方式做discard,分别获得210和90,共300个proposals. 另外,原点云,点云特征,foreground points mask都将继续作为输入进行第二阶段
第二阶段:再次推理一下点云特征,不过这次是在每个proposal内进行了。方式是,将每个proposal内的点云的coordinates转换值canonical下,类似F-PointNet的操作,不过local coordinate不是align相机而仅仅是proposal自己的heading. 将local coords,depth,reflectance,foreground mask值搞起来,做个MLP推理,得到现在第二阶段fresh的local点云features. 将这个特征和第一阶段特征做concatenate,然后再做个PointNet++推理,得到最终特征。如果不出意料,在最后的这个PointNet++这里就会根据每个proposal内做max pooling,这样最后得到的这个特征就是组成为代表每个proposal的特征了。然后输head即可,一个依然是bin-based预测,一个是confidence预测
作者:traviscui
出处:https://www.cnblogs.com/traviscui/p/16598070.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通