一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法
【專(zhuān)利摘要】本發(fā)明公開(kāi)了一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法,屬于視覺(jué)目標(biāo)跟蹤領(lǐng)域。本發(fā)明在現(xiàn)有的基于粒子濾波的視覺(jué)目標(biāo)跟蹤基礎(chǔ)上,動(dòng)態(tài)的控制每幀圖像采集的樣本數(shù),并指導(dǎo)每幀采集的樣本逐漸向目標(biāo)靠近。通過(guò)多次測(cè)試的結(jié)果表明,該方法較于傳統(tǒng)方法明顯提高了運(yùn)算速度,并且對(duì)于快速變化的目標(biāo)具有更加穩(wěn)定的跟蹤效果。
【專(zhuān)利說(shuō)明】
一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及視覺(jué)跟蹤領(lǐng)域,具體涉及到一種新的目標(biāo)搜索算法。
【背景技術(shù)】
[0002] 視覺(jué)跟蹤技術(shù)是通過(guò)圖像處理的算法實(shí)現(xiàn)對(duì)視頻中某一目標(biāo)的持續(xù)定位跟蹤,進(jìn) 而可以判斷目標(biāo)的運(yùn)動(dòng)軌跡等行為特征。該技術(shù)的主要指標(biāo)包括速度與魯棒性,速度指跟 蹤算法的運(yùn)算耗時(shí)多少,魯棒性則指跟蹤算法是否在各種環(huán)境下準(zhǔn)確的對(duì)目標(biāo)進(jìn)行跟蹤。
[0003] 跟蹤面臨的問(wèn)題包括光照條件改變、遮擋、物體快速運(yùn)動(dòng)、運(yùn)動(dòng)模糊等,現(xiàn)有跟蹤 方法包括基于目標(biāo)運(yùn)動(dòng)特征的跟蹤算法、基于跟蹤序列前后相關(guān)性的目標(biāo)跟蹤算法、基于 特征點(diǎn)的相關(guān)算法、基于目標(biāo)特征參數(shù)的跟蹤算法等,這些方法都有各自適用的跟蹤條件。 近年來(lái)興起的L1范數(shù)跟蹤是在粒子濾波算法框架上,加入了稀疏表示原理的跟蹤方法,這 種方法在多種跟蹤環(huán)境下都表現(xiàn)出較強(qiáng)的魯棒性。
[0004] 粒子濾波基于蒙特卡羅方法,利用粒子集來(lái)表示概率,可以用在任何模式的狀態(tài) 空間模型上。它在非線(xiàn)性、非高斯系統(tǒng)表現(xiàn)出了優(yōu)越性,在視覺(jué)跟蹤中廣泛的使用這種方法 來(lái)指導(dǎo)樣本的采集,他計(jì)算量小,準(zhǔn)確度高。
[0005] 現(xiàn)有的基于粒子濾波的跟蹤器在同一視頻的每一幀都采集相同個(gè)數(shù)的樣本,或根 據(jù)目標(biāo)的外形等特征事先預(yù)測(cè)所需樣本數(shù)。對(duì)于一個(gè)用于跟蹤的視頻來(lái)說(shuō),目標(biāo)運(yùn)動(dòng)到不 同的位置,其光照條件、遮擋情況、背景復(fù)雜度等跟蹤條件不同,所需要采集的樣本數(shù)也就 不同,不變動(dòng)采樣數(shù)去適配每一幀的情況,會(huì)出現(xiàn)樣本的浪費(fèi),或某些幀樣本的不足。所需 樣本數(shù)和目標(biāo)特征、背景情況、光照條件等很多因素相關(guān),難以給出一個(gè)十分恰當(dāng)?shù)念A(yù)測(cè), 故采用預(yù)測(cè)的方法不能很精準(zhǔn)的控制所需樣本數(shù)。而樣本數(shù)的多少和跟蹤的速度和魯棒性 有直接的關(guān)系。
[0006] 此外現(xiàn)有算法每一幀進(jìn)行一次采樣,采樣后根據(jù)各樣本的概率在下一幀進(jìn)行重采 樣。由于是處于不同幀,目標(biāo)狀態(tài)可能已經(jīng)發(fā)生了改變,故這種重采樣只能近似估計(jì)下一幀 的目標(biāo)狀態(tài),沒(méi)有充分利用重采樣的價(jià)值,甚至可能因?yàn)闃颖镜姆稚⒃斐蓸颖纠速M(fèi)過(guò)多而 跟丟目標(biāo),對(duì)快速運(yùn)動(dòng)物體的跟蹤能力也不夠強(qiáng),
【發(fā)明內(nèi)容】
[0007] 本發(fā)明的主旨在于通過(guò)對(duì)樣本搜索方法的改進(jìn),提高跟蹤的速度,并且對(duì)快速變 化的目標(biāo)可以更穩(wěn)定的跟蹤。
[0008] 為了解決上述技術(shù)問(wèn)題,達(dá)到上述目的,本發(fā)明采用如下技術(shù)方案:
[0009] -種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法,其中包括如下步驟:
[0010]步驟1、初始化為后續(xù)步驟做準(zhǔn)備;
[0011]步驟2、讀取待處理幀fi,其中i表示待處理幀的序號(hào);
[00?2 ]步驟3、把上幀的跟蹤結(jié)果做為中心,按高斯隨機(jī)分布采集Μ個(gè)樣本yi~yM;
[0013]步驟4、計(jì)算各個(gè)樣本為目標(biāo)的概率上界qi~qM,并以此由高到低確定接下來(lái)的樣 本處理順序,若概率上界無(wú)法計(jì)算則使之為1,概率上界相等的樣本之間可以按任意方式排 序;
[0014] 步驟5、依次計(jì)算各樣本為目標(biāo)的概率pi,其中i表示樣本的序號(hào),并判斷樣本概率 是否達(dá)標(biāo),若達(dá)標(biāo)則以此樣本作為跟蹤結(jié)果并直接進(jìn)入步驟7,若處理完 yi~yM無(wú)達(dá)標(biāo)的樣 本,則進(jìn)入步驟6;
[0015] 步驟6、判斷采樣數(shù)是否達(dá)到預(yù)設(shè)上限,若達(dá)到則選取本幀所有樣本中概率p最大 的樣本作為跟蹤結(jié)果,進(jìn)入步驟7,否則進(jìn)行重采樣得到新的 yi~yM,再退回到步驟4;
[0016] 步驟7、若處理完畢所有待處理幀則結(jié)束算法,否則退回步驟2讀取下一幀。
[0017] 上述技術(shù)方案中,所述步驟3中跟蹤結(jié)果為可以表示跟蹤結(jié)果信息的各參數(shù)C = (ci,c2,……,cn),具體步驟為:進(jìn)行Μ次包含C中元素與從高斯隨機(jī)分布產(chǎn)生的隨機(jī)數(shù)的算 式的運(yùn)算,得到新的參數(shù)&~〇!以代表樣本相關(guān)信息,以此作為樣本或產(chǎn)生樣本。
[0018]上述技術(shù)方案中,所述步驟4中樣本概率上界qi指步驟5中對(duì)對(duì)應(yīng)樣本計(jì)算的概率 Pl所可能出現(xiàn)的最大值,若概率上界無(wú)法計(jì)算則使之為1,概率上界相等的樣本之間可以按 任意方式排序。。
[0019] 上述技術(shù)方案中,所述步驟5中首先令概率上限閾值為0,每個(gè)樣本處理前都應(yīng)判 斷概率上界qi是否超過(guò)閾值q th,若未超過(guò)直接認(rèn)為概率?1為〇,若超過(guò)則計(jì)算樣本的概率, 處理完每個(gè)樣本要更新概率上界閾值qth。
[0020] 上述技術(shù)方案中,所述步驟5中樣本達(dá)標(biāo)指計(jì)算出的樣本概率?1達(dá)到預(yù)先設(shè)定的 標(biāo)準(zhǔn)Pth,每計(jì)算完一個(gè)樣本或多個(gè)樣本的概率,判斷一次是否有樣本達(dá)標(biāo)。
[0021] 上述技術(shù)方案中,所述步驟6中重采樣指根據(jù)各樣本所算得的概率pi決定新的樣 本組Cn1~Cnm中,復(fù)制各樣本參數(shù)Ci而來(lái)的樣本的個(gè)數(shù),對(duì)于C n1~Cnm的每個(gè)或部分參數(shù),用 包含此參數(shù)與從高斯隨機(jī)分布取得的隨機(jī)數(shù)的算式,得到擾動(dòng)后的參數(shù)代替原C N1~CNM中 的參數(shù)。
[0022] 與現(xiàn)有技術(shù)相比,本發(fā)明具有如下有益效果:
[0023]本發(fā)明提出在有樣本達(dá)標(biāo)時(shí)不再處理剩余樣本,減少了冗余樣本的處理,可以動(dòng) 態(tài)的控制處理的樣本數(shù)量,且不需要每幀事先預(yù)測(cè)所需樣本數(shù),在保證精度的前提下提高 了跟蹤的速度。并且提出了單幀多次采樣的方法,在單幀重采樣的過(guò)程實(shí)際上是指導(dǎo)樣本 在狀態(tài)空間向目標(biāo)移動(dòng)的過(guò)程,因此相比傳統(tǒng)方法對(duì)快速變化的目標(biāo)的跟蹤能力明顯提 高。同時(shí)把原本的幀之間的重采樣改為只復(fù)制上幀跟蹤結(jié)果并產(chǎn)生高斯隨機(jī)擾動(dòng),以此作 為樣本,防止樣本數(shù)量少時(shí),重采樣造成的樣本過(guò)度分散的情況。
【附圖說(shuō)明】
[0024] 圖1為一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法的流程圖;
[0025] 圖2為一次采樣與重采樣過(guò)程的示意圖,注:圖2為一張附圖,而非多張附圖。
[0026] 圖3為對(duì)快速運(yùn)動(dòng)物體的跟蹤結(jié)果舉例。
【具體實(shí)施方式】
[0027] 下面對(duì)本發(fā)明的【具體實(shí)施方式】作進(jìn)一步的描述。
[0028] 步驟1、產(chǎn)生模板Ti-TN;
[0029] 步驟2、讀取待處理幀fi;
[0030] 步驟3、把上幀的跟蹤結(jié)果做為中心,按高斯隨機(jī)分布采集一組樣本yi~yM;
[0031]步驟4、計(jì)算各個(gè)樣本為目標(biāo)的概率上界qi~qM,并以此由高到低確定接下來(lái)的樣 本處理順序,概率上界相等的樣本之間可以按任意方式排序;
[0032]步驟5、依次使用模板稀疏表示概率上界達(dá)標(biāo)的樣本,使用表示結(jié)果計(jì)算各樣本為 目標(biāo)的概率Pl,并判斷樣本概率是否達(dá)標(biāo),若達(dá)標(biāo)則進(jìn)入步驟7,不再處理剩下的樣本,若處 理完yi~yM無(wú)達(dá)標(biāo)的樣本,貝ij進(jìn)入步驟6;
[0033]步驟6、判斷采樣數(shù)是否達(dá)到預(yù)設(shè)上限,若達(dá)到則選取本幀所有樣本中概率p最大 的樣本作為跟蹤結(jié)果,進(jìn)入步驟7,否則進(jìn)行重采樣得到新的yi~yM,再退回到步驟4;
[0034]步驟7、更新模板并退回到步驟2讀取下一幀。
[0035]上述技術(shù)方案中,所述步驟1的具體流程為:指定好需要的模板大小X*Y(例如12* 15)與個(gè)數(shù)Ν(例如10),讀入跟蹤視頻的第一幀,手動(dòng)輸入平行四邊形相鄰的三個(gè)頂點(diǎn)坐標(biāo) 產(chǎn)生原始平行四邊形框定待跟蹤的物體。將框定的頂點(diǎn)坐標(biāo)復(fù)制Ν個(gè),對(duì)每個(gè)坐標(biāo)加上均值 為0,標(biāo)準(zhǔn)差為0.6的高斯隨機(jī)擾動(dòng),產(chǎn)生Ν個(gè)相近的平行四邊形,求(1,1)、(1,)、(¥,1)變換 到每個(gè)平行四邊形三個(gè)相鄰的頂點(diǎn)坐標(biāo)的仿射變換矩陣,(1,Χ)、(Υ,1)中的Χ、Υ為模板大小 Χ*Υ中的Χ、Υ。公式如下: 、丨 y2 y3Vi ^ 1、
[0036] R= x{ x, jc3 / 1 1 Y (1) ,1 1 iJb 1 κ
[0037]其中(xi,yi)可以為平行四邊形任一頂點(diǎn)坐標(biāo),(X2,y2),(X3,y3)為與(xi,yi)順時(shí)針 相鄰和逆時(shí)針相鄰的兩個(gè)頂點(diǎn),R為求得的3*3的仿射變換矩陣,需注意每個(gè)平行四邊形 (X1,yi)的選定要統(tǒng)一,即都是由原始平行四邊形的同一點(diǎn)高斯隨機(jī)擾動(dòng)產(chǎn)生的。得到N個(gè)R 后,取R的第一行和第二行的六個(gè)元素為仿射系數(shù),排列為一個(gè)行向量(R(l,1),R(1,2),R (2,1),R(2,2),R(1,3),R(2,3)),每組仿射系數(shù)對(duì)應(yīng)一個(gè)平行四邊形的三個(gè)頂點(diǎn)坐標(biāo),故使 用這六個(gè)系數(shù)就可以代表一個(gè)平行四邊形,下述步驟中均以此方法代表平行四邊形。
[0038]借助此矩陣算出X*Y的模板中,每個(gè)坐標(biāo)對(duì)應(yīng)的原圖里的坐標(biāo),并將原圖對(duì)應(yīng)坐標(biāo) 的灰度值賦到模板中。然后將每個(gè)模板按固定方式變形為一個(gè)列向量,然后對(duì)其減均值除 標(biāo)準(zhǔn)差,變?yōu)?均值,標(biāo)準(zhǔn)差為1的向量。稱(chēng)之為Ν個(gè)目標(biāo)模板,再產(chǎn)生一個(gè)列數(shù)為Χ*Υ的單位 矩陣,作為Χ*Υ個(gè)瑣碎模板。
[0039] 上述技術(shù)方案中,所述步驟3的具體流程為:把上幀框選結(jié)果的平行四邊形的六個(gè) 仿射系數(shù)組成的向量C復(fù)制Μ(例如50)個(gè),對(duì)每組的第1、4個(gè)系數(shù)分別乘以10的a次方和10的 b次方,a、b由高斯隨機(jī)分布產(chǎn)生,對(duì)每組其余的四個(gè)系數(shù),均加上一個(gè)由高斯隨機(jī)分布產(chǎn)生 的隨機(jī)數(shù)。對(duì)每個(gè)系數(shù)的高斯隨機(jī)分布的均值都為〇,標(biāo)準(zhǔn)差則事先指定(例如按順序依次 為0.03,0.0005,0.0005,0.03,1,1)。由此產(chǎn)生了Μ組與上幀采樣結(jié)果相近的仿射系數(shù)(^~ Cm,使用與步驟1產(chǎn)生模板相同的方法,用這些仿射系數(shù)產(chǎn)生Μ個(gè)樣本。
[0040] 上述技術(shù)方案中,所述步驟4的具體流程為:對(duì)每個(gè)樣本y,計(jì)算下式:
[0041 ] a = argmin||ria~y||; (2) ?
[0042]其中Tt為目標(biāo)模板。 (3)
[0043] 則概率上界為:
[0045] 其中Γ為歸一化因子(可設(shè)為1),α為預(yù)設(shè)常數(shù)(例如50)。
[0046] 記錄下每個(gè)樣本的概率上界并從高到低排序作為接下來(lái)樣本處理的順序。
[0047] 上述技術(shù)方案中,所述步驟5的具體流程為:
[0048]按步驟4所排順序逐個(gè)處理。首先設(shè)定概率上界閾值為0。
[0049]針對(duì)每個(gè)樣本y,如果它的概率上界不小于閾值,則計(jì)算如下最優(yōu)化問(wèn)題:
s.t.a; >0(4)
[0051]其中六' =(1\,1),1\為目標(biāo)模板組,1(單位矩陣)為瑣碎模板組,&=(&了邱), &了為目 標(biāo)模板的加權(quán)系數(shù)向量,ai為瑣碎模板的加權(quán)系數(shù)向量。當(dāng)檢測(cè)到有遮擋時(shí)μ*為0,否則為一 預(yù)先指定的數(shù)(例如10) Α也為預(yù)先指定的數(shù)(例如0.2)。公式中s.t.的是最優(yōu)化問(wèn)題的約 束條件符號(hào)。
[0 05 2 ]求解該最優(yōu)化問(wèn)題可以按照C h e n g 1 ο n g B a 〇等人提出的方法采用加速近端梯度 (accelerated proximal gradient)法。
[0053]利用求解出的a來(lái)判斷此樣本為目標(biāo)的概率:
(5)
[0055]其中Γ為歸一化因子(可設(shè)為1),α為預(yù)設(shè)常數(shù)(例如50)。
[0056]然后更新概率上界閾值為原閾值加上ρ/2Μ。
[0057]如果樣本概率上界小于閾值,則不對(duì)其進(jìn)行處理,直接令其概率為0。
[0058]每個(gè)樣本計(jì)算完概率后,都判斷一次此概率是否超過(guò)預(yù)設(shè)的要求,若超過(guò)則中斷, 不再處理剩下的樣本,直接將此樣本作為跟蹤結(jié)果。
[0059]上述技術(shù)方案中,所述步驟6的具體流程為:在步驟5中若處理完全部Μ個(gè)樣本都沒(méi) 有發(fā)現(xiàn)達(dá)標(biāo)樣本,則判斷目前采樣數(shù)是否已經(jīng)達(dá)到上限(例如600),若已達(dá)到,則選取本幀 采集的所有樣本中,概率最大的作為跟蹤結(jié)果,若未達(dá)到,進(jìn)行重采樣,再退回到步驟4。 [0060]其中,重采樣是指把概率高的樣本復(fù)制多份,概率低的樣本復(fù)制少份,概率再低的 則直接刪除。具體方法是先計(jì)算Μ個(gè)樣本的概率和,然后算出各樣本的概率占概率和的比 例,用此比例乘以Μ后四舍五入取整數(shù),就是該樣本復(fù)制后個(gè)數(shù),0就代表直接刪除。然后再 按照步驟3的方法對(duì)這些樣本進(jìn)行高斯隨機(jī)擾動(dòng)得到新樣本組的Μ組仿射系數(shù)C N1~CNM,以 此使用與步驟1產(chǎn)生模板相同的方法形成重采樣的Μ個(gè)樣本。
[0061 ]上述技術(shù)方案中,所述步驟7的具體流程為:判斷權(quán)重最大的模板和目標(biāo)的匹配程 度,可以采用直接相減的方法,若匹配程度不達(dá)到要求,例如直接相減后誤差絕對(duì)值之和大 于0.9,則用此樣本代替權(quán)重最小的模板。然后回到步驟2讀取下一幀。
【主權(quán)項(xiàng)】
1. 一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法,其特征在于,包括如下步驟: 步驟1、初始化為后續(xù)步驟做準(zhǔn)備; 步驟2、讀取待處理幀h,其中i表示待處理幀的序號(hào); 步驟3、把上幀跟蹤結(jié)果做為中心,按高斯隨機(jī)分布采集Μ個(gè)樣本yi~yM; 步驟4、計(jì)算各個(gè)樣本為目標(biāo)的概率上界qi~qM,并以此由高到低確定接下來(lái)的樣本處 理順序; 步驟5、依次計(jì)算各樣本為目標(biāo)的概率?1,其中i表示樣本的序號(hào),并判斷樣本概率是否 達(dá)標(biāo),若達(dá)標(biāo)則以此樣本作為跟蹤結(jié)果并直接進(jìn)入步驟7,若處理完yi~yM無(wú)達(dá)標(biāo)的樣本,則 進(jìn)入步驟6; 步驟6、判斷采樣數(shù)是否達(dá)到預(yù)設(shè)上限,若達(dá)到則選取本幀所有樣本中概率p最大的樣 本作為跟蹤結(jié)果,進(jìn)入步驟7,否則進(jìn)行重采樣得到新的yi~yM,再退回到步驟4; 步驟7、若處理完畢所有待處理幀則結(jié)束算法,否則退回步驟2讀取下一幀。2. 根據(jù)權(quán)利要求1所述的一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法,其特征在 于,所述步驟3中跟蹤結(jié)果為可以表示跟蹤結(jié)果信息的各參數(shù)C=( ci,c2,……,Cn),具體步 驟為:進(jìn)行Μ次包含C中元素與從高斯隨機(jī)分布產(chǎn)生的隨機(jī)數(shù)的算式的運(yùn)算,得到新的參數(shù) &~〇!以代表樣本相關(guān)信息,以此作為樣本或產(chǎn)生樣本。3. 根據(jù)權(quán)利要求1所述的一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法,其特征在 于,所述步驟4中樣本概率上界qi指步驟5中對(duì)對(duì)應(yīng)樣本計(jì)算的概率pi所可能出現(xiàn)的最大值, 若概率上界無(wú)法計(jì)算則使之為1,概率上界相等的樣本之間可以按任意方式排序。4. 根據(jù)權(quán)利要求1所述的一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法,其特征在 于,所述步驟5中首先令概率上限閾值為0,每個(gè)樣本處理前都應(yīng)判斷概率上界q 1是否超過(guò) 閾值qth,若未超過(guò)直接認(rèn)為概率?1為0,若超過(guò)則計(jì)算樣本的概率,處理完每個(gè)樣本要更新 概率上界閾值q th。5. 根據(jù)權(quán)利要求1所述的一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法,其特征在 于,所述步驟5中樣本達(dá)標(biāo)指計(jì)算出的樣本概率 Pl達(dá)到預(yù)先設(shè)定的標(biāo)準(zhǔn)pth,每計(jì)算完一個(gè)樣 本或多個(gè)樣本的概率,判斷一次是否有樣本達(dá)標(biāo)。6. 根據(jù)權(quán)利要求1所述的一種基于單幀隨機(jī)稀疏采樣的快速目標(biāo)搜索算法,其特征在 于,所述步驟6中重采樣指根據(jù)各樣本所算得的概率 ?1決定新的樣本組Cn1~Cnm中,復(fù)制各樣 本參數(shù)Ci而來(lái)的樣本的個(gè)數(shù),對(duì)于Cni~Cnm的每個(gè)或部分參數(shù),用包含此參數(shù)與從高斯隨機(jī) 分布取得的隨機(jī)數(shù)的算式,得到擾動(dòng)后的參數(shù)代替原C N1~CNM中的參數(shù)。
【文檔編號(hào)】G06T7/20GK106097387SQ201610380275
【公開(kāi)日】2016年11月9日
【申請(qǐng)日】2016年5月31日
【發(fā)明人】劉偉良, 彭真明, 余娟, 劉勇, 黃張英, 鄭焱真, 張萍
【申請(qǐng)人】電子科技大學(xué)