Point Transformer 구조
평가의 객관성을 확보하기 위해, 주로 대규모 실내 데이터셋인 S3DIS(Stanford Large-Scale 3D Indoor Space)를 기준으로 성능을 기술하며, 특히 Area 5를 테스트셋으로 사용하는 표준 프로토콜의 결과를 인용한다. 평가 지표는 전체 포인트 분류 정확도를 나타내는 OA(Overall Accuracy)와 클래스별 평균 성능을 측정하는 mIoU(mean Intersection over Union)를 사용한다. mIoU는 클래스 불균형 문제에 강건하여 세분화 성능의 핵심 지표로 간주된다.
PointNet++
개념: PointNet++는 선구적인 모델인 PointNet이 점군 전체의 전역적 특징에만 집중하여 지역적(local) 구조 정보를 포착하지 못하는 근본적인 한계를 극복하기 위해 제안되었다. 이미지 처리 분야의 컨볼루션 신경망(CNN)이 계층적으로 receptive field를 넓혀가는 방식에 착안하여, 점군 내 작은 지역부터 시작해 점차 넓은 영역으로 특징을 단계적으로 집계하고 추상화하는 계층적 특징 학습(Hierarchical Feature Learning) 구조를 도입했다.
- 구조적 특징: PointNet++의 핵심 구조는 Set Abstraction (SA) 모듈의 반복적인 적용에 있다. SA 모듈은 샘플링, 그룹핑, 그리고 특징 추출의 세 단계로 구성된다.
- 샘플링(Sampling): Farthest Point Sampling (FPS) 방식을 사용하여 전체 점군으로부터 기하학적으로 가장 멀리 떨어진 점들을 순차적으로 선택한다. 이를 통해 더 넓은 영역을 대표하는 중심점(centroid)들을 효율적으로 정의할 수 있다.
- 그룹핑(Grouping): 샘플링된 각 중심점을 기준으로 일정 반경 내의 모든 점 또는 K개의 가장 가까운 이웃 점들을 하나의 지역 집합으로 묶는다. 이 과정을 통해 전체 점군을 여러 개의 국소 영역으로 분할한다.
- 특징 추출(Feature Extraction): 그룹핑된 각 지역 집합에 대해 PointNet(이를 '미니 PointNet'이라 칭함)을 적용한다. 미니 PointNet은 지역 집합 내의 점들의 좌표를 정규화하고, 다층 퍼셉트론(MLP)을 통해 각 점의 특징을 추출한 후, Max-Pooling 연산을 통해 지역 전체를 대표하는 하나의 특징 벡터를 생성한다.
- 특징 전파(Feature Propagation): 세분화 작업을 위해 인코더에서 다운샘플링된 특징을 다시 원래 해상도의 모든 점으로 복원하는 과정이다. 업샘플링된 점의 특징은 저해상도 점들의 특징을 역거리가중(Inverse Distance Weighted) 보간법을 사용하여 계산하며, 인코더 단계의 Skip Connection을 통해 전달된 특징과 결합하여 세부 정보를 보존한다.
장점은 계층적 구조를 통해 다양한 스케일의 기하학적 특징을 학습할 수 있다는 점이며, 이는 이후 대부분의 점군 처리 모델이 채택하는 표준적인 패러다임이 되었다. 반면, 단점으로는 FPS의 계산 복잡도가 점군 크기(N)와 샘플링할 점의 수(M)에 비례()하여 증가하므로 대규모 점군에 직접 적용하기 어렵다는 점이 있다. 또한, 고정된 반경으로 그룹핑하는 방식은 점군 밀도가 불균일할 경우 성능 저하를 야기할 수 있다.
- 성능 (S3DIS Area 5): OA는 약 89.2%, mIoU는 약 65.4% 수준이다.
- 대용량 처리: 부적합하다. 수만 개 이상의 점군에서는 FPS 연산이 심각한 병목 현상을 일으킨다.
- 리소스 및 시간 요구사항: VRAM은 8에서 12GB가 필요하며, 학습 시간은 중간 정도 소요된다. 추론 시간은 FPS 때문에 실시간 처리가 어려워 느린 편이다.
- GitHub 주소: https://github.com/charlesq34/pointnet2
PointEdgeSegNet
이 모델은 점군을 하나의 그래프로 간주하는 그래프 신경망(GNN) 접근법을 채택했다. 특히 DGCNN에서 제안된 EdgeConv 연산을 U-Net 아키텍처에 통합하여, 점과 그 이웃 점들 간의 관계를 '엣지 특징'으로 명시적으로 모델링한다. 이를 통해 정확도와 효율성의 균형을 목표로 한다.
이 모델은 점군을 하나의 그래프로 간주하는 그래프 신경망(GNN) 접근법을 채택했다. 특히 DGCNN에서 제안된 EdgeConv 연산을 U-Net 아키텍처에 통합하여, 점과 그 이웃 점들 간의 관계를 '엣지 특징'으로 명시적으로 모델링한다. 이를 통해 정확도와 효율성의 균형을 목표로 한다.
- 구조적 특징: 구조의 핵심 연산은 EdgeConv이다. 이는 K-NN(K-Nearest Neighbors) 알고리즘으로 각 점의 이웃을 찾아 동적으로 그래프를 구성하고, 중심점의 특징()과 이웃점과의 상대적 위치 벡터()를 결합한 엣지 특징 [xi, xj - xi]을 생성한다. 이 엣지 특징은 중심점 자체의 정보와 주변의 기하학적 정보를 동시에 담고 있으며, MLP를 통과한 후 대칭 함수인 Max-Pooling으로 집계되어 중심점의 새로운 특징으로 갱신된다. 전체 구조는 대칭적인 인코더-디코더 구조인 U-Net을 채택하여, 인코더에서는 EdgeConv와 FPS를 통해 특징을 추출 및 다운샘플링하고, 디코더에서는 k-NN 보간과 Skip Connection으로 특징을 업샘플링하여 세부 정보를 보존한다.
장점은 엣지 특징을 통해 점들 간의 기하학적 관계를 명시적으로 학습하므로 지역적 패턴에 대한 표현력이 우수하며, U-Net 구조 덕분에 정보 손실이 적다는 것이다. 공간인덱싱을 통한 대용량 점군을 격자 블럭으로 처리한 후 학습 및 예측하므로 대용량 점군 처리가 가능하다.
- 성능 (S3DIS Area 5): 성능 추정치에 따르면, OA는 약 91.5%이다.
- 대용량 처리: 제한적이다. FPS 대신 Grid Subsampling 등을 사용하면 일부 개선이 가능하다.
- 리소스 및 시간 요구사항: VRAM은 10에서 16GB가 필요하며, 학습 시간은 중간 정도 소요된다. 추론 시간은 느린 편에서 중간 수준에 해당한다.
- GitHub 주소: https://github.com/mac999/point_edge_seg_net/tree/main
KPConv는 이미지 CNN의 '컨볼루션 필터' 개념을 3D 공간으로 직접 일반화한 모델이다. 유클리드 공간에 미리 정의된 커널 포인트(Kernel Points)를 컨볼루션 필터의 핵으로 삼고, 이 커널 포인트들과 입력 점들 간의 거리에 따라 가중치를 적용하는 방식으로, 진정한 의미의 3D 공간 컨볼루션을 구현했다.
- 구조적 특징: 핵심 연산인 KPConv는 구(sphere) 형태의 공간 안에 미리 정의된 커널 포인트들을 배치하는 방식으로 작동한다. 각 커널 포인트는 고유의 학습 가능한 가중치 행렬을 가지며, 입력 점과의 거리가 가까울수록 더 큰 영향력을 행사하도록 상관관계를 계산한다. 이 커널은 고정된 형태의 Rigid KPConv와, 지역 형상에 따라 커널 포인트의 위치가 동적으로 변형되는 Deformable KPConv로 나뉜다. 다운샘플링 방식으로는 FPS 대신 Grid Subsampling을 사용하여 점군을 복셀화하고 각 복셀의 중심점을 취하는 방식으로 대규모 데이터 처리 속도를 개선했다.
- 성능 (S3DIS Area 5): OA는 약 92.9%, mIoU는 약 70.6%이다.
- 대용량 처리: 가능하다. Grid Subsampling 덕분에 수백만 점군 처리가 가능하지만, 리소스 요구량이 높다.
- 리소스 및 시간 요구사항: VRAM은 16에서 24GB 이상으로 높은 편이며, 학습 시간도 길다. 추론 시간은 RandLA-Net 대비 수십 배 느려 느린 편에 속한다.
- GitHub 주소: https://github.com/HuguesTHOMAS/KPConv
RandLA-Net
이 모델은 대규모 점군을 실시간으로 처리하는 실용성에 초점을 맞춘 모델이다. '무작위 샘플링(Random Sampling)'을 통해 계산 복잡도를 획기적으로 낮추고, 이로 인해 발생할 수 있는 정보 손실은 강력한 '지역 특징 집계(Local Feature Aggregation, LFA)' 모듈로 보완하는 전략을 사용한다.
- 구조적 특징: 샘플링 단계에서는 계산 비용이 전혀 없는 무작위 샘플링을 사용하여 인코더의 각 단계에서 점군을 대폭 줄인다. 핵심 블록인 LFA는 지역 공간 인코딩(LocSE), 어텐션 풀링(Attentive Pooling), 그리고 Dilated Residual Block으로 구성된다. LocSE는 이웃 점들의 상대적 위치 정보를 명시적으로 인코딩하고, 어텐션 풀링은 이웃들의 특징에 대해 학습 가능한 어텐션 가중치를 부여하여 중요한 특징을 선별적으로 집계한다. 이 어텐션 풀링이 무작위 샘플링의 단점을 보완하는 핵심 장치이다.
- 성능 (S3DIS Area 5): OA는 약 92.2%, mIoU는 약 70.0%이다.
- 대용량 처리: 최적화되어 있으며, 이것이 이 모델의 핵심 설계 목표이다.
- 리소스 및 시간 요구사항: VRAM은 8에서 11GB로 낮은 편이다. 학습 시간은 짧고, 추론 시간은 매우 빨라 실시간 처리에 가장 근접한 모델로 평가된다.
- GitHub 주소: https://github.com/QingyongHu/RandLA-Net
Point Transformer는 자연어 처리 분야에서 성공을 거둔 트랜스포머 아키텍처를 점군에 적용한 모델이다. PointNet++의 계층적 구조를 기반으로, 지역 특징 추출 부분을 셀프-어텐션(Self-Attention) 메커니즘으로 대체하여 점들 간의 문맥적 관계를 더욱 정교하게 학습한다.
구조의 핵심인 Point Transformer Block은 지역 그룹 내의 한 점(Query)이 다른 모든 점(Key)들과 얼마나 관련이 있는지 어텐션 스코어를 계산하고, 이 스코어를 가중치로 삼아 모든 점들의 특징(Value)을 가중합하여 새로운 특징을 생성한다. 특히 점들 간의 상대적 위치 정보를 어텐션 계산에 명시적으로 포함시켜 기하학적 문맥을 강화한다.
장점은 셀프-어텐션을 통해 복잡한 지역 패턴과 객체 파트 간의 상호작용을 효과적으로 모델링하여 높은 성능을 보인다는 것이다. 단점은 어텐션 연산이 그룹 내 점의 수(N)에 대해 제곱()에 비례하는 계산 복잡도를 가져 매우 비효율적이라는 점이다.
- 성능 (S3DIS Area 5): OA는 약 93.0%, mIoU는 약 70.9%이다.
- 대용량 처리: 부적합하다. 높은 계산 복잡도 때문에 대규모 점군에 적용할 수 없다.
- 리소스 및 시간 요구사항: VRAM은 24GB 이상으로 매우 높고, 학습 시간도 매우 길다. 추론 시간 역시 매우 느리다.
- GitHub 주소: https://github.com/POSTECH-CVLab/point-transformer
이 모델은 대규모 점군에 트랜스포머를 효율적으로 적용하기 위해 이미지 분야의 Swin Transformer 아이디어를 3D로 확장한 모델이다. 계층적 샘플링과 윈도우 기반 지역 어텐션이라는 두 가지 핵심 전략을 통해 트랜스포머의 계산량 문제를 해결했다.
- 구조적 특징: 다운샘플링에는 FPS와 Random의 장점을 결합한 Stratified Sampling 방식을 사용하여 효율적이면서도 공간을 균일하게 커버한다. 핵심은 윈도우 어텐션으로, 전체 공간을 겹치지 않는 작은 3D 윈도우(복셀)로 분할하고, 각 윈도우 내부에서만 지역적으로 어텐션을 수행하여 계산 복잡도를 점의 수에 비례하도록 낮춘다. 또한 윈도우 이동(Shifted Window) 기법을 통해 다음 레이어에서는 윈도우 경계를 이동시켜 인접 윈도우 간의 정보 교환을 가능하게 한다. 이를 통해 지역 어텐션만으로도 전역적인 문맥을 효과적으로 학습할 수 있다.
- 성능 (S3DIS Area 5): OA는 약 94.1%, mIoU는 약 74.5%로 매우 높다.
- 대용량 처리: 최적화되어 있다.
- 리소스 및 시간 요구사항: VRAM은 11에서 16GB로 중간에서 높은 수준이며 RandLA-Net보다 높지만 KPConv보다 효율적이다. 학습 시간은 중간에서 긴 편이며, 추론 시간은 빠르다.
- GitHub 주소: https://github.com/dvlab-research/Stratified-Transformer
비교 분석
각 모델의 핵심 접근법을 서술적으로 비교하면 다음과 같다. PointNet++는 계층적 집합 추상화를, PointEdgeSegNet은 그래프 엣지 특징을, KPConv는 공간 커널 컨볼루션을, RandLA-Net은 무작위 샘플링을, Point Transformer는 지역 셀프-어텐션을, 그리고 Stratified Transformer는 윈도우 어텐션을 사용한다.
S3DIS 데이터셋에 대한 성능을 비교하면, OA와 mIoU 지표 모두에서 Stratified Transformer가 각각 약 94.1%, 약 74.5%로 가장 높은 성능을 보인다. 그 뒤를 이어 Point Transformer, KPConv, RandLA-Net이 유사한 성능 그룹을 형성하며, PointEdgeSegNet과 PointNet++가 그 뒤를 잇는다.
대용량 처리 능력 측면에서는 RandLA-Net과 Stratified Transformer가 가장 최적화된 성능을 보인다. 반면 KPConv는 처리가 가능하지만 높은 리소스를 요구하며, PointNet++, PointEdgeSegNet, Point Transformer는 대용량 처리에 부적합하다.
VRAM 요구량과 추론 속도는 효율성과 직결된다. RandLA-Net은 가장 적은 VRAM과 가장 빠른 추론 속도를 보여준다. Stratified Transformer는 빠른 추론 속도를 유지하면서 중간 수준의 VRAM을 요구하여 효율성과 성능의 균형을 맞추었다. 다른 모델들은 상대적으로 많은 리소스를 필요로 하거나 느린 추론 속도를 보인다.
각 모델의 핵심 접근법을 서술적으로 비교하면 다음과 같다. PointNet++는 계층적 집합 추상화를, PointEdgeSegNet은 그래프 엣지 특징을, KPConv는 공간 커널 컨볼루션을, RandLA-Net은 무작위 샘플링을, Point Transformer는 지역 셀프-어텐션을, 그리고 Stratified Transformer는 윈도우 어텐션을 사용한다.
S3DIS 데이터셋에 대한 성능을 비교하면, OA와 mIoU 지표 모두에서 Stratified Transformer가 각각 약 94.1%, 약 74.5%로 가장 높은 성능을 보인다. 그 뒤를 이어 Point Transformer, KPConv, RandLA-Net이 유사한 성능 그룹을 형성하며, PointEdgeSegNet과 PointNet++가 그 뒤를 잇는다.
대용량 처리 능력 측면에서는 RandLA-Net과 Stratified Transformer가 가장 최적화된 성능을 보인다. 반면 KPConv는 처리가 가능하지만 높은 리소스를 요구하며, PointNet++, PointEdgeSegNet, Point Transformer는 대용량 처리에 부적합하다.
VRAM 요구량과 추론 속도는 효율성과 직결된다. RandLA-Net은 가장 적은 VRAM과 가장 빠른 추론 속도를 보여준다. Stratified Transformer는 빠른 추론 속도를 유지하면서 중간 수준의 VRAM을 요구하여 효율성과 성능의 균형을 맞추었다. 다른 모델들은 상대적으로 많은 리소스를 필요로 하거나 느린 추론 속도를 보인다.
결론
점군 세분화 기술은 PointNet++의 계층적 구조에서 시작하여, KPConv와 같은 CNN 유사 접근법과 PointEdgeSegNet과 같은 GNN 접근법으로 발전해왔다. RandLA-Net은 대규모 처리를 위해 효율성에 초점을 맞춘 중요한 이정표를 제시했다. 최근에는 Point Transformer가 어텐션의 강력한 표현력을 입증했지만 계산 복잡도의 한계가 명확했다.
댓글 없음:
댓글 쓰기