当前位置:网站首页>[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

边栏推荐
- Find the combination number acwing 885 Find the combination number I
- Six dimensional space (C language)
- 【点云处理之论文狂读前沿版8】—— Pointview-GCN: 3D Shape Classification With Multi-View Point Clouds
- LeetCode 75. 颜色分类
- [point cloud processing paper crazy reading frontier version 8] - pointview gcn: 3D shape classification with multi view point clouds
- 高斯消元 AcWing 883. 高斯消元解线性方程组
- STM32F103 can learning record
- 20220630 learning clock in
- How to check whether the disk is in guid format (GPT) or MBR format? Judge whether UEFI mode starts or legacy mode starts?
- Character pyramid
猜你喜欢

【点云处理之论文狂读前沿版8】—— Pointview-GCN: 3D Shape Classification With Multi-View Point Clouds

20220630学习打卡

干货!零售业智能化管理会遇到哪些问题?看懂这篇文章就够了

LeetCode 241. Design priorities for operational expressions

Vscode connect to remote server

AcWing 787. Merge sort (template)

推荐一个 yyds 的低代码开源项目

LeetCode 75. Color classification

Common penetration test range

LeetCode 30. Concatenate substrings of all words
随机推荐
2022-2-14 learning xiangniuke project - generate verification code
The method of replacing the newline character '\n' of a file with a space in the shell
Digital statistics DP acwing 338 Counting problem
干货!零售业智能化管理会遇到哪些问题?看懂这篇文章就够了
AcWing 786. 第k个数
Just graduate student reading thesis
Uc/os self-study from 0
LeetCode 515. Find the maximum value in each tree row
LeetCode 513. 找树左下角的值
数位统计DP AcWing 338. 计数问题
低代码起势,这款信息管理系统开发神器,你值得拥有!
MySQL installation and configuration (command line version)
【点云处理之论文狂读经典版7】—— Dynamic Edge-Conditioned Filters in Convolutional Neural Networks on Graphs
常见渗透测试靶场
LeetCode 715. Range 模块
【点云处理之论文狂读前沿版12】—— Adaptive Graph Convolution for Point Cloud Analysis
CSDN markdown editor help document
Markdown learning
推荐一个 yyds 的低代码开源项目
LeetCode 535. TinyURL 的加密与解密