运动目标检测与跟踪
FROM:http://www.cnblogs.com/ronny/p/4256150.html
最近對運動目標檢測與跟蹤這一塊的知識進行了一個整體性的回顧,又看了幾篇綜述性的論文,所以這篇博客算是做一個簡單的記錄,對幾個重要的概念進行了描述與分析。并沒有去研究現在這一領域那些最近的研究成果。因為在我看來,算法的主體想法都是一致的,每種方法都有它適應的場景。抓住軸心就夠了!
前景檢測這一塊,我比較推薦參數方法,高斯混合模型與碼本方法都是經過驗證,在實際工程中表現極好的,但是你必須根據你需要的場景對算法做一些改進。這篇文章只是初稿,后面會進行完善,加入一些論文鏈接,希望對運動檢測這一塊進行一個完整的綜述。
1. 運動檢測的簡介
用于安防的監控視頻大多數具有單鏡頭固定場景的特點。
2 運動目標檢測的基本方法
2.1 幀間差分法
通常相鄰兩幀圖像在時間上的間隔很短(一般用于視頻監控的攝像機每秒可以拍攝8/12/24幀),所以當背景變化不是非常劇烈和迅速的時候可以利用前后兩幅圖像的差值來判斷畫畫中運動的目標,通過設定閾值的調整可以改變方法檢測的靈敏度。
優點:運算量小,實現簡單,噪點較少,對光照不敏感。?
缺點:不能檢測速度過慢的物體,物體內部會造成空洞,物體本身也不完整。速度過快的物體,會形成兩個前景區域。
2.2 光流法
對畫面中圖像首先進行逐像素矢量賦值,當畫面中出現運動目標時,運動目標在畫面總所占據的像素點和背景像素點之間的矢量必然會有差異,如果沒有運動目標出現則畫面中的像素點的矢量變化應當為平滑的。正是由于有這樣的差異,才能利用差異檢測出運動目標在畫面中的像素點。
優點:適合于背景不斷變換的場景(移動攝像頭),不需要預先的視頻進行訓練。?
缺點:抗噪能力差,計算量大,光照影響比較大。
2.3 背景差法
幀間差分法的流程圖可以看出兩幅流程圖的基本框架大致相同,不同的地方在于背景差分法中有一個背景模型,這個背景模型是用來和所有的檢測幀進行差分運算的,而不同于幀間差分法的用上一幀圖像和下一幀圖像進行差分運算。
3 CodeBook背景模型
3.1 CodeBook的原理
設X={x1,x2,?,xN}為視頻序列中某位置像素點在不同時刻的連續的色彩值。其中xt為t時刻采樣到的RGB向量值,N代表用于生成背景模型的幀數。
設Cbook={c1,c2,?,cL}為該像素點匯總的各個聚類形成的碼書,其中ci(i=1,?,L)表示碼書中的一個碼字(codeword),其中每個碼字由vt=(Rt,Gt,Bt)和ut=<Imint,Imaxt,ft,λt,pt,qt>組成。其中1<t<N?,vt表示碼字在RGB色彩空間中三個軸的向量值,ut表示vt的統計信息,其中Imint,Imaxt表示該碼字的最小的和最大的亮度值,f表示該碼字出現的頻率,λ表示碼字出現的最大時間間隙,p表示碼字第一次出現的時間,q表示碼字最后一次出現的時間。
碼書的構建中,用于判定一個像素點是否屬于碼書中的某個碼字的條件是:
1) 比較色彩的空間距離colordist(xt,vi),其中xt=(Rt,Gt,Bt)是當前圖像中某一像素的輸入色彩值,vi為該像素點碼書中的一個碼字的聚類,colordist的定義如下:
colordist(xt,vi)=||xt||2?p2?????????√
其中p為xt余弦夾角下的投影值。如果上面計算到的距離小于某一閾值T1,則進行下一步判定。
2)像素點的亮度必須在一定的范圍(Ilow,Ihi)內。
如果像素與碼書中的某個碼字,則要對該碼字進行更新,顏色值按加權平均重新計算。如果當前的像素點不滿足上面的兩種情況,則重新建一個新的碼字。
按上面的方法對每個像素點建立碼本,這樣的情況下,前景像素也會生成為碼本中的碼字(一個聚類單元)。對于那些出現的最大間隔λ小于N/2的碼字刪除。
?
3.2 碼書算法的兩個改進
1)不要只單一的考慮單個像素點,同時考慮其周圍鄰域的變化?
2)RGB空間用夾角余弦計算距離并不合適。可以考慮用YUV空間。
3.3 顏色空間
亮度(V):人的視覺最敏感的亮度變化,光的能量大小。?
色調(H):也就是我們常說的顏色,用于顏色的命名。?
飽和度(S):反映色調的鮮艷程度。
3.4 行列分塊的YUV碼書模型
有時候攝像機會存在抖動,且背景上有些像素也會隨著環境做不穩定的變動。
對圖像進行網格劃分,每5*5的網格共用一個碼本,這樣可以消除局部的抖動。
還有一種方法,是將行碼書(1*5)與列碼書(5*1)分開考慮,一個像素點的行碼書或列碼書判定為前景時,該點則為前景點。列碼書的判定可以對行碼書的閾值進行調整。
4. 運動目標跟蹤方法
4.1 運動目標的表示
目標跟蹤問題中,目標的表示形式是目標跟蹤的基礎。
最為常見的就是基于目標形態的表示方法。它可以有以下幾種方法:
1)點表示的方法。將目標通過一個點來表示,即其中心點來表示。對于比較大的目標可以選擇用一組點來表示。這種表示方式適合目標相對于整個圖像來說比較小時。
2)幾何形狀表示法。通過定義橢圓或矩陣框來表示目標區域。只這種表示方法只適合不易發生形變的剛性物體的運動。
3)骨架表示法。將目標的輪廓經中軸變換后,即可提出物體骨架模型。
4)輪廓表示法。物體的輪廓表示物體的邊界。
其次比較重要的表示法還有目標的外觀特征表示方法。一種有以下幾種:
1)目標概率密度表示方法。
2)模板表示方法。
3)主動外觀模型表示法。對目標的形狀和外觀同時建模。
4)多視點模型表示法。
4.2 多特征組合
顏色特征:Lab空間
邊緣特征:不受光照變化的影響。
紋理特征:LBP特征,
4.3 跟蹤方法
1) 基于點的跟蹤
2)基于統計的跟蹤
3)基于輪廓的跟蹤
4.4 基于光流法的跟蹤
一般而言,光流是由于場景中前景目標本身的移動、相機的運動,或者兩者的共同運動所產生的。其計算方法可以分為三類:
1)基于區域或者基于特征的匹配方法;
2)基于頻域的方法;
3)基于梯度的方法;
簡單來說,光流是空間運動物體在觀測成像平面上的像素運動的“瞬時速度”。光流的研究是利用圖像序列中的像素強度數據的時域變化和相關性來確定各自像素位置的“運動”。研究光流場的目的就是為了從圖片序列中近似得到不能直接得到的運動場。
光流法的前提假設:
1)相鄰幀之間的亮度恒定;
2)相鄰視頻幀的取幀時間連續,或者,相鄰幀之間物體的運動比較“微小”;
3)保持空間一致性;即,同一子圖像的像素點具有相同的運動。
光流法用于目標跟蹤的原理:
(1)對一個連續的視頻幀序列進行處理;
(2)針對每一個視頻序列,利用一定的目標檢測方法,檢測可能出現的前景目標;
(3)如果某一幀出現了前景目標,找到其具有代表性的關鍵特征點(可以隨機產生,也可以利用角點來做特征點);
(4)對之后的任意兩個相鄰視頻幀而言,尋找上一幀中出現的關鍵特征點在當前幀中的最佳位置,從而得到前景目標在當前幀中的位置坐標;
(5)如此迭代進行,便可實現目標的跟蹤;
總結
- 上一篇: 一维随机变量及其概率分布
- 下一篇: Bag of Features (BOF