賈云飛, 鄭紅木, 劉閃亮
(中國民航大學(xué) 電子信息與自動化學(xué)院, 天津 300300)
當(dāng)今,計算機視覺中目標(biāo)檢測技術(shù)飛速發(fā)展,這一技術(shù)在工業(yè)產(chǎn)品缺陷檢測中的應(yīng)用已經(jīng)十分廣泛,它不僅可以幫助企業(yè)進(jìn)行產(chǎn)品質(zhì)量把關(guān),還可以降低人力成本,對企業(yè)的發(fā)展十分有利。目標(biāo)檢測網(wǎng)絡(luò)主要分為two-stage網(wǎng)絡(luò)和one-stage網(wǎng)絡(luò),其中two-stage網(wǎng)絡(luò)中的經(jīng)典網(wǎng)絡(luò)如SPP-NET[1]、R-CNN[2]、Faster R-CNN[3]等。這些網(wǎng)絡(luò)通過算法生成一系列預(yù)選框,同時進(jìn)行區(qū)域分類,然后對預(yù)選位置進(jìn)行修正,精確目標(biāo)位置。而one-stage網(wǎng)絡(luò)如YOLOv3[4]、EfficientDet[5]、SSD[6]等網(wǎng)絡(luò)則可以聯(lián)合區(qū)域提案和分類預(yù)測,對輸入網(wǎng)絡(luò)的圖像特征進(jìn)行提取并直接輸出目標(biāo)的類別和位置信息[7]?,F(xiàn)階段,由于one-stage網(wǎng)絡(luò)的高效性,該類網(wǎng)絡(luò)發(fā)展迅速。郝用興等[8]通過對Faster R-CNN中提取網(wǎng)絡(luò),并在特征提取網(wǎng)絡(luò)中對VGG16和Resnet50進(jìn)行模型融合,在瑕疵大小分布不均勻的鋁材表面瑕疵檢測上更具優(yōu)勢;程婧怡等[9]針對金屬表面目標(biāo)尺寸小和特征不清晰等問題,通過在YOLOv3網(wǎng)絡(luò)中加入DIOU邊框回歸損失和K-means++聚類分析篩選最優(yōu)回歸框,該算法在定位金屬板表面小缺陷目標(biāo)的精度上更具優(yōu)勢;Li等[10]通過引入MobileNet網(wǎng)絡(luò)對SSD的特征提取網(wǎng)絡(luò)進(jìn)行改進(jìn),在電子產(chǎn)品表面缺陷檢測上取得了不錯的準(zhǔn)確率以及檢測速率。
上述研究分別對不同的目標(biāo)檢測網(wǎng)絡(luò)進(jìn)行改進(jìn)并對工業(yè)產(chǎn)品或電器設(shè)備進(jìn)行缺陷檢測,達(dá)到了可觀的效果,但沒有針對企業(yè)內(nèi)需要體積更小、計算參數(shù)更少的模型進(jìn)行研究,這樣的模型在成本預(yù)算低、算力相對不足的設(shè)備中也能達(dá)到不錯的檢測速度。基于此,本文結(jié)合深度學(xué)習(xí)目標(biāo)檢測的方法,在原有的輕量級YOLOv5s網(wǎng)絡(luò)的基礎(chǔ)上,通過結(jié)構(gòu)裁剪的思想,基于網(wǎng)絡(luò)的BN(batch normalization)層進(jìn)行模型裁剪,得到更輕量級模型的同時也具備了優(yōu)異的檢測效果,并對裁剪后的模型進(jìn)行訓(xùn)練,并使用TensorRT進(jìn)行推理加速,進(jìn)一步提高了模型的檢測速率。
目標(biāo)檢測算法YOLO由Redmon等[11]在2016年提出。其結(jié)構(gòu)包含了24個卷積層和2個全連接層,輸出層的激活函數(shù)為線性函數(shù),其他激活函數(shù)為ReLu函數(shù)。其核心思想在于將整張圖輸入網(wǎng)絡(luò),輸出層會直接輸出對目標(biāo)邊界框的位置預(yù)測和類別回歸。之后在此基礎(chǔ)上提出了采用Darknet-19作為主干網(wǎng)絡(luò)的YOLOv2算法模型,YOLOv2相比YOLOv1改進(jìn)了準(zhǔn)確度、預(yù)測對象廣度并具有更快的速度[12]。而之后的YOLOv3則更是成為了YOLO系列的經(jīng)典算法,其采用Darknet-53作為主干網(wǎng)絡(luò),包含53個卷積層,且層間殘差結(jié)構(gòu)連接,組成殘差層[4]。YOLOv4和YOLOv5則是在YOLO系列原作者退出研究之后由后人繼續(xù)研究完成,對比之前的YOLO系列網(wǎng)絡(luò)改動相對較小,其中YOLOv5s模型大小僅有27 MB,相比之前的YOLO模型大幅度減小。
YOLOv5s的特征提取網(wǎng)絡(luò)為CSPDarknet(cross stage partial darknet),由CSP結(jié)構(gòu)和Darknet網(wǎng)絡(luò)相結(jié)合構(gòu)成。其網(wǎng)絡(luò)結(jié)構(gòu)主要分為3部分,即Backbone、Neck和Head,其中Backbone部分主要進(jìn)行輸入圖像特征提??;Neck部分對圖像特征進(jìn)行融合;Head部分對圖像特征進(jìn)行結(jié)果預(yù)測并輸出[13]。網(wǎng)絡(luò)模型中的CBL結(jié)構(gòu)主要由提取特征的卷積層、BN層和Leaky ReLu激活函數(shù)構(gòu)成,如圖1所示。YOLOv5s還設(shè)計了2種CSP網(wǎng)絡(luò)結(jié)構(gòu),其中CSP1_N用于Backbone中,CSP2_N用于Neck部分,并且采取交叉結(jié)構(gòu)連接,可以在減少計算量的同時保證運算的精度。
圖1 YOLOv5s中的2種CPS結(jié)構(gòu)Figure 1 Two CSP structures in YOLOv5s
在卷積神經(jīng)網(wǎng)絡(luò)中,網(wǎng)絡(luò)通過前向傳播和反向傳播共同作用來進(jìn)行權(quán)值更新,在進(jìn)行一次反向傳播時,網(wǎng)絡(luò)會對之前的前向傳播訓(xùn)練得到的參數(shù)進(jìn)行修正,此時各層網(wǎng)絡(luò)參數(shù)權(quán)重會同時更新。由于每層的輸入都會受到前面所有層輸入的影響,網(wǎng)絡(luò)參數(shù)微小的變化都會隨著網(wǎng)絡(luò)深入而放大,所以需要較低的學(xué)習(xí)率和初始參數(shù),從而降低了學(xué)習(xí)效率。2015年,Google提出了BN層,通過這個算法對網(wǎng)絡(luò)各層的輸入進(jìn)行歸一化,將輸入的批數(shù)據(jù)進(jìn)行均值為0、方差為1的歸一化處理[14],對各層輸入數(shù)據(jù)分布進(jìn)行了控制,但對網(wǎng)絡(luò)上一層的輸出數(shù)據(jù)經(jīng)過歸一化處理之后送入下層網(wǎng)絡(luò)的數(shù)據(jù),在上層網(wǎng)絡(luò)學(xué)習(xí)的特征會因為數(shù)據(jù)的分布變化而遭到破壞,因此BN層添加了縮放參數(shù)γ和平移參數(shù)β,來恢復(fù)上層網(wǎng)絡(luò)學(xué)習(xí)的特征。因此,BN層的總體計算過程大致如下:首先,對輸入數(shù)據(jù)進(jìn)行求均值和方差;其次,對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理;最后,訓(xùn)練縮放參數(shù)和平移參數(shù),輸出通過參數(shù)線性變換得到新值。通過這種方法使得每層數(shù)據(jù)分布相同,能提高網(wǎng)絡(luò)學(xué)習(xí)效率,具體公式如下:
(1)
(2)
(3)
(4)
一般來說,神經(jīng)網(wǎng)絡(luò)中層數(shù)越深,網(wǎng)絡(luò)結(jié)構(gòu)越精細(xì),通過訓(xùn)練網(wǎng)絡(luò)得到的輸出結(jié)果也越精準(zhǔn)。但與此同時,也帶來了計算參數(shù)更多、計算量更大的弊端,而且在訓(xùn)練數(shù)據(jù)量較少的情況下,模型相對數(shù)據(jù)集復(fù)雜度過高,容易產(chǎn)生過擬合現(xiàn)象,雖然產(chǎn)生的網(wǎng)絡(luò)更深更精細(xì),但最終訓(xùn)練模型的效果反而不佳。與ImageNet數(shù)據(jù)集中1 400多萬張樣本數(shù)據(jù)相比,工業(yè)產(chǎn)品的表面瑕疵檢測面臨樣本小、圖像樣本效果不佳等問題,所以在工業(yè)檢測領(lǐng)域,通過模型剪枝不僅能夠解決網(wǎng)絡(luò)計算量大的問題,還可以解決網(wǎng)絡(luò)過擬合現(xiàn)象,提升計算速度,在降低訓(xùn)練參數(shù)量大小的同時,提高網(wǎng)絡(luò)模型的精確度。
神經(jīng)網(wǎng)絡(luò)經(jīng)過訓(xùn)練后得到模型權(quán)重,通過前向傳播和反向傳播生成了一系列的權(quán)重參數(shù),在使用驗證數(shù)據(jù)進(jìn)行推理時,輸入數(shù)據(jù)進(jìn)入神經(jīng)網(wǎng)絡(luò)并通過上述參數(shù)進(jìn)行推理計算,而其中的參數(shù)有一部分權(quán)重占比小,對輸出結(jié)果不起作用或是僅僅起到微小的作用,而這樣的參數(shù)存在對計算結(jié)果雖然影響很小,但卻加大了計算量,因此對其進(jìn)行裁剪可以使得輸入數(shù)據(jù)通過最有效率的參數(shù)空間路徑得出輸出結(jié)果,在提高計算效率的同時,也幾乎不會降低網(wǎng)絡(luò)推理效果,且對數(shù)據(jù)集規(guī)模小的數(shù)據(jù)還能降低訓(xùn)練過擬合帶來的影響,提高網(wǎng)絡(luò)的推理效果。神經(jīng)網(wǎng)絡(luò)的裁剪方法具體可分為非結(jié)構(gòu)裁剪和結(jié)構(gòu)裁剪。非結(jié)構(gòu)裁剪是一種細(xì)粒度的裁剪方法,精度相對較高,但對硬件平臺和特定算法依賴程度較高;而結(jié)構(gòu)裁剪是針對層級的裁剪,是一種粗粒度的裁剪方法,對硬件平臺和特定算法依賴程度低,可行性強,因此,本文采用結(jié)構(gòu)裁剪的方法對YOLOv5s進(jìn)行裁剪。
對原始YOLOv5s網(wǎng)絡(luò)進(jìn)行訓(xùn)練后,模型BN層的γ值一般情況下呈現(xiàn)近似正態(tài)分布,難以對訓(xùn)練后的網(wǎng)絡(luò)模型進(jìn)行裁剪,所以在模型裁剪之前需要先對YOLOv5s網(wǎng)絡(luò)BN層中的損失函數(shù)的γ值添加L1正則化約束。通過L1正則化約束可以使得網(wǎng)絡(luò)模型稀疏化,通常也稱作稀疏訓(xùn)練,此時損失函數(shù):
(5)
對于本文所研究的工業(yè)瑕疵檢測這類問題的小樣本數(shù)據(jù)集來說,稀疏訓(xùn)練可以使得網(wǎng)絡(luò)中很多參數(shù)分布接近于0,降低了訓(xùn)練后的模型復(fù)雜度,從而可以減少過擬合現(xiàn)象在訓(xùn)練數(shù)據(jù)集上的表現(xiàn),提升模型在驗證數(shù)據(jù)集上準(zhǔn)確率。由文獻(xiàn)[15]中的實驗結(jié)果可以看出,當(dāng)采用復(fù)雜度更高的YOLOv5模型時會在數(shù)據(jù)集上表現(xiàn)出過擬合現(xiàn)象,導(dǎo)致在驗證集上模型預(yù)測準(zhǔn)確率降低。文獻(xiàn)[16]中的實驗表明了稀疏訓(xùn)練的模型可以學(xué)習(xí)到更泛化的特征,具備魯棒性和易用性。在對網(wǎng)絡(luò)模型進(jìn)行稀疏訓(xùn)練后,BN層中的一部分γ值會趨向于0分布,這部分權(quán)值對推理結(jié)果影響甚微,此時可以對其所在的BN層以及相鄰上層的卷積核和向下層輸出的通道進(jìn)行裁剪,以此降低模型參數(shù)數(shù)量,實現(xiàn)模型的輕量化,γ裁剪過程如圖2所示。
圖2 γ裁剪過程Figure 2 γ pruning process
TensorRT(以下簡稱TR)是NVIDIA基于深度學(xué)習(xí)加快推理的高性能平臺。TR可應(yīng)用于圖像分類、目標(biāo)檢測和圖像分割等計算機視覺領(lǐng)域的相關(guān)推理任務(wù)中。TR作為可編程的推理器,能夠為訓(xùn)練好的模型提供推理加速[17]。TR包含了構(gòu)建和部署2個階段,構(gòu)建階段是TR針對網(wǎng)絡(luò)配置進(jìn)行優(yōu)化,產(chǎn)生一個優(yōu)化決策并用于網(wǎng)絡(luò)的前向傳播,其對神經(jīng)網(wǎng)絡(luò)進(jìn)行了一系列轉(zhuǎn)換和優(yōu)化,其中優(yōu)化包括刪除未使用的網(wǎng)絡(luò)層以避免不必要的計算,對多個層進(jìn)行融合形成單層。當(dāng)訓(xùn)練好的模型進(jìn)行網(wǎng)絡(luò)推理時,模型網(wǎng)絡(luò)的各個層都會進(jìn)行函數(shù)的調(diào)用,被調(diào)用的函數(shù)將在硬件設(shè)備上執(zhí)行,而這些函數(shù)大多計算速度快,當(dāng)多次調(diào)用函數(shù)時,對推理速度起決定性影響的則是啟動時間,函數(shù)的頻繁調(diào)用啟動會導(dǎo)致更多的內(nèi)存?zhèn)鬏敚鳷R將網(wǎng)絡(luò)和張量進(jìn)行了融合操作,融合包括垂直方向和水平方向2種方式,其中垂直融合將conv層、BN層或偏移層、激活層整合為一個CBR;水平融合則是使得幾個輸入相同(例如1×1CBR)融合在融合后網(wǎng)絡(luò)層數(shù)減少,降低了網(wǎng)絡(luò)的深度和寬度,并且可以減少對函數(shù)的調(diào)用,提升推理速度。除此之外,TR還可以將連接層移除,將結(jié)果輸出到預(yù)先分配的緩沖區(qū)直接輸入到下一網(wǎng)絡(luò)層中。部署階段則是設(shè)備通過長時間運行程序或服務(wù),等待待處理數(shù)據(jù)的提交,當(dāng)收到待處理數(shù)據(jù)時,執(zhí)行構(gòu)建階段產(chǎn)生的優(yōu)化決策并進(jìn)行推理,將結(jié)果通過設(shè)備輸出。
本文實驗數(shù)據(jù)來源為東北大學(xué)采集并發(fā)布的NEU-DET鋼表面6種缺陷的數(shù)據(jù)集,這6種缺陷分別為氧化皮、斑塊、開裂、麻點狀表面、雜質(zhì)和劃痕,共計1 800張圖像,其中每一類缺陷包含300個樣本。將1 800張圖像按照8∶2的比例隨機分為訓(xùn)練集和驗證集,即訓(xùn)練集1 440張,驗證集360張,樣例如圖3所示。
圖3 數(shù)據(jù)集樣例圖Figure 3 Sample dataset diagram
本實驗采用高性能實驗臺和低性能實驗臺來進(jìn)行實驗,高性能實驗臺配置為ubuntu20.04LTS操作系統(tǒng),硬件方面采用的處理器為Intel Xeon Gold 5218R,GPU為NVIDIA Quadro RTX5000。低性能實驗臺配置操作系統(tǒng)為windows10,處理器為Intel?CoreTMi5-8265U,GPU為NVIDIA GeForce MX250。實驗使用框架Pytorch(1.7版本),GPU加速計算方面采用CUDA10.1、CUDNN7.6.0和若干第三方Python庫支持模型訓(xùn)練及運算。
首先,需要對YOLOv5s網(wǎng)絡(luò)中添加L1正則化約束;其次,在搭建好的訓(xùn)練平臺進(jìn)行模型稀疏訓(xùn)練,減小BN層的γ分布,針對接近0分布的γ值,對相應(yīng)的BN層及其相鄰卷積核和卷積核通道進(jìn)行裁剪,得到裁剪后的新模型;再次,對該模型再進(jìn)行訓(xùn)練,得到最終的訓(xùn)練模型并進(jìn)行TR加速;最后,在上述搭建好的實驗平臺上進(jìn)行模型推理測試,實驗流程如圖4所示。
圖4 本文模型實驗流程圖Figure 4 Flow chart of the experiment of this model
目標(biāo)檢測作為機器視覺的一個任務(wù)分支,評估指標(biāo)除了常規(guī)有監(jiān)督機器學(xué)習(xí)中的精確率P和召回率R之外,還使用各類別平均精確度均值(AP)作為網(wǎng)絡(luò)模型訓(xùn)練結(jié)果好壞的評估標(biāo)準(zhǔn)。類似于其他機器學(xué)習(xí)算法,目標(biāo)檢測需要正確預(yù)測出圖像物體所屬類別,但同時還需要對其進(jìn)行位置預(yù)測,因此需要引入模型預(yù)測邊框與真實標(biāo)簽邊框的交并比指標(biāo)IOU,如圖5所示,IOU即為左圖陰影面積和右圖陰影面積比例大小[18]。
圖5 錨框的交并集示意圖Figure 5 Intersection and union of the anchor box
在圖5中,實線框為標(biāo)注框,虛線框為模型預(yù)測框。當(dāng)對預(yù)測情況進(jìn)行判斷時,常用IOU閾值為0.5,即當(dāng)預(yù)測結(jié)果IOU大于閾值時,即認(rèn)為該預(yù)測框瑕疵類別為標(biāo)注框類別。本文數(shù)據(jù)集缺陷預(yù)測的精確率和召回率計算公式如下:
(6)
(7)
式中:TP為模型預(yù)測為正樣本而驗證集中標(biāo)簽為正樣本的數(shù)量;FN為模型預(yù)測為負(fù)樣本而驗證集中標(biāo)簽為正樣本的數(shù)量;FP為模型預(yù)測為正樣本而驗證集中標(biāo)簽為負(fù)樣本的數(shù)量;TN為模型預(yù)測為負(fù)樣本而驗證集中標(biāo)簽為負(fù)樣本的數(shù)量。
在模型對單個類別進(jìn)行預(yù)測時,對IOU置信度取不同的閾值時,P和R的值也會不斷在0~1內(nèi)變化,將改變置信度閾值得到的上述2個值在二維坐標(biāo)系的變化曲線稱為PR曲線,而PR曲線與坐標(biāo)軸圍成的面積即為單個類的AP值,對需要預(yù)測的n個類的AP值取平均值即為mAP,公式如下:
(8)
對原始YOLOv5s模型進(jìn)行訓(xùn)練,得到γ值分布如圖6所示,由圖6可以看出,原始網(wǎng)絡(luò)訓(xùn)練得到的結(jié)果接近正態(tài)分布。
圖6 YOLOv5s訓(xùn)練γ值分布圖Figure 6 γ value distribution of YOLOv5s training
對模型進(jìn)行稀疏訓(xùn)練,得到γ值分布如圖7所示,在稀疏訓(xùn)練后絕大多數(shù)γ值降低,有約40%的γ值降低到0附近,可以對其進(jìn)行裁剪。
圖7 稀疏訓(xùn)練γ值分布圖Figure 7 γ value distribution of sparse training
將稀疏訓(xùn)練后得到的模型進(jìn)行裁剪,在反復(fù)裁剪微調(diào)后,最終對33%的接近0的γ值進(jìn)行裁剪,并對裁剪后的模型進(jìn)行訓(xùn)練,得到γ值分布如圖8所示。在裁剪時為了保證tensor維度可加,對殘差結(jié)構(gòu)不進(jìn)行裁剪,保留原始通道,否則會導(dǎo)致殘差結(jié)構(gòu)兩端維度不同,前向傳播無法進(jìn)行[19]。同時在裁剪時為了保證網(wǎng)絡(luò)結(jié)構(gòu)的完整性,裁剪閾值不能超過各個網(wǎng)絡(luò)層中γ參數(shù)最大值的最小值。
圖8 裁剪模型訓(xùn)練γ值分布圖Figure 8 γ value distribution of pruning model
對實驗數(shù)據(jù)集使用幾種網(wǎng)絡(luò)進(jìn)行訓(xùn)練,其中包括經(jīng)典two-stage網(wǎng)絡(luò)Faster R-CNN、經(jīng)典one-stage網(wǎng)絡(luò)SSD和YOLOv3-SPP,還有本文使用的YOLOv5s原始網(wǎng)絡(luò)和裁剪后網(wǎng)絡(luò),對各個網(wǎng)絡(luò)在搭建好的高配置實驗臺中進(jìn)行訓(xùn)練,epoch設(shè)置為100,batch-size設(shè)置為16。網(wǎng)絡(luò)訓(xùn)練過程中mAP穩(wěn)定后的15個epoch如圖9所示。由圖9可以看出,本文模型mAP略高于原始的YOLOv5s模型,與經(jīng)典two-stage網(wǎng)絡(luò)Faster-RCNN幾乎不相上下,本文網(wǎng)絡(luò)相比其他網(wǎng)絡(luò)的優(yōu)勢在于模型的輕量化,訓(xùn)練后權(quán)重文件小,可以在低算力硬件設(shè)備中展現(xiàn)出不錯的推理速度。對每種模型采用驗證集中的10張圖片進(jìn)行模型推理測試并計算出單張圖片的平均推理時間,對圖9中的mAP值取平均,結(jié)合模型訓(xùn)練最終的權(quán)重文件大小,得出實驗結(jié)果如表1所示,模型識別效果如圖10所示。
圖9 各網(wǎng)絡(luò)訓(xùn)練情況對比Figure 9 Comparison of each network training
表1 各網(wǎng)絡(luò)模型實驗結(jié)果Table 1 Experimental result each network model
圖10 最終模型檢測效果圖Figure 10 Final model detection effect
為了體現(xiàn)本文方法的普適性,選用kaggle數(shù)據(jù)集網(wǎng)站公開的潛水泵葉輪的俯視圖數(shù)據(jù)集進(jìn)行普適性實驗,數(shù)據(jù)集共有2 400張圖片。將數(shù)據(jù)集圖像中缺陷種類分為深槽和毛刺類別并標(biāo)注數(shù)據(jù)集,按8∶2將數(shù)據(jù)集分為訓(xùn)練集和驗證集。在高性能實驗臺上進(jìn)行訓(xùn)練,最終采用YOLOv5s和本文模型分別在該數(shù)據(jù)集上得到了72.7%和73.4%的mAP,證明了本文方法在其他數(shù)據(jù)集上也有優(yōu)秀的表現(xiàn)。檢測效果如圖11所示。
圖11 普適性實驗檢測效果圖Figure 11 Universal experimental detection effect
由于YOLOv5網(wǎng)絡(luò)在輸入端采用mosaic數(shù)據(jù)增強,對輸入數(shù)據(jù)集進(jìn)行隨機縮放、裁剪、排布的方式拼接,使其對小目標(biāo)檢測效果較SSD和YOLOv3-SPP網(wǎng)絡(luò)有所提升,F(xiàn)aster R-CNN模型采用雙階段的目標(biāo)檢測方式,在檢測頭部先進(jìn)行候選框提取,再對候選框進(jìn)行篩選得到預(yù)測框,雖然獲得了一定的檢測精度,但是速度較慢,難以滿足流水線產(chǎn)品的快速檢測需求,采用本文裁剪方法后的YOLOv5s模型減輕了原模型在本文小樣本數(shù)據(jù)集上的過擬合現(xiàn)象,在保證精度的同時,減少了運算參數(shù),提升了推理速度。由表1可以得出,本文裁剪后的模型在預(yù)測精度沒有損失的情況下,模型文件大小相比原YOLOv5s模型減少了67.9%,推理時間提升了11.3%,檢測效率得到了明顯的提升。如表2所示,為展現(xiàn)本文裁剪模型在低算力硬件設(shè)備上的推理時間優(yōu)勢,在上述搭建的低性能實驗臺上對NEU-DET驗證數(shù)據(jù)集中10張圖片進(jìn)行推理時間測試并取平均值,從結(jié)果可以看出本文模型在低算力硬件設(shè)備上推理時間提升更大。
表2 單圖推理時間對比實驗結(jié)果Table 2 Inference time of single figure comparison experiment result
最后對本文訓(xùn)練得到的模型文件轉(zhuǎn)onnx格式并采用TR推理框架進(jìn)行加速,在高性能實驗臺中測試表現(xiàn)可以達(dá)到單圖5.82 ms的推理時間。本文方法與同樣采用本文NEU-DET數(shù)據(jù)集的文獻(xiàn)[9]、文獻(xiàn)[20]相比,mAP分別提升了6.56%和0.5%,且本文模型更輕量化,檢測速率更快。
本文從企業(yè)需要更低的硬件成本的角度出發(fā),通過深度學(xué)習(xí)網(wǎng)絡(luò)模型中結(jié)構(gòu)裁剪的思想,提出一種基于YOLOv5s輕量化改進(jìn)的網(wǎng)絡(luò)并結(jié)合TR加速推理框架。該方法很好地實現(xiàn)了模型權(quán)重文件大小縮減,降低運算量,且保證精度沒有損失,可以滿足產(chǎn)品缺陷實時檢測的需求。下一步將基于本文模型繼續(xù)研究該模型在集成于低算力嵌入式設(shè)備和移動端設(shè)備的優(yōu)勢,并將本文模型與實際工業(yè)場景應(yīng)用相結(jié)合。