ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:1.36MB ,
资源ID:6946330      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6946330.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图神经网络及在3D点云中的应用.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图神经网络及在3D点云中的应用.docx

1、图神经网络及在3D点云中的应用图神经网络及在3D点云检测中的应用图神经网络(Graph Neural Network)首先指明,本文中所提到的图均指图论中的图(Graph)。它是一种由若干个结点(Node)及连接两个结点的边(Edge)所构成的图形,用于刻画不同结点之间的关系。下图是一个生动的例子:我们做图像识别,对象是图片,是一个二维的结构,于是人们发明了CNN这种神奇的模型来提取图片的特征。CNN的核心在于它的kernel在图片上平移,通过卷积的方式来提取特征。这里的关键在于图片结构上的平移不变性:一个小窗口无论移动到图片的哪一个位置,其内部的结构都是一模一样的,因此CNN可以实现参数共享

2、。而图片或者语言,都属于欧式空间的数据,因此才有维度的概念,欧式空间的数据的特点就是结构很规则。但是现实生活中,其实有很多不规则的数据结构,典型的就是图结构,或称拓扑结构,如社交网络、化学分子结构、知识图谱等等;即使是语言,实际上其内部也是复杂的树形结构,也是一种图结构;而像图片,在做目标识别的时候,我们关注的实际上只是二维图片上的部分关键点,这些点组成的也是一个图的结构。图的结构一般来说是十分不规则的,可以认为是无限维的一种数据,所以它没有平移不变性。每一个节点的周围结构可能都是独一无二的,这种结构的数据,就让传统的CNN、RNN瞬间失效。所以很多学者从上个世纪就开始研究怎么处理这类数据了。

3、状态更新与输出#最早的图神经网络起源于Franco博士的论文1, 它的理论基础是不动点理论。给定一张图G,每个结点都有其自己的特征(feature), 本文中用表示结点v的特征;连接两个结点的边也有自己的特征,本文中用表示结点v与结点u之间边的特征;GNN的学习目标是获得每个结点的图感知的隐藏状态 (state embedding),这就意味着:对于每个节点,它的隐藏状态包含了来自邻居节点的信息。那么,如何让每个结点都感知到图上其他的结点呢?GNN通过迭代式更新所有结点的隐藏状态来实现,在t+1时刻,结点v的隐藏状态按照如下方式更新:上式中的就是隐藏状态的状态更新函数,在论文中也被称为局部转移

4、函数(local transaction function)。公式中的指的是与结点v相邻的边的特征,指的是结点v的邻居结点的特征,则指邻居结点在t时刻的隐藏状态。注意是对所有结点都成立的,是一个全局共享的函数。那么如何将它与深度学习结合在一起呢?即利用神经网络(Neural Network)来拟合这个复杂函数。值得一提的是,虽然看起来的输入是不定长参数,但在内部我们可以先将不定长的参数通过一定操作变成一个固定的参数,比如说用所有隐藏状态的加和来代表所有隐藏状态。如下图:假设结点5为中心结点,其隐藏状态的更新函数如图所示。这个更新公式表达的思想自然又贴切:不断地利用当前时刻邻居结点的隐藏状态作为

5、部分输入来生成下一时刻中心结点的隐藏状态,直到每个结点的隐藏状态变化幅度很小,整个图的信息流动趋于平稳。至此,每个结点都“知晓”了其邻居的信息。状态更新公式仅描述了如何获取每个结点的隐藏状态,除它以外,我们还需要另外一个函数gg来描述如何适应下游任务。举个例子,给定一个社交网络,一个可能的下游任务是判断各个结点是否为水军账号。 在原论文中,g又被称为局部输出函数(local output function),与类似,g也可以由一个神经网络来表达,它也是一个全局共享的函数。那么,整个流程可以用下面这张图表达:仔细观察两个时刻之间的连线,它与图的连线密切相关。比如说在T1时刻,结点 1 的状态接受

6、来自结点 3 的上一时刻的隐藏状态,因为结点 1 与结点 3相邻。直到Tn时刻,各个结点隐藏状态收敛,每个结点后面接一个g即可得到该结点的输出o。对于不同的图来说,收敛的时刻可能不同,因为收敛是通过两个时刻pp-范数的差值是否小于某个阈值来判定的,比如:不动点理论开头曾提过GNN的理论基础是不动点(the fixed point)理论,这里的不动点理论专指巴拿赫不动点定理(Banachs Fixed Point Theorem)。首先我们用F表示若干个f堆叠得到的一个函数,也称为全局更新函数,那么图上所有结点的状态更新公式可以写成:不动点定理指的就是,不论H0是什么,只要F是个压缩映射(con

7、traction map),H0经过不断迭代都会收敛到某一个固定的点,我们称之为不动点。压缩映射的定义如下图:即经过F变换后的新空间一定比原先的空间要小,原先的空间被压缩了。想象这种压缩的过程不断进行,最终就会把原空间中的所有点映射到一个点上。具体实现在具体实现中,f其实通过一个简单的前馈神经网络(Feed-forward Neural Network)即可实现。比如说,一种实现方法可以是把每个邻居结点的特征、隐藏状态、每条相连边的特征以及结点本身的特征简单拼接在一起,在经过前馈神经网络后做一次简单的加和。那我们如何保证f是个压缩映射呢,其实是通过限制f对H的偏导数矩阵的大小,这是通过一个对雅

8、可比矩阵(Jacobian Matrix)的惩罚项(Penalty)来实现的。在代数中,有一个定理是:f为压缩映射的等价条件是f的导数要小于1。这个等价定理可以从压缩映射的形式化定义导出,|x|表示x在空间中的范数(norm)。坐标之间的差值可以看作向量在空间中的距离,根据压缩映射的定义,可以导出:推广一下,即得到雅可比矩阵的罚项需要满足其范数小于等于c等价于压缩映射的条件。根据拉格朗日乘子法,将有约束问题变成带罚项的无约束优化问题,训练的目标可表示成如下形式:其中是超参数,与其相乘的项即为雅可比矩阵的罚项。模型学习在知道如何让f接近压缩映射后,我们来具体叙述一下图神经网络中的损失Loss是如

9、何定义,以及模型是如何学习的。仍然以社交网络举例,虽然每个结点都会有隐藏状态以及输出,但并不是每个结点都会有监督信号(Supervision)。比如说,社交网络中只有部分用户被明确标记了是否为水军账号,这就构成了一个典型的结点二分类问题。那么很自然地,模型的损失即通过这些有监督信号的结点得到。假设监督结点一共有p个,模型损失可以形式化为:那么,模型如何学习呢?根据前向传播计算损失的过程,不难推出反向传播计算梯度的过程。前向传播模型即为:1.调用若干次,比如Tn次,直到收敛。2.此时每个结点的隐藏状态接近不动点的解。3.对于有监督信号的结点,将其隐藏状态通过g得到输出,进而算出模型的损失。根据上

10、面的过程,在反向传播时,我们可以直接求出f和g对最终的隐藏状态的梯度。然而,因为模型递归调用了f若干次,为计算f和g对最初的隐藏状态的梯度,我们需要同样递归式/迭代式地计算Tn次梯度。最终得到的梯度即为f和g对的梯度,然后该梯度用于更新模型的参数。这个算法就是 Almeida-Pineda 算法2-3。图神经网络(GNN)有如下特点:1、忽略节点的输入顺序;2、在计算过程中,节点的表示受其周围邻居节点的影响,而图本身连接不变;3、图结构的表示,使得可以进行基于图的解释和推理。图神经网络(GNN)尚未解决的问题(局限性):1、网络结构较浅,堆叠过多层数将导致所有顶点趋同(收敛至相同值);2、对于

11、非结构化场景没有通用有效的图生成方法;3、数据的不规则性导致无法应用批量化处理,节点规模过大还会令Laplace算子计算困难;4、对于动态图(节点变化)的引入,图神经网络(GNN)无法自适应地进行改变。参考文献:1Almeida, Luis B. (June 1987).A learning rule for asynchronous perceptrons with feedback in a combinatorial environment. IEEE First International Conference on Neural Networks. San Diego, CA, US

12、A. pp.60818.2Pineda, Fernando (9 November 1987). Generalization of Back-Propagation to Recurrent Neural Networks.Physical Review Letters.19(59): 222932.3Almeida, Luis B. (June 1987).A learning rule for asynchronous perceptrons with feedback in a combinatorial environment. IEEE First International Co

13、nference on Neural Networks. San Diego, CA, USA. pp.60818.相关论文Point GNN:使用图神经网络的3d目标检测方法Weijing Shi and Ragunathan (Raj) Rajkumar,Point-GNN: Graph Neural Network for 3D Object Detection in a Point Cloud,arxiv:2003.01251v1本文提出了一个图神经网络来从激光雷达点云检测目标。对这个目标,作者将点云有效地编码到一个固定半径的近邻图中。作者设计了一个称为Point GNN的图神经网络来

14、预测类别和图中每个顶点所属的对象的形状。理解3D环境对机器人感知及自动驾驶至关重要。点云是一种广泛应用于三维传感器(如激光雷达)的技术,而点云的检测器目前广泛使用卷积神经网络,虽然卷积运算很有效,但它要求输入是规则的网格数据,而点云通常是稀疏且在规则网格上间隔不均匀的。把点云放在规则网格会导致每个cell中点的数目不均匀。在对这些网格进行相同的卷积操作可能会导致拥挤网格中的信息丢失或者空网格浪费计算。神经网络的一些突破性工作允许以无序的点集作为输入。此类研究利用这种类型的神经网络来提取点云特征,而不需要将点云映射到网格。但它们通常需要迭代地对点进行取样和分组(sample&group)从而得到

15、点集表示,而在大型点云上的重复分组和采样计算代价非常昂贵。本文中,作者们使用图来表示点云,并设计了称为PointGNN的图神经网络来检测对象。作者把点作为图顶点来编码点云。图的边(edge)将位于固定半径内的邻域点连接起来,使得特征信息可以在邻域之间流动。这样的图表示可以直接适应点云的结构,而不需要使它具有规则性。图神经网络在每一层都重复使用图的边,避免了对点的重复分组和采样。目前该领域的工作可分为这三类,如图所示a.将点云转换为规则网格,以利用卷积神经网络。这种方法将点云投射到2D鸟瞰(BEV)图像上,并使用2D CNN进行对象检测,或把点用3d体素(voxel)表示并用3d卷积来目标检测。

16、缺点前者由于图像分辨率的限制,这种投影会产生误差。而采用体素的后者当体素的分辨率增大时,3D CNN的计算量也随之增大b.在PointNet和DeepSet等点集上的深度学习技术表明神经网络可以直接从无序的集合中提取特征。这种方法中每一个点都经过多层感知器(MLP)处理以获得点特征向量。通过平均或最大池化函数将这些功能聚合起来,形成此点集一个全局的特征向量。c.即本文所采用的GNN结构,GNN在点云中的应用主要以图结构这种不规则的表达数据来替代二维CNN运行模式。CNN通过连接的edge来更新顶点的特征,目前的边特征整合和MLP在点云中的运用类似,但是GNN能够容纳更加复杂的网络特征,但是不需

17、要采样和group。在该文中作者只建图一次,剩下的GNN优化过程都是在同一张图上进行优化工作的上图很清晰的表达了作者做的三部分结构(1)图构建(2)PointGCN网络结构(3)bbox融合图构建对于一个点集作者采用P=p1,pN表示,其中每一个元素pi=(xi,si)中的xi表示的是3D坐标中的坐标, si表示的是该点的属性,可以是KITTI中的点的反射强度等等,作者构建的图结构则是以点P为顶点,一个固定半径中的顶连接起来得到一个局部图。表示如下:作者在这里指出可以采用方法使得建图的时间复杂度降低到O(cN),这里的c表示在这个固定半径内的点的最大个数O(cN),这里的c表示在这个固定半径内

18、的点的最大个数。作者为了使得之前的信息不丢失,采用了把voxel编码的信息存放在上式中的sis_isi中作者并将这些特征作为GNN的初始特征,迭代过程可以下图所示:使用Auto-Registration更新节点GNN迭代过程中,会根据边更新顶点的特征,可以表达为:这里的et表示的是边的第t次迭代的特征,vt是顶点的特征,表示根据顶点更新边的特征;(.)表示对多条边特征的整合;gt表示将整合的边特征更新为新的顶点特征。并进一步以相邻顶点特征来精细更新顶点状态为这里的输入采用的是顶点间的相对坐标作为输入,因为相对坐标对点云的整体平移具有不变性,但是对邻近区域的变换很敏感。但是假如一个平移被添加到一

19、个顶点时,他们的局部结构还是相似的,但是相对坐标是发生变化的,这会导致增加输入方差。为了减少平移方差,作者根据邻居的结构特征来调整他们的坐标,而不是使用中心顶点坐标所以作者提出的 auto-registration表示为:Loss对于分类loss采用交叉熵:对于位置loss首先将原始坐标的信息转化为GNN顶点的坐标信息:如果一个顶点在Box中,那么采用huber loss,最后将所有的loc loss求平均:为了防止过拟合,作者加入了L1正则项:实验在KITTI数据集上做的实验结果表明,该方法(仅限点云)达到了领先水平,精确度甚至可以超过基于merged的算法。该文的结果证明了利用图神经网络作为一种新的三维目标检测方法的潜力。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1