景軍鋒, 張星星
(西安工程大學 電子信息學院, 陜西 西安 710048)
玻璃纖維是一種無機非金屬材料,有著較好的物理化學性能,在各個領域中有著廣泛的應用[1]。玻璃纖維管紗是將玻璃纖維繞制在紗管上所形成的管狀紗線體,是玻璃纖維紗線的一種包裝運輸形式,在工業生產中,需要對管紗退繞后使用。受到生產工藝以及工業環境的影響,制成后的管紗表面會不可避免地出現纖維斷裂、凸出等情況,即產生毛羽,毛羽缺陷影響著管紗的外觀和質量,是判定管紗級別的重要依據之一[2]。
目前,大部分企業仍然依靠人工進行管紗毛羽檢測,隨著科技的發展,機器視覺技術在工業品的檢測中已經得到廣泛的應用[3-4]。本文應用機器視覺技術設計了玻璃纖維管紗毛羽檢測系統,利用線形光源、工業CMOS相機、電機等進行硬件平臺的設計,實現圖像采集。
管紗表面毛羽與紗線毛羽在外形上均為突出的毛刺,紗線毛羽為單根紗線上存在的毛羽,而管紗毛羽為管紗外層表面存在的毛羽,屬于大面積毛羽抽樣檢測,但是二者的主要檢測過程較為類似。國內外對于紗線毛羽檢測的研究較多。利用閾值分割,形態學運算等區域提取方法進行紗線毛羽分割[5],其分割效果不夠理想。使用改進的多分辨率馬爾科夫隨機場模型[6]以及結合FCM(fuzzy-cluster method)和梯度分析[7]的方法,能夠精確地分割出紗線條干,從而得到毛羽區域,但是其計算量較大,不能夠滿足實時檢測需求。本文利用Blob分析法,通過閾值分割,邊界追蹤,霍夫(Hough)變換等操作以實現毛羽的快速準確分割。與紗線毛羽檢測不同之處為管紗毛羽檢測增加了毛羽分類環節,計算毛羽輪廓的矩特征以及區域特征,訓練支持向量機分類器,對3種不同類型的毛羽進行分類。統計線法[5-6]常用于紗線毛羽長度統計,但是它對于部分傾斜或者彎曲的毛羽檢測結果不夠準確。因此,本文根據毛羽的最小外接矩形,來計算管紗毛羽長度,同時通過前后2幀圖像中毛羽位置坐標差值進行毛羽數量統計,并將毛羽分類、毛羽長度測量、毛羽計數結果與人工檢測結果進行了對比,與人工檢測結果較為接近,有較好的工程應用價值。
管紗毛羽存在于管紗的斜面和垂直面,且斜面毛羽與垂直面毛羽檢測過程相同,故以垂直面毛羽檢測為例進行分析。通過對人工檢測方式的研究,設計了管紗毛羽圖像獲取硬件平臺,如圖1所示。主要包括工業相機、光源、步進電動機、計算機等。為獲取完整且清晰的毛羽圖像,選用相機型號為Basler acA2500-14gc,感光芯片類型為CMOS,分辨率為2 590像素×1 942像素,鏡頭型號為Basler lens C125-0618-5 M,6 mm固定焦距,光圈范圍為F1.8~F22,分辨率為500萬像素。光源為OPT-LST82高均勻線形光源。相機采集管紗的切面圖像,光源在管紗側后方,使其剛好能夠照亮管紗切面,同時將黑色背景板置于光源后方,增強毛羽與背景的對比度。通過上述硬件平臺采集到的毛羽圖像如圖2所示。為滿足實際的檢測速度需要,提高檢測效率,調節電動機轉速,使得管紗旋轉1周的時間為4 s,設置相機的AOI(area of interest)大小為2 160像素×240像素。為保證毛羽圖像的完整性及連續性,使前后2幀圖像均有重合部分,設置幀率為30幀/s。

1─黑色背景板;2─光源控制器;3─線形光源; 4─管紗;5─步進電動機;6─工業相機;7─計算機。圖1 系統示意圖Fig.1 System schematic

圖2 毛羽圖像Fig.2 Hairiness images. (a) End hairiness; (b) Loop hairiness; (c) Cross hairiness
管紗毛羽檢測的主要過程分為3個部分:毛羽提取、毛羽分類、毛羽統計。檢測流程圖如圖3所示。

圖3 毛羽檢測流程圖Fig.3 Flow chart of hairiness detection
毛羽提取主要使用Blob分析法,Blob是指具有相似特征的連通區域,通過Blob分析,可以將目標與背景分離,得到目標ROI(region of interest),從而對其進行后續處理[8],結果如圖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
針對毛羽原始圖像,首先進行均值濾波,然后使用大津法閾值二值化圖像,再利用邊界追蹤法[9]提取圖像中存在的邊緣,可以看出,管紗的表面邊緣近似于一條直線,故使用累計概率Hough變換[10]進行直線檢測,直線以上為待處理區域,由于不同毛羽灰度值的差別以及背景板噪聲的影響,利用局部動態閾值進行毛羽分割,得到毛羽后,設置面積閾值A,去除噪聲點,最終得到滿足條件的毛羽區域。
在實際的工業環境中,不同類型的毛羽對管紗的質量和等級有不同程度的影響,常見的管紗毛羽主要為端毛羽、毛圈和毛夾3種,毛夾對管紗質量的影響程度最大,毛圈次之,端毛羽最小,其圖像分別如圖2所示。端毛羽為玻璃纖維紗線束中單根紗線斷裂所形成的毛刺;毛圈是由于紗線束纏繞不均勻導致的單根紗線凸出;毛夾則為紗線束的大量損傷或斷裂。因此,毛羽分類對于實際生產具有重要的指導意義。
對于不同類型的毛羽,其顯著性差別在于輪廓形狀,端毛羽輪廓多為直線形,毛圈多為圓弧形,而毛夾為復雜的不規則形狀。不變矩特征能夠有效地體現目標形狀的幾何特征,且具有旋轉、平移、尺度不變性,在圖像處理領域中有著廣泛的應用[11-12]。對圖像F,其特征的(m+n)階幾何矩Mmn定義為
(1)
式中:m,n=0,1,2,…;x為圖像行坐標;y為圖像列坐標。由式(1)可得其中心矩為
(2)
(3)
其中m+n>1,得到歸一化中心矩對應的二階矩為η02、η20、η11,三階矩為η12、η21、η03、η30,根據二階矩與三階矩可得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個Hu不變矩特征。同時,選取毛羽的高度與面積之比、凸度、圓度與Hu不變矩組成特征向量。以支持向量機為分類器,將毛羽圖像的特征向量輸入到支持向量機進行訓練,利用離線訓練的分類器進行毛羽在線分類。
不同的玻璃纖維企業對管紗毛羽數量、類型和長度有著不同的等級劃分標準。因此,需要統計管紗中不同類型的毛羽數量以及長度,以實現管紗的評級。
2.3.1 毛羽計數
在圖像采集過程中,使前后2幀圖像有所重疊,保證同一根毛羽連續出現在多幀圖像中,由于管紗圖像呈水平狀態,故同一根毛羽的位置信息變化會保持在一定的范圍內,根據毛羽的豎直方向坐標來統計毛羽數量,若前后2幀毛羽豎直方向坐標差值(差值的絕對值)小于閾值T,則認為前后2幀對應毛羽為同一根,即避免毛羽的重復計數。端毛羽坐標為其與管紗表面所在直線交點,毛圈和毛夾均為其與管紗表面直線相交部分的中點坐標。毛羽的計數過程為
1)依次讀取圖像,并進行毛羽提取,若無毛羽存在,則繼續讀取下一幀圖像,直到出現毛羽,記錄其對應的豎直方向坐標,并記錄當前幀的毛羽數量為Si。
2)讀取下一幀圖像,記錄毛羽數量為Si+1,當前毛羽總數為Si+Si+1。
此時,根據毛羽的相對位置可以分為2種情況:
①單幀圖像中的毛羽之間的坐標差值(絕對值)均大于T1時,計算前后2幀毛羽坐標差值,若存在N個差值小于閾值T,則毛羽總數為Si+Si+1-N;
②單幀圖像中的部分毛羽間的坐標差值小于閾值T1時,且小于閾值的差值個數為M。則將這M+1個毛羽視為1個毛夾,因為在閾值范圍內,出現多根毛羽,則其為紗線束的斷裂,將其判定為毛夾。此時毛羽總數為Si+Si+1-M,毛夾總數加1,其余毛羽按照情況①進行統計。
端毛羽和毛圈計數與上述過程相同,在毛夾計數中,與上述過程不同的是情況②,單幀圖像中閾值范圍內出現多根毛夾時,在實際的生產中,其表現為管紗表面出現大量紗線束斷裂,使得管紗無法用于后續的生產應用,故直接判定管紗毛羽不合格,停止計數。
2.3.2 長度計算
在毛羽統計過程中,需要記錄每一幀圖像中毛羽的長度,毛羽重復出現在連續的多幀圖像時,取其最大值作為最終長度。最小外接矩形法在尺寸測量中有著廣泛的應用[14]。因此,選用最小外接矩形法進行毛羽長度測量。根據毛羽的輪廓點坐標,可以得到其最小外接矩形,如圖5所示。

圖5 輪廓最小外接矩形圖Fig.5 Minimum bounding rectangle of contour. (a) End hairiness; (b) Loop hairiness; (c) Cross hairiness
對于毛圈和毛夾,以最小外接矩形的高作為其長度。而端毛羽利用最小旋轉外接矩形的高得到其長度。通過最小外接矩形得到的是毛羽在圖像中的像素個數,需要將其轉換為實際的毛羽長度。
相機到管紗表面的工作距離,即物距為250 mm,視場大小為230 mm×175 mm,相機分辨率為2 590像素×1 942像素,故圖像中單個像素對應的實際物理尺寸P為0.089 mm。假設圖像中的像素個數為Y,則其對應的實際物理尺寸L為
L=YP
(11)
根據式(11),可將最小外接矩形高度對應的像素個數轉換為實際的物理長度。
在實際應用中,根據毛羽的長度值可以對毛羽進行篩選,對部分小于設定值L的毛羽忽略不計,因此,對于不同的生產標準,可以對L值進行相應的調整。
系統軟件測試平臺為Visual Studio 2015,利用OpenCV3.3進行算法驗證,計算機配置為Intel core i5-4460,CPU為3.20 GHz。
參數設置:系統中可變參數為毛羽面積閾值A,毛羽坐標差值閾值T,毛羽相互之間坐標差值T1,毛羽長度值L。實驗選取參數A為25像素,坐標差值T以及T1為15像素,毛羽長度下限L為3 mm。
從毛羽圖像中提取出毛羽后,共截取900張毛羽小圖像來訓練支持向量機分類器,其中每類毛羽樣本數量為300張,在離線狀態下對訓練樣本進行特征提取,并將其特征向量輸入支持向量機進行訓練。離線訓練完成后,對360幀圖像中的416個毛羽進行實時在線分類測試,其統計結果如表1所示,平均分類準確率可達93%。部分準確分類結果如圖6所示,部分錯分類結果如圖7所示。

表1 毛羽分類結果Tab.1 Classification results of hairiness

注:a1~a10為10種端毛羽分類結果圖;b1~b10為10種毛圈分類結果圖;c1~c10為10種毛夾分類結果圖。圖6 分類結果圖Fig.6 Classification results. (a) End hairiness; (b) Loop hairiness; (c) Cross hairiness

注:a1~a3為3種端毛羽錯分類為毛圈圖像; b1~b3為3種毛圈錯分類為端毛羽圖像; c1~c3為3種亮度不均勻圖像。圖7 錯分類圖像Fig.7 Misclassification images. (a) Misclassified as loop hairiness; (b) Misclassified as end hairiness; (c) Uneven brightness
由表1和圖7可以看出,錯分類的毛羽圖像主要是端毛羽和毛圈。由于生產工藝的影響,部分管紗表面靜電作用較強,在管紗旋轉過程中,部分較長的端毛羽會彎曲成圓弧狀,導致其錯分為毛圈,如圖7(a)所示。圖7(b)為由于相機固定在水平方向上,采集的圖像中部分毛圈的起始點和終點在同一直線上,使得毛圈前后高度重合,導致其錯分為端毛羽。圖7(c)所示圖像是在管紗的快速旋轉過程中,由于毛羽與相機相對位置的變換,少量圖像中毛羽亮度不均勻,從而導致分類錯誤。
隨機選取管紗表面的10根毛羽進行人工長度測量,將其與最小外接矩形法測量的結果進行對比,如表2所示。

表2 毛羽長度測量結果Tab.2 Measure results of hairiness length
從表2可以看出,利用最小外接矩形法得到的管紗毛羽長度與人工檢測結果的平均誤差小于0.5 mm,充分說明最小外界矩形法在毛羽長度測量中是可行的。
最終選取10個管紗進行毛羽檢測總體驗證,每個管紗采集120張圖像,對每幀圖像都進行毛羽提取及分類,并進行毛羽計數,同時,統計單個管紗檢測所用時間,其結果如表3所示。

表3 毛羽檢測結果Tab.3 Detection results of hairiness
從表3中可以看出,系統的檢測結果整體上與人工檢測結果較為接近。對于2#,4#和7#管紗,系統所設計的方法檢測結果均優于人工檢測,原因在于人工檢測時,會漏檢部分較小的毛羽。對于8#管紗,是將1個毛圈錯分類為毛羽。從檢測時間上來看,該算法對于毛羽數量較少的管紗,檢測時間較短,由于圖像采集時間為4 s,因此,檢測最短耗時為4 s,且總體上單個管紗的最長檢測時間在10 s以內,而人工檢測單個管紗平均時間約為120 s,因此利用該系統可實現管紗毛羽的高效、快速檢測,能夠滿足實際的工業需要。
本文應用機器視覺技術設計了玻璃纖維管紗毛羽自動檢測系統,通過毛羽提取、毛羽分類、毛羽數量及長度統計3個過程,對管紗表面出現的常見毛羽進行數據統計,根據統計數據能夠剔除殘次品,實現玻璃纖維管紗產品的自動快速分級。通過實驗測試,該系統在與人工檢測精度接近的情況下,可以顯著縮短檢測時間,實現管紗毛羽的快速、自動化檢測,有較好的市場應用價值。
FZXB