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