張振宇 楊 健
深度估計(jì)是視覺場景理解中的基礎(chǔ)性問題,并且越來越多地受到計(jì)算機(jī)視覺和機(jī)器人研究領(lǐng)域的關(guān)注.近年來,一些基于深度學(xué)習(xí)的RGB 自動(dòng)深度估計(jì)方法陸續(xù)提出,取得了令人印象深刻的效果[1-7].在這些研究工作中,深度神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練需要依賴深度真值作為監(jiān)督信息,可供訓(xùn)練的深度真值越多則效果越好.然而,在現(xiàn)實(shí)場景中進(jìn)行數(shù)據(jù)收集需要對(duì)應(yīng)的硬件平臺(tái)和設(shè)備(例如汽車和雷達(dá)),且使其在不同環(huán)境中工作相當(dāng)長的時(shí)間.因此,數(shù)據(jù)收集通常需要昂貴的財(cái)力和時(shí)間開銷,這制約了以上監(jiān)督學(xué)習(xí)方法的實(shí)際應(yīng)用.為了避免開銷較大的數(shù)據(jù)收集和人工標(biāo)注過程,一些自監(jiān)督(也稱為無監(jiān)督)深度估計(jì)方法相繼提出[8-11].值得一提的是,盡管沒有精確的深度真值,這些方法仍能通過圖像重構(gòu)誤差訓(xùn)練模型,獲得與監(jiān)督學(xué)習(xí)方法接近的結(jié)果.
盡管上文提到的自監(jiān)督方法獲得了相當(dāng)好的結(jié)果,其在現(xiàn)實(shí)場景中的使用仍然受到制約.原因在于這些方法均在封閉世界假設(shè)下進(jìn)行設(shè)計(jì)和評(píng)估,這意味著訓(xùn)練和測(cè)試數(shù)據(jù)處于同一個(gè)數(shù)據(jù)集,或者二者的環(huán)境表觀差異很小.當(dāng)模型在全新的場景中工作時(shí),由于數(shù)據(jù)域轉(zhuǎn)移的影響,方法的結(jié)果將大打折扣.因此,為了增強(qiáng)方法的實(shí)際應(yīng)用效果,用于深度估計(jì)的深度神經(jīng)網(wǎng)絡(luò)模型需要考量開放世界的設(shè)定,即可用的視覺數(shù)據(jù)是在連續(xù)變化的環(huán)境中被采集的數(shù)據(jù)流.以自動(dòng)駕駛場景為例,模型需要連續(xù)適應(yīng)于變化的環(huán)境(如城市、鄉(xiāng)村和高速公路場景等)以及光線場景(如黑夜、黃昏和白晝等).也就是說,深度神經(jīng)網(wǎng)絡(luò)模型需要具有在線適應(yīng)的能力.
根據(jù)以上的分析和動(dòng)機(jī),本文提出了一種基于元學(xué)習(xí)的雙目深度估計(jì)方法,用于需要快速在線適應(yīng)的開放世界場景.方法的框架在圖1 中展示.首先,一種新的在線元學(xué)習(xí)適應(yīng)算法(Online metalearning with adaptation,OMLA)得以提出,用于模型的快速在線學(xué)習(xí).具體地,為了處理源域數(shù)據(jù)(即訓(xùn)練數(shù)據(jù))和目標(biāo)視頻數(shù)據(jù)之間的域轉(zhuǎn)移問題,模型通過調(diào)整源域和目標(biāo)域的批歸一化(Batch normalization,BN)層統(tǒng)計(jì)量,使域間特征分布對(duì)齊.該方法受啟發(fā)于文獻(xiàn)[12-13],本文對(duì)其進(jìn)行改進(jìn),使該方法適用于在線學(xué)習(xí)場景.然后,特征對(duì)齊過程與元學(xué)習(xí)算法相結(jié)合,利用先前時(shí)刻的模型反饋選擇能夠快速適應(yīng)未來場景的網(wǎng)絡(luò)超參數(shù).此外,本文提出了一種新的基于元學(xué)習(xí)的預(yù)訓(xùn)練方法(元預(yù)訓(xùn)練).具體地,在使用OMLA 算法進(jìn)行一段視頻的在線適應(yīng)過程后,模型評(píng)估其在未來幀上的表現(xiàn),并以此為反饋更新初始參數(shù).由此,模型獲得了適用于OMLA 算法進(jìn)行快速在線學(xué)習(xí)的初始參數(shù).
圖1 本文提出的基于元學(xué)習(xí)的深度估計(jì)在線適應(yīng)算法框架Fig.1 The proposed meta-learning framework for online stereo adaptation
本文的主要貢獻(xiàn)總結(jié)如下: 1) 提出了一種新的基于元學(xué)習(xí)的在線適應(yīng)算法,用于在線視頻流的雙目深度估計(jì).該方法與特征對(duì)齊過程相輔相成: 元學(xué)習(xí)算法有助于更新特征對(duì)齊動(dòng)量以提升模型的適應(yīng)能力;特征對(duì)齊則更好地支持元學(xué)習(xí)算法進(jìn)行優(yōu)化過程的快速收斂.2) 提出了一種基于元學(xué)習(xí)的預(yù)訓(xùn)練方法,利用OMLA 算法使模型獲得適用于快速在線學(xué)習(xí)和收斂的參數(shù)以及特征對(duì)齊動(dòng)量.3) 在KITTI 數(shù)據(jù)集[14]上的實(shí)驗(yàn)表明,本文提出的OMLA 算法與預(yù)訓(xùn)練方法均有助于在線深度估計(jì)效果的提升,其效果超越了當(dāng)前最佳的在線深度估計(jì)適應(yīng)算法[15].
隨著深度卷積神經(jīng)網(wǎng)絡(luò)的發(fā)展,近年來涌現(xiàn)了許多基于監(jiān)督學(xué)習(xí)的深度估計(jì)方法[1-4,16-17],這些方法需要依賴深度真值訓(xùn)練網(wǎng)絡(luò)模型.一些大規(guī)模數(shù)據(jù)集,例如NYU[18]、KITTI[14,19]等為深度估計(jì)任務(wù)提供了支持,一些合成數(shù)據(jù)庫的提出(例如Synthia[20])使得深度估計(jì)的遷移學(xué)習(xí)成為可能.
為了避免耗費(fèi)較高的數(shù)據(jù)收集和標(biāo)注過程,自監(jiān)督的深度估計(jì)方法[8-10]得以陸續(xù)提出.例如,Godard 等[9]利用雙目一致性損失函數(shù)使自監(jiān)督訓(xùn)練成為可能.其他相關(guān)工作主要包括結(jié)合相機(jī)位姿估計(jì)的方法[21]、利用對(duì)抗學(xué)習(xí)的方法[10,22]、基于視覺里程計(jì)的方法[17]以及結(jié)合圖像超分辨的技術(shù)[11].最新的研究主要關(guān)注高效深度估計(jì)網(wǎng)絡(luò)的設(shè)計(jì)[6]和雷達(dá)點(diǎn)云的補(bǔ)全[7].然而,以上方法僅適用于封閉世界設(shè)定下的深度估計(jì),缺少對(duì)開放世界問題的研究.
域適應(yīng)是經(jīng)典的機(jī)器學(xué)習(xí)問題,近年來逐漸為計(jì)算機(jī)視覺和機(jī)器人領(lǐng)域所關(guān)注[23].近期基于深度學(xué)習(xí)的方法主要通過以下策略減輕域轉(zhuǎn)移造成的影響: 分布對(duì)齊損失函數(shù)[24-25]、對(duì)抗生成網(wǎng)絡(luò)[26-28]和域?qū)R層[13,29-31].在機(jī)器人領(lǐng)域,域適應(yīng)方法主要用于機(jī)器人抓握[12,27]、可行駛區(qū)域分割[31]以及基于目標(biāo)定位的機(jī)器人控制問題[32-33].
與絕大多數(shù)先前工作采用離線設(shè)定(即源域與目標(biāo)域數(shù)據(jù)在訓(xùn)練過程中是可以全部獲取的)不同的是,近期一些域適應(yīng)算法開始研究在線學(xué)習(xí)設(shè)定下的問題,即目標(biāo)域數(shù)據(jù)以序列化形式獲得且其分布不斷改變,相關(guān)工作如文獻(xiàn)[12,30-31].一些工作研究了針對(duì)深度估計(jì)問題的域適應(yīng)方法[32-35].Tonioni 等[15]首先利用在線數(shù)據(jù)流進(jìn)行了相關(guān)嘗試.文獻(xiàn)[35]利用元學(xué)習(xí)方法增強(qiáng)了深度估計(jì)模型的在線收斂速度.然而,以上兩種在線深度估計(jì)方法并未清晰地對(duì)域轉(zhuǎn)移進(jìn)行建模,也未使用任何策略以減弱源域和目標(biāo)域數(shù)據(jù)差別帶來的影響.與其不同的是,本文方法具體地討論了在線深度估計(jì)中的域轉(zhuǎn)移問題,并給出了合理且新穎的解決方案.
元學(xué)習(xí)的目標(biāo)是使模型利用先前學(xué)習(xí)的經(jīng)驗(yàn),學(xué)會(huì)如何在未來的問題中進(jìn)行高質(zhì)量學(xué)習(xí).在文獻(xiàn)[36-39] 中,元學(xué)習(xí)被用于獲得在新數(shù)據(jù)域和類別上的快速泛化能力.在遷移學(xué)習(xí)應(yīng)用中,文獻(xiàn)[38]利用元學(xué)習(xí)方法,使主網(wǎng)絡(luò)模型引導(dǎo)學(xué)生網(wǎng)絡(luò)合理地微調(diào)參數(shù).Park 等在文獻(xiàn)[39] 中提出了一種離線元學(xué)習(xí)方法,使網(wǎng)絡(luò)獲得較好的在線跟蹤能力.本文方法受啟發(fā)于文獻(xiàn)[39],與其不同的是,本文方法提出了適用于在線場景的元學(xué)習(xí)方法,在引導(dǎo)模型獲得合理初值的同時(shí),使模型在線學(xué)習(xí)超參數(shù)以加速收斂.
本節(jié)詳細(xì)介紹了本文提出的基于元學(xué)習(xí)的在線深度估計(jì)與適應(yīng)方法.為方便形式化討論,假定源域是由N個(gè)雙目視頻序列組成的數(shù)據(jù)集,這些數(shù)據(jù)集使用同一個(gè)經(jīng)標(biāo)定后的雙目相機(jī)采集.首先,使用該源域數(shù)據(jù)集訓(xùn)練參數(shù)為θ的神經(jīng)網(wǎng)絡(luò)模型 Φ,使模型獲得雙目深度估計(jì)能力.然后,模型需要在目標(biāo)域視頻VT上進(jìn)行預(yù)測(cè),該視頻由不同的雙目相機(jī)在新的環(huán)境中采集,且視頻幀為數(shù)據(jù)流形式.本文方法的目標(biāo)是在線調(diào)整網(wǎng)絡(luò)參數(shù)θ(即在線適應(yīng)),使其在目標(biāo)域連續(xù)變化的視頻中逐漸獲得更精確的場景深度圖.
一種基本的用于在線適應(yīng)的方法為: 在當(dāng)前時(shí)刻計(jì)算當(dāng)前幀的自監(jiān)督損失,并通過梯度下降更新整個(gè)網(wǎng)絡(luò)參數(shù).盡管這種方法非常簡潔,但其存在明顯的缺點(diǎn),如其對(duì)于域轉(zhuǎn)移是非常敏感的,且僅關(guān)注于當(dāng)前幀的做法可能會(huì)對(duì)模型更新過程帶來不良影響,例如場景突變導(dǎo)致的模型漂移會(huì)減緩收斂速度.為了避免這些問題,本節(jié)提出了兩種互補(bǔ)策略: 特征分布對(duì)齊和在線元學(xué)習(xí)適應(yīng)算法(見圖2).具體地,使用批歸一化層的統(tǒng)計(jì)量對(duì)域轉(zhuǎn)移進(jìn)行建模,并以此為基礎(chǔ)進(jìn)行源域和目標(biāo)域的特征分布對(duì)齊(見第2.1 節(jié)).該過程在前饋中的網(wǎng)絡(luò)淺層進(jìn)行,僅需要非常有限的計(jì)算開銷.此外,使用基于元學(xué)習(xí)的優(yōu)化器更新模型,使模型獲得對(duì)未來幀的快速收斂能力(見第2.2 節(jié)).由此,在在線適應(yīng)過程中,特征對(duì)齊能夠應(yīng)對(duì)不同域數(shù)據(jù)的表觀特征差異,元學(xué)習(xí)優(yōu)化器則可處理高階表征的轉(zhuǎn)移問題.此外,基于元學(xué)習(xí)的預(yù)訓(xùn)練策略被用于獲得模型初始參數(shù)θ0,使模型獲得針對(duì)數(shù)據(jù)流的快速適應(yīng)能力(見第2.3 節(jié)).訓(xùn)練和更新模型使用的自監(jiān)督深度估計(jì)損失函數(shù)在第2.4 節(jié)中介紹.
圖2 本文提出的在線元學(xué)習(xí)適應(yīng)方法Fig.2 The proposed online meta-learning with adaptation (OMLA) method
考慮一個(gè)包含批歸一化層的神經(jīng)網(wǎng)絡(luò)模型 Φ,根據(jù)文獻(xiàn)[12-13,30]的研究,域適應(yīng)可以通過更新BN 層統(tǒng)計(jì)量實(shí)現(xiàn).在本文問題設(shè)定下,模型無法獲得全部目標(biāo)域數(shù)據(jù)以計(jì)算真實(shí)的目標(biāo)域統(tǒng)計(jì)量,但是由于數(shù)據(jù)流的存在,可以隨時(shí)間漸進(jìn)地更新統(tǒng)計(jì)量使其逼近真實(shí)值.受此啟發(fā),本文提出一種針對(duì)BN 統(tǒng)計(jì)量的在線更新策略,通過目標(biāo)域數(shù)據(jù)流逐漸更新BN 統(tǒng)計(jì)量,使目標(biāo)域模型特征分布逐漸對(duì)齊.與文獻(xiàn)[13,30] 的封閉世界方法不同的是,本文方法無需目標(biāo)域的全部數(shù)據(jù),適用于數(shù)據(jù)流可用的開放世界問題.為簡潔起見,此處僅討論單個(gè)BN 層的情況,但相關(guān)操作可部署至網(wǎng)絡(luò)任意BN 層.首先,模型在源域S進(jìn)行訓(xùn)練后,可以獲得對(duì)應(yīng)的BN 層統(tǒng)計(jì)量Bs(μs,).然后,模型按照以下過程在目標(biāo)域視頻流中更新統(tǒng)計(jì)量.在t0時(shí)刻,將統(tǒng)計(jì)量初始化BoBs.在t時(shí)刻,將先前時(shí)刻的BN 統(tǒng)計(jì)量Bt-1(μt-1,)對(duì)齊至Bt.假設(shè)特征向量由m個(gè)樣本{x1,···,xm}得到,則首先計(jì)算當(dāng)前時(shí)刻BN 統(tǒng)計(jì)量的觀測(cè)值
給定動(dòng)量參數(shù)atR,以及t-1 時(shí)刻更新后的統(tǒng)計(jì)量Bt-1(μt-1,),則t時(shí)刻更新后的統(tǒng)計(jì)量為
該更新后的統(tǒng)計(jì)量更接近當(dāng)前場景統(tǒng)計(jì)量的真實(shí)值.對(duì)該BN 層給定輸入x,則此時(shí)輸出特征為
其中,γ和β為BN 層仿射變換參數(shù),?R 為極小常量以保持?jǐn)?shù)值穩(wěn)定.事實(shí)上,動(dòng)量at對(duì)特征分布對(duì)齊至關(guān)重要,其決定了該BN 層適應(yīng)于當(dāng)前幀的程度.因此,與文獻(xiàn)[12]中手動(dòng)設(shè)定方法不同的是,本文采用元學(xué)習(xí)方法自動(dòng)地獲得合適的動(dòng)量at值,使其更好地引導(dǎo)BN 統(tǒng)計(jì)量更新和特征分布對(duì)齊.為簡潔起見,在下文中,at表示所有BN 層動(dòng)量的組合.
本節(jié)介紹所提出的在線元學(xué)習(xí)適應(yīng)算法.假設(shè)目標(biāo)域雙目視頻序列為V其長度為T,其中,It為t時(shí)刻圖像對(duì).當(dāng)模型在視頻V上進(jìn)行在線適應(yīng)時(shí),使用算法1 進(jìn)行參數(shù)更新.
算法1.在線元學(xué)習(xí)適應(yīng)算法
算法1 的動(dòng)機(jī)在于: 對(duì)每個(gè)時(shí)刻t,網(wǎng)絡(luò)自適應(yīng)學(xué)習(xí)并獲得用以更新參數(shù)的學(xué)習(xí)率.對(duì)于算法初始化,首先定義網(wǎng)絡(luò)參數(shù)θ0,BN 統(tǒng)計(jì)量B0,網(wǎng)絡(luò)參數(shù)的初始學(xué)習(xí)率λ0,以及元學(xué)習(xí)率λ*.對(duì)每個(gè)網(wǎng)絡(luò)參數(shù)均設(shè)定對(duì)應(yīng)的學(xué)習(xí)率,因此,λ0和λ*與網(wǎng)絡(luò)參數(shù)θ維度相同.第3 行表示在t時(shí)刻,給定當(dāng)前網(wǎng)絡(luò)參數(shù)θt,輸入圖像對(duì)It,則預(yù)測(cè)的深度圖為Dt(dr,dl)Φ((θt,at,Bt),It).此處dl和dr分別定義左圖像與右圖像對(duì)應(yīng)的深度圖.在前饋過程中,算法使用第2.1 節(jié)中描述的特征分布對(duì)齊算法,動(dòng)量為at.統(tǒng)計(jì)量Bt+1儲(chǔ)存至下一時(shí)刻使用.第4 行表示預(yù)測(cè)的深度圖由損失函數(shù)L(Dt,It) 進(jìn)行評(píng)估.注意到學(xué)習(xí)率λt-1為t時(shí)刻損失Lt的參數(shù),因此,在t時(shí)刻前饋完成后,通過損失Lt求解針對(duì)λt-1的梯度,并以元學(xué)習(xí)率λ*進(jìn)行梯度下降即可獲得針對(duì)t時(shí)刻用于更新參數(shù)的學(xué)習(xí)率λt.以上過程在第6 行表示.由此,算法基于上一時(shí)刻的網(wǎng)絡(luò)參數(shù)學(xué)習(xí)率λt-1和當(dāng)前時(shí)刻損失Lt,得到了更適合于當(dāng)前時(shí)刻場景的λt用于參數(shù)更新.最后,在第7 行和第8 行,算法基于λt對(duì)網(wǎng)絡(luò)參數(shù)θt和動(dòng)量at進(jìn)行梯度下降更新.通過該算法,每一時(shí)刻當(dāng)新的場景輸入模型后,優(yōu)化器以先前時(shí)刻學(xué)習(xí)率為經(jīng)驗(yàn),以當(dāng)前時(shí)刻的自監(jiān)督損失為引導(dǎo)獲得適用于當(dāng)前時(shí)刻的參數(shù)學(xué)習(xí)率,使網(wǎng)絡(luò)中每個(gè)參數(shù)均得到合理更新,幫助模型快速適應(yīng)于當(dāng)前場景.在OMLA 過程結(jié)束后,模型獲得θT+1,aT+1,BT+1和λT.
算法2.基于元學(xué)習(xí)的模型預(yù)訓(xùn)練方法
本節(jié)介紹在算法1和算法2 中使用的自監(jiān)督深度估計(jì)損失函數(shù).與文獻(xiàn)[9] 相同的是,模型以雙目圖像Il,Ir為輸入并獲得對(duì)應(yīng)的視差圖dl,dr.使用扭轉(zhuǎn)操作fw,通過視差圖dl從右圖像重構(gòu)左圖像:
對(duì)稱地,可用相同的方法從左圖像獲得右圖像的重構(gòu)結(jié)果.計(jì)算兩個(gè)重構(gòu)圖像與原圖像的誤差可以反映深度預(yù)測(cè)的效果.最終的損失函數(shù)由L1重構(gòu)誤差和基于結(jié)構(gòu)相似性(Structural similarity index,SSIM)的自重構(gòu)誤差LSSIM(參見文獻(xiàn)[9])組成:
使用上述損失函數(shù)進(jìn)行訓(xùn)練,模型能夠無監(jiān)督地獲得深度估計(jì)能力,進(jìn)行在線適應(yīng)過程時(shí)也無需深度真值.
1) 在線適應(yīng)效果的評(píng)估方法.在線學(xué)習(xí)或適應(yīng)過程中,視頻幀被序列化地輸入模型.對(duì)每個(gè)視頻幀,模型均進(jìn)行深度估計(jì)和參數(shù)更新.需要強(qiáng)調(diào)的是,在實(shí)驗(yàn)中為了合理地評(píng)估模型效果,在模型獲得預(yù)測(cè)結(jié)果后立即進(jìn)行評(píng)估,然后進(jìn)行參數(shù)更新.在整個(gè)視頻輸入完畢后,計(jì)算針對(duì)該視頻的平均效果以評(píng)估模型在該視頻上的整體表現(xiàn),同時(shí)計(jì)算最后20% 視頻幀的平均效果以評(píng)估模型在最后階段是否已經(jīng)較好地收斂.
2) 評(píng)估準(zhǔn)則.本文采用與文獻(xiàn)[1,9,40]相同的評(píng)估準(zhǔn)則.設(shè)P為測(cè)試視頻中具有深度真值的像素點(diǎn)總數(shù),di分別為在像素i處的預(yù)測(cè)結(jié)果和深度真值,則評(píng)估準(zhǔn)則如下:
本文實(shí)驗(yàn)以包含視頻序列的自動(dòng)駕駛合成數(shù)據(jù)庫為源域數(shù)據(jù)庫,在該數(shù)據(jù)庫上進(jìn)行預(yù)訓(xùn)練.以現(xiàn)實(shí)駕駛場景為目標(biāo)域數(shù)據(jù)庫,在該數(shù)據(jù)庫上進(jìn)行在線適應(yīng)和評(píng)估.所使用的數(shù)據(jù)庫如下:
1) Synthia[20]為一個(gè)城市駕駛場景的合成數(shù)據(jù)庫.其包含5 個(gè)不同場景和季節(jié)的雙目視頻流.本文使用春季場景中模擬汽車以前置攝像頭記錄的視頻流,共包含4 000 對(duì)雙目圖像,并在該數(shù)據(jù)上進(jìn)行預(yù)訓(xùn)練過程.
2) Scene Flow Driving[41]為一個(gè)駕駛場景的合成視頻數(shù)據(jù)庫.其包含不同的相機(jī)設(shè)定、車速和行駛方向.本文選擇汽車前進(jìn)場景中所有的視頻數(shù)據(jù),共2 000 對(duì)雙目圖像.
3) KITTI[14]為現(xiàn)實(shí)行車場景數(shù)據(jù)庫.本文選擇文獻(xiàn)[1] 提供的子集(簡稱Eigen 子集)為目標(biāo)域數(shù)據(jù).該子集包含32 個(gè)不同的訓(xùn)練場景以及28 個(gè)不同的測(cè)試場景.實(shí)驗(yàn)中以28 個(gè)測(cè)試視頻進(jìn)行在線適應(yīng)和評(píng)估.
本文以Pytorch[42]平臺(tái)部署方法,以一塊Nividia P40 GPU 進(jìn)行訓(xùn)練和測(cè)試.在實(shí)驗(yàn)中,每個(gè)網(wǎng)絡(luò)模型均在卷積層后包含BN 層[43],以進(jìn)行特征分布對(duì)齊.在合成數(shù)據(jù)集上的預(yù)訓(xùn)練過程中,首先以10-4為學(xué)習(xí)率進(jìn)行100 個(gè)周期的訓(xùn)練,然后利用算法2 進(jìn)行10 個(gè)周期的元預(yù)訓(xùn)練過程.此處設(shè)定λ10-4,λmeta10-5,K8,視頻長度T8,t′5.在目標(biāo)視頻的在線適應(yīng)過程中,使用OMLA 算法(即算法1),元學(xué)習(xí)率設(shè)置為λ*10-7,特征分布對(duì)齊方法僅在編碼網(wǎng)絡(luò)的BN 層中進(jìn)行.所有的訓(xùn)練和測(cè)試過程使用Adam 優(yōu)化器[44].
3.3.1 算法消融實(shí)驗(yàn)
為了驗(yàn)證本文算法的有效性,本節(jié)選擇在常用的雙目深度估計(jì)框架(在文獻(xiàn)[9]中提出)上進(jìn)行算法消融實(shí)驗(yàn).值得一提的是,盡管該框架最初是作為單目深度估計(jì)方法而提出的,但隨后在文獻(xiàn)[9-10]中成功用于雙目深度估計(jì).除特別說明,所有模型均在Synthia 數(shù)據(jù)集上進(jìn)行預(yù)訓(xùn)練,并且在Eigen子集的測(cè)試集視頻上進(jìn)行在線適應(yīng)和評(píng)估.每個(gè)視頻序列被單獨(dú)評(píng)估效果,即均從Synthia 數(shù)據(jù)集預(yù)訓(xùn)練得到的初始網(wǎng)絡(luò)參數(shù)開始在線適應(yīng)過程.最終的效果得分為所有視頻幀的平均得分.
相關(guān)的實(shí)驗(yàn)結(jié)果在表1 中展示.其中,基準(zhǔn)方法表示僅使用一般梯度下降法的在線適應(yīng)模型,在線特征分布對(duì)齊表示僅使用第2.1 節(jié)中方法,且采用基準(zhǔn)方法進(jìn)行在線適應(yīng)的模型.標(biāo)準(zhǔn)預(yù)訓(xùn)練方法表示不使用第2.3 節(jié)中元預(yù)訓(xùn)練方法,僅采用一般訓(xùn)練方法的模型.首先可以觀察到,不使用預(yù)訓(xùn)練過程的模型難以直接在目標(biāo)域視頻流上取得令人滿意的效果,而使用基準(zhǔn)方法對(duì)效果的提升也相當(dāng)有限.這證明了僅在源域訓(xùn)練時(shí),或者數(shù)據(jù)間存在域轉(zhuǎn)移時(shí)會(huì)導(dǎo)致算法效果的顯著下降.當(dāng)模型使用在線特征分布對(duì)齊方法后,其效果有明顯提升,這表明其能夠較好地處理在線適應(yīng)過程中的域轉(zhuǎn)移問題.使用OMLA 算法使結(jié)果進(jìn)一步提升.同時(shí),使用元預(yù)訓(xùn)練方法的模型,其在線適應(yīng)效果均好于使用標(biāo)準(zhǔn)預(yù)訓(xùn)練方法的模型.這些結(jié)果證明了本文元學(xué)習(xí)算法的有效性.
表1 KITTI Eigen 測(cè)試集的算法消融實(shí)驗(yàn) (僅評(píng)估 50 m 之內(nèi)的深度估計(jì)效果)Table 1 Ablation study on KITTI Eigen test set (the results are evaluated within 50 m)
3.3.2 不同網(wǎng)絡(luò)模型和數(shù)據(jù)庫的實(shí)驗(yàn)
為了進(jìn)一步驗(yàn)證本文方法的有效性,本節(jié)首先在3 種網(wǎng)絡(luò)框架下進(jìn)行對(duì)比實(shí)驗(yàn),分別為: DispNet[41],MADNet[15]和ResNet[9].實(shí)驗(yàn)主要比較了基準(zhǔn)方法和OMLA+元預(yù)訓(xùn)練算法的效果,其中基準(zhǔn)方法在源域上進(jìn)行標(biāo)準(zhǔn)預(yù)訓(xùn)練過程.同時(shí),為了驗(yàn)證本文方法在不同數(shù)據(jù)庫上的普適性,本節(jié)分別在Synthia和Scene Flow Driving 數(shù)據(jù)庫上進(jìn)行預(yù)訓(xùn)練以比較效果.相關(guān)實(shí)驗(yàn)結(jié)果在表2 中展示.可以看到,在每個(gè)網(wǎng)絡(luò)模型中,OMLA 算法均取得了明顯的提升.這證明了本文方法在小型網(wǎng)絡(luò)(如DispNet和MADNet)中仍能取得良好效果.在兩個(gè)數(shù)據(jù)庫上,OMLA 算法均帶來了提升,證明了其在數(shù)據(jù)庫間的普適性.表2 中同時(shí)比較了算法的運(yùn)行時(shí)間,以幀速率 (幀/s)為指標(biāo).可以看到,OMLA 算法由于需要額外的梯度回傳過程,因此相比于基準(zhǔn)方法,其幀速率降低了大約20%.然而,考慮到取得的效果提升,該運(yùn)行時(shí)間是可以接受的.
表2 不同網(wǎng)絡(luò)模型和數(shù)據(jù)庫上的結(jié)果對(duì)比Table 2 Comparison on different network architectures and datasets
3.3.3與理想模型和當(dāng)前最佳方法的比較
本部分通過實(shí)驗(yàn)比較本文提出的算法與理想模型(即利用目標(biāo)域數(shù)據(jù)訓(xùn)練的模型)的在線適應(yīng)效果.實(shí)驗(yàn)中的網(wǎng)絡(luò)模型均為以ResNet 構(gòu)建的模型[9].為訓(xùn)練理想模型,首先將模型在KITTI Eigen訓(xùn)練子集上進(jìn)行預(yù)訓(xùn)練.這樣一來,當(dāng)模型用于目標(biāo)域數(shù)據(jù),即KITTI Eigen 測(cè)試子集時(shí),不會(huì)受到域轉(zhuǎn)移問題的影響.對(duì)于理想模型的分析,采用了兩種做法: 1)在目標(biāo)域上不進(jìn)行在線適應(yīng)和模型更新;2)在目標(biāo)域以基準(zhǔn)方法進(jìn)行在線適應(yīng)和模型更新.同時(shí),實(shí)驗(yàn)比較了L2A 算法[35],該算法為當(dāng)前雙目深度估計(jì)領(lǐng)域最佳的在線適應(yīng)方法.相關(guān)結(jié)果在表3中展示,除OMLA+元預(yù)訓(xùn)練方法外,其余模型均采用標(biāo)準(zhǔn)預(yù)訓(xùn)練方法.可以看到,當(dāng)模型在目標(biāo)域進(jìn)行預(yù)訓(xùn)練后,基準(zhǔn)方法無法增強(qiáng)在線適應(yīng)的效果.進(jìn)一步地,相比于在目標(biāo)域預(yù)訓(xùn)練的理想模型,盡管存在域轉(zhuǎn)移問題,OMLA 算法獲得了有競爭力的在線適應(yīng)效果.相比于L2A 算法,盡管其使用基準(zhǔn)方法進(jìn)行在線適應(yīng),幀速率略高于OMLA算法,但OMLA 算法的準(zhǔn)確度較之獲得了明顯提升,這證明了處理在線適應(yīng)過程中域轉(zhuǎn)移問題的重要性,也進(jìn)一步驗(yàn)證了本文方法的效果.以上結(jié)果表明,盡管模型在訓(xùn)練過程中從未接觸真實(shí)世界數(shù)據(jù),其仍然可以利用本文的在線適應(yīng)方法獲得針對(duì)目標(biāo)場景的快速收斂能力,并逐漸預(yù)測(cè)精準(zhǔn)的場景深度圖.
表3與理想模型和當(dāng)前最優(yōu)方法的比較 (僅比較實(shí)際深度值小于50 m 的像素點(diǎn))Table 3 Comparison with ideal models and state-of-the-art method (Results are only evaluated within 50 m)
為了進(jìn)一步分析本文方法,圖3 展示了不同模型的深度估計(jì)視覺效果.為了評(píng)估不同模型的在線適應(yīng)效果隨時(shí)間的變化,此處展示了視頻初始、中段和末段時(shí)刻的深度估計(jì)效果.可以看到,理想模型在3 個(gè)時(shí)期的效果均是良好的,這是由于理想模型在目標(biāo)域進(jìn)行訓(xùn)練,因此不存在域轉(zhuǎn)移問題,模型的在線適應(yīng)效果可以得到保證.L2A 算法也取得了不錯(cuò)的效果,但其問題也較為明顯,例如在初始階段無法預(yù)測(cè)出道路樹木、交通標(biāo)志桿的深度,在中段和后段依然存在大目標(biāo)(如大型標(biāo)志牌、大貨車)的深度不準(zhǔn)確、丟失等問題.相比之下,本文方法在視頻初期預(yù)測(cè)效果有限,但在中段和末段幀上的表現(xiàn)較好,接近理想模型和深度真值.這是由于在視頻開始階段,模型仍然受到場景差異的影響而難以獲得準(zhǔn)確的預(yù)測(cè)結(jié)果.當(dāng)進(jìn)行一段時(shí)間的在線適應(yīng)后,本文方法使模型較好地收斂至當(dāng)前視頻場景,因而預(yù)測(cè)效果獲得了明顯提升.以上的視覺效果展示較好地說明了本文方法對(duì)模型在線適應(yīng)效果的提升.
圖3 在KITTI Eigen 測(cè)試集中3 個(gè)不同視頻序列上的效果 (為了展示模型的在線適應(yīng)效果隨時(shí)間的變化,此處展示了視頻初始,中段和末段時(shí)刻的深度估計(jì)效果)Fig.3 Performance on three different videos of KITTI Eigen test (We illustrated predictions of initial,medium,and last frames)
本文研究了深度估計(jì)模型的在線適應(yīng)問題,并提出了一種新的在線元學(xué)習(xí)適應(yīng)算法OMLA.該算法適用于需要深度估計(jì)網(wǎng)絡(luò)模型快速收斂和適應(yīng)于目標(biāo)視頻流的在線序列化學(xué)習(xí)場景.在公開數(shù)據(jù)集上的大量實(shí)驗(yàn)表明,相對(duì)于一般的梯度下降算法,本文方法較好地處理了域轉(zhuǎn)移問題,并通過元學(xué)習(xí)方法充分利用每一時(shí)刻的學(xué)習(xí)反饋,有助于提升深度估計(jì)模型的在線適應(yīng)效果.與當(dāng)前最好的方法相比,本文方法取得了明顯提升;與理想模型相比,本文方法獲得了接近的并有競爭力的效果.