流法的多角點(diǎn)跟蹤裝置,用于對(duì)待處理視頻 圖像序列進(jìn)行目標(biāo)跟蹤,該裝置包括多角點(diǎn)跟蹤模塊、目標(biāo)位置計(jì)算模塊和角點(diǎn)更新模塊, 其中:
[0044] 多角點(diǎn)跟蹤模塊,用于結(jié)合參考視頻圖像中K個(gè)角點(diǎn)的鄰域窗口所有像素點(diǎn)的像 素值,水平方向?qū)?shù)值以及垂直方向?qū)?shù)值,在當(dāng)前待跟蹤視頻圖像的當(dāng)前跟蹤窗口中基 于稀疏光流法得到所述K個(gè)角點(diǎn)在待跟蹤視頻圖像中的偏移信息和當(dāng)前位置;
[0045]目標(biāo)位置計(jì)算模塊,用于判斷所述K個(gè)角點(diǎn)的偏移信息是否可信,如果全部角點(diǎn) 的偏移信息都不可信,則以歷史偏移信息計(jì)算當(dāng)前目標(biāo)位置,否則,利用可信角點(diǎn)的偏移信 息計(jì)算當(dāng)前目標(biāo)位置;
[0046] 角點(diǎn)更新模塊,用于更新待跟蹤視頻圖像中需要更新的角點(diǎn),保存待跟蹤視頻圖 像中更新后K個(gè)角點(diǎn)的鄰域窗口中所有像素點(diǎn)的像素值,水平方向?qū)?shù)值以及垂直方向?qū)?數(shù)值,將當(dāng)前待跟蹤視頻圖像作為參考視頻圖像,轉(zhuǎn)入下一個(gè)待跟蹤視頻圖像進(jìn)行目標(biāo)跟 足示。
[0047]本發(fā)明提出的一種基于稀疏光流法的多角點(diǎn)跟蹤方法及裝置,從跟蹤目標(biāo)附近提 取多個(gè)角點(diǎn),分別利用Lucas-Kanade跟蹤算法進(jìn)行迭代計(jì)算,完成角點(diǎn)跟蹤,在獲得角點(diǎn) 偏移后,提出一種角點(diǎn)偏移的置信度度量方法,構(gòu)建一種合理利用角點(diǎn)偏移和置信度參數(shù) 的目標(biāo)偏移計(jì)算策略,最后,通過一種角點(diǎn)更新方法在每幀目標(biāo)跟蹤完成后對(duì)不適用于后 續(xù)跟蹤的角點(diǎn)進(jìn)行更新。本發(fā)明多個(gè)角點(diǎn)基于同一個(gè)跟蹤窗口,性能開銷增加有限,滿足了 目標(biāo)跟蹤的實(shí)時(shí)性要求,同時(shí)提高了目標(biāo)跟蹤的準(zhǔn)確率和魯棒性。
[0048] 由于跟蹤算法準(zhǔn)確率限制造成的位置偏離,或者跟蹤目標(biāo)形變,遮擋影響,角點(diǎn)在 經(jīng)過算法偏移后可能會(huì)偏離跟蹤目標(biāo),或者特征減弱以至于不利于跟蹤。本發(fā)明還基于置 信度提出了角點(diǎn)更新策略,利用角點(diǎn)搜索算法重新在目標(biāo)附近尋找角點(diǎn)進(jìn)行替換,以提高 跟蹤算法的可靠性和準(zhǔn)確率。本發(fā)明方法能夠在復(fù)雜的場(chǎng)景和多變的光亮天氣條件下,有 效地完成目標(biāo)跟蹤。
【附圖說(shuō)明】
[0049] 圖1為本發(fā)明基于稀疏光流法的多角點(diǎn)跟蹤方法流程圖;
[0050] 圖2為本發(fā)明多角點(diǎn)跟蹤方法中角點(diǎn)更新流程圖。
【具體實(shí)施方式】
[0051] 下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明技術(shù)方案做進(jìn)一步詳細(xì)說(shuō)明,以下實(shí)施例不構(gòu)成 對(duì)本發(fā)明的限定。
[0052] 本實(shí)施例以計(jì)算機(jī)對(duì)待處理視頻圖像序列進(jìn)行目標(biāo)跟蹤的流程為例,從第一幀視 頻圖像開始,逐幀進(jìn)行目標(biāo)的跟蹤。如圖1所示,本實(shí)施例一種基于稀疏光流法的多角點(diǎn)跟 蹤方法,包括如下步驟:
[0053] 步驟101、以待處理視頻圖像序列的第一幀視頻圖像為參考圖像,獲取參考圖像中 的目標(biāo)位置,基于目標(biāo)位置作矩形框作為當(dāng)前跟蹤窗口,在當(dāng)前跟蹤窗口內(nèi)以目標(biāo)位置為 中心獲得角點(diǎn)搜索窗口,在角點(diǎn)搜索窗口內(nèi)提取K個(gè)角點(diǎn)。
[0054] 目標(biāo)跟蹤是通過對(duì)相鄰的兩幀視頻圖像進(jìn)行處理,從而在待處理的視頻圖像序列 中提取目標(biāo)并識(shí)別跟蹤。在本實(shí)施例中,將相鄰的兩幀視頻圖像按照視頻圖像序列的順序 分別稱為參考圖像和待跟蹤視頻圖像,即參考圖像是待跟蹤視頻圖像的如一幀視頻圖像。 需要說(shuō)明的是,當(dāng)前后兩幀之間的拍攝時(shí)間越短時(shí),兩幀圖像的變化越小,因此在目標(biāo)跟蹤 中也可以間隔幾幀來(lái)進(jìn)行目標(biāo)跟蹤。無(wú)論哪種情況下,待跟蹤視頻圖像的參考圖像是上一 個(gè)計(jì)算的待跟蹤視頻圖像,這里不再贅述。
[0055] 由于角點(diǎn)是圖像的一個(gè)重要局部特征,它集中了圖像上很多重要形狀信息,且具 有旋轉(zhuǎn)不變性,幾乎不受光照條件的影響,在沒有丟失圖像數(shù)據(jù)信息的條件下,角點(diǎn)是最小 化的要處理的數(shù)據(jù)量,加快了目標(biāo)檢測(cè)的速度。角點(diǎn)檢測(cè)尤其適用于實(shí)時(shí)目標(biāo)跟蹤,常見的 基于模板的角點(diǎn)檢測(cè)算法有Kitchen-Rosenfeld角點(diǎn)檢測(cè)算法,Harris角點(diǎn)檢測(cè)算法、KLT 角點(diǎn)檢測(cè)算法及SUSAN角點(diǎn)檢測(cè)算法,在本實(shí)施例中,使用Harris方法提取角點(diǎn),并以提取 的角點(diǎn)為特征點(diǎn)采用稀疏光流法進(jìn)行目標(biāo)跟蹤。
[0056] 因此,本實(shí)施例對(duì)于待處理的視頻圖像序列,首先選取第一幀視頻圖像作為參考 圖像,獲取參考圖像中的跟蹤目標(biāo)的目標(biāo)位置,基于目標(biāo)位置作矩形框作為當(dāng)前跟蹤窗口, 在當(dāng)前跟蹤窗口內(nèi)以目標(biāo)位置為中心獲得角點(diǎn)搜索窗口,在角點(diǎn)搜索窗口內(nèi)使用Harris 方法提取角點(diǎn)。Harris方法計(jì)算角點(diǎn)搜索窗口內(nèi)每個(gè)像素點(diǎn)的最小特征值,按照最小特征 值排列,從大到小選取K個(gè)像素點(diǎn)作為待跟蹤的角點(diǎn)。
[0057] 值得注意的是,本實(shí)施例從提取到的角點(diǎn)中選擇K個(gè)角點(diǎn)用于后續(xù)的稀疏光流法 計(jì)算。本實(shí)施例在跟蹤窗口內(nèi)維護(hù)K個(gè)角點(diǎn),K值選取以不影響算法實(shí)時(shí)性要求的前提下, 提高目標(biāo)跟蹤的準(zhǔn)確性和魯棒性,在實(shí)際的工程實(shí)踐中,選擇K為3能夠在保障算法實(shí)時(shí)性 的前提下獲得一個(gè)較好的算法準(zhǔn)確性和魯棒性?;诖耍緦?shí)施例在跟蹤窗口內(nèi)維護(hù)3個(gè) 角點(diǎn)。
[0058] 步驟102、以參考圖像的下一幀視頻圖像作為待跟蹤視頻圖像,獲取待跟蹤視頻圖 像的當(dāng)前跟蹤窗口,在當(dāng)前跟蹤窗口中采用稀疏光流法計(jì)算K個(gè)角點(diǎn)在待跟蹤視頻圖像中 的偏移信息和位置。
[0059] 在本實(shí)施例中,由于主要關(guān)心的是跟蹤目標(biāo)的偏移,因此首先需要獲取用于稀疏 光流法計(jì)算的跟蹤窗口,在跟蹤窗口內(nèi)進(jìn)行角點(diǎn)的跟蹤,采用跟蹤窗口的方法比計(jì)算整幅 視頻圖像所需的計(jì)算量要小的多。
[0060] 跟蹤窗口的獲取,跟目標(biāo)位置有關(guān)。初始時(shí),在第一幀視頻圖像上基于目標(biāo)位置作 矩形框作為當(dāng)前跟蹤窗口,該跟蹤窗口的范圍包括整個(gè)跟蹤目標(biāo),并適當(dāng)大于跟蹤目標(biāo),以 滿足跟蹤目標(biāo)在相鄰兩幀視頻圖像中產(chǎn)生的偏移也包括在跟蹤窗口內(nèi),從而準(zhǔn)確地進(jìn)行目 標(biāo)跟蹤。對(duì)后續(xù)視頻圖像的跟蹤窗口,跟蹤窗口大小與第一幀視頻圖像的跟蹤窗口大小保 持一致,跟蹤窗口中心位置通過前一幀視頻圖像計(jì)算獲得的目標(biāo)位置得到。例如,對(duì)于第二 幀視頻圖像,其當(dāng)前跟蹤窗口的位置與第一幀獲取的當(dāng)前跟蹤窗口位置相同,第三幀視頻 圖像的跟蹤窗口中心位置是第二幀視頻圖像計(jì)算獲得的目標(biāo)位置。
[0061] 本實(shí)施例通過上述方法在待跟蹤視頻圖像中確定一個(gè)當(dāng)前跟蹤窗口,從而在當(dāng)前 跟蹤窗口內(nèi)采用稀疏光流法得到K個(gè)角點(diǎn)的偏移信息,及角點(diǎn)在待跟蹤視頻圖象中的位 置。由于稀疏光流法需要在當(dāng)前跟蹤窗口內(nèi)對(duì)每個(gè)像素點(diǎn)進(jìn)行計(jì)算,需要較大性能開銷。因 此本實(shí)施例在同一個(gè)跟蹤窗口內(nèi)維護(hù)三個(gè)角點(diǎn)信息,由于三個(gè)角點(diǎn)采用相同的跟蹤窗口, 對(duì)于跟蹤窗口內(nèi)的像素點(diǎn)只需計(jì)算一次,因此性能開銷較小,不影響算法實(shí)時(shí)性要求。同時(shí) 采用了三個(gè)角點(diǎn)來(lái)進(jìn)行目標(biāo)跟蹤,即使有角點(diǎn)偏移出了跟蹤窗口,還有其他角點(diǎn)可以用來(lái) 跟蹤目標(biāo),提高了目標(biāo)跟蹤的準(zhǔn)確率和魯棒性。
[0062]Lucas-Kanade稀疏光流法基于多層圖像金字塔進(jìn)行角點(diǎn)的偏移信息計(jì)算。在每層 圖像金字塔上,算法通過迭代計(jì)算獲得角點(diǎn)在當(dāng)前金字塔圖像上的偏移,進(jìn)而求得角點(diǎn)在 當(dāng)前金字塔圖像的位置;隨后將角點(diǎn)在當(dāng)前金字塔圖像的位置映射到下一層金字塔圖像, 繼續(xù)進(jìn)行迭代處理,最終求得在跟蹤窗口內(nèi)角點(diǎn)在下一幀圖像上的偏移信息和當(dāng)前位置。 Lucas-Kanade稀疏光流法是常用的一種角點(diǎn)跟蹤算法,這里不再贅述。角點(diǎn)的偏移信息包 括角點(diǎn)在水平和垂直方向的偏移值。
[0063] 步驟103、判斷待跟蹤視頻圖像中的K個(gè)角點(diǎn)是否可信,如果全部角點(diǎn)不可信,則 以歷史偏移信息計(jì)算當(dāng)前目標(biāo)位置,轉(zhuǎn)入步驟105,否則進(jìn)入步驟104。
[0064] 判斷待跟蹤視頻圖像中的K個(gè)角點(diǎn)是否可信,可以在完成角點(diǎn)偏移計(jì)算后,確定 所有角點(diǎn)的當(dāng)前運(yùn)動(dòng)狀態(tài),如有超過一定(例如三分之二)的角點(diǎn)處于某一運(yùn)動(dòng)狀態(tài),則將 該運(yùn)動(dòng)狀態(tài)認(rèn)為是目標(biāo)運(yùn)動(dòng)狀態(tài),并將其他運(yùn)動(dòng)狀態(tài)的角點(diǎn)認(rèn)為是不可信的角點(diǎn)。
[0065] 本實(shí)施例還提出了以下優(yōu)選的判斷待跟蹤視頻圖像中的K個(gè)角點(diǎn)是否可信的方 法:
[0066] 1)、計(jì)算待跟蹤視頻圖像中K個(gè)角點(diǎn)的偏移置信度。
[0067] 為每個(gè)角點(diǎn)設(shè)置偏移置信度是為了判斷該角點(diǎn)是否可信,本實(shí)施例中對(duì)于每一個(gè) 角點(diǎn),其偏移置信度T通過如下公式計(jì)算:
[0068]T=MinEig/PixelDiff
[0069]MinEig=A22+An-sqrt((An-A22)X(An-A22)+4XA12XA12)
[0070]PixelDiff=ΣΣabs(Icur-Ipre)
[0071]
[0072] 其中MinEig表示該角點(diǎn)的最小特征值,該值越大,表示該角點(diǎn)越易于跟蹤; PixelDif