文獻(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.
0 引言
因超聲波在傳播過程中不受光線,、煙霧,、電磁干擾等因素影響,所以相較于其他測(cè)距方式,,超聲波測(cè)距有著明顯的優(yōu)勢(shì),,受到無人駕駛領(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)處理方法,,通過對(duì)回波信號(hào)的時(shí)域和頻域分析,,提取并融合時(shí)、頻域特征信息,,利用隨機(jī)森林算法判斷出探測(cè)區(qū)域內(nèi)的障礙物并計(jì)算出障礙物的距離[4],。
1 傳統(tǒng)超聲波測(cè)距原理
傳統(tǒng)脈沖回波測(cè)距原理是:用脈沖激勵(lì)超聲探頭向外發(fā)射超聲波,同時(shí)接收從被測(cè)物體反射回來的超聲波(簡(jiǎn)稱回波)[5],,通過檢測(cè)從發(fā)射超聲波至接收回波所經(jīng)歷的時(shí)間t,,簡(jiǎn)稱為飛躍時(shí)間,利用下式計(jì)算超聲波探頭與被測(cè)物體之間的距離d,,即:
其中,,v為空氣介質(zhì)中聲波的傳播速度,常溫下,,v一般取340 m/s,。
設(shè)計(jì)超聲測(cè)距系統(tǒng)電路時(shí),需要考慮聲強(qiáng)衰減的問題,,因?yàn)槌暡ㄔ诳諝庵袀鞑ミ^程中,聲強(qiáng)會(huì)隨著傳播距離的增大而減小[6],。造成衰減的原因是聲束本身存在的擴(kuò)散以及反射,、散射現(xiàn)象等。假設(shè)最初的聲強(qiáng)為I0,,在經(jīng)過x米距離后,,由于吸收衰減,聲強(qiáng)變?yōu)镮,,則超聲波的衰減可以用下式表示:
式中,,α為空氣衰減系數(shù)。如果沒有采取一些增益補(bǔ)償措施,,則距離越遠(yuǎn),,就越難以區(qū)分障礙物信號(hào)和其他白噪聲信號(hào),以致后續(xù)無法對(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ǔ)償空氣傳播過程中聲強(qiáng)的衰減,。通常,,DSP信號(hào)處理器中含有帶通濾波器,可以提高處理器(ARM)接收的回波信號(hào)質(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ù)測(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)可以通過傅氏變換在時(shí)域和頻域之間轉(zhuǎn)換。
通過研究發(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)所示,??煽闯鲈?8 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í)間段是解決問題的關(guān)鍵,。把原始回波信號(hào)S分成n段,每一段所對(duì)應(yīng)的時(shí)間段大小為t0,,t0的大小與回波信號(hào)中障礙物從出現(xiàn)的開始時(shí)刻到結(jié)束時(shí)刻所對(duì)應(yīng)的時(shí)間段tobs有關(guān),,例如圖2(a)中tobs=900 μs,如果t0取值過大,,就會(huì)出現(xiàn)一段中包含多個(gè)障礙物,,影響判斷障礙物個(gè)數(shù),反之如果取值太小,,又會(huì)造成一個(gè)障礙物出現(xiàn)的時(shí)間段tobs被分割成連續(xù)好幾段,,使計(jì)算變得復(fù)雜。所以一般取較為合適,,這樣一個(gè)障礙物至多會(huì)被連續(xù)的3段t0所包括起來,,在后續(xù)處理過程中如果判斷出相鄰的時(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段高,。
基于以上分析,,可以提取信號(hào)在時(shí)域和頻域的一些特征。時(shí)域特征主要指信號(hào)的相對(duì)峰值幅度CT1,,即時(shí)域信號(hào)包絡(luò)的相對(duì)變化量,。以其中一段Si為例,其計(jì)算方法為:
其中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ì)算公式分別為:
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,,即說明該段是否含有障礙物。每一個(gè)信號(hào)S有n個(gè)數(shù)據(jù)S1,,S2,,…,Sn,。為了不使某一個(gè)特征值對(duì)結(jié)果影響過大,,對(duì)每一個(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ù)測(cè)數(shù)據(jù):當(dāng)測(cè)得一個(gè)新的信號(hào)數(shù)據(jù)時(shí),,把數(shù)據(jù)按照步驟(1)處理后,用訓(xùn)練好的隨機(jī)森林分類器TB對(duì)數(shù)據(jù)集進(jìn)行分類,,判斷出障礙物所在的時(shí)間段,。如果兩個(gè)時(shí)間段相鄰,則合并這兩個(gè)時(shí)間段為一個(gè)整體的時(shí)間區(qū)間,,如果求出多個(gè)不相鄰的時(shí)間區(qū)間,,說明檢測(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è)障礙物為例來驗(yàn)證該算法,,測(cè)試示意圖如圖3所示。在檢測(cè)范圍內(nèi),,任意放置兩個(gè)障礙物,,用超聲波測(cè)距系統(tǒng)進(jìn)行測(cè)量。
實(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ì)算出障礙物的距離。通過對(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è)量,,來評(píng)判隨機(jī)森林算法的準(zhǔn)確度,其實(shí)驗(yàn)結(jié)果如表2所示,。結(jié)果表明該算法具有很好的障礙物識(shí)別度,。
4 結(jié)論
本文提出的算法通過提取超聲回波信號(hào)的時(shí)域和頻域信息特征,然后利用隨機(jī)森林算法判別出障礙物的個(gè)數(shù)并求出目標(biāo)距離,,可有效地解決因距離遠(yuǎn),、回波信號(hào)弱而造成的測(cè)距困難問題。該方法可以實(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)卡車項(xiàng)目里,,取得了良好的效果,,具有較高的實(shí)用價(jià)值和理論參考意義。
需要說明的是,,可以在滿足一定測(cè)量分辨率要求的前提下,,通過壓縮手段,使樣本數(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] 張珂,俞國華,,劉鋼海.超聲波測(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] 馮曉蒲,張鐵峰.四種聚類方法之比較[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)鋼,,張維峰.信號(hào)與系統(tǒng)[M].北京:清華大學(xué)出版社,,2017.
作者信息:
王培丞,張衛(wèi)鋼
(長(zhǎng)安大學(xué) 信息工程學(xué)院,,陜西 西安710054)