VAD + DiffusionDrive Planning Head 통합
ETRI 자율주행 챌린지의 End-to-End Driving 과제에서, 제공된 VAD 베이스라인의 planning head를
DiffusionDrive 방식의 truncated diffusion 기반 planning head로 교체하여 L2 개선을 목표로 했다.
이미 이전에 학습한 ETRI 데이터셋 전체를 대상으로 VAD 베이스라인의 full fine-tuning + ego status 10epoch
모델을 pre-trained로 잡고 DiffusionDrive planning head를 통합했다.
https://arxiv.org/pdf/2411.15139
https://github.com/hustvl/diffusiondrive
Diffusion model?
이미지 생성 분야에서 나온 기법이다. 완전히 무작위한 노이즈 이미지에서 출발해서,
노이즈를 조금씩 걷어내는 과정을 여러 번 반복하면 이미지가 만들어진다는 아이디어라고 한다..
노이즈를 걷어내는 한 번의 과정을 denoising step이라고 한다.
보통 이 과정을 수십~수백 번 반복해야 하기 때문에 계산량이 많고 느리다는 단점이 있다.
Diffusion policy?
노이즈 제거 아이디어를 이미지 생성이 아닌 로봇이나 자동차가 다음에 어떻게 움직일지 action을 생성하는 데 적용한 것이다.
trajectory도 결국 숫자들의 나열이기 때문에 무작위 노이즈에서 시작해서 주행 궤적으로 다듬어가는 방식이다.
Anchor?
노이즈에서 완전히 없는 상태에서 시작하면 시간으 오래 걸리니, 미리 정해둔 기준 궤적들을 여러 개 준비해두고,
그 기준 궤적 주변에서만 약간의 노이즈를 제거하는 방식이다. 궤적을 미리 뽑아두는 것이 anchor.
DiffusionDrive paper
Truncate라는 표현이 왜 붙었는지?
일반적인 diffusion policy는 완전한 무작위 노이즈에서 시작해 노이즈 제거를 수십 번 반복해야 하는데,
이는 실시간으로 계속 판단을 내려야 하는 자율 주행에는 느리다는 단점이 있다..
DiffusionDrive는 위에서 설명한 anchor를 미리 준비해두고,
완전한 무작위 노이즈가 아니라 anchor 근처의 약한 노이즈에서 시작하도록 과정을 중간부터 잘라서(truncate) 시작한다.
그 결과 denoising step을 기존 대비 10배 줄이면서도, 성능이 좋아졌다고 한다.
Cascade decoder?
여러 개의 anchor가 있을 때, anchor가 주변 차량이나 차선 정보와 관련이 있을 수 있다.
Cascade decoder는 denoising step을 거칠 때마다 주변 정보를 다시 참고하도록 설계된 구조이다.
계속해서 주변 정보를 반영하기 때문에 정밀하다는 장점이 있다.
perception 모듈 통합
논문에서는 diffusion 방식의 decoder 자체가 특정 perception backbone에 영향을 받지 않고,
다양한 기존 인지 모듈이나 센서 입력과 통합 가능하도록 설계되었다고 했다.
통합 과정
https://kind-slip-86b.notion.site/VAD-DiffusionDrive-planning-head-3dd8a2c2bfdb80a99812e38e3500f541?source=copy_link
5epoch -> 학습 시간은 약 4일 소요