《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 一種基于隨機(jī)森林算法的多障礙物超聲測(cè)距方法
一種基于隨機(jī)森林算法的多障礙物超聲測(cè)距方法
2019年電子技術(shù)應(yīng)用第4期
王培丞,張衛(wèi)鋼
長(zhǎng)安大學(xué) 信息工程學(xué)院,陜西 西安710054
摘要: 在超聲波測(cè)距技術(shù)中,傳統(tǒng)的信號(hào)處理算法難以對(duì)距離遠(yuǎn)、回波弱的信號(hào)進(jìn)行分析,也不能同時(shí)對(duì)多個(gè)障礙物進(jìn)行測(cè)距。為解決這一問(wèn)題,提出一種基于隨機(jī)森林算法的超聲測(cè)距方法,先提取信號(hào)的時(shí)域特征(相對(duì)峰值幅度)和頻域特征(頻譜相對(duì)面積),然后利用隨機(jī)森林算法判斷出探測(cè)區(qū)域內(nèi)的障礙物并計(jì)算出目標(biāo)距離。經(jīng)過(guò)測(cè)試,該算法可有效完成10 m之內(nèi)的多個(gè)障礙物距離測(cè)量,測(cè)量誤差在3 cm之內(nèi),可以滿足諸如自動(dòng)駕駛等應(yīng)用場(chǎng)景的要求,具有較高的實(shí)用價(jià)值和理論參考意義。
中圖分類(lèi)號(hào): TN911.7
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.183297
中文引用格式: 王培丞,張衛(wèi)鋼. 一種基于隨機(jī)森林算法的多障礙物超聲測(cè)距方法[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 引言

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

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

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

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

    xhcl2-gs1.gif

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

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

    xhcl2-gs2.gif

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

2 基于隨機(jī)森林算法的超聲回波測(cè)距方法介紹

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

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

xhcl2-t1.gif

2.2 隨機(jī)森林算法

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

2.3 信號(hào)時(shí)、頻域的特征提取

    為了利用隨機(jī)森林法,需要提取超聲回波信號(hào)的時(shí)域和頻域特征。

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

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

xhcl2-t2.gif

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

     xhcl2-gs3-4.gif

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

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

xhcl2-gs5-8.gif

2.4 利用隨機(jī)森林法的測(cè)距方法

    具體步驟如下:

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

    xhcl2-gs9.gif

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

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

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

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

3 實(shí)驗(yàn)結(jié)果與分析

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

xhcl2-t3.gif

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

xhcl2-b1.gif

xhcl2-b2.gif

4 結(jié)論

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

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

參考文獻(xiàn)

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

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

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

[4] 王宏江,郭會(huì)軍,李軍懷.超聲回波信號(hào)包絡(luò)相關(guān)時(shí)延估計(jì)優(yōu)化算法[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(20):156-157.

[5] 吳賽燕,楊輝.超聲波測(cè)距信號(hào)處理算法研究[J].福建電腦,2009,25(3):73-74.

[6] 張珂,俞國(guó)華,劉鋼海.超聲波測(cè)距回波信號(hào)處理方法的研究[J].測(cè)控技術(shù),2008,27(1):48-49.

[7] 苑潔,常太華.基于STM32單片機(jī)的高精度超聲波測(cè)距系統(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] 馮曉蒲,張鐵峰.四種聚類(lèi)方法之比較[J].微型機(jī)與應(yīng)用,2010,29(16):1-3.

[10] 楊靜,張楠男,李建.決策樹(shù)算法的研究與應(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)鋼,張維峰.信號(hào)與系統(tǒng)[M].北京:清華大學(xué)出版社,2017.



作者信息:

王培丞,張衛(wèi)鋼

(長(zhǎng)安大學(xué) 信息工程學(xué)院,陜西 西安710054)

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