《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 一種基于隨機森林算法的多障礙物超聲測距方法
一種基于隨機森林算法的多障礙物超聲測距方法
2019年電子技術(shù)應(yīng)用第4期
王培丞,張衛(wèi)鋼
長安大學(xué) 信息工程學(xué)院,陜西 西安710054
摘要: 在超聲波測距技術(shù)中,傳統(tǒng)的信號處理算法難以對距離遠(yuǎn)、回波弱的信號進(jìn)行分析,也不能同時對多個障礙物進(jìn)行測距。為解決這一問題,提出一種基于隨機森林算法的超聲測距方法,先提取信號的時域特征(相對峰值幅度)和頻域特征(頻譜相對面積),然后利用隨機森林算法判斷出探測區(qū)域內(nèi)的障礙物并計算出目標(biāo)距離。經(jīng)過測試,該算法可有效完成10 m之內(nèi)的多個障礙物距離測量,測量誤差在3 cm之內(nèi),可以滿足諸如自動駕駛等應(yīng)用場景的要求,具有較高的實用價值和理論參考意義。
中圖分類號: TN911.7
文獻(xiàn)標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.183297
中文引用格式: 王培丞,張衛(wèi)鋼. 一種基于隨機森林算法的多障礙物超聲測距方法[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.
A multi-obstacle ultrasonic ranging method based on the random forest algorithm
Wang Peicheng,Zhang Weigang
School of Information Engineering,Chang'an University,Xi′an 710054,China
Abstract: In ultrasonic measuring distance technology, traditional signal processing algorithms are difficult to analyze signals with long distances and weak echoes, and it is also impossible to measure the distance of multiple obstacles at the same time. In order to solve this problem, an ultrasonic measurement distance method based on random forest is proposed in this paper. Firstly the time domain characteristics of the signal—the relative peak amplitude and frequency domain characteristics—the relative area of the spectrum are extracted to judge the number of obstacles in the detection area by random forest method, and then calculates distance of obstacles. After the experiment, the algorithm can effectively measure the distance of multiple obstacles within 10 meters, and the measurement error is within 3 cm, which satisfies the practical application and has high practical value and theoretical reference significance.
Key words : measurement control system;ultrasonic measurement distance;multiple targets;long distance;signal processing

0 引言

    因超聲波在傳播過程中不受光線、煙霧、電磁干擾等因素影響,所以相較于其他測距方式,超聲波測距有著明顯的優(yōu)勢,受到無人駕駛領(lǐng)域的青睞[1]

    超聲波測距一般使用脈沖回波法[2]。傳統(tǒng)的回波信號處理有閾值法、互相關(guān)函數(shù)法。閾值法簡單實用,實時性好,對距離近、回波峰值較強的信號有很好的檢測能力,但是難以應(yīng)用在距離遠(yuǎn)、回波峰值弱的信號中?;ハ嚓P(guān)函數(shù)法一般只能處理5 m之內(nèi)的回波信號[3],同樣不適用于對遠(yuǎn)距離障礙物的測距。此外,互相關(guān)函數(shù)法理論上只存在一個最優(yōu)點,因此該方法也不能在探測區(qū)域內(nèi)同時對多個障礙物進(jìn)行測距。因此,本文提出了一種基于隨機森林算法的超聲回波信號處理方法,通過對回波信號的時域和頻域分析,提取并融合時、頻域特征信息,利用隨機森林算法判斷出探測區(qū)域內(nèi)的障礙物并計算出障礙物的距離[4]。

1 傳統(tǒng)超聲波測距原理

    傳統(tǒng)脈沖回波測距原理是:用脈沖激勵超聲探頭向外發(fā)射超聲波,同時接收從被測物體反射回來的超聲波(簡稱回波)[5],通過檢測從發(fā)射超聲波至接收回波所經(jīng)歷的時間t,簡稱為飛躍時間,利用下式計算超聲波探頭與被測物體之間的距離d,即:

    xhcl2-gs1.gif

其中,v為空氣介質(zhì)中聲波的傳播速度,常溫下,v一般取340 m/s。

    設(shè)計超聲測距系統(tǒng)電路時,需要考慮聲強衰減的問題,因為超聲波在空氣中傳播過程中,聲強會隨著傳播距離的增大而減小[6]。造成衰減的原因是聲束本身存在的擴散以及反射、散射現(xiàn)象等。假設(shè)最初的聲強為I0,在經(jīng)過x米距離后,由于吸收衰減,聲強變?yōu)镮,則超聲波的衰減可以用下式表示:

    xhcl2-gs2.gif

式中,α為空氣衰減系數(shù)。如果沒有采取一些增益補償措施,則距離越遠(yuǎn),就越難以區(qū)分障礙物信號和其他白噪聲信號,以致后續(xù)無法對信號分析處理。

2 基于隨機森林算法的超聲回波測距方法介紹

2.1 測距系統(tǒng)設(shè)計

    本文設(shè)計的超聲波測距系統(tǒng)組成如圖1所示??紤]到測量距離遠(yuǎn),聲強衰減會很大,故在發(fā)射電路的設(shè)計中,提高了發(fā)射電流,以增強信號發(fā)射功率,同時,在接收電路中也設(shè)計了時間增益補償電路,用于補償空氣傳播過程中聲強的衰減。通常,DSP信號處理器中含有帶通濾波器,可以提高處理器(ARM)接收的回波信號質(zhì)量。

xhcl2-t1.gif

2.2 隨機森林算法

    隨機森林算法是由美國科學(xué)家BREIMAN L[8]提出的一種集成分類算法。該算法從訓(xùn)練集中隨機抽取一定數(shù)量的樣本作為每棵樹的根節(jié)點樣本,在建立決策樹時,隨機抽取一定數(shù)量的候選屬性作為分裂節(jié)點。隨機森林計算法因為兩個隨機性[9]的引入,使得該算法不容易出現(xiàn)決策樹[11]法的過擬合現(xiàn)象。另外,隨機森林法在運算量沒有顯著提高的前提下可提高預(yù)測精度,具有很好的抗噪聲能力。因此,本文采用該法計算距離。

2.3 信號時、頻域的特征提取

    為了利用隨機森林法,需要提取超聲回波信號的時域和頻域特征。

    信號具有時域和頻域的特性。在時域中,信號f(t)是時間的函數(shù),描述的是信號的幅度、頻率和相位隨時間的變化關(guān)系。在頻域中,信號F(jω)是頻率的函數(shù),討論的是信號的幅度和相位隨頻率的變化關(guān)系[12]。信號可以通過傅氏變換在時域和頻域之間轉(zhuǎn)換。

    通過研究發(fā)現(xiàn),當(dāng)超聲波遇到障礙物返回時,其反射波的頻率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時間段內(nèi)各有一個障礙物。為了測距,在上述兩個時間段內(nèi)分別取最高點作為飛躍時間,根據(jù)式(1)可計算出兩個障礙物的距離分別約為3.2 m和9.5 m。因此,找出障礙物所在的時間段是解決問題的關(guān)鍵。把原始回波信號S分成n段,每一段所對應(yīng)的時間段大小為t0,t0的大小與回波信號中障礙物從出現(xiàn)的開始時刻到結(jié)束時刻所對應(yīng)的時間段tobs有關(guān),例如圖2(a)中tobs=900 μs,如果t0取值過大,就會出現(xiàn)一段中包含多個障礙物,影響判斷障礙物個數(shù),反之如果取值太小,又會造成一個障礙物出現(xiàn)的時間段tobs被分割成連續(xù)好幾段,使計算變得復(fù)雜。所以一般取xhcl2-t2-s1.gif較為合適,這樣一個障礙物至多會被連續(xù)的3段t0所包括起來,在后續(xù)處理過程中如果判斷出相鄰的時間段內(nèi)有障礙物出現(xiàn),則可以把它們合并為一個時間區(qū)間。選定好t0后,回波信號S總的時長為tall,那么n=tall/t0。而后對每一段信號Si(i=1,2,…,n)做FFT變換,當(dāng)有障礙物出現(xiàn)的時候,f0附近的頻譜幅度會比較強,如圖2(b)所示,該圖顯示的僅為圖2(a)中兩個障礙物所在時間區(qū)間附近的分段,可以看出在障礙物所在時間區(qū)間43段、44段頻譜幅度明顯比42段、45段強;同理,另外一個障礙物所在時間區(qū)間128段、129段頻譜幅度也要比127段、130段高。

xhcl2-t2.gif

    基于以上分析,可以提取信號在時域和頻域的一些特征。時域特征主要指信號的相對峰值幅度CT1,即時域信號包絡(luò)的相對變化量。以其中一段Si為例,其計算方法為:

     xhcl2-gs3-4.gif

其中step為步長,ai為步長內(nèi)所包含點的最大值,i=SN/step,SN為Si段中的總點數(shù)。提取的特征CT1的本質(zhì)相當(dāng)于提取了Si段的包絡(luò)。

    對時域信號Si段做FFT變換,得到頻域幅度譜,截取發(fā)射頻率f0附近的頻段,設(shè)頻段長度為2d,則其左邊頻率為f0-d,右邊頻率為f0+d。以左、右邊頻率構(gòu)成區(qū)間[f0-d,f0+d],在該區(qū)間上提取頻域特征:頻譜相對面積CT2,即區(qū)間內(nèi)的點所圍成的面積。方差CT3,最大值CT4和極差CT5,其計算公式分別為:

xhcl2-gs5-8.gif

2.4 利用隨機森林法的測距方法

    具體步驟如下:

    (1)準(zhǔn)備數(shù)據(jù):在不同距離的位置測量障礙物(可以多個)的數(shù)據(jù),每個位置采集三次,并做好標(biāo)注。以其中一個原始信號S為例,把信號分成n段,根據(jù)上一節(jié)特征提取的方法,提取出每一段信號Si(i=1,2,…,n)的時域和頻域特征:CT1i,CT2i,CT3i,CT4i,CT5i,并做好每一段的標(biāo)注信息Li,即說明該段是否含有障礙物。每一個信號S有n個數(shù)據(jù)S1,S2,…,Sn。為了不使某一個特征值對結(jié)果影響過大,對每一個特征進(jìn)行歸一化處理,計算方式如下:

    xhcl2-gs9.gif

其中Xmax和Xmin分別為某一特征集中最大特征值和最小特征值。利用式(6)得到預(yù)處理后的數(shù)據(jù)集。

    (2)訓(xùn)練數(shù)據(jù):把預(yù)處理后的數(shù)據(jù)作為訓(xùn)練集,利用隨機森林算法訓(xùn)練出分類器TB。

    (3)預(yù)測數(shù)據(jù):當(dāng)測得一個新的信號數(shù)據(jù)時,把數(shù)據(jù)按照步驟(1)處理后,用訓(xùn)練好的隨機森林分類器TB對數(shù)據(jù)集進(jìn)行分類,判斷出障礙物所在的時間段。如果兩個時間段相鄰,則合并這兩個時間段為一個整體的時間區(qū)間,如果求出多個不相鄰的時間區(qū)間,說明檢測出多個障礙物。

    (4)計算距離:找出在時間區(qū)間中的最大值,把該值所對應(yīng)的時間點作為飛躍時間tmax,代入式(1),計算出障礙物距離d。

3 實驗結(jié)果與分析

    下面以同時測量兩個障礙物為例來驗證該算法,測試示意圖如圖3所示。在檢測范圍內(nèi),任意放置兩個障礙物,用超聲波測距系統(tǒng)進(jìn)行測量。

xhcl2-t3.gif

    實驗中發(fā)射的脈沖方波振蕩頻率為48 kHz,采樣頻率為680 MHz,采樣時間為62 638.55 μs。采集經(jīng)過帶通濾波后的原始數(shù)據(jù)點,得到采樣點數(shù)為43 200個,畫出的波形類似圖2(a)。把原始數(shù)據(jù)分成144段,t0約為500 μs,每段有300個數(shù)據(jù)點,頻域區(qū)間選取為[46 kHz,50 kHz],按照本文算法計算出障礙物的距離。通過對不同距離多個不同障礙物進(jìn)行測量,得到實驗結(jié)果如表1所示。結(jié)果表明,該算法可以在10 m之內(nèi),同時有效地完成對多個障礙物的距離測量。其誤差在±3 cm之內(nèi),達(dá)到了實際的應(yīng)用要求。在同一位置上進(jìn)行多次測量,來評判隨機森林算法的準(zhǔn)確度,其實驗結(jié)果如表2所示。結(jié)果表明該算法具有很好的障礙物識別度。

xhcl2-b1.gif

xhcl2-b2.gif

4 結(jié)論

    本文提出的算法通過提取超聲回波信號的時域和頻域信息特征,然后利用隨機森林算法判別出障礙物的個數(shù)并求出目標(biāo)距離,可有效地解決因距離遠(yuǎn)、回波信號弱而造成的測距困難問題。該方法可以實現(xiàn)10 m內(nèi)的多個障礙物距離測量功能,測量誤差在±3 cm之內(nèi),達(dá)到了實際的應(yīng)用需求,已經(jīng)用于實際的自動駕駛場景中的礦場卡車項目里,取得了良好的效果,具有較高的實用價值和理論參考意義。

    需要說明的是,可以在滿足一定測量分辨率要求的前提下,通過壓縮手段,使樣本數(shù)據(jù)的間隔合理放大,達(dá)到減小計算量,提高測量實時性的目的。

參考文獻(xiàn)

[1] 許高斌,閔銳,陳興,等.一種新型超聲波測距系統(tǒng)信號處理方法[J].電子技術(shù)應(yīng)用,2016,42(8):84-86.

[2] 趙浪濤,趙永花,柴清.高精度超聲波測距方法的研究[J].電氣自動化,2015,29(3):112-114.

[3] 程曉暢,蘇紹景,王躍科,等.超聲回波信號調(diào)制及其包絡(luò)相關(guān)時延估計算法[J].傳感技術(shù)學(xué)報,2006,19(6):2571-2577.

[4] 王宏江,郭會軍,李軍懷.超聲回波信號包絡(luò)相關(guān)時延估計優(yōu)化算法[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單片機的高精度超聲波測距系統(tǒng)的設(shè)計[J].電子設(shè)計工程,2011,15(48):76-78.

[8] BREIMAN L.Random forests[J].Maching Learning,2001,45(1):5-32.

[9] 馮曉蒲,張鐵峰.四種聚類方法之比較[J].微型機與應(yīng)用,2010,29(16):1-3.

[10] 楊靜,張楠男,李建.決策樹算法的研究與應(yīng)用[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)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。