【点云网络】voxelnet 和 pointpillar

VoxelNet 和 pointpillar 这两个网络可以认为后者是前者的升级版本,都是采用了空间划分的方法, 一个是体素,一个是pillar, 前者是3D卷积处理中间特征,后者是2D卷积处理中间特征。

voxelnet

voxelnet 应该是比较早的onestage的网络了,其网络图如下:

在 VoxelNet 中,网络结构主要分为三个部分:Feature Learning NetworkConvolutional Middle LayersRegion Proposal Network,以下是这三个部分的详细说明:

1. Feature Learning Network

  • 目标:将稀疏的点云数据编码为稠密的体素特征表示。
  • 过程 :首先,点云数据被划分成 3D 网格的固定大小体素(voxels),每个体素中包含若干个点。然后,将每个体素的点坐标和其他特征(如反射强度)送入 Voxel Feature Encoding (VFE) 层。
  • Voxel Feature Encoding (VFE) :VFE 是一种多层感知机(MLP),对体素内的每个点进行特征编码,编码的特征会通过 最大池化 操作聚合成单一体素特征,代表体素内所有点的全局信息。最终生成的体素特征图包含了每个体素的高维特征,形成了稠密的三维特征表示。

    以上的内容解释如下:

FCN (全卷积网络)

  • 输入 :点特征输入 ([x, y, z, r, x - v_x, y - v_y, z - v_z])
    • (r) => 反射强度
    • ((v_x, v_y, v_z)) => 同一体素中所有点的平均值
  • 输出:点特征

逐元素最大池化

  • 输入:点特征
  • 输出:局部聚合特征

点特征连接

  • 输入:点特征,局部聚合特征
  • 输出:连接后的点特征

2. Convolutional Middle Layers

  • 目标:进一步提取和聚合体素特征图,减少计算量并保留空间信息。
  • 过程 :中间卷积层(Convolutional Middle Layers)使用了 3D 卷积 来提取体素特征。3D 卷积操作沿着 z 轴方向,将体素特征聚合到统一的 x-y 平面上。
  • 2D 特征图生成:通过 3D 卷积的特征聚合,三维特征图被转化为二维特征图(x-y 平面),从而简化了后续计算。在二维平面上继续进行卷积可以保留水平空间的信息,同时大大降低了计算复杂度。

3. Region Proposal Network (RPN)

  • 目标:生成候选框并完成三维物体检测。
  • 过程 :在二维特征图的基础上,RPN 使用 2D 卷积 进行目标候选框的生成和分类。这类似于 Faster R-CNN 中的 RPN,但在这里是基于点云特征的二维平面操作。
  • 分类和边界框回归 :RPN 中包含两个分支,一个用于物体分类(判断是否为物体),另一个用于边界框回归(预测物体的三维边界框参数,如位置和大小)。通过这两个分支,RPN 能够输出物体类别、位置、尺寸和旋转等信息。
    -

总结

  • Feature Learning Network:通过 VFE 提取每个体素的特征,将稀疏点云转换为稠密的三维特征图。
  • Convolutional Middle Layers:使用 3D 卷积沿 z 轴聚合特征,生成 x-y 平面上的二维特征图,保留空间信息并降低计算量。
  • Region Proposal Network (RPN):基于二维特征图使用 RPN 生成候选框,并完成物体检测的分类和边界框回归。

这种架构使 VoxelNet 能够在三维点云上高效、准确地进行物体检测。

Pointpillar

创新点主要是将点云看作一个一个垂直的长条(pillar)进行处理,这个是网络结构图

PointPillars 的网络结构分为三个主要部分:Pillar Feature NetBackbone (2D CNN)Detection Head (SSD)。以下是每个部分的详细解读:

1. Pillar Feature Net

  • 目标:将原始点云数据转化为"柱状"特征表示,从而为后续的卷积神经网络提供有效的输入。
  • 过程
    1. 划分点云为柱(pillars):与 VoxelNet 不同,PointPillars 使用柱状划分,将点云划分为柱(pillar)。每个柱在 (x)-(y) 平面上有固定的分辨率,但在 (z) 轴上不分层。每个柱代表一个二维网格单元,因此柱内的所有点在水平方向上共享位置,但可以有不同的高度。
    2. 每个柱特征的生成 :将每个柱中的点特征(例如,(x)、(y)、(z) 坐标和反射强度等)输入 Pillar Feature Net 中,通过多层感知机(MLP)提取柱的特征。
    3. 特征聚合:在 Pillar Feature Net 中,对柱内的点特征使用最大池化(Max Pooling)操作,将每个柱内所有点的特征聚合成一个统一的柱特征向量,表示该柱的全局特征。这样可以得到每个柱的固定维度特征表示。
  • 输出:最终的 Pillar Feature Net 输出一个二维特征图,在 (x)-(y) 平面上为每个柱生成特征,这些特征将用于后续的二维卷积网络。

具体过程如下:

堆叠柱 (Stacked Pillars)

  • (D=9),特征为 ((x, y, z, r, x_c, y_c, z_c, x_p, y_p))
    • (r) 表示反射强度
    • 下标 (c) 表示到柱中所有点的算术平均值的距离
    • 下标 (p) 表示到柱的 (x)、(y) 中心的偏移
  • (P) 表示柱的编号
  • (N) 表示每个柱中的点数。如果超过 (N) 个点,则进行采样;如果少于 (N) 个点,则补零填充。

迷你 PointNet

  • 通过迷你 PointNet,将 (D) 通道特征转换为 (C) 通道(高维特征)

最大池化

  • 将 (N) 维度减少到 1。使用最大池化从柱中聚合特征(局部上下文)

散射

  • 将特征散射回原始柱的位置,(H) 和 (W) 分别为画布的高度和宽度。

2. Backbone (2D CNN)

  • 目标:在二维平面上进一步提取特征,捕获空间上下文信息,为目标检测提供高级别特征。
  • 过程
    1. 残差网络 (ResNet):Backbone 网络采用了一个由残差模块(ResNet)组成的二维卷积神经网络,用来在 (x)-(y) 平面上进行特征提取。残差模块可以通过跳层连接(skip connections)增强特征提取的效果,使得网络能够捕获多尺度的特征信息。
    2. 多尺度特征图:为了支持对不同大小的物体进行检测,Backbone 网络生成了多尺度特征图(feature maps),分别代表不同分辨率下的特征信息。
  • 特征下采样:Backbone 网络通常会进行几次下采样操作(通过步幅和池化),从而减少特征图的空间分辨率,这可以降低计算复杂度并增大感受野,使得网络可以识别更大范围的物体。

3. Detection Head (SSD)

  • 目标:基于提取的特征图生成候选框,完成物体检测和分类。
  • 过程
    1. 单次多框检测 (Single Shot Detection, SSD):PointPillars 使用了单次多框检测(SSD)作为检测头。SSD 是一种高效的物体检测方法,通过一个单阶段网络直接输出目标类别和边界框位置。
    2. 检测框生成:检测头中的卷积层为每个特征点生成候选框。每个候选框会进行分类(判断是否为物体及其类别)和边界框回归(确定物体位置和大小)。
    3. 非极大值抑制 (Non-Maximum Suppression, NMS):在候选框生成后,会使用非极大值抑制来去除重叠度较高的框,从而得到最终的检测结果。
  • 输出:Detection Head 输出每个候选框的置信度(分类分数)和边界框位置、尺寸等信息,最终的检测结果由这些候选框组合得到。

总结

  • Pillar Feature Net:将点云划分为柱状区域,生成柱的特征表示,使原始点云信息转换为适合二维卷积的输入特征图。
  • Backbone (2D CNN):使用二维卷积网络提取多尺度的空间特征,提高检测的鲁棒性和效率。
  • Detection Head (SSD):使用单阶段 SSD 结构,直接在特征图上生成目标的候选框,完成检测和分类任务。

这种结构设计使得 PointPillars 可以高效地将稀疏点云转化为二维特征图,并在二维空间内完成检测。

相关推荐
幺零九零零40 分钟前
【C++】socket套接字编程
linux·服务器·网络·c++
23zhgjx-NanKon1 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon1 小时前
华为eNSP:mux-vlan
网络·安全·华为
点点滴滴的记录1 小时前
RPC核心实现原理
网络·网络协议·rpc
Lionhacker2 小时前
网络工程师这个行业可以一直干到退休吗?
网络·数据库·网络安全·黑客·黑客技术
程思扬3 小时前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节
ZachOn1y3 小时前
计算机网络:运输层 —— 运输层概述
网络·tcp/ip·计算机网络·运输层
转世成为计算机大神3 小时前
网关 Spring Cloud Gateway
java·网络·spring boot·1024程序员节
乌龟跌倒4 小时前
网络层3——IP数据报转发的过程
网络·tcp/ip·计算机网络·智能路由器