葉舒婷 游思晴 郝 燦 程 智 王 穎
(1.北京物資學(xué)院,北京, 101149;2.中國科學(xué)院微電子研究所,北京, 100029;3.中國科學(xué)院大學(xué),北京, 100049)
紡織行業(yè)作為基礎(chǔ)消費產(chǎn)業(yè),在國民經(jīng)濟(jì)中占據(jù)著重要的地位。在織物生產(chǎn)過程中,織物疵點控制與檢測是極為關(guān)鍵的環(huán)節(jié),其質(zhì)量直接影響面料的市場售價[1]。
傳統(tǒng)的織物疵點檢測主要依靠人工目檢,主觀性強(qiáng)、檢測準(zhǔn)確率低且難以滿足實時檢測需求。隨著機(jī)器視覺檢測技術(shù)的發(fā)展,其已被應(yīng)用于織物疵點自動檢測。傳統(tǒng)的織物疵點視覺檢測方法需要根據(jù)不同類型疵點的特征人工設(shè)計圖像特征提取器,當(dāng)織物紋理和疵點種類變化時,需重新設(shè)計特征提取器,適應(yīng)性差?;诰矸e神經(jīng)網(wǎng)絡(luò)織物疵點檢測算法可以通過自主學(xué)習(xí)圖像多層級特征信息,有效解決特征提取器設(shè)計問題,越來越多地被用于多種類疵點的自動檢測。已有文獻(xiàn)研究卷積神經(jīng)網(wǎng)絡(luò)用于織物疵點檢測的可行性。晏琳等人[2]采用Faster RCNN 融合ResNet101 對織物疵點進(jìn)行檢測,檢測準(zhǔn)確率達(dá)到99.6%,但對于細(xì)長型的疵點檢測效果不理想。史甜甜[3]將深度卷積神經(jīng)網(wǎng)絡(luò)結(jié)合Fisher 準(zhǔn)則約束對彩色格子織物疵點識別準(zhǔn)確率達(dá)到98.55%。張麗瑤等人[4]在SSD 的基礎(chǔ)上,引入雙邊濾波方法減少織物圖像的背景干擾,對油污的識別率可達(dá)到92%,但對于織物紋理相近的疵點檢測效果不佳。
目前,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測方法主要分成:Two?stage 算法,如RCNN[5]、SPP?Net[6]、Fast RCNN[7]、 Faster RCNN[8]、 Cascade RCNN[9];One?stage 算 法,如RetinaNet[10]、YO?LO[11]、SSD[12]。Two?stage 算法首先采用預(yù)定義框訓(xùn)練區(qū)域候選網(wǎng)絡(luò)(Region Proposal Network,RPN)生成感興趣區(qū)域(Region of Interest,ROI),然后再利用卷積神經(jīng)網(wǎng)絡(luò)(CNN)對ROI 進(jìn)行分類和定位,相較One?stage 算法直接提取特征檢測目標(biāo),Two?stage 算法檢測準(zhǔn)確率更高。但Two?stage 算法默認(rèn)預(yù)定義框的尺寸適于常規(guī)形狀目標(biāo),對小尺寸或長寬比極端的目標(biāo)檢測效果不佳。
本研究針對疵點小且長寬比懸殊的織物疵點采用傳統(tǒng)預(yù)定義框檢測效果不佳問題,引入深度殘差網(wǎng)絡(luò)(ResNet101)[13]和金字塔網(wǎng)絡(luò)(Feature Pyramid Networks,F(xiàn)PN)[14]進(jìn)行特征 融 合,充分保留疵點的特征信息;采用二步聚類算法確定織物疵點檢測的最佳預(yù)定義框尺寸,以提高疵點檢測準(zhǔn)確率和定位精度。
目前統(tǒng)計的織物疵點有水漬、油污、雙經(jīng)等幾十種[15]。圖1 為部分織物疵點,可知大部分織物疵點長寬差距明顯。本研究對天池大賽提供的織物疵點數(shù)據(jù)集進(jìn)行分析。表1 列出了織物疵點數(shù)據(jù)集包含的疵點,共計34 類,疵點種類多。圖2(a)為不同種類疵點的數(shù)量分布,其中,結(jié)頭1 996 個,約占疵點樣本總數(shù)的21%,“三絲”約占疵點樣本總數(shù)的11%,而雙經(jīng)、云織疵點分別只占疵點樣本總數(shù)的0.1%,不同種類疵點數(shù)量分布極不均衡。 圖2(b)為不同種類疵點在圖像中所占面積及長寬比分布??梢钥闯?,超過70%的疵點面積在圖像中占比小于10%,小疵點較多。破洞等約41% 疵點的長寬比值在0.04~0.50,而約30%疵點的長寬比值在2~20,如雙緯的平均長寬比值高達(dá)19。只有少量疵點的長寬比值在0.5~2.0。而作為Cascade RCNN 結(jié)構(gòu)一部分的區(qū)域候選網(wǎng)絡(luò)RPN 的默認(rèn)預(yù)定義框的尺寸通常用于檢測汽車正面、行人等長寬比值在0.5~2.0的常見目標(biāo)檢測。相較常見目標(biāo),大部分織物疵點形狀狹長,長寬比范圍比較極端,因此RPN 默認(rèn)預(yù)定義框尺寸對于織物疵點檢測適用性不佳。
圖1 織物不同種類疵點圖
圖2 牛仔織物疵點數(shù)據(jù)集分析
表1 織物疵點種類列表
本研究針對疵點種類數(shù)量不均衡、疵點長寬比極端、微小疵點數(shù)量多等問題,對卷積神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測算法進(jìn)行改進(jìn),以提高織物疵點檢測的準(zhǔn)確率。
本 研 究 采 用Two ? stage 算 法 中Cascade RCNN 網(wǎng)絡(luò)構(gòu)架進(jìn)行織物疵點檢測和定位。Cas?cade RCNN 算法網(wǎng)絡(luò)框架如圖3 所示??椢锎命c圖像首先經(jīng)卷積層(CNN)獲取不同尺度的特征圖(Feature Maps),特征圖經(jīng)RPN 網(wǎng)絡(luò)中預(yù)定義框(Anchors)得到疵點的感興趣候選區(qū)域(ROIs),然后將候選區(qū)域和特征圖進(jìn)行級聯(lián)回歸,通過逐級提高候選框的IoU 值,使得前一級采樣過的候選框能夠適應(yīng)下一級更高IoU 值的階段,進(jìn)而實現(xiàn)高精度的目標(biāo)檢測。針對織物疵點種類間相似、微小疵點數(shù)量多的問題,選取深度殘差網(wǎng)絡(luò)提取更多疵點細(xì)節(jié)特征,采用金字塔網(wǎng)絡(luò)(FPN)對不同卷積層的疵點特征進(jìn)行融合。針對大部分疵點長寬比極端的情況,采用二步聚類算法確定適用于織物疵點檢測的預(yù)定義候選框尺寸。
圖3 Cascade RCNN 卷積網(wǎng)絡(luò)框架結(jié)構(gòu)圖
由于織物疵點較小,且疵點特征在圖像中不顯著,同時為提高疵點特征提取的精度,選用ResNet101 作為基礎(chǔ)疵點特征提取網(wǎng)絡(luò)。ResNet101 對網(wǎng)絡(luò)權(quán)重及數(shù)據(jù)的波動敏感,能夠捕捉到微小的特征信息,且可有效緩解反向傳播時深層卷積導(dǎo)致的退化問題。特征金字塔網(wǎng)絡(luò)可以融合高低層特征信息,尤其適用于小尺寸目標(biāo)特征提取。ResNet101 特征提取和特征金字塔網(wǎng)絡(luò)融合的結(jié)構(gòu)如圖4 所示。ResNet101 網(wǎng)絡(luò)包含1 個低層卷積操作(C1)和4 個殘差塊(C2~C5),C1 只對輸入的織物疵點圖像降采樣,C2~C5 殘差塊的尾部采用1×1 的卷積層控制特征圖輸出深度,最終生成4 個不同層的織物疵點特征圖Mi(i=2,…,5),自M5起每個卷積層進(jìn)行二倍上采樣計算(upsample),M5上采樣的結(jié)果和特征圖M4大小相同,M5上采樣結(jié)果和M4相加實現(xiàn)特征融合,對不同層特征圖依次重復(fù)上述步驟進(jìn)行特征融合。為消除上采樣的混疊效應(yīng),采用3×3 的卷積核對每個融合特征圖進(jìn)行卷積,最終得到融合特征圖Pi(i=2,…,5)。
圖4 ResNet101+FPN 特征融合網(wǎng)絡(luò)結(jié)構(gòu)
2.3.1預(yù)定義框確定候選區(qū)域原理
Cascade RCNN 網(wǎng)絡(luò)中的RPN 網(wǎng)絡(luò)根據(jù)預(yù)定義框生成感興趣候選區(qū)域,其默認(rèn)框為3 種長寬比(1∶1,1∶2,2∶1)對應(yīng)3 種尺度(8,16,32)共9 個預(yù)定義框,如圖5 所示。RPN 對大小為M×M的特征圖采用3×3 滑動窗口遍歷特征圖中每個像素,產(chǎn)生低維特征圖(256×M×M),同時滑動窗口的中心位置生成9 個預(yù)定義框,低維特征圖進(jìn)行二次1×1 的卷積操作,分別得到18 個疵點判別的概率值和36 個候選框坐標(biāo)偏移值,對概率值進(jìn)行非極大值抑制得到ROIs[16]。
圖5 候選區(qū)域生成網(wǎng)絡(luò)(RPN)
Cascade RCNN 采用默認(rèn)預(yù)定義框的織物疵點檢測結(jié)果如圖6 所示。圖6(a)只檢測出疵點的一部分,對應(yīng)綠框中的疵點,紅框為未檢測到的部分疵點;圖6(b)紅框中疵點漏檢。由于織物中雙緯、雙經(jīng)等大部分疵點長寬比都超出常規(guī)目標(biāo)的長寬比,按照默認(rèn)預(yù)定義框?qū)π螤顦O端的織物疵點檢測部分存在錯檢、漏檢的情況,且不能準(zhǔn)確定位疵點邊界。為此,利用二步聚類算法確定預(yù)定義框的大小,以提高對織物疵點的檢出率和定位準(zhǔn)確率。
圖6 默認(rèn)預(yù)定義框的疵點檢測結(jié)果
2.3.2二步聚類法織物疵點聚類原理
二步聚類算法[17]可同時處理數(shù)值型變量和分類型變量,自動確定聚類數(shù)目和診斷樣本中離群點及噪聲數(shù)據(jù),避免k?means 法需要預(yù)先指定聚類數(shù)目、主觀性強(qiáng)的問題。本研究利用二步聚類算法對織物疵點的長寬比進(jìn)行聚類,根據(jù)聚類結(jié)果確定預(yù)定義框的長寬比;同時對織物疵點數(shù)據(jù)集的疵點種類重新聚類,避免樣本不均衡導(dǎo)致識別準(zhǔn)確率低的問題。
二步聚類算法的實現(xiàn)過程如下:
第1 步,預(yù)聚類。樣本數(shù)據(jù)逐條讀入構(gòu)造聚類特征CF 樹(Clustering Feature Tree),計算每個樣本與子樹中所有葉節(jié)點的親疏程度,親疏程度小于設(shè)定閾值的合并為一類,反之增加新葉節(jié)點為新的子類,反復(fù)迭代該過程,直到所有樣本數(shù)據(jù)均分配到某個子類為止,最終形成J個子類??椢锎命c數(shù)據(jù)庫聚類的輸入變量為原始各類疵點的數(shù)量、各類疵點的平均長寬比和平均面積。由于數(shù)據(jù)集同時含有數(shù)值型變量和分類型變量,采用對數(shù)似然函數(shù)判斷親疏程度,判別式如式(1)所示。
式中:假設(shè)生成J個子類,p為似然函數(shù),Ij為第j類樣本的集合,θj為第j類樣本的參數(shù)向量,Xi為第i個聚類變量。
第2 步,聚類。將第1 步預(yù)聚類生成的J個子類進(jìn)行層次聚類,J個子類需進(jìn)行J-1 次迭代聚類,每次聚類都需計算任意兩子類之間的對數(shù)似然距離,將距離最近的兩個子類合并。利用貝葉斯信息準(zhǔn)則最終得到粗略估計的L大類,利用式(2)對聚類數(shù)目L進(jìn)行修正。
式中:R2(L)為類間差異性最小值變化的相對指標(biāo),dmin(CL)為聚類數(shù)目為L類,兩兩類間對數(shù)似然距離的最小值。 依次計算R2(L-1),R2(L-2),…,R2(2),直到所有類間差異性變化的最大值大于次大值的1.15 倍終止合并,最大值所對應(yīng)的類為最終聚類數(shù)。
2.3.3二步聚類法疵點確定預(yù)定義框
天池織物疵點數(shù)據(jù)集共有5 912 張圖像,由于每張圖像可能存在多個疵點,數(shù)據(jù)集共有34 類9 619 個疵點,圖像大小均為2 446 pixel×1 000 pixel。采用二步聚類算法將所有疵點種類重新聚類。34 類疵點重聚類成5 大類。A 類包含破洞、水漬、油漬、污漬、毛粒、粗經(jīng)、松經(jīng)、斷經(jīng)、吊經(jīng)、星跳、跳花、磨痕、軋痕、修痕、燒毛痕、死皺、雙經(jīng)、跳紗、筘路、緯紗不良,共3 064 個樣本;B 類包含花板跳、百腳、稀密檔、浪紋檔、雙緯,共630 個樣本;C 類包含“三絲”、粗緯、緯縮、整經(jīng)結(jié)、斷氨綸,共3 537 個樣本,D 類為結(jié)頭,共1 996 個樣本,E 類包含漿斑、色差檔、云織,共392 個樣本。重聚類各類別疵點數(shù)量較均衡,避免了個別類疵點數(shù)量較少導(dǎo)致的網(wǎng)絡(luò)模型訓(xùn)練不充分的問題。
二步聚類法得到的5 類疵點中各類疵點的長寬比聚類中心統(tǒng)計結(jié)果如下。A 類疵點長寬比值0.34、1.26、1.50、2.18、11.46、17.32,B 類疵點長寬 比 值0.10、0.11,C 類 疵 點 長 寬 比 值0.15、1.21,D 類疵點長寬比值1.79、2.37,E 類疵點長寬比值0.21、0.37、1.17。為計算方便,本研究選取和長寬比聚類中心近似的比例作為預(yù)定義框尺寸,A 類 疵 點 近 似 長 寬 比 值0.20、1.00、2.00、10.00、20.00,B 類疵點近似長寬比值0.10,C 類疵點近似長寬比值0.10、1.00,D 類近似長寬比值2.00,E 類近似長寬比值0.20、0.50、1.00。同時為更好地涵蓋極端形狀疵點,增加了長寬比值為0.05 和5.00 的預(yù)定義框,最終確定檢測織物疵點的預(yù)定義框的長寬比值共9 種,分別為0.05、0.10、0.20、0.50、1.00、2.00、5.00、10.00、20.00。
本試驗采用筆記本電腦,配置為Intel(R)Core(TM)i5?9300H CPU、2.40 GHz 處 理 器,NVIDIA GeForce GTX1650 顯卡及windows10操作系統(tǒng),基于Pytorch 的深度學(xué)習(xí)目標(biāo)檢測框架MMDetection 進(jìn)行模型搭建,采用Python 程序語言編程實現(xiàn)織物疵點檢測。
采用疵點識別準(zhǔn)確率(Accuracy,ACC)評價本研究改進(jìn)算法的織物疵點檢測結(jié)果。ACC計算如式(3)所示。其中TP為實際疵點檢測為疵點的樣本數(shù),TN為無疵點檢測為無疵點的樣本數(shù),F(xiàn)P為無疵點誤檢測為疵點的樣本數(shù),F(xiàn)N為實際疵點誤檢測為無疵點的樣本數(shù)。
按照二步聚類法得到的重聚類疵點種類將織物疵點數(shù)據(jù)庫按8∶2 的比例隨機(jī)劃分成訓(xùn)練集和測試集,利用本研究改進(jìn)[18]的特征提取和融合網(wǎng)絡(luò)以及設(shè)定的預(yù)定義框,對改進(jìn)前后模型檢測結(jié)果進(jìn)行比較。
改進(jìn)前后模型的疵點檢測結(jié)果如圖7 所示。相較于原始模型,改進(jìn)后模型對疵點的定位精度高,且沒有漏檢。
圖7 基于Cascade RCNN 織物疵點圖像識別結(jié)果
圖8為模型改進(jìn)前后Cascade RCNN 網(wǎng)絡(luò)對5 類疵點的識別準(zhǔn)確率。A 類、D 類疵點主要為微小疵點,改進(jìn)后Cascade RCNN 模型的ACC分別提高4.1 個百分點、3.1 個百分點;B 類、C 類、E 類疵點大部分是長寬比極端疵點,相較于改進(jìn)前模型,改進(jìn)后Cascade RCNN 模型ACC分別提升9.7 個百分點、20.8 個百分點、14.9 個百分點。
圖8 Cascade RCNN 改進(jìn)前后各類別ACC 對比結(jié)果
本研究圍繞織物疵點類間相似、類間數(shù)量不均衡、大部分疵點長寬比極端、小尺寸疵點數(shù)量多等問題,對Cascade RCNN 目標(biāo)檢測算法進(jìn)行改進(jìn),使用二步聚類算法優(yōu)化預(yù)定義框,引入深度殘差網(wǎng)絡(luò)(ResNet101)優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行特征提取并采用特征金字塔網(wǎng)絡(luò)(FPN)進(jìn)行特征融合以提高織物疵點的識別準(zhǔn)確率。試驗結(jié)果表明,采用二步聚類算法確定的預(yù)定義框,適用于極端形狀織物疵點檢測,同時引入深層網(wǎng)絡(luò)及多尺度融合特征提取網(wǎng)絡(luò)可進(jìn)一步提高模型的疵點識別準(zhǔn)確率。