劉海英 陳鵬舉 郭俊美 鄧立霞 孫濤 趙陽
摘? 要:隨著計算機網絡技術及驗證碼技術的快速發(fā)展,出現了更多復雜的驗證碼生成辦法,如基于動態(tài)圖像的驗證碼系統(tǒng)。本案例針對給定系統(tǒng)的驗證碼為研究對象,提出一種具有針對性的策略算法,對比于其它識別算法,本研究算法的識別速度、精確均占有一定優(yōu)勢,具有一定的理論和實際意義。
關鍵詞:數字圖像處理;驗證碼;識別
中圖分類號:G640? ? ?文獻標志碼:A? ? ? ? ?文章編號:2096-000X(2020)27-0087-03
Abstract: With the continuous development of computer network technology and verification code technology, more complicated verification code generation methods have appeared, such as a verification image system based on dynamic images. This case proposes another targeted strategy for the verification code of a given system. Compared with other recognition algorithms, the recognition speed and accuracy of this research algorithm have certain advantages and have certain theoretical and practical significance.
Keywords: digital image processing; verification code; recognition
隨著計算機和網絡技術的發(fā)展,網絡安全逐漸成為了人們關注的問題,驗證碼的重要性也日益凸顯。為了更好地防止惡意攻擊、保護網站安全,驗證碼技術變得越來越復雜,這給驗證碼技術帶來了很好的機遇,同時也帶了新的挑戰(zhàn)。數字圖像處理技術是利用計算機對數字圖像進行分析與處理,協助人們理解和識別不同模式目標和對象的技術。數字驗證碼識別是光學字符識別(Optical Characters Recognition,OCR)的一種,是經典模式識別研究對象中的一種[1]。
所謂驗證碼是由系統(tǒng)隨機生成的一組字符(一般為數字或數字與字母的組合)圖片。驗證碼圖片的使用是目前網上各種論壇類網站用以識別阻止自動化程序惡意行為的人機區(qū)分技術,其設計和實用安全性直接涉及到互聯網的安全使用,由于技術簡單,易實施,傳輸數據小,因此被各網站特別是論壇性質的網站廣泛使用來防止自動化程序(如論壇自動灌水機)進行大批量的惡意行為。
一、國內外驗證碼技術的發(fā)展現狀
驗證碼識別和其他字符識別方法極為相似,因而可以借鑒現有的成熟的字符識別技術,如系統(tǒng)、車牌識別等。但驗證碼圖片其自身的特殊性使得對它的識別難于一般的光學字符識別。驗證碼設計的目的本就是讓機器難以破解,因而通常的驗證碼圖片干擾性強,字符間有扭曲、變形、粘連,干擾信號變化相對單調,識別較難,圖像較小。目前對無扭曲旋轉、有少量噪聲和無粘連字符的驗證碼識別上已取得了較好的識別結果。而對于有彩色線噪聲,字符粘連、重疊、扭曲以及縮放等干擾的驗證碼的識別效果尚不理想,對于此種驗證碼的破解,屬于極端情況下的字符識別。
(一)國外驗證碼的發(fā)展現狀
國外針對驗證碼的分析識別技術也已經是一個較為熱門的領域,關于驗證碼識別的理論體系已日漸趨于完善。驗證碼(CAPTCHA)最早是Carnegie Mellon大學的一個科研項目,Yahoo是其第一個用戶。2009年,美國Berkeley大學Chandavale等研究人員對Carnegie Mellon進行識別研究[2]。2004年Gabriel Moy等提出了一種扭曲估計的算法破解的驗證碼,有很高的識別率[3]。
(二)國內驗證碼的發(fā)展現狀
國內驗證碼識別技術起步也比較晚,研究驗證碼識別較少,現有國內的研究大都集中在數字或英文字符規(guī)范、無粘連和扭曲的驗證碼。2010年,文獻[4]用最近鄰算法破解了個銀行網站的驗證碼,識別率達到80%以上。同年,文獻[5]利用基于微軟辦公文檔圖像處理庫對網易、雅虎等驗證碼進行識別,但是對于受到干擾或者字符變形較大的驗證碼識別率偏低。但截至目前,國內驗證碼算法基本在現有算法的基礎上改進其他算法,算法的發(fā)展在理論上沒有大的發(fā)展和突破。
二、網絡驗證碼級手寫數字的識別
(一)簡單數字驗證碼識別
本節(jié)主要針對單純的數字驗證碼進行識別。單純數字驗證碼的識別相對簡單,因為圖片中只有數字以及圖片可能受到噪聲的影響帶來的干擾,所以在載入圖片后需要涉及到的知識點為:圖像的去噪、分割和識別的過程。圖像受到噪聲影響過以后的圖片如圖1所示。
數字驗證碼識別之前需要對圖像進行去噪,為了減少噪聲的影響,對于彩色圖像而言,為了更適合計算機處理,系統(tǒng)將彩色圖像從RGB空間轉換到HSV空間,為了提高數字驗證碼識別的準確率,在執(zhí)行識別算法之前首先利用比較簡單的閾值過濾法對圖像進行椒鹽噪聲去除的簡單處理,去噪效果如圖2所示。數字驗證碼圖像去噪之后進行下一步數字定位,找到圖片中的每一個數字并定位,如圖3。
在數字準確定位后,進行驗證碼的歸一化操作,結果如圖4所示。通常情況下在處理信號和圖像的預處理時,為了提高算法的收斂速度,需要對數字驗證碼圖像進行歸一化處理,以便達到無量綱處理和提高算法的執(zhí)行速度。
經過簡單處理后,數字驗證碼識別結果如圖5左側識別結果所示。通過識別的結果可以看出,對于簡單的數字驗證碼識別的正確率較高。
(二)手寫體數字的識別
相對于規(guī)范的數字驗證碼,手寫體的數字隨意性很大,比如筆畫的粗細、字體的大小、傾斜的角度等都很難控制并且各異性很強(如圖6),這些人為因素都會影響到后期識別的準確率。本案例中重要圖像預處理知識點涉及到灰度轉換、歸一化、中值濾波、二值化以及圖像細化的操作處理等。
對手寫體數字進行前期的歸一化處理、中值濾波后在進行圖像的細化操作,提取9個向量特征,然后與載入的標準數字數據庫進行對比,其中選用的是歐氏距離測度得到識別的結果,如圖7所示。本案例中采用了200組樣本圖像進行特征提取,得到模板數據庫,樣本量偏小,但是識別的準確率較高。
三、結束語
本案例通過對規(guī)范性和手寫體數字的數字的識別算法分貝進行驗證,規(guī)范性數字識別的準確率可以達到100%,手寫體數字因為受到的各種因素的影響,其識別率僅為90%。
參考文獻:
[1]王璐.驗證碼識別技術研究[D].中國科學技術大學,2011.
[2]A.A.Chandavale, A.M. Sapkal, R.M. Jalnekar, Algorithm to Break CAPTCHA[C]. Second International Conference on Emerging Trends in Engineering and Technology, ICETET-09, 2009.
[3]Gabriel Moy, Nathan Jones, Curt Harkless, Randall Potter, Estimation Techniques in Solving Visula CAPTCHAs[C]. IEEE Conference on Computer Vision and Pattern Recognition(CVPR,04),2(23-28).
[4]Jisong Zhang, Xingfen Wang, Breaking Internet Banking CAPTCHA Based on Instance Leanring[C]. 2010 International Symposim on Computer Intelligence and Design,39-43.
[5]王曉波,王興芬.基于MODI的驗證碼識別系統(tǒng)設計與實現[J].北京信息科技大學學報,2010(1):88-91.
[6]楊思發(fā).驗證碼破解技術算法研究及實現[D].南京理工大學,2013.
[7]王楓,陳小.CNN深度學習的驗證碼識別及Android平臺移植[J].單片機與嵌入式系統(tǒng)應用,2019(7):21-23.
[8]張錚,王順帆,董雷.基于深度學習的驗證碼識別[J].湖北工業(yè)大學學報,2018,33(2):5-8.
[9]周文凱,韓芳,孔維健.基于Faster-RCNN的極驗點選式驗證碼識別[J].電子科技,2019,32(9):42-45.
[10]白培瑞,王金博,丁國梅.一種通用的基于圖像分割的驗證碼識別方法[J].山東科技大學學報(自然科學版),2018,37(3):106-113.
[11]南陽,白瑞林,李新.卷積神經網絡在噴碼字符識別中的應用[J].光電工程,2015,42(4):38-43.
[12]范曉杰,宣士斌,唐鳳,等.基于Dropout卷積神經網絡的行為識別[J].廣西民族大學學報(自然科學版),2017,23(1):76-82.
[13]潘翔,王恒.基于深度學習的車牌相似字符識別[J].計算機科學,2017,44(S1):229-231.
[14]何福全,李偉烽,林培娜,等.驗證碼的識別技術分析與研究[J].甘肅科技縱橫,2019,48(2):1-5.