논문

논문 리뷰) DiffusionDrive [CVPR 2025 Highlight]

Dogun Kim 2025. 4. 18. 08:53

DiffusionDrive [CVPR 2025 Highlight]

https://arxiv.org/abs/2411.15139

 

DiffusionDrive: Truncated Diffusion Model for End-to-End Autonomous Driving

Recently, the diffusion model has emerged as a powerful generative technique for robotic policy learning, capable of modeling multi-mode action distributions. Leveraging its capability for end-to-end autonomous driving is a promising direction. However, th

arxiv.org

 

0. Abstract

  • 로보틱스 및 자율주행 도메인에서의 Diffusion Model

 최근 Diffusion Model은 Robotic policy learning에서, multi-mode action distributions를 모델링할 수 있는 강력한 생성 기법으로 부상하고 있다. 특히 이러한 능력을 E2E 자율주행에 활용하는 것이 유망한 방향이 된다.

cf. Multi-mode action distribution: 하나의 입력에 대해 다양한 가능한 행동이 존재하는 분포를 의미함.

 

  • 문제점

 기존의 Diffusion 기반의 Robotic policy는 수많은 디노이징 스텝이 필요하다. 그렇기에 예측 불가능하고, 끊임 없이 변화하는 실제 세계에서 실시간 속도로 다양한 주행 행동을 생성하는 데 큰 어려움이 있다.

-> 해당 연구는 디퓨전 모델의 실시간성을 확보하여 자율주행 도메인에서 사용할 수 있게 한다.

 

 

  • 문제 해결: Truncated diffusion policy

 해당 연구에서 이러한 실시간성 문제를 해결하기 위해 새로운 truncated diffusion policy를 제안한다.

1) 사전에 준비된 Prior multi-mode anchors를 이용하여 초기 노이즈 분포를 개선
-> 완전히 랜덤한 가우시안 노이즈에서 디노이징하지 말고, 기준 값을 줘서 약간의 노이즈만 주자는 것이다.

2) Diffusion schedule을 조기 종료 truncate하여, 적은 스텝만으로 디노이징하게 만듦
-> 노이즈가 너무 더럽진 않기에, 덜 복구해도 괜찮다.

3) Cascade Diffusion Decoder를 설계, 조건부 장면 문맥과의 상호작용을 강화

 

 

  • 해당 연구의 성과
1) 기존의 vanilla diffusion policy에 비해 디노이징 스텝 수를 10배 줄였으며, 단 2 스텝만으로도 뛰어난 다양성과 품질을 달성

2) 플래닝 중심의 NAVSIM 데이터셋에서 SOTA, 45 FPS의 실시간 속도로 동작
-> 성능 및 실시간성 확보

3) 정성적 평가에서 어려운 시나리오들에 대한 강건성 확인

 


1. Introduction

  • 기존 E2E 자율주행 연구의 문제점

1) 단일 궤도 예측 모델

 

 주류 end-to-end 플래너들은 보통 하나의 단일 궤적만 예측한다. 하지만 이러한 패러다임은 주행 행동이 갖는 Uncertainty 그리고 Multi-mode nature 특성을 반영하지 못한다.

cf. Uncertainty: 주행 중 언제든 상황이 바뀔 수 있음/ Multi-mode nature: 같은 상황에서도 여러 가능한 주행 경로가 존재함. 

 

2) 고정 Anchor 모델

행동 공간을 이산화한 것임.

 이러한 문제에 의해 최근 연구인 VADv2는 고정된 4096개의 anchor trajectory를 도입하여, 예측된 점수에 따라 샘플링하는 방식을 사용한다. 이러한 대규모 고정 anchor 방식은, anchor trajectory의 수와 품질에 근본적인 제약을 가지며, 당연히 사전 정의되지 않은 상황에서는 실패하게 된다. 또한 수 많은 anchor를 관리하는 계산 문제도 생기게 된다.

 

 

  • E2E 자율주행 새로운 방향 제시: Diffusion model

 로보틱스 분야에서 고정 앵커 모델처럼 행동 공간을 이산화하지 말고, 디퓨전 모델을 사용하면 가우시안 분포에서 반복적으로 디노이징하면서 물리적으로 자연스러운 행동을 직접 샘플링할 수 있다해당 연구는 로봇 분야에서 이러한 디퓨전 모델이 거둔 성공을 E2E 자율주행에도 적용하려고 한다.

1) 초기 시도

 기존의 단일 궤적 예측 모델의 MLP 헤드 대신 conditional diffusion model를 사용하려고 했다. 플래닝 성능은 올라갔지만 다음과 같은 두 가지 주요 문제가 발생한다.

문제점1. 20번이나 디노이징 스텝이 필요해 자율주행에서 실시간 적용이 불가능함

문제점2. 서로 다른 가우시안 노이즈에서 샘플링된 궤적들이 서로 심하게 겹치는 문제

이 두 문제점을 해결하는게 해당 논문의 메인 기여

 

2) 문제 해결을 위한 통찰

 인간 운전자는 완전히 랜덤하게 운전하는 것이 아니라, 운전 패턴 prior driving patterns을 기반으로 조금씩 조정한다는 사실에 주목하여 이러한 문제를 해결한다.

 

3) 문제 해결: Anchored Gaussian distribution ***

Truncate diffusion schedule: 디노이징을 원래 계획보다 일찍 멈추는 것

Gaussian 분포를 그냥 랜덤하기 뿌리지 말고, 여러 prior anchor 중심의 sub-Gaussian 분포로 나눈다. 

-> diffusion 스케줄을 조기 종료하여, prior anchor 주위에 소량의 Gaussian 노이즈만 추가하는 방식으로 구현됨

-> 완전 랜덤X, 운전 패턴을 기반으로 조금씩 조정하기 위함

  Vanilla Diffusion DiffusionDrive
시작점 랜덤 노이즈 미리 정한 Anchor 근처 노이즈
디노이징 스텝 20번 이상 2번
결과 다양성 거의 없음 디노이징 덜 해서 다양성 유지
속도 느림 빠름

-> VAD2 처럼 기존 앵커 중 하나를 선택하는 것이 아니라, 앵커 주변에 노이즈를 뿌리고, 덜 디노이징하여 여러 궤도 얻는다.

-> 앵커는 학습 데이터에서 K-Means로 클러스터링하여 생성한다.

 

4) 추가 구조 개선

 

  • BEV와 PV feature까지 활용하는 Transformer 기반 diffusion decoder를 설계.
  • Sparse deformable attention를 통해 perception feature들과 효율적으로 상호작용.
  • Cascade mechanism을 도입해 디노이징 과정 중 trajectory를 반복적으로 정제

 

  • 실험 성능 요약
DiffusionDrive 제안: 실시간 end-to-end 자율주행용 diffusion 모델.

NAVSIM 데이터셋에서: 88.1 PDMS 달성. 기존 SOTA인 Hydra-MDP-V8192-W-EP보다도 1.6 PDMS 높음.
45 FPS 실시간 속도 달성 

nuScenes 데이터셋에서도: VAD 대비 20.8% 낮은 L2 에러, 63.6% 낮은 충돌률, 1.8배 빠른 속도 기록.

 

 

  • Contribution
1) Diffusion 모델을 최초로 E2E 자율주행에 도입, truncated diffusion policy를 제안하여 mode collapse와 계산량 문제를 해결함.

2) 조건 정보와 상호작용하는 효율적인 Transformer 기반 diffusion decoder를 설계

3) 복잡한 기법 없이 SOTA 성능 및 실시간성 확보

4) 정성적으로 다양하고 그럴듯한 고품질 멀티모드 주행 경로를 여러 어려운 시나리오에서도 생성할 수 있음

 

 


3. Method

  • Preliminary ((3.1))

1) Task formulation

 End-to-end 자율주행은 raw 센서 데이터를 입력으로 받아 waypoint 형태의 ego-vehicle의 미래 궤적을 예측한다.

예측하는 궤적

2) Conditional diffusion model

조건부 디퓨전 모델은 데이터 샘플에 점진적으로 노이즈를 추가하는 forward diffusion 과정을 다음과 같이 정의한다.

  • Forward diffusion

평균과 분산이 위와 같은 정규 분포로 노이즈가 추가된다

  • Reverse diffusion # decoder

조건부 정보를 참고하여, 노이즈가 낀 궤적에서 원본 궤적을 예측하는 역방향 프로세스 모델을 학습한다.

  • Inference

  추론 시, 위에서 학습된 디퓨전 모델 f는 정규 분포로 부터 샘플링한 무작위 노이즈를 조건부 정보 z를 참고하여 깨끗한 데이터로 복원한다. 다음과 같이 정의할 수 있다.


  • Investigation ((3.2)) # 시행 착오

1) Turn Transfuser into conditional diffusion model 

 해당 연구의 처음에는 대표적인 E2E 플래너인 Transfuser를 시작점으로 삼아, 최종 MLP 헤드를 conditional diffusion model UNet으로 교체하였다.

 이렇게 교체한 모델 TransfuserDP는 기존 모델보다 더 나은 플래닝 품질을 보였다.

 

2) Mode collapese

 Diffusion 모델을 자율주행에 쓰는 이유는 같은 상황에서도 여러 가능한 주행 경로가 존재하다는 Multi-model nature를 고려하는 데 있었다. 이를 조사하기 위해 Gaussian 분포로부터 20개의 랜덤 노이즈를 샘플링하고, 이를 20 스텝으로 디노이징했다.

-> 실험 결과 서로 다른 랜덤 노이즈들이 디노이징 과정을 거치면서 비슷한 궤적으로 수렴했다. 즉 다양한 주행 경로를 고려하지 못하고 있는 것이다. 

D = Mode diversity score..

 D가 높을 수록 복원된 궤도의 겹침이 적은 거고, 즉 다양한 궤도가 생기는 것이다. 해당 평가지표를 통해 모델이 얼마나 다양한 궤적을 만드는지 평가할 수 있다.

 

3) Heavy denoising overhead # 과도한 디노이징 계산 부담

 DDIM diffusion policy는 랜덤 노이즈를 주행 가능한 궤적으로 변환하는 데 20번의 디노이징 스텝이 필요하다. 이로 인해 상당한 계산 부담이 발생한다. 위 테이블을 보면 말도안되는 속도 감소가 있었다. 따라서 실시간 적용에 어려움이 생긴다.

시행 착오 정리) 제일 유명한 모델 맨 뒤 헤드만 디퓨전으로 바꾸니까 성능은 올라감 하지만....

문제점 1) 디퓨전 모델을 사용하려는 메인 목적이 사라짐
-> 한 상황에 대해 한 개의 궤적을 뽑는 기존 모델과 달리 여러 행동들을 뽑아내게 하고 싶었다. 하지만 결국 생성된 궤적들은 대부분 겹쳐있었다. 

2) 디노이징 과정에서 속도가 너무 너무 느려진다.
-> FPS가 60에서 7까지 내려갔다..

  • Truncated Diffusion ((3.3)) # 시행 착오 해결

 위에서는 무작위로 노이즈를 뿌리고, 이를 디노이징하여 궤적을 만들었다. 하지만 이렇게 만든 궤도들은 다양하지도 않았고, 디노이징 계산이 너무 무거워서 실적용이 어려웠다. 이런 문제를 해결하기 위해 해당 연구는 인간의 운전은 고정된 패턴을 따르는 것에 착안하게 된다. 

 

 표준 Gaussian 분포 대신 anchor 기반 Gaussian 분포로부터 디노이징을 시작하는 truncated diffusion policy를 제안한다.

 

 쉽게 말하면 훈련 데이터에서 인간의 패턴과 같은 몇 개의 Anchor 궤적을 뽑고, 이 궤적을 중심으로 적은 노이즈를 뿌리고 디노이징하여 궤적을 뽑아낸다. 위에 잘 정리해놨다.. 소량의 노이즈를 뿌리기 위해 노이즈를 추가하는 과정을 빨리 끊는 truncate가 들어간다.

 

1) Training

 Training set에 K-Means 클러스터링을 통해 N개의 anchor 집합을 생성한다. 이러한 각 anchor는 T 시간까지의 waypoint이다.

앵커 집합
각 앵커는 웨이포인트

 

 해당 anchor 궤적에 diffusion 노이즈를 추가한다. 이 때 노이즈 스케줄을 조기에 종료하여 anchor를 소량의 노이즈를 갖는anchored Gaussian 분포로 퍼뜨린다.

 학습 중 노이즈를 제거하는 diffusion decoder f는 생성된 앵커 갯수인 N개의 noisy trajectory를 받아 classification score, denoised trajectory를 예측한다. 조건부 정보인 z 또한 받게 된다. ground truth trajectory에 가까운 noisy trajectory 하나를 y = 1 즉 postive sample로 지정한다.

  • Loss function

 trajectory 복원 손실 L1 loss + 분류 손실 binary cross-entropy로 구성된다.

 

2) Inference

 

 

 

3) Inference flexibility