瞿俊峰+++沈星辰+++倪進園
摘 要:隨著計算機視覺的發(fā)展,運動目標(biāo)的檢測與跟蹤技術(shù)得到了充分的應(yīng)用,然而容易被遮擋的致命缺陷大大限制了這一技術(shù)的發(fā)展空間。采用多個相機進行多視角觀察是解決這一問題的有效方法。文章在已有的目標(biāo)檢測和跟蹤技術(shù)的基礎(chǔ)上加入了多個視角之間的航跡融合,將多個視角的坐標(biāo)投影到統(tǒng)一的坐標(biāo)系中,從而改善單一視角下目標(biāo)檢測與跟蹤技術(shù)的不足。
關(guān)鍵詞:目標(biāo)檢測;目標(biāo)跟蹤;多視角;航跡融合;歸一化矩陣
1 概述
隨著計算機視覺的發(fā)展,單視角目標(biāo)檢測跟蹤技術(shù)的應(yīng)用越來越廣泛。商場、車站、大樓等許多公共場合都采用了這一項技術(shù)。
目前常見的目標(biāo)檢測方法有幀差法、光流法、混合高斯模型和非參數(shù)模型法等。幀差法[1]對環(huán)境有很好的適應(yīng)性,差分圖像受光線變化影響小,檢測有效而穩(wěn)定,但是只能檢測相對運動的目標(biāo),檢測出的目標(biāo)位置不精確,不能提取完整的運動目標(biāo),較大程度依賴差分幀的選擇時機和目標(biāo)的運動速度,背景不能保證完全靜止,就會導(dǎo)致目標(biāo)提取的錯誤。光流法[2]能夠在不知道場景的任何信息的情況下, 檢測出運動對象。但是大多數(shù)光流方法計算復(fù)雜,只能得到稀疏的光流場,不適于實時處理?;旌细咚鼓P蚚3]比單高斯模型更精確,能夠較完整的提取目標(biāo)。但是參數(shù)更新的收斂速度慢,不能夠及時反映背景的變化;對全局亮度的變化比較敏感,有時會將整個視頻幀作為前景。需要事先假定背景分布模型及需要進行模型參數(shù)估計和優(yōu)化,也不適用于密度分布未知的計算機視覺等應(yīng)用系統(tǒng)。非參數(shù)模型[4]能夠較敏感地檢測出運動物體,較完整地分割出運動對象。但是要建立非參數(shù)模型需要先存入N幀圖像用來判斷像素點和進行背景更新,制約檢測速度,較難滿足實時性。
常見的目標(biāo)跟蹤方法有特征匹配法、卡爾曼濾波法和光流法等。特征匹配法[5]對目標(biāo)的視角、光線及運動狀態(tài)的變化等不利因素有較好的適應(yīng)性,對于剛性目標(biāo)的跟蹤具有很好的實時性和跟蹤精度。但是跟蹤準(zhǔn)確性對于計算量有較大需求??柭鼮V波法[6]計算簡單,跟蹤準(zhǔn)確,但是不能很好解決相互遮擋的問題,在運動目標(biāo)之前相互交叉之后又繼續(xù)運動的情況下,會出現(xiàn)將兩個目標(biāo)視為一個目標(biāo),交叉之后分開時,又視為兩個新的目標(biāo)。光流法[7]的優(yōu)點在于不需要目標(biāo)的先驗知識,計算比較精確。但是,它對照度變化和噪聲比較敏感、計算量也比較大。而且由于實際景物中的速度場不一定總是與圖像中的直觀速度場有唯一對應(yīng)的關(guān)系,偏導(dǎo)數(shù)的計算又會加重噪聲水平,使得基于光流的方法在實際應(yīng)用中常常不穩(wěn)定。
多視角目標(biāo)檢測跟蹤技術(shù),通過多個航跡之間的關(guān)聯(lián)融合,解決單一視角存在的一些問題。本文根據(jù)國內(nèi)外的研究現(xiàn)狀,分析其優(yōu)缺點,以單視角運動目標(biāo)檢測、單視角目標(biāo)跟蹤和多視角運動目標(biāo)融合為研究內(nèi)容,建立一種新的基于多視角探測的運動目標(biāo)檢測跟蹤系統(tǒng)。通過對該項目的研究,可以有效的提高多視角目標(biāo)檢測跟蹤系統(tǒng)的檢測率和跟蹤精度,使其具有更廣泛的應(yīng)用。
2 目標(biāo)檢測
早期的運動目標(biāo)檢測大多采用幀差法。這種方法檢測速度快,計算量小,但是會造成檢測結(jié)果不完整,不能完整提取運動目標(biāo)的信息,給后續(xù)的處理帶來了很大的麻煩。因此,我們選擇了混合高斯模型進行運動目標(biāo)檢測。
背景像素值在一段時間內(nèi)分布為多峰,利用單個高斯模型的集合來描述像素值在一段時間的變化狀態(tài),就是混合高斯。對每一個像素點,定義K個高斯分布來表示其狀態(tài),K值體現(xiàn)了像素值多峰分布的峰的個數(shù),K值一般取在3-5之間,檢測過程中只要像素點符合K個高斯分布的一個,就認(rèn)為該像素點為具有背景特征的像素點,反之,該像素點被判為目標(biāo)。
將一副圖像分成RGB三個通道,各個通道將各色的灰度值作為每個像素點的值,構(gòu)成相應(yīng)的三個灰度矩陣。
然后從第n+1幀開始,逐幀進行背景匹配和背景、高斯分布更新。更新過程如下:對于每一幀,取一個像素點當(dāng)前的灰度值與已有的5個高斯分布函數(shù)進行比較:如果存在匹配,則返回該高斯分布的序號k(1,2,3,4,5);如果不匹配,則繼續(xù)評判后續(xù)函數(shù)是否匹配,如果均不匹配,則對已有高斯函數(shù)進行替換,將原有的高斯函數(shù)中權(quán)重最小的高斯函數(shù)替換為新的高斯函數(shù),將新的高斯函數(shù)的權(quán)重w設(shè)為被替換高斯函數(shù)的現(xiàn)有權(quán)值,初始化新的高斯分布均值mean=該像素點灰度值,并且設(shè)定方差為3。對于存在匹配的高斯分布k,我們對其均值、方差、權(quán)重進行修正,總體而言,對于存在匹配的高斯分布k加大其權(quán)重,對于不匹配的高斯分布k減小其權(quán)重。更新后的權(quán)重w=(1-a)×w+a,其中a為學(xué)習(xí)因子,在這里設(shè)定學(xué)習(xí)因子a=0.5。更新后的均值mean=(1+a)×mean+a×image_source,其中image_source為當(dāng)前像素的灰度值。更新后方差為std2=(1-a)×std2+a×(image_source-mean)2。
最后,在一幀圖像處理完后,對各高斯分布進行歸一化,找出權(quán)重最大的高斯分布并以此函數(shù)對應(yīng)位置的值作為當(dāng)前幀各像素點的背景值,從而提取出當(dāng)前幀的背景。
3 目標(biāo)跟蹤
為了實現(xiàn)快速計算以實現(xiàn)實時處理,同時考慮到通過多視角航跡融合可以在一定程度上消除目標(biāo)相互遮擋帶來的缺陷,這里采用卡爾曼濾波實現(xiàn)目標(biāo)跟蹤。
卡爾曼濾波器的基本思想是:如果滿足以下三個假設(shè):
(1)被建模的系統(tǒng)是線性的,即k時刻的系統(tǒng)狀態(tài)可以用某個矩陣與k-1個時刻的系統(tǒng)狀態(tài)的乘積表示;(2)影響測量的噪聲屬于白噪聲;(3)噪聲本質(zhì)上是高斯分布的。
且給出了該系統(tǒng)的歷史測量值,那么可以建出一個將這些早期觀測值的后驗概率最大化的系統(tǒng)狀態(tài)模型。假設(shè)的后兩條說明噪聲與時間無關(guān),同時通過均值和協(xié)方差就可以準(zhǔn)確地建立起幅值模型。將前期測量值的后驗概率最大化是指每次獲得測量值之后的模型都是在考慮早期的模型和新測量值之間的不確定性基礎(chǔ)上建立的,并且具有最高的正確概率。
其中,R為測量噪聲協(xié)方差。
所以,后驗誤差協(xié)方差為
卡爾曼濾波器用反饋控制的方法估計過程狀態(tài):濾波器估計k時刻的狀態(tài),然后用含有噪聲的測量變量獲得反饋。工作過程可分為兩步,第一步為預(yù)測,用已獲得的信息修正模型,然后用修正以后的模型計算目標(biāo)下一時刻最有可能出現(xiàn)的位置;第二步為校正,在獲得了k+1時刻的測量值后,將測量值與k時刻模型的預(yù)測值進行調(diào)整。
4 航跡融合
協(xié)方差矩陣算法計算簡便,精確度高,因此非常適合應(yīng)用在這種場合,下面對這種方法進行詳細(xì)的論述。
首先對于三臺相機,各取5個對應(yīng)點,進行坐標(biāo)變換。設(shè)三個視場內(nèi)坐標(biāo)分別為(x1,y1),(x2,y2)和(x3,y3)。建立一個矩陣H。然后將坐標(biāo)歸一化,即
各組數(shù)據(jù)歸一化之后計算協(xié)方差conv(x1,y1)、conv(x1,x1)、conv(y1,y1);conv(x2,y2)、conv(x2,x2)、conv(y2,y2);conv(x3,y3)、conv(x3,x3)、conv(y3,y3),建立協(xié)方差矩陣
于是,建立坐標(biāo)轉(zhuǎn)換矩陣P
接下來,就可以根據(jù)三個視場內(nèi)的坐標(biāo)將目標(biāo)投影到融合坐標(biāo)系中
5 結(jié)束語
該項目基本實現(xiàn)了當(dāng)初的預(yù)期目標(biāo)。首先對于目標(biāo)檢測和目標(biāo)跟蹤,該項目都成功的實現(xiàn)并且對于非高速目標(biāo)都可以實現(xiàn)檢測和跟蹤。而且,引入了航跡關(guān)聯(lián)之后,對于目標(biāo)檢測和跟蹤的效果都有明顯提升,而單一視角下目標(biāo)易被遮擋的問題也得到了一定程度上的解決。
程序運行后,如圖1所示,對于運動目標(biāo),在每個視角內(nèi)都用黑色框框出,同時根據(jù)當(dāng)前狀態(tài)預(yù)測下一時刻運動狀態(tài)。
在圖2中,目標(biāo)發(fā)生遮擋,在每個單一視角中,可以發(fā)現(xiàn)兩個目標(biāo)被判定為一個,但是在融合坐標(biāo)系中,還是可以觀察到單獨的目標(biāo)(車)在移動。
參考文獻
[1]高凱亮,覃團發(fā),王逸之,等.一種基于幀差法與背景減法的運動目標(biāo)檢測新方法[J].電訊技術(shù),2011(10):86-91.DOI:10.3969/j.issn.1001-893x.2011.10.018.
[2]王曉衛(wèi),寧固.一種改進的基于光流的運動目標(biāo)的檢測算法[J].武漢大學(xué)學(xué)報:信息科學(xué)版,2003(3):351-353.
[3]華媛蕾,劉萬軍.改進混合高斯模型的運動目標(biāo)檢測算法[J].計算機應(yīng)用,2014,34(2):580-584.
[4]毛燕芬,施鵬飛.一種用于運動目標(biāo)檢測的多模態(tài)非參數(shù)背景模型[J].上海交通大學(xué)學(xué)報,2005.
[5]奚慧婷.剛性運動目標(biāo)的跟蹤算法研究[D].華東師范大學(xué),2008.DOI:10.7666/d.y1371587.
[6]黃超群.基于混合高斯模型和Kalman濾波器的運動目標(biāo)檢測與跟蹤[D].云南大學(xué),2010.
[7]裴巧娜.基于光流法的運動目標(biāo)檢測與跟蹤技術(shù)[D].北方工業(yè)大學(xué),2009.