桂鵬輝,宋 濤,湯建斌,徐志鵬,曹松曉,蔣 慶
中國計(jì)量大學(xué) 計(jì)量測試工程學(xué)院,杭州 310018
微通道鋁扁管為平行流微通道散熱器的核心部件,由于生產(chǎn)工藝的限制,鋁扁管表面會(huì)產(chǎn)生各類形態(tài)復(fù)雜的缺陷,導(dǎo)致其成品率較低。在工業(yè)生產(chǎn)中,鋁扁管的表面缺陷識(shí)別由人工觀測完成,該檢測方案有著主觀性強(qiáng)、效率低下、勞動(dòng)強(qiáng)度高等缺點(diǎn)。對于鋁扁管表面缺陷識(shí)別的任務(wù)而言,目前尚無高效準(zhǔn)確的識(shí)別方案,因此,研究一種高效、精準(zhǔn)的鋁扁管表面缺陷識(shí)別算法對于提升其生產(chǎn)質(zhì)量有著較高的價(jià)值。
近年來,隨著計(jì)算機(jī)技術(shù)與深度學(xué)習(xí)技術(shù)的發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測算法已經(jīng)成為金屬表面缺陷檢測的主要技術(shù)之一。目前用于金屬表面缺陷檢測的算法主要有兩類:以YOLO[1-4]系列、SSD[5]等模型為代表的一階目標(biāo)檢測算法與以Faster R-CNN[6]為代表的二階目標(biāo)檢測算法。如程婧怡等[7]通過使用K-means++[8]算法優(yōu)化先驗(yàn)框參數(shù),同時(shí)引入DIoU損失[9]計(jì)算回歸誤差的方式,提高了YOLOv3算法在金屬表面缺陷檢測上的檢測精確率;李維剛等[10]通過改進(jìn)YOLOv3架構(gòu)的方法,更充分地混合骨干網(wǎng)絡(luò)的淺層與深層特征,提高了模型對帶鋼表面細(xì)小缺陷的檢測能力;代小紅等[11]通過在Faster R-CNN 中引入ROI-Align[12]的方法,降低了檢測框的位置偏移,提高了模型對金屬工件表面的檢測精度。以上目標(biāo)檢測算法的共同特征是依賴錨框,即通過人工設(shè)計(jì)或者統(tǒng)計(jì)多尺度多比例的錨框來對缺陷初步定位,然后由深度神經(jīng)網(wǎng)絡(luò)完成對定位后缺陷的回歸與分類。在此過程中,大規(guī)模的錨框重復(fù)運(yùn)算會(huì)消耗計(jì)算機(jī)的大量運(yùn)算資源,降低檢測速度,且模型的檢測準(zhǔn)確率對錨框的大小、長寬比等參數(shù)的設(shè)置非常敏感。
針對基于錨框的目標(biāo)檢測算法的局限性,近年來各種無錨框檢測算法被陸續(xù)提出。無錨框檢測算法直接使用關(guān)鍵點(diǎn)或像素點(diǎn)對物體的邊框進(jìn)行密集預(yù)測,從而規(guī)避與錨框相關(guān)的復(fù)雜運(yùn)算,兼顧檢測時(shí)的快速性與高精確率。全卷積一階目標(biāo)檢測算法[13](fully convolutional one-stage object detection,F(xiàn)COS)是無錨框目標(biāo)檢測算法的典型代表之一,該算法通過特征圖上的單個(gè)像素點(diǎn)判斷物體種類,同時(shí)對其特征信息進(jìn)行映射以得到物體的邊框,并使用中心度分支(center-ness branch)來抑制低質(zhì)量的回歸框,使得模型在COCO數(shù)據(jù)集上取得了較高的檢測精度。然而,當(dāng)該算法應(yīng)用于檢測圖1中存在的扁管表面狹長缺陷時(shí),原始的正樣本定義策略有概率遺漏這類缺陷,使模型在訓(xùn)練過程中忽略這類缺陷的損失,導(dǎo)致模型對狹長缺陷的漏檢;此外,扁管表面的缺陷尺度范圍廣、長寬比變化大等特點(diǎn)也對FCOS的檢測能力提出更高的要求。
圖1 扁管表面的部分狹長缺陷Fig.1 Long and narrow defects on surface of flat tube
針對FCOS檢測扁管表面缺陷的局限性,本文對該模型進(jìn)行了以下幾點(diǎn)改進(jìn):第一,設(shè)計(jì)一種特征卷積金字塔網(wǎng)絡(luò)(feature convolutional pyramid network,F(xiàn)CPN)實(shí)現(xiàn)模型對骨干網(wǎng)絡(luò)中多層特征的自適應(yīng)分配;第二,改進(jìn)模型的正樣本部署策略,減輕FCOS對狹長缺陷的漏檢;第三,結(jié)合第二步改進(jìn)的正樣本部署策略,設(shè)計(jì)改進(jìn)的邊框映射函數(shù)與中心度定義函數(shù),進(jìn)一步提高模型對狹長缺陷的檢測能力;第四,替換原模型中的IoU 損失[14],使用EIoU損失[15]更合理地計(jì)算模型的回歸損失。
FCOS 為一階無錨框目標(biāo)檢測算法,主要由骨干網(wǎng)絡(luò)、特征混合網(wǎng)絡(luò)以及目標(biāo)檢測網(wǎng)絡(luò)三部分組成。FCOS使用ResNet50[16]作為模型的骨干網(wǎng)絡(luò)來提取圖像特征,隨后通過特征金字塔網(wǎng)絡(luò)[17](feature pyramid network,F(xiàn)PN)對不同尺度的圖像特征進(jìn)行混合,得到5層可用于目標(biāo)檢測的混合后特征圖。在訓(xùn)練過程中,F(xiàn)COS 把特征圖上落于標(biāo)注框內(nèi)且符合回歸范圍的點(diǎn)判為正樣本,將其劃分為標(biāo)注框所屬的目標(biāo)種類,并將該點(diǎn)到標(biāo)注框的4 個(gè)回歸距離(l,t,r,b)作為回歸目標(biāo),最終使模型在訓(xùn)練完畢后能依據(jù)特征圖上的點(diǎn)來預(yù)測目標(biāo)的位置與種類,如圖2所示。
圖2 正樣本點(diǎn)回歸示意圖Fig.2 Regression schematic diagram of positive sample point
在圖2 中,A、B 兩點(diǎn)為組成矩形標(biāo)注框的兩個(gè)角點(diǎn),(l,t,r,b)為正樣本點(diǎn)P到標(biāo)注框左、上、右、下四條邊的距離,即FCOS在訓(xùn)練時(shí)的回歸目標(biāo),這4個(gè)回歸目標(biāo)可由A、B 兩個(gè)角點(diǎn)的坐標(biāo)和正樣本點(diǎn)P 的坐標(biāo)計(jì)算得到,計(jì)算過程如式(1)所示:
式(1)中,(xa,ya)T為邊框左上角點(diǎn)A的坐標(biāo),(xb,yb)T為邊框右下角點(diǎn)B的坐標(biāo),(xp,yp)T為正樣本點(diǎn)P的坐標(biāo)。
原始FCOS模型根據(jù)5層特征圖的像素感受野范圍在輸入圖像中分別部署間距為{8,16,32,64,128}的5種網(wǎng)格點(diǎn),并將落于標(biāo)注框內(nèi)的網(wǎng)格點(diǎn)作為能夠代表物體的候選正樣本點(diǎn)。為合理地將不同間距的候選點(diǎn)部署到相應(yīng)的特征層中,模型根據(jù)式(2)對候選點(diǎn)進(jìn)行回歸距離限制,并將相應(yīng)回歸范圍內(nèi)的候選點(diǎn)作為正樣本劃分給對應(yīng)的特征層。
式(2)中,mi是第i層特征圖的最大回歸距離上限,mi-1是第i層特征圖的最大回歸距離下限,F(xiàn)COS 將m2~m7分別設(shè)置為{0,26,27,28,29,+∞}。
FCOS在式(2)的限制下,將不同間距的候選點(diǎn)劃分給相應(yīng)特征層雖然能有效利用各尺度特征圖,實(shí)現(xiàn)目標(biāo)的多尺度檢測,但是當(dāng)圖像樣本中出現(xiàn)狹長缺陷時(shí),這種正樣本部署策略仍然有可能造成這類物體的漏檢,如圖3所示。
圖3 網(wǎng)格點(diǎn)部署示意圖Fig.3 Deployment schematic diagram of grid points
圖3 中部署了任意兩種間距相差兩倍的網(wǎng)格點(diǎn)。其中兩倍間距點(diǎn)均落于標(biāo)注框外,可直接排除;部分一倍間距點(diǎn)落于標(biāo)注框內(nèi),可作為候選正樣本點(diǎn)。以其中任意一點(diǎn)p為例,該點(diǎn)到邊框的最大回歸距離max(l,t,r,b)超出了p點(diǎn)由(mi-1,mi)所劃定的回歸范圍限制,也被判為負(fù)樣本,因此標(biāo)注框內(nèi)的所有一倍間距點(diǎn)均被判為負(fù)樣本,即標(biāo)注框內(nèi)沒有任何正樣本點(diǎn)可用于FCOS模型的訓(xùn)練,使模型在預(yù)測過程中對該缺陷漏檢。模型的實(shí)際正樣本部署情況如圖4所示。
圖4 標(biāo)注框內(nèi)的正樣本點(diǎn)分布圖Fig.4 Positive sample point distributions in label boxes
在圖4中,雖然部分標(biāo)注框中分布著不同間距的正樣本點(diǎn),但是在一些狹長缺陷的標(biāo)注框中并不存在任何的正樣本點(diǎn),使模型在訓(xùn)練過程中排除了這些顯而易見的長條缺陷,并未考慮其訓(xùn)練損失,最終導(dǎo)致對這類狹長缺陷的漏檢。
此外原始FCOS使用FPN混合各層特征圖,以提高模型對不同尺度缺陷的檢測能力,但是FPN對于不同層特征圖的混合方式為線性累加,模型不能自適應(yīng)地挑選各層特征進(jìn)行檢測。針對原始FCOS模型的以上不足,本文設(shè)計(jì)了一系列改進(jìn),將在第2章進(jìn)行詳細(xì)論述。
本文模型以FCOS為基礎(chǔ),針對扁管表面的缺陷檢測任務(wù),分別從設(shè)計(jì)特征卷積金字塔網(wǎng)絡(luò)、改進(jìn)正樣本部署策略、改進(jìn)邊框回歸函數(shù)與中心度定義函數(shù)這三點(diǎn)對FCOS模型進(jìn)行了更改,并將IoU損失替換為EIoU損失,以更合理地計(jì)算模型的回歸損失。改進(jìn)后的FCOS模型如圖5所示。
圖5 改進(jìn)后FCOS模型Fig.5 Improved FCOS model
在圖5 中,改進(jìn)后FCOS 模型首先使用ResNet50 提取扁管樣本圖像中的特征信息,得到特征圖F1~F5;隨后使用特征金字塔初步混合特征圖F3~F5,得到P3~P7;接著P3~P7 被送入特征卷積金字塔網(wǎng)絡(luò)(FCPN),實(shí)現(xiàn)不同層特征信息的自適應(yīng)混合,得到特征圖C3~C7;最后使用改進(jìn)后檢測網(wǎng)絡(luò)對特征圖中的正樣本像素進(jìn)行中心度回歸、邊框回歸以及種類劃分。下文將對改進(jìn)的各部分進(jìn)行詳細(xì)分析。
原始FCOS 模型使用FPN 混合骨干網(wǎng)絡(luò)提取的各層特征圖,以提高模型對不同尺度缺陷的檢測能力。但是FPN 對各層特征圖之間的混合方式為按像素線性相加,無法實(shí)現(xiàn)各層特征圖的自適應(yīng)選取與分配,且無法提取特征間的相關(guān)性信息。針對FPN的這一不足,本文設(shè)計(jì)了一種特征卷積金字塔網(wǎng)絡(luò)(FCPN),F(xiàn)CPN的結(jié)構(gòu)如圖6所示。
圖6 特征卷積金字塔網(wǎng)絡(luò)(FCPN)Fig.6 Feature convolutional pyramid network(FCPN)
在圖6 中,P3~P7 為特征金字塔初步混合后的特征圖。首先使用最鄰近插值對P3~P7分別進(jìn)行{1,2,4,8,16}倍上采樣,并在通道維對采樣后特征進(jìn)行拼接,得到特征塊A,大小為5c×h×w;其次由兩次3×3 卷積實(shí)現(xiàn)特征塊A上不同尺度特征圖的初步混合,得到特征M1、M2;為了提取像素間的相關(guān)性特征,提高模型的檢測能力,本文在特征M2的旁路引出一個(gè)自注意力分支,使用兩個(gè)十字交叉注意力模塊[18](criss cross block,CC Block)對混合后特征M2進(jìn)行注意力篩選;然后由系數(shù)α、β對M2與注意力特征進(jìn)行權(quán)重分配,再逐元素相加,得到混合了特征塊A 之間各層信息與像素間相關(guān)性信息的特征M3,系數(shù)α、β由模型在訓(xùn)練過程中自適應(yīng)搜尋,初始值分別定義為0.5、0.5,且滿足約束條件α+β=1,α∈[0,1];接著對M3使用一次3×3卷積得到大小為5c×h×w的特征塊B,并且在特征塊B與特征塊A之間引入殘差連接,降低模型的過擬合風(fēng)險(xiǎn);最后使用深度為c的最大值池化對特征塊B分別進(jìn)行{1,2,4,8,16}倍下采樣,得到特征C3~C7。FCPN中3次卷積操作的結(jié)構(gòu)參數(shù)如表1所示。
表1 FCPN的3次卷積參數(shù)表Table 1 Convolutional parameters of FCPN
在表1 中,每組卷積操作后都進(jìn)行了群組標(biāo)準(zhǔn)化[19](group normalization,GN)與ReLU[20]激活,目的是降低傳播誤差、實(shí)現(xiàn)對特征塊A不同特征層之間的非線性混合,以得到特征塊B。由于這兩層無需設(shè)置與卷積相關(guān)的參數(shù),因此在表格中均以符號(hào)“×”表示。
相比于FPN 網(wǎng)絡(luò),特征卷積金字塔(FCPN)可以在前向傳播中由三次卷積與兩個(gè)十字交叉注意力模塊完成不同層特征圖的通道間、像素間的自適應(yīng)特征提取與混合,因此能夠提高FCOS模型的檢測能力。
由1.2 節(jié)分析可知,原始FCOS 對狹長缺陷的漏檢主要是由于模型只能在標(biāo)注框內(nèi)部挑選指定回歸范圍內(nèi)的網(wǎng)格點(diǎn)作為正樣本點(diǎn)導(dǎo)致的。針對該問題,本文改進(jìn)了原始模型中正樣本部署策略的限制條件,降低了模型對狹長缺陷的漏檢概率。
原始正樣本部署策略由兩個(gè)限制條件構(gòu)成:第一,正樣本點(diǎn)必須落于標(biāo)注框內(nèi)部;第二,不同間距的正樣本點(diǎn)必須滿足對應(yīng)特征圖的回歸距離限制。考慮到第二個(gè)限制條件能夠有效利用不同感受野的特征圖進(jìn)行多尺度目標(biāo)檢測,不宜更改,故本文將替換第一個(gè)限制條件:將與標(biāo)注框幾何中心的間距為指定范圍內(nèi)的網(wǎng)格點(diǎn)作為候選正樣本點(diǎn),如式(3)所示:
在式(3)中,dx、dy分別為網(wǎng)格點(diǎn)與幾何中心的橫、縱坐標(biāo)間距,k為間距縮放倍數(shù),本文將k設(shè)為1.5,si為網(wǎng)格間距,si∈{8,16,32,64,128}。由式(3)篩選后確定的候選點(diǎn)沒有必須落于標(biāo)注框內(nèi)部的限制,而是選擇與標(biāo)注框幾何中心間距小于1.5倍si的網(wǎng)格點(diǎn)作為正樣本候選點(diǎn)。式(3)允許模型將落于標(biāo)注框外一定距離范圍內(nèi)的網(wǎng)格點(diǎn)作為正樣本參與檢測任務(wù)的訓(xùn)練,從而降低模型對狹長缺陷的漏檢概率。
由式(2)、式(3)改進(jìn)的正樣本部署策略在含有狹長缺陷的實(shí)際圖像中的部署情況如圖7所示。
圖7 改進(jìn)部署策略的正樣本分布圖Fig.7 Positive sample distribution diagram of improved deployment strategy
由該圖可知,改進(jìn)后的正樣本部署策略在圖7的狹長缺陷周圍選擇9個(gè)正樣本點(diǎn)用于目標(biāo)檢測任務(wù),該策略避免了在圖4 中展示的狹長缺陷無正樣本點(diǎn)可用的問題,使模型在訓(xùn)練過程中不遺漏狹長缺陷的相關(guān)損失,因此能夠提高模型在扁管表面缺陷檢測任務(wù)中的準(zhǔn)確性。
2.4.1 改進(jìn)的邊框映射函數(shù)
原始FCOS 模型部署的正樣本點(diǎn)全部位于標(biāo)注框內(nèi)部,此時(shí)其回歸目標(biāo)(l,t,r,b) 均大于0,因此當(dāng)原始FCOS 模型使用映射函數(shù)exp(?)進(jìn)行邊框擬合時(shí),能夠達(dá)到較好的擬合程度,使模型在正常比例物體的檢測任務(wù)中,能夠達(dá)到較高的檢測精確率。
但是映射函數(shù)exp(?)僅能將特征圖上的像素特征映射為正數(shù),當(dāng)本文改進(jìn)原始模型的樣本部署策略后,正樣本點(diǎn)可能會(huì)落于狹長標(biāo)注框的外界,此時(shí)必定存在一個(gè)回歸距離小于0,使exp(?)無法對該點(diǎn)進(jìn)行正確的映射,如圖8所示。
圖8 回歸距離小于0的情況Fig.8 Situation of regression distance is less than 0
為了使正樣本落于邊框外時(shí)仍能對邊框進(jìn)行有效的映射,本文舍棄了原始FCOS 模型中的映射函數(shù),而是參考FCOSv2[21]模型的回歸函數(shù),并結(jié)合本文改進(jìn)后的正樣本部署策略,設(shè)計(jì)了改進(jìn)后的邊框映射函數(shù),如式(4)所示:
在式(4)中,σ為激活函數(shù),qi為映射函數(shù)在每個(gè)特征層的縮放系數(shù),該值由FCOS模型在訓(xùn)練中自適應(yīng)搜尋,x為由卷積操作提取到的特征點(diǎn)數(shù)值,si為網(wǎng)格間距,同式(3)中的si。本文使用ELU[22]函數(shù)作為式(4)中的激活函數(shù)σ,該函數(shù)圖像如圖9所示。
圖9 ELU函數(shù)Fig.9 ELU function
由圖9 可知,ELU 的值域范圍為(-1,+∞),因此該函數(shù)能夠?qū)i×x映射為負(fù)數(shù),能夠?qū)ξ挥跇?biāo)注框外部的正樣本點(diǎn)進(jìn)行有效映射,避免了原始映射函數(shù)無法回歸負(fù)數(shù)的問題,提高模型的檢測精確率。
2.4.2 改進(jìn)的中心度定義函數(shù)
相比于其他全卷積目標(biāo)檢測算法,F(xiàn)COS 認(rèn)為越靠近標(biāo)注框幾何中心的樣本的回歸準(zhǔn)確率越高,因此該模型的主要?jiǎng)?chuàng)新點(diǎn)在于提出了“中心度分支(center-ness branch)”這一該概念來衡量每個(gè)正樣本點(diǎn)的回歸質(zhì)量:在預(yù)測每個(gè)樣本點(diǎn)的中心度后,濾除中心度低的樣本,再對剩余的高質(zhì)量樣本進(jìn)行非極大值抑制以得到最終的檢測目標(biāo)。在原始FCOS 模型中,center-ness branch的回歸目標(biāo):中心度定義函數(shù)可由式(5)描述:
由式(5)可知,當(dāng)網(wǎng)格點(diǎn)位于標(biāo)注框外的上、下、左、右四個(gè)方位時(shí),此式求得的中心度為虛數(shù),當(dāng)網(wǎng)格點(diǎn)位于標(biāo)注框外的左上、左下、右上、右下四個(gè)方位時(shí),其中心度又出現(xiàn)逐漸增大的趨勢。即式(5)的計(jì)算方法只能正確衡量落于標(biāo)注框內(nèi)部的正樣本點(diǎn)的中心度。對于在圖7中所展示的,位于標(biāo)注框外部的正樣本點(diǎn)的中心度則無法正確衡量。
因此本文為了有效衡量位于標(biāo)注框外部的正樣本點(diǎn)的中心度,設(shè)計(jì)了改進(jìn)后的中心度定義函數(shù),如式(6)所示:
式(6)所定義的中心度函數(shù)的取值上下限與式(5)一致,分別為1、0,且當(dāng)樣本點(diǎn)越靠近標(biāo)注框幾何中心時(shí),取值越接近1,越遠(yuǎn)離幾何中心時(shí),取值越接近0,并且未給模型引入額外的超參數(shù)。因此式(6)滿足作為中心度定義函數(shù)的要求。原始中心度函數(shù)與本文設(shè)計(jì)的中心度函數(shù)的對比如圖10所示。
圖10 式(5)、式(6)的兩種中心度曲面Fig.10 Two center-ness curved surfaces of formula(5),formula(6)
在圖10 中,虛線矩形為缺陷的人工標(biāo)注框。由該圖可知,對于部署在標(biāo)注框外的網(wǎng)格點(diǎn)中心度,式(5)所定義的原始中心度函數(shù)的計(jì)算結(jié)果明顯有誤,而由式(6)定義的改進(jìn)后中心度函數(shù),則能夠準(zhǔn)確地衡量標(biāo)注框內(nèi)外的所有網(wǎng)格點(diǎn)的中心度。
原始FCOS 模型中的回歸損失由IoU 損失函數(shù)計(jì)算,無法有效指示預(yù)測框的長寬與角點(diǎn)的回歸方向,且當(dāng)預(yù)測框與標(biāo)注框沒有交集時(shí),IoU損失為常數(shù)1,此時(shí)與該預(yù)測框相關(guān)的參數(shù)梯度為0,無法進(jìn)一步更新模型中相關(guān)的參數(shù)。因此本文使用EIoU 損失代替原先的IoU損失函數(shù),將其用于計(jì)算邊框的回歸誤差,如式(7)所示:
其中,IoU(intersection over union)為預(yù)測框與標(biāo)注框的交并比,dc、W、H分別為包圍預(yù)測框與標(biāo)注框的最小外接矩形的對角線距離、寬與高,o、ogt、w、wgt、h、hgt分別表示預(yù)測框與標(biāo)注框的中心坐標(biāo)、寬和高,ρ2表示兩者間歐式距離。該損失函數(shù)避免了原先IoU 損失的缺陷,將預(yù)測框與標(biāo)注框之間的中心點(diǎn)間距與長寬間距納入了損失的計(jì)算之中,能夠更合理地計(jì)算預(yù)測框與標(biāo)注框之間的回歸誤差。
本文的圖像樣本均采集自鋁扁管生產(chǎn)現(xiàn)場,圖像寬高為548×1 000。采集到的樣本共可以分為5 類,分別為:污漬、凹坑、鋅渣、整體、劃痕。本檢測任務(wù)的缺陷類別定義和樣本如圖11所示。
圖11 缺陷樣本圖Fig.11 Samples of defects
在采集的樣本圖像中,需要剔除部分成像質(zhì)量較差或者沒有缺陷的樣本,剩余1 247 張樣本可用于缺陷檢測,并劃分其中80%的樣本作為訓(xùn)練集,20%的樣本作為測試集。為進(jìn)一步提高改進(jìn)后FCOS 模型的魯棒性與檢測精確率,本文在訓(xùn)練過程中對扁管數(shù)據(jù)集進(jìn)行了在線隨機(jī)數(shù)據(jù)增強(qiáng),共有以下5種增強(qiáng)方式:翻轉(zhuǎn)、平移、改變亮度、添加高斯噪聲、添加椒鹽噪聲,如圖12所示。
圖12 本文的圖像增強(qiáng)方法Fig.12 Image enhancement methods of this paper
在目標(biāo)檢測模型中,一般使用平均精確率(average precision,AP)衡量模型對單一種類目標(biāo)的檢測能力,其計(jì)算方法如式(8)所示:
其中,P、R分別表示在指定的交并比閾值下,模型對單一種類目標(biāo)的檢測精準(zhǔn)率與召回率。由單類目標(biāo)的AP值,可定義各項(xiàng)平均精確率均值(mean average precision,mAP),如式(9)所示:
式(9)中,n表示數(shù)據(jù)集中的物體種類數(shù)。AP 與mAP是衡量模型對數(shù)據(jù)集內(nèi)的單一種類目標(biāo)與所有種類目標(biāo)的檢測能力的重要評估指標(biāo),這兩個(gè)指標(biāo)的取值范圍為0~1,越接近于1,說明模型的檢測能力越好。
本文所使用的實(shí)驗(yàn)平臺(tái)配置為:RTX3090 顯卡、AMD3950x 處理器、內(nèi)存頻率為3 000 MHz,模型基于pytorch1.10搭建,使用CUDA 11.3.1加速。在訓(xùn)練過程中,模型的batch size為16,圖像高寬為1 000×548,采用Adam 優(yōu)化器更新模型的權(quán)重與偏置,在訓(xùn)練之前預(yù)熱1 輪,隨后采用余弦退火開始正式訓(xùn)練,初始學(xué)習(xí)率為0.000 1,共訓(xùn)練160輪。
3.4.1 模型對比與分析
使用以上超參數(shù)設(shè)置的模型在扁管表面缺陷檢測任務(wù)中的訓(xùn)練結(jié)果如圖13所示。
圖13 改進(jìn)后FCOS的訓(xùn)練過程曲線Fig.13 Training process curve of improved FCOS model
在圖13 中分別展示了改進(jìn)后FCOS 模型的總損失變化曲線與測試集的mAP(IoU=0.5)曲線,由該圖可知,模型在訓(xùn)練到7 300 步左右時(shí)總損失不再明顯變化,穩(wěn)定在0.66左右,此時(shí)模型的mAP也已穩(wěn)定,沒有進(jìn)一步變化的趨勢,約為0.764。
為了驗(yàn)證本文改進(jìn)后模型的檢測能力,本文將原始FCOS 模型、FCOS v2 以及本文改進(jìn)后的FCOS 模型進(jìn)行了檢測性能的對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表2所示。
表2 三種FCOS模型的檢測性能對比Table 2 Comparison of detection capability of three FCOS models
由表2 可知,當(dāng)IoU 為0.5 時(shí),本文改進(jìn)后模型的mAP 比原始FCOS 模型提高了7.7 個(gè)百分點(diǎn),比FCOS v2提高了3.1個(gè)百分點(diǎn);當(dāng)IoU為0.75時(shí),本文改進(jìn)后模型的mAP比是原始FCOS模型提高了15.7個(gè)百分點(diǎn),比FCOS v2提高了2.8個(gè)百分點(diǎn);當(dāng)IoU從0.5變化到0.95時(shí),其mAP 均值為59.3%,比原始FCOS 模型提高了13.2 個(gè)百分點(diǎn),比FCOS v2 提高了3.9 個(gè)百分點(diǎn)。由此可知,相比于原始FCOS 和FCOS v2 兩個(gè)模型,本文針對扁管表面缺陷檢測任務(wù)而改進(jìn)的模型有著更好的檢測能力。
為更進(jìn)一步驗(yàn)證模型中改進(jìn)的各部分在扁管表面缺陷檢測任務(wù)中的有效性,本文進(jìn)行了相應(yīng)的消融實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表3所示。
表3 對各部分改進(jìn)的消融實(shí)驗(yàn)Table 3 Ablation experiments of each improved parts
在表3 中,本文使用mAP@0.5 衡量使用相應(yīng)改進(jìn)部分的FCOS模型的檢測能力,在實(shí)驗(yàn)1中,模型并未采取任何改進(jìn)措施,為原始FCOS,此時(shí)mAP 為68.7%;在實(shí)驗(yàn)2 中,本文將正樣本點(diǎn)限制在標(biāo)注框內(nèi)、回歸范圍內(nèi)以及幾何中心點(diǎn)的間距內(nèi),此時(shí)mAP有略微提升,為69.1%;在實(shí)驗(yàn)3 中,僅使用回歸范圍內(nèi)、標(biāo)注框幾何中心間距內(nèi)兩個(gè)條件限制模型的正樣本點(diǎn),此時(shí)正樣本點(diǎn)可能落于標(biāo)注框外部,因此使用了改進(jìn)的中心度函數(shù)定義每個(gè)樣本點(diǎn)的中心度,此時(shí)模型的mAP 為72.8%,比原始模型提升4.1 個(gè)百分點(diǎn);相比于實(shí)驗(yàn)3,實(shí)驗(yàn)4 將回歸函數(shù)由exp替換為了ELU,此時(shí)落于標(biāo)注框外部的正樣本也能準(zhǔn)確參與邊框的回歸,mAP 為73.9%,提升了5.2個(gè)百分點(diǎn);在實(shí)驗(yàn)5中引入了本文設(shè)計(jì)的特征卷積金字塔網(wǎng)絡(luò)(FCPN),該網(wǎng)絡(luò)能夠在訓(xùn)練過程中自適應(yīng)混合FPN上不同大小的特征圖,并使用十字交叉注意力模塊提取像素間的相關(guān)性信息,提高模型的檢測能力,引入FCPN后的模型mAP為75.7%,提升了7.0個(gè)百分點(diǎn);最后,實(shí)驗(yàn)6將IoU回歸損失替換為EIoU損失,EIoU損失能夠?qū)㈩A(yù)測框與標(biāo)注框之間的中心點(diǎn)距離與長寬距離納入模型的總損失中,進(jìn)一步縮小預(yù)測框與標(biāo)注框之間的差距,使改進(jìn)后模型的mAP 達(dá)到76.4%,比原始模型提升了7.7個(gè)百分點(diǎn)。
3.4.2 FCPN的結(jié)構(gòu)驗(yàn)證與特征可視化
為驗(yàn)證設(shè)計(jì)的FCPN網(wǎng)絡(luò)結(jié)構(gòu)的合理性,本文就表3中實(shí)驗(yàn)6引入的FCPN網(wǎng)絡(luò)是否采用殘差結(jié)構(gòu)(shortcut),是否使用十字交叉注意力模塊(CC Block),以及使用不同的上、下采樣模式等策略分別進(jìn)行了實(shí)驗(yàn)篩選。篩選結(jié)果如表4所示。
表4 FCPN中不同策略對FCOS檢測結(jié)果的影響Table 4 Influence of different strategies in FCPN on FCOS detection results
在表4中,實(shí)驗(yàn)序號(hào)1~4用于篩選最合適的上、下采樣策略,由實(shí)驗(yàn)2 可知,當(dāng)上采樣策略為最鄰近插值(nearest),下采樣策略為最大值池化(max pool)時(shí),改進(jìn)后模型可獲得最佳的檢測效果,此時(shí)mAP@0.5為0.757。實(shí)驗(yàn)序號(hào)5~7 用于篩選是否引入殘差結(jié)構(gòu)(Shortcut)與十字交叉注意力模塊(CC Block),由實(shí)驗(yàn)7可知,當(dāng)FCPN在實(shí)驗(yàn)2 的基礎(chǔ)上,再引入Shortcut 與CC Block 時(shí),F(xiàn)COS模型的mAP@0.5提升到最大值,為0.764。
為直觀展示FCPN網(wǎng)絡(luò)的特征混合與提取能力,本文在表4 中實(shí)驗(yàn)7 的基礎(chǔ)上,參考Eigen CAM[23]繪制了FCPN 混合前后的特征塊A、B 的激活熱力圖,如圖14所示。
圖14 標(biāo)注圖像與特征塊A、B的激活后熱力圖Fig.14 Marked images and activated heat maps of feature block A,B
在圖14中,第一行為人工標(biāo)注樣本,第二行為FPN混合得到的特征塊A的熱力圖,第三行為在FPN后再使用FCPN混合得到的特征塊B的熱力圖。在熱力圖中,像素越趨于紅色表示模型對該像素的響應(yīng)越敏感,像素越趨于藍(lán)色表示模型對該像素的響應(yīng)越遲緩。由圖14可知,特征塊A 除了對扁管表面缺陷區(qū)域有響應(yīng)之外,對于非缺陷區(qū)域的像素也有著不同程度的響應(yīng),這一點(diǎn)在該圖的6~8列尤為明顯:特征塊A對不存在扁管信息的背景區(qū)域做出了錯(cuò)誤的積極響應(yīng)。相較于特征塊A,特征塊B對缺陷的響應(yīng)則更加集中和明顯,并且能夠更好地濾除非缺陷區(qū)域的響應(yīng)噪聲。由熱力圖差異可知,在FPN后引入FCPN能夠更合理地混合、提取特征圖上的特征信息,提高模型的檢測精確率。
3.4.3 不同映射函數(shù)的對比實(shí)驗(yàn)
由于本文使用ELU函數(shù)對落于標(biāo)注框外部的樣本點(diǎn)的負(fù)回歸距離進(jìn)行映射,因此能夠利用這些樣本對高長寬比的狹長缺陷進(jìn)行回歸。為驗(yàn)證ELU函數(shù)的有效性,本文在表3 中實(shí)驗(yàn)6 的基礎(chǔ)上,選擇了exp、ReLU、Leaky ReLU[24]以及最終采用的ELU這幾種函數(shù)分別進(jìn)行了對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如表5所示。
表5 不同映射函數(shù)的mAP對比Table 5 Comparison of mAP of different mapping functions
由表5可知,由于exp與ReLU兩個(gè)映射函數(shù)的值域始終大于0,模型在訓(xùn)練時(shí)無法回歸位于標(biāo)注框外的正樣本,因此兩者的mAP 較低;Leaky ReLU 與ELU 兩個(gè)函數(shù)的值域分別為整個(gè)實(shí)數(shù)域R、(-1,+∞),因此相比于前兩個(gè)函數(shù),Leaky ReLU與ELU能夠更好地映射落于標(biāo)注框外的正樣本,其mAP也更高。將Leaky ReLU與ELU 分別作為式(5)中的激活函數(shù)σ時(shí),模型檢測精確率的差距并不明顯,但總體來說,當(dāng)激活函數(shù)選擇ELU 時(shí),模型的mAP@0.5 與mAP@0.5:0.95 略高一些,因此本文在式(5)中使用ELU 作為最終的激活函數(shù)σ。為更直觀地展示改進(jìn)后模型選擇exp、ReLU、Leaky ReLU、ELU進(jìn)行映射的區(qū)別,本文對分別采用這四種映射函數(shù)訓(xùn)練的改進(jìn)后模型的檢測結(jié)果進(jìn)行了可視化,如圖15所示。
圖15 使用四種映射函數(shù)的改進(jìn)后模型的檢測結(jié)果Fig.15 Detection results of improved models using four mapping functions
由圖15 可知,若使用不含負(fù)部的exp 與ReLU 函數(shù)作為映射函數(shù),則改進(jìn)后模型在訓(xùn)練中無法正確映射標(biāo)注框外部正樣本點(diǎn)的負(fù)回歸距離,而這類位于標(biāo)注框外部的正樣本點(diǎn)更有可能代表狹長的缺陷,因此在預(yù)測時(shí),模型在狹長缺陷周圍預(yù)測了錯(cuò)誤的檢測框;而使用含有負(fù)部的Leaky ReLU與ELU函數(shù)作為映射函數(shù)時(shí),改進(jìn)后模型能夠在訓(xùn)練中正確映射落于標(biāo)注框外部的正樣本點(diǎn)的負(fù)回歸距離,因此預(yù)測的結(jié)果更加準(zhǔn)確。
3.4.4 改進(jìn)后中心度函數(shù)與樣本部署策略對模型的影響
模型訓(xùn)練時(shí),改進(jìn)的樣本部署策略會(huì)產(chǎn)生標(biāo)注框外的正樣本點(diǎn),因此本文設(shè)計(jì)了改進(jìn)的中心度函數(shù)(式(6)),以計(jì)算這些樣本點(diǎn)的中心度,指引中心度分支的回歸。在預(yù)測階段,模型可以結(jié)合中心度估值,濾除偏離中心的候選框,從而提高模型的檢測精確率。
為比較本文提出的樣本部署策略與中心度函數(shù)及原始方法對模型檢測能力的影響,在圖16 中分別繪制了使用不同方法訓(xùn)練模型后得到的P-R曲線。
圖16 不同方法訓(xùn)練模型后得到的P-R曲線Fig.16 P-R curve obtained after training model with different methods
在圖16中,依據(jù)IoU的不同取值(0.5、0.7、0.9)分別繪制了三組P-R 曲線,每組曲線可進(jìn)一步分為三種,分別為:使用本文方法訓(xùn)練模型后的P-R 曲線(實(shí)線)、使用原始方法訓(xùn)練模型后的P-R 曲線(點(diǎn)線,圖例中以上角標(biāo)“Δ”標(biāo)出)、使用本文方法訓(xùn)練但不濾除低中心度特征點(diǎn)的模型的P-R曲線(短劃線,圖例中以上角標(biāo)“*”標(biāo)出)。在圖16 中,三組IoU 取值范圍下的實(shí)線均不同程度地包裹了點(diǎn)線,說明與原始方法相比,本文改進(jìn)后的樣本部署策略和中心度函數(shù)在同等精確度下能獲得更好的召回率;此外,在不同IoU 取值范圍下的實(shí)線與坐標(biāo)軸的包圍面積也均大于短劃線與坐標(biāo)軸的包圍面積,說明濾除低中心度特征點(diǎn)能夠?qū)Ρ疚母倪M(jìn)后模型的檢測精確率的提升有積極影響。為定量分析改進(jìn)前后的方法以及是否濾除低中心度特征對模型的影響,本文計(jì)算了圖16 中不同曲線的積分面積(即模型mAP),計(jì)算結(jié)果如表6所示。
表6 三組P-R曲線的mAP值Table 6 mAP values of three sets of P-R curves
由表6 可知,與原文方法相比,在濾除低中心度特征后,本文的改進(jìn)方法在三組不同的IoU閾值下均使模型取得了更高的mAP,說明本文方法能夠使模型在扁管表面缺陷檢測任務(wù)上獲得更好的檢測結(jié)果。
為對檢測結(jié)果進(jìn)行直觀的驗(yàn)證與分析,本文對原始FCOS模型以及改進(jìn)后FCOS模型在扁管表面缺陷測試集上的部分檢測結(jié)果進(jìn)行了可視化,檢測結(jié)果如圖17所示。
圖17 原始FCOS與改進(jìn)后FCOS模型的檢測樣本對比圖Fig.17 Comparison chart of detection results between original FCOS and improved FCOS model
在圖17中,紫色框人工標(biāo)注樣本,藍(lán)色框?yàn)槟P偷恼_檢測結(jié)果,橘色框?yàn)檎`檢缺陷,黃色框?yàn)槁z缺陷。從圖17的第5~9列可以看出,原始FCOS模型未能檢出其中的狹長缺陷,而本文改進(jìn)后的模型由于使用了改進(jìn)的樣本部署策略,并設(shè)計(jì)了相應(yīng)的中心度函數(shù)與映射函數(shù),因此能夠?qū)⑦@些狹長缺陷檢出。此外,由于本文改進(jìn)的模型使用了能分配自適應(yīng)特征層的FCPN 網(wǎng)絡(luò),更加適應(yīng)物體的尺度變化。因此在圖17 的第2、7、8、9列可以看出,本文模型對于細(xì)小缺陷的漏檢更少,且從該圖的第3列可以看出,本文模型對大尺度缺陷的邊框回歸更加準(zhǔn)確。從該圖的第4、8列可以看出,本文改進(jìn)后模型的誤檢情況也更少。
針對扁管表面缺陷檢測問題,本文提出了一種改進(jìn)的FCOS 算法:首先設(shè)計(jì)特征卷積金字塔網(wǎng)絡(luò)(FCPN)用于自適應(yīng)地分配不同層特征圖之間的特征信息,提高模型對多尺度缺陷的檢測能力;其次改進(jìn)模型的正樣本部署策略,提高模型對狹長缺陷的檢測能力;然后設(shè)計(jì)了改進(jìn)的中心度定義函數(shù)與邊框回歸函數(shù),以合理計(jì)算落于標(biāo)注框外部的正樣本點(diǎn)的中心度與回歸值;最后使用EIoU 損失替換原始模型中的IoU 損失,將回歸目標(biāo)的長、寬以及中心點(diǎn)間距納入總體的回歸損失之中,從而在原始模型的基礎(chǔ)上,進(jìn)一步提高改進(jìn)后模型對狹長缺陷的檢測能力。
在消融實(shí)驗(yàn)中,驗(yàn)證了模型的各部分改進(jìn)措施在一定程度上提高了模型的檢測能力;在FCPN的結(jié)構(gòu)驗(yàn)證與特征可視化實(shí)驗(yàn)中,驗(yàn)證了FCPN 各模塊的合理性;在映射函數(shù)的對比實(shí)驗(yàn)中,證明了當(dāng)樣本點(diǎn)位于標(biāo)注框外部時(shí),使用具有負(fù)部的激活函數(shù)能夠使模型獲得更好的檢測結(jié)果;此外,改進(jìn)后樣本部署策略與中心度函數(shù)能夠比原始方法獲得更高的檢測精確率。
實(shí)驗(yàn)結(jié)果表明,當(dāng)IoU取0.5時(shí),本文改進(jìn)后的FCOS模型在扁管表面缺陷檢測任務(wù)上的mAP為76.4%,比原始FCOS模型提高了7.7個(gè)百分點(diǎn)。