楊 燕,孫智權,陳 震,趙不賄
(1.江蘇大學 電氣信息工程學院,鎮江212013;2.江蘇大學 工業中心,鎮江212013;3.泰州職業技術學院,泰州225300)
紐扣電池又稱扣式電池, 是指形狀如紐扣、按鈕、硬幣、豆粒等小型電池。 因為體型較小,所以紐扣電池廣泛應用于各種微型電子產品中。 在生產制造過程中,紐扣電池因生產工藝本身的不足或其它偶然因素,會出現諸如混料、漏液、氣脹、金屬絲、破殼破蓋、密封圈異常、鋼印、網點異常、斑點、臟污、劃傷等缺陷,因而產生次品。
隨著科技水平的進步,人們對紐扣電池的生產質量要求也越來越高,而生產過程中產生的缺陷將嚴重影響紐扣電池的質量,給消費者帶來較差的消費體驗,因此有必要對紐扣電池缺陷檢測進行研究。
在早期, 對紐扣電池的檢測基本采用人眼觀測,不僅工作效率低,而且受個人思維、外部環境等不確定因素的影響,導致檢測的結果沒有統一的標準。 以基于數字圖像處理的機器視覺技術能夠解決這些問題,但是由于待測圖像數據量較大,無法滿足工業生產的實時性要求。 對此,研究了適合于紐扣電池機器視覺劃痕檢測的算法,在保證檢測精度的前提下,簡化算法,以提高檢測效率。
為了確保將紐扣電池上的劃痕完全拍攝出來,經多種方案嘗試比較,圖像采集系統采用工業面陣相機配合同軸光源的方法,在適當的角度下,拍攝出紐扣電池及其表面缺陷的圖像。 紐扣電池表面劃痕缺陷如圖1 所示。

圖1 紐扣電池表面劃痕缺陷圖像Fig.1 Scratch defect image of button battery surface
圖1為帶有表面劃痕缺陷的紐扣電池圖像。 圖中不僅劃痕的對比度很低,而且紐扣電池上的字母對劃痕檢測產生了干擾, 影響了檢測的準確率,這使得劃痕檢測具有很大的難度。 為此,在提取劃痕之前擬屏蔽字體,以提高劃痕檢測的準確率。
針對紐扣電池表面劃痕缺陷的檢測,采用的圖像處理方法包括模板匹配、圖像平滑、圖像分割以及基于梯度特征的區域生長法。
先將紐扣電池上的字體制作成模板,再將模板與其它紐扣電池進行模板匹配,從而屏蔽紐扣電池的字體,為后續的劃痕檢測奠定基礎。 通過閾值分割的方法提取劃痕缺陷,再用基于梯度的區域生長的方法將斷斷續續的缺陷連接起來, 以減小漏判率,算法流程如圖2 所示。

圖2 算法流程Fig.2 Algorithm flow chart
通過圖像采集系統所獲取的圖像并不十分理想,仍不可避免地存在噪聲,因此在特征提取之前需要對屏蔽字體后的圖像進行處理。 在此采用高斯濾波器抑制噪聲,其運算速度和平滑效果均能滿足檢測要求,采用模板大小為3×3 的高斯濾波器進行圖像平滑處理[1]。 其算法為

式中:σ 為高斯函數分布系數;x,y 分別為行坐標、列坐標。
基于形狀的模板匹配是模板匹配技術中一種常用的方法,主要是根據已知模板圖像的形狀特征,在另一幅圖中找出已知模板圖像[2]。 該系統利用模板匹配的定位功能確定紐扣電池字母在圖像坐標系中的位置,包括坐標、旋轉角度、縮放比等系數。
為提高匹配效率,該系統采用金字塔算法[3]以達到快速運行的目的。 圖像金字塔模型如圖3 所示,從底層開始,每增加1 層,圖像的邊長變為原來的1/2,像素點數變為原來的1/4。 圖像金字塔算法將頂層的結果映射到底層,在匹配分值較高的區域搜索,可以減小匹配范圍[4]。 匹配的效果如圖4所示。

圖3 圖像金字塔模型Fig.3 Image pyramid model

圖4 匹配后的效果Fig.4 Matching effect
將模板匹配出來的字母去除,再用區域填充法[5]進行填充,從而達到屏蔽字體的目的。 處理后的效果如圖5 所示。

圖5 屏蔽字體后的效果Fig.5 Effect of masking fonts
2.4.1 閾值分割法
閾值分割法是圖像處理中應用最為廣泛的一種方法。 常見的閾值分割法有迭代法、最大熵法[6]、OSTU 算法[7]等。 在此著重研究OSTU 算法。
OSTU 算法又稱最大類間方差法, 根據灰度值特征確定最佳的閾值,將圖像分為背景與目標2 個部分。 OSTU 算法的步驟如下:
步驟1計算圖像中每個灰度值的概率Pi;
步驟2圖像中共有L 個不同的灰度級, 目標由圖像中灰度值在[0,k]范圍內的所有像素組成,背景的灰度值在[k+1,L-1]范圍內。 目標、背景的分布概率分別為

步驟3計算各自的平均灰度值m1(k),m2(k),即

步驟4計算每個灰度值的類間差為

步驟5所有類間差中最大的類間差所對應的灰度值即為閾值。
2.4.2 基于梯度的劃痕區域生長
在檢測劃痕時, 由于劃痕本身分布不均勻,導致同一條劃痕被識別成不連續的若干條,若采用統計表面劃痕大小和數量的方法,去判定紐扣電池的質量勢必造成誤判。 因此,在利用閾值方法提取劃痕后,需通過區域生長法對劃痕進一步處理。
區域生長是根據預先定義的生長準則將像素或子區域組合為更大區域的過程。 傳統的區域生長法以灰度、紋理或顏色等特征為種子點,將與種子預先定義的性質相似的鄰域像素,添加到每個種子上來形成生長區域。 但是通過試驗發現,傳統的區域生長法[8-9]在處理斷裂的劃痕時效果并不理想。 故在此提出了基于方向梯度的區域生長算法,以解決劃痕誤判的問題,提高檢測的準確率。
圖像的梯度特征反映了圖像變化幅度大小。 由于劃痕點與垂直于劃痕方向的背景像素點的灰度差異大,而與沿劃痕方向的灰度差異小,因此將劃痕灰度梯度變化最小的方向確定為劃痕方向。 在圖像中像素(a,b)的梯度表示為

式中:f(a,b)為像素點(a,b)的灰度值;gx(a,b)和gy(a,b)分別為像素點(a,b)沿坐標軸x 和y 方向上的梯度。像素點(a,b)的梯度方向角和梯度模值分別為

統計各條劃痕的梯度數據,以最小梯度方向為劃痕,相鄰兩段劃痕歸屬于同一條劃痕的判定條件是它們之間的梯度方向差k 滿足:

式中:tanθ1和tanθ2分別為兩段劃痕區域的梯度方向;n 為方向準確度。
上述方法能夠解決將同一條劃痕誤檢成若干條劃痕的問題,但是可能會將方向相近的不同劃痕誤判為同一條。 因此,將不同區域劃痕端點距離作為區域生長算法的另一個生長條件。 對于任意2 個斷開的劃痕區域,其端點間距離為

式中:(a1,b1),(a2,b2)分別為2 個劃痕區域端點;兩端點間的距離為D,且當D 小于給定閾值ε 時,認為該區域滿足區域生長條件,將它加入新的種子點。
對初始種子點兩端的其他劃痕區域進行搜索與計算,將其與初始種子區域之間的方向夾角滿足式(10)和端點間的距離滿足式(11)的劃痕區域納入到當前種子區域,形成新的劃痕連通區域,再以新的劃痕區域作為初始種子點重復上述過程,直至找不到同時滿足式(10)和式(11)的劃痕區域,結束劃痕生長。 生長效果如圖6 所示。

圖6 生長效果Fig.6 Growth effect
在生產線上拍攝200000 個紐扣電池的圖片,其中的10000 個紐扣電池存在劃痕。 采用所提出的檢測方法進行檢測, 紐扣的劃痕缺陷檢測率達到99.5%,過判率為0.5%,漏判率為0.5%。
從實際出發,結合HALCON 軟件,完成基于機器視覺技術紐扣電池的劃痕檢測。 通過模板匹配的方法將紐扣電池上的字體屏蔽,再利用梯度特征的方法定位出劃痕的位置,并進行試驗。 試驗結果表明,該檢測方法具有運算量小、實時性高和準確率高的特點,具有一定的實際應用價值。