Paper/Point Cloud

Point Transformer V2: Grouped Vector Attention and Partition-based Pooling

jaehyuuuuuga 2025. 5. 13. 15:45

Introduction

본 논문은 기존 Point Transformer의 한계를 개선하기 위해 제안된 Point Transformer V2(PTv2)에 관한 연구이다.
기존 Point Transformer는 네트워크가 깊어지고 채널 수가 증가함에 따라, 가중치 인코딩에 사용되는 MLP 파라미터 수가 급격히 증가하게 되고, 이로 인해 과적합 및 연산량 증가 문제가 발생한다.

이를 해결하기 위해 PTv2에서는 그룹 단위의 벡터 어텐션(Grouped Vector Attention, GVA) 구조를 도입하여 파라미터 효율성과 연산 효율을 동시에 확보하였다.

또한, 기존의 FPS나 KNN 기반의 풀링 방식은 시간이 오래 걸리고 공간적으로 정렬이 부정확하다는 문제점이 있다. 이를 대신하여, PTv2는 포인트 클라우드를 겹치지 않는 균일 파티션으로 나눈 후, 파티션 내부에서 직접 정보를 통합하는 파티션 기반 풀링 방식을 제안한다.

이러한 개선을 통해 PTv2는 ScanNet v2, S3DIS, ModelNet40 등 다양한 3D 포인트 클라우드 벤치마크에서 기존 방법들을 능가하며 SOTA (State-of-the-Art) 성능을 달성한다고 한다.

 

끄적끄적

Point transformer에서 정의한 내용과 동일한 내용인 거 같다.
스칼라 어텐션과, 벡터 어텐션의 수식에 대해 설명하고 있다.
https://manbo-study.tistory.com/entry/Point-Transformer
Point Transformer V2는 기존 V1에서 사용한 Vector Attention(VA)의 파라미터 수 증가와 과적합 문제를 해결하기 위해,
Grouped Vector Attention(GVA) 구조를 제안

GVA는 value 벡터의 채널을 g개의 그룹으로 나누고, 각 그룹별로 동일한 attention weight를 공유한다.
즉, 이웃 포인트 xjx_j들의 value 벡터를 group 단위 attention weight와 곱하여 group-wise aggregation을 수행함
GVA(Grouped Vector Attention)는 Vector Attention(VA)과 Multi-head Self-Attention(MSA)을 모두 포괄하는 일반화된 어텐션 구조로,
  • 그룹 수 g=c일 경우 기존 VA와 동일한 채널별 가중치를 적용하게 되고,
  • ω를 논문 Eq. (4)처럼 정의할 경우 MSA와 같은 구조로 퇴화(degenerate)한다.
PTv2는 이 GVA 구조를 기반으로,
Grouped Linear → Normalization → Activation → Fully Connected Layer를 조합하여
그룹 간 정보 교류를 가능하게 하면서도,
파라미터 수는 줄이고 표현력은 유지하는 효율적인 인코딩 구조를 채택하였다.

PTv1에서는 단순히 위치 정보를 더하는 방식(bias)만 사용했지만 이는 모델이 복잡해서 과적합이 발생했고, 성능 향상에 한계가 있었음

Ptv2는 "곱셈 + 덧셈"의 구조를 새롭게 제안함.

기존에는 단순히 bias를 더해서 항상 절대적인 값을 빼는 구조였음 mul을 통해 (pi-pj) 관계에 따라 동적으로 변화시켜 조절함. + v1에서 사용한 bias를 더해줘서 학습 초기에 안정성을 더해줌.

즉, 곱셈은 강한 위치-특징 상호작용, bias는 위치 자체의 고정 효과를 학습
다음은 partition-based pooling 이다.
일반적으로 포인트 클라우드에서는 FPS나 kNN 기반의 샘플링-쿼리 방식으로 포인트를 풀링하지만, 이 방식은 포인트 간 중복(overlap)이 발생하거나, 공간적으로 정렬되지 않는 문제가 있다.

본 논문에서는 이러한 문제를 해결하기 위해, 공간을 3D grid 형태의 격자로 나누는 파티션 기반 풀링 방식을 제안한다.

공간을 3d grid  형태로 나눈 뒤, 특징(feature)에 대해서는 maxpool, 위치(position)에 대해서는 meanpool을 적용한다. 그 이유는 강한 특징을 살리고 중심점의 위치를 찾기 위해 평균이 가장 적절하기 때문이지 않을까 싶다.

Ptv1과 동일하게 skip connection을 포함하는 U-net 아키텍처를 채택하였고, 포인트 수 조절은 각 단계마다 공간을 3d 격자(큐브) 형태로 나눠서 조절

attention은 주변 이웃만보고 계산

마무리 생각
1) ptv1에서 생각보다 많이 바뀐 거 같고 fps,knn에서 partision-based pooling하는 접근이 재밌었다. 기회가 되면 내 연구에 적용해보고 싶긴하다.
2) position encoding부분이 변화 되었는데 확실히 위치 정보가 중요한 거 같다. 또 다른 풀이 방법이 있지않을까?