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

CT3D

  • 一、RPN for 3D Proposal Generation
  • 二、Proposal-to-point Encoding Module
    • 2.1、Proposal-to-point Embedding
    • 2.2、Self-attention Encoding
  • 三、Channel-wise Decoding Module
    • 3.1、Standard Decoding
    • 3.2、Channel-wise Re-weighting
    • 3.3、Channel-wise Decoding Module
  • 四、Detect head and Training Targets
  • 五、训练losses

在这里插入图片描述

一、RPN for 3D Proposal Generation

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

二、Proposal-to-point Encoding Module

通过以下两个模块精修RPN输出的proposal:
1、将proposal特征映射到点的特征上(下图左)。
2、通过自注意力编码对proposal内点之间的相对关系进行建模来细化点的特征(下图右)。
在这里插入图片描述

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

3.1、Standard Decoding

3.2、Channel-wise Re-weighting

3.3、Channel-wise Decoding Module

四、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回归损失。
在这里插入图片描述
confidence损失用的是二元交叉墒计算。
在这里插入图片描述
回归损失使用的是Smooth-L1计算,只有 I o U ≥ α R IoU ≥ α_R IoUαR 的Proposal才会用来计算回归损失。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

数据库之索引的底层数据逻辑及应用

索引(index)是帮助数据库高效获取数据的数据结构。 索引的数据结构 堆存储 使用二叉树存储 极端情况下的单链形式 大数据量下,层级越深,查询效率越低。 平衡二叉树 多路平衡查找树 B树的结构 所有的数据都存储在叶结点中…

redis Redis::geoAdd 无效,phpstudy 如何升级redis版本

redis 查看当前版本命令 INFO SERVERwindows 版redis 进入下载 geoadd 功能在3.2之后才有的,但是phpstudy提供的最新的版本也是在3.0,所以需要升级下 所以想出一个 挂狗头,卖羊肉的方法,下载windows 的程序,直接替…

Cache学习(3):Cache地址映射(直接映射缓存组相连缓存全相连缓存)

1 Cache的与存储地址的映射 以一个Cache Size 为 128 Bytes 并且Cache Line是 16 Bytes的Cache为例。首先把这个Cache想象成一个数组,数组总共8个元素,每个元素大小是 16 Bytes,如下图: 现在考虑一个问题,CPU从0x0654…

Vue3 + Scss 实现主题切换效果

Vue3 Scss 实现主题切换效果 先给大家看一下主题切换的效果: 像这样的效果实现起来并不难,只是比较麻烦,目前我知道的有两种方式可以实现,分别是 CSS 变量、样式文件切换,下面是该效果的核心实现方法 CSS变量 给…

3D数字孪生场景编辑器

在线工具推荐: 3D数字孪生场景编辑器 - GLTF/GLB材质纹理编辑器 - 3D模型在线转换 - Three.js AI自动纹理开发包 - YOLO 虚幻合成数据生成器 - 三维模型预览图生成器 数字孪生的强大功能来自于将真实世界的资产与真实世界的数据联系起来,因此您可以…

95.STL-遍历算法 for_each

算法概述: 算法主要是由头文件 <algorithm> <functional> <numeric> 组成。 <algorithm> 是所有STL头文件中最大的一个&#xff0c;范围涉及到比较、 交换、查找、遍历操作、复制、修改等等 <numeric> 体积很小&#xff0c;只包括几个在序列上面…

激光线提取

在做单线激光三维重建&#xff0c;和多线激光三维重建的时候都会设计到激光线提取算法的实现&#xff0c;如何保持高速和高精度是关键 &#xff0c;最近优化了steger中心线提取算法&#xff0c;通过并行化实现在cpu版本可以做到2m,GPU版本可以做到0.6ms左右&#xff0c;完全可…

华为智能手表独立导航,一呼即应轻松畅行

PetalMaps 手表独立导航&#xff0c;一声令下唤醒导航&#xff0c;打造了智慧的语音交互唤醒体验功能。导航时&#xff0c;语音播报、变道震动提醒功能&#xff0c;让您尽情体验腕上导航乐趣&#xff0c;同时又能安全抵达目的地。

pinpoint链路跟踪运用及日志logback配置

本文将讲述pinpoint的安装&#xff0c;使用及与java logback 日志的集成。 介绍 是什么 是一款 APM监控工具(Application Performance Management/应用性能管理)基于java编写用于 大规模分布式系统 的监控&#xff0c;是 分析 大规模分布式系统 的平台基于google Dapper开发&…

路径规划之A*算法

系列文章目录 路径规划之Dijkstra算法 路径规划之Best-First Search算法 路径规划之A*算法 路径规划之A*算法 系列文章目录前言一、前期准备1.1 算法对比1.2 数学式方法1.3 启发式方法 二、A*算法2.1 起源2.2 思想2.3 启发式函数2.4 过程2.5 案例查看 前言 之前提过Dijkstra算…

vue3中readonly和shallowReadonly

readonly: 深度只读数据 获取一个对象 (响应式或纯对象) 或 ref 并返回原始代理的只读代理。 只读代理是深层的&#xff1a;访问的任何嵌套 property 也是只读的。 shallowReadonly 浅只读数据 创建一个代理&#xff0c;使其自身的 property 为只读&#xff0c;但不执行…

文件权限中 chmod、u+x、u、r、w、x分别代表什么

Linux系统中的每个文件和目录都有访问许可权限&#xff0c;如下面所示&#xff1a; 要说清楚问题&#xff0c;我们截取一些内容&#xff1a; ypyubuntu:~$ ls -l drwxr-xr-- 2 ypy ypy 4096 Nov 30 18:33 Desktop/ drwxr-xr-- 2 ypy ypy 4096 Nov 30 18:33 Documen…

视频没有字幕怎么办,怎么给视频增加字幕

文章目录 视频没有字幕怎么办&#xff0c;怎么给视频增加字幕前言软件准备制作字幕1. 导入视频2. 将视频拖拽到轨道3. 生成字幕4. 导出字幕 字幕实时翻译1. 播放视频2. 显示字幕设置3. 双语字幕显示 总结 视频没有字幕怎么办&#xff0c;怎么给视频增加字幕 前言 有时候下载的…

第二节HarmonyOS DevEco Studio创建项目以及界面认识

一、创建项目 如果你是首次打开DevEco Studio&#xff0c;那么首先会进入欢迎页。 在欢迎页中单击Create Project&#xff0c;进入项目创建页面。 选择‘Application’&#xff0c;然后选择‘Empty Ability’&#xff0c;单击‘Next’进入工程配置页。 配置页中&#xff0c;详…

Mysql的分库分表

一、单Mysql节点 假如一主一从 为什么不能无限读&#xff1f; 瓶颈分析&#xff1a; 资源限制&#xff1a; 如CPU、内存、磁盘I/O、网络带宽等。随着读请求的增加&#xff0c;服务器的负载将会增加&#xff0c;甚至可能导致系统崩溃。 连接数限制&#xff1a; MySQL有最大连…

Docker:深入解析Nexus技术构建可靠的软件仓库管理系统

1、简述 在现代软件开发中&#xff0c;有效的软件仓库管理是确保项目成功的关键一环。Nexus Repository Manager作为一种流行的仓库管理系统&#xff0c;为开发人员提供了强大的工具&#xff0c;用于存储、检索和管理软件构建。本文将深入解析Nexus技术&#xff0c;探讨其关键…

GPIO的使用--操作PF09 PF10 PF08实现呼吸灯、跑马灯、警报闪烁灯

先来个呼吸灯演示 呼吸灯 目录 一、GPIO的介绍 1.含义 2.控制原理 3.控制流程 二、LED控制 1.呼吸灯 操作代码 烧录结果 2.蜂鸣器红绿灯交替 操作代码 3.红绿灯交替闪烁 操作代码 一、GPIO的介绍 1.含义 GPIO(general porpose intput output),通用输入输出端口。…

应用密码学期末复习(2)

目录 第二章 2.1数论与密码基础-数论基本概念 2.1.1几个基本概念 2.1.2辗转相除法 2.1.3解一次周余式 2.2密码基础-单表密码 2.2.1单表密码体制 2.2.2单表密码的统计分析 2.3密码基础-多表密码 2.4密码基础-置换密码 第二章 2.1数论与密码基础-数论基本概念 2.1.1几…

window关于下载anaconda 2023年以后的版本,jupyter notebook闪退,没有内核的问题

这种问题的解决办法&#xff1a; 下载anaconda较早版本&#xff0c;比如我下载的是&#xff1a;2022年5月的版本。 下载之后&#xff0c;打开jupyter好像也会没有内核和闪退。 下面解决步骤&#xff1a; 1.注意&#xff1a;打开anaconda powershell prompt 2.重点来了&#xf…

IDEA 2022.1 同一个 spring boot main类运行多个实例

普通的 Java 项目 运行多个实例是非常简单的&#xff0c;直接点击 run 多次即可&#xff0c;但在 spring boot 中默认情况下&#xff0c;是不允许把同一个 web 项目改完端口后多次运行的&#xff0c;如下会显示让你先停止当前实例后再启动&#xff1a; 开启运行多个实例的的方法…