肥宅钓鱼网
当前位置: 首页 钓鱼百科

3D目标检测深度学习方法数据预处理综述(3D目标检测深度学习方法数据预处理综述)

时间:2023-08-13 作者: 小编 阅读量: 3 栏目名: 钓鱼百科

3D目标检测深度学习方法数据预处理综述作者:蒋天园Date:2020-05-26来源:3D目标检测深度学习方法数据预处理综述前言这一篇的内容主要要讲一点在深度学习的3D目标检测网络中,我们都采用了哪些数据预处理的方法,主要讲两个方面的知识。

作者:蒋天园

Date:2020-05-26

来源:3D目标检测深度学习方法数据预处理综述

前言

这一篇的内容主要要讲一点在深度学习的3D目标检测网络中,我们都采用了哪些数据预处理的方法,主要讲两个方面的知识,第一个是representation,第二个数据预处理内容是数据增广。

作为本篇博文的引言,我们先给一种博主制作的比较重要的3D检测方法图鉴,如下,就笔者的个人理解,今年的CVPR出现了很多的one-stage的方法,同时出现了很多融合的方法,这里的融合有信息融合,有representation融合,同时根据近两年的发展来看,voxel-based的方法占据了主导地位,这是得益于卷积结构优越性(point-based方法采用pointnet结构,是MLP搭建的),但是今年的oral文章3D-SSD是一篇在point-based方法上很有建树的文章,所以在3D检测中了解主要的representation代表方法也是很重要的。

1.representation

做3D视觉的,尤其是基于点云做3D视觉任务的同学们都比较清楚的知道,点云因为其具有稀疏性和无规则性使得在二维上非常成熟的CNN结构不能直接的运用在点云中。我们先了解一下点云的这两个特性,如下图所示,下图中的(i)表示二维图像的排列方式,(ii),(ii),(iv)表示的是点云的数据,可以看出点云的排列稀疏性,对比(ii)和(iii)可以得知虽然点云数据的排列顺序假使是一样的,但是其对应的几何结构不同,而(iii)和(iv)则可以看出尽管几何结构表示同一个,但是排列顺序却是可以不一样的。

知道了上述的两个点云数据的两种特性,所以设计一种合适的点云表达形式是比寻找到一个高效的深度学习框架更加重要的内容,就3D检测方面而言,到CVPR20,至少有三种比较重要和值得探究的representation方式,分表示pointrepresentation,voxel representation和graph representation。

1.1 point representation

如题,就是采用最原始的点作为深度学习网络的输入,不采用任何的预处理工作,这类工作都是在pointnet的基础上进行的。

这里首选插入一点采用point-based方法的基础backbone,如下所示,左图表示的是pointnet的特征提取结构,也就是point-based的基础模块,右图就是point-based方法的基础架构,由point-encoder层和point-decoder层组成,encoder层主要逐渐下采样采点特取语义信息,decoder过程是将encoder过程得到的特征信息传递给没有被采样到的点。使得全局的点都具有encoder的特征信息。最后再通过每个点作为anchor提出候选框。

最早的工作是CVPR18上的F-pointnet,该文章的作者也是pointnet/pointnet的作者,具体做法如下可知,首先通过二维的检测框架得到二维目标检测结果,然后将二维检测结果通过视锥投影到三维,再采用三维破pointnet延伸结构检测为三维目标框。算是三阶段的基于point输入的目标检测方法

随后的CVPR19的比较经典的Point_based方法是point-rcnn,该工作不仅仅采用point作为representation,同时和上诉的F-pointnet比较没有采用二维信息,仅仅采用点云作为网络输入。如下图所示,该工作是一个两阶段的检测方法,第一阶段根据语义分割信息对每一个点都提出一个候选框,随后再采用多特征融合进一步优化proposals。

除了CVPR会议,在IROS和ICRA机器人相关的会议上也有很多这方面的研究,其中有一篇在F-pointnet上做出更细致的优化的文章F-ConvNet也是很优秀的工作,有兴趣的同学可以去了解下;这里直接介绍今年CVPR20上的基于Pointrepresentation的文章 3D-SSD,如下图所示,平平无奇的一阶段encoder过程,也就是把pointnet的decoder部分给去除掉(这样做的目的是减少网络前馈时间,在KITTI上达到35FPS),本文的最主要的贡献点在于将Pointnet的采样方法由欧式空间度量改为特征空间度量和欧式空间度量相结合的方法,同样的也采用了anchor-free的设计方法,使得显存占用更少。

point representation方法小总结

就笔者个人对这方面的理解,该类方法的优点是作为最原始的点云数据,保留了最细致的几何结构信息,网络的输入信息损失几乎是所有representation方法中最小的。但是缺点也很明显,第一点,MLP的感知能力不如CNN,因此主流的effective的方法都是voxel-based的,第二点,pointnet结构的采样是很耗时的,所以在实时性上也不及voxel-based的方法。所以今年的CVPR oral文章3D-SSD为了实时性,丢掉了FP层,同时设计了新的SA模块。

1. 2 voxel representation

1.2.1 Voxelization 步骤

在3D目标检测中,对整个场景的point2voxel的过程可以简单描述为如下:1.设置Voxelization参数(每个voxel可以存放点的个数(max_points_number),voxel长宽高的大小(whl))2.对依次每一个点,根据其对应的坐标(x,y,z)得到该点在voxel的索引。3.根据索引判断该voxel种是否已经存在max_points_number个点,如果存在,则将该点直接丢弃,如果不满足,则将该点加入到该voxel中。4. 计算voxel特征采用voxelnet的图表示为如下:

1.2.2 Voxelization 参数

上文中的体素化过程涉及到两个重要的内容,一个是体素参数,另外一个是voxel特征根据该voxel中的特征如何求取。

Voxelization对参数的要求比较高,就发展历史来说,VoxelNet(CVPR18)是第一篇采用voxel-representation作为点云输入的网络结构,该文章中max_points_number设置的为35,voxel大小设置为0.5;采用的voxel特征提取方式为增加一个pointnet对每个voxel中的35个点特征提取得到相应的voxel特征(如下图中的featurelearning network所示的内容),但是该参数很明显是会丢失比较多的几何结构信息,但是以这样的参数划分在当时还受到VoxelNet网络后续的3D卷积的显存占用的影响(3D卷积很占显存,因此网络预处理的参数受到影响)。

18年的SECOND提出的3D稀疏卷积大大减少了3D卷积的内存占用,(我们知道,3D卷积本身会对空间中每一个voxel都进行卷积,但是3D稀疏卷积只保留了空间中非空的voxel,采用map映射的方式得到卷积后的voxel空间索引);因此参数的设置自由了很多,就目前在KITTI和Nuscence上的sota的内容而言,我们一般采用的参数和特征提取方为:

max−points−number=5,(w,l)=(0.05,0.05),h=0.1

采用的voxel特征直接为mean特征,即对每一个voxel中的所有点的坐标求均值即可。

1.2.3 related paper

这里只介绍一些在voxelrepresentation上做文章的研究内容,而不是采用voxel作为网络输入的研究工作,因此voxel-based的研究方法比较多,后续笔者会出一篇在这方面的研究综述,所以这里推荐的几篇文章都是在voxel-representation上的做出研究的工作。

voxel-based的先驱的两篇文章voxelnet和second的主要贡献分别是第一个提出采用voxel作为网络输入的方法和引入稀疏卷积替代3D卷积。这里补充一点voxel-based方法的backbone,目前几乎所有的voxel-based方法都采用如下的encoder的backone作为特征提取器。下图左图表示的是点的voxel表示,经过Voxelization化后,经过逐步下采样的encoder过程降为二维 feature map,最后再根据二维的feature的每一个像素点作为anchor point提出候选框。

在voxel-representation上做文章的研究工作,如下图,这是一篇发表在sensors2020上的

文章Voxel-FPN:multi-scale voxel feature aggregation in 3D object detection frompoint clouds,该研究工作的主要内容是通过不同scale的体素划分,最后将其整合成到RPN网络结构中的FPN网络中,需要注意的是,这里的scale的大小要和最初划分的scale对应起来。

同样采用该思想的还有今年的CVPR20的文章HVNet,如下图所示,也是对场景中点云采用multi-scale的体素划分,最后也会形成一个FPN的结构,但是不同的细节和实现之处还是有很多的,HVNet采用了多线程同时并行处理每一个scale的体素划分,同时对于voxel的特征提取和Voxel-FPN也是不一样的。

在voxel划分上做研究的工作还有如下的waymo组的MVF工作,可以看到,之前的研究工作如果对于一个voxel中点数没有占据max_points_number实际上也会采用全0占据空间,而这一篇文章的一点创新则是修改成可自适应的储存点,不必强行每个voxel的空间占用一样大,可以节省不少内存占用。

1.2.4 voxelrepresentation方法小结

voxel-representation的方法的优点即是性能好又高效,不仅仅在精度上有着point-based的方法目前无法比拟的精度,在速度上也是很可观的,尤其是在稀疏卷积和3D流型卷积引入到3D目标检测后,发展更为迅速。但是缺点则是该类方法对参数比较敏感,预处理划分voxel的时候需要设置合适的参数,当然从信息论的方面理解,体素划分必然带来信息的丢失,尤其是局部细节信息的丢失,因此今年CVPR20上至少有三篇文章(SA-SSD,pointpainting,HVnet)在细节几何结构上做了一定的研究工作。

1.3 graph represention

这是一个比较新的representation,在3D检测中,今年CVPR20第一次出现了以graph作为representation的网络结构,如下图所示,graphrepresentation的核心问题也在于构建一个graph网络,即下图中的图左所示的内容。这也是很多在语义分割中遇到的问题,在目前的建图中大多是采用的knn的方法构建图结构,后续再送入到图卷积进行特种提取,最后根据pointrpn-head提出proposals。

就该类方法而言,目前的研究还不是很多,因为GCN非常耗时,可以理解为时pointnet特征提取网络的升级版,不仅仅提取点之间的信息,同时根据‘点-边’信息提取到更加局部细节的信息,但是优点也可以理解到,3D shape实际上在增加边信息后,会更加容易感知(对比mesh结构可知),但是采用何种方式构建合适的graph都还是很需要研究的内容。

1.4 point-voxel fusion

既然我们知道point-based的方法具有保持了几何structure的能力,同时voxel-based的方法具有高效的感知能力,那么最新的研究就在考虑如何做这方面的fusion工作,PV-RCNN(CVPR20)采用的将voxel特征经过multi-scale的形式赋予到point上,最后再refine阶段将点的局部信息融合到pointnet中。SA-SSD采用voxel2point添加附加任务使得voxelbackbone具有structure aware能力。实际上根据representation fusion的经验,应该还是大有可做的。

2 Augmentation

实际上3D目标检测的数据增广方式和二维目标检测的方式大多相同,我们总结为如下一些比较常见的数据增广方式,根据动态图很容易的看到的出来数据增广的方式,这里笔者着重介绍一下groundtruth augmentor的方法,这应该是根据3D点云的稀疏空间特性所特有的数据增广方式。

ground truth augmentor

就KITTIobject 3D的数据而言,每一帧的object数量从无到二十多个不等,ground truth augmentor的想法则是先从所有训练集中根据类别把groundtruth建立成一个data base,然后在训练的时候将data base中的gt按照类别丢一定数量的gt到当前训练的帧中,这里笔者给出一般在KITTI上数据增广的数量如下。即表示一般会选择在场景中丢进去15个car,丢进10个Pedestrians和Cyclists。SAMPLE_GROUPS: ['Car:15','Pedestrian:10', 'Cyclist:10']因为该数据增广的工作在3D目标检测中比较重要,后续还延伸到一些涉及到该方面的研究工作,笔者做一点简单介绍.

这一篇文章(Class-balanced Grouping and Sampling for Point Cloud 3D Object Detection)的后续研究工作做成了一个detectionzoo,在github上叫det3D,但是该文章的初始问题是想解决在nuscene数据中的数据不平衡问题,根据作者的采样得到如下图表,这里也就是目标检测的longtail问题,数据不平衡问题

这里作者采用的gt数据增广方式采样如下个数的gt来平衡数据集本身存在的long tail问题,并最终在nuscence上取得了榜一的成绩。

笔者再介绍一篇今年CVPR20上涉及到gt augmentation的工作(oral)(What You See is What You Get:Exploiting Visibility for 3D Object Detection),,如下图,在本文gt数据增广后,俯视图下由(a)变成了(b),但是作者指出这里出现的问题在于有的增广的物体出现在墙后,这在Lidar扫描过程中是不符合规律的,因此作者采取的增广策略是把对应的墙体去掉,如(d)图所示的内容。这就比较符合lidar扫描的特性,即遇到object就会反弹。

3 笔者的思考

实际上数据预处理在深度学习中也是比较重要的内容,就representation来说,voxel的方法高效但存在信息丢失,point-basde的方法感知能力不及cnn但输入为最原始的结构,Graph构建了更容易感知的结构,但也要承担GCN网络过长的前馈时间;就augmentation来说,gtaugmentation尽管在涨点上成了众人皆知的trick,但是要能很好的用起来该方法还是有一些值得研究的trick在里面,就比如上述提到的两篇文章。最后写一个flag,后续尽快写一个voxel-based方法研究的发展概述,主要也是笔者的理解。

推荐文献

[1]VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

[2]Frustum PointNets for 3D Object Detection from RGB-D Data

[3]PointRCNN: 3D Object Proposal Generation and Detection from Point Cloud’

[4]3DSSD: Point-based 3D Single Stage Object Detector

[5]Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud

    推荐阅读
  • 毕业论文不合格怎么办?(什么是毕业论文)

    毕业论文不合格怎么办毕业论文不合格,一般院校还会给第二次机会的,要把握机会做好毕业论文。毕业论文在进行编写的过程中,需要经过开题报告、论文编写、论文上交评定、论文答辩以及论文评分五个过程。毕业论文是毕业生总结性的独立作业,是学生运用在校学习的基本知识和基础理论,去分析、解决一两个实际问题的实践锻炼过程,也是学生在校学习期间学习成果的综合性总结,是整个教学活动中不可缺少的重要环节。

  • 微信提现怎么操作(怎么使用微信提现)

    微信提现怎么操作进入我们的微信后,登陆自己的账号以后,来到图中这个页面,然后看到那里的“钱包”选项,我们点击进入。诺,进来之后我们就可以绑定了,我们可以绑定多张银行卡,然后提现的时候选择其中一张就可以。然后输入自己想要提现的金额,不能超过自己拥有的零钱的哦,然后我们输入之后点击“提现”。接着需要我们输入我们的微信支付的支付密码,然后会出现这个页面,我们就等待提现到账就可以了。

  • 经常走路小腿会变粗吗(经常走路小腿会变粗吗女)

    不过你需要注意保持正确的姿势,才有减肥瘦小腿的作用,否则的话就会适得其反。这种走路姿势不仅容易引起腰痛,还会让大腿变粗,一直减不下来,而且容易引起足底疼痛。以免使整条腿部变胖。所以,迈出去的脚应该是脚跟先着地,然后通过足弓滚到到脚趾,最后由大脚趾用力踮起脚尖送出我们的下一步。

  • 七绝宁夏冬景(当四川历史名人遇上)

    封面新闻记者周琴10月8日,我们迎来寒露节气。寒露时节的节俗和民俗与菊花和蟹分不开。蟹的美味,菊花的骨气和品格,让包括四川历史名人李白、杜甫、苏轼等在内的文人墨客留下不少传世佳作。蟹螯是螃蟹变形的第一对脚。状似钳,用以取食或自卫。寒露三候中的“菊始黄华”,指的正是菊花此时普遍开放。此时,严武去世,杜甫在成都生活失去凭依,遂沿江东下,滞留夔州。

  • 和平精英3周年什么时候(在和平精英3周年庆上)

    毫不遮掩的说,《和平精英》已经成为当下手机射击游戏的代名词。可被自由驾驶的飞机停靠在每个“空投基地”分部内,在游戏开始数分钟后,“3周年机舱”将提供一架运输机并缓缓而出。从飞机尾部进入机舱,其中共包含有一辆“3周年限定载具”及“3周年超级空投”。具体活动中,品牌邀请所有的快手内容创作者,以自己独特的作品为《和平精英》庆生。5月7日,吉莉还受邀成为了全球首位出席联合国妇女署活动的数字人。

  • 黑色厚底乐福鞋秋季怎么搭(今年初秋这种穿法火了)

    今年初秋这种穿法火了,九分裤乐福鞋,洋气又时髦,还很显瘦。低跟乐福鞋的舒适度会更好,适合日常出门逛街穿,不容易累脚。可以选择大地色的乐福鞋、包包等单品,这样的穿搭造型非常高级时髦。

  • 云原神登录过期怎么办(自己也能动手打造免费云原神)

    主要是,这云原神它有点卡呀,花了钱和流量还给我卡,分分钟让人原地爆炸。原神是3.9GB的安装包,而云原神仅有79.8MB。此外,云原神免去了数据下载,仅需登录自己的账号密码即可开始游戏。不幸的是,云原神对流量的消耗十分明显,这也难怪,毕竟游戏画面都是由云端进行计算回传的。重点是,这样的方法几乎是0成本,远程控制软件免费,体验游戏免费,而且也不像云原神那么吃流量,对手机本身只需极低的配置要求。

  • 陈情令聂怀桑为什么不结婚(聂怀桑抛出刀灵霸下)

    十六年后在聂导的操纵下,魏婴和蓝湛又一次结伴而行探寻刀灵的秘密。舞天女幻象的打造,引来了魏无羡,让他看见了没有被挫骨扬灰的温宁,知道当年魏无羡身死本就是一个滔天的阴谋,之后又引来了蓝忘机,然后这双天下无敌组合十六年后算是合体了,聂怀桑终于放下了心里的石头。温宁没死,阴虎符重出江湖,如此魏无羡想要袖手旁观都不可能了,魏无羡如此,蓝湛更是如此了。

  • 1万公里换一次机油可以吗(机油1万公里换一次真的没事吗)

    我们一起去了解并探讨一下这个问题吧!那么机油到底是五千多公里更换一次好还是一万公里更换一次比较好呢?其实这个答案存在双面性,针对不同的车型以及不同的机油状况处理的方法是不一样的。所以,机油的更换不要人云亦云,不同的车型不同品质的机油效果是不同的,我们应该多了解自身车辆的状况和查看保养说明书,多参考厂家的意见来更换机油,以免让我们的爱车受到损伤。

  • 环保广告标语 设计环保广告标语

    人与自然需要和谐共存。保护环境就是保护生命。为了地球上的生命,清除白色污染。水是生命的源泉,珍惜水源也就是珍惜人类的未来。保护环境,功在当代,利在千秋。控制全球变暖刻不容缓。地球是万物生灵共同的家园,共生共荣来自万物的和谐。环境保护是我国一项基本国策。让校园阳光普照,让绿色神圣美妙。保护生态,改善环境是一项长期而艰巨的任务。沙化、风尘、赤潮是环境对人类的惩罚。