当前位置:网站首页>[point cloud processing paper crazy reading cutting-edge version 12] - adaptive graph revolution for point cloud analysis
[point cloud processing paper crazy reading cutting-edge version 12] - adaptive graph revolution for point cloud analysis
2022-07-03 09:14:00 【LingbinBu】
Adaptive Graph Convolution for Point Cloud Analysis
Abstract
- problem : The standard convolution operation cannot be performed in 3D The feature correspondence is distinguished between points
- Method : In this paper, Adaptive Graph Convolution(AdaptConv), according to 3D Point to the characteristics of dynamic learning Generate adaptive kernel
- Use and fixing / Isotropic kernel comparison ,AdaptConv Improved point cloud Flexibility of convolution , Effectively and accurately get a variety of relationships between different semantic parts
- Different from the method of using attention weight ,AdaptConv Make convolution operation more adaptive , Not simply for neighboring points Assign different weights
- Code :PyTorch edition

introduction
Graph CNNs According to the space between points / Feature similarity will point cloud Expressed as graph data , And will images Upper 2D Convolution is extended to 3D light .
The standard Graph CNNs Usually, the shared weight function is used to extract the corresponding edge features of each pair of points , This will lead to a fixed / Convolution in the same direction kernel, When applied to all point pairs , Will ignore the corresponding relationship between different characteristics .
The key contribution of this work is AdaptConv In the graph Use in convolution , Instead of a weight function based on the characteristics of the results .
Besides , Some feature convolution designs have also been developed , It can carry out adaptive convolution more flexibly .
Method
Adaptive graph convolution
remember X = { x i ∣ i = \mathcal{X}=\left\{x_{i} \mid i=\right. X={ xi∣i= 1 , 2 , … , N } ∈ R N × 3 1,2, \ldots, N\} \in \mathbb{R}^{N \times 3} 1,2,…,N}∈RN×3 Enter a point cloud for , F = { f i ∣ i = 1 , 2 , … , N } ∈ R N × D \mathcal{F}=\left\{f_{i} \mid i=1,2, \ldots, N\right\} \in \mathbb{R}^{N \times D} F={ fi∣i=1,2,…,N}∈RN×D Is the corresponding feature , among x i x_{i} xi Means the... Th i i i Point ( x , y , z ) (\mathbf{x}, \mathbf{y}, \mathbf{z}) (x,y,z) coordinate , In other cases , It can also be combined with other features .
Then calculate the directed graph according to the given point cloud G ( V , E ) \mathcal{G}(\mathcal{V}, \mathcal{E}) G(V,E), among V = { 1 , … , N } \mathcal{V}=\{1, \ldots, N\} V={ 1,…,N} and E ⊆ V × V \mathcal{E} \subseteq \mathcal{V} \times \mathcal{V} E⊆V×V Represents a collection of vertices and edges . By including self-loop Of k k k-nearest neighbors (KNN) structure graph.
In the given input D D D After Witt's sign ,AdaptConv layer A new set of M M M Whitman's sign , The number of points is the same as the input . And previous graph convolution Layer by layer , It can more accurately reflect the local structural characteristics .
remember x i x_{i} xi yes graph convolution The center of , N ( i ) = { j : ( i , j ) ∈ E } \mathcal{N}(i)=\{j:(i, j) \in \mathcal{E}\} N(i)={ j:(i,j)∈E} Is the index of adjacent points . Due to the irregularity of the point cloud , The previous method is usually in x i x_{i} xi All of the neighbored points Apply fixed kernel function , Used to capture patch The geometric information of . however , Different neighbored points May get corresponding x i x_{i} xi Different characteristics , Especially when x i x_{i} xi Located in a prominent area , Such as corners or edges . under these circumstances , fixed kernel It may not be possible to graph convolution Get the geometric representation information for classification or segmentation .
In the method of this paper , Designed an adaptive kernel, Used to calculate the significant relationship between each pair of points . about M M M Every channel of dimensional output features ,AdaptConv Will dynamically generate a kernel, It is applied in points features ( f i , f j ) \left(f_{i}, f_{j}\right) (fi,fj) The function on :
e ^ i j m = g m ( Δ f i j ) , j ∈ N ( i ) . \hat{e}_{i j m}=g_{m}\left(\Delta f_{i j}\right), j \in \mathcal{N}(i) . e^ijm=gm(Δfij),j∈N(i).
among m = 1 , 2 , … , M m=1,2, \ldots, M m=1,2,…,M Express M M M One of the output dimensions , Corresponds to a separate filter. Δ f i j = [ f i , f j − f i ] \Delta f_{i j}=\left[f_{i}, f_{j}-f_{i}\right] Δfij=[fi,fj−fi] Used to capture global structure and local domain features , [ ⋅ , ⋅ ] [\cdot, \cdot] [⋅,⋅] The splicing operation is , g ( ⋅ ) g(\cdot) g(⋅) Is the feature mapping function , namely M L P MLP MLP.
And 2D The calculation in convolution is the same , take D D D Dimension input and corresponding filter The weight is convoluted to get M M M One dimension in dimensional output , This article will adaptive kernel And the corresponding point ( x i , x j ) \left(x_{i}, x_{j}\right) (xi,xj) Convolution :
h i j m = σ * e ^ i j m , Δ x i j * , h_{i j m}=\sigma\left\langle\hat{e}_{i j m}, \Delta x_{i j}\right\rangle, hijm=σ*e^ijm,Δxij*,
among Δ x i j \Delta x_{i j} Δxij Is defined as [ x i , x j − x i ] \left[x_{i}, x_{j}-x_{i}\right] [xi,xj−xi] similarity , * ⋅ , ⋅ * \langle\cdot, \cdot\rangle *⋅,⋅* Represents the inner product of two vectors , Output is h i j m ∈ R h_{i j m} \in \mathbb{R} hijm∈R, σ \sigma σ It's a nonlinear activation function .

Pictured 2 Shown , The first m m m individual adaptive kernel e ^ i j m \hat{e}_{i j m} e^ijm And corresponding points x j ∈ R 3 x_{j} \in \mathbb{R}^{3} xj∈R3 Of spatial relations Δ x i j \Delta x_{i j} Δxij combination , Express kernel The size of should match the inner product , Feature mapping g m : R 2 D → R 6 g_{m}: \mathbb{R}^{2 D} \rightarrow \mathbb{R}^{6} gm:R2D→R6. Store for each channel h i j m h_{i j m} hijm, Get the connection point ( x i , x j ) \left(x_{i}, x_{j}\right) (xi,xj) Edge features between h i j = h_{i j}= hij= [ h i j 1 , h i j 2 , … , h i j M ] ∈ R M \left[h_{i j 1}, h_{i j 2}, \ldots, h_{i j M}\right] \in \mathbb{R}^{M} [hij1,hij2,…,hijM]∈RM.
Last , By using the aggregation function of all edge features in the neighborhood central point x i x_{i} xi The output characteristics of :
f i ′ = max j ∈ N ( i ) h i j , f_{i}^{\prime}=\max _{j \in \mathcal{N}(i)} h_{i j}, fi′=j∈N(i)maxhij,
among max It is in the unit of channel max-pooling function . All in all ,AdaptConv Of convolution weights Is defined as defined as Θ = ( g 1 , g 2 , … , g M ) \Theta=\left(g_{1}, g_{2}, \ldots, g_{M}\right) Θ=(g1,g2,…,gM).
Feature decisions
Is to use features to find spatial relationships .
If input x i ∈ R E x_i \in \mathbb{R}^E xi∈RE Contains more information , That's another option , In the experiment, we will consider .
Space information Δ x i j \Delta x_{i j} Δxij Replace with characteristic information Δ f i j \Delta f_{i j} Δfij, You'll get different e ^ i j m \hat{e}_{i j m} e^ijm, This is also an option to consider .
This article chooses to use Δ x i j \Delta x_{i j} Δxij As a transform domain, we have the following considerations :
- Point features have been used to generate adaptive kernel 了 , Convolution using features will lead to redundancy of feature information
- The dimension of features is high ,MLP It's difficult to learn in high-dimensional space
- Large memory consumption , High computational complexity
Network architecture

graph The structure of is dynamically updated at every level
experiment
Classifcation

Part segmentation

Indoor scene segmentation


Ablation studies
Adaptive convolution vs Fixed kernels & Feature decisions

Robustness test

Efficiency

Visualization and learned features

边栏推荐
- LeetCode 241. 为运算表达式设计优先级
- How to check whether the disk is in guid format (GPT) or MBR format? Judge whether UEFI mode starts or legacy mode starts?
- Find the combination number acwing 885 Find the combination number I
- excel一小时不如JNPF表单3分钟,这样做报表,领导都得点赞!
- LeetCode 515. Find the maximum value in each tree row
- Gaussian elimination acwing 883 Gauss elimination for solving linear equations
- On February 14, 2022, learn the imitation Niuke project - develop the registration function
- 我们有个共同的名字,XX工
- PIC16F648A-E/SS PIC16 8位 微控制器,7KB(4Kx14)
- LeetCode 513. 找树左下角的值
猜你喜欢
[point cloud processing paper crazy reading frontier version 10] - mvtn: multi view transformation network for 3D shape recognition
The "booster" of traditional office mode, Building OA office system, was so simple!
求组合数 AcWing 886. 求组合数 II
[point cloud processing paper crazy reading classic version 8] - o-cnn: octree based revolutionary neural networks for 3D shape analysis
一个优秀速开发框架是什么样的?
Arbre DP acwing 285. Un bal sans patron.
Basic knowledge of network security
dried food! What problems will the intelligent management of retail industry encounter? It is enough to understand this article
Binary tree sorting (C language, int type)
【点云处理之论文狂读前沿版12】—— Adaptive Graph Convolution for Point Cloud Analysis
随机推荐
Save the drama shortage, programmers' favorite high-score American drama TOP10
Shell script kills the process according to the port number
求组合数 AcWing 886. 求组合数 II
Using DLV to analyze the high CPU consumption of golang process
LeetCode 57. 插入区间
LeetCode 871. 最低加油次数
Methods of checking ports according to processes and checking processes according to ports
LeetCode 30. Concatenate substrings of all words
excel一小时不如JNPF表单3分钟,这样做报表,领导都得点赞!
求组合数 AcWing 885. 求组合数 I
Find the combination number acwing 886 Find the combination number II
Pic16f648a-e/ss PIC16 8-bit microcontroller, 7KB (4kx14)
The method of replacing the newline character '\n' of a file with a space in the shell
On the setting of global variable position in C language
What is an excellent fast development framework like?
LeetCode 324. 摆动排序 II
State compression DP acwing 91 Shortest Hamilton path
传统企业数字化转型需要经过哪几个阶段?
LeetCode 1089. Duplicate zero
【点云处理之论文狂读经典版14】—— Dynamic Graph CNN for Learning on Point Clouds