董家順,王興東,李殿杰,湯 勃,李 震
(1.武漢科技大學冶金裝備及其控制教育部重點實驗室,湖北 武漢,430081;2.北京鋼研新冶工程技術中心有限公司,北京,100081;3.無錫市瑞爾精密機械有限公司,江蘇 宜興,214222)
熱軋無縫鋼管生產(chǎn)過程中,受軋制設備和工藝等因素影響,鋼管表面會存在各類缺陷,不僅嚴重影響產(chǎn)品外觀,還會降低其抗腐蝕、耐磨和抗疲勞等性能。通過對鋼管表面進行實時檢測,及時發(fā)現(xiàn)缺陷,廠家能有效調(diào)整生產(chǎn)工藝、改進設備狀態(tài)[1]。傳統(tǒng)人工檢測效率低,易造成缺陷誤檢和漏檢,無法對缺陷及表面質(zhì)量進行全面定量評估[2];機器視覺方法可有效彌補不足,其檢測精度高,并能進一步為智能制造提供數(shù)據(jù)平臺[3-4]。
無縫鋼管為圓弧表面,且與熱軋帶鋼、重軌等類似,其表面覆蓋有大量氧化鐵皮。對鋼管圓弧表面的動態(tài)實時檢測,必然會影響光源光照區(qū)域與相機視野的重合性,易造成光照分布不均,大大增加了采用機器視覺方法檢測產(chǎn)品表面缺陷的難度[5-6],研究人員對此也進行了深入探討。Wu等[7]針對鋼軌缺陷圖像縱向灰度均值高、缺陷亮度低且缺陷較少的特點,提出了一種適應不同光照強度的LWLC算法,可均勻化背景灰度,突出表面缺陷。王偉江等[8]提出融合卡通紋理分解和最優(yōu)雙曲正切曲線的方法,實現(xiàn)機柜表面缺陷圖像增強,將圖像分為卡通圖和紋理圖,根據(jù)高斯尺度空間理論建立光照模型,利用雙曲正切曲線的性質(zhì)提高圖像對比度,增強低灰度區(qū)域,但對極端光照條件下的缺陷檢測效果仍不佳。
K-means算法多應用于光照不均勻條件下農(nóng)業(yè)、醫(yī)學等領域的圖像分割。Ratnakumar等[9]采用K-means算法處理衛(wèi)星監(jiān)控圖像,進行森林、海洋、河流等區(qū)域的自然或人為災害預防,取得較滿意效果。Reza 等[10]采用K-means算法對遙感影像進行分割,然后估算水稻面積和產(chǎn)量。Agrawal等[11]將K-means算法與中值濾波、Sobel邊緣檢測及形態(tài)學算法相組合,用于分割人腦醫(yī)學影像中的病變區(qū)域,其損傷評估的準確率較高。
針對鋼管表面缺陷檢測難點,本文提出一種基于改進K-means灰度正反求和的表面缺陷檢測方法。首先建立實驗平臺,獲取包含多種缺陷的鋼管表面圖像,提取出研究區(qū)域;其次采用圖像增強處理以抑制其中的光照和反射不均;然后基于改進K-means灰度正反求和算法實現(xiàn)多種表面缺陷的分割,并進行圖像后處理以優(yōu)化分割效果;最后,構建鋼管表面缺陷圖像樣本集來檢驗本文方法的性能。
本研究所用的鋼管表面圖像采集方法如圖1所示。鋼管位于兩等直徑驅動輥A和B中間,電機使A、B輥同步勻速轉動,帶動鋼管旋轉;調(diào)整線陣相機和線光源的角度α,匹配鋼管C點的切向線速度與線陣相機行頻,即可采集一幅鋼管表面圖像。為了保證成像質(zhì)量,CD間距離由相機及鏡頭確定,調(diào)整輥A和B回轉中心O1與O2間距離x以適應不同外徑的鋼管。
圖1 鋼管表面圖像采集方法示意圖
檢測精度要求為0.2 mm/pixel。線陣相機為華??萍忌a(chǎn)的Dahua L5023MG51,分辨率為2048 pixel,最大行頻51 kHz;光源為東莞科視自動化科技有限公司(CST)生產(chǎn)的LSL-676-40-R,控制器型號為HAPS-24W400-1T;鏡頭為日本KOWA-LM8HC,焦距8 mm,光圈F1.4~F16;PC機型號為HP Laptop,CPU為Intel Core i5-7300HQ @2.50 GHz,8 GB安裝內(nèi)存,Windows10,64位操作系統(tǒng),軟件為Visual Studio 2013+OpenCV 2.4.9版本函數(shù)庫;電機型號為普菲德57BYG2500步進電機。
采用高角度明場照明[12]。實驗樣品為4段表面存在缺陷的鋼管(外徑為220 mm,長度分別為115、160、180、195 mm);調(diào)整距離x=260 mm,CD距離為205 mm,α=45°,線陣相機視野幅寬為300 mm。
相機橫向、縱向分辨率均為2048 pixel,根據(jù)幅寬(300 mm)和分辨率確定橫向、縱向精度為0.146 mm/pixel。根據(jù)鋼管轉速可確定C點切向速度,再結合橫向或縱向精度計算并設定相機行頻。鋼管外圓每旋轉300 mm獲取一張圖像,根據(jù)外圓周長確定整周所需的張數(shù),自動采集鋼管整周圖像,超過部分自動裁掉并重新計次。本文以下給出的均為缺陷區(qū)域圖像。
實驗中采集了凹坑、翹皮、劃傷及輥痕4種鋼管表面缺陷的原始圖像,如圖2所示。
(a)凹坑 (b)翹皮
(c)劃傷 (d)輥痕
原始圖像包括鋼管和非鋼管區(qū)域,采用垂直投影法提取鋼管區(qū)域。參照文獻[13]中的方法設定閾值T,對圖像進行二值化處理。如圖3所示,繪制每列白點(灰度255)總數(shù)隨橫坐標的變化曲線W(x),即垂直投影圖;構造直線y,將W(x)分
圖3 圖像中鋼管區(qū)域定位原理
為上、下兩部分,交點對應橫坐標x1和x2,即對應鋼管邊界位置,其中直線y為:
y=λ·H
(1)
式中:H代表圖像高度,為定值,故y僅由參數(shù)λ確定。
對大量光照不均及光照良好的圖像進行了試驗,確定取T=40、λ=0.8。圖4為從圖2中提取的鋼管區(qū)域圖像。
圖4 提取出的鋼管區(qū)域圖像
光照變化和材料反射不均等會弱化圖像中的缺陷特征,影響檢測結果。本文參考Frankle-McCann Retinex算法原理[14]去除光照變化的影響,保留鋼管自身的反射特性并且增強其表面特征,核心步驟為:
(2)
式中:t為迭代次數(shù);rt+1(x,y)為t次迭代后(x,y)點的灰度值;rt(x,y)為t次迭代前(x,y)點的灰度值;Δl為圖像灰度差;max為圖像灰度最大值。
考慮鋼管表面光照不均圖像具有局部或整體區(qū)域灰度偏低的特點,為了兼顧處理效率與效果,本文t取1,其實際效果就是利用周圍像素點亮度來估計中心點亮度。圖5為圖4中鋼管區(qū)域圖像的增強結果。
圖5 圖像增強結果
缺陷精準分割是鋼管表面缺陷檢測成功與否的關鍵。傳統(tǒng)閾值分割和邊緣檢測方法易受鋼管表面光照變化、反射不均和氧化鐵皮的影響,為此,本文提出一種基于改進K-means灰度正反求和的鋼管表面缺陷檢測方法。
對于鋼管表面缺陷這類復雜多樣且噪聲嚴重的圖像,若采用傳統(tǒng)K-means算法進行分割,其初始聚類數(shù)目K需人為給定,分割效果受K值影響較大,且初始聚類中心的隨機性會導致結果不穩(wěn)定,而Zhang等[15]提出了一種改進的K-means聚類算法,本文將其應用于圖像分割。
設X={x1,x2,…,xN}為圖像一維像素點灰度數(shù)據(jù)集合,噪聲灰度數(shù)據(jù)為局部極大值或極小值。傳統(tǒng)K-means算法以歐氏距離計算灰度之差平方和,會放大噪聲灰度數(shù)據(jù)與正?;叶葦?shù)據(jù)的差異,使得算法對噪聲敏感。本文定義像素間灰度距離為灰度之差[16],可降低算法敏感性,提高計算效率,具體定義為:
d(i,j)=|xi-xj|
(3)
式中:xi和xj為X中任意兩像素點i和j的灰度值,其中1≤i≤N,1≤j≤N,且i≠j。
(4)
式中:|Zk|為對應簇內(nèi)像素點總數(shù)。
X中所有像素點的平均灰度距離M(X)為:
(5)
像素點i的灰度密度ρ(i)為:
(6)
式(6)中,ρ(i)代表與像素點i的灰度距離小于M(X)的像素點數(shù)量。
當像素點i與其他像素點j的灰度距離小于M(X)時,將其組成一個簇,簇內(nèi)平均灰度距離e(i)為:
(7)
定義鄰簇灰度距離h(i)為像素點i與另一個有較高局部灰度密度的像素點j的灰度距離。若像素點i的局部灰度密度最大,則選擇與之灰度距離最大的像素點計算d(i,j),并且令h(i)=max{d(i,j)};若存在ρ(j)>ρ(i),則選擇與之灰度距離最小的像素點計算d(i,j),并且令h(i)=min{d(i,j)}。
定義集合中像素點i的權值ω:
(8)
鄱陽湖區(qū)圩堤管理單位與堤防管理人員在以往的堤防管理工作中,特別是在在歷次的抗洪搶險工作中,在各級水行政主管部門的領導下,發(fā)揮了極大的作用,為防洪減災、為當?shù)氐墓まr(nóng)業(yè)生產(chǎn)和購買經(jīng)濟建設作出了很大貢獻。鄱陽湖生態(tài)經(jīng)濟區(qū)重要圩堤管理單位基本分為縣、鄉(xiāng)管理模式。如廿四聯(lián)圩長90km,由新建縣廿四聯(lián)圩管理局管理,屬事業(yè)單位,管理員6人,年均投入維護資金10萬元。這種管理性質(zhì)的差異體現(xiàn)在管理工作中的結果是職能不清,責任不明,有事無人管,經(jīng)費無保證。
改進K-means圖像分割算法的具體步驟如下:
Step1獲得輸入圖像集合X,根據(jù)式(6)計算所有像素點的ρ(i),取ρ(i)最大的像素點對應灰度z1為第一聚類中心,得Z={z1}。同時,得到與該點灰度距離小于M(X)的像素點,將其從X中去除。
Step2計算X余下像素點的ρ(i)、e(i)和h(i),找出ω值最大的像素點對應灰度z2為第二聚類中心,得Z={z1,z2},將與該點灰度距離小于M(X)的像素點從X中去除。
Step3計算X余下像素點與Z中各聚類中心z1、z2的灰度距離ω(i,z1)、ω(i,z2),如像素i滿足max(ω(i,z1)×ω(i,z2)),則該像素點對應灰度為第三聚類中心z3,得Z={z1,z2,z3},將與z3灰度距離小于M(X)的像素點從X中去除。
Step4同理,若像素點j滿足max(ω(i,z1)×ω(i,z2)×…×ω(i,zk-1)),則j對應灰度zk為第k聚類中心,將與zk灰度距離小于M(X)的像素點從X中去除。
Step5重復Step 4,直到X為空集,得到K個初始聚類中心集合Z={z1,…,zK}。
Step6輸出K個初始聚類中心,執(zhí)行傳統(tǒng)K-means圖像分割算法。
Step7得到各簇中心灰度及該簇像素灰度范圍,將圖像中位于中心灰度最小的簇所對應灰度范圍內(nèi)的像素點灰度值置為255,其余為0,計算終止。
將上述改進K-means圖像分割算法應用于圖4,由于圖4中各像素點可分為缺陷、背景和噪聲3類[17],故取K=3的傳統(tǒng)K-means圖像分割算法進行對比分析,圖像分割結果如圖6所示。
由圖6可見:傳統(tǒng)K-means算法的圖像分割結果受噪聲和光照變化的干擾較為嚴重;改進K-means圖像分割算法對凹坑缺陷圖像的分割效果很好,同時翹皮、劃傷和輥痕缺陷圖像中噪聲和光照變化的不利影響也得到一定程度改善。
(a)傳統(tǒng)K-means算法
(b)改進K-means算法
由于改進K-means圖像分割算法根據(jù)灰度密度和ω值選擇初始聚類中心,可降低噪聲像素點的灰度數(shù)據(jù)選取概率,最終K個初始聚類中心能夠較好地代表圖像有效灰度數(shù)據(jù),可改善分割效果;然而,由圖6(b)可見,劃傷缺陷存在漏檢,翹皮和輥痕缺陷仍未完全有效分割,因此該算法需要進一步改進。
改進K-means圖像分割算法標記中心灰度最小簇為缺陷像素點,實現(xiàn)二值分割,但從最終分割結果來看,仍存在缺陷漏檢和分割不完全的情況。為了實現(xiàn)鋼管表面缺陷的精準分割,下面提出一種基于改進K-means灰度正反求和的圖像分割方法,基本流程如圖7所示。
首先,針對鋼管區(qū)域提取后的圖像f(x,y),計算灰度反轉圖像g(x,y):
g(x,y)=255-f(x,y)
(9)
然后,參考Frankle-McCann Retinex算法原理對f(x,y)和g(x,y)分別進行圖像增強,再采用改進K-means算法分別對它們進行分割,得到If(x,y)和Ig(x,y)。
最后,對兩個分割圖像進行求和。設U(x,y)為二者相加后的二值圖像:
U(x,y)=Ig(x,y)+If(x,y)
(10)
式(10)中,若對應坐標像素點相加灰度值超過255,則取為255。
對于圖4中的鋼管表面缺陷圖像,本文方法的分割過程及最終結果見圖8。與圖6(b)對比,在圖8(d)中,不僅漏檢的劃傷缺陷被全部檢出,
圖7 基于改進K-means灰度正反求和的圖像分割流程
(a)圖4灰度反轉結果
(b)灰度反轉圖像增強結果
(c)灰度反轉圖像分割結果
(d)灰度正反求和結果
而且翹皮和輥痕缺陷的分割完整性良好,同時凹坑缺陷與原始圖像上的一致,但是從整體分割效果來看,還存在噪聲和偽缺陷。
濾波會影響基于K-means算法的圖像分割準確性,本文對分割后的圖像進行后處理,優(yōu)化缺陷形狀和面積特征、去除噪聲和偽缺陷。利用中值濾波消除噪聲;創(chuàng)建半徑為1的圓盤結構元素進行形態(tài)學膨脹[18],提高凹坑、劃傷、翹皮和輥痕缺陷邊緣的連續(xù)性,保證其形狀特征;利用孔洞填充算法[19]消除缺陷內(nèi)部孔洞區(qū)域,保證缺陷的完整性;進一步作形態(tài)學腐蝕,消除因形態(tài)學膨脹而擴大的缺陷面積,保證面積特征的準確性;針對氧化鐵皮形成的偽缺陷問題,對經(jīng)過上述步驟得到的二值圖像進行連通域標記[20],獲取前景像素點個數(shù),小于100像素點的前景認定為偽缺陷,將其置為背景。圖像后處理結果見圖9。
圖9 圖像后處理結果
通過實驗檢測本文方法的性能,以兩種方式構建鋼管表面缺陷圖像樣本集:①對于原始圖像,參照文獻[21]中的方法進行旋轉、縮放和拉伸,獲得不同缺陷圖像樣本集一,其中凹坑35張、翹皮24張、劃傷19張、輥痕22張;②通過光源控制器改變光照強度,獲得均勻光照條件下不同缺陷圖像樣本集二,其中凹坑26張、翹皮12張、劃傷21張、輥痕18張。樣本圖像尺寸統(tǒng)一調(diào)整為512像素×512像素。圖10為兩個樣本集中的部分示例。
(a) 樣本集一 (b) 樣本集二
表1為對兩個圖像樣本集的缺陷檢測結果。經(jīng)計算,對兩個樣本集的綜合檢測率、漏檢率和誤檢率分別為97.35%、2.65%和3.64%,檢測精度較高;本文處理單幅圖像最大耗時4.937 s,小于生產(chǎn)實踐中兩根鋼管到達檢測工位的時間間隔,實時性滿足工業(yè)檢測要求。
對比4種缺陷,輥痕缺陷誤檢率較高,這是因為實際輥痕缺陷由小面積間斷區(qū)域構成,灰度反轉和圖像增強使其部分區(qū)域與氧化鐵皮在面積和灰度上相似,易形成偽缺陷。對于通過方式②構建的樣本集二:翹皮和輥痕缺陷的誤檢率較高,這是因為翹皮和輥痕缺陷的面積分布較大,光照強度增加會弱化或覆蓋部分缺陷區(qū)域特征,造成一定誤檢;同時,劃傷缺陷具有灰度值較高的特點,光照強度較高會覆蓋此類缺陷,故表現(xiàn)出較高漏檢率。
表1 對樣本集的缺陷檢測結果Table 1 Defect detection results of the sample sets
為進一步驗證本文方法對光照不均的抗干擾能力,調(diào)整線光源軸線與線陣相機光敏元件所在直線的夾角為25°,按方式①重新獲取32張(每種缺陷各8張)光照不均條件下的鋼管表面缺陷原始圖像,對圖像缺陷區(qū)域進行人工標注作為缺陷的真實情況。圖11給出分別采用本文方法和經(jīng)
(a)原始圖像 (b)人工標注 (c)Otsu法 (d)本文方法
典Otsu法(最大類間方差法)的分割結果與人工標注圖的直觀對比。由圖11可見,與Otsu法相比,本文方法不受光照不均現(xiàn)象的影響;與人工標注圖對照,本文方法能檢出凹坑和劃傷缺陷,且缺陷形狀和大小較為接近。
對于所有光照不均條件下的鋼管表面缺陷原始圖像,本文方法的綜合檢測率、漏檢率和誤檢率分別為94.85%、6.19%和8.25%,表明本文方法對光照變化具有較好的抗干擾能力。
利用機器視覺方法檢測鋼管表面缺陷的效率高于人工檢測,但由于鋼管表面覆蓋的氧化鐵皮以及弧形表面易造成光照不均等問題,導致圖像分割困難。針對該現(xiàn)象,本文提出了一種基于改進K-means算法的灰度正反求和檢測方法。首先參照Frankle-McCann Retinex算法原理對鋼管區(qū)域圖像及其灰度反轉圖像進行增強處理,然后采用改進K-means算法對兩個增強圖像進行分割,對分割結果求和并作圖像后處理,得到最終檢測結果。
通過多個鋼管表面缺陷圖像樣本集進行性能檢測,結果顯示該方法對鋼管表面常見的凹坑、翹皮、劃傷和輥痕缺陷的檢測效果良好,并且光照不均情況下的分割結果明顯優(yōu)于最大類間方差法,即對光照變化的抗干擾能力較強。
本文方法對其他回轉體表面缺陷的檢測具有借鑒意義,后續(xù)可考慮增加表面缺陷類型并開展工業(yè)應用研究。