| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> PointRCNN论文解读和代码解析 -> 正文阅读 |
|
[人工智能]PointRCNN论文解读和代码解析 |
目录 论文地址:https://arxiv.org/abs/1812.04244 代码地址:GitHub - open-mmlab/OpenPCDet: OpenPCDet Toolbox for LiDAR-based 3D Object Detection. 一、论文动机3D目标检测现在比较SOTA的方法有两种,一种是将点云投影到俯视图上,使用2D的检测框架。要么是变成规则的Voxel,这两种方法在量化过程中都存在信息缺失的问题。而且最近有人提出了pointnet和pointnet++这种直接从点云中学习特征的网络,所以作者想借鉴这两个,直接从3D点云中获取检测框。同时3D场景中物体都是自然分割的,相互之间没有重叠,所以3D物体的分割掩码都能通过他们的3D真实框直接获取,框内的点被认为前景点。 二、论文方法提出了一个两阶段的Anchor-free3D目标检测框架,PointRCNN首次直接在点云数据上分割mask 第一阶段用一个自底向上的方法生成3D候选框,先分割前景点,同时在这些被分割出来的点中生成少些候选框。它的优势是避免了在整个3D空间使用大量的锚框。 第二个阶段是对生成的3D候选框进行微调。将局部框内xyz和depth深度信息,分割掩码进行MLP升维,然后和第一阶段的点特征结合再MLP分类回归。 它的优势是充分利用了第一阶段分割和推荐子网络提供的全部信息。 为了学习更有效的坐标微调,作者还提出了针对推荐生成和微调的完全基于bin的3D box回归损失,加速了网络的收敛速度和准确率。 三、网络结构?第一阶段我们通过逐点地学习特征来分割原始点云,并且从分割好的前景点中生成3D候选框,这种方法我们避免了设置大量的3D锚框,极大的限制了3D候选框的生成候选空间。为了学习有区别的逐点特征来描述原始点云,我们使用带有多尺度分组的PointNet++作为骨干网络,后面增加了一个估计前景掩码的分割头和一个生成3D候选框的回归头,同时进行前景分割和候选框回归。对于大尺度的外景,前景点数量远小于背景点,所以我们使用Focal Loss. 虽然只是从前景点回归3D回归框位置,没有从背景点回归,但因为点云网络的感受野,背景点也为box的生成提供了信息。为了估计一个目标的中心位置,我们将每个前景点周围的xz轴分割成一系列离散的bin,我们发现对x-z轴使用基于bin的交叉熵损失分类比直接smoothL1 LOSS回归能得出更加精确鲁棒的中心定位。而y轴直接L1 Loss就可以获得精确的y值。物体的方向估计也是基于bin的,hwl则是直接由整个训练集每个类的平均尺寸直接回归得到 ?为了移除冗余的候选框,我们对鸟瞰图的定向IOU使用NMS,来生成少些高质量的候选框,训练时我们将IOU设置为0.85,NMS保留前300个给二阶段。推理时,设置IOU阈值为0.8,NMS保留前100个给二阶段。 ?? 第二阶段为了学习每个候选框更加具体的局部特征,我们根据每个推荐框来池化(就是降采样)它的3D点以及对应特征。我们对候选框进行扩大,来从旁边获取有用的环境信息,对于每一个点判断在不在扩大的框里,在的话这个点和他的特征就被保留用来微调候选框。后面框内坐标统一转换为正则坐标系下的局部坐标,因为这样可以更好的学习每个proposals的局部特征。对于每个候选框内的点,他的局部空间特征,分割掩码和空间距离经过MLP与第一阶段点特征结合,喂进PointNet++网络进行置信度和box细化。 ?其中x,y,z,h,w,l,角度的计算和一阶段一样,有几个也是基于bin的,不过这次bin的搜索范围更小,只是用来微调。 ?四、代码分析代码原论文里和OpenPCdet里的不是很一样,但原作者说OpenPCdet里效果更稳定,我们以OpenPCdet代码为主。 第一阶段点云特征提取?第一阶段分类头和回归头?第二阶段PointRCNNHead微调
(4条消息) PointRCNN论文和逐代码详解_NNNNNathan的博客-CSDN博客_pointrcnn代码
五、Reference(6条消息) Point RCNN论文翻译及图解_KirutoCode的博客-CSDN博客 (6条消息) 【代码阅读】PointRCNN网络可视化,代码详解_麒麒哈尔的博客-CSDN博客_pointrcnn源码?????? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/25 20:13:34- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |