IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> PV-RCNN之Roi-grid pooling详解 -> 正文阅读

[人工智能]PV-RCNN之Roi-grid pooling详解

一、前言

PVRCNN是2019年12月发布的一篇3d目标检测的文章,代码已经在2021年4月开源。
传统的目标检测网络一般是基于 3d voxel 或者基于 pointnet 的方式,而PVRCNN,它结合了基于 point 和基于 voxel 这两种方式,从而提高了三维检测性能。PV-RCNN的原理在于,基于 voexl 的操作可以有效地对多尺度特征表示进行编码,并可以生成高质量的3D proposals,而基于PointNet的 SA 操作可以通过灵活的感受野保留准确的位置信息。

论文里对网络结构和性能介绍的很详细,想要全篇了解的可以去读一下 这篇论文翻译:PV-RCNN论文翻译

这里主要对 PV-RCNN中的 RoI-grid Pooling 模块进行详细的说明。(如果对该网络其它的模块也不是很清楚的可以留言,后需会同步更新出来)

二、RoI-grid pooling module流程图及说明

在这里插入图片描述

图中:
蓝色块表示一个 tensor 张量;
箭头上面的方框表示某种方法;
绿色块表示 一个子网络;
橙色块表示 简单的module,如fc层。

首先要了解 RoI 的输入分别表示什么意思,RoI-grid pooling module 有三个输入,
roi: 表示第一阶段产生的 proposal 这里假设有 100 个框,形状为 (100, 7);
point_coords: 为一开始随机选择的关键点坐标,这里假设选择 2048个关键点,形状为 (2048, 3);
point_features: 表示2048个关键点的特征,该特征融合了 这些关键点 在 3d层,bev层,和raw原始点云层的特征(一般为反射强度), 融合后的特征用 128 维表示,形状为 (2048,128)。

步骤一:
最主要的就是步骤一,所有的两阶段网络模型,其第二阶段都是想要从第一阶段产生的proposal中提取出主要特征,再进一步优化 box 的回归,那应该提取什么样的特征,又该如何提取这些主要特征成为了第二阶段的关键所在。
这里作者对每一个 proposal 进行了均匀的 6x6x6 的网格划分,也就是把每一个 proposal 都划分成了 216 个网格,每个网格的中心点被称为 grid-point(实际中不存在该点), 一开始随机采样的2048 个点,落在 proposal 中的关键点为 key-point, 而 proposal 中的其它点被称为 raw-point,如下图所示,
在这里插入图片描述
因此就得到了 这100 个 proposal 的 216个 grid-point 的相对坐标,roi_grid_point 形状为(100, 216, 3);

具体的操作案例如下:
假设 proposal 的长宽高分别为 (3.1668, 1.5234, 1.4287), 划分成 6x6x6 = 216 个网格,
第一个网格的 索引为 (0, 0, 0), 我们取网格的中心点表示该网格,即(0.5, 0.5, 0.5)。
那么 该 小网格的 相对 proposal 中心点的 x 方向坐标,根据公式:grid_x = x * 3.1668/6 - 3.1668/2 , 即
0.5 * 3.1668/6 - 3.1668/2 = ?1.3195,
同理 可求得第一个小网格的y,z,
得到该坐标为: (-1.3195, -0.6348, -0.5953)

步骤二:
经过旋转和平移,将网格相对中心点的坐标变换到 全局坐标系下的坐标,得到 global_roi_grid_points 形状为(100, 216, 3);

步骤三:
因为关键点的选取是通过 FPS 最远点采样算法,因此会采集到 前景点和背景点,我们希望 特征更注重在 前景点的学习,因此对所有采样的点增加一个权重 weight,该权重 通过一个 3层的 mlp 分支学习, 并且经过sigmoid 函数,使得 权重值在 [0, 1] 之间。

步骤四:
将 步骤二 和步骤三得到的结果,结合关键点的原始坐标信息,经过 SA 操作特征提取,得到 grid-point 的特征。

SA操作的本质 实际上就是:
假设一共有 21600(100x216) 个网格点,每一个 网格点 在 2048 个关键中找到 nsample 个临近点(假设有16个临近点),然后用这16个临近点的特征进行 mlp,maxpooling操作后来表示该 grid_point 的特征;
最终得到 pooled_features (21600, 128);

接下来就是对这些网格点的特征进行两层 fc层,再由两个分支,分别回归 置信度分支 和 box, 得到 细化的 box 信息,如下图所示:
在这里插入图片描述

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2022-03-08 22:28:33  更:2022-03-08 22:32:10 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 16:25:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码