Ch 02. Point Cloud Processing Backbone
<목차>
2-1. PointNet
2-2. PointNet++
2-3. Graph Convolutional Network
2-4. Dynamic Graph CNN
2-5. Kernel Point Convolution
2-3. Graph Convolutional Network(GCN)
- Graph

노드 간의 연결성을 보임. 인접 행렬(adjacency-matrix)을 통해 표현할 수 있음.
- Graph neural network

- 이미지 구조에서 활용되던 CNN을 그래프 구조에서 일반화하는 방법
- 𝜓(𝐴,𝑋) =𝑓(𝐴𝑋𝑊) 를 풀기 위한 W를 학습해야 한다.
- Weight matrix와 feature matrix 곱에 adjacent matrix A를 곱해 인접 영역 간 관계를 기반으로 연산 수행
노드와 엣지로 이루어진 그래프 데이터 입력이 있을 때, 다음 연산을 통해 특징 행렬로 변환하는 연산을 수행한다.
𝜓(𝐴,𝑋,𝐸) = 𝑓(𝐴,𝑋,𝐸)
cf. 𝐴: 인접 행렬,𝑋: 그래프 영역 특징(feature-Matrix), 𝐸: edge의 특징
이에 대해 자세히 알아보겠다.

위와 같은 graph와 이를 표현하는 인접 행렬이 있다고 해보자. Graph neural network은 이러한 그래프를 입력으로 받아 feature matrix로 변환하는 연산을 한다.

각 노드의 1x5 형태의 feature vector를 모아 초기의 feature Matrix X를 만들고, 딥러닝에서 생성한 parameter를 곱하며 다음 레이어의 feature matrix를 생성한다. 이때 노드 끼리의 연결을 반영하기 위해 graph의 연결 관계를 나타내는 인접 행렬도 같이 곱해줘야 한다.


위 연산에서 보이듯이 한 레이어를 거치면 노드는 연결되어 있는 주변 노드의 정보를 담는다.
레이어를 거치며 연결되어 있지 않는 노드들의 정보도 주변 노드들을 통해 전달받게 된다. 그렇기에 레이어를 거치며 확장적이게 주변 노드의 정보를 담게 된다.

- Graph neural network architecture

- 1) Graph convolution layers
그래프 노드와 인접 노드를 입력으로 받아, 인접 행렬과 feature vector 값을 기반으로 convolution 연산을 한다.
- 2) Readout
앞서 생성된 feature를 그래프 전체를 표현하는 하나의 백터로 변환한다.
- 3) FC layers
CNN과 동일함.
- Graph neural network Task
- 1) Node fucused task
이때는 전체적인걸 보지 않기에 굳이 Readout 구조가 포함되지 않아도 된다.
- 2) Graph fucused task
ex) 이동 경로를 나타낸 그래프를 보고 나이대 예측
<강의 및 자료 출처>
https://www.youtube.com/watch?v=9eMbvfRM9_8
2-4. Dynamic Graph CNN
2-5. Kernel Point Convolution
'Autonomous Driving > 2. LiDAR Perception' 카테고리의 다른 글
| Ch02. Point Cloud Processing Backbone - 5) Kernel Point Convolution (0) | 2024.09.10 |
|---|---|
| Ch02. Point Cloud Processing Backbone - 4) Dynamic Graph CNN(DGCNN) (1) | 2024.09.09 |
| Ch02. Point Cloud Processing Backbone - 2) PointNet++ (0) | 2024.09.06 |
| Ch02. Point Cloud Processing Backbone - 1) PointNet (2) | 2024.09.06 |
| Ch01. LiDAR Data Processing - 3) Open3d, CloudeCompare, LiDAR 레이블링 툴 (2) | 2024.09.05 |