限天氣數據生成!WeatherDG:VLM+擴散模型直接爆拉14個點
摘要
在這項工作中,我們提出了一種新穎的方法,名為WeatherDG,它可以通過兩個基礎模型的合作,即Stable Diffusion(SD)和大型語言模型(LLM),生成大量逼真、多樣化的天氣駕駛場景圖像。具體來說,我們首先使用源數據對SD進行微調,使生成的樣本內容和布局與真實駕駛場景保持一致。然后,我們基于LLM提出了一種漸進化的提示生成方法,該方法可以豐富場景描述,幫助SD自動生成更多樣化、詳細的圖像。此外,我們引入了一種平衡生成策略,鼓勵SD在各種天氣條件下生成高質量的“尾類”對象,例如騎車人和摩托車。這種與分割模型無關的方法通過使用生成的合成數據來進一步適應現有模型,從而提高它們的泛化能力。實驗結果表明,我們的方法可以顯著提高不同最先進模型在目標領域上的分割性能。特別是在“Cityscapes到ACDC”的實驗設置中,我們的方法使基線模型HRDA的mIoU提高了13.9%。代碼已經開源:https://github.com/Jumponthemoon/WeatherDG。
1. 引言
語義分割是自動駕駛的基本任務。盡管在這一領域取得了顯著的成就,現有模型在部署到未知領域時仍面臨嚴重挑戰,這源于眾所周知的領域偏移問題。此外,當未見領域具有惡劣天氣條件時,這一問題會更加嚴重,如霧天、雨天、雪天和夜晚場景。
一種解決上述問題的簡單方法是收集更多樣化的訓練數據。然而,標注分割任務需要大量時間,因為我們需要為圖像中的每個像素進行標注。因此,領域泛化在解決領域偏移問題中變得流行,其目標是在僅使用給定源數據的情況下訓練一個能夠泛化到未見領域的模型。現有的領域泛化方法一般可以分為兩類:歸一化方法和數據增強方法。本文我們主要關注后者,因為它更靈活且易于與前者技術集成。以往方法通常使用模擬器或圖像轉換模型生成新樣本,雖然有效,但在生成惡劣天氣條件下的樣本時,仍存在多樣性和真實性問題(如圖2所示)。近年來,Stable Diffusion(SD)展示了生成逼真、多樣化高質量圖像的強大能力,激發了我們利用SD來解決以往數據增強方法在領域泛化中的不足。然而,直接將SD應用于我們的任務會產生一個關鍵問題:生成的樣式和布局與駕駛場景樣本差異較大(見圖2b)。由于SD的訓練數據包含各種類型的圖像,而不是專門針對駕駛場景,導致無法生成具有駕駛屏幕特征的樣本,缺乏細致和明確的指導。
2. 相關工作
領域泛化語義分割(DGSS)
DGSS旨在訓練深度神經網絡,使其在多個未見領域的語義分割任務中表現良好。現有的DGSS方法通過歸一化或數據增強來解決領域差異問題。歸一化方法通過對源特征的均值和標準差進行歸一化訓練,或通過白化這些特征的協方差來解決問題。基于數據增強的方法則將源圖像轉化為隨機風格化的版本,以引導模型捕捉領域不變的形狀特征,因為紋理提示被隨機風格替代。
無監督領域自適應(UDA)
UDA旨在提升模型在領域特定數據上的表現,而無需標注的示例。現有的UDA技術可以分為三類:差異最小化、對抗性訓練和自訓練。最近,DATUM [27] 提出了一種單次域自適應方法,該方法使用目標域中的單個圖像生成數據集,并結合無監督域自適應訓練方法來彌合模擬到現實的差距。此外,PODA [28] 利用了CLIP模型的能力,通過提示實現了零樣本域自適應。
基于文本的圖像生成
當前的文本生成圖像任務主要由基于擴散模型和大語言模型(LLM)的方法驅動。擴散模型在生成逼真圖像方面取得了突破,促使研究人員探索其在豐富源域數據集和改進語義分割中的應用。例如,DIDEX [8] 利用 ControlNet [30] 將合成圖像轉換為現實世界風格。然而,這種方法通常缺乏真實感,并重復訓練數據的空間布局,限制了多樣性。
另一方面,大型語言模型也發揮著關鍵作用。CuPL [31] 利用 GPT-3 [32] 生成文本描述,增強零樣本圖像分類。CLOUDS [9] 使用 Llama [33] 創建用于擴散模型的提示。然而,它們未能充分考慮因天氣和光照條件變化帶來的復雜性。相比之下,我們的方法采用了一系列作為代理的LLM,不僅能夠為復雜的現實場景生成詳細描述,還實施了定制的生成策略。這樣保證了生成的圖像既多樣又真實,且能夠解決在復雜條件下的類別不平衡問題。
3. 提出的方法
WeatherDG旨在生成適用于特定天氣的自動駕駛場景圖像,以增強惡劣條件下的語義分割性能。我們首先通過微調擴散模型來適應源領域的場景先驗,確保生成的圖像符合駕駛場景。接著,我們采用程序化的提示生成方法,創建詳細的提示,使擴散模型能夠生成逼真且多樣化的天氣和光照效果。最后,我們利用UDA訓練方法來使用生成的圖像進行語義分割模型的訓練。
3.1 SD微調
首先,使用源數據對Stable Diffusion模型進行微調,以確保生成的圖像能夠更好地與真實的駕駛場景對齊。我們在提示中使用一個唯一標識符,將先驗知識與從源域數據集中選擇的一張圖像關聯起來。例如,提示語句"A photo of V* driving scene"會與從選定圖像中裁剪出的圖像塊相關聯,其中V* 標識該場景,而“駕駛場景”對其進行寬泛描述。這種方法可以防止語言漂移,并提高模型性能。訓練過程如圖4a所示。訓練結束后,模型通過唯一標識符V*捕捉場景先驗,并能夠在類似的上下文中生成新的實例,如圖4b所示,應用于自動駕駛數據集。
3.2 程序化提示生成
其次,利用LLMs之間的協作生成詳細和多樣的場景提示;最后,利用這些豐富的提示創造多樣的訓練樣本。為了使擴散模型生成天氣和光照效果,必須將具體的天氣條件和一天中的時間整合到提示中。然而,簡單的模板如“A photo of [CLS], [WEATHER], [TIME]”往往無法提供足夠的多樣性和細節,因此需要更細致的描述。手動編寫這些描述非常耗時,因此我們考慮采用大型語言模型(LLM)來自動化這一過程。此外,鑒于惡劣天氣條件下動態對象樣本的稀缺性,我們需要在提示生成過程中采用平衡生成策略,以豐富這些對象的樣本。為此,我們對生成提示的要求有三點:1) 應該采用平衡的生成策略,2) 引入不同的天氣和光照條件,3) 提供詳細的描述。最重要的是,所有的提示都由LLM模型自動生成,以減少人工干預。
在實現過程中,我們發現直接為單個LLM模型提供一條指令并不能滿足我們所有的需求。具體來說,生成的提示往往與我們設計的生成策略不符,或者未達到我們期望的詳細描述水平。為了解決這個問題,我們開發了一種程序化的提示生成方法,涉及三個LLM代理,分別是實例采樣器、場景創作者和場景描述器。這種分層的方法使我們能夠精確地生成用于圖像生成的文本提示,確保每個提示的各個方面都與我們預期的結果一致。
4 實驗
我們可視化圖片生成結果,模型可以生成豐富的天氣場景的自動駕駛場景。圖6中的結果表明,普通的Stable Diffusion傾向于生成具有藝術風格或電影攝影效果的圖像,如在“卡車”、“自行車”、“摩托車”和“公交車”等類別中所見。對于“汽車”和“火車”類別,圖像展示了不同的攝影視角,例如鳥瞰視角。此外,對于“紅綠燈”、“交通標志”和“行人”,模型表現出過度的創造性,生成了過于風格化的紅綠燈,并將“行人”渲染成草圖的形式。對于“騎行者”類別,Stable Diffusion模型甚至想象成了海上的沖浪者。
圖7結果表明,實力采樣器(頂部)雖然使模型能夠生成多樣的實例,但場景細節有限。而場景創作者(中間行)使模型能夠生成天氣和光照效果,但整體效果相對較為微弱。通過場景描述器精心編寫的詳細描述,模型(底部行)能夠生成復雜的場景細節,并帶來更多樣化的天氣和光照效果,顯著提升了生成圖像的多樣性和逼真度。
對于語義分割,我們在使用Cityscapes作為源域數據集的領域泛化設置下進行實驗,并在ACDC、BDD100k和DarkZurich等目標領域數據集上進行測試。實驗結果表明,WeatherDG能夠顯著提高不同最先進方法的性能。
5 結論
本文提出了WeatherDG,一種用于在惡劣天氣條件下實現語義分割領域泛化的新方法。通過結合Stable Diffusion和大型語言模型之間的協作,我們的方法能夠僅依賴文本自動生成大量逼真圖像,改善語義分割模型在真實世界中的表現。實驗結果證明,WeatherDG顯著提升了語義分割性能,為自動駕駛領域的魯棒性設立了新的標桿。