首页 > 其他分享 >Pyramid RCNN

Pyramid RCNN

时间:2024-04-08 22:14:35浏览次数:27  
标签:RoI Pyramid based 特征 Attention grid RCNN

PDF: Pyramid R-CNN: Towards Better Performance and Adaptability for 3D Object Detection

CODE: https://github.com/PointsCoder/Pyramid-RCNN

一、大体内容

Pyramid R-CNN是一个两阶段的3D目标检测网络,主要是考虑目前的方法在第二阶段提取感兴趣RoI特征时,不能有效地处理兴趣区域点云稀疏和不均匀分布的问题。如下图所示超过7%的点云总数少于10个,这样特征是不完整的,因此会影响检测效果,另外点云分布也不均匀

为了解决上述问题,Pyramid RCNN在第二阶段提出了一个新颖的pyramid RoI Head模块,主要包含RoI-grid Pyramid、RoI-grid Attention和Density-Aware Radius Prediction(DARP)三个模块,通过组合这几个模块,在KITTI及Waymo Open数据集上都取得了高性能的效果。如下图所示,在第一阶段可以选择不同的BackBone方案来获得3D RoIs以及兴趣点,第二阶段的Pytramid RoI head对每一个RoI首先构建RoI-grid Pyramid模块,通过逐渐放大每个金字塔级别中原始RoI的大小,用于获取更多的特征信息,RoI网格点的坐标由放大的RoI大小和网格大小决定。在每个金字塔级别中,通过DARP模块从全局上下文向量预测RoI网格点的聚焦半径r。然后执行由r参数化的RoI-grid Attention,将兴趣点的特征聚合到RoI网格中。最后,对RoI网格特征进行增强,并将其输入到两个单独的头中进行分类和回归。

二、贡献点

  • 提出的二阶段目标检测框架Pyramid R-CNN,可以适用于不同的BackBones
  • 提出pyramid RoI head可以解决兴趣点稀疏和分布不均匀的问题,由RoI-grid Pyramid、RoI-grid Attention和Density-Aware Radius Prediction(DARP)三大块组成。
  • Pyramid R-CNN在KITTI和Waymo Open数据集上取得领先的效果

三、细节

3.1 RoI-grid pyramid

由于点的稀疏性,内部的语义特征不够完整,因此用RoI-grid pyramid模块来扩大RoI范围以获取更多的语义特征,增强物体的几何细节,有助于识别不完整的对象,如遮挡和远距离物体。(其背后的思想是:对于每个RoI,inside points包含fine-grained结构信息,用于bbox refinement,outside points则包含丰富的语义信息,用于识别不完整的objects)

实现方式也很简单明了,就是引入一个超参数\(\rho\)来控制RoI的范围,比较一下就清楚了,(1)式是标准的RoI-grid表示,(2)式是RoI-grid pyramid表示。


其中\(W, L, H\)表示RoI的大小,\(x_c, y_c, z_c\)表示RoI的左下角点坐标,\(N_w, N_l, N_h\)表示网格的大小,前面一项是计算出位置的偏移量,后面加上角点坐标即可得到对应的位置。当\(\rho = 1\)时就是标准的RoI-grid表示,值越大,RoI范围越大,可以包含更多周围的点云,语义信息就越多。对于每个金字塔层级,后续通过RoI-grid Attention从兴趣点的特征中聚合网格点特征\(f_{grid}\)。最后会将所有层级的特征组合起来便于对预测框进行优化。

3.2 RoI-grid Attention

用于提取RoI-grid特征,结合了graph-based和attention-based的点算子的优势,RoI特征提取操作的目的是使用相邻点\(p_i\)和特征\(f_i\)的信息来获得RoI-grid点\(p_{grid}\)对应的特征向量\(f_{grid}\)。在介绍RoI-grid Attention前作者回顾了之前的方法:

符号说明

\(p_{grid}\) 表示RoI-grid坐标
\(p_i\)表示靠近\(p_{grid}\)的第i个点坐标
\(f_i\)表示靠近\(p_{grid}\)的第i个点对应的特征向量

Pooling-based算子

这个算子在PV-RCNNVoxel-RCNN等一些两阶段网络中用于提取RoI特征,其大致步骤是先将相对坐标\(p_i - p_{grid}\) 和
\(p_grid\)点周围特征\(f_i\)相连,送入MLP得到特征\(V\),最后对所有的做maxpooling,得到RoI-grid特征:

作者认为pooling-based的方法仅关注最大通道的相应,不可避免损失了很多的语义和几何信息。

Graph-based算子

这种方法将grid点和兴趣点建模为图的形式,图的节点用MLP提取周围\(f_i\)后的特征表示:

边表示为相对坐标的线性函数:

最后再通过加权来算出特征

Attention-based算子

在Graph-based的基础上学习出一个权重系数:
然后特征计算更改为:

最近的Point Transformer又进行了修改:

RoI-grid Attention

本文提出的RoI-grid Attention方法,主要是通过一个可学习的参数\(\sigma_{*}\)来决定使用上述的哪个算子。(让网络学习使用哪个方法更合适,哪些点对于grid point更重要),将上述方法结合到一起形成了以下特征计算方法。

在[0, 0, 1, 0]的情况下,是Attention-based的,在[1, 0, 0, 0]情况下,是Graph-based

3.3 Density-Aware Radius Prediction(DARP)


用于学习每个RoI的特征提取半径,实现依据密度自适应选择半径,而不是人为给定半径参数。

人为给定半径的方式

大体可以分为两个步骤,第一步依据给定半径选择出兴趣点周围的点

第二步再对选择的点进行加权组合

DARP方法

提出一个新的分布\(s(i|r)\)来替代\(p(i|r)\),其同时包含inside和outside点:

当点\(p_i\)在半径范围内时,其趋近于1,在范围外时趋于0。

为了能够计算\(r\)的梯度,通过从基本分布中采样,并将原始分布参数的期望作为系数,则梯度可以按照下式计算:

最后DARP模块可以表示为:

对于金字塔的每一层级,首先通过加权RoI附近兴趣点的信息,得到context embedding;再利用这个embedding预测半径r;进一步将r转化为系数参与RoI-grid Attention的计算。

四、效果

  • 不同方案效果比较

  • 推理速度

  • 在KITTI数据集上可视化效果

  • 在Waymo Open数据集上可视化效果

标签:RoI,Pyramid,based,特征,Attention,grid,RCNN
From: https://www.cnblogs.com/xiaxuexiaoab/p/18110622

相关文章

  • P4143PyramidSequences
    数学等价于在一个\(n\timesm\)的矩形中做弹球,问经过的整点个数\(t=gcd(n,m)\),将\(n,m\)分别除掉\(t\),得到\(n',m'\)此时会有\(n'm'\)条线段,每条线段经过\(t\)个整点,另外还有\(\lceil\frac{(n'+1)(m'+1)}{2}\rceil\)个交点所以最终答案为\[\lceil\frac{(n......
  • 深度学习-卷积神经网络--Mask RCNN-62
    目录1.总体网络结构2.MaskRCNN细节3.loss4.预测参考链接:https://blog.csdn.net/qq_47233366/article/details/131326554?ops_request_misc=%25257B%252522request%25255Fid%252522%25253A%252522171196013016800213023649%252522%25252C%252522scm%252522%25253A%252522201......
  • 深度学习-卷积神经网络--复习FasterRCNN-61
    目录1.回顾2.细节--RPN网络3.细节--RoIpooling4.细节Classification4.训练在开始深入学习MaskRCNN之前先复习一下FasterRCNN这个是其他框架的基础重点的重点参考链接:https://blog.csdn.net/WZZ18191171661/article/details/79439212参考链接:https://blog.csdn.n......
  • VoxelRCNN
    PDF:VoxelR-CNN:TowardsHighPerformanceVoxel-based3DObjectDetectionCODE:https://github.com/djiajunustc/Voxel-R-CNN一、大体内容现有基于Point-based的目标检测方法可以保留精确点的位置,具有更好的性能,但是由于无序的存储方式,计算量很大。而Voxel-based方法更容......
  • 模板匹配——金字塔图像计算gen_gauss_pyramid
           **计算高斯金字塔图像*dev_open_window(0,0,800,600,'black',WindowHandle)read_image(Image,'fix.png')**初始化显示dev_close_window()get_image_size(Image,Width,Height)dev_open_window(0,0,512,512,'blac......
  • 【图像超分】论文复现:新手入门!Pytorch实现SRCNN,数据预处理、模型训练、测试、评估全流
    文章目录前言1.准备数据集和数据预处理1.1数据集选择1.2数据预处理1.3评估指标PSNR和SSIM1.3.1PSNR1.3.2SSIM2.定义网络结构3.设置参数并训练模型3.1参数设置3.2模型训练4.测试训练好的模型5.用训练好的SRCNN模型超分自己的图像数据6.其他补充6.1特征图......
  • 使用 Keras 和 ArcGIS Pro 通过 Mask-RCNN/DeepLabV3+ 进行 EagleView 高分辨率图像语
            机器学习中的计算机视觉为GIS提供了巨大的机会。其任务包括获取、处理、分析和理解数字图像的方法,以及从现实世界中提取高维数据以产生数字或符号信息,例如以决策的形式。在过去的几年中,计算机视觉越来越多地从传统的统计方法转向最先进的深度学习神经网络技......
  • PV-RCNN
    PDF:https://arxiv.org/pdf/1912.13192.pdfCODE:https://github.com/sshaoshuai/PV-RCNN一、大体内容前面介绍了基于Point的3D目标检测网络(PointRCNN、3DSSD)以及基于voxel的3D目标检测网络(VoxelNet、SECOND、PointPillar),基于Voxel的方法比较高效,其多尺度的特征可以生成较高质量......
  • 深度学习-卷积神经网络-Faster RCNN anchor详解-53
    目录1.Anchor参考:https://zhuanlan.zhihu.com/p/86403390?utm_id=01.Anchor我第一次接触Anchor(中文叫做锚)的时候,比较懵逼的,什么是锚这个问题让思考了好久,这也是阻碍大家学习FasterRCNN最大的绊脚石索性我们就先把anchor理解为一个个按照固定比例(长宽、大小)预定义的框lib/ne......
  • AT_arc117_c [ARC117C] Tricolor Pyramid 题解
    [ARC117C]TricolorPyramid博客阅读体验(也许)更佳题意给一个金字塔的底部颜色组成和生长规律,问顶部的颜色是什么。分析试几次就可以很容易得到的一种构造:令颜色B为\(0\),W为\(1\),R为\(2\)。设左右两个方块的颜色分别为\(col_l\)和\(col_r\),则生长规则可以描......