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