3D点云目标检测:CT3D解读(未完)

这篇具有很好参考价值的文章主要介绍了3D点云目标检测:CT3D解读(未完)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3D点云目标检测:CT3D解读(未完),3D点云目标检测,深度学习,3d,目标检测,人工智能

一、RPN for 3D Proposal Generation

就是基于单阶段的网络获取box作为Proposal,文章中使用的是Second网络,其他的如pointpillar、centerpoint都可以作为
CT3D的RPN网络。

二、Proposal-to-point Encoding Module

通过以下两个模块精修RPN输出的proposal:
1、将proposal特征映射到点的特征上(下图左)。
2、通过自注意力编码对proposal内点之间的相对关系进行建模来细化点的特征(下图右)。
3D点云目标检测:CT3D解读(未完),3D点云目标检测,深度学习,3d,目标检测,人工智能

2.1、Proposal-to-point Embedding

对于给定的一个proposal,选择ROI区域内的点,ROI区域是一个没有高度限制的圆柱体,然后随机选取ROI范围内的256个点。

  • 首先计算采样点和Proposal中心点的相对坐标, Δ p i c = p i − p c , ∀ p i ∈ N \Delta \boldsymbol{p}_{i}^{c}=\boldsymbol{p}_{i}-\boldsymbol{p}^{c}, \forall \boldsymbol{p}_{i} \in \mathcal{N} Δpic=pipc,piN
  • 然后一个直接的做法是将Proposal的长、宽、高、和旋转角度信息直接拼接到每个点的特征上,即 [ Δ p i c , l c , w c , h c , θ c , f i r ] \left[\Delta \boldsymbol{p}_{i}^{c}, l^{c}, w^{c}, h^{c}, \theta^{c}, f_{i}^{r}\right] [Δpic,lc,wc,hc,θc,fir]。由于Transformer 编码器根据这种几何信息重新定向的效果可能较差,所以这种直接基于尺寸和方向的特征表示对于Proposal的优化帮助可能是有限的。
  • 通过计算采样点和Proposal八个顶点的相对位置, Δ p i j = p i − p j , j = 1 , … , 8 \Delta \boldsymbol{p}_{i}^{j}=\boldsymbol{p}_{i}-\boldsymbol{p}^{j}, j=1, \ldots, 8 Δpij=pipj,j=1,,8 p j {p}^{j} pj是第 j j j个顶点的坐标,这样长、宽、高和角度信息就被重新编码为不同纬度的距离信息。
  • 最后将上述信息合并,并经多一个MLP网络上提升特征纬度。
    f i = A ( [ Δ p i c , Δ p i 1 , … , Δ p i 8 , f i r ] ) ∈ R D \boldsymbol{f}_{i}=\mathcal{A}\left(\left[\Delta \boldsymbol{p}_{i}^{c}, \Delta \boldsymbol{p}_{i}^{1}, \ldots, \Delta \boldsymbol{p}_{i}^{8}, f_{i}^{r}\right]\right) \in \mathbb{R}^{D} fi=A([Δpic,Δpi1,,Δpi8,fir])RD

2.2、Self-attention Encoding

随后将重新编码后的采样点送入多头自注意力层,然后接一个带有残差结构的FFN网络。除了没有位置编码外(在第一步中已经包含了位置信息),这种自注意力编码机制和NLP中的Transofrmer结构几乎一模一样。encoding具体细节略过。

三、Channel-wise Decoding Module

解码器模块是将编码器模块输出的所有点的特征聚合成一个全局特征,表示这个proposal的特征,用来做refine。标准的transformer的解码器的query embedding个数是M,Voxelnext解码器的query embedding的个数是1,主要原因是

  • M个query embedding计算会特别慢,尤其是在Proposals的数量特别多的时候。
  • M个query embedding通常对应M个输出,而目标检测的refine阶段,一个Proposal只对应一个输出。

3.1、Standard Decoding

标准解码策略是用一个D维可学习点向量作为query embedding,用所有点的所有通道来聚合点的特征,得到注意力全中 W W W,每个注意力head的解码权重计算公式如下:
w h ( S ) = σ ( q ^ h K ^ h T D ′ ) , h = 1 , … , H \boldsymbol{w}_{h}^{(S)}=\sigma\left(\frac{\hat{\boldsymbol{q}}_{h} \hat{\mathbf{K}}_{h}^{T}}{\sqrt{D^{\prime}}}\right), h=1, \ldots, H wh(S)=σ(D q^hK^hT),h=1,,H
其中 K h ^ \hat{K_h} Kh^是第h个head的key embedding,是通过编码器的输出投影得到的(其实就是1x1卷积,只是为了改变特征通道数,也可以不改变),size是[N,D]。 q h ^ \hat{q_h} qh^是相应的query embdding,这里就是1个随机生成的D维向量,size是[1,D],然后使用softmax进行归一化,得到解码权重向量,size是[1,N]。文章中给出了这个公式对应图示:
3D点云目标检测:CT3D解读(未完),3D点云目标检测,深度学习,3d,目标检测,人工智能
文章中说的到的解码权重向量是从简单的全局聚合导出的,缺乏全部通道建模,并且给了图展示,其实对照的图和公式不能一下看出来怎么是全局聚合,缺乏通道建模,下面我按照自己的理解方式尝试解释一下:
先看一个自注意力机制的计算过程:
假设原始向量是 X X X的维度是[3,4],即有3个token,每个token的特征通道是4,也可以理解为 X X X是3个点云的集合,每个点云的特征数为4,那一次自注意力机制的计算过程就是:

标准解码的权重向量是从简单的全局聚合计算得到的,缺乏局部通道建模,这对于学习点云的3D表面结构至关重要,因为不同通道通常在点云中表现出很强的几何关系。

3.2、Channel-wise Re-weighting

w h ( C ) = s ⋅ σ ^ ( K ^ h T D ′ ) , h = 1 , … , H \boldsymbol{w}_{h}^{(C)}=\boldsymbol{s} \cdot \hat{\sigma}\left(\frac{\hat{\mathbf{K}}_{h}^{T}}{\sqrt{D^{\prime}}}\right), h=1, \ldots, H wh(C)=sσ^(D K^hT),h=1,,H

3.3、Channel-wise Decoding Module

w h ( E C ) = s ⋅ σ ^ ( ρ ( q ^ h K ^ h T ) ⊙ K ^ h T D ′ ) , h = 1 , … , H \boldsymbol{w}_{h}^{(E C)}=\boldsymbol{s} \cdot \hat{\sigma}\left(\frac{\rho\left(\hat{\boldsymbol{q}}_{h} \hat{\mathbf{K}}_{h}^{T}\right) \odot \hat{\mathbf{K}}_{h}^{T}}{\sqrt{D^{\prime}}}\right), h=1, \ldots, H wh(EC)=sσ^ D ρ(q^hK^hT)K^hT ,h=1,,H

四、Detect head and Training Targets

将经过编码-解码模块的输出送入两个FFN网络中,预测得到confidence和相对于输入的Proposal的box残差值。
训练过程中confidence的真值被设置为Proposals和对应的gt的3D IoU值。confidence真值计算公式如下:
c t = min ⁡ ( 1 , max ⁡ ( 0 , I o U − α B α F − α B ) ) c^{t}=\min \left(1, \max \left(0, \frac{\mathrm{IoU}-\alpha_{B}}{\alpha_{F}-\alpha_{B}}\right)\right) ct=min(1,max(0,αFαBIoUαB))

box回归值的真值计算如下:
x t = x g − x c d , y t = y g − y c d , z t = z g − z c h c , l t = log ⁡ ( l g l c ) , w t = log ⁡ ( w g w c ) , h t = log ⁡ ( h g h c ) , θ t = θ g − θ c , \begin{aligned} x^{t} & =\frac{x^{g}-x^{c}}{d}, y^{t}=\frac{y^{g}-y^{c}}{d}, z^{t}=\frac{z^{g}-z^{c}}{h^{c}}, \\ l^{t} & =\log \left(\frac{l^{g}}{l^{c}}\right), w^{t}=\log \left(\frac{w^{g}}{w^{c}}\right), h^{t}=\log \left(\frac{h^{g}}{h^{c}}\right), \\ \theta^{t} & =\theta^{g}-\theta^{c}, \end{aligned} xtltθt=dxgxc,yt=dygyc,zt=hczgzc,=log(lclg),wt=log(wcwg),ht=log(hchg),=θgθc,

五、训练losses

CT3D是端到端的训练策略,包括三个损失,分别是RPN损失、confidence损失、box回归损失。
3D点云目标检测:CT3D解读(未完),3D点云目标检测,深度学习,3d,目标检测,人工智能
confidence损失用的是二元交叉墒计算。
3D点云目标检测:CT3D解读(未完),3D点云目标检测,深度学习,3d,目标检测,人工智能
回归损失使用的是Smooth-L1计算,只有 I o U ≥ α R IoU ≥ α_R IoUαR 的Proposal才会用来计算回归损失。
3D点云目标检测:CT3D解读(未完),3D点云目标检测,深度学习,3d,目标检测,人工智能文章来源地址https://www.toymoban.com/news/detail-758502.html

到了这里,关于3D点云目标检测:CT3D解读(未完)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 3D目标检测数据集 KITTI(标签格式解析、点云转图像、点云转BEV)

    本文介绍在3D目标检测中,理解和使用KITTI 数据集,包括KITTI 的基本情况、下载数据集、标签格式解析、3D框可视化、点云转图像、画BEV鸟瞰图等,并配有实现代码。 目录  1、KITTI数据集3D框可视化 2、KITTI 3D数据集 3、下载数据集 4、标签格式 5、标定参数解析 6、点云数据--投

    2024年02月09日
    浏览(43)
  • [论文阅读]PillarNeXt——基于LiDAR点云的3D目标检测网络设计

    PillarNeXt: Rethinking Network Designs for 3D Object Detection in LiDAR Point Clouds 基于LiDAR点云的3D目标检测网络设计 论文网址:PillarNeXt 代码:PillarNeXt 这篇论文\\\"PillarNeXt: Rethinking Network Designs for 3D Object Detection in LiDAR Point Clouds\\\"重新思考了用于激光雷达点云3D目标检测的网络设计。主要的贡献

    2024年02月08日
    浏览(43)
  • CasA:用于点云 3D 目标检测的级联注意力网络

    LiDAR 收集的数据通常表现出稀疏和不规则的分布。 3D 空间中的 LiDAR 扫描并不均匀。近处和远处的物体之间存在巨大的分布差距。 CasA(Cascade Attention) 由 RPN(Region proposal Network)和 CRN(cascade refinement Network)组成。 RPN 使用 3-D backbone 网络将体素编码为 3-D 特征 volumes。然后采用

    2024年02月07日
    浏览(45)
  • 3D目标检测--PointPillars论文和OpenPCDet代码解读

    解决传统基于栅格化的3D目标检测方法在面对高密度点云数据时的性能瓶颈; 栅格化方法需要将点云数据映射到规则的网格中,但是对于高密度点云,栅格化操作会导致严重的信息损失和运算效率低下; 因此,该论文提出了一种新的基于点云的3D目标检测方法——PointPillars,

    2023年04月22日
    浏览(80)
  • 3D目标检测(一)—— 基于Point-Based方法的PointNet点云处理系列

    目录 3D目标检测(一)—— PointNet,PointNet++,PointNeXt, PointMLP 前言 零、网络使用算法 FPS最远点采样法 Ball-query球查询 一、PointNet 二、PointNet++ MSG-PointNet++ 三、PointNeXt 四、PointMLP 总结 在3D目标检测中,可以大致分为基于图像、基于点云和基于多模态融合的三种方法。而基于点

    2023年04月09日
    浏览(53)
  • 3D目标检测数据集 KITTI(标签格式解析、3D框可视化、点云转图像、BEV鸟瞰图)

    本文介绍在3D目标检测中,理解和使用KITTI 数据集,包括KITTI 的基本情况、下载数据集、标签格式解析、3D框可视化、点云转图像、画BEV鸟瞰图等,并配有实现代码。 目录  1、KITTI数据集3D框可视化 2、KITTI 3D数据集 3、下载数据集 4、标签格式 5、标定参数解析 6、点云数据--投

    2024年02月08日
    浏览(41)
  • [论文阅读]MVF——基于 LiDAR 点云的 3D 目标检测的端到端多视图融合

    End-to-End Multi-View Fusion for 3D Object Detection in LiDAR Point Clouds 论文网址:MVF 论文代码: 这篇论文提出了一个端到端的多视角融合(Multi-View Fusion, MVF)算法,用于在激光雷达点云中进行3D目标检测。论文的主要贡献有两个: 提出了动态体素化(Dynamic Voxelization)的概念。相比传统的硬体素

    2024年01月23日
    浏览(43)
  • 深度学习目标检测_YOLOV2超详细解读

    YOLO v1虽然检测速度快,但在定位方面不够准确,并且召回率较低。为了提升定位准确度,改善召回率,YOLO v2在YOLO v1的基础上提出了几种改进策略,如下图所示,一些改进方法能有效提高模型的mAP。 这个图片的第2行第1列是进行改进的点,第2行第3列应该看红色数字标注的列

    2024年02月08日
    浏览(48)
  • 3D目标检测概要及VoxelNet论文和代码解读(1)--Pillar VFE

    点云和图像都是自动驾驶中常用的传感器数据类型,它们各自有不同的优缺点。点云目标检测在自动驾驶领域中有着不可替代的优势,尤其是在需要精准定位和避障的场景下,点云目标检测可以为自动驾驶车辆提供更为准确和可靠的感知能力,点云的主要优势为: 三维信息丰

    2024年02月06日
    浏览(37)
  • 关于视觉3d目标检测学习像素深度的一点理解

    在真实世界的一个物体,可以通过相机矩阵将其投影到像素坐标系上 但是,在像素坐标系上的像素,由于相机的原理,导致它的深度信息已经没有了,所以原理上是没法得到其真实深度的(即3d位置) 那么现在的深度学习方法又为什么能预测出物体的深度呢? 个人理解: 大概

    2024年01月25日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包