Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图1

0.0962017.11.15 21:03:27 字数 6,126 阅读 2,886

补充知识

体素化(Voxelization)

是将物体的几何形式表示转换成最接近该物体的体素表示形式,产生体数据集,其不仅包含模型的表面信息,而且能描述模型的内部属性。表示模型的空间体素跟表示图像的二维像素比较相似,只不过从二维的点扩展到了三维的立方体单元,而且基于体素的三维模型有诸多应用

点云数据
  1. 什么是点云数据
    点云 数据是指在一个三维坐标系统中的一组向量的集合。这些向量通常以 x,y,z 三维坐标的形式表示,而且一般主要用来代表一个物体的外表面形状。不仅如此,除了(x,y,z)代表的几何位置信息之外,点云数据还可以表示一个点的 RGB 颜色,灰度值,深度,分割结果等。
    Eg..Pi={Xi, Yi, Zi,…….} 表示空间中的一个点,
    则 Point Cloud={P1, P2, P3,…..Pn} 表示一组点云数据。

  2. 点云数据的获得
    大多数点云数据是由 3D 扫描设备产生的,例如激光雷达(2D/3D), 立体摄像头(stereo camera),越渡时间相机(time-of-flight camera)。这些设备用自动化的方式测量在物体表面的大量的点的信息,然后用某种数据文件数点云数据。这些点云数据就是扫描设备所采集到的。

  3. 点云数据的用途
    作为 3D 扫描的结果,点云数据有很多不方面的用途,包括为制造部件,质量检查,多元化视距,卡通制作,三维制图和大众传播工具应用等创建 3D CAD 模型。

激光雷达

无人驾驶中激光雷达感知周围环境的原理是什么?

首先,通过激光雷达获取到三维点去数据后。进行点云分离,然后进行聚类,一般都是通过计算相邻两个激光点间的距离来决定是否属于同一类。聚类完之后进行障碍物识别。识别也障碍物之后,进行前后两频对比,可以识别是静态障碍物还是动态障碍物。动态障碍物也可以计算出运动速度等。结合无人驾驶汽车当前的位置信息,计算出避障所需的最小安全距离,达到壁障功能。

作者:大力小白菜
链接:https://www.zhihu.com/question/54137057/answer/226039003
来源:知乎

激光雷达在无人驾驶的两个核心作用:

1.3D 建模进行环境感知。通过激光扫描可以得到汽车周围环境的 3D 模型,运用相关算法比对上一帧和下一帧环境的变化可以较为容易的探测出周围的车辆和行人。

2.SLAM 加强定位。激光雷达另一大特性是同步建图(SLAM),实时得到的全局地图,通过与高精度地图中特征物的比对,可以实现导航及加强车辆的定位精度。

激光雷达优点

激光雷达由发射系统、接收系统 、信息处理三部分组成:激光器将电脉冲变成光脉冲发射出去,光接收机再把从目标反射回来的光脉冲还原成电脉冲,最后经过一系列算法来得出目标位置(距离和角度)、运动状态(速度、振动和姿态)和形状,可以探测、识别、分辨和跟踪目标。

1.解析度高,测距精度高,小于 2 公分、角度分辨率约 0.09 度,如此高的解析度可完整绘出物体轮廓,外加垂直侦测角度中,平均每 0.4 度即有一个扫描层、全周资料更新率 15 赫兹(Hz),车辆周围环境将无所遁形。

2.抗有源干扰能力强,激光雷达的脉冲光束发射器之口径非常小,即接收器可接收脉冲光束的区域亦非常狭窄,因此,受到其他红外线雷达光束干扰的机会就非常小。此外,脉冲光束实质上属红外线波,不会受电磁波影响,因此,在一般应用环境中能干扰激光扫描仪的信号源不多,适用于高度自动化的系统。

3.探测性能好,对于激光扫描仪,仅有被脉冲光束照射的目标才会产生反射,且红外线波并不像电磁波会受回波干扰等问题,对于环境的几何形状、障碍物材质等,均不影响激光扫描仪的侦测结果。以系统设计角度而言,因信号具高稳定性激光扫描仪的信号可信度十分高。

4.不受光线影响,激光扫描仪可全天候进行侦测任务,且其侦测效果不因白天或黑夜而有所影响,这也是目前无人驾驶车中许多采用的摄像头感测器所达不到的功能。

5.测速范围大,激光扫描仪可成功扫描出障碍物的相对速度高达每小时 200 公里之轮廓,也就是说,对于车系统,激光扫描仪并不局限在市区或低速应用情境,高速移动下的情境亦可被应用,此对车辆增加移动速度后之安全系统设计有显著的帮助,系统应用上更具有弹性。

激光雷达缺点

1.红外线波受天候和大气的影响,在一般晴朗或良好气候条件中的光衰较小,传播距离和理想值接近;若在大雨、下雪、浓雾等非晴朗气候条件下,红外线波的侦测能力会大幅衰減,感测距离亦受影响。

  1. 价格高,Velodyne 64 线 激光雷达的供应价格高达 8 万美元,已开发出了相对便宜的 32 线和 16 线激光雷达的价格也分别 3 万美元与 8000 美元,若要普及应用,价格是一大障碍。

3.庞大信息流,64 线 3D 激光雷达每秒产生一百三十万笔侦测资料,解析度较低的 32 线激光雷达每秒产生七十万笔侦测资料,如此快速且大量的资料是嵌入式系统难以负荷起的工作,需要专业处理器才能完整处理。

三维坐标系中方向角和倾斜角的解释

https://www.zybang.com/question/cfe1f03211d2f63f6724942bfa540870.html

激光测距分辨率

激光测距机测距时分辨相邻目标的能力。有距离分辨率和横向分辨率之分。距离分辨率是在规定距离(如 100m)上能分辨和测量前后相邻两目标间的最小距离,通常用米计量,一般坦克激光测距机的距离分辨率为 20~30m,最高可达 15m。距离分辨率主要取决于测距机光电转换的响应时间、前置放大器的通频带宽度用阈值、整形电路的开关时间和振荡器的振荡频率等。横向分辨率又称为角分辨率,是测距机在激光发射光轴垂直的方向上,在规定的距离(如 1000m)上能分辨左右相邻两个目间的最小尺寸,一般以角度表示。横向分辨率的高低度主要取决于激光测距机探测器的接收视场和激光光束的发射角。
分辨率是指传感器能感受到的[被测量]的最小变化能力。也就是说,如果输入量从某一个非零值缓慢变化,当输入变化值未超过某一个数值时,传感器输出不会发生变化,也就是说传感器对此输入量的变化是分辨不出来的。只有当输入量的变化超过分辨率时,其输出才会变化。

上采样和下采样
  • 上采样(upsampling)
    放大图像,主要目的是放大原图像,从而可以显示在更高分辨率的显示设备上
  • 下采样(subsampled)
    缩小图像,使得图像符合显示区乐的大小,生成对应图像的缩略图

Deconvolution(反卷积)

动画演示:https://github.com/vdumoulin/conv_arithmetic

摘要

本文提出了一种应用于自动驾驶的多视角 3D 检测网络,将雷达点云和 RGB 图像共同作为网络的输入从而产生对应的 3D bounding box。此网络包括两个部分,一个用来产生 3D 候选框,另一个用来进行多视图融合。其中 3D 候选框生成网络使用 3D 雷达点云的俯视图作为输入生成 3D 候选框,而多视图融合主要是将不同的视角提取到的特征进行融合。目前在 KITTI 挑战上本文的方法是 state-of-the-art 的方法。

介绍

目前,3D 物体检测在自动驾驶的视觉感知系统的扮演着重要的地位。现代的无人汽车通常都装备了很多的传感器,比如激光雷达或者摄像机。激光扫描可以获取更精确的深层信息,而摄像机则可以保留更多语义信息。雷达点云和 RGB 图像的融合能够使得自动驾驶更加安全,并且提升自动驾驶的表现。
本文关注的焦点是利用雷达点云和 RGB 图像进行 3D 物体的检测,希望能够在道路场景中获取 3D 物体位置和类别的任务重取得较好的效果。一般来说,使用雷达点云可以在获取 3D 目标位置的时候获得更高的精度,而使用 RGB 图像则可以在获取预测的 2D Box 时取得更好的效果。
本文中提出的 MV3D 使用多种类型的数据作为输入,预测出物体在三维空间中的完整的物体范围。利用多模式信息的一个主要想法就是执行区域的特征融合。我们首先提出了多视图的编码方案以获得一个紧凑有效的三维点云稀疏表达。3D 候选区网络利用点云的俯视图表达去生成一个高精度的候选框。使用 3D 候选框的好处就是它可以投影到三维空间的任意视角。设计了一种深度融合的方法,使得中间层之间可以相互交互。

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图2

MV3D Network

相关工作

  • 基于点云的 3D 目标检测
    目前大多数的方法都将 3D 点云体素化,提取结构特征之后送入到 SVM 或者神经网络中进行分类,这样做的计算消耗很大,还有的使用了点云的前视图,包含 2D 点云图,使用了一个全链接的卷积网络作用在 2D 点云图上从而预测出 3D 的 boxes。此次工作中,作者将 3D 点云编码为多视角的特征图,应用与基于区域的多模式表示。
  • 基于 Images 的 3D 目标检测
    3DVP 介绍了一种 3D 体素模式并运用了一系列的 ACF 检测器去做 2D 的检测和 3D 姿态的估计。Image-based 的方法通常都依赖于精确的深度估计或标记检测。作者的工作显示了如何融合雷达点云去提高 3D localization 的效果。
  • 多模态融合
    仅仅有很少的工作利用了多模态的数据应用到自动驾驶。有的是结合了图像,深度,还有光流应用于 2D 的行人检测。本文是受到了 FractalNet 和 Deeply-Fused Net 的启发。在 FractalNet 中,基础模块使用不断增加的通道迭代地构建网络,相似地,通过联合浅层和深层子网络去构建深度融合的网络。文章的工作区别与他们的地方在于对于每一栏使用了相同的基础网络,为了正则化增加了辅助的路径和损失。
  • 3D 目标候选区
    3DOP 基于立体的点云设计了一些深度的特征来产生一些 3D 候选框。Mono3D 利用了地平面和一些语义信息生成了 3D 候选区。3DOP 和 Mono3D 都使用了手工的特征。Deep Sliding Shapes 利用了更加有效的深度特征,但是,在处理 3D 体素网格上使用了计算量巨大的 3D 卷积。文中提出了使用点云的俯视图表达,应用 2D 的卷积来生成 3D 的候选区。

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图3

MV3D Network

目前 3D 雷达点云编码主要是生成 3D 网格空间或者前视图,3D 网格表达保留了大部分的未加工的点云信息,通常需要更多更复杂的计算资源用于特征提取。所以本文提出了一种更加简洁的表达:3D 点云的前视图和俯视图。

  • 俯视图
    俯视图由高度、强度、密度组成,投影到分辨率为 0.1 的二维网格中
    1. 高度
      对于每个网格来说,高度特征有点云单元格中的最高值得出;为了编码更多的高度特征,点云被分为 M 块,每一个块都计算相应的高度图,从而获得了 M 个高度图。
    2. 强度
      强度是每个单元格中有最大高度的点的映射值
    3. 密度
      表示每个单元格中点的数目,为了归一化特征,被计算为:

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图4 其中 N 为单元格中的点的数目
强度和密度特征计算的是整个点云,而高度特征是计算 M 切片,所以,总的俯视图被编码为(M + 2)个通道的特征

  • 前视图
    前视图给俯视图提供了额外的信息。由于激光点云非常稀疏的时候,投影到 2D 图上也会非常稀疏。相反,我们将它投影到一个圆柱面生成一个稠密的前视图。
    假设 3D 坐标为
    Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图5
    3D 坐标
    那么他的前视图坐标
    Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图6
    前视图坐标
    可以通过如下式子计算
    Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图7
    前视图坐标计算公式
    其中∆θ和 ∆φ分别是激光束的水平和垂直分辨率。

3D 候选区网络

目前 2D 目标检测中,区域提名网络已经成为最高水平的关键,文章设计了一个网络产生候选区域,使用俯视图作为输入,在 3D 物体检测中。俯视图相比于前视图 / 图像平面有几个优点。首先,物体投影到俯视图时,保留了物体的物理尺寸,从而具有较小的尺寸方差,这在前视图 / 图像平面的情况下不具备的;第二,在俯视图中,物体占据不同的空间,从而避免遮挡的问题。第三,在道理场景中,由于目标通常位于地面平面上,并在垂直位置的方差较小,俯视图定位在获得准确的 3D bounding box 是很重要的。因此,使用俯视图作为输入,可以确保 3D 位置预测更可行。

给一个俯视图,网络通过一些 3D prior boxes 生成 3D 的候选框。每一个 3D 候选框都被参数化为:

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图8

3D 坐标

其中 x,y,z 是雷达坐标系统中坐标的中心,l,w,h 分别是长宽高,对于每一个 3D prior box,相应的俯视图锚点为:

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图9

3D prior box

这些锚点都可以由

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图10

image.png

离散化后获得。

设计的 N 个 3D 前置框通过在训练集的地面真实目标大小聚类获得。在机动车检测的情况下,前置框(L,W)的值分别为 {(3.9,1.6),(1.0,0.6)},和高度 h 是固定值 1.56 米。通过旋转鸟瞰锚 90 度(围着锚 x,y 的坐标中心),可以得到 n = 4 个前置框。(x,y)为鸟视图特征图中的坐标,Z 可以根据摄像机高度和物体高度来计算。在区域产生中不做方向回归,而把它留给下一个预测阶段。3D 框的方向限制在 { 0◦,90◦},这是接近实际的取向大部分道路场景中的物体。这种简化使回归训练更容易。

采用 0.1 米的离散分辨率,目标框在鸟瞰中仅占 5∼40 个像素点(最大约相当于 0.015 米)。检测这些非常小的物体仍然是一个困难的问题。一种可能的解决方案是使用更高的分辨率的输入,然而,将需要更多的计算。我们选择特征图上进行上采样操作。我们用 2 倍的双线性上采样操作在网络的最后一个卷积层后。前端卷积层中只进行 3 次池化运算,即 8 倍的下采样。因此,结合 2 倍的反卷积操作,特征图被送到区域提名网络时只有相对于鸟瞰图输入的 4 倍下采样后的图。

我们做 3D 框回归通过回归到 t = (∆x,∆y,∆z,∆l,∆w,∆h) 中,类似于 2D 目标检测中的 RPN 网络。(∆x,∆y,∆z) 是锚中心归一化的偏移量,(∆l,∆w,∆h) 由∆s = log(Sgt/Sanchor),s ∈ {l,w,h}. 计算得出。我们使用多任务损失函数做物体分类 / 背景分类和 3D 框回归。我们采用分类熵做物体分类损失和光滑 L1 做 3D 框回归损失。背景锚可以忽略。当锚与真实目标边框重叠超过 0.7 时,我们认为是正样本,低于 0.5 认为是负样本,中间的我们忽略不计。
由于激光雷达点云稀疏,会导致许多空锚,我们在训练和测试中删除所有的空锚,以减少计算。可以通过计算点占用图上的积分图像来实现
对于每个非空锚在每个位置的最后一个卷积特征图,网络生成一个 3D 框。为了减少冗余,我们应用非最大抑制(NMS)的鸟瞰框,论文没有使用 3D 非极大值抑制。使用交并比阈值为 0.7 在非极大值抑制中。前 2000 框保存在训练期间,而在测试中,我们只使用 300 框。

基于区域的融合网络

文章设计了一个基于区域的融合网络,有效地结合从多个视图的特征,共同做候选区域分类和做定向 3D 框回归。
由于从不同的视图 / 方式的特征图通常有不同的分辨率,我们采用 ROI 池化为每个视图以获得相同长度的特征向量。给定生成的 3D 候选区域,我们可以将它们投射到三维空间中的任何视图中,论文映射到 3 个视图中,鸟瞰图(BV),前视图(FV),和图像平面(RGB)。给出一个 3D 区域,我们可以获取 ROI 通过:

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图11

image.png

其中,T3D→v 表示从激光雷达坐标系到鸟瞰图、前视图,和图像平面的转换函数,给定一个输入特征图 x 从每个视图的前端网络,我们获得固定长度的特征通过 ROI 池化:

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图12

image.png

深度融合(Deep fusion)

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图13

不同阶段的深度融合网络

融合过程如下:

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图14

early fusion

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图15

late fusion

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图16

deep fusion

多视图网络融合特征后,我们在 3D 区域中回归 3D 框的方向。特别是,回归的目标是 3D 框的 8 个角:T =(∆x0,···,∆x7,∆Y0,···∆Y7,∆Z0,···,∆Z7)。该参数被编码为由候选框的对角线长度归一化后的偏移量。尽管这样的 24-D 向量表示三维框是冗余的,但是我们发现这种编码方法优于中心和大小的编码方法。请注意,我们的 3D 框回归不同于回归轴对齐的 3D 框。在我们的模型中,物体的方向可以从预测的 3D 框角进行计算。我们使用多任务损失共同预测物体类别和 3D 框方向。在区域网络中,类别损失使用交叉熵和 3D 框损失使用平滑 L1。除了上述正负样本设定和非极大值抑制阈值的设定,我们还使用交并比阈值 0.05 去除多余的盒子,确保鸟瞰中的物体不会占据同一空间。
我们采用两种方法去规范基于区域的融合网络:下降路径训练[ 13 ]和辅助损失。对于每次迭代,我们随机选择做全局下降路径或局部下降路径的概率为 50%。如果选择全局下降路径,我们从三视图中相同概率中选择一个视图。如果选择局部下降路径,每个连接节点的路径输入随机丢弃的概率为 50%。我们确保每个连接节点至少保留一个输入路径。为了进一步加强每个视图的表示能力,我们在网络中添加辅助路径和损失。如下图所示,辅助路径与主网络的层数相同。辅助路径中的每一层与主网络中的相应层共享权重。我们使用相同的多任务损失,即分类损失加 3D 框回归损失,反向传播每个辅助路径。计算所有损失中包括辅助损失。推理过程中删除辅助路径。

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图17

image.png

在我们的多视图网络中,每个视图具有相同的网络结构。基础网络是建立在 VGG16 下进行修改的:
• 渠道减少到原来的网络的一半。
• 为了处理特别小的物体,我们使用特征粗略估计以获得高分辨率的特征图。特别是,我们插入一个 2 倍双线性上采样层在最后一层卷积特征图输入到三维区域网络之前。同样,我们插入 4 倍/4 倍 /2 倍上采样层在 BV / Fv/RGB 分支的 ROI 池化层之前。
• 我们删除原 VGG 网络中第四个池化操作,因此我们的网络卷积部分进行 8 倍的下采样。
• 在多视角融合网络中,我们添加一个额外的全连接层 FC8 在原有的 FC6、FC7 层基础上。
初始化参数由通过 imagenet 训练的 vgg16 网络。尽管我们的网络有三个分支,但是参数的个数是 75% 的 vgg16 网络。一个图像网络的运行时间是在泰坦 X 上 0.7s。

“小礼物走一走,来简书关注我”

还没有人赞赏,支持一下

Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图18

总资产 1 (约 0.09 元) 共写了 1.5W 字获得 3 个赞共 4 个粉丝

推荐阅读更多精彩内容

  • 姓名:高岩 学号:13020199025 本文转载自:http://www.eeworld.com.cn/q...
    Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图19
    夜_月
    阅读 799 评论 0 赞 0
    Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图20
  • Android 自定义 View 的各种姿势 1 Activity 的显示之 ViewRootImpl 详解 Activity…
  • 当你对各种军用雷达头大的时候,推荐你读读这一篇。 舰载雷达 | 型号 | 应用 ||:-:|:-:|:-:|:-:|:-:…
    Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图21
    好心态
    阅读 2,212 评论 0 赞 5
    Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图22
  • 作者 | Oliver Cameron 翻译 | 大琦 编辑 | 鸽子(rgznai100) 近日,美国当地政府关…
    Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图23
  • 都说找工作 “钱多,活少,离家近”,总要占一条。在这个一切向“钱” 看的社会,不是人人都那么幸运,哪怕不分昼夜,黑白颠…
    Multi-View 3D Object Detection Network for Autonomous Driving - 简书 - 图24

    https://www.jianshu.com/p/4a25ce09a44a