陳 震,倪晶晶,張聰炫,葛利躍,王梓歌
(1.南昌航空大學無損檢測技術(shù)教育部重點實驗室,江西南昌 330063;2.南昌航空大學信息工程學院,江西南昌 330063)
20世 紀90年 代,Vedula與Baker率 先 提出場景 流概念與計算理論,其通過拓展二維圖像序列光流計算理論到三維運動場景將場景流概念定義化與公式化.在此之后,場景流計算及其相關技術(shù)的研究得到飛速發(fā)展,對應研究成果已逐步應用于前景目標檢測[1]、人體姿態(tài)識別[2]、大規(guī)模場景重建[3]等領域.
目前,基于傳統(tǒng)方法的場景流計算技術(shù)研究仍然是場景流計算技術(shù)研究領域的重點.依據(jù)輸入數(shù)據(jù)的類型不同,可以將其分為基于RGB-D(Red,Green,Blue and Depth Map)可見光圖像序列場景流計算方法和基于雙目可見光圖像序列場景流計算方法.然而,前者由于過于依賴于深度傳感器,且對室外場景中場景流計算適用性較差[4],因此基于雙目可見光圖像序列場景流計算方法成為傳統(tǒng)場景流計算技術(shù)研究的主要方向.例如,針對大位移運動場景流計算存在不準確問題,文獻[5]提出一種新穎的對象場景流模型,該模型通過標簽對超像素平面與對象進行分配,將場景分割為不同的動態(tài)組件,以獲取較高精度的場景流估計.針對傳統(tǒng)場景流計算方法普遍存在邊緣模糊和過度分割問題,Schuster等人[6]提出耦合光流與視差場景流模型,在沒有任何事先正則化的情況下檢測雙目圖像之間的稀疏匹配,并通過使用邊緣信息執(zhí)行稠密插值來保留運動邊緣.Ren等人[7]利用語義分割,將語義信息應用于場景流估計中,有效地避免了場景流運動邊界模糊和過度分割問題.
近年來,隨著深度學習的快速發(fā)展,基于深度學習的場景流計算模型不斷涌現(xiàn).例如,針對復雜場景下場景流估計精度較低問題,Jiang等人[8]提出一種集成光流,視差,遮擋和語義分割的場景流網(wǎng)絡模型,通過融入遮擋和語義信息,提高了復雜場景中場景流的估計精度.Yang等人[9]提出一種基于光學擴展和自監(jiān)督學習策略相關聯(lián)的場景流估計網(wǎng)絡模型,使復雜場景下場景流估計更加準確.針對包含遮擋場景的場景流計算可靠性較低問題,Saxena等人[10]提出一種端到端CNN(Convolutional Neural Network)場景流模型,直接從正向流估計遮擋,該模型不需要先驗假設和正則化處理,使遮擋區(qū)域場景流估計可靠性得到改善.Hur等人[11]提出一種自監(jiān)督單目場景流模型,通過計算高精度光流信息的同時恢復深度和三維運動,顯著提升了遮擋區(qū)域場景流估計的可靠性.
現(xiàn)階段,場景流在計算精度和速度方面已經(jīng)得到很大提升,但在包含大位移、運動遮擋以及光照變化等復雜情況下場景流估計效果仍然較差.針對上述問題,本文提出一種基于金字塔塊匹配的雙目場景流計算方法,能夠有效提高在大位移、運動遮擋以及光照變化情況下場景流估計精度與魯棒性.
由于傳統(tǒng)匹配模型在大位移、運動遮擋區(qū)域易產(chǎn)生錯誤匹配的問題,本文采用金字塔塊匹配模型計算雙目圖像序列相鄰兩幀對應像素點的匹配關系.首先分別對參考幀和目標幀通過下采樣因子進行金字塔分層,然后對金字塔圖像初始層進行塊匹配,匹配結(jié)束后通過前后一致性檢測以剔除匹配異常點,最后把第一層獲取的對應塊匹配結(jié)果作為金字塔模型后一層匹配計算的初始值,通過傳播與搜索步驟直至金字塔分辨率最高層.
圖1展示了金字塔塊匹配在每一層圖像的具體匹配計算步驟,其計算流程如下:
圖1 金字塔塊匹配計算步驟
(a)初始化:將參考幀和目標幀劃分成的網(wǎng)格塊,對網(wǎng)格中心像素隨機賦予偏置量.
(b)傳播:將參考幀匹配塊與目標幀對應的匹配塊進行相似度比較,如果目標幀匹配塊與參考幀匹配塊相似度最高,則將參考幀匹配塊的偏移量賦值給目標幀對應的匹配塊.
(c)搜索:首先給出一個和目標幀大小一致的搜索窗口(即搜索半徑)搜索相似度更高的匹配塊,并更新當前偏移量.然后將搜索半徑縮小一半,重復上述過程直至搜索半徑小于1個像素時停止搜索.
復雜結(jié)構(gòu)場景通??梢苑指畛瑟毩⒌倪\動對象,包括前景和背景.獲取同一場景相鄰圖像序列更加準確的匹配結(jié)果對于對象的運動估計有至關重要的作用.針對傳統(tǒng)運動模型在大位移、運動遮擋場景下運動估計的準確性問題,本文提出一種基于金字塔塊匹配的運動模型以提高復雜場景下前景對象運動估計的準確性.
首先依據(jù)金字塔塊匹配模型獲取的匹配結(jié)果結(jié)合視差獲取有效匹配像素點,然后,按照計算出的初始有效匹配像素點計算光流.并計算匹配光流與背景光流間的端點誤差,獲取更加精準地有效匹配像素點信息,其計算公式如下:
式(1)中,(fu_match,fv_match)表示由金字塔塊匹配結(jié)果計算得到的光流信息,(fu_nl,fv_nl)表示由Classic+NL光流計算方法得到的背景光流.
根據(jù)得到的精準匹配像素點信息,雙目相機參數(shù)與視差信息,本文首先將二維匹配點投影到3D空間,獲取匹配點空間位置的三維坐標.然后,從獲得的三維坐標點中任意選擇一點,以該點為中心建立半徑為2.5個像素的球體并在球體內(nèi)部隨機采樣3個點,采用Ransac隨機一致性算法擬合剛性運動模型,最后將其他點也引入該模型以獲取所有滿足該模型的匹配點.通過一定次數(shù)的迭代優(yōu)化,獲取最終所需的剛性運動模型,從而計算出前景對象運動參數(shù)Rk,tk(k≠1).
由于背景在整個場景中處于靜止狀態(tài)且相對于相機運動,為了獲取背景對象運動參數(shù),本文通過采用最小化重投影算法求解背景對象的運動參數(shù).其計算公式如下:
式(2)中,xil與xir分別表示左目和右目圖像的對應匹配點坐標,Xi表示三維點坐標,π(Xi:R1,t)表示三維空間投影到二維平面的關系,(R1,t1)表示背景對象的運動估計參數(shù).在實際計算中受相機位置和姿態(tài)未知以及三維空間觀測點噪聲的影響,投影點像素坐標與該點實際對應坐標位置存在一定誤差.因此,本文通過最小化式(2)使該誤差趨于最小,以獲取更為準確的背景對象運動參數(shù).
本文將金字塔塊匹配計算得到的相鄰圖像像素點匹配結(jié)果作為約束,通過聯(lián)合運動模型獲取的對象運動參數(shù)和超像素分割算法獲取的超像素平面參數(shù)構(gòu)建基于金字塔塊匹配的場景流能量函數(shù):
式(3)中,D(si,o)表示數(shù)據(jù)項,ψ(si,sj)表示平滑項,其中s={si|1≤i≤ζ},o={ok|1≤i≤O},ζ表示參考幀圖像中的超像素集合,O表示圖像場景中的目標對象集合,?表 示ζ中 相 鄰 的 超 像 素.同 時,si=(ni,li),li∈{1,…,|O|},ok=(Rk,tk),這里ni是超像素平面的法向量,ok表示對象,離散標簽li分配超像素塊平面給對應的對象,Rk,tk表示對象的運動參數(shù).
數(shù)據(jù)項D(si,o)主要是由圖像數(shù)據(jù)一致性守恒假設組成.假設四幅視圖中的匹配點具有外觀一致性,則該假設可以通過懲罰參考圖像中超像素和另外三個目標圖像間的差異表示:
式(4)中,[·]表示Iverson括號,當括號內(nèi)的超像素塊標簽與所對應的對象一致時則整個符號的結(jié)果為1,否則為0.Di(ni,ok)表示超像素塊平面法向量與對象剛性運動的非相似性度量.為了提高數(shù)據(jù)項的可靠性,本文最終的數(shù)據(jù)項由flow,stereo,cross組成,可表示為:
式(6)中,x∈{flow,stereo,cross},K∈Z3×3表示 相機內(nèi)參,[Rx(o)|tx(o)]∈Z3×4示對象剛性運動參數(shù),其中Z是整數(shù)集.匹配代價Cx(p,q)反映了參考圖像中像素與目標圖像中像素的不相似性.其中,匹配代價越小,參考視圖與目標視圖中像素點相似性越強,可表示為:
式(7)中,β1,β2表示權(quán)重,Ccensusx(p,q)表示利用Censuns描述符的漢明距離,且在ρCmax處截斷.用于計算參考圖像與目標圖像的相似度.Cxsparse(p,q)表示通過金字塔塊匹配得到的匹配關系,作用是保持對應匹配塊在前后幀變化過程中位移的一致性.其中πx表示像素p根據(jù)稀疏特征對應集的變形,ρδ1表示截斷的L1懲罰函數(shù)且ρδ(x)=min(|x|,δ).
能量函數(shù)模型中的平滑項ψ(si,sj)主要由不同類別的正則化策略組成,用于防止相鄰超像素塊之間過度平滑,其分別由深度項、幾何項和運動項三部分構(gòu)成:
式(9)中,β3,β4,β5表示權(quán)重,ψdepthij(ni,nj)表示深度項,用于保持相鄰超像素塊在深度信息方面的連續(xù)性.表示幾何項,作用是增加平面法向量相似性約束.表示運動項,作用是懲罰共享同一超像素塊的對象,防止重復分配.將平滑項展開,則有:
式(10)中,d(n,p)函數(shù)表示像素p在兩個相鄰超像素邊界處的視差值,ρτ2表示L1范數(shù)魯棒懲罰函數(shù),在超像素邊界深度不連續(xù)區(qū)域施加約束,w(·,·)表示權(quán)重.
本文采用場景流估計研究中通用的量化評價指標異常值百分比(Percentage of outliers)對本文方法場景流估計效果定量分析,計算公式如下所示:
式中,uE(x,y)表示計算得到的光流,uG(x,y)表示真實光流,dE(x,y)表示計算得到的視差,dG(x,y)表示真實視差,N為圖像中所有像素點的總數(shù)目,F(xiàn)1-all和D1-all分別表示估計光流結(jié)果中離群值占總真實值的百分比,估計視差中離群值占總真實值的百分比,SF-all表示場景流估計結(jié)果中離群值占總真實值的百分比,這里離群值素點根據(jù)端點誤差是否超過閾值δ判斷.
本文方法關鍵參數(shù)主要包括光流閾值和視差閾值,由于測試圖像數(shù)據(jù)集包含的場景較為豐富且多變,光流閾值與視差閾值參數(shù)尚無法自適應設置.因此,為了在魯棒性與計算精度之間達到平衡,本節(jié)以KITTI2015數(shù)據(jù)集中具有代表性的00000序列為例,展示光流閾值與視差閾值參數(shù)設置對本文方法計算精度的影響.從圖2(a)中可以看出,本文方法計算精度對視差閾值在1到5之間的變化并不敏感,但當視差閾值超過5時,會導致光流計算和視差計算精度下降,因此本文視差閾值設置為5.在選定最佳視差閾值后,再次對不同光流閾值參數(shù)下獲取的光流估計結(jié)果與視差結(jié)果進行分析對比,如圖2(b)所示.可以看出,當光流閾值取9時,圖像序列的場景流計算精度最高,因此本文光流閾值設定為9.
圖2 不同參數(shù)設置對本文場景流估計精度的影響
為了驗證本文方法在真實場景下的場景流估計準確性與魯棒性,實驗采用KITTI2015測試集[12]中提供的標準雙目可見光圖像序列作為測試圖像序列,同時選取 具 有 代 表 性 的 深 度 學 習 方 法SE[9](Scene Flow Through Optical Expansion)、PWOC-3D[10](Pyramid,Warping,Occlusion,Cost Volume and 3D)、SENSE[8](Shared Encoder Network for Scene-flow Estimation)、Self_Mono[11](Self-supervised Monocular)和 傳 統(tǒng) 方 法SSF(Semantic Scene Flow)、OSF[5](Object Scene Flow)、SFF[7](SceneFlowFields)、FSF+MS[13](Fast Multi-frame Stereo Scene Flow with Motion Segmentation)、PRSF[14](Piecewise Rigid Scene Flow)作為對比方法,以驗證本文方法場景流估計性能的有效性.
表1分別列出了本文方法與對比算法針對KITTI2015測試集的圖像序列場景流估計誤差統(tǒng)計結(jié)果.由表1可以看出,基于深度學習的Self_Mono算法場景流計算誤差最大,這是因為該方法通過深度學習方法獲取單目圖像序列光流信息來恢復深度信息,但光流信息的不準確會直接導致深度信息估計不準確進而使得場景流的最終誤差值偏高.SE算法場景流估計精度最佳,源于該方法通過光學膨脹的幾何理論推導出深度變化信息,從而求解出準確度較高的場景流.本文方法在不需要大量訓練樣本的情況下估計精度僅次于SE算法,而且在背景區(qū)域的估計精度略高于SE算法.同時,在基于傳統(tǒng)方法的場景流估計算法中本文誤差值最小,說明本文方法在真實場景下具有較高的場景流估計精度和魯棒性.
表1 KITTI2015數(shù)據(jù)集場景流估計誤差結(jié)果統(tǒng)計(異常值百分比)
此外,本文分別選取具有代表性的大位移運動04、17序列,遮擋場景07、18序列以及光照變化場景02、03序列圖像集作為測試圖像序列,以驗證本文方法針對大位移、運動遮擋以及光照變化等復雜場景圖像序列的場景流估計效果,結(jié)果如表2所示.從表2可以看出,本文方法場景流估計精度整體優(yōu)于SSF和OSF傳統(tǒng)對比方法.與性能最為優(yōu)越的深度學習方法SE相對比,在針對大位移場景與光照變化場景時,本文方法在Fl和SF指標優(yōu)于SE方法,僅在17序列與03序列略低于SE方法.在運動遮擋場景,本文方法在F1與SF指標明顯優(yōu)于深度學習SE方法.圖3分別展示了本文方法與對比場景流方法計算誤差結(jié)果對比,圖中紅色區(qū)域顏色越深,占比面積越大,表示場景流估計誤差越大.黃色標簽區(qū)域分別為圖像序列中對應的大位移運動、遮擋與光照變化區(qū)域.從圖中可以看出,OSF和SSF算法整體場景流估計效果較差,紅色區(qū)域占比最大,這是由于復雜場景匹配不準確導致.本文方法和SE算法在整體場景流估計效果方面優(yōu)于OSF、SSF算法,而本文方法在運動物體邊緣區(qū)域場景流估計精度優(yōu)于SE方法.說明本文方法針對大位移、運動遮擋以及較強光照變化情況下場景流估計具有較高的計算精度.為了更加具體的展示本文方法在大位移、運動遮擋以及光照變化區(qū)域的性能,圖4展示了圖3中標簽區(qū)域細節(jié)放大圖.從圖中可以看出,本文方法在大位移運動區(qū)域、遮擋區(qū)域以及光照變化區(qū)域取得了最佳的場景流估計效果,紅色區(qū)域占比相對最小,特別在邊緣區(qū)域具有較高的場景流估計精度.
表2 本文方法與對比方法場景流誤差估計結(jié)果統(tǒng)計(異常值百分比)
圖3 本文方法與對比方法場景流估計誤差圖
圖4 標簽區(qū)域局部放大圖
為了進一步驗證本文方法針對大位移、運動遮擋等困難場景的場景流估計準確性與魯棒性,本文采用MPI-Sintel數(shù)據(jù)集圖像序列對本文方法和PRSF、OSF、FSF+MS、SFF、SS-SF[16](Semantic Segmentation Scene Flow)、SE等方法進行實驗對比分析.實驗結(jié)果如表3所示,其中market_2、ambush_4、ambush_6序列圖集包含大量大位移運動,temple_2、ambush_2、bamboo_2圖集既包含弱遮擋又包含嚴重遮擋,market_5、alley_2和market_6序列圖集以弱光照變化和劇烈光照變化場景為主.從表3可以看出,針對大位移運動場景,僅在market_2略低于對比方法FSF+MS,但是ambush_4和ambush_6序列集本文方法場景流估計精度明顯高于對比方法.在運動遮擋圖像序列集,本文方法也取得了較好的場景估計精度,僅在bamboo_2序列集略低于對比方法FSF+MS,說明本文方法對于弱遮擋與嚴重遮擋場景具有較高的場景估計效果.在光照變化圖像序列集,本文方法取得的最佳的場景流估計精度.說明本文方法針對光照變化場景同樣具有較好的場景流估計效果.
表3 MPI-Sintel數(shù)據(jù)集光流誤差結(jié)果統(tǒng)計(異常值百分比)
本文提出一種基于金字塔塊匹配的雙目場景流計算方法.首先根據(jù)超像素分割算法以及立體匹配算法得到超像素分割圖和視差信息,其次建立基于金字塔塊匹配的運動模型,得到對象的運動估計,然后將金字塔塊匹配結(jié)果作為約束,通過聯(lián)合前景對象與背景對象的運動參數(shù)和超像素平面的參數(shù)構(gòu)建場景流能量函數(shù),最后通過最小化該場景流能量函數(shù),對剛性運動參數(shù)進行優(yōu)化處理,得到最終場景流.實驗結(jié)果表明本文方法針對大位移、運動遮擋和強光照等復雜場景具有更高的場景流估計精度和魯棒性.