SW/인공지능

CP-3D로 sparse-supervised 3D object detection 성능 올리는 법: POM·MCR·two-stage training 완전 가이드

얇은생각 2025. 12. 9. 07:30
반응형

 

TL;DR

CP‑3D는 2025 CBFP 포스터 세션에서 소개된 sparse‑supervised 3D object detection 접근법입니다. 한 scene에 라벨이 아주 적게(가끔은 1개) 붙는 상황에서도 성능을 끌어올리도록 설계됐죠. 방법의 축은 두 가지:

  • POM(Prototype‑Based Object Mining): 라벨이 없는 영역에서 class prototype을 이용해 object를 캐는 단계
  • MCR(Multi‑Label Cooperative Refinement): sparse GT + pseudo label + prototype‑mined label을 합치고 filter로 정리하는 단계

여기에 prototype classification lossnoise‑contrastive loss를 더한 two‑stage training을 적용합니다. 결과적으로 ScanNet V2에서 강력한 sparse baseline 대비 +11.53 mAP, SUN RGB‑D에서 약 +4 mAP 향상을 보였고, full‑supervised 대비 ~78%/~90% 수준까지 좁혀졌습니다. KITTI에서는 **CIN++**보다 약 2.7–7 mAP(3D AP/BEV AP) 높았고, 한 easy split에서는 full‑supervised보다도 더 잘 나왔습니다.

 

 


왜 이 연구가 중요한가

기대하는 지능은 실제 세계 안에서 몸으로 배우는 형태에 가깝습니다. 흔히 embedded/embodied intelligence라고 부르죠. 문제는 dense annotation 비용이 너무 크다는 것. 그래서 한 scene에 딱 한 개 정도만 labeling하는 sparse‑supervised가 현실적 대안이 됩니다.

다만 기존 pipeline은 outdoor 중심이었고, indoor는 scene 자체가 다양성이 낮아 더 까다롭습니다. 예를 들어 위에서 내려다본 방에 door만 label이 있고, 의자·책상·캐비닛 등은 전부 unlabeled인 상황이 흔합니다. 갑자기 toilet이 거실에 있을 리도 없고요. CP‑3D는 이런 환경에서 unlabeled 구조를 학습 신호로 바꾸는 방법을 제시합니다.

 

 


CP‑3D가 제안하는 것(한 줄 요약)

  1. POM으로 unlabeled 영역에 class prototype을 매칭해 label을 확장하고, 2) MCRsparse GT, pseudo label, prototype‑mined label정교하게 합치고 걸러 최종 high‑quality label set을 만듭니다. 마지막으로 two‑stage training으로 안정적으로 학습을 진행하죠.

 

 


Related Work(토대가 된 detector)

  • TRD: 실내 indoor 환경에서 널리 쓰이는 3D detector. 구조가 단순하면서 정확도가 좋습니다. CP‑3D의 indoor 실험에 사용됩니다.
  • CenterPoint: outdoor에서 강력한 one‑stage detector. center/heatmap 기반으로 효율적이죠. CP‑3D는 outdoor 평가에 CenterPoint도 함께 다룹니다.

 

 


Method — Step by Step

 

1) POM(Prototype‑Based Object Mining)

 

1) POM(Prototype‑Based Object Mining)

목표: 라벨이 없는 object를 class prototype으로 matching믿을 만한 label을 부여하기.

흐름:

  1. Feature map 추출: 현재 detector에서 projected feature를 꺼냅니다. prototype 학습에 쓰일 표현이죠.
  2. Labeled feature 분리: class‑aware mask로 sparse dataset에서 라벨이 붙은 feature만 모읍니다. 이게 class prototype의 씨앗입니다.
  3. Unlabeled feature 매칭: labeled 영역을 제외하고 남은 unlabeled featurematching problem으로 각 prototype에 연결합니다. high‑confidence일 때만 label을 부여해 precision을 지킵니다.

핵심 감각: 한 개의 door가 가진 표현을 seed로 삼아, 그 문 같은 것들을 주변에서 찾아 라벨을 확대합니다.

 

 

2) MCR(Multi‑Label Cooperative Refinement)

목표: 세 가지 label source를 협업으로 합쳐 깨끗하고 빈틈없는 label set 만들기.

세 가지 source:

  • Sparse GT: 원래 있던 ground truth(보통 scene당 1개 수준)
  • Pseudo label: 미리 trained detector가 예측한 결과
  • Prototype‑mined label: POM이 새로 캐낸 label

두 단계 정제:

  1. Iterative pseudo‑labeling + filtering: pseudo label을 만든 뒤 세 가지 filter로 신뢰도 낮은 걸 걷어냅니다.
    • Score filter
    • IoU filter
    • Collision filter
      threshold는 실험으로 최적화합니다.
  2. Prototype label incorporation: sparse GT를 기준으로 high‑confidence foreground feature를 찾아, sparse/pseudo가 놓친 부분에 prototype‑mined label을 보강합니다.

결과적으로 **양·질(coverage·quality)**을 함께 컨트롤하는 구조가 됩니다.

 

 

3) Training Strategy(두 단계)

  • Stage A — Initial detector training: 기본 detection loss에 prototype classification loss, noise‑contrastive loss를 더해 feature를 안정화합니다.
  • Stage B — Pseudo‑label training: Stage A 손실 구성은 유지하면서 pseudo label 기반 loss를 추가해 재학습합니다.

먼저 기반을 단단히 만든 다음, pseudo label 의존도를 점진적으로 올리는 전략입니다.

 

 


Dataset & Detector 구성

  • Indoor: ScanNet V2, SUN RGB‑D — Detector: TRD
  • Outdoor: KITTI — Detector: CenterPoint (비교군에 CIN++ 포함)

예시로, 방을 top‑down으로 보면 door만 label이고 나머지는 전부 unlabeled인 상황을 상상하시면 됩니다.

 

 


결과 요약(보고된 수치)

Indoor(ScanNet V2, SUN RGB‑D)

  • 강력한 sparse baseline(예: “SparseDet”) 대비 ScanNet V2 +11.53 mAP, SUN RGB‑D 약 +4 mAP 향상.
  • Full‑supervised 대비 격차 축소: ScanNet V2 ~78%, SUN RGB‑D ~90% 수준까지 접근.

Outdoor(KITTI)

  • CIN++ 대비 약 2.7–7 mAP 개선(지표에 따라 다름).
  • 지표는 3D AP, BEV AP 모두 포함.
  • easy split에선 full‑supervised baseline보다 더 높은 수치도 관찰.

발표 중 알림창이 잠깐 뜨는 소소한 해프닝도 있었지만, 핵심 메시지는 흔들리지 않았습니다. 우리 모두 한 번쯤 겪는 그 순간이죠 :)

 

 


Ablation Study — 무엇이 가장 큰 기여를 했나

검증한 구성 요소는 세 가지입니다.

  • POM: unlabeled object 발굴
  • CPC(Class Prototype Clustering): POM 내부의 prototype 할당을 clustering 관점으로 본 구성
  • MCR: label 합치고 걸러내는 핵심 정제 모듈

결론: 셋 다 유의미한 상승을 만들지만, MCR의 기여가 가장 큼. 특히 bad negative와 도움이 안 되는 label을 걷어내는 과정이 성능을 끌어올렸습니다. POM/CPC도 positive를 늘려 꾸준히 플러스 효과를 냅니다.

 

 


예시로 보는 Indoor Room 시나리오

  1. Sparse GT: scene에 door만 label.
  2. POM: door의 표현을 단서로 의자·테이블·캐비닛 등 prototype‑consistent한 구역을 찾아 label을 확장.
  3. Pseudo label: trained detector 예측을 추가하되, score/IoU/collision filter로 깐깐하게 선별.
  4. MCR: sparse GT + filtered pseudo + prototype‑mined를 합쳐 coverage hole을 메우고 noisy box는 제거.
  5. Training: annotation 비용은 낮게, 학습 신호는 풍부하게.

 

 


Prototype이 sparse 환경에서 힘을 쓰는 이유

  • Scene 내부 전이: 한 개의 label이 class manifold의 씨앗이 됩니다. prototype이 그 신호를 주변으로 전달하죠.
  • 과확장 방지: confidence‑aware matching으로 junk label 유입을 줄입니다.
  • Pseudo label 보정: pseudo label이 drift할 때 prototype이 anchor 역할을 해 균형을 잡아줍니다.

 

 


실전 적용 팁(바로 써먹기)

  • Baseline을 깔끔히: indoor=TRD, outdoor=CenterPoint가 무난한 출발점.
  • Label 최소화 전략: scene당 1개라도 질 좋은 라벨이면 충분히 의미 있습니다.
  • Filter 엔지니어링: score/IoU/collision threshold를 dataset별로 튜닝.
  • Prototype head 추가: 가벼운 prototype classification branch를 붙여 보세요.
  • Contrastive로 안정화: noise‑contrastive loss가 label noise에 버틴 힘을 줍니다.
  • Iterate: mining → merging → training을 반복하며 validation mAP이 포화될 때까지 조정.

 

 


FAQ

Q1. sparse‑supervised 3D detection이 정확히 뭔가요?
scene마다 라벨이 매우 적은 상태(가끔 1개)에서 detector를 학습하는 방식입니다. 비용을 절약하는 대신 학습이 어렵죠.

Q2. 여기서 말하는 prototype은 뭐죠?
class‑aware mask로 모은 labeled feature에서 만든 feature‑space 대표자입니다. POMunlabeled feature를 prototype과 matchinghigh‑confidence일 때 label을 부여합니다.

Q3. pseudo label은 왜 반드시 걸러야 하나요?
도움이 되지만 noise가 많습니다. score/IoU/collision filter로 일관성 있는 것만 남겨야 학습이 안정적입니다.

Q4. training에서 추가된 loss는?
기본 detection loss 외에 prototype classification loss, noise‑contrastive loss를 Stage A에서 사용하고, Stage B에선 여기에 pseudo label loss를 더합니다.

Q5. indoor만 효과가 있나요?
아니요. ScanNet V2, SUN RGB‑D(indoor)와 KITTI(outdoor) 모두에서 향상이 확인됐습니다. 라벨이 부족할수록 이점이 큽니다.

Q6. 비교한 baseline은?
TRD(indoor), CenterPoint(outdoor)를 주로 사용했고, sparse 방법(예: “SparseDet”)과 CIN++ 등과 비교했습니다.

 

 


Key Takeaways

  • 라벨이 적다고 포기할 필요 없습니다. prototype + cooperative refinementscene당 1개 라벨도 학습 신호가 됩니다.
  • POMpositive 발견, MCRquality 정제, contrastivefeature 안정화를 담당합니다.
  • 실내에선 두 자릿수 mAP 향상, 실외에서도 꾸준한 플러스. full‑supervised와의 격차가 의미 있게 줄어듭니다.

 

 


마무리

CP‑3D는 sparse‑supervised 3D detection을 label 발굴과 큐레이션의 문제로 재정의합니다. POM으로 coverage를 넓히고, MCR잡음을 걷어내며, two‑stage training으로 detector를 차근차근 키웁니다. 결국 작은 라벨에서 큰 배움을 끌어내는 방법론이죠.

연구가 전하는 메시지는 단순합니다. 데이터가 빈약해 보여도 장면 속엔 구조가 있고, 맞춰야 할 신호가 있으며, 버려야 할 noise가 있습니다. 좋은 prototype처럼, 좋은 아이디어는 scene 전체로 퍼집니다.

반응형