鄧澤林 劉 行 董云龍 袁 燁 ,
無紡布具有強度高、透氣性好、質地柔軟等優點,是生產口罩、干濕擦布等醫用紡織品的重要原材料[1].在無紡布實際生產制造過程中,質量檢測至關重要.現階段國內主流的無紡布質量檢測環節大量依賴人工來完成,用工成本高且自動化程度低下,導致效率難以提升.無紡布的產量大,實際鋪網生產速度可高達幾十米/min.而無紡布的瑕疵尺度通常小于0.5 mm (如圖1 所示),導致人工檢測的難度大、檢出率低.根據李比希最低定律[2],如果質量檢測員的檢測效率遠低于生產效率,則上游的無紡布生產設備難以發揮全部性能.人工檢測方式不僅制約了無紡布產能,而且在長時間檢測中質檢員也易發生視覺疲勞,給產品質量上引入了嚴重隱患.因此開展對無紡布瑕疵自動檢測的研究,對提高無紡布的生產效率和質量管控具有深遠意義.

圖1 無紡布生產過程中產生的瑕疵,第1 行為點狀疵點,第2 行為絲狀瑕疵Fig.1 Defects generated in the production process of non-woven fabrics.The dotted defects and filamentary defects are shown in the first and second row
目前對布匹缺陷檢測方法主要可分為4 類[3]:基于頻譜、基于統計、基于模型和基于學習等方法.基于頻譜主要是通過傅里葉變換[4]、小波變換[5-6]和Gabor[7-8]變換等.通過傅里葉變換的方法無法在空間上定位瑕疵位置.而小波變換和Gabor 變換的計算開銷大,難以用于生產過程中的實時檢測.基于統計學是通過直方圖統計[9-10]、灰度共生矩陣和形態學方法對疵點進行特征描述,這類方法[11]計算開銷小,但是對光照等噪聲敏感,其錯檢、漏檢率較高.基于模型的方法是通過自回歸模型和馬爾科夫隨機場模型[12],判斷織物的紋理是否符合此模型.但是基于模型的方法實用性不強,近幾年對其研究較少.
近年來隨著深度學習技術的發展,基于深度學習的方法在布匹疵點[13-14]以及其他各類缺陷[15-16]的檢測中都取得了很好的效果.同時也有大量的公開數據集[17-19],為織物疵點檢測技術的發展提供了數據上的支持.基于學習的檢測方法可分為候選區域的兩階段式和端到端的單階段式,其中候選區域的兩階段式檢測方法有著很高的召回率,廣泛應用于包括布匹瑕疵在內的各類缺陷檢測任務中.基于區域卷積神經網絡 (Region convolutional neural network,R-CNN)[20]的布匹瑕疵檢測方法通過滑窗將高分辨的布匹圖像裁剪成2 000 余個48×48 像素的圖像塊,并將圖像塊作為輸入,以神經網絡作為一個二元分類器判斷輸入的圖像塊是否存在瑕疵.但是這種方法的計算開銷大,難以用于實時檢測中.基于Fast R-CNN[21-22]的布匹瑕疵檢測算法,通過在高層的特征圖中選取候選區域以提高效率.但是無紡布的缺陷尺寸通常小于0.5 mm,在經過卷積后的高層特征圖中存在細節紋理信息丟失,因此這種方法選取的候選區域容易遺漏缺陷區域.
目前對于無紡布疵點檢測的研究較少,主要使用邊緣檢測與動態閾值相結合的經典機器視覺方法[23].這種方法有較高的檢測效率,但是精度和召回率都較低.研究人員對于織物的疵點檢測展開了大量研究,基于深度神經網絡的方法有效地提升了檢測的召回率和精度,但檢測效率依然低下.對于256×256 像素的織物圖像平均檢測耗時達198 ms[24],無法滿足無紡布的實時檢測要求.無紡布生產過程中,布匹寬度大、傳送速度快的特點會產生大量圖像數據,基于卷積神經網絡的織物疵點檢測方法難以滿足無紡布檢測的實時性.因此,目前已有的基于深度學習的織物檢測方法無法直接應用于無紡布的實時檢測中.
綜上所述,基于傳統機器視覺的檢測方法計算開銷大或難以適應噪聲的干擾.對于無紡布中尺寸微小的疵點,目前基于神經網絡的布匹檢測方法難以平衡檢測的召回率和效率.本文提出了一種基于最大穩定極值區域分析和深度學習協同的無紡布瑕疵檢測方法,能夠同時兼顧檢測的精度與效率.本文主要貢獻如下:
1) 提出了一種基于最大穩定極值區域和深度學習協同的無紡布瑕疵檢測方法,可用于無紡布生產過程的瑕疵實時檢測.
2) 通過最大穩定極值區域 (Maximally stable extremal regions,MSER)[25]算法提取候選區域的錨點中心.在不降低分辨率和檢測精度的情況下,有效地提高檢測的效率.
3) 設計了一種分布式無紡布疵點實時檢測系統,降低對計算能力與通信帶寬的需求,提高了系統運行的可靠性.
本文提出了一種基于最大穩定極值區域分析和深度學習協同的無紡布瑕疵檢測方法,并通過預檢測和精確檢測兩級檢測的方式保證精度與效率.
本文使用的是兩階段的區域候選檢測方案,區域候選檢測方案有著較高的召回率[26],廣泛用于各類缺陷檢測中.但是簡單使用滑窗式的區域候選方法產生候選區域過多,難以滿足實時的檢測要求.而在特征圖中選取候選區域的方法,會遺漏微小的無紡布疵點.
如圖1 所示,可以看到無紡布中的疵點通常與鄰域的灰度值存在差異,因此本文使用最大穩定極值區域(MSER)來選取候選區域.MSER 作為一種圖像中斑點區域檢測的方法,常用于圖像中文本區域檢測的任務.而無紡布通常為淺色,疵點為深色,和文本與背景的關系相似.MSER 無需平滑處理即可快速地對多尺度目標進行檢測,提取無紡布中不同尺寸的疵點.MSER 的思路為:通過一系列的閾值對灰度化的圖像進行二值化操作,并獲取不同閾值條件下二值圖像的聯通區域.分析各個聯通區域的面積隨閾值增長時的變化率,如果聯通區域能夠在很寬的閾值范圍內保持較小的面積變化率,則為穩定區域.其實施細節如算法1 所示.MSER 可以有效地生成合格的疵點候選區域,并且可以通過調整閾值τ以滿足對不同等級缺陷的定制檢測要求.
算法 1.最大穩定極值區域算法


MSER 可以產生有效且可控的候選點,如圖2所示.通過MSER 算法提取了候選點后,以候選點為中心提取48×48 像素大小的矩形區域作為預檢測模型和精確檢測模型的輸入.
當復卷機工作在高速模式時,首先由預檢測攝像頭組獲得圖像數據,經過MSER 算法提取候選區域,預檢測模型作為二元分類器判斷候選區域中是否存在瑕疵.為了防止池化操作丟失細節紋理信息而造成疵點的漏檢,模型中沒有使用池化層來減少模型的參數,以保證預檢測過程的召回率.

圖2 在不同閾值 τ 時MSER 算法產生的候選區域,圖中點代表候選區域的中心Fig.2 In the candidate regions generated by the MSER algorithm at different thresholdsτ,the dots represent the center position of the candidate region

圖3 本文采用的預檢測模型結構圖.輸入疵點圖像經過三個不同尺度的卷積后得到三個特征圖,特征圖拼接后作為稠密連接模塊的輸入.稠密連接模塊輸出與全連接層和softmax 層相連.其中虛線矩形框出部分為展開稠密連接模塊的具體形式Fig.3 The structure diagram of the pre-detection model used in this paper.The input defect image is convolved at three different scales to obtain three feature maps,and the feature maps are concatenated as the input of the dense block.The output of the dense block is connected to the fully connected layer and the softmax layer.Among them.The dashed rectangle outlines the specific form of the dense block
預檢測的模型結構如圖3 所示,輸入的48×48像素的圖像經過 1×1,3×3,5×5 的卷積層得到3 個特征圖,3 種不同尺度的卷積核可以實現不同大小的感受野,提高特征感知與整合能力.將3 個特征圖拼接后作為稠密連接模塊[27]的輸入,稠密連接模塊中的每一層的輸入來自之前所有層的輸出,能夠充分保留細節信息,提高網絡的特征感知能力.稠密連接模塊能夠加強特征圖中特征的傳遞,如在稠密連接模塊的最后一層仍然保留輸入圖像的高分辨率信息.這種連接方式可防止在多層卷積計算的過程中,丟失無紡布圖像細微的疵點語義信息.稠密連接模塊的輸出與全連接層相連,預測結果最后通過softmax函數將輸出映射至 [0,1].
預檢測模型的輸入為經過MSER 提取的48×48像素大小的候選區域,輸出為此區域存在疵點的概率.訓練時使用二值交叉熵損失函數作為損失函數:

其中,xi,yi表示訓練數據的輸入和標注,f1(·) 表示預檢測二元分類器.
當預檢測模型檢測到當前無紡布存在缺陷時,主機控制機將復卷機的工作模式切換為低速.在低速工作模式下,精確檢測攝像頭組開始采集圖像,并通過精確檢測模型預測疵點的外接矩形框.精確檢測模型的結構示意圖如圖4 所示.

圖4 本文采用的精確檢測模型.其中 tx,ty,tw,th 分別表示檢測矩形框的橫坐標、縱坐標、寬度與高度,C 表示疵點檢測置信度Fig.4 The precise detection model used in this paper.tx,ty,tw,th are the abscissa,ordinate,width and height of the detection rectangle,and C is the confidence of defect detection
精確檢測模型采用RetinaNet[28]目標檢測模型相似的結構,由特征金字塔部分和全連接部分組成.特征金字塔部分采用了特征金字塔結構[29],特征金字塔由下采樣和上采樣兩部分組成.下采樣通過一系列卷積和最大池化操作,不斷地提高特征圖的語義信息維度并降低特征圖分辨率.上采樣再通過卷積提高特征圖的分辨率并降低語義信息維度.連續的上采樣和下采樣操作,生成了各個尺度的特征圖.由于疵點屬于微小的紋理特征,為了防止在下采樣和上采樣恢復的過程中細節紋理信息的丟失,通過側枝結構將高分辨率的特征圖與上采樣的特征圖進行合并.合并后的特征圖包含了更加豐富的語義信息,并作為特征金字塔部分的輸出.特征金字塔部分輸出的各個尺度的特征圖與全連接層相連,并在全連接層中進行多尺度語義特征信息融合,精確定位疵點外接矩形.
外接矩形預處理方式借鑒YOLOv3[30],精確檢測網絡預測tx,ty,tw,th四個系數和矩形中包含瑕疵的置信度C,四個系數與外接矩形B=[bx,by,bw,bh]之間的轉換式如式(1)所示.

其中,pw,ph為初始矩形的寬和高,(cx,cy) 表示初始矩形的中心坐標.tx,ty為橫縱坐標上的偏移量,并經過了sigmoid 函數進行非線性壓縮.bx,by,bw,bh分別表示預測的外接矩形的中心的橫縱坐標和矩形的寬高.
為了初始化矩形框能夠包含相應的疵點,初始化矩形通常包含真實的矩形框.在初始化矩形與真實矩形為包含關系時,IoU (Intersection over union)損失函數[31]的輸出為零.故精確檢測模型使用CIoU (Complete-IoU)[32]作為損失函數,如式(2)所示.與IoU 損失函數相比,CIoU 還考慮了兩個矩形之間的中心點距離、長寬比.因此CIoU 損失函數在兩個矩形框為包含關系時模型依然能夠很好地收斂.

精確檢測模型預測的外接矩形框之間存在著較大的重合,還需通過非極大值抑制(Non-maximum suppression,NMS)算法進行后處理才可得到最終的預測結果,如圖5 所示.不斷計算置信度缺陷最大的矩形與其余矩形的IoU,如果IoU 值大于設定的閾值T,則認為是非極大值并去除.非極大值抑制算法細節如算法2 所示.

圖5 NMS 算法處理效果圖Fig.5 NMS algorithm processing effect diagram.(a) is the original image;(b) is the network prediction effect diagram,the network prediction rectangle is drawn with a red rectangle;and (c) is the effect diagram processed by the NMS algorithm.
算法 2.非極大值抑制算法


本文所提出算法的整體思路與具體流程如圖6所示.
無紡布的疵點實時檢測系統主要由復卷機、高速工業攝像頭、工業控制機集群以及系統控制軟件組成.本文設計的系統整體結構如圖7 所示,生產過程中的無紡布比較松軟,需要通過復卷機進行切邊、分切以及接頭等操作,達到一定規格、張力要求才能出廠.系統通過在復卷機上加裝工業攝像頭來實時采集無紡布圖像.生產的無紡布在傳動滾軸帶動下,無紡布依次通過攝像頭的視野范圍.布匹在復卷機上進行疵點檢測過程中,當檢測到疵點時復卷機停止運轉,由于慣性會在停止后向前繼續滾動滑出清除面板.為了解決這個問題,本系統將復卷機的工作分為高速和低速兩種模式,并通過主機控制機切換復卷機的工作模式.高速工作模式的無紡布傳送速度為30 m/min,低速時為3 m/min,在低速模式下布匹緩沖距離較小.
由于視頻流數據量巨大,單個千兆網口只能負擔兩路視頻流.系統通過工業控制機集群分布式處理工業攝像頭采集的無紡布視頻流數據,每臺工控機負責采集兩路視頻流并通過交換機獲取當前運行狀態與上傳檢測結果.
本文采用兩個攝像頭組的兩級檢測方式,兩級檢測使用兩個結構不同的模型,能夠在保證檢測效率的情況下精確地檢測無紡布中的疵點.通過預檢測攝像頭組和精確檢測攝像頭組協同工作,兩個攝像頭之間安裝兩個存在一定間距.當預檢測攝像頭組檢測到缺陷時,主機控制機將復卷機調為低速模式.在低速工作模式下,精確檢測攝像頭組開始獲取圖像,并檢測無紡布圖像中的缺陷.預檢測模型使用較簡單的結構提高檢測的速率,并且要求預檢測模型有著較高的召回率.精確檢測由于工作在低速傳送的模式下,對檢測的效率要求較低.故模型設計上可使用較為復雜的模型結構,以提高檢測精度.同時在模型的功能設計上,由于預檢測模型為二元分類器來判斷是否存在瑕疵.而精確檢測模型除了要對缺陷進行分類外,還需要預測出瑕疵的外接矩形框.

圖6 無紡布疵點檢測算法流程圖Fig.6 Flow chart of non-woven fabric defect detection algorithm

圖7 無紡布疵點檢測系統總體組成.(I) 代表工業控制機集群,(II) 代表高速工業攝 像頭,攝像頭發出的光線代表攝像頭的視野.下方的攝像頭組用于預檢測,上方的攝像頭組用于精確檢測Fig.7 The overall composition of the non-woven defect detection system.In the design diagram (I) represents the industrial control machine cluster,(II) represents the high-peed industrial camera,and the light from the camera represents the camera's field of view.The lower camera group is used for pre-detection,and the upper camera group is used for precise detection
無紡布寬較大,通常接近3 m,單一攝像頭視野難以覆蓋.本系統通過16 個工業高速攝像頭呈兩排布局來獲取完整的無紡布圖像.本系統使用的工業高速攝像頭的分辨率為500 萬像素,采集幀率為10 赫茲.由于視頻流數據量巨大,單個千兆網口只能負擔兩路視頻流.本系統通過工業控制機集群分布式處理工業攝像頭采集的無紡布視頻流數據,每臺工控機負責采集兩路視頻流并通過交換機獲取當前運行狀態與上傳檢測結果,具體如圖8 所示.

圖8 系統分布式設計結構Fig.8 System distributed design structure
系統將16 個攝像頭分為預檢測和精確檢測兩組,每組8 個攝像頭.每組攝像頭的視頻流數據由4 個從機處理器負責,每個從機處理器處理兩個相鄰攝像頭產生的視頻流數據.兩個攝像頭與一個從機工業控制機組成一個子網,從機控制機的計算能力能夠實時地處理兩個攝像頭采集的視頻流數據.同時,系統采用的千兆以太網也能在子網中流暢地傳輸兩個攝像頭視頻流數據.在從機處理器中使用本文的疵點檢測算法進行處理,并將檢測的疵點結果和降分辨率的視頻流數據通過以太網發送給主機控制機.主機控制機根據各個從機的檢測結果,給復卷機發送相應的控制指令從而控制整個瑕疵檢測流程.系統采用控制功能分散、顯示操作集中、兼顧分而自治和綜合協調的設計原則[33],有效地提高了系統運行的可靠性.
為了實現更好的數據采集與人工交互方式,本系統還配套開發了疵點實時檢測系統的終端軟件,如圖9 所示.軟件主要用于控制復卷機的啟動、停止等上層邏輯操作、數據集的手工標注,以及從機控制機識別結果的實時顯示.軟件的具體功描述如下:
1) 無紡布數據采集的標注功能.軟件可控制復卷機進入低速模式,同時從機控制機不執行檢測功能,直接將采集到的視頻流數據轉發至主機控制機.軟件從視頻流數據中提取圖像幀,存儲為未標注的數據集.通過軟件對無紡布數據集進行交互式標注,支持不同類型的疵點使用不同的標注進行區分.
2) 控制復卷機的工作.軟件設計了相應的人機交互接口,通過軟件可以顯示目前復卷機的工作狀態.同時,也可控制復卷機的停止、工作,以及高速和低速工作模式之間的切換.

圖9 疵點檢測系統終端軟件Fig.9 Defect detection system terminal software
3) 各個從機控制機疵點檢測的集中顯示功能.從機控制機對其負責的兩個攝像頭的視頻流數據進行疵點檢測,將檢測結果和降低分辨率的視頻流傳輸給主機控制機.主機控制機可將檢測結果進行集中顯示,將檢測到的疵點通過矩形框出,并統計瑕疵的數目、面積作為無紡布生產質量的定量指標.
本文的所有程序均在Intel Xeon E3 1 230-v3@3.4 GHz,Nvidia GTX 1 080,32 GB RAM,Ubuntu 16.04 中進行.使用Pytorch 框架進行訓練,開始的50 個epoch 的學習率是 1×10-4,在接下來的50 個epoch 學習率線性下降到 1×10-6.
在復卷機上加裝的高速工業攝像頭組獲取無紡布圖像數據,通過NMS 算法選取候選區域后,手工標注疵點并構成對應的數據集.數據集共包含無紡布圖像2 000 幅,其中的80%用于訓練,20%用于測試.通過添加高斯噪聲、隨機裁剪和馬賽克等方式進行數據增強.訓練時的相關超參數配置如表1所示.
系統中所使用工業攝像頭、工業控制器和交換機的硬件相關參數如表2 所示.
本文采用精度和召回率來評估無紡布疵點檢測結果.精度P和召回率R的計算式為

其中,TP,FP,FN分別表示真正例、假正例和真反例.

表1 訓練超參數配置Table 1 Training hyperparameter configuration

表2 硬件設備參數Table 2 Hardware device information
MSER 算法對 2 400×600 像素無紡布圖像的平均處理速度為12.7 ms.預檢測模型和精確檢測模型分別訓練后,在測試集上對其進行測試.在測試集上,兩個模型在不同閾值τ的精度和召回率如表3 所示,結果表明可以調節不同的閾值來滿足對不同程度疵點的定制化檢測.兩個模型在測試集的預測速度如表4 所示,完全符合復卷機在低速和高速模式下預測速度要求.測試集上部分疵點的檢測效果如圖10 所示.

圖10 通過本文算法對疵點進行檢測的結果Fig.10 The result of defect detection through the algorithm of this paper

表3 模型在不同閾值下的檢測精度和召回率Table 3 The detection accuracy and recall rate of the model under different thresholds

表4 模型預測速度測試 (ms)Table 4 Model prediction speed test (ms)
YOLOv3、RetianNet、SSD[35]以及本文方法的精度和召回率在不同閾值τ下的對比如圖10 和圖11所示,由圖11 和圖12 可知本文在精度與召回率上均為最優.為了驗證算法的魯棒性,在不同程度的光照下對不同紋理的無紡布使用本文算法進行提取疵點.實驗結果如圖13 所示,結果表明本算法能夠較好地克服無紡布紋理與外部光照的干擾,精確地檢測出無紡布疵點.
將訓練好的兩級模型分別部署于工業控制機中,使用本文所設計系統對復卷機上的無紡布進行疵點檢測.不同類型疵點的檢測精度和召回率測試結果如表5 所示.實驗結果表明,對于0.3 mm 以上的疵點召回率為100%,對0.1 mm 的絲狀疵點召回率98.8%.

圖11 不同模型在不同閾值 τ 下的精度對比Fig.11 Comparison of the accuracy of different models under different thresholds τ

圖12 不同模型在不同閾值 τ 下的召回率對比Fig.12 Comparison of recall rates of different models under different thresholds τ

圖13 不同光照和紋理條件下疵點檢測結果Fig.13 Defect detection results under different lighting and texture conditions
無紡布的質量檢測問題直接關系到其生產效率與質量.為了提高無紡布生產過程中疵點檢測的自動化程度,本文提出了一種基于最大穩定極值區域與卷積神經網絡協同的疵點實時檢測系統.針對無紡布生產過程中,布匹寬度大、速度快的特點.系統通過預檢測與精確檢測兩級檢測機制,兩級檢測分別使用不同結構的模型,在不影響檢測效率的情況下精確地檢測無紡布中的疵點.并通過分布式計算處理架構設計,解決了高速工業攝像頭產生視頻流數據過大的問題.實驗證明本文提出的算法對疵點的檢測精度高,且可達到實時的檢測效率.本文提出的系統對于0.3 mm 以上疵點召回率100%,對0.1 mm 絲狀疵點召回率98.8%,完全能夠滿足無紡布生產現場疵點檢測的效率與精度要求,可廣泛地推廣應用于無紡布生產的疵點實時監測中.目前對于無紡布疵點的清除工作還依賴于人工,下一步將在本文的基礎上,對檢測出的疵點通過機械裝置進行去除,進一步提高無紡布生產的自動化水平.

表5 不同類型疵點的檢測精度和召回率測試Table 5 Testing accuracy and recall rate of different types of defects