包子涵,李龍海,劉麗麗,孫偉,邱天宇,芮哲立,胡江,芮文翰
(徐州工程學院 a. 機電工程學院; b. 電氣與控制工程學院,江蘇 徐州 221018)
救援機器人一直是國內(nèi)外研究熱點,其主要功能是在發(fā)生災難后,為了避免搜救人員在情況不明條件下進入災區(qū)引起二次傷亡,代替搜救人員第一時間進入事故現(xiàn)場,探測環(huán)境信息(甲烷、一氧化碳、氧氣濃度、溫度、災害場景等),為救援決策提供第一手資料。礦山救援機器人主要原理是通過區(qū)分周圍環(huán)境和障礙物來進行智能避障,以獲取高質(zhì)量清晰圖像和提取周圍環(huán)境關(guān)鍵信息。但在惡劣環(huán)境中,難以保證人員與機器人實時通信,因此要求機器人系統(tǒng)本身具有環(huán)境感知能力,機器視覺是感知環(huán)境重要途徑之一。由于礦下粉塵、水霧、光線昏暗等復雜環(huán)境及設備自身影響,不可避免受到噪聲干擾,使得圖像在后續(xù)邊緣檢測及目標識別過程中變得困難。
為提高圖像質(zhì)量,有效識別環(huán)境,王平均等[1]利用小波變換原理提出一種改進型非局部均值濾波算法,通過疊加濾波后高頻和低頻信息,最終獲得降噪后高質(zhì)量圖像;張凡等[2]提出一種基于改進Prewitt算子小波閾值降噪算法,首先通過Prewitt算子提取圖像輪廓信息,采用自適應閾值小波函數(shù)對圖像非邊緣信息降噪處理,實驗表明該算法耗時低,降噪效果優(yōu)異;趙謙等[3]提出一種適用于礦井巷道圖像邊緣檢測場景,基于Canny算子和小波變換的綜合算法,其先對原始圖像做小波分解,然后采用Canny算子獲得低頻和高頻圖像梯度圖,通過局部梯度最大值提取圖像邊緣,具有良好的邊緣點連接效果;李琳琳[4]提出自適應閾值的Sobel算子邊緣檢測算法,其在Sobel算子基礎上,進行多種閾值設置,實驗表明能夠有效提取邊緣信息。但就目前研究現(xiàn)狀而言,仍存在噪聲敏感、弱邊緣檢測不足等問題。
機器視覺傳感器提取到環(huán)境信息后,需感知并測出自身與障礙物距離,規(guī)劃避障路線。超聲波傳感器以其結(jié)構(gòu)簡單、成本低等優(yōu)點,廣泛用于傳感測距中。與其他類型傳感器相比,也擁有縱向分辨率高和測量覆蓋范圍廣等優(yōu)勢。綜合上述優(yōu)點,本文構(gòu)建基于STM32單片機工作平臺的超聲波測距裝置。
由上述分析可知,圖像處理算法和測距系統(tǒng)是實現(xiàn)礦山救援機器人自主化、智能化的重要步驟。在實際作業(yè)中,礦山救援機器人算法應滿足兩方面要求:1)對獲取圖像有良好去噪能力,確保圖像局部紋理細節(jié)清晰,為后續(xù)邊緣檢測做基礎;2)邊緣檢測準確度要高,能夠提取邊緣完整,準確區(qū)分識別障礙物,為后續(xù)障礙物測距做基礎。為此,本文經(jīng)過對比分析,分別提出基于余弦型高斯核函數(shù)的非局部均值濾波算法、多尺度B樣條小波邊緣檢測算法以及STM32單片機超聲波測距系統(tǒng)。實驗結(jié)果表明,本文所使用算法能有效運用在對井下復雜惡劣環(huán)境的識別,成功幫助救援機器人識別和規(guī)避障礙物。
經(jīng)典圖像降噪方法包括均值濾波和中值濾波算法等。中值濾波算法是用指定像素網(wǎng)格鄰域內(nèi)灰度值中值代替某點灰度值;而均值算法則是利用像素網(wǎng)格內(nèi)灰度值均值來替換。兩者均是利用像素點之間相似性進行降噪,不能較好地保留圖像細節(jié),會產(chǎn)生階梯效應,甚至丟失本身信息。針對上述問題,本文引入非局部均值濾波算法[5-7](non-local means, NLM),其主要通過圖像自身非局部相似程度來判斷噪聲并決定是否去除,但仍然存在復雜度相比傳統(tǒng)算法較高且權(quán)重分配不夠合理的缺點。因此本文在現(xiàn)有NLM算法上,重新設計余弦型加權(quán)高斯核函數(shù)[8],提出基于余弦型高斯核函數(shù)的非局部均值濾波算法。此算法權(quán)重分配合理,降噪效果較優(yōu)。
NLM核心思想是在圖像全局范圍內(nèi)比較像素點灰度值,通過相似性對圖中每一像素點進行權(quán)重分配,算法主要步驟如下:
定義圖像噪聲模型為
v(x)=u(x)+n(x)
(1)
式中:v(x)為噪聲圖像;u(x)為原始圖像;n(x)為高斯噪聲。
對整體像素計算加權(quán)平均值,得到所有像素點去噪后新灰度值,如下式所示。
(2)
(3)
式中Z(i)為歸一算子。
理想型高斯核函數(shù)是對鄰域內(nèi)相似性高的像素點分配較大權(quán)重,相似性小的像素點分配較小權(quán)重,由此發(fā)現(xiàn)加權(quán)高斯核函數(shù)在圖像降噪方面有理論依據(jù),則核函數(shù)的構(gòu)造就成為非局部均值濾波算法的核心任務。高斯型核函數(shù)定義為
(4)
式中h為濾波參數(shù)。
余弦型核函數(shù)為
(5)
高斯核函數(shù)在圖像噪聲程度減弱時容易出現(xiàn)加權(quán)不足,而余弦核函數(shù)則會出現(xiàn)加權(quán)過度,使得兩種函數(shù)單一使用時都發(fā)揮不了最大去噪能力。因此本文綜合兩種函數(shù)提出改進余弦型高斯核函數(shù),實現(xiàn)手段為在高斯型核函數(shù)上添加余弦系數(shù),使得算法在不同噪聲下仍能夠保持良好去噪效果,具體公式為
(6)
式中h1和h2為濾波參數(shù)。
當圖像經(jīng)過余弦型高斯核函數(shù)去噪后,得到較為清晰圖像,此時礦山救援機器人將使用邊緣檢測算法識別環(huán)境信息從而對障礙物進行規(guī)避。目前傳統(tǒng)圖像邊緣檢測算法大多使用Roberts算子[9]、Canny算子[10]、Prewitt算子[11]、Sobel算子[12]和Log算子等,均是從被識別圖像高頻分量中獲得邊緣點,但往往容易忽視圖像低頻區(qū)域細節(jié),致使被檢測圖像缺失邊緣信息。由于小波變換作用在低頻部分和高頻部分時具有不同的時間和視頻分辨率,可以進行自主調(diào)整,所以針對復雜場景進行邊緣檢測通常具有良好效果,加上B樣條小波邊緣檢測綜合性能較好,因此可以綜合小波多尺度優(yōu)點,在不同尺度下提取圖像細節(jié)。
設二維圖形信號函數(shù)為f(x,y),按照下式對其進行小波變換:
WTf(a,x,y)=f(x,y)?ψa(x,y)=
(7)
式中:a為尺度因子;?為卷積運算;u1和u2為平移因子;WT為小波變換。
設二維平滑函數(shù)θ(x,y)滿足:
?θ(x,y)dxdy=1
(8)
(9)
對θ(x,y)分別沿著x和y方向取一階偏導得到各自二維小波:
(10)
(11)
對原始圖像進行灰度增強預處理,處理后圖像在x和y方向上對應指定尺度a小波變化為:
(12)
(13)
將上式表示為向量形式:
2j·grad[fs(x,y)]
(14)
式中:fs(x,y)是f(x,y)被θa(x,y)平滑后的圖像;WT(1)和WT(2)分別表示x,y方向上尺度為a的小波變換。
其模值和幅值(與x方向夾角)分別為:
(15)
(16)
采取四次B樣條構(gòu)建平滑函數(shù)θ(x,y)進行邊緣檢測。由于小波ψ(x)是平滑函數(shù)θ(x)一階導數(shù),所以本文四次B樣條尺度所對應小波ψ(x)為三階樣條函數(shù)。依據(jù)N3(x)=N1?N1?N1(x)進行傅里葉變換得:
(17)
尺度變換公式:
(18)
由于:
(19)
因此,可推導出下式:
N3(2x-1)-N3(2x-2)
(20)
對上式進行傅里葉變換得:
(21)
令z=e-jw/2,代入尺度變換公式可得:
(22)
L(z)=0.5z-0.5z2
(23)
式中:z表示濾波器階數(shù);H(z)表示低通濾波系數(shù);L(z)表示高通濾波系數(shù)。具體數(shù)值如表1所示。
表1 四階B樣條小波濾波器數(shù)值
Step1:將圖像進行灰度化預處理并進行小波變換。
Step2:分別計算模值和幅值,找出模極大值點。
Step3:按順序校驗每個像素點,若幅角對應最接近方向為極大值則保存該值,否則記為0。
Step4:選擇閾值λ,令模極大值低于閾值λ的像素模值設為0。
Step5:調(diào)節(jié)小波變換參數(shù)尺度,得出一系列尺度下檢測圖像和數(shù)值。
多尺度B樣條小波變換算法流程如圖1所示。
圖1 B樣條小波多尺度變換算法流程圖
為驗證并對比本文提出兩種算法的有效性,選取檢測圖片加入高斯噪聲進行實驗。仿真實驗操作系統(tǒng)為Windows 10、處理器為Intel i5、內(nèi)存為8 GB的筆記本,編程環(huán)境為MATLAB 2017a。
在實際巡檢作業(yè)中,影響圖像識別的主要噪聲來自于揚起的塵土,據(jù)此本文分別采用中值濾波、均值濾波(尺寸3)、均值濾波(尺寸5)、基本NLM去噪和高斯余弦核函數(shù)NLM去噪算法進行檢測,處理后圖像如圖2所示。
圖2 圖像去噪實驗
主觀上對處理后圖像從視覺效果對比觀察,可以發(fā)現(xiàn)傳統(tǒng)中值濾波和均值濾波雖然能降低部分噪聲,但在復雜環(huán)境下效果遠遠不夠,并且均值濾波選取尺寸越大,越容易產(chǎn)生模糊負作用。而使用余弦型高斯核函數(shù)去噪后的圖像無論是相比于傳統(tǒng)中值濾波、均值濾波還是基本NLM算法,均在噪點數(shù)量和圖像邊緣清晰度方面得到明顯優(yōu)化。綜上可知,本文算法去噪后視覺直觀清晰度最好,邊緣更加清晰,較完整保留了原圖紋理邊緣信息。為更好對比去噪后圖像細節(jié)情況,選取噪聲標準差分別為0.3、0.4、0.5、0.6和0.7進行實驗,選取PSNR、CORR和SSIM性能指標進行衡量,結(jié)果如表2所示。
為體現(xiàn)基本NLM與本文余弦型高斯核函數(shù)性能區(qū)別,給出噪聲標準差為0.5時基本NLM與余弦型高斯核函數(shù)指標對比圖,如圖3所示。
客觀上基于余弦型高斯核函數(shù)無論是PSNR、CORR還是SSIM的數(shù)值均高于其余4種算法,并且余弦型高斯核函數(shù)在一系列濾波參數(shù)下各項性能曲線均在基本NLM之上。其中PSNR代表降噪后圖像保真性,說明在該算法下圖像真實性較高;CORR代表原始圖像與降噪后圖像相關(guān)性,說明該算法下降噪圖像保留了原始圖像絕大部分信息;SSIM是衡量圖像相似度,說明使用余弦型高斯核函數(shù)降噪后圖像結(jié)構(gòu)特征得到較好保留。因此本文提出改進算法具有較大優(yōu)勢,對于礦井下救援機器人視覺圖像處理具有可行性。
選取經(jīng)高斯余弦核函數(shù)降噪處理后圖像為檢測對象,對使用Canny算子、Sobel算子、Prewitt算子、Roberts算子、Log算子以及本文多尺度B樣條小波邊緣檢測算子的算法進行邊緣檢測實驗,運行結(jié)果如圖4—圖9所示。
圖4 小波邊緣檢測效果
圖5 Canny邊緣檢測效果圖
圖6 Sobel邊緣檢測效果
圖7 Roberts邊緣檢測效果
圖8 Prewitt邊緣檢測效果
圖9 Log邊緣檢測效果
Canny算子存在去噪能力與邊緣檢測能力相沖突的問題,所以即使能較好檢測出目標障礙物但缺失了管路邊緣信息,不利于實際復雜環(huán)境中圖像處理和邊緣檢測;Sobel算子具有抗噪能力強,效率高特點,但其定位精度低,存在局部噪點,不適用于檢測高精度圖像;Roberts算子定位和檢測精度較高,但缺乏抗噪能力,同樣不適用于邊緣不明顯、噪聲大的圖像;Prewitt算子和Log算子在噪聲抑制方面較差,障礙物邊緣以及道路信息均缺失嚴重,不適用復雜環(huán)境場合。從與上述圖像邊緣檢測算法對比結(jié)果來看,本文構(gòu)建的基于多尺度B樣條小波邊緣檢測算法能夠根據(jù)不同邊緣情況進行小波尺度調(diào)整,具有自適應功能,精度較高,能幫助救援機器人有效識別圖像形態(tài)特征并進行邊緣檢測從而進行自動避障。
與經(jīng)典邊緣檢測算法相比,本文所提出的基于B樣條小波多尺度邊緣檢測算法通過構(gòu)建小波平滑函數(shù)在一定程度上去除了噪聲,根據(jù)不同邊緣進行調(diào)整小波尺度,具有自適應功能。能有效識別圖像的形態(tài)特性并進行邊緣提取,有較高精度,在實際表現(xiàn)中能提取惡劣粉塵環(huán)境下道路邊緣和障礙物邊緣。對于復雜環(huán)境及含有噪聲圖像,如礦山救援機器人的視覺算法中,選用小波邊緣檢測算法能夠?qū)崿F(xiàn)較好效果。
礦山救援機器人視覺傳感器檢測到障礙物邊緣后,需測量機器人當前與障礙物之間距離并進行巡檢路徑規(guī)劃[13-14]。在救援機器人領域,毫米波雷達主要應用于軍事領域,受環(huán)境影響較小,但其造價昂貴,對于體積小的障礙物檢測效果差,不適合礦井下救援機器人測距;紅外測距和激光測距受外界影響較大,在空氣介質(zhì)中,光線條件、粉塵濃度、有毒氣體均可能對測量精度造成較大影響。而超聲波測距傳感器在黑暗、灰塵等惡劣環(huán)境受到的影響微乎其微,且造價低廉和方便使用,因此適合礦井下復雜環(huán)境測量。
超聲波測距使用方法主要包括聲波幅值檢測、相位檢測和渡越時間檢測等[15-16]。聲波幅值檢測法對反射介質(zhì)敏感,工作條件要求較高;相位檢測法實踐工作空間范圍較小,相比較而言渡越時間檢測法原理易懂,成本低,可測范圍大。因此本文超聲波測距系統(tǒng)使用渡越時間檢測法。
超聲波壓電換能器有雙探頭與單探頭兩種模式,其中單探頭是既做發(fā)射端又做接收端,由于發(fā)射端發(fā)射超聲波產(chǎn)生的余震會存在一段時間,因此單探頭可能誤將這種整波當成回波導致誤差。雙探頭在發(fā)射端和接收端分別使用兩個間隔距離h的探頭,不會因此產(chǎn)生誤差。因此本文采用雙探頭模式進行測距。
渡越時間檢測法原理是測量超聲波從發(fā)射端發(fā)射,經(jīng)過障礙物返回后被接收端接收整個過程經(jīng)歷射程的時間,原理圖如圖10所示。
圖10 渡越時間檢測法原理圖
障礙物與救援機器人之間距離s如下式所示。
(24)
式中:c為傳播速度;t為經(jīng)歷總射程時間。
由于發(fā)射端、接收端與被測物體成三角關(guān)系,因此機器人實際與被測物體間距離d為
(25)
由聲學理論可知,當環(huán)境溫度升高,超聲波傳播速度c也會升高,在氣體中聲速與溫度近似關(guān)系如下式所示。
c=331.5+0.61T
(26)
式中T為攝氏溫度。
本文采用STM32單片機,其主頻和定時器最大工作頻率為72MHz。測距時,保持定時器開啟時間與PWM啟動和輸入捕獲一致,主要為了降低發(fā)射和計時之間的系統(tǒng)誤差。整體設計原理如圖11所示。
圖11 超聲波測距系統(tǒng)整體框架圖
通過上述方法結(jié)合試驗數(shù)據(jù)可知,本文建立的超聲波測距系統(tǒng)盲區(qū)較小,有效提高了測量精度,為礦井下救援機器人進行避障提供了保障。
1)通過深入研究基于非局部均值處理的圖像降噪算法和高斯型核函數(shù),提出改進余弦型高斯核函數(shù)的非局部均值濾波算法。實驗分析得出,余弦型高斯核函數(shù)算法具有良好抗噪能力,在主觀表現(xiàn)和客觀各項指標上優(yōu)于其他算法,為后續(xù)機器人邊緣檢測奠定了基礎。
2)構(gòu)建多尺度B樣條小波邊緣檢測算法,并探討對比包括傳統(tǒng)算法在內(nèi)的7種算法。實驗分析得出,多尺度B樣條小波邊緣檢測既能夠獲取小尺度圖像邊緣細節(jié),也能檢測出大尺度圖像邊緣粗糙輪廓和灰度變化,有助于救援機器人實際工作中實現(xiàn)自動避障功能。
3)使用視覺算法檢測出障礙物邊緣后,構(gòu)建基于STM32超聲波測距系統(tǒng)測量機器人與障礙物之間距離,得到合理避障策略。