V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
codu
V2EX  ›  问与答

V2EX 验证码为什么做的这么复杂?还是因为我识别能力差?比google的还难识别,搞不懂为什么,求解!

  •  
  •   codu · 2012-03-16 14:19:58 +08:00 · 6319 次点击
    这是一个创建于 4627 天前的主题,其中的信息可能已经有所发展或是发生改变。
    40 条回复    1970-01-01 08:00:00 +08:00
    eilif
        1
    eilif  
       2012-03-16 14:21:59 +08:00
    同意啊,非常难搞
    66450146
        2
    66450146  
       2012-03-16 14:23:11 +08:00
    我觉得比reCaptcha强多了。。。
    fanzeyi
        3
    fanzeyi  
       2012-03-16 14:33:48 +08:00
    @66450146 V2EX 的验证码不就是 reCAPTCHA 么?

    reCAPTCHA 是我见过的验证码中人类识别率最高的一个了
    huiyizhang
        4
    huiyizhang  
       2012-03-16 14:34:02 +08:00
    就是不想让人注册
    fanzeyi
        5
    fanzeyi  
       2012-03-16 14:34:43 +08:00
    对了还有一个槽点

    这个验证码就是 Google 的服务
    kernel1983
        6
    kernel1983  
       2012-03-16 14:58:06 +08:00
    reCAPTCHA的眼中我们都不是人
    SamuelBinYE
        7
    SamuelBinYE  
       2012-03-16 14:58:35 +08:00
    你可以刷新直到清晰的字符出现
    pepsin
        8
    pepsin  
       2012-03-16 15:02:44 +08:00
    验证码还是pp书屋的好嘿嘿~~~
    depthsky
        9
    depthsky  
       2012-03-16 15:40:08 +08:00
    Google Books扫描了几十万本纸质书,它是如何完成数字化,以利于复制、供人检索的?原来是Google实验室项目reCAPTCHA在帮忙,扫描后的图片被裁减成一个个单词片段,用于网站防止机器注册时显示的验证码:人们在输入验证码的同时不知不觉就完成了图书数字化过程。世界各地图书馆有很多受损的古籍,页面泛黄、纸张脆弱,OCR是无能无力的,它无法识别褪色的和模糊的文本,而人类在这方面有卓越的表现。reCAPTCHA将我们输入的验证码正确识别后,拼接、排版,在化整为零中就完成了古籍的数字化。
    lizheming
        10
    lizheming  
       2012-03-16 15:44:24 +08:00
    LS让我感觉Google在下一盘很大的棋,哈哈!
    brando
        11
    brando  
       2012-03-16 15:45:03 +08:00
    這圖片看得確實累。註冊看不清的時候只能多刷新到清晰的圖片出現位置。
    fanzeyi
        12
    fanzeyi  
       2012-03-16 16:21:49 +08:00
    来 怎么这么多人说看着累..

    我做了个测试..

    测试了18张验证码..

    不直接贴图了, 豆瓣相册: http://www.douban.com/photos/album/66779038/

    后一张的 success/failed 是前一张的结果..嗯
    money
        13
    money  
       2012-03-16 16:26:00 +08:00
    当初为什么会出现验证码呢
    fanzeyi
        14
    fanzeyi  
       2012-03-16 16:31:56 +08:00
    又做了14个测试.. 修改了下测试用的页面.. 显示出了填入的内容..

    然后在相册里提供了 scrot 的文件名.. 可以从中推算出我识别验证码用的秒数..
    donie
        15
    donie  
       2012-03-16 16:34:39 +08:00
    那个google 图书扫描的段子一直有个问题想问。。。既然OCR无法识别,reCAPTCHA怎么判断用户录入是正确的。。。
    Elix
        16
    Elix  
       2012-03-16 16:35:15 +08:00
    @depthsky 我怎么觉得不符合逻辑啊?首先验证码必须有个“正确的答案”,如果通过您叙述的方法,验证码最初那个正确的答案从哪来的呢?
    caomu
        17
    caomu  
       2012-03-16 16:36:01 +08:00 via Android
    吐槽验证码的你们都弱爆了,不就是为古籍ocr做点贡献么,那么气急败坏干嘛。
    fanzeyi
        18
    fanzeyi  
       2012-03-16 16:36:49 +08:00
    俺的测试结果显示人工识别率为 26/30 这个准确率能称得上复杂?
    fanzeyi
        19
    fanzeyi  
       2012-03-16 16:43:59 +08:00
    https://gist.github.com/2049177

    这是测试用的代码 judge.base 就是 tornado.web.RequestHandler ..

    reCAPTCHA 的代码来自于@lepture 的 tornado.third 项目..
    cutehalo
        20
    cutehalo  
       2012-03-16 16:44:37 +08:00
    @donie @Elix 好像是根据这个验证码输入最多的答案来选择正确答案吧。。。不过最开始是怎么判断的我也混乱了- -!
    gDD
        21
    gDD  
       2012-03-16 16:47:48 +08:00
    @Elix @donie @cutehalo

    唉,给你们看来文档了:

    > But if a computer can't read such a CAPTCHA, how does the system know the correct answer to the puzzle? Here's how: Each new word that cannot be read correctly by OCR is given to a user in conjunction with another word for which the answer is already known. The user is then asked to read both words. If they solve the one for which the answer is known, the system assumes their answer is correct for the new one. The system then gives the new image to a number of other people to determine, with higher confidence, whether the original answer was correct.

    via [ https://www.google.com/recaptcha/learnmore ]()
    cutehalo
        22
    cutehalo  
       2012-03-16 16:50:29 +08:00
    @gDD 好先进 我说怎么有俩分开的验证码呢。。。
    momou
        23
    momou  
       2012-03-16 16:51:01 +08:00
    @Elix @donie reCAPTCHA 的验证码分为两部分,有一部分是已知的,只要这一部分对了就可以验证,另一部分完全是为了人工识别面出现的,以后根据识别最多的答案作为该部分的识别。。。
    donie
        24
    donie  
       2012-03-16 16:51:05 +08:00
    @gDD THX :)
    TONYHEAD
        25
    TONYHEAD  
       2012-03-16 18:03:55 +08:00
    比较容易识别的那部分正确就可以了.
    Elix
        26
    Elix  
       2012-03-16 18:37:38 +08:00
    @momou @gDD Thx
    Jreen
        27
    Jreen  
       2012-03-16 18:49:14 +08:00
    其实我反复刷新到能识别的单词为止。
    fanzeyi
        28
    fanzeyi  
       2012-03-16 18:53:43 +08:00
    @eilif @huiyizhang @kernel1983 @Jreen 我还是不明白为什么你们识别不出来.. 我人肉都能达到26/30的准确率你们还觉得这个很难么?
    deepure
        29
    deepure  
       2012-03-16 19:35:03 +08:00 via iPhone
    @fanzeyi 是不是复杂不是用你这么算的,对于大多数普通用户来说,相比常见的验证码,第一眼看上去就复杂多了。
    而且普通用户也不会知道只需要对一部分,这个跟用户的认知模型是不同的。
    单从输入字符上讲也比常见的验证码多。就好像即使汉字验证码容易识别,但心里仍然觉得不如四字母方便
    whtsky
        30
    whtsky  
       2012-03-16 19:36:28 +08:00 via Android
    没见过验证码…
    mjar
        31
    mjar  
       2012-03-16 20:17:16 +08:00
    一直不知道两个词中间要不要空格。。
    sqbing
        32
    sqbing  
       2012-03-16 20:23:11 +08:00
    @depthsky 是真的吗?!这难道是文字识别界的nuance?
    agui
        33
    agui  
       2012-03-16 20:44:50 +08:00
    恩恩,又长见识了~每次在这总能学到点新的东西
    depthsky
        34
    depthsky  
       2012-03-16 22:17:41 +08:00
    这是谷歌的众包模式,能够解决机器识别不了的问题。
    lepture
        35
    lepture  
       2012-03-17 02:20:48 +08:00
    @fanzeyi 他们试着说明你的高级用户呢。我的识别率也不错。
    Jreen
        36
    Jreen  
       2012-03-18 12:31:47 +08:00
    @fanzeyi
    平常我能识别,但扭曲过大或者很相似的字幕我无法识别。你那豆瓣的图我能之别。
    fanzeyi
        37
    fanzeyi  
       2012-03-18 12:37:53 +08:00
    @Jreen 额 那个是完全随机出来的……
    zythum
        38
    zythum  
       2012-03-18 13:04:03 +08:00
    @Elix @fanzeyi 记得有个站的验证码是段代码,让你给结果才能通过...
    记不得是哪个了
    liuhang0077
        39
    liuhang0077  
       2012-03-18 13:06:05 +08:00
    zythum
        40
    zythum  
       2012-03-18 13:10:14 +08:00
    @liuhang0077 老师下次出题目都不用默默想半天了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5374 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 07:38 · PVG 15:38 · LAX 23:38 · JFK 02:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.