安徽理工大學(xué) 宗占強(qiáng)
由于目前煤礦井下鉆桿計(jì)數(shù)效率低下且極易出錯(cuò),因此本文提出一種基于AlexNet網(wǎng)絡(luò)煤礦井下鉆桿打鉆動(dòng)作識(shí)別的方法。本文對原AlexNet網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)和參數(shù)進(jìn)行修改、調(diào)整,并通過MATLAB進(jìn)行仿真實(shí)驗(yàn)對比,最終確定其最優(yōu)的拓?fù)浣Y(jié)構(gòu)和參數(shù)。通過實(shí)驗(yàn)發(fā)現(xiàn),神經(jīng)網(wǎng)絡(luò)深度為2層,卷積核個(gè)數(shù)為16,卷積核大小為5*5,步長為2,激活函數(shù)為Relu,學(xué)習(xí)率為0.001,最大學(xué)習(xí)整個(gè)數(shù)據(jù)集的次數(shù)為5,調(diào)整后的AlexNet網(wǎng)絡(luò)模型分類檢測平均準(zhǔn)確率可達(dá)99.37%。
本文提出一種基于AlexNet網(wǎng)絡(luò)的井下鉆桿打鉆動(dòng)作識(shí)別的方法。目前利用神經(jīng)網(wǎng)絡(luò),實(shí)現(xiàn)井下鉆桿計(jì)數(shù)的研究頗多。如黨偉超等提出基于利用三維卷積神經(jīng)網(wǎng)絡(luò)模型對探水作業(yè)中的卸桿動(dòng)作進(jìn)行識(shí)別和高瑞等提出基于改進(jìn)ResNet網(wǎng)絡(luò)的井下鉆桿計(jì)數(shù)方法,主要是通過訓(xùn)練后的神經(jīng)網(wǎng)絡(luò),對視頻中的每一幀圖像的動(dòng)作類型進(jìn)行識(shí)別,從而實(shí)現(xiàn)井下鉆桿的計(jì)數(shù)。與其相比,本文是對AlexNet網(wǎng)絡(luò)進(jìn)行改進(jìn),并且本文網(wǎng)絡(luò)準(zhǔn)確率更高,本文分類識(shí)別的平均準(zhǔn)確率為99.37%,而黨偉超等提出基于3DCNN網(wǎng)絡(luò)的煤礦探水動(dòng)作識(shí)別的最高準(zhǔn)確率為98.86%,高瑞等提出基于改進(jìn)ResNet網(wǎng)絡(luò)的井下鉆桿計(jì)數(shù)方法分類檢測準(zhǔn)確率為89%,鉆桿計(jì)數(shù)精度為97%。
近年來,神經(jīng)網(wǎng)絡(luò)得到飛速發(fā)展,并在圖像處理領(lǐng)域得到廣泛應(yīng)用。目前,較為經(jīng)典的神經(jīng)網(wǎng)絡(luò)模型有Lecun等在1998年提出的LeNet模型。Krizhevsky等在2012年提出的AlexNet模型。Simonyan等在2014年提出的VGG模型。Szegedy等在2015年提出的GoogleNet模型。與VGG模型、GoogleNet模型和ResNet模型相比AlexNet網(wǎng)絡(luò)模型網(wǎng)絡(luò)結(jié)構(gòu)簡單,計(jì)算參數(shù)較少,訓(xùn)練時(shí)間較短。因此,本文選取的是AlexNet網(wǎng)絡(luò)模型。
本文基于改進(jìn)AlexNet網(wǎng)絡(luò)的井下鉆桿打鉆動(dòng)作識(shí)別系統(tǒng)步驟如下:1)首先根據(jù)淮南礦業(yè)集團(tuán)提供的一段朱集東礦井下鉆機(jī)打鉆視頻,本文生成了大約20000多張圖像。隨后根據(jù)這些圖像的圖像特征,人為的分為鉆機(jī)打鉆動(dòng)作和工人裝鉆動(dòng)作如圖1所示。然后從中選取鉆機(jī)打鉆部分圖像和工人裝鉆部分圖像各9000幅作為數(shù)據(jù)集,其中訓(xùn)練集各為7500幅,測試集各為1500幅。2)接著將分類好的圖像交給神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,并保存訓(xùn)練好后的網(wǎng)絡(luò)。3)然后利用已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)來識(shí)別打鉆的動(dòng)作。
圖1 煤礦井下鉆桿打鉆動(dòng)作分類
AlexNet模型由輸入層、卷積層、歸一化層、池化層、激活函數(shù)、全連接層、分類層組成。前五層是卷積層和池化層,后三層是全連接的層,每個(gè)卷積層都包含激勵(lì)函數(shù)ReLU和局部響應(yīng)規(guī)范化(LRN)處理,需要進(jìn)行下采樣(池)處理。具體結(jié)構(gòu)組成見圖2所示。
圖2 AlexNet網(wǎng)絡(luò)結(jié)構(gòu)圖
卷積網(wǎng)絡(luò)的輸入一般情況下是一個(gè)矩陣,可以是原始或者預(yù)處理后的像素矩陣。本文的輸入是一個(gè)預(yù)處理后的32*32的像素矩陣。
卷積層由多個(gè)特征面組成,每個(gè)特征面上有多個(gè)神經(jīng)元。卷積層是通過卷積核和輸入圖像進(jìn)行卷積運(yùn)算,從而提取圖像的特征,每一個(gè)卷積核通過一次卷積運(yùn)算并通過一個(gè)激活函數(shù)后,可以得到一張?zhí)卣鲌D。本文神經(jīng)網(wǎng)絡(luò)卷積層中卷積核大小為5×5,卷積核個(gè)數(shù)為16,步長為2,經(jīng)過卷積運(yùn)算后,得到的特征圖大小為15×15,個(gè)數(shù)為16。
Ioffe等針對神經(jīng)網(wǎng)絡(luò)中數(shù)據(jù)分布不一致的問題提出一種正則化的方法——批量歸一化。批量歸一化的實(shí)質(zhì)是一種預(yù)處理操作,也就是對神經(jīng)網(wǎng)絡(luò)中上一層的特征輸出進(jìn)行歸一化處理,然后再作為下一層的輸入。歸一化層的作用是防止梯度爆炸和梯度消失,減少計(jì)算時(shí)間,提高準(zhǔn)確率。
池化層是將特征圖分成若干塊,將每一小塊中的最大值或者平均值提取出來,從而組合成一幅新的特征圖。對應(yīng)的方法為最大池化和平均池化。池化層的目的主要是減少神經(jīng)網(wǎng)絡(luò)的計(jì)算量,并且通過特征壓縮,提取主要特征。
其中,稱為下采樣層I的第j通道的凈激活,它由前一層輸出特征圖進(jìn)行下采樣加權(quán)、偏置后得到,β是下采樣層的權(quán)重系數(shù),是下采樣層的偏置項(xiàng)。
激活函數(shù)的作用主要是將輸出的特征圖進(jìn)行非線性映射,從而模擬更細(xì)微的變化。常見的激活函數(shù)有Relu函數(shù)、Sigmoid函數(shù)、Tanh函數(shù)、Softmax函數(shù)、Maxout函數(shù)等。本文采用的激活函數(shù)為Relu函數(shù)。該函數(shù)具有無梯度耗散的優(yōu)點(diǎn),并且計(jì)算量很小。其公式如式(4)所示:
全連接層一般處于神經(jīng)網(wǎng)絡(luò)的末端,它是將之前經(jīng)過多輪卷積池化后得到的二維特征圖,拼接成一維特征圖作為網(wǎng)絡(luò)的輸入。
其中,uI稱為全連接層I的凈激活,它由前一層輸出特征圖X I-1進(jìn)行加權(quán)和偏置后得到的。W I是全連接網(wǎng)絡(luò)的權(quán)重系數(shù),b I是全連接層I的偏置項(xiàng)。
本文是在AlexNet模型的基礎(chǔ)上,對AlexNet模型進(jìn)行改進(jìn)。而卷積核個(gè)數(shù)和神經(jīng)網(wǎng)絡(luò)深度對神經(jīng)網(wǎng)絡(luò)準(zhǔn)確率的影響較大。因此,為了確定卷積核個(gè)數(shù)和神經(jīng)網(wǎng)絡(luò)深度。本文對不同的卷積核個(gè)數(shù)和不同的神經(jīng)網(wǎng)絡(luò)深度,利用MATLAB進(jìn)行仿真實(shí)驗(yàn),對比它們的訓(xùn)練時(shí)間以及準(zhǔn)確率。
首先本文選用的圖像大小為32*32,卷積核大小為5*5,步長為2,激活函數(shù)為Relu,學(xué)習(xí)率為0.001,最大學(xué)習(xí)整個(gè)數(shù)據(jù)集的次數(shù)為5。訓(xùn)練集為7500張,測試集為1500張。
首先將網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)深度設(shè)計(jì)為一層,然后對卷積核個(gè)數(shù)分別為8、16、32、64進(jìn)行仿真實(shí)驗(yàn)。其準(zhǔn)確率和訓(xùn)練時(shí)間如表1所示。
表1 不同卷積核個(gè)數(shù)的準(zhǔn)確率及訓(xùn)練時(shí)間
由表1可知,隨著卷積核個(gè)數(shù)的增加,所需的訓(xùn)練時(shí)間也相應(yīng)的增加。當(dāng)卷積核個(gè)數(shù)為16時(shí),準(zhǔn)確率最高,并且訓(xùn)練時(shí)間相對較短。因此本文選取卷積核個(gè)數(shù)為16。
在確定池化層中卷積核個(gè)數(shù)為16的情況下,依次對神經(jīng)網(wǎng)絡(luò)為1、2、3、4層時(shí)進(jìn)行仿真實(shí)驗(yàn)。其準(zhǔn)確率和訓(xùn)練時(shí)間如表2所示。
由表2可知,隨著網(wǎng)絡(luò)深度的增加,其訓(xùn)練時(shí)間會(huì)大幅增加,而神經(jīng)網(wǎng)絡(luò)的深度對本文的準(zhǔn)確率影響相對較小,且當(dāng)神經(jīng)網(wǎng)絡(luò)深度為2層時(shí)準(zhǔn)確率最高,因此本文的神經(jīng)網(wǎng)絡(luò)深度最終確定為2層。
表2 不同神經(jīng)網(wǎng)絡(luò)深度的準(zhǔn)確率及訓(xùn)練時(shí)間
本文神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程如圖3所示。
圖3 神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程圖
從圖3可以看出,本文神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程準(zhǔn)確率基本穩(wěn)定在100%。因?yàn)榈螖?shù)比較大,中間偶爾會(huì)出現(xiàn)波動(dòng),但也基本穩(wěn)定在90%~100%。因此,本文的神經(jīng)網(wǎng)絡(luò)比較穩(wěn)定。
為了測試本文神經(jīng)網(wǎng)絡(luò)的有效性,本文從剩余的數(shù)據(jù)集中隨機(jī)地選取100張圖片進(jìn)行測試。圖4所示是部分測試結(jié)果。
圖4 神經(jīng)網(wǎng)絡(luò)識(shí)別結(jié)果圖
圖4中黑色字體表示鉆機(jī)實(shí)際的打鉆動(dòng)作,藍(lán)色字體表示本文神經(jīng)網(wǎng)絡(luò)判斷的打鉆動(dòng)作。從圖中我們可以看出,本文神經(jīng)網(wǎng)絡(luò)判斷的打鉆動(dòng)作和鉆機(jī)實(shí)際的打鉆動(dòng)作完全一致。因此,證明本文的神經(jīng)網(wǎng)絡(luò)確實(shí)有效。
隨后本文有對不同的神經(jīng)網(wǎng)絡(luò)模型進(jìn)行仿真實(shí)驗(yàn),其結(jié)果如表3所示。
表3 不同神經(jīng)網(wǎng)絡(luò)模型的準(zhǔn)確率
由表3可知Vgg16和ResNet因?yàn)榫W(wǎng)絡(luò)深度較深,產(chǎn)生了梯度爆炸,因此準(zhǔn)確率相對較低。而本文改進(jìn)后的AlexNet神經(jīng)網(wǎng)絡(luò)則避免了梯度爆炸,因此準(zhǔn)確率較高。
本文是在AlexNet模型的基礎(chǔ)上,對AlexNet模型進(jìn)行改進(jìn)。通過對不同的卷積核個(gè)數(shù)以及不同的神經(jīng)網(wǎng)絡(luò)深度利用MATLAB進(jìn)行仿真實(shí)驗(yàn),最終確定卷積核個(gè)數(shù)為16,神經(jīng)網(wǎng)絡(luò)深度為2層,最終的準(zhǔn)確率為99.37%。并且和其他人的模型相比,本文的準(zhǔn)確率更高、訓(xùn)練時(shí)間更短。