본문 바로가기
개념공부/인공지능

[논문 리뷰] Safe Real-World Autonomous Driving by Learning to Predict and Plan with a Mixture of Experts

by Zach Choi 2022. 11. 26.
728x90
반응형

Pini, Stefano, et al. "Safe Real-World Autonomous Driving by Learning to Predict and Plan with a Mixture of Experts." arXiv preprint arXiv:2211.02131 (2022).

SafePathNet Architecture

요약

  • 자율주행을 위한 Imitation Learning 기반의 Motion Planning 기법을 설명한다.
  • Woven Planet (Toyota 자율주행 부분) 연구진들이 발표한 논문으로 SafetyNet[1] 논문의 후속 연구이다.
  • Machine Learning 기반 궤적 Planner의 Collision Safety를 확보하기 위한 방법을 제안한다. SafetyNet의 단점을 보완한 방법

문제 정의

  • 전통적인 rule based 방식은 수많은 hand crafted rule로 인해 복잡하거나 특이산 도로 상황에 대한 scale up에 취약한 특성이 있다.
  • 이러한 문제를 해결하고 Data driven 성능 방식 알고리즘을 도입하기 위해 학습 기반의 Motion Planner를 연구하였다.
  • 본 논문에서는 자차의 Motion Planning 뿐만 아니라 주행 객체의 Motion prediction도 같이 수행할 수 있는 방법을 연구하였고, unimodal (하나의 결과 출력)이 아닌 multimodel (복수개의 결과 출력) 방식을 연구하였다.

관련 연구

  • Motion Planner에 data-driven 방식의 Deep Learning method를 적용하는 연구는 활발히 수행중이다. 이 방법은 hand-engineered 방법 대비 Scale Up 측면과 data 기반의 성능 개선이 가능하다는 점에서 장점을 가진다. 하지만 collision avoidance를 반영한 궤적을 어떻게 생성할 것인가와 같은 문제가 남아 있다.
  • Data-driven 방식 기반 Motion Planner는 크게 Imitation Learning (IL)과 Reinforcement Learning (RL)이 존재한다. IL의 경우, 최근 많은 개선이 있었지만 policy에 의한 covariate shift 문제가 여전히 남아 있다.
    • covariate shift : training data로 학습한 모델이 실제 세계에서는 잘 동작하지 않는 경우. Input data가 특정 환경과 상황에 편향되어 있는 상황
  • RL의 경우, 시뮬레이션 환경에서는 좋은 결과를 보인 연구가 많지만, 아직 실제 도로에서 적용하는데는 한계가 존재한다. 
  • 본 연구의 전작인, Safety의 경우 ML-based planner 뒤에 rule-based trajectory planner를 fall back layer로 구성한다. collision avoidance 확인을 위해 fall back layer가 추가되었지만, 이는 data 증가로 기능을 개선하지 못하는 단점이 있다.
  • 본 논문에서는 다양한 궤적을 생성하고, 궤적 별 확률을 출력함으로서 가장 안전한 궤적을 출력하는 방법을 사용한다.

방법론

  1. 네트워크 모델 아키텍처
    • Mixture of Experts 방법론을 사용한 multimodal trajectory distribution. 여러 궤적과 그 확률을 출력함
      • Mixture of Experts ?
    • 네트워크 입출력
      1. 입력 1 : Ego Vehicle의 현재 위치, 속도, 가속도, 전장 및 전폭, K s 간의 히스토리
      2. 입력 2 : 주행 객체의 현재 위치, 제원, 차량 종류, K s 간의 히스토리
      3. 입력 3 : 차선, 횡단 보도, 교차로 등의 정밀 지도 요소
      4. 입력 4 : 교통 신호, 정적 장애물
      5. 입력 5 : Ego Vehicle이 추종해야 할 목표 점
      6. 각 입력은 차량 별 기준 좌표계로 encoding 된다.
      7. 출력 1 : Ego Vehicle을 포함한 주행 객체의 궤적들과 궤적 별 확률
      8. 출력 2 : 궤적에는 위치 x, y, 헤딩, 속도, 가속도, 곡률, jerk for T time step
    • 아키텍처 디테일

논문의 Fig 2.

    • 본 논문의 아키텍처는 SafePathNet이라는 이름을 붙였다. Safe Path Net은 VectorNet [2]과 Transformer로 구성되어 있다.
    •  Map encoder과 SDV&agents encoder은 PointNet-like module이다. 각 encoder은 input element를 동일한 크기의 single feature vector로 compress 한다.
    • Transformer Encoder layer은 SDV, road agents, static and dynamic map, route와 같은 각 요소들의 관계를 modeling 하는데 사용된다.
    • Transformer Decoder layer은 SDV와 agent (SDV : Ego Vehicle, agent : 주행객체)의 feature를 query 하는데 사용된다. SDV와 agent 모두 복수개의 궤적을 얻기 위해 point encoder에서 얻어진 embedding을 learnable embedding 에 추가한다. (이 부분 이해를 못했다.)
    • 이러한 아키텍처는 DETR object detection network와 비슷하다고 한다. [3]
    • SDV specific decoder (FFN)은 SDV feature를 control input (jerk, curvature)로 변환한다. agent-specific decoder도 동일하게 동작한다. 각 decoder는 trajectory와 함께 SDV와 주행 객체 궤적의 logit을 예측하는데, 이는 softmax 함수를 적용해 확률로 변환된다. 
  • 학습(Training) 과정
    • 본 논문에서는 모방 학습 기법을 사용했다. 인간 운전자가 주행한 궤적 Data를 사용해 지도 학습으로 네트워크를 학습한 것이다. 학습 시 Loss 값은 SDV와 객체 모두 예측된 궤적과 실제 궤적 간 거리 오차의 합이다.
    • 본 논문의 네트워크 모델은 복수개의 궤적과 각 확률 분포를 추론한다. 학습 시에는 winner takes all 방법을 적용하였다. 정답과 오차가 가장 작은 trajectory 값을 Loss 계산에 사용하는 것이다.
    • Loss 계산 방법
      • 먼저, 궤적별 matching cost라고 명명한 값을 계산한 후, 가장 작은 값을 가진 궤적을 선택한다.
      • $$ matching \,\,  cost \,\, i^* =  \underset{i}{arg \,\, min}\,\, L_{IL}^{i} \,\, + \,\, \lambda(1 \,\, - \,\,p_{i}) $$
      • $$  L_{IL}^{i} \,\, = \,\, \sum_{t=1}^{T}\left\|\tau _{t}^{i} \,\, - \,\, \hat{\tau }_{t} \right\|_{1} \,\, + \,\, \beta L_{reg}^{i}  $$
      • tau i : i번째 후보 궤적, tau hat : ground truth 궤적, L : loss, beta : Hyper parameter, p : probability
      • 다음 최종 Loss를 계산한다.
      •  $$  L \,\, = \,\, L_{IL}^{i*} \,\, + \,\, \mu L_{NLL}^{i*}, \,\,\, where \,\,\, L_{NLL}^{i*} \,\, = \,\, -log \, p_{i*} $$

2. Inference time planning policy

  • 네트워크로 궤적 추론 시, 다양한 궤적에서 cost가 가장 낮은 것을 최종 궤적으로 선택하게 된다. 이때 cost는 어떻게 계산할까?
    • 가장 먼저, 확률 값이 가장 높은 것을 cost로 설정할 수 있다. 하지만 확률이 가장 높은 궤적을 선택한다고 가정하면, 주행 객체들의 미래 위치는 고려하지 못하기 떄문에 충돌이 발생할 수도 있다.
    • 본 논문에서는 각 주행 객체들의 궤적 후보들로부터 most probable predicted agents location을 계산한다. 이는 각 궤적들의 bounding box간 overlap 되는 부분의 평균이다.
    • 이를 SDV의 궤적 후보들과 충돌체크를 한다. (이때는 Separating Axis Theorem 기법을 사용한다.)
    • SDV의 궤적 후보들의 cost는 다음과 같이 계산한다. 
      • $$ c_{i} \,\, = -p_{i} \,\, -\alpha\bar{t}_{i} $$
    • c_i : i 번째 궤적의 cost, p_i : i 번째 궤적의 확률, alpha : hyper parameter, t : 충돌이 발생하는 time step
    • 즉, 충돌이 없으면 time step 이 무한대로 cost 가 음의 값 기준 가장 작은 값을 가지게 된다. 그리고 충돌이 더 먼 미래에 발생할 수록 time step의 값이 커지므로 cost는 가장 작아지게 된다.
  • 정리하자면, 본 방법에서는 SDV의 다양한 궤적을 출력한 후, 충돌 (w/ 주행 객체)이 없거나 가장 먼 time step 에서 충돌이 발생하는 궤적을 선택하게 된다.

실험 결과

  • 데이터셋과 실험 세팅
    • 데이터 셋은 10~30초 길이의 데이터들로 구성되어 있다. 학습과 검증 데이터 셋은 각각 270시간, 60시간 길이의 데이터이다.
    • 학습 시 Adam optimizer를 사용하고 base learning rate는 10^-8으로 설정했다. cosine update schedule을 사용했다고 한다. (이게 뭐지?)
    • 학습 시 synthetic perturbation을 사용했다. 본 네트워크의 모델은 3개의 Transformer encoder와 3개의 decoder layer를 사용했는데 570만개의 파라미터로 구성된다고 한다.

Discussion

  • 본 논문에서 제안한 네트워크가 출려한 궤적 중에 Collision free한 궤적이 반드시 출력된다고 보장할 수 없다. 그리고 본 방식이 rule-based 궤적 생성기가 아니지만, 결국 궤적 선택을 위한 cost를 선정하는데는 hand crafted 가 사용된다.

참조

[1] Safetynet: Safe planning for real-world self-driving vehicles using machine-learned policies

[2] Vectornet: Encoding hd maps and agent dynamics from vectorized representation

[3] Carion, Nicolas, et al. "End-to-end object detection with transformers." European conference on computer vision. Springer, Cham, 2020.

728x90
반응형