前言
目前的視覺語言導航存在的問題:
(1)在VLN任務中,大多數當前方法主要利用RGB圖像,忽略了環境固有的豐富三維語義數據。許多語義無關的紋理細節不可避免地被引入到訓練過程中,導致模型出現過擬合問題,訓練后的代理將沒有足夠的能力適應3D環境感知。
本工作的主要貢獻:
(1)提出了一種新的學習和融合框架,為VLN任務引入了三維語義表示;
(2)設計了一個區域查詢前置學習任務,以自監督學習的方式幫助從未標記的三維語義重建中學習三維語義表示。
一、模型整體框架
1.1 任務描述
在時間步??:
(1)圖片輸入:全景RGB-D圖像(在實施過程中會將全景圖拆分成12個不同角度的圖片);
(2)文本輸入:指令;
(3)輸出:預測的動作。
1.2 模型介紹
模型的整體框架如圖所示:
可以看出,主要由以下部分組成:
(1)3D語義編碼器:將RGB語義分割信息和D深度信息結合,得到3D重構結果,將3D重構結果作為輸入,利用自監督方法訓練此編碼器。訓練完的編碼器輸入為RGB-D圖像,輸出為3D語義特征;
(2)視覺編碼器:雙尺度圖Transformer(DUET)模型,輸入為RGB特征和3D語義特征,輸出為總的視覺特征;
(3)文本編碼器:預訓練的BERT,輸出為文本特征;
(4)細尺度多模態注意力模塊 + 局部動作預測模塊:整合對齊局部視覺特征和文本特征,并得到局部預測動作;
(5)粗尺度多模態注意力模塊 + 全局動作預測模塊:整合對齊全局視覺特征和文本特征,并得到全局預測動作;
(6)動態融合模塊:融合局部和全局動作預測,得到最終動作預測結果。
二、難點
2.1 3D語義編碼器
2.1.1 3D語義重構
此部分的主要功能是將RGB圖像結合深度信息,轉化為三維語義表示。主要流程如下:
(1)將特定位置代理的多個二維RGB觀測圖像輸入語義分割器(總共150類)中,以獲得二維語義分割;
(2)使用深度觀測和相機參數將二維語義分割投影到三維空間中,每個RGB-D觀測值都被轉換為三維語義點云;
(3)通過組合不同視點的三維點云,我們可以獲得局部位置特定的全景語義點云;
(4)通過計算每單位體積中屬于特定類別的點云的數量來對三維語義點云進行體素化。假設體素化參數對于X軸和Y軸為0.125 m,對于Z軸為0.25 m。對于代理,相對于中心的最大水平觀測范圍為±8 m,對于垂直方向為±4 m。因此,基于體素的三維語義重建的維度為150×128×128×32;
(5)使用三維重建的稀疏表示,只記錄至少有一個非零語義類別的位置,形成k×4(記錄索引和位置)和k×150(記錄語義類別)的向量,其中k是具有非零語義類別的位置數量。
如下圖所示:
2.1.2 自監督學習方法
此部分的主要功能是訓練一個3D語義編碼器,將3D重建的稀疏表示(體素化、稀疏化后的3D語義點云)編碼成3D語義特征,即使用稀疏卷積網絡將輸入的3D重建的稀疏表示編碼為2048×4×4張量,記為。
本工作設計了一個區域查詢前置學習任務,其中需要三維視覺編碼模型回答特定區域中對象的存在問題。主要流程如下:
(1)給定一個定義為元組??的查詢;
(2)詢問在滿足?,
,
?的區域中是否存在類?
?的對象,模型應給出 True 或 False 的答案。
2.1.3 如何訓練3D語義編碼器?
期望所提出的3D視覺編碼器能夠通過自監督查詢任務,感知不同觀察空間范圍內的語義信息,往往場景中空間位置與對象語義信息的關聯有利于下游導航任務。
下面介紹3D語義編碼器的訓練過程:
(1)使用多層感知(MLP)對查詢進行編碼,以生成2048-維的向量??:
其中??是類 c 的 one-hot 向量,
,
?是?
?維的可學習參數,
?是?
?維的可學習參數;
(2)使用多頭注意力模型的softmax輸出來估計答案的概率:
其中??和?
??是?
?維的可學習參數,
?是為多頭注意力層的輸出:
其中為經過3D語義編碼器編碼的3D語義特征。
具體過程如下圖所示:
2.2?基于Transformer的視覺語言導航模型
如下圖所示:
主要流程如下:
(1)將3D語義特征映射到與RGB特征相同的維度,即768×16;
(2)將RGB特征與映射后的三維語義特征進行concat連接,創建擴展特征(擴展特征嵌封裝了詳細的紋理和顏色特征以及空間語義特征,形成了更全面的上下文嵌入);
(3)將擴展特征向量通過多層Transformer,使模型能夠辨別RGB和3-D語義特征之間的相互作用;
(4)Transformer輸出向量一方面用于更新拓撲圖,另一方面輸入到精細尺度交叉模態編碼器中進行局部動作預測。
(5)分別進行局部和全局的多模態融合,然后分別得到局部和全局的動作預測;
(6)將局部和全局的動作預測動態融合,得到最終的動作預測結果。
2.2.1 拓撲圖映射
訪問節點的嵌入表示:
(1)訪問過的節點:通過添加平均池級聯特征向量來增強訪問過的節點在拓撲圖中的嵌入。這種增強通過利用我們提出的3-D語義編碼器提取的語義深度信息來促進空間推理。
(2)未訪問的節點:由于智能體僅能部分觀測未訪問節點,這些未訪問節點的嵌入表示通過部分池化機制實現——即在對應視圖上累積從不同觀測位置獲取的特征向量。
需要注意的是,768×16維的三維語義嵌入缺乏方向屬性,因此采用簡單的前饋神經網絡(FFN)作為分類器。該網絡以具有方向屬性的RGB嵌入為輸入,預測三維語義嵌入中的token索引,將該索引對應的token作為當前視圖的代表性三維特征,本質上是從16個token中選取最優表征。
三、總結
本工作主要提出一種將3D語義信息應用到視覺語言導航VLN任務中的方法。為了實現這一方法,設計了一個區域查詢前置學習任務,以自監督學習的方式訓練了一個3D語義編碼器,將3D語義成功的編碼成為了特征,從而與文本特征一起輸入到多模態注意力模塊,完成了VLN這一任務。