abstract arxiv:1905.13445v1 [cs.cv] 31 may 2019 · point clouds learning with attention-based graph...

11
Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a , Junzhou Chen b,* , Bo Peng a a School of Information Science and Technology, Southwest Jiaotong University, Chengdu, Sichuan 611756, China b Research Center of Intelligent Transportation System, School of Intelligent Systems Engineering, Sun Yat-sen University, Guangzhou, Guangdong 510006, China Abstract Point clouds data, as one kind of representation of 3D objects, are the most primitive output obtained by 3D sensors. Unlike 2D images, point clouds are disordered and unstructured. Hence it is not straightforward to apply classifica- tion techniques such as the convolution neural network to point clouds analysis directly. To solve this problem, we propose a novel network structure, named Attention-based Graph Convolution Networks (AGCN), to extract point clouds features. Taking the learning process as a message propagation between adjacent points, we introduce an attention mechanism to AGCN for analyzing the relationships between local features of the points. In addition, we introduce an additional global graph structure network to compensate for the relative information of the individual points in the graph structure network. The proposed network is also extended to an encoder-decoder structure for segmentation tasks. Experimental results show that the proposed network can achieve state-of-the-art performance in both classification and segmentation tasks. Keywords: point clouds, attention, graph network, autoencoder 1. Introduction With the rapid development of data acquirement tech- niques, 3D sensors have been widely used in robotics, autonomous, reverse engineering and virtual reality. There are increasing demands for 3D data analysis algo- rithms [4, 22, 29, 34, 33, 30], meanwhile a large num- ber of 3D point clouds datasets are available recently [32, 1, 3, 6, 10]. Due to the irregular distribution in 3D space and the lacking of canonical order, 3D point clouds data are dicult to be processed by traditional methods. In recent years, convolutional neural networks (CNNs) have achieved a great success in processing the standard grid data for tasks such as image recog- nition [11, 13], semantic segmentation [17, 19] and ma- chine translation [5, 28]. By virtue of the success of CNNs, many methods focus on 3D voxels [18, 23, 21], which convert point clouds into 3D volumetric grid in the pre-processing step. In this way, features from vox- els can be extracted by the 3D convolution network. * Corresponding author. Email addresses: [email protected] (Zhuyang Xie), [email protected] (Junzhou Chen), [email protected] (Bo Peng) However, the calculations may be redundant due to the sparsity of most 3D data and its computational complex- ity increases exponentially with the increase of resolu- tion [18, 23, 21, 16]. Some latest work has focused on direct learning on point clouds. As a pioneer of directly processing point clouds, PointNet [4] provides an eective strategy to learn the features of individual points through a shared multi-layer perception (MLP), and eventually encodes global information by a symmetric function that guaran- tees permutation invariance to the points’ order. How- ever, the MLP of PointNet [4] is based on the feature learning of individual points, and does not consider the local geometry. To solve this problem, PointNet++ [22] divides the point set into several subsets, sends these subsets to a shared PointNet, and builds a hierarchical network by repeating such a process iteratively. Al- though PointNet++ [22] has built local point sets, the relationship between these local point sets is not well constructed. In the latest work, ShapeContextNet [33] uses the self-attention mechanism to learn the relation- ship between individual points. However, they regards attention as a query operation, and calculates atten- tion score for each individual point on the whole point clouds, which significantly increases the computation Preprint submitted to Elsevier June 3, 2019 arXiv:1905.13445v1 [cs.CV] 31 May 2019

Upload: others

Post on 15-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

Point Clouds Learning with Attention-based Graph Convolution Networks

Zhuyang Xiea, Junzhou Chenb,∗, Bo Penga

aSchool of Information Science and Technology, Southwest Jiaotong University, Chengdu, Sichuan 611756, ChinabResearch Center of Intelligent Transportation System, School of Intelligent Systems Engineering, Sun Yat-sen University, Guangzhou,

Guangdong 510006, China

Abstract

Point clouds data, as one kind of representation of 3D objects, are the most primitive output obtained by 3D sensors.Unlike 2D images, point clouds are disordered and unstructured. Hence it is not straightforward to apply classifica-tion techniques such as the convolution neural network to point clouds analysis directly. To solve this problem, wepropose a novel network structure, named Attention-based Graph Convolution Networks (AGCN), to extract pointclouds features. Taking the learning process as a message propagation between adjacent points, we introduce anattention mechanism to AGCN for analyzing the relationships between local features of the points. In addition, weintroduce an additional global graph structure network to compensate for the relative information of the individualpoints in the graph structure network. The proposed network is also extended to an encoder-decoder structure forsegmentation tasks. Experimental results show that the proposed network can achieve state-of-the-art performance inboth classification and segmentation tasks.

Keywords: point clouds, attention, graph network, autoencoder

1. Introduction

With the rapid development of data acquirement tech-niques, 3D sensors have been widely used in robotics,autonomous, reverse engineering and virtual reality.There are increasing demands for 3D data analysis algo-rithms [4, 22, 29, 34, 33, 30], meanwhile a large num-ber of 3D point clouds datasets are available recently[32, 1, 3, 6, 10]. Due to the irregular distribution in3D space and the lacking of canonical order, 3D pointclouds data are difficult to be processed by traditionalmethods.

In recent years, convolutional neural networks(CNNs) have achieved a great success in processingthe standard grid data for tasks such as image recog-nition [11, 13], semantic segmentation [17, 19] and ma-chine translation [5, 28]. By virtue of the success ofCNNs, many methods focus on 3D voxels [18, 23, 21],which convert point clouds into 3D volumetric grid inthe pre-processing step. In this way, features from vox-els can be extracted by the 3D convolution network.

∗Corresponding author.Email addresses: [email protected] (Zhuyang Xie),

[email protected] (Junzhou Chen),[email protected] (Bo Peng)

However, the calculations may be redundant due to thesparsity of most 3D data and its computational complex-ity increases exponentially with the increase of resolu-tion [18, 23, 21, 16].

Some latest work has focused on direct learning onpoint clouds. As a pioneer of directly processing pointclouds, PointNet [4] provides an effective strategy tolearn the features of individual points through a sharedmulti-layer perception (MLP), and eventually encodesglobal information by a symmetric function that guaran-tees permutation invariance to the points’ order. How-ever, the MLP of PointNet [4] is based on the featurelearning of individual points, and does not consider thelocal geometry. To solve this problem, PointNet++ [22]divides the point set into several subsets, sends thesesubsets to a shared PointNet, and builds a hierarchicalnetwork by repeating such a process iteratively. Al-though PointNet++ [22] has built local point sets, therelationship between these local point sets is not wellconstructed. In the latest work, ShapeContextNet [33]uses the self-attention mechanism to learn the relation-ship between individual points. However, they regardsattention as a query operation, and calculates atten-tion score for each individual point on the whole pointclouds, which significantly increases the computation

Preprint submitted to Elsevier June 3, 2019

arX

iv:1

905.

1344

5v1

[cs

.CV

] 3

1 M

ay 2

019

Page 2: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

cost and memory usage.In order to solve the above problems, we mainly con-

sider two aspects, that is, how to model the relationshipbetween local structural information and how to effec-tively aggregate local information. In this paper, we pro-pose AGCN to learn point clouds feature. Specifically,in the stage of local structure learning, some nodes arefirst obtained by sparse sampling and for each node weconstruct a local point set. Then the local structure fea-ture of each node is directly learned on its local pointset. Subsequently, we construct a KNN graph for thesenodes, and design a point attention layer on the KNNgraph to learn the relationship between different localinformation and gather the information of neighbors foreach node. In our network, we can learn from the lo-cal to the global features by stacking multiple layers ofpoint attention layer. Also AGCN can propagate high-level features to the fine-grained features and we ex-tended our network to an encoder-decoder structure forsegmentation tasks. In addition, in order to compensatefor the relative information of the individual nodes inthe graph structure network, we propose a global pointgraph to assist the learning of point attention layer. Ourkey contributions are as follows:

• We propose a point attention layer on the KNNgraph to calculate the attention score of the K near-est neighbors, which can effectively aggregate thelocal information and guarantee permutation in-variance to the points’ order.

• We propose a global point graph to compensate forthe relative location information of the individualnodes in the graph structure network.

• We extend point attention layer and propose anattention-based encoder-decoder network for pointclouds segmentation.

• We have achieved better performance on somestandard datasets compared with state-of-the-artapproaches.

2. Related Works

In this section, we will briefly review some of the cur-rent approaches for 3D data. Specifically, they can beclassified into multi-view based methods, voxel basedmethods, graph based methods, and point based meth-ods.

2.1. View-based MethodsThe view-based approaches [26, 20] project a 3D ob-

ject into a collection of 2D views, which applies theconventional 2D convolutional neural network to eachview, and then aggregate these features by multi-viewpooling for classification and retrieval tasks. However,the view-based method requires a complete view set foreach target, which adds preprocessing work and compu-tation cost. Also, it is nontrivial to extend them to sceneunderstanding or other 3D tasks(e.g., per-point classi-fication), because the view-based approaches lose 3Dspatial information.

2.2. Volumetric MethodsThe voxelization methods converts unstructured ge-

ometric data into 3D regular grid [18, 23, 21], whichcan be applied to 3D convolution operation. However,the volume representation is often redundant due to thesparsity of most 3D data. Therefore, a voxel method isusually limited by the resolution of volumetric grids andthe computation cost of 3D convolution, which leads touse lower resolution as input and it is hard to learn localgeometric details. In addition, due to the limitation ofresolution, it is challenging for a voxel method to pro-cess large scale point clouds data.

2.3. Graph-based MethodsThe use of graphs to represent irregular or non-

European data (such as point clouds, social networks)are flexible. There are two classes of methods of thiskind. The first method directly defines convolution op-eration on the graph. ECC [25] is the first work to applythe graph convolution to point clouds. It defines filterweights conditioned on the specific edge labels in theneighborhood of a vertex. KC-Net [24] contains a KNNgraph to extract the local structural feature of the pointclouds and aggregates the neighbor information throughthe graph max pooling. DGCNN [31] proposes Edge-Conv on a KNN graph to achieve local information fu-sion by learning the features of the edges of neighborpoints.

The other is spectral based methods, which definethe convolution operations in the Fourier domain [35,14, 7]. Some latest work has shown concern in thisarea. SpiderCNN [34] defines a series of convolutionkernels, as a product of a simple step function and aTaylor polynomial, to approximate the weight function.LocalSpecGCN [29] use spectral convolution combinedwith recursive clustering and pooling strategy to extractfeatures of neighbor points. However, spectral basedmethods cause a large number of parameters of the con-volution filter.

2

Page 3: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

2.4. PointNetsSome recent work has focused on learning directly

from point clouds. PointNet [4] uses MLP with sharedweights to learn the features of individual points. Fi-nally, the point clouds information is coded by maxpoolfor classification. However, PointNet [4] uses the indi-vidual points’ feature, and does not utilize local infor-mation. To solve this problem, PointNet++ [22] buildsa hierarchical network and extracts multi-scale informa-tion from local point sets. The different hierarchical in-formation is learned by iteratively radius search, but thisalso increases the computational complexity and doesnot model the relationship between different local infor-mation. Kd-Net [15] constructs a hierarchical structurethrough kd tree, divides space according to three axesand learns the weights along specific axis. However, asthe number of point clouds and the resolution of kd treeincrease, the corresponding computation cost will alsoincrease.

There is also a part of work to learn the local featuresof the point clouds by constructing convolution kernels.KC-Net [24] defines a series of learnable point setson a KNN graph by kernel correlation, which is usedto extract the local structure feature of point clouds.ShapeContextNet [33] constructs shape context kernels,through the concept of shape context. In addition, in or-der to deal with point clouds which usually have varyingsize and density, the A-SCN [33] network based on self-attention is proposed.

In our work, we mainly focus on and learn therelationship between different local information. In-spired by KC-Net [24], we build KNN graph to learneach nodes’ local structure feature, and implement localfeature aggregation through the attention mechanism,which is different from graph max pooling used in KC-Net [24]. Unlike A-SCN [33], in point attention layer,we only calculate the attention score for K neighbors,which greatly reduces the computation cost. And ourproposed point attention layer can be stacked in multiplelayers for better classification and segmentation tasks.

3. Method

Our method mainly consists of three parts: (1)learn-ing local structural feature (Section 3.1); (2)point at-tention layer (Section 3.2); (3)global point graph (Sec-tion 3.3). Figure 1 illustrates our full network architec-tures for classification.

3.1. Learning Local Structural featureThe input of the original point clouds are represented

by three-dimensional coordinates P = {pi ∈ R3, i =

1, 2, ...,N}, and the features such as color, surface nor-mal or other information can also be added. We extractlocal point sets in the same way as PointNet++ [22]does. In Figure 1(I), M nodes are sampled from thefarthest point in P , which forms a set S = {s j ∈ R3, i =

1, 2, ...,M}, and S ⊆ P. For each node s j, a local pointset G = {g j ∈ RL×3, j = 1, 2, . . . ,M} is constructed,where g j is a local point set obtained by taking the nodes j as the center, and extracting L points of the nearestneighbor of the node s j. We extract the local structuralfeatures for each point set g j by learning a local map-ping f : RL×3 → Rd, which converts local point set to ad-dimensional vector. The specific function f is definedas:

f(g j) = maxl=1,2,...,L(MLP(g j,l − s j)), (1)

where g j,l represents the l-th point of the local point setg j, g j,l−s j represents the normalized coordinate, and thefeatures of the individual points are extracted by threeMLPs with shared weights. Finally, the features of in-dividual points are fused by local maxpool.

By constructing the local point set G, we learn thelocal feature representation for each node s j, and usethe features of M nodes as the input of the subsequentnetwork for feature learning, which further reduces thecomputation cost of the latter network.

3.2. Point Attention layer

Attention mechanism is widely used in different typesof deep learning tasks such as natural language process-ing [28, 5], modeling the relationship about relevantparts. In this section, we will introduce the attention-based point attention layer, to learn the relationship be-tween adjacent points. By learning the local structuralfeatures of Section 3.1, we obtain the local feature rep-resentation of M nodes: F = { fm|m = 1, 2, . . . ,M}, fm ∈R1×d. The features of these nodes are taken as the in-put of point attention layer, and the updated features ofthese nodes are obtained as the output of the network:F′ = { f ′m|m = 1, 2, . . . ,M}, f′m ∈ R1×d′ .

As illustrated in Figure 2, we construct a KNN graphfor M nodes. Different from KC-Net’s [24] graph maxpooling for neighbor information aggregation, we focuson K nearest neighbor nodes around the node s j and ag-gregate the information of the neighbor nodes accordingto the attention score. The feature aggregation formulaof node s j is as follows:

f′j =∑

k∈N(s j)

α j,k · f j,k + f j, (2)

3

Page 4: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

3

3

sampling

...

MLP(64,128,128)

3

shared

maxpool

128

poin

t at

tent

ion

1×1024

maxpool

(II)Point Attention layer(I)Local structural feature

(128,128) (256,256) (512,1024)

128

128

g2

g1

gM

(III)Global Point Graph

3shared

maxpool

3

shared

maxpool

concatenate

KNN Graph

128

poin

t at

tent

ion

poin

t at

tent

ion

shared shared shared

......

Fig. 1. The architecture of AGCN. AGCN firstly samples M nodes based on the input point clouds, then extracts local point setsof size L for each node, and learns local features for each node (I). The KNN graph is constructed according to the coordinates ofM nodes, and the feature aggregation of neighbor nodes is realized by introducing the attention mechanism in the KNN graph (II),we stacked 3 layers of point attention layer for classification. In order to compensate for the relative information of the individualnodes in the graph structure network, we additionally construct a global graph structure network to assist the learning of the pointattention layer (III).

s1

s2

s3

s4

s5

s6

s7

s8

s10

s9

Fig. 2. Point attention layer. We illustrate a point attentionlayer with 3-NN graph. In the left part of this figure, for eachnode s j, we aggregate the information of the neighbors aroundthe node s j according to the attention score. Arrows indicatethe direction of the information propergation, and different col-ors indicate independent attention calculations. In the right partof this figure, each node with different color represents the ag-gregated feature.

where f j denotes the feature of node s j. N(s j) denotesthe index of the neighbors of node s j. f j,k denotes thefeature of the k-th nearest neighbor of node s j, and f ′j in-dicates the updated feature of node s j. α j,k denotes theattention score between node s j and the k-th neighbor.The∑

operation can be regarded as a weighted sum-mation of the K neighbor nodes around node s j, whichguarantees the permutation invariance to the nodes’ or-

der. Attention α j,k is calculated as follows:

α j,k =fTj · f j,k∑

k∈N(s j) fTj · f j,k, (3)

With Equation ( 2), each individual node’s feature canbe updated in parallel. In addition, in order to incor-porate additional nonlinearity and increase the capacityof the model, we add a feature transformation function,which uses a 2-layer MLP with a nonlinear activationfunction to perform feature transformation on each up-dated feature f ′j .

As shown in Figure 1(II), in our network structure, amulti-layered point attention layer is adopted, which isa very effective structure. By stacking multiple layers ofpoint attention layer, a CNN-like effect can be achieved.The number K of neighbor nodes can be regarded as thekernel size in CNN, and as the network depth increases,the receptive field of the network increases correspond-ingly, so that from local to global information can belearned.

3.3. Global Point Graph

In our entire network, nodes’ features can only de-scribe local features and do not provide information rel-ative to the global field. So we design a simple networkto build a global structure diagram to learn the globalinformation of each node. As shown in Figure 4, the

4

Page 5: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

Global Point Graph

(128,C)

128

C interpolate

(128,128,128) concatenate

KNN Graph

Local Structural Feature

repeat

3

128

poin

t at

tent

ion 1×512

maxpool

(128,128) (256,256) (512,512)

poin

t at

tent

ion

poin

t at

tent

ion

shared shared shared

Attention-based Encoder

sharedsharedpoin

t at

tent

ion

shared poin

t at

tent

ion

poin

t at

tent

ion

(512,512)(256,256)(128,128)

Attention-based Decoder

128

Fig. 3. Attention-based encoder-decoder architecture. The encoder-decoder architecture is an invert operation. The encoderaggregates neighbor information through attention, and the decoder propagates high-level semantic information to lower-levelfiner information. All nodes’ features of global point graph are concated with corresponding nodes’ features in each point attentionlayer.

3

...

MLP(64,64)

64

512 1×512

maxpool

Local structural feature

MLP(128,512)

KNN Graph

MLP(256,128)

shared

maxpool

(K+

1)×

3

shared

maxpool

(K+

1)×

3

shared

maxpool

(K+

1)×

3

repeat

Fig. 4. Global point graph. We construct a KNN graph for Mnodes. (K+1) denotes K nearest neighbor nodes and node s j.We get the global graph feature through maxpool, and concat theglobal feature with individual nodes to learn each node’s relativeinformation.

entire network can be seen as a simplified PointNet [4],taking the sampled M nodes as input. The same as theSection 3.2, we construct a KNN graph and the localfeature of each node s j is learned by a two-layer MLP.Finally, we get the global feature through maxpool. Weconcat the global feature with features of the individualnodes to learn the representation of each node relativeto the global.

In Figure 1(III), we concat each node’s featurelearned by the global point graph with the correspond-ing nodes’ features f ′j in the point attention layer, giving

these nodes global information. The experimental resultshows that the global point graph can further combinethe local information with the global information, thusassisting the learning of point attention layer and im-proving the performance of the network.

3.4. Attention-based Encoder-Decoder for Segmenta-tion

In the classification network, from the local structurefeature learning to the multi-layer point attention layer,and the global maxpool, the whole process can be re-garded as an encoder. In the task of point-by-point clas-sification, such as segmentation, requires the integrationof local and global information, and the integration pro-cess can be regarded as an invert operation of the en-coder. Therefore, we design a decoder network whichillustrated in Figure 3. In the decoder, we use the atten-tion structure opposite to the encoder to concatenate thelocal information of M nodes with the global feature asthe input of the decoder network.

Intuitively, the encoder aggregates neighbor informa-tion through attention to achieve feature learning fromlocal to global. On the contrary, in the decoder, it canbe seen that each node sends the global information toits’ neighbor nodes, which makes high-level semanticinformation propagate to the finer information.

Finally, in order to obtain more fine-grained local in-

5

Page 6: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

formation for the segmentation, we use the inverse dis-tance weighted average interpolation in 3D Euclideanspace. The formulas are as follows:

fi =

∑mj=1 wi, j · fi, j∑m

j=1 wi, j, (4)

where m represents m nearest neighbor points in 3DEuclidean space, and m=3 in the experimental setup;w(i, j) = 1

d(pi−p j)represents the inverse square Euclidean

distance between point pi and the neighbor point p j.

4. Experimental results

To verify the performance our AGCN network, wecompare some point-based methods on classificationand segmentation tasks. The data sets used mainly in-clude ModelNet40 [32], ShapeNet part dataset [3], andLarge-Scale 3D Indoor Spaces Dataset (S3DIS) [2].

4.1. 3D Point Set Classification

We evaluate our network on ModelNet40 [32] for 3Dpoint set classification. ModelNet40 contains 12311CAD models from 40 categories and is split into 9843for training and 2468 for testing. For fair comparison,we use the same data provided by PointNet [4]. In ourexperiment, we employ the same augmentation strategyas PointNet [4] by randomly rotating point clouds alongthe z-axis and jittering the position of each point by aGaussian noise with zero mean and 0.02 standard devi-ation.

As we described in Section 3.1, our network uses thecoordinates of the point clouds as well as the surfacenormal as input. In the stage of local structural featurelearning, we sample M=256 nodes to form a set S, andextract L=16 nearest points for each node s j to build lo-cal point set g j. In the encoder, we stack 3 layers ofpoint attention layer and build a 3-NN graph for eachpoint attention layer to learn from local to global fea-tures. In addition, we build a 3-NN graph for the pointset S as the input to the global point graph. Finally, weget a global feature through maxpool and send it to threefully connected layers: FC(512) → FC(256) → FC(40)for object classification. Dropout layers are used forthe fully connected layers, dropout ratio is 0.5. ReLUand Batchnorm are used in each MLP layer. In ournetwork, all parameters are uniformly initialized within[-0.001, 0.001]. We train the network for 200 epochson an NVIDIA GTX 1080 GPU using tensorflow withAdam optimizer, batchsize=32, and initial learning rateis 1e-3, momentum=0.9, the learning rate is reduced by

a decay rate of 0.7 for every 20 epochs.In Table 1, compard with the current methods, we can

see that the proposed method has achieved state-of-the-art performance among the point-based methods.

Table 1Classification accuracy (%) on ModelNet40.

Method input accuracy accuracypoints avg.class overall

ECC [25] 1024×3 83.2 87.4PointNet [4] 1024×3 86.2 89.2A-SCN [33] 1024×3 87.4 89.8KC-Net [24] 1024×3 - 91.0PointNet++ [22] 5000×6 - 91.9Kd-Net [15] 215 × 3 - 91.8SpiderCNN [34] 1024×6 - 92.4LocalSpecGCN [29] 2048×6 - 92.1AGCN 1024×6 90.7 92.6

4.2. 2D Point Set Classification

We also evaluate the performance of the network onthe MNIST dataset. We use the same protocol as usedin PointNet++ [22], where 512 points are sampled foreach digit image. Our network uses the coordinates ofthe 2D point clouds, we sample M=128 nodes to forma set S, and extract L=32 nearest points for each nodes j to build local point set g j. The other experimentalsettings are the same as section 4.1. Table 2 shows theclassification result of our network, and we can see thatour network can achieve performance compared to themost recent methods on the 2D dataset.

Table 2Error rate (%) on MNIST dataset.

Method input Error ate(%)PointNet [4] 256×2 0.78A-SCN [33] 256×2 0.60KC-Net [24] 256×2 0.70PointNet++ [22] 512×2 0.51Kd-Net [15] 1024×2 0.90SpiderCNN [34] - -LocalSpecGCN [29] 1024×2 0.42AGCN 512×2 0.48

4.3. Part Segmentation

We evaluated our model for part segmentation onShapeNet part dataset [3], which contains 16,881 shapesfrom 16 classes and 50 parts in total. The point of each

6

Page 7: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

Table 3Accuracy (%) of part segmentation results on ShapeNet part dataset.

Cat. Ins. air bag cap car chair ear guitar knife lamp laptop motor mug pistol rocket skate tablemIoU mIoU plane phone bike board

#shapes 2690 76 55 898 3758 69 787 392 1547 451 202 184 283 66 152 5271PointNet [4] 80.4 83.7 83.4 78.7 82.5 74.9 89.6 73.0 91.5 85.9 80.8 95.3 65.2 93.0 81.2 57.9 72.8 80.6PointNet++ [22] 81.9 85.1 82.4 79.0 87.7 77.3 90.8 71.8 91.0 85.9 83.7 95.3 71.6 94.1 81.3 58.7 76.4 82.6Kd-Net [15] 77.4 82.3 80.1 74.6 74.3 70.3 88.6 73.5 90.2 87.2 81.0 94.9 57.4 86.7 78.1 51.8 69.9 80.3SpiderCNN [34] 82.4 85.3 83.5 81.0 87.2 77.5 90.7 76.8 91.1 87.3 83.3 95.8 70.2 93.5 82.7 59.7 75.8 82.8SynSpecCNN [35] 82.0 84.7 81.6 81.7 81.9 75.2 90.2 74.9 93.0 86.1 84.7 95.6 66.7 92.7 81.6 60.6 82.9 82.1A-SCN [33] 81.8 84.6 83.8 80.8 83.5 79.3 90.5 69.8 91.7 86.5 82.9 96.0 69.2 93.8 82.5 62.9 74.4 80.8KC-Net [24] 82.2 84.7 82.8 81.5 86.4 77.6 90.3 76.8 91.0 87.2 84.5 95.5 69.2 94.4 81.6 60.1 75.2 81.3AGCN 82.6 85.4 83.3 79.3 87.5 78.5 90.7 76.5 91.7 87.8 84.7 95.7 72.4 93.2 84.0 63.7 76.4 82.5

Fig. 5. Part segmentation results. The first row represents the ground truth (GT), and the second row represents our predictedresult.

object is assigned a part label. We use data sets providedby PointNet++ [22] and employ the same experimentalsetup for training and testing. The task of part segmen-tation is to predict the part category of each point, whichcan be regarded as a point-by-point classification prob-lem.

We use the coordinates of the point clouds as well asthe surface normal as input to the network. In the stageof local structural feature learning, we sample M=384nodes to form a set S, and extract L=16 nearest pointsfor each node s j to build local point set g j. As describedin Section 3.4, In the encoder, we stack a 3-layer pointattention layer and build an 8-NN graph for each pointattention layer. In addition, we build an 8-NN graph forthe point set S as the input to the global point graph.Other hyper-parameters are the same as in Section 4.1.

We use intersection-over-union (IoU) to evaluate ourour network, the same as PointNet++ [22]. The Over-all average instance mIoU(Ins. mIoU) is calculated byaveraging IoUs of all the shape instances and the over-all average category mIoU(Cat. mIoU) is calculated byaveraging over 16 categories. Results are shown in Ta-ble 3, we can see that with the attention-based encoder-decoder structure, we have achieved good segmentationresults for most categories, and some of the segmenta-

tion results are shown in Figure 5.

4.4. Semantic SegmentationWe evaluate our network on semantic scene segmen-

tation using S3DIS dataset [2]. S3DIS contains 3Dscans from Matterport scanners in 6 areas including 271rooms. Each point in the scene point clouds is anno-tated with one of the semantic labels from 13 categories.We use the same strategy used in PointNet [4] and A-SCN [33]. The data firstly split points by room, andthen sample rooms into blocks with area 1m by 1m,each block contains 4096 points.

The input for each point is a 9-dimensional vector(including the xyz, RGB, and the normalized room loca-tion). In the stage of local structural feature learning, wesample M=512 nodes to form a set S, and extract L=16nearest points for each node s j to build local point set g j.As described in Section 3.4, In the encoder, we stack a3-layer point attention layer and build an 8-NN graphfor each point attention layer. In addition, we build an8-NN graph for the point set S as the input to the globalpoint graph.

The 6-fold cross validation results of our method areshown in Table 4 and the scores of per class IoU in Ta-ble 5. Through the encoder-decoder structure, the mean

7

Page 8: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

Table 46-fold cross validation results on S3DIS dataset.

Method mean IoU Overallaccuracy(%)

PointNet [4] 47.71 78.62A-SCN [33] 52.72 81.59SEGCloud [27] 48.92 -G+RCU [8] 49.7 81.1RSNet [12] 56.47 -Engelmann et al. [9] 58.27 83.95AGCN 56.63 84.13

Fig. 6. Semantic segmentation results. From left to right: orig-inal input scenes, ground truth segmentation, our segmentationresults, PointNet [4] segmentation results.

IoU of our model is 56.63% and the overall accuracy is84.13%. Some of the experimental results are shown inFigure 6. we can see that, compared to PointNet [4],our segmentation results are smoother and the result ofsegmentation obtained in some flat areas is more uni-form.

5. Discussion

5.1. Influence of different inputs on Network Stability

We evaluate the effect of different points on AGCN.Following the settings in Section 4.1, different numbersof points and corresponding normals were used as inputto train our network and PointNet++ [22]. The experi-

mental results are shown in Figure 7. The accuracy ofour network is 87.82% when it is reduced to 32 points.

82

84

86

88

90

92

94

1024 512 256 128 64 32

acc

%

input points

AGCN

PointNet++

Fig. 7. Accuracy with different number of input points on Mod-elNet40.

5.2. Effectiveness of global point graphTo evaluate the effectiveness of global point graph,

we trained two networks (with/without global pointgraph) on the ModelNet40 classification task. The net-work settings are the same as the experiments in Sec-tion 4.1. Table 6 shows the results of the experiment. Itcan be seen that the use of global point graph has greatlyimproved the network (by nearly 2%) compared to net-works that without global point graph.

5.3. Visualize point attention layerWe visualize different layers learned from Model-

Net40, as illustrated in Figure 8. It can be observedthat the features obtained by local structure learning aresparse, but as the depth of the network increases, the dis-tribution of features is close to a cluster, indicating thatour point attention layer can effectively aggregate localinformation. The feature learning from local to globalis achieved.

5.4. Model size and TimingWe recorded the number of parameters of different

networks and the time of training/inference on the tasksof the ModelNet40 classification. For fair comparison,we set the batch size to 16, 1024 points as input to thenetwork, other settings for experiments are the same asin Section 4.1. We statistic network parameters, and av-erage training/inference time for each batch. The exper-imental results available in Table 7, we can see that ournetwork can exceed or approach the latest methods. Al-though our parameters are more than PointNet++ [22],thanks to our point attention layer, which only focuseson neighboring points, the amount of computation of thenetwork is reduced.

8

Page 9: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

Table 5IoU(%) per class on the S3DIS dataset.

Method ceiling floor wall beam column window door chair table bookcase sofa board clutterSEGCloud [27] 90.06 96.05 69.86 0.00 18.37 38.35 23.12 78.59 70.40 58.42 40.88 12.96 41.06RSNet [12] 92.48 92.83 78.56 32.75 34.37 51.62 68.11 59.72 60.13 16.42 50.22 44.85 52.03G+RCU [8] 90.3 92.1 67.9 44.7 24.2 52.3 51.2 58.1 47.4 6.9 39.0 30.0 41.9Engelmann et al. [9] 92.1 95.0 72.0 33.5 15.0 46.5 60.9 65.1 69.5 56.8 38.2 6.9 51.3AGCN 91.37 94.62 76.12 54.93 35.23 56.71 57.69 62.61 55.94 19.37 46.57 37.37 47.64

Table 6Accuracy on ModelNet40 with or without global point graph.

With or without global point graph accuracy(%)With global point graph 92.61Without global point graph 90.54

Fig. 8. Visualize point attention layer. The first column showslocal structural features, from the second column to the fourthcolumn, we stack 3 layers of point attention layer. We ran-domly sample one point, and the brighter the color of thesepoints, the higher the correlation between the features of thesepoints.

5.5. Visualize the local patterns

We visualize the local patterns learned by the kernelsof the first layer of our network on ModelNet40. Foreach point set, we use all points as input to activate thespecific neurons. In Figure 9, We can see that the kernelof our network can learn local patterns very well, suchas lines, planes etc.

6. Conclusion

In this paper, we present AGCN. We introduced theattention mechanism in the graph structure network tobuild point attention layer, and learn the relationshipbetween local features. Also, we extended the point at-tention layer to build encoder-decoder attention networkfor segmentation tasks. To compensate for the relative

Table 7Model size and train/inference time. Our networks were testedwith an NVIDIA GTX 1080 GPU and an Intel i7-3770K @ 3.5GHz 4 cores CPU. "M" stands for million. The train/inferencetime is for per batch.

Method Parameters Train/Inference time(per batch)

PointNet [4] 3.48M 0.083/0.024 sPointNet++ [22] 1.48M 0.526/0.203 sSpiderCNN [34] 3.23M 0.332/0.145 sAGCN 2.03M 0.076/0.033 s

Fig. 9. Visualize the patterns learned from the first layer. Eachrow represents the same sample, and for each sample we select4 learned kernels, red color indicates the highest response tothe activation of the kernel, and blue color indicates the lowestresponse to the activation of the kernel.

information of individual points in the graph network,we introduce an additional global graph structure net-work. Through some extensive experiments, we can seethat point attention layer can effectively model the re-lationship between local features and achieve local-to-global feature learning. In the future work, we will fur-ther improve the point attention layer for 3D semanticanalysis.

9

Page 10: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

Acknowledgement

This work is partly supported by the National Nat-ural Science Foundation of China (No.61876158)and Sichuan science and technology program(No.19ZDYF2070).

Reference

References

[1] Iro Armeni, Sasha Sax, Amir R Zamir, and Silvio Savarese.Joint 2d-3d-semantic data for indoor scene understanding. arXivpreprint arXiv:1702.01105, 2017.

[2] Iro Armeni, Ozan Sener, Amir R. Zamir, Helen Jiang, IoannisBrilakis, Martin Fischer, and Silvio Savarese. 3d semantic pars-ing of large-scale indoor spaces. In Computer Vision & PatternRecognition, 2016.

[3] Angel X Chang, Thomas Funkhouser, Leonidas Guibas, PatHanrahan, Qixing Huang, Zimo Li, Silvio Savarese, ManolisSavva, Shuran Song, Hao Su, et al. Shapenet: An information-rich 3d model repository. arXiv preprint arXiv:1512.03012,2015.

[4] R. Qi Charles, Su Hao, Kaichun Mo, and Leonidas J. Guibas.Pointnet: Deep learning on point sets for 3d classification andsegmentation. In IEEE Conference on Computer Vision & Pat-tern Recognition, 2017.

[5] Jianpeng Cheng, Li Dong, and Mirella Lapata. Long short-term memory-networks for machine reading. arXiv preprintarXiv:1601.06733, 2016.

[6] Angela Dai, Angel X. Chang, Manolis Savva, Maciej Halber,Thomas Funkhouser, and Matthias Nie?ner. Scannet: Richly-annotated 3d reconstructions of indoor scenes. 2017.

[7] Micha?l Defferrard, Xavier Bresson, and Pierre Vandergheynst.Convolutional neural networks on graphs with fast localizedspectral filtering. 2016.

[8] Francis Engelmann, Theodora Kontogianni, Alexander Her-mans, and Bastian Leibe. Exploring spatial context for 3d se-mantic segmentation of point clouds. In Proceedings of theIEEE International Conference on Computer Vision, pages 716–724, 2017.

[9] Francis Engelmann, Theodora Kontogianni, Jonas Schult, andBastian Leibe. Know what your neighbors do: 3d semantic seg-mentation of point clouds. In European Conference on Com-puter Vision, pages 395–409. Springer, 2018.

[10] Timo Hackel, Nikolay Savinov, Lubor Ladicky, Jan D. Wegner,Konrad Schindler, and Marc Pollefeys. Semantic3d.net: A newlarge-scale point cloud classification benchmark. 2017.

[11] Kaiming He, Xiangyu Zhang, Shaoqing Ren, and Jian Sun.Deep residual learning for image recognition. In Proceedingsof the IEEE conference on computer vision and pattern recogni-tion, pages 770–778, 2016.

[12] Qiangui Huang, Weiyue Wang, and Ulrich Neumann. Recurrentslice networks for 3d segmentation of point clouds. In Proceed-ings of the IEEE Conference on Computer Vision and PatternRecognition, pages 2626–2635, 2018.

[13] Sergey Ioffe and Christian Szegedy. Batch normalization: Ac-celerating deep network training by reducing internal covariateshift. arXiv preprint arXiv:1502.03167, 2015.

[14] Thomas N. Kipf and Max Welling. Semi-supervised classifica-tion with graph convolutional networks. 2016.

[15] Roman Klokov and Victor Lempitsky. Escape from cells:Deep kd-networks for the recognition of 3d point cloud mod-els. In 2017 IEEE International Conference on Computer Vision(ICCV), 2017.

[16] Yangyan Li, Soeren Pirk, Hao Su, Charles R Qi, and Leonidas JGuibas. Fpnn: Field probing neural networks for 3d data. In Ad-vances in Neural Information Processing Systems, pages 307–315, 2016.

[17] Jonathan Long, Evan Shelhamer, and Trevor Darrell. Fully con-volutional networks for semantic segmentation. In Proceedingsof the IEEE conference on computer vision and pattern recogni-tion, pages 3431–3440, 2015.

[18] Daniel Maturana and Sebastian Scherer. Voxnet: A 3d con-volutional neural network for real-time object recognition. InIEEE/RSJ International Conference on Intelligent Robots & Sys-tems, 2015.

[19] Hyeonwoo Noh, Seunghoon Hong, and Bohyung Han. Learn-ing deconvolution network for semantic segmentation. In IEEEInternational Conference on Computer Vision, 2015.

[20] David Novotny, Diane Larlus, and Andrea Vedaldi. Learning 3dobject categories by looking around them. 2017.

[21] Charles R. Qi, Su Hao, Matthias Niessner, Angela Dai, andLeonidas J. Guibas. Volumetric and multi-view cnns for objectclassification on 3d data. 2016.

[22] Charles R. Qi, Yi Li, Su Hao, and Leonidas J. Guibas. Point-net++: Deep hierarchical feature learning on point sets in a met-ric space. 2017.

[23] Gernot Riegler, Ali Osman Ulusoy, and Andreas Geiger. Octnet:Learning deep 3d representations at high resolutions. 2017.

[24] Yiru Shen, Chen Feng, Yaoqing Yang, and Dong Tian. Min-ing point cloud local structures by kernel correlation and graphpooling. In Proceedings of the IEEE conference on computervision and pattern recognition, pages 4548–4557, 2018.

[25] Martin Simonovsky and Nikos Komodakis. Dynamic edge-conditioned filters in convolutional neural networks on graphs.2017.

[26] Hang Su, Subhransu Maji, Evangelos Kalogerakis, and ErikLearned-Miller. Multi-view convolutional neural networks for3d shape recognition. In Proceedings of the IEEE internationalconference on computer vision, pages 945–953, 2015.

[27] Lyne Tchapmi, Christopher Choy, Iro Armeni, JunYoung Gwak,and Silvio Savarese. Segcloud: Semantic segmentation of 3dpoint clouds. In 2017 International Conference on 3D Vision(3DV), pages 537–547. IEEE, 2017.

[28] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit,Llion Jones, Aidan N Gomez, Łukasz Kaiser, and Illia Polo-sukhin. Attention is all you need. In Advances in Neural Infor-mation Processing Systems, pages 5998–6008, 2017.

[29] Chu Wang, Babak Samari, and Kaleem Siddiqi. Local spectralgraph convolution for point set feature learning. In Proceedingsof the European Conference on Computer Vision (ECCV), pages52–66, 2018.

[30] Dominic Zeng Wang and Ingmar Posner. Voting for voting inonline point cloud object detection. In Robotics: Science andSystems, volume 1, pages 10–15607, 2015.

[31] Yue Wang, Yongbin Sun, Ziwei Liu, Sanjay E Sarma,Michael M Bronstein, and Justin M Solomon. Dynamicgraph cnn for learning on point clouds. arXiv preprintarXiv:1801.07829, 2018.

[32] Zhirong Wu, Shuran Song, Aditya Khosla, Fisher Yu, LinguangZhang, Xiaoou Tang, and Jianxiong Xiao. 3d shapenets: A deeprepresentation for volumetric shapes. 2014.

[33] Saining Xie, Sainan Liu, Zeyu Chen, and Zhuowen Tu. Atten-tional shapecontextnet for point cloud recognition. In Proceed-ings of the IEEE Conference on Computer Vision and Pattern

10

Page 11: Abstract arXiv:1905.13445v1 [cs.CV] 31 May 2019 · Point Clouds Learning with Attention-based Graph Convolution Networks Zhuyang Xie a, Junzhou Chenb,, Bo Peng aSchool of Information

Recognition, pages 4606–4615, 2018.[34] Yifan Xu, Tianqi Fan, Mingye Xu, Long Zeng, and Yu Qiao.

Spidercnn: Deep learning on point sets with parameterized con-volutional filters. In Proceedings of the European Conferenceon Computer Vision (ECCV), pages 87–102, 2018.

[35] Li Yi, Hao Su, Xingwen Guo, and Leonidas J Guibas. Sync-speccnn: Synchronized spectral cnn for 3d shape segmentation.In Proceedings of the IEEE Conference on Computer Vision andPattern Recognition, pages 2282–2290, 2017.

11