ADAPT:曙光初現(xiàn),全面探索端到端自動駕駛的可解釋性!
本文經(jīng)自動駕駛之心公眾號授權(quán)轉(zhuǎn)載,轉(zhuǎn)載請聯(lián)系出處。
筆者的個(gè)人思考
端到端是今年非?;鸬囊粋€(gè)方向,今年的CVPR best paper也頒給了UniAD,但端到端同樣也存在很多問題,比如可解釋性不高、訓(xùn)練難收斂等等,領(lǐng)域的一些學(xué)者開始逐漸把注意力轉(zhuǎn)到端到端的可解釋性上,今天為大家分享端到端可解釋性的最新工作ADAPT,該方法基于Transformer架構(gòu),通過多任務(wù)聯(lián)合訓(xùn)練的方式端到端地輸出車輛動作描述及每個(gè)決策的推理。筆者對ADAPT的一些思考如下:
- 這里是用視頻的2D 的feature來做的預(yù)測, 有可能把2D feature轉(zhuǎn)化為 bev feature之后效果會更好.
- 與LLM結(jié)合效果可能會更好, 比如 Text Generation那部分換成LLM.
- 當(dāng)前這個(gè)工作是拿歷史的視頻作為輸入, 預(yù)測的action及其描述也是歷史的, 如果改成預(yù)測將來的action以及action對應(yīng)的原因的話可能更有意義.
- image token化那塊兒得到的 token 有點(diǎn)兒多,可能有很多沒有用的信息, 或許可以試試Token-Learner.
出發(fā)點(diǎn)是什么?
端到端自動駕駛在交通行業(yè)具有巨大潛力,而且目前對這方面的研究比較火熱。像CVPR2023的best paper UniAD 做的就是端到端的自動駕駛。但是, 自動決策過程缺乏透明度和可解釋性會阻礙它的發(fā)展, 畢竟實(shí)車上路,是要安全第一的。早期已經(jīng)有一些嘗試使用 attention map 圖或 cost volume 來提高模型的可解釋性,但這些方式很難理解。那么這篇工作的出發(fā)點(diǎn),就是尋求一種好理解的方式來解釋決策。下圖是幾種方式的對比, 顯然用語言表達(dá)更容易理解。
ADAPT有什么優(yōu)勢?
- 能夠端到端地輸出車輛動作描述及每個(gè)決策的推理;
- 該方法基于transformer的網(wǎng)絡(luò)結(jié)構(gòu), 通過multi-task的方式進(jìn)行聯(lián)合訓(xùn)練;
- 在BDD-X(Berkeley DeepDrive eXplanation) 數(shù)據(jù)集上達(dá)到了SOTA的效果;
- 為了驗(yàn)證該系統(tǒng)在真實(shí)場景中的有效性, 建立了一套可部署的系統(tǒng), 這套系統(tǒng)能夠輸入原始的視頻, 實(shí)時(shí)地輸出動作的描述及推理;
效果展示
看效果還是非常不錯的, 尤其是第三個(gè)黑夜的場景, 紅綠燈都注意到了。
目前領(lǐng)域的進(jìn)展
Video Captioning
視頻描述的主要目標(biāo)是用自然語言描述給定視頻的對象及其關(guān)系。早期的研究工作通過在固定模板中填充識別的元素來生成具有特定句法結(jié)構(gòu)的句子,這些模板不靈活且缺乏豐富性。
一些方法利用序列學(xué)習(xí)方法來生成具有靈活句法結(jié)構(gòu)的自然句子。具體來說,這些方法采用video encoder 來提取 feature,并使用語言 decoder 來學(xué)習(xí)視覺文本對齊。為了用細(xì)粒度的對象和動作使描述更加豐富,有些方法利用 object-leverl 的表示來獲取視頻中詳細(xì)的object-aware 交互特征。
雖然現(xiàn)有的架構(gòu)在一般 video captioning 方向取得了有一定的結(jié)果,但它不能直接應(yīng)用于動作表示,因?yàn)楹唵蔚貙⒁曨l描述轉(zhuǎn)移到自動駕駛動作表示會丟失掉一些關(guān)鍵信息,比如車輛速度等,而這些對于自動駕駛?cè)蝿?wù)來說至關(guān)重要。如何有效地利用這些多模態(tài)信息來生成句子目前仍在探索中。PaLM-E 在多模態(tài)句子這塊兒是個(gè)不錯的工作。
端到端自動駕駛
Learning-based 的自動駕駛是一個(gè)活躍的研究領(lǐng)域。最近CVPR2023 的best-paper UniAD, 包括后面的 FusionAD, 以及Wayve的基于World model的工作 MILE 等都是這個(gè)方向的工作。輸出地形式有出軌跡點(diǎn)的,像UniAD, 也有直接出車輛的action的, 像MILE。
此外, 一些方法對車輛、騎自行車者或行人等交通參與者的未來行為進(jìn)行建模,以預(yù)測車輛waypoints,而另外一些方法直接根據(jù)傳感器輸入預(yù)測車輛控制信號,類似于這個(gè)工作的控制信號預(yù)測子任務(wù)。
自動駕駛的可解釋性
自動駕駛領(lǐng)域中, 大多數(shù)可解釋性的方法是基于視覺的,也有一些是基于LiDAR的工作。一些方法利用attention map 的可視化來過濾掉不顯著的圖像區(qū)域,使得自動駕駛車輛看起來合理并且可解釋。然而,attention map 可能很容易包含一些不太重要的區(qū)域。還有一些方法以激光雷達(dá)和高精地圖作為輸入來預(yù)測其他交通參與者的bounding box,并利用cost volume來解釋決策的推理。此外,也有通過分割的方法構(gòu)建了在線地圖,用于擺脫高清地圖的嚴(yán)重依賴。盡管基于視覺或基于激光雷達(dá)的方法提供了不錯的結(jié)果,但是缺乏語言解釋使得這個(gè)整個(gè)系統(tǒng)看起來復(fù)雜且難以理解。[68]首先探索了自動駕駛車輛文本解釋的可能性,離線提取視頻特征后用于預(yù)測控制信號,然后進(jìn)行視頻描述的任務(wù)。
自動駕駛中的Multi-task learning
這個(gè)端到端的框架采用多任務(wù)學(xué)習(xí),用文本生成和預(yù)測控制信號這兩個(gè)任務(wù)來聯(lián)合訓(xùn)練模型。多任務(wù)學(xué)習(xí)在自動駕駛中用的非常多。由于更好的數(shù)據(jù)利用和共享特征,不同任務(wù)的聯(lián)合訓(xùn)練提高了各個(gè)任務(wù)的性能,因此這個(gè)工作中, 采用的是控制信號預(yù)測和文本生成這兩個(gè)任務(wù)的聯(lián)合訓(xùn)練。
ADAPT方法
網(wǎng)絡(luò)結(jié)構(gòu)圖如下所示:
整個(gè)結(jié)構(gòu)分成了兩個(gè)任務(wù):
- Driving Caption Generation(DCG): 輸入videos, 輸出兩個(gè)句子, 第一句描述自車的action,第二句描述采取這個(gè)action的推理, 比如 "The car is accelerating, because the traf?c lights turn green."
- Control Signal Prediction(CSP) : 輸入相同的videos, 輸出一串控制信號, 比如速度,方向, 加速度.
其中, DCG和CSP兩個(gè)任務(wù)是共享 Video Encoder, 只是采用不同的prediction heads來產(chǎn)生不同的最終輸出。
對于 DCG 任務(wù), 是用 vision-language transformer encoder產(chǎn)生兩個(gè)自然語言的句子。
對于CSP 任務(wù), 用motion transformer encoder 預(yù)測控制信號的序列。
Video Encoder
這里采用的是 Video Swin Transformer 將輸入的video frames 轉(zhuǎn)為 video feature tokens。
輸入 楨 image, shape 為 , 出來的feature的size 是 , 這里的 是channel的維度.
Prediction Heads
Text Generation Head
上面這個(gè)feature , 經(jīng)過token化得到 個(gè) 維度為 的video token, 然后經(jīng)過一個(gè)MLP 調(diào)整維度與 text tokens的embedding對齊, 之后將 text tokens和 video tokens 一起喂給 vision-language transformer encoder, 產(chǎn)生動作描述和推理。
Control Signal Prediction Head
和輸入的 楨video 對應(yīng)著的 有 控制信號 , CSP head的輸出是 , 這里每一個(gè)控制信號不一定是一維的, 可以是多維的, 比如同時(shí)包括速度,加速度,方向等。這里的做法是 把video features token化了之后, 經(jīng)過motion transformer 產(chǎn)生一串輸出信號, loss 函數(shù)是MSE,
不過需要注意的是, 這里并沒有把第一楨放進(jìn)去, 因?yàn)榈谝粯E提供的動態(tài)信息太少了。
Joint Training
在這個(gè)框架中, 因?yàn)楣蚕淼膙ideo encoder, 因此其實(shí)是假設(shè)CSP和DCG這兩個(gè)任務(wù)在 video representation的層面上是對齊的。出發(fā)點(diǎn)是動作描述和控制信號都是車輛細(xì)粒度動作的不同表達(dá)形式,動作推理解釋主要關(guān)注影響車輛動作的駕駛環(huán)境。
訓(xùn)練時(shí)采用聯(lián)合訓(xùn)練的方式
需要注意的是, 雖然是聯(lián)合訓(xùn)練地,但是推理的時(shí)候,卻可以獨(dú)立執(zhí)行, CSP任務(wù)很好理解, 根據(jù)流程圖直接輸入視頻,輸出控制信號即可, 對于DCG任務(wù), 直接輸入視頻, 輸出描述和推理, Text 的產(chǎn)生是基于自回歸的方式一個(gè)單詞一個(gè)單詞的產(chǎn)生, 從[CLS]開始, 結(jié)束于 [SEP]或者是達(dá)到了長度閾值。
實(shí)驗(yàn)設(shè)計(jì)與對比
數(shù)據(jù)集
使用的數(shù)據(jù)集是 BDD-X, 這個(gè)數(shù)據(jù)集包含了 7000段成對的視頻和控制信號。每段視頻大約40s, 圖像的大小是 , 頻率是 FPS, 每個(gè)video都有1到5種車輛的行為,比如加速,右轉(zhuǎn),并線。所有這些行為都有文本注釋,包括動作敘述(例如,“汽車停下來”)和推理(例如,“因?yàn)榻煌羰羌t色的”)??偣泊蠹s有 29000 個(gè)行為注釋對。
具體實(shí)現(xiàn)細(xì)節(jié)
- video swin transformer 在 Kinetics-600 上面預(yù)訓(xùn)練過
- vision-language transformer 和 motion transformer是隨機(jī)初始化的
- 沒有固定 video swin 的參數(shù), 所以整個(gè)是端到端訓(xùn)練的
- 輸入的視頻楨大小經(jīng)過resize和crop, 最終輸入網(wǎng)絡(luò)的是 224x224
- 對于描述和推理,用的是WordPiece embeddings [75] 而不是整個(gè)words, (e.g., ”stops” is cut to ”stop” and ”#s”), 每個(gè)句子的最大長度是15
- 訓(xùn)練的時(shí)候?qū)τ?masked language modeling 會隨機(jī)mask掉50%的tokens, 每個(gè)mask的token 有80%的概率 會成為 【MASK】這個(gè)token, 有10%的概率會隨機(jī)選擇一個(gè)word, 剩下的10%的概率保持不變。
- 用的是AdamW 的優(yōu)化器, 并且在前10%的訓(xùn)練 steps中, 有warm-up的機(jī)制
- 用4個(gè)V100的GPU大約要訓(xùn)練13個(gè)小時(shí)
聯(lián)合訓(xùn)練的影響
這里對比了三個(gè)實(shí)驗(yàn)說明了聯(lián)合訓(xùn)練的有效性.
Single
指的是把CSP任務(wù)移掉,只保留著DCG的任務(wù), 相當(dāng)于只訓(xùn) captioning 模型.
Single+
依然沒有CSP的任務(wù), 但是輸入DCG模塊的時(shí)候除了video tokens外, 還有control singal tokens的輸入
效果對比如下
可以看到 相比只有DCG的任務(wù), ADAPT的Reasoning的效果要明顯好很多。有控制信號輸入時(shí)效果有所提升,但是還是沒有把CSP任務(wù)加進(jìn)來的效果好. 相當(dāng)于加了CSP任務(wù)后, 對video的表示及理解能力更強(qiáng)了。
另外下面這個(gè)表格也說明了聯(lián)合訓(xùn)練對于 CSP的效果也是有提升的.
這里 可以理解為精度, 具體會把預(yù)測的控制信號做一個(gè)截?cái)啵饺缦?/p>
不同類型控制信號的影響
實(shí)驗(yàn)中用的基礎(chǔ)信號是speed和course, 但是實(shí)驗(yàn)發(fā)現(xiàn), 只使用他們中的任何一個(gè)時(shí)效果都沒有兩個(gè)都用的時(shí)候效果好,如下表所示:
這說明speed和course這兩個(gè)信號能夠使得網(wǎng)絡(luò)學(xué)習(xí)到更好的動作描述及推理。
動作描述與推理之間的交互
與一般描述任務(wù)相比,駕駛描述任務(wù)生成是兩個(gè)句子,即動作描述和推理。通過下表可以發(fā)現(xiàn):
- 第1,3行說明使用cross attention效果要更好一些, 這也好理解, 基于描述來做推理有利于模型的訓(xùn)練;
- 第2,3行說明交換推理和描述的順序也會掉點(diǎn), 這說明了推理是依賴于描述的;
- 后面三行對比來看, 只輸出描述和只輸出推理都不如二者都輸出的時(shí)候效果好;
Sampling Rates 的影響
這個(gè)結(jié)果是可以猜到的, 使用的幀越多,結(jié)果越好,但是對應(yīng)的速度也會變慢, 如下表所示
原文鏈接:https://mp.weixin.qq.com/s/MSTyr4ksh0TOqTdQ2WnSeQ