国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

改進(jìn) Faster RCNN with FPN 的素布瑕疵檢測的算法研究

2024-05-24 11:47:03馬政生鴻飛
紡織工程學(xué)報(bào) 2024年2期

馬政 生鴻飛

摘要:紡織行業(yè)中的布匹檢測仍存在采用人工檢測的情況,人工檢測效果受工人主觀影響較大,易發(fā)生檢測效率的降低和瑕疵的漏檢誤檢。針對這種現(xiàn)狀,探究素布瑕疵檢測的算法,改進(jìn)Faster RCNN with FPN目標(biāo)檢測算法。首先,為了提升Faster RCNN with FPN對于多尺度特征的融合能力,豐富各個(gè)特征層的上下文信息,引入跨尺度特征融合模塊來改進(jìn)特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)。其次,為了更好的利用深層特征,加入尺度內(nèi)特征交互模塊來處理ResNet50輸出的深層特征層,豐富高級特征層的語義信息。然后,為了增強(qiáng)對于極端尺寸瑕疵目標(biāo)的檢測能力,使用K-means++聚類和遺傳算法,改進(jìn)預(yù)設(shè)錨框。最后,由于素布瑕疵的尺寸較小,為了平衡正負(fù)樣本,采用Focal Loss,增加對于素布瑕疵的檢測效果。經(jīng)過實(shí)驗(yàn),使用CO- CO指標(biāo)進(jìn)行評價(jià),該改進(jìn)后的網(wǎng)絡(luò)模型與Faster RCNN with FPN相比,在mAP50、mAP75和mAP50:95指標(biāo)上分別提升6.5%、4.4%和4.0%,平均準(zhǔn)確率有了明顯提升,可以更好地完成素布瑕疵的檢測任務(wù)。

關(guān)鍵詞:素布瑕疵檢測;更快的區(qū)域卷積神經(jīng)網(wǎng)絡(luò);改進(jìn)特征金字塔網(wǎng)絡(luò)結(jié)構(gòu);重新設(shè)計(jì)錨框;焦點(diǎn)損失

中圖分類號:TS107.3 ?????文獻(xiàn)標(biāo)志碼:A ??文章編號:2097-2911-(2024)02-0084-13

Research on algorithm for improving Faster RCNN with FPNfor plain cloth defect detection

MA Zheng,SHENG Hongfei

( School of Mechanical Engineering and Automation, Wuhan Textile University, Wuhan 430073, China)

Abstract:In the textile industry, manual detection is still used for cloth inspection. The effect of manual detec- tion is greatly affected by workers' subjectivity, leading to reduced efficiency and missed or erroneous detection of defects. To address this situation, the algorithm of plain cloth defect detection is explored to improve Faster RCNN with FPN target detection algorithm. Firstly, in order to improve the fusion capability of Faster RCNN with FPN for multi-scale features and enrich the context information of each feature layer, the cross-scale fea- ture fusion module is introduced to improve the feature pyramid network structure. Secondly, in order to make better use of deep features, the intra-scale feature interaction module is added to process the deep feature layer output by ResNet50, and enrich the semantic information of the high-level feature layer. Then, in order to en- hance the detection capability for defects of extreme sizes, preset anchor boxes are improved by using K- means++ clustering and genetic algorithms. Finally, considering the small size of plain fabric defects, FocalLoss is used to balance the positive and negative samples to increase the detection effect of plain cloth defects. Through experiments, the COCO index is used for evaluation. Compared with Faster RCNN with FPN, the im- proved network model increases by 6.5%, 4.4% and 4.0% on the mAP50, mAP75 and mAP50:95 indexes, respective- ly. The average accuracy has been significantly improved, which can better complete the detection task of plain cloth defects.

Keywords: flaw detection of plain fabric;Faster RCNN;improved feature pyramid structure;redesigning an- chor box;Focal Loss

我國已經(jīng)成為紡織品的生產(chǎn)強(qiáng)國,截至到去年,我國規(guī)模以上紡織企業(yè)營業(yè)收入47009億元,利潤總額1802億元,同比增長7.2%[1]。隨著紡織行業(yè)的蓬勃發(fā)展,行業(yè)在解決產(chǎn)量問題的基礎(chǔ)上,對生產(chǎn)布匹質(zhì)量的要求越來越高。產(chǎn)品檢測是保證產(chǎn)品質(zhì)量的重要環(huán)節(jié),產(chǎn)品質(zhì)量關(guān)系產(chǎn)品在市場上的銷售份額,面料產(chǎn)生瑕疵會使其價(jià)格降低45%~65%,因此需要好的檢測工藝來有效評估產(chǎn)品質(zhì)量[2]。現(xiàn)行業(yè)中仍存在采用人工進(jìn)行布匹瑕疵檢測的情況,一般來說人工驗(yàn)布的速度為10~20 m/min[3], 這種人工檢測長時(shí)間會使工人出現(xiàn)疲勞,導(dǎo)致檢測效率降低和漏檢誤檢,同時(shí)增大企業(yè)人工成本,無法滿足工廠大批量生產(chǎn)的實(shí)際需求[4]。因此,采用自動化檢測代替工人人眼檢測,對布匹的工業(yè)生產(chǎn)有著重要的意義。

傳統(tǒng)的布匹瑕疵檢測算法主要有兩種:頻域算法和空間域算法[5]。頻域算法將圖像轉(zhuǎn)換到頻域進(jìn)行處理,適用于背景簡單的純色布匹上的邊緣缺陷和破洞等瑕疵的檢測,但是其計(jì)算復(fù)雜度較高??臻g域算法直接計(jì)算和分析圖像的灰度值,提取圖像的特征信息,進(jìn)行相應(yīng)的瑕疵檢測。該算法可以檢測由于斷線和針頭斷裂等原因造成的復(fù)雜紋理布匹上的表面瑕疵,但空間域算法易受圖像中存在的噪聲影響。

在進(jìn)行布匹瑕疵檢測過程中,傳統(tǒng)的計(jì)算機(jī)視覺算法易受布匹的紋理和廠區(qū)車間光線條件等各種因素干擾,導(dǎo)致檢驗(yàn)準(zhǔn)確率低。近年來,受益于計(jì)算機(jī)硬件性能的顯著提升和大量有用工業(yè)信息的收集,深度學(xué)習(xí)發(fā)展迅速,工業(yè)生產(chǎn)方向的人工智能得以快速發(fā)展,廣泛應(yīng)用到各行業(yè)的實(shí)際生產(chǎn)中來。在布匹瑕疵檢測方面,深度學(xué)習(xí)算法和工人人眼檢測相比,具備了優(yōu)秀的自動化特性,同時(shí)相比于傳統(tǒng)的瑕疵檢測算法,具有更好的通用性和魯棒性,應(yīng)對多種瑕疵的檢測時(shí),檢測的精準(zhǔn)度更高。

以Faster RCNN[6]系列為代表的二階段目標(biāo)檢測算法和以 SSD[7]、YOLO系列[8]和RetinaNet[9]等為代表的單階段目標(biāo)檢測算法的出現(xiàn),布匹表面瑕疵檢測項(xiàng)目迎來了更加可靠的方案。 CHEN等人[10]為了解決織物紋理干擾問題,改進(jìn)了 Faster RCNN 模型,將 Gabor 核嵌入到 Faster RCNN模型中,設(shè)計(jì)了一種基于遺傳算法和反向傳播的兩階段訓(xùn)練方法來訓(xùn)練新模型,并對模型進(jìn)行了廣泛的實(shí)驗(yàn)驗(yàn)證,實(shí)驗(yàn)結(jié)果表明提出的新模型在精度方面優(yōu)于Faster RCNN模型。XIE等人[11]在 SSD網(wǎng)絡(luò)的基礎(chǔ)上,在網(wǎng)絡(luò)中加入FCSE block提升檢測精度,調(diào)整默認(rèn)錨框以適用更多條狀瑕疵的檢測,并在 TILDA 和雪浪數(shù)據(jù)集上實(shí)驗(yàn),證實(shí)該算法的有效性。SHI 等人[12]改進(jìn) YOLO5,提出了YOLO-GFD織物瑕疵檢測模型來提升檢測速度和準(zhǔn)確性,滿足工業(yè)環(huán)境中實(shí)時(shí)織物瑕疵檢測的要求。QIN 等人[13]針對 Reti- naNet在小規(guī)模織物數(shù)據(jù)集上檢測效果較差的問題,基于 RetinaNet 構(gòu)建網(wǎng)絡(luò)結(jié)構(gòu),得到新模型 FSR,通過實(shí)驗(yàn)與baseline RetinaNet相比,說明新算法有更好的檢測性能。

兩類目標(biāo)檢測算法相比,通常二階段檢測算法具有更高的檢測精度和更復(fù)雜的計(jì)算量,單階段檢測算法具有更快的檢測速度和相對更低的檢測精度。因此,在進(jìn)行瑕疵檢測時(shí)要合理地選擇目標(biāo)檢測算法來完成工業(yè)檢測任務(wù)。本文針對具有較小尺寸和極端長寬比瑕疵的素布,需要更高的檢測精度來完成對于素布表面瑕疵的檢測,因此選用Faster RCNN系列目標(biāo)檢測算法來實(shí)現(xiàn)檢測任務(wù)。

本文針對具有較小尺寸和極端長寬比瑕疵的素布,需要檢測精度更高的模型來完成對于素布表面瑕疵的檢測,因此選用Faster RCNN系列目標(biāo)檢測算法來實(shí)現(xiàn)檢測任務(wù)。

1算法原理與改進(jìn)

1.1 Faster RCNN with FPN 網(wǎng)絡(luò)結(jié)構(gòu)

1.1.1特征提取主干網(wǎng)絡(luò)

區(qū)別于原始 Faster RCNN 的特征提取主干網(wǎng)絡(luò)選用VGG16[14],F(xiàn)aster RCNN with FPN的特征提取主干網(wǎng)絡(luò)選用ResNet50[15],ResNet50的網(wǎng)絡(luò)結(jié)構(gòu)如表1所示,這種主干網(wǎng)絡(luò)的階段2到階段5是由殘差模塊構(gòu)成的,每個(gè)殘差模塊中由若干殘差塊組成,這種結(jié)構(gòu)有效地緩解了梯度消失和模型退化,能夠更好地提取圖像特征,增強(qiáng)了主干特征提取網(wǎng)絡(luò)的魯棒性。

1.1.2特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)

Faster RCNN with FPN基于Faster RCNN引入特征金字塔網(wǎng)絡(luò)(Feature Pyramid Network, FPN)[16],F(xiàn)PN 結(jié)構(gòu)如圖1所示,這種網(wǎng)絡(luò)結(jié)構(gòu)具備多層特征,能夠根據(jù)檢測目標(biāo)尺寸大小選擇相應(yīng)的特征層級。當(dāng)檢測大尺寸瑕疵目標(biāo)時(shí),網(wǎng)絡(luò)利用較大的感受野進(jìn)行檢測;而對于小尺寸瑕疵目標(biāo),則采用較小的感受野,從而提高小目標(biāo)瑕疵的檢測準(zhǔn)確度。

Faster RCNN with FPN 使用 ResNet50主干網(wǎng)絡(luò)來構(gòu)建 FPN 。Faster RCNN with FPN 通過 FPN結(jié)構(gòu)提取并融合不同深度和尺度的特征層,從而得到語義更加豐富的特征圖,其FPN結(jié)構(gòu)如圖2所示。

1.1.3區(qū)域建議網(wǎng)絡(luò)

RPN通過對比真實(shí)值和預(yù)測值,通過二值交叉熵?fù)p失計(jì)算目標(biāo)預(yù)測概率損失,通過 smooth L1損失計(jì)算預(yù)選框邊框回歸損失。

RPN是一個(gè)全卷積網(wǎng)絡(luò),主要用于在待檢測圖像中提取候選區(qū)域。它以原始圖像的特征圖作為輸入,在每個(gè)特征點(diǎn)上生成多個(gè)原始錨框。這些原始錨框用于判斷框內(nèi)是否包含目標(biāo),并對包含目標(biāo)的原始錨框進(jìn)行邊界回歸操作,RPN初步產(chǎn)生大約2000個(gè)的proposal 。區(qū)域建議網(wǎng)絡(luò)通過對比真實(shí)值和預(yù)測值,通過二值交叉熵?fù)p失計(jì)算目標(biāo)預(yù)測概率損失,通過 smooth L1損失計(jì)算預(yù)選框邊框回歸損失。

1.1.4 RoI Align

在原始的Faster RCNN中,RoI Pooling的主要作用是將前面步驟提取出來的不同尺寸的素布瑕疵特征層轉(zhuǎn)化為尺寸一致的特征圖,并輸送到后面網(wǎng)絡(luò),用于素布表面瑕疵的分類和預(yù)測框的回歸。在RoI Pooling過程中有兩次量化取整操作,對于小尺寸的瑕疵目標(biāo)會產(chǎn)生較嚴(yán)重的定位精度偏差。

針對ROI Pooling過程中由兩次量化取整得到的最終特征圖與原始圖像中檢測目標(biāo)位置之間的不匹配問題,結(jié)合Mask RCNN的設(shè)計(jì)思想[18], Faster RCNN with FPN 使用 RoI Align 來代替?zhèn)鹘y(tǒng)的 ROI Pooling,以得到更精準(zhǔn)的特征圖。 RoI Align以消除量化取整操作帶來的定位精度誤差為出發(fā)點(diǎn),采用雙線性差值算法獲取候選框的位置坐標(biāo),將原來的量化操作由線性操作的方法代替。

1.1.5 目標(biāo)分類和邊框回歸

Faster RCNN with FPN 網(wǎng)絡(luò)對 RoI Align 層得到的統(tǒng)一尺寸的特征圖進(jìn)行目標(biāo)分類和邊框回歸。在訓(xùn)練中通過梯度下降算法,調(diào)整網(wǎng)絡(luò)權(quán)重,以降低損失函數(shù)的值,來提升對于素布瑕疵的檢測精度。其中瑕疵目標(biāo)分類采用交叉熵?fù)p失來計(jì)算,輸入真實(shí)標(biāo)簽和預(yù)測標(biāo)簽,交叉熵?fù)p失函數(shù)的表達(dá)式如式(1)。

式中:M為類別數(shù)量;yic 為樣本 i關(guān)于類別c的標(biāo)簽,當(dāng)樣本i真實(shí)類別和c相等,yic 取1,否則取0; pic 為樣本i屬于類別c的概率。

邊框回歸損失采用 smooth L1損失來計(jì)算, smooth L1損失的表達(dá)式如式(2)—(3)。

式中:f(xi)為樣本 i的預(yù)測值;yi 為樣本 i的真實(shí)值。

1.2改進(jìn)特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)

1.2.1 RT-DETR檢測模型

DETR(Detection Transformer)[19]是由 Face- book AI研究團(tuán)隊(duì)提出的一種端到端的目標(biāo)檢測模型,它利用了 Transformer 架構(gòu)的強(qiáng)大能力來解決目標(biāo)檢測問題。

區(qū)別于傳統(tǒng)的目標(biāo)檢測方法,DETR使用了更簡潔、更直觀的方式來解決檢測問題,它引入對象查詢(object queries)的概念,將目標(biāo)檢測問題轉(zhuǎn)化為一個(gè)對象查詢問題。

RT-DETR(Real-TimeDetectionTransformer)[20]是由百度飛槳的Paddle Detection團(tuán)隊(duì)提出的一種實(shí)時(shí)目標(biāo)檢測模型,旨在對DETR進(jìn)行改進(jìn),提高 DETR 的推理速度。它設(shè)計(jì)了一個(gè)高效的混合編碼器,編碼器由跨尺度特征融合模塊和尺度內(nèi)特征交互構(gòu)成,以高效地處理多尺度特征,減少不必要的計(jì)算。

1.2.2跨尺度特征融合模塊

跨尺度特征融合模塊(Cross-Scale Feature Fusion Module,CCFM)是一種輕量級的跨尺度特征融合模塊,它在RT-DETR中的結(jié)構(gòu)圖如圖3所示。它可以將不同尺度的特征通過融合操作整合起來,增強(qiáng)輸出特征層的語義豐富度,提升對于中小尺寸目標(biāo)的檢測能力,減少了漏檢和誤檢的情況。

在 CCFM 中使用融合模塊(fusion block)來實(shí)現(xiàn)兩個(gè)相同尺寸維度的不同特征層之間的特征融合。融合模塊的結(jié)構(gòu)如圖4所示,融合模塊結(jié)構(gòu)為殘差結(jié)構(gòu),其中RepVggBlock由卷積核為3×3和卷積核為1×1兩個(gè)卷積層構(gòu)成,在RT-DE- TR中使用3層RepVggBlock。

1.2.3尺度內(nèi)特征交互模塊

尺度內(nèi)特征交互(Intra-scale Feature Interac- tion,AIFI)模塊是由一層 Transformer 的 Encoder 結(jié)構(gòu)構(gòu)成的,利用自注意力機(jī)制來處理圖像中的高級特征,它的結(jié)構(gòu)示意圖如圖5所示。

使用AIFI模塊來獲取圖像中的高級特征并對其進(jìn)行處理操作,得到這些概念實(shí)體之間的聯(lián)系,這些被處理的特征通常含有豐富的語義信息,包括目標(biāo)的位置、大小、形狀以及與其它目標(biāo)間的關(guān)系。

1.2.4新的特征金字塔網(wǎng)絡(luò)結(jié)構(gòu)

本文使用CCFM構(gòu)建新的FPN結(jié)構(gòu),并基于 AIFI 模塊的思想,使用一層 Transformer 的 En- coder 結(jié)構(gòu)處理特征提取主干網(wǎng)絡(luò)中的深層信息,本文改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖6所示, 其中 CCFM內(nèi)的融合模塊使用2層RepVggBlock。

如圖6所示,特征提取主干網(wǎng)絡(luò)ResNet50階段2到階段5輸出的特征層先經(jīng)過通道數(shù)統(tǒng)一操作,再輸入CCFM,其中階段5輸出的特征層在進(jìn)入CCFM前,先輸入AIFI模塊,提取高級特征語義信息。隨后CCFM輸出P2到P5等4個(gè)預(yù)測特征,其中P5預(yù)測特征層通過卷積核為1×1,步長為2的最大池化操作得到P6特征層。

1.3錨框設(shè)計(jì)

1.3.1 K-means++聚類算法改進(jìn)

K-means 聚類是一種常見的無監(jiān)督學(xué)習(xí)算法,該算法通常使用誤差平方和(SSE)作為聚類的目標(biāo)函數(shù)。SSE的數(shù)學(xué)表達(dá)式如式(4)所示。通過K-means 算法[21],來對訓(xùn)練數(shù)據(jù)集中bounding box的寬、高進(jìn)行聚類,得到若干個(gè)聚類中心點(diǎn),作為預(yù)設(shè)錨框的大小,以獲得更合理的預(yù)設(shè)錨框。

式中:K 為將數(shù)據(jù)集分成聚類中心的數(shù)量,即簇的個(gè)數(shù);dist為表達(dá)式對應(yīng)的歐式距離;ci 為第i個(gè)聚類中心。

該算法要同簇中的數(shù)據(jù)對象更加相似,不同簇之間的數(shù)據(jù)對象更加不同,具體要使得 SSE取得最小值,即使得到每個(gè)數(shù)據(jù)對象與所對應(yīng)的聚類中心之間的平方歐氏距離之和的最小值。

在聚類中,通常更關(guān)注聚類得到的anchor和實(shí)際 bounding box 的之間的 IoU,因此使用 IoU 距離作為度量距離更合適。anchor 和 bounding box之間的IoU計(jì)算表達(dá)式如式(5)。

在計(jì)算IoU時(shí),不管bounding box的位置,令 anchor 和 bounding box 的左上角都在原點(diǎn)。當(dāng) anchor 和bounding box 越相似時(shí),其 IoU 值就越大,一般我們認(rèn)為他們就越相近。因此,最終的 IoU距離公式如式(5)—(6)。

式中:anchor為錨框的面積;bounding box為回歸框的面積。

K-means 聚類算法于簡單易用,具有較高的計(jì)算效率,同時(shí)適用對大批量數(shù)據(jù)進(jìn)行聚類。但是,該算法隨機(jī)選取初始簇中心點(diǎn),可能陷入局部最優(yōu)解,得不到全局最優(yōu)解。

與傳統(tǒng)的K-means 算法相比,K-means++算法的聚類初始化中心點(diǎn)是通過一定的概率分布方式選取的,能夠避免隨機(jī)選取的不良影響,從而得到更好的聚類結(jié)果[22]。

本文為了更好地檢測具有極端長寬比的素布瑕疵,使用 IoU 距離代替歐式距離,采用 K- means++代替?zhèn)鹘y(tǒng)的K-means 聚類算法進(jìn)行聚類,通過遺傳算法對聚類的 anchor 結(jié)果進(jìn)行處理,隨機(jī)對一些 anchor的寬和高進(jìn)行改變,即進(jìn)行變異,以適應(yīng)度(Fitness)和召回率(best possi- ble recall)作為評價(jià)標(biāo)準(zhǔn),得到比之前好的變異結(jié)果就賦值給 anchor,差的變異結(jié)果就忽略,共變異1000次。

1.3.2重新設(shè)計(jì)預(yù)設(shè)錨框

本文的K-means++算法使用 IoU 距離來計(jì)算聚類中心,在訓(xùn)練集上分別使用K值為2到13的聚類中心數(shù)量進(jìn)行聚類,計(jì)算其平均 IoU 值,如圖7所示。如圖所示,橫軸代表從2到13不同的K值,縱軸代表了各個(gè)K值對應(yīng)的平均 IoU值。

手肘法是判定選取最佳K值的常用方法[23],通過觀察平均IoU折線圖,選取使得平均IOU的斜率產(chǎn)生明顯變化的K值。當(dāng)K=8時(shí)其上升幅度較大,且隨著K值的增加,折線上升幅度逐漸平穩(wěn),因此,最佳聚類數(shù)K選取為8。

使用遺傳算法對聚類結(jié)果操作,以適應(yīng)度和召回率作為評價(jià),結(jié)果如表2所示。由表可知,使用遺傳算法,聚類效果略有增加。

在Faster RCNN中,預(yù)設(shè)錨框比例共有3種,分別是0.5、1.0和2.0,預(yù)設(shè)錨框尺寸有5種,分別是32、64、128、256、512,分別對應(yīng)5個(gè)預(yù)測特征層。設(shè)定K=8,根據(jù)多次計(jì)算聚類結(jié)果,選取8種預(yù)設(shè)錨框比例,分別是0.11、0.2、0.41、1.0、2.18、3.76、6.7和25.0,預(yù)設(shè)錨框尺寸仍使用最初的5種來對應(yīng)5個(gè)預(yù)測特征層。

1.4 Focal Loss

在 Faster RCNN with FPN 目標(biāo)檢測模型的 RPN網(wǎng)絡(luò)中,使用二分類交叉熵?fù)p失函數(shù)來計(jì)算目標(biāo)損失值。該損失函數(shù)表達(dá)式如式(7)。

式中:y ′為模型預(yù)測為正樣本的概率;y 為樣本的真實(shí)值。

對于正樣本來說,模型預(yù)測的概率值越大,則交叉熵?fù)p失值越小,而對于負(fù)樣本來說,模型預(yù)測的概率值越小,則交叉熵?fù)p失值越小。對于當(dāng)訓(xùn)練集中,產(chǎn)生預(yù)測框中負(fù)樣本數(shù)量遠(yuǎn)多于正樣本時(shí),模型可能會傾向于將所有樣本都預(yù)測為負(fù)樣本減小總體損失,這對于正樣本的預(yù)測非常不利,也是交叉熵?fù)p失導(dǎo)致模型性能不佳的原因之一。

焦點(diǎn)損失(Focal Loss)是為了解決單階段目標(biāo)檢測算法中正負(fù)樣本不平衡以及難易樣本不平衡的問題而提出的[9],而在素布的瑕疵檢測中,因?yàn)殍Υ媚繕?biāo)尺寸較小,也會存在候選框正樣本和負(fù)樣本之間比例極不平衡的問題。

Focal Loss是在交叉熵?fù)p失函數(shù)上經(jīng)過修改得到的,具體公式如式(8)。

式中:α為平衡因子;γ為可調(diào)節(jié)因子,γ>0。

當(dāng)γ>0時(shí),通過減少容易分類樣本的損失,來使得檢測網(wǎng)絡(luò)模型更關(guān)注困難樣本,平衡因子α用來平衡正負(fù)樣本的比例失衡。

本文采用 Focal Loss 函數(shù)來代替 RPN 網(wǎng)絡(luò)中的二分類交叉熵?fù)p失函數(shù),其中參數(shù)平衡因子α為0.25,可調(diào)節(jié)因子γ為2。

2實(shí)驗(yàn)

2.1數(shù)據(jù)集構(gòu)建

本文所使用的數(shù)據(jù)集是佛山南海某紡織車間采集而來的素布數(shù)據(jù)集[24]。該數(shù)據(jù)集共5913張素布瑕疵圖片,包含尺寸不一的34種瑕疵,其中一個(gè)圖片可能包含一種或者多種類別的素布瑕疵。本文采用類似VOC格式的數(shù)據(jù)集,將這些瑕疵按照瑕疵形態(tài)和形成原因進(jìn)行合并分類,得到20種瑕疵類別,將其的類別名改為1到20,得到表3。

由表3可知,三絲、結(jié)頭和粗維等瑕疵數(shù)量在總體瑕疵數(shù)量中占比較大,各個(gè)瑕疵的分布較不平衡,為了訓(xùn)練達(dá)到理想效果,通過數(shù)據(jù)增強(qiáng)擴(kuò)充數(shù)據(jù)規(guī)模。

本文為避免數(shù)據(jù)失真,保證數(shù)據(jù)集的尺寸比例不變,對數(shù)據(jù)集進(jìn)行水平翻轉(zhuǎn)和旋轉(zhuǎn)180°等操作,將數(shù)據(jù)集擴(kuò)展為原數(shù)據(jù)集規(guī)模的3倍,其中,對訓(xùn)練集、驗(yàn)證集和測試集按照6:2:2進(jìn)行劃分。2.2圖像預(yù)處理

對輸入模型的數(shù)據(jù)集圖像進(jìn)行預(yù)處理。訓(xùn)練數(shù)據(jù)集的圖像原始尺寸的通道數(shù)、高和寬分別為3、1000、2446,經(jīng)過圖像縮放,得到新圖像的尺寸為3、544、1333。

對縮放后的圖像進(jìn)行圖像標(biāo)準(zhǔn)化處理,圖像標(biāo)準(zhǔn)化的公式如式(9)—(11)。

式中:yi 為輸出圖像的像素值;xi 為輸入圖像的像素值;xmean 為輸入圖像像素的均值;s 為輸入圖像像素的標(biāo)準(zhǔn)差;

為了在訓(xùn)練時(shí)充分利用預(yù)訓(xùn)練模型,對縮減后的圖像進(jìn)行圖像標(biāo)準(zhǔn)化時(shí),選用在ImageNet數(shù)據(jù)集上得到的均值和標(biāo)準(zhǔn)差,其中均值為[0.485, 0.456, 0.406],標(biāo)準(zhǔn)差為[0.229, 0.224, 0.225]。圖8為原圖和其經(jīng)過圖像標(biāo)準(zhǔn)化處理后,使用 cv2顯示的圖像。

2.3模型訓(xùn)練

2.3.1訓(xùn)練環(huán)境

本文的 Faster RCNN with FPN 及其改進(jìn)目標(biāo)檢測模型采用云服務(wù)器訓(xùn)練,其操作系統(tǒng)為 ubuntu 18.04,編程語言選用python3.8,深度學(xué)習(xí)框架采用pytorch1.7.0,所用的具體硬件參數(shù)如表4所示。

2.3.2訓(xùn)練方式

為了避免訓(xùn)練模型從頭開始,減少訓(xùn)練時(shí)間和硬件資源成本,增加網(wǎng)絡(luò)的訓(xùn)練的收斂速度,提升網(wǎng)絡(luò)的訓(xùn)練效果,本實(shí)驗(yàn)使用遷移學(xué)習(xí)的方式進(jìn)行訓(xùn)練[25],使用在 ImageNet 訓(xùn)練得到的 ResNet50預(yù)訓(xùn)練權(quán)重進(jìn)行訓(xùn)練。

本文對于 Faster RCNN 的訓(xùn)練通過近似聯(lián)合訓(xùn)練(approximate Joint Training)來完成,這種訓(xùn)練方法在一次前向和反向傳播過程中同時(shí)計(jì)算RPN和Fast RCNN的損失,實(shí)現(xiàn)了高效的端到端訓(xùn)練,提高了訓(xùn)練效率,有助于模型在目標(biāo)檢測任務(wù)中取得更好的性能。

2.3.3訓(xùn)練超參數(shù)

設(shè)置訓(xùn)練和驗(yàn)證的參數(shù),優(yōu)化器選用 SGD 優(yōu)化器,學(xué)習(xí)率調(diào)整策略選用余弦退火[26],學(xué)習(xí)率設(shè)置為0.0055,衰減權(quán)重為0.0005,訓(xùn)練和驗(yàn)證的batch size均設(shè)置為16,共訓(xùn)練55個(gè) epoch,為了減緩模型訓(xùn)練時(shí)的震蕩,加快模型收斂速度,第一個(gè)epoch使用Warmup預(yù)熱學(xué)習(xí)率。

2.4評價(jià)指標(biāo)

為了充分驗(yàn)證對模型改進(jìn)的有效性,需要一套有效的評價(jià)指標(biāo)來對模型進(jìn)行評估,本實(shí)驗(yàn)選用Microsoft COCO數(shù)據(jù)集中的 COCO指標(biāo)來評估模型,該指標(biāo)廣泛應(yīng)用于圖像分割和目標(biāo)檢測任務(wù)。

本文為了更直觀地評估目標(biāo)檢測模型性能,對個(gè)別類別進(jìn)行評估時(shí)使用 AP(Average Preci- sion)表示平均精度,對全部類別進(jìn)行評估時(shí)使用 mAP(Mean Average Precision)表示各類別AP的平均值。其中,對于單個(gè)類別來說,AP是Preci- sion-Recall曲線(即PR曲線)與坐標(biāo)軸圍成的面積,用于衡量檢測算法在該類別上的準(zhǔn)確率。其中精確率(Precision)和召回率(Recall)的計(jì)算公式如式(12)—(13)。

式中:TP為模型正確預(yù)測正例目標(biāo)的個(gè)數(shù);FP為模型錯(cuò)誤預(yù)測為正例目標(biāo)的個(gè)數(shù);FN為模型錯(cuò)誤預(yù)測為負(fù)例目標(biāo)的個(gè)數(shù)。

本文使用mAP50、mAP75、mAP50:95和AP50等指標(biāo),對不同模型進(jìn)行對比和評估。其中,mAP50指在 IoU=0.50閾值下的平均精確率,mAP50和 mAP75分別指在 IoU=0.50和 IoU=0.75閾值下的各類別AP的平均值,mAP50:95指從0.50到0.95不同IoU閾值下的各類別AP的平均值。

2.5實(shí)驗(yàn)結(jié)果分析

本文使用 Focal Loss 損失函數(shù)來計(jì)算 RPN 網(wǎng)絡(luò)的目標(biāo)損失,在改進(jìn)的Faster RCNN的訓(xùn)練過程中,其網(wǎng)絡(luò)總的訓(xùn)練平均損失和 Faster RCNN中各個(gè)損失函數(shù)的訓(xùn)練平均損失變化如圖9所示。

觀察圖8,總的平均損失在[2,3]之間損失值上升,分析可知,在此區(qū)間內(nèi),因?yàn)镕ast RCNN網(wǎng)絡(luò)的分類損失(classifier loss)和邊界框回歸損失(box regression loss)都在上升,同時(shí)RPN網(wǎng)絡(luò)的 Focal Loss的損失值相對于原來的二值交叉熵?fù)p失值較低,導(dǎo)致總的平均損失上升,在迭代次數(shù)大于3后,網(wǎng)絡(luò)訓(xùn)練的總體損失值快速下降。

分析總的平均損失變化,在前40次迭代中,網(wǎng)絡(luò)總的平均損失值迅速減小,當(dāng)?shù)螖?shù)達(dá)到45次時(shí),總的平均損失曲線逐漸趨于平穩(wěn)。

為了驗(yàn)證本算法的有效性,選擇4種目標(biāo)檢測模型,均使用預(yù)訓(xùn)練模型,輸入網(wǎng)絡(luò)的圖像尺寸統(tǒng)一縮放為3、544、1333,各模型分別使用驗(yàn)證集上效果最好的模型參數(shù)在測試集上進(jìn)行測試,其實(shí)驗(yàn)結(jié)果如表5。

本章實(shí)驗(yàn)的Baseline選用Faster RCNN with FPN目標(biāo)檢測模型,除了更改指定網(wǎng)絡(luò)結(jié)構(gòu)或參數(shù)以外,本文不做其他任何操作,共訓(xùn)練55輪,得到各個(gè)改進(jìn)模型在驗(yàn)證集上得到的mAP50變化曲線如圖10。

由上圖可知,改進(jìn)的模型相比Faster RCNN with FPN的檢測性能提升較多。每個(gè)模型分別使用其在驗(yàn)證集上取得最好效果的模型參數(shù),在測試數(shù)據(jù)集上進(jìn)行測試,結(jié)果如表6所示。

由表6可知,本文的4種改進(jìn)方法都提升了網(wǎng)絡(luò)的檢測精度。引進(jìn) CCFM 結(jié)構(gòu)改進(jìn) Faster RCNN with FPN的FPN結(jié)構(gòu)對于精度提升最多,其 mAP50、mAP75和 mAP50:95都分別提升了4.7%、3.0%和3.3%,說明構(gòu)建新的 FPN 結(jié)構(gòu)對提高檢測模型的精度十分關(guān)鍵。引進(jìn)AIFI模塊繼續(xù)改進(jìn) FPN 結(jié)構(gòu),mAP75和 mAP50:95分別提升了0.6%和0.3%,證明AIFI結(jié)構(gòu)對于Faster RCNN這類二階段檢測模型提升精度有一些幫助。重新設(shè)計(jì)錨框,mAP50、mAP75和mAP50:95分別提升了0.4%、0.7%和0.4%,說明重新設(shè)計(jì)錨框有助于網(wǎng)絡(luò)模型檢測尺寸不一的素布瑕疵。在使用Focal Loss 替換RPN網(wǎng)絡(luò)中的二值交叉熵?fù)p失后,mAP50提升了1.2%,表明平衡正負(fù)樣本有利于提升對于素布瑕疵的檢測精度。

本文針對10類具有不同形態(tài)特征的常見瑕疵進(jìn)行檢測,改進(jìn)算法和Faster RCNN with FPN 對于選定的10類素布瑕疵檢測精度AP50的對比如圖11。

觀察上圖可知,本文改進(jìn)算法相對于原始的Faster RCNN with FPN來說,對于具有較大長寬比的瑕疵類別,如6、10、11、20等瑕疵類別,精度均有較大提升,說明重新設(shè)計(jì)錨框有利于檢測寬高比較大的目標(biāo)。而改進(jìn)算法對于 Faster RCNN with FPN檢測較困難的瑕疵類別提升較大,尤其是10、13、18等瑕疵類別,其精度AP50值分別提升了20.10%、8.03%和8.99%,說明改進(jìn)算法對于檢測困難類別有較大幫助。

本文改進(jìn)前后的檢測檢測效果如圖12所示,通過對改進(jìn)的算法模型和Faster RCNN with FPN進(jìn)行對比可知,改進(jìn)的算法模型在受到檢測環(huán)境和布面噪聲的干擾下,對于中小尺寸和長寬比極端的瑕疵,具有更準(zhǔn)確的檢測效果。

3結(jié)論

(1)針對素布瑕疵長寬比例極端和中小目標(biāo)較多的問題,本文對Faster RCNN with FPN檢測模型進(jìn)行了一系列的改進(jìn),包括:引入 CCFM改進(jìn) FPN 結(jié)構(gòu),在改進(jìn)的 FPN 結(jié)構(gòu)中使用AIFI 模塊,利用一層Transformer的Encoder結(jié)構(gòu)處理深層特征層,改進(jìn)聚類算法并重新設(shè)計(jì)錨框,使用 Focal Loss代替RPN網(wǎng)絡(luò)的二值交叉熵?fù)p失。最后,使用預(yù)訓(xùn)練模型進(jìn)行模型的訓(xùn)練,加快模型收斂,提高訓(xùn)練效果。

(2)在對照實(shí)驗(yàn)中,改進(jìn)檢測算法模型相對于原始的 Faster RCNN with FPN,在 mAP50、 mAP75和 mAP50:95指標(biāo)上分別提升6.5%、4.4%和4.0%,證明本改進(jìn)算法對于提升素布瑕疵檢測模型的檢測性能有明顯效果,可以實(shí)現(xiàn)對于20種素布瑕疵的檢測。

(3)檢測模型在改進(jìn)過程中,由于多種模塊的引入,導(dǎo)致模型結(jié)構(gòu)更加復(fù)雜和參數(shù)量的增加,從而減緩了檢測速度,下一步的工作是分析模型網(wǎng)絡(luò)結(jié)構(gòu),進(jìn)一步優(yōu)化檢測模型,以提高模型檢測效率,加快模型檢測速度,更好地完成在紡織車間實(shí)時(shí)檢測素布瑕疵的要求。

參考文獻(xiàn):

[1]謝博韜.工信部:2023年紡織行業(yè)利潤總額同比增長7.2%[EB/OL].(2024-01-29)[2024-03-05]. https://news.cctv.com/2024/01/29/ARTIha3lWeH ?YUPfsoqvRx9og240129.shtml.

XIE Botao. Ministry of industry and information technology of the people's republic of China:The total profit of the textile ?industry in 2023 in- creased by 7.2% year-on-year [EB/OL].(2024-01-29).https://news.cctv.com/2024/01/29/ARTIha3lW eHYUPfsoqvRx9og240129.shtml.

[2]OUYANG W, XU B, HOU J, et al. Fabric defect detection using activation layer embedded convo- lutional neural network [J]. IEEE Access, 2019, 7:70130-70140.

[3]MEIER R, UHLMANN J, LEUENBERGER R. More than meets the eye - a quality revolution [J]. Textile Month, 1999(2): p.34-36.

[4]KUMAR A. Computer-vision-based fabric defect detection: A survey [J]. IEEE Transactions on In- dustrial Electronics, 2008, 55(1):348-363.

[5]鄧中民, 胡灝東, 于東洋, 等.結(jié)合圖像頻域和空間域的緯編針織物密度檢測方法[J].紡織學(xué)報(bào), 2022, 43(8):67-73.

DENG Zhongmin, HU Haodong, YU Dongyang, et al. A density detection method for weft knitted fabrics combining image frequency domain and spatial domain [J]. Journal of Textile Research, 2022, 43(8):67-73.

[6]REN S, HE K, GIRSHICK R, et al. Faster R- CNN: Towards real-time object detection with re- gion proposal networks [J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39(6):1137-1149.

[7]WEI L, DRAGOMIR A, DUMITRU E, et al. SSD: Single shot multibox ?detector [J]. arXiv, 2016, 1512.02325.

[8]REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: Unified, real-time object de- tection [C]//IEEE.2016 IEEE ?Conference ?on Computer ?Vision ?and ?Pattern ?Recognition(CVPR). Las Vegas:IEEE, 2016:779-788.

[9]LIN T Y, GOYAL P, GIRSHICK R, et al. Focal Loss for dense object detection [C]// IEEE.2017 IEEE International Conference on Computer Vi-sion (ICCV). Venice:IEEE, 2017:2999-3007.

[10]CHEN M, YU L, ZHI C, et al. Improved faster R- CNN for fabric defect detection based on gabor filter with genetic algorithm optimization [J].Computers in Industry, 2022, 134:103551.

[11]XIE H, ZHANG Y, WU Z. An improved fabricdefect ?detection ?method ?based ?on ?SSD [J]. AATCC Journal of Research, 2021, 8(suppl 1):181-190.

[12]SHI L, SONG J, GAO Y, et al. YOLO-GFD: A fast and accurate fabric defect detection model [C]//IEEE.20234th International Conference on Big Data, Artificial Intelligence and Internet of Things Engineering (ICBAIE). Hangzhou:IEEE, 2023:229-233.

[13]QIN Y, CHEN M, QI L, et al. Focus generator with score classification on fabric defect detec- tion [C]//Focus.2019 IEEE 31st International Conference on Tools with Artificial Intelligence (ICTAI). Portland:IEEE, 2019:1708-1714.

[14]SIMONYAN K, ZISSERMAN A. Very deep con- volutional networks for large-scale image recog- nition [J]. CoRR, 2014, arXiv:1409.1556.

[15]HE K, ZHANG X, REN S, et al. Deep residual learning for image recognition [C]//IEEE.2016 IEEE Conference on Computer Vision and Pat- tern ?Recognition (CVPR). Las ?Vegas:IEEE, 2016:770-778.

[16]LIN T Y, DOLLáR P, GIRSHICK R, et al. Fea- ture pyramid networks for object detection [C]// IEEE.2017 IEEE Conference on Computer Vi- sion and Pattern Recognition (CVPR). Honolulu: IEEE, 2017:936-944.

[17]GIRSHICK R. Fast R-CNN [C]//IEEE. Proceed- ings of the IEEE international conference on computer vision. Santiago:IEEE, 2015:1440-1448.

[18]HE K, GKIOXARI G, DOLLáR P, et al. Mask R- CNN [C]//IEEE.2017 IEEE International Confer- ence on Computer Vision (ICCV). Venice:IEEE, 2017:2980-2988.

[19]CARION N, MASSA F, SYNNAEVE G, et al. End- to- end object detection with Transformers [J]. ArXiv, 2020, ArXiv:2005.12872.

[20]LV W, XU S, ZHAO Y, et al. DETRs beat YO- LOs on real- time object detection [J]. ArXiv, 2023, ArXiv:2304.08069.

[21]PELLEG D, MOORE A. Accelerating exact K-means algorithms with geometric reasoning [C]// FAYYAD U. Proceedings of the fifth ACM SIG- KDD international conference on Knowledge dis- covery and data mining. San Diego:Associationfor Computing Machinery, 1999:277-281.

[22]ARTHUR D, VASSILVITSKII S. K- means ++:The advantages of careful seeding [C]//GABOW H. SODA. New Orleans Louisiana:Society for In- dustrial and Applied Mathematics3600 Universi- ty City Science Center Philadelphia, 2007, 7:1027-1035.

[23]NAINGGOLAN R, PERANGIN-ANGIN R, SI- MARMATA R, et al. Improved the performance of the K-Means cluster using the sum of squared error (sse) optimized by using the elbow method [J]. Journal of Physics: Conference Series, 2019, 1361(1):012015.

[24]TIANCHI. Smart diagnosis of cloth flaw dataset /布匹瑕疵檢測數(shù)據(jù)集[EB/OL].(2020-10-21)[2024-03-5]. https://tianchi.aliyun.com/dataset/79336.

[25]PAN S J, YANG Q. A survey on transfer learning [J]. IEEE Transactions on Knowledge and Data Engineering, 2010, 22(10):1345-1359.

[26]LOSHCHILOV I, HUTTER F. SGDR: Stochas- tic gradient descent with warm restarts [J]. arX- iv: Learning, 2016, arXiv:1608.03983.

(責(zé)任編輯:周莉)

宁津县| 十堰市| 榆树市| 莲花县| 舒城县| 二手房| 苗栗县| 谢通门县| 平舆县| 萍乡市| 景泰县| 增城市| 融水| 樟树市| 科尔| 文成县| 深圳市| 桓仁| 方正县| 农安县| 西乌珠穆沁旗| 鄂尔多斯市| 东阳市| 东光县| 马公市| 昌宁县| 凌云县| 民县| 巨鹿县| 墨竹工卡县| 丁青县| 建德市| 边坝县| 建平县| 沂水县| 武安市| 星子县| 双牌县| 龙川县| 称多县| 玉树县|