李 鋒
(廣東交通職業技術學院,廣東 廣州510650)
隨著智能制造工藝精度的提高,高精度和快速檢測成為目前亟待解決的問題。機器視覺與圖像識別作為非接觸式檢測方式,具有檢測速度快、精度高的特點,能很好地解決智能制造流水線中的瓶頸,并逐步替代傳統人工檢測方法。
工業檢測對表面缺陷檢測要求更嚴格,傳統表面缺陷成像方法,包括線掃描、結構光、面陣相機等已經不能滿足精度要求,基于超像素檢測算法由此誕生。 表面缺陷檢測問題包括圖像分類和圖像分割兩大部分,通過采集大量缺陷與合格產品圖像,對比分析圖像中缺陷特征,設計相應缺陷檢測算法。
在實際的檢測成像過程中,檢測效果受到檢測物品的拍攝角度、拍攝亮度、拍攝像素等因素的影響。 首先,在物體傳送過程中會存在運動偏差問題,導致物品圖像檢測位置的隨機性,需要對圖像進行修正;其次,在圖像檢測過程中,存在檢測目標與背景差異現象,導致檢測目標的不同區域差異、檢測效率低等問題。 為此,本文提出一種基于熵率聚類的超像素檢測算法以解決上述問題[1]。
超像素是指由有相似視覺特征的相鄰像素組成的像素塊[2]。超像素分割即利用像素之間相似性,預先將像素分組,不再用大量單個像素而是用少量像素塊表示圖像信息,以降低圖像后期處理所需時間及空間復雜度。 超像素表面檢測生成算法主要分為兩類:一類是基于圖論方法,另外一類是基于梯度下降方法。
(1)基于圖論算法
在基于圖論算法中,首先將圖像視為無向圖,考慮圖像中每一個像素點為節點,在相鄰像素點間構成相對應的邊,像素特征之間所存在差異值作為權值,通過定義圖論最小化代價函數對各節點進行劃分操作,從而完成對超像素的分割。
(2)基于梯度下降方法
該算法從全部像素點中選取部分初始聚類像素點作為起始點, 依據約束條件定義約束函數,不斷迭代更新對應聚類,直到算法收斂為止。
上述兩種方法的共同點是將超像素提取看為一種圖像分割結果。 此外,伴隨超像素技術的運用和發展,其與其他人工智能檢測算法相結合,有進一步優化空間[3-4]。
新算法基于熵率聚類超像素機器檢測算法,需要構建一個能量函數,所設計目標函數包括兩部分,第一是圖像隨機游走熵率,第二是平衡項。 對于隨機游走熵率的設立,可利用結構均勻緊湊集群,對圖中單一目標僅使用超像素將其覆蓋。 對于平衡項設計,根據集群之間存在相似尺寸,降低不平衡超像素數量以提取超像素特征和范圍。 下面詳細闡述關于熵率聚類超像素優化步驟及原理,步驟如下:
(1)對待檢測目標物體,實現有效控制所需切割的塊。 根據每個塊所包含空間信息不同,將相同類別像素塊存放在相同超像素塊上,以利于后期處理。此外,針對像素不同的情況,控制所切分的塊能有限減少因像素塊點的不同而導致的誤差。
(2)將每個超像素看作一個整體,判斷圖像類與類之間邊緣子集,并定義為超像素塊邊緣。
(3)將所分割塊數控制在一定范圍內,使超像素邊緣分割精度控制在更高水平。
具體過程如下:設圖像采用帶權無向圖Gr=(N,E)表示,N 為像素點集,E 為邊集,像素點間權值函數關系為:

其中,d(ni,nj)是灰度值之差與空間距離乘積。
目標函數由熵率與平衡項兩部分構成。 熵率使超像素只覆蓋單一類別,形成結構緊湊集群。 由于平衡項需要約束每個超像素的大小與位置,故構建目標函數為:

其中,NA為固定項;R 為全部節點所分割的超像素集個數;a 是被選擇邊集合,a?E;K(A)表示圖像隨機行走熵率, 即實際目標圖像與位置存在的誤差;T(A)是平衡項;μ≥0 是平衡項權重,用以區分同類像素點與其他類像素點。 利用貪婪算法最大化目標函數,則可將圖像分割為超像素。
熵用于權衡隨機變量所存在的不確定性,熵率用于量化隨機提取特征值過程中F={Fx|x∈X}的不確定性。綜合考慮離散隨機變量過程,將熵率表示為:

考慮到圖像中存在隨機游走熵率,熵率項H(F)用于衡量集群緊湊度、均勻度指標,定義無向圖Gr=(N,E)上隨機游走熵率為:

其中,λi=ui/uc,ui是鄰邊相連節點之間權重和,uc是邊集權值和。
定義pi,j為隨機游走轉移概率,wi為各像素到相鄰像素的權值之和,wi,j為轉移概率,ei,j為邊界,對于pi,j值可表達為:

通過上式得出,目標函數主要基于熵進行優化,而熵最重要性質在于其最大值出現在概率分布相同的情況下。 由ei,j為邊界,通過增加集合A 中所在的邊,增加熵率值,挑選最大漲幅的邊在一定程度上有利于形成緊湊與均勻的集群,不同熵率下集群緊湊度與均勻度如圖1 所示。

圖1 熵率對集群緊湊度與均勻度的作用
集群中相似度提升需要使用到的平衡項為:

其中,MA為無向有權圖中連通分支個數,YA為集群中像素整體分布。 令邊集圖像分割為SA={S1,S1,…,SMA},則YA分布為:

結合YA分布推導出不同平衡函數值對集群相似尺寸的作用,平衡函數值越大,集群相似尺寸越小,分割越為均勻,見圖2。

圖2 平衡函數值對集群相似尺寸的作用
由于隨機游走熵率及平衡函數都存在單調性和子模,本算法引入擬陣整體思想,利用貪婪算法優化和確定目標函數。
本文提出基于熵率聚類的超像素表面缺陷檢測算法,首先建立一個基礎圖集合,用G=(V,E,W)表示,V 為像素點圖節點,E 為相鄰像素點所連接形成的邊,W 為衡量相鄰像素對(Vi,Vj)的相似性權值。 邊的構成采用4 鄰域和8 鄰域。
衡量相似性函數模型有高斯函數和柯西函數,分別為:


熵率聚類步驟如下:首先從鄰邊集合E 中選取部分鄰邊構成子集A,A?E,再將全部節點劃分為k 個超像素。 子集A 的選取通過式(10)實現:

其中,NA為固定項,k 為全部節點所分割的超像素集個數,K(A)為目標函數,M(A)為熵率項,C(A)為平衡項,θ 是平衡項權值。
基于隨機游走模型[5-6]計算熵率項K(A),并在鄰邊集A 基礎上生成最小樹,計算靜態分布概率μ和轉移概率pi,j,從而得到:

考慮邊界權值所存在的三種情況[7-8]:i ≠j and ei,j∈A、i≠j and ei,j?A、i=j,從而得到各個像素到相鄰像素的權值之和,即:

靜態分布概率μ 是各個節點權值之和,即:

通過每個超像素點大小確定平衡項,將其轉化為超像素內所包含像素數目|Si|和所有像素數|V|的比值pZA,即:

最后,使用pZA的熵以衡量超像素大小及其分布,定義固定項NA,通過當前鄰邊集A 確定超像素數量為:

目標函數基于熵整體優化,熵率項H(A)在選擇時,會優先選擇內部均勻區域,而平衡項B(A)則是更大程度上保證超像素大小和分布的相對一致性。 貪婪啟發算法用于求解該目標函數。 求解步驟如下:(1)從空集開始,即A=?,沒有任何兩個像素連接,超像素數目最大為|V|;(2)依次遞增增益最大的邊,直到超像素數目減小到所設定數目k 為止。
選取不規則零件進行實驗,其實際尺寸為4.261 mm×4.261 mm,實際像素尺寸為3 690 pix×3 690 pix,測試使用高斯函數衡量相鄰像素的相似性,定義權值之和w=5,轉移概率pi,j=0.2,子集A=100。 超像素提取結果見圖3,超像素誤差分析見圖4。

圖3 超像素提取結果圖

圖4 超像素分割誤差分析圖
從圖3、圖4 可知,不同灰度值下超像素都得到很好分割,邊緣勻稱清晰,超像素邊界與檢測對象的邊界重合,超像素面積分布均勻,平均定位誤差為0.034 27 μm,能 滿 足 高 精 度 工 業 圖 像0.1 μm 精度分割識別需求。
本文提出基于熵率聚類的超像素機器視覺與缺陷檢測算法,綜合利用超像素的鄰邊集,建立起包含有熵率項和平衡項的目標函數,最后通過貪婪啟發算法優化并求解該目標函數,得到最優的超像素集合,在檢測精度上有較大程度的提升,能滿足智能制造高精度工業圖像分割識別需求。