[3D目标检测和分割系列]Dynamic Graph CNN for Learning on Point Clouds

介绍了一种名为DGCNN的新方法,该方法利用边卷积操作来捕获点云中的局部几何结构,同时保持排列不变性。与PointNet和图CNN相比,DGCNN能够在不同层次上动态更新图结构,从而更好地捕捉长距离的语义信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本系列主要记录3D目标检测和分割系列文章的阅读笔记和心得。
先进行简要记录,到了一定的程度再进行总结梳理。若有读者看到,请谨慎参考,会存在一些翻译不当和逻辑不清的地方,请见谅!

文章标题:Dynamic Graph CNN for Learning on Point Clouds
要解决的关键问题:利用图模型,或者图模型的思想来学习点云的特征表示
关键词:边卷积 点云分类 点云分割

motivation: Pointnet虽然能够训练一个端到端的网络,即直接将点云作为输入,并且它的衍生网络能够进一步获得局部信息,但是他们仍旧忽略了点之间的几何关系,从而会限制局部特征的表示。
具体做法:为了解决这个问题,本文提出了一个新的简单的操作,称为EdgeConv,在保证排列不变性的前提下,获取局部的几何结构。不像之前的工作直接从他们的嵌入中产生点的特征,EdgeConv产生边特征用于描述点和它的邻居之间的关系。EdgeConv对于邻居的序是不变的,对于排列也是不变的。

2. Related Work

手动设计的特征
有很多的任务针对几何数据的处理和分析,包括分割,分类和匹配,他们都需要一些形状之间的局部相似性。一般来说,这个相似度是通过建立在能够获得局部集合结构的特征描述子。计算机视觉以及图形学的很多的文章,都针对点云提出了局部特征描述子,这些描述子能够是适应于不同的问题和数据结构。

广义的说,我们可以区别内部和外部描述子。外部描述子通常是来源于3D空间的形状的坐标,并且包含传统的方式,比如shape context, spin images, integral 特征, 基于距离的描述子, 点特征直方图,以及法向量直方图。内部的描述子将3D形状看成是一个流行,它的地量空间是离散化成一个mesh或者图;据定义,用度量表示的量是内在的,对等距变形是不变。

3. our approach

3.1 边卷积
考虑一个F维的含有n个点的点云,记为
X = { x 1 , x 2 , . . . , x n } ⊆ R F X = \{ x_1, x_2, ..., x_n\}\subseteq R^F X={x1,x2,...,xn}RF. 利用一个有向图 G = ( V , E ) G = (V, E) G=(V,E)表示点云的局部结构,其中 V = { 1 , 2 , . . . , n } V = \{1, 2, ..., n\} V={1,2,...,n} E ⊆ V × V E\subseteq V\times V EV×V是分别是节点和边。在最简单的情况下,构造 G G G R F R^F RF中的k近邻图,其中的有向边的形式为 ( i , j i 1 ) , ( i , j i 2 ) , . . . , ( i , j i k ) (i, j_{i1}),(i, j_{i2}),...,(i, j_{ik}) (i,ji1),(i,ji2),...,(i,jik),表示点 ( x j i 1 , . . . , x j i k ) (x_{j_{i1}}, ..., x_{j_{ik}}) (xji1,...,xjik)是临近 x i x_i xi的。我们定义边特征为 e i j = h Θ ( x i , x j ) e_{ij} = h_{\Theta}(x_i, x_j) eij=hΘ(xi,xj),其中 h Θ : R F × R F → R F ′ h_{\Theta}: R^{F} \times R^F\rightarrow R^{F'} hΘ:RF×RFRF是由一些参数 Θ \Theta Θ非线性函数.

最终我们定义边卷积操作为应用一个通道级别的对称聚合操作,比如求和。这样边卷积在第i个顶点的结果为:
x i ′ = □ j : ( i , j ) ∈ E h Θ ( x i , x j ) x'_i = \square_{j:(i,j)\in E} h_{\Theta}(x_i, x_j) xi=j:(i,j)EhΘ(xi,xj)
类似于图像中的传统卷积操作,我们可以认为 x i x_i xi是一个中心像素, { x j : ( i , j ) ∈ E } \{x_j: (i, j)\in E\} {xj:(i,j)E}是它周围的patch。如图2中显示的那样。总的来说,给定一个有n个点的F维点云,边卷积会产生同样个数的 F ′ F' F维的点云。

h h h的选择和 □ \square
边函数和聚合函数对于最终的边卷积的结果有着重要的影响
在图像中,当 x 1 , x 2 , . . . , x n x_1, x_2, ..., x_n x1,x2,...,xn表示规范放置的图像素时,图有一个局部的连通性,表示每一个像素的周围的固定大小的patch。选择 h Θ ( x i , x j ) = θ j x j h_{\Theta}(x_i, x_j)=\theta_jx_j hΘ(xi,xj)=θjxj作为边函数,以及和作为聚合操作,就像传统的欧式卷积一样。
x i ′ = ∑ j : ( i , j ) ∈ E θ j x j , x_i' = \sum_{j:(i,j)\in E}\theta_jx_j, xi=j:(i,j)Eθjxj,
其中,参数 Θ = ( θ i , . . . , θ k ) \Theta = (\theta_i, ..., \theta_k) Θ=(θi,...,θk)作为过滤器的参数。

第二种可能的选择是只编码全局形状信息,忽略了局部邻域结构。这种操作应用在PointNet中,可以是我们的边卷积的一种操作。

第三种是 h Θ ( x i , x j ) = h Θ ( x j − x i ) h_{\Theta}(x_i, x_j) =h_{\Theta}(x_j-x_i) hΘ(xi,xj)=hΘ(xjxi). 这样的一个操作只编码局部信息,把形状看成是一个小碎片的集合的信息,并且损失了全局的形状结构。

最终,第四种选择,也就是本文的选择,就是一个对称的边函数
h Θ ( x i , x j ) = h Θ ( x i , x j − x i ) h_{\Theta}(x_i, x_j) = h_{\Theta}(x_i, x_j-x_i) hΘ(xi,xj)=hΘ(xi,xjxi)。这样的一个函数融合了全局形状信息(由碎片的中心 x i x_i xi的坐标获得)以及局部邻域信息(由 x j − x i x_j-x_i xjxi获得)。

3.2 动态图CNN

4. 跟现有方法的比较

*感觉这一部分的信息量比较大

DGCNN是和两个工作相关的,PointNets和图CNN,给出了我们的方法的具体设定
PointNet是我们的方法在k=1时的特例,即这个图的边的集合E是空集。在PointNet中应用的边函数是 h ( x i , x j ) = h ( x i ) h(x_i, x_j) = h(x_i) h(xi,xj)=h(xi),只考虑全局的集合信息,而忽略了局部的。PointNet中使用的聚合函数是最大化,因为只是在单个节点上进行聚合。

PointNet++尝试把PointNet用作一个局部方法,来获得局部点云结构。在我们看来,PointNet++首先根据点之间的欧式距离构造了图,并在每一层,应用一个图粗化操作。对每一层,通过应用FPS选择一些固定个数的点。在改成之后,只保留选择的点忽略掉其他的点,这样的话,图就变的越来越小。和我们的方法不同的是PointNet++利用点的输入坐标计算两两之间的距离。PointNet++使用的边函数也是 h ( x i , x j ) = h ( x i ) h(x_i, x_j) = h(x_i) h(xi,xj)=h(xi),并且聚合操作也是最大化。

在图CNN中,MoNet, ECC, 和图注意力网络是最新的方法。这些方法共同的基础在于图上一个局部碎片的概念,其中一个类似于卷积的操作能够被定义。更具体的,GCN利用图结构来计算一个局部“伪坐标系统” u u u 其中顶点的邻居被表示;卷积被定义为在这个坐标系统的M-元素的高斯混合:
x i ′ = ∑ m = 1 M w m ∑ j : ( i , j ) ∈ E g Θ m ( u ( x i , x j ) ) x j , x'_i = \sum_{m=1}^Mw_m\sum_{j:(i,j)\in E}g_{\Theta_m}(u(x_i,x_j))x_j, xi=m=1Mwmj:(i,j)EgΘm(u(xi,xj))xj,
其中g表示的是高斯混合, { Θ 1 , Θ 2 , . . . , Θ M } \{\Theta_1, \Theta_2, ..., \Theta_M\} {Θ1,Θ2,...,ΘM}是高斯的科学系的参数, { w 1 , . . . , w M } \{w_1, ..., w_M\} {w1,...,wM}是科学系的过滤器系数。我们能够简单的观察到上式是我们的更一般的边卷积操作的特例,也就是说,它是一个特殊的边函数

h w 1 , Θ 1 , . . . , w M , Θ M ( x i , x j ) = ∑ m = 1 M w m g h_{w_1, \Theta_1, ..., w_M,\Theta_M}(x_i, x_j) = \sum_{m=1}^Mw_mg hw1,Θ1,...,wM,ΘM(xi,xj)=m=1Mwmg
并且求和就是聚合操作。

边卷积和MoNet以及其他的图CNN方法的重要的区别在于后者假设给定一个固定大小的图,并在其上应用类似于卷积的操作。但是我们的动态的更新图的每一层输出。这个方式,我们的模型不止需要学习如何获取局部的集合特征,还需要如何把点云中的点聚到一起。图4给出了不同特征空间的区别,例证了更深层含有的是长距离的语义信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值