目錄
1.輸入識(shí)別出的字符類驗(yàn)證碼
2.點(diǎn)選類驗(yàn)證碼
3.拖動(dòng)滑塊到指定位置的驗(yàn)證碼
4.OCR資源集合
1. 輸入識(shí)別出的字符類驗(yàn)證碼
對(duì)于這類驗(yàn)證碼的識(shí)別方法為:
需要分割字符
- 圖片預(yù)處理,包括二值化,降噪等
- 圖片分割
- 提取特征
- 訓(xùn)練分類模型,識(shí)別字符
如果使用深度學(xué)習(xí)訓(xùn)練分類模型,第三步和第四步可以合為一步,神經(jīng)網(wǎng)絡(luò)可以自動(dòng)提取特征
這種方法的難點(diǎn)在于:
- 背景噪聲難以去除,例如字體上有橫線等
- 圖片粘在一起,難以切割
- 文字有旋轉(zhuǎn),扭曲等變形
在樣本數(shù)量不是很大的情況下,這三種情況都會(huì)對(duì)準(zhǔn)確率造成影響,當(dāng)然如果樣本足夠多,這些也不是問(wèn)題
不需要分割字符
圖片中字符個(gè)數(shù)固定
對(duì)于固定字符的圖片,可以利用深度學(xué)習(xí)里的CNN,基于CNN去識(shí)別驗(yàn)證碼硝清,其實(shí)就是一個(gè)圖片的多標(biāo)簽學(xué)習(xí)問(wèn)題击罪。比如考慮一個(gè)4個(gè)數(shù)字組成的驗(yàn)證碼税肪,那么相當(dāng)于每張圖就有4個(gè)標(biāo)簽策精。那么我們把原始圖片作為輸入蒸矛,4個(gè)標(biāo)簽作為輸出惧所,扔進(jìn)CNN里辅肾,看看能不能收斂就行了陪毡。
https://zhuanlan.zhihu.com/p/21344595
圖片中字符個(gè)數(shù)不固定
可以利用RNN/LSTM/GRU + CTC, 方法最早由Alex Graves在06年提出應(yīng)用于語(yǔ)音識(shí)別米母。這個(gè)方法的好處在于可以產(chǎn)生任意長(zhǎng)度的文字,并且模型的性質(zhì)決定了它有能力學(xué)到文字與文字之間的聯(lián)系(temporal relations/dependencies)毡琉。不足之處在于sequential natural決定了它的計(jì)算效率沒(méi)有CNN高铁瞒,并且還有潛在的gradients exploding/vanishing的問(wèn)題
https://www.zhihu.com/question/20191727/answer/140372044
2. 點(diǎn)選類驗(yàn)證碼
這類驗(yàn)證碼的識(shí)別可以利用目標(biāo)檢測(cè)的方法,先從圖像中檢測(cè)出文字,再對(duì)文字分類.
目標(biāo)檢測(cè)可以采用的算法有Yolo,SSD
具體實(shí)現(xiàn)可以參考這篇博客
3. 拖動(dòng)滑塊到指定位置的驗(yàn)證碼
這類驗(yàn)證碼一般不需要打碼做訓(xùn)練,只需要找到缺口的位置,并模擬運(yùn)動(dòng)軌跡就可以了.
這里有說(shuō)明
以及代碼