原文出處: Ronny的博客(@RonnyYoung) 歡迎分享原創(chuàng)到伯樂頭條
最近對運動目標(biāo)檢測與跟蹤這一塊的知識進行了一個整體性的回顧,又看了幾篇綜述性的論文,所以這篇博客算是做一個簡單的記錄,對幾個重要的概念進行了描述與分析。并沒有去研究現(xiàn)在這一領(lǐng)域那些最近的研究成果。因為在我看來,算法的主體想法都是一致的,每種方法都有它適應(yīng)的場景。抓住軸心就夠了! 前景檢測這一塊,我比較推薦參數(shù)方法,高斯混合模型與碼本方法都是經(jīng)過驗證,在實際工程中表現(xiàn)極好的,但是你必須根據(jù)你需要的場景對算法做一些改進。這篇文章只是初稿,后面會進行完善,加入一些論文鏈接,希望對運動檢測這一塊進行一個完整的綜述。 1. 運動檢測的簡介用于安防的監(jiān)控視頻大多數(shù)具有單鏡頭固定場景的特點。 2 運動目標(biāo)檢測的基本方法2.1 幀間差分法通常相鄰兩幀圖像在時間上的間隔很短(一般用于視頻監(jiān)控的攝像機每秒可以拍攝8/12/24幀),所以當(dāng)背景變化不是非常劇烈和迅速的時候可以利用前后兩幅圖像的差值來判斷畫畫中運動的目標(biāo),通過設(shè)定閾值的調(diào)整可以改變方法檢測的靈敏度。 優(yōu)點:運算量小,實現(xiàn)簡單,噪點較少,對光照不敏感。 2.2 光流法對畫面中圖像首先進行逐像素矢量賦值,當(dāng)畫面中出現(xiàn)運動目標(biāo)時,運動目標(biāo)在畫面總所占據(jù)的像素點和背景像素點之間的矢量必然會有差異,如果沒有運動目標(biāo)出現(xiàn)則畫面中的像素點的矢量變化應(yīng)當(dāng)為平滑的。正是由于有這樣的差異,才能利用差異檢測出運動目標(biāo)在畫面中的像素點。 優(yōu)點:適合于背景不斷變換的場景(移動攝像頭),不需要預(yù)先的視頻進行訓(xùn)練。 2.3 背景差法幀間差分法的流程圖可以看出兩幅流程圖的基本框架大致相同,不同的地方在于背景差分法中有一個背景模型,這個背景模型是用來和所有的檢測幀進行差分運算的,而不同于幀間差分法的用上一幀圖像和下一幀圖像進行差分運算。 3 CodeBook背景模型3.1 CodeBook的原理設(shè) 設(shè) 碼書的構(gòu)建中,用于判定一個像素點是否屬于碼書中的某個碼字的條件是: 1) 比較色彩的空間距離 其中 2)像素點的亮度必須在一定的范圍( 如果像素與碼書中的某個碼字,則要對該碼字進行更新,顏色值按加權(quán)平均重新計算。如果當(dāng)前的像素點不滿足上面的兩種情況,則重新建一個新的碼字。 按上面的方法對每個像素點建立碼本,這樣的情況下,前景像素也會生成為碼本中的碼字(一個聚類單元)。對于那些出現(xiàn)的最大間隔
3.2 碼書算法的兩個改進1)不要只單一的考慮單個像素點,同時考慮其周圍鄰域的變化 3.3 顏色空間亮度(V):人的視覺最敏感的亮度變化,光的能量大小。 3.4 行列分塊的YUV碼書模型有時候攝像機會存在抖動,且背景上有些像素也會隨著環(huán)境做不穩(wěn)定的變動。 對圖像進行網(wǎng)格劃分,每5*5的網(wǎng)格共用一個碼本,這樣可以消除局部的抖動。 還有一種方法,是將行碼書(1*5)與列碼書(5*1)分開考慮,一個像素點的行碼書或列碼書判定為前景時,該點則為前景點。列碼書的判定可以對行碼書的閾值進行調(diào)整。 4. 運動目標(biāo)跟蹤方法4.1 運動目標(biāo)的表示目標(biāo)跟蹤問題中,目標(biāo)的表示形式是目標(biāo)跟蹤的基礎(chǔ)。 最為常見的就是基于目標(biāo)形態(tài)的表示方法。它可以有以下幾種方法: 1)點表示的方法。將目標(biāo)通過一個點來表示,即其中心點來表示。對于比較大的目標(biāo)可以選擇用一組點來表示。這種表示方式適合目標(biāo)相對于整個圖像來說比較小時。 2)幾何形狀表示法。通過定義橢圓或矩陣框來表示目標(biāo)區(qū)域。只這種表示方法只適合不易發(fā)生形變的剛性物體的運動。 3)骨架表示法。將目標(biāo)的輪廓經(jīng)中軸變換后,即可提出物體骨架模型。 4)輪廓表示法。物體的輪廓表示物體的邊界。 其次比較重要的表示法還有目標(biāo)的外觀特征表示方法。一種有以下幾種: 1)目標(biāo)概率密度表示方法。 2)模板表示方法。 3)主動外觀模型表示法。對目標(biāo)的形狀和外觀同時建模。 4)多視點模型表示法。 4.2 多特征組合顏色特征:Lab空間 邊緣特征:不受光照變化的影響。 紋理特征:LBP特征, 4.3 跟蹤方法1) 基于點的跟蹤 2)基于統(tǒng)計的跟蹤 3)基于輪廓的跟蹤 4.4 基于光流法的跟蹤一般而言,光流是由于場景中前景目標(biāo)本身的移動、相機的運動,或者兩者的共同運動所產(chǎn)生的。其計算方法可以分為三類: 1)基于區(qū)域或者基于特征的匹配方法; 2)基于頻域的方法; 3)基于梯度的方法; 簡單來說,光流是空間運動物體在觀測成像平面上的像素運動的“瞬時速度”。光流的研究是利用圖像序列中的像素強度數(shù)據(jù)的時域變化和相關(guān)性來確定各自像素位置的“運動”。研究光流場的目的就是為了從圖片序列中近似得到不能直接得到的運動場。 光流法的前提假設(shè): 1)相鄰幀之間的亮度恒定; 2)相鄰視頻幀的取幀時間連續(xù),或者,相鄰幀之間物體的運動比較“微小”; 3)保持空間一致性;即,同一子圖像的像素點具有相同的運動。 光流法用于目標(biāo)跟蹤的原理: (1)對一個連續(xù)的視頻幀序列進行處理; (2)針對每一個視頻序列,利用一定的目標(biāo)檢測方法,檢測可能出現(xiàn)的前景目標(biāo); (3)如果某一幀出現(xiàn)了前景目標(biāo),找到其具有代表性的關(guān)鍵特征點(可以隨機產(chǎn)生,也可以利用角點來做特征點); (4)對之后的任意兩個相鄰視頻幀而言,尋找上一幀中出現(xiàn)的關(guān)鍵特征點在當(dāng)前幀中的最佳位置,從而得到前景目標(biāo)在當(dāng)前幀中的位置坐標(biāo); (5)如此迭代進行,便可實現(xiàn)目標(biāo)的跟蹤; |
|