景軍鋒, 張星星
(西安工程大學(xué) 電子信息學(xué)院, 陜西 西安 710048)
玻璃纖維是一種無機(jī)非金屬材料,有著較好的物理化學(xué)性能,在各個(gè)領(lǐng)域中有著廣泛的應(yīng)用[1]。玻璃纖維管紗是將玻璃纖維繞制在紗管上所形成的管狀紗線體,是玻璃纖維紗線的一種包裝運(yùn)輸形式,在工業(yè)生產(chǎn)中,需要對管紗退繞后使用。受到生產(chǎn)工藝以及工業(yè)環(huán)境的影響,制成后的管紗表面會(huì)不可避免地出現(xiàn)纖維斷裂、凸出等情況,即產(chǎn)生毛羽,毛羽缺陷影響著管紗的外觀和質(zhì)量,是判定管紗級別的重要依據(jù)之一[2]。
目前,大部分企業(yè)仍然依靠人工進(jìn)行管紗毛羽檢測,隨著科技的發(fā)展,機(jī)器視覺技術(shù)在工業(yè)品的檢測中已經(jīng)得到廣泛的應(yīng)用[3-4]。本文應(yīng)用機(jī)器視覺技術(shù)設(shè)計(jì)了玻璃纖維管紗毛羽檢測系統(tǒng),利用線形光源、工業(yè)CMOS相機(jī)、電機(jī)等進(jìn)行硬件平臺的設(shè)計(jì),實(shí)現(xiàn)圖像采集。
管紗表面毛羽與紗線毛羽在外形上均為突出的毛刺,紗線毛羽為單根紗線上存在的毛羽,而管紗毛羽為管紗外層表面存在的毛羽,屬于大面積毛羽抽樣檢測,但是二者的主要檢測過程較為類似。國內(nèi)外對于紗線毛羽檢測的研究較多。利用閾值分割,形態(tài)學(xué)運(yùn)算等區(qū)域提取方法進(jìn)行紗線毛羽分割[5],其分割效果不夠理想。使用改進(jìn)的多分辨率馬爾科夫隨機(jī)場模型[6]以及結(jié)合FCM(fuzzy-cluster method)和梯度分析[7]的方法,能夠精確地分割出紗線條干,從而得到毛羽區(qū)域,但是其計(jì)算量較大,不能夠滿足實(shí)時(shí)檢測需求。本文利用Blob分析法,通過閾值分割,邊界追蹤,霍夫(Hough)變換等操作以實(shí)現(xiàn)毛羽的快速準(zhǔn)確分割。與紗線毛羽檢測不同之處為管紗毛羽檢測增加了毛羽分類環(huán)節(jié),計(jì)算毛羽輪廓的矩特征以及區(qū)域特征,訓(xùn)練支持向量機(jī)分類器,對3種不同類型的毛羽進(jìn)行分類。統(tǒng)計(jì)線法[5-6]常用于紗線毛羽長度統(tǒng)計(jì),但是它對于部分傾斜或者彎曲的毛羽檢測結(jié)果不夠準(zhǔn)確。因此,本文根據(jù)毛羽的最小外接矩形,來計(jì)算管紗毛羽長度,同時(shí)通過前后2幀圖像中毛羽位置坐標(biāo)差值進(jìn)行毛羽數(shù)量統(tǒng)計(jì),并將毛羽分類、毛羽長度測量、毛羽計(jì)數(shù)結(jié)果與人工檢測結(jié)果進(jìn)行了對比,與人工檢測結(jié)果較為接近,有較好的工程應(yīng)用價(jià)值。
管紗毛羽存在于管紗的斜面和垂直面,且斜面毛羽與垂直面毛羽檢測過程相同,故以垂直面毛羽檢測為例進(jìn)行分析。通過對人工檢測方式的研究,設(shè)計(jì)了管紗毛羽圖像獲取硬件平臺,如圖1所示。主要包括工業(yè)相機(jī)、光源、步進(jìn)電動(dòng)機(jī)、計(jì)算機(jī)等。為獲取完整且清晰的毛羽圖像,選用相機(jī)型號為Basler acA2500-14gc,感光芯片類型為CMOS,分辨率為2 590像素×1 942像素,鏡頭型號為Basler lens C125-0618-5 M,6 mm固定焦距,光圈范圍為F1.8~F22,分辨率為500萬像素。光源為OPT-LST82高均勻線形光源。相機(jī)采集管紗的切面圖像,光源在管紗側(cè)后方,使其剛好能夠照亮管紗切面,同時(shí)將黑色背景板置于光源后方,增強(qiáng)毛羽與背景的對比度。通過上述硬件平臺采集到的毛羽圖像如圖2所示。為滿足實(shí)際的檢測速度需要,提高檢測效率,調(diào)節(jié)電動(dòng)機(jī)轉(zhuǎn)速,使得管紗旋轉(zhuǎn)1周的時(shí)間為4 s,設(shè)置相機(jī)的AOI(area of interest)大小為2 160像素×240像素。為保證毛羽圖像的完整性及連續(xù)性,使前后2幀圖像均有重合部分,設(shè)置幀率為30幀/s。
1─黑色背景板;2─光源控制器;3─線形光源; 4─管紗;5─步進(jìn)電動(dòng)機(jī);6─工業(yè)相機(jī);7─計(jì)算機(jī)。圖1 系統(tǒng)示意圖Fig.1 System schematic
圖2 毛羽圖像Fig.2 Hairiness images. (a) End hairiness; (b) Loop hairiness; (c) Cross hairiness
管紗毛羽檢測的主要過程分為3個(gè)部分:毛羽提取、毛羽分類、毛羽統(tǒng)計(jì)。檢測流程圖如圖3所示。
圖3 毛羽檢測流程圖Fig.3 Flow chart of hairiness detection
毛羽提取主要使用Blob分析法,Blob是指具有相似特征的連通區(qū)域,通過Blob分析,可以將目標(biāo)與背景分離,得到目標(biāo)ROI(region of interest),從而對其進(jìn)行后續(xù)處理[8],結(jié)果如圖4所示。
圖4 毛羽提取圖像Fig.4 Hairiness extraction image. (a) Original image; (b) Otsu threshold image; (c) Border following image; (d) Hough transform image; (e) Hairiness image
針對毛羽原始圖像,首先進(jìn)行均值濾波,然后使用大津法閾值二值化圖像,再利用邊界追蹤法[9]提取圖像中存在的邊緣,可以看出,管紗的表面邊緣近似于一條直線,故使用累計(jì)概率Hough變換[10]進(jìn)行直線檢測,直線以上為待處理區(qū)域,由于不同毛羽灰度值的差別以及背景板噪聲的影響,利用局部動(dòng)態(tài)閾值進(jìn)行毛羽分割,得到毛羽后,設(shè)置面積閾值A(chǔ),去除噪聲點(diǎn),最終得到滿足條件的毛羽區(qū)域。
在實(shí)際的工業(yè)環(huán)境中,不同類型的毛羽對管紗的質(zhì)量和等級有不同程度的影響,常見的管紗毛羽主要為端毛羽、毛圈和毛夾3種,毛夾對管紗質(zhì)量的影響程度最大,毛圈次之,端毛羽最小,其圖像分別如圖2所示。端毛羽為玻璃纖維紗線束中單根紗線斷裂所形成的毛刺;毛圈是由于紗線束纏繞不均勻?qū)е碌膯胃喚€凸出;毛夾則為紗線束的大量損傷或斷裂。因此,毛羽分類對于實(shí)際生產(chǎn)具有重要的指導(dǎo)意義。
對于不同類型的毛羽,其顯著性差別在于輪廓形狀,端毛羽輪廓多為直線形,毛圈多為圓弧形,而毛夾為復(fù)雜的不規(guī)則形狀。不變矩特征能夠有效地體現(xiàn)目標(biāo)形狀的幾何特征,且具有旋轉(zhuǎn)、平移、尺度不變性,在圖像處理領(lǐng)域中有著廣泛的應(yīng)用[11-12]。對圖像F,其特征的(m+n)階幾何矩Mmn定義為
(1)
式中:m,n=0,1,2,…;x為圖像行坐標(biāo);y為圖像列坐標(biāo)。由式(1)可得其中心矩為
(2)
(3)
其中m+n>1,得到歸一化中心矩對應(yīng)的二階矩為η02、η20、η11,三階矩為η12、η21、η03、η30,根據(jù)二階矩與三階矩可得Hu不變矩[13],其分別為T1~T7。
T1=η20+η02
(4)
(5)
T3=(η30-3η12)2+(3η21-η03)2
(6)
T4=(η30+η12)2+(η21+η03)2
(7)
(8)
T6=(η20-η02)[(η30+η12)2-(η21+η03)2]+
4η11(η30+η12)(η21+η03)
(9)
T7=(η30+η12)2-3(η21+η03)2(3η21-η03)·
(η30+η12)-3(η30+η12)2-(η21+η03)2·
(η30-3η12)(η21+η03)
(10)
通過式(4)~(10),得到毛羽輪廓的7個(gè)Hu不變矩特征。同時(shí),選取毛羽的高度與面積之比、凸度、圓度與Hu不變矩組成特征向量。以支持向量機(jī)為分類器,將毛羽圖像的特征向量輸入到支持向量機(jī)進(jìn)行訓(xùn)練,利用離線訓(xùn)練的分類器進(jìn)行毛羽在線分類。
不同的玻璃纖維企業(yè)對管紗毛羽數(shù)量、類型和長度有著不同的等級劃分標(biāo)準(zhǔn)。因此,需要統(tǒng)計(jì)管紗中不同類型的毛羽數(shù)量以及長度,以實(shí)現(xiàn)管紗的評級。
2.3.1 毛羽計(jì)數(shù)
在圖像采集過程中,使前后2幀圖像有所重疊,保證同一根毛羽連續(xù)出現(xiàn)在多幀圖像中,由于管紗圖像呈水平狀態(tài),故同一根毛羽的位置信息變化會(huì)保持在一定的范圍內(nèi),根據(jù)毛羽的豎直方向坐標(biāo)來統(tǒng)計(jì)毛羽數(shù)量,若前后2幀毛羽豎直方向坐標(biāo)差值(差值的絕對值)小于閾值T,則認(rèn)為前后2幀對應(yīng)毛羽為同一根,即避免毛羽的重復(fù)計(jì)數(shù)。端毛羽坐標(biāo)為其與管紗表面所在直線交點(diǎn),毛圈和毛夾均為其與管紗表面直線相交部分的中點(diǎn)坐標(biāo)。毛羽的計(jì)數(shù)過程為
1)依次讀取圖像,并進(jìn)行毛羽提取,若無毛羽存在,則繼續(xù)讀取下一幀圖像,直到出現(xiàn)毛羽,記錄其對應(yīng)的豎直方向坐標(biāo),并記錄當(dāng)前幀的毛羽數(shù)量為Si。
2)讀取下一幀圖像,記錄毛羽數(shù)量為Si+1,當(dāng)前毛羽總數(shù)為Si+Si+1。
此時(shí),根據(jù)毛羽的相對位置可以分為2種情況:
①單幀圖像中的毛羽之間的坐標(biāo)差值(絕對值)均大于T1時(shí),計(jì)算前后2幀毛羽坐標(biāo)差值,若存在N個(gè)差值小于閾值T,則毛羽總數(shù)為Si+Si+1-N;
②單幀圖像中的部分毛羽間的坐標(biāo)差值小于閾值T1時(shí),且小于閾值的差值個(gè)數(shù)為M。則將這M+1個(gè)毛羽視為1個(gè)毛夾,因?yàn)樵陂撝捣秶鷥?nèi),出現(xiàn)多根毛羽,則其為紗線束的斷裂,將其判定為毛夾。此時(shí)毛羽總數(shù)為Si+Si+1-M,毛夾總數(shù)加1,其余毛羽按照情況①進(jìn)行統(tǒng)計(jì)。
端毛羽和毛圈計(jì)數(shù)與上述過程相同,在毛夾計(jì)數(shù)中,與上述過程不同的是情況②,單幀圖像中閾值范圍內(nèi)出現(xiàn)多根毛夾時(shí),在實(shí)際的生產(chǎn)中,其表現(xiàn)為管紗表面出現(xiàn)大量紗線束斷裂,使得管紗無法用于后續(xù)的生產(chǎn)應(yīng)用,故直接判定管紗毛羽不合格,停止計(jì)數(shù)。
2.3.2 長度計(jì)算
在毛羽統(tǒng)計(jì)過程中,需要記錄每一幀圖像中毛羽的長度,毛羽重復(fù)出現(xiàn)在連續(xù)的多幀圖像時(shí),取其最大值作為最終長度。最小外接矩形法在尺寸測量中有著廣泛的應(yīng)用[14]。因此,選用最小外接矩形法進(jìn)行毛羽長度測量。根據(jù)毛羽的輪廓點(diǎn)坐標(biāo),可以得到其最小外接矩形,如圖5所示。
圖5 輪廓最小外接矩形圖Fig.5 Minimum bounding rectangle of contour. (a) End hairiness; (b) Loop hairiness; (c) Cross hairiness
對于毛圈和毛夾,以最小外接矩形的高作為其長度。而端毛羽利用最小旋轉(zhuǎn)外接矩形的高得到其長度。通過最小外接矩形得到的是毛羽在圖像中的像素個(gè)數(shù),需要將其轉(zhuǎn)換為實(shí)際的毛羽長度。
相機(jī)到管紗表面的工作距離,即物距為250 mm,視場大小為230 mm×175 mm,相機(jī)分辨率為2 590像素×1 942像素,故圖像中單個(gè)像素對應(yīng)的實(shí)際物理尺寸P為0.089 mm。假設(shè)圖像中的像素個(gè)數(shù)為Y,則其對應(yīng)的實(shí)際物理尺寸L為
L=YP
(11)
根據(jù)式(11),可將最小外接矩形高度對應(yīng)的像素個(gè)數(shù)轉(zhuǎn)換為實(shí)際的物理長度。
在實(shí)際應(yīng)用中,根據(jù)毛羽的長度值可以對毛羽進(jìn)行篩選,對部分小于設(shè)定值L的毛羽忽略不計(jì),因此,對于不同的生產(chǎn)標(biāo)準(zhǔn),可以對L值進(jìn)行相應(yīng)的調(diào)整。
系統(tǒng)軟件測試平臺為Visual Studio 2015,利用OpenCV3.3進(jìn)行算法驗(yàn)證,計(jì)算機(jī)配置為Intel core i5-4460,CPU為3.20 GHz。
參數(shù)設(shè)置:系統(tǒng)中可變參數(shù)為毛羽面積閾值A(chǔ),毛羽坐標(biāo)差值閾值T,毛羽相互之間坐標(biāo)差值T1,毛羽長度值L。實(shí)驗(yàn)選取參數(shù)A為25像素,坐標(biāo)差值T以及T1為15像素,毛羽長度下限L為3 mm。
從毛羽圖像中提取出毛羽后,共截取900張毛羽小圖像來訓(xùn)練支持向量機(jī)分類器,其中每類毛羽樣本數(shù)量為300張,在離線狀態(tài)下對訓(xùn)練樣本進(jìn)行特征提取,并將其特征向量輸入支持向量機(jī)進(jìn)行訓(xùn)練。離線訓(xùn)練完成后,對360幀圖像中的416個(gè)毛羽進(jìn)行實(shí)時(shí)在線分類測試,其統(tǒng)計(jì)結(jié)果如表1所示,平均分類準(zhǔn)確率可達(dá)93%。部分準(zhǔn)確分類結(jié)果如圖6所示,部分錯(cuò)分類結(jié)果如圖7所示。
表1 毛羽分類結(jié)果Tab.1 Classification results of hairiness
注:a1~a10為10種端毛羽分類結(jié)果圖;b1~b10為10種毛圈分類結(jié)果圖;c1~c10為10種毛夾分類結(jié)果圖。圖6 分類結(jié)果圖Fig.6 Classification results. (a) End hairiness; (b) Loop hairiness; (c) Cross hairiness
注:a1~a3為3種端毛羽錯(cuò)分類為毛圈圖像; b1~b3為3種毛圈錯(cuò)分類為端毛羽圖像; c1~c3為3種亮度不均勻圖像。圖7 錯(cuò)分類圖像Fig.7 Misclassification images. (a) Misclassified as loop hairiness; (b) Misclassified as end hairiness; (c) Uneven brightness
由表1和圖7可以看出,錯(cuò)分類的毛羽圖像主要是端毛羽和毛圈。由于生產(chǎn)工藝的影響,部分管紗表面靜電作用較強(qiáng),在管紗旋轉(zhuǎn)過程中,部分較長的端毛羽會(huì)彎曲成圓弧狀,導(dǎo)致其錯(cuò)分為毛圈,如圖7(a)所示。圖7(b)為由于相機(jī)固定在水平方向上,采集的圖像中部分毛圈的起始點(diǎn)和終點(diǎn)在同一直線上,使得毛圈前后高度重合,導(dǎo)致其錯(cuò)分為端毛羽。圖7(c)所示圖像是在管紗的快速旋轉(zhuǎn)過程中,由于毛羽與相機(jī)相對位置的變換,少量圖像中毛羽亮度不均勻,從而導(dǎo)致分類錯(cuò)誤。
隨機(jī)選取管紗表面的10根毛羽進(jìn)行人工長度測量,將其與最小外接矩形法測量的結(jié)果進(jìn)行對比,如表2所示。
表2 毛羽長度測量結(jié)果Tab.2 Measure results of hairiness length
從表2可以看出,利用最小外接矩形法得到的管紗毛羽長度與人工檢測結(jié)果的平均誤差小于0.5 mm,充分說明最小外界矩形法在毛羽長度測量中是可行的。
最終選取10個(gè)管紗進(jìn)行毛羽檢測總體驗(yàn)證,每個(gè)管紗采集120張圖像,對每幀圖像都進(jìn)行毛羽提取及分類,并進(jìn)行毛羽計(jì)數(shù),同時(shí),統(tǒng)計(jì)單個(gè)管紗檢測所用時(shí)間,其結(jié)果如表3所示。
表3 毛羽檢測結(jié)果Tab.3 Detection results of hairiness
從表3中可以看出,系統(tǒng)的檢測結(jié)果整體上與人工檢測結(jié)果較為接近。對于2#,4#和7#管紗,系統(tǒng)所設(shè)計(jì)的方法檢測結(jié)果均優(yōu)于人工檢測,原因在于人工檢測時(shí),會(huì)漏檢部分較小的毛羽。對于8#管紗,是將1個(gè)毛圈錯(cuò)分類為毛羽。從檢測時(shí)間上來看,該算法對于毛羽數(shù)量較少的管紗,檢測時(shí)間較短,由于圖像采集時(shí)間為4 s,因此,檢測最短耗時(shí)為4 s,且總體上單個(gè)管紗的最長檢測時(shí)間在10 s以內(nèi),而人工檢測單個(gè)管紗平均時(shí)間約為120 s,因此利用該系統(tǒng)可實(shí)現(xiàn)管紗毛羽的高效、快速檢測,能夠滿足實(shí)際的工業(yè)需要。
本文應(yīng)用機(jī)器視覺技術(shù)設(shè)計(jì)了玻璃纖維管紗毛羽自動(dòng)檢測系統(tǒng),通過毛羽提取、毛羽分類、毛羽數(shù)量及長度統(tǒng)計(jì)3個(gè)過程,對管紗表面出現(xiàn)的常見毛羽進(jìn)行數(shù)據(jù)統(tǒng)計(jì),根據(jù)統(tǒng)計(jì)數(shù)據(jù)能夠剔除殘次品,實(shí)現(xiàn)玻璃纖維管紗產(chǎn)品的自動(dòng)快速分級。通過實(shí)驗(yàn)測試,該系統(tǒng)在與人工檢測精度接近的情況下,可以顯著縮短檢測時(shí)間,實(shí)現(xiàn)管紗毛羽的快速、自動(dòng)化檢測,有較好的市場應(yīng)用價(jià)值。
FZXB