计算机在基于阅读的人机交互证明(HIP)中的单字符识别中超过人类

       人工交互证明(HIP)已经在互联网上变得司空见惯,以保护免费在线服务受自动脚本/机器人滥用的侵犯。 它们是旨在帮助人们易于解决的挑战,同时对于计算机来说仍然是难以解决的问题。 基于读数的HIP包括分割问题和一个或多个识别问题。 最近的研究表明,计算机比分割问题更能解决识别问题。

       在本文中,我们通过一系列人类用户研究和使用卷积神经网络的计算机实验来比较人类和计算机单字符识别能力。 在这些实验中,我们假设已经解决了分割并且已知各个HIP字符的大致位置。 结果表明,在当今HIP中使用的所有常用失真和杂波场景下,计算机在单字符识别方面与人类一样好或更好。

       基于阅读的人机交互证明(HIP)已成为保护互联网网站免受自动脚本(机器人)滥用的常见方法。 HIP也被称为完成自动公共图灵测试,以告诉计算机和人类(CAPTCHAs)。 HIP的概述可以在Blum和Baird(2002),Chew,M。和Baird(2003)以及Von Ahn等(2004)中找到。 HIP在互联网上最常见的三种用法是:a)注册免费电子邮件帐户(Google,Hotmail,Yahoo!等)时,b)访问一些在线资源,如在Ticketmaster.com购买门票或者在Register.com上执行whois查询,以及c)防止拒绝服务攻击(例如,Ticketmaster.com)。

       HIP最着名的应用是打击垃圾邮件。在许多免费电子邮件系统中,必须解决HIP才能创建帐户。 HIP设计为计算机难以解决但对人类来说很容易。因此,他们有效地施加了创建帐户的成本(垃圾邮件发送者必须使用他自己的宝贵时间,为别人的时间付费,或提供有价值的服务以换取解决HIP。)创建帐户的初始成本可能不够高阻止垃圾邮件发送者(一旦垃圾邮件发送者获得免费电子邮件帐户,他们就可以发送垃圾邮件,直到检测到他们的活动并且他们的帐户被关闭)。最初的挑战可能伴随着后续的HIP挑战,必须解决这些挑战才能继续发送免费电子邮件。后一种方法所带来的成本很好。此外,垃圾邮件过滤器分析,电子邮件使用和其他垃圾邮件度量可用于定制新HIP挑战的呈现频率。这两种成本都依赖于HIP是安全的,并且构成了当今计算机难以解决的问题。 Goodman和Rounthwaite(2004)介绍了HIP在解决垃圾邮件问题方面的几个有用的应用。

       最成功的HIP是视觉的并且是基于阅读的。 最近的研究表明,其中许多依赖于字符识别任务,并且可以使用机器学习轻松破解(Chellapilla等,2004; Chellapilla等,2005)。 已经提出了构成分割和识别任务组合的HIP以提高其安全性(Chellapilla等,2004)。

在本文中,我们比较了识别从HIP分割的单个字符的人和计算机识别能力。 第2节介绍了HIPs提出的细分和识别问题的背景,并回顾了以前确定HIP安全性和人性友好性的工作。 使用当今HIP中存在的扭曲和杂波建模的一类字符识别问题在第3节中介绍。用于研究人类和计算机识别的单字符识别实验在第4节中介绍。结果在第5节中给出,结论在第6节。

背景

图1给出了几个可以在互联网上采样的基于读数的HIP的例子。

                                                     图一

分割和识别挑战

       基于阅读的HIP挑战通常包括分段挑战,然后是识别挑战2。 解决分段挑战需要以正确的顺序识别字符位置。字符,背景纹理,前景和背景网格或线条的随机位置以及弧形形式的杂乱使得分割问题变得困难。 图像扭曲通过降低分割算法的预处理阶段的有效性来加剧分割问题,该分割算法试图估计和去除背景纹理和前景线等。一旦字符位置被可靠地识别(以正确的顺序),每个字符需要被正确识别会引起识别问题。通过缩放,旋转,局部和全局扭曲以及交叉随机弧的变化,使字符识别问题变得困难。

 

单字符识别

       HIP带来的识别挑战是专门设计用于欺骗现成的OCR系统,例如: Scansoft的OCR和其他几个(Coates等,2001)。这些通用OCR系统设计用于高质量的文档扫描或图像,并且在杂乱的情况下易于特性变形和快速降级。相反,可以通过使用机器学习构建自定义识别器来尝试解决由特定HIP引起的识别问题。自定义识别器受到从HIP样本中提取的失真字符的训练。这种方法需要为每种HIP类型(例如Yahoo!,Google,Register,MSN等)构建新的识别器。这正是(Chellapilla和Simard,2004)采用的方法。卷积神经网络用于构建Mailblocks,Register,Yahoo!,Ticketmaster和Google HIPs的识别器。在这些HIP上获得了非常高的识别率(80%-95%)。我们注意到,大多数真实世界的HIP旨在确保较低的人为错误率。

       当解决识别问题时,假设分割问题得到解决,即,我们已经知道HIP图像中的字符数及其位置。 这些位置不一定精确。 允许一些容差(几个像素),因为基于机器学习的识别器可以预期一定程度的平移不变性。

       在本节中,我们提出了一类扭曲和混乱,旨在模仿当今基于阅读的HIP中常用的那些(图1)。 每个失真和杂波都是参数化的,并且可以从非常容易(很小的失真/杂乱)扩展到非常困难或不可读。 在这项研究中,为了更好地理解人类和计算机能力,识别问题的难度远远高于在现实世界的HIP中被认为适合使用的难度。

一种字符识别问题

       HIP图像包含字符。计算机和人类从这些图像中读取字符的能力取决于所使用的字体大小和图像分辨率。显然,在非常低的分辨率和字体大小下,字符变得难以辨认。此外,字体大小,字体样式(斜体,粗体等),字体类型(衬线,非衬线,等宽字体等),使用的字符集(英文,大写/小写)等都在确定难度中起作用认识问题。为了易处理性,本文在设计用于研究人类和计算机能力的字符识别问题时做出了以下选择:
a)仅使用大写英文字符(A-Z)和数字(0-9)3
b)使用30磅的字体大小
c)HIP图像以每英寸96点(对于人类)呈现
d)使用Times New Roman字体(serif字体)
      我们相信这些选择虽然有限,但提供了足够的多样性来比较和对比人类和计算机对HIP角色的识别。在设计真实世界的HIP时,必须仔细评估这些选择中的每一个对HIP安全性和人类友好性的影响(Chellapilla等,2005b)。

字符扭曲和电弧杂乱

       基于字符的HIP使用一组字符扭曲来使计算机变得困难。 基本字符转换包括平移,旋转(顺时针或逆时针)和缩放。 旋转通常小于45度以避免将6转换为9,将M转换为W或E等。这些失真的示例在图2,3和4中示出。表征平移的参数以像素为单位(图 3),而那些表征旋转的是度数(图4)。

                                     

                                                       图二.纯文本示例

                                  

                                                    图三. 文本和数字示例

                                     

      图四. 15级(PWVDYLVH),30级(B5PYMMLB)和45级(GSB5776E)的旋转文本

         计算机和人类都使用这三种转换找到了HIP,易于解决。 为了增加基于计算机的OCR的难度,我们引入了两种扭曲(Deriche,1990):全局扭曲和局部扭曲。

                         

                                              图五。全球变形下的字母M.

           全局变形:全局变形产生字符级弹性变形(图5)。 它是通过产生随机位移场,然后是具有指数衰减的低通滤波器获得的(Deriche,1990)。 然后使用插值将得到的位移场应用于图像。 这些似乎弯曲和拉伸给定的字符。 扭曲的大小与HIP图像像素的总位移距离成比例。 这些弹性变形的目的是为了模板匹配算法。

                         

                                                 图六。局部扭曲下的字母M

        局部扭曲:局部扭曲旨在沿着角色的像素产生小的波纹,波浪和弹性变形,即,在角色的厚度范围内,而不是角色的宽度和高度的比例(图6)。 通过将低通滤波器截止改变为更高频率,以与全局扭曲变形相同的方式产生局部翘曲变形。 局部扭曲的目的是阻止基于特征的算法,该算法可以使用字符粗细或衬线特征来检测和识别字符。

       杂波:交叉的直线和弧线,背景纹理以及前景和背景颜色的网格是HIP中使用的杂波的常见示例。 在本文中,我们使用不同厚度的随机前景和背景弧作为杂波。 前景弧以与字符相同的颜色呈现,旨在将相邻的HIP字符连接在一起。 背景弧以背景颜色呈现,因此被设计为将字符分解成断开的片段。 前景弧和背景弧均具有恒定的厚度。 选择两级弧度,其中薄弧为2像素宽,而厚弧为4-5像素宽。 选择细弧和粗弧的组合来模拟Times字体中字符的细和粗部分。 在角色上或周围渲染的弧线数量Narc由弧密度D确定,使用:

其中W和H分别是HIP图像的宽度和高度。 S是字体大小,ceil是天花板功能。 生成一个字符HIP,其中40个像素×40像素图像以用于识别的字符为中心。 在添加杂波和翘曲之前,这些40 x 40字符图像在90x50 HIP图像上渲染。

方法

 我们进行了一组七个实验,以确定在上述扭曲和混乱下人和计算机(神经网络分类器)的识别率。这些是(见图7-13):
1.局部扭曲(+ baseline1)
2.全局扭曲(+ baseline1)
3.细弧(+ baseline2)
4.粗弧(+ baseline2)
5.非交叉粗弧(+ baseline2)
6.薄背景弧(+ baseline2)
7.厚背景弧(+ baseline2)
         所有实验均使用两种基线设置中的一种(基线1或基线2)。在实验1和2中,基线设置(基线1)产生随机平移(-20至+20像素),缩放(-20至+ 20%)和旋转(-20至+20度)。实验3-7(基线2)中的基线设置产生-20至+20像素的随机平移,-20至+ 20%的随机比例,-20至+20度的随机旋转。此外,还使用了75的全局扭曲和20的局部扭曲。扭曲值表示相关扭曲场的大小,并且与HIP中墨水像素的平均移动成比例(Deriche,1990)。

       在每个实验中,相关的失真/杂波参数从非常容易(小)到非常困难(大)变化。 为了更好地理解人类和计算机的能力,本文研究的参数设置范围比设计真实世界的HIP时要广泛得多。 图7-13给出了计算机和人类用户研究中使用的字符的几个例子。

计算机实验

        基于计算机的识别引擎是卷积神经网络(Simard等,2003),其已被广泛用于构建用于文档处理的单个字符识别器。 它在MNIST数据库中产生了0.4%的最佳已知错误率,包括手写数字(0-9)。 它使用很少的内存,并且识别速度非常快。

       在每个实验中,使用失真和杂波设置对总共110,000个随机字符进行采样。 90,000个字符用于培训,10,000个用于验证。 在剩余的10,000个字符上计算测试错误。 选择了来自{A-Z,0-9}的三十一个字符。 容易混淆的五个字符被丢弃了。 这些是I,O,Q,0和1.字符以Times Roman字体呈现,字体大小为30磅。

       失真和杂波(当存在时)按以下顺序添加到HIP中a)在随机位置(具有平移和旋转)渲染字符,b)添加杂波c)应用全局和局部扭曲。

                                      

                                                  图七.本地warp设置为20,40,60和80的五个示例字符。

                               

                                   图八。全局扭曲设置为20,40,60和80的五个示例字符。

                               

                                   图九。薄前景弧密度为0.5,1.0,1.5,2.0和2.5的五个样本字符。

                                

                                    图10:厚前景弧密度为0.5,1.0,1.5,2.0和2.5的五个样本字符

                                 

                                  图11:厚的非相交(TNI)前景弧密度为0.5,1.0,1.5,2.0和2.5的五个样本字符。

                                 

                                     图12:每个背景弧密度为0.5,1.0,1.5,2.0和2.5的五个样本字符。

                                   

                                     图13:每个厚背景弧密度为0.5,1.0,1.5,2.0和2.5的五个样本字符。

HIP用户研究

        我们进行了一项试图与计算机实验紧密匹配的用户研究。 要求研究参与者识别与计算机识别一起使用的相同失真条件。 这些研究旨在以电子方式运行,允许参与者在舒适的办公室内完成HIP识别任务。 招募了44名用户参加这组实验。 他们都是一家大型软件公司的员工。 参与者的平均年龄为33.7岁(范围为21-58岁),15岁为女性,均为正常或矫正视力正常。 除了十三名参与者外,所有参与者都至少接受过本科教育(尽管有七名回答“其他”可能包括博士学位)。 参加者通过举行抽奖获得补偿,其中一名参赛者赢得了一个x-box视频游戏机。

        要求参与者识别各种失真条件下的字符,这些字符与上述实验中用于计算机测试的字符相同。 在每个屏幕上,参与者从一组100个测试字符中随机选择每个条件10个字符。 条件与上述部分中描述的条件相同。 每个角色出现在一个方框内,很明显每个方框只有一个角色。 参与者通过在角色下方的文本字段中键入答案进行回复。 实验是自定进度的,参与者只要准备就可以继续下一组10个字符。 参与者平均花费19秒来识别10个字符。 准确度定义为正确识别的字符百分比。

结果

       前两个实验研究了在经线存在的情况下单字符识别的准确性。 基线设置(baseline1)仅产生平移,旋转和比例变化。 实验三到七在前景和背景杂波的存在下以细和粗弧的形式研究识别能力。 基线设置(baseline2)不仅产生平移,旋转和缩放,还产生少量的全局(75)和局部扭曲(20)。

       局部扭曲(实验1):局部扭曲从4步增加到80,如图7所示。局部扭曲值表示局部扭曲场的大小,并且与墨水像素的平均移动成比例。HIP。 图14显示了存在局部扭曲时的计算机和人类精度。人类参与者具有非常高的准确率,局部扭曲水平高达40级,60级及以上精度差。 相比之下,计算机的精确度与当地经线20的计算机精度相同,但保持在99.5%以上,直到60的局部扭曲。即使在80的局部扭曲,卷积神经网络也能够识别 超过96%的字符正确。

图14:局部扭曲20,40,60和80下的人和计算机准确率(百分比)。

图15:120,180,240和300全局变形下的人和计算机准确率(百分比)。

图16:存在薄前景弧时的人和计算机准确率(百分比)。

        全局扭曲(实验2):全局扭曲以4个增量步长从120增加到300,如图8所示。全局扭曲值表示全局扭曲场的大小,并且与墨水像素的平均移动成比例。 HIP。 如图15所示,当全局扭曲场小于200并且逐渐恶化时,人和计算机都表现良好。 然而,虽然计算机稍微好一点,但计算机和人类的准确度仍然高于85%。

        细弧(实验3):在这种情况下,HIP字符以细交叉弧的形式与杂波混合。 请注意,弧在图像上均匀渲染,并且不一定与角色相交。 但是,大部分都可以。 电弧密度(方程1)从0.5到2.5分五步变化,如图9所示。人类参与者具有高达1.5的电弧密度的高准确率,之后人类表现迅速恶化。 但是,在整个测试电弧密度范围内,计算机精度仍然很高(高于95%)。

       粗弧(实验4):图17显示了存在厚交叉弧时的识别精度。 电弧密度(方程1)从0.5到2.5分五步变化。 虽然计算机和人的精度在弧密度为0.5时很高,但随着字符变得无法识别,它们会迅速恶化。 计算机识别更好,但随着电弧密度的增加也会遭受严重的恶化。

   图17:存在厚前景弧时的人和计算机准确率(百分比)。

       厚的非交叉弧(实验5):在这种情况下,HIP字符以粗弧的形式与杂波混合。 但是,与粗交叉弧的情况不同,这些粗弧不与字符相交。 最多,他们可以触摸HIP图像中的字符。 电弧密度(公式1)再次以0.5到2.5的五个步骤变化,如图11所示。如图18所示,人和计算机都很容易找到这种情况,精度从不偏离100% 整个电弧密度范围。

图18:存在厚的非交叉前景弧时的人和计算机准确率(百分比)。

       细背景弧(实验6):与连接相邻字符的前景弧(在多字符HIP中)不同,背景弧被设计为将字符分成两个或更多个部分。 背景电弧密度(公式1)从0.5到2.5分五个步骤变化,如图12所示。如图19所示,人和计算机都很容易发现这种情况并达到接近100%的准确率。 计算机和人类的表现几乎无法区分。

   图19:存在薄背景弧时的人和计算机准确率(百分比)。

        厚背景弧(实验7):与薄背景弧相比,厚背景弧更快地分解角色。 电弧密度(公式1)从0.5到2.5分五步变化,如图13所示。如图20所示,当电弧密度小于1.5时,人和计算机都很少出错。 随着电弧密度增加超过1.5,人类表现略微下降,而计算机精度几乎保持不变。

图20:存在厚背景弧时的人和计算机准确率(百分比)。

       在所有七个实验中,计算机在存在失真和杂乱的情况下识别HIP字符的效果与人类一样好或更好。薄的背景弧和厚的非交叉前景弧对于人类和计算机来说是最容易的。人类和计算机表现良好,达到了接近100%的准确率。厚背景弧和全局扭曲呈现低到中等难度。对于低水平,人类和计算机都表现良好(准确率接近100%)。随着越来越大的困难,计算机只比人类略胜一筹。局部扭曲和薄的交叉前景弧为计算机和人类提供了适度挑战的识别任务。在低水平,准确度很高(超过95%)。然而,随着难度的增加,虽然人的性能显着下降,但计算机性能仅略有下降(低于5%)。厚前景弧是最困难的问题。随着角色变得难以理解,人类和计算机识别率都迅速下降。然而,计算机在识别准确性方面仍然比人类做得更好。如图10所示,厚交叉弧的难度来自于字符内容的损失。

结论

       HIP提出的识别问题是使用一系列字符变换建模的,例如平移,旋转,缩放,扭曲(局部和全局)和杂波(薄和厚的前景和背景弧)。使用该模型,设计了七个实验来评估人类和计算机在解决当今HIP所带来的识别问题方面的能力。用户研究是为了评估人类的准确性。使用机器学习训练卷积神经网络以识别这些实验中的每个实验中的字符。比较人类和计算机识别HIP字符的实验结果表明,计算机a)和人类一样容易出问题,b)在中低难度情况下略微好一些,c)在高失真和杂乱设置下击败人类。总的来说,结果清楚地表明,HIP所带来的识别问题对于计算机来说比人类更容易。鉴于这一新结果,针对计算机攻击的HIP强度基本上取决于分割问题的强度。因此,HIP设计人员不再能够依赖识别问题来为HIP贡献更多的力量。我们注意到,在设计识别问题时做出的若干选择也会影响分割HIP的能力。下一代HIP必须依靠强大的分割问题并利用人工分割能力来提供HIP安全性。

猜你喜欢

转载自blog.csdn.net/qq_38284951/article/details/82349253