CasA:用于点云 3D 目标检测的级联注意力网络

论文摘要

LiDAR 收集的数据通常表现出稀疏和不规则的分布。
3D 空间中的 LiDAR 扫描并不均匀。近处和远处的物体之间存在巨大的分布差距。

CasA(Cascade Attention) 由 RPN(Region proposal Network)和 CRN(cascade refinement Network)组成。
RPN 使用 3-D backbone 网络将体素编码为 3-D 特征 volumes。然后采用二维检测头来生成区域 proposal。与大多数使用单个子网络细化区域建议的最先进的两级 3D 检测器不同, CRN 逐步细化和补充来自一系列子网工作的预测,形成高质量的预测。此外,论文设计了一种新的级联注意力模块(CAM)来聚合来自不同阶段的特征以进行全面的区域提议细化。
CasA 集成了 part-aided 评分,将 parts 的目标完整性视为 structure-aware 单级 3D 目标检测 [structure-aware 单级检测器 (SA-SSD)],以更好地估计 proposal confidence。

论文背景

3D 目标检测是场景理解的关键任务之一。
现有方法主要遵循单级或两级检测框架。
单阶段方法直接使用点云的编码特征执行目标检测。
两阶段方法遵循 region-based 卷积神经网络(RCNN)框架。首先生成一组候选边界框,然后使用感兴趣区域(RoI)池化方法提取提案的区域特征,最后使用提取的特征细化 proposal。

多阶段(两阶段之外)的方法已经被广泛探索,并在2D 目标检测中被证明是有效的。但在点云上进行完全监督的 3-D 目标检测的多阶段方法仍未得到充分探索。当前的多阶段方法和级联结构使用一系列独立的子网络来细化目标 proposal。一般来说,这些方法可以学习各种困难下的对象特征,但在后面的阶段衡量所有先前阶段 proposal 质量的能力有限。

论文工作

在这里插入图片描述
CasA 是一个多级检测框架,可以集成到各种两阶段 3D 检测器中。目的是以级联注意力方式聚合来自所有阶段的特征
CasA 由一个 RPN 和一个 CRN 组成:RPN 首先使用 3-D 主干网络和 2-D 检测头来生成区域提案。CRN 由多个子网络组成,该方案聚合不同阶段的提案特征以进行更全面的边界框预测。

Cascade Attention for Proposal Refinemen

普通级联结构

Cascade R-CNN [1] 使用普通级联结构,该结构使用一系列单独的子网络并提高 IoU 阈值来细化区域提案。

[1] Z. Cai and N. Vasconcelos, “Cascade R-CNN: Delving into high quality object detection,” in Proc. IEEE Conf. Comput. Vis. Pattern Recognit., 2018, pp. 6154–6162.

这样一个普通级联结构包括 N r N_r Nr 个refiner。 第 j j j 个 refiner 将来自前一阶段的 region proposal B j − 1 B^{j-1} Bj1 作为输入,并利用特征提取器 ϕ ( ⋅ ) \phi(\cdot) ϕ() 来提取目标特征 F j F^{j} Fj。然后,对 F j F^{j} Fj 进行置信度预测 S ( ⋅ ) \mathcal {S(\cdot)} S() 以及 box 回归 R ( ⋅ ) \mathcal R(\cdot) R(),输出为一个新的置信分数 C j C^j Cj 和 新的 box B j B^j Bj。公式如下: F j = ϕ j ( B j − 1 ) , C j = S j ( F j ) , B j = R j ( F j ) (1) \tag 1 F^{j}=\phi^{j}(B^{j-1}),C^{j} = \mathcal S^{j}(F^j),B^{j}=\mathcal R^{j}(F^{j}) Fj=ϕj(Bj1)Cj=Sj(Fj)Bj=Rj(Fj)(1)其中 j = 1 , 2 , . . . , N r j = 1,2,...,N_r j=1,2,...,Nr
这种设计已在二维物体检测中被证明是有效的。然而,直接在 3D 中应用这种普通级联结构并不能带来理想的改进。例如,在 KITTI 验证集上,使用具有普通级联结构的 Voxel-RCNN 检测器,检测性能(在中等汽车类别上),如表 1 所示,没有改善。

在这里插入图片描述
改进不理想的原因有:
1.忽略了远处的目标
在多阶段方法中,由于缺乏负训练样本,后期阶段往往会过度拟合。2-D 方法建立不断上升的 IoU 阈值来重新采样平衡样本。然而,在 3D 点云中,这种重采样会导致附近和远处对象之间的训练不平衡,因为点云通常是非均匀分布的。 具有密集点的附近物体可以产生被选为正样本的高质量提案,而远处的物体往往是负样本。
在这种不平衡的训练下,后期会准确地预测附近的物体,而忽略远处的物体。
应对措施:在前面阶段中增加更多的目标 appearance 来确保后面阶段中仍然有足够的 evidence 来恢复被忽略的远处目标

2.误差传播问题
由于需要物体高度和非轴对齐角度估计,3D 检测更具挑战性。Small errors 可能会沿着下游多级框架传播,从而导致检测失败。
应对措施: 在阶段之间建立更多的连接,并且单个阶段的 errors 可以由其他阶段以互补的方式修复。

论文在这些 refiner 之间建立有效的连接,以组成有效的精炼。最后,设计了特征提取器 CAM 来聚合不同阶段的目标特征。

通过级联注意力进行特征聚合

给出一个 region proposal B j − 1 B^{j-1} Bj1,大部分已知的检测器使用一个 region pooling module 来提取提议特征 F ^ j ∈ R 1 × C \hat F^j \in \R^{1 \times C} F^jR1×C 来做 box 回归以及置信度预测,其中 C C C 是特征维度。
然而在级联结构中,这样的策略只能捕捉到当前阶段的 proposal 特征,忽略了先前的其他阶段。一个简单的方法是直接拼接来自不同阶段的特征。但是这很难学习到阶段与阶段之间的特征重要性,并且它带来的性能提升有限。

论在对于每个编码的特征 F ^ j \hat F^j F^j ,首先连接了一个阶段的 的位置 embedding P j P^j Pj F ^ j = [ F ^ j , P j ] \hat F^j = [\hat F^j,P^j] F^j=[F^j,Pj]。在第 j j j 个 refinement 阶段,收集来自其他所有先前阶段的 F j = [ F ^ 0 , F ^ 1 , . . . , F ^ j ] \boldsymbol F^j=[\hat F^0,\hat F^1,...,\hat F^j] Fj=[F^0,F^1,...,F^j]。然后有 Q j = F ^ j W q j , K j = F ^ j W k j , V j = F ^ j W v j \boldsymbol Q^j = \hat F^j \boldsymbol W_q^j,\boldsymbol K^j = \hat F^j \boldsymbol W_k^j\boldsymbol, V^j = \hat F^j \boldsymbol W_v^j Qj=F^jWqj,Kj=F^jWkj,Vj=F^jWvj,其中 W q j , W k j , W v j \boldsymbol {W_q^j,W_k^j,W_v^j} Wqj,Wkj,Wvj 都是线性投影。 Q j , K j , V j \boldsymbol {Q^j,K^j,V^j} Qj,Kj,Vj 分别是 Query、Key 和 value embedding。为了增强 representational ability,采取了多头设计。来自第 i i i 个头的 embeding 为 Q i j , K i j , V i j \boldsymbol {Q_i^j,K_i^j,V_i^j} Qij,Kij,Vij。一个头的注意力为: F ^ i j = softmax ( Q i j ( K i j ) T C ′ ) V i j . (2) \tag2 \hat F_i^j = \text{softmax} \Big( \frac{ \boldsymbol {Q_i^j} (\boldsymbol K_i^j)^T} {\sqrt{C^{'}}} \Big) \boldsymbol V_i^j . F^ij=softmax(C Qij(Kij)T)Vij.(2) 其中 C ′ C^{'} C 是多头注意力中的特征维度。直观上,现阶段的特征对 proposal refinement 贡献更大。因此,我们还将特征 F ^ j \hat F^j F^j H H H 多头注意力特征连接起来,以制定用于框回归和置信度预测的特征向量 F j F^j Fj F j = Concat ( F ^ j , F 1 j , F 2 j , . . . , F H j ) . (3) \tag3 F^j = \text{Concat}(\hat F^j,\boldsymbol F^j_1,\boldsymbol F^j_2,...,\boldsymbol F^j_H). Fj=Concat(F^j,F1j,F2j,...,FHj).(3)对于第一个细化阶段,实际上执行自注意力操作。对于其他阶段,我们执行 cross-attention 操作,聚合来自不同阶段的特征。通过采用这样的级联注意力设计,CasA可以更好地估计所有阶段的 proposal 质量,这有助于提高提案细化的准确性。

Box Regression and Part-Aided Scoring

对相对于输入 3D proposal 的 box size,位置,方向残差进行回归。论文受到 part-sensitive warping[2] 对部分分数图中的目标分数进行平均的启发设计了一个 part-Aided score a j a^j aj 来增强置信度预测。

C. He, H. Zeng, J. Huang, X.-S. Hua, and L. Zhang, “Structure aware single-stage 3D object detection from point cloud,” in Proc. IEEE/CVF Conf. Comput. Vis. Pattern Recognit. (CVPR), Jun. 2020, pp. 11873–11882.

在 pipeline 中,从 局部(part-based) 和全局视角进行 part-aided score 的计算。具体来说, α j \alpha^j αj 由置信度预测分支 S ( ⋅ ) \mathcal S(\cdot) S() 和 part-sensitive warping W ( ⋅ ) \mathcal W(\cdot) W() 来计算: α j = S j ( F j ) + W ( B j , X ) (4) \tag4 \alpha^j=\mathcal S^j(F^j)+\mathcal W(B^j,\boldsymbol X) αj=Sj(Fj)+W(Bj,X)(4)其中 X \boldsymbol X X 是由 RPN 预测的 part score map。通过这样调制,新的 part-aided scoring 使 检测器可以更加精确的估计每个阶段的对象置信度。

在训练中,类似于级联的 R-CNN,设置 3-D IoU 阈值 u = { u 1 , u 2 , . . . , u N r } u =\{ u^1,u^2,...,u^{N_r}\} u={u1,u2,...,uNr} 来定义在不同精细化阶段的正负。
在测试中,对所有细化阶段的框和分数进行平均生成最终检测结果。

Boxes Voting

由于需要物体高度和非轴对齐角度估计,3D 检测更具挑战性。错误倾向于沿着下游多级框架传播。为了进一步解决这个问题,在测试过程中,提出了 Boxes Voting,以建立更多的阶段之间的连接。每个阶段都会输出弱预测和强预测,这些预测可以集成在一起以生成更准确的预测。每个阶段都会输出弱预测和强预测,这些预测可以集成在一起以生成更准确的预测。

一种简单的方法是直接对所有框进行非极大值抑制(Nonmaximum Suppression,NMS),并通过选择置信度最高的框来 assemble 结果。然而,它忽略了低置信度的框,这些框有可能可以检测出未被检测出的目标。

应对措施:论文采用加权 Boxes Voting,直接平均检测置信度,并将按检测置信度加权的框合并 C = 1 N r ∑ j C j (5) \tag 5 C=\frac{1}{N_r}\sum_jC^j C=Nr1jCj(5) B = 1 ∑ j C j ∑ j C j ⋅ B j (6) \tag6 B = \frac{1}{\sum_jC^j}\sum_jC^j \cdot B^j B=jCj1jCjBj(6) 其中 C C C B B B 分别是合并的置信度和框。
经过 Boxes Voting,得到了一组 refined 高品质 boxes。尽管如此,仍然存在很多冗余 boxes,因为每个目标都有许多 refined proposal。为了删除冗余框,最终对投票结果执行 NMS 以产生检测输出。

通过采用投票机制,不同精炼者产生的各种预测(置信度较低、视角/尺度不同)可以以互补的方式组合成更准确/可靠的最终预测。

Backbone Network

首先将原始点云 P 分割成小体素。对于每个体素,使用所有内部点的原始特征的平均值来计算原始特征。采用 3-D 稀疏卷积 S ( ⋅ ) \mathcal S(·) S() 将 3-D 点云编码为特征 volumes。这里, S ( ⋅ ) \mathcal S(·) S() 由一系列 3 × 3 × 3 3×3×3 3×3×3 的 3-D 稀疏卷积核组成,它们将空间特征下采样到 1 × 、 2 × 、 4 × 1×、2×、4× 1×2×4×,最终得到 8 × 8× 8× 下采样的张量。最后一层中的 3D 特征沿着高度维度被压缩为 BEV 特征,用于生成目标 proposal。

区域提议网络 RPN

通过在 BEV 特征图上应用一系列二维卷积来生成 目标 proposal ,并从 BEV 图生成目标 proposal。
首先在 BEV 地图的最后一层上预定义称为锚点的 N p N_p Np 个目标模板。通过对锚点进行分类并回归相对于真实框的对象大小、位置和方向角的残差来生成目标 proposal。通过基于 IoU 的匹配将真实边界框分配给锚点。对于第 i i i 个锚点,描述得分预测,得分目标以及残差预测和残差目标为 a i , a ^ i , δ i , δ ^ i j a_i,\hat a_i,\delta_i,\hat \delta_i^j ai,a^i,δi,δ^ij。Proposal network的损失定义为: L R P N = 1 N p [ ∑ i L s c o r e ( α , α ^ i ) + I ( I o U > u ) ∑ i L r e g ( δ i , δ ^ i ) ] (7) \tag7 \mathcal L_{RPN} = \frac{1}{N_p} \Big[ \sum_i \mathcal L_{score}(\alpha,\hat \alpha_i)+ \mathcal I(IoU > u) \sum_i{\mathcal L_{reg}(\delta_i,\hat \delta_i)} \Big] LRPN=Np1[iLscore(α,α^i)+I(IoU>u)iLreg(δi,δ^i)](7)其中 I ( I o U i > u ) \mathcal I(IoU_i > u) I(IoUi>u) 表示只有 I o U i > u IoU_i > u IoUi>u 的目标 proposal 才会产生回归损失, L r e g \mathcal L_{reg} Lreg L s c o r e \mathcal L_{score} Lscore 分别是平滑 L1 和二元交叉熵损失。

总体训练损失

CasA 可以通过 RPN 损失 L R P N L_{RPN} LRPN 和 CRN 损失 L C R N L_{CRN} LCRN 进行端到端训练。将两个损失以相同的权重结合起来,即 L = L R P N + L C R N L = L_{RPN} + L_{CRN} L=LRPN+LCRN
CRN 损失是多个阶段的多个细化损失的总和。在每个细化阶段,采用框回归损失 L r e g L_{reg} Lreg 和得分损失 L s c o r e L_{score} Lscore。对于第 j j j 个细化阶段的第 i i i 个提案, a i j , a ^ i j , δ i j , δ ^ i j a_i^j,\hat a_i^j,\delta_i^j,\hat \delta_i^j aij,a^ij,δij,δ^ij 表示分数预测、分数目标、残差预测、残差目标。

CRN 的 loss 被定义为: L = 1 N b [ ∑ i ∑ j L s c o r e ∗ ( α i j , α ^ i j ) + I ( I o U i j > u j ) ∑ i ∑ j L r e g ( δ i j , δ ^ i j ) ] (8) \tag 8 \mathcal L = \frac{1}{N_b} \Big[ \sum_i \sum_j \mathcal L_{score}*(\alpha_i^j,\hat \alpha_i^j)+\mathcal I\Big( IoU_i^j > u^j \Big) \sum_i \sum_j \mathcal L_{reg} \Big( \delta_i^j, \hat\delta_i^j \Big) \Big] L=Nb1[ijLscore(αij,α^ij)+I(IoUij>uj)ijLreg(δij,δ^ij)](8) 其中, I ( I o U i j > u j ) \mathcal I\Big( IoU_i^j > u^j \Big) I(IoUij>uj)表示只有 I o U i j > u j IoU^j_i > u^j IoUij>uj 的 object proposals 才会产生回归损失。

论文总结

论文提出了一种多级 3-D 目标检测器 CasA,它通过级联注意力结构逐步细化区域建议。 CasA 通过聚合多个阶段的物体特征,解决了多阶段 3D 物体检测中忽略远处物体和错误传播的问题。
计算成本和性能改进之间存在权衡。

在这里插入图片描述在三阶段细化的情况下明显更好。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/153277.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

uni-app:引入echarts(使用renderjs)

效果 代码 <template><view click"echarts.onClick" :prop"option" :change:prop"echarts.updateEcharts" id"echarts" class"echarts"></view> </template><script>export default {data()…

用netty实现简易rpc

文章目录 rpc介绍&#xff1a;rpc调用流程:代码&#xff1a; rpc介绍&#xff1a; RPC是远程过程调用&#xff08;Remote Procedure Call&#xff09;的缩写形式。SAP系统RPC调用的原理其实很简单&#xff0c;有一些类似于三层构架的C/S系统&#xff0c;第三方的客户程序通过接…

谷歌 Chrome 浏览器正推进“追踪保护”功能

导读近日消息&#xff0c;根据国外科技媒体 Windows Latest 报道&#xff0c;谷歌计划在 Chrome 浏览器中推进“追踪保护”&#xff08;Tracking Protection&#xff09;功能&#xff0c;整合浏览器现有隐私功能&#xff0c;保护用户被网站跟踪。 根据一项 Chromium 提案&…

unity 控制玩家物体

创建场景 放上一个plane&#xff0c;放上一个球 sphere&#xff0c;假定我们的球就是我们的玩家&#xff0c;使用控制键w a s d 来控制球也就是玩家移动。增加一个材质&#xff0c;把颜色改成绿色&#xff0c;把材质赋给plane&#xff0c;区分我们增加的白球。 增加组件和脚…

06_Node.js服务器开发

1 服务器开发的基本概念 1.1 为什么学习服务器开发 Node.js开发属于服务器开发&#xff0c;那么作为一名前端工程师为什么需要学习服务器开发呢&#xff1f; 为什么学习服务器开发&#xff1f; 能够和后端程序员更加紧密配合网站业务逻辑前置扩宽知识视野 1.2 服务器开发可…

全息投影技术服务公司【盟云全息】收入急剧下降,存在风险

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 全息投影技术服务公司【盟云全息】MicroCloud Hologram(HOLO)的股价表现今年以来异常出色&#xff0c;年初至今已经上涨了334%以上&#xff0c;猛兽财经将在本文中分析MicroCloud Hologram股价上涨的原因&#xff0c;以及它…

京东获得店铺的所有商品 API接口分享

item_search_shop-获得店铺的所有商品 公共参数 注册API测试key 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,…

深眸科技自研AI视觉分拣系统,实现物流行业无序分拣场景智慧应用

在机器视觉应用环节中&#xff0c;物体分拣是建立在识别、检测之后的一个环节&#xff0c;通过机器视觉系统对图像进行处理&#xff0c;并结合机械臂的使用实现产品分类。 通过引入视觉分拣技术&#xff0c;不仅可以实现自动化作业&#xff0c;还能提高生产线的生产效率和准确…

react管理系统layOut简单搭建

一、新建立react文件夹&#xff0c;生成项目 npx create-react-app my-app cd my-app npm start 二、安装react-router-dom npm install react-router-dom 三、安装Ant Design of React&#xff08;UI框架库&#xff0c;可根据需求进行安装&#xff09; npm install antd …

短剧是什么?短剧平台的经营模式。短剧平台需要什么资质?

​ 短剧&#xff0c;顾名思义&#xff0c;是一种时长较短的戏剧表演形式。它通常以一个简短的故事或情境为主线&#xff0c;通过角色的表演&#xff0c;展现出一段生动、有趣或富有深意的故事。 短剧的时长通常较短&#xff0c;一般在几分钟到半小时之间&#xff0c;但这并不是…

Nginx + PHP 异常排查,open_basedir 异常处理

新上一个网站&#xff0c;通过域名访问失败&#xff0c;排查方法如下&#xff1a; 开启异常日志 开启域名下&#xff0c;nginx的异常日志&#xff0c;并查看日志 tail -f /var/log/nginx/nginx.localhost.error.log开启php的异常日志&#xff0c;该配置位于php.ini文件下 …

青菜餐饮公司资产负债表之二

一、背景 上一篇文章 青菜餐饮公司资产负债表之一 用一个案例来引导学习资产负债表&#xff0c;要做好资产负债表&#xff0c;最关键的是找准科目&#xff0c;左右平衡。资产和负债的概念基本上都比较好理解&#xff0c;对于没有接触过财务知识的人&#xff0c;所有者权益相对…

nginx+HTTPS证书

申请ssl下载证书 阿里云购买免费证书&#xff0c;可免费申请20个&#xff0c;需要配置域名&#xff0c;域名为单个域名&#xff0c;比如www.xxx.com&#xff0c;必须带前缀。 申请完之后需要创建证书 注&#xff1a;创建证书时阿里云购买的域名可以直接给配好解析&#xff0…

自监督DINO论文笔记

论文名称&#xff1a;Emerging Properties in Self-Supervised Vision Transformers 发表时间&#xff1a;CVPR2021 作者及组织&#xff1a; Facebook AI Research GitHub&#xff1a;https://github.com/facebookresearch/dino/tree/main 问题与贡献 作者认为self-supervise…

Linux系列---【查看mac地址】

查看mac地址命令 查看所有网卡命令 nmcli connection show 查看物理网卡mac地址 ifconfig 删除网卡 nmcli connection delete virbr0 禁用libvirtd.service systemctl disable libvirtd.service 启用libvirtd.service systemctl enable libvirtd.service

基于Spring Boot的网上租贸系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示代码参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技…

iPhone15手机拓展坞方案,支持手机快充+传输数据功能

手机拓展坞的组合有何意义&#xff1f;首先是数据存储场景&#xff0c;借助拓展坞扩展出的接口&#xff0c;可以连接U盘、移动硬盘等采用USB接口的设备&#xff0c;实现大文件的快速存储或者流转&#xff1b;其次是图片、视频的读取场景&#xff0c;想要读取相机、无人机SD/TF存…

大数据学习(2)Hadoop-分布式资源计算hive(1)

&&大数据学习&& &#x1f525;系列专栏&#xff1a; &#x1f451;哲学语录: 承认自己的无知&#xff0c;乃是开启智慧的大门 &#x1f496;如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏⭐️留言&#x1f4dd;支持一下博>主哦&#x…

【Unity3D编辑器开发】Unity3D中制作一个可以随时查看键盘对应KeyCode值面板,方便开发

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在开发中&#xff0c;会遇到要使用监控键盘输入的KeyCode值来执…

10月10日星期二今日早报简报微语报早读

10月10日&#xff0c;星期二&#xff0c;早报简报微语早读分享。 1、全国铁路国庆黄金周运输发送旅客1.95亿人次&#xff1b; 2、贵州公安&#xff1a;三名抢劫杀人嫌犯潜逃至缅北电诈窝点&#xff0c;全部落网&#xff1b; 3、四川&#xff1a;游客擅自进入未开发开放游览活动…