BEV & Transformer Decoder 이용한 Imitation Learning 기반 End-to-end Parking
- RGB 영상과 target slot으로부터 BEV 특징을 추출
- Transformer 기반 디코더를 이용하여 trajectory points 예측
- imitation learning을 활용하여 RGB 영상에서 직접 path planning을 수행
- target query encoder
- 입력 영상과 목표 주차 공간(feature)을 융합하여 주차 공간을 인식하는 기능을 수행합니다.
- BEV 특징을 활용한 높은 예측 정확도
- transformer-based decoder
- autoregressive 방식을 사용하여 미래의 waypoints 순차적 예측.
Contributions
- End-to-end network 설계
- surround-view images을 BEV feature로 변환
- Target parking slot feature를 image feature과 결합하여 주차 공간 감지 성능을 향상.
- Trajectory prediction이 순차적인 특성을 가지므로, Transformer 기반의 autoregressive 접근 방식을 활용
- 실제 차량 실험 및 검증
- real vehicle을 통해 다양한 real-world scenario에서 테스트 수행.
- 모델의 실제 환경에서의 타당성 및 일반화 성능을 검증했으며, 실용적인 적용 가능성 입증.
- 총 4개의 실제 주차장에서 평균 87.8%의 주차 성공률을 기록
Related Work
BEV Perception
다양한 센서 데이터를 쉽게 통합
- BEV는 명확한 물리적 해석이 가능하여, 여러 가지 센서 데이터를 효과적으로 융합.
원근 왜곡 문제를 방지하여 후속 작업의 복잡도를 줄임
- 거리나 크기 왜곡을 방지하여 경로 계획 등의 후속 작업을 단순화함.
구성
- 기존 perception의 feature extraction module과 task head module에 더해 viewpoint conversion module을 추가적으로 포함.
- 이 변환 모듈을 통해 센서 뷰에서 BEV 뷰로 변환
BEV-based models
- LSS (Lift-Splat-Shoot)
- BEV를 활용한 Object Detection & segmentation 수행
- 각 픽셀의 depth distribution 추정한 후, 이를 BEV 평면으로 투영하여 BEV 특징을 획득
- DETR3D
- DETR(Deformable Transformer) 기반 3D object detection model
- 3D 공간에서 Sparse Queries를 사용하여 객체를 인식
- PETR (Position Embedding Transformation for 3D Perception)
- 3D 위치 정보를 2D 특징에 추가하는 3D positional embedding 적용
- 네트워크가 depth 정보를 암묵적으로 학습하도록 유도
- BEVFormer
- BEV Queries 사용하여 객체를 탐지
- spatial cross-attention과 temporal self-attention을 결합하여 성능을 향상
- BEVDepth
- LSS 방식을 기반으로 LiDAR 데이터를 활용하여 깊이 추정을 강화
- 학습 과정에서 LiDAR 포인트를 이용해 깊이 정보를 supervision하여 BEV 인지 성능을 향상
- BEVFusion
- 카메라와 LiDAR 데이터를 BEV 공간에서 fusion
- 다중 센서 데이터를 효과적으로 결합하여 강력한 BEV 특징을 생성
End-to-end Autonomous Driving
Perception, Prediction, Path planning을 하나의 신경망으로 통합하여 공동 최적화를 수행
기존 모듈 기반 시스템에서 발생하는 누적 오류를 줄일 수 있음.
Urban Driving
- ChauffeurNet
- 전문가 데이터를 학습하는 imitation learning 기반 엔드투엔드 방법
- 효과적인 주행 전략 학습
- TransFuser, InterFuser, NEAT
- BEV 특징을 추출하는 인코더-디코더 구조 활용
- GRU 디코더를 사용해 경로점을 autoregressive manner로 예측
- CIL, CILRS
- 전방 이미지, 차량 상태 정보, 내비게이션 명령을 입력하여 직접 제어 신호를 생성하는 신경망
- 별도의 PID 제어기가 필요하지 않음
- MP3, UniAD
- 모듈형 설계를 따르지만, 모든 모듈을 엔드투엔드 방식으로 공동 최적화
E2E parking
- Vision and Dead Reckoning-based End-to-End Parking for Autonomous Vehicles
- 1단계: steering angle 시퀀스를 예측
- 2단계: LSTM 네트워크를 활용하여 최적의 조향각과 기어 변속을 예측
- An end-to-end fully automatic bay parking approach for autonomous vehicles
- rear-view images 활용하여 CNN 기반 조향각 및 속도 제어 모델 학습
- ParkPredict
- CNN-LSTM 구조를 활용하여 Parking slot & waypoints 예측
- aerial imagery 기반.
- ParkPredict+
- Transformer와 CNN을 결합한 모델
- 차량의 의도(intent), 영상, historical trajectory 정보를 활용한 예측 모델 설계
Limiatations
- 고성능 연산 자원 필요
- 학습 과정이 복잡
- 실제 차량 적용이 어려움
Method
Problem Definition
Dataset
$\mathcal{D} = \{(I_{i,j}^k, P_{i,j}, S_i)\}$
- $i \in [1, M]$: trajectory index
- $j \in [1, N_i]$: trajectory point index
- $k \in [1, R]$: camera index
- $R$: RGB camera의 개수
- $P$: trajectory point
- $S$: target slot
Reorganize the dataset
$\mathcal{D}' = \{(I_{i,j}^k, \mathcal{T}_{i,j}, S_i)\},$
- $\mathcal{T}{i,j} = \{P{i,\min(j+b, N_i)}\}_{b=1,2,\dots,Q},$
- $\mathcal T_{i,j}$: sampled trajectory subset
- 주어진 경로 $i$에서 특점 시점 $j$를 기준으로 앞으로 $Q$개의 trajectory point를 가져오는 과정
- 경로의 끝을 넘지 않도록 $N_i$ 설정.
- $Q$: predicted trajectory points의 길이
end-to-end network의 optimization goals
$\theta' = \displaystyle \argmin_{\theta} \mathbb{E}{(I, \mathcal{T}, S) \sim \mathcal{D}'} \left[\mathcal{L}(\mathcal{T}, \mathcal{N}\theta(I, S))\right]$
- $\mathcal L$: loss function
- $\mathcal N_\theta$: expert trajectory를 imitation learning하는 end-to-end neural network
Camera-based End-to-end Neural Planner
Overview
RGB 영상과 목표 주차 공간을 입력으로 받아, 두 가지 주요 구성 요소로 작동:
- Input Encoder
- RGB 영상을 BEV feature로 변환
- Autoregressive Trajectory Decoder
- BEV 특징과 목표 주차 공간 정보를 융합
- transformer decoder를 활용하여 다음 궤적 점을 순차적으로 예측(autoregressive 방식)
Encoder
RGB image → BEV 변환, Target slot 정보와 결합하여 feature 추출
- BEV 형식으로 인코딩하여 사용.
- 주변 환경을 top-down 방식으로 보여주어, ego-vehicle이 주차 공간, 장애물, 도로 표시 등 쉽게 감지
- 다양한 주행 시점에서도 일관된 시각적 표현을 제공하여 궤적 예측의 복잡성을 줄이는 역할.
Camera Encoder
- EfficientNet을 활용하여 RGB image feature $\mathcal{F}{img} \in \mathbb{R}^{C \times H\text{img} \times W_\text{img}}$ 추출.
- LSS(Lift, Splat, Shoot) 활용하여 depth distribution ($d_{dep} \in \mathbb{R}^{D \times H_\text{img} \times W_\text{img}}$)을 학습하고, 이를 통해 픽셀을 3D 공간으로 변환
- 예측된 깊이 정보를 이미지 특징과 곱하여 깊이 정보를 포함한 특징을 생성
- 카메라의 extrinsics & intrinsics parameter를 이용해, BEV grid에 image feature를 projection하여 BEV 공간의 camera feature($F_{cam}$) 생성
- BEV feature의 range: $[-R_x, R_x]m, \; [-R_y, R_y]m$
- $\mathcal{F}{cam} \in \mathbb{R}^{C \times H\text{cam} \times W_\text{cam}}$
Target Encoder
- camera feature와 target slot 정보를 정렬하기 위해, BEV 공간에서 목표 주차 공간의 heatmap 생성
- CNN을 사용하여 target slot feature**($\mathcal F_{target}$)을 추출 →** $\mathcal F_{cam}$과 동일한 차원으로 변환
- 훈련 과정에서, 목표 주차 공간은 인간 운전자의 주차 궤적의 끝점으로 결정됨
Target Query
- camera feature($\mathcal F_{cam}$)과 target feature($\mathcal F_{target}$)을 BEV 공간에서 정렬
- cross-attention을 이용하여 목표 특징을 기반으로 카메라 특징을 검색(query)
- Positional Encoding 활용하여 공간적 대응 관계를 유지하며 특징을 정렬
- $\mathcal F_{target}$을 query, $\mathcal F_{cam}$을 key&value로 사용하여 attention 수행 → fused feature $\mathcal F_{fuse}$ 생성
Decoder
Transformer 디코더를 활용한 sequence prediction 문제로 접근
- autoregressive 방식으로 한 단계씩 trajectory 예측
- low-dimensional trajectory points와 고차원 image features 효과적으로 결합
- trajectory point $(P^x_{i,j}, P^y_{i,j})$ 예측
Trajectory Serialization
- Trajectory points를 discrete tokens로 변환하는 과정
- 이러면 position regression 문제를 token prediction 문제로 변환할 수 있음.
$\text{Ser}(P^x_{i,j}) = \left\lfloor \cfrac{P^x_{i,j} + R_x}{2R_x} \right\rfloor \times N_t, \quad \text{Ser}(P^y_{i,j}) = \left\lfloor \cfrac{P^y_{i,j} + R_y}{2R_y} \right\rfloor \times N_t,$
- $Ser( \cdot)$: serializing trajectory points
- $N_t$: 시퀀스에서 인코딩할 수 있는 max token value
- $R_x, R_y$: x축과 y축 방향에서 예측할 수 있는 최대 범위.
Trajectory의 i번째 sequence는 아래와 같이 표현.
$[\text{BOS}, \text{Ser}(P^x_{i,1}), \text{Ser}(P^y_{i,1}), \dots, \text{Ser}(P^x_{i,N_i}), \text{Ser}(P^y_{i,N_i}), \text{EOS}]$
- BOS: sequence 시작 토큰
- EOS: sequence 종료 토큰
Trajectory Decoder
- BEV features를 Key & Value로 사용
- serialized trajectory sequence를 Query로 사용
- 트랜스포머 디코더를 이용해 autoregressive으로 trajectory point 생성
Training
- Positional Embedding을 추가하여 시퀀스 간 공간적 관계를 유지
- unknown information에 대해 masking을 적용하여 병렬 연산 가능하게 설계
Inference
- BOS(Start Flag) 토큰이 주어지면
- 트랜스포머 디코더가 다음 trajectory point를 예측
- 예측된 점을 시퀀스에 추가한 후 반복 수행
- EOS(End Flag) 토큰이 나오거나, 지정된 궤적 점 개수에 도달하면 종료
Lateral and Longitudinal Control
- 주차 시작 시점을 $t_0$으로 정의
- end-to-end neural planner: predicted trajectory $\mathcal{T}{t_0} = \mathcal{N}{\theta'}(\mathbf{I}_{t_0}, S)$ 생성.
- $\mathbf{I}_{t_0}$: input
- $S$: target parking slot
- $ego_{t_0 \to t}$: Localization system을 통해 얻은 차량이 $t_0$에서 현재 시점 $t$까지 이동한 relative pose
- Target steering angle $\mathcal{A}t^{tar} = \text{RWF}(\mathcal{T}{t_0}, ego{t_0 \to t}).$
- RWF, Rear-Wheel Feedback 방식을 이용하여 계산.
- predicted trajectory $\mathcal T_{t_0}$와 relative pose $ego_{t_0 \to t}$ 사용.
- 섀시에서 speed feedback $\mathcal V^{feed}$와 steer feedback $\mathcal A^{feed}$ 수집
- target speed $\mathcal V_{tar}$과 target steering angle $\mathcal A^{tar}_t$을 사용해
- cascade PID controller 사용해 lateral&longitudinal control 수행
- 새로운 예측 경로 생성: $\mathcal T_{t_0}$, $ego_{t_0 \to t}$ 초기화
- global localization에 의존하지 않고 주차 가능.
Experiments
Dataset Collection
- surround-view camera를 활용하여 RGB 이미지를 캡처함.
- 차량 주변의 360도 시각 정보를 확보하여, 더 넓은 범위에서 주차 환경을 인식 가능하도록 설계됨.
- Dead Reckoning 기법 활용
- 이를 통해 차량의 강건하고 정확한 위치(localization) 를 실시간으로 추정함.
- ground garages underground garages → generalization capability 향상
- Garage I&II: training에 사용.
- Garage II&IV: training에 사용.
Implementation Details
- 프레임워크: PyTorch
- GPU: NVIDIA GeForce RTX 4090
- Batch Size: 16
- 총 학습 시간: 약 8시간 (40,000 프레임)
- 테스트 데이터 크기: 5,000 프레임
- Input data
- 서라운드 뷰 카메라 4대(R=4)에서 촬영된 이미지 사용
- target parking slot은 주차 종료 지점의 특정 포인트를 기준으로 결정
- trajectory sequence points를 활용해 모델의 예측 결과를 지도 학습
- target parking slot selection: RViz software "2D-Nav-Goal"
- 경로 예측
- 입력: 서라운드 뷰 카메라 이미지 + 목표 주차 공간
- 출력: n개의 미래 경로 포인트를 autoregressive manner으로 예측
- controller: 경로 계획 결과, 차량 위치(ego pose), 피드백 신호 를 이용해 주차 수행
- 좌표 체계 통일
- 목표 지점과 예측된 경로 포인트의 좌표는 vehicle coordinate frame 기준으로 표현
- global coordinate frame에 의존하지 않음
Neural Network Details
- BEV 특징 맵(BEV features)
- 크기: 200 × 200
- 실제 공간 범위: x 방향 $[-10m, 10m]$, y 방향 $[-10m, 10m]$
- 해상도: 0.1m 단위
- Transformer 디코더 설정
- trajectory serialization의 최대 값 $N_t = 1200$
- 생성하는 예측 시퀀스 길이 = 30
- 이 설정을 통해 정확도와 속도 균형 최적화
Evaluation Metrics
1) Model Trajectory Evaluation
모델을 실제 환경에서 실험하기 전에, 성능을 분석하기 위한 평가 지표를 설계함.
- L2 Distance
- 예측 궤적과 실제(ground-truth) 궤적 간의 평균 유클리드 거리.
- 모델의 정확도(precision)와 정밀도(accuracy) 평가.
- Hausdorff Distance
- 두 점 집합 간 최소 거리들의 최댓값을 측정.
- 예측 궤적이 실제 궤적과 얼마나 잘 일치하는지 평가.
- Fourier Descriptor Difference
- 푸리에 서술자를 사용하여 예측 및 실제 궤적을 벡터로 변환한 후 차이를 측정.
- 값이 낮을수록 두 궤적 간 차이가 작음을 의미.
2) End-to-end Real-vehicle Evaluation
실제 차량 실험에서 자율 주차 성능을 평가하는 지표.
- Parking Success Rate, PSR
- 목표 주차 공간에 차량이 성공적으로 주차될 확률.
- No Slot Rate, NSR
- 지정된 주차 공간에 주차하지 못한 비율.
- Parking Violation Rate, PVR
- 차량이 지정된 주차 공간을 약간 벗어났지만, 다른 공간을 방해하지 않은 경우의 비율.
- Average Position Error, APE
- 차량이 성공적으로 주차되었을 때, 목표 주차 위치와 실제 정지 위치 간 평균 거리 차이.
- Average Orientation Error, AOE
- 차량이 성공적으로 주차되었을 때, 목표 주차 방향과 실제 정지 방향 간 평균 각도 차이.
- Average Parking Score, APS
- 위치 오류, 방향 오류, 주차 성공률을 종합 평가한 점수 (0~100점 범위).
- Average Parking Time, APT
- 주차 모드가 시작된 시점부터 차량이 지정된 공간에 완전히 주차되거나 실패할 때까지 걸리는 시간.
Quantitative Results
4개의 서로 다른 주차장에서 폐쇄 루프 차량 테스트(closed-loop vehicle tests) 를 수행하여 제안된 시스템의 성능을 검증
- Scene A: 좌우에 장애물이 없는 상태에서 주차
- Scene B: 좌측 또는 우측에 차량이 있는 상태에서 주차
- Scene C: 벽이나 기타 장애물이 있는 상태에서 주차
- 각 시나리오에서 무작위로 3개의 주차 슬롯 선택
- 각 슬롯에 대해 좌측 및 우측 방향으로 약 3회씩 주차 테스트 수행
3. 실험 결과
- 제안된 방법은 다양한 시나리오에서 높은 주차 성공률을 기록
- 강력한 주차 성능(robust parking capability) 을 보여줌
기존 방법과 비교
- 최근 엔드투엔드 자율주행(End-to-End Autonomous Driving) 기법들이 등장했지만, 대부분 도시 주행(Urban Driving) 문제 해결에 초점
- ParkPredict [20] 같은 방법이 주차에 활용되긴 하지만, 본 연구의 접근 방식과는 과제(task)가 다름
- 기존 연구 중 제안된 방법과 직접적으로 비교할 수 있는 효과적인 엔드투엔드 방법은 없음
2. Transformer 기반 디코더 vs GRU 기반 디코더 (Transfuser)
- Table II에서 Transformer 기반 디코더(제안된 방법)와 GRU 기반 디코더(Transfuser) 비교
- Transformer 기반 디코더는 Attention Mechanism 덕분에 예측 정확도가 더 우수
Ablation Study
1. 실험 목적
- 다양한 네트워크 구조(Network Designs) 가 모델 성능에 미치는 영향을 분석
- 특히, 특징 융합(Feature Fusion) 방법 에 대한 실험 수행
2. 실험 방법
- Table III에서 서로 다른 특징 융합 방법을 비교
- 비교 대상:
- Baseline (Target Query)
- Feature Concatenation (특징 벡터 단순 연결)
- Feature Element-wise Addition (특징 벡터 요소별 합)
3. 결과 분석
- Target Query 방식이 가장 높은 경로 예측 정확도(Trajectory Prediction Accuracy) 를 달성
- 이유:
- Attention 메커니즘 및 공간 정렬 기법(Spatial Alignment Mechanism) 활용
- 목표 주차 슬롯(Target Slot)과 BEV 이미지 간의 공간적 관계를 명확하게 반영
- BEV 특징과 목표 특징을 효과적으로 통합하여 최적의 성능 도출
- Table II에서 Transformer 기반 디코더(제안된 방법)와 GRU 기반 디코더(Transfuser) 비교
- Transformer 기반 디코더는 Attention Mechanism 덕분에 예측 정확도가 더 우수
Limitations
Moving Targets에 대한 적응력 부족
- 데이터 규모(Data Scale) 및 시나리오 다양성(Scenario Diversity) 제한으로 인해 적응력이 낮음
- 데이터셋 확장을 통해 개선 가능
Negative Samples 부족
- Expert Trajectories 만을 학습하여, 효과적인 부정 샘플 제공이 불가능
- 주차 과정에서 큰 편차 발생 시 보정 메커니즘 부족 → 주차 실패 가능성 증가
Rule-Based 주차 방법과의 성능 차이
- 기존 규칙 기반 방식보다 성능이 부족한 부분 존재
- 하지만, 엔드투엔드 기술이 발전함에 따라 해결될 것으로 기대
Future Work
Deep Reinforcement Learning
- NeRF & 3D Gaussian Splatting 이용해 실제와 유사한 시뮬레이터 구축
- 이를 통해 엔드투엔드 모델을 강화학습으로 학습하여 성능 향상 기대
복잡한 시나리오에서의 성능 개선
- 엔드투엔드 기술이 발전할수록 복잡한 주차 환경에서도 기존 규칙 기반 방법을 뛰어넘는 성능 가능성