陳 震 張道文 張聰炫 汪 洋
光流反映了圖像序列像素點亮度的時空域變化與圖像中物體運動及結構的關系,其不僅包含了被觀察物體的運動參數,而且攜帶豐富的三維結構信息.因此,光流計算技術廣泛引用于各類高級視覺任務,例如機器人視覺系統[1]、異常行為檢測[2]、無人機導航與避障[3]和醫學影像分析等[4].
20 世紀80 年代,Horn 等[5]首次提出光流概念和計算方法后,針對光流計算模型和優化方法的研究不斷涌現.根據研究路線的不同,光流計算技術研究可大致分為3 類: 1)變分光流計算技術;2)圖像匹配光流計算技術;3)深度學習光流計算技術.在光流計算研究早期,受益于變分模型能夠產生稠密光流場且具有計算精度高、拓展性強等顯著優點,變分光流計算技術成為主流方法.針對光照變化問題,Brox 等[6]提出基于圖像梯度的守恒假設模型,提高了亮度突變下數據項的可靠性.針對光流計算的魯棒性問題,Sun 等[7]提出基于非局部約束的光流估計模型,采用加權中值濾波在圖像金字塔各層消除溢出點對光流計算的影響.針對全局優化模型對圖像噪聲敏感的問題,Drulea 等[8]設計全局與局部結合的優化策略,有效提高了光流計算的抗噪性.針對傳統平滑模型易導致邊緣模糊的問題,Perona等[9]提出基于圖像結構張量的光流擴散模型,通過控制光流在圖像邊緣不同方向的擴散程度抑制了邊緣模糊現象.針對運動邊界的過度分割問題,Weickert 等[10]提出基于光流驅動的各向異性擴散策略,使得光流結果更加體現運動邊緣細節.鑒于圖像邊緣和運動邊界并不完全重合,Zimmer 等[11]聯合圖像梯度各項同性擴散與光流控制各向異性擴散策略設計自適應平滑項,使得光流估計結果既貼合圖像邊緣又充分體現運動邊界.然而,由于該類方法需采用迭代運算最小化能量泛函,導致其時間消耗過大.
近年來,隨著深度學習理論與技術的快速發展,基于卷積神經網絡的光流計算技術成為研究熱點.Dosovitskiy 等[12]首先構建了基于有監督學習的光流估計模型FlowNet,該研究驗證了通過卷積架構直接估計原始圖像光流的可行性.針對FlowNet模型光流估計精度較低的問題,Ilg 等[13]采用網絡堆疊策略提高網絡深度,并設計FlowNetSD 模型估計小位移運動光流,大幅提高了網絡模型的光流預測精度.為降低網絡模型的復雜度,Ranjan 等[14]將空間金字塔與卷積神經網絡相結合,通過圖像變形技術處理大位移運動,顯著減小了模型的尺寸和參數量.針對卷積操作易導致光流估計結果過于平滑的問題,Hui 等[15]將金字塔特征提取網絡與光流估計網絡分開處理,通過引入正則化項保護了光流的邊緣結構信息.針對遮擋區域光流估計的可靠性問題,文獻[16]通過圖像序列前向與后向光流耦合圖像遮擋區域,并設計基于遮擋檢測的光流估計網絡模型,提高了運動遮擋圖像序列光流估計魯棒性.雖然深度學習光流模型在計算精度和效率等方面已取得突破性進展,但是該類方法通常需要大量標簽數據訓練模型參數,導致現階段難以直接應用于現實場景的光流估計任務.
圖像匹配光流計算技術是通過像素點匹配關系確定圖像運動場,因此對大位移運動具有較好的準確性和魯棒性.Brox 等[17]首先提出在光流估計能量泛函引入基于剛性描述子的匹配約束項,提高了剛性大位移運動場景下光流計算的準確性.針對傳統匹配算法在弱紋理區域難以有效匹配的問題,Weinzaepfel 等[18]利用交錯卷積與最大池化操作進行稠密采樣求解像素點匹配關系,有效提高了弱紋理區域的光流計算精度.針對非剛性大位移運動光流計算的準確性問題,張聰炫等[19]提出基于非剛性稠密匹配的大位移光流計算方法,有效提高了非剛性大位移運動場景下光流估計的精度與魯棒性.Hu 等[20]采用金字塔分層迭代優化策略求解圖像局部塊匹配關系,顯著改善了光流估計的噪聲問題.針對光流計算在遮擋、運動邊界和非剛性運動等情況下易產生運動邊界模糊的問題,Revaud 等[21]采用圖像邊緣驅動的稠密插值策略初始化光流估計能量泛函,實驗證明該方法對大位移和運動遮擋具有很好的邊緣保護作用.針對稠密插值模型易受匹配噪聲影響的問題,Hu 等[22]提出基于分段濾波的超像素匹配光流估計方法,顯著降低了匹配噪聲對光流估計精度的影響.
現階段,圖像匹配光流計算方法已成為解決大位移運動光流計算準確性和可靠性問題的重要手段,但是該類方法在復雜場景、非剛性運動和運動模糊等圖像區域易產生錯誤匹配,導致光流估計效果不佳.針對以上問題,本文提出基于深度匹配的由稀疏到稠密大位移光流計算方法,首先利用深度匹配計算初始稀疏運動場,然后采用鄰域支持優化模型剔除錯誤匹配像素點,獲得魯棒稀疏運動場;最后對稀疏運動場進行稠密插值并最小化能量泛函求解稠密光流.實驗結果表明本文方法具有較高的光流估計精度,尤其對大位移、非剛性運動以及運動遮擋等困難場景具有較好的魯棒性.
針對傳統匹配模型在非剛性形變和大位移運動區域易產生匹配錯誤的問題,Revaud 等[23]提出基于區域劃分的深度匹配方法,有效提高了非剛性形變和大位移運動區域的像素點匹配精度.如圖1所示,深度匹配首先將傳統采樣窗口劃分為N個子區域,然后根據子區域的相似性分別優化各子區域的位置,進而利用子區域位置確定像素點的匹配關系.

圖1 基于區域劃分的深度匹配采樣窗口示意圖 ((a)參考幀采樣窗口;(b)傳統匹配方法采樣窗口;(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)
假設I0和I1分別表示圖像序列相鄰兩幀圖像,首先將I0和I1分解為N個非重疊子區域,每個子區域由4 個相鄰像素點構成,根據式(1)計算各子區域的匹配關系,即

其中,R與R′分別表示I0和I1中互相匹配的兩個子區域,表示I0和I1中的像素點描述子,Sim(R,R′)是根據區域相似性確定的子區域匹配關系.則深度匹配的實現過程主要包括以下兩步:首先,如圖2(a)所示,每四個相鄰的子區域經金字塔不斷向上層聚合,確定I0和I1中更大的區域匹配關系,直到金字塔頂端;然后,如圖2(b)所示,定義相互匹配的區域中心像素點為匹配像素點,由金字塔頂層自上而下的檢索各層金字塔中像素點匹配關系,統計各層金字塔中匹配像素點坐標得到稀疏運動場.

圖2 深度匹配金字塔采樣示意圖 ((a)第1 幀子區域聚合;(b)第2 幀子區域聚合)Fig.2 Illustration of the pyramid sampling based deep matching ((a) Subregion polymerization of the first frame;(b) Subregion polymerization of the second frame)
鑒于深度匹配模型在非剛性形變和大位移運動區域相對傳統匹配方法具有更高的像素點匹配精度和可靠性,本文首先采用深度匹配模型計算圖像序列相鄰兩幀圖像的初始匹配結果.
雖然深度匹配能夠提高非剛性形變和大位移運動區域的像素點匹配精度,但是由于圖像中常常包含噪聲、光照變化等因素的干擾,導致其匹配結果可能存在錯誤匹配像素點.為了剔除初始匹配結果中的錯誤匹配像素點,本文采用基于運動統計策略的圖像匹配優化方法對初始匹配結果進行優化[24],能夠有效提高像素點匹配的準確性與可靠性.
假設相鄰兩幀圖像中運動是連續平滑的,那么圖像局部區域內中心點與其鄰域像素點的運動應一致,則與匹配像素點保持運動一致性的鄰域支持像素點數量可以表達為

其中,K表示與匹配像素點xi一起運動的鄰域個數,a表示第1 幀圖像中任意局部區域,b是區域a在下一幀圖像中的對應匹配區域,ak →bk表示相鄰兩幀圖像中與匹配像素點xi保持相同幾何關系的 第k對匹配區域,表示匹 配 區 域ak →bk內互相匹配的像素點個數.由于本文將深度匹配中各像素點匹配過程近似看作互不干擾的獨立事件,由此可知Si近似二項分布

其中,n表示匹配像素點xi各鄰域內平均匹配像素點數量.pt=Dt+β(1-Dt)m/M表示a→b為正確匹配區域時,匹配區域a→b內一對像素點互相匹配的概率;pf=β(1-Dt)m/M表示a→b為錯誤匹配區域時,匹配區域a→b內一對像素點互相匹配的概率.式中,符號Dt表示深度匹配結果的匹配正確率,β表示概率參數,m表示區域b中匹配像素點數量,M表示根據深度匹配計算的稀疏運動場中匹配像素點總數.
由式(3)可知,正確匹配與錯誤匹配像素點的鄰域支持像素點數量具有很大差異性.因此,通過統計任意匹配像素點的鄰域支持像素點數量可以判斷該像素點是否匹配正確.本文使用標準差與期望值量化鄰域支持優化模型對正確匹配像素點與錯誤匹配像素點的甄別力,可表示為

其中,P表示鄰域支持模型對匹配像素點的甄別力.由式(4)分析可得P值大小與各變量的變化關系如下所示:

由式(5)可知,隨著鄰域支持匹配像素點數量的增加,鄰域支持模型對正確匹配像素點與錯誤匹配像素點的甄別力可以擴展到無窮大.此外,鄰域支持模型的優化能力還與深度匹配結果的匹配正確率相關,正確率越高,優化能力越強.因此,采用鄰域支持優化模型剔除錯誤匹配像素點能夠有效提高稀疏運動場的匹配準確度與魯棒性.
對初始稀疏運動場進行鄰域支持優化的目的是剔除錯誤匹配像素點,但是基于像素點的置信度估計會導致計算成本的顯著增加.為了降低計算成本,本文引入網格框架優化鄰域支持模型,使得置信度估計獨立于圖像特征點,而僅與劃分的圖像網格數量相關,以提高鄰域支持優化模型的計算效率.
首先使用網格近似法,將連續兩幀圖像分別劃分為n×n的非重疊圖像網格.然后定義前后幀圖像中匹配像素點數量最多的網格為候選匹配網格,根據式(6)分別計算候選匹配網格的匹配置信度,即

其中,N表示劃分的非重疊圖像網格數量,True 表示圖像網格i與j匹配正確,False 表示圖像網格i與j匹配錯誤.是匹配網格判斷函數,其中,nij表示圖像網格i與j相鄰網格內匹配像素點的平均數量,α是閾值權重系數.
根據網格匹配結果,本文將相鄰兩幀圖像中像素點坐標皆位于正確匹配網格內的匹配像素點定義為匹配正確的像素點,并將其他匹配像素點剔除,獲得超魯棒稀疏運動場.圖3 分別展示了深度匹配模型與本文提出的基于鄰域支持的匹配模型針對KITTI 數據庫大位移運動圖像序列的運動場估計結果.從圖中可以看出,本文方法能夠有效剔除初始稀疏運動場中的錯誤匹配像素點對,具有計算精度高、魯棒性好等顯著優點.

圖3 本文鄰域支持模型運動場優化效果 (藍色標記符表示匹配正確像素點,紅色標記符表示匹配錯誤像素點)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)
雖然根據網格化鄰域支持模型優化得到的圖像序列運動場包含魯棒光流信息,但是該運動場是稀疏的.現有的圖像匹配光流計算方法通常根據像素點的歐氏距離進行插值,以獲取稠密光流場.但是由于傳統的插值模型僅考慮像素點的絕對距離,因此易導致插值結果出現圖像與運動邊界模糊的問題.為了保護光流結果的圖像與運動邊界特征,本文利用邊緣保護距離進行由稀疏到稠密插值.
根據局部權重仿射變換原理,采用式(8)對圖像序列稀疏運動場進行稠密插值計算光流場

其中,p表示第1 幀圖像中任意像素點,符號Ap與tp是像素點p的仿射變換參數,可通過式(9)建立超定方程組求解.

其中,ρpm,p表示像素點pm與p之間所有可能路徑,C(ps) 表示運動邊緣檢測圖中像素ps的值,若ps位于運動邊緣則C(ps)的值極大,反之為零.由于每個像素點都基于其鄰近已知的匹配像素點進行插值,因此能有效保護運動邊界.
為了提高插值效率,本文首先根據式(10)對像素點進行聚類,將第1 幀圖像中所有像素點分配到距離最近的匹配像素點.然后查找距離任意像素點p最近的匹配像素點pm,并利用匹配像素點pm的仿射變換參數計算像素點p的第2 幀圖像對應匹配像素點p′.以上操作僅需計算稀疏運動場中所有匹配像素點的仿射變換參數,即可根據局部像素點聚類插值計算稠密運動場,降低了插值計算的復雜度.最后,為獲得平滑的稠密光流,采用式(11)中的能量泛函對稠密運動場進行全局優化,得到最終的稠密光流結果.

式(11)中,w=(u,v)T表示估計光流,Ψ 是懲罰函數,j0為符合亮度守恒假設的運動張量分量,γ為梯度守恒權重,jxy為符合梯度守恒的運動張量分量,?為平滑項局部平滑權重.
根據前文敘述,本文由稀疏到稠密光流估計方法的計算步驟如下:
步驟 1.輸入圖像序列相鄰兩幀圖像I0和I1;
步驟 2.將I0和I1分解為N個非重疊子區域,每個子區域由4 個相鄰像素點構成,根據式(1)計算各子區域的匹配關系;
步驟 3.建立圖像金字塔,將相鄰子區域由金字塔底層向上層聚合,確定圖像I0和I1中更大的區域匹配關系,直到金字塔頂層;
步驟 4.定義相互匹配的區域中心像素點為匹配像素點,由金字塔頂層自上而下檢索各層金字塔中像素點匹配關系,得到初始稀疏運動場;
步驟 5.根據式(2)計算與匹配像素點保持運動一致性的鄰域支持像素點數量,并由式(3)甄別正確匹配與錯誤匹配像素點;
步驟 6.引入網格框架優化模型,通過式(6)和式(7)剔除錯誤匹配網格中的像素點,求解魯棒稀疏運動場;
步驟 7.根據式(10)計算圖像匹配像素點之間的邊緣保護距離,根據邊緣保護距離進行像素點聚類,將圖像I0中所有像素點分配到其距離最近的匹配像素點;
步驟 8.根據式(9)建立超定方程組求解所有匹配像素點的仿射變換參數;
步驟 9.通過式(8)進行由稀疏到稠密插值計算初始稠密運動場;
步驟 10.將初始稠密運動場代入式(11)中能量泛函進行全局優化迭代,輸出最終的稠密光流結果.
分別采用MPI-Sintel 和KITTI 評價標準對本文方法光流估計效果進行綜合測試分析,光流計算結果評價指標如下:
MPI-Sintel 評價標準采用平均角誤差(Average angular error,AAE)和平均端點誤差(Average endpoint error,AEE)對光流估計結果進行量化評價,其中,AAE 反映估計光流整體偏離光流真實值的角度;AEE 反映估計光流整體偏離光流真實值的距離.


式中,(uE,vE)T表示光流估計結果,(uG,vG)T表示光流真實值,N表示圖中像素點數量.
KITTI 評價標準采用平均端點誤差(AEE)和異常值百分比(Percentage of outliers)對光流估計結果進行量化評價,異常值百分比表示光流估計值偏離真實值超過一定閾值的離群像素點占整幅圖像的百分比:

其中,NOC和ALL分別表示非遮擋區域與整幅圖像中像素點個數,P(AEE1>3)表示光流平均端點誤差大于3 個像素的像素個數,outnoc和outall分別表示非遮擋區域和包含遮擋區域光流異常值百分比.
為了驗證本文方法對大位移光流的估計精度,分別選取Classic+NL[7]、DeepFlow[18]、EpicFlow[21]和FlowNetS[12]等代表性光流計算方法進行量化對比與分析.其中Classic+NL 是典型的變分光流計算方法,其在光流估計過程中采用加權中值濾波消除金字塔分層光流計算產生的異常值,本文實驗設定其金字塔分層數為6 層.DeepFlow 是基于特征匹配與金字塔變形策略相結合的光流計算方法,本文在對比實驗中設定金字塔采樣系數為0.95.Epic-Flow 采用基于匹配像素點數量的分段剛性插值模型為光流初始化提供準確的先驗知識,本文實驗選取各匹配像素點的200 個鄰域匹配像素點計算插值參數.FlowNetS 是基于卷積神經網絡的深度學習光流計算模型,在具有大量訓練數據的情況下能夠獲取較好的光流估計效果.
本文方法關鍵參數主要包括圖像初始化網格劃分數量N 和閾值權重系數α.本節以KITTI 數據集000016 序列和000017 序列的AEE 誤差為例,分別討論圖像網格劃分和閾值權重系數對光流估計結果的影響.
圖4 分別展示了不同圖像網格劃分數量和閾值權重系數時本文方法光流估計結果的AEE 誤差變化.從圖4(a)中可以看出,隨著圖像網格劃分數量的增加,本文方法光流誤差AEE 呈現先減小后增加的趨勢,這是由于隨著網格劃分數量的增加,網格框架對圖像的劃分變得更加細致,使得鄰域支持優化模型更貼合局部運動平滑假設.但是當網格劃分數量過多時,由于難以準確統計匹配像素點周圍的鄰域支持匹配像素點,導致光流估計精度下降.因此,本文設置圖像初始化網格劃分數量為14×14.從圖4(b)中可以看出,本文方法對閾值權重系數的變化并不敏感,僅當閾值權重系數過大時,會導致部分正確匹配像素點被誤判斷為錯誤匹配點,導致光流估計精度下降.因此,本文設定閾值權重系數α=10.

圖4 不同參數設置對本文光流估計精度的影響Fig.4 Variation of optical flow estimation results respect to different parameters
MPI-Sintel 數據庫測試圖像集包含非剛性形變、大位移、光照變化、復雜場景以及運動模糊等困難場景,因此是光流估計領域最具挑戰的評價數據庫之一.為了驗證本文方法針對非剛性形變和大位移運動等困難場景光流估計的準確性與魯棒性,利用MPI-Sintel 數據庫提供的23 個標準測試序列對本文方法以及各對比方法進行綜合測試.
表1 分別列出了本文方法與其他對比方法針對MPI-Sintel 測試圖像集的光流誤差對比結果.從表中可以看到,由于Classic+NL 算法僅采用金字塔分層策略優化變分光流能量泛函,因此對非剛性形變和大位移運動較敏感,導致其光流估計誤差較大.DeepFlow 和EpicFlow 算法相對Classic +NL 算法在光流計算精度上有明顯提升,說明基于匹配策略的光流計算方法在非剛性形變與大位移運動場景具有更好的估計效果.受益于MPI-Sintel 數據庫提供了較充足的訓練樣本,能夠滿足深度學習光流計算模型FlowNetS 的訓練需求,該方法光流估計精度較高.本文方法光流估計精度最高,說明本文方法針對非剛性形變與大位移運動具有更好的光流估計準確性與魯棒性.

表1 MPI-Sintel 數據庫光流估計誤差對比Table 1 Comparison results of optical flow errors on MPI-Sintel database
為了對比分析本文方法和各對比方法針對非剛性大位移和運動遮擋場景的光流估計效果,表2 中分別列出了不同方法針對Ambush_5,Cave_2,Market_2,Market_5 和Temple_2 等包含大位移、運動遮擋和非剛性形變等困難運動場景圖像序列的光流誤差對比結果.從表中可以看出,Classic +NL 算法針對五組測試序列的平均誤差較大,說明該方法針對困難運動場景的光流估計效果較差.FlowNetS 方法的平均AAE 和AEE 誤差均最大,主要由于該方法在Ambush_5 和Cave_2 序列的誤差大幅高于其他方法,說明FlowNetS 算法針對非剛性大位移運動的光流估計效果較差.Deep-Flow 與EpicFlow 算法光流估計AEE 誤差較小,說明該類方法采用像素點匹配計算策略對大位移運動具有很好的定位作用.本文方法的平均誤差最小,僅針對Temple_2 序列的AEE 誤差略大于Deep-Flow 算法,但本文方法針對Cave_2,Market_5序列的AEE 誤差大幅小于DeepFlow 算法,且本文算法在其他所有測試序列均取得最優表現,說明本文方法針對非剛性大位移和運動遮擋場景具有更好的光流估計精度與魯棒性.

表2 非剛性大位移與運動遮擋圖像序列光流估計誤差對比Table 2 Comparison results of optical flow errors on the image sequences including non-rigidly large displacements and motion occlusions
圖5 分別展示了本文方法和各對比方法針對Ambush_5,Market_2,Market_5,Cave_2,Temple_2 等包含非剛性大位移與運動遮擋場景的圖像序列光流估計結果.從圖中可以看出,Classic+NL 算法在背景區域的光流計算效果較好,但是在非剛性形變和大位移運動區域光流估計結果存在明顯錯誤.EpicFlow 和DeepFlow 算法在大位移運動區域的光流估計效果優于Classic+NL 算法,但是由于這兩種方法的匹配模型均是建立在剛性運動假設下,導致其在非剛性運動區域光流估計結果不準確.雖然FlowNetS 算法的光流估計精度較高,但該方法光流結果存在明顯的過度平滑現象,難以準確反映目標與場景的邊界.從圖中不難看出,本文方法光流估計效果較好,尤其在ambush_5 序列人物的頭部和手臂,market_2,market_5 人物的腿部,cave_2 序列人物的腿部和武器,temple_2序列飛行龍的翅膀等非剛性形變和大位移運動區域光流估計結果明顯優于其他對比方法,說明本文方法針對非剛性形變和大位移運動等困難場景具有更高的光流估計精度與魯棒性.

圖5 非剛性大位移與運動遮擋圖像序列光流估計結果Fig.5 Optical flow results of the image sequences including non-rigidly large displacements and motion occlusions
KITTI 數據庫由德國卡爾斯魯厄理工學院和豐田美國技術研究院聯合創辦,用于評測立體匹配、光流、場景流、目標檢測、目標跟蹤等各類計算機視覺算法在車載現實場景下的表現性能.由于KITTI數據庫由包含強烈光照變化和大位移運動的真實場景圖像序列組成,因此是目前最具挑戰的光流評測數據庫之一.為了進一步驗證本文方法在現實場景下的光流估計準確性與可靠性,采用KITTI 數據庫提供的測試圖像序列對本文方法和各對比方法進行綜合測試分析.
表3 分別列出了本文方法與各對比方法針對KITTI 數據庫測試圖像序列的光流計算誤差統計結果.其中,AEEnoc表示圖像中非遮擋區域像素點的AEE 結果,AEEall表示圖像中所有像素點的AEE結果.可以看出,由于FlowNetS 算法沒有針對KITTI數據集進行訓練,導致其誤差較大.DeepFlow 與EpicFlow 算法由于添加了像素點匹配信息,整體結果優于Classic+NL 算法,但是由于部分區域存在像素點匹配不準確的原因,導致其精度低于本文方法.本文方法針對KITTI 測試序列各項評估指標均取得最優表現,說明本文方法具有更好的光流估計精度與魯棒性.

表3 KITTI 數據庫光流估計誤差對比Table 3 Comparison results of optical flow errors on KITTI database
圖6 分別展示了本文方法和各對比方法針對000008、000010、000023、000043、000059、000085等KITTI 數據庫測試圖像序列的光流誤差圖,圖中藍色到紅色表示光流誤差由小到大.從圖中可以看出,由于缺乏真實場景訓練樣本,FlowNetS 算法誤差最大,說明基于深度學習的光流計算模型目前還難以應用于沒有真實值的現實場景.Classic +NL 算法在背景區域的光流計算效果較好,但是針對發生大位移運動的車輛區域,光流估計效果較差.DeepFlow 和EpicFlow 算法相對Classic+NL 算法在大位移運動區域的光流計算精度有明顯提升,說明基于匹配策略的光流計算方法在大位移運動場景具有更好的估計效果.本文方法與其他方法相比,紅色的大誤差區域最少,光流估計效果最好.尤其在包含大位移運動的車輛區域,光流估計結果明顯優于其他對比方法,說明本文方法針對包含非剛性形變和大位移運動的真實場景具有更高的光流估計精度與魯棒性.

圖6 KITTI 數據庫測試圖像序列光流誤差圖Fig.6 Optical flow error maps of KITTI dataset
為驗證本文方法提出的網格化鄰域支持匹配優化、基于邊緣保護距離的由稀疏到稠密插值以及光流計算全局優化對非剛性大位移和運動遮擋場景光流計算效果的提升作用,本文分別采用MPI-Sintel 數據庫提供Alley_2,Cave_4 和Market_6 圖像序列對本文方法進行消融實驗測試.表4 分別列出了本文方法和不同消融模型的AEE 誤差對比結果,其中,無匹配優化表示本文方法去除網格化鄰域支持匹配優化模型、無稠密插值表示本文方法去除基于邊緣保護距離的由稀疏到稠密插值模型、無全局優化代表本文方法去除全局能量泛函優化模型.從表4 中可以看出,去除匹配優化、稠密插值以及全局優化模型后會導致本文方法的光流估計精度出現不同程度的下降,說明本文提出的網格化鄰域支持匹配優化策略、基于邊緣保護距離的由稀疏到稠密插值模型以及光流計算全局優化方法對提高非剛性大位移運動和運動遮擋場景光流估計精度均有重要作用.

表4 本文方法消融實驗結果對比Table 4 Comparison results of the ablation experiment
圖7 分別展示了本文方法和不同消融模型針對Alley_2,Cave_4 和Market_6 圖像序列的光流計算結果.從圖中可以看出,去除網格化鄰域支持匹配優化模型后本文方法在大位移運動區域的光流估計效果下降明顯,說明網格化鄰域支持匹配優化能夠顯著提高大位移運動光流估計的精度與魯棒性.此外,去除基于邊緣保護距離的由稀疏到稠密插值模型后,光流計算結果存在明顯的邊緣模糊現象,說明本文提出的邊緣保護插值模型能夠有效改善光流估計的邊緣模糊問題.最后,去除全局優化模型后,本文方法光流估計結果丟失了大量的運動與結構信息,說明全局優化模型能夠顯著提高光流估計的全局精度與效果.

圖7 MPI-Sintel 數據庫消融實驗光流圖Fig.7 Optical flow results of the ablation experiment tested on MPI-Sintel database
為了對本文方法與其他方法進行綜合對比分析,表5 分別列出了本文方法與其他對比方法針對MPI-Sintel 和KITTI 數據庫測試圖像集的平均時間消耗對比.

表5 本文方法與其他方法時間消耗對比(s)Table 5 Comparison of time consumption between the proposed method and the other approaches (s)
由表5 中不同方法的時間消耗對比結果可以看出,受益于卷積神經網絡的實時計算優勢,FlowNetS方法的時間消耗最小,計算效率最高.Classic +NL 算法由于采用金字塔分層變形策略優化變分光流計算,導致其時間消耗最大,計算復雜度最高.DeepFlow 和EpicFlow 算法由于僅采用少量迭代運算對匹配運動場進行全局優化,因此時間消耗低于本文方法.本文方法時間消耗大于FlowNetS,Deep-Flow 和EpicFlow 三種方法,但大幅少于Classic +NL 算法.在本文方法中,由于匹配優化和稠密插值模型僅包含簡單的線性計算和邏輯運算,因此計算復雜度較低,時間消耗較小.為避免光流計算陷入局部最優,本文方法采用全局優化模型對插值后的稠密運動場進行迭代更新,雖然全局優化策略能夠提高光流估計的整體精度,但是由于采用大量迭代運算更新光流參數,導致時間消耗較大、計算復雜度較高.
本文提出了一種基于深度匹配的由稀疏到稠密大位移運動光流計算方法.首先,使用深度匹配模型求解相鄰兩幀圖像間初始稀疏運動場;然后采用鄰域支持模型對初始運動場進行優化獲得魯棒稀疏運動場;最后對稀疏運動場進行由稀疏到稠密插值,并根據全局能量泛函求解全局最優化稠密光流.實驗結果表明本文方法具有較高的光流估計精度,尤其針對運動遮擋和非剛性大位移等困難運動場景具有更好的魯棒性和可靠性.
雖然本文方法針對大位移、運動遮擋與非剛性形變等困難場景圖像序列的光流估計精度優于各對比光流計算方法,但是由于本文方法須對稠密光流進行全局迭代優化,因此導致時間消耗較大.為提高本文方法的使用價值,后續將研究GPU 并行加速計算策略,在提高非剛性大位移運動光流估計精度的同時大幅減少時間消耗,盡可能滿足工程實際需求.