成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python項目實戰篇-常用驗證碼標注和識別

開發 后端
驗證碼全稱為全自動區分計算機和人類的圖靈測試(Completely Automated Public Turing test to tell Computers and Humans Apart,簡稱CAPTCHA),俗稱驗證碼,是一種區分用戶是計算機和人的公共全自動程序。

[[422814]]

大家好,我是Snowball。

一、前言

今天給大家分享的實戰項目是常用驗證碼標注&識別,從想法誕生到實現思路,再到編碼實戰的整體過程,這個過程我前后整理了上萬字,計劃分章節來發布。言歸正傳,一起來看看今天的內容吧!今天這篇內容主要講解這篇文章的創作靈感、需求分析和實現思路。

首先介紹一下驗證碼基本概念,驗證碼全稱為全自動區分計算機和人類的圖靈測試(Completely Automated Public Turing test to tell Computers and Humans Apart,簡稱CAPTCHA),俗稱驗證碼,是一種區分用戶是計算機和人的公共全自動程序。驗證碼的主要目的是強制人機交互來抵御機器自動化攻擊,為了確保服務器系統的穩定和用戶信息的安全,大部分網站采用了驗證碼技術。圖片驗證碼是目前最常用的一種,本文也主要討論這種驗證碼的識別。

最初,圖片驗證碼識別的想法最初源于12年的大學階段,當時的學校教務系統每次搶課系統就崩潰,而且還要特定時間段跟其他同學一起搶指定課程,基本搶不到自己想修的課程,那時候就想繞過系統圖片驗證碼通過代碼實現自動搶課,鑒于當時自己編碼能力和技術能力有限,機器學習、神經網絡相關框架效果較差,最后以各種條件限制實現不了告終~~

XDM,等等,故事還沒完,時間回到2021年,做為一名勤于搬磚、善于思考學習的程序猿,在經過幾年社會的毒打后,想著以現在自己的項目經驗、學習能力和編碼功底,以及行業內機器學習、神經網絡等AI技術的發展,能不能把多年以來的想法給實現,達到圖片驗證碼高正確率識別預測,訓練一個高度可用的CNN模型。在做項目之前經過筆者幾天的資料查詢過程中,確信高可用的驗證碼識別模型想法是可以做的,于是開啟了CNN神經網絡等技術前置知識的漫長學習過程。

幾個月過后,項目編碼實戰出爐,效果嘛,自我感覺還行,基本達到高可用,500張訓練數據圖,CNN模型單個字符97%以上準確率。

這里先貼項目的工程Git地址,有基礎的同學可以去直接拉取項目下來把玩源碼:

  1. [Java后臺-通用驗證碼標注系統](https://gitee.com/snowball2dev/DataMarkService)  
  2. [Vue管理后臺模板-通用驗證碼標注系統](https://gitee.com/snowball2dev/DataMarkService-Vue) 
  3. [Python-圖片驗證碼識別模型案例](https://gitee.com/snowball2dev/VerifyCodeRecognize-Python) 
  4. [標注系統線上效果體驗地址](http://139.9.191.103:8084/) 

好的,XDM,如果到這里還有興趣往下看的話,那么就請跟隨結合筆者的學習、編碼實戰過程來了解常用的驗證碼識別方法和過程。

二、需求分析

說到圖片驗證碼識別功能,這個功能初步想想也簡單,網上搜一下關鍵詞,相關文章和開源項目非常多。以下是github搜索結果:

乍一看,好像真有免費的午餐,隨便下載個CNN-python項目,改幾行代碼,然后開始瘋狂標注數據過程,就能跑出來模型。

筆者自己最初也是這么想的,只求簡單粗暴,于是弄了幾個項目下來跑了之后,發現代碼是可以用,但是效果非常拉跨,單個字符識別正確率很低,70%不到,4-6個字符那正確率就更低了,基本上達不到高正確率,可用性非常一般。對于一個有追求的程序猿,不可能這么就完事了,于是,這就有了這個項目的整活。

在使用這些開源項目的過程中,發現下載的項目實現過程大都分為2種思路,第一種無需圖片切割,直接數據標注訓練模型;第二種為圖片驗證碼進行字符切割,然后為單個字符進行分類訓練。項目執行的具體過程就不演示了,有興趣的讀者開源自行搗鼓,下面就是筆者自己對2種思路適用方式的實踐思考總結:

1. 第一種無需圖片切割

優點:簡單粗暴,通用性強,直接用各種卷積神經網絡模型硬懟圖片驗證碼提取特征,適合知道驗證碼生成的正向代碼過程,用代碼生成圖片驗證碼數據給模型訓練。

缺點:數據量小時模型擬合效果差,需要大量人工標注數據,不太適合不知道驗證碼生成規則,少量標注數據。

2. 第二種進行字符切割

針對驗證碼生成規則,分析驗證碼各種背景干擾、噪聲點像素、字體形變和累疊、字符位置隨機及個數不定、反色等情況,對圖片逆向處理,達到局部字符可切割,降低卷積模型層次,降低數據標注量,實現字符分類。

優點:可針對單一圖片驗證碼做特殊預處理,可實現部分字符切割,針對字符小圖進行分類訓練,小批量數據標注就可以訓練模型達到高擬合效果,達到可用

缺點:通用性不強,訓練模型只適用特定圖片驗證碼,復雜驗證碼可能無法切割

XDM,等等,還有一種思路:

筆者自己學習OpenCV時想到的,通過圖片預處理,輪廓檢測,然后對A-Z,0-9字符通過SIFT算法進行特征提取,最后跟需要匹配的字符進行FLANN匹配,理想很豐滿,然后編寫相關代碼后發現由于驗證碼的正向生成過程導致字符特征變化太大,并不適合,于是放棄采用該思路,代碼見上述代碼鏈接中的python項目image_match.py。

根據以上思路總結,根本沒有免費的午餐,好的數據和特征工程同等重要,要實現好的效果,都是要根據具體問題具體分析,所以筆者分析自己的圖片驗證碼識別案例,更適合第二種,另外一點原因大批量標注數據人工成本過高,個人不太喜歡。以下將附帶案例詳細介紹第二種識別思路的實現過程。

三、實現思路

根據需求初步分析,大概可分為四個步驟:

1. 數據采集/預處理:http批量下載,OpenCV API使用學習,圖片預處理

2. 數據標注:GUI標注功能開發,人工標注數據階段,模型訓練后預測數據可進行數據集補充

3. CNN神經網絡模型訓練:windows環境,cpu/gpu,學習神經網絡框架API,微積分、線代、概率論等前置知識,加深對神經網絡模型理解,pytroch框架的使用

4. 項目部署:linux環境下,標注系統VUE前端部署、標注系統Java后端部署、Python模型部署

以下是Xmind腦圖導出效果:

四、總結

我是Snowball。這篇內容主要講解了常用驗證碼標注&識別的背景知識, 介紹了驗證碼的基本概念,講述了這個文章的的創作靈感、需求分析和實現思路。

小伙伴們,快快用實踐一下吧!如果在學習過程中,有遇到任何問題,歡迎加我好友,我拉你進Python學習交流群共同探討學習。

本文轉載自微信公眾號「Python爬蟲與數據挖掘  」,可以通過以下二維碼關注。轉載本文請聯系Python爬蟲與數據挖掘公眾號。

 

責任編輯:武曉燕 來源: Python爬蟲與數據挖掘
相關推薦

2021-09-16 07:52:18

Python項目實戰

2021-09-11 09:07:17

Python驗證碼標注

2021-09-18 09:15:39

Python神經網絡Python基礎

2013-06-19 10:19:59

2024-01-29 08:32:10

Python驗證碼識別

2020-12-29 05:33:03

Serverless驗證碼架構

2016-11-08 19:19:06

2016-11-03 13:33:31

2023-10-27 08:53:13

Python驗證碼圖片識別

2022-02-17 10:34:21

神經網絡識別驗證碼

2021-02-04 10:08:34

騰訊云驗證碼醫療影像

2022-05-11 07:41:31

Python驗證碼

2021-06-16 06:58:09

TensorFlow識別驗證碼

2021-07-22 10:25:07

JS驗證碼前端

2014-04-24 10:09:05

驗證碼C#

2009-08-06 16:30:58

C#代碼和驗證碼圖片

2020-11-16 07:28:53

驗證碼

2009-02-09 14:17:36

2009-08-11 14:05:28

JSP驗證碼
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩一区在线播放 | 91免费高清 | 91在线导航 | 久久久www成人免费精品 | 日韩福利电影 | 天天插天天搞 | 青青草在线播放 | 免费视频久久久久 | 精品网站999 | 国产午夜精品久久 | 久久爱一区 | 亚洲综合视频 | 99re6在线视频精品免费 | 免费av在线网站 | 久草新视频| 中文字幕乱码一区二区三区 | 四虎成人免费视频 | 欧美一级在线 | 亚洲精品视频在线 | 久久久久黄色 | 亚洲精品国产a久久久久久 中文字幕一区二区三区四区五区 | 一区二区日韩精品 | 国产精品一区二区久久久久 | 怡红院怡春院一级毛片 | 成人h动漫亚洲一区二区 | 国产一级视频在线观看 | 精品视频免费在线 | 久久亚洲国产 | 精品中文字幕一区二区 | 丁香久久 | 中文字幕精品一区久久久久 | 在线中文字幕日韩 | 国产精品国产精品国产专区不卡 | 成人av免费网站 | 欧美一区二区三区在线播放 | 国产精品a一区二区三区网址 | 中文字幕视频在线观看 | 99精品欧美一区二区蜜桃免费 | 国产农村一级国产农村 | 天堂综合 | 国产福利久久 |