徐 曼, 田秀霞
(上海電力大學 計算機科學與技術學院, 上海 200090)
視覺目標跟蹤是計算機視覺領域一個重要的研究方向。隨著計算機計算能力的提升、攝像設備的普及和數(shù)據(jù)存儲成本的下降,視覺目標跟蹤廣泛應用于移動識別、智能視頻監(jiān)控、視頻索引、人機交互、交通管理和視覺導航等領域。
基于相關濾波器的目標跟蹤算法將空域中復雜的卷積運算轉換到頻域中完成,時間復雜度極低,具有很高的跟蹤效率和魯棒性,近年來逐漸成為實現(xiàn)實時目標跟蹤的主流技術[1]。文獻[2]在MOSSE濾波器中引入核方法,實現(xiàn)了非線性分類;文獻[3]在文獻[2]提出的核化相關濾波方法的基礎上,提出了多特征融合的方法,將方向梯度特征、局部二值模式特征和灰度特征進行融合,形成了新的特征表達;文獻[4]引入顏色屬性值,增強了像素的描述能力;文獻[5-6]加入尺度控制,提高了算法對目標尺度變化的魯棒性;文獻[7-9]引入深度學習,對深度學習特征做相關濾波,將特征從人工選定特征擴充到了深度學習特征;文獻[10]采用連續(xù)濾波器進行目標跟蹤;文獻[11]針對文獻[10]存在的過擬合和采樣存儲問題,使用少量的濾波器參數(shù)替代原來大量的過濾器參數(shù),并結合高斯混合模型減少了存儲的樣本數(shù)量,保持了樣本的差異性;文獻[12]在文獻[11]的基礎上引入了穩(wěn)定性概念,對濾波器的每一部分引入一個權值,由此決定是否使用其進行跟蹤,通過構造一個濾波器大小相同的矩陣,在使用濾波器前與之相乘,最終使得濾波器不可靠部分數(shù)值較小,從而提升了跟蹤精度。上述研究關注了特征模型的改進及對尺度變換的支持,提高了相關濾波跟蹤的性能,然而在模板的更新策略上,一般采用簡單的插值方法實現(xiàn)對模板的在線學習[2,10],當視頻中出現(xiàn)長期的目標遮擋、目標消失或因為檢測錯誤而出現(xiàn)目標漂移時,很難從跟蹤錯誤中恢復。
本文使用ASMM(Atkinson-Shiffrin Memory Model)[13]記憶模型,設計了更符合人的視覺跟蹤的更新策略,并將此策略應用于核化相關濾波器,提出了基于記憶模型的核化相關濾波目標跟蹤算法。該算法參照ASMM記憶模型設計了適合目標跟蹤的記憶機制,將標準模板分為短時記憶模板和長時記憶模板庫,模板庫的更新遵循記憶模型。將目標跟蹤過程分為短時跟蹤和長時跟蹤:短時跟蹤在視頻的每一幀上進行,調用的是短時記憶模板;長時跟蹤在固定的時間間隔內(nèi)發(fā)生,調用的是長時記憶模板庫,可以修正短時跟蹤的錯誤。實驗結果表明,該目標跟蹤框架是可行的,目標跟蹤算法能夠實現(xiàn)對跟蹤錯誤的恢復。
ASMM記憶模型描述了人記憶的基本結構和原理。在ASMM記憶模型中,人的記憶由3個階段組成:感官記憶、短時記憶和長時記憶。在感官記憶階段,環(huán)境信號傳入感覺注冊機,轉化成化學和物理信號,用于生物系統(tǒng)的處理,形成視覺信號、聽覺信號和感覺信號等。這些信號經(jīng)過回想、編碼、決策、檢索等一系列信息處理過程,得到短時記憶。短時記憶經(jīng)過不斷的記憶、遺忘和響應輸出的反饋,變成長時記憶。
參考ASMM記憶模型,本文建立了目標跟蹤的特征記憶機制,將記憶分為短時記憶和長時記憶,并據(jù)此把目標跟蹤過程分為短時跟蹤和長時跟蹤兩個部分。短時跟蹤根據(jù)短時記憶快速進行粗略的目標跟蹤;長時跟蹤在固定的時間間隔內(nèi),根據(jù)長時記憶庫做精確跟蹤,以更正短時跟蹤的錯誤,獲得更高的跟蹤性能。
1.2.1 記憶庫
1.2.2 記 憶
1.2.3 回想、檢索、決策、反饋
使用短時記憶和長時記憶庫記載的模板和濾波器進行跟蹤,即是對記憶的回想、檢索、決策和反饋階段。在短時跟蹤時,基于時間的連續(xù)性,回想調用短時記憶,決策輸出響應值最高的坐標為目標中心位置。在長時跟蹤時,需要“仔細”識別,調用長時記憶庫來進行識別,回想并檢索所有長時記憶,用所有的模板和濾波器計算最大響應值,取獲得最高響應值的模板和濾波器為當前模板和濾波器,并反饋響應信息給此模板和濾波器,把它們的記憶強度值增加1,同時更新目標的短時記憶和長時記憶。
1.2.4 遺 忘
長時記憶庫的容量是有限的,當容量超過最大限度時,部分記憶會被遺忘,記憶的遺忘遵循遺忘曲線規(guī)律[14]。模板和濾波器的記憶能力記為r,由遺忘曲線規(guī)律得到r和記憶時間τ與強度h的關系,即
(1)
式中:?!A?用來控制時間變化(timespan)的尺度。
記憶能力最弱的模板和濾波器將被遺忘,從長時記憶庫中刪除。
依據(jù)設計的記憶機制,設計新的模板更新策略。模板更新在短時跟蹤階段實現(xiàn),分別對短時記憶模板和濾波器及長時記憶模板和濾波器進行更新。
1.3.1 短時記憶更新
(2)
λ——防止過度擬合的正則參數(shù)。
短時記憶模板和濾波器按簡單的插值處理進行更新:
(3)
(4)
式中:η——學習因子。
1.3.2 長時記憶更新
HOG(Histogram of Oriented Gradient)特征相對于其他人工特征,具有圖像特征信息比較全面、對幾何和光學的形變都能保持良好的不變性、對光照變化和陰影都具有較好的魯棒性等優(yōu)點[15]。因此,本文在跟蹤算法中使用HOG特征作為特征模型。
在每個Cell中將梯度細分為9個方向27個區(qū)間。其中前9個區(qū)間由[-1,0,+1]濾波產(chǎn)生的結果插值得到,第10~18個區(qū)間由[+1,0,-1]濾波產(chǎn)生的結果插值得到,第19~27個區(qū)間通過前18個區(qū)間得到。此外,還有4個區(qū)間用來統(tǒng)計紋理信息。共計32個區(qū)間,即每一個Cell最終都對應一個32維的向量特征。
由于需要做相關的濾波處理,本文將目標框按照4×4=16的Cell尺寸劃分單元,再直接用每個Cell的梯度直方圖表示每個Cell的特征。HOG特征的維數(shù)=(目標框大小÷16)×32,取前31維向量。假設目標框大小為177×152,則HOG特征的維數(shù)為44×38×31,HOG特征設置為31個通道的特征。
本文在核化相關濾波跟蹤框架[16]的基礎上,建立了如圖1所示的基于記憶模型的核化相關濾波跟蹤框架。跟蹤框架由特征模型、短時跟蹤、長時跟蹤、模板更新等幾個模塊組成。輸入幀的檢測區(qū)域經(jīng)過特征提取模塊提取特征,提取的特征乘以余弦窗以平滑邊緣,接下來的跟蹤處理分為短時跟蹤和長時跟蹤兩種類型。
2.2.1 基本核化相關濾波流程
(5)
式中:c——多通道特征的通道數(shù)量。
(6)
λ——防止過度擬合的參數(shù)。
目標跟蹤時,在新的一幀中用訓練得到的參數(shù)α和基采樣x,檢測待跟蹤目標區(qū)域采樣,記新的采樣為z,則響應值y為
圖1 基于記憶模型的相關濾波跟蹤流程
(7)
式中:C——循環(huán)采樣。
y取最大值的坐標即為該幀估計的目標中心坐標。
2.2.2 短時跟蹤
2.2.3 長時跟蹤
用長時記憶庫中保存的模板和濾波器做長時跟蹤。長時跟蹤時,將待測樣本和記憶庫中的所有模板和濾波器做相關運算,取得最大響應值的模板和濾波器被設為當前模板和濾波器,同時對該模板和濾波器在記憶庫中的記憶向量進行增強,即記憶強度為h+1。
2.2.4 算法流程
輸出 每一幀的跟蹤結果xt,t=1,2,3,…,m
根據(jù)式(5)計算kxx′;
fort=1 tom
if mod(t,L) then //長時跟蹤
對L中的所有模板,根據(jù)式(7)計算相應值y的集合;
比較得到最大的響應值ymax,其對應的記憶向量的強度值h+1;
計算取得最大響應值的空域位置xt;
輸出xt;
else //短時跟蹤
比較得到最大的響應值ymax;
計算取得最大響應值的空域位置xt;
輸出xt;
end if
根據(jù)式(5)計算kxx′;
ifymax>ththen
if 長時記憶庫容量 記憶向量(τi,hi)加入長時記憶庫L; else 根據(jù)式(1)計算r,選擇r的記憶遺忘; end if else end if 對L中所有記憶模板的記憶向量(τ,h)執(zhí)行τ+1。 end for 從文獻[17]中選取在原先的插值更新模式下出現(xiàn)顯著跟蹤錯誤的視頻(freeman1,shaking,jogging_1,lemming,walking2,girl)進行對比實驗,采用單個視頻的評估方式,評估標準也采用中心位置誤差。 跟蹤算法選擇HOG特征和高斯核,高斯核的帶寬因子σ設為0.5。相關濾波的空域范圍參數(shù)padding設為1.5,參數(shù)λ設為10-4,相關濾波器輸出的空域帶寬因子σ設為0.1。模板及濾波器的學習因子η設為0.02。采用記憶模型時,長時記憶模板更新閾值th設為0.5,長時記憶庫的容量N設為100,長時跟蹤的時間間隔為5。 實驗結果如圖2所示,左邊是關鍵幀,右邊是逐幀的中心誤差曲線。 結合每個視頻的中心誤差曲線圖和關鍵幀圖對跟蹤結果比較分析如下。 視頻freeman1在第149幀之前發(fā)生了目標平面外旋轉姿態(tài)變化,兩種算法都偏離了目標;在第150幀,基于記憶模型的算法在長時跟蹤中借助長時記憶模板重新回到了正確位置,而基本算法則由于沒有糾錯,逐漸偏離,直至第186幀已經(jīng)完全丟失目標,并且在后面的跟蹤中一直偏離。本實例表明,記憶模型算法糾正了由于姿態(tài)變化而發(fā)生的跟蹤錯誤。 視頻shaking在第24幀之前發(fā)生了由光照變化和動作變化而引起的目標外觀變化,兩種算法都偏離了目標。在第25幀,基于記憶模型的算法用長時記憶庫的長時跟蹤重新回到了正確的位置,而基本算法則由于沒有糾錯,逐漸偏離,直至302幀已經(jīng)完全丟失目標,漂移至另一個相似目標上,并且在余下的幀上一直偏離目標。本實例表明,記憶模型算法糾正了由于照明和動作變化使目標外觀發(fā)生變化而導致的跟蹤錯誤。 視頻jogging_1在第59幀到第80幀之間目標被遮擋,由于時間的連續(xù)性,兩種算法都定位到了遮擋物上,基于記憶模型算法的長時跟蹤借助長時記憶模板在第83幀重新檢測到目標,而基本算法由于采用簡單的插值法更新模板,此時模板已經(jīng)完全被更新成遮擋物,因此無法再檢測出目標。本實例表明,基于記憶模型的算法可以恢復被遮擋目標的跟蹤。 視頻lemming在第370到373幀發(fā)生了突然移動,到了第373幀兩種算法的跟蹤都有小幅度偏離,基于記憶模型算法的長時跟蹤借助長時記憶模板在第373幀矯正了目標定位,而基本算法則在接下來的500幀內(nèi)一直定位在同一個錯誤位置,直到目標在第893幀在此位置再次出現(xiàn)時,才被動地重新跟蹤到目標。本實例表明,基于記憶模型的算法可以及時恢復因突然移動而發(fā)生的跟蹤錯誤。 視頻walking2在第210幀之前被另一人遮擋,在遮擋人逐漸離開到第215幀,目標偏離錯誤地定位到遮擋人。基于記憶模型算法的長時跟蹤借助長時記憶模板在第220幀及時糾正了跟蹤錯誤,并且在遮擋人逐漸離開的過程中多次糾正跟蹤誤差,而基本算法則在余下幀中一直延續(xù)了跟蹤錯誤。本實例再次表明,基于記憶模型的算法可以矯正對因為遮擋引起的跟蹤錯誤。 視頻girl中目標在第432幀開始被另一人臉遮擋,到第438幀幾乎完全被遮擋?;谟洃浤P退惴ǖ拈L時跟蹤借助長時記憶模板到第438幀仍然保持正確的定位,而基本算法則由于使用的是插值更新的方法,模板逐漸被遮擋人臉取代,因而到第438幀完全漂移到遮擋人臉上。本實例表明,基于記憶模型的算法對因為遮擋引起的跟蹤錯誤能夠及時矯正。 圖2 6個視頻的記憶模型對比實驗結果 以上實驗結果表明,基于記憶模型的核化目標跟蹤算法可以矯正各種原因(包括姿態(tài)變化和光照變化引起的目標外觀變化、目標快速移動及遮擋等)引起的跟蹤錯誤。 本文基于記憶模型的核化相關濾波目標跟蹤算法,建立了模板和濾波器的記憶機制。將記憶分為短時記憶和長時記憶庫,模板和濾波器的更新即是記憶的建立、回想、決策、反饋和遺忘。將目標跟蹤過程分為短時跟蹤和長時跟蹤:短時跟蹤參照短時記憶,采用插值模板更新方式,以保證模板和濾波器的彈性;長時跟蹤參照長時記憶庫,長時記憶庫保存了目標穩(wěn)定的模板和濾波器信息,用于保證模板和濾波器的穩(wěn)定性。長時跟蹤的設置保證了在各種原因導致的跟蹤錯誤發(fā)生時,能夠及時糾錯。實驗結果表明,對于遮擋及其他外觀變化引起的跟蹤錯誤,基于記憶模型的模板更新策略有矯正作用,能夠從跟蹤失敗中恢復。3 實驗與分析
4 結 語