999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2018-08-28 02:46:20航,蔡
汕頭大學學報(自然科學版) 2018年3期
關鍵詞:方法

楊 航,蔡 浩

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

0 前言

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

1 研究目的簡述

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

2 研究方法

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

3 實例分析

3.1 圖片預處理

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

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

圖1 原始未處理圖

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

3.1.1 灰度化與二值化

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

3.1.2 去噪

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

3.1.3 切塊

這里為了獲得更好的切塊效果也可以用文獻[9]中提出的基于結構特征點的字符切割方法,切割準確度要比投影分析方法、連通域提取方法、傳統滴水方法、骨架形態分析方法等要好.

3.1.4 分類貼標簽及預處理效果

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

圖2 預處理后效果圖

3.2 識別方法

3.2.1 相似度模板匹配方法

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

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

3.2.1.3 效果展示 最后統計圖片中總的點數,統計重合點數,則最后的相似率計算可以用重合點數比上總過的點數,pic對應的識別標簽值.最后的效果展示圖如圖3所示.

圖3 識別效果展示圖

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

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

3.2.2 基于卷積神經網絡的識別

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

圖4 卷積網絡模型示意圖

3.2.3 基于卷積神經網絡識別方法的改進

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

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

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

4 結果分析

4.1 實驗平臺及數據量描述

4.1.1 硬件描述

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

內存(RAM):8.00GB

系統類型:64位操作系統(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版).算法的實現主要是基于google的tensorflow深度學習開源框架.

4.1.3 實驗數據量描述

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

4.2 3種方法結果對比

我們設定幾個指標來比較衡量這些方法.設定指標如下:

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

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

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

這些方法的指標對比見表1.

表1 3種方法對比結果

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

5 研究結論

經過上面的實驗,可以得出如下結論:

模板匹配法簡單可行,開發周期短,所需樣本數量非常少,但正確率較低,字符較多時,比較的計算時間會很長.相對的,基于卷積神經網絡的方法則需要更多的樣本和開發訓練時間,以及模型調整時間,但是模型的準確性很高,而且識別所需時間更短,速度很快.二者各有所長,模板匹配簡單易行,而卷積神經網絡分類準確率高.經過改進之后的卷積神經網絡方法則表現出了更好的普適性和更優越的性能.

中文圖片驗證碼問題的研究能給防止機器識別的研究啟示,例如可以研究如何改變驗證碼生成策略和驗證策略來提高驗證碼的安全性.再一個衍生的研究課題是,如何利用現有的卷積神經網絡,以及深度學習網絡來提升OCR中文識別技術.

6 小結

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

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 精品一区二区三区水蜜桃| 国产亚洲精久久久久久久91| 99re免费视频| 欧美色图第一页| 欧美亚洲一区二区三区在线| 精品国产欧美精品v| 午夜日b视频| 久久免费观看视频| 色欲综合久久中文字幕网| 国产免费久久精品44| 日本www在线视频| 亚洲精品无码人妻无码| 国产精品密蕾丝视频| 日本欧美精品| 99ri精品视频在线观看播放| 国产极品美女在线| 亚洲精品制服丝袜二区| 亚洲第一极品精品无码| 国产成人精品亚洲日本对白优播| 91视频区| 国产综合另类小说色区色噜噜| 亚洲中字无码AV电影在线观看| 美美女高清毛片视频免费观看| 久久青草精品一区二区三区| 日本欧美成人免费| 日韩AV无码一区| 91亚洲视频下载| 2021国产v亚洲v天堂无码| 国产在线精彩视频二区| 亚洲精品午夜无码电影网| 欧美五月婷婷| 自慰网址在线观看| 91极品美女高潮叫床在线观看| 在线观看视频一区二区| 国产日本视频91| 啪啪啪亚洲无码| 美女裸体18禁网站| 久久大香香蕉国产免费网站| a毛片免费看| a级毛片在线免费| 99色亚洲国产精品11p| 亚洲日本中文字幕天堂网| 精品伊人久久久大香线蕉欧美 | 亚洲日本中文字幕乱码中文| 亚洲国产中文欧美在线人成大黄瓜| 久久九九热视频| 青青久久91| 欧美中文一区| 欧美日本在线观看| 999精品免费视频| 亚洲欧美一区二区三区图片| 日韩区欧美国产区在线观看| 婷婷激情亚洲| 精品视频一区在线观看| 19国产精品麻豆免费观看| 国产色偷丝袜婷婷无码麻豆制服| 9啪在线视频| av天堂最新版在线| 亚洲中文字幕在线观看| 伊人色在线视频| 国产精品yjizz视频网一二区| 欧美精品二区| 精品久久人人爽人人玩人人妻| 欧美成人综合在线| 四虎亚洲国产成人久久精品| 青青青亚洲精品国产| 久久精品一品道久久精品| 亚洲性影院| 69视频国产| 2021最新国产精品网站| 小说 亚洲 无码 精品| 丁香五月激情图片| 91香蕉视频下载网站| 亚洲国产欧美国产综合久久| 欧美一级黄片一区2区| 日本高清免费不卡视频| a毛片在线免费观看| 亚洲精品麻豆| 日本人又色又爽的视频| 亚洲精品人成网线在线| 国产第四页| 欧美中文一区|