陳 震 張道文 張聰炫 汪 洋
光流反映了圖像序列像素點(diǎn)亮度的時(shí)空域變化與圖像中物體運(yùn)動(dòng)及結(jié)構(gòu)的關(guān)系,其不僅包含了被觀察物體的運(yùn)動(dòng)參數(shù),而且攜帶豐富的三維結(jié)構(gòu)信息.因此,光流計(jì)算技術(shù)廣泛引用于各類高級(jí)視覺任務(wù),例如機(jī)器人視覺系統(tǒng)[1]、異常行為檢測(cè)[2]、無人機(jī)導(dǎo)航與避障[3]和醫(yī)學(xué)影像分析等[4].
20 世紀(jì)80 年代,Horn 等[5]首次提出光流概念和計(jì)算方法后,針對(duì)光流計(jì)算模型和優(yōu)化方法的研究不斷涌現(xiàn).根據(jù)研究路線的不同,光流計(jì)算技術(shù)研究可大致分為3 類: 1)變分光流計(jì)算技術(shù);2)圖像匹配光流計(jì)算技術(shù);3)深度學(xué)習(xí)光流計(jì)算技術(shù).在光流計(jì)算研究早期,受益于變分模型能夠產(chǎn)生稠密光流場(chǎng)且具有計(jì)算精度高、拓展性強(qiáng)等顯著優(yōu)點(diǎn),變分光流計(jì)算技術(shù)成為主流方法.針對(duì)光照變化問題,Brox 等[6]提出基于圖像梯度的守恒假設(shè)模型,提高了亮度突變下數(shù)據(jù)項(xiàng)的可靠性.針對(duì)光流計(jì)算的魯棒性問題,Sun 等[7]提出基于非局部約束的光流估計(jì)模型,采用加權(quán)中值濾波在圖像金字塔各層消除溢出點(diǎn)對(duì)光流計(jì)算的影響.針對(duì)全局優(yōu)化模型對(duì)圖像噪聲敏感的問題,Drulea 等[8]設(shè)計(jì)全局與局部結(jié)合的優(yōu)化策略,有效提高了光流計(jì)算的抗噪性.針對(duì)傳統(tǒng)平滑模型易導(dǎo)致邊緣模糊的問題,Perona等[9]提出基于圖像結(jié)構(gòu)張量的光流擴(kuò)散模型,通過控制光流在圖像邊緣不同方向的擴(kuò)散程度抑制了邊緣模糊現(xiàn)象.針對(duì)運(yùn)動(dòng)邊界的過度分割問題,Weickert 等[10]提出基于光流驅(qū)動(dòng)的各向異性擴(kuò)散策略,使得光流結(jié)果更加體現(xiàn)運(yùn)動(dòng)邊緣細(xì)節(jié).鑒于圖像邊緣和運(yùn)動(dòng)邊界并不完全重合,Zimmer 等[11]聯(lián)合圖像梯度各項(xiàng)同性擴(kuò)散與光流控制各向異性擴(kuò)散策略設(shè)計(jì)自適應(yīng)平滑項(xiàng),使得光流估計(jì)結(jié)果既貼合圖像邊緣又充分體現(xiàn)運(yùn)動(dòng)邊界.然而,由于該類方法需采用迭代運(yùn)算最小化能量泛函,導(dǎo)致其時(shí)間消耗過大.
近年來,隨著深度學(xué)習(xí)理論與技術(shù)的快速發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)的光流計(jì)算技術(shù)成為研究熱點(diǎn).Dosovitskiy 等[12]首先構(gòu)建了基于有監(jiān)督學(xué)習(xí)的光流估計(jì)模型FlowNet,該研究驗(yàn)證了通過卷積架構(gòu)直接估計(jì)原始圖像光流的可行性.針對(duì)FlowNet模型光流估計(jì)精度較低的問題,Ilg 等[13]采用網(wǎng)絡(luò)堆疊策略提高網(wǎng)絡(luò)深度,并設(shè)計(jì)FlowNetSD 模型估計(jì)小位移運(yùn)動(dòng)光流,大幅提高了網(wǎng)絡(luò)模型的光流預(yù)測(cè)精度.為降低網(wǎng)絡(luò)模型的復(fù)雜度,Ranjan 等[14]將空間金字塔與卷積神經(jīng)網(wǎng)絡(luò)相結(jié)合,通過圖像變形技術(shù)處理大位移運(yùn)動(dòng),顯著減小了模型的尺寸和參數(shù)量.針對(duì)卷積操作易導(dǎo)致光流估計(jì)結(jié)果過于平滑的問題,Hui 等[15]將金字塔特征提取網(wǎng)絡(luò)與光流估計(jì)網(wǎng)絡(luò)分開處理,通過引入正則化項(xiàng)保護(hù)了光流的邊緣結(jié)構(gòu)信息.針對(duì)遮擋區(qū)域光流估計(jì)的可靠性問題,文獻(xiàn)[16]通過圖像序列前向與后向光流耦合圖像遮擋區(qū)域,并設(shè)計(jì)基于遮擋檢測(cè)的光流估計(jì)網(wǎng)絡(luò)模型,提高了運(yùn)動(dòng)遮擋圖像序列光流估計(jì)魯棒性.雖然深度學(xué)習(xí)光流模型在計(jì)算精度和效率等方面已取得突破性進(jìn)展,但是該類方法通常需要大量標(biāo)簽數(shù)據(jù)訓(xùn)練模型參數(shù),導(dǎo)致現(xiàn)階段難以直接應(yīng)用于現(xiàn)實(shí)場(chǎng)景的光流估計(jì)任務(wù).
圖像匹配光流計(jì)算技術(shù)是通過像素點(diǎn)匹配關(guān)系確定圖像運(yùn)動(dòng)場(chǎng),因此對(duì)大位移運(yùn)動(dòng)具有較好的準(zhǔn)確性和魯棒性.Brox 等[17]首先提出在光流估計(jì)能量泛函引入基于剛性描述子的匹配約束項(xiàng),提高了剛性大位移運(yùn)動(dòng)場(chǎng)景下光流計(jì)算的準(zhǔn)確性.針對(duì)傳統(tǒng)匹配算法在弱紋理區(qū)域難以有效匹配的問題,Weinzaepfel 等[18]利用交錯(cuò)卷積與最大池化操作進(jìn)行稠密采樣求解像素點(diǎn)匹配關(guān)系,有效提高了弱紋理區(qū)域的光流計(jì)算精度.針對(duì)非剛性大位移運(yùn)動(dòng)光流計(jì)算的準(zhǔn)確性問題,張聰炫等[19]提出基于非剛性稠密匹配的大位移光流計(jì)算方法,有效提高了非剛性大位移運(yùn)動(dòng)場(chǎng)景下光流估計(jì)的精度與魯棒性.Hu 等[20]采用金字塔分層迭代優(yōu)化策略求解圖像局部塊匹配關(guān)系,顯著改善了光流估計(jì)的噪聲問題.針對(duì)光流計(jì)算在遮擋、運(yùn)動(dòng)邊界和非剛性運(yùn)動(dòng)等情況下易產(chǎn)生運(yùn)動(dòng)邊界模糊的問題,Revaud 等[21]采用圖像邊緣驅(qū)動(dòng)的稠密插值策略初始化光流估計(jì)能量泛函,實(shí)驗(yàn)證明該方法對(duì)大位移和運(yùn)動(dòng)遮擋具有很好的邊緣保護(hù)作用.針對(duì)稠密插值模型易受匹配噪聲影響的問題,Hu 等[22]提出基于分段濾波的超像素匹配光流估計(jì)方法,顯著降低了匹配噪聲對(duì)光流估計(jì)精度的影響.
現(xiàn)階段,圖像匹配光流計(jì)算方法已成為解決大位移運(yùn)動(dòng)光流計(jì)算準(zhǔn)確性和可靠性問題的重要手段,但是該類方法在復(fù)雜場(chǎng)景、非剛性運(yùn)動(dòng)和運(yùn)動(dòng)模糊等圖像區(qū)域易產(chǎn)生錯(cuò)誤匹配,導(dǎo)致光流估計(jì)效果不佳.針對(duì)以上問題,本文提出基于深度匹配的由稀疏到稠密大位移光流計(jì)算方法,首先利用深度匹配計(jì)算初始稀疏運(yùn)動(dòng)場(chǎng),然后采用鄰域支持優(yōu)化模型剔除錯(cuò)誤匹配像素點(diǎn),獲得魯棒稀疏運(yùn)動(dòng)場(chǎng);最后對(duì)稀疏運(yùn)動(dòng)場(chǎng)進(jìn)行稠密插值并最小化能量泛函求解稠密光流.實(shí)驗(yàn)結(jié)果表明本文方法具有較高的光流估計(jì)精度,尤其對(duì)大位移、非剛性運(yùn)動(dòng)以及運(yùn)動(dòng)遮擋等困難場(chǎng)景具有較好的魯棒性.
針對(duì)傳統(tǒng)匹配模型在非剛性形變和大位移運(yùn)動(dòng)區(qū)域易產(chǎn)生匹配錯(cuò)誤的問題,Revaud 等[23]提出基于區(qū)域劃分的深度匹配方法,有效提高了非剛性形變和大位移運(yùn)動(dòng)區(qū)域的像素點(diǎn)匹配精度.如圖1所示,深度匹配首先將傳統(tǒng)采樣窗口劃分為N個(gè)子區(qū)域,然后根據(jù)子區(qū)域的相似性分別優(yōu)化各子區(qū)域的位置,進(jìn)而利用子區(qū)域位置確定像素點(diǎn)的匹配關(guān)系.
圖1 基于區(qū)域劃分的深度匹配采樣窗口示意圖 ((a)參考幀采樣窗口;(b)傳統(tǒng)匹配方法采樣窗口;(c)深度匹配算法采樣窗口)Fig.1 Illustration of the deep matching sample window based on the regional division ((a) Sample window of the reference frame;(b) Sample window of the traditional matching method;(c) Sample window of the deep matching method)
假設(shè)I0和I1分別表示圖像序列相鄰兩幀圖像,首先將I0和I1分解為N個(gè)非重疊子區(qū)域,每個(gè)子區(qū)域由4 個(gè)相鄰像素點(diǎn)構(gòu)成,根據(jù)式(1)計(jì)算各子區(qū)域的匹配關(guān)系,即
其中,R與R′分別表示I0和I1中互相匹配的兩個(gè)子區(qū)域,表示I0和I1中的像素點(diǎn)描述子,Sim(R,R′)是根據(jù)區(qū)域相似性確定的子區(qū)域匹配關(guān)系.則深度匹配的實(shí)現(xiàn)過程主要包括以下兩步:首先,如圖2(a)所示,每四個(gè)相鄰的子區(qū)域經(jīng)金字塔不斷向上層聚合,確定I0和I1中更大的區(qū)域匹配關(guān)系,直到金字塔頂端;然后,如圖2(b)所示,定義相互匹配的區(qū)域中心像素點(diǎn)為匹配像素點(diǎn),由金字塔頂層自上而下的檢索各層金字塔中像素點(diǎn)匹配關(guān)系,統(tǒng)計(jì)各層金字塔中匹配像素點(diǎn)坐標(biāo)得到稀疏運(yùn)動(dòng)場(chǎng).
圖2 深度匹配金字塔采樣示意圖 ((a)第1 幀子區(qū)域聚合;(b)第2 幀子區(qū)域聚合)Fig.2 Illustration of the pyramid sampling based deep matching ((a) Subregion polymerization of the first frame;(b) Subregion polymerization of the second frame)
鑒于深度匹配模型在非剛性形變和大位移運(yùn)動(dòng)區(qū)域相對(duì)傳統(tǒng)匹配方法具有更高的像素點(diǎn)匹配精度和可靠性,本文首先采用深度匹配模型計(jì)算圖像序列相鄰兩幀圖像的初始匹配結(jié)果.
雖然深度匹配能夠提高非剛性形變和大位移運(yùn)動(dòng)區(qū)域的像素點(diǎn)匹配精度,但是由于圖像中常常包含噪聲、光照變化等因素的干擾,導(dǎo)致其匹配結(jié)果可能存在錯(cuò)誤匹配像素點(diǎn).為了剔除初始匹配結(jié)果中的錯(cuò)誤匹配像素點(diǎn),本文采用基于運(yùn)動(dòng)統(tǒng)計(jì)策略的圖像匹配優(yōu)化方法對(duì)初始匹配結(jié)果進(jìn)行優(yōu)化[24],能夠有效提高像素點(diǎn)匹配的準(zhǔn)確性與可靠性.
假設(shè)相鄰兩幀圖像中運(yùn)動(dòng)是連續(xù)平滑的,那么圖像局部區(qū)域內(nèi)中心點(diǎn)與其鄰域像素點(diǎn)的運(yùn)動(dòng)應(yīng)一致,則與匹配像素點(diǎn)保持運(yùn)動(dòng)一致性的鄰域支持像素點(diǎn)數(shù)量可以表達(dá)為
其中,K表示與匹配像素點(diǎn)xi一起運(yùn)動(dòng)的鄰域個(gè)數(shù),a表示第1 幀圖像中任意局部區(qū)域,b是區(qū)域a在下一幀圖像中的對(duì)應(yīng)匹配區(qū)域,ak →bk表示相鄰兩幀圖像中與匹配像素點(diǎn)xi保持相同幾何關(guān)系的 第k對(duì)匹配區(qū)域,表示匹 配 區(qū) 域ak →bk內(nèi)互相匹配的像素點(diǎn)個(gè)數(shù).由于本文將深度匹配中各像素點(diǎn)匹配過程近似看作互不干擾的獨(dú)立事件,由此可知Si近似二項(xiàng)分布
其中,n表示匹配像素點(diǎn)xi各鄰域內(nèi)平均匹配像素點(diǎn)數(shù)量.pt=Dt+β(1-Dt)m/M表示a→b為正確匹配區(qū)域時(shí),匹配區(qū)域a→b內(nèi)一對(duì)像素點(diǎn)互相匹配的概率;pf=β(1-Dt)m/M表示a→b為錯(cuò)誤匹配區(qū)域時(shí),匹配區(qū)域a→b內(nèi)一對(duì)像素點(diǎn)互相匹配的概率.式中,符號(hào)Dt表示深度匹配結(jié)果的匹配正確率,β表示概率參數(shù),m表示區(qū)域b中匹配像素點(diǎn)數(shù)量,M表示根據(jù)深度匹配計(jì)算的稀疏運(yùn)動(dòng)場(chǎng)中匹配像素點(diǎn)總數(shù).
由式(3)可知,正確匹配與錯(cuò)誤匹配像素點(diǎn)的鄰域支持像素點(diǎn)數(shù)量具有很大差異性.因此,通過統(tǒng)計(jì)任意匹配像素點(diǎn)的鄰域支持像素點(diǎn)數(shù)量可以判斷該像素點(diǎn)是否匹配正確.本文使用標(biāo)準(zhǔn)差與期望值量化鄰域支持優(yōu)化模型對(duì)正確匹配像素點(diǎn)與錯(cuò)誤匹配像素點(diǎn)的甄別力,可表示為
其中,P表示鄰域支持模型對(duì)匹配像素點(diǎn)的甄別力.由式(4)分析可得P值大小與各變量的變化關(guān)系如下所示:
由式(5)可知,隨著鄰域支持匹配像素點(diǎn)數(shù)量的增加,鄰域支持模型對(duì)正確匹配像素點(diǎn)與錯(cuò)誤匹配像素點(diǎn)的甄別力可以擴(kuò)展到無窮大.此外,鄰域支持模型的優(yōu)化能力還與深度匹配結(jié)果的匹配正確率相關(guān),正確率越高,優(yōu)化能力越強(qiáng).因此,采用鄰域支持優(yōu)化模型剔除錯(cuò)誤匹配像素點(diǎn)能夠有效提高稀疏運(yùn)動(dòng)場(chǎng)的匹配準(zhǔn)確度與魯棒性.
對(duì)初始稀疏運(yùn)動(dòng)場(chǎng)進(jìn)行鄰域支持優(yōu)化的目的是剔除錯(cuò)誤匹配像素點(diǎn),但是基于像素點(diǎn)的置信度估計(jì)會(huì)導(dǎo)致計(jì)算成本的顯著增加.為了降低計(jì)算成本,本文引入網(wǎng)格框架優(yōu)化鄰域支持模型,使得置信度估計(jì)獨(dú)立于圖像特征點(diǎn),而僅與劃分的圖像網(wǎng)格數(shù)量相關(guān),以提高鄰域支持優(yōu)化模型的計(jì)算效率.
首先使用網(wǎng)格近似法,將連續(xù)兩幀圖像分別劃分為n×n的非重疊圖像網(wǎng)格.然后定義前后幀圖像中匹配像素點(diǎn)數(shù)量最多的網(wǎng)格為候選匹配網(wǎng)格,根據(jù)式(6)分別計(jì)算候選匹配網(wǎng)格的匹配置信度,即
其中,N表示劃分的非重疊圖像網(wǎng)格數(shù)量,True 表示圖像網(wǎng)格i與j匹配正確,False 表示圖像網(wǎng)格i與j匹配錯(cuò)誤.是匹配網(wǎng)格判斷函數(shù),其中,nij表示圖像網(wǎng)格i與j相鄰網(wǎng)格內(nèi)匹配像素點(diǎn)的平均數(shù)量,α是閾值權(quán)重系數(shù).
根據(jù)網(wǎng)格匹配結(jié)果,本文將相鄰兩幀圖像中像素點(diǎn)坐標(biāo)皆位于正確匹配網(wǎng)格內(nèi)的匹配像素點(diǎn)定義為匹配正確的像素點(diǎn),并將其他匹配像素點(diǎn)剔除,獲得超魯棒稀疏運(yùn)動(dòng)場(chǎng).圖3 分別展示了深度匹配模型與本文提出的基于鄰域支持的匹配模型針對(duì)KITTI 數(shù)據(jù)庫大位移運(yùn)動(dòng)圖像序列的運(yùn)動(dòng)場(chǎng)估計(jì)結(jié)果.從圖中可以看出,本文方法能夠有效剔除初始稀疏運(yùn)動(dòng)場(chǎng)中的錯(cuò)誤匹配像素點(diǎn)對(duì),具有計(jì)算精度高、魯棒性好等顯著優(yōu)點(diǎn).
圖3 本文鄰域支持模型運(yùn)動(dòng)場(chǎng)優(yōu)化效果 (藍(lán)色標(biāo)記符表示匹配正確像素點(diǎn),紅色標(biāo)記符表示匹配錯(cuò)誤像素點(diǎn))Fig.3 Optimization effect of the motion field by using the proposed neighborhood supporting model (The blue mark indicates the correct matching pixels,the red mark denotes the false matching pixels)
雖然根據(jù)網(wǎng)格化鄰域支持模型優(yōu)化得到的圖像序列運(yùn)動(dòng)場(chǎng)包含魯棒光流信息,但是該運(yùn)動(dòng)場(chǎng)是稀疏的.現(xiàn)有的圖像匹配光流計(jì)算方法通常根據(jù)像素點(diǎn)的歐氏距離進(jìn)行插值,以獲取稠密光流場(chǎng).但是由于傳統(tǒng)的插值模型僅考慮像素點(diǎn)的絕對(duì)距離,因此易導(dǎo)致插值結(jié)果出現(xiàn)圖像與運(yùn)動(dòng)邊界模糊的問題.為了保護(hù)光流結(jié)果的圖像與運(yùn)動(dòng)邊界特征,本文利用邊緣保護(hù)距離進(jìn)行由稀疏到稠密插值.
根據(jù)局部權(quán)重仿射變換原理,采用式(8)對(duì)圖像序列稀疏運(yùn)動(dòng)場(chǎng)進(jìn)行稠密插值計(jì)算光流場(chǎng)
其中,p表示第1 幀圖像中任意像素點(diǎn),符號(hào)Ap與tp是像素點(diǎn)p的仿射變換參數(shù),可通過式(9)建立超定方程組求解.
其中,ρpm,p表示像素點(diǎn)pm與p之間所有可能路徑,C(ps) 表示運(yùn)動(dòng)邊緣檢測(cè)圖中像素ps的值,若ps位于運(yùn)動(dòng)邊緣則C(ps)的值極大,反之為零.由于每個(gè)像素點(diǎn)都基于其鄰近已知的匹配像素點(diǎn)進(jìn)行插值,因此能有效保護(hù)運(yùn)動(dòng)邊界.
為了提高插值效率,本文首先根據(jù)式(10)對(duì)像素點(diǎn)進(jìn)行聚類,將第1 幀圖像中所有像素點(diǎn)分配到距離最近的匹配像素點(diǎn).然后查找距離任意像素點(diǎn)p最近的匹配像素點(diǎn)pm,并利用匹配像素點(diǎn)pm的仿射變換參數(shù)計(jì)算像素點(diǎn)p的第2 幀圖像對(duì)應(yīng)匹配像素點(diǎn)p′.以上操作僅需計(jì)算稀疏運(yùn)動(dòng)場(chǎng)中所有匹配像素點(diǎn)的仿射變換參數(shù),即可根據(jù)局部像素點(diǎn)聚類插值計(jì)算稠密運(yùn)動(dòng)場(chǎng),降低了插值計(jì)算的復(fù)雜度.最后,為獲得平滑的稠密光流,采用式(11)中的能量泛函對(duì)稠密運(yùn)動(dòng)場(chǎng)進(jìn)行全局優(yōu)化,得到最終的稠密光流結(jié)果.
式(11)中,w=(u,v)T表示估計(jì)光流,Ψ 是懲罰函數(shù),j0為符合亮度守恒假設(shè)的運(yùn)動(dòng)張量分量,γ為梯度守恒權(quán)重,jxy為符合梯度守恒的運(yùn)動(dòng)張量分量,?為平滑項(xiàng)局部平滑權(quán)重.
根據(jù)前文敘述,本文由稀疏到稠密光流估計(jì)方法的計(jì)算步驟如下:
步驟 1.輸入圖像序列相鄰兩幀圖像I0和I1;
步驟 2.將I0和I1分解為N個(gè)非重疊子區(qū)域,每個(gè)子區(qū)域由4 個(gè)相鄰像素點(diǎn)構(gòu)成,根據(jù)式(1)計(jì)算各子區(qū)域的匹配關(guān)系;
步驟 3.建立圖像金字塔,將相鄰子區(qū)域由金字塔底層向上層聚合,確定圖像I0和I1中更大的區(qū)域匹配關(guān)系,直到金字塔頂層;
步驟 4.定義相互匹配的區(qū)域中心像素點(diǎn)為匹配像素點(diǎn),由金字塔頂層自上而下檢索各層金字塔中像素點(diǎn)匹配關(guān)系,得到初始稀疏運(yùn)動(dòng)場(chǎng);
步驟 5.根據(jù)式(2)計(jì)算與匹配像素點(diǎn)保持運(yùn)動(dòng)一致性的鄰域支持像素點(diǎn)數(shù)量,并由式(3)甄別正確匹配與錯(cuò)誤匹配像素點(diǎn);
步驟 6.引入網(wǎng)格框架優(yōu)化模型,通過式(6)和式(7)剔除錯(cuò)誤匹配網(wǎng)格中的像素點(diǎn),求解魯棒稀疏運(yùn)動(dòng)場(chǎng);
步驟 7.根據(jù)式(10)計(jì)算圖像匹配像素點(diǎn)之間的邊緣保護(hù)距離,根據(jù)邊緣保護(hù)距離進(jìn)行像素點(diǎn)聚類,將圖像I0中所有像素點(diǎn)分配到其距離最近的匹配像素點(diǎn);
步驟 8.根據(jù)式(9)建立超定方程組求解所有匹配像素點(diǎn)的仿射變換參數(shù);
步驟 9.通過式(8)進(jìn)行由稀疏到稠密插值計(jì)算初始稠密運(yùn)動(dòng)場(chǎng);
步驟 10.將初始稠密運(yùn)動(dòng)場(chǎng)代入式(11)中能量泛函進(jìn)行全局優(yōu)化迭代,輸出最終的稠密光流結(jié)果.
分別采用MPI-Sintel 和KITTI 評(píng)價(jià)標(biāo)準(zhǔn)對(duì)本文方法光流估計(jì)效果進(jìn)行綜合測(cè)試分析,光流計(jì)算結(jié)果評(píng)價(jià)指標(biāo)如下:
MPI-Sintel 評(píng)價(jià)標(biāo)準(zhǔn)采用平均角誤差(Average angular error,AAE)和平均端點(diǎn)誤差(Average endpoint error,AEE)對(duì)光流估計(jì)結(jié)果進(jìn)行量化評(píng)價(jià),其中,AAE 反映估計(jì)光流整體偏離光流真實(shí)值的角度;AEE 反映估計(jì)光流整體偏離光流真實(shí)值的距離.
式中,(uE,vE)T表示光流估計(jì)結(jié)果,(uG,vG)T表示光流真實(shí)值,N表示圖中像素點(diǎn)數(shù)量.
KITTI 評(píng)價(jià)標(biāo)準(zhǔn)采用平均端點(diǎn)誤差(AEE)和異常值百分比(Percentage of outliers)對(duì)光流估計(jì)結(jié)果進(jìn)行量化評(píng)價(jià),異常值百分比表示光流估計(jì)值偏離真實(shí)值超過一定閾值的離群像素點(diǎn)占整幅圖像的百分比:
其中,NOC和ALL分別表示非遮擋區(qū)域與整幅圖像中像素點(diǎn)個(gè)數(shù),P(AEE1>3)表示光流平均端點(diǎn)誤差大于3 個(gè)像素的像素個(gè)數(shù),outnoc和outall分別表示非遮擋區(qū)域和包含遮擋區(qū)域光流異常值百分比.
為了驗(yàn)證本文方法對(duì)大位移光流的估計(jì)精度,分別選取Classic+NL[7]、DeepFlow[18]、EpicFlow[21]和FlowNetS[12]等代表性光流計(jì)算方法進(jìn)行量化對(duì)比與分析.其中Classic+NL 是典型的變分光流計(jì)算方法,其在光流估計(jì)過程中采用加權(quán)中值濾波消除金字塔分層光流計(jì)算產(chǎn)生的異常值,本文實(shí)驗(yàn)設(shè)定其金字塔分層數(shù)為6 層.DeepFlow 是基于特征匹配與金字塔變形策略相結(jié)合的光流計(jì)算方法,本文在對(duì)比實(shí)驗(yàn)中設(shè)定金字塔采樣系數(shù)為0.95.Epic-Flow 采用基于匹配像素點(diǎn)數(shù)量的分段剛性插值模型為光流初始化提供準(zhǔn)確的先驗(yàn)知識(shí),本文實(shí)驗(yàn)選取各匹配像素點(diǎn)的200 個(gè)鄰域匹配像素點(diǎn)計(jì)算插值參數(shù).FlowNetS 是基于卷積神經(jīng)網(wǎng)絡(luò)的深度學(xué)習(xí)光流計(jì)算模型,在具有大量訓(xùn)練數(shù)據(jù)的情況下能夠獲取較好的光流估計(jì)效果.
本文方法關(guān)鍵參數(shù)主要包括圖像初始化網(wǎng)格劃分?jǐn)?shù)量N 和閾值權(quán)重系數(shù)α.本節(jié)以KITTI 數(shù)據(jù)集000016 序列和000017 序列的AEE 誤差為例,分別討論圖像網(wǎng)格劃分和閾值權(quán)重系數(shù)對(duì)光流估計(jì)結(jié)果的影響.
圖4 分別展示了不同圖像網(wǎng)格劃分?jǐn)?shù)量和閾值權(quán)重系數(shù)時(shí)本文方法光流估計(jì)結(jié)果的AEE 誤差變化.從圖4(a)中可以看出,隨著圖像網(wǎng)格劃分?jǐn)?shù)量的增加,本文方法光流誤差A(yù)EE 呈現(xiàn)先減小后增加的趨勢(shì),這是由于隨著網(wǎng)格劃分?jǐn)?shù)量的增加,網(wǎng)格框架對(duì)圖像的劃分變得更加細(xì)致,使得鄰域支持優(yōu)化模型更貼合局部運(yùn)動(dòng)平滑假設(shè).但是當(dāng)網(wǎng)格劃分?jǐn)?shù)量過多時(shí),由于難以準(zhǔn)確統(tǒng)計(jì)匹配像素點(diǎn)周圍的鄰域支持匹配像素點(diǎn),導(dǎo)致光流估計(jì)精度下降.因此,本文設(shè)置圖像初始化網(wǎng)格劃分?jǐn)?shù)量為14×14.從圖4(b)中可以看出,本文方法對(duì)閾值權(quán)重系數(shù)的變化并不敏感,僅當(dāng)閾值權(quán)重系數(shù)過大時(shí),會(huì)導(dǎo)致部分正確匹配像素點(diǎn)被誤判斷為錯(cuò)誤匹配點(diǎn),導(dǎo)致光流估計(jì)精度下降.因此,本文設(shè)定閾值權(quán)重系數(shù)α=10.
圖4 不同參數(shù)設(shè)置對(duì)本文光流估計(jì)精度的影響Fig.4 Variation of optical flow estimation results respect to different parameters
MPI-Sintel 數(shù)據(jù)庫測(cè)試圖像集包含非剛性形變、大位移、光照變化、復(fù)雜場(chǎng)景以及運(yùn)動(dòng)模糊等困難場(chǎng)景,因此是光流估計(jì)領(lǐng)域最具挑戰(zhàn)的評(píng)價(jià)數(shù)據(jù)庫之一.為了驗(yàn)證本文方法針對(duì)非剛性形變和大位移運(yùn)動(dòng)等困難場(chǎng)景光流估計(jì)的準(zhǔn)確性與魯棒性,利用MPI-Sintel 數(shù)據(jù)庫提供的23 個(gè)標(biāo)準(zhǔn)測(cè)試序列對(duì)本文方法以及各對(duì)比方法進(jìn)行綜合測(cè)試.
表1 分別列出了本文方法與其他對(duì)比方法針對(duì)MPI-Sintel 測(cè)試圖像集的光流誤差對(duì)比結(jié)果.從表中可以看到,由于Classic+NL 算法僅采用金字塔分層策略優(yōu)化變分光流能量泛函,因此對(duì)非剛性形變和大位移運(yùn)動(dòng)較敏感,導(dǎo)致其光流估計(jì)誤差較大.DeepFlow 和EpicFlow 算法相對(duì)Classic +NL 算法在光流計(jì)算精度上有明顯提升,說明基于匹配策略的光流計(jì)算方法在非剛性形變與大位移運(yùn)動(dòng)場(chǎng)景具有更好的估計(jì)效果.受益于MPI-Sintel 數(shù)據(jù)庫提供了較充足的訓(xùn)練樣本,能夠滿足深度學(xué)習(xí)光流計(jì)算模型FlowNetS 的訓(xùn)練需求,該方法光流估計(jì)精度較高.本文方法光流估計(jì)精度最高,說明本文方法針對(duì)非剛性形變與大位移運(yùn)動(dòng)具有更好的光流估計(jì)準(zhǔn)確性與魯棒性.
表1 MPI-Sintel 數(shù)據(jù)庫光流估計(jì)誤差對(duì)比Table 1 Comparison results of optical flow errors on MPI-Sintel database
為了對(duì)比分析本文方法和各對(duì)比方法針對(duì)非剛性大位移和運(yùn)動(dòng)遮擋場(chǎng)景的光流估計(jì)效果,表2 中分別列出了不同方法針對(duì)Ambush_5,Cave_2,Market_2,Market_5 和Temple_2 等包含大位移、運(yùn)動(dòng)遮擋和非剛性形變等困難運(yùn)動(dòng)場(chǎng)景圖像序列的光流誤差對(duì)比結(jié)果.從表中可以看出,Classic +NL 算法針對(duì)五組測(cè)試序列的平均誤差較大,說明該方法針對(duì)困難運(yùn)動(dòng)場(chǎng)景的光流估計(jì)效果較差.FlowNetS 方法的平均AAE 和AEE 誤差均最大,主要由于該方法在Ambush_5 和Cave_2 序列的誤差大幅高于其他方法,說明FlowNetS 算法針對(duì)非剛性大位移運(yùn)動(dòng)的光流估計(jì)效果較差.Deep-Flow 與EpicFlow 算法光流估計(jì)AEE 誤差較小,說明該類方法采用像素點(diǎn)匹配計(jì)算策略對(duì)大位移運(yùn)動(dòng)具有很好的定位作用.本文方法的平均誤差最小,僅針對(duì)Temple_2 序列的AEE 誤差略大于Deep-Flow 算法,但本文方法針對(duì)Cave_2,Market_5序列的AEE 誤差大幅小于DeepFlow 算法,且本文算法在其他所有測(cè)試序列均取得最優(yōu)表現(xiàn),說明本文方法針對(duì)非剛性大位移和運(yùn)動(dòng)遮擋場(chǎng)景具有更好的光流估計(jì)精度與魯棒性.
表2 非剛性大位移與運(yùn)動(dòng)遮擋圖像序列光流估計(jì)誤差對(duì)比Table 2 Comparison results of optical flow errors on the image sequences including non-rigidly large displacements and motion occlusions
圖5 分別展示了本文方法和各對(duì)比方法針對(duì)Ambush_5,Market_2,Market_5,Cave_2,Temple_2 等包含非剛性大位移與運(yùn)動(dòng)遮擋場(chǎng)景的圖像序列光流估計(jì)結(jié)果.從圖中可以看出,Classic+NL 算法在背景區(qū)域的光流計(jì)算效果較好,但是在非剛性形變和大位移運(yùn)動(dòng)區(qū)域光流估計(jì)結(jié)果存在明顯錯(cuò)誤.EpicFlow 和DeepFlow 算法在大位移運(yùn)動(dòng)區(qū)域的光流估計(jì)效果優(yōu)于Classic+NL 算法,但是由于這兩種方法的匹配模型均是建立在剛性運(yùn)動(dòng)假設(shè)下,導(dǎo)致其在非剛性運(yùn)動(dòng)區(qū)域光流估計(jì)結(jié)果不準(zhǔn)確.雖然FlowNetS 算法的光流估計(jì)精度較高,但該方法光流結(jié)果存在明顯的過度平滑現(xiàn)象,難以準(zhǔn)確反映目標(biāo)與場(chǎng)景的邊界.從圖中不難看出,本文方法光流估計(jì)效果較好,尤其在ambush_5 序列人物的頭部和手臂,market_2,market_5 人物的腿部,cave_2 序列人物的腿部和武器,temple_2序列飛行龍的翅膀等非剛性形變和大位移運(yùn)動(dòng)區(qū)域光流估計(jì)結(jié)果明顯優(yōu)于其他對(duì)比方法,說明本文方法針對(duì)非剛性形變和大位移運(yùn)動(dòng)等困難場(chǎng)景具有更高的光流估計(jì)精度與魯棒性.
圖5 非剛性大位移與運(yùn)動(dòng)遮擋圖像序列光流估計(jì)結(jié)果Fig.5 Optical flow results of the image sequences including non-rigidly large displacements and motion occlusions
KITTI 數(shù)據(jù)庫由德國卡爾斯魯厄理工學(xué)院和豐田美國技術(shù)研究院聯(lián)合創(chuàng)辦,用于評(píng)測(cè)立體匹配、光流、場(chǎng)景流、目標(biāo)檢測(cè)、目標(biāo)跟蹤等各類計(jì)算機(jī)視覺算法在車載現(xiàn)實(shí)場(chǎng)景下的表現(xiàn)性能.由于KITTI數(shù)據(jù)庫由包含強(qiáng)烈光照變化和大位移運(yùn)動(dòng)的真實(shí)場(chǎng)景圖像序列組成,因此是目前最具挑戰(zhàn)的光流評(píng)測(cè)數(shù)據(jù)庫之一.為了進(jìn)一步驗(yàn)證本文方法在現(xiàn)實(shí)場(chǎng)景下的光流估計(jì)準(zhǔn)確性與可靠性,采用KITTI 數(shù)據(jù)庫提供的測(cè)試圖像序列對(duì)本文方法和各對(duì)比方法進(jìn)行綜合測(cè)試分析.
表3 分別列出了本文方法與各對(duì)比方法針對(duì)KITTI 數(shù)據(jù)庫測(cè)試圖像序列的光流計(jì)算誤差統(tǒng)計(jì)結(jié)果.其中,AEEnoc表示圖像中非遮擋區(qū)域像素點(diǎn)的AEE 結(jié)果,AEEall表示圖像中所有像素點(diǎn)的AEE結(jié)果.可以看出,由于FlowNetS 算法沒有針對(duì)KITTI數(shù)據(jù)集進(jìn)行訓(xùn)練,導(dǎo)致其誤差較大.DeepFlow 與EpicFlow 算法由于添加了像素點(diǎn)匹配信息,整體結(jié)果優(yōu)于Classic+NL 算法,但是由于部分區(qū)域存在像素點(diǎn)匹配不準(zhǔn)確的原因,導(dǎo)致其精度低于本文方法.本文方法針對(duì)KITTI 測(cè)試序列各項(xiàng)評(píng)估指標(biāo)均取得最優(yōu)表現(xiàn),說明本文方法具有更好的光流估計(jì)精度與魯棒性.
表3 KITTI 數(shù)據(jù)庫光流估計(jì)誤差對(duì)比Table 3 Comparison results of optical flow errors on KITTI database
圖6 分別展示了本文方法和各對(duì)比方法針對(duì)000008、000010、000023、000043、000059、000085等KITTI 數(shù)據(jù)庫測(cè)試圖像序列的光流誤差圖,圖中藍(lán)色到紅色表示光流誤差由小到大.從圖中可以看出,由于缺乏真實(shí)場(chǎng)景訓(xùn)練樣本,FlowNetS 算法誤差最大,說明基于深度學(xué)習(xí)的光流計(jì)算模型目前還難以應(yīng)用于沒有真實(shí)值的現(xiàn)實(shí)場(chǎng)景.Classic +NL 算法在背景區(qū)域的光流計(jì)算效果較好,但是針對(duì)發(fā)生大位移運(yùn)動(dòng)的車輛區(qū)域,光流估計(jì)效果較差.DeepFlow 和EpicFlow 算法相對(duì)Classic+NL 算法在大位移運(yùn)動(dòng)區(qū)域的光流計(jì)算精度有明顯提升,說明基于匹配策略的光流計(jì)算方法在大位移運(yùn)動(dòng)場(chǎng)景具有更好的估計(jì)效果.本文方法與其他方法相比,紅色的大誤差區(qū)域最少,光流估計(jì)效果最好.尤其在包含大位移運(yùn)動(dòng)的車輛區(qū)域,光流估計(jì)結(jié)果明顯優(yōu)于其他對(duì)比方法,說明本文方法針對(duì)包含非剛性形變和大位移運(yùn)動(dòng)的真實(shí)場(chǎng)景具有更高的光流估計(jì)精度與魯棒性.
圖6 KITTI 數(shù)據(jù)庫測(cè)試圖像序列光流誤差圖Fig.6 Optical flow error maps of KITTI dataset
為驗(yàn)證本文方法提出的網(wǎng)格化鄰域支持匹配優(yōu)化、基于邊緣保護(hù)距離的由稀疏到稠密插值以及光流計(jì)算全局優(yōu)化對(duì)非剛性大位移和運(yùn)動(dòng)遮擋場(chǎng)景光流計(jì)算效果的提升作用,本文分別采用MPI-Sintel 數(shù)據(jù)庫提供Alley_2,Cave_4 和Market_6 圖像序列對(duì)本文方法進(jìn)行消融實(shí)驗(yàn)測(cè)試.表4 分別列出了本文方法和不同消融模型的AEE 誤差對(duì)比結(jié)果,其中,無匹配優(yōu)化表示本文方法去除網(wǎng)格化鄰域支持匹配優(yōu)化模型、無稠密插值表示本文方法去除基于邊緣保護(hù)距離的由稀疏到稠密插值模型、無全局優(yōu)化代表本文方法去除全局能量泛函優(yōu)化模型.從表4 中可以看出,去除匹配優(yōu)化、稠密插值以及全局優(yōu)化模型后會(huì)導(dǎo)致本文方法的光流估計(jì)精度出現(xiàn)不同程度的下降,說明本文提出的網(wǎng)格化鄰域支持匹配優(yōu)化策略、基于邊緣保護(hù)距離的由稀疏到稠密插值模型以及光流計(jì)算全局優(yōu)化方法對(duì)提高非剛性大位移運(yùn)動(dòng)和運(yùn)動(dòng)遮擋場(chǎng)景光流估計(jì)精度均有重要作用.
表4 本文方法消融實(shí)驗(yàn)結(jié)果對(duì)比Table 4 Comparison results of the ablation experiment
圖7 分別展示了本文方法和不同消融模型針對(duì)Alley_2,Cave_4 和Market_6 圖像序列的光流計(jì)算結(jié)果.從圖中可以看出,去除網(wǎng)格化鄰域支持匹配優(yōu)化模型后本文方法在大位移運(yùn)動(dòng)區(qū)域的光流估計(jì)效果下降明顯,說明網(wǎng)格化鄰域支持匹配優(yōu)化能夠顯著提高大位移運(yùn)動(dòng)光流估計(jì)的精度與魯棒性.此外,去除基于邊緣保護(hù)距離的由稀疏到稠密插值模型后,光流計(jì)算結(jié)果存在明顯的邊緣模糊現(xiàn)象,說明本文提出的邊緣保護(hù)插值模型能夠有效改善光流估計(jì)的邊緣模糊問題.最后,去除全局優(yōu)化模型后,本文方法光流估計(jì)結(jié)果丟失了大量的運(yùn)動(dòng)與結(jié)構(gòu)信息,說明全局優(yōu)化模型能夠顯著提高光流估計(jì)的全局精度與效果.
圖7 MPI-Sintel 數(shù)據(jù)庫消融實(shí)驗(yàn)光流圖Fig.7 Optical flow results of the ablation experiment tested on MPI-Sintel database
為了對(duì)本文方法與其他方法進(jìn)行綜合對(duì)比分析,表5 分別列出了本文方法與其他對(duì)比方法針對(duì)MPI-Sintel 和KITTI 數(shù)據(jù)庫測(cè)試圖像集的平均時(shí)間消耗對(duì)比.
表5 本文方法與其他方法時(shí)間消耗對(duì)比(s)Table 5 Comparison of time consumption between the proposed method and the other approaches (s)
由表5 中不同方法的時(shí)間消耗對(duì)比結(jié)果可以看出,受益于卷積神經(jīng)網(wǎng)絡(luò)的實(shí)時(shí)計(jì)算優(yōu)勢(shì),FlowNetS方法的時(shí)間消耗最小,計(jì)算效率最高.Classic +NL 算法由于采用金字塔分層變形策略優(yōu)化變分光流計(jì)算,導(dǎo)致其時(shí)間消耗最大,計(jì)算復(fù)雜度最高.DeepFlow 和EpicFlow 算法由于僅采用少量迭代運(yùn)算對(duì)匹配運(yùn)動(dòng)場(chǎng)進(jìn)行全局優(yōu)化,因此時(shí)間消耗低于本文方法.本文方法時(shí)間消耗大于FlowNetS,Deep-Flow 和EpicFlow 三種方法,但大幅少于Classic +NL 算法.在本文方法中,由于匹配優(yōu)化和稠密插值模型僅包含簡單的線性計(jì)算和邏輯運(yùn)算,因此計(jì)算復(fù)雜度較低,時(shí)間消耗較小.為避免光流計(jì)算陷入局部最優(yōu),本文方法采用全局優(yōu)化模型對(duì)插值后的稠密運(yùn)動(dòng)場(chǎng)進(jìn)行迭代更新,雖然全局優(yōu)化策略能夠提高光流估計(jì)的整體精度,但是由于采用大量迭代運(yùn)算更新光流參數(shù),導(dǎo)致時(shí)間消耗較大、計(jì)算復(fù)雜度較高.
本文提出了一種基于深度匹配的由稀疏到稠密大位移運(yùn)動(dòng)光流計(jì)算方法.首先,使用深度匹配模型求解相鄰兩幀圖像間初始稀疏運(yùn)動(dòng)場(chǎng);然后采用鄰域支持模型對(duì)初始運(yùn)動(dòng)場(chǎng)進(jìn)行優(yōu)化獲得魯棒稀疏運(yùn)動(dòng)場(chǎng);最后對(duì)稀疏運(yùn)動(dòng)場(chǎng)進(jìn)行由稀疏到稠密插值,并根據(jù)全局能量泛函求解全局最優(yōu)化稠密光流.實(shí)驗(yàn)結(jié)果表明本文方法具有較高的光流估計(jì)精度,尤其針對(duì)運(yùn)動(dòng)遮擋和非剛性大位移等困難運(yùn)動(dòng)場(chǎng)景具有更好的魯棒性和可靠性.
雖然本文方法針對(duì)大位移、運(yùn)動(dòng)遮擋與非剛性形變等困難場(chǎng)景圖像序列的光流估計(jì)精度優(yōu)于各對(duì)比光流計(jì)算方法,但是由于本文方法須對(duì)稠密光流進(jìn)行全局迭代優(yōu)化,因此導(dǎo)致時(shí)間消耗較大.為提高本文方法的使用價(jià)值,后續(xù)將研究GPU 并行加速計(jì)算策略,在提高非剛性大位移運(yùn)動(dòng)光流估計(jì)精度的同時(shí)大幅減少時(shí)間消耗,盡可能滿足工程實(shí)際需求.