馬原東, 倪照風(fēng), 徐 斌, 崔 瀟, 楊秀璋, 羅子江*
(1.貴州財(cái)經(jīng)大學(xué)信息學(xué)院, 貴陽 550025; 2.北京盛開互動(dòng)科技有限公司, 北京 100089)
紡織工業(yè)作為中國(guó)傳統(tǒng)的民生產(chǎn)業(yè),是中國(guó)國(guó)民經(jīng)濟(jì)發(fā)展的支柱,也是中國(guó)在國(guó)際環(huán)境下的優(yōu)勢(shì)產(chǎn)業(yè),為增強(qiáng)紡織工業(yè)在國(guó)際環(huán)境中的競(jìng)爭(zhēng)力,確保紡織品質(zhì)量已成為紡織產(chǎn)業(yè)發(fā)展的重中之重。布匹疵點(diǎn)檢測(cè)是紡織品質(zhì)量保障的重要環(huán)節(jié),通常這種高度重復(fù)性和不確定性的檢測(cè)工作需依靠人工完成。據(jù)統(tǒng)計(jì)檢驗(yàn)員采用傳統(tǒng)人工目測(cè)方式一小時(shí)內(nèi)最多發(fā)現(xiàn)300個(gè)疵點(diǎn),且極易產(chǎn)生疲勞,檢驗(yàn)結(jié)果極易受主觀因素影響,并對(duì)細(xì)微疵點(diǎn)檢測(cè)率極低。因此,迫切需要一種高效率布匹疵點(diǎn)檢測(cè)系統(tǒng)來替代傳統(tǒng)人工目測(cè)方式。
疵點(diǎn)檢測(cè)作為基于機(jī)器學(xué)習(xí)的檢測(cè)方法之一,其核心在于特征提取算法。目前,布料疵點(diǎn)特征提取的諸多方法主要有:①基于模型的方法,包括馬爾科夫隨機(jī)場(chǎng)法[1]、自回歸模型[2]、灰度直方統(tǒng)計(jì)法[3],此類方法對(duì)紋理布料有較好檢測(cè)效果,但計(jì)算量大,對(duì)細(xì)微疵點(diǎn)識(shí)別率極低;②基于頻域的方法,包括二維傅里葉變換法[4]、基于Gabor變換法[5]及小波變換法[6]等,此方法可從布料大環(huán)境確定疵點(diǎn)位置,但對(duì)復(fù)雜紋理布料檢測(cè)率很低;③基于空間域的統(tǒng)計(jì)方法,包括灰度共生矩陣法[7]、基于pulse coupled neural network(PCNN)的檢測(cè)法[8]以及數(shù)學(xué)形態(tài)法[9]等,此類方法極易受噪聲影響,對(duì)細(xì)微疵點(diǎn)存在嚴(yán)重漏檢;④基于視覺譜分析的方法,包括采用Wiener反卷積濾波器方法[10]、基于L0范數(shù)視覺顯著性算法[11]等,此類方法能夠有效檢測(cè)高緯度特征空間瑕疵,但參數(shù)極難優(yōu)化且計(jì)算量較大。此外還有學(xué)者對(duì)帶圖案織物疵點(diǎn)檢測(cè)做特定研究:包括圖像分解算法[12]、最大閾值算法[13]、LBP(local binary pattern)算法[14]、紋理結(jié)構(gòu)算法[15-17]等結(jié)合的疵點(diǎn)混合算法?,F(xiàn)有的檢測(cè)算法相比傳統(tǒng)人工目測(cè)方法,在檢測(cè)精度、檢測(cè)速度及效率上有很大的提高,但難以將檢測(cè)速度、檢測(cè)精度及系統(tǒng)成本兼顧,無法有效解決紋理不統(tǒng)一、光照不均勻、細(xì)微疵點(diǎn)檢測(cè)難等問題。因此提出一種基于特定卷積模型的布料疵點(diǎn)檢測(cè)算法,并在某布料生產(chǎn)企業(yè)采集的數(shù)據(jù)集上進(jìn)行檢測(cè),實(shí)際檢測(cè)結(jié)果表明,本算法能夠在提高檢測(cè)速度、檢測(cè)精度的同時(shí),兼顧實(shí)用性,對(duì)不同類型、不同大小的疵點(diǎn)都有較理想的檢測(cè)結(jié)果。
基于卷積神經(jīng)網(wǎng)絡(luò)的布料疵點(diǎn)檢測(cè)過程主要包括3個(gè)階段:①對(duì)采集的數(shù)據(jù)集進(jìn)行預(yù)處理;②構(gòu)建卷積神經(jīng)網(wǎng)絡(luò),確定卷積模型并獲取卷積權(quán)值;③利用改進(jìn)的非極大值抑制(non-maximum suppression,NMS)算法進(jìn)行候選框分類,實(shí)現(xiàn)缺陷檢測(cè)。算法流程如圖1所示。
圖1 卷積神經(jīng)網(wǎng)絡(luò)布料疵點(diǎn)檢測(cè)算法流程圖Fig.1 Flow chart of convolutional neural network fabric defect detection algorithm
現(xiàn)有的布料疵點(diǎn)檢測(cè)裝置多采用黑白工業(yè)線陣相機(jī)運(yùn)用暗場(chǎng)照明方式突出布料邊緣和輪廓信息,這類方法將導(dǎo)致圖像模糊,嚴(yán)重影響疵點(diǎn)檢測(cè)結(jié)果?,F(xiàn)采用6 000×4 000的高性能攝像機(jī),該相機(jī)可清晰拍攝布料細(xì)節(jié)紋理,首先將圖像預(yù)處理分塊為128×128大小的待測(cè)圖像塊,并對(duì)圖像塊進(jìn)行人工標(biāo)記,采取縮放、高斯模糊、顏色增強(qiáng)等變換擴(kuò)充數(shù)據(jù)集;并直接通過紋理學(xué)習(xí)過濾背景圖片塊,而部分圖像塊包含布料邊緣信息,該類圖像塊破壞布料紋理結(jié)構(gòu)無法準(zhǔn)確識(shí)別,采用三原色紅綠藍(lán)(red-green-blue,RGB)均值法將RGB轉(zhuǎn)換色度飽和度純度色彩模型(hue-saturation-value,HSV)求得圖像塊對(duì)應(yīng)四角的色度(hue,H)均值,根據(jù)均值差有效提取此類圖像塊,并將提取后的布料圖像塊和含邊緣信息圖像塊送入卷積網(wǎng)絡(luò)。
傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)模型[18]由輸入層、卷積層、池化層、全連接層和激活函數(shù)層組成。其中,卷積層用于特征提取,公式為
(1)
(1)通過大量的對(duì)比實(shí)驗(yàn)發(fā)現(xiàn),淺層卷積可更高效的實(shí)現(xiàn)疵點(diǎn)檢測(cè)。如圖2所示,采用同一數(shù)據(jù)集對(duì)不同網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行對(duì)比測(cè)試,實(shí)驗(yàn)結(jié)果表明,7層卷積網(wǎng)絡(luò)可同時(shí)兼顧檢測(cè)速度與檢測(cè)精度,效率明顯優(yōu)于其他網(wǎng)絡(luò)模型。
(2)檢測(cè)中為各網(wǎng)絡(luò)層設(shè)計(jì)合適參數(shù)(卷積步長(zhǎng)和卷積核數(shù)量),可降低網(wǎng)絡(luò)模型占用空間,提高檢測(cè)速度。
圖2 不同卷積下的檢測(cè)速度和檢測(cè)精度對(duì)比Fig.2 Comparison of detection speed and detection accuracy under different convolutions
(3)卷積過程中為避免全連接層對(duì)模型效率的影響,可直接采用卷積操作對(duì)輸入圖像進(jìn)行特征提取,優(yōu)化網(wǎng)絡(luò)模型,提高網(wǎng)絡(luò)分類能力。
基于以上三點(diǎn),設(shè)計(jì)一種包含7個(gè)卷積層、6個(gè)激活函數(shù)層,1個(gè)softmax層的卷積網(wǎng)絡(luò)結(jié)構(gòu),如表1所示,其中前6個(gè)卷積層每層接一個(gè)激勵(lì)函數(shù),卷積層之間采用反向傳播梯度下降算法[19-20]進(jìn)行權(quán)值更新,Conv_7層與改進(jìn)的NMS算法通過交叉熵?fù)p失函數(shù)連接。此網(wǎng)絡(luò)模型通過加深特征提取深度取代池化層;并且全連接層參數(shù)量較大,在進(jìn)行參數(shù)優(yōu)化和權(quán)值裁剪時(shí),通過卷積方式直接進(jìn)行特征映射。
表1 卷積神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì)Table 1 Design of convolution neural network model
實(shí)際網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,利用6 000×4 000像素的高清攝像機(jī)拍攝獲取布料疵點(diǎn)圖像,采用滑動(dòng)步長(zhǎng)為16(網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)而來)像素為128×128的滑動(dòng)窗口采集圖像信息。將采集后的圖像送入卷積網(wǎng)絡(luò)進(jìn)行構(gòu)建:前4層卷積網(wǎng)絡(luò)步長(zhǎng)為2,為保證布料數(shù)據(jù)完整性,通道數(shù)隨卷積層數(shù)逐層成倍增加;第5、6層卷積網(wǎng)絡(luò)步長(zhǎng)為1,通道數(shù)分別為256、512;第7層網(wǎng)絡(luò)步長(zhǎng)為1并輸出兩個(gè)高維特征。
圖3 網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 Network structure
通過卷積計(jì)算獲取圖像高維特征后,送入softmax損失函數(shù)求解特征概率,公式為
(2)
傳統(tǒng)NMS算法運(yùn)用交并比(interection-cover-union,IOU)進(jìn)行多框合并,保留最優(yōu)框,如式(3)所示:
(3)
式(3)中:A、B代表兩個(gè)檢測(cè)框面積;若存在單個(gè)置信度較高的誤檢框,傳統(tǒng)NMS算法無法準(zhǔn)確判定。針對(duì)這一問題,提出一種改進(jìn)的NMS算法,采用多框合并的方式過濾疵點(diǎn),減少誤檢:首先將所有判斷為疵點(diǎn)的候選框保留并進(jìn)行置信度降序排列,選取最大置信度候選框Pi,并將該框與剩余框進(jìn)行交并比計(jì)算;然后統(tǒng)計(jì)與最大框交并比大于閾值的數(shù)量N,并將此類候選框送入特定集合H中,對(duì)該集合求平均置信度P(average probability),公式為
(4)
獲取概率閾值M(概率閾值通過測(cè)試集測(cè)試結(jié)果統(tǒng)計(jì)獲得):①若C>M,即確定最終候選框位置,并顯示為紅色,如圖4所示;②若C 圖4 確定疵點(diǎn)圖像Fig.4 Determining the defect image 圖5 誤檢疵點(diǎn)圖像Fig.5 False detection of defect image 為使本文算法適用于實(shí)際生產(chǎn)中各類生產(chǎn)線,并且讓模型脫離圖形處理器(graphics processing unit,GPU)顯存限制,能夠在普通設(shè)備中高速運(yùn)行,提出一種特征圖分割算法:將原始圖像分割為多塊,并行運(yùn)行。具體公式如下: X=(6 000+px*s-1)/(px*s) (5) Y=(4 000+py*s-1)/(py*s) (6) 式中:6 000×4 000為輸入待測(cè)圖像素大??;px、py分別為水平和垂直方向切分?jǐn)?shù)量;s為滑動(dòng)窗口步長(zhǎng),通過取整操作“/”獲取水平方向和垂直方向的滑動(dòng)次數(shù)X、Y。本文在實(shí)際分割中以步長(zhǎng)為16,像素大小為128×128的滑動(dòng)窗口遍歷整個(gè)待測(cè)圖,為避免切分塊邊長(zhǎng)與步長(zhǎng)無法整除造成邊緣特征遺漏,將原始圖像擴(kuò)充為W、H,具體求取公式如下: W=(px*s)X+112 (7) H=(py*s)Y+112 (8) 式中:W、H分別為擴(kuò)充后圖像的長(zhǎng)和寬,此時(shí)除最后一組分塊外其余每個(gè)塊的長(zhǎng)、寬分別為步長(zhǎng)s與水平和垂直方向滑動(dòng)次數(shù)X、Y的乘積,保證每一個(gè)分塊邊長(zhǎng)都為s倍數(shù),避免特征遺漏;并且對(duì)水平和垂直方向上的最后一組分塊補(bǔ)112的邊緣框(根據(jù)滑動(dòng)窗口與步長(zhǎng)差值設(shè)定),避免原始圖邊緣信息遺漏,具體邊緣添加方式與卷積中補(bǔ)padding相同。實(shí)際生產(chǎn)線中根據(jù)GPU顯存大小確定分塊數(shù)量,在滿足設(shè)備硬件要求的情況下,有效提升模型檢測(cè)速度和檢測(cè)精度,實(shí)驗(yàn)結(jié)果表明該算法可使每張圖片檢測(cè)時(shí)間縮減120 ms左右。 試驗(yàn)中使用準(zhǔn)確率A(accuracy)作為網(wǎng)絡(luò)模型評(píng)判的總指標(biāo),表示檢測(cè)正確布料疵點(diǎn)的樣本數(shù)占總樣本的比值,它是對(duì)檢測(cè)結(jié)果做客觀的評(píng)判,公式為 A=(TP+TN)/(TP+TN+FP+FN) (9) 式(9)中:TP(true positive)表示將正類預(yù)測(cè)為正類數(shù),結(jié)果為真;TN(true negtive)表示將負(fù)類預(yù)測(cè)為負(fù)類數(shù),結(jié)果為真;FP(false positive)表示將負(fù)類預(yù)測(cè)為正類數(shù),結(jié)果為假,屬誤報(bào);FN(false negative)表示將正類預(yù)測(cè)為負(fù)類數(shù),結(jié)果為假,屬漏報(bào)。 圖像采集過程中使用6 000×4 000的高性能攝像機(jī),該相機(jī)可清晰拍攝布料細(xì)節(jié)紋理;與補(bǔ)光燈組成硬件裝置,運(yùn)用紅外裝置檢測(cè)目標(biāo)是否處于待測(cè)狀態(tài),標(biāo)志物離開自動(dòng)進(jìn)行圖像采集。以某布料生產(chǎn)企業(yè)生產(chǎn)線上的7種顏色(包括藏藍(lán)色、金灰色、暗紅色、粉紅色、暗紫色、淺黃色、灰白色)多紋理布料為采集對(duì)象,疵點(diǎn)包括不同顏色(黑色、粉色、紅色、紫色、棕色、青色、白色、藏藍(lán)色)、形狀(包括臟污、刮紗、織稀、跳花)、大小(直徑大小涉及0.2 mm 及以上不等);與正常無疵點(diǎn)圖像建立數(shù)據(jù)集。其中正樣本如圖6所示,為150萬數(shù)據(jù)集;負(fù)樣本如圖7所示,為150萬數(shù)據(jù)集;由于細(xì)微疵點(diǎn)形態(tài)大小各異本研究增加35萬困難樣本如圖8所示。 圖6 布料紋理圖Fig.6 Fabric texture map 圖7 疵點(diǎn)樣式圖Fig.7 Defect pattern 圖8 困難樣本圖Fig.8 Difficult sample map 原始數(shù)據(jù)集采集的疵點(diǎn)圖像尺寸較大,且數(shù)據(jù)集數(shù)量不充分,疵點(diǎn)類別不均衡,因此,對(duì)數(shù)據(jù)集做預(yù)處理,進(jìn)行數(shù)據(jù)擴(kuò)充。為改善采集過程中受拍攝角度、光照環(huán)境、光線等因素影響,對(duì)所有布料進(jìn)行多次采樣,再將采集的圖像分為多個(gè)子圖,人工標(biāo)記子圖瑕疵類別,最后對(duì)不同類別疵點(diǎn)進(jìn)行縮放、高斯模糊、顏色增強(qiáng)等變換。 為減少疵點(diǎn)誤檢,提出一種改進(jìn)的NMS算法,在私有數(shù)據(jù)集中隨機(jī)選取1 000(共3 124個(gè)疵點(diǎn))張待測(cè)布料圖片進(jìn)行測(cè)試,對(duì)傳統(tǒng)的NMS算法與改進(jìn)后的NMS算法進(jìn)行對(duì)比,結(jié)果如表2所示,改進(jìn)后的NMS在疵點(diǎn)檢測(cè)率基本不變的前提下有效減少誤檢情況。 訓(xùn)練實(shí)驗(yàn)建立在Win7系統(tǒng),i7處理器,顯卡NVIDIA GTX 1080Ti上,最大迭代次數(shù)為10 000,初始學(xué)習(xí)率為0.02,權(quán)重衰減系數(shù)為0.000 5,布料疵點(diǎn)檢測(cè)結(jié)果顯示在設(shè)計(jì)的用戶界面(user interface,UI)。 實(shí)際檢測(cè)結(jié)果如表3所示,給出7種顏色布料的檢測(cè)準(zhǔn)確率,每種顏色含4種形狀的疵點(diǎn)(疵點(diǎn)包含不同大小、顏色),可確保測(cè)試集的充分性和實(shí)驗(yàn)結(jié)果的可靠性。實(shí)驗(yàn)結(jié)果表明,該網(wǎng)絡(luò)對(duì)不同顏色的布料都有較理想的檢測(cè)效果,且對(duì)于各類布料中位置和形狀難以觀察的細(xì)微疵點(diǎn)都有較高準(zhǔn)確率。 表2 NMS算法性能比較 表3 布料疵點(diǎn)檢測(cè)準(zhǔn)確率 將本文采用的基于卷積神經(jīng)網(wǎng)絡(luò)的布料疵點(diǎn)檢測(cè)算法與傳統(tǒng)的織物檢測(cè)算法做比較。尤其在檢測(cè)速度,檢測(cè)精度,檢測(cè)效率及其適用性上進(jìn)行對(duì)比,結(jié)果如表4所示,其中,基于卷積神經(jīng)網(wǎng)絡(luò)的算法有效改善已有算法存在的缺陷,在兼顧檢測(cè)速度與檢測(cè)精度的同時(shí),可適用于更大范圍布料,綜合效率明顯高于已有方法。 針對(duì)傳統(tǒng)布料檢測(cè)方法誤檢、漏檢較多等問題,提出基于卷積神經(jīng)網(wǎng)絡(luò)的疵點(diǎn)檢測(cè)方法,顯著提高疵點(diǎn)檢測(cè)效率。其中,數(shù)據(jù)預(yù)處理階段根據(jù)實(shí)地工廠調(diào)研結(jié)果采集缺陷樣本,并進(jìn)行數(shù)據(jù)標(biāo)記、擴(kuò)充;將預(yù)處理后的樣本送入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行構(gòu)建,并利用反向傳播算法調(diào)整參數(shù);緊接著采用改進(jìn)的NMS算法,多框合并,過濾誤檢;為使網(wǎng)絡(luò)模型具有更強(qiáng)魯棒性,最后提出特征圖分割算法。實(shí)驗(yàn)結(jié)果驗(yàn)證了算法有效性,針對(duì)測(cè)試集疵點(diǎn)平均識(shí)別率可達(dá)99.6%,檢測(cè)速度可達(dá)3 f/s,算法適用性較強(qiáng),能夠?qū)崿F(xiàn)工業(yè)生產(chǎn)中對(duì)布料的檢測(cè)要求,并且該算法硬件要求較低,可實(shí)現(xiàn)批量化生產(chǎn)。 表4 織物疵點(diǎn)檢測(cè)中幾種典型算法比較1.3 特征圖分割算法
2 實(shí)驗(yàn)結(jié)果與分析
2.1 評(píng)估指標(biāo)
2.2 建立布料疵點(diǎn)數(shù)據(jù)集
2.3 改進(jìn)的NMS性能比較
2.4 訓(xùn)練結(jié)果分析
3 結(jié)論