張寧寧,趙明冬,周 斌,馬金輝
(鄭州科技學(xué)院,河南 鄭州 460064)
由于在特殊場(chǎng)景中,人工抄表速度低下,同時(shí)會(huì)對(duì)工作人員的生命安全造成威脅,在此背景下,數(shù)字化、智能化、無人化數(shù)字儀表識(shí)別應(yīng)運(yùn)而生,并成為解決上述問題的重要手段。 為解決圖像預(yù)處理效果不理想[1]的問題,國(guó)內(nèi)外學(xué)者做了很多研究,吳響軍等[2-3]提出了最小二乘支持向量機(jī)參數(shù)優(yōu)化方案,后來又基于樹莓派平臺(tái)實(shí)現(xiàn)電子血壓計(jì)示值和水表識(shí)別,該平臺(tái)適用于電腦系統(tǒng),但不滿足于實(shí)際的識(shí)別需求。 為了提高圖像識(shí)別精確度,陳英等[4]又提出了Enhanced Faster R-CNN 網(wǎng)絡(luò),但該網(wǎng)絡(luò)僅適用于質(zhì)量較好的圖像,在特殊場(chǎng)景下仍然缺乏魯棒性;曲超然等[5]引入注意力機(jī)制改進(jìn)卷積循環(huán)神經(jīng)網(wǎng)絡(luò)算法,可實(shí)現(xiàn)簡(jiǎn)化運(yùn)算和優(yōu)化字符粘連的目標(biāo);吉訓(xùn)生等[6]和熊勛等[7]提出的卷積神經(jīng)網(wǎng)絡(luò)識(shí)別,對(duì)硬件資源的需求較高。 此外,王望等[8]針對(duì)雙半字符識(shí)別率較低的情況,選擇卷積神經(jīng)網(wǎng)絡(luò)提高雙半字符的識(shí)別率和魯棒性。
在卷積神經(jīng)網(wǎng)絡(luò)研究中,網(wǎng)絡(luò)的性能與復(fù)雜度有關(guān)。 特殊場(chǎng)景應(yīng)用下,過度復(fù)雜的網(wǎng)絡(luò)損失率波動(dòng)較大,硬件資源需求較高,會(huì)顯著降低網(wǎng)絡(luò)的魯棒性。為此,本文采用ReLU 激活函數(shù)和dropout 算法相結(jié)合,緩解網(wǎng)絡(luò)梯度消失現(xiàn)象;采用激活離群值去除和卷積Inception-SE 模塊,提升網(wǎng)絡(luò)訓(xùn)練速度;采用全局池化層,防止模型過度擬合。
傳統(tǒng)神經(jīng)網(wǎng)絡(luò)通過人工標(biāo)注提取特征,卷積神經(jīng)網(wǎng)絡(luò)則通過自身網(wǎng)絡(luò)來完成圖像特征的提取,能夠有效地精簡(jiǎn)工作量,提升網(wǎng)絡(luò)總體識(shí)別速率。 首先,將電表圖像做預(yù)處理操作,便于后續(xù)提取特征;然后,將所提取出的特征壓縮降維并分類;最后,輸出網(wǎng)絡(luò)的識(shí)別結(jié)果。
卷積神經(jīng)網(wǎng)絡(luò)原理如圖1 所示,該模型由輸入層、卷積層、池化層、全連接層以及輸出層組成。 輸入層將識(shí)別圖像進(jìn)行數(shù)據(jù)標(biāo)準(zhǔn)化、歸一化和中心化等預(yù)處理操作,有效加快神經(jīng)網(wǎng)絡(luò)收斂速度,縮短樣本訓(xùn)練時(shí)間。 卷積層由多種卷積核組成,可提取多種特征,但多種卷積核易導(dǎo)致信息冗余。 因此,選取合適的激活函數(shù),可增強(qiáng)提取特征和網(wǎng)絡(luò)非線性運(yùn)算。 池化層將卷積層提取的特征壓縮并降維,能夠有效降低網(wǎng)絡(luò)參數(shù)及樣本訓(xùn)練量,加速神經(jīng)網(wǎng)絡(luò)的運(yùn)算,防止模型過度擬合,優(yōu)化神經(jīng)網(wǎng)絡(luò)的穩(wěn)定性,用以適應(yīng)多種特殊應(yīng)用場(chǎng)景。 全連接層將特征非線性組合,降低特征位置在分類中的影響。 輸出層采用歸一化進(jìn)行特征分類,通過輸出多個(gè)識(shí)別概率值,最終將最大概率值所對(duì)應(yīng)的標(biāo)簽作為識(shí)別圖像結(jié)果。
圖1 卷積神經(jīng)網(wǎng)絡(luò)原理
1.2.1 激活離群值去除
激活離群值去除法采用較少的校準(zhǔn)信息,獲取合適的量化參數(shù),從而提升模型量化速度。 由于激活函數(shù)對(duì)輸入圖像產(chǎn)生不同的響應(yīng),可采用闕值去除法進(jìn)行動(dòng)態(tài)離群值去除操作[10]。 激活離群值去除流程如圖2 所示,定義離群值百分比參數(shù)α,計(jì)算離群值闕值γ。 激活離群值清除操作簡(jiǎn)單且耗時(shí)短,可視為圖像預(yù)處理。 激活離群值剔除具有橫跨不同網(wǎng)絡(luò)模型的普遍適應(yīng)性,有效提高量化后模型精度。
圖2 激活離群值去除流程
1.2.2 Inception-SE 模塊
卷積 Inception-SE 模塊采用2 個(gè)3×3 的卷積核代替5×5 的卷積核[12],該模塊內(nèi)各層任務(wù)簡(jiǎn)單且不相同,能夠有效降低網(wǎng)絡(luò)表征學(xué)習(xí)的復(fù)雜度。Inception 模塊可增強(qiáng)有效特征,抑制無效特征。 經(jīng)改進(jìn)后,網(wǎng)絡(luò)可并行執(zhí)行多個(gè)特征操作,形成較深的特征圖,加深網(wǎng)絡(luò)深度。 SE 模塊降低特征維度輸入,通過激活函數(shù)恢復(fù)到曾有維度,再通過全連接層,有效提高了卷積神經(jīng)網(wǎng)絡(luò)表達(dá)能力。
1.2.3 ReLU 激活函數(shù)
針對(duì)復(fù)雜的特征提取,采用合適的激活函數(shù)可有效提高網(wǎng)絡(luò)的運(yùn)算速度——ReLU 函數(shù)和Sigmoid 函數(shù)均為神經(jīng)網(wǎng)絡(luò)常采用的激活函數(shù)。 在接近飽和區(qū)時(shí),Sigmoid 函數(shù)變化緩慢且極易造成信息損失。ReLU 函數(shù)在某些神經(jīng)元之間的輸出結(jié)果為0,可有效避免梯度消失,縮短運(yùn)算周期,加快網(wǎng)絡(luò)收斂速度,緩解過擬合現(xiàn)象。
1.2.4 全局池化層
全連接層是LeNet-5 網(wǎng)絡(luò)中最大的網(wǎng)絡(luò)級(jí),由于全連接層需將卷積和池化操作后的特征進(jìn)行分類操作,故運(yùn)算時(shí)間最長(zhǎng)。 參數(shù)量影響全連接層的運(yùn)算時(shí)間,為了提升總體樣本訓(xùn)練速度而降低參數(shù)量,全連接層引入了全局池化層和softmax 損失函數(shù),將多個(gè)標(biāo)量映射為一個(gè)概率分布。
1.2.5 dropout 算法
神經(jīng)網(wǎng)絡(luò)由于受噪聲干擾和模型復(fù)雜度等其他因素影響,在特殊應(yīng)用場(chǎng)景應(yīng)用中泛化能力和魯棒性較差。 選用正則化和丟棄某些無用的特征,可改善過擬合現(xiàn)象。 普通的正則化僅降低參數(shù)的大小,無法降低參數(shù)量。 dropout 算法可以削弱神經(jīng)網(wǎng)絡(luò)之間的相互依賴性,從而實(shí)現(xiàn)高效的網(wǎng)絡(luò)模型訓(xùn)練[14]。 依據(jù)所設(shè)概率p 判斷神經(jīng)元能否被保留,丟棄部分神經(jīng)元獲得新的子網(wǎng)絡(luò)模型。 例如,卷積神經(jīng)網(wǎng)絡(luò)模型中存在a 個(gè)神經(jīng)元,將模型取樣可得2a個(gè)子網(wǎng)絡(luò),將不同子網(wǎng)絡(luò)進(jìn)行迭代訓(xùn)練,網(wǎng)絡(luò)最終趨于不同網(wǎng)絡(luò)模型的平均值。
1.2.6 訓(xùn)練模型
本文輸入分割步長(zhǎng)為1 的28×28 數(shù)字電表圖像,采用ReLu 激活函數(shù),削弱參數(shù)之間的相互依賴性,從而縮短訓(xùn)練的計(jì)算時(shí)間,提高模型的收斂速度。 算法訓(xùn)練模型如圖3 所示,經(jīng)過卷積層處理后,可獲得96 個(gè)28×28 圖像特征。 卷積Inception-SE 模塊中第三層和第五層構(gòu)造相同而卷積核的數(shù)目不等,第三層共有4 個(gè)分支,卷積核個(gè)數(shù)分別是160,64,16,24,第五層的卷積核個(gè)數(shù)分別是256,176,32,24。
圖3 改進(jìn)LeNet-5 網(wǎng)絡(luò)模型識(shí)別數(shù)字電表訓(xùn)練模型
本實(shí)驗(yàn)在Windows 10 系統(tǒng)Tensorflow 框架下搭建神經(jīng)網(wǎng)絡(luò)模型,處理器為i5-1235U,內(nèi)存為16 GB,顯卡為RTX2050。 通過將已積累的和ImageNet 數(shù)據(jù)庫中電表圖像進(jìn)行裁剪、旋轉(zhuǎn)、拉伸、縮放以及局部加厚等處理,豐富模型原始圖像數(shù)據(jù)庫。
設(shè)置0.1%的學(xué)習(xí)速率,調(diào)整采樣數(shù)據(jù)的迭代次數(shù)以改善早期卷積神經(jīng)網(wǎng)絡(luò)的不穩(wěn)定性。 通過實(shí)驗(yàn)驗(yàn)證,loss 值和網(wǎng)絡(luò)精度對(duì)比如表1 所示,改進(jìn)后網(wǎng)絡(luò)僅需600 次迭代訓(xùn)練即可收斂,相較于原始網(wǎng)絡(luò)的迭代訓(xùn)練減少300 次迭代訓(xùn)練。
Dropout 值影響網(wǎng)絡(luò)識(shí)別精度效果,Dropout rate過高或者過低極易造成識(shí)別效果不佳。 不同Dropout值的識(shí)別精度如圖4 所示,當(dāng)Dropout rate 為0.3%時(shí),改進(jìn)后網(wǎng)絡(luò)識(shí)別效果最優(yōu)。
圖4 不同Dropout 值的識(shí)別精度
設(shè)定0.1%的學(xué)習(xí)速率和300 的迭代次數(shù),在相同的特殊應(yīng)用場(chǎng)景下分別對(duì)原網(wǎng)絡(luò)和改進(jìn)后網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練和識(shí)別驗(yàn)證。 如圖5 所示,在訓(xùn)練樣本數(shù)為12 000 份時(shí),改進(jìn)后網(wǎng)絡(luò)每份樣本訓(xùn)練時(shí)間僅需0.09 s,相較于原網(wǎng)絡(luò)縮短0.05 s。 實(shí)驗(yàn)結(jié)果表明,改進(jìn)后網(wǎng)絡(luò)模型的綜合識(shí)別性能高于原網(wǎng)絡(luò)模型且能較快、精準(zhǔn)地收集數(shù)字電表數(shù)據(jù)。
圖5 算法訓(xùn)練時(shí)間對(duì)比
本文研究了卷積神經(jīng)網(wǎng)絡(luò)LeNet-5 在數(shù)字電表識(shí)別中的應(yīng)用及改進(jìn)方法,改進(jìn)后的模型豐富了提取特征、優(yōu)化了網(wǎng)絡(luò)結(jié)構(gòu),也緩解了過擬合現(xiàn)象。 研究結(jié)果表明,對(duì)原LeNet-5 網(wǎng)絡(luò)改進(jìn)有效,通過改進(jìn)后LeNet-5 網(wǎng)絡(luò)模型進(jìn)行測(cè)試實(shí)驗(yàn),在0.1%的學(xué)習(xí)率、600 次迭代次數(shù)以及Dropout rate 為0.3%時(shí),改進(jìn)后的網(wǎng)絡(luò)精度達(dá)到99.42%且Loss 值降低到0.11;在迭代次數(shù)為300 和訓(xùn)練樣本數(shù)為12 000 份時(shí),改進(jìn)后網(wǎng)絡(luò)算法訓(xùn)練時(shí)間僅耗時(shí)0.09 s。 本次研究不僅可快速、準(zhǔn)確地獲取數(shù)字電表數(shù)據(jù),而且針對(duì)網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn),提出了可采用硬件采集系統(tǒng)提升網(wǎng)絡(luò)的識(shí)別精度,具體有待下步深入研究。