3DTI-Net: Learn Inner Transform Invariant 3D Geometry Features using Dynamic GCN

by   Guanghua Pan, et al.
Shanghai Jiao Tong University

Deep learning on point clouds has made a lot of progress recently. Many point cloud dedicated deep learning frameworks, such as PointNet and PointNet++, have shown advantages in accuracy and speed comparing to those using traditional 3D convolution algorithms. However, nearly all of these methods face a challenge, since the coordinates of the point cloud are decided by the coordinate system, they cannot handle the problem of 3D transform invariance properly. In this paper, we propose a general framework for point cloud learning. We achieve transform invariance by learning inner 3D geometry feature based on local graph representation, and propose a feature extraction network based on graph convolution network. Through experiments on classification and segmentation tasks, our method achieves state-of-the-art performance in rotated 3D object classification, and achieve competitive performance with the state-of-the-art in classification and segmentation tasks with fixed coordinate value.



There are no comments yet.


page 1

page 2

page 3

page 4


Global Context Aware Convolutions for 3D Point Cloud Understanding

Recent advances in deep learning for 3D point clouds have shown great pr...

RGCNN: Regularized Graph CNN for Point Cloud Segmentation

Point cloud, an efficient 3D object representation, has become popular w...

Grid-GCN for Fast and Scalable Point Cloud Learning

Due to the sparsity and irregularity of the point cloud data, methods th...

An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution

Few ideas have enjoyed as large an impact on deep learning as convolutio...

DuMLP-Pin: A Dual-MLP-dot-product Permutation-invariant Network for Set Feature Extraction

Existing permutation-invariant methods can be divided into two categorie...

LatticeNet: Fast Spatio-Temporal Point Cloud Segmentation Using Permutohedral Lattices

Deep convolutional neural networks (CNNs) have shown outstanding perform...

Point Cloud Oversegmentation with Graph-Structured Deep Metric Learning

We propose a new supervized learning framework for oversegmenting 3D poi...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introduction

3D deep learning has achieved rapid progress recently, there are many different methods for 3D deep learning, some convey 3D shapes to voxel[27][13] while some project 3D objects to different image planes[20][12]. However, the former represent the 3D data in a sparse way which is memory space consuming and ineffective, the latter relies on heavy computation and needs additional view rendering.

Point cloud learning has made a lot of progress and methods consuming point cloud directly as input have formed a new research field, which has shown advantages in accuracy and speed compared to other methods. The first point cloud dedicated network is PointNet [5]

, which uses a transform net to align 3D shapes, and max pooling as global symmetric function to handle unordered point cloud. One weakness for PointNet is that it treats each point individually which leading to the loss of local structure information, Methods like PointNet++

[16] and DGCNN [25] then try to solve this problem by taking neighbor points into account to improve the performance, but as the neighbor points in each patch are still treated individually, they fail to learn correlation of points within a patch.

Besides, since the coordinates of the points depends on the coordinate system, these methods require the orientation to be similar between training set and test set to achieve high accuracy in recognition tasks. 3D rotations have been a nuisance for 3D shape recognition tasks, most of point cloud based methods can only tackle it with data augmentation. Until recently some methods tries to solve the problem by projecting 3D points to a unit sphere and perform spherical CNN to learn equivalence 3D features [7][28]. However these methods need preprocessing and are time consuming which limits the versatility of these methods.

We propose a transform-invariant 3D deep net taking a point cloud as direct input which we called 3DTI-Net, we designed a transform-invariant feature encoder and a deep net based on GCN(graph convolutional network) to learn transform-invariant 3D descriptor, Translation invariant and be easily achieved by re-centering the point cloud to the it’s centroid, however, rotation invariant remains a challenge in 3D deep learning, Rotation invariant features are important in tasks like classification, segmentation or high-level task like 3D retrieval in practical application, for the reason that the point cloud collected by depth sensors may not aligned with the training data.

3DTI-Net can tackle rotation invariant problems without data augmentation and is more computationally efficient. Our model needs no pre-training and could consume point clouds directly without complex preprocessing.

The key contributions of our work are as follows: (1) As far as we know, we are the first one to propose a graph-based transform-invariant 3D geometry feature for 3D point cloud learning, together with theoretical analysis on the transform-invariant property and the spatial meaning.

(2) We propose a novel, general GCN-based deep net to learn 3D geometry feature represented by graph signals more effectively.

(3) We propose a fast and effective transform-invariant feature based pooling method and a dynamic graph update strategy to achieve multi-resolution learning on graphs.

The rest of this paper is organized as follows: Related work is shown in section II. Problem statement of our work is given in section III. Details of our propose method is shown IV. Experiment results are detailed in section V. Finally, we conclude this paper in section VI.

2 Related Work

3D Geometry Feature: 3D feature descriptors could be split into two classes, hand-crafted features and learned features. Various hand-crafted 3D features descriptors haver been proposed for segmentation, matching and classification, including spin images[11], shape context[3] and histogram based approaches[17][24][18], most of which could be found in the Point Cloud Library[1]. However, these methods have reached a bottleneck in handling noisy and low-resolution data, and those methods were designed for specific application which means they are hard to generalize for different situations.

Data-driven methods provide a better way with the success of CNN in 2D vision tasks. learned 3D features has achieved rapid progress since the introduction of 3D deep learning.

Su H et al. [15] learns 3D shapes by a collection of the rendered views on 2D images and achieves dominating performance in 3D recongnition tasks. Zhou Y et al. [13] propose VoxelNet which vonverts a point cloud into 3D voxels and transforms a group of points into a unified feature representation. However, both multi-view rending and voxelization lead to high time and space cost, besides, voxelization may cause an unnecessary information loss. Both methods above tried transforms point cloud to more regular data since point clouds are not in a regular format.

Deep Learning on Point clouds: Charles R Q et al. [5] firstly design a novel deep network, named PointNet, for unordered point clouds. PointNet provides a unified architecture for various 3D based applications, such as object classification, part segmentation and scene semantic parsing. In order to better integrate local structure information, the authors propose another network called PointNet++ [16]. PointNet++ applies PointNet recursively on a nested partitioning of the input point set. Inspired by PoineNet, more researchers have propose different deep learning methods on point clouds [25].

Graph Signal processing: Graph signal processing are emerging field mean to combine signal processing and spectral graph theory, which aims at generalize fundamental signal operations from regular to irregular structures represented by graphs. we need new mathematical definitions to extend standard operations such as convolution, filtering, dilation and down sampling to graphs.

More research on graph signal processing tries to process data on irregular graph domains, readers could refer to [14] for an overview, which summarizes recent development of basic graph signal processing tools, including methods for sampling, filtering and graph learning. Chen S et al. [6] propose a re-sampling framework for 3D point clouds and a feature-extraction operator based on graph filtering.

Graph convolution neural network:


defined convolution over graphs in the spectral domain, however the computation complexity is high due to the eigen-decomposition of the graph Laplacian matrix in order to get the eigenvector matrix. Defferrard M

et al. [8]

then tries to impove GCN through fast localized convolutions, where Chebyshev expansion is deployed to approximate graph Fourier transform.

Graph convolution networks have achieved great performance on learning data lying on irregular non-Euclidean domains like point clouds and social networks[22].

Rotation Invariant 3D features Learning: Convolutional neural networks have translational invariance. However, 3D rotation equivariance in classical convolutional neural networks still remains unsolved. [9][7] propose a novel spherical convolutional network that implements exact convolution on the sphere. In order to achieve rotation equivariance, authors of [23]

introduced a tensor field neural network that inputs and outputs tensor fields: scalars, vectors and higher-order tensors.

[26] provided an example of a CNN with linear equivariance to 3D rotations and 3D translations of voxelized data.

Figure 1: Our propose model architecture, the left part is the front-end, which determines the input signal of the back end. Three modes are considered: (1) trained and tested with azimuthal rotations (z/z), (2) trained and tested with arbitrary rotations (SO(3)/SO(3)), and (3) trained with azimuthal and tested with arbitrary rotations (z/SO(3)). If the test set and the training set are similar in distribution (z/z mode), we take the coordinates as direct input. if only test data are rotated (z/SO(3) mode), the original coordinates are transformed to high-dimensional transform invariant expression encoded by the TI-encoder. The right part is the back-end, which is composed of Multi-GCN layers, plays a role in extracting global feature.

3 Problem Statement

In order to propose a general network for point cloud learning, two challenges exits, the first one is to learn inner 3D geometry features in a transform-invariant way, the second one is to learn point cloud more generally and effectively with a deep net. When given a 3D object represented by point cloud , where is the number of points and is number of feature channels, we need to design a transform-invariant feature encoder (abbreviated as TI-encoder) as the front-end to describe the shape of the 3D object, the encoded features should be able to express the inner geometric features. Let be the TI-encoder, where represents the dimension of the feature space after encoding, the encoded feature can be written as , Let be a random rotation matrix, then should be satisfied to achieve a transform-invariant expression. When given a point cloud with points and each point with attributes, in classification experiments we use 3D coordinates or the encoded transform-invariant features to show that we can learn the geometry of a point cloud effectively, there are many attributes like colors, normal vectors or textures to further describe the characteristics of a point cloud, normals are used as additional attributes in segmentation experiments to better compare with previous methods. We need to design a feature extractor as the back-end to learn a feature descriptor, where is the length of the output feature descriptor. should be able to extract features of high degree of division, high computational efficiency and be robust to noise and point cloud intensity.

4 Method

4.1 Porposed Archetecture

Our proposed model is shown in Figure 1, the raw input of the model is point cloud with points and each with three coordinates, In section 4.2, the point cloud coordinates will be encoded as high dimensional transform-invariant feature through transform-invariant feature encoder(TI-layer), Multi-GCN layers are used to extract more abstract features, and in order to reduce the amount of parameters and better integrate local features, we perform pooling after the first Multi-GCN layer to achieve multi-resolution graph learning, the number of nodes is hence reduced and the information carried by each node becomes more abundant. Max pooling is applied to extract global feature descriptors, followed with three fully connected layers, which outputs the final predicted labels.

4.2 3D Geometry Representation

The coordinates of a point cloud depends on the choice of the 3D coordinate system. Therefore, to achieve rotation invariant geometry feature learning, we need to convert the point cloud coordinates to another transform invariant expression , should be able to express inner 3D geometry characteristic carried by the original 3D shape represented by the point cloud.

The geometric features are implicitly expressed by the relationship between different points. When the coordinate system where the point cloud located is fixed, a simple relationship between points can be represented as the difference in coordinate values , where are two points in point cloud , representing the relative position in the coordinate system, from which we can get the distance information between two points: . Relative direction information in the determined coordinates , and can be completely determined by multiplying the length by a direction vector.

However, if the coordinate system is not fixed, the relative direction will change with the coordinate system while distance between points remain unchanged, functions based on distance are called RBFs(radial basis functions) which are widely used in handcrafted 3D rotation invariant features, one important property for RBFs is that they are rotation invariant. At the same time, if the distance between two points is known, the relationship between two points can be reconstructed when given a fixed coordinate system, and the geometric information carried by the two points can then be completely expressed. For a point cloud, if the pairwise distance between points are known, the inner geometric features carried by points can be completely reconstructed except for an additional mirror symmetry uncertainty.

Therefore, the geometric features can be implicitly represented by the connection relationship between points, the edge connecting each points are weighted by pair-wise distance. this expression depends only on the distance between points, hence is transform-invariant. The graph structure can be used to describe the relationship between points. All the points in point cloud serve as nodes. The weighted point-to-point connection relationship is the edge. There are many ways to express a graph. such as adjacency matrix , Laplacian matrix and other descriptions.

Graph signals: We use the coordinates of the point as the origin signal, i.e. the signal of node is , and means the whole signal consisting of all the nodes on the graph.

Graph construction: Graph can be regarded as a discrete approximation of the original surface. we use the distance in the original 3D space or in the feature space to construct a graph, it is also feasible to take additional feature into account. We could then define an undirected graphs , where is a finite set of verticles, is a set of edges and is a weighted adjacency matrix encoding the connection weight between verticles. First we calculate pairwise distances of the point cloud, then find its neighbors according to the Euclidean distance of each point in 3D coordinate space to get the nearest neighbor adjacency distance matrix , represents the Euclidean distance between the th and th point in the point, is the neighbor points of th point, the weight between the center point and the neighbor point can then be computed based on the distance matrix:


where is the self-adaptive normalization parameter, and indicates the connection strength between two nodes, we can construct the adjacency matrix according to the weight. The symmetric normalized Laplacian matrix can then be calculated where is the degree matrix of the adjacency matrix . We also use random-walk normalized Laplacian matrix as the input of our transform-invariant feature encode layer to achieve rotation invariance.

4.3 Rotation Invariant Geometry Feature on Graphs

We have constructed the graph structure in previous section, which is represented by the Laplacian matrix , we also defined the signal on the graph. Graph filtering is a method that takes a graph signal as raw input and outputs a processed graph signal. Let be a graph shift operator, there are many common choices for in graph signal processing theory, such as adjacency matrix and Laplacian matrix . When the graph shift operator acts on a node on the graph, the graph signal value of the central node is replaced by a weighted average of its neighbors, Each linear translation invariant graph filter kernel can be written as a polynomial of the graph shift operator [19]:


Where represents the filter coefficient, K is the length of filter, and the output of the filtered signal is . let , the filter kernel acts on the graph signal , and the filtered output is .

Theorem1: Let be the coordinates of a point cloud recentered to it’s centroid, define features on graph as follows: , Where represents norm of each row, then the is rotational and translation invariant.

Proof: Translation invariant can be easily achieved by the re-centering operation, To prove rotation invariance, let be a random rotation matrix, and the rotated point cloud coordinates is . Then the feature:


TI (Transform-Invariant) Layer:

Given a graph represented by Random Walk Laplacian matrix together with graph signal , the filtered graph signal is , where is the number of feature map, the polynomial order is , then the th output channel of TI layer can be write as:

where are the bias of channel of the feature map, are K trainable filter coefficients which can be regarded as the convolution kernel.

Transform invariant feature visualization:

The visualization result of point cloud features after transform invariant encoding. is shown in Figure 2, It can be seen that the value is associated with contours of 3D object.

Figure 2: Each row in the image corresponds to a category, and each column of a row corresponds to two samples in the same class, We have normalized the length of the transformed features to 1.

4.4 Spatial interpretation of Rotation Invariant feature

As mentioned in section 4.2, when applying the graph shift operator on a point, the operation on the spatial domain is calculating the weighted average of the neighbor points around the center point. For Random Walk Laplacian matrix , the sum of each row equals to , so can be be decomposed into two parts: calculates the weighted average of the neighbor points around the central point. the weight is calculated by the distance between neighbor points and the center point. calculate the the relative coordinates of center point to the weighted average point. Therefore represents the Euclidean distance from the center point to the weighted average point, it’s a more comprehensive understanding of its rotation invariance property since the Euclidean distance is an invariant variable in

. We call this distance contour variance. The rotation invariantce can be achieved by calculating the norm of the relative coordinates, but the direction information is ignored. let

be a relative coordinate, and the coordinate value of any point is . the direction vector of a each point can be defined as which is also associated with the choice of coordinate system. The direction of a single node is also meaningless, the geometric information still hidden in the orientation relationship between points. Thus we can treat the direction vector as a new graph signal and perform feature extraction operation in the same way, that is, we apply a graph filtering to the new graph signal to obtain a description of the direction variance between each points. The feature is also rotation invariant and can be easily proved in the same way, we call this new feature direction variance, we then concatenate contour variance and direction variance to get the final output of TI layer.

4.5 Rotation Invariant convolution on graphs

In section 4.2, the point coordinates , which will change with rotation, are converted into a high-dimensional rotation-invariant feature by the front-end. that is, The absolute 3D coordinate value can then be transformed to relative rotation invariant feature through the relationship between points. we still need to design a network to extract deep rotation invariant feature.

GCN is used to extract feature descriptor of the point cloud. the convolution operator on a graph is originally defined in the spectral domain [4], however, two limitations exits: (1) it is not localized in space, (2) due to the eigen-decomposition of the graph Laplacian, it has high computational complexity. Defferrard et al. propose to use Chebyshev polynomials to approximate the spectral filtering [8]. The K-localized filtering operation can be defined as:


is the -th Chebyshev coefficient. is the Chebyshev polynomial of order . It can recurrently calculated by , where . Then the complexity is reduced from to .

K-localized GCN is used as our convolution layer. The output of the TI layer is transform invariant: where are arbitrary rotation and translation matrices. So the entire convolution process is rotation invariant:


We then use a relu activation function to achieve the nonlinearity of the network:


where are trainable weights, are the bias, is the final output.

4.6 Multi-resolution learning on graphs

Figure 3: Coarsening on graphs, column (a) is the origin point cloud, (b) is the proposed down sampling method, (c) is uniform down sampling while (d) is furthest point sampling

Fast transform-invariant pooling on graphs: The pooling operation consists of two steps. first we need to down sample the point cloud and keep those points that contributes more on final classification result after coarsening, they are similar to the ’critical points’ in PointNet which are usually the contour points of an object. Then we need to cluster points that are most similar to the sampled points. Coarsening on point cloud is a challenging task, some methods simply treat each point equally and use uniform down sampling to handle this problem, but uniform sampling suffers uncertainty and the sampled points does not contributes more on the final result, others [10] use furthest points sampling but still have the same problem and is far more time consuming. pooling is frequently used in deep net so pooling on point cloud must be computation effective too. The TI feature we propose is related to the contour variance of the point, i.e. the difference between the center point and it’s neighbor points and we have explained the spatial meaning of it in section, Just like the edges in 2D images, we think the contours of a point clouds are points that are different from their neighbor points, so we just sort the TI feature and select top points that vary most from their neighbors. the comparison of our coarsening strategy with uniform sampling is show in 3 After coarsening, we search nearlist neighbors of each sampled point, followed with a local maxpooling to integrate local information, is set to 8 in our experiment.

Dynamic Graph Updating: The dynamic graph has three meanings, first, the number of neighbors used to construct the graph is dynamic in order to adjust the receptive fields of different layers. Second, in classification task, the number of nodes of the graph is dynamic since the amount of nodes is reduced after pooling. Third, the connection relationship and the weight of the edge are determined by the distance in the feature space in segmentation task.

4.7 3DTI-Net Baseline Model

Figure 4: Our baseline model, the coordinates are transfered to a high-dimentional transform invariant representation through TI-layer, then two GCN layers and a maxpooling are used to output final feature descriptor.

To show that 3DTI-Net is effective in learning inner 3D geometry features, a simple network architecture is designed as our baseline model. The baseline mainly consists of 3 parts, the translation invariant geometry feature encoder layer, feature extraction layer based on graph CNN, and a global feature extraction layer. The point cloud coordinates can be encoded as high dimensional transform-invariant feature through rotation invariant feature encoder layer, then pass through feature extract layer which is composed of 2 GCN layers to learn feature that represents structure information, a golbal max pooling is then applied to extract global rotation invariant 3D geometry feature descriptor.

5 Experiment

5.1 Transform Invariance Test

The transform invariance property of our network are tested through 3D shape classification task and 3D retrieval task. For classification task, when given a set of 3D objects with label, we need to train a function to predict the label of a new object. We choose ModelNet40 as our dataset which is widely used in 3D object classification tasks. ModelNet40 contains 12311 CAD models from 40 categories, for each model, 1,024 points are uniformly sampled from the mesh faces and normalized to the unit sphere. We only use the coordinates of the sampled points in classification task. We train the model with the origin oriention and test the data with random rotation to see whether our model could achieve translation invariant in classification task (z/SO(3) mode).

Implementation Details

There exits two strategies to avoid over-fitting, we add dropout after fully connected layer and add regularization term to total loss, we also use a weighted gradient descent to prevent the model from over fitting to classes with majority samples. The models are trained using an NVIDIA TITAN GPU, with a batch size of 16 and epoch number of 400.

Method SO3/SO3 z/SO3 inp. size Para
PointNet++ [16] 85.0 28.6 1.7M
SubVolSup MO [15] 85.0 45.5 17M
MVCNN 12x [20] 77.6 70.1 99M
MVCNN 80x [20] 86.0 - 99M
RotationNet 20x [12] 80.0 20.2 58.9M
Sperical-CNN [9] 86.9 78.6 0.5M
Ours baseline - 81.6 0.4M
Ours 87.1 83.9 4.8M111The model size of mode z/SO(3) is 2.6M
Table 1: ModelNet40 test result, overall classification accuracy.

We compared our methods with state-of-the-arts, our proposed method outperforms previous state-of-the-art Sperical-CNN by a gap 5.3%. Previous coordinate based methods [12, 16] could achieve good performance when the orientation of the training data and the test data are aligned, but there is a sharp drop in accuracy when the test data are randomly rotated. Multi-View based methods could be regard as a brute force approach of equivariance, they could generalizes to unseen orientations[9], but still, our method outperform them with a magnitude fewer parameters and no pre-training. Previous point cloud based methods have tried to handle rotation invariance by data argumentation, which require higher model capacity. As shown in Section 5.2, the back-end of 3DTI-Net is also capable of learning the coordinates directly to achieve higher performance in recognition tasks. We trained an additional model with data argumentation i.e. using the rotated training set, and then we concatenate the descriptors learned by two models and trained a voting network to output the final result, we achieve state-of-the-art prediction accuracy when the training set and test set are all randomly rotated (SO(3)/SO(3) mode).

5.1.1 3D Retrieval

We perform retrieval experiment on ShapeNet Core55, which is composed of more than 50 thousands models over 55 common categories in total for training and evaluating, In our experiment each query and retrieval results are treated equally across categories, and therefore the results are averaged without re-weighting based on category size. We use the same model architecture shown in Figure 3, we follow the setting of [9], the network are trained for classification on 55 core classes with an additional loss to minimize the distance between matching categories textbfwhile pulling apart non-matching categories at the same time, we use the distance between descriptors for retrieval. the elements whose distance are below the threshold are returned. As shown in 2, our method achieve the best trade-off between the model complexity, input size and retrieval performance. The result also proves that 3DTI-Net are effective in learning inner features of 3D objects, and the learned transform invariant features can be widely used in matching and recognition tasks.

mothod P@N R@N mAP input size params
Furuya [10] 0.814 0.683 0.656 8.4M
Tatsuma [21] 0.705 0.769 0.696 3M
Zhou [2] 0.660 0.650 0.567 36M
Sperical-CNN [9] 0.717 0.737 0.685 0.5M
ours 0.749 0.756 0.698 2.6M
Table 2: 3D retrieval result in SHREC’17, we compare precision,recall and mean average precision.

5.2 Back-end Capability Test

Our model is effective in learning 3D transform invariant feature but it’s not limited to this condition, in this section we will show that our model is a general framework in learning 3D geometry feature represented by graph signal, we train and test the model without rotation just like most previous point cloud based models did, we consider two prototypical tasks in this field: classification and segmentation. We perform classification experiment on Modelnet40 and segmentation experiment on ShapeNet to test the capability of our model.

5.2.1 Classification

Architecture The network architecture is illustrated in Figure 1. we follow previous point cloud based methods [5, 16, 25] train and test without rotation in ModelNet40, the result is shown in Table 3.

Method overall acc fwd time(MS) model size
PointNet [5] 89.2 25.3 3.5M
PointNet++ [16] 90.7 163 1.7M
RotationNet 20x [12] - 92 58.9M
DGCNN[25] 92.2 94.6 2.1M
Ours baseline 89.5 10.8 0.4M
Ours 91.7 60 2.6M
Table 3: Classification task, test with coordinates, we compare our method overall classification accuracy forward time and model size .
Figure 5: model for segmentation.

Though there is still a gap between our method and multi-view based methods, we achieve competitive performance with previous state-of-the-arts which comsume point cloud directly, while our outperform them by fewer parameters and more effective in computation.

Pressure test: We jitter the coordinates of the point cloud with Gauss noise , we set the mean of

to zero, then we increase standard deviation

from 0.01 to 0.1 to see how the prediction accuracy changes, the result is shown in Figure 6, the result shows that our model is robust to noise.

Figure 6: Sensitivity to point intensity

We train and test using point cloud with different intensity, we test the prediction accuracy and compare our result with PointNet, as shown in Figure 6, our model is more stable then PointNet and keeps accuracy even with only 256 points.

5.2.2 Segmentation

Point segmentation is classifying the label of each point in a 3D point set, which is more challenging than point set classification. We present experiment on ShapeNet, which contains 16881 shapes from 16 categories and annotated with 50 labels. In the experiments, we first extract 2048 points from each model with random sampling, most sampled point sets have less than six labeled parts. We then feed the coordinates and normal as raw input to our model.

As shown in Figure 5, the input is a point cloud with coordinates and normal as attributes, we then construct a graph represented with Laplacian matrix, we set the nearest neighbor to 200 to better capture local geometry feature, we pass the graph signal through a GCN layers, then we dynamicly update the graph using the distance in feature space and raise the nearest neighbor number search to 1000, in last Multi-GCN layer, we use fully connected graph to better integrate global information, finally we concatanate the output feature of three Multi-GCN layers and use a fully connected layer to predict the final output segmentation scores.

We assume that a category label for each shape is already known and use the mIoU (mean intersection over union) metric to eveluate the result. We compare our method with state-of-the-art approaches, as shown in Table 4, our method outperform PointNet and achieves competitive performance with the state-of-the-arts.

We also performed segmentation experiment in with transfrom-invariant feature, we achieve decent performance while other methods suffer sharp drops in mIOU, that’s mainly because previous methods relies heavily on the coordinates instead of the inner 3D geometry feature implicitly represented by the correlation between points.

Method mIOU
PointNet [5] 83.7
PointNet++ [16] 85.1
SynSpecCNN [28] 84.7
DGCNN[25] 85.1
Ours 84.9
Table 4: Segmentation with coordinate, mIOU.

6 Conclusion

In this work, we propose, a novel general deep neural network 3DTI-Net for point cloud learning, which could not only learn shape represented by coordinates but also learn inner geometry features represented by correlation between points. We propose a learned 3D transform invariant geometry feature based on graph, we show its performance on various tasks, the success of our model suggests that intrinsic features are also very important, for a point cloud, the intrinsic geometry lies on the correlation between points, which can be easily represented by a graph. And the geometry represented by graph can be learned using GCN, the features we learn are spatially localized since the graph filters with length combine information strictly from K-hop neighbors, which are encoded in the constructed graph. 3DTI-Net consume point cloud directly with no preprocessing, pre-training which makes the method suitable for various application scenarios. The model has a small amount of parameters and is computational efficiency. These characteristics make the method suitable for real-time applications, such as semantic slam.


  • [1] A. Aldoma, Z. Marton, F. Tombari, W. Wohlkinger, C. Potthast, B. Zeisl, R. B. Rusu, S. Gedikli, and M. Vincze.

    Tutorial: Point cloud library: Three-dimensional object recognition and 6 dof pose estimation.

    IEEE Robotics & Automation Magazine, 19(3):80–91, 2012.
  • [2] S. Bai, X. Bai, Z. Zhou, Z. Zhang, and L. J. Latecki. Gift: A real-time and scalable 3d shape search engine. In Computer Vision and Pattern Recognition, pages 5023–5032, 2016.
  • [3] S. J. Belongie, J. Malik, and J. Puzicha. Shape context: A new descriptor for shape matching and object recognition. pages 831–837, 2000.
  • [4] J. Bruna, W. Zaremba, A. Szlam, and Y. Lecun. Spectral networks and locally connected networks on graphs. international conference on learning representations, 2014.
  • [5] R. Q. Charles, H. Su, M. Kaichun, and L. J. Guibas. Pointnet: Deep learning on point sets for 3d classification and segmentation. computer vision and pattern recognition, pages 77–85, 2017.
  • [6] S. Chen, D. Tian, C. Feng, A. Vetro, and J. Kovacevic. Fast resampling of 3d point clouds via graphs. arXiv: Computer Vision and Pattern Recognition, 2017.
  • [7] T. S. Cohen, M. Geiger, J. Kohler, and M. Welling. Spherical cnns. international conference on learning representations, 2018.
  • [8] M. Defferrard, X. Bresson, and P. Vandergheynst. Convolutional neural networks on graphs with fast localized spectral filtering. neural information processing systems, pages 3844–3852, 2016.
  • [9] C. Esteves, C. Allenblanchette, A. Makadia, and K. Daniilidis. Learning so(3) equivariant representations with spherical cnns. arXiv: Computer Vision and Pattern Recognition, 2017.
  • [10] T. Furuya and R. Ohbuchi. Deep aggregation of local 3d geometric features for 3d model retrieval. In British Machine Vision Conference, pages 121.1–121.12, 2016.
  • [11] A. E. Johnson and M. Hebert. Using spin images for efficient object recognition in cluttered 3d scenes. IEEE Transactions on Pattern Analysis and Machine Intelligence, 21(5):433–449, 1999.
  • [12] A. Kanezaki, Y. Matsushita, and Y. Nishida. Rotationnet: Joint object categorization and pose estimation using multiviews from unsupervised viewpoints. computer vision and pattern recognition, 2018.
  • [13] D. Maturana and S. Scherer. Voxnet: A 3d convolutional neural network for real-time object recognition. pages 922–928, 2015.
  • [14] A. Ortega, P. Frossard, J. Kovacevic, J. M. F. Moura, and P. Vandergheynst. Graph signal processing: Overview, challenges, and applications. Proceedings of the IEEE, 106(5):808–828, 2017.
  • [15] C. R. Qi, H. Su, M. Niebner, A. Dai, M. Yan, and L. J. Guibas. Volumetric and multi-view cnns for object classification on 3d data. computer vision and pattern recognition, pages 5648–5656, 2016.
  • [16] C. R. Qi, L. Yi, H. Su, and L. J. Guibas. Pointnet++: Deep hierarchical feature learning on point sets in a metric space. neural information processing systems, pages 5099–5108, 2017.
  • [17] R. B. Rusu, N. Blodow, and M. Beetz. Fast point feature histograms (fpfh) for 3d registration. pages 1848–1853, 2009.
  • [18] R. B. Rusu, N. Blodow, Z. Marton, and M. Beetz. Aligning point cloud views using persistent feature histograms. pages 3384–3391, 2008.
  • [19] A. Sandryhaila and J. M. F. Moura. Discrete signal processing on graphs. IEEE Transactions on Signal Processing, 61(7):1644–1656, 2013.
  • [20] H. Su, S. Maji, E. Kalogerakis, and E. G. Learnedmiller. Multi-view convolutional neural networks for 3d shape recognition. international conference on computer vision, pages 945–953, 2015.
  • [21] A. Tatsuma and M. Aono.

    Multi-fourier spectra descriptor and augmentation with spectral clustering for 3d shape retrieval.

    Visual Computer, 25(8):785–804, 2009.
  • [22] G. Te, W. Hu, A. Zheng, and Z. Guo. Rgcnn: Regularized graph cnn for point cloud segmentation. acm multimedia, 2018.
  • [23] N. Thomas, T. Smidt, S. Kearnes, L. Yang, L. Li, K. Kohlhoff, and P. F. Riley. Tensor field networks: Rotation- and translation-equivariant neural networks for 3d point clouds. arXiv: Learning, 2018.
  • [24] F. Tombari, S. Salti, and L. D. Stefano. Unique signatures of histograms for local surface description. pages 356–369, 2010.
  • [25] Y. Wang, Y. Sun, Z. Liu, S. E. Sarma, M. M. Bronstein, and J. Solomon. Dynamic graph cnn for learning on point clouds. arXiv: Computer Vision and Pattern Recognition, 2018.
  • [26] D. E. Worrall and G. J. Brostow. Cubenet: Equivariance to 3d rotation and translation. arXiv: Computer Vision and Pattern Recognition, 2018.
  • [27] Z. Wu, S. Song, A. Khosla, F. Yu, L. Zhang, X. Tang, and J. Xiao. 3d shapenets: A deep representation for volumetric shapes. computer vision and pattern recognition, pages 1912–1920, 2015.
  • [28] L. Yi, H. Su, X. Guo, and L. J. Guibas. Syncspeccnn: Synchronized spectral cnn for 3d shape segmentation. computer vision and pattern recognition, pages 6584–6592, 2017.