林穎,湯文兵
(安徽理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,安徽 232001)
隨著計(jì)算機(jī)科技的進(jìn)步,生活中不斷產(chǎn)生著大量的視頻圖像數(shù)據(jù),如何對(duì)這些視頻圖像信息進(jìn)行處理,使得計(jì)算機(jī)能夠?qū)⒁曨l圖像轉(zhuǎn)化成數(shù)字信息并進(jìn)行邏輯計(jì)算分析,受到了研究人員的廣泛關(guān)注,這就是計(jì)算機(jī)視覺(jué)。對(duì)運(yùn)動(dòng)中的目標(biāo)進(jìn)行定位和追蹤[1]是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)重要組成部分。目標(biāo)跟蹤在軍事、醫(yī)療、體育、交通和工業(yè)中都有著廣泛應(yīng)用,但是由于跟蹤過(guò)程中,目標(biāo)形變、光照變化、目標(biāo)遮擋、相似背景等多種復(fù)雜的跟蹤情況使得目標(biāo)跟蹤成為一個(gè)富有挑戰(zhàn)性的課題。
單目標(biāo)跟蹤是從二維的視頻序列中對(duì)物體進(jìn)行分析和追蹤,由于深度信息的缺乏,容易產(chǎn)生目標(biāo)自身遮擋或障礙物遮擋。當(dāng)觀測(cè)物體被嚴(yán)重遮擋時(shí),跟蹤器的置信度大幅度降低,目標(biāo)的大部分特征的缺失容易導(dǎo)致跟蹤漂移或者失敗。遮擋問(wèn)題嚴(yán)重影響了跟蹤的精度和效率,為了提高跟蹤算法的魯棒性,亟需提出一個(gè)抗遮擋的目標(biāo)跟蹤算法來(lái)滿足實(shí)時(shí)性的跟蹤需求。
受現(xiàn)有的抗遮擋跟蹤算法的啟發(fā),本文提出了一個(gè)基于多算法融合思想的抗遮擋目標(biāo)跟蹤算法。在基于卡爾曼濾波的Mean Shift算法基礎(chǔ)上增加了一個(gè)SVM檢測(cè)器。當(dāng)判斷目標(biāo)被長(zhǎng)時(shí)間嚴(yán)重遮擋或者目標(biāo)丟失時(shí),激活SVM輔助其他跟蹤器進(jìn)行目標(biāo)的檢測(cè)重定位。
Mean Shift算法[4]采用的是顏色直方圖作為目標(biāo)模型的特征,通過(guò)不斷迭代向量直到收斂于目標(biāo)的實(shí)時(shí)位置。因?yàn)閷?shí)時(shí)性好,抗形變、抗旋轉(zhuǎn)、抗遮擋等優(yōu)勢(shì)而被廣泛應(yīng)用在實(shí)時(shí)目標(biāo)跟蹤中。但是在跟蹤時(shí),如果目標(biāo)運(yùn)動(dòng)速度過(guò)快,視頻序列相鄰的兩幀目標(biāo)并不重疊,那么Mean Shift算法很難追蹤到目標(biāo),而且如果密度梯度不是目標(biāo)形成的,那么收斂到的位置也不是目標(biāo)所在的位置,此時(shí)跟蹤就會(huì)失敗。因?yàn)樗惴ú捎昧思訖?quán)核函數(shù)直方圖模型,增加目標(biāo)中心像素權(quán)值并且減小邊緣像素權(quán)值,所以當(dāng)局部被遮擋時(shí),對(duì)算法的精確度干擾不大,但是當(dāng)物體被嚴(yán)重遮擋時(shí),目標(biāo)信息嚴(yán)重缺失,此時(shí)通過(guò)單一的搜索密度極值區(qū)域不一定能準(zhǔn)確判斷目標(biāo)位置。
針對(duì)這些問(wèn)題,有的學(xué)者將Mean Shift算法與卡爾曼濾波器相結(jié)合,用卡爾曼濾波器根據(jù)目標(biāo)前一幀的信息預(yù)測(cè)目標(biāo)當(dāng)前狀態(tài),得到目標(biāo)可能存在的位置點(diǎn),作為均值漂移算法的初始迭代位置。
卡爾曼濾波器有著計(jì)算簡(jiǎn)單和魯棒性的優(yōu)點(diǎn),由于卡爾曼預(yù)測(cè)過(guò)程只需要由前一幀的目標(biāo)運(yùn)動(dòng)信息等估計(jì)出下一幀目標(biāo)的狀態(tài)信息,因此算法只需要保存目標(biāo)的上一幀狀態(tài)信息,即只需要很小的存儲(chǔ)空間來(lái)存儲(chǔ)歷史信息,這使得卡爾曼濾波器具有存儲(chǔ)空間需求小、計(jì)算復(fù)雜度低且速度快的優(yōu)勢(shì)。
采用卡爾曼濾波器預(yù)測(cè)到的目標(biāo)位置比直接用前一幀計(jì)算得到的目標(biāo)位置作為初始迭代點(diǎn)更加準(zhǔn)確。這樣不僅能夠減少迭代次數(shù),從而減少計(jì)算量,而且可以解決算法在目標(biāo)高速運(yùn)動(dòng)時(shí)容易導(dǎo)致跟蹤丟失或者失敗的問(wèn)題。此外,當(dāng)目標(biāo)被嚴(yán)重遮擋時(shí),能夠用卡爾曼濾波器結(jié)合之前幀中的目標(biāo)信息,對(duì)目標(biāo)位置進(jìn)行預(yù)測(cè),可以有效地解決障礙物遮擋問(wèn)題。
圖1 基于卡爾曼濾波器的Mean Shift算法流程
SVM[5](support vector machine,支持向量機(jī))是一種二分類的模型。支持向量機(jī)主要有線性和非線性兩大類,其中線性問(wèn)題又可以分為線性可分和線性不可分。與貝葉斯分類器、決策樹(shù)分類器等常見(jiàn)分類器相比,具有更高的泛化性能,能夠更好地應(yīng)對(duì)非線性的二分類問(wèn)題,能夠很好地處理高位特征。其主要思想是找到空間中一個(gè)超平面,滿足將所有正負(fù)數(shù)據(jù)樣本劃分開(kāi),且所有樣本到這個(gè)超平面的總距離最短。
等妮兒她娘緩過(guò)來(lái),瞿醫(yī)生劈頭蓋臉就罵了我一通,你不知道這個(gè)時(shí)候不能同房?。磕闶窍胍拿。∥覜](méi)敢爭(zhēng)辯,怕當(dāng)著外人說(shuō)漏餡了,家丑啊。
也就是說(shuō)支持向量機(jī)算法的最終目的就是尋找到一個(gè)超平面,將所有的正負(fù)樣本數(shù)據(jù)區(qū)分開(kāi),面對(duì)線性可分問(wèn)題可以直接尋找超平面。在實(shí)際任務(wù)中,由于干擾因素或者樣本數(shù)據(jù)本身是線性不可分的可能會(huì)導(dǎo)致線性不可分問(wèn)題,線性不可分的情況通常是絕大多數(shù)正負(fù)樣本是線性可分的,但是由于少數(shù)噪聲干擾等因素導(dǎo)致線性不可分的問(wèn)題。針對(duì)這個(gè)問(wèn)題,SVM模型放寬了自身標(biāo)準(zhǔn),允許某些數(shù)據(jù)分類“出錯(cuò)”,具體方法是將松弛變量引入分類約束條件公式中,并且找到盡可能小的松弛變量,同時(shí)引入放寬力度的常數(shù)作為“懲罰力度”。也就是說(shuō)線性可分和線性不可分問(wèn)題都可以變成線性問(wèn)題。
但是在現(xiàn)實(shí)任務(wù)中,不是所有的問(wèn)題都是線性問(wèn)題,即不一定存在一個(gè)超平面能夠?qū)⑺械恼?fù)樣本數(shù)據(jù)。針對(duì)這個(gè)問(wèn)題,SVM算法引入了核函數(shù)的概念,將原本線性不可分的樣本映射到更高一層的多維空間,使得在原來(lái)多維空間找不到的超平面可以被找到,也就是使得樣本數(shù)據(jù)線性可分。SVM常用的核函數(shù)有線性核函、徑向基核、Sigmoid核函數(shù)等??梢院芎玫靥幚矸蔷€性問(wèn)題,是SVM的最大優(yōu)勢(shì)。
目標(biāo)檢測(cè)算法的目的是在圖像上預(yù)先找出目標(biāo)可能出現(xiàn)的位置,通過(guò)各種特征進(jìn)行模板匹配,從而檢測(cè)到目標(biāo)所在位置。由于在遮擋過(guò)程中,目標(biāo)的運(yùn)動(dòng)信息可能發(fā)生改變,導(dǎo)致目標(biāo)可能出現(xiàn)的位置不確定,從而有大量的窗口需要匹配,再加上目標(biāo)自身的形變,計(jì)算量更大。因此可以將檢測(cè)算法與目標(biāo)跟蹤算法相結(jié)合,在有限的區(qū)域內(nèi)預(yù)測(cè)目標(biāo)的位置和尺度變化。
在SVM檢測(cè)算法中,首先對(duì)檢測(cè)器進(jìn)行參數(shù)更新,在目標(biāo)跟蹤過(guò)程中,首幀需要手動(dòng)選擇跟蹤目標(biāo),此時(shí)首幀的訓(xùn)練樣本不足,所以需要在跟蹤目標(biāo)附近隨機(jī)選取大量樣本,根據(jù)目標(biāo)占據(jù)采樣面積的比例來(lái)劃分正負(fù)樣本。
其中,I表示采樣框中目標(biāo)區(qū)域的比例,S o表示目標(biāo)區(qū)域的大小,S r表示采樣區(qū)域的大小。在本文算法中,為了防止SVM檢測(cè)器過(guò)擬合,把I值劃分為三個(gè)區(qū)間:當(dāng)I值大于0.8,該采樣區(qū)域視為正樣本,當(dāng)I值小于0.3,視為負(fù)樣本,當(dāng)I值大于0.3小于0.8,該區(qū)域不采用。即分類標(biāo)簽如下:
本文SVM檢測(cè)器首幀的訓(xùn)練流程如下:
(1)根據(jù)首幀手動(dòng)選擇目標(biāo)的結(jié)果,在圖像上進(jìn)行隨機(jī)采樣,根據(jù)目標(biāo)面積占據(jù)采樣面積的比例來(lái)劃分正負(fù)樣本。
(2)對(duì)所有正負(fù)樣本進(jìn)行歸一化操作,使得目標(biāo)尺度歸一化為指定大小。
(3)提取所有正負(fù)樣本特征,根據(jù)提取樣本特征和該樣本的標(biāo)簽進(jìn)行SVM檢測(cè)器訓(xùn)練,得到相應(yīng)的參數(shù)。
SVM檢測(cè)器從初始幀開(kāi)始訓(xùn)練,進(jìn)行正負(fù)樣本的采樣。為了保證檢測(cè)器模板的準(zhǔn)確性,在后續(xù)的跟蹤過(guò)程中,每經(jīng)過(guò)5幀高置信度跟蹤,更新一次SVM檢測(cè)器參數(shù)。當(dāng)檢測(cè)到目標(biāo)被長(zhǎng)時(shí)間嚴(yán)重遮擋或者丟失時(shí),激活SVM檢測(cè)器。
Mean Shift算法的基本流程是分別計(jì)算目標(biāo)和候選目標(biāo)模型的概率密度,并計(jì)算它們的相似度,找到使得相似度取最大值的位置,為目標(biāo)在這一幀的位置。因此本文選擇基于顏色特征直方圖的遮擋因子來(lái)判斷被局部遮擋和完全遮擋。
目標(biāo)模型的顏色特征直方圖概率密度表示為q={q u}u=1,…,m,公式計(jì)算如下:
候選目標(biāo)模型概率密度表示為:p={pu}u=1,…,m,公式計(jì)算如下:
其中y表示當(dāng)前幀候選目標(biāo)區(qū)域像素位置的中心點(diǎn),h為核剖面半徑,在Mean Shift算法中,核函數(shù)的帶寬通常是固定的,取窗寬的一半,C h為歸一化常數(shù)。
若y0為目標(biāo)當(dāng)前位置,令:
當(dāng)t u>1時(shí),判斷目標(biāo)被部分遮擋,當(dāng)t u=-1時(shí),目標(biāo)被全部遮擋。
其中,λ∈[ 1,∞),為遮擋程度參量,設(shè)遮擋因子occ為當(dāng)occ>ζ(ζ∈(0,1)),則認(rèn)為目標(biāo)被遮擋。
為了驗(yàn)證本文算法對(duì)目標(biāo)遮擋問(wèn)題有更好的跟蹤效果,選取了OTB數(shù)據(jù)集中有代表性的幾組發(fā)生遮擋的視頻序列進(jìn)行實(shí)驗(yàn)分析,并與傳統(tǒng)的Mean Shift算法和基于卡爾曼濾波的Mean Shift算法進(jìn)行對(duì)比,從實(shí)時(shí)性和魯棒性上對(duì)三種算法的性能進(jìn)行對(duì)比分析。
為了驗(yàn)證本文算法的抗遮擋性能,選取OTB數(shù)據(jù)集中的Woman視頻序列進(jìn)行仿真實(shí)驗(yàn)。為了避免光照變化問(wèn)題對(duì)算法的影響,選取了同一光線強(qiáng)度下視頻序列跟蹤效果的對(duì)比,是一個(gè)行人被汽車局部遮擋的到脫離遮擋的過(guò)程,分別取其中四幀做效果展示。如圖2所示,在目標(biāo)被局部遮擋時(shí),四種算法的跟蹤誤差明顯變大,但是由于Mean Shift算法有一定的抗遮擋性,所以在目標(biāo)被遮擋時(shí),仍然能夠成功跟蹤到目標(biāo),但是跟蹤效果較差。而卡爾曼濾波和本文的算法由于有位置預(yù)測(cè)的能力,在整個(gè)遮擋過(guò)程中表現(xiàn)良好。當(dāng)目標(biāo)脫離遮擋時(shí),三種算法都找回了目標(biāo)并繼續(xù)跟蹤,誤差逐漸減小。實(shí)驗(yàn)表明三種算法對(duì)局部遮擋都具有一定的魯棒性。
圖2 Woman視頻序列跟蹤結(jié)果對(duì)比
為了進(jìn)一步驗(yàn)證本算法改進(jìn)后的效果,對(duì)10次跟蹤平均誤差進(jìn)行統(tǒng)計(jì),具體方式是對(duì)視頻序列每幀手工選定目標(biāo)實(shí)際位置中心點(diǎn)與算法跟蹤位置中心點(diǎn)計(jì)算歐式距離。圖3給出了傳統(tǒng)Mean Shift算法和本文算法在10次跟蹤后更細(xì)致的平均誤差對(duì)比,由此可以看出本文算法在復(fù)雜情況下具有更高的穩(wěn)定性。
圖3 平均跟蹤誤差比較
為了進(jìn)一步驗(yàn)證本算法在遮擋情況下的跟蹤效果,選取OTB數(shù)據(jù)集[6]中一組嚴(yán)重遮擋情況下的視頻序列Coke,是一瓶可樂(lè)被葉子嚴(yán)重遮擋到完全遮擋最后脫離遮擋的過(guò)程,選取250,255,270,280幀展示效果。如圖4所示,Mean Shift算法由于目標(biāo)模型被污染,跟蹤窗口漂移到了障礙物上,導(dǎo)致跟蹤失敗。而基于卡爾曼濾波的Mean Shift目標(biāo)跟蹤算法和本文算法在目標(biāo)被完全遮擋時(shí)可以預(yù)測(cè)目標(biāo)位置進(jìn)行追蹤,在結(jié)束遮擋后,仍然能夠繼續(xù)進(jìn)行追蹤。但是通過(guò)兩個(gè)算法在270幀的對(duì)比可以發(fā)現(xiàn),本文算法的誤差率減少6.2%。當(dāng)目標(biāo)脫離完全遮擋時(shí),本文的算法能更加準(zhǔn)確快速地捕捉目標(biāo),要優(yōu)于基于卡爾曼濾波的Mean Shift目標(biāo)跟蹤算法。
圖4 Coke視頻序列跟蹤結(jié)果對(duì)比
本文針對(duì)跟蹤過(guò)程中的遮擋問(wèn)題,基于多算法融合的遮擋算法思想,提出了一種將Mean Shift、卡爾曼濾波和SVM相結(jié)合的抗遮擋算法。通過(guò)實(shí)驗(yàn)表明,本文提出的多算法融合的改進(jìn)算法能夠在滿足實(shí)時(shí)性的情況下對(duì)局部遮擋和嚴(yán)重遮擋的目標(biāo)進(jìn)行跟蹤,很好地解決了目標(biāo)跟蹤過(guò)程中的遮擋問(wèn)題。
本文提出的算法在一定程度上相較于其他遮擋算法具有更好的跟蹤效果,較原算法提升了在遮擋情況下算法的精確度。但是依然存在一些不足和提升空間,有待于進(jìn)一步的學(xué)習(xí)、研究和改進(jìn)。
首先本文的研究方向是單目跟蹤問(wèn)題,并沒(méi)有考慮到多目標(biāo)跟蹤中更復(fù)雜的遮擋情況,還需要進(jìn)一步提升;其次是并沒(méi)有對(duì)目標(biāo)檢測(cè)方向進(jìn)行深入研究,選擇了SVM檢測(cè)算法來(lái)作為檢測(cè)器,所以后續(xù)需要對(duì)主流的目標(biāo)檢測(cè)算法進(jìn)行深入研究,對(duì)目標(biāo)檢測(cè)問(wèn)題進(jìn)一步完善;最后是本文更側(cè)重于在滿足實(shí)時(shí)性和實(shí)用性的情況下改進(jìn)算法,所以沒(méi)有過(guò)度研究基于深度學(xué)習(xí)模型的跟蹤算法,因此,在后續(xù)的研究中可以更多的關(guān)注基于神經(jīng)網(wǎng)絡(luò)方向的跟蹤模型。