论文速读系列一:VoteNet、CBGS、BirdNet、StarNet、STD

news2024/11/17 21:25:31

如有错误,恳请指出。


参考网上资料,对一些经典论文进行快速思路整理

文章目录

  • 1. VoteNet
  • 2. CBGS
  • 3. BirdNet
  • 4. StarNet
  • 5. STD

参考网上资料,对一些经典论文进行快速思路整理

1. VoteNet

paper:《Deep Hough Voting for 3D Object Detection in Point Clouds》
结构图:
在这里插入图片描述

思路:利用投票的思路先获取物体中心,再进行后续方向尺寸等信息预测

对于点云空间的每个点都可以预测其到某个物体中心的相对距离,这个相对距离可以通过标注信息获取进行有监督训练。那么如过某个区域的大部分点其预测的中心都比较接近,这个中心大概率是某个物体的中心。也就是说,如果某个区域大部分的点都能正确预测到中心点位置,那么投票过后少数服从多数,即可得到中心点。

具体来说,进行最远点采样得到的每个点都进行两个投票结果预测,分别是中心点到该点的偏移量以及中心点feature到该点的feature偏移量,有了预测的偏移量就可以计算出来每个店预测的中心点坐标以及中心点feature。之后,对这些点进行投票,获得K个投票结果(可能是通过聚类的方法实现),对于这些K个采样点进行半径为r的范围分区,通过PointNet网络对这些分区进行聚类,得到K个聚类feature,进行后续边界框尺寸、方向、置信度等信息预测。

VoteNet的流程其实有点类似Two-stage,先获得物体中心再进行pointnet聚合特征修正,与先获得proposal再进行roi聚合特征修正,有点类似。只是这里毕竟没有RPN网络,换一个角度来说就是隐式生成proposal进行优化。

参考资料:

1. VoteNet: Object Detection in Point Clouds ICCV2019


2. CBGS

paper:《Class-balanced Grouping and Sampling for Point Cloud 3D Object Detection》
结构图:
在这里插入图片描述

CBGS是一个Two-stage、Anchor-based的网络结构,主要为了解决NuSences数据集中类别不平衡的问题。提出了两种主要方案进行解决:

1)数据增强方面
DS-Sampling:基本思想是把占比较小的类别进行复制,制作出较大数据集,然后针对每个类别用固定比例random sample这个大的数据集,组合出最终数据集,最终数据集的类别密度(类别数量/样本总数)是相近的,这方法可以减缓样本不平均问题。

GT-AUG:将其他场景的GT放在当前场景中,前提是需要进行碰撞测试(这里换了个名字,本质上就是copypaste数据增强)

2)训练策略方面
Class-balanced Grouping:为了解决类別不均衡问题,作者提出Class Grouping的概念,简而言之,将相似形状的类別分成一个群(Group),让该群中样本数量较多的类去提升样本数量较少的类的精度,而每个Group之间的总数量也接近,如此一来,网络在学习时,就能够减缓数量较多类别有主导整个网络的问题。

这里的Group是手工进行区分,主要是透过样本中属于形状进行分组,而且Group之间的样本总数量是相近的。具体分组如下:

  • cars (majority classes)
  • truck, construction vehicle
  • bus, trailer
  • barrier
  • motorcycle, bicycle
  • pedestrian, traffic cone

参考资料:

  1. https://patrick-llgc.github.io/Learning-Deep-Learning/paper_notes/cbgs.html
  2. CBGS : 三维点云物体检测的类平衡分组和采样(新自动驾驶数据集nScenes第一名算法)

3. BirdNet

paper:《BirdNet: a 3D Object Detection Framework from LiDAR Information》

BirdNet主要是对点云在bev上的量化投影稍有不同,这里构建了三个通道,分别是:
1)cell内最高点高度(没有像MV3D那样对高度进行切分)
2)cell内所有点intensity的平均值
3)cell内所有点density进行归一化(这里与MV3D不同,对density除以全部cell中的最大值进行归一化),这里对density进行归一化的目的是改善density这个通道在不同线数激光雷达下剧烈变化的问题

此外,BirdNet在后处理时预测的不是车辆的长和框,而是与坐标轴相平行的车辆外接矩形的外接矩形。然后通过固定每个类别的w,计算每个box的l。
在这里插入图片描述

参考资料:

1. BirdNet: a 3D Object Detection Framework from LiDAR Information


4. StarNet

paper:《StarNet: Targeted Computation for Object Detection in Point Clouds》
结构图:
在这里插入图片描述

StarNet是一个one-stage、anchor-based的网络,思路大致如下所示:
1)首选去除地面点,然后通过最远距离采样得到一些中心点
2)将这些中心点构建局部坐标,在半径R的领域内选取K个点,通过一些列堆叠的StarNet blocks网络进行特征聚合,得到一个384维的特征C
3)对于每个中心点周围放置GxG个anchor,每个anchor的特征是通过C编码成另外一个D维度的特征
4)每个anchor的D维特征与GT进行回归计算

参考资料:

1. StarNet: Targeted Computation for Object Detection in Point Clouds


5. STD

paper:《STD: Sparse-to-Dense 3D Object Detector for Point Cloud》
结构图:
在这里插入图片描述

STD是一个Two-stage、改良的anchor-free网络。核心是提出了球状anchor。球状的anchor无需考虑anhcor方向上的设置,所有在数量上是priors anchor是成倍减少的,减少计算量。考虑到球状的anchor与GT的常规iou并不适用,所以辅助提出了PointIoU,用点的交集/点的并集进行一阶段anhcor的筛选。同时,STD可能受到2d检测的启发,在二阶段的proposal进行nms时,使用的是预测的class以及iou预测值的乘积分数(class*iou)来进行nms。

主要流程:
1)对每个点设置一个球状anchor(只需考虑半径,无需考虑方向以及尺寸),利用PointNet++提取点的语义特征以及类别预测,利用nms获取500个anchor。ps:这里的用什么进行nms没有具体说明,可能是每个点lable的score,但是这里我觉得是对每个球状anchor计算PointIoU来筛选。
2)对于获取的proposal中,利用每一个porposal中的点坐标信息(通过anchor中心位置进行归一化)以及语义特征,输入到PointNet网络中来进行类别分数预测以及回归偏移预测,利用class score以及bev iou的联合nms,获取得到300个proposal。这里所获得的proposal是一个特定大小的长方体。(这里以及利用球状的anchor聚合特征获取到了一个特定的proposal,那么就可以正常与3d标注框进行iou计算,那PointIoU是作用于哪一个步骤呢?所以我推测是用于上面的步骤1的)
也就是说,利用PointIoU筛选出500个球状anchor,再聚合每个球状anchor的信息进行proposal生成,利用bev上的iou进行二次nms筛选,最终一阶段获得300个proposal。
3)对proposal中的每个点以规范坐标(减去中心点坐标以及旋转对其)和语义信息作为初始特征,随后将proposal切分成6x6x6大小的subvoxel,对每个subvoxel采用35个点,对这些点特征进行聚合成256维度,最后说的的维度为:l x w x h x 256
4)对候选框的特征进行展平进行MLP处理,一个分支预测iou值;另一个分支预测类别(class)以及回归值(box),这里的iou乘上class score作为第二阶段的nms筛选指标。另外一种做法是将预测的候选框iou作为class的soft label进行预测处理。

损失部分:
1)RPN
semantic segmentation loss:使用focal loss
proposal prediction loss:两个部分,proposal classification loss采用softmax cross-entropy loss;regression loss采用smooth-l1 loss,其中方向采用bin-based的方法

2)Head
proposal prediction loss:与RPN部分一致
3D IoU loss:多了预测分支预测iou
corner loss:8个角损失,一个很好的正则化手段(很多工作常见,可以说是标配)

总结:
提取球形anchor进行特征点的聚集,又是既PartA2、VoxelRCNN之后对proposal体素化在特征聚集范围上的一个改进,同时提出了新的PointIoU的方法。在head上增加了iou分支,进行nms的筛选指标。作为了一个Point-Voxel-based的方法,同时利用了point-based与voxel-based的优势。

最后,这里如果对voxel化的候选框进行3d稀疏卷积编码处理(类似PartA2或者SECOND的Head结构),可能会进一步提升效果。

参考资料:

1.STD: Sparse-to-Dense 3D Object Detector for Point Cloud


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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【正点原子FPGA连载】第三十章 基于OV5640的PL以太网视频传输实验摘自【正点原子】DFZU2EG/4EV MPSoC 之FPGA开发指南V1.0

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第三十章 基于OV…

TextMeshPro源码移植-替换掉PackageManager

因为工作需要,使用类似美术字的效果 TextMeshPro支持各种效果,效能也可以(到底这个可以到底是多可以,效率有多高,反正都是传说,哥也不知道),唯一缺点就是不支持多语言 只要你的项目…

Pandas使用手册

Pandas是一款快速,强大,灵活且易于使用的开源数据分析和操作工具, 建立在Python编程语言之上。 Pandas 前言Pandas是一款快速,强大,灵活且易于使用的开源数据分析和操作工具,建立在Python编程语言之上。 一…

[附源码]JAVA毕业设计食品销售网站(系统+LW)

[附源码]JAVA毕业设计食品销售网站(系统LW) 项目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术&…

Pig4Cloud之登陆验证(一)客户端认证处理

前端登陆 handleLogin() {this.$refs.loginForm.validate(valid > {if (valid) {this.$store.dispatch("LoginByUsername", this.loginForm).then(() > {this.$router.push({path: this.tagWel.value});}).catch(() > {this.refreshCode();});}});}看一下L…

HTML制作一个汽车介绍网站【大学生网页制作期末作业】

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

Big Faceless:PDF Viewer for JAVA Crack

PDF Viewer是一个可以显示PDF文档的Swing组件。针对不需要完整 API 的客户,Viewer 可以作为 Applet、应用程序或通过 Java Web Start 安装,或嵌入到 Swing 应用程序中。 Big Faceless PDF Library 是一个用于创建、编辑、显示和打印 Acrobat PDF 文档的…

TI Lab_SRR学习_2 天线布局和系统设计

AWR1642具有2个发射天线和4个接收天线。天线布局如下图所示。两根发射天线Tx1和Tx2间距为2lamda,接收天线之间的间距为lamda/2。 下面以TI SRR这个案例为例,讲解根据上述的天线布局如何进行设计。 SRR既要看得远又要分辨率高,设计上采用了多模式雷达的设计思想,具有两种工…

文献阅读(194)Multi-packet Bypassing

文章目录题目:Stay in your Lane: A NoC with Low-overhead Multi-packet Bypassing时间:2022会议:HPCA研究机构:乔治华盛顿大学、GIT 本篇论文的主要贡献: 新的流控制算法FastFlow,用于在非重叠路径上无…

UNIAPP实战项目笔记49 支付成功页面的布局

UNIAPP实战项目笔记49 支付成功页面的布局 实际案例图片 显示确认支付成功页面布局 具体内容图片自己替换哈&#xff0c;随便找了个图片的做示例 具体位置见目录结构 完善布局页面和样式 代码 payment-success.vue部分 <template><view class"payment-success&…

Docker的安装 与 环境配置 及 阿里云镜像仓库配置、常用命令等

目录 一、Docker简介 Docker的应用场景 Docker 的优点 1、简化程序 2、避免选择恐惧症 3、节省开支 Docker的架构 Docker 和虚拟机的区别 下图是虚拟机的体系结构&#xff1a; 下图是Docker的体系结构&#xff1a; 二、Centos7安装Docker 【安装】 安装条件&#x…

实用于单片机的C++字符串切割匹配算法

前几天写GPS模块串口程序的时候遇到了一点小问题&#xff0c;GPS模组上传的数据量大且结构复杂&#xff0c;单片机中又没有上位机中的字符切割函数&#xff0c;琢磨了半天自己写了个切割函数。 本算法中兼具匹配和切割的功能&#xff0c;可以匹配指定的标志并按照指定分隔符将指…

Springboot 使用 Mybatis 启动失败排查定位

收获 当遇到项目启动失败&#xff0c;却没有错误日志打印出来的时候&#xff0c;试试在 run 方法上加个 try-catch&#xff0c;即可捕获到异常 Mybatis 的别名扫描路径不要指定的太宽泛&#xff0c;有可能会出现 Bean 名冲突&#xff0c;导致初始化失败 联想到之前碰到的问题…

无影云电脑——云上安全办公

文章目录无影云桌面介绍安装新手体验特点区别改变无影云桌面 介绍 阿里云无影云桌面&#xff08; Elastic Desktop Service&#xff09;的原产品名为弹性云桌面&#xff0c;融合了无影产品技术后更名升级。它可以为您提供易用、安全、高效的云上桌面服务&#xff0c;帮助您快速…

微信小程序的生命周期概览

IntersectionObserver 用于监听元素是否进入视口&#xff08;与视口是否存在相交&#xff09;&#xff0c;在图片懒加载等场景中被广泛应用&#xff0c;不过除了这个基础的用法&#xff0c;他还有更强大的能力。 使用场景 目前已知的 IntersectionObserver 常用使用场景包括&…

Jenkins-pipeline语法

Pipeline概念 Pipeline是将一个命令/程序/进程的输出发送到另一个命令/程序/进程&#xff0c;进行进一步处理 Pipeline的代码定义了整个构建过程 基本的Pipeline语法格式 声明式的pipeline语法格式 所有的声明都必须包含在pipeline{}中 块只能有节段&#xff0c;指令&#x…

AFT Impulse动态工具,AFT脉冲适用于工作

AFT Impulse动态工具,AFT脉冲适用于工作 AFT脉冲产品是一种强大的动态工具&#xff0c;用于计算低功率管道系统中的压力流量。设计用于液体系统&#xff0c;包括&#xff1a; 水 石油和产品被切割。 化学制品 冷冻剂 科洛尔。。。 AFT脉冲适用于工作&#xff1a; 珊瑚礁的大小和…

jdbc环境配置及操作步骤

文章目录jdbc环境配置jdbc 操作步骤jdbc 环境配置 jdbc开发&#xff0c;需要提前先准备驱动包(下载一个mysql驱动包&#xff09;及配置&#xff08;项目配置引入这个驱动包) 下载链接&#xff1a;mysql驱动包 注意&#xff1a;jar包的版本要和自己本地mysql版本一致 1.创建项…

使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2

使用宏基因组的方法快速鉴定新冠病毒SARS-CoV2 一、如果不考虑成本&#xff0c;可以使用宏基因组测序的方法来快速鉴定新冠病毒SARS-CoV2&#xff0c;这种方法无需扩增、分析简单、准确度高。原理是直接将测序得到的序列数据与分类物种数据库比对&#xff0c;从而得到鉴定结果…

编程参考 - 如何计算字符串的哈希值

字符串的哈希值是什么&#xff1f; 在C&#xff0c;Java等编程语言中&#xff0c;有一种hashmap的数据结构&#xff0c;存储一对key / value&#xff0c;分别是两种对象。 为了加快存取的速度&#xff0c;键值key对象会被转换成一个hash值&#xff0c;一个整数。一般来讲&…