劉麗娟,劉國棟
(江南大學(xué)物聯(lián)網(wǎng)工程學(xué)院,江蘇無錫 214122)
由于現(xiàn)在不斷增長的安全需求,目標(biāo)跟蹤的研究日益受到重視。目前的跟蹤技術(shù)主要是利用完全基于聲音或視覺傳感器,音頻定位具有精度差而覆蓋面廣的特點,視覺跟蹤具有定位精度高而受攝錄角度限制的特點,以至于在復(fù)雜環(huán)境下難以取得理想的跟蹤效果。這時由2只或多只傳感器獲得的信息相結(jié)合有更大的優(yōu)勢。
德國Erlnagne Nurem berg大學(xué)遠(yuǎn)程通信實驗室在實驗中采用卡爾曼濾波來融合音頻和視頻信息,在一個模擬鐵道上得到的跟蹤結(jié)果好于單獨使用音頻或視頻信息的跟蹤[1]。但是由于其假設(shè)的線性動力學(xué)和一個單峰高斯后驗概率密度,卡爾曼融合法受到了嚴(yán)重的限制。瑞士DalleMolel感知人工智能研究所Daniel Gatica-perez等人進一步考慮了音頻信息和視頻信息的差異,提出了采用重要性函數(shù)粒子濾波器(ISPF)進行音頻信息和視頻信息的融合[2]。這種方法改善了跟蹤效果,但增加了計算成本,降低了系統(tǒng)的速度。由美國微軟研究院的Mahttew J Beal等人提出的融合方法[3],采用隱變量概率圖的方式來分別描述音頻信息和視頻信息,根據(jù)貝葉斯(Bayes)準(zhǔn)則,采用EM算法來取得最大后驗概率,并同時得到人物的位置估計。雖然,貝葉斯方法的原理非常簡單,功能強大,其在實踐中的主要缺點是計算量大,主要用于執(zhí)行在一個非常高維空間的隨機變量。
本文在這些研究的基礎(chǔ)上,提出了一種利用音頻和視頻信息在三維空間直接跟蹤目標(biāo)的新方法,音頻和視覺信息利用TRIBES算法以一種新的方式融合[4],這種方法比現(xiàn)有的方法具有更快、更精確的跟蹤性能。
聲源定位系統(tǒng)目的是提供表示系統(tǒng)原點和被跟蹤對象相對角的方位角φ。假設(shè)一個單一的聲源與消聲平面波在低不相關(guān)噪聲和低回響情況下傳播。這個波被距離為b的2個麥克風(fēng)收集。麥克風(fēng)信號x1(t)和x2(t)可表示為[5]
其中,T為時間,s(t)為被定位的信號源,TTDOA為2只傳感器之間的延遲,n1(t),n2(t)為假設(shè)不相關(guān)噪聲信號和廣義平穩(wěn)過程,延遲T可以通過計算廣義互相關(guān)函數(shù)(GCC)Rx1x2(T)來估計,Rx1x2(T)由下式信號的交叉功率譜密度的傅立葉逆變換給出,即
式中A(ω)為一個過濾函數(shù),假設(shè)觀測時間是無限制的,T再次表示頻域的信號X1(ω)和時X2(ω)之間的延遲。將A(ω)進行相位變換(PHAT)如下
該濾波器的功能是使GCC更加適合檢測狹窄頻帶信號和增強抗混響。從信號s(t)得到的估計延遲T^TDOA,通過以下方式得到最大搜索
最后,用以下公式得到需要的角度φ
式中c為聲度,b為2只傳感器之間的距離。
CAMshift[6]是基于均值偏移(mean shift)的算法。這里的均值偏移是指用一個非參數(shù)的方法來檢測概率密度分布模式,利用一個遞歸過程收斂于最接近的平穩(wěn)點。
CAMshift算法通過調(diào)節(jié)搜索窗口的大小來擴展均值偏移方法。通過擴展,這個方法可以應(yīng)用到圖像序列,這個圖像序列中包括一個不斷變化跟蹤的顏色分布的形狀。
CAMshift算法適用于立體視覺系統(tǒng)的左幀和右?guī)?,得?個中心點(xcl,ycl)和(xcr,ycr)。然后,左邊的中心點(xcl,ycl)通過一個二維塊匹配搜索在右邊的框架搜索。這個搜索用到二維歸一化互相關(guān)數(shù)R(x,y)。在右側(cè)R(x,y)最大值的位置表示對應(yīng)的左側(cè)框架中相對于CAMshift的中心點(xcl,ycl)的MPr=(xMPr,yMPr),它在邏輯上表示在左側(cè)的對應(yīng)點,即MPl=(xMPl,yMPl)=(xcl,ycl)。
融合模塊的任務(wù)是結(jié)合音頻和視頻算法得到的信息,來提供跟蹤對象在當(dāng)前三維位置相對于系統(tǒng)原點的坐標(biāo)估計值。在本節(jié),將闡述這種基于TRIBES的融合技術(shù)。
TRIBES融合方法中,在一個相對于視聽系統(tǒng)原點的坐標(biāo)系統(tǒng),每個粒子M代表一個在三維空間中的位置,即M(x,y,z)。其基本思路是,最小化成本或適應(yīng)度函數(shù)F(x),且F:∈Rn→R,使用動態(tài)粒子群。通過在參數(shù)空間x∈Ω?R″中搜索最優(yōu)解。它的改進之處主要是,它不需要用戶給定任何參數(shù),包括粒子數(shù)、粒子拓?fù)涞染歉鶕?jù)算法性能自動確定。
隨著,從音頻系統(tǒng)和視覺系統(tǒng)得到的位置信息,在三維空間中移動的粒子可以通過分別計算在音頻系統(tǒng)中的最佳角度和視頻系統(tǒng)中的最佳歐氏距離,來確定在當(dāng)前位置的一個適合度函數(shù)。
1)音頻:為了評估一個固定粒子在當(dāng)前位置音頻系統(tǒng)獲得的方位角,本文引入一個音頻距離變量Daudio。這個變量表示按弧度的角距離,即音頻方位角和當(dāng)前位置與音頻系統(tǒng)原點之間的角度之間的距離,如圖1所示。Daudio的距離通過π規(guī)范化,表示α與φ之間最大的角度差
其中,Zm和Xm分別為粒子位置在X和Z的坐標(biāo)。因為音頻角度φ為方位角,所以,Xm/Ym等效方位角α的切線。
2)視覺:為了評價粒子相對于立體視覺系統(tǒng)的當(dāng)前位置,粒子被投影在左側(cè)和右側(cè)框架上,這樣就能分別產(chǎn)生左側(cè)和右側(cè)的投影點ml=(xml,yml)和mr=(xml,ymr)。使用一個校準(zhǔn)的立體攝像系統(tǒng),通過以下方式獲得的投影
其中,Pl和Pr是左幀和右?guī)耐队熬仃?,計算公式?/p>
假設(shè)左圖像平面原點Ol被視為該系統(tǒng)的原點,矩陣[I|o]和[R|t]描述了在均勻坐標(biāo)系統(tǒng)中左幀和右?guī)g的單應(yīng)性。R和t分別表示旋轉(zhuǎn)矩陣和翻譯向量。KKl和KKr表示相機矩陣。
歸一化值Dleft和Dright代表一個粒子M在當(dāng)前位置在左右圖像幀的投影,即ml和mr與相應(yīng)的視覺系統(tǒng)中本地化點即MPl和MPr之間的歐氏距離,計算公式為
其中,width和height分別為左幀和右?guī)膶挾群透叨龋鐖D1所示。
3)適應(yīng)度函數(shù):根據(jù)算法TRIBES,每顆粒子通過每一次迭代中計算其適應(yīng)度函數(shù)F來測試其在當(dāng)前位置的質(zhì)量。這個函數(shù)必須最小化,因此,當(dāng)粒子的位置靠近要跟蹤對象的解空間時,函數(shù)會減小。相對于基于視頻的定位模塊,距離Dleft和Dright測量位置質(zhì)量。同樣,相對于基于音頻的模塊,Daudio直接測量質(zhì)量。因此,適當(dāng)?shù)倪m應(yīng)度函數(shù)F被定義為3個距離值的加權(quán)的總和
圖1 粒子群跟蹤系統(tǒng)模型Fig 1 TRIBES tracking system model
其中,waudio,wleft,wright分別為每個組件的加權(quán)系數(shù)。
TRIBES算法提供了一個跟蹤對象的3D位置估計。當(dāng)?shù)螖?shù)達到預(yù)定義的最大數(shù)量或者適應(yīng)度函數(shù)F達到最小值Fmin時,即趨同標(biāo)準(zhǔn)滿足了,TRIBES算法將停止迭代。此時,全局極值的3D位置gbestTRS(X,Y,Z)已經(jīng)恰好表示跟蹤對象的當(dāng)前位置。
在本節(jié)中,將基于卡爾曼的融合算法,與基于TRIBES算法在速度和準(zhǔn)確性兩方面進行了比較。為了測試和評估的跟蹤器,要通過立體照相機和立體麥克風(fēng)系統(tǒng)來獲得一個人在某區(qū)域的移動和談話的音頻和視頻數(shù)據(jù)。所用的硬件包括2個FireWire相機和2個AKG全方位麥克風(fēng)。在第一次執(zhí)行時,視頻以每秒15幀和分辨率640像素 ×480像素拍攝。音頻材料使用采樣頻率為44 100 Hz來記錄。對于一個單一的音頻計算步驟,文中捕捉和處理每個麥克風(fēng)的4~8個窗口,一個FFT窗口長度1 024樣本和50%重疊的音頻流。這將導(dǎo)致最大的104.48 ms的時間幀。此外,利用突變體開發(fā)框架,實現(xiàn)了TRIBES系統(tǒng)和卡爾曼系統(tǒng)的一個優(yōu)化版本。它使多線程執(zhí)行不同的模塊,允許有效地使用處理器的內(nèi)核。這個版本允許每秒30幀的在線測試。該跟蹤器實現(xiàn)了在C++中使用OpenCV庫和使用FFTW庫計算快速傅立葉變換。
測試卡爾曼算法和TRIBES算法在不同電腦上的平均計算時間,以ms為單位。
由表1可見,在計算時間方面TRIBES算法只比卡爾曼算法略少,因為視覺系統(tǒng)運行2個CAMshift跟蹤器需要多于執(zhí)行時間的60%。沒有優(yōu)化的話,視覺系統(tǒng)計算方位角的時間高達30%。這些預(yù)處理時間將被添加到卡爾曼和TRIBES融合技術(shù)中,卡爾曼和TRIBES算法的模塊跟蹤執(zhí)行時間都將少于10%。在基于突變的實現(xiàn)中,卡爾曼和TRIBES模塊都需要2 ms的平均計算時間和整個跟蹤系統(tǒng)相機的幀率。
表1 卡爾曼算法和TRIBES算法平均時間比較Tab 1 Average time comparison of Kalman and TRIBES algorithm
競爭算法的突變體進行了在線測試。要獲得在X和Z方向的精確的真實的數(shù)據(jù)和證據(jù),本文使用SICK LM210激光雷達追加記錄跟蹤對象的位置。激光雷達每100 m提供一個位置估計,其角分辨率是0.5°和在Z方向的精確度是0.015 m。用TRIBES算法和卡爾曼跟蹤器估計當(dāng)前位置在X和Z的坐標(biāo),并與用激光雷達得到的位置比較。如圖2所示X和Z的位置。通過測試,移動物體隨著時間推移在Z坐標(biāo)的位置,如圖3所示。在每一個激光雷達測量步驟里,激光雷達、卡爾曼和TRIBES跟蹤器記錄位置。本文對不同的移動物體進行多次測試,以產(chǎn)生類似的結(jié)果。
圖2 X和Z的位置跟蹤Fig 2 X and Z position tracking
圖3 Z坐標(biāo)位置跟蹤Fig 3 Position tracking in Z coordinate
表2給出了由TRIBES跟蹤系統(tǒng)和參考卡爾曼系統(tǒng)跟蹤得到的在X和Z方向的平均值和最大誤差還有平均歐氏誤差。
結(jié)果表明:雖然在緩慢運動時卡爾曼系統(tǒng)比TRIBES算法提供了更加平滑的軌道,但是,TRIBES算法跟蹤可以更快地適應(yīng)位置的變化。當(dāng)目標(biāo)的速度和方向不斷變化時,TRIBES算法跟蹤器的跟蹤誤差非常小。
表2 TRIBES算法和卡爾曼算法結(jié)果比較Tab 2 Results comparison of TRIBES and Kalman algorithm
本文提出了一種新的基于視聽信息融合的3D目標(biāo)跟蹤系統(tǒng),以TRIBES為基礎(chǔ)的融合方法的速度性能比現(xiàn)存最簡單的卡爾曼跟蹤更快。因此,它的速度性能更超越耗時的粒子濾波或貝葉斯推理等復(fù)雜方法。該算法的另一個優(yōu)點是,當(dāng)目標(biāo)的速度和方向不斷變化時,它的跟蹤誤差非常小。
[1] Strobel N,Spors S,Rabenstein R.Joint audiovideo object localization and tracking[J].IEEE Signal Processing Magazine,2001,18(1):22 -31.
[2] Krahnstoever N,Yeasin M,Sharma R.Automatic acquisition and initialization of articulated models[J].Machine Vision and Applications,2003,14(4):218 -228.
[3] Jaina K,Chen Y.Pores and ridges:High-resolution fingerprint match using level 3 features[J].IEEE Pattern Analysis Machine Intelligence,2007,29(1):15 -27.
[4] Cooren Y,Clerc M,Siarry P.MO-TRIBES,an adaptive multiobjective particle swarm optimization algorithm[J].Comput Optim Appl,2011,49(2):379 -400.
[5] 王春艷,樊官民,孟 杰.基于廣義互相關(guān)函數(shù)的聲波陣列時延估計算法[J].電聲技術(shù),2010,34(8):36 -39.
[6] 申鉉京,張 博.基于圖像矩信息的 Camshift視覺跟蹤方法[J].北京工業(yè)大學(xué)學(xué)報,2012,38(1):105-109.