王國屹,孫永榮,吳 雷,曾慶化
南京航空航天大學 自動化學院 導航研究中心,南京211100
在傳統(tǒng)KCF目標跟蹤算法中存在的一個主要問題是跟蹤窗口的尺度無法根據(jù)目標的尺度變化進行自適應調(diào)整[1-2],這是由于在初始化KCF算法跟蹤窗口時,其尺寸與邊界擴充部分的大小是預先設定好的[3],使得當目標尺度變化較為明顯時,傳統(tǒng)KCF 算法所提供的跟蹤窗口無法準確匹配目標區(qū)域;同時該框由于尺度問題造成框內(nèi)僅有目標的部分圖像,而框內(nèi)圖像又將作為樣本對于目標模型進行訓練,進而導致算法模型誤差發(fā)散[4],使得跟蹤過程逐漸失敗。
對于上述問題,國內(nèi)外多所高校與科研單位進行了大量的研究工作[5-12]。韓國中央大學研究了改進的DSST算法,通過獲取尺度相關(guān)性響應的最大值來計算目標圖像補丁大小[13],但在跟蹤精度方面其跟蹤窗口與目標區(qū)域的重疊率平均為0.65,難以滿足類似空中加油等高精度任務對于重疊率不低于0.8的跟蹤精度要求。沙特阿拉伯阿卜杜拉國王科技大學在跟蹤器的檢測階段應用多個尺度的最大池,并在先驗值為前一幀跟蹤窗口附近的高斯核相關(guān)中心值時,選擇一個使后驗概率最大化的尺度[14],但在實時性方面其處理速度平均為25 FPS,難以滿足類似空中加油等高實時性任務對于跟蹤過程平均處理速度不低于50 FPS的實時性要求。北京工商大學利用目標尺度金字塔方法提取不同尺度下目標區(qū)域的融合特征,并將模型特征進行對比以獲得更新后的目標尺度[15],但在目標出現(xiàn)尺度變化明顯情況時其跟蹤精度與成功率均出現(xiàn)較大幅度波動,不僅難以滿足空中加油任務的高精度與高成功率的要求,同時也難以保證跟蹤過程穩(wěn)定性。
本文以無人機空中加油為背景,針對其視覺導航過程中圓形加油錐套目標跟蹤所存在的目標尺度變換與遮擋問題,開展基于分塊檢測的圓形目標尺度自適應相關(guān)跟蹤方法研究,以進一步提升目標尺度變換與遮擋情況下的跟蹤算法的準確性、穩(wěn)定性與魯棒性。
在原始KCF 算法中難以判斷目標跟蹤失敗,而在目標被遮擋情況中[16],遮擋使得跟蹤積累誤差逐漸增大,跟蹤模型逐漸被污染,進而導致跟蹤偏移[17],當偏移量過大時跟蹤失敗。若目標僅被部分遮擋[18],仍有可能借助其他手段使得跟蹤過程持續(xù)正常進行,保證跟蹤準確順利進行。針對加油錐套等外部輪廓為圓形或橢圓形的目標,遮擋情況下根據(jù)未被遮擋子塊仍保留目標特征的特點,判斷目標遮擋發(fā)生的位置,消除因積累誤差產(chǎn)生的跟蹤偏移。
對于加油錐套目標,由于其外部形狀呈現(xiàn)為近似橢圓狀,根據(jù)橢圓一般方程ax2+by2+cx+dy+e=0(a >0,b >0且a ≠b),其未知參數(shù)為( )a,b,c,d,e ,理論上只要獲取橢圓上五個點即可求解該橢圓的一般方程,進而確定橢圓位置、尺寸、旋轉(zhuǎn)角度等數(shù)據(jù)。在實際情況中,若橢圓上點數(shù)選擇較少或較為密集都會出現(xiàn)橢圓擬合準確率下降情況,且失真較為明顯。擬合失敗情況如圖1所示。
圖1 兩組擬合失敗情況圖
因此若想采用特征點提取與邊緣輪廓擬合方法,則需盡量保證所提取的邊緣有效特征點符合兩個特征,位置特征:盡量均勻分布于邊緣輪廓;數(shù)量特征:有效特征點盡量多,以便擬合結(jié)果盡量準確。為滿足這兩個特征,將目標圖像按行列分割為3×3共9個子塊區(qū)域,這種分割方法使得遮擋情況發(fā)生時,可以保證存在多個未被遮擋的子塊可以用于準確擬合目標邊緣輪廓的有效特征點,同時極大程度上確保各子塊特征的獨特性,使得算法復雜性相對較低,冗雜處理最大程度減少。將目標圖像經(jīng)過按行列3×3方式分割后,可以獲得9個子塊,如圖2所示。
圖2 子塊分割結(jié)果
對于目標遮擋狀態(tài)與跟蹤失敗狀態(tài)的判斷,采用了HOG 特征相似度匹配方法,可使特征計算量相對較小。雖然HOG 特征對于旋轉(zhuǎn)具有很強的敏感性,但錐套目標為近橢圓狀,具有類似中心對稱特性,因而適用于對這種目標的特征描述。
為計算目標特征相似度,需要利用無遮擋狀態(tài)下包含目標在內(nèi)的一幀圖像作為對照組,因此選取視頻序列中包含目標的初始幀圖像作為對照組樣本并保存,初始幀圖像如圖3所示。
圖3 初始幀原始圖像與目標圖像
當出現(xiàn)遮擋時,如圖4 所示,將當前幀與預先保存的初始幀轉(zhuǎn)化為灰度圖像并分別分割為3×3共9個子塊同時標記序號。將對應序號的子塊圖像分別提取HOG特征,由于HOG 特征形式為一組n×1 階向量,設初始幀某子塊HOG 特征向量為An×1,其對應當前幀子塊HOG特征向量為Bn×1,則兩子塊圖像相似度對比用其向量作差進行求解,其求解結(jié)果η 為:
圖4 遮擋狀態(tài)下整體圖像、目標圖像與各子塊圖像
由于相似度對比結(jié)果通常以取值范圍在0~1 內(nèi)的小數(shù)形式呈現(xiàn),設置參數(shù)k 使得e-η/k<1,并設初始幀各子塊相似度響應值為δinit_i(i=1,2,…,9) ,通過δinit_i=ATA 進行計算求解;再設歸一化后的當前幀各子塊相似度響應值為δfinal_i(i=1,2,…,9),通過將上面得到的e-η/k進行處理,使得相似度響應值結(jié)果歸一化至0~1,得到δfinal_i的解算方法為:
設子塊響應閾值為ξsub,當δfinal_i<ξsub時則判斷該子塊即被遮擋。對于子塊閾值的設置,利用遮擋狀態(tài)時不同閾值下跟蹤效果進行選擇。如表1所示,當設置子塊閾值為0.2 或0.6 時對于目標的跟蹤均失敗且重疊率低,閾值為0.6時跟蹤則直接中斷,表中位置誤差單位為像素距離;而設置閾值為0.3或0.5時,跟蹤正常,且保持較高重疊率與較低的位置誤差,即跟蹤過程可靠性與準確性控制較好。因此通常設置子塊響應閾值為ξsub=0.3~0.5。若僅有部分子塊符合遮擋條件,則判斷為遮擋狀態(tài),此時這些子塊的序號即為遮擋出現(xiàn)的位置;若全部子塊均符合遮擋條件時則繼續(xù)進行跟蹤失敗狀態(tài)的判斷。
表1 遮擋狀態(tài)時不同子塊閾值下跟蹤效果(場景一)
為驗證以上子塊響應閾值方法的普適性,分別針對不同于場景一的其他兩種場景下的目標跟蹤進行測試,如表2與表3所示,兩種場景下搜索框的重疊率、位置誤差與跟蹤結(jié)果隨子塊響應閾值設置的變化而各不相同。其中在場景二中子塊閾值設置為0.3 或0.5 時跟蹤結(jié)果均成功,同時重疊率和位置誤差表現(xiàn)均較好,而當閾值設置為0.2或0.6時跟蹤均失?。辉趫鼍叭虚撝翟O置小于0.3 或大于0.5 時跟蹤過程均在遮擋出現(xiàn)后產(chǎn)生中斷,導致跟蹤過程無法繼續(xù)進行。根據(jù)以上結(jié)果可以看出本文提出的閾值設置方法針對不同場景下的目標跟蹤具有較好的普適性。
表2 遮擋狀態(tài)時不同子塊閾值下跟蹤效果(場景二)
表3 遮擋狀態(tài)時不同子塊閾值下跟蹤效果(場景三)
根據(jù)二維正態(tài)分布的特點,對不同子塊設計不同權(quán)重,如根據(jù)遮擋出現(xiàn)后對于跟蹤狀態(tài)的影響情況考慮,其中心子塊對于目標圖像的跟蹤影響最明顯,因此設計其權(quán)重系數(shù)為k1;四角的子塊對于受到遮擋時產(chǎn)生的影響最小,設為k3;其余子塊權(quán)重系數(shù)設為k2,則權(quán)重系數(shù)的設計需滿足式(3),通常設置為k1=0.25,k2=0.125,k3=0.062 5。
設總體響應閾值為ξall,根據(jù)表4與表5兩組遮擋狀態(tài)時不同子塊響應閾值下對于跟蹤狀態(tài)判斷準確性的實驗結(jié)果,通常將總體響應閾值取為ξall=0.5~0.8。加權(quán)后的當前幀目標整體相似度響應值為σall:
將其與閾值ξall進行比較,若σall<ξall則判斷為跟蹤失敗狀態(tài)。
表4 ξsub=0.2 時,不同總體閾值下跟蹤狀態(tài)判斷情況
表5 ξsub=0.3 時,不同總體閾值下跟蹤狀態(tài)判斷情況
針對不同跟蹤場景或跟蹤需求時,由于上述閾值選取方法是基于跟蹤效果的實驗結(jié)果進行的考量,因此其設置結(jié)果滿足不同跟蹤場景或需求下的遮擋與失敗狀態(tài)判斷需要,故該閾值設置方法在不同場景或需求下仍然有效。
為達到尺度自適應目標,多數(shù)團隊采用的方法是利用尺度金字塔思想實現(xiàn)跟蹤框尺度自適應[19-20],然而由于尺度金字塔的建立帶來了大量的冗余樣本,使得算法處理時間大大增加;同時其利用響應值選取跟蹤框尺度的方法使得跟蹤框精度與準確性存在一定的問題。
為在不影響快速性的前提下提升KCF方法的跟蹤過程準確性與可靠性,同時實現(xiàn)跟蹤框的尺度自適應過程,根據(jù)錐套等圓形目標本身所具有的外部物理特征,可以提取目標外部輪廓有效點并將其擬合為目標外部輪廓,進而獲取目標的位置與大小信息,根據(jù)目標輪廓位置與大小給出參考搜索框供KCF 更新目標模型,其操作流程如圖5 所示。通過對未被遮擋子塊的目標邊緣有效特征點的篩選,可以避免重復考慮諸如被遮擋子塊的特征點或目標非邊緣特征點等無效特征信息,提高算法速度與魯棒性;再利用有效特征點進行邊緣擬合,根據(jù)目標固有尺度信息進行尺度自適應,可以有效提升跟蹤過程的精度與準確性。
為提取符合要求的錐套外部輪廓有效特征點,利用Sobel算子的圖像邊緣檢測特點提取錐套目標外部有效特征點。對于每一子塊的特點,由于將目標圖像分為3×3 共9 個子塊,其目標外部邊緣主要分布于除中間子塊外其余8個子塊,因此每子塊內(nèi)均包含部分目標外部邊緣特征。
以左上角子塊為例,其邊緣特征可類似分析為圓心指向子塊右下角方向的一段圓弧,因此為突出有效邊緣點抑制無效邊緣點,需要采用45°方向Sobel算子計算其邊緣梯度。再考慮其局部明暗變化特征可發(fā)現(xiàn)其邊緣處為暗,而邊緣外的背景圖像為亮,需將Sobel算子按圖6中算子進行設計,進而使得該算子可以準確提取該子塊目標邊緣特征。因此設計45°方向的Sobel 算子進行邊緣提取后,獲得該子塊梯度特征點圖。
對于非邊緣輪廓有效特征點存在的噪點,需要進行有效點特征篩選,以保證在剔除無效噪點的過程中盡可能地保留并提取了有效特征點,對此設計了一組判別標準用以消除噪點。由于子塊內(nèi)邊緣特征為目標整體邊緣特征的一段圓弧部分,因此子塊內(nèi)邊緣特征點應滿足相角、幅值兩組條件。以左上角子塊為例,因為根據(jù)該段圓弧可以確定其圓心大致位置應在圖片右下角處,因此以右下角為圓心參考點、左上角為坐標原點,分別在圖像右下角區(qū)域與左上角區(qū)域設置一個矩形區(qū)域和一個三角形區(qū)域,使得區(qū)域內(nèi)全部點剔除,進行粗篩選操作;某一待選點距離圓心參考點的歐式距離與其通過角度計算得到的與圓心參考點的距離分別設為ldis、ldcos,則有:
式中,( xi,yi)、( xo,yo)分別表示該待選點與圓心參考點的位置坐標,θ1表示在該圖轉(zhuǎn)化為幅值相角圖時該待選點的相角,有效特征點篩選方法如圖6 所示,可知若該待選點位于目標邊緣輪廓區(qū)域則其在該子塊中與圓心參考點的距離應滿足ldis≈ldcos,設置距離參數(shù)與閾值ξdis關(guān)系如式(7),閾值范圍通常取5 ≤ξdis≤10。
對于符合該距離條件的待選點保留,不符合的則進行剔除;然后根據(jù)待選點與圓心參考點的位置關(guān)系可得角度參數(shù)θ2:
圖5 特征點提取與擬合操作流程圖
符合篩選條件的待選點的兩個相角參數(shù)θ1、θ2應滿足θ1+θ2≈90°,設置相角參數(shù)與閾值ξangle關(guān)系條件如式(9),閾值通常取7°≤ξangle≤15°。
滿足以上三組篩選條件的待選點便標記為該子塊目標邊緣輪廓有效特征點。其有效性體現(xiàn)在操作得到的特征點分布于圓形目標邊緣之上,滿足其邊緣特征,可以用于后續(xù)邊緣擬合操作。針對這一子塊的完整操作流程圖如圖6 所示。經(jīng)過篩選所得的有效特征點的準確性體現(xiàn)在根據(jù)其獲得的參考搜索框的位置與尺度準確性之中。由于參考搜索框的給出建立在目標外部邊緣輪廓之上,而目標邊緣輪廓由在各子塊中所提取的有效特征點所擬合得到,因此若算法給出的參考搜索框其位置與尺度均符合真實目標的位置與尺度,即參考搜索框的準確性表現(xiàn)較好,則可認為提取的有效特征點具有較好的準確性。
圖6 左上角子塊邊緣有效特征點提取流程
由于包含目標邊緣的子塊為除中心子塊外的八個部分,以上介紹了對左上角子塊進行的操作,對其余七個子塊則采取上述相同步驟的操作,可以獲得各子塊邊緣有效特征點,歸一化到目標圖像中后可獲得整體目標的外部邊緣有效特征點。由于特征點的提取依賴對于目標邊緣的檢測,因此所擬合出的目標邊緣外圓可以實現(xiàn)對于目標參考搜索框的尺度自適應。
獲取整體目標圖像邊緣有效特征點后,可以利用其擬合出目標邊緣外圓,同時可以獲得該圓的圓心位置、長/短半軸大小以及整體旋轉(zhuǎn)角度,即可獲得一個包含位置大小信息( x,y,w,h )目標參考跟蹤窗口。該跟蹤窗口與KCF 算法初始設定跟蹤窗口的尺度( )winit,hinit比例關(guān)系可設為ηw、ηh:
并將當前幀圖像與參考搜索框的長寬尺寸按照該比例進行放縮即可得到用于更新模型的圖像,以及用于在下一幀為KCF算法提供預測位置的搜索框。同時使KCF 初始設定的搜索框位置移動至目標參考搜索框位置( x,y )處,將此時的KCF算法目標搜索框顯示在縮放后的圖像上并將該圖像還原至原始尺寸,從而實現(xiàn)搜索框的尺度自適應,其結(jié)果如圖7所示。
圖7 尺度自適應結(jié)果
通過上述操作,可以保證在不影響算法實時性的基礎(chǔ)上實現(xiàn)對錐套目標搜索框的尺度自適應。同時,由于錐套圖像外部輪廓為近橢圓形,而該方法亦是針對目標外部輪廓進行設計與操作,因此可應用于對其他外部輪廓為圓形或橢圓形的目標的跟蹤。
本文提出的算法利用特征點提取與邊緣擬合解決了原始KCF 算法尺度無法自適應的問題,同時提出的分塊檢測的方法在保證跟蹤的連續(xù)性、準確性的前提下,消除了跟蹤過程中遮擋帶來的影響,其算法整體流程圖如圖8所示。
圖8 算法整體流程圖
本文利用一組具有顯著的明暗背景變化、目標尺度變化并存在目標遮擋情況的視頻序列進行實驗分析,視頻序列中的兩幀處理結(jié)果如圖9所示,圖中藍色框為原始KCF 算法所給出的搜索框,綠色框則為本文提出的改進算法所給出的參考搜索框,可見改進算法實現(xiàn)了跟蹤框尺度自適應,并保證了遮擋狀態(tài)下對目標的準確與快速跟蹤。同時除原始KCF 算法外,分別采用尺度金字塔-KCF 算法、DSST(Discriminative Scale Space Tracking)算法與本文設計的改進算法進行對比,其中尺度金字塔-KCF算法為在原始KCF算法基礎(chǔ)上采用尺度金字塔方法實現(xiàn)尺度自適應的算法;DSST 算法為瑞典Linkoping大學團隊提出的一種基于KCF算法針對尺度變化問題進行改進的跟蹤算法[21]。
圖9 算法效果對比圖
下面分別從準確性、可靠性與實時性三方面對分塊檢測的圓形錐套目標尺度自適應算法與其他對比算法進行比較與定量評估。
算法準確性使用位置誤差大小與準確率(即符合位置誤差閾值幀數(shù)與總幀數(shù)的比值)進行定量評估。位置誤差大小即參考搜索框與真實框中心點歐式距離lerr:
式中,( xci,yci)、( xco,yco)分別為參考搜索框與真實框中心點坐標,其中真實框由手工標定目標位置框表示。位置誤差大小對比結(jié)果如圖10 所示,改進算法利用擬合目標邊緣輪廓的確定圓形錐套目標位置的方法,能夠保證在整段實驗視頻中,參考搜索框與目標真實位置的中心點位置誤差大小不超過5像素距離,即表明改進算法的目標跟蹤框與目標真實位置偏離較小,準確性較高;原始算法則主要在目標尺度變化與遮擋加入的影響下,使得位置誤差大小達到了25 像素距離左右;尺度金字塔-KCF 算法與DSST 算法相較于原始算法平均降低了10 像素距離,但受尺度變化影響仍然較大且魯棒性較差。四者的效果對比表明改進算法提出的參考搜索框在位置上準確性較其他對比算法有較大提高。
圖10 準確性(位置誤差大?。Ρ冉Y(jié)果
準確率體現(xiàn)為隨著位置誤差閾值的增加,其對于跟蹤框位置偏離的容忍程度逐漸增加。準確率對比結(jié)果如圖11 所示,當位置誤差閾值設置為5 時,改進算法提出的參考搜索框?qū)奈恢脺蚀_率已經(jīng)接近100%;原始算法給出的目標搜索框此時的位置準確率僅有10%,當閾值設置為27 及以上時其準確率才能達到接近100%的水平;尺度金字塔-KCF 算法與DSST 算法的準確率相對原始KCF算法較高,但仍不及改進算法,當閾值設置低于12 時其準確率均不足40%。另外,由圖11中可見原始算法在閾值為23左右、尺度金字塔-KCF算法與DSST算法在閾值為13左右時,其準確率迎來一次突變,這是由于本實驗視頻序列包含了遮擋情況,使得在出現(xiàn)遮擋后原始算法跟蹤框偏差較大,致使位置誤差突然變大。這一結(jié)果從側(cè)面也證明了改進算法針對遮擋情況的魯棒性較強。
圖11 準確性(準確率)對比結(jié)果
算法可靠性利用成功率與參考搜索框精度進行定量評估。參考搜索框精度的評價標準依靠IoU(交并比)指數(shù),兩個區(qū)域交集與并集面積的比值,其表達式為:
式中area(C)、area(G)分別表示算法得出的參考搜索框區(qū)域與實際目標位置標記框區(qū)域,則精度最理想情況為兩區(qū)域完全重疊,即IoU=1。精度對比結(jié)果如圖12所示,改進算法在整個實驗視頻中可以將參考搜索框精度基本保持在90%以上且穩(wěn)定性較好,不會出現(xiàn)精度突變或振蕩情況;由于前一部分實驗視頻中目標尺度變化明顯,原始算法的跟蹤框精度則隨著尺度的調(diào)整而劇烈變化,因為其過程中目標尺度變化并非單一方向,即既有尺度增大也有尺度減小情況,因此圖中可見在約70 幀至140 幀時跟蹤框精度出現(xiàn)波動情況,而當從約350幀左右后目標尺度不再發(fā)生明顯改變時,其精度也得以保持在20%上下;尺度金字塔-KCF 算法的跟蹤精度隨幀數(shù)的變化情況與原始算法基本相同,但平均精度比原始算法高20%;DSST 算法在三種對比算法中精度最高,平均可以達到80%的水平,但仍與改進算法有所差距。由此可見,改進算法的搜索框精度較原始算法提升明顯。
圖12 可靠性(精度)對比結(jié)果
成功率表示為隨著對于IoU 數(shù)值閾值選取的增大表明判斷成功的條件愈加苛刻,符合閾值幀數(shù)與總幀數(shù)的比值跟隨閾值變化逐漸降低。成功率對比結(jié)果如圖13所示,當重合度(即IoU 值)閾值設置為0.9或以下時,改進算法的參考搜索框成功率基本可以達到100%水平;原始算法在尺度變化與遮擋情況出現(xiàn)情況下魯棒性較低,在閾值設置低至0.2 時便出現(xiàn)成功率急劇下降的問題,當閾值為0.5 時其成功率為20%;尺度金字塔-KCF 算法與DSST 算法的成功率相對原始KCF 算法較高,但仍不及改進算法,當閾值設置高于0.7時其成功率均不能達到改進算法的水平,兩者中表現(xiàn)最好的DSST算法在閾值為0.75 時其成功率與改進算法也有10%的差距。因此,可以判斷改進算法的跟蹤成功率較高,針對尺度變化與遮擋問題的魯棒性較強。
圖13 可靠性(成功率)對比結(jié)果
算法實時性利用三種對比算法與本文提出的KCF改進算法的耗時對比進行表示。改進算法雖然加入了大量的特征點提取與邊緣擬合的基于圖形操作的運算,但其運算時間相對原始算法僅增加2~3 ms,整體平均運算耗時約7 ms,相較于原始算法平均運算耗時約4 ms的結(jié)果,兩者仍保持在同一水平;而尺度金字塔-KCF算法與DSST 算法的運算平均耗時均在10 ms 以上,速度相對于原始算法與改進算法較慢。跟蹤過程中,除第70 幀時加入的遮擋使得算法運算耗時出現(xiàn)短暫大幅增大情況外,改進算法運算速度平穩(wěn),可穩(wěn)定在150 FPS左右,滿足空中加油任務對于目標跟蹤過程算法實時性的要求。對比結(jié)果如圖14所示。
圖14 實時性對比結(jié)果
尺度自適應與遮擋判斷對于KCF目標跟蹤算法的準確性與魯棒性提升具有重要的作用。本文針對加油錐套為例,提出了利用特征點提取與擬合、分塊檢測的方法解決圓形目標跟蹤階段搜索框尺度變換與遮擋判斷的問題。文中利用目標外部邊緣特征點的提取與輪廓擬合方法解決了對于諸如加油錐套的圓形目標跟蹤中所存在的目標尺度變換問題,通過分塊檢測將跟蹤過程中目標遮擋情況與跟蹤失敗情況區(qū)分開來,并在遮擋情況下消除了跟蹤積累誤差,恢復了目標搜索框位置。實驗測試可知,算法平均處理耗時為7 ms,平均位置誤差小于1像素間距,在遮擋情況下目標跟蹤成功率可達90%以上。大量的實驗結(jié)果表明:本文提出的圓形錐套目標KCF 跟蹤方法的遮擋檢測方法具有較高實時性、可靠性與準確性的特點,在圓形錐套目標跟蹤過程實驗中具有較好的跟蹤效果,實現(xiàn)了空中加油對接過程中對于錐套的穩(wěn)定、可靠跟蹤。