□ 趙一鳴 □ 胡燕海
寧波大學 機械工程與力學學院 浙江寧波 315211
隨著塑料工業的發展,我國注塑制品年總產量已穩居世界第二,塑料產品成為人們生活中不可或缺的必需品。由于客觀因素的影響,如原材料質量不佳、工藝水平較低、機械設備不穩定等[1],注塑件在生產過程中會出現大量問題,輕則影響自身外觀,重則影響使用性能。如何檢測注塑件的產品缺陷,是塑料行業密切關注的問題。目前,國內注塑件檢測水平仍然不高,主要仍以人工檢測為主,局限性較大[2]。基于圖像處理技術,可以實現注塑件的自動檢測,避免人為主觀因素對檢測結果的影響[3]。
在圖像處理技術中,邊緣提取是基本操作,邊緣提取質量優劣直接決定后續圖像特征信息提取的好壞。目前,已存在上百種提取目標物體邊緣的方法。常用的一階邊緣提取算法有Roberts算法[4]、Sobel算法[5]、Scharr算法[6]等,常用的二階邊緣提取算法有拉普拉斯算法[7]、坎尼算法[8]等,這些算法的原理都是對圖像與特定大小的模板進行卷積。其中,坎尼算法因卓越的邊緣提取效果,在圖像處理領域應用廣泛。傳統坎尼算法應用于小型注塑件的邊緣提取時,若成像受到干擾,則各種噪聲容易導致邊緣提取精度降低[9]。小型注塑件的邊緣提取對圖像的細節像素要求較高,而傳統坎尼算法非極大值抑制計算不夠充分,細節像素會缺失。傳統坎尼算法在實際運行前,往往需要憑借人為經驗,對邊緣提取的高低閾值進行設置,算法性能難以得到保證[10]。
筆者為滿足行業和企業需求,針對傳統坎尼算法應用于小型注塑件邊緣提取時存在的問題,對傳統坎尼算法進行改進,提出用于小型注塑件邊緣提取的改進坎尼算法,由此在不使用其它算法的前提下,完成對小型注塑件邊緣的完整提取。
傳統坎尼算法的流程一般如下:首先使用高斯濾波對圖像進行預處理,去除圖像中的噪點,并平滑圖像;然后分別計算圖像的梯度幅值與方向,對求得的邊緣圖像進行非極大值抑制;最后通過人為設置高低閾值,對閾值滯后的邊緣像素點進行連接,得到檢測目標的邊緣信息[11]。傳統坎尼算法流程如圖1所示。

▲圖1 傳統坎尼算法流程
注塑件圖像在采集、傳送、成像過程中不可避免地會受到外部噪聲干擾,如工廠灰塵、設備振動、光照不均勻導致反光等,這些噪聲會降低邊緣提取的效果。傳統坎尼算法常搭配高斯濾波來去除噪聲。高斯濾波對圖像中的噪聲具有一定濾除能力,但小型注塑件邊緣提取對細節的要求較高,高斯濾波對細節的保留效果不夠理想,卷積核尺寸如果過大,會將目標輪廓當作噪聲一并濾除[12]。注塑件在生產過程中由于工藝水平參差不齊,往往存在一定缺陷,容易受到光照不均勻的影響而產生局部噪聲,高斯濾波對這類噪聲的濾除效果也難以滿足實際檢測需求。
傳統坎尼算法采用差分運算法計算圖像像素點的像素梯度,并采用歐氏距離與反正切函數來計算像素點的幅值方向。
非極大值抑制是傳統坎尼算法將圖像目標邊緣細化的方法。經前序流程處理后得到的邊緣往往含有多個像素,通過非極大值抑制可以將局部最大梯度值對應的像素點予以保留,并濾除剩余像素。但是,非極大值抑制參與的梯度方向不夠全面,導致邊緣的連續性不佳,這對小型注塑件邊緣提取精度造成了一定影響。
經過非極大值抑制后,雖然剩余的像素可以用于較為準確地提取注塑件實際輪廓,但是仍然存在一定的雜散響應。為解決這一問題,傳統坎尼算法由人為設定高低閾值。高低閾值將圖像信息分割為三個部分,真實邊緣部分對應大于高閾值,偽邊緣部分對應介于高低閾值之間,非邊緣部分對應小于低閾值,然后將非邊緣部分的像素點濾除。在實際應用中,需要憑借人為經驗設定高低閾值,重復多次試驗才能確定較為合理的閾值。由于外界因素導致工作條件改變時,又需要重新調整閾值。由此,傳統坎尼算法實際應用時將耗費大量時間,有必要進行改進。
針對高斯濾波對小型注塑件圖像細節保留不充分的問題,考慮使用雙邊濾波替代。與高斯濾波不同,雙邊濾波不僅考慮圖像灰度值大小,而且考慮像素的歐氏距離,在濾除噪聲的同時使邊緣細節信息不容易丟失[13]。雙邊濾波計算式如下:
(1)
(2)
(3)
式中:f(m,n)為濾波處理前圖像中坐標點(m,n)的灰度值;f(i,j)為濾波處理后圖像中坐標點(i,j)的灰度值;v為以坐標點(i,j)為中心,以2r+1為邊長的正方形窗口內所有像素坐標點的合集,r為濾波窗口半徑;ωr(m,n)為坐標點(m,n)的灰度值相似度權重;ωd(m,n)為坐標點(m,n)的空間權重;σd為空間標準差;σr為灰度標準差。
雙邊濾波對圖像的細節保留較為完整,但是在遇到一定程度的強噪聲時,容易將噪聲像素當作邊緣一同保留。強噪聲與中心像素的灰度差值較大,計算獲得的灰度值相似度權重也往往較大。中值濾波對強噪聲的濾除效果極佳,計算原理如圖2所示。

▲圖2 中值濾波計算原理
中值濾波將矩陣內所有像素根據灰度值從小到大排列,矩陣中心像素由序列中值替代,將濾波矩陣以中心像素點為基準移動至下一個位置,如此重復操作。中值濾波不會受到灰度值過大或過小像素點的影響,對強噪聲具有較好的濾除效果。另一方面,一旦中值濾波的尺寸過大,則會造成細節邊緣模糊,同樣在圖像細節保留方面效果欠佳。對此,考慮采用一種能夠根據噪聲分布密度自動調整濾波尺寸大小的自適應中值濾波,并與雙邊濾波進行組合。自適應中值濾波流程如圖3所示,其中Wxy為以坐標點(x,y)為中心的窗口大小,Gmax為Wxy中的最大灰度值,Gmed為Wxy中的灰度值中值,Gmin為Wxy中的最小灰度值,Gxy為坐標點(x,y)的灰度值大小,Wmax為窗口的最大尺寸。

▲圖3 自適應中值濾波流程
進行組合濾波時,先進行自適應中值濾波,將強噪聲濾除,再進行雙邊濾波,濾除剩余噪聲。
針對非極大值抑制時參與的梯度方向不夠全面,導致小型注塑件邊緣提取連續性不佳的問題,考慮基于原有梯度方向,新增22.5°、67.5°、112.5°、157.5°、202.5°、247.5°、292.5°、337.5°梯度方向,梯度方向如圖4所示。

▲圖4 梯度方向
通過計算各方向上歐氏距離的大小,將距離最近的像素點歸為同一梯度方向予以保留。設像素點p的坐標為(i,j),像素點q的坐標為(x,y),像素點p和q之間的歐氏距離S(p,q)為:
(4)
針對憑借人工經驗設定高低閾值需多次重復試驗而造成效率低的問題,考慮采用遺傳算法對高低閾值選取進行優化。遺傳算法是一種通過模擬自然進化過程搜索最優解的方法,流程如圖5所示。

▲圖5 遺傳算法流程
以最大類間方差公式作為遺傳算法的適應度函數,確定最佳高低閾值的評價指標。
圖像灰度值為0~255,個體通常采用二進制編碼。由于傳統坎尼算法要求設置高低兩個閾值,因此用16位二進制數對個體進行編碼,前后各8位分別表示高低閾值,初始種群數目設為50。
最大類間方差法是一種基于全局的二值化算法,不僅處理迅速,而且不易受圖像亮度和對比度的影響。設圖像總像素數為N,灰度值范圍為0~L-1,對應灰度級i的像素數為ni,則概率pi為:
pi=ni/Ni=0,1,2…,L-1
(5)
(6)
將像素點按灰度閾值T分為C0和C1,C0由灰度值為0~T的像素點構成,C1由灰度值為T+1~L-1的像素點構成。C0對應圖像的非邊緣部分,C1對應圖像的真實邊緣部分。整幅圖像的灰度值平均值uT為:
(7)
C0和C1的灰度值平均值u0、u1分別為:
(8)
(9)
C0和C1的灰度分布概率w0、w1分別為:
(10)
(11)
于是有:
uT=w0u0+w1u1
(12)

(13)

f=w1w0(u0-u1)2
(14)
傳統遺傳算法的交叉概率是一個固定值,并且一般在0.4~0.9之間取值,但固定的交叉概率容易導致最終求得的解與實際最優解不符。筆者將交叉概率由固定值改為進化代數到一定值后發生改變。在進化早期提高交叉概率,避免淘汰個體太多而陷入局部最優解。在進化中后期降低交叉概率,加快收斂速度,以提高求解效率。交叉概率Pc為:
(15)
式中:gen為進化代數。
為驗證改進坎尼算法對小型注塑件邊緣提取的可靠性,模擬工廠實際加工環境,采集多幅圖像,直接調用傳統坎尼算法進行對比試驗。計算機配置英特爾酷睿i7-1065G7中央處理器,運行內存為16 GiByte,安裝視窗10操作系統,編程環境為Visual Studio 2017,編程語言為C++。遺傳算法中最大進化代數設置為200,變異概率設置為0.01,濾波器尺寸均調節至同一大小,高低閾值設置傳統坎尼算法與改進坎尼算法一致,其它參數同前文。圖像1如圖6所示,圖像2如圖7所示,圖像3如圖8所示,圖像1算法對比如圖9所示,圖像2算法對比如圖10所示,圖像3算法對比如圖11所示。

▲圖6 圖像1▲圖7 圖像2▲圖8 圖像3

▲圖9 圖像1算法對比▲圖10 圖像2算法對比▲圖11 圖像3算法對比
由算法對比可知,圖像在背景存在一定灰塵和光照不均勻干擾時,傳統坎尼算法對小型注塑件邊緣提取的效果較差,噪聲難以被濾除,邊緣的連續性較差,在對小型注塑件添加標記模擬缺陷并隨意擺放后,邊緣存在大量斷裂,難以反映小型注塑件的真實邊緣情況,改進坎尼算法在對小型注塑件進行邊緣提取時則不存在以上問題。
以下從信噪比、單邊響應原則、算法耗時三個方面對傳統坎尼算法與改進坎尼算法的性能進行對比。
信噪比作為圖像量化評價指標,表示真實邊緣點與噪聲的比值。信噪比SNR為:
(16)
式中:f(x)為-w~w內的濾波脈沖響應;G(-x)為邊緣函數;σ為噪聲均方差。
噪聲均方差越大,表示有效邊緣越多,噪點越少。
信噪比對比見表1,可見改進坎尼算法對小型注塑件邊緣提取時抗噪性明顯提高。

表1 信噪比對比
采用文獻[14]的邊緣評估方法,統計圖像的邊緣像素總數A、四連通域數B、八連通域數C,單邊響應原則試驗對比見表2。C/A越小,表示邊緣圖像的間斷越少,連續性越好。C/B越小,表示邊緣圖像的單邊緣響應效果越好。由表2可見改進坎尼算法對小型注塑件邊緣提取連續性和準確性相比傳統坎尼算法有一定提升,更有利于后續對圖像進行分析。

表2 單邊響應原則試驗對比
算法耗時對比見表3,可見改進坎尼算法雖然耗時相比傳統坎尼算法有所增加,但是對小型注塑件邊緣提取的效果更好,平均耗時在0.5 s以內,能夠滿足實際應用需求。背景干擾減少時,邊緣提取速度將進一步加快。

表3 算法耗時對比 ms
筆者提出用于小型注塑件邊緣提取的改進坎尼算法,相比傳統坎尼算法,具有更強的抗噪性,并且邊緣連續性更好,準確性更高,可以實現對小型注塑件邊緣的完整提取,為小型注塑件后續缺陷檢測提供可靠的邊緣特征信息。