[논문리뷰] DriveLM:Driving with Graph Visual Question Answering

2025. 2. 23. 22:30paper

DriveLM : Driving with Graph Visual Question Answering
Chonghao Sima, Katrin Renz, Kashyap Chitta, Li Chen, Hanxue Zhang, Chengen Xie, Jens Beißwenger, Ping Luo, Andreas Geiger, Hongyang Li
ECCV 24 -https://arxiv.org/abs/2312.14150

 




Summary

 

  1. 일반화 부족: 새로운 환경이나 센서 설정에 대한 적응력이 낮음.
  2. 설명 가능성 부족: 유럽연합(EU) 등에서 요구하는 투명한 의사결정 과정을 제공하지 못함.
  3. 단계별 사고 과정 결여: 인간 운전자는 **객체 인식(Perception) → 예측(Prediction) → 계획(Planning)**을 단계적으로 수행하지만, 기존 자율주행 AI는 이를 따르지 않음.

기존의 시각-언어 모델(VLM, Vision Language Model)을 자율주행 시스템에 통합하여 단순한 장면 설명을 넘어 사고 방식(reasoning)과 논리적 의사결정을 수행할 수 있도록 함

DriveLM은 이를 해결하기 위해 Graph VQA라는 새로운 접근 방식을 도입


Method

GVQA

GVQA는 자율주행 AI가 인간과 유사한 방식으로 정보를 처리하도록 돕는다. 기존 VQA(Visual Question Answering) 방식이 단순한 질문-응답(예: "앞에 무엇이 있는가?")에 집중했다면, GVQA는 객체 간의 관계 및 논리적 의존성(logical dependency)을 반영한 그래프 구조를 사용함

예제:

  • Perception (P1, 객체 인식)
    • Q: "현재 장면에서 주목할 만한 객체는?"
    • A: "밴, 세단, 보행자가 ego 차량 앞에 있음."
  • Prediction (P2, 예측)
    • Q: "이 객체들은 어디로 이동할 가능성이 있는가?"
    • A: "밴은 우측 차선으로, 보행자는 횡단보도를 건널 가능성이 있음."
  • Planning (P3, 계획)
    • Q: "이 객체들을 고려할 때 ego 차량이 취할 수 있는 안전한 행동은?"
    • A: "보행자와 세단이 지나갈 때까지 기다린 후 우회전해야 함."

이처럼 각 질문과 답변이 논리적으로 연결된 그래프 구조를 구성하여 AI가 단계별 사고를 수행하도록 유도함

 


DriveLM 구성

1) DriveLM-Data (데이터셋)

DriveLM은 nuScenes와 CARLA 시뮬레이터를 기반으로 DriveLM-nuScenesDriveLM-CARLA 데이터셋을 구축

  • DriveLM-nuScenes: 실제 도로 데이터 기반. 다량의 질문-응답(QA) 데이터 포함.
  • DriveLM-CARLA: 시뮬레이션 기반 데이터셋. QA 데이터 자동 생성.

2) DriveLM-Agent (모델)

기존 시각-언어 모델을 기반으로 Graph VQA와 자율주행을 동시에 수행하는 모델을 개발

  • BLIP-2 모델을 활용하여 이미지와 질문을 입력받고, 논리적 문맥(context)을 통해 답변을 생성.
  • 자율주행을 위한 추가 기능:
    • 경로 예측(Trajectory Prediction)
    • 운전 행동(Behavior) 및 차량 동작(Motion) 결정

3) 평가 지표 (DriveLM-Metrics)

DriveLM의 성능을 평가하기 위해 세 가지 주요 지표를 제안함.

  1. P1~P3 VQA 성능 평가: SPICE, GPT Score 등 사용.
  2. 운전 행동 예측 평가: 정확도(Accuracy), 속도 예측(Speed), 방향 예측(Steer) 측정.
  3. 운동 계획(Motion Planning) 평가: 이동 오차(ADE, FDE), 충돌률(Collision Rate) 분석

 


Experiment

1) 자율주행 모델로서의 성능 (DriveLM-Agent vs 기존 모델)

  • 기존 자율주행 AI (UniAD) 대비 비슷한 수준의 주행 성능을 보였으며, 특히 새로운 센서 환경(Zero-shot 설정)에서 더 우수한 일반화 능력을 보임
  • 행동 예측 성능:
    • DriveLM-Agent: 57.49% (정확도)
    • UniAD: 50.43% (정확도)

2) 일반화 능력 평가 (센서 구성 변화에 대한 대응)

  • DriveLM-Agent는 nuScenes 데이터셋에서 학습한 후 Waymo 데이터셋에서 테스트했을 때도 높은 성능을 유지.
  • Graph VQA를 활용한 모델이 일반화에 더 효과적임을 확인.

3) 새로운 객체(보행자) 등장 시 성능 평가

  • DriveLM-CARLA 데이터셋은 보행자가 포함되지 않음.
  • DriveLM-Agent는 보행자가 포함된 새로운 데이터(DriveLM-CARLA-Ped)에서 예측 정확도가 4.59%로 급락.
  • 그러나, 보행자를 식별하는 새로운 질문(QA) 추가 시 정확도가 27.04%로 상승하여, 질문 구조가 모델 성능에 중요한 영향을 미친다는 것을 확인

Conclusion

Contribution

  1. Graph VQA를 자율주행 AI에 도입하여 인간과 유사한 사고 프로세스를 구현.
  2. DriveLM-Data (DriveLM-nuScenes, DriveLM-CARLA) 데이터셋 구축.
  3. DriveLM-Agent 모델을 개발하여 기존 자율주행 AI와 동등한 성능을 발휘하면서도 더 강력한 일반화 능력을 확보.

한계

  1. 실시간 성능 부족: 기존 모델(UniAD) 대비 약 10배 느린 속도로 추론.
  2. LiDAR 등 비전 기반이 아닌 센서 데이터 활용 부족.
  3. 폐쇄 루프(closed-loop) 실험 부족: 실제 주행 환경에서의 테스트 필요

 


내 생각

주행 상황을 구분하기 위해 본 논문을 활용한다면?

  • 분류하고자 하는 category로 GVQA 그래프를 설계
  • 기존 DriveLM에서는 Perception(객체 인식) → Prediction(예측) → Planning(계획) → Behavior(운전 행동) → Motion(이동 궤적) 순으로 차량이 사고하는 과정을 모델링
  • 이를 활용하여 주행 씬(scene)을 분류하려면, 주어진 상황에서 차량의 행동(Behavior)과 이동 궤적(Motion)을 분석
  • 각 씬을 구분할 수 있는 핵심 질문(Q)을 만들고, AI가 논리적으로 응답(A)하도록 유도
  • 즉, GVQA 질문-응답 패턴을 활용하여 주행 데이터를 분류하는 로직 설계

 

ex 1 ) Cut-in

(1) GVQA 예시

  • Q1: "앞에 있는 차량이 ego 차량의 차선으로 들어오고 있는가?"
    • A1: "그렇다. 차량이 차선을 변경하여 ego 차량 앞에 끼어들고 있다."
  • Q2: "앞 차량의 속도가 ego 차량보다 빠른가?"
    • A2: "아니다. 앞 차량이 감속하면서 ego 차량 앞으로 진입하고 있다."
  • Q3: "이 상황에서 ego 차량이 취해야 할 행동은?"
    • A3: "속도를 줄이고 충분한 거리를 확보해야 한다."

(2) Scene 분류 로직

  • Perception 단계에서 "차량이 차선을 변경하고 있다"는 정보를 감지하면 cut-in 가능성 증가.
  • Prediction 단계에서 "앞 차량이 감속하면서 ego 차량 앞에 진입"하는 경우 cut-in 씬으로 분류.

 

ex 2 ) Cut-out

(1) 질문-응답 예시

  • Q1: "앞에 있는 차량이 ego 차량의 차선에서 벗어나고 있는가?"
    • A1: "그렇다. 차량이 차선을 변경하여 ego 차량 차선에서 빠져나가고 있다."
  • Q2: "앞 차량의 속도가 ego 차량보다 빠른가?"
    • A2: "그렇다. 차량이 가속하면서 차선 변경을 완료했다."
  • Q3: "이 상황에서 ego 차량이 취해야 할 행동은?"
    • A3: "앞 차량이 빠져나간 후 속도를 유지하거나 가속할 수 있다."

(2) Scene 분류 로직

  • Perception 단계에서 "앞 차량이 차선을 변경하여 다른 차선으로 이동 중"이면 cut-out 가능성 증가.
  • Prediction 단계에서 "앞 차량이 가속하여 이동 중"이면 cut-out 씬으로 분류.

 

ex 3 ) 유턴 (U-Turn)

(1) 질문-응답 예시

  • Q1: "ego 차량이 좌회전 차선 또는 유턴 차선에 있는가?"
    • A1: "그렇다. 유턴 전용 차선에 위치하고 있다."
  • Q2: "신호등이 유턴을 허용하고 있는가?"
    • A2: "그렇다. 유턴 신호가 녹색이다."
  • Q3: "ego 차량의 회전 방향이 왼쪽으로 180도 이상인가?"
    • A3: "그렇다. 차량이 완전히 반대 방향으로 전환되고 있다."

(2) Scene 분류 로직

  • Perception 단계에서 "유턴 차선에서 ego 차량이 위치함"을 감지하면 유턴 가능성 증가.
  • Motion 단계에서 "차량이 180도 방향 전환"하면 유턴 씬으로 분류.

 

근데, 비디오로 들어가게 된다면?

GVQA(Graph Visual Question Answering) 프레임워크를 시간 축(temporal domain)으로 확장

Frame-to-Frame 관계와 시퀀스 모델링을 추가해야함

1) 시간 흐름(Temporal Consistency)

  • 차량의 행동(cut-in, cut-out 등)은 단일 프레임에서 판별하기 어렵고, 연속된 프레임을 분석해야 함.
  • 따라서, 과거 프레임과 현재 프레임의 관계를 분석하는 GVQA 확장 필요.

2) 프레임 간 속성 변화(Object Dynamics Tracking)

  • 차량 속도, 위치, 차선 변화 등을 고려하여 주행 패턴을 예측해야 함.
  • 객체 추적(Object Tracking) + GVQA 결합 필요.

3) 짧은 이벤트 vs 긴 이벤트 처리

  • "cut-in" 같은 이벤트는 1~2초 내에 발생하지만, "유턴" 같은 행동은 더 긴 시간이 필요.
  • 따라서, 이벤트 지속 시간(Event Duration)에 따른 씬 구분 전략이 필요.