文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.183297
中文引用格式: 王培丞,張衛(wèi)鋼. 一種基于隨機(jī)森林算法的多障礙物超聲測距方法[J].電子技術(shù)應(yīng)用,2019,45(4):7-10,14.
英文引用格式: Wang Peicheng,Zhang Weigang. A multi-obstacle ultrasonic ranging method based on the random forest algorithm[J]. Application of Electronic Technique,2019,45(4):7-10,14.
0 引言
因超聲波在傳播過程中不受光線、煙霧、電磁干擾等因素影響,所以相較于其他測距方式,超聲波測距有著明顯的優(yōu)勢,受到無人駕駛領(lǐng)域的青睞[1]。
超聲波測距一般使用脈沖回波法[2]。傳統(tǒng)的回波信號處理有閾值法、互相關(guān)函數(shù)法。閾值法簡單實(shí)用,實(shí)時(shí)性好,對距離近、回波峰值較強(qiáng)的信號有很好的檢測能力,但是難以應(yīng)用在距離遠(yuǎn)、回波峰值弱的信號中?;ハ嚓P(guān)函數(shù)法一般只能處理5 m之內(nèi)的回波信號[3],同樣不適用于對遠(yuǎn)距離障礙物的測距。此外,互相關(guān)函數(shù)法理論上只存在一個(gè)最優(yōu)點(diǎn),因此該方法也不能在探測區(qū)域內(nèi)同時(shí)對多個(gè)障礙物進(jìn)行測距。因此,本文提出了一種基于隨機(jī)森林算法的超聲回波信號處理方法,通過對回波信號的時(shí)域和頻域分析,提取并融合時(shí)、頻域特征信息,利用隨機(jī)森林算法判斷出探測區(qū)域內(nèi)的障礙物并計(jì)算出障礙物的距離[4]。
1 傳統(tǒng)超聲波測距原理
傳統(tǒng)脈沖回波測距原理是:用脈沖激勵(lì)超聲探頭向外發(fā)射超聲波,同時(shí)接收從被測物體反射回來的超聲波(簡稱回波)[5],通過檢測從發(fā)射超聲波至接收回波所經(jīng)歷的時(shí)間t,簡稱為飛躍時(shí)間,利用下式計(jì)算超聲波探頭與被測物體之間的距離d,即:
其中,v為空氣介質(zhì)中聲波的傳播速度,常溫下,v一般取340 m/s。
設(shè)計(jì)超聲測距系統(tǒng)電路時(shí),需要考慮聲強(qiáng)衰減的問題,因?yàn)槌暡ㄔ诳諝庵袀鞑ミ^程中,聲強(qiáng)會隨著傳播距離的增大而減小[6]。造成衰減的原因是聲束本身存在的擴(kuò)散以及反射、散射現(xiàn)象等。假設(shè)最初的聲強(qiáng)為I0,在經(jīng)過x米距離后,由于吸收衰減,聲強(qiáng)變?yōu)镮,則超聲波的衰減可以用下式表示:
式中,α為空氣衰減系數(shù)。如果沒有采取一些增益補(bǔ)償措施,則距離越遠(yuǎn),就越難以區(qū)分障礙物信號和其他白噪聲信號,以致后續(xù)無法對信號分析處理。
2 基于隨機(jī)森林算法的超聲回波測距方法介紹
2.1 測距系統(tǒng)設(shè)計(jì)
本文設(shè)計(jì)的超聲波測距系統(tǒng)組成如圖1所示??紤]到測量距離遠(yuǎn),聲強(qiáng)衰減會很大,故在發(fā)射電路的設(shè)計(jì)中,提高了發(fā)射電流,以增強(qiáng)信號發(fā)射功率,同時(shí),在接收電路中也設(shè)計(jì)了時(shí)間增益補(bǔ)償電路,用于補(bǔ)償空氣傳播過程中聲強(qiáng)的衰減。通常,DSP信號處理器中含有帶通濾波器,可以提高處理器(ARM)接收的回波信號質(zhì)量。
2.2 隨機(jī)森林算法
隨機(jī)森林算法是由美國科學(xué)家BREIMAN L[8]提出的一種集成分類算法。該算法從訓(xùn)練集中隨機(jī)抽取一定數(shù)量的樣本作為每棵樹的根節(jié)點(diǎn)樣本,在建立決策樹時(shí),隨機(jī)抽取一定數(shù)量的候選屬性作為分裂節(jié)點(diǎn)。隨機(jī)森林計(jì)算法因?yàn)閮蓚€(gè)隨機(jī)性[9]的引入,使得該算法不容易出現(xiàn)決策樹[11]法的過擬合現(xiàn)象。另外,隨機(jī)森林法在運(yùn)算量沒有顯著提高的前提下可提高預(yù)測精度,具有很好的抗噪聲能力。因此,本文采用該法計(jì)算距離。
2.3 信號時(shí)、頻域的特征提取
為了利用隨機(jī)森林法,需要提取超聲回波信號的時(shí)域和頻域特征。
信號具有時(shí)域和頻域的特性。在時(shí)域中,信號f(t)是時(shí)間的函數(shù),描述的是信號的幅度、頻率和相位隨時(shí)間的變化關(guān)系。在頻域中,信號F(jω)是頻率的函數(shù),討論的是信號的幅度和相位隨頻率的變化關(guān)系[12]。信號可以通過傅氏變換在時(shí)域和頻域之間轉(zhuǎn)換。
通過研究發(fā)現(xiàn),當(dāng)超聲波遇到障礙物返回時(shí),其反射波的頻率f會在發(fā)射波頻率f0附近出現(xiàn),導(dǎo)致頻率f0附近的頻譜幅度變大。例如,以頻率為f0=48 kHz發(fā)射脈沖方波,得到經(jīng)帶通濾波后的原始回波信號波形S,如圖2(a)所示??煽闯鲈?8 200 μs~19 100 μs和55 200 μs~56 100 μs時(shí)間段內(nèi)各有一個(gè)障礙物。為了測距,在上述兩個(gè)時(shí)間段內(nèi)分別取最高點(diǎn)作為飛躍時(shí)間,根據(jù)式(1)可計(jì)算出兩個(gè)障礙物的距離分別約為3.2 m和9.5 m。因此,找出障礙物所在的時(shí)間段是解決問題的關(guān)鍵。把原始回波信號S分成n段,每一段所對應(yīng)的時(shí)間段大小為t0,t0的大小與回波信號中障礙物從出現(xiàn)的開始時(shí)刻到結(jié)束時(shí)刻所對應(yīng)的時(shí)間段tobs有關(guān),例如圖2(a)中tobs=900 μs,如果t0取值過大,就會出現(xiàn)一段中包含多個(gè)障礙物,影響判斷障礙物個(gè)數(shù),反之如果取值太小,又會造成一個(gè)障礙物出現(xiàn)的時(shí)間段tobs被分割成連續(xù)好幾段,使計(jì)算變得復(fù)雜。所以一般取較為合適,這樣一個(gè)障礙物至多會被連續(xù)的3段t0所包括起來,在后續(xù)處理過程中如果判斷出相鄰的時(shí)間段內(nèi)有障礙物出現(xiàn),則可以把它們合并為一個(gè)時(shí)間區(qū)間。選定好t0后,回波信號S總的時(shí)長為tall,那么n=tall/t0。而后對每一段信號Si(i=1,2,…,n)做FFT變換,當(dāng)有障礙物出現(xiàn)的時(shí)候,f0附近的頻譜幅度會比較強(qiáng),如圖2(b)所示,該圖顯示的僅為圖2(a)中兩個(gè)障礙物所在時(shí)間區(qū)間附近的分段,可以看出在障礙物所在時(shí)間區(qū)間43段、44段頻譜幅度明顯比42段、45段強(qiáng);同理,另外一個(gè)障礙物所在時(shí)間區(qū)間128段、129段頻譜幅度也要比127段、130段高。
基于以上分析,可以提取信號在時(shí)域和頻域的一些特征。時(shí)域特征主要指信號的相對峰值幅度CT1,即時(shí)域信號包絡(luò)的相對變化量。以其中一段Si為例,其計(jì)算方法為:
其中step為步長,ai為步長內(nèi)所包含點(diǎn)的最大值,i=SN/step,SN為Si段中的總點(diǎn)數(shù)。提取的特征CT1的本質(zhì)相當(dāng)于提取了Si段的包絡(luò)。
對時(shí)域信號Si段做FFT變換,得到頻域幅度譜,截取發(fā)射頻率f0附近的頻段,設(shè)頻段長度為2d,則其左邊頻率為f0-d,右邊頻率為f0+d。以左、右邊頻率構(gòu)成區(qū)間[f0-d,f0+d],在該區(qū)間上提取頻域特征:頻譜相對面積CT2,即區(qū)間內(nèi)的點(diǎn)所圍成的面積。方差CT3,最大值CT4和極差CT5,其計(jì)算公式分別為:
2.4 利用隨機(jī)森林法的測距方法
具體步驟如下:
(1)準(zhǔn)備數(shù)據(jù):在不同距離的位置測量障礙物(可以多個(gè))的數(shù)據(jù),每個(gè)位置采集三次,并做好標(biāo)注。以其中一個(gè)原始信號S為例,把信號分成n段,根據(jù)上一節(jié)特征提取的方法,提取出每一段信號Si(i=1,2,…,n)的時(shí)域和頻域特征:CT1i,CT2i,CT3i,CT4i,CT5i,并做好每一段的標(biāo)注信息Li,即說明該段是否含有障礙物。每一個(gè)信號S有n個(gè)數(shù)據(jù)S1,S2,…,Sn。為了不使某一個(gè)特征值對結(jié)果影響過大,對每一個(gè)特征進(jìn)行歸一化處理,計(jì)算方式如下:
其中Xmax和Xmin分別為某一特征集中最大特征值和最小特征值。利用式(6)得到預(yù)處理后的數(shù)據(jù)集。
(2)訓(xùn)練數(shù)據(jù):把預(yù)處理后的數(shù)據(jù)作為訓(xùn)練集,利用隨機(jī)森林算法訓(xùn)練出分類器TB。
(3)預(yù)測數(shù)據(jù):當(dāng)測得一個(gè)新的信號數(shù)據(jù)時(shí),把數(shù)據(jù)按照步驟(1)處理后,用訓(xùn)練好的隨機(jī)森林分類器TB對數(shù)據(jù)集進(jìn)行分類,判斷出障礙物所在的時(shí)間段。如果兩個(gè)時(shí)間段相鄰,則合并這兩個(gè)時(shí)間段為一個(gè)整體的時(shí)間區(qū)間,如果求出多個(gè)不相鄰的時(shí)間區(qū)間,說明檢測出多個(gè)障礙物。
(4)計(jì)算距離:找出在時(shí)間區(qū)間中的最大值,把該值所對應(yīng)的時(shí)間點(diǎn)作為飛躍時(shí)間tmax,代入式(1),計(jì)算出障礙物距離d。
3 實(shí)驗(yàn)結(jié)果與分析
下面以同時(shí)測量兩個(gè)障礙物為例來驗(yàn)證該算法,測試示意圖如圖3所示。在檢測范圍內(nèi),任意放置兩個(gè)障礙物,用超聲波測距系統(tǒng)進(jìn)行測量。
實(shí)驗(yàn)中發(fā)射的脈沖方波振蕩頻率為48 kHz,采樣頻率為680 MHz,采樣時(shí)間為62 638.55 μs。采集經(jīng)過帶通濾波后的原始數(shù)據(jù)點(diǎn),得到采樣點(diǎn)數(shù)為43 200個(gè),畫出的波形類似圖2(a)。把原始數(shù)據(jù)分成144段,t0約為500 μs,每段有300個(gè)數(shù)據(jù)點(diǎn),頻域區(qū)間選取為[46 kHz,50 kHz],按照本文算法計(jì)算出障礙物的距離。通過對不同距離多個(gè)不同障礙物進(jìn)行測量,得到實(shí)驗(yàn)結(jié)果如表1所示。結(jié)果表明,該算法可以在10 m之內(nèi),同時(shí)有效地完成對多個(gè)障礙物的距離測量。其誤差在±3 cm之內(nèi),達(dá)到了實(shí)際的應(yīng)用要求。在同一位置上進(jìn)行多次測量,來評判隨機(jī)森林算法的準(zhǔn)確度,其實(shí)驗(yàn)結(jié)果如表2所示。結(jié)果表明該算法具有很好的障礙物識別度。
4 結(jié)論
本文提出的算法通過提取超聲回波信號的時(shí)域和頻域信息特征,然后利用隨機(jī)森林算法判別出障礙物的個(gè)數(shù)并求出目標(biāo)距離,可有效地解決因距離遠(yuǎn)、回波信號弱而造成的測距困難問題。該方法可以實(shí)現(xiàn)10 m內(nèi)的多個(gè)障礙物距離測量功能,測量誤差在±3 cm之內(nèi),達(dá)到了實(shí)際的應(yīng)用需求,已經(jīng)用于實(shí)際的自動(dòng)駕駛場景中的礦場卡車項(xiàng)目里,取得了良好的效果,具有較高的實(shí)用價(jià)值和理論參考意義。
需要說明的是,可以在滿足一定測量分辨率要求的前提下,通過壓縮手段,使樣本數(shù)據(jù)的間隔合理放大,達(dá)到減小計(jì)算量,提高測量實(shí)時(shí)性的目的。
參考文獻(xiàn)
[1] 許高斌,閔銳,陳興,等.一種新型超聲波測距系統(tǒng)信號處理方法[J].電子技術(shù)應(yīng)用,2016,42(8):84-86.
[2] 趙浪濤,趙永花,柴清.高精度超聲波測距方法的研究[J].電氣自動(dòng)化,2015,29(3):112-114.
[3] 程曉暢,蘇紹景,王躍科,等.超聲回波信號調(diào)制及其包絡(luò)相關(guān)時(shí)延估計(jì)算法[J].傳感技術(shù)學(xué)報(bào),2006,19(6):2571-2577.
[4] 王宏江,郭會軍,李軍懷.超聲回波信號包絡(luò)相關(guān)時(shí)延估計(jì)優(yōu)化算法[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(20):156-157.
[5] 吳賽燕,楊輝.超聲波測距信號處理算法研究[J].福建電腦,2009,25(3):73-74.
[6] 張珂,俞國華,劉鋼海.超聲波測距回波信號處理方法的研究[J].測控技術(shù),2008,27(1):48-49.
[7] 苑潔,常太華.基于STM32單片機(jī)的高精度超聲波測距系統(tǒng)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011,15(48):76-78.
[8] BREIMAN L.Random forests[J].Maching Learning,2001,45(1):5-32.
[9] 馮曉蒲,張鐵峰.四種聚類方法之比較[J].微型機(jī)與應(yīng)用,2010,29(16):1-3.
[10] 楊靜,張楠男,李建.決策樹算法的研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2010(1):114-116,120.
[11] KULKARNI V K,SINHA P K.Random forest classifiers:A survey and future research directions[J].International Journal of Advanced Computing,2013,36(1) :1144-1153.
[12] 張衛(wèi)鋼,張維峰.信號與系統(tǒng)[M].北京:清華大學(xué)出版社,2017.
作者信息:
王培丞,張衛(wèi)鋼
(長安大學(xué) 信息工程學(xué)院,陜西 西安710054)