본문 바로가기
On Going/Point Cloud Data

[PCD] Point Transformer V3(PTv3) 논문리뷰

by 에아오요이가야 2025. 3. 17.

PTv3는 3D 점군 데이터를 처리하기 위한 Transformer 기반 U-Net 형태 백본입니다. 전체 아키텍처는 U-Net처럼 4단계 인코더와 4단계 디코더로 구성되며, 각 인코더 단계에서 일정 비율로 점들을 다운샘플링하고 연속된 Transformer 블록을 쌓은 뒤, 디코더 단계에서 업샘플링을 통해 원래 해상도로 복원합니다. 모델 전반의 설계 철학은 단순성과 효율성을 극대화하여 대규모 점군에 대한 **확장성(scalability)**을 확보하는 데 있습니다. 이를 위해 PTv3는 이전 버전들에서 복잡하게 사용되던 연산들을 과감히 단순화하거나 제거하고, 효율적인 점군 구조화 기법을 도입하여 더 빠른 속도와 적은 메모리로 동등한 성능을 달성합니다.

 

주요 구성 요소

점군 직렬화(Point Cloud Serialization): PTv3의 핵심은 비정렬 상태의 점군을 구조화된 순서로 변환하는 것입니다.

3D 공간상의 점들을 Space-filling curve을 따라서 나열하여, 거리에 따라 인접한 점들이 목록상에서도 가깝게 배치되도록 합니다.

 

패치 단위 어탠션(Patch Attention): 직렬화된 점 시퀀스를 고정 크기 패치로 그룹화하고, 각 패치 내부에서 국소적 self-attention을 수행합니다. 이는 이미지 Transformer의 window attention과 유사하게, 점군을 여러 구간으로 나누어 non-overlapping 패치별로 어텐션을 적용하는 개념입니다. 이를 통해 인접점을 찾지 않고 근거리 점들간의 상호작용을 학습할수 있습니다.

 

패치 상호작용(Patch Interation): 각 패치 내부만으로는 한계가 있으므로, 패치 간 정보를 교환하는 기법이 도입되었습니다. PTv3에서는 연속된 어텐션 레이어 사이에 패치 구성을 변형하거나 교차시키는 전략을 사용합니다. 예를들어, Shifted Patch 기법은 한 레이어의 패치 구획을 다음 레이어에서 약간씩 어긋나게 재구성하여, 이전 레이어에서 떨어져 있던 점들이 다음 레이어에서는 같은 패치로 묶이게 합니다.

 

Sparse Convolutional Layer : PTv3에서는 점들 사이의 상대적 위치 정보를 인코딩하는 방식을 간소화 했습니다. 이전 버전들은 점 쌍마다 좌표차로부터 상대위치 임배딩(relative potional encoding)을 계산하여 어텐션에 활용했찌만, PTv3에서는 이러한 복잡한 위치 임베딩을 완전 제거했습니다. 대신 모델 입력 부분에서 Sparse Convolutional Layer를 배치하여, 국소적인 공간 구조 정보를 필터링하게 합니다. 이를 통해 별도의 거리 기반 임베딩 없이도 어텐션 모듈이 위치 정보를 간접적으로 참조할 수 있습니다.

 

간단하게 PTv3의 구조적 핵심 네가지를 짚어보았습니다.

 

결국 2D가 아닌 3D 데이터를 입력받고 처리하는 방식이 중요한것 같습니다.

 

예를 들어 이미지라면 정해진 2D 규격안에 결측값이 없지만 PCD데이터는 정해진 3D 규격안에 결측값이 실제 데이터보다 많은 문제가 있기 때문에 이를 어떻게 처리할것이냐 에 대한 많은 고민이 담겨있는것 같습니다.

 

여기서 의문!

 

연속된 2D들로 처리하는것보다 어려울까? 안하는데는 다 이유가 있겠지요? 한번 알아보겠습니다.

'On Going > Point Cloud Data' 카테고리의 다른 글

[PCD]Frontal view Lane Detection K-lane 논문 리뷰  (0) 2025.03.17
[PCD] start  (0) 2025.03.12

댓글