相比two-stage方法,one-stage的目標(biāo)檢測(cè)算法在工業(yè)界更受追捧。one-stage的模型目前可以分為兩大類:anchor-based和anchor-free方法。
FCOS屬于anchor-free,但是卻不是基于關(guān)鍵點(diǎn)檢測(cè)的方法,嚴(yán)格來看其更接近基于anchor-based的方法,但是不需要anchor并加上特殊的設(shè)計(jì)卻能夠?qū)崿F(xiàn)更好的效果。本文提出基于改進(jìn)FCOS的表面缺陷檢測(cè)算法,提升鋼鐵表面的缺陷檢測(cè)效率。
針對(duì)現(xiàn)有鋼帶表面缺陷檢測(cè)所存在的檢測(cè)效率低、適用范圍有限等缺陷,提出一種基于改進(jìn)FCOS的鋼帶表面缺陷檢測(cè)算法。該算法使用含形變卷積的卷積神經(jīng)網(wǎng)絡(luò)提取缺陷特征,使用關(guān)鍵點(diǎn)特征融合增強(qiáng)檢測(cè)模型輸入,并使用中心采樣策略選取訓(xùn)練樣本優(yōu)化模型訓(xùn)練,最后使用東北大學(xué)鋼帶表面缺陷公共數(shù)據(jù)集進(jìn)行訓(xùn)練和評(píng)估。本文算法在東北大學(xué)鋼帶表面缺陷公共數(shù)據(jù)集上平均檢測(cè)精度為74%,檢測(cè)速度為31.4 FPS。
01
引言
作為鋼鐵產(chǎn)業(yè)的重要產(chǎn)品,鋼帶被廣泛應(yīng)用于各個(gè)領(lǐng)域。但由于設(shè)備和工藝條件的限制,鋼帶在生產(chǎn)過程中常出現(xiàn)劃痕、裂縫等表面缺陷,不僅影響產(chǎn)品的外觀,而且會(huì)影響產(chǎn)品的性能。因此,在鋼帶生產(chǎn)制造中對(duì)其進(jìn)行表面缺陷檢測(cè)具有重要意義。 ? 目前,常用的鋼帶表面缺陷檢測(cè)方法包括人工檢測(cè)、漏磁檢測(cè)和基于計(jì)算機(jī)視覺的檢測(cè)。人工檢測(cè)方法受檢驗(yàn)人員主觀因素影響較大,實(shí)時(shí)性差,誤檢率高。漏磁檢測(cè)方法雖然成熟,但對(duì)不同缺陷的敏感度不同,漏檢率高,且由于使用條件的陷制,難以大規(guī)模推廣 。隨著深度學(xué)習(xí)的飛速發(fā)展,基于計(jì)算機(jī)視覺的檢測(cè)技術(shù)以其智能化、實(shí)時(shí)性、高精度、可靠性等優(yōu)點(diǎn)為鋼帶表面缺陷檢測(cè)技術(shù)提供新的解決方案 。王等人提出一種融合多級(jí)特征的Faster R-CNN算法,解決了鋼帶表面多樣化和隨機(jī)缺陷的檢測(cè)問題 。
戴等人設(shè)計(jì)了一種基于改進(jìn)Faster R-CNN的缺陷檢測(cè)算法,以解決工件表面缺陷檢測(cè)的局限性和精度不高的問題,檢測(cè)效果相比傳統(tǒng)方法得到大幅提高 。李等人提出一種改進(jìn)YOLOv3算法,使用加權(quán)K-means聚類算法設(shè)計(jì)檢測(cè)框參數(shù)提高先驗(yàn)框與特征圖層匹配度,并增加殘差單元和大尺度特征圖輸出,從而增強(qiáng)算法對(duì)缺陷檢測(cè)能力 。
劉等人提出一種改進(jìn)YOLOv4算法,使用輕量級(jí)深層神經(jīng)網(wǎng)絡(luò)MobileNetV3作為特征提取網(wǎng)絡(luò)以提高模型檢測(cè)速度和特征提取能力,并設(shè)計(jì)多尺度損失函數(shù)解決因正負(fù)樣本不平衡而導(dǎo)致檢測(cè)效果差的問題,在保證檢測(cè)速度的基礎(chǔ)上有效提升了精度。 ? 然而,上述算法都是基于Anchor-based模型的實(shí)現(xiàn),即需要基于先驗(yàn)知識(shí)給檢測(cè)網(wǎng)絡(luò)預(yù)設(shè)一組檢測(cè)框,然后模型輸出檢測(cè)框微調(diào)參數(shù),最終通過微調(diào)參數(shù)和檢測(cè)框預(yù)設(shè)參數(shù)計(jì)算出最終模型輸出的檢測(cè)框,因此預(yù)設(shè)檢測(cè)框的尺度和形狀直接影響模型訓(xùn)練效果。
并且由于預(yù)設(shè)檢測(cè)框的尺度和形狀與輸入數(shù)據(jù)相關(guān),所以Anchor-based模型設(shè)計(jì)依賴設(shè)計(jì)者對(duì)先驗(yàn)知識(shí)的了解,泛化能力有限。針對(duì)以上問題,本文提出基于改進(jìn)FCOS的鋼帶表面缺陷檢測(cè)算法,通過直接回歸檢測(cè)框參數(shù)而非對(duì)預(yù)設(shè)檢測(cè)框微調(diào)實(shí)現(xiàn)缺陷檢測(cè),避免引入先驗(yàn)知識(shí)導(dǎo)致模型泛化能力不夠問題。模型使用含形變卷積的卷積神經(jīng)網(wǎng)絡(luò)提取網(wǎng)絡(luò)特征,增強(qiáng)特征提取效果,使用關(guān)鍵點(diǎn)特征融合方式豐富檢測(cè)分支輸入,增強(qiáng)模型檢測(cè)效果,并使用中心采樣策略選取合適的訓(xùn)練樣本,優(yōu)化模型訓(xùn)練效果。基于改進(jìn)FCOS的表面缺陷檢測(cè)算法在東北大學(xué)鋼帶表面公開數(shù)據(jù)集上平均檢測(cè)精度(mean Average Precision, mAP)為74.0%,檢測(cè)速度為31.4 FPS,性能滿足當(dāng)前工業(yè)生產(chǎn)需求。 ?
02
FCOS模型結(jié)構(gòu)
FCOS 模型結(jié)構(gòu)如圖1所示,首先使用深度卷積神經(jīng)網(wǎng)絡(luò)提取輸入圖像特征圖,然后使用分類網(wǎng)絡(luò)、回歸網(wǎng)絡(luò)、中心度網(wǎng)絡(luò)對(duì)特征圖上的所有特征點(diǎn)逐個(gè)進(jìn)行檢測(cè),分類網(wǎng)絡(luò)輸出原圖上以此特征點(diǎn)為中心的區(qū)域所含缺陷類別,回歸網(wǎng)絡(luò)輸出原圖上以此特征點(diǎn)為中心的缺陷區(qū)域,中心度網(wǎng)絡(luò)輸出特征點(diǎn)在原圖上對(duì)應(yīng)的點(diǎn)為中心點(diǎn)的概率,抑制偏心度較大的低質(zhì)量檢測(cè)框的輸出。 ?
? 令?Fi∈?H×W×C?是第i層的特征圖,s為該層總的下采樣倍率,輸入圖像中的真實(shí)檢測(cè)框定義為?{Bi} ,其中 ? ? 此處: ? ? 分別為真實(shí)檢測(cè)框的左上角點(diǎn)和右下角點(diǎn)的坐標(biāo), c(i)為真實(shí)檢測(cè)框中缺陷的類別,C為缺陷類別個(gè)數(shù)。對(duì)于特征圖 Fi上的每個(gè)位置(x,y) ,其在輸入圖像上的映射位置約為? ? ? 與Anchor-based通過回歸基于此處預(yù)設(shè)的檢測(cè)框的微調(diào)參數(shù)從而得到真實(shí)檢測(cè)框的方式不同,F(xiàn)COS直接回歸該位置的檢測(cè)框,即FCOS直接將位置視為訓(xùn)練樣本,而不是將生成的檢測(cè)框視為訓(xùn)練樣本。具體來說,如果坐標(biāo)為?(x,y)的這個(gè)特征點(diǎn)落在真實(shí)檢測(cè)框中心點(diǎn)一定區(qū)域內(nèi)且特征點(diǎn)的類別標(biāo)簽 c* 為真實(shí)檢測(cè)框的類別,則將此特征點(diǎn)為正樣本,否則將其視為背景類負(fù)樣本,即 c*=0c*=0?。除此之外,檢測(cè)網(wǎng)絡(luò)還會(huì)輸出一個(gè)4維向量t*=(l*,t*,r*,b*)?作為特征點(diǎn)的回歸結(jié)果,此處l*,t*,r*,b*?為特征點(diǎn)到邊界框四個(gè)邊的距離。
? 基于特征點(diǎn)的缺陷檢測(cè)可以視作對(duì)以特征點(diǎn)為幾何中心的矩形感受野區(qū)域的缺陷檢測(cè),因此當(dāng)特征點(diǎn)遠(yuǎn)離目標(biāo)中心時(shí),存在特征點(diǎn)對(duì)應(yīng)的感受野無法完全覆蓋目標(biāo)的情況,基于這類特征點(diǎn)進(jìn)行目標(biāo)檢測(cè)時(shí)則會(huì)生成很多低質(zhì)量的檢測(cè)框,因此引入中心度概念,通過中心度分支抑制此類檢測(cè)框。 ? 中心度描述了從特征點(diǎn)到特征點(diǎn)對(duì)應(yīng)目標(biāo)中心的歸一化距離,給定 l*,t*,r*,b*?時(shí),中心度監(jiān)督信號(hào)定義如下: ?
(1) ? 中心度數(shù)值范圍為0到1,訓(xùn)練時(shí)使用交叉熵作為損失函數(shù)進(jìn)行訓(xùn)練,測(cè)試時(shí),特征點(diǎn)對(duì)應(yīng)缺陷類別的最終分?jǐn)?shù)由分類分?jǐn)?shù)乘中心度獲得,因此,中心度可以降低遠(yuǎn)離目標(biāo)中心的邊界框分?jǐn)?shù),使得這些低質(zhì)量邊界框在NMS后處理中被過濾掉,從而顯著提高檢測(cè)性能。 ?
03
FCOS的改進(jìn)
3.1 形變卷積 ? CNN網(wǎng)絡(luò)由卷積層和池化層組成,由于卷積層和池化層都是對(duì)固定尺度的區(qū)域進(jìn)行采樣,即在同一層的CNN模塊的每個(gè)激活單元擁有固定尺度和形狀的感受野,然而不同位置的物體的尺度和形狀都是不一樣的,對(duì)于尺度、形狀和感受野不匹配的物體,感受野固定的CNN無法充分提取物體的特征(如圖2所示)。因此,本文引入形變卷積(Deformable Convolution Network, DCN) [8] 模塊增強(qiáng)深度卷積網(wǎng)絡(luò)特征提取能力。 ?
圖2.?3 × 3卷積感受野(紅色為常規(guī)卷積感受野,黃色為形變卷積感受野) ? 常規(guī)卷積由兩步組成:1) 在輸入特征圖x上對(duì)矩形網(wǎng)格 R區(qū)域進(jìn)行采樣;2) 對(duì)采樣值使用權(quán)重w進(jìn)行加權(quán)求和。其中網(wǎng)格 RR 定義了感受野的大小和膨脹比例,如 R={(?1,?1),(?1,0),?,(0,1),(1,1)}表示一個(gè)膨脹比例為1、大小為3 × 3的卷積核。對(duì)于輸出特征圖y上的每個(gè)特征點(diǎn) p0,都有 ?
(2) ? 其中 pn為 RR 上的每個(gè)點(diǎn)的坐標(biāo)。在形變卷積中,矩形網(wǎng)格 RR 使用偏移量?{Δpn|n?1,?,N}表示,其中 N=|R| ,則卷積計(jì)算變?yōu)??
(3) ? 此時(shí)采樣變?yōu)榉且?guī)則且基于偏移量 pn+Δp0,且由于偏移量?Δp0通常都為小數(shù),因此公式(3)中的 x(p0+pn+Δpn)通過雙線性插值實(shí)現(xiàn),公式如下: ?
(4) ? 其中q為特征圖x上的整數(shù)空間位置, G(?,?)為雙線性插值核函數(shù),由于 G(?,?)為2維計(jì)算,可以拆分成兩個(gè)單維核函數(shù)相乘: ?
(5) ? 如圖3所示,采樣點(diǎn)的偏移量通過在相同的輸入特征圖上使用旁路卷積獲得,旁路卷積核的尺度和膨脹比率與當(dāng)前卷積層相同,且輸出的偏移量向量空間分辨率與輸入特征圖相同,通道數(shù)為輸入特征圖的兩倍,與偏移量的兩個(gè)維度相對(duì)應(yīng)。在訓(xùn)練時(shí),同時(shí)學(xué)習(xí)用于生成輸出特征的卷積核與偏移量,梯度通過公式(4)和公式(5)反向傳播。 ?
圖3. 形變卷積網(wǎng)絡(luò)
? 3.2關(guān)鍵點(diǎn)特征融合
在FCOS中,檢測(cè)網(wǎng)絡(luò)是基于特征點(diǎn)進(jìn)行檢測(cè),也可看作基于以特征點(diǎn)為幾何中心的矩形感受野區(qū)域的檢測(cè),然而由于缺陷尺度、形狀各異,特征點(diǎn)又是根據(jù)空間映射直接計(jì)算出來的,特征點(diǎn)感受野區(qū)域和缺陷區(qū)域可能存在一定程度的不匹配,使用此類特征點(diǎn)進(jìn)行缺陷檢測(cè)則會(huì)影響模型的檢測(cè)性能。 ? 針對(duì)以上問題,本文提出基于關(guān)鍵點(diǎn)特征融合的方式進(jìn)行檢測(cè),即將原本基于單個(gè)特征點(diǎn)的檢測(cè)拓展為基于一組關(guān)鍵點(diǎn)進(jìn)行檢測(cè),使用一組關(guān)鍵點(diǎn)而不是單個(gè)特征點(diǎn)描述缺陷特征,豐富輸入網(wǎng)絡(luò)的信息,提升檢測(cè)網(wǎng)絡(luò)的表現(xiàn)。 ? 如圖4所示,左圖為使用單個(gè)特征點(diǎn)檢測(cè),輸入檢測(cè)網(wǎng)絡(luò)的信息為此特征點(diǎn)對(duì)應(yīng)的感受野區(qū)域的信息,右圖為使用關(guān)鍵點(diǎn)集合檢測(cè),輸入檢測(cè)網(wǎng)絡(luò)的信息為這組關(guān)鍵點(diǎn)對(duì)應(yīng)的感受野區(qū)域的綜合信息,相較于單個(gè)特征點(diǎn),關(guān)鍵點(diǎn)集合能夠提供更豐富的缺陷信息,從而更易于后續(xù)的檢測(cè)。 ?
圖4.?單個(gè)特征點(diǎn)表征與關(guān)鍵點(diǎn)集合表征示意圖(紅色矩形為特征點(diǎn),黃色矩形為特征點(diǎn)對(duì)應(yīng)的感受野) ? 關(guān)鍵點(diǎn)集合的生成與融合使用DCN實(shí)現(xiàn),如圖5所示,首先使用1 × 1卷積生成2k個(gè)需要融合的關(guān)鍵點(diǎn)坐標(biāo),然后根據(jù)坐標(biāo)使用雙線性插值獲得關(guān)鍵點(diǎn)集合對(duì)應(yīng)的特征,然后使用1 × 1卷積對(duì)這些特征進(jìn)行融合,并與原特征點(diǎn)特征合并,作為檢測(cè)網(wǎng)絡(luò)輸入。 ?
圖5.?關(guān)鍵點(diǎn)集合生成與融合
? 3.3中心采樣策略
? 在原始的FCOS實(shí)現(xiàn)中,只要特征點(diǎn)在原圖上的映射點(diǎn)處在標(biāo)注框內(nèi)部,此特征點(diǎn)會(huì)被視作正樣本。然而標(biāo)注框內(nèi)部靠近邊緣的部分往往仍然是背景部分,因此這部分正樣本實(shí)際對(duì)應(yīng)的點(diǎn)應(yīng)該屬于負(fù)樣本的背景部分,使用這些樣本進(jìn)行訓(xùn)練會(huì)對(duì)模型的學(xué)習(xí)造成困擾。 ? 針對(duì)以上問題,本文使用中心采樣策略選取正樣本(如圖6所示),即以標(biāo)注框中心點(diǎn)為圓心,取一個(gè)比標(biāo)注框更小的圓形區(qū)域,只有在原圖上的映射點(diǎn)處于此圓形區(qū)域的特征點(diǎn)才會(huì)被視作正樣本,這樣就將大多數(shù)處在標(biāo)注框內(nèi)邊緣、實(shí)際落在背景部分的特征點(diǎn)正確識(shí)別為負(fù)樣本,有利于模型的正確學(xué)習(xí)。在本文提出的改進(jìn)FCOS模型中,使用標(biāo)注框短邊的0.75作為中心采樣區(qū)域的直徑。 ?
圖6.?中心采樣(落在綠色圓環(huán)內(nèi)的特征點(diǎn)被視作正樣本,反之為負(fù)樣本) ?
04
實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證本模型的可行性和優(yōu)勢(shì),我們使用東北大學(xué)的NEU-DET數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。 ?
4.1?NEU-DET數(shù)據(jù)集
? NEU-DET數(shù)據(jù)集是東北大學(xué)宋克臣團(tuán)隊(duì) [9] 制作的鋼帶表面缺陷數(shù)據(jù)集,包含6種缺陷類別,分別為裂紋(Crazing),夾雜(Inclusion),斑塊(Patch),點(diǎn)蝕表面(Pitted Surface),軋制氧化皮(Rolled-in Scale),劃痕(Scratch),每種缺陷含有300張分辨率為200 × 200的灰度圖片,總樣本數(shù)為1800。數(shù)據(jù)集同時(shí)提供每張圖片所對(duì)應(yīng)的缺陷標(biāo)注信息的XML文件,標(biāo)注信息包括缺陷所屬類別與邊界框的信息(矩形框左上角和右下角的坐標(biāo)信息),共計(jì)4189個(gè)邊界框。圖7為NEU-DET數(shù)據(jù)集中6種表面缺陷圖像的示例樣本。 ?
圖7.?NEU-DET數(shù)據(jù)集缺陷樣本示例 ? 4.2評(píng)價(jià)指標(biāo) ? 本文采用的評(píng)價(jià)指標(biāo)為COCO數(shù)據(jù)集評(píng)價(jià)指標(biāo) ,包括mAP、AP50、AP75、APS、APM、APL。COCO評(píng)價(jià)指標(biāo)根據(jù)模型輸出的目標(biāo)類別和模型輸出檢測(cè)框與實(shí)標(biāo)注框的交并比(Intersection over Union, IoU)判斷是否正確檢測(cè)到目標(biāo)。其中AP50、AP75指的是IoU閾值分別為0.5和0.75時(shí)的檢測(cè)精度,IoU閾值越高意味著對(duì)檢測(cè)精度要求越高,mAP則是IoU閾值從0.5到0.95的平均精度。APS、APM、APL分別為對(duì)小目標(biāo)、中目標(biāo)、大目標(biāo)檢測(cè)精度,在COCO數(shù)據(jù)集中,面積小于322的為小目標(biāo),面積大于322小于962為中目標(biāo),面積大于962的為大目標(biāo)。 ? 4.3?實(shí)驗(yàn)結(jié)果 ? 實(shí)驗(yàn)采用的硬件配置為GTX1080Ti顯卡,軟件環(huán)境為CUDA10.1,Cudnn7.6.4。每個(gè)批次使用8張圖片進(jìn)行訓(xùn)練,使用含動(dòng)量的隨機(jī)梯度下降優(yōu)化參數(shù),學(xué)習(xí)率為0.2,動(dòng)量為0.9,權(quán)重衰減速率為0.0001,每個(gè)模型共訓(xùn)練36輪,實(shí)驗(yàn)結(jié)果如圖8和表1和所示。 ?
圖8.?改進(jìn)FCOS模型檢測(cè)結(jié)果(上圖為真實(shí)標(biāo)注框,下圖為改進(jìn)FCOS輸出結(jié)果) ? 本文在不同主流模型上進(jìn)行實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)結(jié)果如表1所示。從表中可以看出改進(jìn)FCOS模型在NEU-DET數(shù)據(jù)集上的各項(xiàng)表現(xiàn)均優(yōu)于其他主流模型,尤其在AP75指標(biāo)和APS指標(biāo)上,改進(jìn)FCOS相較于主流模型提升巨大,相較于Faster R-CNN,AP75提升11.8%,APS提升16.1%,相較于YOLOv3,AP75提升22.1%,APS提升25.8%。改進(jìn)FCOS在不使用基于先驗(yàn)知識(shí)設(shè)計(jì)的預(yù)設(shè)檢測(cè)框的情況下下,不僅實(shí)現(xiàn)了高精度檢測(cè),而且大幅提升了缺陷檢測(cè)算法對(duì)小尺度目標(biāo)的檢測(cè)精度,證明Anchor-free算法在缺陷檢測(cè)領(lǐng)域的應(yīng)用價(jià)值。 ?
表1.?各類缺陷檢測(cè)模型實(shí)驗(yàn)結(jié)果對(duì)比 ?
05
總結(jié)
針對(duì)鋼帶表面缺陷檢測(cè)問題,本文提出一種基于改進(jìn)FCOS的表面缺陷檢測(cè)算法,使用直接回歸檢測(cè)框的思想實(shí)現(xiàn)缺陷檢測(cè),避免引入先驗(yàn)知識(shí)導(dǎo)致模型性能波動(dòng)和泛化性降低。在特征提取部分使用形變卷積增強(qiáng)卷積網(wǎng)絡(luò)對(duì)不同尺度、形狀缺陷的特征提取能力。在檢測(cè)部分使用關(guān)鍵點(diǎn)特征融合方法豐富輸入網(wǎng)絡(luò)的信息。使用中心采樣策略定義樣本正負(fù),提高訓(xùn)練樣本質(zhì)量,改善模型訓(xùn)練效果。最終改進(jìn)FCOS模型在NEU-DET數(shù)據(jù)集上mAP達(dá)到74.0%,檢測(cè)速度為31.4 FPS,并且在檢測(cè)精確度和小目標(biāo)檢測(cè)上均大幅領(lǐng)先主流算法,證明Anchor-free思想在缺陷檢測(cè)領(lǐng)域的應(yīng)用價(jià)值,為缺陷檢測(cè)模型設(shè)計(jì)提供新的思路。
編輯:黃飛
?
評(píng)論
查看更多