[논문 리뷰] Sparse4D 시리즈

티거르·2025년 3월 10일

논문 리뷰

목록 보기
8/8
post-thumbnail

Sparse4D 선정 이유

2025.03.10 기준
nuScenes 3D Object Detection Task Leaderboard 에서
Multi-view Camera Image 만을 사용하는 모델 중, SOTA 를 기록중인 모델이다.

  • mAP: mean Average Precision
  • mATE: mean Average Translation Error
  • mASE: mean Average Scale Error
  • mAOE: mean Average Orientation Error
  • mAVE: mean Average Velocity Error
  • nAAE: mean Average Attiribute Error
  • NDS: Nuscenes Detection Score (위 6가지 지표의 가중합)
    NDS 산출 방식
    위 6가지 지표를 종합적으로 고려하였을 때, 아래 이미지와 같이
    리더보드 상에서, SOTA 성능을 보여주고 있다.
    카메라 Only: nuScenes 3D Object Detection task leaderboad (25.03.10)
    물론, Sensor Modalities Column 을 필터링하지 않은 아래 이미지와 같이,
    Camera 뿐만 아니라, Lidar, Rader 등도 사용하는 여타 3D Detection 모델에 비해서는,
    mAP, NDS 가 다소 떨어지는 것을 확인할 수 있다.
    Any 센서: nuScenes 3D Object Detection task leaderboad (25.03.10)
    허나, LiDAR 없이, Multi-View Camera Image 만을 활용하여,
    3D Annotation 을 수행해야 하는 제한적 상황이기에,
    Camera-Only 3D Annotation 에서만큼은,
    최신연구가 아님에도 (23.10) SOTA 를 기록중인
    Sparse4D 시리즈를 리뷰하고자 한다.

Sparse4D 시리즈

Multi-view Video 와 같이,
몇 초간의 연속된 Temporal Multi View Input 이 들어왔을 때,
3D Object Detection 을 수행하는 알고리즘은 크게 2가지로 나뉜다.

  • Dense-based
    Multi-view Image, LIDAR, RADER 신호를 모두 활용하여
    Dense 한 Bird's Eye View 3D 공간을 구축한 뒤,
    Dense 한 3D Annotation 을 후차적으로 진행하는 방식
  • Sparse-based
    (1) Explicit 한 3D Instance (BB) Anchor,
    (2) Implicit 하게 BB 에 대한 전반적 의미를 내포할 Instance Feature
    2 가지를 Sparse 하게 Initialize 한 뒤,
    Backbone 인코더를 활용하여 Multi-view 2D Image 로부터 Visual Feature 를 추출하고,
    Refinement Decoder 에서 Instance Query 와 Image feature 를 Cross-Attention 을 통해 결합하여
    Instance Anchor, Instance Feature 를 점점 Denoising 하는 방식

앞서 nuScenes 리더보드에서 확인하였듯이,
Semantically Dense 한 3D BEV Space 를 구축하기 위해,
LIDAR, RADER Point Cloud 또한 활용하는 방식이,

카메라 이미지만을 활용하는 Sparse-based 방식보다
3D Annotation 성능이 훨씬 뛰어나긴 하지만,

실시간으로 3D Annotation 을 진행해야하는 Online 환경에서는
3D Vector Space 를 구축하지 않아도 되는
Sparse-based 방식이 계산 효율성이 더 좋긴 하다.

(허나, 본인은 지금 LIDAR 를 활용하지 못하는 상황이기에,
계산효율성과는 상관없이, Camera Only Sparse based Method 를 리뷰하고 있긴 하다...)

어쨌든 저자들은, 계산효율성이 더욱 좋은 Camera Only 방식으로서,
Sparse4D-v2 를 baseline으로 선정하였고,
몇 가지 변형을 취함으로써, Camera only 3D Detection 태크스에서 SOTA 를 달성중이다.


Sparse4D-v1 아키텍처는 다음과 같다.

Sparce4D v1 Framework 1. Pre-trained ResNET Backbone 을 활용하여 Multi-scale Feature 를 추출한 뒤,
2. FPN 를 통해, Multi-Scale Feature 에 대해, Semantic Meaning 과 Visual Detail 을 더해줌으로써,

Multi-Timestamp 의, Multi View 이미지 각각에 대해, Multi-Scale Feature 를 추출한다.

  1. Prediction 을 위해 점차 refinement 를 거칠, "3D Instance Anchor", "3D Instance Feature" 를 초기화한다.
    3D Instance Anchor 는, Center, Size, Orientation, Velocity 를 지니고3D Instance Anchor3D Instance Feature 는, 향후 BB Confidence 예측에 활용될, Implicit Vector 에 해당한다.
  2. 여러 Self-, Cross-Attention Layer 등으로 구성된 Decoder 가,
    앞서 추출한 "2D Image Feature" 를 기반으로
    "3D Instance Anchor", "Implicit Instance Feature" 를 반복적으로 정제함으로써,
    3D Bounding Box Annotation 을 예측하게 된다.

허나,
Dense 한 3D BEV Space 에서 GLobal Cross Attention 을 진행하는 Dense-based 방식과 달리,
Sparse4D-V1 은, Randomly Initialize적은 수의 3D Instance 에 상응하는 (V3 기준 900개)
Image Feature 를 Sparsely 추출한다.

부족한 시각적 정보에 기반하여, Bounding Box Annotation 을 진행하기에,
Predicted Objects 의 Quantity 와 Quality부족할 수 밖에 없고,
이에, LIDAR, RADER 를 모두 활용하여, 3D BEV Space 를 구축하는 Dense-based 방식보다
mAP, NDS 가 낮게 나타날 수 밖에 없다.


(Camera, Lidar 2가지를 활용하여 현재 nuScenes 리더보드에서 SOTA 를 달성 중인, MV2DFusion)NV2DFusion


이에, Sparse4D-V2Dense 한 Depth 정보를 포함함으로써,

Sparse 한 시각적 정보로 인한, Image Encoder 의 Convergence issue 를 완화하고자 하였고,
조금의 성능 향상을 달성하였다.

[Multi-timestamp, Multi-view, Multi-scale] 2D Image Feature 를 기반으로
Recurrent 하게 3D Instance Annotation 을 예측 및 정제하는
전체 파이프라인은, Sparse4D-V1 과 동일하다.Sparse4D v2 Framework


Sparse4D-V3 는 앞선 V2 와는 달리,

Decoder 의 안정적인 학습을 위해

  • Temporal Instance Deonising
  • Quality Estimation
  • Decoupled Attention

3가지 방식을 적용함으로써,
nuScenes Camera-only 3D Detection Task 에서, SOTA 를 달성 중이다.

V2 를 Baseline 으로 설정하여, 추가적인 기법을 적용했을 뿐이기에,
전체적인 틀은 동일하다.
Sparse4D v3 Framework

Temporal Instance Denoising

Sparse4D-V3: Temporal Instance Denoising

  • 해당 Frame의 Ground Truth Bounding Box 에 Noise 를 추가한 것을,
  • 이전 Frame 에서 Denoise 한 Bounding Box 에 다시 Noise 를 추가한 것을,
  • 그리고, 이전 Frame 에서 Denoise 한 Bounding Box 만을 Learnable Parameter

Decoder 에 넣어준 이후,
Positive Bounding Box 는 GT 와 유사하게 Decoding 하고
Negative Bounding Box 는 GT 와 다르게 Decoding 하는 방식을 통해
Decoder 를 Robust 하게 학습하는, RecurrentInstance Denoising 방식이다.

Quality Estimation

Sparse4D-V3: Quality Estimation
Decoder가 예측 성공한 Positive 3D Bounding Box 값에 대해,

  • Yawness 에는 cross-entropy loss 를 적용하고,
  • centerness 에는 focal loss 를 적용함으로써,

Predicted Sample 각각의 정확도를 엄밀히 측정하는 방식이다.

Decoupled Attention

Sparse4D-V3: Decoupled Attention Decoupled Attention Capability 3D Bounding Box 를 구성하는

  • Instance anchor
    -- Translation
    -- Rotation
    -- Size
    -- Velocity
  • Instance Feature

다양한 구성요소를 별도로 Encoding 한 이후,
해당 정보들을 하나의 Feature 로 합침에 있어,
더하지 않고 이어붙임으로써 (Concatenate)
DecoderFlexibility 를 더해주는 방식이다.

Ablation 결과

  • Temporal Instance Deonising
  • Quality Estimation
  • Decoupled AttentionSparse4D-V3 Ablation 결과

Sparse4D-V3 구현

데이터셋

nuScenes Full dataset (v1.0) https://www.nuscenes.org/nuscenes

  • 1000 scenes
  • Scenes distribution: / training 700 / validation 150 / testing 150
  • Each scene: 20 초 영상 (2 FPS)
  • 6 viewpoint images

카메라 이미지만 활용할 시, 총 데이터셋 용량 400GB 이내일 것으로 추정

깃허브

Main: https://github.com/HorizonRobotics/Sparse4D
Quick Start: https://github.com/HorizonRobotics/Sparse4D/blob/main/docs/quick_start.md

시도 예정

Sparse4D-V3 SOTA

  • 현재, SOTA 성능은, ResNet101 이 아닌,
    Transformer based EVA02-Large
    Backbone Encoder 로 활용한 결과
    ➡️ EVA02 혹은 여타 Transformer-backbone (e.g. Swin) 활용 가능

  • 현재, SOTA 성능은, 실시간이 아닌, Offline Annotation 을 가정하고
    Future 8 frames (2 FPS) 를 추가적으로 포함하여,
    multi-frame sampling 을 수행한 결과
    ➡️ 어차피 Offline Annotation 진행할 것이기에, Future Frames 무조건 활용하자.


    고해상도 이미지, 백본 인코더의 성능 기여도
  • Image resolution, Backbone encoder 에 따라, 성능 향상.
    ➡️ 이미지 해상도 올려보자
    ➡️ 어차피 Offline Annotation 진행할 것이기에, Transformer backbone (e.g. Swin) 활용 가능
profile
tigerrrr

0개의 댓글