(TOG 19) DGCNN: Dynamic Graph CNN for Learning on Point Clouds

在这里插入图片描述
DGCNN[1]主要提出了EdgeConv操作,在点云上能够进行类似CNN在图像上所进行的操作,可以适用于分类与分割任务。

EdgeConv

Graph Construction

对于点云中某点 x i {x_i} xi ,利用KNN操作构造有向图 G = ( V , E ) G = \left( {V,E} \right) G=(V,E),其中 V V V代表图中各个顶点, E E E代表边。如下图所示:
在这里插入图片描述

Graph Convolution

定义EdgeConv的核心操作为:
在这里插入图片描述
可以看到,对于中心点 x i x_i xi x j x_j xj,EdgeConv不但以中心点 x i x_i xi作为输入,同时以衡量领域信息的 x j − x i {x_j} - {x_i} xjxi作为输入,能够较好的学习到全局以及局部特征:
在这里插入图片描述
以上图为例,对于某个边edge,EdgeConv计算结果为:
e i j m = h θ ( x i , x j m − x i ) {e_{i{j_m}}} = {h_\theta }({x_i},{x_{{j_m}}} - {x_i}) eijm=hθ(xi,xjmxi)
其中 h θ {h_\theta } hθ即为MLP操作。
最后使用Max-pooling操作进行聚合,得到对于输入中心点 x i x_i xi经过一次EdgeConv的输出 x i ′ {x'_i} xi
x i ′ = max ⁡ j : ( i , j ) ∈ E e i j m {x'_i} = \mathop {\max }\limits_{j:(i,j) \in E} {e_{i{j_m}}} xi=j:(i,j)Emaxeijm
此即为对于输入 x i x_i xi的一次EdgeConv操作。

Dynamic

DGCNN[1]中的dynamic体现在图graph的建立,具体表现为构造图的操作KNN,在输入点云时,即第一次EdgeConv操作时是在欧式空间中进行KNN操作,而在接下来的EdgeConv中,KNN操作都是在特征空间中进行,即对于输入点 x i x_i xi,每次EdgeConv构造的有向图G均不相同,这便是DGCNN中dynamic的含义。

Overall Architecture

通过以上的EdgeConv操作,可以构造对于点云的分类以及分割pipeline:
在这里插入图片描述
源码中并没有TNet操作,同时在pooling-operation中,同时使用到了max-pooling以及avg-pooling并将两者concatenate起来,这是与文章中的不一致之处。

Experiment

使用DGCNN源码,在ModelNet40上进行分类任务的评估:

ModelCommentsampleneighbor_kAcc(%)
DGCNNreported in the paper10242092.9
DGCNNreported in the paper20484093.5
DGCNNdgcnn_cls_1024.t710242092.9
DGCNNdgcnn_cls_2048.t720484093.0

Reference

[1] Wang Y, Sun Y, Liu Z, et al. Dynamic graph cnn for learning on point clouds[J]. Acm Transactions On Graphics (tog), 2019, 38(5): 1-12.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值