笔记
面向3D点云目标检测(自动驾驶数据集),弥补两阶段的point-wise检测不足。
3D目标检测,看名字带RCNN就知道是两阶段,强调了plug and play,即插即用,也就意味着适用于各种点云数据集,因此输入并不会包括kitti中的点云反射率等数据集独有的量,而仅仅包括了点的坐标。顺带一提,这种plug and play的思想可能永远轮不到多模态,毕竟各大数据集的标定格式都不大一样,坐标系转换分分钟原地爆炸。
选择了PointNet作为主干网络,作者认为PointNet比较适合这种对效率要求高的任务。采用的损失函数仍然是分类+回归,分类用了交叉熵,回归仍然是万年不变的SmoothL1,回归角度不同于传统考虑到0和pi对抗问题采用的三角函数+方向分类处理方法,而是采用原始方向+翻转方向。
比较特别的是对proposal的一些讨论:如何知道proposal怎么样呢?proposal是不是大了啊?
尺寸归一化说我大概也许能知道,但会把proposal变成平行四边形;anchor说我可以搞锚点,但是搞不来proposal;voxelization说我倒是能大概知道proposal是不是大了,但我不知道它的具体边界啊。所以,来了来了,Boundary offset和virtual point向我们走来了!根据proposal的位置,每个点会有边界偏移,边界偏移与点特征相连;添加虚拟网格点,就能知道清晰的边界信息。
这两种应对proposal size ambiguity的机制,就是本文最重要的创新点。
然后在kitti和waymo上验证,涨点完毕。