• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于改進(jìn)YOLOv3 算法的布匹瑕疵檢測(cè)研究

      2022-06-23 09:18:02蘇茂錦
      關(guān)鍵詞:布匹瑕疵損失

      蘇茂錦,曹 民

      (上海理工大學(xué) 光電信息與計(jì)算機(jī)工程學(xué)院,上海 200093)

      0 引言

      紡織業(yè)作為中國(guó)傳統(tǒng)經(jīng)濟(jì)的支柱產(chǎn)業(yè),其發(fā)展備受?chē)?guó)家重視。目前,國(guó)內(nèi)紡織業(yè)的總產(chǎn)量在國(guó)際上處于領(lǐng)先地位,但紡織企業(yè)在維持高產(chǎn)量的同時(shí)也不可避免會(huì)生產(chǎn)很多帶瑕疵的布匹,這些瑕疵布匹會(huì)讓企業(yè)利潤(rùn)蒙受大量損失。因此紡織廠會(huì)要求員工檢查布匹中存在的各種復(fù)雜瑕疵,但是人工檢查布匹的速度一般為10~20 m/min,效率低下,同時(shí)人工成本較大,且人工檢測(cè)布匹瑕疵檢出率約為70%,這在一定程度上也會(huì)限制布匹的生產(chǎn)。因此,高效率、低成本的自動(dòng)化布匹瑕疵檢測(cè)已經(jīng)成為計(jì)算機(jī)、智能化等領(lǐng)域的研究熱點(diǎn)。

      傳統(tǒng)的機(jī)器視覺(jué)布匹瑕疵檢測(cè)的方法有頻譜分析方法、模型方法等。其中,頻譜分析方法比較依賴濾波器組的選擇,模型方法計(jì)算量較大。這些機(jī)器視覺(jué)檢測(cè)方法都需要對(duì)圖像的特征進(jìn)行提取,面料不同,圖像的提取特征可能也是不同的,常常需要對(duì)算法進(jìn)行重新設(shè)計(jì),模型的可遷移性不高,在面對(duì)具有復(fù)雜背景環(huán)境、布匹瑕疵大小差異懸殊、大分辨率的圖片時(shí),亟需研發(fā)出一種更具一般性、且低訓(xùn)練成本的檢測(cè)辦法。

      目前,卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)在圖像識(shí)別領(lǐng)域占據(jù)重要地位,不僅對(duì)圖像中的特征有著強(qiáng)大的提取能力,而且在圖像變換不變性的條件下仍然有著很強(qiáng)的分類(lèi)和泛化能力。因此,CNN 漸漸取代了傳統(tǒng)目標(biāo)檢測(cè)算法,現(xiàn)已成為目標(biāo)檢測(cè)領(lǐng)域的主要方法。

      研究可知,基于卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測(cè)算法主要分為一步式檢測(cè)和兩步式檢測(cè)。總地說(shuō)來(lái),兩步式檢測(cè)預(yù)先生成可能包含待檢測(cè)物體的候選框,然后進(jìn)行細(xì)粒度物體檢測(cè)。兩步式目標(biāo)檢測(cè)算法檢測(cè)精度較高,但很難滿足實(shí)時(shí)需求,代表算法有:RCNN,F(xiàn)ast-RCNN。而一步式檢測(cè)算法則直接在網(wǎng)絡(luò)中提取目標(biāo)特征,并生成預(yù)測(cè)物體的種類(lèi)和位置信息。一步式目標(biāo)檢測(cè)算法端到端地生成預(yù)測(cè)信息,在保證精度的同時(shí)大幅度地提升了檢測(cè)速度,代表算法有:YOLO 系列和SSD 系列。尤需指出的是,YOLO 系列里第三代算法(YOLOV3)的提出使得目標(biāo)檢測(cè)在工業(yè)應(yīng)用上、包括人臉識(shí)別、工業(yè)零件計(jì)數(shù)、工業(yè)缺陷檢測(cè)等等方面都有了很大的進(jìn)步。

      本次研究根據(jù)布匹瑕疵大小差異較大、各瑕疵數(shù)量不平均導(dǎo)致的訓(xùn)練結(jié)果具有偏向性、負(fù)樣本過(guò)多等問(wèn)題在YOLOv3 的基礎(chǔ)上進(jìn)行改進(jìn):在YOLOv3 的FPN 特征金字塔中加入通道注意力機(jī)制(SENet 模塊),提升網(wǎng)絡(luò)對(duì)重要特征的選擇能力。使用深度可分離卷積替代FPN 中的3×3 卷積,降低網(wǎng)絡(luò)參數(shù)量,提升算法檢測(cè)速度。使用損失函數(shù)替換YOLOv3 中的分類(lèi)損失函數(shù),降低樣本類(lèi)別不平衡產(chǎn)生的影響。

      1 YOLOv3 介紹

      1.1 YOLOv3 算法原理

      YOLOv3將圖片劃分為個(gè)柵格,每個(gè)柵格有個(gè)邊界框(bounding box),如果待檢測(cè)目標(biāo)中心落到某個(gè)柵格中,則該目標(biāo)由這個(gè)柵格中的邊界框進(jìn)行預(yù)測(cè),每個(gè)邊界框包含3 類(lèi)信息,分別是:位置信息(,,,)、置信度()以及個(gè)類(lèi)別的概率(),因此最終輸出維度為(4+1+)。由預(yù)測(cè)框的位置信息獲取真實(shí)框位置信息的計(jì)算公式如下:

      其中, b,bb,b為真實(shí)框的中心位置以及寬、高信息;p,p為預(yù)設(shè)錨框的寬、高;c,c為預(yù)測(cè)框所屬柵格左上角的坐標(biāo)。

      置信度信息代表當(dāng)前邊界框是否有對(duì)象的概率(Object)以及當(dāng)邊界框有對(duì)象時(shí),能夠預(yù)測(cè)的box 與物體真實(shí)box 的值。其公式如下:

      其中,()表示柵格是否包含真實(shí)對(duì)象:假設(shè)柵格包含物體,則取1,否則取0;表示真實(shí)框與預(yù)測(cè)框的交并比,也就是真實(shí)框和預(yù)測(cè)框交集面積與并集面積的比值。

      1.2 YOLOv3 網(wǎng)絡(luò)結(jié)構(gòu)

      YOLOv3 的網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示。結(jié)構(gòu)中采用DarkNet53 作為特征提取主干網(wǎng)絡(luò),相對(duì)于YOLO2的DarkNet19 引入了殘差塊,此結(jié)構(gòu)由連續(xù)的1×1卷積和3×3 卷積構(gòu)成,后又通過(guò)將殘差塊的輸入與連續(xù)卷積后的結(jié)果進(jìn)行跳躍連接得到最終輸出。分析可知,該結(jié)構(gòu)特點(diǎn)就是通過(guò)加深網(wǎng)絡(luò)的深度、從而提高網(wǎng)絡(luò)預(yù)測(cè)的準(zhǔn)確性,同時(shí)也緩解了隨著網(wǎng)絡(luò)深度的增加而出現(xiàn)的梯度消失問(wèn)題。

      圖1 YOLOv3 結(jié)構(gòu)圖Fig.1 YOLOv3 structure

      YOLOv3 完成對(duì)輸入圖片的特征提取后會(huì)生成3 個(gè)特征層,3 個(gè)特征層位于主干網(wǎng)絡(luò)DarkNet53 的不同部分。接下來(lái),利用3 個(gè)特征層構(gòu)建FPN 特征金字塔,將3 個(gè)特征層進(jìn)行特征融合,既利用了深層特征較強(qiáng)的語(yǔ)義信息,又利用了淺層特征的高分辨率信息。

      2 基于YOLOv3 的改進(jìn)算法

      2.1 深度可分離卷積

      傳統(tǒng)的標(biāo)準(zhǔn)卷積在運(yùn)算過(guò)程中會(huì)考慮所有的通道數(shù),因此會(huì)產(chǎn)生大量參數(shù)和計(jì)算。假設(shè)輸入特征圖的尺寸為D×D×,卷積核尺寸為D×D×,輸出特征圖尺寸為D×D×,則標(biāo)準(zhǔn)卷積的參數(shù)量為(×D×)×。標(biāo)準(zhǔn)卷積過(guò)程示意見(jiàn)圖2。

      圖2 標(biāo)準(zhǔn)卷積過(guò)程Fig.2 Standard convolution procedure

      深度可分離卷積(Depthwise separable convolution)過(guò)程如圖3、圖4 所示。由圖3、圖4 可知,這一過(guò)程可分為2 步。第一步是深度卷積,用于濾波,尺寸為D×D× 1,共個(gè),參數(shù)量為( D×D×1)×,作用在輸入的每個(gè)通道上,改變特征圖的寬、高;第二步是逐點(diǎn)卷積,用于轉(zhuǎn)換通道,尺寸為1×1×,共個(gè),參數(shù)量為(1×1×)×,作用在深度卷積的輸出特征映射上。兩者合起來(lái)就是深度可分離卷積??倕?shù)量等于2 個(gè)部分之和:

      圖3 深度卷積Fig.3 Depthwise convolution

      圖4 逐點(diǎn)卷積Fig.4 Pointwise convolution

      由此可見(jiàn),使用深度可分離卷積可有效降低網(wǎng)絡(luò)計(jì)算量,提高網(wǎng)絡(luò)預(yù)測(cè)速度,本文中將FPN 中的3×3卷積全部替換成深度可分離卷積,降低YOLOv3檢測(cè)頭的參數(shù)量,同時(shí)也不影響主干網(wǎng)絡(luò)的遷移訓(xùn)練。

      2.2 嵌入SENet

      SENet是由胡杰團(tuán)隊(duì)于2017 年提出的網(wǎng)絡(luò)結(jié)構(gòu),相對(duì)于傳統(tǒng)卷積只是進(jìn)行特征的提取,SENet 通過(guò)給每個(gè)通道進(jìn)行加權(quán),使每個(gè)通道能夠獲得一個(gè)常數(shù)權(quán)重,從而得到占有更大權(quán)重的重要特征。模型可以通過(guò)學(xué)習(xí)的方式自動(dòng)獲取每個(gè)特征通道的重要程度,使模型更加關(guān)注對(duì)當(dāng)前任務(wù)有效的特征、抑制對(duì)任務(wù)無(wú)效的特征。

      SENet 的結(jié)構(gòu)如圖5 所示。由圖5 可知,主要包含2 個(gè)過(guò)程:以及。對(duì)此擬展開(kāi)分述如下。

      圖5 SENet 網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 SENet structure

      (1):SENet 將輸入的特征圖進(jìn)行一次全局平均池化(global average pool),將一個(gè)通道上的整個(gè)空間特征編碼作為一個(gè)全局特征得到一個(gè)標(biāo)量,個(gè)通道則會(huì)獲取到個(gè)標(biāo)量,該過(guò)程輸出的維度為1× 1×,計(jì)算公式如下:

      (2):經(jīng)過(guò)操作后網(wǎng)絡(luò)得到了全局特征,又通過(guò)2 層全連接構(gòu)成微型神經(jīng)網(wǎng)絡(luò)模塊自學(xué)習(xí)通道權(quán)重(FC-Relu-FC-Sigmoid),得到個(gè)0~1 之間的標(biāo)量作為通道的權(quán)重,再將原來(lái)輸出特征的各個(gè)通道進(jìn)行加權(quán),數(shù)學(xué)計(jì)算公式如下:

      其中,×表示全連接過(guò)程,表示ReLu 層。

      由此得到的結(jié)果再與做全連接,得到的輸出就是各個(gè)通道的權(quán)重,最后將權(quán)重與輸入特征圖進(jìn)行加權(quán)就是整個(gè)SENet 的輸出。

      本文通過(guò)將SENet 與深度可分離卷積引入到Y(jié)OLOv3 的特征金字塔,實(shí)現(xiàn)對(duì)網(wǎng)絡(luò)的優(yōu)化,使模型更加關(guān)注有效特征、抑制無(wú)效特征對(duì)輸出結(jié)果產(chǎn)生的干擾,降低網(wǎng)絡(luò)參數(shù)量以提升算法運(yùn)行速度。由此文中得到的改進(jìn)算法的網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示。

      圖6 改進(jìn)后算法結(jié)構(gòu)圖Fig.6 Improved algorithm structure diagram

      2.3 損失函數(shù)改進(jìn)

      YOLOv3 的損失函數(shù)主要分為3 類(lèi):回歸損失、置信度損失以及分類(lèi)損失,其中分類(lèi)損失采用的是二分類(lèi)交叉熵,本文用替代YOLOv3 的分類(lèi)損失。

      是由何凱明團(tuán)隊(duì)于2017 年提出的損失函數(shù)。函數(shù)主要是為了提升一步式目標(biāo)檢測(cè)的準(zhǔn)確度,研究中認(rèn)為一步式目標(biāo)檢測(cè)算法的準(zhǔn)確度往往不如兩步式目標(biāo)檢測(cè)算法的主要原因就在于樣本的類(lèi)別不平衡。

      樣本的類(lèi)別不平衡主要分為2 個(gè)方面。一是正、負(fù)樣本不平衡;二是難、易樣本不平衡。實(shí)際情況中,易分樣本占總體樣本比例較高,由此產(chǎn)生的損失函數(shù)將主導(dǎo)著總體損失,但是這部分樣本本身就能被模型很好地識(shí)別出來(lái),如此一來(lái),在整體背景下的損失函數(shù)對(duì)參數(shù)的更新并不會(huì)改善模型的預(yù)測(cè)能力,模型應(yīng)該關(guān)注難分的樣本。因此函數(shù)的思想是:對(duì)于正負(fù)樣本不均衡,可使用權(quán)重來(lái)進(jìn)行平衡,對(duì)于難分樣本和易分樣本,可將易分樣本的損失進(jìn)行一個(gè)冪函數(shù)降低,具體公式如下:

      其中,是平衡因子,主要用于平衡正、負(fù)樣本之間的數(shù)量比例不均;是縮放系數(shù),用于對(duì)易分樣本產(chǎn)生的損失進(jìn)行縮放,使模型更關(guān)注難分類(lèi)樣本,保證模型不會(huì)因?yàn)樘嘁追诸?lèi)而產(chǎn)生偏移。對(duì)于布匹瑕疵檢測(cè)來(lái)說(shuō),瑕疵與背景區(qū)分不明顯、難分樣本較少,使用會(huì)對(duì)模型性能提升有很好的效果。

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

      3.1 實(shí)驗(yàn)數(shù)據(jù)及環(huán)境配置

      實(shí)驗(yàn)數(shù)據(jù)來(lái)源于阿里云天池?cái)?shù)據(jù)大賽平臺(tái),一張圖片的分辨率為1000 px×2446 px,且一張圖片中可能存在多種缺陷類(lèi)型,同時(shí)缺陷類(lèi)型大小差異過(guò)大、小目標(biāo)過(guò)多,因而具有較大的識(shí)別難度。典型樣例如圖7 所示。

      圖7 數(shù)據(jù)集圖片樣例Fig.7 Samples of data set images

      本文選取生產(chǎn)中常見(jiàn)的5 種布匹瑕疵、如三絲、破洞、粗經(jīng)、結(jié)頭、整經(jīng)結(jié)來(lái)建立布匹瑕疵數(shù)據(jù)集,圖片數(shù)量共1544 張,取其中90%作為訓(xùn)練集,10%作為測(cè)試集,最后用于訓(xùn)練的圖片共有1389 張,測(cè)試集為155 張。表1 為各個(gè)樣本的分布情況。

      表1 樣本分布情況Tab.1 Samples distribution

      實(shí)驗(yàn)運(yùn)行環(huán)境:CPU 為Intel(R)Core(TM)i5-10300H,內(nèi)存為16 GB,GPU 為NVDIA GeForce GTX 1660Ti 6 GB,程序代碼使用Windows 環(huán)境下的Pytorch 進(jìn)行實(shí)現(xiàn)。

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

      為了驗(yàn)證文中提出的模型性能,將改進(jìn)算法與YOLOv3 進(jìn)行性能測(cè)試對(duì)比,分別計(jì)算YOLOv3 與改進(jìn)網(wǎng)絡(luò)對(duì)目標(biāo)的召回率()以及準(zhǔn)確率()、平均精準(zhǔn)度()的結(jié)果運(yùn)算數(shù)值。

      目標(biāo)召回率()和檢測(cè)準(zhǔn)確率()可分別由如下公式計(jì)算得出:

      其中,X表示正確檢測(cè)出來(lái)的目標(biāo)數(shù);X表示被錯(cuò)誤檢測(cè)出來(lái)的目標(biāo)數(shù); X表示未被檢測(cè)出來(lái)的目標(biāo)數(shù)。

      另?yè)?jù)研究分析指出,平均精準(zhǔn)度是從召回率和準(zhǔn)確率兩個(gè)角度來(lái)衡量檢測(cè)算法的準(zhǔn)確性,可以用來(lái)評(píng)價(jià)單個(gè)目標(biāo)的檢測(cè)效果。

      對(duì)測(cè)試集中的目標(biāo)進(jìn)行測(cè)試,分別獲取YOLOv3 與改進(jìn)算法的性能指標(biāo)。

      不同算法目標(biāo)檢測(cè)結(jié)果(、)的對(duì)比見(jiàn)表2,不同算法檢測(cè)結(jié)果(、)的對(duì)比見(jiàn)表3,不同算法檢測(cè)效率對(duì)比見(jiàn)表4。通過(guò)表2、表3、表4 對(duì)比后可以發(fā)現(xiàn),改進(jìn)算法對(duì)目標(biāo)的檢測(cè)準(zhǔn)確率較YOLOv3 提高了37.78%,召回率提高了5.12%,針對(duì)粗經(jīng)、整經(jīng)結(jié)這類(lèi)難識(shí)別、難分類(lèi)的指標(biāo)分別提升了12.42%、22.33%,雖然破洞的指標(biāo)降低了14.51%,但是改進(jìn)算法的指標(biāo)提升了4.9%,表明改進(jìn)算法在全部類(lèi)別中檢測(cè)的綜合性能更好。在檢測(cè)效率上,改進(jìn)算法的指標(biāo)較YOLOv3 提升了2.14(7%)。

      表2 不同算法目標(biāo)檢測(cè)結(jié)果的對(duì)比Tab.2 Comparison of target detection results of different algorithms %

      表3 不同算法檢測(cè)結(jié)果的對(duì)比Tab.3 Comparison of target detection results of different algorithms %

      表4 不同算法檢測(cè)效率對(duì)比Tab.4 Comparison of detection efficiency of different algorithms

      改進(jìn)算法與YOLOv3 檢測(cè)結(jié)果如圖8、圖9 所示。

      圖8 YOLOv3 檢測(cè)結(jié)果Fig.8 YOLOv3 detection results

      圖9 改進(jìn)算法檢測(cè)結(jié)果Fig.9 Improved algorithm detection results

      4 結(jié)束語(yǔ)

      本文提出了一種針對(duì)布匹瑕疵檢測(cè)的檢測(cè)方法,首先將YOLOv3 中FPN 里的3×3 卷積替換成深度可分離卷積,提高了模型的檢測(cè)速度,將SENet 融入到FPN 以及使用了損失函數(shù)替代原來(lái)的二分類(lèi)交叉熵函數(shù),有效提升了模型對(duì)難檢測(cè)、難分類(lèi)瑕疵的檢測(cè)性能。實(shí)驗(yàn)結(jié)果表明,該方法具有更好的魯棒性,相對(duì)于YOLOv3 算法,指標(biāo)提升了4.9%,對(duì)于難識(shí)別物體的準(zhǔn)確率也均獲得提升,檢測(cè)耗時(shí)更短,提高了模型的檢測(cè)性能。

      猜你喜歡
      布匹瑕疵損失
      少問(wèn)一句,損失千金
      胖胖損失了多少元
      登記行為瑕疵與善意取得排除的解釋論
      法律方法(2021年4期)2021-03-16 05:35:28
      哦,瑕疵
      哦,瑕疵
      玉米抽穗前倒伏怎么辦?怎么減少損失?
      獨(dú) 坐
      一般自由碰撞的最大動(dòng)能損失
      選擇的價(jià)值
      毫無(wú)瑕疵的推理
      淮阳县| 庆城县| 老河口市| 藁城市| 丹东市| 容城县| 吐鲁番市| 鄂托克旗| 连南| 万载县| 沂南县| 错那县| 大宁县| 新源县| 卢湾区| 巩留县| 五河县| 六枝特区| 宽城| 孝义市| 光泽县| 永兴县| 双辽市| 深水埗区| 邢台市| 关岭| 汉沽区| 察隅县| 浦城县| 全南县| 奉节县| 商城县| 石狮市| 郯城县| 仙桃市| 阿克| 青岛市| 乳山市| 武鸣县| 启东市| 株洲市|