王澤霞, 陳 革, 陳振中
(東華大學(xué) 機(jī)械工程學(xué)院, 上海 201620)
化學(xué)纖維是一種常見(jiàn)的合成材料,因其強(qiáng)度高、密度小、彈性好等優(yōu)點(diǎn)被廣泛運(yùn)用于各個(gè)領(lǐng)域,除傳統(tǒng)的紡織服裝領(lǐng)域外,其在國(guó)防航天、生物醫(yī)用材料[1]、能源開(kāi)發(fā)[2]等領(lǐng)域也有所涉及。為便于存放和運(yùn)輸,化學(xué)纖維通常卷繞在紙筒上形成絲餅,由于加工過(guò)程中速度過(guò)高、張力不均以及卷繞過(guò)程紙管跳動(dòng)[3]等原因,生產(chǎn)出來(lái)的絲餅會(huì)產(chǎn)生各種表面缺陷,其中油污、絆絲、表面成型不良是最為常見(jiàn)的 3種缺陷,這些缺陷的存在不僅會(huì)影響絲餅的一等品率,且會(huì)影響后織造過(guò)程的順利進(jìn)行和織物的質(zhì)量,因此,對(duì)化纖絲餅進(jìn)行表面缺陷檢測(cè)是一道必不可少的工序。
目前對(duì)于紡織品的缺陷檢測(cè)大多是對(duì)紗線或織造之后的平面織物進(jìn)行檢測(cè)[4-6],而對(duì)卷繞之后的絲餅缺陷檢測(cè)的研究?jī)?nèi)容還較少。各化纖工廠對(duì)絲餅的表面缺陷檢測(cè)還是依靠檢測(cè)人員在燈光照明條件下進(jìn)行肉眼識(shí)別,這種人工檢測(cè)方法受人為主觀因素影響較大,易造成漏檢和誤檢,且長(zhǎng)時(shí)間的重復(fù)工作對(duì)人的身體危害很大。近年來(lái),基于機(jī)器視覺(jué)的檢測(cè)技術(shù)取得很大的發(fā)展,文獻(xiàn)[7]采用機(jī)器視覺(jué)的方法設(shè)計(jì)了提取絲餅毛羽缺陷特征的卷積核,獲取了毛羽特征,實(shí)現(xiàn)了對(duì)絲餅毛羽的檢測(cè)。然而基于機(jī)器視覺(jué)的方法需要針對(duì)特定問(wèn)題提取特定的特征,且最后的檢測(cè)結(jié)果很大程度依賴于設(shè)計(jì)的特征,通用性不強(qiáng)。深度學(xué)習(xí)作為機(jī)器學(xué)習(xí)領(lǐng)域的新熱點(diǎn),通過(guò)對(duì)低層特征的層層組合,自動(dòng)得到更抽象的高層特征表示,將特征提取與分類識(shí)別2個(gè)過(guò)程結(jié)合起來(lái),在圖像識(shí)別、語(yǔ)音識(shí)別領(lǐng)域都取得了突破性進(jìn)展。
為此,本文提出基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的化纖絲餅表面缺陷識(shí)別方法,首先對(duì)采集的絲餅圖片進(jìn)行分塊操作,然后利用多個(gè)卷積層進(jìn)行逐層特征提取,并用全局最大池化層替代傳統(tǒng)的全連接層減少網(wǎng)絡(luò)模型的參數(shù),用softmax分類器進(jìn)行分類。最后,針對(duì)絲餅樣本易獲取難標(biāo)注的情況,提出一種主動(dòng)學(xué)習(xí)方法,先標(biāo)注少量樣本訓(xùn)練網(wǎng)絡(luò),然后讓網(wǎng)絡(luò)主動(dòng)挑選最具有價(jià)值的未標(biāo)注樣本,讓具有豐富經(jīng)驗(yàn)的絲餅缺陷鑒別工作人員進(jìn)行類別判定和定標(biāo)簽,并添加到訓(xùn)練樣本中重新對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,如此迭代訓(xùn)練多次,實(shí)現(xiàn)對(duì)化纖絲餅表面缺陷的檢測(cè)。
基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的化纖絲餅表面缺陷識(shí)別主要分為3個(gè)步驟:1)對(duì)采集到的絲餅圖像進(jìn)行預(yù)處理,建立絲餅圖像庫(kù);2)構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型,進(jìn)行缺陷特征的提取和分類;3)利用主動(dòng)學(xué)習(xí)方法挑選訓(xùn)練樣本,減少網(wǎng)絡(luò)所需標(biāo)注樣本數(shù)量。算法流程圖如圖1所示。
圖1 算法流程圖Fig.1 Algorithm flowchart
實(shí)驗(yàn)所用絲餅圖像來(lái)自浙江省某化纖廠,采用工業(yè)CMOS相機(jī)采集,分辨率為2 048像素×1 536像素。由于絲餅缺陷相對(duì)于整個(gè)絲餅圖像來(lái)說(shuō)比較小,為突出各缺陷的特征,首先對(duì)采集到的絲餅圖像進(jìn)行分塊處理。多次實(shí)驗(yàn)證明,尺寸為128像素×128像素的窗口可較好地表明要識(shí)別的絲餅缺陷,且避免了同一個(gè)樣本中出現(xiàn)多種缺陷的情況。圖2示出分塊后的正常以及3種缺陷類型的絲餅樣本。
圖2 正常以及缺陷樣本Fig.2 Normal and defective samples. (a) Normal; (b) Tripping filament; (c) Bad shape; (d) Stained yarn
為進(jìn)一步擴(kuò)充樣本,對(duì)采集的絲餅圖像進(jìn)行移位和隨機(jī)旋轉(zhuǎn),然后再進(jìn)行分塊以及標(biāo)注,最后對(duì)分塊之后的各類型樣本進(jìn)行水平翻轉(zhuǎn),再次實(shí)現(xiàn)數(shù)據(jù)擴(kuò)充。數(shù)據(jù)增強(qiáng)方法的前提是不改變圖像的原有標(biāo)注,如果先分塊標(biāo)注,再進(jìn)行旋轉(zhuǎn)縮放操作,可能會(huì)導(dǎo)致原本有缺陷的樣本變成無(wú)缺陷,如原樣本為絆絲缺陷,缺陷在邊緣,放大之后缺陷部分超出原來(lái)圖像的邊界,圖像變?yōu)闊o(wú)缺陷樣本,這會(huì)導(dǎo)致錯(cuò)標(biāo)樣本,不利于提升分類器性能。
由于絲餅圖像采集過(guò)程中環(huán)境、相機(jī)等因素的影響,采集的圖片會(huì)產(chǎn)生很多噪聲,這些噪聲的存在會(huì)影響后續(xù)的分類識(shí)別過(guò)程。為盡可能地去除這些噪聲并保留絲餅缺陷圖像的細(xì)節(jié)信息,提高圖像的信噪比,對(duì)分塊后的圖像采用3像素×3像素的模板進(jìn)行高斯濾波預(yù)處理。
1.2.1 卷積神經(jīng)網(wǎng)絡(luò)的構(gòu)建
卷積神經(jīng)網(wǎng)絡(luò)由多個(gè)卷積加池化層組成,其逐層提取圖片的特征,由淺到深,由整體到局部,具有很強(qiáng)的學(xué)習(xí)能力,相比于支持向量機(jī)這樣的淺層機(jī)器學(xué)習(xí)來(lái)說(shuō),提取的特征更具表達(dá)能力,能夠分離出解釋不同類別的抽象的“變差因素”,使分類更加容易,這為解決絲餅的缺陷識(shí)別問(wèn)題提供了思路。
AlexNet[8]網(wǎng)絡(luò)是一個(gè)經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò),在圖像識(shí)別分類領(lǐng)域取得很大進(jìn)展。但網(wǎng)絡(luò)采用全連接結(jié)構(gòu),使得網(wǎng)絡(luò)參數(shù)過(guò)多,訓(xùn)練速度慢,對(duì)于絲餅缺陷檢測(cè)來(lái)說(shuō)存在檢測(cè)速度慢的問(wèn)題;另外AlexNet的首層卷積核大小為11×11,尺寸較大。一般大尺寸的卷積核能夠提取圖像的整體特征,對(duì)于不同缺陷絲餅圖像來(lái)說(shuō),其在輪廓形狀和尺寸顏色這些整體信息上的差異較小,故這些特征對(duì)分類作用不大。
針對(duì)以上2個(gè)問(wèn)題,本文模型在AlexNet基礎(chǔ)上做了一些改進(jìn):采用全局最大池化層替代全連接層,保留最顯著的特征,減少網(wǎng)絡(luò)計(jì)算量和內(nèi)存消耗;將第1層的11×11卷積核換成較小的3×3卷積核,提取有助分類的特征。圖3示出絲餅缺陷識(shí)別網(wǎng)絡(luò)模型圖。整個(gè)網(wǎng)絡(luò)包括4個(gè)卷積層和3個(gè)池化層,然后對(duì)最后一個(gè)卷積得到的特征圖進(jìn)行全局最大池化操作,最后進(jìn)行softmax分類,得到預(yù)測(cè)結(jié)果。
圖3 絲餅缺陷識(shí)別網(wǎng)絡(luò)模型Fig.3 Network model of yarn package defect recognition
1.2.2 全局最大池化
傳統(tǒng)的全連接層將最后一個(gè)卷積操作得到的所有特征圖拉伸為一個(gè)長(zhǎng)向量,然后逐層降低向量維度,最后進(jìn)行分類。但全連接層的參數(shù)太多,尤其是從特征圖拉伸而來(lái)的第1個(gè)向量與下一層的連接參數(shù),這使得網(wǎng)絡(luò)訓(xùn)練速度變慢。全局池化的思路是將最后一層卷積得到的每個(gè)特征圖看成一個(gè)整體,對(duì)每個(gè)特征圖進(jìn)行操作,最后得到的特征向量的維數(shù)就等于上一層特征圖的數(shù)目,這不僅增強(qiáng)了特征映射和類別之間的對(duì)應(yīng)關(guān)系,且整個(gè)過(guò)程沒(méi)有需要優(yōu)化的參數(shù)。由于絲餅的缺陷相對(duì)整個(gè)樣本來(lái)說(shuō)較小,使用全局平均池化會(huì)考慮整張圖片的信息,對(duì)所有特征值求平均,弱化了絲餅局部的缺陷特征[9],使得提取的特征不具備很好的區(qū)分性,而全局最大池化輸出的是整個(gè)特征圖中的最大值,提取了最顯著的特征,更適合絲餅的缺陷檢測(cè)。所以本文采用全局最大池化層來(lái)替代全連接層。設(shè)最后一層卷積得到的第l個(gè)特征圖上的值為xij(l),y(l)為第l個(gè)特征圖在全局最大池化操作后得到的特征值,其計(jì)算公式為
在神經(jīng)網(wǎng)絡(luò)的應(yīng)用過(guò)程中,獲取大量無(wú)標(biāo)注絲餅樣本很簡(jiǎn)單,但對(duì)大量樣本進(jìn)行準(zhǔn)確的定標(biāo)注卻需耗費(fèi)大量人力財(cái)力,因此,如何在有限時(shí)間和成本條件下,使用盡量少的有標(biāo)注絲餅樣本,并快速提升分類器的性能是一個(gè)關(guān)鍵問(wèn)題。主動(dòng)學(xué)習(xí)方法只需對(duì)較少的樣本定標(biāo)注就能構(gòu)建出比較強(qiáng)的模型,從而大幅度地降低標(biāo)記成本,故使用主動(dòng)學(xué)習(xí)方法可解決絲餅缺陷檢測(cè)中遇到的標(biāo)注成本問(wèn)題。
典型的主動(dòng)學(xué)習(xí)流程如圖4所示。首先用少量有標(biāo)注樣本訓(xùn)練分類器,再用訓(xùn)練好的分類器對(duì)未標(biāo)注樣本進(jìn)行預(yù)測(cè),然后基于一定的準(zhǔn)則挑選出一定的未標(biāo)注樣本讓用戶標(biāo)注,最后更新標(biāo)注和未標(biāo)注樣本庫(kù),繼續(xù)訓(xùn)練分類器。
圖4 典型主動(dòng)學(xué)習(xí)流程Fig.4 Typical active learning processes
主動(dòng)學(xué)習(xí)的關(guān)鍵是制定一個(gè)標(biāo)準(zhǔn)來(lái)準(zhǔn)確衡量未標(biāo)注樣本的價(jià)值。傳統(tǒng)的主動(dòng)挑選準(zhǔn)則有基于信息熵和Joshi提出的基于BvSB(best vs second-bast)準(zhǔn)則2種[10],這2種方法都是基于樣本信息度的采樣策略。高信息含量的樣本集合中可能出現(xiàn)樣本具有較高相似度的問(wèn)題[11],導(dǎo)致樣本的多樣性減少,從而不能快速地提升分類器性能。針對(duì)這一問(wèn)題,本文綜合考慮挑選的絲餅樣本的多樣性和信息度,提出一種新的主動(dòng)挑選樣本準(zhǔn)則。
記樣本的類別集合為Y={1,2,…,m},未標(biāo)注樣本集為U={x1,x2,…,xu}。
首先,計(jì)算每個(gè)未定標(biāo)注樣本的信息度,由于基于信息熵的方法受不重要類別的影響較大,故選用BvSB準(zhǔn)則來(lái)衡量絲餅樣本信息度。其計(jì)算公式為
式中:p(y1|xi)和p(y2|xi)分別表示當(dāng)前模型預(yù)測(cè)的絲餅樣本xi隸屬于不同類別概率值的最高和次高結(jié)果。
接著,計(jì)算該樣本相對(duì)于樣本集的多樣性,記為D(xi),D(xi)的值越大,多樣性越高,其計(jì)算公式為
式中:u為未標(biāo)注樣本的數(shù)量;d(xi,xj)為2個(gè)樣本xi和xj之間的對(duì)稱散度距離,其計(jì)算公式為
式中:pyi為當(dāng)前模型將無(wú)標(biāo)注樣本xi判定為類別y的概率值;pyj為當(dāng)前模型將無(wú)標(biāo)注樣本xj判定為類別y的概率值;m為樣本的類別數(shù)。
最后,對(duì)D(xi)的值進(jìn)行歸一化處理,使其和BvSB準(zhǔn)則計(jì)算的值處于同一量綱,且b(xi)的值越小,D(xi)的值越大,挑選的樣本信息量越大,多樣性越高,因此,為了每次選擇一批信息度很高,且存在較大差異的樣本來(lái)提升分類器性能,定義如下的綜合性選擇指標(biāo):
式中:ε為很小的正值,防止分母為0;norm(·)為歸一化操作。
計(jì)算每個(gè)未標(biāo)注樣本的I值并進(jìn)行排序,選取I值最大的K個(gè)樣本讓用戶進(jìn)行類別判定并標(biāo)注,然后添加到訓(xùn)練樣本中,對(duì)原有的已標(biāo)注訓(xùn)練樣本和未標(biāo)注訓(xùn)練樣本進(jìn)行更新,用更新后的樣本來(lái)訓(xùn)練分類器。迭代進(jìn)行上述過(guò)程,直至分類器達(dá)到預(yù)期的準(zhǔn)確識(shí)別率或未標(biāo)注樣本全部標(biāo)注完成。
本文實(shí)驗(yàn)在內(nèi)存為8 GB,處理器為Intel(R) Core(TM)i7-3770CPU(3.40 GHz)的計(jì)算機(jī)上完成,采用TensorFlow深度學(xué)習(xí)開(kāi)源框架進(jìn)行網(wǎng)絡(luò)模型的構(gòu)建和調(diào)試,使用Python語(yǔ)言進(jìn)行編程。采集的絲餅圖像均采用JPEG格式,最終的樣本尺寸均為128像素×128像素。
為驗(yàn)證本文提出的改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)算法在絲餅缺陷上的識(shí)別效果,改變模型參數(shù)進(jìn)行多次實(shí)驗(yàn),共選取了12 465幅絲餅圖片作為訓(xùn)練樣本。其中正常的絲餅樣本數(shù)為3 121,絆絲類型的樣本數(shù)為3 106,成型不良和油污的樣本數(shù)分別為3 164和 3 074。選取512幅絲餅圖片作為測(cè)試樣本集,4種類型各為128張。最終網(wǎng)絡(luò)的批樣本數(shù)量為32,迭代次數(shù)為1 400,優(yōu)化器選擇Adam,學(xué)習(xí)率設(shè)置為0.001。模型訓(xùn)練的熵值損失變化曲線和準(zhǔn)確率曲線分別如圖5、6所示??梢钥闯?,隨著迭代次數(shù)的增加,模型在訓(xùn)練樣本集上的損失值逐漸減小,識(shí)別準(zhǔn)確率逐漸增加,且在迭代初期的變化率都比較大,最終都趨于一個(gè)較好的穩(wěn)定值。
圖5 模型訓(xùn)練損失曲線Fig.5 Model training loss curve
圖6 模型訓(xùn)練準(zhǔn)確率曲線Fig.6 Model training accuracy curve
表1示出模型在測(cè)試集各類型樣本上的識(shí)別準(zhǔn)確率,即模型預(yù)測(cè)的樣本種類和樣本真實(shí)種類相同的樣本數(shù)與每類樣本總數(shù)的比值??梢钥闯?,各類型的識(shí)別準(zhǔn)確率均在95.3%以上。在絆絲缺陷中,由于有些絆絲比較細(xì),很難與絲餅背景紋理區(qū)分,導(dǎo)致準(zhǔn)確率相對(duì)較低;成型不良缺陷中,有些成型不良區(qū)域較小,易造成誤判;最終模型在整個(gè)測(cè)試集上的準(zhǔn)確率為97.1%,識(shí)別效果比較理想。
表1 模型測(cè)試識(shí)別準(zhǔn)確率Tab.1 Test recognition accuracy of model
對(duì)最后一層卷積得到的特征圖分別進(jìn)行全局最大池化、全局平均池化和全連接的操作,從參數(shù)所占內(nèi)存、識(shí)別準(zhǔn)確率和單張圖片的檢測(cè)時(shí)間3個(gè)方面進(jìn)行對(duì)比,結(jié)果如表2所示??芍?,本文所采用的全局最大池化操作在參數(shù)內(nèi)存、識(shí)別準(zhǔn)確率和樣本檢測(cè)時(shí)間方面都占較大優(yōu)勢(shì),其中采用全局最大池化所得的識(shí)別準(zhǔn)確率較全局平均池化有很明顯的提升,這說(shuō)明全局最大池化更能提取到不同缺陷絲餅圖像中的區(qū)分性特征,更有利于絲餅的缺陷分類;和全連接相比,采用全局最大池化使得模型的參數(shù)量大大減少,加快了網(wǎng)絡(luò)訓(xùn)練速度,同時(shí)池化操作也增加了絲餅樣本對(duì)旋轉(zhuǎn)、縮放等空間變化的魯棒性。
表2 不同連接方式的識(shí)別結(jié)果對(duì)比Tab.2 Comparison of recognition results for different connection ways
初始的少量標(biāo)注樣本后,采用本文中改進(jìn)的聚類方法[12]來(lái)進(jìn)行選取,該方法相對(duì)于隨機(jī)挑選,可選取有代表性的樣本,使初始的分類器具有較好性能,從而有效加快主動(dòng)學(xué)習(xí)的后續(xù)進(jìn)程,最終選取初始樣本數(shù)為1 600。主動(dòng)學(xué)習(xí)每次從未標(biāo)注樣本中挑選的最具價(jià)值樣本數(shù)K設(shè)置為100,迭代進(jìn)行 30次。圖7示出本文提出的主動(dòng)挑選準(zhǔn)則與隨機(jī)選擇、基于信息熵以及基于BvSB準(zhǔn)則在每次更新訓(xùn)練樣本后的模型識(shí)別準(zhǔn)確率。
圖7 不同挑選準(zhǔn)則的識(shí)別準(zhǔn)確率Fig.7 Recognition accuracy of different selection criteria
由圖7可知,3種主動(dòng)學(xué)習(xí)方法都明顯優(yōu)于隨機(jī)選擇。在前幾次迭代中,各選擇方法訓(xùn)練的分類器性能差別不大,因?yàn)榍捌谠黾拥臉?biāo)注樣本數(shù)相對(duì)于原有的標(biāo)注樣本數(shù)量,所占比重太小。隨著迭代次數(shù)的增多,分類器對(duì)絲餅缺陷的識(shí)別率得到有效提升,本文所提出的基于信息度和多樣性準(zhǔn)則的主動(dòng)挑選方法的優(yōu)勢(shì)逐漸顯現(xiàn)。在獲得同等識(shí)別準(zhǔn)確率的情況下,本文方法所需的迭代次數(shù)少于其他 3種方法,有效減少了所需標(biāo)注樣本數(shù)量,節(jié)約了標(biāo)注成本。
本文將基于卷積神經(jīng)網(wǎng)絡(luò)的算法應(yīng)用到絲餅的缺陷識(shí)別中。首先對(duì)采集的絲餅圖像進(jìn)行分塊處理,凸顯了缺陷特征,同時(shí)使得訓(xùn)練樣本得到擴(kuò)充,在一定程度上可預(yù)防過(guò)擬合。采用全局最大池化層代替?zhèn)鹘y(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的全連接層,有效地減少了網(wǎng)絡(luò)參數(shù),增強(qiáng)了圖像對(duì)空間變換的魯棒性。最后采用softmax分類器進(jìn)行分類識(shí)別。針對(duì)標(biāo)注大量樣本耗時(shí)耗力的問(wèn)題,綜合考慮未標(biāo)注樣本的信息度和多樣性,提出新的主動(dòng)學(xué)習(xí)方法來(lái)挑選對(duì)分類器最有利的絲餅樣本。實(shí)驗(yàn)結(jié)果表明,改進(jìn)的網(wǎng)絡(luò)模型檢測(cè)速度較快,對(duì)絲餅缺陷的識(shí)別準(zhǔn)確率較高,達(dá)到97.1%。主動(dòng)學(xué)習(xí)方法在達(dá)到同等準(zhǔn)確率的情況下,有效減少了網(wǎng)絡(luò)所需的標(biāo)注樣本數(shù)量,大大降低了標(biāo)注所需的人力、財(cái)力,具有一定的通用性。但本文方法沒(méi)有考慮多個(gè)標(biāo)注問(wèn)題,有些絲餅樣本可能同時(shí)存在2種缺陷,如同時(shí)存在絆絲和成型不良缺陷,而現(xiàn)在的算法只能將一個(gè)樣本歸為一類,在之后的工作中,會(huì)進(jìn)一步研究這種需做多個(gè)標(biāo)注問(wèn)題。