【3D目标检测】PSEUDO-LIDAR++: ACCURATE DEPTH FOR 3D OBJECT DETECTION INAUTONOMOUS DRIVING

目录

  • 概述
  • 细节
    • STEREO DEPTH NETWORK (SDN)
    • 深度修正

概述

本文是基于双目图像的3D目标检测算法。
提出动机与贡献:就像是之前Monocular 3D Object Detection with Pseudo-LiDAR Point Cloud中提到的,伪点云中还是存在很多问题的(比如伪点云与真实点云的局部不对齐),但是这些问题都可以归结到深度估计的效果不好上,因此作者聚焦如何提高深度估计的效果,尤其是对远处物体的深度估计,改进了双目深度估计网络并且还进一步利用4线的特别便宜的激光雷达来微调检测结果。

效果:
这里红色部分就是基于视差得到的点云,相对于绿色的真实边界框存在一部分的偏移,粉红色的是作者改进深度估计网络之后得到的伪点云,相比之下稍微好了点,再结合黄色的稀疏激光雷达信号指引下的深度传播方法,就得到了蓝色的点云,可以发现此时伪点云全部都在真实边界框当中了,可以说消除局部不对齐的现象。

【3D目标检测】PSEUDO-LIDAR++: ACCURATE DEPTH FOR 3D OBJECT DETECTION INAUTONOMOUS DRIVING_第1张图片

细节

STEREO DEPTH NETWORK (SDN)

为什么会产生伪点云的局部不对齐:主要原因就是深度估计效果不好,双目的深度估计效果不好一部分原因是由于深度不是直接计算出来的,我们首先通过估计视差,然后通过公式得到深度。(双目3D视觉原理)。
为什么远处物体深度估计效果不佳:现在的双目深度估计网络将深度估计问题转换成了视差估计问题,将最小化视差误差作为损失。另一方面,对视差做了卷积操作。这两个操作都将视差一视同仁,但是视差对于深度的影响不是一样的,尤其是对于远距离和近距离的物体。我们知道,近距离物体的深度是很小的,那么它对应的视差就会比较大,假如此时存在一个单位的视差误差,导致的深度误差会比较小;而远距离物体的深度是很大的,那么它对应的视差就会比较小,假如此时存在一个单位的视差误差,导致的深度误差会比较大。一个例子就是:一个5米远的物体的单位视差误差意味着一个10厘米的深度误差相当于侧镜的长度。而对于50米外的物体,同样的视差误差会变成5.8米的深度误差相当于整个汽车的长度。也就是导致训练完成之后模型对于近处点的深度估计结果可以接受而远处点的深度估计效果很差。

因此作者修改了网络直接预测深度,而不是先预测视差,同时损失函数直接优化深度而不是视差,损失函数的改变纠正了对目标周围微小深度误差的过分强调。

PSMNet中的双目深度估计流程:

  • 对左图和右图进行特证提取
  • concat上面的特征图构建视差成本容积(Disparity Cost Volume.)
  • 3D卷积+softmax得到视差
  • 根据视差计算深度
  • 使用视差误差损失

本文STEREO DEPTH NETWORK (SDN)中的双目深度估计流程:

  • 对左图和右图进行特证提取
  • concat上面的特征图构建视差成本容积(Disparity Cost Volume.)
  • 将视差成本容积转换成深度成本容积
  • 3D卷积+softmax直接得到深度
  • 使用深度误差损失

【3D目标检测】PSEUDO-LIDAR++: ACCURATE DEPTH FOR 3D OBJECT DETECTION INAUTONOMOUS DRIVING_第2张图片

深度修正

相比以往的工作,这个方法已经很不错了,但是转换得到的伪点云相比于真实还是存在一些差距,因此作者考虑使用真实的点云数据进行修正。因为我们只需要依靠点云进行修正,而不是得到预测结果,所以只需要很少的激光雷达束就可以达到要求。

你可能感兴趣的:(论文学习,目标检测,3d)