Dynamic Graph CNN for learning on point clouds Wang Yue, et al. - - PowerPoint PPT Presentation

dynamic graph cnn for learning on point clouds
SMART_READER_LITE
LIVE PREVIEW

Dynamic Graph CNN for learning on point clouds Wang Yue, et al. - - PowerPoint PPT Presentation

Dynamic Graph CNN for learning on point clouds Wang Yue, et al. Otakar Jaek March 25, 2019 Otakar Jaek Dynamic Graph CNN for learning on point clouds Point cloud learning history Hand-crafted features View-based methods


slide-1
SLIDE 1

Dynamic Graph CNN for learning on point clouds

Wang Yue, et al. Otakar Jašek March 25, 2019

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-2
SLIDE 2

Point cloud learning – history

▸ Hand-crafted features ▸ View-based methods ▸ Voxel representation ▸ PointNet ▸ Geometric deep learning

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-3
SLIDE 3

Point cloud characteristics

▸ Unordered set of points ▸ Varying number of points ▸ Invariant to rigid transformations ▸ Often no features, location only

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-4
SLIDE 4

What to do

To combat first two points, we need a function, that is: ▸ invariant to permutations ▸ capable of taking any number of parameters

1Jaderberg, Max, Karen Simonyan, and Andrew Zisserman. "Spatial transformer networks."

Advances in neural information processing systems. 2015.

2Qi, Charles R., et al. "Pointnet: Deep learning on point sets for 3d classification and segmentation."

Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017. Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-5
SLIDE 5

What to do

To combat first two points, we need a function, that is: ▸ invariant to permutations ▸ capable of taking any number of parameters For example ∑ or max Spatial transformer network1 should solve rigid transformation invariance

1Jaderberg, Max, Karen Simonyan, and Andrew Zisserman. "Spatial transformer networks."

Advances in neural information processing systems. 2015.

2Qi, Charles R., et al. "Pointnet: Deep learning on point sets for 3d classification and segmentation."

Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017. Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-6
SLIDE 6

What to do

To combat first two points, we need a function, that is: ▸ invariant to permutations ▸ capable of taking any number of parameters For example ∑ or max Spatial transformer network1 should solve rigid transformation invariance And if we combine these two important ingredients together, we get a PointNet2

1Jaderberg, Max, Karen Simonyan, and Andrew Zisserman. "Spatial transformer networks."

Advances in neural information processing systems. 2015.

2Qi, Charles R., et al. "Pointnet: Deep learning on point sets for 3d classification and segmentation."

Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2017. Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-7
SLIDE 7

PointNet

input points point features

  • utput scores

max pool shared shared shared nx3 nx3 nx64 nx64 nx1024 1024 n x 1088 nx128 mlp (64,64) mlp (64,128,1024) input transform feature transform mlp (512,256,k) global feature mlp (512,256,128)

T-Net matrix multiply 3x3 transform T-Net matrix multiply 64x64 transform

shared mlp (128,m)

  • utput scores

nxm k Classification Network Segmentation Network

▸ It does not capture neighborhood information

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-8
SLIDE 8

PointNet++

▸ Sample n points at coarse scale, as far from each other as possible ▸ Generate "global" features on local neighborhood of selected points by PointNet ▸ Concatenate these features and repeat for finer scale and larger n

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-9
SLIDE 9

PointNet++

▸ Sample n points at coarse scale, as far from each other as possible ▸ Generate "global" features on local neighborhood of selected points by PointNet ▸ Concatenate these features and repeat for finer scale and larger n ▸ Really slow due to sampling of neighborhood and running multiple PointNets

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-10
SLIDE 10

EdgeConv

Generalization of convolution on graph edge_conv(xi) = ◻

j∶(j,i)∈εθjh(xi,xj)

where ▸ ε is a set of edges of the graph ▸ θj are parameters of the EdgeConv layer ▸ ◻ is aggregation function (usually ∑,max) ▸ h(xi,xj) is a feature function

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-11
SLIDE 11

EdgeConv continued

▸ Resulting operation largely depends on choice of ◻ and h(⋅,⋅) ▸ ◻ = ∑,h(xi,xj) = xj is classical convolution (sum over weighted neighbors) ▸ h(xi,xj) = xi is PointNet-style convolution. It captures

  • nly global information

▸ h(xi,xj) = xj − xi is another reasonable choice, encoding locality (and disregarding global information) ▸ Authors of the papers decided, that h(xi,xj) = (xi,xj − xi),◻ = max

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-12
SLIDE 12

Dynamic graph computation

▸ Second key idea is to recompute graph using kNN after every EdgeConv ▸ First EdgeConv is operating on spatially near points, while subsequent on semantically near points.

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-13
SLIDE 13

Full architecture

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-14
SLIDE 14

Classification results

CENT DYN XFORM MEAN CLASS ACCURACY(%) OVERALL ACCURACY(%)

X

88.8 91.2

X X

88.8 91.5

X X

89.6 91.9

X X

89.8 91.9

X X X

90.2 92.2

NUMBER OF NEAREST NEIGHBORS (K) MEAN OVERALL CLASS ACCURACY(%) ACCURACY(%) 5 88.0 90.5 10 88.8 91.4 20 90.2 92.2 40 89.2 91.7

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-15
SLIDE 15

Classification results continued

MEAN OVERALL CLASS ACCURACY ACCURACY 3DSHAPENETS [54] 77.3 84.7 VOXNET [30] 83.0 85.9 SUBVOLUME [35] 86.0 89.2 ECC [45] 83.2 87.4 POINTNET [34] 86.0 89.2 POINTNET++ [36]

  • 90.7

KD-NET (DEPTH 10) [20]

  • 90.6

KD-NET (DEPTH 15) [20]

  • 91.8

OURS (BASELINE) 88.8 91.2 OURS 90.2 92.2

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-16
SLIDE 16

Segmentation results

PointNet Ours Ground truth Real color MEAN

OVERALL

IOU

ACCURACY

POINTNET (BASELINE) [34] 20.1 53.2 POINTNET [34] 47.6 78.5 MS + CU(2) [12] 47.8 79.2 G + RCU [12] 49.7 81.1 OURS 56.1 84.1

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-17
SLIDE 17

Part segmentation

PointNet Ours Ground truth

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-18
SLIDE 18

Semantic nearness

Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-19
SLIDE 19

Semantic nearness across objects

Source points Other point clouds from the same category

Figure 9. Visualize the Euclidean distance (yellow: near, blue: far) Otakar Jašek Dynamic Graph CNN for learning on point clouds

slide-20
SLIDE 20

Generating normals

Otakar Jašek Dynamic Graph CNN for learning on point clouds