现在验证码/文字识别有没有成熟方案? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
asd103
V2EX    程序员

现在验证码/文字识别有没有成熟方案?

  asd103 2016-11-01 14:57:25 +08:00 5266 次点击
这是一个创建于 3269 天前的主题,其中的信息可能已经有所发展或是发生改变。




这是百度 idlocr 识别验证码的结果,不是太令人满意

也有可能是噪点太多的原因。。

39 条回复    2016-11-30 16:01:04 +08:00
pagict
    1
pagict  
   2016-11-01 15:04:45 +08:00
之前我司用 tesseract-ocr ,想着自己做训练。哪想识别效果太差,买了别人的服务。一问,对方就是采取众包把图片发给后台人员人工识别了。。。。 sigh
asd103
    2
asd103  
OP
   2016-11-01 15:08:10 +08:00
@pagict 哈哈哈,尴尬
helloccav
    3
helloccav  
   2016-11-01 15:10:27 +08:00
@pagict 人肉识别其实也算是成熟方案了,有很多平台提供人肉识别服务以及 API ,当然都是收费的
lishunan246
    4
lishunan246  
   2016-11-01 15:11:34 +08:00 via Android
试试先 decay 去掉噪点
WhyAreYouSoSad
    5
WhyAreYouSoSad  
   2016-11-01 15:12:06 +08:00
对对对,我最近也好奇这个,人工识别。那成本呢?
@helloccav 怎么盈利
helloccav
    6
helloccav  
   2016-11-01 15:14:23 +08:00
@WhyAreYouSoSad 你指的是验证码平台盈利吗? 例如出售给你每识别一个码收 2 分钱,然后招人的时候每人肉打一个码付 1 分钱,那平台就赚 1 分钱了
WhyAreYouSoSad
    7
WhyAreYouSoSad  
   2016-11-01 15:15:40 +08:00
@helloccav ....找人一个一分钱???录入时间?还是有一种很厉害的录入工具,识别脑电波啥的?
helloccav
    8
helloccav  
   2016-11-01 15:19:18 +08:00
@WhyAreYouSoSad 不是说笑的,真的有人肉打码的平台,打码的工钱按验证码的难度区分,好像是几分钱吧。
全国各地很多学生、家庭嘱咐、无业游民等守在电脑前抢着打码呢。
asd103
    9
asd103  
OP
   2016-11-01 15:20:18 +08:00
@helloccav 其实有个想法,假设我自己有个网站,然后当我用到验证码的时候,就随机给一个在线的网友强制打开验证码,让其输入之后才能继续浏览。。
当然,用户体验会变差 23333
WhyAreYouSoSad
    10
WhyAreYouSoSad  
   2016-11-01 15:20:46 +08:00
@helloccav 看来我是有点何不食肉糜的感觉了
murmur
    11
murmur  
   2016-11-01 15:23:06 +08:00
@WhyAreYouSoSad 手打码很成熟了 这个你真做不过专业的打手
某些网站的验证码我自己看 4 个能认出来一个就不错了。。你还想用软件识别
helloccav
    12
helloccav  
   2016-11-01 15:23:30 +08:00
@tumbzzc 据说 google 的验证码和你这个想法有点相似,话说 google 进行某个项目的 ocr 识别的时候有些图片用机器识别不清楚,所以就把这些图片作为邮箱登录等验证码让用户去识别……以上纯属听说。
47jm9ozp
    13
47jm9ozp  
   2016-11-01 15:23:51 +08:00
@WhyAreYouSoSad 网吧会有一堆年轻人 /老太太一边看电视剧一边输入验证码

对了,手头还有一个平台 dama2.com 的 400 块钱的题分,便宜转卖。。
Sylv
    14
Sylv  
   2016-11-01 15:26:24 +08:00 via iPhone
@WhyAreYouSoSad 我之前用过一家,按他们的介绍所说,雇佣的打码员很多是不方便从事其它工作的残疾人士,还有网上兼职的学生,另外是和免费软件的开发者合作,提供 SDK 植入到免费软件中,用户每次使用软件需要输入验证码,其实就是在帮忙打码。
WhyAreYouSoSad
    15
WhyAreYouSoSad  
   2016-11-01 15:27:56 +08:00
@helloccav 验证码识别 p2p 。。。。这个可以的。
skyworker
    16
skyworker  
   2016-11-01 15:32:12 +08:00
@WhyAreYouSoSad 打吗平台有 API, 通过 API 发送至打吗平台的客服那里,客服输入,然后 API 回调获取打吗结果.

目前国内人工居多, 不用啥 NB 的算法,就靠人眼
ihciah
    17
ihciah  
   2016-11-01 15:35:30 +08:00 via iPhone
去噪,投影切图,丢 svm 可解
hansnow
    18
hansnow  
   2016-11-01 15:56:57 +08:00
@helloccav 谷歌会把机器生成的验证码和自己的系统识别不了的图像(如谷歌街景之类的拍到的东西)拼接在一起让用户去输入,由于有前面一段机器生成的验证码做验证,后面一段图像的识别率就有了保证。相当于用户免费帮忙识别验证码了
boter
    19
boter  
   2016-11-01 15:59:03 +08:00 via iPhone
打码兔,听说年营收千万
撸羊毛的人很多用
chaichaichai
    20
chaichaichai  
   2016-11-01 16:07:39 +08:00
人工打码速度还行,价格也不贵
写一个神经网络的方轮子真不如找这种平台
mrlawrence
    21
mrlawrence  
   2016-11-01 16:08:14 +08:00
网赚项目里边,最稳定和基础的项目就是打码,其次是页游。
如果楼主需要一定的正确率和性价比,还是外包给打码平台吧。机器自学习也好,各种技术运用也罢。对于打码平台的肉眼熟练工来说,人肉打码都是最佳的。
就好像富士康用机器人代替人力一样,很多熟练工在低价的时候,就是优势。
tSQghkfhTtQt9mtd
    22
tSQghkfhTtQt9mtd  
   2016-11-01 18:17:48 +08:00 via Android
@hansnow
@helloccav reCAPTCHA ?
GreatMartial
    23
GreatMartial  
   2016-11-01 19:02:28 +08:00
那应该做个人肉打码的平台呀...
分分钟走向人生巅峰
TaMud
    24
TaMud  
   2016-11-01 19:45:28 +08:00
打码兔太坑
打码兔识别率并不高
从其机制来看,举例,如果是 4 位的码
其应先机器认别,如果出来的结果是 4 位的,不管对错,他都会扣钱,他认为,他是对的,如果你纠正,会扣你的双倍钱,其纠错上面有说明
如果不是 4 位的,这时想是人工识别,正确率就很高。

如果是 ts 可以认别,并有很高的识别率,还是直接 ts 识别,打码兔会坑的很
20150517
    25
20150517  
   2016-11-01 19:51:55 +08:00
@TaMud 有反馈接口的,你可以反馈错误,然后这一条就不扣钱了
zpf124
    26
zpf124  
   2016-11-01 19:53:39 +08:00
@tumbzzc 你别说,曾经有个网游的自动刷怪挂机脚本还就是你这思路,把无人操作时遇到的验证码转发给在线的其他人。
windfarer
    27
windfarer  
   2016-11-01 19:55:13 +08:00
这个图简单啊,先 opencv 把噪点去掉,然后二值化并切分成单个字母,用 tesseract 逐个识别就行
YingJie
    28
YingJie  
   2016-11-01 23:03:46 +08:00
用过次世代验证码识别,其实最高效的还是用打码平台
maze1024
    29
maze1024  
   2016-11-01 23:38:50 +08:00 via Android   1
很早很早以前,互联网上流行一个软件,输一个验证码出一个不可描述的图片。。。
USCONAN
    30
USCONAN  
   2016-11-02 02:57:51 +08:00


我就路去年更新的 reCAPTCHA 黑科技是不是依然解?
txlty
    31
txlty  
   2016-11-02 04:41:44 +08:00   1
楼主图里的验证码,可以完美识别。但不是什么 ocr 算法,而是专门针对此的验证码破解算法。这种简单的验证码,编写针对性的算法,准确率超过 90%,教程网上就有。
也有专业的软件用来生成算法。只要你会用,图里那种低级验证码都能搞定。


至于你想要的通用识别算法。。就是随便一个网站的验证码,不经任何处理,丢进去,然后就出精准的文字。。。这也是大家梦寐以求的。
等哪一天,这算法真的出现,而且开源免费发布,个人 PC 就跑得动。。。。

那时候网上也就看不到验证码了。
tcsky
    32
tcsky  
   2016-11-02 09:06:01 +08:00
@txlty 同用的这个软件. 一般验证码基本都能过了.
dai269619118
    33
dai269619118  
   2016-11-02 09:24:35 +08:00
@txlty 求分享软件名
bobchengbin
    34
bobchengbin  
   2016-11-02 09:32:33 +08:00
rainysia
    35
rainysia  
   2016-11-02 09:34:55 +08:00
这.. 楼上都没玩过网游吗. 网游里面为了防挂机, 防刷作的验证的. 都有专门的外挂 配合识别软件.

大概按照识别难度和题量来收费的
比如四位汉字就比纯数字贵几倍

具体参考 火眼答题, 好爱答题... 全是人工的.
    36
likuku  
   2016-11-02 11:41:00 +08:00
@pagict [对方就是采取众包把图片发给后台人员人工识别了]人力突厥,国内都是这样干的吧...

最近被小米推起来的 讯飞 不知是这么搞的,机器学习?或者是更高级的众包平台?
likuku
    37
likuku  
   2016-11-02 11:43:05 +08:00
记得亚马逊很早也推出过人力 API ,后段都是一群人来做事,就是针对当前机器解决不了的问题, API 使用价格也不是太贵。
shell233
    38
shell233  
   2016-11-02 12:01:19 +08:00
题主如果想花点功夫的话办法倒是挺多。第一种前面也讲到了,降噪切割,上 svm 或者 netual network 。你这个验证码没有粘连也没有干扰线什么的还是比较好切的。第二种基于端对端的 ocr 识别,前面的楼层也讲到了找出生成这个验证码的算法,但是如果你可以找到生成验证码的算法还是推荐直接上 deep learing ,自动生成样本跑出 10W 的样本如果运气好一些收敛了还是能跑出模型的,识别率基本在 95%以上,见 https://zhuanlan.zhihu.com/p/21344595 。其实验证码复杂到一定程度再花时间和精力就得不偿失了,也许你花一个星期日了验证码,别人再花了两个星期改了验证码......这时候如果不是基于学习的目的的话,还是上打码平台算了,不然两方的程序员都会搞到吐血哈哈。
cppgohan
    39
cppgohan  
   2016-11-30 16:01:04 +08:00
R9 @tumbzzc
你的想法, reCAPTCHA 很早就在做了吧, 利用大数据概率来判断用户输入是否正确. 最后的大数据又来帮助真正的识别车牌, 识别图书.
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5795 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 30ms UTC 03:06 PVG 11:06 LAX 20:06 JFK 23:06
Do have faith in what you're doing.
ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86