contributions
- 应用sparse convolution 提升了训练以及inference的速度.
- 提出一个novel 的angle loss 来回归yaw角.
- 介绍了gt sampling的augmentation的方式.
sparse convolution这里还没有细研究,回过头来再来补充. 不过sparse convolution的提出确实比3d 卷积快了很多,
整个网络结构如下,也是比较好理解的,是一个single-stage的检测架构. 由此也可以看出,其实这里提出的sparse convolution可以应用到很多lidar-based的3d目标检测网络结构中.
训练时的target的构造如下
前面6个比较好理解,都是正常的回归loss, 主要是最后一个角度的,作者这里提到,如果简单的回归角度的话,对于那种翻转180的case, 尽管前面6个loss很小,但是yaw角的loss可能会很大,这样不利于网络的收敛。
为了解决这个问题,作者提出了, 用sin来辅助,即
那么这样弄了之后,就会发现,翻转180度的case解决了,但是又引入了新的问题,
因为预测出的yaw角可能是 θ \theta θ 或 θ + − π \theta +-\pi θ+−π, 为了解决这个问题,作者又对角度加了一个分类的分支,即如果 θ > 0 \theta>0 θ>0 label 就是positive, 如果 θ < 0 \theta <0 θ<0 label就是negative.
这就是上面那个网络结构图里面,另外一个分类层的由来.
gt-sampling
作者提出了一种比较有意思的augmentation方式,即事先把训练集里面的每个框以及框里面的点云先存起来,然后在训练的时候,比如pedestrian这个类是要重采样的,就从数据集里面随机选出pedestrian这个类别的框和点云,补到当前训练的这一桢上面来,当然要和当前桢里面已经存在的目标做一个去重。
数据量小的时候,这种方式还是挺不错的,数据里大的时候,可能生成原始的框和点云都挺大的,不过这种方式对于类别不平衡,以及想让训练时见到更多复杂的环境而言,直观上确实挺有效的。