| |
|
开发:
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论文和逐代码解析(一) -> 正文阅读 |
|
[人工智能]PV-RCNN论文和逐代码解析(一) |
1、前言????????当前的点云3D检测主要分为两大类,第一类为grid-based的方法,第二类为point-based的方法。 ????????grid-based的方法将不规则的点云数据转换成规则的3D voxels (VoxelNet, SECOND , Fast PointRCNN, Part A^2 Net)或者转化成 2D的BEV特征图(PIXOR, HDNet,PointPillars),这种方法可以将不规则的数据转换后使用3D或者2D的CNN来高效的进行特征提取。 ????????point-based的方法主要由PointNet和他的变形作为特征提取器来直接的从原始的点云数据中提取基于点的特征,主要有PointRCNN,STD, F-PointNet。 ????????一般来说,基于grid-based的方法可以获得更好的计算效率,但是由于进行voxelize的量化操作,不可避免的导致信息丢失,使得网络的定位精度下降;而point-based的方法因为通过Set Abstraction操作拥有可变的感受野,使特征拥有良好的定位信息,然而基于Point-based的方法不可避免的会带来更大的计算量。 ????????因此作者在这里想到了将两种方法的优势结合起来,使网络达到一个更好的检测性能。 ????????之前已经介绍过VoxelNet,SECOND,PointPillars,PointRCNN,想了解的小伙伴可以看我之前的博客;同时由于PV-RCNN大部分网络结构与SECOND和PointRCNN中相同,也建议先了解前两个网络后再看PV-RCNN。 PV-RCNN论文地址:https://arxiv.org/pdf/1912.13192.pdfhttps://arxiv.org/pdf/1912.13192.pdf PV-RCNN代码: https://github.com/open-mmlab/OpenPCDethttps://github.com/open-mmlab/OpenPCDet PV-RCNN(Point-Voxel RCNN)在OpenPCDet中的类流程图: PV-RCNN的8个模块 第一阶段: 1、MeanVFE 2、VoxelBackBone8x 3、HeightCompression 4、VoxelSetAbstraction 5、BaseBEVBackbone 6、AnchorHeadSingle 第二阶段: 7、PointHeadSimple Predicted Keypoint Weighting 8、PVRCNNHead 2、PV-RCNN网络解析? ? ? ? PV-RCNN结合了voxel-based(grid-based)的高效编码多尺度特征层来产生3D的proposal,同时又采用了point-based的灵活感受野实现精确的位置定位;因此将这两种方式有效的进行结合成了PV-RCNN的关键任务。如果直接在每个3D-proposal中均匀的采样几个grid-point,然后对这些grid-point进行SA(Set Abstraction)操作来进行proposal的优化的话,会造成很高的内存消耗;因为要达到不错的检测性能,voxels的数量和grid-point的数量都会相当大。 ? ? ? ? 因此,为了更好的将两种方法进行结合,作者提出了两个模块来完成这一融合。 1、voxel-to-keypoint scene encoding ? ? ? ? 首先,将原始的点云数据就voxelization,然后使用3D稀疏卷积来进行高效的特征提取。同时为了减少直接对庞大的voxel进行场景编码,导致内存消耗较大的问题,这里先使用FPS最远点采样方法,选取N个点后并根据这N个点来对Voxel的特征进行操作来概括整个场景信息。相当于PointNet++对每一层的voxel进行SA操作。在进行3D卷积时,会得到多层不同尺度的voxel特征层,分别在不同尺度的voxel特征层上进行基于Voxel的Grouping、SA操作,这样就可以获得不同尺度的点云信息。整个点云场景就可以被一小部分拥有多尺度信息关键点高效的编码。 2、keypoint-to-grid ROI feature abstraction ? ? ? ? 再通过AnchorHeadSingle获得3D proposal后,为了取得准确的置信度分数预测和精确的box微调,每个proposal结合他grid-point的位置,使用ROI-grid pooling方法将多尺度的关键点特征和每一个grid point进行融合来给每个grid point丰富的感受野信息。 3、第一阶段(proposal生成)待续 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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:32:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |