[cvpr 2025]Sonata: Self-Supervised Learning of Reliable Point Representations

안녕하세요 손우진입니다.
오늘 리뷰할 논문은 CVPR 2025에 발표된 3D Self-Supervised Learning 논문, “Sonata: Self-Supervised Learning of Reliable Point Representations” 입니다. 3D 포인트에 대한 파운데이션 모델을 찾아보던중 재밌는 논문을 발견해서 읽게되었습니다. 이 논문은 3D 포인트에 대한 파운데이션 모델에 대해서 “아직 없었고, 왜 없었는지”를 분석하고 해결한 논문입니다. 2D self-surpervise 학습 방식이 다른 모달리티에 그대로 사용하면 안 되고, 그 모달리티 고유의 특성을 고려해야 한다는 관점이 인상 깊었습니다. 그럼 바로 시작하겠습니다!

Introduction

DINOv2 같은 모델들은 Linear layer 하나만 튜닝하는 Linear Probing만으로 Full fine-tuning에 근접하는 성능을 내고, PCA 시각화로 표현의 의미론적 구조를 눈으로 확인할 수 있게 되면서 신뢰할 수 있는 파운데이션으로 자리 잡았습니다. 반면 3D 포인트 클라우드 쪽은 다릅니다. 자율주행, 로봇, AR/VR 등 3D 응용은 계속 늘어나는데, 정작 이 파이프라인들에서 3D SSL 모델이 쓰이는 경우는 거의 없습니다. 저자들은 여기서 “Linear Probing만으로도 다양한 태스크에 쓸 수 있는, 신뢰할 수 있는 포인트 클라우드 SSL 모델을 우리는 가지고 있는가?” 라는 질문을 하게 되고 그에 대한 답으로는 ‘아직 아니다’입니다. 어떤 데이터셋 에서 Scratch 지도학습이 77.6% mIoU인데, 기존 3D SSL SOTA인 MSC의 Linear Probing은 21.8%에 그칩니다. 2D 모델인 DINOv2 feature를 포인트 클라우드에 단순 투영한 것만으로 63.1%가 나온다는 점입니다. 3D 데이터로 학습한 3D SSL이 2D feature를 얹은 것보다 한참 못한 표현을 배우고 있었던 것입니다.

저자들은 그 원인을 Geometric Shortcut으로 정의합니다. 모델이 의미론적 표현 대신, 접근하기 쉬운 저수준 기하 정보(Surface normal, Point height 등)로 표현이 붕괴해버리는 현상입니다. Figure 2가 이를 직관적으로 보여줍니다. 소파 팔걸이 위의 한 점을 찍고 장면 내 나머지 모든 점들과의 feature 유사도를 히트맵으로 그린 것인데, 표현을 제대로 배웠다면 ‘같은 의미’를 갖는 다른 팔걸이들이 밝아져야 합니다. 그런데 CSC의 히트맵은 팔걸이와 무관하게 ‘표면이 향하는 방향이 같은’ 영역들(예를 들어 위를 향하는 면이라면 바닥이든 테이블 상판이든)이 함께 밝아지고, MSC는 의미와 무관하게 ‘바닥으로부터 높이가 같은’ 지점들이 밝아집니다. 즉 feature에 “이것은 팔걸이다”라는 개념이 아니라 “위를 향한다”, “높이 몇 cm에 있다” 같은 기하 속성만 담겨 있었던 것입니다. 반면 Sonata는 장면 안의 모든 소파 팔걸이가 정확히 밝게 표시됩니다.

저자들의 전략은 두 가지로 요약됩니다.
공간 정보를 흐리게 만들고, 입력 feature 의존도를 높이는 것입니다. 여기에 DINOv2 계열에서 검증된 Self-distillation과 스케일링을 결합해 140k 포인트 클라우드로 학습한 것이 Sonata입니다. 결과적으로 Linear Probing 21.8% → 72.5%(3.3배), 1% 데이터 조건에서 25.8% → 45.3%, Full fine-tuning 시 실내외 perception 전반 SOTA를 달성했습니다.

Pilot Study and Design Principle

본격적인 방법론에 앞서, 저자들은 기존 접근의 문제를 정성적으로 분석하고 설계 원칙을 도출합니다. 이 논문에서 개인적으로 가장 좋았던 파트입니다. Geometric shortcut의 발견이를 정량화하기 위해 2D의 표준인 Linear probing을 적용해보면 PC는 5.6%, MSC는 21.8%로, DINOv2 투영(63.1%)에 한참 못 미칩니다.

이미지는 입력 feature를 지우면 정보가 사실상 전부 사라지므로 마스킹 기반 학습방식이 유효하게 작동합니다. 하지만 포인트 클라우드는 데이터가 Sparse해서, 모든 연산자가 커널을 정의할 때 포인트 좌표를 직접 사용할 수밖에 없습니다. 기하 정보가 입력 feature가 아니라 데이터 구조 자체에 새겨져 있는 것이고, 그래서 마스킹으로 가리는 것이 사실상 불가능합니다.

다음으로 저자들은 학습 방법이 아니라 백본 구조를 분석하는데, 기존 point SSL들은 전부 U-Net 구조를 그대로 사용해 디코더의 원본 해상도 출력에서 SSL loss를 계산했는데 이 구조가 표현 학습에 적합한지를 확인하기 위해 지도학습으로 훈련된 PTv3의 인코더와 디코더 각 스테이지 feature를 PCA로 시각화합니다. 결과를 보면 두 부분의 역할이 뚜렷하게 갈립니다. 인코더는 스테이지마다 서로 다른 스케일의 정보를 담은 다양하고 분산된 feature 패턴을 보이는 반면, 디코더는 task 출력에 맞춰 정제된 균일한 표현만 남아 있습니다. 즉 풍부한 표현은 인코더 쪽에 있다는 것입니다. 또 하나의 관찰은 해상도와 기하 정보의 관계입니다. 풀링을 거쳐 포인트 클라우드가 coarse해질수록 좌표에서 접근할 수 있는 기하 정보는 국소적인 것이 사라지고 점점 전역적인 것만 남게 됩니다. 이를 뒤집어 생각하면, 디코더처럼 원본 해상도까지 다시 올라가서 연산을 수행하는 순간 국소적인 기하 단서가 연산자에 다시 유입되어 geometric shortcut을 초래한다고합니다. 여기에 U-Net의 디코더는 skip connection으로 인코더와 강하게 결합되어 있어 구조적으로도 유연성이 떨어지고 원본 해상도의 per-point feature는 채널 수도 얕아 풍부한 표현을 담기 어렵습니다. 이런 관찰들로부터 “SSL은 디코더를 떼어내고 인코더의 coarse한 출력에서만 수행한다”는 분석으로 디코더를 제외했습니다.

Point Self-distillation with Sonata

Macro Framework

포인트 SSL의 기본 레시피는 하나의 포인트 클라우드에 공간적 crop, rotate, distort·jitter augmentation을 적용해 두 view를 만들고, 원본 공간에서 가까운 점들끼리 매칭해 embedding을 정렬시키는 것입니다. 정보가 풍부한 Global view, 극단적으로 작게 crop한 Local view, 그리고 Global view에서 그리드 패치를 마스킹한 Masked view입니다. crop 비율과 마스킹 비율로 난이도를 조절할 수 있는 구조입니다. 난이도가 올라갈수록 collapse 위험도 커지므로, 비대칭 인코딩(EMA)을 사용합니다. 어려운 Local/Masked view는 학습되는 Student가 인코딩하고, Global view는 Student 파라미터의 지수이동평균으로 갱신되는 Teacher가 인코딩합니다. Teacher가 Student를 끌어주는 역할을 해주는 덕분에, 5% crop이나 70% 마스킹 같은 극단적인 조건에서도 학습이 무너지지 않습니다.

Micro Design

이제 geometric shortcut을 직접 겨냥한 세부 설계들입니다. Figure 6이 이 논문의 하이라이트인데, MSC에서 출발해 각 설계를 하나씩 쌓으며 Linear probing 성능이 어떻게 변하는지 전부 공개합니다. 계층적 디코더를 제거하고 인코더 출력에서 self-distillation을 수행합니다. 이것 하나로 20.7% → 60.4%로 뛰게됩니다. 다만 디코더 제거에는 문제가 있는데, 원래 U-Net에서는 디코더가 coarse한 feature를 업샘플링하며 각 스케일의 인코더 feature와 단계적으로 합쳐줬기 때문에, 최종 feature가 국소 디테일부터 장면 전체 문맥까지 여러 스케일의 정보를 함께 담을 수 있었습니다. 디코더를 떼어내면 이 결합 사라져서, 마지막 인코더 스테이지의 coarse feature만으로 self-distillation을 하게 되고 세밀한 스케일의 정보는 학습에 반영되기 어렵습니다. 이를 보완하기 위해 파라미터 없는 up-casting을 도입합니다. 풀링 시 보존해둔 매핑 관계를 따라 coarse feature를 이전 인코딩 스테이지 해상도로 되돌리고 해당 스테이지 feature와 concat하는 방식입니다. 다만 원본 해상도에 가까워질수록 shortcut 위험이 다시 커지는 trade-off가 있어, ablation 결과 2회 up-casting이 최적이었다고 합니다.

Main Results

실험 파트 설명드리겠습니다. 저자들은 가장 먼저 2D 파운데이션 모델과의 비교를 합니다(Table3). 비교를 위해 DINOv2의 픽셀 embedding을 GT 카메라 포즈와 mesh 기반의 정밀한 depth를 이용해 포인트 클라우드로 투영한 뒤, 동일하게 Linear probing으로 평가합니다. 결과는 ScanNet 기준 Sonata 72.5% vs DINOv2 63.1%로, 3D 데이터로 학습한 표현이 드디어 2D feature 투영을 +9.2%p 높습니다 Sonata와 DINOv2 feature를 함께 사용하면 76.4%로 어느 단일 모달리티보다도 높아지는데, 이것은 Sonata가 이미지에서는 보이지 않는 3D 고유의 정보를 학습했다고 분석을합니다. PCA 시각화(Figure 7)를 봐도 DINOv2는 디테일을, Sonata는 공간 구조를 더 잘 구분하는 서로 다른 강점이 드러납니다. 개인적으로 이 결과가 논문에서 제일 흥미로웠는데, 모달리티마다 잡아내는 정보가 다르고 상보적이라그래서 cross-modal 결합의 여지가 크다는 직접적인 증거이기 때문입니다.

다음으로 저자들이 강조하는 것은 parameter efficiency입니다. 파라미터 관점에서 보면, 전체 파라미터의 0.2%도 안 되는 Linear layer 하나만 학습해도 ScanNet 72.5%, S3DIS Area5 73.4% 수준의 성능이 나오고, 13%의 경량 디코더만 학습하는 Decoder probing으로는 ScanNet 79.1%까지 올라가 Full fine-tuning에 사실상 근접합니다. 사전학습된 표현이 이미 대부분의 일을 하고 있다는 것입니다. 다만 여기에는 저자들도 인정하는 한계가 있는데, 클래스가 20개인 ScanNet과 달리 200개짜리 ScanNet200이나 100개짜리 ScanNet++처럼 세밀한 구분이 필요한 벤치마크에서는 probing 성능이 아직 제한적입니다. 표현이 다수의 fine-grained 클래스를 구분할 만큼의 정보까지는 담지 못하고 있다는 것입니다. Data efficiency를 보더라도 ScanNet 장면의 1%만 사용하는 극한의 데이터 제약 조건에서 Scratch 학습이 25.8%에 그치는 반면 Sonata는 Full fine-tuning으로 45.3%를 달성해 +19.5%p 차이를 벌리고, 심지어 Linear probing만으로도 좋은 성능이나와 기존 SOTA를 12.5%p 앞섭니다. 장면당 20개 포인트만 라벨링된 Limited annotation 조건에서도 +10.4%p 향상됩니다. 라벨링 비용이 큰 3D 도메인에서 사전학습된 표현이 갖는 것을 보여주는 결과라고 생각합니다.

물론 벤치마크 최고 성능 관점에서도 결과를 보여줍니다. Full fine-tuning 시 실내 semantic segmentation 5개 벤치마크에서 모두 SOTA를 갱신했고 instance segmentation으로 넘어가면 격차가 더 극단적으로 벌어집니다. Linear probing 기준 기존 SSL 대비 mAP50이 10~21배 수준인데, 뒤집어 말하면 기존 SSL 표현에는 instance 수준의 정보가 거의 담겨 있지 않았다는 것을 보여주는 수치입니다.

정리하면 이 논문은 새로운 loss나 복잡한 모듈보다, “3D에는 3D 고유의 shortcut이 있다”는 문제 정의와 이를 설계한것이 핵심인 논문입니다.

감사합니다.

두서없이 설명한거같아 …혹시 궁금하신분은 https://arxiv.org/pdf/2503.16429 논문을 참고해주세요

Author: 손 우진

3 thoughts on “[cvpr 2025]Sonata: Self-Supervised Learning of Reliable Point Representations

  1. 안녕하세요 우진님 좋은 리뷰 감사합니다.
    리뷰에서 디코더를 제거했지만 세밀한 스케일정보를 보완하기 위해 파라미터 없는 up-casting을 쓴다고 하셨는데
    up-casting도 결국 coarse feature를 더 높은 해상도로 올리는 것인데 왜 up-casting은 shortcut을 덜 만들고, 디코더는 shortcut을 만든다고 볼 수 잇는지 궁금합니다. 물론 리뷰에서 up-casting도 원본 해상도에 가까워질수록 shortcut 위험이 다시 커지는 trade-off 가 있다고 언급해주셨는데 그럼 반대로 일반 디코더를 써도 디코더의 해상도를 낮추는 방식으로 접근하면 되는게 아닌가라는 의문이 들어서 답글드립니다. 감사합니다.

  2. 우진님 좋은 리뷰 감사합니다.

    PointSSL의 U-Net 구조에 대한 분석에서, 풍부한 정보를 포함한 전역 정보에 원본 해상도로 다시 올라가는 과정에 국소적인 기하 단서가 유입되어 geometric shortcut을 초래한다는 게 잘 이해가 되지 않습니다. 이게 skip connection으로 인한 문제인것인가요???
    또한, 각 scale의 인코더 feature와 함게 결합하여 디테일한 장면 정보와 문맥 정보를 함께 담을 수 잇었던 기존의 디코더제거하였는데, 이를 파라미터 없이 up-casting 하고, 해당하는 스테이지 feature를 concat하는 방식이 어떤 차이가 있다는 것인지 잘 이해가 되지 않아 설명 부탁드립니다.

  3. 우진님 좋은 리뷰 감사합니다.
    저자의 기하학적 shortcut 분석은 저도 재밌고 놀라운 발견같다고 생각합니다.
    다만 위의 우현님과 승현님의 질문처럼, up casting 방식과 기존 decoder 방식에서의 장단점 서술이 동일한 것으로 보이는데, 그럼에도 불구하고 decoder를 제거하고 up casting 을 넣은 명백한 이유가 무엇인지가 저도 약간 의문이 드네요.. 파라미터를 두는 방식은 shortcut 을 가속화한다거나 하는 저자의 표현이 있었는지 궁금합니다.

Leave a Reply