史智杰,喬建強
(太原重工股份有限公司 礦山采掘裝備及智能制造國家重點實驗室,山西 太原 030024)
電鏟被廣泛應用于露天礦的采掘和地表剝離,在整個采礦系統(tǒng)中起著非常重要的作用[1-2]。但隨著施工精度、效率、能耗等方面要求的不斷提高以及工作環(huán)境帶來的嚴峻挑戰(zhàn),傳統(tǒng)電鏟已不能滿足今后的工程需求。為了解決傳統(tǒng)電鏟作業(yè)面臨的問題,利用先進的人工智能技術、機器人技術、數(shù)字化技術、遠程監(jiān)控技術與高性能計算技術等,對傳統(tǒng)電鏟進行升級改造,研發(fā)可以實現(xiàn)智能自主作業(yè)的智能挖掘機器人,無論是從經(jīng)濟效益還是社會效益的角度來看,均具有重要的現(xiàn)實意義[3-5]。自動裝載是電鏟實現(xiàn)智能自主作業(yè)的重要任務,而對礦卡等重要裝載目標邊緣的準確、自動識別是實現(xiàn)智能電鏟自動裝載作業(yè)的關鍵。只有對礦卡邊緣進行準確有效的識別檢測,才能保證電鏟自動裝載過程能夠安全可靠、高效地進行。
在當前存在的邊緣檢測算法中,Canny算子[6]由于其簡單易用的特性,在許多實際工程領域得到廣泛應用,并且它經(jīng)常被作為標準算法來評價其他邊緣檢測算法的性能。傳統(tǒng)的邊緣檢測算子主要步驟:通過采用高斯濾波來平滑圖像,抑制噪聲;計算梯度幅值和梯度方向,生成梯度圖;采用非極大值抑制方法來細化邊緣,使邊緣定位更加準確;采用滯后連接方法對梯度圖進行閾值化處理得到二值化邊緣圖。但是,梯度圖只是利用了相鄰像素之間的強度變化,對圖像信息的利用不充分,這會導致在邊緣檢測過程中無法有效地區(qū)分弱邊緣和噪點,會造成弱邊緣丟失的情況。另外,傳統(tǒng)Canny算子滯后連接過程中的雙閾值需要人為設定,嚴重影響邊緣檢測的自適應能力。
為了解決梯度圖引起的弱邊緣丟失問題,近年來有許多研究人員進行了相關研究,并取得了一定的成果。針對梯度圖信息利用率不高的問題,Molina等[7]基于模糊集理論將梯度圖轉化為隸屬度圖,提高了對圖像信息的利用率,有效增強了對弱邊緣的檢測能力,但是該算法過于復雜,而且引入了更多需要人為設置的參數(shù),不利于實際工程應用。Sun等[8]基于萬有引力定律將像素強度類比于重力場中的質量,從而構造新的特征圖,該特征圖有效提高了抗噪能力,但是同樣引入了過多參數(shù)需要人為設置,降低了算法的自適應性。為了解決滯后連接自適應問題,Medina等[9]提出了一種準則用于提供滯后閾值的候選初始值,通過縮小取值范圍來提高滯后連接的自適應性。另外,Medina等[10]還提出一種方法,將滯后連接雙閾值問題轉化為單閾值問題,然后自適應地選取閾值。Han等[11]基于Otsu[12]提出一種自適應獲取雙閾值的方法,有效提高了邊緣檢測自適應性。
本文構造了一種新的邊緣隸屬度圖來代替梯度圖,綜合利用了梯度、局部梯度差和梯度方差等多種圖像信息,有效提高了對弱邊緣的檢測準確率。并基于Otsu提出一種新的自適應獲取雙閾值的方法,有效提高了邊緣檢測的自適應性。經(jīng)過實驗檢測,本文提出的基于邊緣隸屬度的邊緣檢測算法相對于其它邊緣檢測算子而言,準確率更高,能夠有效滿足智能電鏟自動裝載作業(yè)需求。
新提出的基于邊緣隸屬度的邊緣檢測算法主要包括四個步驟:
1)濾波降噪:采用高斯濾波對輸入圖像進行濾波降噪,減少噪聲對邊緣檢測的影響。
2)計算邊緣隸屬度圖:采用Sobel算子計算梯度圖,綜合利用像素梯度、局部鄰域梯度差和局部梯度方差等圖像信息計算邊緣隸屬度函數(shù),生成邊緣隸屬度圖。
3)非極大值抑制:采用非極大值抑制方法,沿著梯度方向進行細化邊緣,提高像素的定位準確率。
4)自適應滯后連接:采用Otsu法自適應的確定滯后連接高閾值和低閾值,對經(jīng)過非極大值抑制后的邊緣隸屬度圖進行閾值化處理,生成最終的二值化邊緣圖。
首先對輸入圖像I進行高斯濾波降噪,以減少噪點對邊緣檢測的影響。采用的二維高斯函數(shù)為:
假定D為濾波后的圖像,高斯濾波計算如下:
作為經(jīng)典的一階微分算子,Sobel算子計算簡單、效果好,被許多邊緣檢測方法所采用。在此,采用Sobel算子來計算梯度圖。本文采用一組3×3的卷積掩模分別來計算x方向和y方向的梯度:
式中:Sx為x方向的卷積掩模,Sy為y方向卷積掩模。對于經(jīng)過高斯濾波的圖像D,x方向的梯度Gx和y方向的梯度Gy分別為:
梯度幅值G為:
梯度方向θ為:
為了更好地區(qū)分弱邊緣和噪點,提高邊緣檢測的準確性,綜合利用梯度、局部梯度差和局部梯度標準差提出一種新的邊緣隸屬度圖。邊緣隸屬度圖M為:
式中:γ=2n-1,n為圖像的位數(shù),對于一般的8位圖像,γ取值為255;Tij(m,n)表示像素G(i,j)局部鄰域內(nèi)的梯度差信息,設Gmax和Gmin分別為梯度圖中梯度幅值的最大值和最小值,則Tij(m,n)計算如下:
假定σ(i,j)為梯度圖中像素G(i,j)局部鄰域內(nèi)的方差信息,局部鄰域均值為M(i,j),均值和方差計算如下:
采用非極大值抑制對邊緣隸屬度圖M中的邊緣進行細化處理,提高邊緣的定位精度。該方法在邊緣隸屬度圖上進行遍歷,對于每一個候選邊緣像素M(i,j),沿著梯度方向比較其邊緣隸屬度值與以該像素為中心的相鄰像素的大小。若該像素的邊緣隸屬度值大于相鄰像素的邊緣隸屬度值,則其為局部極大值點,認為該像素為邊緣像素,并保留其邊緣隸屬度值。若該像素的邊緣隸屬度值小于任意相鄰像素的邊緣隸屬度值,則其不是局部極大值點,認為該像素為非邊緣點,將其邊緣隸屬度值置為0。通過非極大值抑制,實現(xiàn)對邊緣的細化處理,得到候選邊緣圖C。
滯后連接通過設定高閾值Th和低閾值Tl將圖像分割為真實邊緣、非邊緣和存疑邊緣三部分。在候選邊緣圖C上,邊緣隸屬度值>高閾值的為真實邊緣點,<低閾值的為非邊緣點,位于高閾值和低閾值之間的為存疑邊緣點。為了提高邊緣連續(xù)性,需要對于存疑邊緣點進一步進行判斷。如果在存疑邊緣點的局部鄰域內(nèi)存在邊緣點,則認為該點為邊緣點,如果在局部鄰域內(nèi)不存在邊緣點,則認為該點不是邊緣點。
傳統(tǒng)的Canny算子通過人工選取高閾值和低閾值,自適應能力差,邊緣檢測結果容易受到人為因素干擾,不利于邊緣檢測算法的實際應用。對此,本文基于Otsu提出一種自適應滯后連接方法,如下頁圖1所示。該方法主要包括四個步驟:
圖1 自適應滯后連接流程圖
1)采用Otsu方法處理候選邊緣圖C,計算高閾值Th:
2)采用計算得到的高閾值Th對候選邊緣圖C進行閾值化處理,得到剩余邊緣圖R,像素R(i,j)的值計算如下:
3)采用Otsu方法處理剩余邊緣圖R,計算低閾值Tl:
4)采用計算得到的高閾值Th和低閾值Tl對候選邊緣圖C進行滯后連接處理,得到最終的邊緣圖。
為了驗證改進邊緣檢測算法的性能,本文選取電鏟裝載作業(yè)過程中常用的兩款礦卡,以及電鏟實際裝載作業(yè)圖像作為驗證圖進行邊緣檢測試驗。為了更好地進行對比驗證,本文選用Canny算子和Han算子作為對照方法。本試驗在Visual Studio 2013平臺下進行驗證,硬件平臺為Intel core i7-8700,16G運行內(nèi)存的計算機。
兩款常用礦卡的邊緣檢測結果如圖2所示。對于第一款礦卡,從虛線框里可以看到,由于部分礦卡邊緣和背景非常接近,存在明顯的弱邊緣,Canny的檢測結果存在邊緣缺失的問題,而Han和本文提出的改進算法都能夠有效的檢測出礦卡邊緣。對于第二款礦卡,車斗上邊緣和背景非常接近,屬于明顯的弱邊緣,Canny和Han均無法有效的檢測出車斗的上邊緣,而本文提出的改進算法能夠檢測出所有邊緣。這對于自動裝載過程中,自動識別礦卡車斗的位置,防止鏟斗與礦卡發(fā)生碰撞事故,是非常關鍵的。
圖2 礦卡邊緣檢測圖
電鏟實際裝載作業(yè)目標邊緣檢測結果如圖3所示。從虛線框內(nèi)可以看出,對于礦卡車斗的上邊緣,Canny存在邊緣丟失問題,而Han和本文提出的改進算法可以較為清晰完整的檢車出車斗邊緣。對于礦卡上的車輛識別號和電鏟上的欄桿,Canny和Han均無法有效的檢測出有效邊緣,存在邊緣丟失問題,而本文提出的改進算法可以對車輛識別號和電鏟欄桿進行有效的邊緣檢測。
圖3 電鏟裝載作業(yè)目標邊緣檢測圖
通過上述兩組實驗對比可以證明,改進后的邊緣檢測算法對弱邊緣的檢測能力更強,能夠有效提高邊緣檢測的連續(xù)性和完整性,這對電鏟自動裝載作業(yè)具有非常重要的作用。
本文針對電鏟自動裝載作業(yè)目標邊緣檢測需求,以及Canny算子存在的弱邊緣檢測能力不足,自適應能力不高等問題,提出一種改進邊緣檢測算子用于電鏟自動裝載作業(yè)目標邊緣檢測。本文提出的改進方法綜合利用像素梯度、局部鄰域梯度差、局部梯度方差等圖像信息生成邊緣隸屬度圖來代替?zhèn)鹘y(tǒng)的梯度圖,有效提高了圖像信息利用率和弱邊緣檢測能力,并且提出一種自適應滯后連接方法,根據(jù)Otsu自動選取高低閾值,有效提高了邊緣檢測的自適應性和實際應用能力。實驗證明,本文提出的改進算法邊緣檢測效果更好,能夠有效滿足電鏟自動裝載作業(yè)目標的邊緣檢測需求。