Design

Design
asp.net mvc

2019年6月6日 星期四

拓元驗證碼辨識為例 python + tensorflow(卷積神經網路CNN) +Flask(API)

我們直接看結果吧  以下是我針對拓元驗證碼 一萬次的訓練結果 成功率99%
最後把方法透過Flask把python封裝成API可以調用.
這東西很好玩,因為可以應用的場景非常廣,想的到的複雜辨識都可以一套解決,最重要的是可以一直訓練,所以就算很複雜的驗證碼邏輯,只要餵好資料其他基本上就都可以解決
而且速度非常快,不過CNN缺點就是需要大量訓練素材,而且我這邊是訓練四碼如果是不同碼又需要重新訓練,當然可以做文字切割後再去各別辨識這樣效率成功率也會更高,下次再來玩玩GAN或許可以解決需要大量素材的問題,可能牽涉違法 程式碼就不貼了,單純練習應用.



tensorflow,python,神經網絡的相關知識我滿推薦 騰訊工程師周莫煩的youtube頻道講解得很簡單明瞭,特別這類的中文教學本來就不多,有興趣可以點下面網址看看
https://www.youtube.com/channel/UCdyjiB5H8Pu7aDTNVXTTpcg



以下也都是寫得不錯的文章
http://puremonkey2010.blogspot.com/2017/07/toolkit-keras-mnist-cnn.html
https://www.zhihu.com/question/22298352
https://medium.com/@syshen/%E5%85%A5%E9%96%80%E6%B7%B1%E5%BA%A6%E5%AD%B8%E7%BF%92-2-d694cad7d1e5

3 則留言:

  1. 您好,我有先看過這篇https://medium.com/@ageitgey/how-to-break-a-captcha-system-in-15-minutes-with-machine-learning-dbebb035a710
    大概知道怎麼去做訓練,但是我不清楚怎麼讓他跟網頁串接,是需要用到selenium嗎,還是有像js那樣可以導入chrome的擴充

    回覆刪除
    回覆
    1. 可以用selenium執行整段網頁流程 網站=> 爬出圖片辨識 =>丟回網站輸入 , 用chrome extension應該也是可以就變的是用js控制這整段流程
      不過我覺得還是用selenium比較好 因為是合法操作所以比較不會有些奇怪問題

      刪除
  2. 您好,想問一下您的驗證碼資料集是如何收集的呢?感謝!

    回覆刪除