探灵笔记游戏下载
 
 
  欄目搜索
 
 
 
 

一種改進分水嶺算法在高速高精度幀片機視覺檢測中的應用

更新日期:2006-09-16  作者:黃恢樂  …  來源:電子技術應用

    摘要:針對高速高精度幀片機視覺檢測中的元件圖像分割問題,提出了一種改進分水嶺算法。該算法結合傳統的邊緣檢測和閾值分割,并采用一定的集水盆區域合并準則,有效地抑制了過分割現象。現場運行結果表明該算法效果很好,滿足了幀片機視覺檢測的要求。

    關鍵詞:分水嶺算法 貼片機 圖像分割

隨著表面貼裝技術的迅速發展,貼片機在我國電子組裝行業中的應用越來越廣泛。它是機-電-光以及微型計算機控制技術的綜合體,通過吸取-位移-定位-放置等功能,實現了將表面貼裝元件快速而準確地貼裝到PCB板指定的焊盤位置。其中貼片機視覺檢測的任務是完成帖裝元件的中心定位、質量檢測以及貼裝校正等。而實現正確的視覺定位與檢測的前提是保證圖像的正確分割,即將貼裝元件準確地從圖像的背景中分割出來。

圖像分割作為由圖像處理到圖像分析的關鍵步驟,至今已有許多相關算法被提出,大致分為三類:一是基于閾值的方法;二是基于區域的方法;三是基于邊緣的方法。盡管這些方法已被廣泛應用于醫學圖像分割、遙感影像特征提取以及紅外目標檢測等諸多領域中,但對于貼片機這種高速運動環境下的高速高精度圖像分割算法國內目前尚處于研究應用的起步階段。

    分水嶺(Watershed)算法是一種新近發展起來的數學形態學圖像分割方法。這種方法之所以引起人們的重視,一是其計算速度較快,二是物體輪廓線的封閉性,三是定位的精確性。但分水嶺算法對微弱邊緣也具有良好的響應,因此采用分水嶺算法進行圖像分割時,通常會產生過度分割的現象。

本文針對項目組在國內率先研制和產業化的八頭全自動高速高精度貼片機中涉及的微型計算機視覺檢測問題,提出了一種以分水嶺算法為基礎,并結合傳統的邊緣檢測和閾值分割算法的改進分水嶺算法,避免了分水嶺變換過度分割的缺陷,實現了貼裝元件與背景的精確分割。

1 傳統閾值分割算法及其缺陷

簡單說來,灰度圖像的閾值分割就是先確定一個處于圖像灰度取值范圍之中的灰度閾值,然后將圖像中各像素的灰度值與這個閾值相比較。像素灰度值大于閾值的為一類,像素灰度值小于閾值的為另一類,灰度值等于閾值的像素可歸入上述兩類之一。這兩類像素一般分屬圖像中的兩類區域,所以對像素根據閾值分類就達到了將目標從背景中分割出來的目的。

如果要把圖像中各種灰度的像素分成多個不同的類,那么需要選擇一系列閾值以將每個像素分到合適的類別中去。如果只用一個閾值分割稱為單閾值分割方法,如果用多個閾值分割稱為多閾值分割方法。

一幅原始圖像f(x,y)取單閾值T分割后的圖像可定義為:

在一般的多閾值分割情況下,取閾值分割后的圖像可表示為:

F(x,y)=k 如Tk-1<f(x,y)≤Tk k=0,1,2,…,K (2)

其中T0,T1,…,Tk是一系列分割閾值,k表示賦予分割后圖像各區域的不同標號。

由此可見,閾值分割算法主要有兩個步驟:

(1)確定需要的閾值;

(2)將分割閾值與像素值比較以劃分像素。

    以上步驟中,確定閾值是分割的關鍵,如果能確定一個合適的閾值就可以方便地將圖像分割開來。但由于圖像的復雜多變性,確定一個準確的閾值并非易事。近年來許多閾值分割算法還借用了神經網絡、模糊數學、遺傳算法、小波變換等工具,但由于所處理的圖像不同,每種方法的適用性都受到一定的局限。特別是對于貼片機,照明情況復雜多變,光照條件和變化對貼裝元件圖像的灰度分布以及元件與背景的對對度影響很大,因此很難確定一個準確的閾值來對圖像進行分割,傳統的閾值分割算法受到了很大限制。特別當元件與背景的對比度差或元件旁邊有干擾點時,即使閾值已被確定,也有可能導致誤分割。

2 傳統分水嶺算法及其缺陷

分水嶺算法是一種基于數學形態學的分割方法,基本原理是把灰度圖像看作是測地學上的地形表面,圖像中每個像素的灰度值代表該點的海拔高度,圖像中每一個局部極小值及其影響區域被稱為集水分別,而集水分盆的邊界則形成分水嶺。分水嶺的計算方法很多,圖1描述了分水嶺算法的經曲體形:浸沒模擬。在圖像的每一個局部極小值處刺穿一個小孔,然后將其逐漸深入一個湖中,圖像的局部極小值點先進水,水逐漸浸入整個集水盆地。當水位達到盆地的邊緣高度就將溢出,這時在水溢出處建立堤壩。如此直到整個圖像沉入水中,所建立的堤壩就成為分開盆地的分水嶺。

g(x,y)=W{f(x,y)} (3)

基于上述浸沒模擬,人們提出了許多分水嶺計算方法,比較經典的是Vincent L提出的。在該算法中,分水嶺計算分為兩個步驟,一個是排序,另一個是淹沒。首先按像素灰度值的升存排列像素,然后升序實現淹沒過程,并利用一個先進先出的數據結構,即循環隊列來擴展標記過的聚水分別地。通過一定的規則,分配分水嶺標記,最終得到準確的結果。

3 改進分水嶺算法

圖像分割的目的是將圖像分割成不同的特體,即提取出物體的邊緣。由于特體邊緣的灰度變化比較強烈,而梯度圖像正好描述了該圖的灰度變化情況,因此,可使用梯度圖像的分水嶺變化換來進行圖像分割。梯度圖像可將原始圖像通過梯度算子邊緣檢測得到,這里采用索貝爾(Sobel)算子,其兩價個3×3梯度變換卷積模板如圖3。

原始輸入圖像f(x,y)經過邊緣檢測索貝爾算法S{·}得到梯度圖像f'(x,y)的算法可以簡單表示為:

f'(x,y)=S{f(x,y)} (4)

分水嶺變換得到輸入圖像的集水分別圖像,而集水盆之間相鄰的像素點,即為分水嶺。顯然,分水嶺表示圖像極大值點。但是這些極大值點中并非所有都是期望的,有些是由于物體的細小結構和噪聲引起。如果每一個極大值點都確定一個集水盆,那么輸出圖像將產生過分割。由于背景之間、物體之間的像素灰度值分別具有相似性,而背景與物體之間的像素灰度值則差別較大,分水嶺變換輸出圖像的各極大值點之間也反映了這種相似性和差別。因此,設定一分割閾值,定義為兩相鄰極大值點之間的灰度差。其某一極大值點與它最鄰近的另一極大值點之間的灰度差小于該閾值時,由這兩個極大值點確定的集水盆將合并;否則兩集水盆操保持不變。該算法描述為:設分水嶺變換后的輸出圖像為g(x,y),任意兩相鄰極大值點的灰度值分別為p1、p2,對應的集水分盆分別為C1、C2,若用(C1+C2)表示兩集水盆合并,(C1、C2)表示兩集水分別保持不變,分割閾值為T1,則該算法的輸出圖像G(x,y)可表示為:

經過區域合并后的圖像G(x,y)為一灰度圖像,而且特體仍有可能被分割成灰度值各不相同的幾個區域。考慮到元件位于圖像中心位置一定范圍內,基于這種先驗知識,對G(x,y)再作一閾值分割,取閾值T2為圖像左上角位置像素灰度值,G(x,y)中灰度值等于T2的像素變換為最小值(0),其余像素變換為最大值(255),經過變換后的目標圖像F(x,y)可表示為:

這樣得到的目標圖像為二值化圖像,元件為全白,背景為全黑,實現了元件的正確分割。

綜上所述,改變分水嶺算法的具體實現步驟如下:

(1)原始輸入圖像f(x,y)進行分水嶺變換輸出包含所有集水盆的灰度圖像g(x,y);

(2)梯度圖像f'(x,y)進行分水嶺變換輸出包含所有集水盆的灰度圖像g(x,y);

(3)針對g(x,y)中所有相鄰的集水分別,在分割閾值T1下進行區域合并,輸出灰度圖像G(x,y)。其中T1取值為g(x,y)中特體與背景所處極大值點之間的最小灰度差,算法描述見式(5);

(4)G(x,y)在閾值T2下進行分割,算法描述見式(6),最終得到目標圖像F(x,y)。

至此實現了物體與背景的分割。

4 試驗結果及分析

將改進分水嶺算法應用于貼片機視覺檢測中的貼裝元件圖像分割。為了便于比較,本文也給出了采用傳統閾值分割后的分割結果,如圖3。

第一列為三種類型元件及其吸嘴的原始灰度圖,分別為Chip、Sot和Soic。可見不同類型的元件,其圖像灰度分布各不相同。

    第二列為傳統閾值分割后的二值化圖,分割閾值分別為90、75和50。可見各類元件的分割閾值差別較大,不能統一。如果閾值太低,則吸嘴上部分較亮的區域也被分割出來;反之,則元件某些管腳的連接部分就不能合并到管腳中,導致這些管腳被分割成兩部分。這些都不利于后續圖像分析。

第三列為采用改進分水嶺算法分割一的二值化圖,分割閾值均為50。可見,吸嘴完全被分割到背景中,而元件所有管腳及其連接部分都合并到一個區域中,不存在過分割現象。而且由于該算法采用的閾值實際為一相對值(相鄰極值點的灰度差),不同于傳統閾值分割中閾值T1為一絕對值。試驗證明,當T1在一個比較大的范圍內變化時,均能實現元件的正確分割,該算法具有較好的穩定性。

圖像的正確分割是進行圖像分析的前景,本文提出的將分水嶺變換與邊緣檢測、閾值分割相結合以及集水盆合并處理的改進算法,可以比較好地處理物體的分割和背景的抑制與消除問題。該算法在貼片機現場生產過程中的應用表明,其性能穩定可靠,實現了貼裝元件圖像的正確分割,滿足了貼片機視覺檢測的要求,為后續圖像分析打下了良好的基礎

 etyjtykjuy
 
探灵笔记游戏下载