机器难以辨认的图像


  软件产生迷惑机器的图像,人们却可清晰辨别。

  研究人员们开发出了一个可以自动生成静态和动态图像的系统,这种图像能被人眼识别,而不被计算机识别。这样的技术对验证码(Captcha)系统很有用,该系统被设计用来防止垃圾邮件机器人——或者说垃圾邮件自动发送程序——注册免费网络账户。

  这项新技术使用容易辨认、包含运动物体的简单图像,比如一个跑步的人,或者一匹飞奔的马,并将他们斑点化,隐藏在一个由相似斑点构成的场景内。这样的物体计算机通常无法分辨,但是人眼却可以。

  “Captcha”一词在2000年被提出,表示全自动区分计算机和人类的图灵测试(Completely Automated Public Turing test to tell Computers and Humans Apart)的缩写。一个典型的验证码系统可以生成形变文字,配上微许杂乱的背景。用户必须填入正确的字符串,才能访问网络服务,比如开设一个免费电子邮件账户。但是,现存的验证码系统并不完全可靠——它们经常会被网络安全研究者和黑客破解。Live Mail,Gmail,Yahoo!,Livejournal和PayPal的验证码系统都曾经被破解过。尽管目前的系统姑且被认为是可靠的,行业内的大部分人都认为,它们再次被破解只是一个时间问题。验证码系统的设计者不得不一直改善他们的算法,以领先于那些试图规避验证的人们。

  “我们现在都在用的这些系统破解起来相对容易,”特拉维夫大学计算机科学教授、验证码项目研究者丹尼•科恩奥(Danny Cohen-Or)如是说。“而我们已经开发出的就像是一个更强验证码(系统)的基础。”

  这种软件的灵感来自“格式塔”(gestalt),或者说整体比各部分之和更优的思想,由位于德里的印度科技大学、台湾的国立成功大学,以及其他一些来自特拉维夫大学的研究者们共同开发。具体来说就是,这种软件挖掘人类分析杂乱、支离场景以找到隐藏物体的能力。

  关键是设计出一个弹性系统,使得生成的图像对人类足够容易辨识,而对模式识别软件则异常困难。

  这种软件先由一个3D物体开始,比如一只奔跑的狗。它将狗转化成一系列小心生成的黑点,考虑到狗的轮廓和形状,研究人员们称之为“泼溅墨点”。为了确保物体别太明显,长而复杂的形状被分成几小部分,轮廓也被稍微变形。然后,软件将物体放置在一个有更多物体的场景中,其中有的由该物体的一部分构成,以营造视觉的迷惑。动态图像则由一系列静态图像产生。

  由系统生成的新型图像在三种自学习的模式识别软件上进行测试。经过一套30张新型图像的训练后,模式识别系统开始辨认其他新型图像。三个系统中最准确的在分辨一匹马和一个人时的准确率也只有60%。人类完成同样任务时准确率接近100%。这个软件还能产生计算机更难辨认的图像,不过,这同时增加了人类辨认的难度。“这个大众用户也不能辨认。”科恩奥说。

  他介绍,应用验证码软件的另一个关键问题在于验证过程。如何确定用户是否已准确辨认图像,目前尚不清楚。要求用户就其所见进行描述就太复杂了。一个人描述所见物体时可能会写“狗”,而另一个人则可能会写“小狗”,“狗狗”,或者“斑点狗”。正确答案太多了。“我们也不能用多项选择题,”科恩奥说,“否则计算机就可以猜了。”

  另一些研究人员已经找到了这个问题的解决方法。宾夕法尼亚州立大学信息科学与技术副教授詹姆斯•王(James Wang)致力于研究一项静态图像验证码系统,需要用户从一幅拼贴画中选择一张图片,然后从列表中为一张不相关的图片选择一个正确的回应作为注解。这种方法降低了垃圾邮件机器人蒙混过关的可能性。“一次随机攻击的成功率被控制在了1/210,如果使用两次这种方法,成功率则为1/312,”詹姆斯•王如是说。

  王承认,这个新型图片系统的确有“亮点”,用户可能会乐于从场景中找到隐藏的动物。但是他说,需要继续开发和试验才能生成一个实用的验证码系统。

  “无论成果多喜人,编码方案看起来多新颖,图像和视觉科学家能否找到破解方法,只有时间知道。”王说。“另外,为了开发出一个既实用、破解率又低的验证码系统,需要进行更多的开发和试验。”

  王还指出,系统运作需要加入许多不同的动物,他想知道哪些能被人们轻易地辨认出来。“比如,如果只显示身形,我能分出老虎和豹子吗?”

  卡内基梅隆大学计算机科学教授路易斯•万安(Luis von Ahn)是验证码系统的创始人之一,他认为,动物选择法可能太局限了,并不能使科恩奥的想法实用化。尽管觉得这个研究很有趣,他并不确定,新型图像能否真的比目前使用的标准形变文本系统更可靠。“还没人真的足够努力去破解过它,”万安如是说。