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

基于卷積循環神經網絡的不定長驗證碼識別

2021-10-16 16:30:00黎秋宇
現代信息科技 2021年7期

摘要:驗證碼是目前大部分網站用來防止批量注冊、刷票等惡意操作的圖靈測試手段。為了幫助開發者設計出更縝密的安全策略,將生成的5 000張混合英數的不定長驗證碼作為訓練集,基于PyTorch學習框架,使用卷積循環神經網絡來訓練模型,CTC算法對標簽進行對齊,實現對不定長驗證碼的識別。實驗表明,最終該模型對不定長驗證碼的識別準確率達到了99.2%。

關鍵詞:驗證碼識別;卷積神經網絡;循環神經網絡;卷積循環神經網絡

中圖分類號:TP391.41? ? ? 文獻標識碼:A 文章編號:2096-4706(2021)07-0133-03

Undefined Length CAPTCHA Recognition Based on Convolutional

Recurrent Neural Network

LI Qiuyu

(College of Computer and Cyber Security,Fujian Normal University,Fuzhou? 350117,China)

Abstract:CAPTCHA is a Turing test method used by most websites to prevent batch registration,ticket brushing and other malicious operations. In order to help developers design more rigorous security strategies,this paper uses generated 5 000 pieces of mixed English and number undefined length CAPTCHAs as the training set,based on PyTorch learning framework,uses convolutional recurrent neural network to train the model,and the CTC algorithm aligns the labels to realize the recognition of undefined length CAPTCHAs. Experiments show that the recognition accuracy of the model for undefined length CAPTCHAs reaches 99.2%.

Keywords:CAPTCHA recognition;convolutional neural network;recurrent neural network;convolutional recurrent neural network

收稿日期:2021-03-13

0? 引? 言

隨著互聯網的蓬勃發展,網絡安全逐漸進入公眾視野,用來區分人類和機器的驗證碼的重要性也漸漸凸顯。與普通的字符不同的是,驗證碼中的字符都會被進行一定的干擾處理,例如通過旋轉、縮放、重疊、加入干擾符、改變顏色等處理,使得驗證碼不能通過傳統的制作字庫識別的方法或者使用ORC進行識別。驗證碼已經演化出多個種類并且還在不斷增加,除了傳統的驗證碼外,目前使用量較多的還有滑塊、旋轉驗證碼等等。由于驗證碼應用的普及,目前也出現了對其相關的研究,以幫助開發者設計出更縝密的安全策略,除此之外,驗證碼識別的研究將使用到包括深度學習、圖像處理在內的多種技術,具有重要的研究意義。

近年來,有許多研究學者提出了不同的自動化識別的解決辦法。殷光等[1]使用了SVM分類進行了定長驗證碼的識別。王曉鵬將BP神經網絡與遺傳算法結合進行了識別[2]。但傳統的設計分類器的方法有明顯的缺陷,需要手動進行特征提取,且過程較為煩瑣。目前使用較為廣泛是使用卷積神經網絡(CNN)進行驗證碼的分類以實現識別,雖然對某些類型的驗證碼有較高的識別率,但在處理不定長驗證碼、字符重疊、多干擾的驗證碼類型時,單一的使用CNN識別效果則不夠理想。

由于不定長驗證碼特點是標簽長度不一,所以不能使用傳統的分割后識別的處理方法,基于此,本文將使用結合了CNN與循環神經網絡(RNN)的卷積循環神經網絡(CRNN)[3],并通過CTC算法對不定長的標簽進行對齊,從而很好地適配了驗證碼不定長的特點。

1? 深度神經網絡概述

1.1? CNN

CNN由許多層疊加組成,其中包括:

(1)輸入層。將數據進行特殊處理并傳入神經網絡。

(2)卷積層。通過卷積核來提取特征,并且卷積核的屬性可以根據實際情況的需要來人為的調整,使得該層能夠更容易的提取到更多的特征。

(3)池化層。該層可以減少網絡的計算負荷,并且同時能夠將需要的特征保留。

(4)全連接層。在全連接層前進行了多個卷積層和池化層的堆疊進行特征提取,而后通常使用全連接層將數據展開成一維并完成分類操作。

(5)Softmax層。可以通過將結果顯示成概率以展示分類結果。

CNN的經典網絡結構有LeNet、VGGNet、ResNet[4]等。從早期的LeNet開始,研究學者發現不斷增加網絡結構的深度,就可以使得模型得到更多更高級的特征,從而提高分類的準確率。之后,有學者發現持續的增加網絡結構的深度會出現梯度消失或者爆炸的問題,導致訓練結果難以收斂,于是便有學者提出了殘差網絡來解決此的問題,ResNet便是其中一個深度殘差網絡模型,該網絡是基于VGG網絡改進得到的。

1.2? RNN

常見的RNN有長短期記憶網絡和Bi-RNN等,例如LSTM(Long Short-Term Memory,LSTM)[5]網絡,該網絡可以用于解決序列的問題,并且具有記憶性,可以將上個時刻所學習到的內容有選擇性地傳輸至下一時刻,在此過程中該網絡需要使用到輸入門:控制當前時刻需要輸入的信息的數量;遺忘門:控制了上個時刻需要包括保留信息的數量;輸出門:控制需要傳遞至下一部分的信息數量。通過三個門進行信息數據的篩選,LSTM模型結構如圖1所示。

1.3? CRNN

CRNN則是CNN與RNN的組合,它一般包含了三層,分別為卷積層:用來提取特征;RNN層:使用的是LSTM網絡,同樣進行特征提取;翻譯層:此層可以將RNN提取出的特征進行轉換為結果。CRNN絡結合了兩個網絡的優勢,非常適合應用在不定長文本的識別中,它不僅可以進行特征提取還可以生成一系列的序列化標簽。此網絡在識別不定長驗證碼中有明顯的優勢,CRNN可以不需要切割驗證碼,將驗證碼識別的文本問題轉化成了對圖像的序列識別問題。

2? 模型訓練

2.1? 網絡結構

本文使用CRNN進行模型的訓練。用于圖像分類的CNN模型有許多種,使用過大的網絡對于用來訓練的GPU要求更高,且由于本文傳入的圖片大小不足原始的224×224,所以若不改動ResNet18網絡來使用經過多層的學習后會使得圖像特征過小,所以本文使用的是改造過的ResNet18網絡來提取特征,然后使用LSTM網絡進行序列特征提取,其中LSTM使用的是雙向LSTM,再使用全連接層進行分類,最后通過CTC算法對不定長的標簽進行對齊。考慮到該驗證碼的大小、訓練機器的GPU性能,以及ResNet18的網絡結構,本文對ResNet18網絡進行了一定的修改,選取了其前四層的網絡結構,并修改了輸入的圖片的大小。

改造后的ResNet18網絡結構如表1所示,輸入為80× 176×3的圖像,卷積層使用4層架構,第一層使用大小為7×7,步長為2的卷積核。其余層均使用了大小為3×3,步長為2的卷積核,其中,第二層進行了池化操作,最后輸出為圖像數據為5×11×256。

2.2? 標簽處理

將訓練集的標簽進行分割制作碼表,使得每個字符與其所在碼表位置的下標形成映射關系,本文準備的驗證碼標簽有0~9,A~Z,一共36個不同字符,按照字典順序將其分別編碼為0~35。因輸入到網絡的標簽需要有相同的長度,故將標簽長度設置為最大標簽長度,在本文準備的驗證碼樣本中,標簽的最大長度為5個字符,而其余長度不足5的標簽本文使用“_”進行補充,并將“_”加入碼表,編碼為36。

2.3? 圖像預處理

在將圖片輸入網絡前,需要對訓練集圖像進行統一的處理,以幫助網絡能夠更好地提取特征。本文首先對圖片進行了灰度化處理,然后進行圖片縮放,再進行歸一化處理,歸一化處理的參數需要提前對圖片進行計算得出,除此之外,還有許多其他的圖片處理方式,可以根據圖片的具體情況、特點等自由選擇,例如二值化、濾波、模糊等處理,不同的處理方式可能會對模型的特征提取有不同的影響,需要開發者根據經驗以及多次嘗試才能測試出最優處理方案。同理,在測試過程中使用的測試集圖像也需要做相同的圖像處理操作,才可保證預測結果的準確度。

2.4? 訓練

訓練流程如圖2所示。訓練前加載網絡并將其推至GPU上,使用DataLoader函數來進行訓練集的讀取,在讀取訓練集時進行圖片順序的打亂,有助于模型的收斂,若圖片數量過大,可以通過設置num_workers參數來選擇讀取需要的線程數量。訓練過程中使用Adam優化器來更新參數,CTC損失函數來計算預測損失值并反向傳播,ReduceLROnPlateau方法來自動調整學習率,該方法可通過設置patience參數來指定在訓練過程中損失值幾次為相同結果時,自動修改學習率,以達到激活的目的。最后將測試集的準確率數據變化記錄并可視化,此功能的實現用到了tensorboard,訓練過程中若需要查看圖像,則可使用cv2.imshow方法來顯示圖像配合輸出預測值,達到直觀查看訓練正確率的效果。參數設置上,初始學習率為0.001,batch_size為16,圖片固定縮放大小為(80,176),epoch數量為100次,每結束一次epoch便保存一次模型,并將測試集放入當前模型進行正確率測試,將結果記錄至可視化圖表中。

2.5? 訓練結果

測試集正確率變化如圖3所示,該圖顯示了每1 000次的迭代后準確率變化情況。當識別的正確率浮動變化較小且保持一段時間時即可結束訓練,選擇準確率最高的模型作為最終模型進行測試。對2 000張測試集驗證碼進行測試后,通過比對預測結果和標簽結果進行計算該模型的預測正確率,最終得出該模型的準確率為99.2%。

3? 結? 論

本文針對不定長類型驗證碼的結構特點,從實現端到端的識別以及基于圖像的序列識別角度出發,設計了基于CRNN的不定長驗證碼識別方法,即首先針對圖片特點進行圖像預處理,再通過使用CRNN結合CTC訓練模型,并且該模型在2 000張測試集中該模型準確率達到99.2%。結果表明,目前通過使用深度學習可以輕松繞過驗證碼的測試,并且還能擁有極高的識別率。隨著深度學習研究的不斷深入,圖像識別技術也將不斷發展,驗證碼的安全性也隨之降低,因此,在將來的驗證碼發展中,在保障用戶安全性與體驗的同時,需要設計出更縝密的安全策略,為網絡安全添磚加瓦。

參考文獻:

[1] 殷光,陶亮.一種SVM驗證碼識別算法 [J].計算機工程與應用,2011,47(18):188-190+194.

[2] 王曉鵬.驗證碼識別系統的研究及實現 [D].廣州:華南理工大學,2010.

[3] SHI B G,BAI X,YAO C. An End-to-End Trainable Neural Network for Image-Based Sequence Recognition and Its Application to Scene Text Recognition [J].IEEE Transactions on Pattern Analysis and Machine Intelligence,2017,39(11):2298-2304.

[4] HE K M,ZHANG X Y,REN S Q,et al. Deep Residual Learning for Image Recognition [C]//2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR).Las Vegas,NV:IEEE,2016:770-778.

[5] HOCHREITER S,SCHMIDHUBER J. Long Short-Term Memory [J].Neural Computation,1997,9(8):1735-1780.

作者簡介:黎秋宇(2000—),男,漢族,福建龍巖人,本科在讀,研究方向:深度學習。

主站蜘蛛池模板: 中文字幕波多野不卡一区| 国产特级毛片| 日韩av资源在线| 精品国产女同疯狂摩擦2| 亚洲欧美自拍一区| 国产精品毛片一区视频播| 不卡午夜视频| 国产91视频观看| 日韩在线1| 国产综合网站| 国产在线日本| 亚洲男人的天堂视频| 亚洲伦理一区二区| 天天爽免费视频| 狠狠ⅴ日韩v欧美v天堂| 强乱中文字幕在线播放不卡| 日本在线免费网站| 永久免费精品视频| 久久99这里精品8国产| 日本精品影院| 91免费观看视频| 亚洲欧美不卡中文字幕| 免费jjzz在在线播放国产| 亚洲综合久久成人AV| 99久久国产自偷自偷免费一区| 国产第一页亚洲| 暴力调教一区二区三区| 香蕉视频国产精品人| 久久综合色播五月男人的天堂| 在线欧美日韩| 欧美成人在线免费| 亚洲日本中文字幕天堂网| 秘书高跟黑色丝袜国产91在线| 亚洲日韩精品无码专区| 又粗又硬又大又爽免费视频播放| 国外欧美一区另类中文字幕| a级毛片一区二区免费视频| 亚洲精品另类| a毛片免费在线观看| 亚洲色精品国产一区二区三区| 欧美a级在线| 欧美久久网| 久久精品娱乐亚洲领先| 国产剧情国内精品原创| a级毛片毛片免费观看久潮| 国产女人18水真多毛片18精品| 67194亚洲无码| 四虎永久免费地址在线网站 | 中文字幕久久波多野结衣| 欧美中文字幕在线播放| 国产成人精品男人的天堂| 国产欧美性爱网| 欧美精品在线看| 欧美三级自拍| 亚洲成a人片7777| 麻豆精品在线视频| 亚洲侵犯无码网址在线观看| 精品伊人久久久香线蕉 | 欧美一级高清视频在线播放| 自拍中文字幕| 国产成人麻豆精品| 天天躁夜夜躁狠狠躁图片| 亚洲日韩Av中文字幕无码| 欧美国产精品不卡在线观看| 午夜日b视频| 国产玖玖视频| 欧美视频在线不卡| 九九热精品在线视频| 青青久视频| 日韩精品一区二区深田咏美| 国产黄在线免费观看| 欧洲亚洲欧美国产日本高清| 视频二区亚洲精品| 国产一级一级毛片永久| 97国产在线播放| 福利一区在线| 欧美天天干| 国产91小视频在线观看| 国产毛片基地| 亚洲成人动漫在线| 欧美一级夜夜爽www| 在线看国产精品|