目標跟蹤演算法的分類(二)

2021-07-14 00:07:03 字數 3414 閱讀 8948



原文:最近對運動目標檢測與跟蹤這一塊的知識進行了乙個整體性的回顧,又看了幾篇綜述性的**,所以這篇部落格算是做乙個簡單的記錄,對幾個重要的概念進行了描述與分析。並沒有去研究現在這一領域那些最近的研究成果。因為在我看來,演算法的主體想法都是一致的,每種方法都有它適應的場景。抓住軸心就夠了!

前景檢測這一塊,我比較推薦引數方法,高斯混合模型與碼本方法都是經過驗證,在實際工程中表現極好的,但是你必須根據你需要的場景對演算法做一些改進。這篇文章只是初稿,後面會進行完善,加入一些**鏈結,希望對運動檢測這一塊進行乙個完整的綜述。

優點:運算量小,實現簡單,噪點較少,對光照不敏感。

缺點:不能檢測速度過慢的物體,物體內部會造成空洞,物體本身也不完整。速度過快的物體,會形成兩個前景區域。

對畫面中影象首先進行逐畫素向量賦值,當畫面中出現運動目標時,運動目標在畫面總所佔據的畫素點和背景畫素點之間的向量必然會有差異,如果沒有運動目標出現則畫面中的畫素點的向量變化應當為平滑的。正是由於有這樣的差異,才能利用差異檢測出運動目標在畫面中的畫素點。

幀間差分法的流程圖可以看出兩幅流程圖的基本框架大致相同,不同的地方在於背景差分法中有乙個背景模型,這個背景模型是用來和所有的檢測幀進行差分運算的,而不同於幀間差分法的用上一幀影象和下一幀影象進行差分運算。 設x

= x=xt

xt為t

t時刻取樣到的rgb向量值,

n n

代表用於生成背景模型的幀數。 設c

book

= cbook=

為該畫素點彙總的各個聚類形成的碼書,其中ci

(i=1,⋯,

l)ci(i=1,⋯,l)

表示碼書中的乙個碼字(codeword),其中每個碼字由vt

=(rt ,g

t ,b

t ) 

vt=(rt,gt,bt)和u

t =min 

t ,i

maxt ,

f t 

,λt 

,pt 

,q t

>

ut=組成。其中

1<

t<

n 1 ,vt

vt表示碼字在rgb色彩空間中三個軸的向量值,ut

ut表示v

t vt

的統計資訊,其中i 

min 

t ,i

maxt

itmin,itmax

表示該碼字的最小的和最大的亮度值,

f f

表示該碼字出現的頻率,λ 

λ表示碼字出現的最大時間間隙,p 

p表示碼字第一次出現的時間,

q q

表示碼字最後一次出現的時間。

碼書的構建中,用於判定乙個畫素點是否屬於碼書中的某個碼字的條件是:

1) 比較色彩的空間距離co

lord

ist(

xt ,

vi )

colordist(xt,vi)

,其中xt 

=(rt

,gt,bt

)xt=(rt,gt,bt)

是當前影象中某一畫素的輸入色彩值,vi

vi為該畫素點碼書中的乙個碼字的聚類,colordist的定義如下: c

olor

dist

(xt 

,vi 

)=||

xt |

|2 −

p2 − 

− − 

− − 

− − 

− − 

√ colordist(xt,vi)=||xt||2−p2其中p

p為xt 

xt余弦夾角下的投影值。如果上面計算到的距離小於某一閾值t 

1 t1

,則進行下一步判定。

2)畫素點的亮度必須在一定的範圍(i 

low 

,i h

i ilow,ihi

)內。如果畫素與碼書中的某個碼字,則要對該碼字進行更新,顏色值按加權平均重新計算。如果當前的畫素點不滿足上面的兩種情況,則重新建乙個新的碼字。

按上面的方法對每個畫素點建立碼本,這樣的情況下,前景畫素也會生成為碼本中的碼字(乙個聚類單元)。對於那些出現的最大間隔λ 

λ小於n/

2 n/2

的碼字刪除。

1)不要只單一的考慮單個畫素點,同時考慮其周圍鄰域的變化

2)rgb空間用夾角余弦計算距離並不合適。可以考慮用yuv空間。

亮度(v):人的視覺最敏感的亮度變化,光的能量大小。

色調(h):也就是我們常說的顏色,用於顏色的命名。

飽和度(s):反映色調的鮮豔程度。

有時候攝像機會存在抖動,且背景上有些畫素也會隨著環境做不穩定的變動。

對影象進行網格劃分,每5*5的網格共用乙個碼本,這樣可以消除區域性的抖動。

還有一種方法,是將行碼書(1*5)與列碼書(5*1)分開考慮,乙個畫素點的行碼書或列碼書判定為前景時,該點則為前景點。列碼書的判定可以對行碼書的閾值進行調整。

目標跟蹤問題中,目標的表示形式是目標跟蹤的基礎。

最為常見的就是基於目標形態的表示方法。它可以有以下幾種方法:

1)點表示的方法。將目標通過乙個點來表示,即其中心點來表示。對於比較大的目標可以選擇用一組點來表示。這種表示方式適合目標相對於整個影象來說比較小時。

2)幾何形狀表示法。通過定義橢圓或矩陣框來表示目標區域。只這種表示方法只適合不易發生形變的剛性物體的運動。

3)骨架表示法。將目標的輪廓經中軸變換後,即可提出物體骨架模型。

4)輪廓表示法。物體的輪廓表示物體的邊界。

其次比較重要的表示法還有目標的外觀特徵表示方法。一種有以下幾種:

1)目標概率密度表示方法。

2)模板表示方法。

3)主動外觀模型表示法。對目標的形狀和外觀同時建模。

4)多視點模型表示法。

顏色特徵:lab空間

邊緣特徵:不受光照變化的影響。

紋理特徵:lbp特徵,

1) 基於點的跟蹤

2)基於統計的跟蹤

3)基於輪廓的跟蹤

一般而言,光流是由於場景中前景目標本身的移動、相機的運動,或者兩者的共同運動所產生的。其計算方法可以分為三類:

1)基於區域或者基於特徵的匹配方法;

2)基於頻域的方法;

3)基於梯度的方法;

簡單來說,光流是空間運動物體在觀測成像平面上的畫素運動的「瞬時速度」。光流的研究是利用影象序列中的畫素強度資料的時域變化和相關性來確定各自畫素位置的「運動」。研究光流場的目的就是為了從序列中近似得到不能直接得到的運動場。

光流法的前提假設:

1)相鄰幀之間的亮度恆定;

3)保持空間一致性;即,同一子影象的畫素點具有相同的運動。

光流法用於目標跟蹤的原理:

(3)如果某一幀出現了前景目標,找到其具有代表性的關鍵特徵點(可以隨機產生,也可以利用角點來做特徵點);

(5)如此迭代進行,便可實現目標的跟蹤;

目標跟蹤檢測演算法(二) 檢測與跟蹤

在該階段,對已存的目標追蹤演算法出現了兩種比較公認的分類,一種是基於生成模型的方法,一種是基於判別模型的方法。在第一階段中的方法都屬於前一種,而基於判別的方法是指通過分類來做跟蹤,也叫檢測跟蹤 tracking by detection 通過機器學習方法,提取影象特徵,並訓練分類器進行分類,在下一幀...

Urban tracker 目標跟蹤演算法

背景抽取 background subtraction 在 中,作者使用的是vibe演算法,但由於vibe演算法申請了專利,因此,建議參考changedetection上的其它演算法進行背景抽取。預處理 高斯5x5雜訊過濾,並對分割得到的前景mask進行形態學填充,blob面積小於tm 則被當成雜訊...

TLD目標跟蹤演算法

以下博文 tld是一種演算法的簡稱,原作者把它叫做tracking learning detection。搞視覺的人看到這個名字都會嚇一跳,很ambitious的計畫。是09年的工作,不算太久,不過也不太新。網上關於這個的資源其實很多,很大程度和作者開放源 有關。學習過程中碰到的第乙個問題就是資源太...