深度學習識別各類驗證碼
代碼:Github
背景介紹
- 來源:第九屆中國大學生服務外包創(chuàng)新創(chuàng)業(yè)大賽賽題A16-驗證碼識別
- 整體背景:驗證碼識別是計算機與大數(shù)據(jù)領(lǐng)域一個非常重要的應用領(lǐng)域,其中包含了圖像處理、機器視覺策菜、模式識別以及人工智能等諸多前沿技術(shù)额各,這些同樣也是大數(shù)據(jù)未來發(fā)展所必須的核心技術(shù)国觉。本賽題以互聯(lián)網(wǎng)中常見的驗證碼圖片為樣本,旨在通過此次競賽虾啦,檢驗參賽者的圖像識別能力麻诀,提高對計算機技術(shù)、算法模型的認識和應用能力傲醉,激發(fā)在圖像處理蝇闭、機器學習等領(lǐng)域的創(chuàng)新能力。
- 公司背景:浪潮卓數(shù)大數(shù)據(jù)產(chǎn)業(yè)發(fā)展有限公司作為浪潮集團旗下的大數(shù)據(jù)板塊硬毕,致力于成為數(shù)據(jù)資源提供商呻引、數(shù)據(jù)資產(chǎn)運營商和數(shù)據(jù)交易服務商,以大數(shù)據(jù)時代的“數(shù)商”為發(fā)展目標吐咳,促進政府逻悠、企業(yè)和個人實現(xiàn)從互聯(lián)網(wǎng)化向社會化元践,乃至數(shù)據(jù)社會化的轉(zhuǎn)變。
項目說明
問題說明
提供 5 類驗證碼圖片童谒,難度依次遞增单旁,每一類驗證碼提供 1 萬個訓練樣本,最后通過另外 5000 個測試樣本的識別率評分惠啄。
第 1 類
數(shù)字四則運算慎恒,有噪點干擾,輸出計算結(jié)果撵渡。
第 2 類
英文字母+數(shù)字驗證碼融柬,包含 5 個字符,有噪點干擾趋距,文字無旋轉(zhuǎn)形變粒氧,驗證方法為要求用戶輸出驗證碼中的字符,大小寫不限( 為驗證方便可統(tǒng)一轉(zhuǎn)為大寫 )节腐。
第 3 類
英文字母+數(shù)字驗證碼外盯,包含 4 個字符,有噪點干擾翼雀,文字有旋轉(zhuǎn)形變饱苟,驗證方法為要求用戶輸出驗證碼中的字符。
第 4 類
中文驗證碼狼渊,包含 4 個中文漢字箱熬,有噪點干擾,驗證方法為要求用戶選出 4 個漢字中被旋轉(zhuǎn) 90 度的那一個 (四個漢字從左到右序號為 0,1,2,3狈邑,輸出被旋轉(zhuǎn)的漢字序號即可) 城须。
第 5 類
中文驗證碼,包含 4 個中文漢字和 9 個中文單字米苹,有噪點干擾糕伐,文字有旋轉(zhuǎn)形變,驗證方法為要求用戶從 9 個單字中從左到右按順序選出驗證碼中的漢字蘸嘶,輸出漢字編號良瞧。
快速開始
-
步驟一:環(huán)境準備
Python 3.6、TensorFlow亏较、Pillow莺褒、OpenCV
pip install tensorflow-gpu==1.8 pip install opencv-python pip install pillow
-
步驟二:準備數(shù)據(jù)集
下載地址:百度網(wǎng)盤
提取碼:e6zy
放置位置:
- 訓練集:level_/image/train
- 測試集:level_/image/test
-
步驟三:選擇驗證碼類型
最后
當時做這個項目的時候是第一次接觸深度學習,看著吳恩達和煉數(shù)成金的視頻課邊學邊做绸狐,真是特別有意思的一段時光÷笨遥現(xiàn)在回頭來看,當時設計的每類驗證碼識別模型都不同寒矿,準確率主要靠調(diào)參突琳,確實挺ugly的。還記得答辯的時候評委問我符相,能不能做一個萬能驗證碼識別模型拆融,可惜當時學識淺陋,我答的“不行”主巍,哈哈冠息。
通過這次競賽,成功讓我入門了深度學習孕索,特別感謝浪潮集團出的題和提供的獎金逛艰。當年這題獲獎的名額超多的,浪潮真的財大氣粗搞旭,若要參加服務外包競賽散怖,浪潮的題目超級推薦。驗證碼識別是特別好的深度學習入門案例肄渗,希望本倉庫能給剛?cè)腴T的你提供一些幫助镇眷。