喬 健, 陳能達(dá), 伍雁雄, 吳 陽(yáng), 楊景衛(wèi)*
(1.佛山科學(xué)技術(shù)學(xué)院 機(jī)電工程與自動(dòng)化學(xué)院,廣東 佛山 528000;2.季華實(shí)驗(yàn)室,廣東 佛山 528200;3.佛山科學(xué)技術(shù)學(xué)院 物理與光電工程學(xué)院,廣東 佛山 528000;
隨著人們生活質(zhì)量的不斷提高,對(duì)日常生活用品的外觀及品質(zhì)提出了更高要求,所以以外觀漂亮、堅(jiān)固耐用及清潔便捷的不銹鋼餐廚具備受人們青睞。其中,以圓柱鍋為代表的鍋類不銹鋼產(chǎn)品占整個(gè)餐廚具一半以上的份額。圓柱金屬鍋在拋光加工過(guò)程中由于隨機(jī)可變因素導(dǎo)致擦傷、紋理不均、色差、變形等表面缺陷,產(chǎn)品質(zhì)量和外觀得不到有效保障。同時(shí),圓柱金屬鍋?zhàn)鳛榈湫投嗥贩N、小批量產(chǎn)品,規(guī)格種類多、批量小、外觀尺寸較大,在產(chǎn)品表面質(zhì)量檢測(cè)過(guò)程中一直以人工目視檢測(cè)為主,漏檢、誤檢現(xiàn)象時(shí)有發(fā)生,效率低、速度慢的目視檢測(cè)方法嚴(yán)重制約著餐廚具生產(chǎn)加工行業(yè)數(shù)字化轉(zhuǎn)型的發(fā)展進(jìn)程。
金屬圓柱形工件的表面缺陷檢測(cè)是光學(xué)自動(dòng)檢測(cè)中的難點(diǎn),國(guó)內(nèi)外學(xué)者開(kāi)展了大量機(jī)器視覺(jué)檢測(cè)裝置和算法的研究。其中,圓柱形工件的圖像采集裝置基本采用旋轉(zhuǎn)機(jī)構(gòu)搭配工業(yè)線陣相機(jī)[1]或工業(yè)面陣相機(jī)[2]的設(shè)計(jì)。近年來(lái),隨著計(jì)算機(jī)視覺(jué)技術(shù)的快速發(fā)展,人們提出了一系列基于深度學(xué)習(xí)的金屬表面缺陷檢測(cè)方法。Lin等[3]提出基于注意力機(jī)制和特征圖映射的魯棒檢測(cè)方法,解決了X射線檢測(cè)中鑄件缺陷的誤檢和漏檢問(wèn)題。Sun等[4]在Faster R-CNN主干網(wǎng)絡(luò)中引入RPN結(jié)構(gòu),在300毫秒內(nèi)實(shí)現(xiàn)了對(duì)單張輪轂缺陷圖像的快速檢測(cè)。由于單階段目標(biāo)檢測(cè)算法中,YOLO系列將目標(biāo)分類和定位問(wèn)題轉(zhuǎn)化為回歸問(wèn)題,從首次新增特征融合層的YOLOv3發(fā)布為起點(diǎn),特征融合層成為后續(xù)發(fā)布的YOLO算法必不可少的組成部分。王宸等[5]通過(guò)替換YOLOv3主干網(wǎng)絡(luò)的激活函數(shù)以及對(duì)損失函數(shù)進(jìn)行修改,驗(yàn)證集的mAP值為98.94%,檢測(cè)速度達(dá)到76.59 frame/s,基本滿足輪轂焊縫的實(shí)時(shí)在線檢測(cè)需求。針對(duì)金屬表面檢測(cè)中微小缺陷易漏檢的狀況,程婧怡等[6]利用YOLOv3主干網(wǎng)絡(luò)Darknet-53結(jié)構(gòu)中的淺層特征圖,提取出更多小目標(biāo)信息,降低了小缺陷的漏檢概率,但無(wú)法實(shí)現(xiàn)實(shí)時(shí)的快速檢測(cè)。2021年,曠視科技的Ge[7]公布了YOLOX算法,在動(dòng)態(tài)正樣本數(shù)量分配以及預(yù)測(cè)框回歸方面展開(kāi)研究,實(shí)現(xiàn)了檢測(cè)精度的提高,但計(jì)算機(jī)硬件算力的要求也更高。
在深度學(xué)習(xí)模型輕量化的研究中,通常采用替換主干特征提取網(wǎng)絡(luò)[8]、設(shè)計(jì)輕量網(wǎng)絡(luò)基礎(chǔ)模塊[9]、替換輕量化卷積模塊[10]、設(shè)計(jì)運(yùn)算量較小的卷積運(yùn)算方式[11]以及通過(guò)縮小模型寬度和深度的方式來(lái)達(dá)到輕量化模型的目的。但上述方法均可能導(dǎo)致模型檢測(cè)精度的損失,因此研究人員又設(shè)法在輕量化模型的基礎(chǔ)上融合新的模塊,以提高精度。為降低深度學(xué)習(xí)模型在工業(yè)生產(chǎn)現(xiàn)場(chǎng)中的應(yīng)用難度,本文結(jié)合BiFPN[12]跨尺度特征融合思想,通過(guò)替換YOLOX特征融合層(Neck)進(jìn)行模型輕量化,在Neck層融合注意力機(jī)制模塊,提高模型檢測(cè)精度。針對(duì)目標(biāo)檢測(cè)算法在訓(xùn)練過(guò)程中正負(fù)樣本比例嚴(yán)重失衡的問(wèn)題,提出了基于衰減因子的分類損失函數(shù)(Sinusoidal Atten?uation focal Loss, SFL),加強(qiáng)難分類正樣本的學(xué)習(xí),減少易分類負(fù)樣本對(duì)梯度反向傳播的影響。結(jié)合上述改進(jìn)策略開(kāi)展實(shí)驗(yàn),以驗(yàn)證基于融合注意力機(jī)制的跨尺度特征融合網(wǎng)絡(luò)的有效性,實(shí)現(xiàn)了金屬鍋圓柱表面缺陷的高精度快速檢測(cè)。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法結(jié)構(gòu)通常分為主干網(wǎng)絡(luò)、特征融合層、預(yù)測(cè)層以及損失函數(shù)部分。本文以YOLOX為基礎(chǔ)框架,提出融合注意力機(jī)制的跨尺度特征融合網(wǎng)絡(luò)(Bi-directional YOLOX,BiYOLOX),改進(jìn)的網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。本文主要通過(guò)設(shè)計(jì)基于注意力機(jī)制的特征融合方式,對(duì)BiFPN的各分支特征進(jìn)行注意力學(xué)習(xí),改善對(duì)包含目標(biāo)區(qū)域的關(guān)注度,提高模型對(duì)目標(biāo)的檢測(cè)精度。通過(guò)引入衰減因子來(lái)設(shè)計(jì)分類損失函數(shù),重新分配正負(fù)樣本學(xué)習(xí)權(quán)重,由SFL完成正負(fù)樣本與目標(biāo)類別的分類,由CIoU Loss[13]完成 目標(biāo)位置的回歸。
如圖1所示,維度大小為960×960×3的待檢測(cè)圖像首先經(jīng)過(guò)Focus結(jié)構(gòu)將原始RGB圖像的通道數(shù)從3擴(kuò)展為12,并將原來(lái)寬高為w,h的特征縮小為w/2,h/2,對(duì)輸入圖像進(jìn)行2×2的網(wǎng)格化采樣,再輸入CSPDarknet主干網(wǎng)絡(luò)進(jìn)行特征提??;用于特征融合的Neck層為在分支引入注意力機(jī)制的BiFPN網(wǎng)絡(luò);網(wǎng)絡(luò)頭部檢測(cè)器YoloHead對(duì)Neck層得到的3個(gè)有效特征層結(jié)果進(jìn)行堆疊,獲得包含預(yù)測(cè)框數(shù)量、類別、置信度與坐標(biāo)位置的特征信息;網(wǎng)絡(luò)訓(xùn)練過(guò)程中,通過(guò)計(jì)算模型Loss獲得預(yù)測(cè)框與真實(shí)框的偏差,并利用模型Loss更新網(wǎng)絡(luò)參數(shù)。圖中,Cls部分為包含物體的種類判斷特征點(diǎn),Reg部分為回歸參數(shù)判斷的特征點(diǎn),Obj部分為包含物體判斷的特征點(diǎn)。其中,Cls和Obj部分通過(guò)分類損失函數(shù)進(jìn)行判斷,Reg部分則通過(guò)回歸損失函數(shù)進(jìn)行判斷。模型Loss為:
圖1 BiYOLOX網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of BiYOLOX network
其中:Losscls為每一個(gè)特征點(diǎn)所包含物體種類損失,Lossobj為每一個(gè)特征點(diǎn)是否包含物體損失,LossIoU為預(yù)測(cè)框回歸損失,ai為各損失權(quán)重系數(shù)。
BiFPN是通過(guò)改進(jìn)FPN來(lái)實(shí)現(xiàn)多尺度的特征融合網(wǎng)絡(luò),并對(duì)主干網(wǎng)絡(luò)提取的三個(gè)特征層Feat1,F(xiàn)eat2和Feat3進(jìn)行通道數(shù)維度的統(tǒng)一,然后自頂向下和自底向上的雙向特征融合。最后,把融合的特征傳送至網(wǎng)絡(luò)頭部檢測(cè)器Yolo?Head。BiFPN采用快速歸一化(Fast Normalized Fusion, FNF)計(jì)算方式對(duì)每個(gè)輸入添加獲得額外權(quán)重,為不同特征層信息提供單獨(dú)的學(xué)習(xí)權(quán)重分配,從而緩解由高低分辨率特征信息融合帶來(lái)的語(yǔ)義鴻溝[14],即有:
其中:wi為可學(xué)習(xí)的權(quán)重,Ii為輸入特征;ε取值[12]為0.000 1,以確保分母不為零并獲得較好的訓(xùn)練效果;為保證獲取的權(quán)重大于0,更新權(quán)重前采用ReLU激活函數(shù)進(jìn)行映射,使得小于0的權(quán)值以0輸出,大于或等于0的權(quán)值按原值輸出。
相對(duì)于YOLOX使用的路徑聚合網(wǎng)絡(luò)(Path Aggregation Network, PANet)[15],BiFPN在使用規(guī)則和高效的連接下,完成信息自上而下的流動(dòng),通過(guò)削減只有一個(gè)入度的節(jié)點(diǎn)來(lái)去除冗余計(jì)算,達(dá)到輕量化網(wǎng)絡(luò)的效果。同時(shí),為避免特征信息丟失,使用CSPNet[16]替換深度來(lái)分離卷積進(jìn)行特征提取。
為在輕量化改進(jìn)模型中盡量提高模型檢測(cè)精度,本文在模型Neck層引入注意力機(jī)制。深度學(xué)習(xí)模型的大小通常由主干部分決定,但受制于計(jì)算機(jī)硬件的算力,需對(duì)神經(jīng)網(wǎng)絡(luò)深度、寬度和輸入分辨率進(jìn)行平衡,才可使模型表現(xiàn)出更好的性能[17]。文獻(xiàn)[18]針對(duì)目標(biāo)背景復(fù)雜的問(wèn)題,在SSD算法中增加通道注意力模塊,將算法注意力集中在目標(biāo)區(qū)域的通道,增大目標(biāo)區(qū)域通道的特征響應(yīng),減小背景干擾,提高了模型的檢測(cè)精度。文獻(xiàn)[19]為從圖像中提取更有效的特征用于后續(xù)特征點(diǎn)的提取和描述,將通道注意力模塊集成到主干提取網(wǎng)絡(luò)中,在不增加模型復(fù)雜度前提下獲得了優(yōu)良的特征。文獻(xiàn)[20]在SENet基礎(chǔ)上設(shè)計(jì)了更輕量的通道注意力模塊并融合到主干網(wǎng)絡(luò)中的CSP模塊,該方法增強(qiáng)了主干網(wǎng)絡(luò)對(duì)復(fù)雜背景下特征的篩選能力。上述研究表明,網(wǎng)絡(luò)融合注意力機(jī)制模塊同樣能夠影響深度學(xué)習(xí)模型的性能。根據(jù)人類在識(shí)別物體時(shí)產(chǎn)生的注意力集中現(xiàn)象,注意力機(jī)制描述如下:
其中:g(x)表示產(chǎn)生注意力,對(duì)應(yīng)各類注意力機(jī)制算法在關(guān)注判別性區(qū)域的過(guò)程,f(g(x),x)表示使用注意力g(x)對(duì)輸入x進(jìn)行處理。
為使網(wǎng)絡(luò)更好地聚焦在感興趣區(qū)域,本文提出在特征信息進(jìn)行融合前,將來(lái)自不同特征層的信息通道拼接,接著進(jìn)行特征塊的注意力學(xué)習(xí),使網(wǎng)絡(luò)學(xué)習(xí)到每個(gè)特征通道和空間的重要性,并重新進(jìn)行加權(quán),經(jīng)Split操作恢復(fù)為初始維度大小的新特征信息。圖2為基于注意力機(jī)制的多尺度特征學(xué)習(xí)方式示意圖。
圖2 基于注意力機(jī)制的多尺度特征學(xué)習(xí)Fig.2 Multiscale feature learning based on attention mechanism
基于注意力機(jī)制的多尺度特征學(xué)習(xí)計(jì)算公式如下:
其中:Fi為輸入特征圖,Mi為輸出特征圖,維度為(H,W,C),?為基于元素的乘法運(yùn)算,Concat為拼接操作,Split為切片操作,Attention為注意力機(jī)制模塊。
通道注意力模塊(Channel Attention Mod?ule, CAM)、空間注意力模塊(Spatial Attention Module, SAM)、模塊級(jí)聯(lián)構(gòu)成的注意力模塊(Convolutional Block Attention Module,CBAM)具有優(yōu)越的性能并得到了廣泛應(yīng)用[21],但其計(jì)算量較大。為降低整體注意力機(jī)制模塊的計(jì)算量,增大輸出特征感受野,本文利用3個(gè)卷積核大小為3×3的卷積代替SAM中7×7卷積操作,把拼接后通道數(shù)為2的特征信息降維為單通道。但由于小卷積核的普通卷積操作對(duì)提升特征信息感受野的能力有限,引入空洞卷積替換最后一個(gè)3×3卷積操作,可增大特征信息感受野。改進(jìn)的SAM在保留網(wǎng)絡(luò)對(duì)特征空間學(xué)習(xí)能力的同時(shí),增大特征圖的感受野,使輸出特征尺度更加豐富,對(duì)應(yīng)結(jié)構(gòu)如圖3所示。改進(jìn)后的CBAM命名為空洞卷積注意力模塊(Dilated Convolutional Block Attention Module, Di_CBAM)。
圖3 基于空洞卷積的SAM模塊Fig.3 SAM module based on dilated convolution
基于3×3卷積的SAM計(jì)算公式如下:
其中:σ為Sigmoid激活操作,f3×33表示3個(gè)3×3的卷積操作,AvgPool(F)和MaxPool(F)分別表示對(duì)特征圖F進(jìn)行平均池化操作和最大池化操作。
針對(duì)單階段目標(biāo)檢測(cè)算法訓(xùn)練過(guò)程中正負(fù)樣本比例嚴(yán)重失衡的問(wèn)題,Lin等[22]提出了由標(biāo)準(zhǔn)交叉熵?fù)p失函數(shù)(Cross Entropy Loss, CEL)改進(jìn)的聚焦損失函數(shù)(Focal Loss, FL)。在CEL中引入權(quán)重因子αt,即可解決正負(fù)樣本不平衡的問(wèn)題。大多數(shù)負(fù)樣屬于易分類樣本,正樣本通常屬于難分類樣本。FL的引入可控制難易分類樣本學(xué)習(xí)權(quán)重的調(diào)制因子,降低了大量易分類負(fù)樣本在訓(xùn)練中所占的權(quán)重。具體表達(dá)式如下:
其中:y表示預(yù)測(cè)樣本,當(dāng)y=0時(shí),預(yù)測(cè)樣本為負(fù)樣本,當(dāng)y=1時(shí),預(yù)測(cè)樣本為正樣本;p為預(yù)測(cè)樣本的預(yù)測(cè)結(jié)果對(duì)應(yīng)真實(shí)類別的概率;α∈[0,1],是用于平衡正負(fù)樣本權(quán)重的系數(shù),參數(shù)γ∈[0,∞)用于控制難分類和易分類樣本的權(quán)重,(1-pt)γ為調(diào)制因子。
通常預(yù)測(cè)樣本為真的概率越大,易分類樣本的學(xué)習(xí)權(quán)重會(huì)越小,且衰減較緩慢,而難分類樣本的學(xué)習(xí)權(quán)重通常較大。因此,F(xiàn)L會(huì)導(dǎo)致網(wǎng)絡(luò)過(guò)多關(guān)注難分類樣本的學(xué)習(xí),使得模型Loss收斂緩慢,優(yōu)化結(jié)果偏離預(yù)期。針對(duì)難分類正樣本的學(xué)習(xí),減少易分類負(fù)樣本對(duì)梯度反向傳播的影響,根據(jù)正弦函數(shù)的曲線變化趨勢(shì),在FL中引入(0,1]區(qū)間內(nèi)具有非線性衰減趨勢(shì)的因子s。把改進(jìn)的損失函數(shù)命名為正弦衰減聚焦損失函數(shù)(Sinusoidal attenuation Focal Loss, SFL),其 表達(dá)式為:
其中:αt,pt和γ的定義與FL中的參數(shù)相同,s為正弦衰減因子,且θ∈(0,π]。圖4展示了正弦衰減因子s隨pt的變化情況,圖5展示了本文提到的分類損失函數(shù)曲線示例。
圖4 正弦衰減因子變化曲線Fig.4 Variation curves of sinusoidal attenuation factor
由圖4可知,隨著pt的增大,正弦衰減因子s呈下降趨勢(shì),并隨著參數(shù)θ的增大,s的變化范圍逐漸變大,模型會(huì)增大對(duì)難分類樣本的學(xué)習(xí)權(quán)重分配。
由圖5可知,SFL通過(guò)引入具有非線性衰減趨勢(shì)的因子s,可使模型在側(cè)重學(xué)習(xí)難分類樣本的同時(shí),增大易分類樣本的學(xué)習(xí)權(quán)重,并隨著樣本預(yù)測(cè)概率的增大,易分類樣本學(xué)習(xí)權(quán)重逐漸減小。因此,通過(guò)引入?yún)?shù)θ來(lái)改變FL調(diào)制因子,可加快模型損失的收斂速度,提高整體學(xué)習(xí)效果。
圖5 分類損失函數(shù)曲線示例Fig. 5 Example of classification loss function curves
考慮金屬鍋具生產(chǎn)環(huán)境中存在光照變化,以及車間灰塵對(duì)鏡頭的污染等影響,分別采集不同清晰度、亮度以及干擾光源下的圖像,圖像采集裝置如圖6所示。
圖6 圖像采集與檢測(cè)系統(tǒng)Fig.6 Image acquisition and detection system
根據(jù)物理屬性和后續(xù)修復(fù)操作,將高亮反射金屬圓柱鍋產(chǎn)品常見(jiàn)的柱面缺陷定義為凸起(Bulges, Bu)、指紋油污(Finger print, FP)、黑斑塊(Patches, Pa)、凹坑(Pit, Pi)、劃痕(Scratch?es, Sc)和擦傷(Suface scratch, SS)。CMOS工業(yè)面陣相機(jī)的分辨率為2 048×1 536像素,實(shí)驗(yàn)共采集有效圖像樣本1 000幅,保證數(shù)據(jù)集的豐富程度[23]。為降低深度學(xué)習(xí)模型的訓(xùn)練時(shí)間,去除圖像中的冗余信息,提高算法在生產(chǎn)現(xiàn)場(chǎng)中的實(shí)時(shí)性,裁剪部分非光斑與無(wú)缺陷區(qū)域,統(tǒng)一圖像尺寸為960×960像素。同時(shí),定義標(biāo)記框面積S<322個(gè)像素為小型目標(biāo),322≤S≤962為中型目標(biāo),S>962為大型目標(biāo)。
使用Vott軟件對(duì)圖像進(jìn)行處理,數(shù)據(jù)集以VOC2007格式進(jìn)行保存,各類別缺陷標(biāo)注樣例如圖7所示(彩圖見(jiàn)期刊電子版)。其中,紅色標(biāo)注框?yàn)橥蛊?、紫色?biāo)注框?yàn)橹讣y油污、綠色標(biāo)注框?yàn)楹诎邏K、青色標(biāo)注框?yàn)榘伎?、藍(lán)色標(biāo)注框?yàn)閯澓邸ⅫS色標(biāo)注框?yàn)椴羵?/p>
圖7 金屬鍋圓柱表面各類缺陷樣本Fig.7 Samples of various defects on cylindrical surface of metal pot
隨機(jī)抽取訓(xùn)練集和驗(yàn)證集,它們與測(cè)試集圖像的比例為9∶1,其中訓(xùn)練集與驗(yàn)證集抽取比例同為9∶1,即訓(xùn)練集810張,驗(yàn)證集90張,測(cè)試集100張。數(shù)據(jù)集命名為金屬鍋圓柱表面缺陷數(shù)據(jù)集,圖8展示了該數(shù)據(jù)集標(biāo)記框大中小目標(biāo)數(shù)量的分布情況。結(jié)合圖7展示的樣本例可知,數(shù)據(jù)具有類別不平衡、同一圖像存在多個(gè)實(shí)例、目標(biāo)尺寸各異的特性。
圖8 各類標(biāo)簽的目標(biāo)數(shù)量分布Fig.8 Target quantity distribution of various labels
實(shí)驗(yàn)配置為:Intel(R) Core(TM) i5-9300H處理器,運(yùn)行內(nèi)存16 GB,圖形處理單元NVID?IA GeForce GTX 1660 Ti,顯存6 GB,安裝CU?DA 11.0,cuDNN 8.0.5,深 度 學(xué) 習(xí) 框 架Py?torch1.4。模型輸入圖像尺寸為960×960像素,模型超參數(shù)設(shè)置如表1所示。
表1 模型超參數(shù)設(shè)置Tab.1 Model super parameter setting
正式訓(xùn)練前,在金屬鍋圓柱表面缺陷數(shù)據(jù)集上進(jìn)行100個(gè)Epoch預(yù)訓(xùn)練,使用預(yù)訓(xùn)練得到的權(quán)重文件進(jìn)行正式訓(xùn)練。訓(xùn)練過(guò)程中,通過(guò)Ad?amW對(duì)訓(xùn)練過(guò)程進(jìn)行優(yōu)化,利用Cosine schedul?er學(xué)習(xí)率調(diào)整策略進(jìn)行訓(xùn)練,避免網(wǎng)絡(luò)陷入局部最優(yōu)的情況,并通過(guò)Mosaic算法對(duì)網(wǎng)絡(luò)輸入數(shù)據(jù)進(jìn)行增強(qiáng)。
為較客觀地評(píng)價(jià)所設(shè)計(jì)模型的檢測(cè)效果,實(shí)驗(yàn)通過(guò)召回率(Recall)、平均精度(Average Preci?sion, AP)以及均值平均精度(mean Average Pre?cision, mAP)來(lái)評(píng)估模型的性能。AP用于評(píng)價(jià)模型對(duì)某一類別目標(biāo)的檢測(cè)效果,AP值越高,模型檢測(cè)效果越佳。其計(jì)算公式如下:
對(duì)于目標(biāo)檢測(cè)來(lái)說(shuō),當(dāng)預(yù)測(cè)框與真實(shí)框的矩形框交并比IoU值大于某個(gè)閾值時(shí),才會(huì)將該預(yù)測(cè)框認(rèn)定為真樣例,因此IoU閾值的選擇對(duì)于目標(biāo)檢測(cè)的效果極為重要。mAP是衡量目標(biāo)檢測(cè)算法整體性能的最為全面的評(píng)價(jià)指標(biāo),其公式如下:
其中:n為類別數(shù),AP(i)表示第i個(gè)類別的AP值。
經(jīng)測(cè)試,模型的精確率曲線拐點(diǎn)出現(xiàn)在IoU=0.5附近,為觀察模型在高IoU閾值設(shè)定下的性能表現(xiàn),實(shí)驗(yàn)環(huán)節(jié)將IoU閾值設(shè)為0.5和0.75,記均值平均精度為mAP0.5和mAP0.75。
對(duì)于模型計(jì)算效率評(píng)價(jià),本文采用模型參數(shù)量(Params)、浮點(diǎn)運(yùn)算數(shù)(FLOPs)和檢測(cè)幀率(FPS)來(lái)衡量。其中,F(xiàn)PS為計(jì)算模型對(duì)單張圖像的平均檢測(cè)時(shí)間,即:
其中:t為單張960×960像素圖像的檢測(cè)時(shí)間。
本文進(jìn)行了特征融合網(wǎng)絡(luò)對(duì)比實(shí)驗(yàn)、損失函數(shù)對(duì)比實(shí)驗(yàn)、注意力機(jī)制模塊位置消融實(shí)驗(yàn)以及與其他輕量化改進(jìn)模型的性能對(duì)比實(shí)驗(yàn)。根據(jù)已搭建的實(shí)驗(yàn)條件,使用金屬鍋圓柱表面缺陷數(shù)據(jù)集中的測(cè)試集進(jìn)行性能測(cè)試,且實(shí)驗(yàn)均采用size為s的模型,即YOLOX_s和BiYOLOX_s。
PANet和BiFPN特征融合網(wǎng)絡(luò)對(duì)比實(shí)驗(yàn)中,模型的性能表現(xiàn)如表2所示。本組實(shí)驗(yàn)采用IoU Loss[24]作為回歸損失函數(shù),以CEL作為分類損失函數(shù)。
表2 特征融合網(wǎng)絡(luò)性能對(duì)比Tab.2 Performance comparison of feature fusion network
模型Neck層融合BiFPN后,性能得到明顯提升。相比于原YOLOX網(wǎng)絡(luò)使用的PANet結(jié)構(gòu),Params減少2.6M,F(xiàn)LOPs下降4.053 G,網(wǎng)絡(luò)復(fù)雜度明顯降低。隨著Params的減少,F(xiàn)PS得到4.2 frame/s的提升,單張960×960像素圖片的檢測(cè)時(shí)間從YOLOX的35.7 ms降低至31.1 ms,并且mAP0.5提升3.54%,達(dá)到90.06%。
損失函數(shù)對(duì)比實(shí)驗(yàn)中,為了比較IoU計(jì)算方式對(duì)BiYOLOX算法檢測(cè)效果的影響,分別使用IoU Loss,GIoU Loss[25],DIoU Loss[26]和CIoU Loss作為算法的回歸損失函數(shù),測(cè)試結(jié)果如表3所示。其中,模型分類損失函數(shù)為FL,且α=0.75,γ=2。
表3 回歸損失函數(shù)的檢測(cè)效果對(duì)比Tab.3 Comparison of detection effect of regression loss functions
從表3可以看出,使用GIoU Loss,DIoU Loss和CIoU Loss作為BiYOLOX的回歸損失函數(shù)可進(jìn)一步提升模型的檢測(cè)精度,并且保持較高的檢測(cè)速度。相比于原始的IoU Loss,采用GIoU Loss的mAP0.5和mAP0.75指標(biāo)分別提升了0.91%和2.27%;采用DIoU Loss的mAP0.5提升3.74%,mAP0.75下降0.91%。本組實(shí)驗(yàn)中,采用CIoU Loss作為回歸損失函數(shù)的模型在檢測(cè)精度方面得到了最大提升,mAP0.5和mAP0.75指標(biāo)分別提升了4.10%和3.43%。
為驗(yàn)證設(shè)計(jì)的SFL對(duì)BiYOLOX算法檢測(cè)效果的影響,在CIoU Loss作為回歸損失函數(shù)的情況下進(jìn)行分類損失函數(shù)對(duì)比實(shí)驗(yàn),采用4分法劃分θ的取值范圍,實(shí)驗(yàn)結(jié)果如表4所示。
表4 分類損失函數(shù)的檢測(cè)效果對(duì)比Tab.4 Comparison of detection effect of classification loss functions
由表4可知,所設(shè)計(jì)的SFL在參數(shù)θ=0.5π的設(shè)置下,模型獲得的mAP0.5最高,相比于相同參數(shù)設(shè)置下的FL提升了1.35%。當(dāng)參數(shù)θ≥0.75π時(shí),模型的mAP0.5與mAP0.75均會(huì)下降。由此可知,在FL中引入正弦衰減因子s能夠有效提高模型的檢測(cè)精度,但當(dāng)正弦衰減因子s的變化幅度較大時(shí),模型對(duì)難分類樣本的關(guān)注度較高,模型的檢測(cè)精度會(huì)下降。
在分類損失函數(shù)對(duì)比實(shí)驗(yàn)中,根據(jù)表4中不同θ設(shè)置下的SFL分組實(shí)驗(yàn),對(duì)金屬鍋圓柱表面缺陷召回率數(shù)據(jù)進(jìn)行統(tǒng)計(jì),結(jié)果如圖9所示。
圖9 不同θ設(shè)置下各類別缺陷的召回率統(tǒng)計(jì)Fig.9 Statistics of defect recall rate of each category un?der different θ settings
由圖9可知,當(dāng)SFL的參數(shù)θ=0.25π時(shí),各類別缺陷的召回率在60%~80%內(nèi);當(dāng)參數(shù)θ=0.5π時(shí),各類別缺陷的召回率在70%~90%內(nèi),表現(xiàn)最為均衡;當(dāng)參數(shù)θ=0.75π時(shí),黑斑塊和擦傷缺陷的召回率低于60%,各類別缺陷的召回率在50%~95%內(nèi);當(dāng)參數(shù)θ=π時(shí),相比于同參數(shù)設(shè)置下的FL,各類別缺陷召回率均有不同程度的下降,指紋油污缺陷的召回率下降最嚴(yán)重,已低于10%。結(jié)合圖8中的數(shù)據(jù)集標(biāo)記框大中小目標(biāo)數(shù)量的分布情況,指紋、黑斑塊與擦傷缺陷均有大目標(biāo)存在,而指紋缺陷在數(shù)據(jù)集中主要為大目標(biāo),因此設(shè)置較高的θ值會(huì)降低模型對(duì)大目標(biāo)缺陷的識(shí)別效果。此外,當(dāng)θ大于0.75π時(shí),模型增加了難分類樣本的學(xué)習(xí)權(quán)重,SFL對(duì)系統(tǒng)整體性能的抑制效果較為明顯,缺陷的整體召回率偏低。上述實(shí)驗(yàn)說(shuō)明,難易分類樣本的學(xué)習(xí)權(quán)重分配策略能夠影響模型的召回率,SFL的正弦衰減因子s的變化范圍應(yīng)適中,因此后續(xù)實(shí)驗(yàn)使用參數(shù)θ=0.5π設(shè)置下的SFL。
為更深入研究注意力機(jī)制模塊的引入對(duì)模型檢測(cè)速度和精度的影響,開(kāi)展了關(guān)于注意力機(jī)制模塊位置的消融實(shí)驗(yàn),結(jié)果如表5所示。其中,注意力機(jī)制模塊的位置參考圖1中的加權(quán)特征融合位置,Add1表示feat2的淺層特征融合處,Add2表示feat1的深層特征融合處。模型選用CIoU Loss,SFL作為回歸損失函數(shù)和分類損失函 數(shù),SFL參 數(shù) 設(shè) 置 為:α=0.75,γ=1,θ=0.5π。FNF表示歸一化的加權(quán)特征融合,0表示未啟用相關(guān)模塊,1表示啟用相關(guān)模塊。
表5 不同位置融合Di_CBAM的特征融合網(wǎng)絡(luò)性能對(duì)比Tab.5 Performance comparison of feature fusion networks with Di_CBAM introduced at different locations
由表5可知,引入Di_CBAM模塊后模型的檢測(cè)幀率存在明顯變化,并且在特征融合過(guò)程中使用FNF能夠有效提高mAP。其中,模型檢測(cè)幀率的下降主要由特征層的多層感知機(jī)運(yùn)算引起,由于拼接后的特征通道數(shù)變?yōu)樵ǖ罃?shù)的3倍,增加了計(jì)算開(kāi)銷,最終導(dǎo)致檢測(cè)幀率下降。在feat2和feat3層的底層特征融合處引入注意力機(jī)制,即圖1中的Add3和Add4位置,模型能達(dá)到30.84 frame/s的檢測(cè)速度,并且mAP0.5達(dá)到90.92%,說(shuō)明在此位置引入注意力機(jī)制既能維持較高的檢測(cè)精度,又能保證模型以較快速度運(yùn)行。
為驗(yàn)證替換特征融合網(wǎng)絡(luò)、引入注意力機(jī)制和設(shè)計(jì)分類損失函數(shù)3個(gè)改進(jìn)策略對(duì)模型的耦合影響,開(kāi)展了消融實(shí)驗(yàn),結(jié)果如表6所示。其中,Di_CBAM引入位置位于Add3和Add4處,SFL參數(shù)設(shè)置為:α=0.75,γ=1,θ=0.5π,0表示未啟用相關(guān)模塊,1則表示啟用相關(guān)模塊。
表6 改進(jìn)策略對(duì)模型性能的影響對(duì)比Tab.6 Comparison of impact of improvement strategies on model performance
對(duì)比表6中的第1組與第4組、第2組與第6組、第3組與第7組實(shí)驗(yàn)結(jié)果可知,使用SFL不會(huì)降低檢測(cè)速度,能夠起到提高mAP0.5和降低mAP0.75的作用。第3組實(shí)驗(yàn)單獨(dú)使用Di_CBAM的模型相對(duì)于YOLOX原始模型在檢測(cè)精度方面提升較明顯,mAP0.5和mAP0.75分別提高1.61%和0.47%,但檢測(cè)速度出現(xiàn)輕微下降,說(shuō)明引入Di_CBAM雖然會(huì)降低模型的檢測(cè)速度,但能夠有效提高模型的檢測(cè)精度。在第7組同時(shí)使用BiFPN和SFL的實(shí)驗(yàn)中,檢測(cè)速度達(dá)到32.00 frame/s,mAP0.5達(dá)到91.37%,但mAP0.75降至36.56%;在第8組啟用Di_CBAM的實(shí)驗(yàn)中,雖然檢測(cè)速度和mAP0.5指標(biāo)出現(xiàn)了輕微下降,但能將mAP0.75提升至38.21%,說(shuō)明同時(shí)啟用3個(gè)改進(jìn)策略能夠確保模型在檢測(cè)速度和檢測(cè)精度之間取得平衡。
最后,為驗(yàn)證本文設(shè)計(jì)的BiYOLOX算法的性能表現(xiàn),將本文算法與替換卷積操作的輕量化YOLOv3[11]、輕量化特征提取網(wǎng)絡(luò)的YOLOv5[10]和YOLOX算法進(jìn)行對(duì)比實(shí)驗(yàn)。模型性能如表7所示,高亮反射金屬鍋圓柱表面缺陷的部分檢測(cè)結(jié)果如圖10所示。
表7 輕量化改進(jìn)模型的性能對(duì)比Tab.7 Performance comparison of lightweight improved models
圖10 高亮反射金屬鍋圓柱表面缺陷檢測(cè)結(jié)果Fig.10 Detection results of cylindrical surface defects of highlight reflective metal pot
由表7可知,本文設(shè)計(jì)的BiYOLOX算法相比于列舉的輕量化YOLO系列算法,模型的參數(shù)量更少、單張圖像的檢測(cè)速度提升明顯,并且獲得了較高的檢測(cè)精度。由圖10可知,在斑塊缺陷檢測(cè)中,Light-YOLOv3,Light-YOLOv5均存在漏檢;在劃痕缺陷檢測(cè)中,圖像右側(cè)的凸起和左下方的劃痕缺陷在Light-YOLOv3,Light-YO?LOv5和YOLOX算法中被漏檢,并且YOLOX算法還漏檢了一處凸起缺陷;在擦傷缺陷檢測(cè)中,圖像左側(cè)的一處缺陷在Light-YOLOv3,Light-YOLOv5和YOLOX算法中均出現(xiàn)漏檢,而本文提出的融合注意力機(jī)制和SFL的BiYO?LOX算法則能夠準(zhǔn)確定位缺陷目標(biāo)位置,無(wú)錯(cuò)檢、漏檢情況,并且預(yù)測(cè)框的置信度普遍高于前者,說(shuō)明本文設(shè)計(jì)的SFL能夠有效提高模型對(duì)目標(biāo)的分類效果。分析斑塊、劃痕和擦傷的檢測(cè)數(shù)據(jù)可知,Light-YOLOv3,Light-YOLOv5和YOLOX漏檢目標(biāo)的尺寸與位置不一,此現(xiàn)象的出現(xiàn)歸結(jié)于網(wǎng)絡(luò)的輸出特征層信息不夠豐富。實(shí)驗(yàn)結(jié)果表明,模型通過(guò)引入注意力機(jī)制學(xué)習(xí)特征的通道和空間信息,以跨尺度的特征融合方式獲得了更豐富的特征信息,對(duì)提高金屬鍋圓柱表面缺陷的檢測(cè)效果具有積極作用。
本文針對(duì)金屬鍋圓柱表面缺陷高精度快速檢測(cè)的深度學(xué)習(xí)模型設(shè)計(jì)需求,提出了基于注意力機(jī)制的輕量化特征融合網(wǎng)絡(luò),并利用BiFPN替換YOLOX網(wǎng)絡(luò)的特征融合層,在降低網(wǎng)絡(luò)計(jì)算資源消耗的情況下提高多尺度特征在通道和空間上的表達(dá)。針對(duì)訓(xùn)練過(guò)程中正負(fù)樣本不平衡的問(wèn)題,設(shè)計(jì)了基于衰減因子的分類損失函數(shù)SFL,對(duì)難易分類樣本的學(xué)習(xí)權(quán)重進(jìn)行重新分配。完成了在金屬鍋圓柱表面缺陷數(shù)據(jù)集上對(duì)BiYOLOX與YOLOX的特征融合網(wǎng)絡(luò)、分類損失函數(shù)對(duì)比實(shí)驗(yàn)和注意力機(jī)制模塊位置消融實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果顯示,所設(shè)計(jì)的網(wǎng)絡(luò)能夠有效降低模型參數(shù)量和浮點(diǎn)計(jì)算數(shù),并提高檢測(cè)速度和精度,較原始YOLOX的Parames減少2.6M,F(xiàn)LOPs下降4.053 G,模型檢測(cè)幀率提升至30.84 frame/s,檢測(cè)精度mAP0.5達(dá)到90.92%,實(shí)現(xiàn)了金屬鍋圓柱表面缺陷的高精度快速識(shí)別與定位。