彙整近期關於深度學習在自駕領域的發展狀況
圖 2. 探索 GPT-4V 以了解駕駛場景並做出駕駛操作
輸入 LiDAR 點雲圖Point Cloud::
- LiDAR點雲顯示可能是多車道的道路,但車道數量和交通流不明確。
- 沒有明顯的障礙物、行人或重要的環境特徵。
- 圖像缺少道路表面質量和周圍交通信號燈的細節。
輸入駕駛正面視角 Driving Front View:
- 正面攝影機捕捉到一個晴朗的日子,兩旁是多層建築的街道。
- 街道上有汽車、摩托車和一輛三輪車,三輪車載重可能影響穩定性。
- 在此情境下,維持安全距離,監控摩托車的突然動作,以及交通流是重要的。
代碼生成:進行右轉變換車道:
模擬分析:
- GPT-4V 在理解駕駛場景和做出駕駛決策方面表現出色。
- GPT-4V 未能識別像車道資訊這樣的關鍵交通要素,顯示出需要可靠導航的多模態語言模型的重要性。
圖 3 自動駕駛技術的發展 該圖按時間順序概述了自動駕駛技術的發展
- 自動駕駛技術的歷史發展:
- 早期探索如卡內基梅隆大學的ALV計畫和三菱的Debonair,首次引入LiDAR技術。
- 斯坦福大學的Stanley贏得2005年DARPA大挑戰賽。
- 自動化水平的標準化:
- SAE國際釐定自動化水平的定義。
- 深度神經網絡的進步:
- 自動駕駛平台方面,推出多種開源和商業化軟體解決方案,如Tesla Autopilot和NVIDIA DRIVE。
- 政府與公眾接受度提高:
- 自動駕駛技術在法規和服務層面獲得逐漸增加的政府認可和公眾認知。
- 自動駕駛能力的量產:
- 越來越多具備自動駕駛能力的車輛在特定地區的公共道路上運行。
Table 1. Summary of recent research on MLLMs for autonomous driving.
Github:WACV 2024 LLVM-AD
A Survey on Multimodal Large Language Models for Autonomous Driving (WACV 2024 LLVM-AD)
paper
Model | Year | Backbone | Task | Modality | Learning | Input | Output |
---|---|---|---|---|---|---|---|
Driving with LLMs | 2023 | LLaMA | Perception Control | Vector Language | FT | Vector Query | Response \ Actions |
Talk2BEV | 2023 | Flan5XXL Vicuna-13b | Perception Planning | Vision Language | ICL | Image Query | Response |
GAIA-1 | 2023 | - | Planning | Vision Language | PT | Video Prompt | Video |
LMaZP | 2022 | GPT-3 Codex | Planning | Language | ICL | Text | Plan |
Dilu | 2023 | GPT-3.5 GPT-4 | Planning Control | Language | ICL | Text | Action |
DaYS | 2023 | GPT-4 | Planning | Language | ICL | Text | Code |
RRR | 2023 | GPT-4 | Planning Control | Language | ICL | Text | Action |
DlaH | 2023 | GPT-3.5 | Planning Control | Language | ICL | Text | Action |
GPT-Driver | 2023 | GPT-3.5 | Planning | Vision Language | ICL | Text | Trajectory |
SurrealDriver | 2023 | GPT-4 | Planning Control | Language | ICL | Text | Text \ Actions |
LanguageMPC | 2023 | GPT-3.5 | Planning | Language | ICL | Text | Action |
DriveGPT4 | 2023 | Llama 2 | Planning Control | Vision Language | ICL | Image Text Action | Text \ Actions |
Datasets
Dataset | Base Dataset | Language Form | Perspectives | Scale | Release? |
---|---|---|---|---|---|
BDD-X 2018 | BDD | Description | Planning Description & Justification | 8M frames, 20k text strings | ![]() |
HAD HRI Advice 2019 | HDD | Advice | Goal-oriented & stimulus-driven advice | 5,675 video clips, 45k text strings | ![]() |
Talk2Car 2019 | nuScenes | Description | Goal Point Description | 30k frames, 10k text strings | ![]() |
SUTD-TrafficQA 2021 | - | QA | QA | 10k frames 62k text strings | ![]() |
DRAMA 2022 | - | Description | QA + Captions | 18k frames, 100k text strings | ![]() |
nuScenes-QA 2023 | nuScenes | QA | Perception Result | 30k frames, 460k generated QA pairs | ![]() |
DriveLM 2023 | nuScenes | QA + Scene Description | Perception, Prediction and Planning with Logic | 30k frames, 360k annotated QA pairs | ![]() |
MAPLM 2023 | THMA | ** QA + Scene Description** | ** Perception, Prediction and HD Map Annotation** | 2M frames, 16M annotated HD map Description + 13K released QA pairs | ![]() |
Github:MAPLM:
从应用角度看,DriveDreamer 更适合用于实际自动驾驶系统中,因为它能够生成未来的驾驶策略,支持自主决策。GAIA-1则更适合作为虚拟仿真工具,用于验证和测试自动驾驶系统,因为它强调生成逼真的驾驶场景视频
似乎兩者都沒有開源模型可開放使用
左邊: 從多模態基礎模型中提取常規特徵。這個模型將不同模態的數據(例如圖像、文本)映射到統一的潛在空間中的特徵向量,這樣做可以保留對於端到端駕駛至關重要的空間信息。
中間: 介紹了一種通用的分塊特徵提取方法。這涉及到在每個塊位置構建注意力遮罩,這些遮罩用於關注特定區域,並且顏色標記代表不同的區域。這些注意力模塊能夠與大型語言模型(LLMs)無縫整合,進而用文本模態增強特徵表示。
右邊: 展示了多模態潛在空間模擬的概念。這裡,模型可以模擬特徵,例如將“樹”這一特徵用“房子、商店、建築物”等元素代替,這基於語言增強的潛在空間特徵。這樣的模擬可以利用LLMs或人類的先驗知識來生成
端到端自動駕駛涉及設計一個控制系統
文中提出了通過用密集特徵(像素層級)表示
這些多模態特徵包含空間和語義信息,並且可以用於潛在空間模擬,這對於數據增強(data augmentation)和政策調試(policy debugging)都是有用的。
Patch-wise Feature Extraction分塊特徵提取
Attention Mask(注意力遮罩):
這兩個概念結合起來,允許模型不僅僅在全局層面上,而且在局部層面上理解圖像,從而對圖像的每一部分都能進行細緻的分析。這在需要詳細理解圖像的各個部分的應用中特別有用,例如自動駕駛車輛識別和理解周圍環境中的物體。
在多模態基礎模型中進行分塊特徵提取的方法。
給定一個基礎模型
為了簡化,
對於每一層
這個過程可以應用於大多數基於變壓器的基礎模型,例如 CLIP、DINO 和 BLIP。
Masking for patch- or region-aligned feature extraction. 區塊/區域對齊的特徵提取與注意力遮罩
在提取
使用
這裡
這裡
語言增強的潛在空間模擬過程,該過程融合了語言模式以模擬不同場景中的特徵。這個過程依賴於大型語言模型(LLMs)來提供自然語言中的概念,並將這些概念轉換為文本特徵。具體步驟包括:
從大型語言模型獲得與自動駕駛相關的概念集合並計算它們的文本特徵:
在這裡,
通過搜索找到分塊特徵
其中
通過將
函數
這個過程利用語言模型來擴展特徵的表達能力,允許在潛在空間內進行更豐富的模擬,這對於數據增強和策略調試(policy debugging)非常有用。
在深度學習中,Attention Mask 是一種用來控制模型關注點的技術。它是自注意力機制的一部分,用於指定在計算注意力權重時應該被考慮的輸入部分
以下是簡化的Attention Mask表示:
要如何得到Attention Mask的權重或數值
在構建自注意力模型時,Attention Mask 的權重或數值通常是根據特定的規則事先定義的。以下是常見的設定 Attention Mask 的方法:
序列掩碼(Sequence Masking):
填充掩碼(Padding Masking):
任務特定的掩碼:
獲得 Attention Mask 的具體數值通常不涉及學習過程,它們是根據模型設計和任務需求靜態定義的。但在一些高級的應用中,模型可能會通過學習來動態產生掩碼,例如在生成對抗網絡(GANs)或強化學習中。
在實際應用中, Attention Mask的實作:
import torch
# 假設seq_len是序列長度,batch_size是批次大小
seq_len = 10
batch_size = 1
# 創建一個上三角矩陣作為Sequence Masking
attention_mask = torch.triu(torch.ones((seq_len, seq_len)) * float('-inf'), diagonal=1)
# 創建一個Padding Masking,假設padding的位置是-1
padding_mask = torch.tensor([[0, 0, -1, -1, -1, -1, -1, -1, -1, -1]])
padding_mask = (padding_mask == -1) * float('-inf')
# 結合兩種掩碼
combined_mask = attention_mask + padding_mask
文章的主要內容包括:
視覺-語言-行動模型(VLAMs)的介紹:
LINGO-1的架構和功能:
駕駛評論的實際應用:
LINGO-1: I’m maintaining my ol/]
speed; the road continues to be clear.
LINGO-1: I’m now decelerating, braking, and coming to a stop.
LINGO-1: Remaining stopped at the zebra crossing.
LINGO-1: I’m now accelerating from a stopped position.
LINGO-1: I’m accelerating as the road is clear.
LINGO-1: I’m remaining stationary as the lead vehicle is also stopped
LINGO-1: I’m accelerating now, as we’re clear.
LINGO-1: I’m applying the brakes to stop at the junction.
LINGO-1: I’m moving now because the lane is clear.
LINGO-1: Completing a left turn to follow the route.
性能和未來展望:
在整合語言和駕駛模型的過程中,一個關鍵的方面是它們之間的「接地」(grounding)。這裡的「接地」指的是將語言模型的輸出與駕駛模型的輸入有效地結合,確保兩者之間的溝通和理解是準確且有意義的。這一過程涉及兩個主要因素,它們對駕駛性能有顯著影響:
語言模型解釋場景的能力:
駕駛模型的規劃和執行能力:
總的來說,這兩個因素共同決定了整合語言和駕駛模型的效果,對於提高自動駕駛系統的整體性能和可靠性至關重要。
open vs close-loop reasoning
"Embodied AI"(具身人工智能)
機器人領域的應用:
自動駕駛車輛的應用: