狄玉鵬,孫見君,馬晨波,鄭偉,馬琳博
(南京林業大學機械電子工程學院,江蘇南京,210000)
輪轂是汽車的重要部件,其大都是鑄件,鑄件完成以后需要進行精加工,根據不同的類型選擇不同的加工路線、加工機床刀具[1-2]。然而由于輪轂的種類很多,不可能對一種類型的輪轂采用一條獨立的生產線,所以導致多種類型的輪轂在一條生產線上生產和運輸,繼而在每一道工序都要人工參與,如人工分揀與搬運、人工測量輪轂尺寸等。人的精力有限,長時間工作會造成人眼疲勞,還會降低生產效率。
針對上述問題,不少企業和學者開展了輪轂識別的研究。如美國的康耐視公司生產的WIS-8000輪轂識別系統,該系統能較好的處理多干擾圖像,進行有效地識別[3]。Behrouz N.Shabestari,John W.V.Miller等人研究了一種低成本實時的汽車輪轂識別系統,該系統運用輪轂有效區域進行高效準確識別[4-5]。東北大學的趙玉良提取了輪轂圖像像素點總數、輪轂輪廓圓半徑、輪轂孔洞個數和四個轉動慣量實現輪轂型號的識別[6-8]。趙嬌潔提取了9個輪轂圖像區域進而實現了輪轂[9]。不難看出,準確提取輪轂有效區域是實現輪轂高效識別的前提。
目前機器視覺領域常用的識別方法主要有基于組件的模板匹配、基于相關性的模板匹配等[10]。由于輪轂大都為鑄件,本身就是一個整體,目標又比較大,縮放更難以處理,故基于組件的模板匹配不太適用。相關性的模板匹配的特點是對光照的影響較小,且匹配速度快,但其精度較低。輪轂大都是鋁合金,表面光滑,對光照有一定的要求,且識別的精度要求高,所以基于相關性的模板匹配也不適合。基于上述輪轂識別的特殊性,本文提出一種canny算子識別輪轂戰斧”區域的方法,實現對輪轂目標區域的準確識別。
以桑塔納14寸輪轂為本文的識別對象,使用Halcon軟件為研究工具。具體流程如下圖1。

圖1 輪轂區域識別流程
本文采用單目工業相機對桑塔納14寸輪轂圖像進行采集,光源選用環形光源,設定鏡頭與輪轂中心距離為1.5米。采集的圖像如圖2。考慮到本文感興趣的區域是五個“戰斧”型孔洞、同時為了后續處理的方便,對原圖中心區域進行簡化處理,如圖3所示。

圖2 輪轂原始圖像

圖3 輪轂簡化圖像
圖像處理的目的是提取到準確的ROI區域。本文感興趣區域為戰斧形孔洞,因此為了處理方便對輪轂中間部分進行填充,再進行灰度化、高斯濾波、膨脹處理,保證得到邊緣清晰,連續的圖像。
圖像灰度化是將圖像紅綠藍RGB三通道的亮度值構成彩色圖像,然后對紅綠藍三個通道進行處理[11]。其計算公式如(1)。對于彩色圖像來說,其占據空間大,攜帶數據多。

為了減少輪轂圖像原始數據量,便于后續處理時計算量少,對圖像進行灰度化處理。如圖4所示。

圖4 桑塔納14寸輪轂灰度化
圖像二值化處理是預處理中的重要步驟。目的是使有用信息和無用信息的對比度達到最大,突出主題,方便后續提取。圖像按顯示效果可分為灰度圖像、二值圖像、彩色圖像等[12]。圖像二值化可由公式(2)得到。

其中,g(x,y)是圖像中像素點的灰度值,T為灰度閾值,二值化實際就是用0或1來區分圖像區域的過程。輪轂圖像二值化結果下圖5。

圖5 桑塔納14寸輪轂二值化
圖像濾波分為均值濾波、中值濾波、雙邊濾波、高斯濾波等[13]。均值濾波處理不能很好的保護圖像的細節,會使得圖像失真,從而不能很好的去除噪點。中值濾波相對均值濾波來說,既能保護原圖,又能有效去除噪聲。但其處理時間遠遠超過均值濾波,達到均值濾波的5倍以上。雙邊濾波在處理濾波時會保存過多的高頻噪聲,只處理低頻濾波。高斯濾波是最常用的濾波操作,它在消除高斯噪聲的同時,還能修復圖像的不連續部分。高斯濾波模板系數的計算公式由式(3)可得。

式中,(x,y)是像素點坐標;σ為標準差。標準差σ是最重要的參數,它代表著數據的離散程度。σ的值越大,對圖像的平滑作用越好;σ的值越小,圖像細節丟失的越少。
高斯濾波處理過的輪轂圖像如下圖6所示。

圖6 桑塔納14寸輪轂濾波處理
從圖中可以看出,經過高斯濾波處理過的輪轂圖像,“戰斧”里面的噪聲環境得到明顯改善,邊緣也趨于光源,基本達到要求。
膨脹運算的作用是將不規則的邊緣補充完整,增加識別區域的真實性[14]。其原理:輸入圖像用A表示,結構元素用B表示,A被B膨脹用符號A⊕B表示,膨脹公式如式(4)。

膨脹過程為:首先將結構元素B進行反射運算得到-B,求A的補集Ac,然后對求得的Ac與-B進行腐蝕操作,最后求補集,該補集為膨脹運算的結果。如下圖7所示。

圖7 膨脹運算示意圖
從上圖6可以看出“戰斧”邊緣有明顯凹凸,這樣不利于后續邊緣檢測,所以在濾波的基礎上進行膨脹處理。處理結果如下圖8。

圖8 輪轂膨脹處理
邊緣檢測目的是提取圖像的邊緣區域,常用的邊緣檢測算子有Robert算子、Prewitt算子和Canny算子[15]。Robert算子通過局部差分算子尋找邊緣點,利用兩個固定模板的絕對值代替圖像像素的梯度值。按照這個原理代替所有的像素,得到新的梯度圖,實現邊緣檢測。這種算子工作量大,會得到許多無關邊緣,且準確度不高。Prewitt算子是一種微分方程定義算子,其通過相鄰點的灰度值在邊緣處的極值來檢測邊緣,去除偽邊緣,對噪聲具有平滑作用。其原理在圖像空間里面利用固定的水平模板和垂直模板,實現邊緣的提取。對于圖像f( x ,y), Prewitt算子公式表示如(5)。

Canny算子是基于最優化的邊緣檢測算子,具有良好的信噪比和檢測精度,在圖像處理領域有著廣泛的應用。邊緣檢測算子具有三個優點:(1)信噪比高,邊緣誤判率高;(2)定位精度高,檢測邊緣線與實際圖像的重合度高;(3)響應性好,只對目標邊緣進行檢測,對虛假邊緣大程度抑制[16]。其具體的計算步驟:
首先利用高斯模板對圖像進行濾波,去除噪聲,取方差為1.4的高斯函數的近似函數。
然后對濾波后的每個像素計算其梯度和方向,一般采用Sobel算子與原圖卷積求出Gx、Gy:

梯度和方向計算公式如下(7)(8)。

最后對梯度幅值進行“非極大抑制”,排除非邊緣像素,保留一些細線條。
在輪轂自動化生產線上,每個輪轂的位置會發生變化,包括外界環境也會發生變化,所以本文在比較邊緣檢測算子的基礎上,還要對同一位置不同光源條件進行比較和輪轂多角度匹配識別,通過測試算法的運行情況,驗證此檢測方法的可行性。首先選取特定光照條件下的輪轂圖像作為預處理圖像,通過灰度化、二值化、高斯濾波、膨脹處理、邊緣檢測等預處理方法,得到比較好的邊緣,為創建高質量的模板提供保證。根據創建的模板與各種情況下的輪轂圖像進行匹配,最后完成匹配,輸出圖像。
識別輪轂,先要確定識別區域,再根據識別區域的要求創建與之匹配的模板。具體的,根據二值化圖調用threshold算子設置閾值區間進行閾值處理,得到圖像的若干區域,再運用connection算子斷開相連的區域,使得若干區域變成獨立個體,最后選用select_shape算子和union1算子通過面積特點選擇想要的區域并聯合想要的區域為一個獨立整體。效果如圖9所示。

圖9 “戰斧”內部區域
創建匹配模板之前,還需要運用reduce_domain算子對5個戰斧區域進行分割,然后通過edges_sub_pix算子,實現對5個戰斧區域的邊緣提取。結果如下圖10所示。

圖10 戰斧區域邊緣提取
將創建好的邊緣通過create_scaled_shape_model_xld算子創建一個進行亞像素精度輪廓匹配且各向同性縮放的“戰斧”型模板。然后通過area_center算子求出模板在圖像中的像素坐標,再用get_shape_model_contours算子將模板顯示在圖像左上方,像素坐標設為(0,0),以便輪轂圖像“戰斧”區域與模板匹配。創建的匹配模板下圖11所示。

圖11 匹配模板
在Halcon中,運用find_scaled_shape_model算子尋找模板,匹配的精度受算子內部參數影響,參數中的AngleStart和AngleExtent確定了模板搜索的旋轉角度,ScaleMin和ScaleMax是最小和最大縮放比例,這些參數的設置需要與create_scaled_shape_model_xld算子中給定的值一致以保證匹配的準確度。仿射變換vector_angle_to_rigid算子是通過旋轉、平移等一系列線性變換,再次提高匹配精度。
本文提取到在Prewitt算子和canny運算下的輪轂戰斧邊緣。如下圖12所示。

圖12 輪轂戰斧邊緣
從上圖比較可以看出,Prewitt算子提取的邊緣出現了斷點,處理的效果不理想。而運用canny算子得到的圖像光滑且連續,在本文輪轂目標區域提取方法中,是最為理想的。
在輪轂自動化生產過程中,輪轂區域識別會受到外界環境的影響。在這些外界環境中,尤其以光源的變化,對輪轂區域識別的影響最大。所以對輪轂位于同一位置不同光源識別結果比較,具有一定的現實意義。本文進行了50組實驗,提取了6種不同打光下的輪轂圖像,然后進行識別,如下圖13展示一組區域識別效果。同時根據實驗結果列出不同打光下的輪轂識別的匹配準確率和時間,如下表1所示。

圖13 輪轂識別結果

表1 輪轂不同光照下的實驗結果
從表1不難看出,在同一位置不同打光條件下對輪轂進行識別,平均匹配率達到96%以上,平均匹配時間為130.5ms,遠遠小于輪轂加工時間。可以看出本文提出以canny算子識別輪轂“戰斧”形區域的方法,在不同光照強度下,具有很高的匹配率,輪轂識別可以適應光源變化。
為了驗證輪轂角度變化對匹配識別影響,同樣進行50組實驗,選取輪轂在同一光源不同位置下的匹配識別。分別提取輪轂在00、900、1800、2700條件下進行匹配識別,一組實驗結果下圖14。根據圖像識別情況,列出不同角度輪轂識別的匹配準確率和時間,如下表2所示。

圖14 輪轂識別結果

表2 輪轂不同角度下的實驗結果
分析表2可知,輪轂在不同角度下,識別的平均準確率為93.5%,平均識別時間為133.8ms。能在識別時間短的同時對輪轂在不同位置保持較高的識別匹配準確率。
本文將機器視覺應用到汽車輪轂的識別中,通過Halcon軟件對汽車輪轂區域進行識別,證實基于canny算子識別輪轂“戰斧”形區域的方法的可行性,實驗驗證了此方法在識別不同光照強度的輪轂圖像區域適應性好,在輪轂不同位置識別時間短、識別準確率高。該方法對輪轂目標區域識別具有重要意義,既對光照條件具有很好的適應性,又保證了區域識別的時間和準確率。