오역, 의역, 생략 및 제 맘대로 해석한 글임에 주의.
논문 정보 :
https://arxiv.org/pdf/1911.11236
Point Cloud의 대규모 semantic segmentation을 위해, Random Sampling 기반의 경량 네트워크인 RandLA-Net을 제안한 논문이다.
기존의 복잡한 sampling/neighbor search 대신 RANDom sampling을 사용하면서도, Local feature Aggregation module을 통해 중요한 기하학적 정보를 효과적으로 보존한다.
Attention-based local feature pooling을 통해 sparse하고 비균일한 point cloud에서도 중요한 구조적 특징을 강조할 수 있으며, 메모리 효율성과 속도를 크게 개선하면서도 대규모 point cloud segmentation에서 준수한 성능을 보인다.
RandLA-Net: Efficient Semantic Segmentation of Large-Scale Point Cloud
Abstract
우리는 대규모 3D Point Cloud에 대한 효율적인 Sementic Segmentation 문제를 연구한다.
기존의 대부분의 방식들은 비용이 많이 드는 sampling이나 전/후처리 단계에 의존하기에, 대규모 데이터에서 쓰기는 제한적이었다.
본 논문에서는 대규모 Point Cloud에 대해 각 점의 semantic을 직접 추론할 수 있는 효율적이고 가벼운 신경망 구조인 RandLa-Net을 소개한다.
RandLa-Net의 핵심은 복잡한 점 선택 방식 대신, random point sampling을 사용하는 것이다. 이는 계산 및 메모리 효율성이 매우 뛰어나지만, 중요한 특징을 우연히 누락할 수 있는 단점이 있다.
이를 극복하기 위해, 우리는 각 3D point의 receptive field를 점진적으로 넓혀, 기하학적 세부사항들을 효과적으로 보존하는 새로운 local feature aggregation module을 적용한다.
실험 결과, 한 번에 100만개의 point를 처리할 수 있으며, 기존 방식보다 최대 200배 더 빠르다. 또한 대규모 벤치마크인 Semantic2D와 SementicKITTI에서 기존의 최신 기술들보다 높은 점수를 받았다.
1. Introduction
자율 주행 및 증강 현실과 같은 실시간 지능형 시스템에는, 대규모 3D Point Cloud에 효율적인 semantic segmentation은 필수적이다. 중요한 점은, depth sensor에 의해 얻어진 raw point cloud가 불규칙하게 sampling되고, 비정형적이며, 순서가 없다는 점이다. Deep CNN이 정형적인 2D Computer Vision에서 뛰어난 성능을 보여주지만, 이런 비정형적인 data에 직접 적용할 수는 없다.
3D Point Cloud Segmentation의 역사
3D Point Cloud를 직접 처리하기 위해 PointNet과 많은 신경망 모듈들이 등장했지만, 거의 모든 방식이
- Point Sampling 방식이 계산비용이 많이 들거나 메모리 효율성이 떨어졌다.
- 계산 비용이 많이 드는 kernel화를 쓰거나, graph 구성에 의존해서 많은 수의 점을 처리하기 힘들었다.
- Receptive Field가 제한적이어서 비효율적이었다.
따라서 극도로 작은 3D Point Cloud로 제한되었다.
최근에는 소수의 연구가 대규모 Point Cloud를 직접 처리하기 시작했다.
- SPG는 신경망을 적용하기 전에 대규모 Point Cloud를 super graph로 전처리했다.
- FCPN이나 PCT는 voxelization과 point level network를 결합하여 대규모 Point Cloud를 처리했다.
괜찮은 Segmentation 정확도를 달성했으나, 여전히 실시간 어플에 적용하기에는 너무 무겁다.
이를 해결하기 위해, 우리는
- 한 번에 대규모 3D Point Cloud를 바로 처리할 수 있고
- voxelization같은 전처리과정이 없고,
- FPS나 IDIS같이 대규모 Point Cloud에서 병목이 되지 않는 sampling을 하는,
메모리, 계산 효율적인 효율적인 신경망 구조를 설계하는 것을 목표로 한다.
이를 위해 Random Sampling을 이용할 것이다.
하지만 random sampling은 핵심 정보를 놓칠 수도 있으므로, 더 작은 point 집합에서부터, 절차적으로 복잡한 local 구조를 찾아 나가는 local feature aggregation module을 제안한다.
구체적으로, 각 3D point마다,
① 명시적으로 local한 기하학적 구조를 명시적으로 보존하기 위해, local spatial encoding (LocSE) unit을 도입한다.
② 유용한 local feature들을 자동으로 유지하기 위해, Attentive Pooling을 사용한다.
③ 여러 LocSE unit들과 Attention Pooling들을 확장된 residual block으로 쌓아, 각 점들의 receptive field를 크게 늘린다.
우리의 주요 기여는 아래와 같다.
- 기존의 sampling 방식들을 분석 및 비교하여 random sampling이 point cloud에 가장 적합하다는 것을 알아냄.
- 각 점의 receptive field를 점진적으로 넓힘으로써, 복잡한 local 구조를 보존하는 효과적인 모듈을 제안함
- baseline 대비 상당한 메모리 및 계산 이득을 입증하고, 여러 benchmark에서 Semantic Segmentation 성능을 갱신함
2. Related Work
생략
3. RandLa-Net
3.1. Overview

위 그림처럼 수백 미터에 걸친, 수 백만개의 점으로 구성된 대규모 Point Cloud에서, 이를 DNN으로 처리하기 위해서는, 유용한 point 특징을 잃지 않으면서 각 layer에서 점진적으로, 효율적으로 downsampling해야 한다.
RandLa-Net에서는 단순하고 빠른 Random Sampling과, local feature aggregator를 적용한다.
이를 통해 전체 network는 효율성과 효과성 사이의 trade-off에서 균형을 달성할 수 있다.
3.2. The quest for effiicient sampling
기존의 point sampling 방식은 크게 heuristic 방식과 learning-based 방식으로 나뉜다. 그러나 여전히 대규모 point cloud에 대해서는 적합한 sampling 방식에 대한 표준이 없다. 그러므로, 우리는 그들의 시간 복잡도와 $10^6$ 개의 point들을 처리하는데 걸린 시간을 분석한다.
Heuristic Sampling
- FPS(Fastest Point Sampling) : $O(N^2)$, 200 초 (GPU 1개 사용)
- IDIS(Inverse Density Importance Sampling) : $O(N)$, 10 초
- RS(Random Sampling) : $O(1)$, 0.004 초
Learning-based Sampling
- GS (Generator-based sampling) : 10%만 처리하는데 300 Gb
- CRS (Continuous Relaxation based sampling) : 10%만 처리하는데 400 Gb
- PGS(Policy Gradient based sampling) : 너무 커서 측정 못함
3.3. Local Feature Aggregation
아래 그림에서 보듯이, 우리의 local feature aggregation module은 각 3D Point에 병렬로 적용되며, 3개의 신경망 unit으로 구성된다.
① Local Spatial Encoding (LocSE)
② attentive pooling
③ dilated residual block

① Local Spatial Encoding (LocSE)
Point Cloud $P$가 point별로 features(raw RGB, 중간 학습된 특징들 등)들과 함께 주어졌을 때,
이 module은 모든 이웃 point들의 (x, y, z) 좌표를 명시적으로 embed하여, 각 점들이 항상 자신의 위치를 인식하게 한다.
이를 통해 LocSE unit은 지엽적인 기하학적 패턴을 명시적으로 파악할 수 있으며, 결과적으로 전체 network가 복잡한 local 구조를 학습하는데 도움을 준다.

구체적으로는 아래의 단계를 포함한다:
ⓐ KNN
KNN을 이용하여, i번째 점 $p_i=(x_i, y_i, z_i)$에 대해 이웃 점들을 수집한다. (Euclidean distance를 사용한다.)
ⓑ 상대적 점 위치 encoding
중심점 $p_i$에서 가장 가까운 K개의 점들 $\{p_i^1,...,p_i^k,...,p_i^K\}$ 각각에 대해, 아래와 같이 상대적인 점의 위치를 명시적으로 encoding한다. 여기서
$r_i^k=MLP(p_i \oplus p_i^k \oplus (p_i-p_i^k) \oplus || p_i-p_i^k ||)$
중복되는 계산이 많은 것처럼 보이지만, 실제 실험에서는 좋은 성능을 얻었다.
ⓒ point feature augmentation
각 이웃 점 $p_i^k$에 대해 encoding된 상대적 점 위치 $r_i^k$를, $p_i^k$의 feature $f_i^k$와 concatenate하여 augment된 feature vector $\hat{f}_i^k$를 얻는다.
이를 통해 LocSE는 다른 연구들과 달리, 상대적 위치를 명시적으로 encoding함으로써, 이웃 포인트 특징을 증강한다.
② Attentive Pooling
이 network unit은 feature set $\hat{F}_i=\{\hat{f}_i^1, ...,\hat{f}_i^K\}$를 aggregate하는 데 사용된다.
기존 연구들은 이 과정에서 max/mean pooling을 이용하는데, 이는 대부분의 정보를 잃게 만든다.
따라서 우리는 중요한 local 특징을 자동으로 학습하기 위해 attention 방식을 이용한다.

ⓐ Computing Attention Scores
local feature set $\hat{F}_i=\{\hat{f}_i^1, ...,\hat{f}_i^K\}$들이 주어지면, 각 feature에 대해 고유한 attention score $s_i^k$를 학습하는 함수 $g()$를 설계한다. 기본적으로 $g()$는 $softmax(MLP())$로 구성되고, weight $W$를 가진다.
$s_i^k=g(\hat{f}_i^k, W)$
ⓑ Weighted sum
학습된 attention score $s_i^k$는, 중요한 feature를 자동으로 선택하는 soft mask로 사용될 수 있다. 따라서 가중합을 적용한다.
$\tilde{f}_i=\sum_{k=1}^K($\hat{f}_i^k \cdot s_i^k)
이를 통해 K개의 이웃 point들의 기하학적 패턴과 특징을 concatenate하도록 학습하여, 최종적으로 정보가 풍부한 feature vector $\tilde{f}_i$를 만든다.
③ Dilated Residual Block
대규모 Point Cloud는 상당히 downsampling될 것이기 때문에, 일부 점들이 누락되더라도 입력 Point Cloud의 기하학적 세부사항 보존 가능성을 높이기 위해, 각 점의 receptive field를 크게 넓히는 것이 좋다.
아래 그림처럼, 성공적인 ResNet과 Dilated network에서 영감을 받아, 여러 개의 LocSE와 Pooling Unit들을 skip connection으로 연결하여 Dilated Residual Block으로 쌓았다.

위의 그림에서 module들이 실제로 어떻게 각 점의 receptive field를 늘리는지, 아래 그림으로 설명한다.
먼저 빨간색 3D Point는 첫 번째 LosCE, Attention Pooling 이후에 $K$개의 이웃 점들을 관찰하고, 두 번째 이후에는 $K^2$개의 이웃 점(two-hop neighbors)으로부터 정보를 얻을 수 있다.
이는 feature propagation을 통해 receptive field를 늘리는 효율적인 방법이다. 하지만 block 수를 지나치게 늘리면 overfitting될 가능성이 있기에, LocSE와 Attention Pooling을 2개만 사용했다.

종합적으로, 우리의 local feature aggregation module은 이웃 point들의 지엽적인 기하학적 구조를 효과적으로 보존하도록 설계되었다. 또한 이 module은 feed-forward MLP로 만 구성되어, 계산이 매우 효율적이다.
3.4. Implementation
우리는 여러 개의 local feature aggregation momdule과 random sampling 층을 쌓아서 RandLa-Net을 만들었다.

5. Conlusion
생략
KPCov에서는 radius neighbors가 제일 효율적이라 했는데, 얘는 왜 또 KNN이야?
둘의 특성을 동시에 반영할 순 없나?
'Domain Knowledge > Computer Vision' 카테고리의 다른 글
| [paper] Guided Point Contrastive Learning (2021/10) (0) | 2026.05.16 |
|---|---|
| [paper] FIDNet (0) | 2026.05.03 |
| [paper] KPConv (Kernel Point Convolution) (2019) (0) | 2026.04.25 |
| [paper] DGCNN (Dynamic Graph CNN) (2018/01) (0) | 2026.04.25 |
| [4] Color Image (0) | 2026.04.02 |