劉麗娟,劉國棟
(江南大學物聯網工程學院,江蘇無錫 214122)
由于現在不斷增長的安全需求,目標跟蹤的研究日益受到重視。目前的跟蹤技術主要是利用完全基于聲音或視覺傳感器,音頻定位具有精度差而覆蓋面廣的特點,視覺跟蹤具有定位精度高而受攝錄角度限制的特點,以至于在復雜環境下難以取得理想的跟蹤效果。這時由2只或多只傳感器獲得的信息相結合有更大的優勢。
德國Erlnagne Nurem berg大學遠程通信實驗室在實驗中采用卡爾曼濾波來融合音頻和視頻信息,在一個模擬鐵道上得到的跟蹤結果好于單獨使用音頻或視頻信息的跟蹤[1]。但是由于其假設的線性動力學和一個單峰高斯后驗概率密度,卡爾曼融合法受到了嚴重的限制。瑞士DalleMolel感知人工智能研究所Daniel Gatica-perez等人進一步考慮了音頻信息和視頻信息的差異,提出了采用重要性函數粒子濾波器(ISPF)進行音頻信息和視頻信息的融合[2]。這種方法改善了跟蹤效果,但增加了計算成本,降低了系統的速度。由美國微軟研究院的Mahttew J Beal等人提出的融合方法[3],采用隱變量概率圖的方式來分別描述音頻信息和視頻信息,根據貝葉斯(Bayes)準則,采用EM算法來取得最大后驗概率,并同時得到人物的位置估計。雖然,貝葉斯方法的原理非常簡單,功能強大,其在實踐中的主要缺點是計算量大,主要用于執行在一個非常高維空間的隨機變量。
本文在這些研究的基礎上,提出了一種利用音頻和視頻信息在三維空間直接跟蹤目標的新方法,音頻和視覺信息利用TRIBES算法以一種新的方式融合[4],這種方法比現有的方法具有更快、更精確的跟蹤性能。
聲源定位系統目的是提供表示系統原點和被跟蹤對象相對角的方位角φ。假設一個單一的聲源與消聲平面波在低不相關噪聲和低回響情況下傳播。這個波被距離為b的2個麥克風收集。麥克風信號x1(t)和x2(t)可表示為[5]

其中,T為時間,s(t)為被定位的信號源,TTDOA為2只傳感器之間的延遲,n1(t),n2(t)為假設不相關噪聲信號和廣義平穩過程,延遲T可以通過計算廣義互相關函數(GCC)Rx1x2(T)來估計,Rx1x2(T)由下式信號的交叉功率譜密度的傅立葉逆變換給出,即

式中A(ω)為一個過濾函數,假設觀測時間是無限制的,T再次表示頻域的信號X1(ω)和時X2(ω)之間的延遲。將A(ω)進行相位變換(PHAT)如下

該濾波器的功能是使GCC更加適合檢測狹窄頻帶信號和增強抗混響。從信號s(t)得到的估計延遲T^TDOA,通過以下方式得到最大搜索

最后,用以下公式得到需要的角度φ
式中c為聲度,b為2只傳感器之間的距離。
CAMshift[6]是基于均值偏移(mean shift)的算法。這里的均值偏移是指用一個非參數的方法來檢測概率密度分布模式,利用一個遞歸過程收斂于最接近的平穩點。
CAMshift算法通過調節搜索窗口的大小來擴展均值偏移方法。通過擴展,這個方法可以應用到圖像序列,這個圖像序列中包括一個不斷變化跟蹤的顏色分布的形狀。
CAMshift算法適用于立體視覺系統的左幀和右幀,得到2個中心點(xcl,ycl)和(xcr,ycr)。然后,左邊的中心點(xcl,ycl)通過一個二維塊匹配搜索在右邊的框架搜索。這個搜索用到二維歸一化互相關數R(x,y)。在右側R(x,y)最大值的位置表示對應的左側框架中相對于CAMshift的中心點(xcl,ycl)的MPr=(xMPr,yMPr),它在邏輯上表示在左側的對應點,即MPl=(xMPl,yMPl)=(xcl,ycl)。
融合模塊的任務是結合音頻和視頻算法得到的信息,來提供跟蹤對象在當前三維位置相對于系統原點的坐標估計值。在本節,將闡述這種基于TRIBES的融合技術。
TRIBES融合方法中,在一個相對于視聽系統原點的坐標系統,每個粒子M代表一個在三維空間中的位置,即M(x,y,z)。其基本思路是,最小化成本或適應度函數F(x),且F:∈Rn→R,使用動態粒子群。通過在參數空間x∈Ω?R″中搜索最優解。它的改進之處主要是,它不需要用戶給定任何參數,包括粒子數、粒子拓撲等均是根據算法性能自動確定。
隨著,從音頻系統和視覺系統得到的位置信息,在三維空間中移動的粒子可以通過分別計算在音頻系統中的最佳角度和視頻系統中的最佳歐氏距離,來確定在當前位置的一個適合度函數。
1)音頻:為了評估一個固定粒子在當前位置音頻系統獲得的方位角,本文引入一個音頻距離變量Daudio。這個變量表示按弧度的角距離,即音頻方位角和當前位置與音頻系統原點之間的角度之間的距離,如圖1所示。Daudio的距離通過π規范化,表示α與φ之間最大的角度差

其中,Zm和Xm分別為粒子位置在X和Z的坐標。因為音頻角度φ為方位角,所以,Xm/Ym等效方位角α的切線。
2)視覺:為了評價粒子相對于立體視覺系統的當前位置,粒子被投影在左側和右側框架上,這樣就能分別產生左側和右側的投影點ml=(xml,yml)和mr=(xml,ymr)。使用一個校準的立體攝像系統,通過以下方式獲得的投影

其中,Pl和Pr是左幀和右幀的投影矩陣,計算公式為

假設左圖像平面原點Ol被視為該系統的原點,矩陣[I|o]和[R|t]描述了在均勻坐標系統中左幀和右幀之間的單應性。R和t分別表示旋轉矩陣和翻譯向量。KKl和KKr表示相機矩陣。
歸一化值Dleft和Dright代表一個粒子M在當前位置在左右圖像幀的投影,即ml和mr與相應的視覺系統中本地化點即MPl和MPr之間的歐氏距離,計算公式為

其中,width和height分別為左幀和右幀的寬度和高度,如圖1所示。
3)適應度函數:根據算法TRIBES,每顆粒子通過每一次迭代中計算其適應度函數F來測試其在當前位置的質量。這個函數必須最小化,因此,當粒子的位置靠近要跟蹤對象的解空間時,函數會減小。相對于基于視頻的定位模塊,距離Dleft和Dright測量位置質量。同樣,相對于基于音頻的模塊,Daudio直接測量質量。因此,適當的適應度函數F被定義為3個距離值的加權的總和

圖1 粒子群跟蹤系統模型Fig 1 TRIBES tracking system model

其中,waudio,wleft,wright分別為每個組件的加權系數。
TRIBES算法提供了一個跟蹤對象的3D位置估計。當迭代次數達到預定義的最大數量或者適應度函數F達到最小值Fmin時,即趨同標準滿足了,TRIBES算法將停止迭代。此時,全局極值的3D位置gbestTRS(X,Y,Z)已經恰好表示跟蹤對象的當前位置。
在本節中,將基于卡爾曼的融合算法,與基于TRIBES算法在速度和準確性兩方面進行了比較。為了測試和評估的跟蹤器,要通過立體照相機和立體麥克風系統來獲得一個人在某區域的移動和談話的音頻和視頻數據。所用的硬件包括2個FireWire相機和2個AKG全方位麥克風。在第一次執行時,視頻以每秒15幀和分辨率640像素 ×480像素拍攝。音頻材料使用采樣頻率為44 100 Hz來記錄。對于一個單一的音頻計算步驟,文中捕捉和處理每個麥克風的4~8個窗口,一個FFT窗口長度1 024樣本和50%重疊的音頻流。這將導致最大的104.48 ms的時間幀。此外,利用突變體開發框架,實現了TRIBES系統和卡爾曼系統的一個優化版本。它使多線程執行不同的模塊,允許有效地使用處理器的內核。這個版本允許每秒30幀的在線測試。該跟蹤器實現了在C++中使用OpenCV庫和使用FFTW庫計算快速傅立葉變換。
測試卡爾曼算法和TRIBES算法在不同電腦上的平均計算時間,以ms為單位。
由表1可見,在計算時間方面TRIBES算法只比卡爾曼算法略少,因為視覺系統運行2個CAMshift跟蹤器需要多于執行時間的60%。沒有優化的話,視覺系統計算方位角的時間高達30%。這些預處理時間將被添加到卡爾曼和TRIBES融合技術中,卡爾曼和TRIBES算法的模塊跟蹤執行時間都將少于10%。在基于突變的實現中,卡爾曼和TRIBES模塊都需要2 ms的平均計算時間和整個跟蹤系統相機的幀率。

表1 卡爾曼算法和TRIBES算法平均時間比較Tab 1 Average time comparison of Kalman and TRIBES algorithm
競爭算法的突變體進行了在線測試。要獲得在X和Z方向的精確的真實的數據和證據,本文使用SICK LM210激光雷達追加記錄跟蹤對象的位置。激光雷達每100 m提供一個位置估計,其角分辨率是0.5°和在Z方向的精確度是0.015 m。用TRIBES算法和卡爾曼跟蹤器估計當前位置在X和Z的坐標,并與用激光雷達得到的位置比較。如圖2所示X和Z的位置。通過測試,移動物體隨著時間推移在Z坐標的位置,如圖3所示。在每一個激光雷達測量步驟里,激光雷達、卡爾曼和TRIBES跟蹤器記錄位置。本文對不同的移動物體進行多次測試,以產生類似的結果。

圖2 X和Z的位置跟蹤Fig 2 X and Z position tracking

圖3 Z坐標位置跟蹤Fig 3 Position tracking in Z coordinate
表2給出了由TRIBES跟蹤系統和參考卡爾曼系統跟蹤得到的在X和Z方向的平均值和最大誤差還有平均歐氏誤差。
結果表明:雖然在緩慢運動時卡爾曼系統比TRIBES算法提供了更加平滑的軌道,但是,TRIBES算法跟蹤可以更快地適應位置的變化。當目標的速度和方向不斷變化時,TRIBES算法跟蹤器的跟蹤誤差非常小。

表2 TRIBES算法和卡爾曼算法結果比較Tab 2 Results comparison of TRIBES and Kalman algorithm
本文提出了一種新的基于視聽信息融合的3D目標跟蹤系統,以TRIBES為基礎的融合方法的速度性能比現存最簡單的卡爾曼跟蹤更快。因此,它的速度性能更超越耗時的粒子濾波或貝葉斯推理等復雜方法。該算法的另一個優點是,當目標的速度和方向不斷變化時,它的跟蹤誤差非常小。
[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] 王春艷,樊官民,孟 杰.基于廣義互相關函數的聲波陣列時延估計算法[J].電聲技術,2010,34(8):36 -39.
[6] 申鉉京,張 博.基于圖像矩信息的 Camshift視覺跟蹤方法[J].北京工業大學學報,2012,38(1):105-109.