李 鋒
(廣東交通職業(yè)技術(shù)學(xué)院,廣東 廣州510650)
隨著智能制造工藝精度的提高,高精度和快速檢測成為目前亟待解決的問題。機(jī)器視覺與圖像識別作為非接觸式檢測方式,具有檢測速度快、精度高的特點(diǎn),能很好地解決智能制造流水線中的瓶頸,并逐步替代傳統(tǒng)人工檢測方法。
工業(yè)檢測對表面缺陷檢測要求更嚴(yán)格,傳統(tǒng)表面缺陷成像方法,包括線掃描、結(jié)構(gòu)光、面陣相機(jī)等已經(jīng)不能滿足精度要求,基于超像素檢測算法由此誕生。 表面缺陷檢測問題包括圖像分類和圖像分割兩大部分,通過采集大量缺陷與合格產(chǎn)品圖像,對比分析圖像中缺陷特征,設(shè)計(jì)相應(yīng)缺陷檢測算法。
在實(shí)際的檢測成像過程中,檢測效果受到檢測物品的拍攝角度、拍攝亮度、拍攝像素等因素的影響。 首先,在物體傳送過程中會存在運(yùn)動偏差問題,導(dǎo)致物品圖像檢測位置的隨機(jī)性,需要對圖像進(jìn)行修正;其次,在圖像檢測過程中,存在檢測目標(biāo)與背景差異現(xiàn)象,導(dǎo)致檢測目標(biāo)的不同區(qū)域差異、檢測效率低等問題。 為此,本文提出一種基于熵率聚類的超像素檢測算法以解決上述問題[1]。
超像素是指由有相似視覺特征的相鄰像素組成的像素塊[2]。超像素分割即利用像素之間相似性,預(yù)先將像素分組,不再用大量單個(gè)像素而是用少量像素塊表示圖像信息,以降低圖像后期處理所需時(shí)間及空間復(fù)雜度。 超像素表面檢測生成算法主要分為兩類:一類是基于圖論方法,另外一類是基于梯度下降方法。
(1)基于圖論算法
在基于圖論算法中,首先將圖像視為無向圖,考慮圖像中每一個(gè)像素點(diǎn)為節(jié)點(diǎn),在相鄰像素點(diǎn)間構(gòu)成相對應(yīng)的邊,像素特征之間所存在差異值作為權(quán)值,通過定義圖論最小化代價(jià)函數(shù)對各節(jié)點(diǎn)進(jìn)行劃分操作,從而完成對超像素的分割。
(2)基于梯度下降方法
該算法從全部像素點(diǎn)中選取部分初始聚類像素點(diǎn)作為起始點(diǎn), 依據(jù)約束條件定義約束函數(shù),不斷迭代更新對應(yīng)聚類,直到算法收斂為止。
上述兩種方法的共同點(diǎn)是將超像素提取看為一種圖像分割結(jié)果。 此外,伴隨超像素技術(shù)的運(yùn)用和發(fā)展,其與其他人工智能檢測算法相結(jié)合,有進(jìn)一步優(yōu)化空間[3-4]。
新算法基于熵率聚類超像素機(jī)器檢測算法,需要構(gòu)建一個(gè)能量函數(shù),所設(shè)計(jì)目標(biāo)函數(shù)包括兩部分,第一是圖像隨機(jī)游走熵率,第二是平衡項(xiàng)。 對于隨機(jī)游走熵率的設(shè)立,可利用結(jié)構(gòu)均勻緊湊集群,對圖中單一目標(biāo)僅使用超像素將其覆蓋。 對于平衡項(xiàng)設(shè)計(jì),根據(jù)集群之間存在相似尺寸,降低不平衡超像素?cái)?shù)量以提取超像素特征和范圍。 下面詳細(xì)闡述關(guān)于熵率聚類超像素優(yōu)化步驟及原理,步驟如下:
(1)對待檢測目標(biāo)物體,實(shí)現(xiàn)有效控制所需切割的塊。 根據(jù)每個(gè)塊所包含空間信息不同,將相同類別像素塊存放在相同超像素塊上,以利于后期處理。此外,針對像素不同的情況,控制所切分的塊能有限減少因像素塊點(diǎn)的不同而導(dǎo)致的誤差。
(2)將每個(gè)超像素看作一個(gè)整體,判斷圖像類與類之間邊緣子集,并定義為超像素塊邊緣。
(3)將所分割塊數(shù)控制在一定范圍內(nèi),使超像素邊緣分割精度控制在更高水平。
具體過程如下:設(shè)圖像采用帶權(quán)無向圖Gr=(N,E)表示,N 為像素點(diǎn)集,E 為邊集,像素點(diǎn)間權(quán)值函數(shù)關(guān)系為:
其中,d(ni,nj)是灰度值之差與空間距離乘積。
目標(biāo)函數(shù)由熵率與平衡項(xiàng)兩部分構(gòu)成。 熵率使超像素只覆蓋單一類別,形成結(jié)構(gòu)緊湊集群。 由于平衡項(xiàng)需要約束每個(gè)超像素的大小與位置,故構(gòu)建目標(biāo)函數(shù)為:
其中,NA為固定項(xiàng);R 為全部節(jié)點(diǎn)所分割的超像素集個(gè)數(shù);a 是被選擇邊集合,a?E;K(A)表示圖像隨機(jī)行走熵率, 即實(shí)際目標(biāo)圖像與位置存在的誤差;T(A)是平衡項(xiàng);μ≥0 是平衡項(xiàng)權(quán)重,用以區(qū)分同類像素點(diǎn)與其他類像素點(diǎn)。 利用貪婪算法最大化目標(biāo)函數(shù),則可將圖像分割為超像素。
熵用于權(quán)衡隨機(jī)變量所存在的不確定性,熵率用于量化隨機(jī)提取特征值過程中F={Fx|x∈X}的不確定性。綜合考慮離散隨機(jī)變量過程,將熵率表示為:
考慮到圖像中存在隨機(jī)游走熵率,熵率項(xiàng)H(F)用于衡量集群緊湊度、均勻度指標(biāo),定義無向圖Gr=(N,E)上隨機(jī)游走熵率為:
其中,λi=ui/uc,ui是鄰邊相連節(jié)點(diǎn)之間權(quán)重和,uc是邊集權(quán)值和。
定義pi,j為隨機(jī)游走轉(zhuǎn)移概率,wi為各像素到相鄰像素的權(quán)值之和,wi,j為轉(zhuǎn)移概率,ei,j為邊界,對于pi,j值可表達(dá)為:
通過上式得出,目標(biāo)函數(shù)主要基于熵進(jìn)行優(yōu)化,而熵最重要性質(zhì)在于其最大值出現(xiàn)在概率分布相同的情況下。 由ei,j為邊界,通過增加集合A 中所在的邊,增加熵率值,挑選最大漲幅的邊在一定程度上有利于形成緊湊與均勻的集群,不同熵率下集群緊湊度與均勻度如圖1 所示。
圖1 熵率對集群緊湊度與均勻度的作用
集群中相似度提升需要使用到的平衡項(xiàng)為:
其中,MA為無向有權(quán)圖中連通分支個(gè)數(shù),YA為集群中像素整體分布。 令邊集圖像分割為SA={S1,S1,…,SMA},則YA分布為:
結(jié)合YA分布推導(dǎo)出不同平衡函數(shù)值對集群相似尺寸的作用,平衡函數(shù)值越大,集群相似尺寸越小,分割越為均勻,見圖2。
圖2 平衡函數(shù)值對集群相似尺寸的作用
由于隨機(jī)游走熵率及平衡函數(shù)都存在單調(diào)性和子模,本算法引入擬陣整體思想,利用貪婪算法優(yōu)化和確定目標(biāo)函數(shù)。
本文提出基于熵率聚類的超像素表面缺陷檢測算法,首先建立一個(gè)基礎(chǔ)圖集合,用G=(V,E,W)表示,V 為像素點(diǎn)圖節(jié)點(diǎn),E 為相鄰像素點(diǎn)所連接形成的邊,W 為衡量相鄰像素對(Vi,Vj)的相似性權(quán)值。 邊的構(gòu)成采用4 鄰域和8 鄰域。
衡量相似性函數(shù)模型有高斯函數(shù)和柯西函數(shù),分別為:
熵率聚類步驟如下:首先從鄰邊集合E 中選取部分鄰邊構(gòu)成子集A,A?E,再將全部節(jié)點(diǎn)劃分為k 個(gè)超像素。 子集A 的選取通過式(10)實(shí)現(xiàn):
其中,NA為固定項(xiàng),k 為全部節(jié)點(diǎn)所分割的超像素集個(gè)數(shù),K(A)為目標(biāo)函數(shù),M(A)為熵率項(xiàng),C(A)為平衡項(xiàng),θ 是平衡項(xiàng)權(quán)值。
基于隨機(jī)游走模型[5-6]計(jì)算熵率項(xiàng)K(A),并在鄰邊集A 基礎(chǔ)上生成最小樹,計(jì)算靜態(tài)分布概率μ和轉(zhuǎn)移概率pi,j,從而得到:
考慮邊界權(quán)值所存在的三種情況[7-8]:i ≠j and ei,j∈A、i≠j and ei,j?A、i=j,從而得到各個(gè)像素到相鄰像素的權(quán)值之和,即:
靜態(tài)分布概率μ 是各個(gè)節(jié)點(diǎn)權(quán)值之和,即:
通過每個(gè)超像素點(diǎn)大小確定平衡項(xiàng),將其轉(zhuǎn)化為超像素內(nèi)所包含像素?cái)?shù)目|Si|和所有像素?cái)?shù)|V|的比值pZA,即:
最后,使用pZA的熵以衡量超像素大小及其分布,定義固定項(xiàng)NA,通過當(dāng)前鄰邊集A 確定超像素?cái)?shù)量為:
目標(biāo)函數(shù)基于熵整體優(yōu)化,熵率項(xiàng)H(A)在選擇時(shí),會優(yōu)先選擇內(nèi)部均勻區(qū)域,而平衡項(xiàng)B(A)則是更大程度上保證超像素大小和分布的相對一致性。 貪婪啟發(fā)算法用于求解該目標(biāo)函數(shù)。 求解步驟如下:(1)從空集開始,即A=?,沒有任何兩個(gè)像素連接,超像素?cái)?shù)目最大為|V|;(2)依次遞增增益最大的邊,直到超像素?cái)?shù)目減小到所設(shè)定數(shù)目k 為止。
選取不規(guī)則零件進(jìn)行實(shí)驗(yàn),其實(shí)際尺寸為4.261 mm×4.261 mm,實(shí)際像素尺寸為3 690 pix×3 690 pix,測試使用高斯函數(shù)衡量相鄰像素的相似性,定義權(quán)值之和w=5,轉(zhuǎn)移概率pi,j=0.2,子集A=100。 超像素提取結(jié)果見圖3,超像素誤差分析見圖4。
圖3 超像素提取結(jié)果圖
圖4 超像素分割誤差分析圖
從圖3、圖4 可知,不同灰度值下超像素都得到很好分割,邊緣勻稱清晰,超像素邊界與檢測對象的邊界重合,超像素面積分布均勻,平均定位誤差為0.034 27 μm,能 滿 足 高 精 度 工 業(yè) 圖 像0.1 μm 精度分割識別需求。
本文提出基于熵率聚類的超像素機(jī)器視覺與缺陷檢測算法,綜合利用超像素的鄰邊集,建立起包含有熵率項(xiàng)和平衡項(xiàng)的目標(biāo)函數(shù),最后通過貪婪啟發(fā)算法優(yōu)化并求解該目標(biāo)函數(shù),得到最優(yōu)的超像素集合,在檢測精度上有較大程度的提升,能滿足智能制造高精度工業(yè)圖像分割識別需求。