張新波 朱姿娜 張偉偉
(上海工程技術(shù)大學(xué)視覺測控與智能導(dǎo)航研究所 上海 201620)
傳統(tǒng)的機(jī)器學(xué)習(xí)目標(biāo)檢測更注重特征的提取,特征提取作為目標(biāo)檢測中最關(guān)鍵的環(huán)節(jié),眾多的研究者進(jìn)行了大量研究,方向梯度直方圖(Histogram of Oriented Gradient)HOG[1]特征是Dalal 等在2005年針對行人檢測問題提出的特征,HOG 特征廣泛應(yīng)用在于圖像識別領(lǐng)域。局部二值模式(LBP)[2]算子是T.Ojala 等于1994 年提出的,描述的是中心像素點(diǎn)的灰度值與周圍像素點(diǎn)灰度值的大小關(guān)系,表示 該 局 部 區(qū) 域 的 紋 理 特 征。Adaboosting[3]是Freund等于1996年提出的,Adaboost算法將多個弱分類器(一般采用單層的決策樹)進(jìn)行組合,使之成為一個強(qiáng)分類器。采用的是迭代的思想,具有較高的檢測速度,不容易產(chǎn)生過適應(yīng)現(xiàn)象。Cortes 和Vapnik(1995)[4]提出了支持向量機(jī)(SVM),SVM 算法是定義在特征空間上的間隔最大的線性分類器。
深度學(xué)習(xí)作為目前解決目標(biāo)檢測識別問題的一種有效手段。Girshick[5]等在2014年提出了基于區(qū)域提名的卷積神經(jīng)網(wǎng)絡(luò)R-CNN,R-CNN 在行人檢測和目標(biāo)檢測等領(lǐng)域取得了巨大的成功,與此同時檢測速率低,計(jì)算成本大等問題非常突出,隨后針 對 此 問 題,Girshick 等(2015)又 提 出 了Fast R-CNN[6],相對于之前的R-CNN,在訓(xùn)練時候的速度、測試時候的速度以及訓(xùn)練所耗費(fèi)的空間等方面有了很大的提升,F(xiàn)aster R-CNN[7],采用了區(qū)域生成網(wǎng)絡(luò)RPN 候選框提取模塊代替選擇性搜索Selective Search 模塊,大大提高了操作的效率。端到端的目標(biāo)檢測則是另一類典型思路。此類方法不需要區(qū)域提名(Region Proposal),直接從圖像中回歸的方法提取目標(biāo)。Redmon 提出的YOLO(You Only Look Once)[8],直接選用整張圖訓(xùn)練模型,摒棄了滑窗和區(qū)域提名的方式,以此預(yù)測多個box 位置和類別的卷積神經(jīng)網(wǎng)絡(luò),提高了目標(biāo)和背景區(qū)域的區(qū)分度。ECCV-2016 的SSD(single shot multibox detector)[9]算法,結(jié)合分配區(qū)域和回歸的概念,實(shí)現(xiàn)了速度與精度的均衡。Long 等提出的全卷積神經(jīng)網(wǎng)絡(luò)(Fully Convolutional Network,F(xiàn)CN)[10]提供了嶄新的思路,首次實(shí)現(xiàn)了像素級的分類效果。在此基礎(chǔ)上,DeconvNet[11]等相繼出現(xiàn)。空間金字塔池化模塊(SPP)[12]由何凱明等于2014 年提出,可以將任意尺度的輸入轉(zhuǎn)換為相同尺度的輸出,且不同尺度特征的提取和拼接可以提高任務(wù)精度和網(wǎng)絡(luò)模型的魯棒性。Chen 等于2014 年提出的Deeplabv1[13]采用空洞卷積Fully-connected Conditional Random Field(CRF)來優(yōu)化網(wǎng)絡(luò),注重像素細(xì)節(jié)信息,提高了分割的精度,Ronneberger 等[14]隨后提出了一種新的網(wǎng)絡(luò)結(jié)構(gòu)Unet,該網(wǎng)絡(luò)具有對稱的U型結(jié)構(gòu),通過對提取的圖像特征編解碼,更好地結(jié)合了高層和底層的信息特征,可以更加適合于提取細(xì)微的信息。
對于物體的瑕疵檢測特別是金屬類的物體,眾多的研究人員做了大量的工作。葉宏武等(2015)[15]提出了基于粒子群優(yōu)化算法加權(quán)模糊C 均值聚類的零件缺陷圖像智能分割算法,精確識別定位零件表面瑕疵區(qū)域。雷泰等(2018)[16]基于導(dǎo)向線的刀路輪廓質(zhì)量檢測方法。對已濾波圖像上輪廓的線寬、連通性和毛刺情況進(jìn)行檢測。對于多類別瑕疵零件的研究不太深入。因此本文主要是運(yùn)用深度學(xué)習(xí)技術(shù),采用Softmax 算法對金屬零件進(jìn)行瑕疵檢測識別。

圖1 零件實(shí)物圖

圖2 生產(chǎn)工位瑕疵檢測圖
本文的算法流程如圖3 所示:采用傳統(tǒng)CS-LBP 描述符來提取零件表面的紋理特征,來訓(xùn)練Softmax分類器。然后選用Unet神經(jīng)網(wǎng)絡(luò)對零件表面進(jìn)行初步的區(qū)域提取,接著通過Softmax對Unet篩選出的初步區(qū)域進(jìn)行二次分類,以此排除干擾區(qū)域。最終獲得單個零件的目標(biāo)區(qū)域瑕疵的精準(zhǔn)識別。

圖3 算法流程圖
2.2.1 CS-LBP特征
中心對稱局部二值模式CS-LBP 特征描述符,通過降低提取的特征維數(shù)以及減小計(jì)算復(fù)雜度,在一定程度上解決了上述弊端,由于考慮到像素對的灰度差值,因此與梯度描述符類似。CS-LBP 的檢測原理是:通過對局部區(qū)域中關(guān)于中心對稱的4 對像素差值的變化來描述紋理特征,計(jì)算公式如下所示:

式中(x,y)是局部區(qū)域中心像素點(diǎn)的坐標(biāo),gp表示周圍相鄰像素點(diǎn)的灰度值,gp+(N/2)表示關(guān)于與p 點(diǎn)關(guān)于中心點(diǎn)成中心對稱的像素點(diǎn)的灰度值。T 表示自定義閾值。s(x)表示符號函數(shù),定義如下:
多年來,國家高度重視珠江水運(yùn)發(fā)展,國務(wù)院先后頒布了《珠江—西江經(jīng)濟(jì)帶發(fā)展規(guī)劃》《水污染防治行動計(jì)劃》;交通運(yùn)輸部發(fā)布了《珠江水運(yùn)發(fā)展規(guī)劃綱要》《關(guān)于推進(jìn)珠江水運(yùn)科學(xué)發(fā)展的若干意見》和《珠江水運(yùn)科學(xué)發(fā)展行動計(jì)劃(2016-2020)》,這為打造西江“黃金水道”指明了方向。

2.2.2 HOG特征
HOG 特 征 是 由Navneet Dalal & Bill Triggs 在CVPR 2005 發(fā)表的論文中提出來的,由于HOG 算子是在圖像中的局部方格中進(jìn)行分析,所以此算子相對于其他的算子在圖像幾何以及光學(xué)變化方面有著良好的不變性。
通過計(jì)算圖像中局部區(qū)域的灰度梯度直方圖,提取HOG特征,其基本步驟如下:
1)將圖像劃分成若干Cell 計(jì)算每個Cell 在M個方向上的梯度直方圖。
2)將每個Block 中的Cell方向梯度直方圖串聯(lián)形成Block的方向梯度直方圖。
3)串聯(lián)圖像中所有的Block方向梯度直方圖輸出最終的圖像HOG特征。
本文HOG 特征設(shè)置如下:梯度方向個數(shù)M 取為9,Cell的大小為8*8,Block的大小為16*16。
2.2.3 特征降維融合
由于抓取區(qū)域具有金屬反光和紋理多變等特點(diǎn),單個特征應(yīng)用于圖片識別,容易造成遺漏或者錯誤的檢測。為了進(jìn)一步提高識別的正確率,本文通過融合HOG 和CS-LBP 特征用于抓取區(qū)域的檢測。由于這兩種特征本身維數(shù)較大,直接進(jìn)行拼接無疑會導(dǎo)致Softmax 分類器訓(xùn)練耗時增加,致使訓(xùn)練和檢測效率低下。因此本文采用主成分分析法對特征融合后的矩陣進(jìn)行不同程度的降維,以提高訓(xùn)練效率和檢測的準(zhǔn)確率。
Unet 網(wǎng)絡(luò)模型首次被提出的應(yīng)用場合主要集中在醫(yī)學(xué)圖像的分割領(lǐng)域,Unet網(wǎng)絡(luò)因?yàn)樵谏喜蓸拥臅r候,有多個通道,能夠使得較多的上下文信息傳遞到更高分辨率的網(wǎng)絡(luò)層中。從而使得對于醫(yī)學(xué)圖像的分割可以做到更加精細(xì)化。
此網(wǎng)絡(luò)主要因其形似U 型而被命名為Unet,Unet 網(wǎng)絡(luò)結(jié)構(gòu)包含了23 個卷積層,4 個最大池化層,每個池化層將特征尺寸降為原來尺寸的一半,在第8個和第9個卷積層使用Dropout技術(shù),數(shù)值均設(shè)定為0.5,其中激活函數(shù)使用的是ReLU,在每一次下采樣操作中,都會將特征通道的數(shù)量加倍。在左側(cè)的收縮架構(gòu)中,每一個步驟都是先使用反卷積操作,反卷積操作會將會使特征通道數(shù)量減小一半。特征圖的尺寸會增加一倍。每次反卷積操作后,將結(jié)果和收縮路徑中對應(yīng)步驟的特征圖拼接,最后的結(jié)果進(jìn)行兩次3*3 的卷積,最后一層的卷積核大小設(shè)定為1*1。圖4所示為U-Net網(wǎng)絡(luò)結(jié)構(gòu)。

圖4 Unet網(wǎng)絡(luò)結(jié)構(gòu)
采用的實(shí)驗(yàn)環(huán)境如下:Ubuntu16.04 操作系統(tǒng),內(nèi)存為16G,CPU 為Inter 酷睿i78700@3.2GHz,GPU為NVIDIA GTX-1080,Python3.6.5。
3.1.1 實(shí)驗(yàn)準(zhǔn)備
本實(shí)驗(yàn)中的圖像數(shù)據(jù)等全是筆者自己采集制作并標(biāo)注完成,其中考慮到采集的原始圖像很大部分具有單一性,因此對一些數(shù)據(jù)使用了數(shù)據(jù)增強(qiáng)技術(shù):尺度變換、旋轉(zhuǎn)等操作,進(jìn)行了數(shù)據(jù)擴(kuò)充,完善豐富了數(shù)據(jù)的多樣性。其中采用大小為1080*960的圖片來訓(xùn)練Unet網(wǎng)絡(luò)。最終用于訓(xùn)練Softmax分類器的圖片選用的圖像大小為64*64 像素。其中正樣本的圖片數(shù)量為86 張,負(fù)樣本圖像數(shù)量為51張。
3.1.2 訓(xùn)練過程
Softmax 分類器是對Logistic 二分類的一個拓展推廣,其基本原理比較簡單并且主要作為多分類問題的解決方案來使用。
把n 個訓(xùn)練樣本記錄為{(x(1),y(1)),(x(2),y(2)),… ,(x(n),y(n))},ai為缺陷所屬類別的標(biāo)簽,其中ai∈{1,2,…,m},m 為缺陷種類的總類別數(shù)。

圖5 負(fù)樣本

圖6 正樣本
訓(xùn)練時,采用的是帶有動量的隨機(jī)梯度下降算法,學(xué)習(xí)率設(shè)為0.01,動量設(shè)定為0.9,學(xué)習(xí)率在訓(xùn)練過程中進(jìn)行多項(xiàng)式衰減,網(wǎng)絡(luò)在NVIDIA GTX 1080 GPU的加速訓(xùn)練,訓(xùn)練了500個epoch,花費(fèi)時間是8h。
在最后一層使用交叉熵?fù)p失函數(shù)。函數(shù)公式如下:

其中P(x)表示真實(shí)概率分布,q(x)表示預(yù)測概率分布。
最終采用多特征融合的Softmax 算法,Unet 算法,以及本文提出的算法分別在零件數(shù)據(jù)集中進(jìn)行了缺陷區(qū)域檢測。最終的實(shí)驗(yàn)結(jié)果如圖7所示。

圖7 實(shí)驗(yàn)檢測結(jié)果對比
從表1 中的實(shí)驗(yàn)檢測結(jié)果進(jìn)行分析?;趥鹘y(tǒng)的多特征融合Softmax算法在各個指標(biāo)上都遜色于Unet 以及本文的算法。側(cè)面驗(yàn)證了單純的機(jī)器學(xué)習(xí)的算法在缺陷檢測領(lǐng)域的局限性,而本文的算法檢測準(zhǔn)確率達(dá)到了88.2%,錯檢率僅僅為3.4%,優(yōu)于Unet 算法。由于金屬零件檢測過程中光照、角度等的影響,也會造成Softmax 分類器在多分類時出現(xiàn)錯誤的劃分。最終導(dǎo)致錯檢率和漏檢率都相對高于Unet 算法。從整體上對比分析,本文的算法達(dá)到了較為理想的檢測精度。

表1 三種模型實(shí)驗(yàn)檢測結(jié)果
針對零件瑕疵檢測流程中,傳統(tǒng)的缺陷檢測準(zhǔn)確率不足的問題,提出了一種基于Unet 和多特征融合的Softmax 識別算法。該方法多特征融合的Softmax 分類器對Unet 的識別結(jié)果進(jìn)行二次分析,最終實(shí)現(xiàn)了對瑕疵區(qū)域的精確識別,剔除了干擾區(qū)域。本文的算法主要有以下的優(yōu)點(diǎn):1)傳統(tǒng)的機(jī)器學(xué)習(xí)的目標(biāo)檢測識別在根據(jù)人工選擇的缺陷特征對其分類時會導(dǎo)致精度較差,而本文的算法則可以在識別目標(biāo)外形的基礎(chǔ)上,對缺陷的種類也能夠很好的識別。2)在圖像訓(xùn)練集構(gòu)建中,充分考慮了光照,拍攝角度等影響,對角度和光照等情況做了劃分,使得實(shí)際檢測中,算法具有一定的魯棒性。3)構(gòu)建使用多特征融合的Softmax分類器有效彌補(bǔ)了單一網(wǎng)絡(luò)框架檢測的局限性,使得錯檢率得到了顯著的下降。