博舍

人工智能的发展与未来 人工智能是信息化发展的新阶段吗为什么

人工智能的发展与未来

随着人工智能(artificialintelligent,AI)技术的不断发展,各种AI产品已经逐步进入了我们的生活。

现如今,各种AI产品已经逐步进入了我们的生活|Pixabay

19世纪,作为人工智能和计算机学科的鼻祖,数学家查尔斯·巴贝奇(CharlesBabbage)与艾达·洛夫莱斯(AdaLovelace)尝试着用连杆、进位齿轮和打孔卡片制造人类最早的可编程数学计算机,来模拟人类的数理逻辑运算能力。

20世纪初期,随着西班牙神经科学家拉蒙-卡哈尔(RamónyCajal)使用高尔基染色法对大脑切片进行显微观察,人类终于清晰地意识到,我们几乎全部思维活动的基础,都是大脑中那些伸出细长神经纤维、彼此连接成一张巨大信息网络的特殊神经细胞——神经元。

至此,尽管智能的具体运作方式还依然是个深不见底的迷宫,但搭建这个迷宫的砖瓦本身,对于人类来说已经不再神秘。

智能,是一种特殊的物质构造形式。

就像文字既可以用徽墨写在宣纸上,也可以用凿子刻在石碑上,智能,也未必需要拘泥于载体。随着神经科学的启迪和数学上的进步,20世纪的计算机科学先驱们意识到,巴贝奇和艾达试图用机械去再现人类智能的思路,在原理上是完全可行的。因此,以艾伦·图灵(AlanTuring)为代表的新一代学者开始思考,是否可以用二战后新兴的电子计算机作为载体,构建出“人工智能”呢?

图灵在1950年的论文《计算机器与智能(ComputingMachineryandIntelligence)》中,做了一个巧妙的“实验”,用以说明如何检验“人工智能”。

英国数学家,计算机学家图灵

这个“实验”也就是后来所说的“图灵测试(Turingtest)”:一名人类测试者将通过键盘和显示屏这样不会直接暴露身份的方式,同时与一名人类和一台计算机进行“网聊”,当人类测试者中有七成都无法正确判断交谈的两个“人”孰真孰假时,就认为这个计算机已经达到了“人工智能”的标准。

虽然,图灵测试只是一个启发性的思想实验,而非可以具体执行的判断方法,但他却通过这个假设,阐明了“智能”判断的模糊性与主观性。而他的判断手段,则与当时心理学界崛起的斯纳金的“行为主义”不谋而合。简而言之,基于唯物主义的一元论思维,图灵和斯金纳都认为,智能——甚至所有思维活动,都只是一套信息处理系统对外部刺激做出反应的运算模式。因此,对于其他旁观者来说,只要两套系统在面对同样的输入时都能够输出一样的反馈,就可以认为他们是“同类”。

1956年,人工智能正式成为了一个科学上的概念,而后涌现了很多新的研究目标与方向。比如说,就像人们在走迷宫遇到死胡同时会原路返回寻找新的路线类似,工程师为了使得人工智能达成某种目标,编写出了一种可以进行回溯的算法,即“搜索式推理”。

而工程师为了能用人类语言与计算机进行“交流”,又构建出了“语义网”。由此第一个会说英语的聊天机器人ELIZA诞生了,不过ELIZA仅仅只能按照固定套路进行作答。

而在20世纪60年代后期,有学者指出人工智能应该简化自己的模型,让人工智能更好的学习一些基本原则。在这一思潮的影响下,人工智能开始了新一轮的发展,麻省理工学院开发了一种早期的自然语言理解计算机程序,名为SHRDLU。工程师对SHRDLU的程序积木世界进行了极大的简化,里面所有物体和位置的集合可以用大约50个单词进行描述。模型极简化的成果,就是其内部语言组合数量少,程序基本能够完全理解用户的指令意义。在外部表现上,就是用户可以与装载了SHRDLU程序的电脑进行简单的对话,并可以用语言指令查询、移动程序中的虚拟积木。SHRDLU一度被认为是人工智能的成功范例,但当工程师试图将这个系统用来处理现实生活中的一些问题时,却惨遭滑铁卢。

而这之后,人工智能的发展也与图灵的想象有所不同。

现实中的人工智能发展,并未在模仿人类的“通用人工智能(也称强人工智能)”上集中太多资源。相反,人工智能研究自正式诞生起,就专注于让计算机通过“机器学习”来自我优化算法,最后形成可以高效率解决特定问题的“专家系统”。由于这些人工智能只会在限定好的狭窄领域中发挥作用,不具备、也不追求全面复杂的认知能力,因此也被称为“弱人工智能”。

但是无论如何,这些可以高效率解决特定问题的人工智能,在解放劳动力,推动现代工厂、组织智能化管理上都起到了关键作用。而随着大数据、云计算以及其他先进技术的发展,人工智能正在朝着更加多远,更加开放的方向发展。随着系统收集的数据量增加,AI算法的完善,以及相关芯片处理能力的提升,人工智能的应用也将逐渐从特定的碎片场景转变为更加深度、更加多元的应用场景。

人工智能让芯片的处理能力得以提升|Pixabay

从小的方面来看,人工智能其实已经渐渐渗透进了我们生活的方方面面。比如喊一声就能回应你的智能语音系统,例如siri,小爱同学;再比如在超市付款时使用的人脸识别;抑或穿梭在餐厅抑或酒店的智能送餐机器人,这些其实都是人工智能的应用实例。而从大的方面来看,人工智能在制造、交通、能源及互联网行业的应用正在逐步加深,推动了数字经济生态链的构建与发展。

虽然脑科学与人工智能之间仍然存在巨大的鸿沟,通用人工智能仍然像个科幻梦,但就像萧伯纳所说的那样“科学始终是不公道的,如果它不提出十个问题,也永远无法解决一个问题。”科学总是在曲折中前进,而我们只要保持在不断探索中,虽无法预测是否能达到既定的目的地,但途中终归会有收获。

参考文献

[1]王永庆.人工智能原理与方法[M].西安交通大学出版社,1998.

[2]Russell,StuartJ.ArtificialIntelligence:AModernApproach[J].人民邮电出版社,2002.

[3]GabbayDM,HoggerCJ,RobinsonJA,etal.Handbookoflogicinartificialintelligenceandlogicprogramming.Vol.1:Logicalfoundations.,1995.

[4]胡宝洁,赵忠文,曾峦,张永继.图灵机和图灵测试[J].电脑知识与技术:学术版,2006(8):2.

[5]赵楠,缐珊珊.人工智能应用现状及关键技术研究[J].中国电子科学研究院学报,2017,12(6):3.

[6]GeneserethMR,NilssonNJ.LogicalFoundationofArtificialIntelligence[J].brainbroadresearchinartificialintelligence&neuroscience,1987

作者:张雨晨

编辑:韩越扬

[责编:赵宇豪]

人工智能的三次浪潮与三种模式

■史爱武

谈到人工智能,人工智能的定义到底是什么?

达特茅斯会议上对人工智能的定义是:使一部机器的反应方式就像是一个人在行动时所依据的智能。

百度百科上对人工智能的定义是:它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。

尽管人工智能现在还没有非常严格准确或者所有人都接受的定义,但是有一些约定俗成的说法。通常人工智能是指机器智能,让机器达到人智能所实现的一些功能。人工智能既然是机器智能,就不是机械智能,那么这个机器是指什么呢?是指计算机,用计算机仿真出来的人的智能行为就可以叫作人工智能。

2017年7月,国务院印发了《新一代人工智能发展规划》。2017年12月,人工智能入选“2017年度中国媒体十大流行语”。这一国家级战略和社会流行趋势标志着,人工智能发展进入了新阶段,我国要抢抓人工智能发展的重大战略机遇,构筑人工智能发展的先发优势,加快建设创新型国家和世界科技强国。

人工智能的三次浪潮

自1956年开始,人工智能经历了三起三落,出现了几次浪潮,现在人工智能已经是处于第三次浪潮了。

第一次浪潮(1956-1976年,20年),最核心的是逻辑主义

逻辑主义主要是用机器证明的办法去证明和推理一些知识,比如用机器证明一个数学定理。要想证明这些问题,需要把原来的条件和定义从形式化变成逻辑表达,然后用逻辑的方法去证明最后的结论是对的还是错的,也叫做逻辑证明。

早期的计算机人工智能实际上都是沿着这条路在走。当时很多专家系统,比如医学专家系统,用语言文字输入一些症状,在机器里面变换成逻辑表达,用符号演算的办法推理出大概得了什么病。所以当时的主要研究都集中在逻辑抽象、逻辑运算和逻辑表达等方面。

在第一次浪潮中,数学定理证明实际上是实现效果最好的,当时有很多数学家用定理思路证明了数学定理。为了更好地完成定理证明工作,当时出了很多和逻辑证明相关的逻辑程序语言,比如很有名的Prolog。

虽然当时的成果已经能够解开拼图或实现简单的游戏,却几乎无法解决任何实用的问题。

第二次浪潮(1976—2006年,30年),联结主义盛行

在第一次浪潮期间,逻辑主义和以人工神经网络为代表的联结主义相比,逻辑主义是完全占上风的,联结主义那时候不太吃香。然而逻辑主义最后无法解决实用的问题,达不到人们对它的期望,引起了大家的反思,这时候人工神经网络(也就是联结主义)就慢慢占了上风。

在70年代末,整个神经元联结网络、模型都有突飞猛进的进步,最重要的是BP前馈神经网络。1986年BP前馈神经网络刚出来的时候解决了不少问题,后来大家往更大的领域应用,实现了比较大的成果。在很多模式识别的领域、手写文字的识别、字符识别、简单的人脸识别也开始用起来,这个领域一下子就热起来,一时之间,人们感觉人工智能大有可为。随后十几年人们发现神经网络可以解决一些单一问题,解决复杂问题却有些力不从心。训练学习的时候,数据量太大,有很多结果到一定程度就不再往上升了。

这时期所进行的研究,是以灌输“专家知识”作为规则,来协助解决特定问题的“专家系统”为主。虽然有一些实际的商业应用案例,应用范畴却很有限,第二次热潮也就慢慢趋于消退。

第三次浪潮(2006—现在),基于互联网大数据的深度学习的突破

如果按照技术分类来讲,第二次和第三次浪潮都是神经网络技术的发展,不同的是,第三次浪潮是多层神经网络的成功,也就是深度学习取得突破。这里既有硬件的进步,也有卷积神经网络模型与参数训练技巧的进步。

若观察脑的内部,会发现有大量称为“神经元”的神经细胞彼此相连。一个神经元从其他神经元那里接收的电气信号量达某一定值以上,就会兴奋(神经冲动);在某一定值以下,就不会兴奋。兴奋起来的神经元,会将电气信号传送给下一个相连的神经元。下一个神经元同样会因此兴奋或不兴奋。简单来说,彼此相连的神经元,会形成联合传递行为。我们透过将这种相连的结构来数学模型化,便形成了人工神经网络。

经模型化的人工神经网络,是由“输入层”“隐藏层”及“输出层”等三层构成。深度学习往往意味着有多个隐藏层,也就是多层神经网络。另外,学习数据则是由输入数据以及相对应的正确解答来组成。

为了让输出层的值跟各个输入数据所对应的正解数据相等,会对各个神经元的输入计算出适当的“权重”值。通过神经网络,深度学习便成为了“只要将数据输入神经网络,它就能自行抽出特征”的人工智能。

伴随着高性能计算机、云计算、大数据、传感器的普及,以及计算成本的下降,“深度学习”随之兴起。它通过模仿人脑的“神经网络”来学习大量数据的方法,使它可以像人类一样辨识声音及影像,或是针对问题做出合适的判断。在第三次浪潮中,人工智能技术及应用有了很大的提高,深度学习算法的突破居功至伟。

深度学习最擅长的是能辨识图像数据或波形数据这类无法符号化的数据。自2010年以来,Apple、Microsoft及Google等国际知名IT企业,都投入大量人力物力财力开展深度学习的研究。例如AppleSiri的语音识别,Microsoft搜索引擎Bing的影像搜寻等等,而Google的深度学习项目也已超过1500项。

深度学习如此快速的成长和应用,也要归功于硬件设备的提升。图形处理器(GPU)大厂英伟达(NVIDIA)利用该公司的图形适配器、连接库(Library)和框架(Frame⁃work)产品来提升深度学习的性能,并积极开设研讨课程。另外,Google也公开了框架TensorFlow,可以将深度学习应用于大数据分析。

人工智能的3种模式

人工智能的概念很宽泛,根据人工智能的实力可以分成3大类,也称为3种模式。

(1)弱人工智能:擅长于单个方面的人工智能,也叫专业人工智能。比如战胜世界围棋冠军的人工智能AlphaGo,它只会下围棋,如果让它下国际象棋或分辨一下人脸,它可能就会犯迷糊,就不知道怎么做了。当前我们实现的几乎全是弱人工智能。

(2)强人工智能:是指在各方面都能和人类比肩的人工智能,这是类似人类级别的人工智能,也叫通用人工智能。人类能干的脑力活,它都能干,创造强人工智能比创造弱人工智能难得多,目前我们还做不到。

(3)超人工智能:知名人工智能思想家NickBostrom把超级智能定义为“在几乎所有领域都比最聪明的人类大脑都聪明很多,包括科学创新、通识和社交技能”。超人工智能可以是各方面都比人类强点,也可以是各方面都比人类强很多倍。超人工智能现在还不存在,很多人也希望它永远不要存在。否则,可能像好莱坞大片里面的超级智能机器一样,对人类也会带来一些威胁或者颠覆。

我们现在处于一个充满弱人工智能的世界。比如,垃圾邮件分类系统是个帮助我们筛选垃圾邮件的弱人工智能;Google翻译是可以帮助我们翻译英文的弱人工智能等等。这些弱人工智能算法不断地加强创新,每一个弱人工智能的创新,都是迈向强人工智能和超人工智能的进步。正如人工智能科学家AaronSaenz所说,现在的弱人工智能就像地球早期软泥中的氨基酸,可能突然之间就形成了生命。如世界发展的规律看来,超人工智能也是未来可期的!

人工智能最新研究发展方向——OCR文字识别简述

1研究背景

人工智能是研究开发能够模拟、延伸和扩展人类智能的理论、方法、技术及应用系统的一门新的技术科学,研究目的是促使智能机器会听(语音识别、机器翻译等)、会看(图像识别、文字识别等)、会说(语音合成、人机对话等)、会思考(人机对弈、定理证明等)、会学习(机器学习、知识表示等)、会行动(机器人、自动驾驶汽车等)。人工智能充满未知的探索道路曲折起伏。如何描述人工智能自1956年以来60余年的发展历程,学术界可谓仁者见仁、智者见智。通过查阅资料将人工智能的发展历程划分为以下6个阶段:一是起步发展期:1956年—20世纪60年代初。人工智能概念提出后,相继取得了一批令人瞩目的研究成果,如机器定理证明、跳棋程序等,掀起人工智能发展的第一个高潮。二是反思发展期:20世纪60年代—70年代初。人工智能发展初期的突破性进展大大提升了人们对人工智能的期望,人们开始尝试更具挑战性的任务,并提出了一些不切实际的研发目标。然而,接二连三的失败和预期目标的落空(例如,无法用机器证明两个连续函数之和还是连续函数、机器翻译闹出笑话等),使人工智能的发展走入低谷。三是应用发展期:20世纪70年代初—80年代中。20世纪70年代出现的专家系统模拟人类专家的知识和经验解决特定领域的问题,实现了人工智能从理论研究走向实际应用、从一般推理策略探讨转向运用专门知识的重大突破。专家系统在医疗、化学、地质等领域取得成功,推动人工智能走入应用发展的新高潮。四是低迷发展期:20世纪80年代中—90年代中。随着人工智能的应用规模不断扩大,专家系统存在的应用领域狭窄、缺乏常识性知识、知识获取困难、推理方法单一、缺乏分布式功能、难以与现有数据库兼容等问题逐渐暴露出来。五是稳步发展期:20世纪90年代中—2010年。由于网络技术特别是互联网技术的发展,加速了人工智能的创新研究,促使人工智能技术进一步走向实用化。1997年国际商业机器公司(简称IBM)深蓝超级计算机战胜了国际象棋世界冠军卡斯帕罗夫,2008年IBM提出“智慧地球”的概念。以上都是这一时期的标志性事件。六是蓬勃发展期:2011年至今。随着大数据、云计算、互联网、物联网等信息技术的发展,泛在感知数据和图形处理器等计算平台推动以深度神经网络为代表的人工智能技术飞速发展,大幅跨越了科学与应用之间的“技术鸿沟”,诸如图像分类、语音识别、知识问答、人机对弈、无人驾驶等人工智能技术实现了从“不能用、不好用”到“可以用”的技术突破,迎来爆发式增长的新高潮。

2OCR文字识别2.1什么是OCR?

图自然场景OCR文字识别OCR英文全称是OpticalCharacterRecognition,中文叫做光学字符识别。它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式。文字识别是计算机视觉研究领域的分支之一,而且这个课题已经是比较成熟了,并且在商业中已经有很多落地项目了。比如汉王OCR,百度OCR,阿里OCR等等,很多企业都有能力都是拿OCR技术开始挣钱了。其实我们自己也能感受到,OCR技术确实也在改变着我们的生活:比如一个手机APP就能帮忙扫描名片、身份证,并识别出里面的信息;汽车进入停车场、收费站都不需要人工登记了,都是用车牌识别技术;我们看书时看到不懂的题,拿个手机一扫,APP就能在网上帮你找到这题的答案。太多太多的应用了,OCR的应用在当今时代确实是百花齐放。

2.2OCR的分类

如果要给OCR进行分类分为两类:手写体识别和印刷体识别。这两个可以认为是OCR领域两个大主题了,当然印刷体识别较手写体识别要简单得多,也能从直观上理解,印刷体大多都是规则的字体,因为这些字体都是计算机自己生成再通过打印技术印刷到纸上。在印刷体的识别上有其独特的干扰:在印刷过程中字体很可能变得断裂或者墨水粘连,使得OCR识别异常困难。当然这些都可以通过一些图像处理的技术帮他尽可能的还原,进而提高识别率。总的来说,单纯的印刷体识别在业界已经能做到很不错了,但说100%识别是肯定不可能的,但是说识别得不错那是没毛病。

图手写字体展示印刷体已经识别得不错了,那么手写体呢?手写体识别一直是OCR界一直想攻克的难关,但是时至今天,感觉这个难关还没攻破,还有很多学者和公司在研究。为什么手写体识别的难度在于因为人类手写的字往往带有个人特色,每个人写字的风格基本不一样,印刷体一般都比较规则,字体都基本就那几十种,机器学习这几十种字体并不是一件难事,但是手写体,每个人都有一种字体的话,那机器该学习大量字体,这就是难度所在。

2.3OCR流程

假如输入系统的图像是一页文本,那么识别时的第一件事情是判断页面上的文本朝向,因为得到的这页文档往往都不是很完美的,很可能带有倾斜或者污渍,那么要做的第一件事就是进行图像预处理,做角度矫正和去噪。然后要对文档版面进行分析,进每一行进行行分割,把每一行的文字切割下来,最后再对每一行文本进行列分割,切割出每个字符,将该字符送入训练好的OCR识别模型进行字符识别,得到结果。但是模型识别结果往往是不太准确的,需要对其进行识别结果的矫正和优化,比如可以设计一个语法检测器,去检测字符的组合逻辑是否合理。比如,考虑单词Because,设计的识别模型把它识别为8ecause,那么就可以用语法检测器去纠正这种拼写错误,并用B代替8并完成识别矫正。这样子,整个OCR流程就走完了。从大的模块总结而言,一套OCR流程可以分为:

从上面的流程图可以看出,要做字符识别并不是单纯一个OCR模块就能实现的(如果单纯的OCR模块,识别率相当低),都要各个模块的组合来保证较高的识别率。上面的流程分的比较粗,每个模块下还是有很多更细节的操作,每个操作都关系着最终识别结果的准确性。做过OCR的童鞋都知道,送入OCR模块的图像越清晰(即预处理做的越好),识别效果往往就越好。那现在对这流程中最为重要的字符识别技术做一个总结。

2.4OCR的简单应用

图瓶盖的生产日期识别在一些简单环境下OCR的准确度已经比较高了(比如电子文档),但是在一些复杂环境下的字符识别,在当今还没有人敢说自己能做的很好。现在大家都很少会把目光还放在如何对电子文档的文字识别该怎么进一步提高准确率了,因为他们把目光放在更有挑战性的领域。OCR传统方法在应对复杂图文场景的文字识别显得力不从心,越来越多人把精力都放在研究如何把文字在复杂场景读出来,并且读得准确作为研究课题,用学界术语来说,就是场景文本识别(文字检测+文字识别)。

图人工智能课本识别图

3文本检测CTPN

2016年出了一篇很有名的文本检测的论文:《DetectingTextinNaturalImagewithConnectionistTextProposalNetwork》,这个深度神经网络叫做CTPN,直到今天这个网络框架一直是OCR系统中做文本检测的一个常用网络,极大地影响了后面文本检测算法的方向。回顾一下FasterRCNN做目标检测的一个缺点就是,没有考虑带文本自身的特点。文本行一般以水平长矩形的形式存在,而且文本行中每个字都有间隔。针对这个特点,CTPN剔除一个新奇的想法,把文本检测的任务拆分,第一步检测文本框中的一部分,判断它是不是一个文本的一部分,当对一幅图里所有小文本框都检测之后,将属于同一个文本框的小文本框合并,合并之后得到一个完整的、大的文本框了,也就完成了文本的检测任务。这个想法很有创造性,有点像“分治法”,先检测大物体的一小部分,等所有小部分都检测出来,大物体也就可以检测出来了。图RPN和CTPN对比如图所示,左边的图是直接使用FasterRCNN中的RPN来进行候选框提取,可以看出,这种候选框太粗糙了,效果并不好。而右图是利用许多小候选框来合并成一个大文本预测框,可以看出这个算法的效果非常不错,需要说明的是,红色框表示这个小候选框的置信度比较高,而其他颜色的候选框的置信度比较低,可以看到,一个大文本的边界都是比较难预测的,那怎么解决这个边界预测不准的问题呢?后面会提到。刚提到CTPN的其中一个闪光点,即检测小框代替直接检测大文本框。除了这个新意,CTPN还提出了在文本检测中应加入RNN来进一步提升效果。为什么要用RNN来提升检测效果?文本具有很强的连续字符,其中连续的上下文信息对于做出可靠决策来说很重要。RNN常用于序列模型,比如事件序列,语言序列等等,那CTPN算法中,把一个完整的文本框拆分成多个小文本框集合,其实这也是一个序列模型,可以利用过去或未来的信息来学习和预测,所以同样可以使用RNN模型。而且,在CTPN中,用的还是BiLSTM(双向LSTM),因为一个小文本框,对于它的预测,不仅与其左边的小文本框有关系,而且还与其右边的小文本框有关系!这个解释就很有说服力了,如果仅仅根据一个文本框的信息区预测该框内含不含有文字其实是很草率的,应该多参考这个框的左边和右边的小框的信息后(尤其是与其紧挨着的框)再做预测准确率会大大提升。

图CTPN候选框如上图所示,如果单纯依靠1号框内的信息来直接预测1号框中否存在文字(或者说是不是文本的一部分),其实难度相当大,因为1号框只包含文字的很小一部分。但是如果把2号框和3号框的信息都用上,来预测1号框是否存在文字,那么就会有比较大的把握来预测1号框确实有文字。还可以看看为什么边缘的文本框的置信度会较中间的低呢?个人认为很大一部分原因就在于因为这些框都位于总文本的边缘,没有办法充分利用左右相邻序列的信息做预测(比如位于最左的文本框丢失了其右边的信息)。这就是双向LSTM的作用,把左右两个方向的序列信息都加入到学习的过程中去。CTPN借助了FasterRCNN中anchor回归机制,使得RPN能有效地用单一尺寸的滑动窗口来检测多尺寸的物体。当然CTPN根据文本检测的特点做了比较多的创新。比如RPN中anchor机制是直接回归预测物体的四个参数(x,y,w,h),但是CTPN采取之回归两个参数(y,h),即anchor的纵向偏移以及该anchor的文本框的高度,因为每个候选框的宽度w已经规定为16个像素,不需要再学习,而x坐标直接使用anchor的x坐标,也不用学习,所以CTPN的思路就是只学习y和h这两个参数来完成小候选框的检测!跟RPN相类似,CTPN中对于每个候选框都使用了K个不同的anchors(k在这里默认是10),但是与RPN不同的是,这里的anchors的width是固定的16个像素,而height的高度范围为11~273(每次对输入图像的height除以0.7,一共K个高度)。当然CTPN中还是保留了RPN大多数的思路,比如还是需要预测候选框的分数score(该候选框有文本和无文本的得分)。文本行构建很简单,通过将那些text/no-textscore>0.7的连续的textproposals相连接即可。文本行的构建如下。首先,为一个proposalBi定义一个邻居(Bj):Bj−>Bi,其中,Bj在水平距离上离Bi最近,该距离小于50pixels它们的垂直重叠(verticaloverlap)>0.7,另外,如果同时满足Bj−>Bi和Bi−>Bj,会将两个proposals被聚集成一个pair。接着,一个文本行会通过连续将具有相同proposal的pairs来进行连接来构建。

图CTPN网络架构首先CTPN的基础网络使用了VGG16用于特征提取,在VGG的最后一个卷积层CONV5,CTPN用了3×3的卷积核来对该featuremap做卷积,这个CVON5特征图的尺寸由输入图像来决定,而卷积时的步长却限定为16,感受野被固定为228个像素。卷积后的特征将送入BLSTM继续学习,最后接上一层全连接层FC输出要预测的参数:2K个纵向坐标y,2k个分数,k个x的水平偏移量。看到这里大家可能有个疑问,这个x的偏移到底是什么,为什么需要回归这个参数?如果需要X的参数,为什么不在候选框参数回归时直接预测成(x,y,h)三个参数呢,而要多此一举把该参数单独预测,这个X的作用作者提到这也是他们论文的一大亮点,称之为Side-refinement,可以理解为文本框边缘优化。回顾一下上面提到的一个问题,文本框检测中边缘部分的预测并不准确。那么改咋办,CTPN就是用这个X的偏移量来精修边缘问题。这个X是指文本框在水平方向的左边界和右边界,通过回归这个左边界和右边界参数进而可以使得对文本框的检测更为精准。在这里想举个例子说明一下回归这个x参数的重要性。通过观察下图,第一幅图张看到有很多小候选框,位于左边的候选框我标记为1、2、3、4号框,1号框和2号框为蓝色,表明得分不高就不把这两个框合并到大文本框内,对于3号框和4号框那就比较尴尬了,如果取3号框作为文本框的边缘框,那么显然左边边缘留白太多,精准度不够,但如果去掉3号框而使用4号框作为左边缘框,则有些字体区域没有检测出来,同样检测精度不足。这种情况其实非常容易出现,所以CTPN采取了Side-refinement思路进一步优化边缘位置的预测即引入回归X参数,X参数直接标定了完整文本框的左右边界,做到精确的边界预测。第二幅图中的红色框就是经过Side-refinement后的检测结果,可以看出检测准确率有了很大的提升。side-refinement确实可以进一步提升位置准确率,在SWT的Multi-Lingualdatasets上产生2%的效果提升。再看多几幅图,体验一下Side-refinement后的效果。

最后总结一下CTPN这个流行的文本检测框架的三个闪光点:

将文本检测任务转化为一连串小尺度文本框的检测;引入RNN提升文本检测效果;Side-refinement(边界优化)提升文本框边界预测精准度。

当然,CTPN也有一个很明显的缺点:对于非水平的文本的检测效果并不好。CTPN论文中给出的文本检测效果图都是文本位于水平方向的,显然CTPN并没有针对多方向的文本检测有深入的探讨。

4总结

通过查阅相关资料学习什么是OCR并且查阅了如何实现OCR文字识别中的文字检测,并且通过理论实现流程并且用代码对CPTN文字检测进行复现。通过对文字数据预处理并且进行文字字符分割,看似简单,做起来其实很难做得很好,我们也对此查阅了很多论文,发现其实很多论文也谈到了,汉字确实很那做到一个高正确率的分割,直至现在还没有一统江湖的解决方案。汉字切割的失败,就会直接导致了后面OCR识别的失败,这也是当前很多一些很厉害的OCR公司都没法把汉字做到100%识别的一个原因。所以这个问题就必须得到很好的解决。最后我们解决汉字切割的较好方法是,在OCR识别中再把它修正。并且通过文字分割后对数据进行数据增强生成了大量数据防止模型的过拟合。并且通过学习CPTN论文,学习到了思路上的创新,在检测水平上的文字置信度很高,但是也有一些弊端对于非水平的文本检测效果并不好。

5引用文献

[1]DetectingTextinNaturalImagewithConnectionistTextProposalNetwork.作者:ZhiTian;WeilinHuang;TongHe;PanHe;YuQiao0001[2]基于深度学习的汉字识别方法研究[D].任凤丽.东华大学.2021[3]基于深度学习的光学字符识别技术研究[D].冯亚南.南京邮电大学2020[4]基于卷积神经网络的手写数字识别研究与设计[D].刘辰雨.成都理工大学2018[5]基于CRNN的中文手写识别方法研究[J].石鑫,董宝良,王俊丰.信息技术.2019(11)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。

上一篇

下一篇