绘制俯视图在进行3D检测领域是很有必要的一个操作,现在的一些3D检测方法,比如MVD,AVOD,SECOND, PIXOR,都采用bev map作为主要的参考对象,那么为什么bev这么有用呢?
BEV Map必要性
原因其实十分简单,比如说,下面的这张图:
就是一张俯视图,它对应的点云图如下所示:
我们会发现,假如我们直接对点云进行处理,那么计算量是比较大的。此时计算速度会很慢,比如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.