绘制俯视图在进行3D检测领域是很有必要的一个操作,现在的一些3D检测方法,比如MVD,AVOD,SECOND, PIXOR,都采用bev map作为主要的参考对象,那么为什么bev这么有用呢?

BEV Map必要性

原因其实十分简单,比如说,下面的这张图:

5781c526-33d2-476b-9698-3e37cdaf544d-image.png

就是一张俯视图,它对应的点云图如下所示:
fe02a50c-8887-406c-b62a-a216f636c147-image.png

我们会发现,假如我们直接对点云进行处理,那么计算量是比较大的。此时计算速度会很慢,比如avod方法,处理一针点云需要2s,这个速度在实际场合根本无法使用。

因此另外一些算法转而采用bev来进行特征的抽取,然后直接生成3D的目标坐标。那么此时就得思考一个问题:bev map是否包含足够的信息让网络学习?. 事实上,俯视图用来检测车辆是很不错的。从生成的俯视图也可以看出,对于车辆的特征非常明显。而且用这个方式来做还有一个好处:受激光点云线数影响不大, 为什么呢?因为它是从上往下的投影,因此对于64线和16线,虽然在分辨率上会有些差别,但是物体的形态基本上是没有太大的变化的。

如何生成俯视图

其实从点云生成俯视图的原理也非常简单,基本上就是将点云里面每个点的z点作为像素值,映射到图片里面去。
总共分为三个步骤:

  • Crop the point cloud to certain range, like left-right range, back-forward range;
  • Shifting x, y values to min be 0;
  • Mapping z to image pixel values.