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