劉巖
摘要:光學(xué)元件損傷檢測是激光驅(qū)動器健康管理的重要環(huán)節(jié),復(fù)雜的原始損傷圖像是損傷檢測研究中的挑戰(zhàn)性問題。卷積神經(jīng)網(wǎng)絡(luò)是深度學(xué)習(xí)的重要結(jié)構(gòu),在圖像識別領(lǐng)域里有很好的應(yīng)用實例。針對復(fù)雜環(huán)境下的光學(xué)元件損傷檢測問題,提出一種基于卷積神經(jīng)網(wǎng)絡(luò)的損傷定位方法。設(shè)計了一種含有損傷和背景的數(shù)據(jù)集制作方法,生成大量偽數(shù)據(jù)。設(shè)計并訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),得到分類器的參數(shù)模型。用多尺度分割原始損傷圖像,并對每一分割區(qū)域進行歸類和處理。實驗結(jié)果證明,該檢測方法具有較高的識別率和魯棒性,可有效規(guī)避大規(guī)模噪聲對損傷檢測的影響。
關(guān)鍵詞:損傷檢測;深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò)
中圖分類號:TP183 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)04-0178-05
1 概述
光學(xué)元件損傷檢測技術(shù)在許多光學(xué)裝置中都有重大應(yīng)用,如大型光學(xué)望遠(yuǎn)鏡、高功率激光驅(qū)動器等,損傷檢測的結(jié)果為裝置健康維護提供重要依據(jù)。
根據(jù)檢測環(huán)境的不同,損傷檢測系統(tǒng)可分為在線檢測和離線檢測。在離線檢測中,通過成像設(shè)備可獲得高質(zhì)量的原始損傷圖像,圖像中的噪聲低、類型單一,得到的損傷檢測結(jié)果足夠精確,但離線檢測存在著檢測周期長、成本高的問題。與離線檢測相比,在線檢測直接利用光學(xué)裝置中的成像單元采集工作狀態(tài)下的圖像,將其作為原始損傷圖像,雖然精確程度低于離線檢測,但其效率高、成本低。在線檢測也存在固有問題:大規(guī)模噪聲和復(fù)雜背景,如圖1所示,這對損傷識別造成了嚴(yán)重影響,該圖像為激光設(shè)備中CCD采集得到的原始損傷圖像,實線標(biāo)記內(nèi)為明顯損傷,其與背景噪聲存在明顯差異,虛線標(biāo)記內(nèi)為非明顯損傷,其與背景噪聲融為一體。
在經(jīng)典的邊界檢測和區(qū)域檢測算法中,原始圖像可經(jīng)過降噪濾波、二值化、邊界提取算子等處理方法,得到邊界和包圍區(qū)域。這種處理方法實現(xiàn)簡單,但在實際應(yīng)用中,受高噪聲、復(fù)雜背景和參數(shù)設(shè)置的局限性,魯棒性很差,處理效果不好。在損傷識別中,微小損傷往往被背景噪聲環(huán)繞,大范圍的濾波對噪聲有一定的抑制作用,對微小損傷同樣是嚴(yán)重的破壞。為了改善邊界提取效果,很多研究者在邊界提取過程中綜合了梯度方向、梯度大小、灰度曲率、拉普拉斯交叉特征等參考因素來動態(tài)修正邊界檢測結(jié)果[1]。面對更為復(fù)雜的檢測環(huán)境,甚至需要人工添加標(biāo)記點來輔助邊界的檢測[2],目的是為了規(guī)避全局噪聲影響,在局部生成一條最優(yōu)邊界。在大范圍噪聲和復(fù)雜環(huán)境下,區(qū)域化處理是一種有效的方法。
損傷檢測區(qū)域化處理的關(guān)鍵在于對背景噪聲區(qū)域和損傷區(qū)域的識別。這個過程需要對二者進行特征提取和訓(xùn)練。常用的人工特征提取算法具有局限性,同一類對象表現(xiàn)形式的跨度越大,人工特征提取算法所得到的特征的代表性就越低。面對原始損傷圖像中千變?nèi)f化的背景噪聲,很難設(shè)計一套將損傷和背景噪聲顯著區(qū)分的特征提取算法。深度學(xué)習(xí)是集特征提取和訓(xùn)練于一體的多層人工神經(jīng)網(wǎng)絡(luò),按照節(jié)點間的連接關(guān)系和訓(xùn)練方式的不同,深度學(xué)習(xí)可分為深度信念網(wǎng)[3]、卷積神經(jīng)網(wǎng)絡(luò)[4],[5](Convolution Neural Network, CNN)、循環(huán)神經(jīng)網(wǎng)絡(luò)[6]等。CNN由Yann LeCun第一次提出并成功應(yīng)用在MNIST手寫數(shù)字識別任務(wù)中[5]。在眾多深度學(xué)習(xí)網(wǎng)絡(luò)結(jié)構(gòu)中,CNN憑借其獨特的卷積結(jié)構(gòu),對圖像類型的數(shù)據(jù)有更好的特征提取和描述,在圖像識別領(lǐng)域里具有天然優(yōu)勢,被廣泛應(yīng)用在各種復(fù)雜的實際問題中,如情感預(yù)測[7]、人體行為檢測[8]、人臉匹配[9]、車輛類型識別[10]、交通信號標(biāo)志識別[11]、醫(yī)學(xué)影像識別[12]、自然圖像層次分割[13]等。
本文以高功率激光驅(qū)動器為背景,設(shè)計了一種CNN結(jié)構(gòu),對原始損傷圖像進行區(qū)域識別和局部處理,實驗中的所有數(shù)據(jù)均由高功率激光驅(qū)動器中的科學(xué)CCD采集得到。本文的內(nèi)容安排如下:第二節(jié)介紹多層網(wǎng)絡(luò)結(jié)構(gòu)和CNN;第三節(jié)中介紹損傷檢測流程;第四節(jié)中介紹實驗數(shù)據(jù)、檢測效果及分析;第五節(jié)對整個在線損傷檢測系統(tǒng)進行總結(jié)。
2 多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)與卷積神經(jīng)網(wǎng)絡(luò)
深度學(xué)習(xí)結(jié)構(gòu)的基礎(chǔ)是多層神經(jīng)網(wǎng)絡(luò),如圖2所示。多層網(wǎng)絡(luò)結(jié)構(gòu)中含有輸入層、中間隱藏層、輸出層。相鄰的不同層之間的節(jié)點均有權(quán)值連接,這樣的結(jié)構(gòu)為全相連結(jié)構(gòu),每個中間節(jié)點輸出值為公式(1)所示。
其中ω為層與層之間的參數(shù)矩陣,每一行為隱藏層節(jié)點與上層連接參數(shù)向量,b為偏移參數(shù)向量,x為輸入行向量,f為激活函數(shù),常用的激活函數(shù)有階躍函數(shù)、sigmoid函數(shù)、雙曲正切函數(shù)等。
CNN是一種特殊結(jié)構(gòu)的深度學(xué)習(xí)網(wǎng)絡(luò),如圖3所示。在CNN中存在著卷積層(C)、減采樣層(S)、全相連層(F),且卷積層和減采樣層交替出現(xiàn)。在卷積層中,數(shù)據(jù)會經(jīng)過卷積核的卷積操作、對應(yīng)關(guān)系疊加、激活函數(shù)的處理,形成特征圖。在減采樣層中,圖像數(shù)據(jù)會根據(jù)減采樣算子進行減采樣操作。全相連層的網(wǎng)絡(luò)結(jié)構(gòu)同多層網(wǎng)絡(luò)結(jié)構(gòu)中的相鄰兩層。
在圖3的CNN結(jié)構(gòu)中,采用了SoftMax分類器,其激活函數(shù)為:
其中,θ為分類器輸出層與輸入層之間的參數(shù)向量,m是訓(xùn)練樣本總數(shù),i表示第i個訓(xùn)練樣本,k是分類數(shù)量,hθ是輸出分類概率向量,其值在0和1之間,總和為1,訓(xùn)練算法是代價函數(shù)對參數(shù)的梯度下降算法。
CNN的結(jié)構(gòu)具有如下的特點:
A)局部相連
CNN不同于全相連網(wǎng)絡(luò)結(jié)構(gòu),其卷積層節(jié)點與上層節(jié)點之間是局部相連的,如圖4所示。局部相連的區(qū)域被稱為感受野或卷積核,這種設(shè)計很大限度的減少了訓(xùn)練參數(shù)的數(shù)量。在圖像中,一個點與周圍點的信息相關(guān)性比遠(yuǎn)離點的相關(guān)性強,CNN更關(guān)注圖像的局部特征。B)參數(shù)共享
在CNN卷積層中包含多張?zhí)卣鲌D,每張?zhí)卣鲌D都是由訓(xùn)練參數(shù)組成的卷積核與上一層的圖像進行卷積操作得到的,并且這些參數(shù)在同一對應(yīng)關(guān)系中是共享的,如圖5所示,實線和虛線分別代表兩組不同參數(shù)所組成的卷積核,這是CNN相比全相連多層網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)大幅減少的另一個原因。假如上一層每張圖像的尺寸為M×M,卷積算子尺寸為N×N,則卷積層中特征圖的尺寸為:
特征圖的數(shù)量是設(shè)計者在網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計時決定的,并且一張?zhí)卣鲌D可以與上一層的一張圖像對應(yīng)(圖7所示情況),也可以與上一層多張圖像相對應(yīng)。但不管哪種方式,都應(yīng)保證在上下兩層之間,兩張圖像的對應(yīng)參數(shù)是共享的。
C)池化、減采樣
池化操作是對特征圖減采樣的過程,如圖6所示。池化的類型有最大值池化和平均值池化,最大值池化是在池化算子區(qū)域內(nèi)尋找最大值,平均值池化是在池化算子內(nèi)計算平均值。特征圖的池化不僅降低了節(jié)點數(shù)量,同時也很好地保留了圖像的局部特征,達(dá)到了特征降維的目的。
3 損傷檢測流程
損傷圖像處理的主要結(jié)構(gòu)和流程如圖7所示。主要包含:多尺度區(qū)域劃分、子圖像標(biāo)準(zhǔn)化、CNN識別、局部區(qū)域圖像處理、損傷圖像整合。接下來對每個單元的功能進行詳細(xì)介紹。
輸入圖像單元:輸入圖像為像素600×600的原始損傷圖像(原始損傷圖像為灰度圖像);
多尺度區(qū)域劃分單元:按照不同的尺度,將原始損傷圖像劃分為不同尺寸檢測區(qū)域,目的是降低損傷區(qū)域被拆分的概率,使損傷在檢測區(qū)域中保持完整。當(dāng)劃分的尺度標(biāo)準(zhǔn)越多時,損傷在子圖像中的完整性就越好,但所需的計算量就越大。實際應(yīng)用中,損傷尺寸在10-20像素之間,用35×35和50×50兩種尺度對原始損傷圖像進行劃分,損傷在所有不同尺度的識別區(qū)域中基本可以被完整覆蓋;
識別區(qū)域標(biāo)準(zhǔn)化單元:不同尺度劃分下,識別區(qū)域的尺寸是不一樣的。CNN的輸入維度是固定的,所以要把識別區(qū)域的尺寸規(guī)范到同一標(biāo)準(zhǔn)下。實際應(yīng)用中,在35×35尺度下,忽略最后5像素的長度和寬度,其余識別區(qū)域保持不變。在50×50的尺度下,利用尺度縮放算子,將所有識別區(qū)域縮放到35×35尺寸;
卷積神經(jīng)網(wǎng)絡(luò)單元:CNN完成對識別區(qū)域的分類功能,輸入是標(biāo)準(zhǔn)化的識別區(qū)域,輸出是對應(yīng)尺度的識別結(jié)果矩陣,矩陣中0代表背景區(qū)域,1代表損傷區(qū)域。實際應(yīng)用中,輸入是17×17和12×12的兩組標(biāo)準(zhǔn)化識別區(qū)域圖像,輸出是17×17和12×12的兩組識別結(jié)果矩陣;
局部區(qū)域處理單元:根據(jù)識別結(jié)果矩陣對原始損傷圖像進行局部處理。結(jié)果矩陣中0所對應(yīng)的區(qū)域為背景噪聲區(qū)域,將對應(yīng)區(qū)域的子圖像像素置0;結(jié)果矩陣中1所對應(yīng)的區(qū)域為損傷區(qū)域,將對應(yīng)區(qū)域的子圖像進行中值濾波、自適應(yīng)二值化處理,得到損傷區(qū)域的二值損傷圖;
多尺度損傷圖像整合單元:將每個尺度下的二值圖按原有對應(yīng)位置關(guān)系組合,得到不同尺度下的損傷圖像,損傷圖像個數(shù)和尺度劃分個數(shù)相等。在實際應(yīng)用中,將得到35×35和50×50兩種尺度所對應(yīng)的兩幅二值損傷圖像,損傷圖像的尺寸與原始損傷圖像的尺寸相同;
整合、輸出單元:對所有尺度下的損傷圖像進行“或”操作,整合成為最終輸出的損傷圖像。
4 數(shù)據(jù)和實驗
4.1數(shù)據(jù)制作
數(shù)據(jù)集是對分類器中的參數(shù)進行訓(xùn)練依據(jù),數(shù)據(jù)集的好壞直接關(guān)系到識別效果。目前,在損傷檢測領(lǐng)域里,尚未存在一個標(biāo)準(zhǔn)化的數(shù)據(jù)集,且本文中損傷檢測的應(yīng)用背景是高功率激光設(shè)備,訓(xùn)練所需的數(shù)據(jù)集也應(yīng)該由該設(shè)備采集的原始圖像制作而成。
為了制作更加標(biāo)準(zhǔn)的數(shù)據(jù)集,本文中調(diào)研了其他領(lǐng)域里的標(biāo)準(zhǔn)數(shù)據(jù)集,如MNIST[5](手寫數(shù)字?jǐn)?shù)據(jù)集)、NIST SD19[14](手寫字符數(shù)據(jù)集)、GTSRB[15](德國交通標(biāo)志數(shù)據(jù)集)、CIFAR 10[16](彩色自然圖像數(shù)據(jù)集)。這些數(shù)據(jù)集有如下特點:1、數(shù)據(jù)量巨大,每類圖像的樣本數(shù)量均超過5000個;2、數(shù)據(jù)集中設(shè)置了訓(xùn)練樣本集、測試樣本集來進行參數(shù)訓(xùn)練和模型測試,個別數(shù)據(jù)集中還設(shè)置了有效樣本集,其作用是在訓(xùn)練過程中通過在有效集上的測試,調(diào)整訓(xùn)練進度,在必要的時候提前中止訓(xùn)練,防止訓(xùn)練向差的方向發(fā)展。由于有效樣本集參與了訓(xùn)練過程,所以不再適合用作測試樣本集。
結(jié)合以上特點,本文所制作的數(shù)據(jù)集中包含損傷區(qū)域和背景噪聲區(qū)域兩類圖像,識別區(qū)域尺寸設(shè)定為35×35像素。在實際應(yīng)用中,共選定135個損傷區(qū)域,且均為明顯損傷區(qū)域。由于損傷區(qū)域的位置會隨機出現(xiàn)在識別區(qū)域內(nèi),所以在對損傷區(qū)域采樣時,將每個損傷區(qū)域分別置于識別區(qū)域九宮格中的9個位置,對每個損傷區(qū)域進行9次不同位置的采樣,共得到1215個損傷樣本。對背景噪聲的采樣應(yīng)用圖像切割的方式,將600×600的所有原始損傷圖像按35×35的尺寸進行分割,去除所有包含損傷區(qū)域的、不規(guī)則的樣本,剩下的樣本均作為背景噪聲樣本,共1364個。
Max Pooling\&維度變換\&全相連\&SoftMax\&]
受到原始數(shù)據(jù)數(shù)量的限制,得到的實際樣本數(shù)量較少,為了擴充數(shù)據(jù)集的樣本數(shù)量,獲得更好的識別效果,在原有樣本的基礎(chǔ)上,對其進行處理與擴展,生成大量的偽數(shù)據(jù),如圖8所示,前兩行為損傷區(qū)域樣本,后兩行為背景噪聲樣本。處理過程包括對原始樣本的以下操作:旋轉(zhuǎn)(3次順時針旋轉(zhuǎn))、鏡面(水平和豎直翻轉(zhuǎn))、對比度調(diào)整(增減10%)、亮度調(diào)整(增減10%)。最終得到的數(shù)據(jù)集中共有12150個損傷數(shù)據(jù)樣本和13640個背景噪聲樣本,并從中各抽取2000樣本組成測試樣本集和有效樣本集,其余組成訓(xùn)練樣本集。在各個樣本集中,損傷樣本和背景噪聲樣本是隨機出現(xiàn)的
4.2 CNN訓(xùn)練實驗
在測試CNN在光學(xué)元件損傷檢測中的表現(xiàn)效果時,設(shè)計了兩個實驗。
實驗1:設(shè)計了如表1所示的CNN結(jié)構(gòu),其中F1與S2之間僅是維度的變換,由S2中50個尺寸為5×5的特征圖變換成F1中節(jié)點數(shù)為1250的特征向量,卷積層所用的激活函數(shù)為雙曲正切函數(shù),全相連層所用的激活函數(shù)為sigmoid函數(shù)。用4.1中所制作的數(shù)據(jù)集進行訓(xùn)練和預(yù)測,在每次訓(xùn)練迭代完成時,用測試集對當(dāng)前模型進行預(yù)測,記錄錯誤率。
在CNN訓(xùn)練過程中采用批次訓(xùn)練的方式,每個批次含有500個樣本,訓(xùn)練樣本集分為24個批次,這樣的訓(xùn)練方式是整體訓(xùn)練和逐一訓(xùn)練的折中,相比逐一訓(xùn)練,能保證訓(xùn)練的結(jié)果是趨于全局的,相比整體訓(xùn)練,能縮短訓(xùn)練時間。在CNN訓(xùn)練過程中,每次迭代需要訓(xùn)練24個批次,當(dāng)所有訓(xùn)練樣本訓(xùn)練完畢后,一次迭代完成,并用測試集進行測試。得到的結(jié)果如圖9所示,經(jīng)過50次迭代,錯誤率最終穩(wěn)定在2.75%。
實驗2:將實驗1中訓(xùn)練好的CNN模型加入到損傷檢測系統(tǒng)中,以圖1所示的原始損傷圖像作為輸入,得到最終的損傷圖像,得到的損傷檢測結(jié)果如圖10所示。
從損傷圖像中可看出,圖1中所有明顯損傷均已正確識別并二值化處理。在四個非明顯損傷中,僅1號損傷體現(xiàn)在了最后的損傷圖像中,其余三個并未體現(xiàn)。查詢所有尺度下的識別結(jié)果矩陣可得到如下信息:
1)四個非明顯損傷中,1、2、3號所在區(qū)域均被正確識別為損傷區(qū)域,僅4號未被識別。2、3號之所以未在損傷圖像中體現(xiàn),是因為在損傷區(qū)域局部圖像處理過程中,由于灰度變化不明顯,自適應(yīng)二值化算法并不能將損傷和背景噪聲二值化區(qū)分,所以未被體現(xiàn);
2)在所有背景噪聲區(qū)域,有3個區(qū)域被誤判為損傷區(qū)域,但并未對損傷圖像造成視覺上的影響,其原因同1中所述。
5 結(jié)束語
在本文和相關(guān)的工作中,設(shè)計了一種區(qū)域識別、局部處理的損傷檢測處理方式,并在光學(xué)元件損傷檢測中成功規(guī)避了大規(guī)模噪聲,有較好的識別效果。在數(shù)據(jù)集制作過程中,利用圖像變換獲取大量偽數(shù)據(jù),擴充了數(shù)據(jù)集;設(shè)計了多尺度區(qū)域劃分,使損傷盡可能的包含在識別區(qū)域內(nèi);在區(qū)域識別結(jié)構(gòu)中以CNN作為分類器,設(shè)計CNN結(jié)構(gòu)和訓(xùn)練方式;依據(jù)分類結(jié)果完成多尺度下的損傷圖像和整體損傷圖像。在線損傷檢測系統(tǒng)在現(xiàn)有數(shù)據(jù)中達(dá)到了預(yù)期的效果。
但在個別環(huán)節(jié)中仍存在不足:1、CNN分類器對非明顯損傷的識別效果還有提升的空間,目前所用的訓(xùn)練集中的損傷樣本主要是明顯損傷樣本,非明顯損傷樣本數(shù)量較少,原因是非明顯損傷經(jīng)過對比度和亮度變換,損傷信息會遭到極大的破壞,使其拓展樣本成為臟數(shù)據(jù)。2、在局部處理中應(yīng)用的自適應(yīng)二值化算法仍具有參數(shù)局限性,不能滿足所有情況。
在今后的研究工作中,會對CNN的結(jié)構(gòu)、多任務(wù)的深度學(xué)習(xí)網(wǎng)絡(luò)進行研究,并在實際中應(yīng)用,提升分類單元對噪聲的魯棒性和非明顯損傷的識別效果。
參考文獻(xiàn):
[1] Barrett W A, Mortensen E N. Interactive live-wire boundary extraction[J]. Medical Image Analysis, 1997, 1(4):331-341.
[2] F?rber M, Ehrhardt J, Handels H. Live-wire-based segmentation using similarities between corresponding image structures.[J]. Computerized Medical Imaging & Graphics the Official Journal of the Computerized Medical Imaging Society, 2007, 31(7):549-60.
[3] Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks.[J]. Science, 2006, 313(5786):504-507.
[4] Lecun Y, Kavukcuoglu K, Farabet C. C.: Convolutional networks and applications in vision[C]// Circuits and Systems (ISCAS), Proceedings of 2010 IEEE International Symposium on. IEEE, 2010:253-256.
[5] Lécun Y, Bottou L, Bengio Y, et al. Gradient-based learning applied to document recognition[J]. Proceedings of the IEEE, 1998, 86(11):2278-2324.
[6] Hochreiter S, Schmidhuber J. Long short-term memory.[J].Neural Computation,1997, 9(8):1735-1780.
[7] Baveye Y, Dellandrea E, Chamaret C, et al. Deep learning vs. kernel methods: Performance for emotion prediction in videos[C]// ACII. 2015:77-83.
[8] Rajeswar M S, Sankar A R, Balasubramaniam V N, et al. Scaling Up the Training of Deep CNNs for Human Action Recognition[C]// Parallel and Distributed Processing Symposium Workshop. IEEE, 2015.
[9] Khalil-Hani M, Sung L S. A Convolutional Neural Network Approach for Face Verification[C]// International Conference on High PERFORMANCE Computing & Simulation. 2014:707-714.
[10] Dong Z, Pei M, He Y, et al. Vehicle Type Classification Using Unsupervised Convolutional Neural Network[J]. IEEE Transactions on Intelligent Transportation Systems, 2014, 16(4):1-10.
[11] Lau M M, Lim K H, Gopalai A A. Malaysia traffic sign recognition with convolutional neural network[J]. IEEE International Conference on Digital Signal Processing (DSP) 2015:1006-1010.
[12] Hatipoglu N, Bilgin G. Classification of histopathological images using convolutional neural network[J]. International Conference on Image Processing Theory, Tools and Applications (IPTA) 2014:1-6.
[13] Jun W, Chaolliang Z, Shirong L, et al. Outdoor scene labeling using deep convolutional neural networks[C]// Control Conference. IEEE, 2015.
[14] Grother P J, Grother P J. NIST Special Database 19 Handprinted Forms and Characters Database[J].Technical repot, National Institute of Standards and Technology(NIST) 1995.
[15] Akasaki K, Suenobu M, Mukaida M, et al. The German Traffic Sign Recognition Benchmark: A multi-class classification competition[C]// Neural Networks (IJCNN), The 2011 International Joint Conference on. IEEE, 2011:1453-1460.
[16] Krizhevsky A. Learning Multiple Layers of Features from Tiny Images,2012.