文生平 周正軍 張嘯言 陳志鴻
(1.華南理工大學 廣東省高分子先進制造技術及裝備重點實驗室,廣東 廣州 510640;2.華南理工大學 聚合物加工 工程教育部重點實驗室,廣東 廣州 510640;3.廣州市井源機電設備有限公司,廣東 廣州 511480)
軸承是一種常見的機械零件,在機械結(jié)構(gòu)中可以起到一定的支撐作用,其主要功能是支撐機械旋轉(zhuǎn)體、降低旋轉(zhuǎn)體在運動過程中的摩擦力,并保證旋轉(zhuǎn)體的回轉(zhuǎn)精度。滾子作為滾動軸承中主要的承壓部件,表面如果存在缺陷,其使用性能與使用壽命都將大打折扣,因此對滾子幾何精度及表面粗糙度的要求往往比對其他部件的更高。
現(xiàn)有的軸承滾子表面質(zhì)量檢測方法中,以人工檢查為代表的傳統(tǒng)檢測方法由于檢測效率低、人工成本過高等原因,已經(jīng)不能滿足現(xiàn)代工業(yè)的需求,而基于視覺的表面缺陷檢測因其高效率、低成本等優(yōu)勢越來越被人們所重視。此外,隨著近年來人工智能技術的不斷突破及國家對于“機器換人”的大力扶持,將人工智能技術應用于缺陷檢測也越來越成為研究熱點。
目前,主流的軸承滾子缺陷視覺檢測流程一般是圖像預處理、ROI(感興趣區(qū)域)提取、模式識別。隨著軸承滾子缺陷視覺檢測技術的不斷發(fā)展,國內(nèi)外均取得了一系列成果。國外,Zheng等[1]基于遺傳算法與圖像形態(tài)學開發(fā)了一套金屬表面視覺檢測實驗設備;Pernkopf等[2]提出了3種適用于金屬表面缺陷檢測的的圖像采集方案;Hemmati等[3]設計了一種新的信號處理算法,并利用聲發(fā)射技術對軸承表面缺陷的尺寸進行測量;Bastami等[4]通過自回歸模型和包絡分析來增強滾動體進出缺陷區(qū)域的特征,并利用兩個缺陷事件之間的持續(xù)時間來估計缺陷大??;Sobie等[5]使用從滾動軸承動力學高分辨率模擬中獲得的信息來生成訓練數(shù)據(jù),并將這些數(shù)據(jù)用于訓練機器學習算法,進而實現(xiàn)軸承故障檢測。國內(nèi),邵珠慶[6]利用Matlab對圓錐滾子表面的劃痕、麻點、壓痕及銹蝕缺陷進行了檢測;李楊[7]采用人工神經(jīng)網(wǎng)絡模型對微小軸承的表面進行了缺陷檢測;魏利勝等[8]提出了一種融合單應性約束SIFT(尺度不變特征變化)的軸承滾子檢測方法;重慶郵電大學的劉超[9]基于Retinex光照校正算法提出一種改進算法,在該算法的基礎上設計了一套軸承滾子瑕疵檢測算法;陳金貴等[10]對Niblack算法進行改進,實現(xiàn)了對軸承滾子表面缺陷的區(qū)域分割;陳昊等[11]提出了一種基于圖像光流的軸承滾子表面缺陷檢測方法。
在計算機視覺領域,卷積神經(jīng)網(wǎng)絡模型近年來取得了豐碩的研究成果,其端到端的模型特性也使得研發(fā)工作相對傳統(tǒng)圖像處理方法更加容易[12]。文中對軸承滾子表面缺陷的視覺檢測進行了研究,并針對缺陷的尺度變化問題設計了一套基于計算機視覺的軸承滾子表面缺陷檢測算法,在實驗中取得了比較高的準確率。
文中提出的表面缺陷檢測系統(tǒng)的機械結(jié)構(gòu)主要由上料機、自動送料機、端面相機及光源、線掃描相機及光源、卸料機等構(gòu)成。系統(tǒng)結(jié)構(gòu)示意圖見圖1。
1—PLC;2—大小端光源及相機;3—進料機構(gòu); 4—出料機構(gòu);5—線掃描光源;6—PC;7—線掃描相機
檢測系統(tǒng)下位機為PLC,上位機為工控機(i7-6700k CPU,NVIDIA GTX-1080 GPU,128 GB RAM)。下位機負責數(shù)字IO(輸入輸出)及運動控制,上位機負責圖像采集、圖像處理、結(jié)果輸出等。檢測系統(tǒng)的3D模型如圖2所示。
圖2 表面缺陷檢測系統(tǒng)的3D模型
由于金屬表面容易反光,為了獲得全面的圖像信息以便于后續(xù)的缺陷檢測,在對比了多種不同的光源方案后,選擇了針對端面的高低角度光源及針對柱面的明暗場光源,并在端面使用端面相機、柱面使用線掃描相機來獲取軸承滾子圖像。光學成像模塊如圖3所示。
圖3 光學成像模塊Fig.3 Photos of optical imaging modules
在軸承滾子的生產(chǎn)過程中,軸承滾子的表面總是不可避免地會出現(xiàn)各種缺陷。其中軸承滾子的端面、外徑圓柱面及倒角處是最容易出現(xiàn)缺陷的部位。常見的表面缺陷包括物理碰撞引起的損傷與劃痕、材料表面老化引起的銹蝕與加工過程中倒角部位的缺料等。
如圖4所示,軸承滾子的常見表面缺陷包括以下幾種:
(1)劃痕,如圖4(a)和4(b)所示,主要為硬物劃傷軸承滾子表面后留下的痕跡;
(2)損傷,如圖4(c)和4(d)所示,主要是由于物理碰撞在滾子表面留下的大小不均勻且無規(guī)則的凹痕;
(3)倒角缺料,如圖4(e)、4(f)所示,主要是指在加工過程中由于各種原因?qū)е碌臐L子倒角出現(xiàn)凹陷或突起等不連續(xù)的情況;
(4)銹蝕,如圖4(g)、4(h)所示,主要是軸承滾子由于潮濕等原因表面被腐蝕生銹后產(chǎn)生的缺陷;
(5)欠磨,如圖4(i)所示,主要是由于軸承滾子表面研磨不充分而產(chǎn)生的缺陷。
上述表面缺陷直接影響著軸承滾子的使用性能,特別是對軸承的承載能力和穩(wěn)定性有較大的影響。因為圓柱面是軸承滾子的主要工作表面,同時也是受力面,所以圓柱面不允許出現(xiàn)任何缺陷,只要在圓柱面檢測到缺陷的存在,該工件將直接被判定為不合格工件。而滾子的兩個端面雖然不是主要工作面,但是若端面的表面缺陷面積過大,也會對滾子的使用性能帶來影響,故需對端面在進行缺陷檢測后計算缺陷的面積大小,當缺陷面積超過預設的閾值時,該工件也將被判定為不合格產(chǎn)品。
圖4 常見的軸承滾子表面缺陷Fig.4 Common surface defects of bearing roller
在上述各種表面缺陷中,以圖4(e)、4(f)為代表的倒角缺料均出現(xiàn)在圖像的輪廓位置,該缺陷在下文提及的算法流程中通過輪廓檢測的方式被首先檢測出來。由于篇幅限制,文中對一些未提及的出現(xiàn)頻率極低的缺陷不做過多討論,僅著重針對劃痕、損傷、銹蝕與欠磨這4種表面缺陷的檢測進行討論。4種表面缺陷的細節(jié)如圖5所示。
在對軸承滾子的表面缺陷檢測中,倒角缺料缺陷均出現(xiàn)在倒角的輪廓上,可以采用傳統(tǒng)的霍夫變換加邊緣檢測的方法判斷產(chǎn)品是否合格。而以劃痕、損傷、銹蝕及欠磨等為代表的一系列表面缺陷的特征變化比較復雜,規(guī)律性較差,故采用卷積神經(jīng)網(wǎng)絡對其進行檢測。
表面缺陷檢測算法流程如下:首先讀入圖像,如果圖像來自兩個端面圖像相機,則先對圖像進行1次輪廓檢測,判斷該工件是否出現(xiàn)倒角缺料缺陷;若檢測到端面輪廓缺陷,則該工件將直接被判為不合格產(chǎn)品;若圖像來自線掃描相機,或者圖像來自端面相機且未檢測到端面輪廓缺陷,則將圖像送入卷積神經(jīng)網(wǎng)絡提取缺陷ROI。然后,將ROI進行閾值分割來計算缺陷面積,若缺陷面積超過所設閾值則判定為不合格產(chǎn)品,反之則將該產(chǎn)品判為合格產(chǎn)品。算法流程如圖6所示。
圖5 4種常見的表面缺陷的細節(jié)Fig.5 Details of four common surface defects
圖6 表面缺陷檢測算法流程圖Fig.6 Flow chart of the proposed surface defects detection algorithm
當軸承滾子出現(xiàn)倒角缺料缺陷時,觀察端面相機中拍攝到的圖像,會發(fā)現(xiàn)軸承滾子并不是圓形的,如圖7所示。倒角缺料會導致滾子在使用過程中無法正常工作,因此第一步要先將這些倒角缺料的滾子剔除掉。
圖7 端面相機拍攝到的倒角缺料缺陷
輪廓檢測的目的是判斷工件是否出現(xiàn)倒角缺料,其核心思想是先通過多次霍夫變換提取圓心坐標的平均值,經(jīng)圖像降噪后再采用邊緣檢測方法提取圖像的輪廓邊緣,并計算邊緣各點到圓心的距離是否僅在一個很小的范圍內(nèi)波動,當檢測到有輪廓點與波動范圍相差比較大時,則可判定該輪廓不圓,進而將該工件判定為不合格產(chǎn)品。
3.2.1 霍夫圓檢測
霍夫變換可以用于檢測圓和直線,因為對噪聲及形狀不完整的情況并不敏感,所以分割結(jié)果非常穩(wěn)定,在缺陷檢測中有較好的效果。霍夫圓檢測的原理描述如下。
設圓心為(m,n),半徑為r,則圓滿足方程
(xi-m)2+(yi-n)2=r2
(1)
式(1)也可以理解為圓上的點(xi,yi)在空間(m,n,r)中的解析式方程。圓上的任意一點可以映射為一個圓錐面,而所有點映射的圓錐面簇在參數(shù)空間中都相交于一點(m0,n0,r0),則該點代表在圖像空間中的圓心與半徑?;舴驁A變換簡圖如圖8所示。
圖8 霍夫圓變換簡圖Fig.8 Simplified diagram of Hough circle transform
3.2.2 輪廓檢測算法
文中利用OpenCV庫中提供的霍夫變換算法來計算圓心與半徑,對每張圖像使用10次霍夫圓變換并取平均值。然后,利用Canny邊緣檢測算法[13]提取圖像的真實輪廓,最后計算輪廓上各個點到圓心之間距離與圓半徑的標準差std,判斷該標準差是否大于預設閾值F。若標準差小于閾值F則認為該工件的端面是一個完整的圓,不存在倒角缺料,隨后進入下一步——通過卷積神經(jīng)網(wǎng)絡提取ROI。反之,則認為端面不圓,存在倒角缺料,是不合格產(chǎn)品。具體運算公式如下:
(2)
(3)
(4)
(5)
式中,xs、ys、rs分別為圓心坐標及半徑平均值,xsi、ysi、rsi分別為第i次霍夫變換計算出的圓心坐標及半徑,dj為真實輪廓到圓心的距離。
通過大量實驗后發(fā)現(xiàn),閾值設為0.4效果最好。檢測效果如圖9所示。
圖9 輪廓檢測結(jié)果Fig.9 Result of contour detection
卷積神經(jīng)網(wǎng)絡模型目標檢測方法主要分為一階段目標檢測模型與兩階段目標檢測模型兩種。其中兩階段目標檢測模型精度高但速度較慢,在軸承滾子表面缺陷檢測中無法做到實時在線檢測。而以YOLO、SSD為代表的一階段目標檢測模型雖然在檢測速度上具有較大優(yōu)勢,但準確率相對較低。以YOLO為例,在對不同尺度的目標進行檢測時容易出現(xiàn)小目標漏檢。而在表面缺陷檢測中,由于缺陷具有較大的隨機性,所以各類缺陷的尺度變化大,如圖10、11所示,YOLO會因小目標的漏檢而導致檢測效果差。
圖10 小尺度缺陷Fig.10 Small-scale defect
圖11 大尺度缺陷Fig.11 Large-scale defect
SSD雖然在不同的特征圖上進行了預測,對于小目標缺陷的檢測精度相對YOLO有一定提升,但是由于單階段網(wǎng)絡分類器存在嚴重的數(shù)據(jù)不均衡問題,分類器在進行分類時因?qū)颖玖慷嗟念愋瞳@得了較大的權(quán)重,導致對該類型有所“偏好”,所以檢測效果不夠理想。
有鑒于此,文中采用特征圖金字塔結(jié)構(gòu)的RetinaNet[14]網(wǎng)絡模型,并使用基于交叉熵損失的Focal Loss作為損失函數(shù),該方法在滿足在線檢測的情況下,精度超越了兩階段網(wǎng)絡Faster R-CNN。
3.3.1 Focal Loss損失函數(shù)
Focal Loss損失函數(shù)的實質(zhì)是在交叉熵損失函數(shù)的基礎上額外附加一個權(quán)重因子,使得損失函數(shù)更加關注樣本較少的那一類。二分類情況下Focal Loss損失函數(shù)的原理如下。
假設目標的真實標記為y,正類樣本y=1,負類樣本y=0,p為模型預測y=1的概率,則有
p∈[0,1]
(6)
標準交叉熵為
(7)
定義
(8)
則交叉熵可以寫成
CE(p,y)=CE(pt)=-logpt
(9)
對于數(shù)據(jù)樣本不均衡的問題,引入1個權(quán)重因子α,使得樣本量較少的一類得到1個較大的權(quán)重而樣本量較多的一類的權(quán)重相對較小,則損失函數(shù)變?yōu)?/p>
CE(pt)=-αtlogpt
(10)
常見的權(quán)重因子為(1-pt)γ,其中γ為聚焦參數(shù)且有γ≥0,則Focal Loss損失函數(shù)為
FL(pt)=-(1-pt)γlogpt
(11)
當γ取不同值時,對應的損失函數(shù)如圖12所示。圖中,曲線的右半段代表分類器預測的概率已經(jīng)較高,這就意味著分類器對于這些樣本已經(jīng)可以達到非常好的分類效果,因此可以適當降低這些樣本的權(quán)重,使得分類器更多關注分類還不夠好的樣本。可以看到,當γ增大時,損失函數(shù)對那些分類效果已經(jīng)很好的樣本損失值已經(jīng)接近于0。
圖12 不同γ取值時的損失值Fig.12 Loss value varying with γ
在Focal Loss損失函數(shù)的基礎上再增加一個平衡因子αt,則有
FL(pt)=-αt(1-pt)γlogpt
(12)
3.3.2 RetinaNet網(wǎng)絡結(jié)構(gòu)
RetinaNet網(wǎng)絡結(jié)構(gòu)由ResNet[15]與FPN[16]兩部分構(gòu)成。ResNet是目前最有效的特征提取網(wǎng)絡之一,通過引入殘差模塊,深度神經(jīng)網(wǎng)絡中的梯度消失與梯度爆炸現(xiàn)象得到了一定程度的緩解,有效地解決了深度神經(jīng)網(wǎng)絡訓練困難的問題。在殘差模塊的輸入和輸出之間引入1個Shortcut連接,成為恒等映射。圖13所示是兩個采用ReLU激活函數(shù)的殘差模塊。恒等映射不同于簡單的堆疊網(wǎng)絡,它可使原始輸出不通過前面網(wǎng)絡層的非線性變換而直接輸入后面的網(wǎng)絡層中。將輸出變?yōu)镠(x)=F(x)+x,而學習任務由H(x)變?yōu)镕(x)=H(x)-x,其中H(x)和F(x)分別表示殘差模塊輸出與卷積層輸出。
圖13 殘差模塊Fig.13 Residual modules
目前幾種主流的目標檢測網(wǎng)絡結(jié)構(gòu)如圖14所示。在傳統(tǒng)的目標檢測網(wǎng)絡中,僅用最后一層輸出>特征圖的單特征圖(Single Feature Map)模式進行預測,然而這種模式對小尺度目標非常不友好,檢測效果差。Fast/Faster R-CNN中引入了圖像金字塔(Featurized Image Pyramid)結(jié)構(gòu),雖然提升了檢測效果,但同時帶來了極大的運算量與內(nèi)存負擔。SSD算法利用卷積神經(jīng)網(wǎng)絡本身多層次特性的金字塔特征層次(Pyramidal Feature Hierarchy)模式來進行預測,由于底層特征的語義信息較弱導致小目標的檢測效果雖然有一定提升但仍不夠理想。而FPN(Feature Pyramid Networks)通過自下而上的路徑(Bottom-Up Pathway)、自上而下的路徑(Top-Down Pathway)及橫向鏈接(Lateral Connections)共同構(gòu)造了一種獨特的特征金字塔,能夠讓各個尺度的特征都具有較強的語義信息,在避免過大計算量的同時對多尺度目標取得了較好的檢測效果。
圖14 幾種常見的目標檢測網(wǎng)絡結(jié)構(gòu)Fig.14 Several common network structures for object detection
RetinaNet結(jié)合了ResNet與FPN的優(yōu)點,在得到有效的特征金字塔之后,對特征金字塔的每一層都通過兩個結(jié)構(gòu)相同但參數(shù)各異的子網(wǎng)絡分別進行目標類別分類與特征框位置回歸,其結(jié)構(gòu)如圖15所示。
圖15 RetinaNet網(wǎng)絡結(jié)構(gòu)Fig.15 Network structure of RetinaNet
各模型的性能對比如圖16所示??梢钥闯觯诰确矫嬉浑A段檢測模型RetinaNet已經(jīng)超越了兩階段檢測模型Faster R-CNN,雖然與YOLO、SSD相比,RetinaNet在速度方面不占優(yōu)勢,但它在FPS(檢測幀率)為15時便可完全達到軸承滾子實時在線檢測的要求。
圖16 各模型的性能對比Fig.16 Performance comparison of the models
3.3.3 RetinaNet的改進方案
在卷積神經(jīng)網(wǎng)絡的底層學習到的是比較具體的紋理、顏色等低語義信息特征,而在高層學習到的是一些十分抽象的高語義信息特征。在工業(yè)領域的表面缺陷檢測中,對于是否存在缺陷的最重要判據(jù)是工件外形的顏色與紋理。為了加大這些紋理與顏色特征對預測結(jié)果的影響,文中使用DenseNet[17]代替ResNet作為特征提取網(wǎng)絡,并針對這兩種特征提取網(wǎng)絡分別進行實驗。DenseNet的核心是用密集連接模塊代替ResNet的殘差模塊,密集連接模塊的基本結(jié)構(gòu)如圖17所示,圖中BN代表批歸一化,激活函數(shù)為ReLU,Conv代表卷積層,X0至X4為特征圖,H代表通過卷積計算下一層,箭頭代表恒等映射。
圖17 DenseNet密集連接模塊Fig.17 DenseNet dense connection module
在1個密集連接模塊中,第L層的輸出不僅與第L-1層有關,而且與它之前的每一層都有關。設第L層的輸出為XL,第L層的激活函數(shù)為HL,則有
XL=HL([X0,X1,…,XL-1])
(13)
式中,[ ]代表拼接操作,具體是指將第L-1層的輸出與前面各層的輸出按照通道數(shù)維度組合在一起,再通過激活函數(shù)增加非線性。
DenseNet與ResNet相比,其共同點是對不同層的特征圖都進行特征融合,ResNet采用的融合方式是特征圖對應位置像素的相加,即add操作,而DenseNet采用的融合方式是將特征圖在通道數(shù)維度進行拼接,即concat操作。這兩種方法均能達到特征融合的目的。通過add操作可以根據(jù)原有特征生成新的特征,雖然生成的新特征與原有特征有關,但在這個過程中原有特征消失了,這就造成了一定程度上的特征損失。而concat操作直接將特征圖拼接在一起組合成新的特征圖,特征的組合問題交給卷積神經(jīng)網(wǎng)絡自己去學習,這樣既避免了人為干預對特征融合帶來的影響,又保證了在整個過程中不會出現(xiàn)特征損失。
此外,DenseNet相比ResNet擁有更少的參數(shù),計算更高效,并且降低了訓練成本。DenseNet的密集型連接相對ResNet加強了特征的重復使用以及底層特征對預測結(jié)果的影響。同時,隨著網(wǎng)絡深度的逐漸增加,在面對梯度消失與梯度爆炸時DenseNet的效果要比ResNet更加出色,大大降低了模型的訓練難度。
當滾子圓柱面未檢測到缺陷而端面檢測到缺陷時,需對滾子端面缺陷面積進行計算。缺陷面積計算的核心任務是對缺陷進行分割,其中閾值分割是圖像分割中的一種常用方法,它首先選擇合適的閾值,然后將圖像中所有像素點的灰度值與這個閾值進行對比,大于閾值的像素點歸為一類,其他像素點歸為另一類。設原始圖像為f(x,y),分割后的圖像為g(x,y),閾值為T,則閾值分割滿足下式:
(14)
顯然,閾值分割的關鍵在于閾值T的選取。幾種常見的閾值分割法如下。
1)人工經(jīng)驗選擇法 通過人工對比分析大量圖像之后,根據(jù)經(jīng)驗選擇1個恰好能夠?qū)⒈尘芭c前景區(qū)分開來的恰當閾值。但這種方法效率十分低,并且閾值固定不變,僅適用于圖片數(shù)量較少的情況。
2)OTSU閾值分割法 OTSU的思想是使分割后的結(jié)果類間方差最大化,是一種基于全局閾值的分割方法。它采用兩個類之間的方差大小作為分割背景與目標的評判標準,方差越大則認為類間的差別越大。
3)自適應閾值分割法 OTSU法對全局像素使用1個單一閾值進行分割,如果光線條件比較復雜,灰度值可能出現(xiàn)分布不均勻的狀況。而自適應閾值分割是為每一個像素點設置不同的閾值,在光線不均勻的情況下可取得不錯的效果。
文中分別對欠磨、銹蝕、損傷與劃痕4種表面缺陷使用上述3種閾值分割法進行對比,效果如圖18所示。
由圖18可以看出,自適應閾值分割法在欠磨與銹蝕這兩種情況下的效果比較差,基本上無法將缺陷分割出來。而人工經(jīng)驗選擇法雖然在劃痕分割中取得了不錯的分割效果,但是在處理欠磨與銹蝕缺陷時,由于灰度值在不同圖像中的分布不同,僅使用單一的閾值無法滿足所有情況。綜合看來,OTSU閾值分割法在本文應用場景中的表現(xiàn)最好。此外,由于缺陷檢測系統(tǒng)中使用了光源,因此整個表面的光照情況比較穩(wěn)定,這就使得圖像的灰度值分布十分均勻,同時OTSU閾值分割法能夠?qū)Σ煌膱D像自動選取閾值而不需要人工選取。實驗也證明OTSU法能夠較好地將4種缺陷從背景中分割出來,因此文中采用OTSU閾值分割法。
文中將傳統(tǒng)算法與文中算法的缺陷分類能力進行了評估與比較,嘗試將許多已經(jīng)開源的算法與文中算法進行對比,并分析這些算法與文中算法的性能差異。實驗過程中計算機硬件采用英特爾酷睿i7-6700k CPU、英偉達GTX-1080 GPU、128G RAM,操作系統(tǒng)為Windows系統(tǒng),使用的編程語言為Python與C++。
在傳統(tǒng)算法中,GLCM[18](灰度共生矩陣)與HOG[19](梯度直方圖)是最常見的兩種特征提取器。其中GLCM是一種常用的通過研究灰度的空間相關性來描述紋理特征的方法,紋理特征影像通過提取灰度圖像并進行灰度級量化來計算特征值。HOG是圖像處理中一種用于特征檢測的特征描述器。該算法首先將圖像分割成小的連通區(qū)域,稱之為單元,然后收集單元中每個像素的梯度或邊緣方向,得到1個直方圖,最后將這些直方圖組合起來形成特征描述符[20]。在獲得上述特征之后,再使用SVM(支持向量機)和MLP(多層感知器)對特征進行分類。
圖18 各閾值分割法的效果對比Fig.18 Effect comparison of several threshold segmentation methods
此外,文中還將所提出的算法與另一種卷積神經(jīng)網(wǎng)絡SSD[21]算法進行了對比。SSD算法通過卷積神經(jīng)網(wǎng)絡生成一系列預測框,計算出預測框內(nèi)包含目標的概率,該算法使用了多尺度手段提升預測性能。
對各種算法進行實驗,并使用Macro F1-score作為衡量標準。F1-score是統(tǒng)計學中一種常用于衡量二分類模型的指標,它同時兼顧了模型的準確率與召回率,而Macro F1-score是將F1-score從二分類拓展到多分類的一種形式,即把每個類的F1-score結(jié)合起來考慮。在評估多分類任務時,Macro F1-score是一個非常重要的衡量指標。各算法的Macro F1-score如表1所示。
表1 傳統(tǒng)算法與卷積神經(jīng)網(wǎng)絡算法的對比
從表1可以看出,在算法效果上,卷積神經(jīng)網(wǎng)絡算法相比傳統(tǒng)算法有較大提升。傳統(tǒng)算法的Macro F1-score普遍在80以下,而3種卷積神經(jīng)網(wǎng)絡算法的Macro F1-score均在89以上,說明卷積神經(jīng)網(wǎng)絡算法相比傳統(tǒng)算法性能更為優(yōu)異。并且,文中算法使用特征金字塔結(jié)構(gòu)取得了比SSD算法更好的效果,Macro F1-score達到了94以上。此外,通過對比還可看出,將特征提取網(wǎng)絡從ResNet換成DenseNet之后,Macro F1-score增大了1.2以上。
最后評估整個檢測系統(tǒng)在軸承滾子缺陷檢測上的應用性能。由于檢測結(jié)果只包含合格與不合格兩種,因此是一個二分類問題。文中分別以準確率、召回率與F1-score作為衡量標準進行評估。
首先在生產(chǎn)線上人工選取1 500個軸承滾子,包含了10、12與15 mm共3種不同直徑,每種直徑軸承滾子的總數(shù)量相同,且每種直徑軸承滾子中包含的合格產(chǎn)品與不合格產(chǎn)品數(shù)量相等。將這1 500個軸承滾子分別用傳統(tǒng)方法、SSD與文中方法進行測試,其中傳統(tǒng)方法選擇GLCM+MLP,實驗結(jié)果如表2所示。
表2 檢測方法的性能評估結(jié)果Table 2 Performance evaluation results of detection methods
從表2可以看出,文中方法相對于其他兩種方法,不論在準確率、召回率還是在F1-score上都有一個比較大的提升。而傳統(tǒng)方法之所以準確率與召回率較低,其原因在于提取到的特征并不準確,使得分類時容易產(chǎn)生誤判,將一些不是缺陷的紋理、油漬判斷為缺陷。SSD方法雖然相對傳統(tǒng)方法其性能有一定提升,但由于存在類不均衡問題,也會導致分類器效果并不理想。
雖然文中方法獲得了滿意的檢測效果,但并非完美無缺。如圖19所示,綠色框為真實標簽,紅色框為預測結(jié)果,可以看出ROI提取過程中卷積神經(jīng)網(wǎng)絡預測結(jié)果與真實標簽并沒有完全重合,這會導致后續(xù)計算出的缺陷面積存在細微誤差,進而影響檢測系統(tǒng)對工件是否合格的判定。
圖19 預測結(jié)果與真實標簽對比Fig.19 Comparison of the predicted result with the actual one
文中研究了軸承滾子表面缺陷的檢測問題。針對軸承滾子表面最常見的5種缺陷,設計了一種視覺表面缺陷檢測系統(tǒng),獲得了滿意的檢測效果。該系統(tǒng)設計了3個工位對軸承滾子的端面與圓柱面進行檢測,并且采用合理的光學成像系統(tǒng),使每個工位都能夠采集到清晰完整的圖像。
文中提出的基于深度學習的檢測算法能夠很好地檢測出缺陷所在的位置并準確判斷缺陷類型。該算法以RetinaNet為基本框架,并使用了DenseNet作為特征提取網(wǎng)絡,在保證檢測速度的前提下大幅度提升了檢測算法的精度。算法中還使用了霍夫圓變換及閾值分割等方法,實現(xiàn)了對倒角缺料的檢測與端面缺陷面積的計算。
將傳統(tǒng)缺陷檢測算法與文中提出的缺陷檢測算法進行對比,結(jié)果表明,雖然文中算法在時間上相對傳統(tǒng)算法有略微增加,但依舊能夠滿足在線檢測的要求。而在檢測效果方面,文中算法具有較大優(yōu)勢,其準確率、召回率與F1-score都有較大提升,是一種高精度的在線表面缺陷檢測算法。
文中算法雖然獲得了滿意的檢測效果,但由于預測框與真實標簽并未完全重合,導致計算出的缺陷面積存在細微的誤差,后續(xù)研究可以圍繞減小缺陷面積誤差與提升預測框的重合度來展開。