目標(biāo)跟蹤入門篇—相關(guān)濾波
前 言
目標(biāo)跟蹤是計(jì)算機(jī)視覺領(lǐng)域的一個(gè)重要問題,目前廣泛應(yīng)用在體育賽事轉(zhuǎn)播、安防監(jiān)控和無人機(jī)、無人車、機(jī)器人等領(lǐng)域。
簡單來說,目標(biāo)跟蹤就是在連續(xù)的視頻序列中,建立所要跟蹤物體的位置關(guān)系,得到物體完整的運(yùn)動軌跡。給定圖像第一幀的目標(biāo)坐標(biāo)位置,計(jì)算在下一幀圖像中目標(biāo)的確切位置。在運(yùn)動的過程中,目標(biāo)可能會呈現(xiàn)一些圖像上的變化,比如姿態(tài)或形狀的變化、尺度的變化、背景遮擋或光線亮度的變化等。目標(biāo)跟蹤算法的研究也圍繞著解決這些變化和具體的應(yīng)用展開。
目前目標(biāo)跟蹤的難點(diǎn)主要包含:
形態(tài)變化 - 姿態(tài)變化是目標(biāo)跟蹤中常見的干擾問題。運(yùn)動目標(biāo)發(fā)生姿態(tài)變化時(shí), 會導(dǎo)致它的特征以及外觀模型發(fā)生改變, 容易導(dǎo)致跟蹤失敗。例如:體育比賽中的運(yùn)動員、馬路上的行人。
尺度變化 - 尺度的自適應(yīng)也是目標(biāo)跟蹤中的關(guān)鍵問題。當(dāng)目標(biāo)尺度縮小時(shí), 由于跟蹤框不能自適應(yīng)跟蹤, 會將很多背景信息包含在內(nèi), 導(dǎo)致目標(biāo)模型的更新錯誤;當(dāng)目標(biāo)尺度增大時(shí), 由于跟蹤框不能將目標(biāo)完全包括在內(nèi), 跟蹤框內(nèi)目標(biāo)信息不全, 也會導(dǎo)致目標(biāo)模型的更新錯誤。因此, 實(shí)現(xiàn)尺度自適應(yīng)跟蹤是十分必要的。
遮擋與消失 - 目標(biāo)在運(yùn)動過程中可能出現(xiàn)被遮擋或者短暫的消失情況。當(dāng)這種情況發(fā)生時(shí), 跟蹤框容易將遮擋物以及背景信息包含在跟蹤框內(nèi), 會導(dǎo)致后續(xù)幀中的跟蹤目標(biāo)漂移到遮擋物上面。若目標(biāo)被完全遮擋時(shí), 由于找不到目標(biāo)的對應(yīng)模型, 會導(dǎo)致跟蹤失敗。
圖像模糊 - 光照強(qiáng)度變化, 目標(biāo)快速運(yùn)動, 低分辨率等情況會導(dǎo)致圖像模型, 尤其是在運(yùn)動目標(biāo)與背景相似的情況下更為明顯。因此, 選擇有效的特征對目標(biāo)和背景進(jìn)行區(qū)分非常必要。
01
目標(biāo)跟蹤算法發(fā)展
跟蹤算法主要從經(jīng)典算法到基于核相關(guān)濾波算法,再到基于深度學(xué)習(xí)的跟蹤算法。
早期經(jīng)典的跟蹤方法比如 Meanshift、Particle Filter 和 Kalman Filter。Meanshift 方法是一種基于概率密度分布的跟蹤方法,使目標(biāo)的搜索一直沿著概率梯度上升的方向,迭代收斂到概率密度分布的局部峰值上。首先 Meanshift 會對目標(biāo)進(jìn)行建模,比如利用目標(biāo)的顏色分布來描述目標(biāo),然后計(jì)算目標(biāo)在下一幀圖像上的概率分布,從而迭代得到局部最密集的區(qū)域。Meanshift 適用于目標(biāo)的色彩模型和背景差異比較大的情形,早期也用于人臉跟蹤。由于 Meanshift 方法的快速計(jì)算,它的很多改進(jìn)方法也一直適用至今。
粒子濾波(Particle Filter)方法是一種基于粒子分布統(tǒng)計(jì)的方法。以跟蹤為例,首先對跟蹤目標(biāo)進(jìn)行建模,并定義一種相似度度量確定粒子與目標(biāo)的匹配程度。在目標(biāo)搜索的過程中,它會按照一定的分布(比如均勻分布或高斯分布)撒一些粒子,統(tǒng)計(jì)這些粒子的相似度,確定目標(biāo)可能的位置。在這些位置上,下一幀加入更多新的粒子,確保在更大概率上跟蹤上目標(biāo)。Kalman Filter 常被用于描述目標(biāo)的運(yùn)動模型,它不對目標(biāo)的特征建模,而是對目標(biāo)的運(yùn)動模型進(jìn)行了建模,常用于估計(jì)目標(biāo)在下一幀的位置。另外,經(jīng)典的跟蹤方法還有基于特征點(diǎn)的光流跟蹤,在目標(biāo)上提取一些特征點(diǎn),然后在下一幀計(jì)算這些特征點(diǎn)的光流匹配點(diǎn),統(tǒng)計(jì)得到目標(biāo)的位置。在跟蹤的過程中,需要不斷補(bǔ)充新的特征點(diǎn),刪除置信度不佳的特征點(diǎn),以此來適應(yīng)目標(biāo)在運(yùn)動中的形狀變化。本質(zhì)上可以認(rèn)為光流跟蹤屬于用特征點(diǎn)的集合來表征目標(biāo)模型的方法。
基于核相關(guān)濾波的跟蹤算法如MOSSE、CSK、KCF、BACF、SAMF將通信領(lǐng)域的相關(guān)濾波(衡量兩個(gè)信號的相似程度)引入到了目標(biāo)跟蹤中,相關(guān)濾波的跟蹤算法始于 2012 年 P.Martins 提出的 CSK 方法,作者提出了一種基于循環(huán)矩陣的核跟蹤方法,并且從數(shù)學(xué)上完美解決了密集采樣(Dense Sampling)的問題,利用傅立葉變換快速實(shí)現(xiàn)了檢測的過程。在訓(xùn)練分類器時(shí),一般認(rèn)為離目標(biāo)位置較近的是正樣本,而離目標(biāo)較遠(yuǎn)的認(rèn)為是負(fù)樣本。利用快速傅立葉變換,CSK 方法的跟蹤幀率能達(dá)到 100~400fps,奠定了相關(guān)濾波系列方法在實(shí)時(shí)性應(yīng)用中的基石。
利用深度學(xué)習(xí)訓(xùn)練網(wǎng)絡(luò)模型,得到的卷積特征輸出表達(dá)能力更強(qiáng),在目標(biāo)跟蹤上,初期的應(yīng)用方式是把網(wǎng)絡(luò)學(xué)習(xí)到的特征,直接應(yīng)用到相關(guān)濾波或 Struck 的跟蹤框架里面,從而得到更好的跟蹤結(jié)果,網(wǎng)絡(luò)不同層的卷積輸出都可以作為跟蹤的特征。
總的來說
相比于光流法、Kalman、Meanshift等傳統(tǒng)算法,相關(guān)濾波類算法跟蹤速度更快,深度學(xué)習(xí)類方法精度高。
具有多特征融合以及深度特征的追蹤器在跟蹤精度方面的效果更好。
使用強(qiáng)大的分類器是實(shí)現(xiàn)良好跟蹤的基礎(chǔ)。
尺度的自適應(yīng)以及模型的更新機(jī)制也影響著跟蹤的精度。
02 相關(guān)濾波器思想
相關(guān)濾波跟蹤的基本思想就是,設(shè)計(jì)一個(gè)濾波模板,利用該模板與目標(biāo)候選區(qū)域做相關(guān)運(yùn)算,最大輸出響應(yīng)的位置即為當(dāng)前幀的目標(biāo)位置。
其中 y 表示響應(yīng)輸出, x 表示輸入圖像, w 表示濾波模板。利用相關(guān)定理,將相關(guān)轉(zhuǎn)換為計(jì)算量更小的點(diǎn)積。
分別是y,x,w 的傅里葉變換。相關(guān)濾波的任務(wù),就是尋找最優(yōu)的濾波模板w。
目前的難點(diǎn):
一般的相關(guān)濾波都是固定學(xué)習(xí)率的線性加權(quán)更新模型,不需要顯式保存訓(xùn)練樣本,每幀樣本訓(xùn)練的模型與已有目標(biāo)模型,以固定權(quán)值加權(quán)來更新目標(biāo)模型,這樣以往的樣本信息都會逐漸失效,而最近幾幀的樣本信息占模型的比重很大。如果出現(xiàn)目標(biāo)定位不準(zhǔn)確、遮擋、背景擾動等情況,固定學(xué)習(xí)率方式會平等對待這些“有問題”的樣本,目標(biāo)模型就會被污染導(dǎo)致跟蹤失敗。
另外相關(guān)濾波模板類特征(HOG)對快速變形和快速運(yùn)動效果不好,但對運(yùn)動模糊光照變化等情況比較好。
03 相關(guān)濾波器發(fā)展
MOSSE
相關(guān)濾波跟蹤的開篇之作,利用目標(biāo)的多個(gè)樣本作為訓(xùn)練樣本,以生成更優(yōu)的濾波器。MOSSE 以最小化平方和誤差為目標(biāo)函數(shù),用m個(gè)樣本求最小二乘解。
CSK
CSK針對MOSSE算法中采用稀疏采樣造成樣本冗余的問題,擴(kuò)展了嶺回歸、基于循環(huán)移位的近似密集采樣方法、以及核方法。MOSSE與CSK處理的都是單通道灰度圖像,引入了循環(huán)移位和快速傅里葉變換,極大地提高了算法的計(jì)算效率。但是離散傅里葉變換也帶來了一個(gè)副作用:邊界效應(yīng)。
針對邊界效應(yīng),有2個(gè)典型處理方法:在圖像上疊加余弦窗調(diào)制;增加搜索區(qū)域的面積。加余弦窗的方法,使搜索區(qū)域邊界的像素值接近0,消除邊界的不連續(xù)性。余弦窗的引入也帶來了缺陷: 減小了有效搜索區(qū)域。例如在檢測階段,如果目標(biāo)不在搜索區(qū)域中心,部分目標(biāo)像素會被過濾掉。如果目標(biāo)的一部分已經(jīng)移出了這個(gè)區(qū)域,很可能就過濾掉僅存的目標(biāo)像素。其作用表現(xiàn)為算法難以跟蹤快速運(yùn)動的目標(biāo)。擴(kuò)大搜索區(qū)域能緩解邊界效應(yīng),并提高跟蹤快速移動目標(biāo)的能力。但缺陷是會引入更多的背景信息,可能造成跟蹤漂移。
CN
CN在CSK的基礎(chǔ)上擴(kuò)展了多通道顏色。將RGB的3通道圖像投影到11個(gè)顏色通道,分別對應(yīng)英語中常用的語言顏色分類,分別是black, blue, brown, grey, green, orange, pink, purple, red, white, yellow,并歸一化得到10通道顏色特征。也可以利用PCA方法,將CN降維到2維。
DCF KCF
從DCF到KCF多了Gaussian-kernel,performance上升0.21%,fps下降46.46%,kernel-trick雖然有用但影響較小,如果注重速度可以摒棄,如果追求極限性能可以用。KCF可以說是對CSK的完善。論文中對嶺回歸、循環(huán)矩陣、核技巧、快速檢測等做了完整的數(shù)學(xué)推導(dǎo)。KCF在CSK的基礎(chǔ)上擴(kuò)展了多通道特征。KCF采用的HoG特征,核函數(shù)有三種高斯核、線性核和多項(xiàng)式核,高斯核的精確度最高,線性核略低于高斯核,但速度上遠(yuǎn)快于高斯核。
SAMF
SAMF基于KCF,特征是HoG+CN。SAMF實(shí)現(xiàn)多尺度目標(biāo)跟蹤的方法比較直接,類似檢測算法里的多尺度檢測方法。由平移濾波器在多尺度縮放的圖像塊上進(jìn)行目標(biāo)檢測,取響應(yīng)最大的那個(gè)平移位置及所在尺度。因此這種方法可以同時(shí)檢測目標(biāo)中心變化和尺度變化。
DSST fDSST
從DSST到fDSST做了特征壓縮和scale filter加速即特征降維和插值,performance上升6.13%,fps上升83.37%。
DSST將目標(biāo)跟蹤看成目標(biāo)中心平移和目標(biāo)尺度變化兩個(gè)獨(dú)立問題。首先用HoG特征的DCF訓(xùn)練平移相關(guān)濾波,負(fù)責(zé)檢測目標(biāo)中心平移。然后用HoG特征的MOSSE(這里與DCF的區(qū)別是不加padding)訓(xùn)練另一個(gè)尺度相關(guān)濾波,負(fù)責(zé)檢測目標(biāo)尺度變化。2017年發(fā)表的文章又提出了加速版本fDSST。
尺度濾波器僅需要檢測出最佳匹配尺度而無須關(guān)心平移情況,其計(jì)算原理如圖。DSST將尺度檢測圖像塊全部縮小到同一個(gè)尺寸計(jì)算特征(CN+HoG),再將特征表示成一維(沒有循環(huán)移位),尺度檢測的響應(yīng)圖也是一維的高斯函數(shù)。
DSST本來就是對尺度自適應(yīng)問題的快速解決方案(支持33個(gè)尺度還比SAMF快很多),在fDSST中MD大神又對DSST進(jìn)行加速:
平移濾波器:PCA方法將平移濾波器的HOG特征從31通道降維到18通道,這一步驟與上面的CN特征類似,直接用PCA進(jìn)行降維,作者提到由于這里用了線性核,所以不需要CN中所用的平滑子空間約束,更加簡單粗暴。由于HOG特征天然會降低響應(yīng)分辨率(cell_size=4),這里也采用簡單粗暴的方法,將響應(yīng)圖的分辨率上采樣到原始圖像分辨率,也就是響應(yīng)圖插值以提高檢測精度,方法是三角插值,等價(jià)于頻譜添0,方法更加簡單粗暴,但這一步會增加算法復(fù)雜度,而且方法太簡單也必然效果較差。
尺度濾波器:QR方法將尺度濾波器的HOG特征(二特征,沒有循環(huán)移位)~1000*17降維到17*17,由于自相關(guān)矩陣維度較大影響速度,為了效率這里沒有用PCA而是QR分解。多尺度數(shù)量是17(DSST中的一半),響應(yīng)圖是1*17,這里也通過插值方法將尺度數(shù)量從17插值到33以獲得更精確的尺度定位。
SRDCF
SRDCF與CFLB的思路都是擴(kuò)大搜索區(qū)域,同時(shí)約束濾波模板的有效作用域解決邊界效應(yīng)。給濾波模板增加一個(gè)約束,對接近邊界的區(qū)域懲罰更大,或者說讓邊界附近濾波模板系數(shù)接近0,速度比較慢。
CFLB/BACF
使搜索區(qū)域內(nèi),目標(biāo)區(qū)域以外的像素為0,CFLB僅使用單通道灰度特征,最新BACF將特征擴(kuò)展為多通道HOG特征。CFLB和BACF采用Alternating Direction Method of Multipliers(ADMM)快速求解。
DAT
不是一種相關(guān)濾波方法,而是一種基于顏色統(tǒng)計(jì)特征方法。DAT統(tǒng)計(jì)前景目標(biāo)和背景區(qū)域的顏色直方圖,這就是前景和背景的顏色概率模型,檢測階段,利用貝葉斯方法判別每個(gè)像素屬于前景的概率,得到像素級顏色概率圖
STAPLE STAPLE+CA
從Staple到STAPLE+CA加入Context-Aware約束項(xiàng),performance上升3.28%,fps下降43.18%,說明約束項(xiàng)有效,但犧牲了大量fps。STAPLE結(jié)合了模板特征方法DSST和顏色統(tǒng)計(jì)特征方法DAT。
相關(guān)濾波模板類特征(HOG)對快速變形和快速運(yùn)動效果不好,但對運(yùn)動模糊光照變化等情況比較好;而顏色統(tǒng)計(jì)特征(DAT)對變形不敏感,而且不屬于相關(guān)濾波框架沒有邊界效應(yīng),但對光照變化和背景相似顏色不好。因此,這兩類方法可以互補(bǔ)。
C-COT
圖像特征的表達(dá)能力在目標(biāo)跟蹤中起著至關(guān)重要的作用。以HoG+CN為代表的圖像特征,性能優(yōu)秀而且速度優(yōu)勢非常突出,但也成為性能進(jìn)一步提升的瓶頸。以卷積神經(jīng)網(wǎng)絡(luò)(CNN)為代表的深度特征,具有更強(qiáng)大特征表達(dá)能力、泛化能力和遷移能力。將深度特征引入相關(guān)濾波也就水到渠成。
LMCF
LMCF提出了兩個(gè)方法,多峰目標(biāo)檢測和高置信度更新。多峰目標(biāo)檢測對平移檢測的響應(yīng)圖做多峰檢測,如果其他峰峰值與主峰峰值的比例大于某個(gè)閾值,說明響應(yīng)圖是多峰模式,以這些多峰為中心重新檢測,并取這些響應(yīng)圖的最大值作為最終目標(biāo)位置。
高置信度更新:只有在跟蹤置信度比較高的時(shí)候才更新跟蹤模型,避免目標(biāo)模型被污染。一個(gè)置信度指標(biāo)是最大響應(yīng)。另一個(gè)置信度指標(biāo)是平均峰值相關(guān)能量(average peak-to correlation energy, APCE),反應(yīng)響應(yīng)圖的波動程度和檢測目標(biāo)的置信水平。
CSR-DCF
提出了空域可靠性和通道可靠性方法。空域可靠性利用圖像分割方法,通過前背景顏色直方圖概率和中心先驗(yàn)計(jì)算空域二值約束掩膜。這里的二值掩膜就類似于CFLB中的掩膜矩陣P。CSR-DCF利用圖像分割方法更準(zhǔn)確地選擇有效的跟蹤目標(biāo)區(qū)域。通道可靠性用于區(qū)分檢測時(shí)每個(gè)通道的權(quán)重。
ECO ECO-HC
ECO是C-COT的加速版,從模型大小、樣本集大小和更新策略三個(gè)方便加速,速度比C-COT提升了20倍,加量還減價(jià),在VOT2016數(shù)據(jù)庫上EAO提升了13.3%,當(dāng)然最厲害的還是hand-crafted features版本的ECO-HC有60FPS,接下來分別看看這三步。
第一減少模型參數(shù),既然CN特征和HOG特征都能降維,那卷積特征是不是也可以試試?這就是ECO中的加速第一步,也是最關(guān)鍵的一步,F(xiàn)actorized Convolution Operator分解卷積操作,效果類似PCA,但Conv. Feat.與前面的CN和HOG又不一樣:
CNN特征維度過于龐大,在C-COT中是96+512=608通道,需要降很多很多維才能保證速度,而無監(jiān)督降維如果太多會直接影響效果(對比通用方法 - 取特征值的95%以上的維度,保留信息量);
雖然CNN特征遷移能力比較強(qiáng),但這并不是針對跟蹤問題專門訓(xùn)練的特征,對跟蹤問題有用的信息隱藏在大量CNN激活值中,如果簡單的無監(jiān)督降維,可能會過濾掉那些雖然不顯著,但對跟蹤問題有效的特征信息。當(dāng)然HOG和CN特征也有同樣的問題。
通過使用PCA, 有監(jiān)督降維:
P就是那個(gè)降維矩陣,放在目標(biāo)函數(shù)中優(yōu)化得到,具體求解比較復(fù)雜看論文吧,用PCA作為P的初始值去迭代優(yōu)化,采用Gauss-Newton和Conjugate Gradient方法。但每幀都迭代優(yōu)化降維矩陣速度反而會更慢,大神告訴我們僅在第一幀優(yōu)化這個(gè)降維矩陣就可以了,第一幀優(yōu)化完成后這個(gè)降維矩陣就是固定的,后續(xù)幀都直接用。Factorized Convolution Operator減少了80%的卷積特征還能略微提升性能,HC版本從31+11降維到10+3速度提升非常明顯。至于為什么降維了還能提升效果,論文中說參數(shù)太多容易過擬合,也可能是判別力較低或者無用的通道響應(yīng)圖會成為噪聲,淹沒較高判別力的通道響應(yīng)圖。
第二減少樣本數(shù)量,這個(gè)是針對Adaptive decontamination of the training set的加速,C-COT中要保存400個(gè)樣本,但視頻相鄰幀之間的相似性非常高,存在大量相似的冗余樣本,而且每次更新都要用樣本集中所有樣本做優(yōu)化,速度非常慢。ECO中改為緊湊的生成樣本空間模型compact generative mode,采用Gaussian Mixture Model (GMM)合并相似樣本,建立更具代表性和多樣性的樣本集,需要保存和優(yōu)化的樣本集數(shù)量降到C-COT的1/8。用特征距離衡量兩個(gè)樣本的相似程度,樣本合并方法是兩個(gè)樣本特征的權(quán)值相加,樣本特征按照權(quán)值加權(quán)合并。
第三改變更新策略,以前CF方法都是每幀更新,這種過更新不僅慢,而且會導(dǎo)致模型對最近幾幀嚴(yán)重過擬合,對遮擋、變形和平面外旋轉(zhuǎn)等突然變化過度敏感,但對大多數(shù)方法都是無可奈何的,因?yàn)槿鏚CF等方法不保存樣本,這一幀不更新就再也沒機(jī)會了。
但ECO保存了所有樣本的代表性樣本集,所以完全沒有必要每幀都更新,這里采用了sparser updating scheme(稀疏更新策略),即每隔5幀更新一次模型參數(shù),這不但提高了算法速度,而且提高了對突變,遮擋等情況的穩(wěn)定性,三步優(yōu)化中稀疏更新對效果提升最大。由于ECO的樣本集是每幀都更新的,稀疏更新并不會錯過間隔期的樣本變化信息,但這種方法可能不適合沒有樣本集的方法,如KCF,因?yàn)闆]有保存樣本集。
本文僅做學(xué)術(shù)分享,如有侵權(quán),請聯(lián)系刪文。
*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請聯(lián)系工作人員刪除。