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

?

基于改進YOLOv5算法的織物疵點檢測系統(tǒng)

2022-11-15 06:08謝團結(jié)林賢偉胡連信嚴明華王澤峰
棉紡織技術(shù) 2022年11期
關(guān)鍵詞:疵點池化織物

謝團結(jié)林賢偉胡連信嚴明華王澤峰

(1.湖州師范學(xué)院,浙江湖州,313000;2.湖州市菱湖萬事美毛紡織有限公司,浙江湖州,313009)

紡織業(yè)是我國國民經(jīng)濟的支柱型產(chǎn)業(yè)和重要的民生產(chǎn)業(yè),也是我國國際競爭優(yōu)勢明顯的產(chǎn)業(yè),在繁榮市場、擴大出口、吸納就業(yè)、增加收入、促進城鎮(zhèn)化發(fā)展等方面發(fā)揮著重要作用[1]。在我國紡織業(yè)發(fā)展的過程中,織物質(zhì)量是影響織物價格的關(guān)鍵因素,有疵點的織物比沒有疵點的織物價格降幅達50%[2]。為了提高產(chǎn)業(yè)經(jīng)濟效益,需要對織物疵點進行檢測。當前織物疵點檢測主要依靠人工目測的方式完成[3],人工目測不僅人工成本高,而且肉眼在對織物進行檢測的過程中,極易產(chǎn)生疲勞反應(yīng),直接影響織物的細微疵點檢測。

國內(nèi)外針對織物疵點,提出了許多相關(guān)檢測算法。按照檢測方法的不同,能夠?qū)⑦@些研究算法分為4大類。一是基于統(tǒng)計的方法。該類方法是利用織物疵點圖像的灰度像素值,通過計算這些像素值得到描述圖像紋理特征的統(tǒng)計量。鄒超設(shè)計了一種基于模糊類別共生矩陣的織物疵點在線檢測系統(tǒng),有效提高了織物疵點檢測的速度[4]。LATIF-AMET A等人提出應(yīng)用共生矩陣對織物疵點進行檢測[5]。二是基于頻域的方法。KARLEKAR V V等人提出了一種結(jié)合小波變換和形態(tài)學(xué)的織物疵點檢測方法[6]。李益紅等人提出基于Gabor濾波器的均值歸一化方差算法,降低了運算量,提高了準確率,達到了93%[7]。三是基于模型的方法。該類方法主要是在圖像層面構(gòu)建模型,通過假設(shè)檢驗的方法判斷織物紋理是否符合所建立的模型。常用的模型方法有自回歸模型[8-9]和馬爾科夫隨機場[10-11]。該類方法最大的缺點是不易識別小疵點。四是基于學(xué)習的方法。唐有赟等人提出了一種基于輕量級模型的經(jīng)編織物疵點在線檢測算法,這個算法在滿足經(jīng)編織物疵點檢測精度的基礎(chǔ)上,具有更快的檢測速度,是目前人 工檢測速 度 的4倍~6倍[12]。ZHENG L等人提出了一種基于改進YOLOv5的織物疵點檢測系統(tǒng)探測器,該算法能快速準確地提高織物疵點檢測和疵點定位的準確性[13]。

1 系統(tǒng)設(shè)計

本研究設(shè)計的織物疵點在線檢測系統(tǒng)結(jié)構(gòu)如圖1所示。該系統(tǒng)硬件由相機、光源、下位機、嵌入式微控制器、警報器組成,軟件用python語言編寫,PC界面采用pyqt設(shè)計,數(shù)據(jù)庫采用MySQL。首先訓(xùn)練織物疵點檢測模型,然后把訓(xùn)練好的模型搭載到下位機上,計算機通過讀取攝像頭錄取的視頻對織物進行識別。并把識別到的結(jié)果通過ffmpeg推流應(yīng)用傳到rtmp視頻流服務(wù)器,上位機通過讀取rtmp視頻流在前端進行顯示。如果發(fā)現(xiàn)了織物疵點,警報器就會發(fā)出響聲,并停止機器的運行,提醒工作人員織物出現(xiàn)了疵點,所有的織物疵點都會存儲在數(shù)據(jù)庫中,對織物質(zhì)量提供參考。

圖1 系統(tǒng)結(jié)構(gòu)圖

2 YOLOv5模型與改進

2.1 YOLOv5模型

YOLO[14]是 單 階 段 目 標 檢 測 的 算 法,YOLOv5模 型 分 為Input、Backbone、Neck、Prediction 4個部分。

2.1.1 Input

Input包含Mosaic數(shù)據(jù)增強、自動錨框計算和自適應(yīng)圖片縮放。Mosaic數(shù)據(jù)增強隨機將4張圖片進行拼接,豐富了圖片的背景,增加了很多小目標,讓網(wǎng)絡(luò)的魯棒性更好。YOLOv5中將計算錨框的功能加入到代碼中,每次訓(xùn)練時,自動計算出訓(xùn)練集中的最佳錨框值。YOLOv5的自適應(yīng)圖片縮放,是為了提高推理速度,自適應(yīng)圖片縮放相比于統(tǒng)一縮放,能夠減少圖片冗余信息和計算量,推理速度也得到了提升。

2.1.2 Backbone

Backbone模塊主要是由Conv結(jié)構(gòu)、CSP[15]結(jié)構(gòu)、SPPF[16]構(gòu)成。Conv結(jié)構(gòu)包括Conv2d二維卷積,BatchNormal,SiLU激 活 函 數(shù)。Conv結(jié) 構(gòu) 負責對特征圖進行特征提取,并更改特征圖通道數(shù)。CSP結(jié)構(gòu)主要通過減少網(wǎng)絡(luò)優(yōu)化中的梯度信息重復(fù),減少神經(jīng)網(wǎng)絡(luò)計算量。YOLOv5的CSP結(jié)構(gòu)有兩種不同的結(jié)構(gòu),一種為帶殘差結(jié)構(gòu)的,一種為不帶殘差結(jié)構(gòu)的。SPPF主要作用是為了增強特征圖的表達能力。

2.1.3 Neck

Neck部 分 采 用FPN[17]+PAN[18]結(jié) 構(gòu),F(xiàn)PN是自頂向下,對特征層進行下采樣,將高層的強語義特征傳遞下來,使得所有尺度下的特征都有豐富的語義信息。FPN中間經(jīng)過多層的網(wǎng)絡(luò)后,底層的目標信息已經(jīng)非常模糊了,PAN加入了自底向上的路線,對特征層進行上采樣,彌補并加強了定位信息。

2.1.4 Prediction

Prediction使用了二維普通卷積,其采用了CIoU_Loss[19]計算位置損失,以及BCEWithLogits_Loss計算置信度損失和分類損失。CIoU_Loss和BCEWithLogits_Loss的計算如公式(1)和公式(2)所示。

式中:α為權(quán)重;ν為衡量長寬比的相似度;b,bgt分別表示預(yù)測框和目標框的中心點,兩者之間距離采用歐式距離ρ;c表示能同時包含預(yù)測框和目標框的最小包圍框的斜距。

式中:n為樣本總數(shù);wn為權(quán)重調(diào)節(jié)系數(shù);yn為數(shù)據(jù)標簽值;xn為數(shù)據(jù)預(yù)測值;σ為Sigmoid函數(shù)。

2.2 改進YOLOv5模型

在紡織產(chǎn)業(yè)中,織物疵點更多是比較細微的,很難被發(fā)現(xiàn)。YOLOv5作為單階段檢測的算法,相對于二階段檢測Faster RCNN,存在著對小目標識別不夠準確的缺陷。模型對于比較細微的織物疵點,檢測精度無法滿足工業(yè)需求,存在檢測精度低和漏檢等情況。本研究針對織物疵點較細微、不易識別的特點,添加卷積注意力模塊(CBAM)[20],提高對小目標的檢測精度和識別效果。CBAM是一種結(jié)合了空間和通道的注意力機制模塊,能夠增強重要特征的表達能力,抑制無相關(guān)噪聲信息,進而提高檢測精度。

本研究提出的算法模型如圖2所示。由于特征層SPPF的輸出包含比較多的特征信息,經(jīng)過卷積之后會損失特征圖特征。為了提高模型整體識別精度,并控制模型的大小,本研究把第4個Concat連接層提前到SPPF,具體連接線如圖2虛線連接線所示。融合更多的特征層以及學(xué)習更多的特征,加快了模型收斂速度,提高了整體精度,獲得了更好的效果。為了提高模型檢測小目標的精度,本研究提出了將CBAM模塊添加到第一個CSP模塊之后的方法,具體位置如圖2虛線框包圍的CBAM所示。通過在CSP模塊之后添加CBAM模塊,增加網(wǎng)絡(luò)的深度,并讓網(wǎng)絡(luò)更加關(guān)注特征圖的重要信息,提高網(wǎng)絡(luò)的表達能力,進而提高識別精度。

圖2 改進YOLOv5結(jié)構(gòu)圖

CBAM模塊如圖3所示,包括通道注意力模塊和空間注意力模塊。通道注意力模塊在通道提取特征圖的特征,空間注意力模塊在空間提取特征圖的特征。CBAM既關(guān)注通道特征,又關(guān)注空間特征,更有利于小目標的識別。

通道注意力模塊結(jié)構(gòu)如圖4所示。輸入特征層分別進行通道全局最大池化和平均池化,然后經(jīng)過共享權(quán)重層,接著對輸出1和輸出2進行加和操作,最后經(jīng)過Sigmoid激活函數(shù),輸出特征層。該模塊負責對通道特征進行增強,提取通道上的重要特征信息,通過平均池化與最大池化平行計算,使通道上的特征信息更加明顯,該模塊的計算過程如公式(3)所示。

圖3 CBAM結(jié)構(gòu)

圖4 通道注意力模塊結(jié)構(gòu)

式中:σ為Sigmoid激活函數(shù);MLP為共享權(quán)重層;F為輸入特征圖;MaxPool為通道全局最大池化;AvgPool為通道全局平均池化。

空間注意力模塊結(jié)構(gòu)如圖5所示。輸入特征層分別進行空間全局最大池化和平均池化,然后對輸出進行特征堆疊,接著對堆疊后的特征進行卷積操作,最后經(jīng)過Sigmoid激活函數(shù),輸出特征層。該模塊負責對空間特征進行增強,提取空間上的重要信息,并通過Concat連接計算,將最大池化與平均池化的信息融合,使空間上的特征信息更加明顯,該模塊的計算過程如公式(4)所示。

圖5 空間注意力模塊結(jié)構(gòu)

式 中:σ為Sigmoid激 活 函 數(shù);F為 輸 入 特 征圖;MaxPool為通道全局最大池化;AvgPool為通道全局平均池化;f7×7為7×7大小的卷積核;Concat為連接操作。

3 數(shù)據(jù)預(yù)處理

3.1 數(shù)據(jù)集采集

本研究使用的織物疵點數(shù)據(jù)集來自于浙江湖州某紡織工廠。在工業(yè)生產(chǎn)過程中,工業(yè)相機價格昂貴,普通工業(yè)相機在1萬元起,成本較高。為了實現(xiàn)降低成本以及提高系統(tǒng)在紡織行業(yè)的適用性,本系統(tǒng)選擇用普通相機替代工業(yè)相機,并達到工業(yè)需求標準。因為網(wǎng)絡(luò)上公共織物疵點數(shù)據(jù)集種類繁雜、大小不一、分辨率不同,硬件設(shè)備也不同,基于此數(shù)據(jù)集訓(xùn)練得出的模型,很難適用于定制化的紡織工廠,所以本研究直接采用工廠數(shù)據(jù),并通過擴容得到大容量數(shù)據(jù)集用于機器學(xué)習,以達到對工廠織物疵點的精確識別。調(diào)研發(fā)現(xiàn),紡織廠的疵點類型主要有破洞、毛疵、斑點,本研究對這3種疵點進行收集,一共收集到710張不同類型的疵點織物,圖片大小為1 280 pixel×720 pixel。

3.2 數(shù)據(jù)集擴容

一般而言,神經(jīng)網(wǎng)絡(luò)需要大量的參數(shù),比如AlexNet參數(shù)量為60 965 128,但是大量的參數(shù)需要更多的樣本數(shù)據(jù)進行機器學(xué)習訓(xùn)練,才能達到令人滿意的效果。而在實際情況中,真實的樣本數(shù)據(jù)很難采集。例如在紡織工廠,平均200 m的織物才會出現(xiàn)1個~2個疵點。針對數(shù)據(jù)量太少的問題,本研究采取水平翻轉(zhuǎn)、上下翻轉(zhuǎn)的方法對疵點織物數(shù)據(jù)集進行擴容處理,以增加數(shù)據(jù)量。對數(shù)據(jù)所做的處理如圖6所示。

圖6 數(shù)據(jù)擴容

3.3 數(shù)據(jù)標注

本研究使用labelImg標注工具對數(shù)據(jù)進行標注,標注數(shù)據(jù)的格式為YOLO格式。本研究將標注的織物疵點分為3類,分別為斑點、毛疵、破洞。將標注好的織物疵點數(shù)據(jù)集按7∶1的比例分為訓(xùn)練集、測試集。

4 試驗與分析

4.1 試驗配置

本系列試驗進行機器學(xué)習訓(xùn)練的操作系統(tǒng)為Centos7.9,CPU為Xeon(R)Sliver 4214,GPU為TITAN RTX,顯存為24 GB,充足的顯存為試驗的順利進行提供了保障,并縮短了機器學(xué)習的時間。深度學(xué)習框架選擇了Pytorch1.7,Cuda為Cuda10.0版本,程序語言為Python3.7。

4.2 網(wǎng)絡(luò)訓(xùn)練

改進前與改進后算法所采用的超參數(shù)相同。其中學(xué)習率為0.01,動量為0.937,權(quán)重衰減為0.000 5,優(yōu)化器為SGD,批量大小為90,輪數(shù)為300。本研究提出的改進YOLOv5與原始YOLOv5算法在訓(xùn)練時的損失值變化過程如圖7所示。

圖7 損失值變化過程

改進算法的位置損失、置信度損失和分類損失收斂速度都更快并且損失值也更小。對于位置損失和置信度損失,在訓(xùn)練輪數(shù)為300左右時,改進算法的損失值普遍小于原始算法。對于分類損失,在訓(xùn)練輪數(shù)為300左右時,改進算法和原始算法的損失值趨向于相等,但改進算法在訓(xùn)練輪數(shù)為100左右時,損失值逐漸平緩,原始算法在訓(xùn)練輪數(shù)為150左右時,損失值才逐漸平緩。通過對比,本研究提出的算法更易于訓(xùn)練,并且損失值更小。

4.3 結(jié)果與分析

本研究將改進YOLOv5與原始YOLOv5進行比較,在織物訓(xùn)練集上,兩者的性能參數(shù)如表1所示??梢钥闯?,改進算法相比于原始算法精確率提高了0.9個百分點,召回率提高了1.9個百分點,mAP@0.5提高了0.2個百分點,mAP@0.5∶0.95提高了2.4個百分點,這得益于本研究提出的算法融合了更多的特征,并加入了CBAM模塊,增強重要特征的表達能力,進而從訓(xùn)練數(shù)據(jù)中學(xué)習到更多的特征,表現(xiàn)出比原始算法更好的性能。

表1 訓(xùn)練結(jié)果性能對比

把訓(xùn)練好的改進YOLOv5模型與原始YOLOv5模型在測試集上進行測試,兩者模型部分圖片測試結(jié)果如圖8所示。改進模型對斑點的置信度為0.61,對毛疵的置信度為0.67,對破洞的置信度為0.91;原始模型對斑點沒有檢測出,對毛疵的置信度為0.55,對破洞的置信度為0.86。改進算法相對于原始算法對織物疵點有更高的置信度,識別效果更好。

改進YOLOv5模型和原始YOLOv5模型在織物測試集上的PR曲線如圖9所示。

圖9 PR曲線

從PR曲線能夠看出,改進模型相比于原始模型的曲線面積更大,在織物測試集上的識別效果更優(yōu)。

改進YOLOv5模型和原始YOLOv5模型測試結(jié)果性能對比如表2所示。在織物測試集上,改進模型的參數(shù)相比于原始模型參數(shù)增加了131 682,mAP@0.5提高了2.1個百分點,檢測速度差別不大,在TITAN RTX GPU上,幀數(shù)僅相差18幀。本研究提出的算法,在檢測速度比原始算法降低比較小的情況下,對織物疵點檢測的精確度更高。

表2 測試結(jié)果性能對比

5 結(jié)語

針對現(xiàn)在織物疵點基本靠人工目測,存在人工成本較高、檢測效率低、容易漏檢等問題,本研究基于原始YOLOv5算法對其改進,設(shè)計了一種自動化檢測織物疵點的系統(tǒng)。針對原始算法識別精度不高的問題,以及織物數(shù)據(jù)集疵點比較細微難以識別的問題,改進算法通過融合更多的特征層,在原始算法加入CBAM模塊,從而提高對織物疵點檢測的精度。相比于原始YOLOv5算法,改進YOLOv5算法的mAP@0.5提高了2.1個百分點。本研究算法對于紡織廠的織物疵點能夠更好地識別,從而提高織物良品率以及產(chǎn)業(yè)收益。

由于紡織廠織物疵點的數(shù)據(jù)量少,公共織物疵點數(shù)據(jù)和紡織廠織物疵點數(shù)據(jù)不相同,包括織物的疵點、材料以及顏色不一致。因此,本研究的數(shù)據(jù)集并不全面,后續(xù)會增加織物疵點的數(shù)據(jù)量,優(yōu)化織物檢測算法,以獲得更大的性能提升。

猜你喜歡
疵點池化織物
基于高斯函數(shù)的池化算法
無Sn-Pd活化法制備PANI/Cu導(dǎo)電織物
《絲絨織物》等103項紡織行業(yè)標準發(fā)布
基于Cascade RCNN 和二步聚類的織物疵點檢測
卷積神經(jīng)網(wǎng)絡(luò)中的自適應(yīng)加權(quán)池化
《紡織品織物折痕回復(fù)角的測定》正式發(fā)布
基于總變差的織物疵點分割方法
竹纖維織物抗菌研究進展
噴絲板疵點檢測系統(tǒng)設(shè)計
基于FPGA的圖像疵點處理設(shè)計與實現(xiàn)
淅川县| 峡江县| 华亭县| 翁牛特旗| 大洼县| 吐鲁番市| 茂名市| 正宁县| 富阳市| 衡南县| 额济纳旗| 松滋市| 台北县| 五台县| 潜山县| 九江市| 上虞市| 河南省| 屯昌县| 林周县| 资阳市| 江安县| 宣汉县| 隆安县| 宣恩县| 镶黄旗| 修文县| 滨海县| 甘谷县| 合川市| 宁化县| 丰原市| 沂源县| 荔波县| 绥棱县| 普安县| 方山县| 鹤岗市| 临漳县| 科技| 隆尧县|