亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        中文圖片驗證碼識別方法的研究

        2018-08-28 02:46:20航,蔡
        關(guān)鍵詞:字符卷積閾值

        楊 航,蔡 浩

        (汕頭大學(xué)工學(xué)院,廣東 汕頭 515063)

        0 前言

        驗證碼測試是一種為了區(qū)分人類和機(jī)器的測試.一般是人類可以測試通過,但是機(jī)器不能測試通過的,這樣就達(dá)到了圖靈測試的目的.因而,驗證碼測試被廣泛應(yīng)用于網(wǎng)絡(luò)安全中,例如:賬號注冊,賬號登陸等.最開始提到有關(guān)“機(jī)器圖靈測試”的問題出現(xiàn)在Moni Naor[1]的一篇論文中.而第一個自動圖靈測試系統(tǒng)是由Altavista[2]開發(fā)的,是為了阻止機(jī)器人自動識別注冊網(wǎng)頁.而最近兩年基于人工智能的分類算法是學(xué)術(shù)上研究的熱點,在這種前提和背景下,本文研究了基于OCR的中文驗證碼識別方法、模板匹配法、基于卷積神經(jīng)網(wǎng)絡(luò)的分類算法以及相關(guān)改進(jìn)方法在中文驗證碼識別上的表現(xiàn),來探究這幾種方法在識別精度,樣本需求量,識別時長上的表現(xiàn),并著重對基于卷積神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行了改進(jìn),最后對三者的適用性做了簡單的總結(jié).

        1 研究目的簡述

        目前利用已有中文字符OCR對中文字符的識別成功率不到10%(從文獻(xiàn)[3]中可以知道),文章新加了兩種方法對中文圖片驗證碼進(jìn)行了識別研究.對比研究這三種驗證碼識別技術(shù),結(jié)合驗證碼的特點,進(jìn)而探究這類驗證碼中存在的安全隱患,從而構(gòu)建更加安全的防護(hù)機(jī)制.只有深入了解機(jī)器識別驗證碼的機(jī)制,我們才能組合出更不利于機(jī)器識別的驗證模式,從而使驗證碼這種機(jī)制更加安全.

        2 研究方法

        字符型驗證碼的識別可分為基于分割的識別和不基于分割的識別.不基于分割的方法有,尹龍等[4]用到一種基于密集尺度不變特征變換(DENSE SIFT)和隨機(jī)抽樣一致性算法(RANSAC)的識別方法,該方法的普適性較好,但算法設(shè)計較為復(fù)雜.基于分割的方法,一般分割之后再用機(jī)器學(xué)習(xí)的方法進(jìn)行分類,殷光等[5]采用基于SVM分類器的識別方法,王璐[6]采用了分割后基于卷積神經(jīng)網(wǎng)絡(luò)的方法,張亮等[7]采用了LSTM型RNN的方法,都取得了不錯的識別效果.當(dāng)然這些方法都是針對阿拉伯?dāng)?shù)字和英文字母,和中文比較起來,中文具有字型更復(fù)雜,符號數(shù)量更多的特點.目前還沒有文獻(xiàn)介紹用卷積神經(jīng)網(wǎng)絡(luò)識別中文字符驗證碼的.本文提出了基于點矩陣的模板匹配法和基于卷積神經(jīng)網(wǎng)絡(luò)的識別方法對該問題進(jìn)行實驗研究.基于點矩陣的模板匹配法是比較尋找所要識別圖片與事先建好字庫中圖片相似度最大的圖片,這里的相似度可以采用點矩陣重合率和點矩陣余弦相似度,最后判定相似度最大的字符值為所要識別字符的值.基于卷積神經(jīng)網(wǎng)絡(luò)的方法則采用了現(xiàn)在在圖像分類問題上處理比較常用的方法,先進(jìn)行人工標(biāo)記樣本圖片,然后將圖片分為訓(xùn)練集和測試集,再建立神經(jīng)網(wǎng)絡(luò)模型,讓模型在訓(xùn)練集上訓(xùn)練,不斷調(diào)整模型參數(shù),最后讓訓(xùn)練好的模型在測試集上測試得到模型表現(xiàn)結(jié)果.本文選用一類代表性比較強的中文驗證碼作為實驗對象,驗證碼中字符有平移,旋轉(zhuǎn),并且有大量的噪點和干擾線.本文是基于先分割再識別的思路去研究中文驗證碼識別問題的,選用了基于OCR的識別方法和基于卷積神經(jīng)網(wǎng)絡(luò)的識別方法,以及基于點矩陣的模板匹配法,并對所研究方法進(jìn)行改進(jìn)和實驗對比.

        3 實例分析

        3.1 圖片預(yù)處理

        下面介紹的是實驗的具體操作步驟,首先介紹兩種方法的公共部分,即圖片的預(yù)處理部分,分為圖片的灰度化,圖片的二值化,圖片去噪,圖片切塊,圖片的人工分類標(biāo)記.

        樣本選用的是某個具有一定代表性的公開網(wǎng)站,我們提前下載好一批驗證碼圖片,這里的樣本圖片如圖1所示.

        圖1 原始未處理圖

        可以看出圖片中的漢字的位置變化很大,噪點和干擾線較多,字符之間存在不同程度的粘連.

        3.1.1 灰度化與二值化

        灰度化是去掉圖片中與字符無關(guān)的色彩信息,簡化計算,更有利于識別圖片中的字符.這是適用于字符類驗證碼識別的預(yù)處理.具體可采用平均值法或者參考文獻(xiàn)[8]中的自適應(yīng)算法.為了之后的問題處理方便,要把圖像二值化成黑白圖像,即去掉中間的灰度.在處理像素點時,用0表示白色像素,用1表示黑色像素.二值化圖像的方法有很多,有固定閾值二值化法和自適應(yīng)閾值二值化法.自適應(yīng)閾值二值化需要統(tǒng)計整幅圖像像素特征,自動計算出閾值,然后根據(jù)該閾值進(jìn)行二值化.確定好閾值后,二者的后續(xù)操作是一樣的.如果用threshold表示閾值,則偽代碼如下(其中color表示當(dāng)前像素點的像素值):

        3.1.2 去噪

        一般采用中值濾波或均值濾波的方法去除圖像中的噪音,本文圖片分類對去噪能力依賴性不大,故采用相鄰點數(shù)的閾值去噪方法,具體步驟:設(shè)定閾值,統(tǒng)計相鄰點為黑色的數(shù)值,如果統(tǒng)計的黑色點個數(shù)小于閾值,則判定該點為噪點,去除該點,否則保留.算法的偽代碼如下(其中threshold為設(shè)定的閾值,number表示統(tǒng)計相鄰點為黑色的數(shù)值):

        3.1.3 切塊

        這里為了獲得更好的切塊效果也可以用文獻(xiàn)[9]中提出的基于結(jié)構(gòu)特征點的字符切割方法,切割準(zhǔn)確度要比投影分析方法、連通域提取方法、傳統(tǒng)滴水方法、骨架形態(tài)分析方法等要好.

        3.1.4 分類貼標(biāo)簽及預(yù)處理效果

        經(jīng)過以上幾個步驟操作之后,最后的效果圖如圖2,可以看到獲得的預(yù)處理效果還是相當(dāng)不錯的,雖然字體有些歪斜,噪聲也并不是完全清楚干凈,但是肉眼可以明顯辨認(rèn)出圖2中字符所代表的中文字,這就有了后續(xù)識別的基礎(chǔ).

        圖2 預(yù)處理后效果圖

        3.2 識別方法

        3.2.1 相似度模板匹配方法

        3.2.1.1 人工建立模板庫 對每個字符隨機(jī)挑選出50-100張切割好的圖片作為特定字符的模板庫,每個模板庫中模板的數(shù)量保持一致.原因有兩點,一個是為了程序編寫方便,一個是為了匹配時不會產(chǎn)生計算偏倚,即不會偏重匹配成功某個模板較多的字符.

        3.2.1.2 圖片模板庫轉(zhuǎn)文本模板庫壓縮存儲 可以利用將圖片信息轉(zhuǎn)化為文本信息來完成壓縮存儲,這樣就可以減少計算機(jī)打開圖片解碼圖片等步驟,而且可以減小模板庫的存儲空間,使用起來更便利.

        3.2.1.3 效果展示 最后統(tǒng)計圖片中總的點數(shù),統(tǒng)計重合點數(shù),則最后的相似率計算可以用重合點數(shù)比上總過的點數(shù),pic對應(yīng)的識別標(biāo)簽值.最后的效果展示圖如圖3所示.

        圖3 識別效果展示圖

        3.2.1.4 其他注意事項及技巧 可以看到圖1原始未處理圖中,字符是有旋轉(zhuǎn)的,有粘連,并且有噪點和干擾線,對于特定的一類驗證碼我們需要人為的建立一類對應(yīng)的模板庫,這樣的識別才會更精準(zhǔn).可以看到初始圖片集中,是有成語類的驗證碼的,而計算類驗證碼字符是只有十三個的,所以如果能區(qū)分成語類和計算類,然后再進(jìn)行識別的話,所需要的模板字符就變少了.因為計算類的圖片中,會出現(xiàn)“等于”字樣,我們可以建立一個“于”字庫,用于對比切割之后原始圖片中的最后一個字符來確定當(dāng)前驗證碼的類別,這個技巧可以發(fā)散,對于特定一類驗證碼,利用其本身的特點來驗證可以事半功倍.如果一類驗證碼中沒有明顯區(qū)分這種類別時,則需要建立更多字符的模板庫.

        3.2.1.5 模板匹配法優(yōu)缺點 簡單總結(jié)一下,模板匹配法操作簡單,容易實現(xiàn),所需樣本少,但是其識別精度還不夠高,當(dāng)識別字符較多時,需要建立更多字符的模板庫,匹配計算量會變得很大,識別時間會很長.

        3.2.2 基于卷積神經(jīng)網(wǎng)絡(luò)的識別

        原始的模型參考LeNet-5[10]的結(jié)構(gòu)搭建卷積神經(jīng)網(wǎng)絡(luò),本文采用的網(wǎng)絡(luò)結(jié)構(gòu)一共有6層,第一層和第三層是卷積層,卷積核均為5×5的,第二層和第四層是池化層,但是第二層步長設(shè)置為2,而第四層設(shè)置的是1,第五層和第六層為全連接層,連接數(shù)為512,輸入和輸出在模型的兩端,輸入為25×25的圖片,顏色通道數(shù)為3,最后的輸出為13類中的一類,模型示意圖如圖4所示:

        圖4 卷積網(wǎng)絡(luò)模型示意圖

        3.2.3 基于卷積神經(jīng)網(wǎng)絡(luò)識別方法的改進(jìn)

        改進(jìn)1:加入圖片增強技術(shù).文獻(xiàn)[11]中進(jìn)行圖片編碼處理時,對圖像進(jìn)行了大小調(diào)整、裁剪、翻轉(zhuǎn)等處理,這樣訓(xùn)練出的神經(jīng)網(wǎng)絡(luò)模型實用性更好.類似的,我們可以將這種思想運用到中文驗證碼識別問題中.對于該問題驗證碼獲取成本較高,并且網(wǎng)站經(jīng)常禁止訪問,所以不可能獲得太大數(shù)量的原始樣本.為了獲得更多有效的樣本,對切割好的圖片,可以采用人工制造噪點干擾線,圖片適當(dāng)旋轉(zhuǎn)平移等方式,來增強圖片的表示,并獲得更多有效的樣本.

        改進(jìn) 2:模型改進(jìn).在模型中引入 ReLU激活層[12]、Dropout層[13]以及 Batch Normalization層[14].ReLU激活層是一個非線性的激活層,可以更好的模擬神經(jīng)網(wǎng)絡(luò)的作用,實踐證明其表現(xiàn)是優(yōu)于Sigmoid線性激活層的.在池化層的后面添加Dropout層來防止過擬合,其主要工作原理是按照一定的概率將神經(jīng)網(wǎng)絡(luò)單元從網(wǎng)絡(luò)中丟棄.文獻(xiàn)[14]對Dropout層的作用有詳細(xì)的解釋.引入Batch Normalization的目的是,讓訓(xùn)練的過程更快,精準(zhǔn)度更高.基本原理是在每次SGD時,通過mini-batch來對相應(yīng)的activation做規(guī)范操作,使得輸出信號各個維度的均值為0,方差為1.最后使用了scale and shift操作,保證了模型的容納能力.

        改進(jìn)3:用模板匹配法粗分字符集.我們可以先建立極小數(shù)量的字符模板庫,然后利用建好的模板庫,對未處理的收集樣本進(jìn)行切割粗分,減少人工操作,當(dāng)然最后需要人工檢查是否分割正確,這樣可以大大降低人工干預(yù)和工作量.

        4 結(jié)果分析

        4.1 實驗平臺及數(shù)據(jù)量描述

        4.1.1 硬件描述

        處理器:Intel(R)Core(TM)i7-6700HQ CPU@2.60GHZ 2.60GHZ

        內(nèi)存(RAM):8.00GB

        系統(tǒng)類型:64位操作系統(tǒng)(WIN10),基于x64的處理器

        4.1.2 軟件描述

        編程語言為python(3.5.2版),安裝包主要有numpy(1.13.3版),Pillow(4.2.1版),Keras(2.0.8版),tensorflow(1.4.0版),pyocr(0.4.7版).算法的實現(xiàn)主要是基于google的tensorflow深度學(xué)習(xí)開源框架.

        4.1.3 實驗數(shù)據(jù)量描述

        實驗分類字符為13類,3種方法的數(shù)據(jù)量是不同的,這主要受限于當(dāng)前方法本身,中文模板匹配法總的圖片數(shù)據(jù)1 300張,每一類100張;未改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)方法總的數(shù)據(jù)量為26 000張,每一類2 000張;改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)方法總的數(shù)據(jù)量為3 900張,每一類300張.3種方法最后測試的數(shù)據(jù)圖片量為1 000張.

        4.2 3種方法結(jié)果對比

        我們設(shè)定幾個指標(biāo)來比較衡量這些方法.設(shè)定指標(biāo)如下:

        識別精度:即識別正確率(在測試集上的).

        樣本需求量:方法對樣本數(shù)量多少的依賴.

        識別時長:識別程序開發(fā)好后,識別一張圖片所用時間.

        這些方法的指標(biāo)對比見表1.

        表1 3種方法對比結(jié)果

        經(jīng)過實踐證明,基于OCR的方法對于此類中文驗證碼的識別基本無效.通過表1可以看出,從開發(fā)周期和樣本需求量上看,相較于模板匹配法,基于卷積神經(jīng)網(wǎng)絡(luò)的方法需要更多的樣本和時間去開發(fā).但是識別效果提升明顯,尤其是改進(jìn)之后的卷積神經(jīng)網(wǎng)絡(luò)方法,不僅樣本需求量更小,識別精度也有很大提高,優(yōu)于文獻(xiàn)[3-7]中的實驗結(jié)果.從普適性上分析,改進(jìn)后的卷積神經(jīng)網(wǎng)絡(luò)方法更適用于圖像分類問題.

        5 研究結(jié)論

        經(jīng)過上面的實驗,可以得出如下結(jié)論:

        模板匹配法簡單可行,開發(fā)周期短,所需樣本數(shù)量非常少,但正確率較低,字符較多時,比較的計算時間會很長.相對的,基于卷積神經(jīng)網(wǎng)絡(luò)的方法則需要更多的樣本和開發(fā)訓(xùn)練時間,以及模型調(diào)整時間,但是模型的準(zhǔn)確性很高,而且識別所需時間更短,速度很快.二者各有所長,模板匹配簡單易行,而卷積神經(jīng)網(wǎng)絡(luò)分類準(zhǔn)確率高.經(jīng)過改進(jìn)之后的卷積神經(jīng)網(wǎng)絡(luò)方法則表現(xiàn)出了更好的普適性和更優(yōu)越的性能.

        中文圖片驗證碼問題的研究能給防止機(jī)器識別的研究啟示,例如可以研究如何改變驗證碼生成策略和驗證策略來提高驗證碼的安全性.再一個衍生的研究課題是,如何利用現(xiàn)有的卷積神經(jīng)網(wǎng)絡(luò),以及深度學(xué)習(xí)網(wǎng)絡(luò)來提升OCR中文識別技術(shù).

        6 小結(jié)

        通過實驗對比研究了文中提到的幾種方法在中文驗證碼識別上的表現(xiàn),并進(jìn)行相應(yīng)的改進(jìn)與提升.最后改進(jìn)的卷積神經(jīng)網(wǎng)絡(luò)獲得了99.8%的識別精度,并且對樣本的依賴性降低,模型更適用于中文字符的識別.現(xiàn)實生活中我們經(jīng)常會遇到類似的圖像分類問題,而且很多時候無法在短時間里得到一個很好的模型,我們可以先從簡單的模型出發(fā),后期再對模型進(jìn)行調(diào)整和優(yōu)化.對于圖片分類問題,卷積神經(jīng)網(wǎng)絡(luò)表現(xiàn)出的優(yōu)越性很明顯,并且相當(dāng)適用,是處理這類問題一個不錯的選擇.

        猜你喜歡
        字符卷積閾值
        尋找更強的字符映射管理器
        基于3D-Winograd的快速卷積算法設(shè)計及FPGA實現(xiàn)
        字符代表幾
        一種USB接口字符液晶控制器設(shè)計
        電子制作(2019年19期)2019-11-23 08:41:50
        小波閾值去噪在深小孔鉆削聲發(fā)射信號處理中的應(yīng)用
        從濾波器理解卷積
        電子制作(2019年11期)2019-07-04 00:34:38
        基于自適應(yīng)閾值和連通域的隧道裂縫提取
        消失的殖民村莊和神秘字符
        基于傅里葉域卷積表示的目標(biāo)跟蹤算法
        比值遙感蝕變信息提取及閾值確定(插圖)
        河北遙感(2017年2期)2017-08-07 14:49:00
        邻居少妇张开腿让我爽视频| 丰满少妇被猛男猛烈进入久久 | 亚洲午夜精品国产一区二区三区| 在线国产激情视频观看| 亚洲香蕉成人av网站在线观看| 欧洲熟妇色xxxx欧美老妇多毛网站| 中文字幕第一页亚洲观看| 最好的99精品色视频大全在线| 亚洲gay片在线gv网站| 亚洲精品无码专区在线| 99精品国产一区二区| 中文字幕在线免费 | 日本成人中文字幕亚洲一区| 人人超碰人人爱超碰国产| 国产在线视频一区二区三区| 亚洲国产日韩在线人成蜜芽| av在线播放一区二区免费| 国产精品免费无遮挡无码永久视频| 久久精品无码免费不卡| 亚洲Av无码专区尤物| 男女视频网站在线观看| 亚洲男同gay在线观看| 狠狠色狠狠色综合久久第一次| 亚洲妇女av一区二区| 蜜桃视频国产一区二区| 日韩成人无码| 日本免费一区二区三区在线看| 亚洲综合小综合中文字幕| 真实的国产乱xxxx在线| 欧美国产成人精品一区二区三区| 东京热加勒比日韩精品| av手机在线观看不卡| 熟女少妇av免费观看| 亚洲美女主播一区二区| 国产毛片黄片一区二区三区| 国产69精品久久久久999小说| 91精品国产91| 伊人久久亚洲精品中文字幕| 高h纯肉无码视频在线观看| 在线观看国产高清免费不卡黄| 日韩色久悠悠婷婷综合|