오역, 의역, 생략 및 제 맘대로 해석한 글임에 주의.
논문 정보 :
https://arxiv.org/abs/2303.11203
Less is More: Reducing Task and Model Complexity for 3D Point Cloud Semantic Segmentation
Abstract
최근 몇 년간 3D LiDAR Point Cloud data의 가용성은 크게 증가했지만, Annotation은 여전히 시간이 많이 들기에, semi-supervised learning을 적용하기도 한다.
기존의 방법들에서는 Ground Truth를 줄이기 위해 uniform sampling을 사용하지만, 성능을 하락시키기도 한다.
이런 문제를 해결하기 위해, 우리는 더 작은 아키텍처를 사용하는 새로운 파이프라인을 제공한다.
이를 통해 더 작은 수의 labeld data만으로도 기존의 방법들만큼의 정확도를 달성할 수 있다.
이는 성능 하락이 미미하면서도 network 크기를 크게 줄이는, Sparse Depthwise Seperable Convolution 모듈을 통해 가능해진다.
게다가 우리는 더 효과적으로 샘플링하기 위해, 환경 내 센서의 움직임 정보를 활용해 더 다양한 학습 데이터 프레임 샘플 집합을 추출하는 Spatio-Temporal Redundant Frame Downsampling (ST-RFD)를 제안한다.)
또한 제한된 labeled data를 효과적으로 활용하기 위해 LiDAR의 relecticity 정보를 활용하는 soft pseudo-label 방법도 추가로 제안한다.
우리의 방법은 기존의 방법들보다 더 적은 labled data를 사용했음에도, 기존의 semi supervised learning보다 우수했으며, 모델 파라미터를 2.3배 줄이고, multiply-add 연산량을 641배 감소시켯다.
1. Intoduction
3D LiDAR Point CLoud Sementic segmentation은 자율주행과 로보틱스에서 매우 중요하다.
하지만 기존의 최신 방법들은
- 아주 큰 backbone 필요
- 아주 큰 규모의 labeled data 필요 <- 특히 labeling은 아주 힘든 작업임.
- 학습 비용이 아주 큼
기존 방법들에는 각각의 한계가 존재하는데,
- Fully Supervised : 높은 성능, 하지만 fully annotated data는 아주 만들기 힘듦
- Weakly/Semi Supervised : labeling 비용 적음, 하지만 학습 비용이 높고 성능이 낮음
- 2D Projection 기반 방법 : 계산량은 적음, 하지만 성능이 크게 떨어짐
→ 우리는 작은 모델 + 적은 라벨 데이터 + 높은 성능을 동시에 달성하겠다.

우리는 3가지 새로운 기법을 적용한, 새로운 semi-supervised 방법인 Less is More (LiM) 기반의 방법을 제안한다.
- less training data
- less training computation
- more accuracy
1.1. Sparse Depthwise Separable Convolution (SDSC)
첫 번째로 구조적인 관점에서 새로운 SDSC 모듈을 제안한다.
기존의 sparse 3D Convolution을 대체한다.
- trainable parameter 감소, 계산 비용 감소
2D image classification에서 Depthwise Seperable Convolution은 매우 효과적이었기에 본 연구에서는,
- 먼저 각 입력 채널에 1개의 submanifold sparse convolutional filter를 적용한 뒤,
- pointwise convolution을 통해,
희소 깊이별 합성곱 출력들의 선형 결합을 생성함으로써, point cloud에 적합하게 변형햇다.
그 결과 SDSC 모듈은 성능 손실 없이 학습 가능한 parameter를 50% 줄였다.
1.2. Spatio-Temporal Redundant Frame Downsampling (ST-RFD)
두 번째로 학습 데이터 관점에서 새로운 ST-RFD를 제안한다.
기존의 uniform sampling이나 random sampling보다 중복 적보가 적어서 훈련 시 다양성이 최대화된다.
연속적인 LiDAR sequence에서는 시간적으로 가까운 frame들에서 중복 정보가 많다.
따라서 우리는 인접한 frame들끼리의 시간적인 상관관계를 계산해서, 서로 비슷한 frame들을 제거하고 서로 다른 frame만 추출함으로써, 더 정보량이 높은 subset만 선택하도록 사용했다.
1.3. Reflectivity-Guided Soft Pseudo-Labeling
세 번째로 반지도 학습(semi-supervised learning) 을 위한 새로운 Reflectivity-Guided Soft Pseudo-Labeling 기법을 제안한다.
기존의 pseudo-labeling은 신뢰도가 낮은 soft label을 그대로 사용하면 오히려 성능이 저하되는 문제가 있다.
- unreliable pseudo-label을 negative sample로 활용
- weak / noisy / unlabeled data까지 학습 가능
구체적으로, 예측 결과의 cross-entropy를 기준으로 voxel을 두 그룹으로 나눈다.
- low-entropy voxel → reliable group (신뢰 가능)
- high-entropy voxel → unreliable group (신뢰 어려움)
신뢰 가능한 voxel은 positive pseudo-label로 사용하고,
신뢰하기 어려운 voxel은 category-wise FIFO memory bank에 저장하여 negative sample로 활용한다.
추가로, LiDAR의 reflectivity response(반사 강도) 정보를 point cloud feature에 결합하여,
재질(material)이 서로 다른 객체들을 더 잘 구분할 수 있도록 하였고,
그 결과 weak label 또는 unlabeled 환경에서도 segmentation 성능을 향상시켰다.
2. Related Work
Semi-supervised Learning
LiDAR semantic segmentation에서 SSL은 소량의 labled data와 대량의 unlabeled point cloud를 함꼐 활용하는 Weak Supervised 방식이다.
기존의 접근 방식은 크게 2가지가 잇다.
- Projection-based : point cloud를 2D spherical representation으로 변환, 2D CNN을 활용하여 계산 효율을 높임
- Voxel-based : irregular point cloud를 regular 3D voxel grid로 변환, 3D CNN을 활용하여 효율성과 성능의 균형.
이들은 주로 pseudo-labling을 사용하여, teacher network의 예측 중 신뢰도 높은 reliable pseudo label만 학습에 사용했다.
하지만 이는 신뢰도가 낮은 unreliable prediction에 포함된 유용한 정보를 버린다는 한계가 있다.
본 연구에서는 Mean Teacher framework 기반의 새로운 SSL 구조를 제안하며, unreliable pseudo-label까지 활용하여 성능을 향상시킨다.
Depthwise Seperable Convolution (DSC)
2D image classificatoin 분야에서 (아래 논문) 먼저 고안된 방법이다.
Xception (Extreme Inception) (2016/10)
DSC 아키텍처 :
구체적으로는, channel 간 상관관계와 spatial 상관관계를 완전히 분리한다.
Seperable Convolution
- channel-wise : 1x1 convolution
- spatial : 3x3, 5x5 convolutoin
googleNet의 변종으로 보임




일반 convolution보다 훨씬 효율적이다.
본 연구에서는 이를 확장한다. DSC는 dense인 이미지에서 개발되었으므로, sparse convolutoin을 결합한다.
Temporal Redundancy (시간적 중복)
Video, LiDAR sequence는 모두 연속되는 frame이 서로 매우 비슷하다.
기존 방법들에서는 uniform sampling이나 random smapling같은 걸 쓰기 때문에, 중복된 프레임이 뽑힐 수 있다.
또 Active Learning 방식에서는 정보량이 높은 샘플만 직접 계산했었는데, 이는 계산 비용이 너무 높았다.
본 연구에서는 frame간 시간적 중복을 직접 계산하는 Temporal-redundancy-based sampling strategy를 제안한다.
계산은 uniform sampling과 거의 비슷할 정도로 단순하다.
3. Methodology

최종적으로 labeld+(reliable+unreliabled) category-wise memory bank를 이용해 learning을 하겟다는 것.
먼저 3D point cloud 데이터를 정의한다.
cylinder3D 기반 voxel 방식인데도 catesian coordinate를 쓰는 이유는, LiDAR 센서에서 얻는 raw data에서부터 변형함을 강조하기 때문인 것 같음.
$P = \{p | p = (x, y, z, I, R) \in \mathbb{R}^5\}$
3D 좌표, Inensity (반사 강도), Reflectivity (반사율)
"R(반사율) 정보를 추가함으로써 더 신뢰도 높은 pseudo-label을 생성하겠다."
semi-supervised 3D semantic segmentation 문제이다.
=위 데이터는 Label이 없는 다수의 데이터와, label있는 소수의 데이터로 나뉜다.
우리의 방법은 크게 3단계로 설명한다.
(1) Training Stage : Mean Teacher + Reflectivity 활용
(2) Pseudo labeling stage :
(3) Distilliation stage : Unreliable label 활용
3.1. Mean Teacher Framework
Teacher-Student model을 사용한다.
Student와 Teacher는 모두 기본적으로 Cylinder3D 기반의 segmentation head를 갖는 model이며,
- Student : 실제로 학습됨 (backprop)
- Teacher : student를 EMA(Exponential Moving Average)로 따라감.

teacher는 student보다 안정적이고 noise가 적다.
이제 teacher를 pseudo-label genereator로 사용할 수 있다.
Loss는 아래와 같이 생겼다.
$L=L_S+\lambda_U L_U + g\lambda_C L_C$
$L_S$ : segmentation 학습용 Supervised Loss. - lovasz softmax loss를 사용.
$L_U$ : student와 teacher의 output(pseudo-label)를 비슷하게 만드는 Unsupervised Loss. - KL Divergence 사용.
$L_C$ : Contrastive Loss. - InfoNCE를 사용

$g$ : gating. LC는 distillation stage에서만 활성화시키겠다. (초기에는 LC 미사용)
3.2. Learning from Unreliable Pseudo-Labels
흔히 SSL에서는 unreliable pseudo-label은 버려지거나 거의 사용되지 않는다.
기존의 Class-Range Balancing (CRB)에서는 teacher가 만든 pseudo-label 중 신뢰도가 높은 것만 사용하고 나머지는 버리기에, 학습은 안정적이지만 신뢰도가 낮은 unreliable pseudo-label에서의 정보를 버리게 되는 효과가 있다.
우리가 실험해본 결과 unreliable pseudo-label (아래 보라색)에도 정보가 있음을 확인했다.

정답이 '어떤 class'인지는 불확실하지만, '확실히 정답이 아닌 class'에 대한 정보는 확실했다.
따라서 unreliable pseudo-label을 negative sample로 사용한다.
하지만 그냥 사용한다면, negative sample이 batch 안에서는 특정 class에만 집중되어 불균형했다.(biased)
따라서 category별로 수를 맞추기 위해, 해당 class의 negative sample들을 저장하는 memory bank(Queue)를 두는 방법을 사용한다.
우리의 방법은 3개의 전제 조건이 있는데, anchor voxel, positive cadidiates, negative candidates가 그것이다.
게산을 줄이기 위해 아래의 수식과 같이 anchor voxel을 선택할 수 있다.
$\mathcal{A}_c =\{\textbf{E}_{a, b} | y_{a, b}^* = c, p_{a, b}(c) > \delta_p\}$
여기서 E는 voxel b의 a번째 point cloud frame에 대한 feature embedding이다.
ground truth label이 c로 같고,
- confidence가 충분히 높아야 한다. (p는 c에 대한 segmentation head에서 얻은 softmax 확률이며, δ는 모든 class가 공유하는 positive threshold이다.)
각 class c별로 모든 feature embedding을 평균내면, positive sample (c의 대표 embedding)을 구할 수 있다.
$\textbf{E}_c^{+}= \frac{1}{\mathcal{|A_c|}} \sum_{E_c \in \mathcal{A}_c} \textbf{E}_c$
마지막으로는 각 anchor voxel에서 1개의 positive sample과 N-1개의 negative sample을 구할 수 있다.
우리는 이를 이용하여 voxel-level InfoNCE Loss를 제안한다.

이는 anchor point와 positive sample 간의 cosine similarity를 최대화하고, negative sample간에는 최소화할 것이다.
3.3. Reflectivity-Based Test Time Augmentation
ScribbleKITTI 같이 우리가 가진 data는 label이 매우 적고, train 시에 만든 pseudo label은 부정확할 수 있다.
이를 보완하기 위해, LiDAR에는 label 없이 쓸 수 있는 물리적 특징인 Intensity / Reflectivity가 있기에, 이를 활용하는 Test Time Augmentation(TTA)를 제안한다.
distillation 단계에서 R을 기존 입력 feature에 추가하여, pseudo label이 없는 상태에서도 성능을 향상시킬 수 있다.
$R = Ir^2$
따라서 R은 실제 재질의 표면 반사 특성 S와 비례하게 된다.
우리는 이를 이용하여, 우리의 Reflectivity-Based Test Time Augmentation (Reflec-TTA) 방법을 정의한다.
구체적으로, 다양한 거리 및 해상도로 feature를 얻기 위해, 공간을 cylindrical coordinate 상에서 분할하여, 여러 scale로 histogram을 만든다.


$N_b$ : 먼저 histogram의 bin 수
$r_k$ : 각 bin에 구간하는 Reflectity의 범위
$h_i^{(k)}$ : k번째 bin에 해당하는 point들 (x, y, z, I, R) 의 개수.

각 histogram의 bin을 regulerization한 뒤, concatenate한다.

Distillation stage에서는, $R^\circledast$ 를 input feature에 추가해서 증강된 input LiDAR point cloud $P^\circledast$ 를 만들 수 있다.
왜 굳이 distillation시에 이런 걸 하나 싶었는데,
ablation study 결과, train 시에는 가벼운 특징(x, y, z, I, R)로 훈련하고, distill 시에 Reflec-TTA를 적용(x, y, z, I, $R^\circledast$) 하는 것이 가장 효과적이었다고 함.
결과적으로 보면, training 단계보다 distillation 단계에서 receptive field를 더 넓히도록 fine-tuning하겠다는 의도인 것 같음.
3.4. Spatio-Temporal Redundant Frame Downsampling
도심 지역에서 주행하는 차량에서 수집된 LiDAR Point Cloud sequence는 시간적/공간적 상관관계가 높아, 상당한 중복이 존재한다. 거의 같은 장면을 모두 학습에 넣는 것은 비효율적일 것이다.
- 예를 들어 신호등 빨간불에 의해 차가 멈춰 있을 때,
- 같은 경로를 다시 주행할 때
기존 방식들의 uniform /random sampling은 이런 문제를 고려하지 않는다.
이를 해결하기 위해, 우리는 Spatio-Temporal Redundant Frame Downsampling (ST-RFD) 를 제안한다.
ST-RFD는 시간적으로 연속된 frame들 사이의 spatial overlap을 분석하여, 시공간적 중복성을 판단한다.
이를 통해 몇 개의 representative frame만 subsampling해서 학습에 사용한다.
- 그 결과, train dataset 크기 감소
- 학습시간 단축
- 메모리 절약.
방식은 단순하다.

- 전체 p개의 point cloud frame을 균등하게 q개씩 subset으로 묶어, $\left \lceil \frac{p}{q}\right \rceil$ 개의 subset을 만든다.
- 시간적으로 인접한 두 frame간의 유사도 $\psi(t, t+1)=SSIM$를 계산한다. (0에 가깝다 -> 다르다 / 1에 가깝다 -> 같다)

- 현재 subset 안의 모든 frame쌍에 대해 계산된 유사도의 mean을 구해, 해당 subset의 시공간적 중복성을 추정한다.
$\text{redundancy} = \frac{1}{N}\sum \psi(t, t+1)$
- 위에서 구한 mean을 기반으로, 해당 subset에서 몇 개의 frame을 선택할 지 sampling rate v을 결정한다.
$v(x) = \exp(-\beta x)$

3.5. Sparse Depthwise Seperable Convolution (SDSC)
기존의 LiDAR point cloud semantic segmentation방법들은 일반적으로 큰 backbone에 의존한다. voxelized 방식들은 이를 처리하기 위해 3D Conv를 적용하기 때문에 더 그렇다.
한편, image classification등에서 depthwise serperable convolution은 일반 convolution과 성능이 유사하면서도, 훨씬 적은 trainable parameter를 사용한다고 알려져 있기에, 이를 우리의 기법에 적용한다. 그 결과 우리의 기법은
- DSC의 parameter 감소 효과
- point cloud에서 쓰던 sparse convolutoin의 계산 효율성을 모두 가진다.

input tensor $F \in \mathbb{R}^{H_F \cross W_F \cross L_F \cross M}$이 있다고 하자.
(cylinder coordinate에서 'radius x azimuth(방위각) x height x channels')
Sprse Depthwise Convolution
가장 먼저 channel M에 각각 별도로 submanifold spatial convolution을 수행한다.
$SDC(input_channel=M, ouput_channel=M, kernel_size=D_k, stride=1)$
결과 $T \in \mathbb{R}^{H_F \cross W_F \cross L_F \cross M}$ 를 얻는다.
tensor shpae을 유지하면서, 추가적인 계산/메모리 비용 없이 sparse구조를 효율적으로 처리할 수 있다.
Sparse Pointwise Convolution
위에서 얻은 T를 channel-wise로 projection하여 새로운 channel 공간으로 만들어지도록, sparse 1x1 convolution을 적용한다.
$SPC(input_channel=M, ouput_channel=N, kernel_size=1, stride=1)$
결론적으로, SDSC는 위 두 연산의 합성과 같다.
4. Evaluation

LiM3D : state of art.
LiM3D + SDSC : 약간 성능이 하락하지만, 연산량 크게 감소.
'Domain Knowledge > Computer Vision' 카테고리의 다른 글
| [paper] Guided Point Contrastive Learning (2021/10) (0) | 2026.05.16 |
|---|---|
| [paper] FIDNet (0) | 2026.05.03 |
| [paper] RandLa-Net (2019/11) (0) | 2026.04.26 |
| [paper] KPConv (Kernel Point Convolution) (2019) (0) | 2026.04.25 |
| [paper] DGCNN (Dynamic Graph CNN) (2018/01) (0) | 2026.04.25 |