「袁子意」運用深度神經網絡實現驗證碼識別

陸生 R05 袁子意 Zi-Yi Yuan
系所 臺灣大學電子工程學研究所學位論文
指導教授 王凡
中文題名 運用深度神經網絡實現驗證碼識別
英文題名 Universal CAPTCHA Recognition implemented by Deep Neural Network
中文關鍵字 自動化測試;深度學習;圖像識別;驗證碼
英文關鍵字 Automatic Software Testing;Deep Neural Network Object Detection;CAPTCHA
中文摘要 驗證碼(CAPTCHA)是目前在互聯網上廣泛使用的壹種技術,主要用於區分用戶是人還是計算機的壹種公共全自動程序, 可以防止:惡意破解密碼, 有效防止某個黑客對某壹個特定註冊用戶用特定程序暴力破解方式進行不斷的登陸嘗試。 由於其全自動化的特性,驗證碼技術在人力成本及可靠性方面都有著壹定的優勢,但盡管其對於互聯網安全問題方面具備的顯著優勢,驗證碼技術對於軟件測試人員就顯得不那麽友好, 其需要手動操作的特性無疑對測試人員實現自動測試化的工作造成了壹定的困擾。 因此,在本文中, 基於深度學習在識別圖像方面的長處,我們提出了多種方法的組合區自動識別驗證碼,主要的方法可分為兩步,第壹步我們使用YOLO,壹個成熟的圖像識別模型去定位驗證碼在網頁中的具體位置,第二步 我們使用壹種端對端的深度學習模型實現識別壹些較為復雜的驗證碼,我們的方法區別於壹些傳統的識別技術,如使用分割圖像的技術識別驗證碼。 我們使用的神經網絡主要由卷積神經網絡以及循環神經網絡構成,實現結果顯示我們的模型在對於驗證碼的識別上具有較高的準確率
英文摘要 CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) is a widely used technology on the internet to check if the person registering or trying to comment is a real human or a computer program attempting to spam the site. They are usually fully automated, requiring little human maintenance, thus having benefits in cost and reliability. Despite the convenience on internet security problems, this technology is not very friendly to software testers. Therefore, in this paper we investigate the various combinations of methods based on deep neural networks to recognize CAPTCHA images. The main method is divided into two steps. The first step is to use YOLO, a real-time object detection model to decide the exact location of CAPTCHA on a web page. The second step is to use an end-to-end neural network aimed at recognizing indivisible CAPTCHA images, rather than the traditional segmentation technology used to recognize divisible CAPTCHA images. We use convolution neural network and recurrent neural network for CAPTCHA recognition. Experimental results confirm that our method used in this paper achieves test accuracy of around 99% in the seven types of CAPTCHA.
出版日期 2019-08-14
DOI 10.6342/NTU201901781
DocID U0001-2207201914044600