推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
panda0
V2EX  ›  Python

想问一下:这样的验证码该要怎么识别?

  •  
  •   panda0 · Jul 25, 2016 · 7470 views
    This topic created in 3591 days ago, the information mentioned may be changed or developed.

    用 tesseract 试了几个,识别率 0%

    请教大神,大概的研究方向是什么?

    35 replies    2017-05-11 23:39:23 +08:00
    YAFEIML
        1
    YAFEIML  
       Jul 25, 2016
    人工智能
    SolLo
        2
    SolLo  
    PRO
       Jul 25, 2016
    所以每次遇到这种时候,就使劲换……
    lcatt
        3
    lcatt  
       Jul 25, 2016
    tesseract 不是可以自己训练字库么。。
    fcicq
        4
    fcicq  
       Jul 25, 2016
    把线去了, 反白应该问题不大
    aprikyblue
        5
    aprikyblue  
       Jul 25, 2016 via Android
    起码肉眼可以识别出来。。



    这种我人工都要输入好几次。。
    wuhang89
        6
    wuhang89  
       Jul 25, 2016
    跟你讲,不要把人工智能的 OCR 想的多厉害,像这个最佳的解决方案是人肉打码。
    h4x3rotab
        7
    h4x3rotab  
       Jul 25, 2016 via iPhone
    这种 tessrect 不可能识别的出来,基本只要不接近印刷体,或者稍微有点粘连 tess 就不行了。如果你能人工打 20w 个码,我可以给你做出识别
    aeshfawre
        8
    aeshfawre  
       Jul 25, 2016
    人工打码是最实际的解决方法, 网上有收费接口.
    用计算机应该也能实现自动识别,不是有个公司破了 yahoo 验证码,挑战 decaptcha 么, 好像就是 deepmind 这个公司吧.
    menc
        9
    menc  
       Jul 25, 2016   ❤️ 1
    用 RNN + sliding window , recaptcha 都能 98%的 accuracy ,你这个不是什么大事情
    aeshfawre
        10
    aeshfawre  
       Jul 25, 2016
    @menc 赶紧给楼主做一个,比起人工打码,楼主付个 5000 大洋给你,估计还是愿意的.
    gkiwi
        11
    gkiwi  
       Jul 25, 2016
    @menc 有相关的文章推荐么?
    goubenger
        12
    goubenger  
       Jul 25, 2016
    这种验证码应该已经有成熟的技术了。
    不预处理光跑 tesseract 准确率肯定不行的
    ihciah
        13
    ihciah  
       Jul 25, 2016   ❤️ 2
    手动框出来, fast-rcnn 做;或者无脑直接丢 CNN ,打多个 label 出来,实测比楼主的复杂的多的图直接用 VGG19 finetune 可以到 90+%;或者用 RNN 、 LSTM 那一套,戳 http://arxiv.org/abs/1412.7755
    menc
        14
    menc  
       Jul 25, 2016   ❤️ 4
    @gkiwi 有几篇论文,是用 RNN 、 CNN 来做 recaptcha 的识别的。
    http://www.cs.columbia.edu/~polakis/papers/sivakorn_eurosp16.pdf

    其他关键字

    Multi-digit Number Recognition from
    Street View Imagery using Deep Convolutional Neural Networks

    Deep Features for Text Spotting


    @aeshfawre

    给我 10k ,给你一个 90%以上 accuracy 的这样的验证码的识别
    iVanilla
        15
    iVanilla  
       Jul 25, 2016
    能被识别是因为这些验证码太弱,不信看看这样的验证码你怎么识别?

    menc
        16
    menc  
       Jul 25, 2016
    @iVanilla 你这个比他给的简单多了
    iVanilla
        17
    iVanilla  
       Jul 25, 2016
    @menc 你确定?那你写个识别程序试试看。
    menc
        18
    menc  
       Jul 25, 2016
    @iVanilla

    麻烦,这样吧,你给的两种验证码,各 2k rmb 做赌注,单字 90%以上的准确率。
    写出来你给我钱,写不出来我给你。

    有偿找个第三方来见证也行。
    gonglin
        19
    gonglin  
       Jul 25, 2016
    @menc 我做第三方 ~~
    maomaomao001
        20
    maomaomao001  
       Jul 25, 2016 via Android
    自己用眼睛看啊。。。别老想着破坏
    iVanilla
        21
    iVanilla  
       Jul 25, 2016
    @menc 第二个是我自己写的,我知道强度还不够。
    等我把强度加大再跟你赌。
    lxy
        22
    lxy  
       Jul 25, 2016
    颜色对于防自动识别没有任何效果。长干扰线也是差不多。
    真正能抗自动识别的只有随机的严重的字符粘连和大幅度的字符扭曲。
    lxy
        23
    lxy  
       Jul 25, 2016
    @lxy 还有与字符笔画宽度一样的同色短干扰线。
    honam
        24
    honam  
       Jul 25, 2016
    有些自己都看不清,怎么识别。。。
    mcone
        25
    mcone  
       Jul 25, 2016   ❤️ 1
    @iVanilla 说实话,你这两个(特别是第二个)真的很弱,至少十年前的技术就能搞定了(只有第一个图后两位有粘连,但是如果确定是纯数字且四位的话,一点都不难)。
    另外不要总是“你写个程序看看”,真的写出来怎么办,你出钱吗?…………仅仅博君一笑,白白花费不少时间,好像不是正常人的做法

    @panda0 楼主,是所有的验证码都有[有一条从左到右的水平贯穿线]这个固定的特点吗?是的话,在切分之前,先检测水平线,去掉之后把切分后的字送进去,准确率应该不会太低,至少字母边缘特征还是很明显的,不像是 @aprikyblue 那种深浅不一,人眼都得看半天的家伙……
    iVanilla
        26
    iVanilla  
       Jul 25, 2016
    @mcone 那么你认为应该怎样做才能真正加大识别难度?
    ihciah
        27
    ihciah  
       Jul 25, 2016
    @iVanilla
    讲道理只要是字符,就很垃圾,无论是怎么扭曲、粘连,中文还是英文,更不用说加什么背景噪声了。只要人能认出来,堆训练数据进去机器也可以。
    加大识别难度可以借助人的知识,比如现在 12306 和 google 的新验证码这种。
    iVanilla
        28
    iVanilla  
       Jul 25, 2016
    @ihciah 12306 的验证识别码早有人弄出来了吧,在 github 上面看过。
    Google 的新验证码确实不错,但国内也用不了啊。
    h4x3rotab
        29
    h4x3rotab  
       Jul 25, 2016 via iPhone
    想要提高难度有两种办法,一种是增加字体数量,另一种是增加验证码的类型,两者各达到几十种, deep learning 就跪了,因为没人有钱打这么大数量的 label
    eoo
        30
    eoo  
       Jul 25, 2016 via Android
    想要防机器 还得上短信验证或者语音验证,什么 OCR 识别都见鬼去吧 啊哈哈。
    v2gba
        31
    v2gba  
       Jul 25, 2016
    之前上课教授讲过
    在菲律宾还是哪里有人工识别服务( API 。。)

    两毛还是两分一次
    peter999
        32
    peter999  
       Jul 26, 2016
    打码平台
    panda0
        33
    panda0  
    OP
       Jul 26, 2016
    @MrGba2z 我猜是 2 分 : )
    test5001
        34
    test5001  
       May 11, 2017
    @menc 如何可以联系你? 可以给个联系方式吗,想有偿找你帮写个例子。
    test5001
        35
    test5001  
       May 11, 2017
    有人使用 dl4j 那个深 度学习框架的吗?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   932 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 75ms · UTC 21:13 · PVG 05:13 · LAX 14:13 · JFK 17:13
    ♥ Do have faith in what you're doing.