新聞中心

EEPW首頁(yè) > 消費(fèi)電子 > 設(shè)計(jì)應(yīng)用 > 基于雙麥克風(fēng)聲源定位的視頻跟蹤

基于雙麥克風(fēng)聲源定位的視頻跟蹤

作者: 時(shí)間:2016-10-15 來(lái)源:網(wǎng)絡(luò) 收藏

摘要跟蹤技術(shù)在當(dāng)今社會(huì)有著越來(lái)越廣泛的應(yīng)用。在此使用兩個(gè)高靈敏度麥克風(fēng)作為傳感器,配以音頻信號(hào)處理芯片,接收音頻信號(hào)并進(jìn)行模數(shù)轉(zhuǎn)換,使用器件作為核心控制器,結(jié)合TDOA算法和ILD算法,實(shí)現(xiàn)在室內(nèi)環(huán)境下、二維平面內(nèi)的。并根據(jù)的信息驅(qū)動(dòng)攝像頭轉(zhuǎn)動(dòng),使其一直對(duì)準(zhǔn)于聲源所在位置,并保持持續(xù)跟蹤。使用內(nèi)核,方便使用高級(jí)語(yǔ)言進(jìn)行程序設(shè)計(jì)。攝像頭的視頻輸出信號(hào)可接于PC機(jī)或其他視頻設(shè)備。與其他定位算法相比,系統(tǒng)減少了使用傳感器的數(shù)量。

本文引用地址:http://m.butianyuan.cn/article/201610/307131.htm

在日常生活中,聲源跟蹤定位技術(shù)有著廣泛的應(yīng)用。例如在視頻會(huì)議中,聲源定位被用于檢測(cè)講話人的位置,并自動(dòng)調(diào)整攝像頭轉(zhuǎn)動(dòng)角度,使其對(duì)準(zhǔn)講話者;舞臺(tái)演出中,聲源定位跟蹤可是攝像頭自動(dòng)保持指向主持人或主角;安防保衛(wèi)系統(tǒng)中,聲源定位技術(shù)可使監(jiān)控?cái)z像頭在監(jiān)控區(qū)域發(fā)生聲響的瞬間對(duì)準(zhǔn)于聲源位置,并保持對(duì)移動(dòng)聲源的跟蹤。

現(xiàn)在常見(jiàn)的麥克風(fēng)聲源定位算法多見(jiàn)于TDOA算法,其基本原理是根據(jù)信號(hào)到達(dá)兩個(gè)不同位置的麥克風(fēng)的時(shí)間差,估計(jì)出信號(hào)到達(dá)兩個(gè)不同位置麥克風(fēng)的距離差,可以列出一個(gè)雙曲線方程,同時(shí)使用另外兩個(gè)不同的麥克風(fēng)同時(shí)檢測(cè)信號(hào)可以得到另外一個(gè)雙曲線方程,兩個(gè)雙曲線方程的交點(diǎn)就是聲源的位置坐標(biāo)。使用這種方法進(jìn)行聲源定位時(shí),至少要使用三個(gè)麥克風(fēng),使用兩次TDOA算法進(jìn)行運(yùn)算,才能完成一次定位操作。為了實(shí)現(xiàn)更精確的聲源定位,也常采用陣列技術(shù),將多個(gè)麥克風(fēng)組成線陣,或方陣采集信號(hào)進(jìn)行聲源定位。但這種定位技術(shù)的算法更為復(fù)雜。本文采用兩個(gè)高靈敏度麥克風(fēng)作為傳感器,選用作為控制器,當(dāng)對(duì)聲源實(shí)現(xiàn)定位后,控制步進(jìn)電機(jī)轉(zhuǎn)動(dòng),使攝像頭對(duì)準(zhǔn)聲源。當(dāng)聲源位置發(fā)生移動(dòng)時(shí),可使攝像頭自動(dòng)保持跟蹤。

1 設(shè)計(jì)原理

系統(tǒng)使用TDOA算法和ILD算法相結(jié)合的方法,實(shí)現(xiàn)聲源的定位。在二維平面,即聲源和麥克風(fēng)處于同一平面時(shí),麥克風(fēng)接收到的信號(hào)模型在考慮信號(hào)傳播的逆平方定律時(shí)可表示為:

x(t)=s(t-τ)/d+n(t) (1)

式中:s(t)為源信號(hào);n(t)為加性白噪聲;d和τ分別為信號(hào)到達(dá)麥克風(fēng)的距離和時(shí)延。

使用ILD方法在計(jì)算能量時(shí)可以忽略時(shí)延信息。在[0,l]時(shí)間范圍內(nèi),麥克風(fēng)接收到的信號(hào)能量,就是該時(shí)間段內(nèi)信號(hào)采樣的平方和,即:

基于雙麥克風(fēng)聲源定位的視頻跟蹤

對(duì)于兩個(gè)麥克風(fēng)組成的陣列,可得到麥克風(fēng)接收到信號(hào)的能量與麥克風(fēng)距聲源距離的關(guān)系為:

基于雙麥克風(fēng)聲源定位的視頻跟蹤

求解式(6)和式(7)組成的方程組就可得到聲源位置坐標(biāo)。通過(guò)進(jìn)一步的變換可以得到該方程的閉合解。

2 系統(tǒng)硬件設(shè)計(jì)

本文采用Altera公司的CycloneⅢ系列FPGA芯片EP3C16F484作為核心處理器。使用UDA1341芯片作為前端音頻信號(hào)采集電路的處理芯片,使用兩個(gè)高靈敏度的麥克風(fēng)作為音頻信號(hào)的傳感器。兩個(gè)麥克風(fēng)朝向同一方向,間距0.5 m并行放置。麥克風(fēng)在使用前需要標(biāo)定,保證麥克風(fēng)在同一位置接受同一信號(hào)時(shí),其接收到的信號(hào)的幅值一致。使用兩個(gè)兩相步進(jìn)電機(jī)對(duì)攝像頭的轉(zhuǎn)動(dòng)角度進(jìn)行控制。為了記錄數(shù)據(jù),在系統(tǒng)中添加了一個(gè)4 Mb的FLASH存儲(chǔ)器,使用一片帶字庫(kù)的16x2的液晶用于顯示定位信息。為保證攝像頭的視線不受環(huán)境障礙物的干擾,攝像頭在放置時(shí)應(yīng)該有一定的高度,一般高于麥克風(fēng)的放置高度,因此需要兩個(gè)步進(jìn)電機(jī)調(diào)整攝像頭的角度,一個(gè)調(diào)整水平轉(zhuǎn)動(dòng)角度,另一個(gè)調(diào)整俯仰角。系統(tǒng)框圖如圖1所示。

基于雙麥克風(fēng)聲源定位的視頻跟蹤

EP3C16F484是CycloneⅢ型FPGA,是一種低成本的應(yīng)用于終端市場(chǎng)的FPGA器件,其共有15 408個(gè)邏輯單元,56個(gè)嵌入式乘法器,4個(gè)鎖相環(huán),346個(gè)用戶(hù)定義的I/O腳。可滿(mǎn)足一般系統(tǒng)核心控制器的應(yīng)用。UDA1341是一種經(jīng)濟(jì)型的音頻信號(hào)采集編碼芯片,有兩個(gè)ADC模塊,過(guò)采樣比可達(dá)128,可以編程設(shè)置其各種工作參數(shù),如增益等。系統(tǒng)在啟動(dòng)時(shí)首先進(jìn)行初始化操作,通過(guò)UDA11341芯片的L3總線接口設(shè)置芯片的工作方式和工作參數(shù)。兩個(gè)麥克風(fēng)所接收到的音頻信號(hào)經(jīng)音頻信號(hào)采集電路處理后,轉(zhuǎn)換成離散的信號(hào),送至FPGA中進(jìn)行處理??刂破鞲鶕?jù)接收到的信號(hào)的序列判斷出兩個(gè)麥克風(fēng)接收到信號(hào)的時(shí)差和信號(hào)功率的衰減,進(jìn)而計(jì)算出聲源的位置坐標(biāo)??刂撇竭M(jìn)電機(jī)轉(zhuǎn)動(dòng),使攝像頭對(duì)準(zhǔn)聲源。系統(tǒng)同時(shí)將測(cè)得的聲源的位置坐標(biāo)在LCD顯示出來(lái)。用戶(hù)在使用時(shí)可根據(jù)具體的使用環(huán)境建立定位的坐標(biāo)系。確定坐標(biāo)系后在系統(tǒng)啟動(dòng)初始化時(shí)將兩個(gè)麥克風(fēng)的位置和攝像頭的位置的坐標(biāo)通過(guò)矩陣鍵盤(pán)輸入到系統(tǒng)中。

3 系統(tǒng)軟件設(shè)計(jì)

FPGA編程中常用的語(yǔ)言是VHDL和Verilog HDL語(yǔ)言。這兩種語(yǔ)言都是硬件編程語(yǔ)言,功能強(qiáng)大,可用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),功能等,邏輯性非常強(qiáng),但是若用于一些信號(hào)處理方面算法的編程,則難度和工作量都比較大。Altera公司推出了可移植于FPGA芯片上的內(nèi)核。利用該內(nèi)核可以方便的裁剪系統(tǒng)資源,同時(shí)使用C/C++語(yǔ)言進(jìn)行程序的開(kāi)發(fā),大大降低了利用FPGA開(kāi)發(fā)的難度。為了保證系統(tǒng)響應(yīng)的實(shí)時(shí)性,本文使用NIOSII/f型內(nèi)核。雖然占用了大量的FPGA資源,但獲得了最高的系統(tǒng)性能。同時(shí)添加的其他系統(tǒng)資源包括:片上SRAM 63 KB,一個(gè)定時(shí)器,一個(gè)串口,一個(gè)JTAG接口,一個(gè)FLASH控制器CFI,一個(gè)用于矩陣鍵盤(pán)的5位的通用I/O口,用于液晶顯示的16位通用I/O口,兩個(gè)9位的通用I/O口用于前端數(shù)據(jù)采集電路的輸入,兩個(gè)1位的I/O口用于控制兩個(gè)步進(jìn)電機(jī)。在QuartersⅡ9.0開(kāi)發(fā)環(huán)境中完成對(duì)內(nèi)核的配置和編譯后,在NiosⅡIDE中使用C++語(yǔ)言進(jìn)行程序的編寫(xiě)。圖2為軟件流程圖。

基于雙麥克風(fēng)聲源定位的視頻跟蹤

系統(tǒng)啟動(dòng)后,首先進(jìn)行初始化操作,設(shè)置UDA1341的工作方式,設(shè)置麥克風(fēng)和攝像頭的位置坐標(biāo)。聲源所發(fā)出的音頻信號(hào)經(jīng)前端信號(hào)采集電路處理后變?yōu)殡x散時(shí)間信號(hào)。系統(tǒng)每次從前端信號(hào)處理電路的兩路輸出中讀取相同時(shí)間段的相同長(zhǎng)度的序列后,將其存儲(chǔ)在內(nèi)存中,直到下次讀入數(shù)據(jù)進(jìn)行更新。系統(tǒng)對(duì)讀入的音頻數(shù)據(jù)進(jìn)行歸一化運(yùn)算,消除兩個(gè)麥克風(fēng)接收到信號(hào)的能量的差異。然后對(duì)兩列信號(hào)進(jìn)行廣義的互相關(guān)運(yùn)算,判斷是否有有效的聲源信號(hào)的輸入。若有有效地聲源信號(hào)輸入,則根據(jù)前端信號(hào)采集電路的采樣速率,計(jì)算出兩個(gè)麥克風(fēng)接收到信號(hào)的時(shí)間差。并利用存儲(chǔ)的原始信號(hào)計(jì)算出兩個(gè)麥克風(fēng)接收到信號(hào)的功率衰減,根據(jù)式(6),式(7),計(jì)算出聲源的位置坐標(biāo),并存儲(chǔ)。

若無(wú)有效的信號(hào)輸入,則系統(tǒng)繼續(xù)從前端處理電路中讀取數(shù)據(jù),繼續(xù)判斷。系統(tǒng)在安裝時(shí),為避免攝像頭的視線被障礙物所遮擋,攝像頭的安裝位置應(yīng)高于兩個(gè)麥克風(fēng)的安裝高度。因此在計(jì)算攝像頭的轉(zhuǎn)動(dòng)角度時(shí)即需要考慮攝像頭的水平轉(zhuǎn)動(dòng)角度,也需要考慮攝像頭在垂直方向上的轉(zhuǎn)動(dòng)角度。系統(tǒng)計(jì)算出聲源位置坐標(biāo)后,根據(jù)當(dāng)前攝像頭的指向,分別計(jì)算出攝像頭在水平方向和垂直方向上需轉(zhuǎn)動(dòng)的角度,控制步進(jìn)電機(jī)進(jìn)行轉(zhuǎn)動(dòng),使攝像頭指向聲源的位置。完成一次定位操作后,統(tǒng)繼續(xù)從前端電路中讀取數(shù)據(jù),進(jìn)行下次定位操作。

4 實(shí)驗(yàn)測(cè)試

由于在設(shè)計(jì)時(shí)只使用了兩個(gè)麥克風(fēng),僅能在二維平面內(nèi)實(shí)現(xiàn)對(duì)麥克風(fēng)正面180°范圍的定位和跟蹤,攝像頭的安放高度應(yīng)高于聲源的高度,否則有可能出現(xiàn)攝像頭看不到聲源位置的情況。在10.8 m×7.5 m×3.5 m的室內(nèi)環(huán)境進(jìn)行試驗(yàn),將麥克風(fēng)和攝像頭置于邊界,麥克風(fēng)安放高度為1.5 m,和聲源處于同一高度,攝像頭安放高度2.0 m,為了保證能夠得到方程的解,麥克風(fēng)的坐標(biāo)不能設(shè)置在坐標(biāo)軸上;設(shè)麥克風(fēng)1的坐標(biāo)為(1.0,1.0),麥克風(fēng)2的坐標(biāo)為(1.5,1.0)。使用由信號(hào)發(fā)生器產(chǎn)生的脈沖信號(hào)作為聲源,每組信號(hào)僅有一個(gè)脈沖,頻率2 kHz,幅度3 V,每組脈沖發(fā)射間隔2 s,通過(guò)一音箱播放,室內(nèi)環(huán)境保持安靜。將聲源以較慢的步速在室內(nèi)移動(dòng),系統(tǒng)可實(shí)現(xiàn)對(duì)聲源的正常跟蹤,使攝像頭一直將聲源保持在鏡頭的視野范圍內(nèi)。圖3是計(jì)算機(jī)所監(jiān)測(cè)到的音頻信號(hào)的波形圖。上面的波形是位于右側(cè)的麥克風(fēng)所接收到的信號(hào),下面的波形是位于左側(cè)的麥克風(fēng)所接收到的信號(hào),其中右側(cè)的麥克風(fēng)距離聲源的位置更近一些。從波形圖中可以看出左側(cè)的麥克風(fēng)接收到的信號(hào)相對(duì)于右側(cè)的麥克風(fēng)有一定的時(shí)延,并且接收到信號(hào)的幅值也更小一些。系統(tǒng)在設(shè)計(jì)時(shí)僅使用兩個(gè)麥克風(fēng)作為傳感器,當(dāng)聲源移動(dòng)至兩個(gè)麥克風(fēng)連線的中垂線位置時(shí),由于兩個(gè)麥克風(fēng)接收到的信號(hào)的能量衰減相同,無(wú)法將方程解出,此時(shí)將麥克風(fēng)稍微偏轉(zhuǎn)一下角度,使聲源偏離中垂線位置,即可繼續(xù)定位跟蹤。

基于雙麥克風(fēng)聲源定位的視頻跟蹤

5 結(jié)語(yǔ)

在舞臺(tái)和視頻會(huì)議中,聲源定位跟蹤技術(shù)相對(duì)于其他技術(shù)具有很多優(yōu)點(diǎn)。聲源定位跟蹤可實(shí)現(xiàn)全自動(dòng)的工作模式,工作過(guò)程中不需要人為控制操縱。與相同功能的紅外跟蹤定位系統(tǒng)相比,跟蹤目標(biāo)身上不需要攜帶紅外發(fā)射裝置,不必考慮紅外發(fā)射的角度,頻率等問(wèn)題。與采用圖像識(shí)別實(shí)現(xiàn)跟蹤的方法相比,其系統(tǒng)結(jié)構(gòu)、算法等各方面更為簡(jiǎn)單。同時(shí)若將攝像頭換成聚光燈,也可實(shí)現(xiàn)燈管的自動(dòng)跟蹤控制?,F(xiàn)有的設(shè)計(jì)中,如果要確定一個(gè)二維平面的點(diǎn),至少需要三個(gè)麥克風(fēng)作為傳感器接收信號(hào)。本設(shè)計(jì)采用兩個(gè)麥克風(fēng)作為系統(tǒng)傳感器,使用TDOA算法和ILD算法相結(jié)合的方法實(shí)現(xiàn)定位操作。比現(xiàn)有的設(shè)計(jì)減少一個(gè)麥克風(fēng),使系統(tǒng)體積更小,同時(shí)也降低了麥克風(fēng)安放的要求,使麥克風(fēng)可以根據(jù)具體環(huán)境更加靈活的放置。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉