• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于空間變換密集卷積網(wǎng)絡的圖片敏感文字識別①

      2020-01-15 06:44:56林金朝蔡元奇張焱杰
      計算機系統(tǒng)應用 2020年1期
      關(guān)鍵詞:卷積文字神經(jīng)網(wǎng)絡

      林金朝,蔡元奇,龐 宇,楊 鵬,張焱杰

      1(重慶郵電大學 光電工程學院,重慶 400065)

      2(重慶郵電大學 通信與信息工程學院,重慶 400065)

      1 引言

      隨著互聯(lián)網(wǎng)的快速發(fā)展,信息傳播日趨復雜多樣化,大量的包括政治反動、暴力、色情、違禁小廣告等類型的敏感信息也在肆意傳播.存在部分個人和團體利用互聯(lián)網(wǎng)上合法的圖片嵌入文字信息等方式散播敏感內(nèi)容信息,嚴重影響了互聯(lián)網(wǎng)健康環(huán)境.因此,對圖片敏感文字的有效識別是保障互聯(lián)網(wǎng)健康發(fā)展的迫切和合理的必要手段.嵌入到圖片的文字通常為印刷體,常常為了混淆信息而帶有大量干擾字符,而且中文字符結(jié)構(gòu)復雜,包括偏旁、部首和字根,這給準確區(qū)分形近字增加了識別難度.場景文字識別(Scene Text Recognition,STR)指識別自然場景圖片中的文字信息,而自然場景中的嘈雜背景、光照不均、字體變化、文字排布不規(guī)律等問題都會影響識別效果.針對技術(shù)發(fā)展過程可以分為單一文字識別[1,2]和基于文本行的識別兩個方面[3–6].文獻[1]利用字符筆畫特征和HOG算子來提取文字塊的特征,隨后采用隨機森林模型對文字進行分類處理從而達到文字識別的目的.文獻[4]采用深度卷積神經(jīng)網(wǎng)絡算法來對圖像信息進行處理,在復雜場景情況下提升了對文字識別的效果.文獻[5]采用了一種基于深度學習的圖片敏感文字檢測算法,其重點在于BP神經(jīng)網(wǎng)絡算法和深信度算法在算法上的理論研究與優(yōu)化,并沒有考慮工程復雜程度和系統(tǒng)可實現(xiàn)的問題.文獻[6]在深入研究和利用深度學習相關(guān)算法的基礎上采用了基于FPJA與CPU的異構(gòu)架構(gòu)對含有敏感文字圖片進行檢測與識別,其方案中特征提取部分采用的是VGG-16網(wǎng)絡,隨著網(wǎng)絡規(guī)模和深度的提升,產(chǎn)生過擬合并難以實現(xiàn)收斂.本文將密集神經(jīng)網(wǎng)絡與空間變換網(wǎng)絡結(jié)合,能比較準確地識別復雜的背景、被扭曲、3D凹凸、藝術(shù)化、傾斜等復雜中文文本.DenseNet網(wǎng)絡在底端接收圖像輸入,經(jīng)過多層的神經(jīng)網(wǎng)絡進行特征提取與抽象,對得到豐富的卷積特征信息進行仿射變換,矯正過的圖像信息然后被送入序列識別網(wǎng)絡,對網(wǎng)絡進行訓練時,使用CTC[7]損失概率模型以實現(xiàn)網(wǎng)絡識別優(yōu)化.

      2 相關(guān)工作

      2.1 DenseNet網(wǎng)絡

      卷積神經(jīng)網(wǎng)絡深度的提升往往伴隨著網(wǎng)絡性能的提升,隨著網(wǎng)絡在廣度和深度的擴展延伸,導致訓練參數(shù)出現(xiàn)梯度消失、模型過擬合的現(xiàn)象發(fā)生,為了解決這一問題就提出了密集連接的卷積網(wǎng)絡(DenseNet)[8].DenseNet是在Hightway Networks[9]和Residual Networks[10]以及GoogLeNet[11,12]的基礎上產(chǎn)生的.區(qū)別于傳統(tǒng)方法上單純地拓寬或加深特征提取網(wǎng)絡,DenseNet通過對特征信息的交叉復用,最大限度發(fā)揮網(wǎng)絡的潛能,生成易于訓練和參數(shù)高效化的精簡模型,可以達到更好的效果.它的主要特點是前后層直接相連接并傳導信息,獲取信息的輸入層集合了前面所有層輸出的信息,而該層將學習到的特征信息作為輸入傳入到下面所有層級,這樣就有效地提高了特征信息的利用率,避免梯度消失和過擬合的問題.

      一個DenseNet由多個Dense Block模塊和過渡層Transition layers組成,如圖1所示.一個Dense Block模塊中的每一層的輸入集合了前面所有層輸出的信息,過渡層Transition layers通過卷積和池化操作來改變特征圖的大小.Dense Block可以從前面層級創(chuàng)造更短、更直接的特征并傳遞到后面的層級,在傳遞過程中不斷改進信息和梯度流.DenseBlock模塊使得它具有緩解梯度消失、加強特征傳遞、提高特征利用率和減少參數(shù)數(shù)量等優(yōu)點[8].H4層不僅直接用原始信息x0作為輸入,同時還使用H1、H2、H3層對x0處理后的信息作為輸入;用一個如下的式子描述DenseNet中每一層的變換:

      式中,Hl代表第l層的合成函數(shù),常對應Batch Normalization (BN)[13]、ReLu和Convolution三個連續(xù)運算操作;xl是第L層的輸出.

      圖1 生長速率為k = 4的5層Dense Block模塊

      2.2 STN網(wǎng)絡

      2015年由Jaderberg等人[14]提出空間變換網(wǎng)絡(Spatial Transformer Network,STN),該網(wǎng)絡可以對輸入的圖像信息在不改變其尺寸的情況進行旋轉(zhuǎn)、平移縮放、對齊等變換操作,能有效地提高系統(tǒng)對特征信息的旋轉(zhuǎn)不變性和尺寸不變性.空間變換網(wǎng)絡的基本結(jié)構(gòu)包括定位網(wǎng)絡(Localisation Net);采樣網(wǎng)格(Samples Grid);可微圖像采樣(Differentiable Image Sampling)三部分.

      定位網(wǎng)絡將輸入特征圖I∈RC,H,W,通過卷積網(wǎng)絡后輸入到回歸層,生成空間變換系數(shù)θ,使用定位網(wǎng)絡floc來預測2D仿射變換矩陣Aθn.

      采樣網(wǎng)絡根據(jù)定位網(wǎng)絡生成的變換系數(shù)θ構(gòu)建一個采樣網(wǎng)格Gin,Gin=(xin,yin),Tθ為二維空間的變換函數(shù),輸出特征圖V上的坐標(xin,yin)通過Tθ映射到輸入特征圖I上的坐標(uin,vin),對應關(guān)系為:

      可微圖像采樣根據(jù)上面的處理結(jié)果,完成對輸出特征圖上每個坐標點的采樣轉(zhuǎn)換工作,并且采用雙線性插值的方式來表示:

      其中,Ihwn是輸入特征圖I在通道n處(h,w)位置的坐標,是輸出的特征圖Vin在n通道(xin,yin)位置處的坐標,n代表特征圖的通道數(shù),H、W分別代表輸入特征圖的高度和寬度.通過上述的3部分組成的空間變換網(wǎng)絡可以獨立地插入到神經(jīng)網(wǎng)絡中,并可以在網(wǎng)絡中不斷訓練來修正參數(shù)完成對特征信息的仿射變換.

      2.3 BGRU網(wǎng)絡

      Hochreiter等[15]出了一種循環(huán)神經(jīng)網(wǎng)絡最常見的變形——長短時記憶模型 LSTM.循環(huán)神經(jīng)網(wǎng)絡會以不受控制的方式在每個單位步長內(nèi)重寫自己的記憶,而LSTM有專門的學習機制能夠在保持先前狀態(tài)的情況下,記憶當前時刻數(shù)據(jù)所輸入的特征.LSTM神經(jīng)網(wǎng)絡包含有3個門函數(shù):輸入門、輸出門和遺忘門.

      LSTM的改進版本GRU[16]只包含兩個門函數(shù):更新門和重置門.更新門zt表示過去時刻的狀態(tài)記憶信息保存到當前時刻的程度,更新門zt的值越大,過去時刻的狀態(tài)記憶信息保存到當前時刻的信息就越多.GRU的重置門rt表示當前時刻忽略過去時刻的狀態(tài)信息的程度,重置門越小說明當前時刻保存信息越少,對過去時刻忽略的信息就越多.對GRU而言,由于GRU參數(shù)更少,不容易發(fā)生過擬合,收斂速度更快,因此其實際消耗時間要少很多,這就大大加速了算法的迭代過程[16].GRU神經(jīng)網(wǎng)絡的傳播公式如下所示:

      其中,xt表示當前時刻的輸入;ht表示上一時刻的輸出;Wz、Wr、Wh表示對應的權(quán)重矩陣;zt、rt分別表示更新門和重置門;*表示矩陣元素相乘.本文使用深度雙向GRU神經(jīng)網(wǎng)絡模型如圖2所示,網(wǎng)絡包含左右兩個序列方向上下兩層的GRU網(wǎng)絡.其中每層的GRU包含的隱含節(jié)點數(shù)目為256個,文本特征序列x={x1,x2,…,xt}在該層進行正向和反向處理后輸出中間序列m={m1,m2,…,mt}.將中間序列作為第二層的輸入進行正向和反向后輸出向量y={y1,y2,…,yt},y包含了序列每一幀的預測概率值.

      圖2 雙向GRU網(wǎng)絡

      3 本文模型結(jié)構(gòu)

      自然場景圖片背景復雜,漢字種類繁多結(jié)構(gòu)復雜,一方面使得簡單的卷積網(wǎng)絡(AlexNet[17]網(wǎng)絡和VGG[18]網(wǎng)絡)難以完全提取圖像的底層特征細節(jié),另一方面隨著網(wǎng)絡復雜性的提高又導致網(wǎng)絡出現(xiàn)過擬合、參數(shù)繁多、難收斂等現(xiàn)象.DenseNet網(wǎng)絡結(jié)構(gòu)先提取圖像底層特征,并通過空間變換網(wǎng)絡對中文字符在大小、寬高比、角度、傾斜等方面進行2D仿射變換,從而提高文字的識別率.循環(huán)神經(jīng)網(wǎng)絡層BGRU對輸入的特征序列x進行標記預測,輸出序列y包含上下文信息可以得到距離較寬的文字進行更加精確的預測信息.對于包括含有模糊不清的并含有其它特殊文字,特征序列包含的上下文信息也有更好的優(yōu)化處理效果.CTC層計算輸入序列y={y1,y2,…,yt}對應的(漢字、英文字母、數(shù)字和標點共5990個字符)種標簽元素序列的概率分布,映射函數(shù)通過去除空格和去重操作后輸出可能的序列ι,統(tǒng)計并計算每個標簽序列的條件概率p(ι/y),求出標簽序列ι.CTC輸出的序列標簽ι參照概率字典上的文字,就可得到圖片上的文字信息.將得到的文本送入到敏感語義分類器當中進行分類.

      在模型訓練的過程中,首先對圖片進行歸一化到相同尺寸且標簽的長度保持一致,本模型統(tǒng)一尺寸設置為280×32,標簽長度設置為20.通過一個卷積核為7×7,卷積步長為2的卷積層和卷積核為3×3,卷積步長為2的最大池化層.DenseNet包含了3個DenseNet Block模塊,每個模塊包含了16個dense layer層,生成率(growth rate,即加進每層的卷積核數(shù)設置)為12.實驗中使用的過渡層包括批歸一化層、Relu層和1×1的卷積層,然后是2×2的池化層,同時去掉DenseNet的全連接層直接連接到STN網(wǎng)絡上.實驗中將Transition Layer3作為子卷積網(wǎng)絡,后面接入一個線性回歸層和Relu,作為定位網(wǎng)絡.根據(jù)定位網(wǎng)絡回歸得到的變換系數(shù)θ進行仿射變換,采樣網(wǎng)格的生成和輸出圖片的采樣,完成對圖片的矯正工作,在此過程中特征圖的尺度保持不變.

      4 實驗

      4.1 實驗數(shù)據(jù)集

      實驗數(shù)據(jù)集CTW (Chinese Text in the Wild)包含32 285張圖像,總共有1018 402個中文字符,并包含平面文本、凸起文本、城市文本、農(nóng)村文本、亮度文本、遠處文本、遮擋文本,數(shù)據(jù)集大小為31 GB.以(8:1:1)的比例將數(shù)據(jù)集分為訓練集(25 887張圖像,812 872個漢字),測試集(3269張圖像,103 519個漢字),驗證集(3129張圖像,103 519個漢字).Caffe-OCR中文合成數(shù)據(jù)集是人工生成的自然場景文本數(shù)據(jù)集,利用中文語料庫,通過字體、大小、灰度、模糊、透視、拉伸等變化隨機生成,共360萬張圖片,圖3是部分人工合成圖片的示例.將該數(shù)據(jù)作為敏感文字圖片訓練集,同時圖像分辨率為280×32.

      鑒于含有敏感文字圖片的特殊性,在互聯(lián)網(wǎng)網(wǎng)絡平臺只收集到360張含有敏感信息文字的圖片,同時制作2000含有少量字符的敏感文字圖片作為敏感圖片測試數(shù)據(jù)集.數(shù)據(jù)利用中文語料庫(新聞和常見用語),通過字體、大小、灰度、模糊、透視、拉伸等變化隨機生成.包含漢字、英文字母、數(shù)字和標點共5990個字符,每個樣本固定20個以下字符,字符隨機截取包含敏感詞匯和非敏感詞匯的句子.圖4(a)為未標注的圖片,圖4(b)、圖4(c)標注圖片.

      圖3 人工合成的圖片

      圖4 含有敏感字符的圖片

      4.2 實驗設置

      實驗基于Pytorch和Keras框架,所有實驗的訓練和測試是在計算機配置為內(nèi)存為16 GB,顯卡GPU為GTX TITAN X的服務器上進行的.

      本模型的輸入尺寸為設置為280×32,采用隨機梯度下降法(SGD)進行訓練.動量和權(quán)重衰減分別被設置為0.9和2.5×10–4,首先對數(shù)據(jù)集CTW進行處理歸一化處理,學習率初始值為10–4,學習率每隔10 K次迭代變?yōu)樵瓉淼?.5倍.然后在Caffe-ORC中文合成數(shù)據(jù)集進行訓練,采用的是ADADELTA梯度下降優(yōu)化算法,該算法是對Adagrad的擴展,方案對學習率進行自適應約束,但是進行了計算上的簡化.Adagrad會累加之前所有的梯度平方,而Adadelta只累加固定大小的項,并且也不直接存儲這些項,僅僅是近似計算對應的平均值.初始學習率設置為0.01.在模型微調(diào)的階段,沒有設置特定的終止迭代次數(shù),保證對每一個模型結(jié)構(gòu)進行充分訓練,直到各個模型最終收斂為止.隨后,我們使用一個10–4的權(quán)重衰減,并使用高斯分布來初始化權(quán)重.在數(shù)據(jù)集里,我們在每一個卷積層(除了第一個)后加上一個Dropout層,并設隨機丟棄率(dropout rate)為0.2.測試誤差僅對一項任務進行一次評估.為了驗證本文模型的有效性,在敏感圖片測試數(shù)據(jù)集上設置了兩種類型的對比:(1)VGG、ResNet、DenseNet之間常用典型的卷積神經(jīng)網(wǎng)絡的對比.(2)循環(huán)神經(jīng)網(wǎng)絡兩個變種GRU與LSTM的對比.具體包括以下的端到端文本識別模型實驗:“DenseNet+CTC”、“DenseNet+STN+BGRU+CTC”、“DenseNet+BGRU+CTC”、“ResNet+CTC”、“+ResNet+BGRU+ CTC”、“VGG+CTC”、“VGG+BGRU+CTC”、“DenseNet+STN+LSTM+CTC”.

      實驗設置采用了控制變量法的準則,包括對數(shù)據(jù)集的訓練和測試,盡可能地控制其他因素對實驗的影響,這些影響因素可能包括:優(yōu)化方法、機器配置、學習率和迭代次數(shù)等.本文采用的識別算法評價標準為編輯距離(Edit Distance)、單詞識別準確率(Words Recognition Accuracy).編輯距離[19]指的是任意兩組字符串st1和st2,由其中一組字符串轉(zhuǎn)化為別一組字符串所需最少的編輯次數(shù).通常編輯距離越大,也就說明兩組字符串相似度越低,編輯距離越小,則說明相似度越高.編輯距離相似度表示為:

      單詞識別準確率指的是正確識別序列的總數(shù)與標簽序列總數(shù)的比值.識別準確率表示為:

      4.3 實驗結(jié)果與分析

      4個卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)的模型在數(shù)據(jù)試集CTW上的文字識別準確率隨迭代次數(shù)變化的曲線圖如圖5所示,實驗設置每訓練迭代5 k周期測試一次.通過實驗曲線圖中實驗數(shù)據(jù)對比,本文設置的模型網(wǎng)絡(DenseNet+STN+BGRU+CTC)測試準確率要高于沒有STN結(jié)構(gòu)的網(wǎng)絡,隨著測試次數(shù)的提升,含有STN結(jié)構(gòu)的網(wǎng)絡收斂最快,最終的準確率為0.87,比沒有STN結(jié)構(gòu)的網(wǎng)絡更加穩(wěn)定,識別準確率更高.

      4個典型卷積神經(jīng)網(wǎng)絡結(jié)構(gòu)的模型在數(shù)據(jù)集CTW上的編輯距離相似度隨迭代次數(shù)變化的曲線圖如圖6所示,設置每迭代5 k次測試一次,開始訓練時模型編輯距離相似度就迅速攀升,并且很快達到平穩(wěn)狀態(tài),曲線更加的平滑,相比之下,無STN的結(jié)構(gòu)的曲線在測試次數(shù)為2–13的階段波動更大,但也慢慢趨于穩(wěn)定.

      圖5 模型識別準確率變化曲線

      圖6 模型編輯距離相似度變化曲線

      在DenseNet的輸入特征圖的數(shù)量并有效提高該網(wǎng)絡的計算效率,就引入一維卷積層到DenseNet網(wǎng)絡中,即BN-ReLU-Conv1×1-BN-ReLU-Conv3×3版本的合成函數(shù)Hl,也就是DenseNet-B,一維的卷積層能有效的減少實驗中的輸入特征.在實驗后續(xù)設置中,為了進一步提高模型的緊湊性,可以減小Transition layers層的特征映射數(shù)量.當Dense Block模塊包含了m個特征圖時,可以讓Transition layers層生成不超過θm的最大整數(shù)個特征圖,其中0<θ≤1稱為壓縮因子.當θ=1時,轉(zhuǎn)換過程中的特征圖的數(shù)量保持不變.我們稱DenseNet當θ<1時為DenseNet-C,我們在實驗中設定θ=0.5.當同時使用了瓶頸層(Bottleneck layers)和壓縮(Compression)的方法稱為DenseNet-BC[8].本文DenseNet網(wǎng)絡設置為DenseNet-BC.

      通過分析表1使用的經(jīng)典卷積網(wǎng)絡與改進的DenseNet-STN網(wǎng)絡以及GRU和LSTM的循環(huán)網(wǎng)絡層對比.相較于VGG和ResNet,具有一維卷積和壓縮結(jié)構(gòu)的DenseNet-BC結(jié)構(gòu)具有更好的識別效果,模型整體的文字識別準確率也就更高,同時這表明在相同深度和寬度的神經(jīng)網(wǎng)絡框架下DenseNet可提高對特征信息的變現(xiàn)力.

      在實驗的過程中,發(fā)現(xiàn)含有DenseNet特征網(wǎng)絡的模型出現(xiàn)過擬合或者優(yōu)化難等問題概率小于含有VGG網(wǎng)絡和ResNet網(wǎng)絡,對參數(shù)的利用也更高效,相同的數(shù)據(jù)集上,可以得到更好的識別效果.與此同時可以發(fā)現(xiàn),基于GRU和LSTM網(wǎng)絡的模型并沒有在識別率上有直觀的提升效果,但是對比表1的對應實驗模型的大小來看,我們可以發(fā)現(xiàn),前者比后者有更小的內(nèi)存容量,由此說明在模型訓練的過程占有更少的顯存空間.

      表1 模型在敏感圖片數(shù)據(jù)測試集的識別統(tǒng)計結(jié)果

      表2總結(jié)了各種模型組合在模型大小與運行時間方面的實驗結(jié)果.通過分析可以發(fā)現(xiàn),使用不同的特征提取層使網(wǎng)絡模型在模型大小與平均識別時間上有著比較大的差距.本文提出的DenseNet-STN特征提取網(wǎng)絡結(jié)構(gòu)在敏感圖片測試集上的平均識別時間為26.3 ms每張圖,大致相當于1 s處理38張圖片,符合實際應用之中對敏感信息圖片處理的要求.通過比較發(fā)現(xiàn),DenseNet-STN網(wǎng)絡結(jié)構(gòu)處理圖片用時最多,其主要原因把時間用在特征提取和空間變換階段.DenseNet雖然具有較好的加強特征傳遞和提高特征利用率等優(yōu)點,但DenseNet Block內(nèi)部聯(lián)系緊密導致特征提取階段相對VGG網(wǎng)絡和ResNet網(wǎng)絡的模型更加耗時,占用更多的GPU顯存,而本實驗中實驗機器顯卡內(nèi)存只有16 GB基本夠用.在實際應用環(huán)境下對硬件平臺有了更高的要求,同時本模型對圖片相對處理速度也符合要求.

      表2 模型在敏感圖片數(shù)據(jù)測試集上的大小與時間效率的統(tǒng)計結(jié)果

      5 結(jié)束語

      本文提出了一種網(wǎng)絡敏感文字圖片識別的新方法,DenseNet-STN對復雜背景下的敏感文字圖片進行特征信息提取和變換矯正,相比于前人研究的VGG網(wǎng)絡和ResNet網(wǎng)絡,實驗表明本文模型能準確地識別被扭曲、3D凹凸、藝術(shù)化、傾斜等復雜短文本,模型的識別準確率、編輯距離相似度有著良好表現(xiàn).與此同時,本文提出的方法在效率和算法還有很大的提高,在缺乏足夠樣本下對文字圖片進行分析理解仍舊是個難題.

      猜你喜歡
      卷積文字神經(jīng)網(wǎng)絡
      基于3D-Winograd的快速卷積算法設計及FPGA實現(xiàn)
      文字的前世今生
      熱愛與堅持
      當我在文字中投宿
      文苑(2020年12期)2020-04-13 00:55:10
      神經(jīng)網(wǎng)絡抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      從濾波器理解卷積
      電子制作(2019年11期)2019-07-04 00:34:38
      基于傅里葉域卷積表示的目標跟蹤算法
      基于神經(jīng)網(wǎng)絡的拉矯機控制模型建立
      重型機械(2016年1期)2016-03-01 03:42:04
      復數(shù)神經(jīng)網(wǎng)絡在基于WiFi的室內(nèi)LBS應用
      基于支持向量機回歸和RBF神經(jīng)網(wǎng)絡的PID整定
      敦化市| 南康市| 美姑县| 保靖县| 柘荣县| 黄陵县| 宜兴市| 湾仔区| 政和县| 汽车| 澄江县| 肥城市| 太仓市| 吉林省| 蒲江县| 牙克石市| 雅江县| 且末县| 丰都县| 麦盖提县| 台北县| 伊金霍洛旗| 屏边| 九龙县| 揭东县| 双牌县| 眉山市| 曲松县| 康定县| 宜昌市| 蒙阴县| 来凤县| 甘洛县| 时尚| 古浪县| 海南省| 荥经县| 临漳县| 闻喜县| 龙胜| 嘉峪关市|