季皓宣燁,梁鵬鵬,柴玉梅,王黎明
(鄭州大學(xué)信息工程學(xué)院,鄭州 450001)
平面物體跟蹤算法在增強現(xiàn)實、監(jiān)控、基于視覺的控制和重建等計算機視覺鄰域有著廣泛的應(yīng)用。近年來,研究人員對平面物體跟蹤算法的研究取得了較大進展,但現(xiàn)實中的遮擋、模糊、尺度變換等各類復(fù)雜場景,會影響跟蹤器的跟蹤性能[1]。因此,需要設(shè)計一個魯棒的平面物體跟蹤算法以適應(yīng)現(xiàn)實中的復(fù)雜場景。
平面物體跟蹤算法分為基于關(guān)鍵點[2-4]的平面物體跟蹤算法和基于區(qū)域[5-7]的平面物體跟蹤方法?;趨^(qū)域的方法直接使用圖像中像素點的外觀,并通過優(yōu)化目標物體與輸入圖像之間的相似度度量確定目標物體的位置,這類方法容易受到尺度變換、部分遮擋以及快速移動等擾動因子的干擾[8]。而基于關(guān)鍵點的方法可以視作圖像之間檢測到的關(guān)鍵點的匹配問題,通過將目標物體描述為一組關(guān)鍵點以及帶有關(guān)鍵點標識的描述符集合,使得這類方法能夠捕捉到關(guān)鍵點及其局部區(qū)域外觀的變化,從而能夠充分探索目標物體本身的結(jié)構(gòu)信息,使基于關(guān)鍵點的方法能夠使圖像在受到旋轉(zhuǎn)、光照以及視角變換等擾動因子下具備不變性[9]。此外,由于這類方法在跟蹤過程中僅利用部分關(guān)鍵點匹配就能得到良好的跟蹤結(jié)果,因此基于關(guān)鍵點的平面物體跟蹤算法適合目標物體被部分遮擋的情況。相較于基于區(qū)域的方法,基于關(guān)鍵點的方法更能夠適應(yīng)復(fù)雜場景下的平面物體跟蹤。
為進一步提高在各類復(fù)雜場景下基于關(guān)鍵點的平面物體跟蹤算法的魯棒性,本文提出一種基于關(guān)鍵點并融合光流的平面物體跟蹤算法。對目標物體與輸入圖像分別檢測關(guān)鍵點以及帶有關(guān)鍵點標識的描述符,通過最近鄰匹配方法建立目標物體與輸入圖像之間的關(guān)鍵點匹配集合,利用光流法計算圖像序列中目標物體關(guān)鍵點的光流,計算出目標物體的關(guān)鍵點在當(dāng)前圖像中的位置,得到圖像之間關(guān)鍵點的對應(yīng)關(guān)系。通過相應(yīng)的懲罰系數(shù),由加權(quán)平均的策略將已得到的兩組關(guān)鍵點對應(yīng)關(guān)系進行融合,得出修正后目標物體與輸入圖像之間的關(guān)鍵點匹配集合,通過魯棒的幾何驗證方法估計目標物體相對于輸入圖像的單應(yīng)性變換,從而得出當(dāng)前圖像中目標物體的位置,并在POT[10]數(shù)據(jù)集上進行實驗證明。
通過局部描述符尋找圖像間的關(guān)鍵點對應(yīng)關(guān)系,是基于關(guān)鍵點的平面物體跟蹤算法的核心。該方法的目的是設(shè)計更健壯的局部描述符,并探尋利用距離度量改善描述符匹配。文獻[4]將關(guān)鍵點匹配問題轉(zhuǎn)換為分類問題,在進行分類器的訓(xùn)練時,將一個關(guān)鍵點的外觀集合當(dāng)作一個類用以訓(xùn)練分類器,因此,計算的開銷轉(zhuǎn)移到訓(xùn)練階段的方法能夠快速地執(zhí)行關(guān)鍵點的分類。文獻[11]使用樸素貝葉斯分類框架來表達關(guān)鍵點識別問題,通過數(shù)百個簡單的二進制特征描述關(guān)鍵點鄰域圖像斑塊,并使用分類器計算每個關(guān)鍵點類別的后驗概率。為了在跟蹤過程中利用空間和時間的一致性,文獻[12]通過一個度量學(xué)習(xí)驅(qū)動方法學(xué)習(xí)了一個魯棒的基于關(guān)鍵點外觀的模型。文獻[13]對SIFT[2]和FERNS[11]進行改進,使它們能夠在移動設(shè)備上進行實時跟蹤。為充分探索對象的結(jié)構(gòu)信息,減少各種擾動因素的干擾,文獻[8]提出了基于圖的跟蹤器Gacker,文獻[14]將關(guān)鍵點匹配和變換估計結(jié)合到一個統(tǒng)一的框架中,并且采用線性結(jié)構(gòu)化支持向量機(SVM)使對象模型快速適應(yīng)給定的環(huán)境。
光流法是一種利用光流方程求解目標在圖像平面上運動參數(shù)的方法?;诠饬鞯母櫡椒ǎ?5]由于高效的特性而受到廣泛的關(guān)注。按照理論基礎(chǔ)與數(shù)學(xué)方法的區(qū)別,文獻[16]將光流計算技術(shù)分為基于梯度的方法、基于區(qū)域匹配的方法、基于能量的方法和基于相位的方法4 種?;谔荻鹊姆椒ǚQ為微分法,利用時變圖像灰度的時空微分計算像素點的速度矢量,具體代表為Horn-Schunck 光流計算方法[17],該方法通過在光流基本約束方程的基礎(chǔ)上附加全局平滑假設(shè),從而計算出光流場。文獻[18]采用有條件的平滑約束,通過加權(quán)矩陣的控制對梯度進行不同的平滑處理。針對多運動的估計問題,文獻[19]提出了分段平滑的方法。基于區(qū)域匹配的方法[20-21]通過定位相似區(qū)域,由相似區(qū)域的位移計算光流,通過對圖像序列進行時空濾波處理,使基于能量的方法[15,22]適于均勻的流場。文獻[23]提出了基于相位的方法,根據(jù)與帶通速度調(diào)諧濾波器輸出中的等相位輪廓相垂直的瞬時速度來定義分速度,使帶通濾波器按照尺度、速度和定向來分離輸入信號。針對大位移在弱紋理情況下的光流信息計算誤差較大的問題,文獻[24]提出一種基于改進V1-MT 前饋模型的光流計算方法,能在大位移、弱紋理情況下更為準確地計算光流信息。近年來,利用神經(jīng)網(wǎng)絡(luò)建立的光流計算技術(shù)[25-26]取得了廣泛的關(guān)注與研究。
在實現(xiàn)本文算法的過程中,對于基于關(guān)鍵點的平面物體跟蹤算法的選取,由于基于SIFT[2]的平面物體跟蹤算法是這類方法中的一個經(jīng)典的方法,并且在平面物體跟蹤任務(wù)中具有良好的表現(xiàn)[10],因此本文將目標物體的SIFT[2]關(guān)鍵點處的光流引入基于SIFT[2]的平面物體跟蹤算法中。
基于關(guān)鍵點并融合光流的平面物體跟蹤算法的主要思想是根據(jù)相應(yīng)的懲罰系數(shù),對由SIFT[2]和光流法建立的圖像間的兩組對應(yīng)關(guān)系,通過加權(quán)平均的方式進行融合,生成最終的對應(yīng)關(guān)系。這兩個懲罰系數(shù)會根據(jù)不同算法在同一個有序圖像序列下的表現(xiàn),增強或削弱其對修正后匹配點位置的貢獻。
對輸入的帶有目標物體M的圖像序列I,需要使用SIFT[2]構(gòu)建I中的圖像與M之間的關(guān)鍵點匹配集合。對目標物體M,由高斯差分函數(shù)來識別潛在的對于尺度以及旋轉(zhuǎn)不變的關(guān)鍵點。首先通過圖像的尺度變換以及高斯差分生成高斯差分金字塔,尋找極值點確定候選關(guān)鍵點。然后通過泰勒展開去除低對比度的特征點,并由海森(Hessian)矩陣消除邊緣的響應(yīng)點。由上述方法對M構(gòu)建關(guān)鍵點集合K0,以K0中每個關(guān)鍵點為中心采樣周圍16×16 作為特征區(qū)域,計算區(qū)域內(nèi)每個像素點的梯度幅值與方向,統(tǒng)計個數(shù)最多的方向為該關(guān)鍵點的主方向,將坐標軸旋轉(zhuǎn)至主方向,隨后將每個特征區(qū)域分為4×4 的子域,每個子域計算8 個方向(45°,90°,…,360°)的梯度方向直方圖,通過繪制每個梯度方向的累加值,形成一個種子點,這樣對16 個子域生成16 個包含8 個方向向量的種子點,這樣就生成了128 維的SIFT 特征向量,經(jīng)過歸一化后生成關(guān)鍵點的描述符集合D0,構(gòu)建元組(K0,D0)。
為便于說明基于SIFT 的匹配點集合的構(gòu)建過程,以圖像序列I中的第i張圖像Ii為例。用SIFT 算法提取Ii的關(guān)鍵點集合KIi及存儲關(guān)鍵點標識的描述符集合DIi,構(gòu)建元組(KIi,DIi)。對D0中的第m個描述符D0,m以歐式距離作為相似度度量,采用暴力匹配的方式,找出DIi中與D0,m最相似的描述符DIi,n,由關(guān)鍵點的標識(m,n)得到匹配的關(guān)鍵點對(K0,m,KIi,n),可以表示M與Ii之間一對匹配的關(guān)鍵點。隨后將元素(K0,m,KIi,n)送入關(guān)鍵點匹配集合中。重復(fù)上述過程直至遍歷K0中所有的元素。至此,對圖像Ii構(gòu)建出基于SIFT 的關(guān)鍵點匹配集合。
本文使用Lucas-Kanade[27]算法計算目標物體的關(guān)鍵點集合K0中每一個關(guān)鍵點的光流,該算法基于亮度不變假設(shè)和鄰域光流相似假設(shè)兩個不變性假設(shè)?;谏鲜鰞蓚€假設(shè),對時刻t時的圖像函數(shù)Img(x,y,t)建立光流方程,由最小二乘法可得近似解:
其中,Img 表示整幅圖像,Imgx、Imgy、Imgt分別表示Img 對x、y、t的偏導(dǎo)數(shù),由式(1)得出(Δx,Δy),表示在時刻t時x、y方向的速度。
對有序圖像序列I,有第一張圖像I0以及預(yù)先指定的目標物體的關(guān)鍵點集合K0,對光流法F,有LI1=F(K0),LI2=F(LI1),…,LIn=F(LIn-1),其中,LIn為In中與K0對應(yīng)的點的集合,與K0中的坐標是一一對應(yīng)的。同理,對圖像Ii,由上述過程得出的點的集合LIi,由LIi與K0構(gòu)建對應(yīng)關(guān)系:
其中,Ind(x)為指示函數(shù),當(dāng)x成立時,Ind(x)=1,否則Ind(x)=0,Δ(a,b)表示a、b之間的歐氏距離。
為計算λ1、λ2的值,本文基于以下的觀察:在SIFT進行平面物體跟蹤的過程中,圖像序列中的前N(N較小)張圖像所預(yù)測的跟蹤框通常是可靠的?;谠撚^察對圖像序列中的前N張圖像,計算這些圖像中目標物體的單應(yīng)性變換矩陣。由K0中元素的位置,通過透視變換得到變換后的點TruthIi。此時,記CL為僅使用Lucas-Kanade 進行關(guān)鍵點對應(yīng)時發(fā)生錯誤(Δ(LIi,m,TruthIi,m)>μ1r)的次數(shù),CS為僅使用SIFT 進行關(guān)鍵點匹配時發(fā)生錯誤(Δ(KIi,n,TruthIi,m)>μ1r)的次數(shù)。對(λ1,λ2)的值,由式(4)計算:
通過式(3)、式(4)可以得出修正后的匹配點集合?Ii。由魯棒的矩陣估計方法,對?Ii計算單應(yīng)性矩陣HIi,由HIi與序列I中第1 張圖像中目標物體M的標注點,通過透視變換得出圖像Ii中目標物體的位置預(yù)測值RIi,即為Ii中目標的跟蹤結(jié)果。算法1 描述了基于關(guān)鍵點并融合光流的平面物體跟蹤算法對輸入圖像序列中目標物體M的跟蹤過程。
算法1基于關(guān)鍵點并融合光流的平面物體跟蹤算法
通過實驗在公開數(shù)據(jù)集上評測了本文提出的算法(SIFT+OF),并與SIFT[2]、FERNS[11]、SURF[3]、SOL[14]、GPF[28]、SCV[6]、ESM[7]、GO-ESM[20]、IC[5]、L1APG[29]和IVT[30]11 個經(jīng)典算法進行了比較。
實驗所用數(shù)據(jù)集為POT 數(shù)據(jù)集[10],該數(shù)據(jù)集對30 個物體的7 種運動狀態(tài)進行采集,這7 種運動狀態(tài)分別是尺度變換、旋轉(zhuǎn)、透視失真、運動狀態(tài)的模糊、遮擋、出視野和無限制移動。POT 數(shù)據(jù)集中每張圖像的像素為1 280×720,有52 500 張圖像標注了目標物體4 個角點的坐標,由于數(shù)據(jù)集中的圖像序列均為野外場景拍攝,因此可以很好地模擬實際應(yīng)用中復(fù)雜多變的環(huán)境。
按照文獻[10]中的評測辦法,以校正誤差作為評價指標,該指標基于物體的4 個角點,計算跟蹤器預(yù)測的跟蹤結(jié)果與真實值之間的歐氏距離的平均值,如式(5)所示:
其中,xi是跟蹤器預(yù)測的目標物體的4 個角點坐標,為真實標注的目標物體4 個角點的坐標。
通過精度圖反映跟蹤器的質(zhì)量[31],它表示校正誤差eAL小于閾值tp的幀所占的百分比。
本次實驗環(huán)境為Ubuntu16.04 系統(tǒng),使用OpenCV3.2.0 設(shè)計實現(xiàn),實驗設(shè)備為CPU:Intel Core i7-7700HQ CPU,內(nèi)存16 GB。實驗參數(shù)設(shè)置為閾值μ1=1,μ2=3,半徑r=3,N=10。為驗證SIFT 與光流融合的平面物體跟蹤算法(SIFT+OF)的有效性,本文實驗評測了SIFT+OF 在平面物體跟蹤任務(wù)[10]中的跟蹤精度以及跟蹤速度。
3.3.1 平面物體跟蹤任務(wù)
本節(jié)評估了SIFT+OF 在POT 數(shù)據(jù)集[10]上的跟蹤精度,并與11個經(jīng)典的平面物體跟蹤算法[2-3,5-7,11,14,20,28-30]的跟蹤精度進行了比較。其中,除SIFT+OF 外,其余算法的結(jié)果均引用文獻[10]中的評測結(jié)果。圖1 為12 種算法在7 種運動狀態(tài)下的跟蹤精度圖以及所有狀態(tài)下的平均結(jié)果,其中tp為校正誤差閾值。表1 為校正誤差閾值tp=5 時的跟蹤精度,其中最優(yōu)值加粗表示。
圖1 不同算法在POT 數(shù)據(jù)集中的跟蹤精度Fig.1 Tracking accuracy of different algorithms in the POT dataset
表1 校正誤差閾值為5 時不同算法在POT 數(shù)據(jù)集中的跟蹤精度Table 1 Tracking accuracy of different algorithms in the POT dataset when the correction error threshold is 5
實驗結(jié)果表明,將SIFT 與光流融合的平面物體跟蹤算法(SIFT+OF)優(yōu)于基于SIFT[2]的平面物體跟蹤算法。特別地,在尺度變換(圖1(a)、表1)、透視失真(圖1(c)、表1)狀態(tài)下取得最好的效果,運動模糊(圖1(d)、表1)優(yōu)于基于SIFT 的平面物體跟蹤算法。從整體表現(xiàn)來看,在校正誤差閾值為5 時,SIFT+OF 在POT 數(shù)據(jù)集[14]中的跟蹤精度與基于SIFT[2]的平面物體跟蹤算法相比,提高了4.4%。
3.3.2 跟蹤速度對比
由于SIFT+OF 與基于SIFT[2]的平面物體跟蹤算法相比增加了額外計算,為探究SIFT+OF 的運行速度,本文對SIFT+OF 與11 種經(jīng)典的跟蹤算法的運行速度進行測評。表2 統(tǒng)計了各個算法的跟蹤速度。
表2 不同算法在POT 數(shù)據(jù)集中的跟蹤速度Table 2 Tracking speed of different algorithms on the POT dataset(frames·s-1)
從表2 可以看出,對FERNS[11]而言,由于計算的開銷轉(zhuǎn)移至訓(xùn)練階段,因此具有更高的運行速度,而SIFT+OF 與SIFT[2]具有相似的運行速度,更具體地,SIFT[2]的跟蹤速度為1.859 frames/s,略快于SIFT+OF 的1.845 frames/s。因此,可得出SIFT+OF 的運行速度稍慢于SIFT[2]算法。綜合上述的實驗結(jié)果及分析可以得出,本文提出的算法(SIFT+OF)能夠在平面物體跟蹤的評測任務(wù)中取得良好的表現(xiàn),且具有較高的運行速度。
本文提出一種基于關(guān)鍵點并融入光流的平面物體跟蹤算法。將Lucas-Kanade 算法計算的目標物體關(guān)鍵點的運動信息融入SIFT 算法特征匹配的過程中,根據(jù)加權(quán)平均策略對目標物體與輸入圖像關(guān)鍵點的對應(yīng)關(guān)系進行調(diào)整,從而得出目標與輸入圖像關(guān)鍵點之間的對應(yīng)關(guān)系。利用魯棒的幾何驗證方法計算目標物體在當(dāng)前圖像中的單應(yīng)性變換,基于該變換矩陣,通過目標物體關(guān)鍵點的角點坐標由透視變換得出跟蹤結(jié)果?;赑OT 數(shù)據(jù)集52 500 張帶標注圖像的實驗結(jié)果表明,該算法相比經(jīng)典的跟蹤算法能夠取得更高的跟蹤精度。下一步研究是將基于深度學(xué)習(xí)的方法與本文提出的方法相結(jié)合,在保證跟蹤速度的同時,提高對圖像序列中目標物體的跟蹤精度。