开源OCR文字识别软件Calamari

Calamari是一种新的开源OCR识别软件,它使用了最先进的Tensorflow实现的深度神经网络(DNN)。 提供了预训练模型和多模型投票技术。由卷积神经网络(CNNS)和长短时记忆(LSTM)层构成的可定制网络架构通过Graves等人的连接时间分类(CTC)算法进行训练。而GPU的使用大大减少了训练和预测的计算时间。我们使用两个不同的数据集来比较Calamari与OCRopy,OCRopus3和Tesseract 4的性能.Calamari在用现代英语写的UW3数据集上达到0.11%的字符错误率(CER),在用德语写的DTA19数据集上达到0.18% 错误率,其性能远远优于以上现有开源软件的结果。
使用了目前OCR最先进的的技术,CNN+LSTM+CTC+voting。
calamari OCR引擎,使用Python3编写,基于OCRopy和Kraken构建,它的设计使你既可以方便的使用命令行运行,也可以把它模块化嵌入到其他python脚本中。

在UW3和DTA19上的识别结果错误率,与OCRopy、Tesseract4、OCropus3相比较:

与其他软件相比的识别速度,有GPU加持当然很快:

值得注意的事,该库主要是用来识别印刷体古籍文字,在自然场景图像上的识别并没有实验说明。

文中识别所用的数据库图片示例:

转载来源:《开源OCR文字识别软件Calamari

 

推荐文章

曾经,机器人的出现改变了整个制造业经济领域。如今,人工智能和自动化以同样的方式颠覆着信息工作,人类开始逐渐将认知劳动交付给计算机。例如,在新闻业中,数据挖掘系统会提醒记者编辑们注意潜在的新闻选题,而新闻机构则为观众提供了获取信息的新方法。自动报道机制如今已可以覆盖财经、体育等品类的新闻。当这些智能技术渗透到各行各业中时,人们通常会好奇传统工种和劳动力将受到怎样的冲击。本期全媒派带来独家编译,看看在人工智能加入的新闻业中,做新闻的会是谁?他,或者说它们,又会怎么做新闻?强化而非替代西北大学助理教授及计算机新闻实验室总监Nicholas Diakopoulos在其最新著作《自动新世界:算法如何改写媒体》中通过一系列论证表明,即使在人工智能主导的未来,仍然会存在很多人类新闻工作者。但是,这些人的工作,角色以及工作内容都会有所改变。人力将与算法结合,以释放人工智能的能力,同时适应其局限性。据估计,以目前的人工智能技术水平,记者的工作中只有约15%可以实现自动化,编辑则只有区区9%。在好莱坞大片以外的真实世界中,人类仍然在几个新闻业关键领域对人工智能保持优势,包括复杂沟通,专业思考,适应性,以及创造力。报道,倾听,回应和推拉,平衡信源,最后将这些环节打通,用创造力输出内容,记者工作的每一步都不可或缺,而人工智能甚至无法完成其中任何一个。但是,人工智能可以强化人类的工作成果,以帮助提高工作效率或质量。它能为深化新闻报道带来新机,让报道变得更加个性化。新闻编辑部的工作总是在适应新技术的浪潮,摄影、电话、电脑,甚至是小小的复印机。记者也必将适应与人工智能的协同作业。作为一种技术,人工智能已经并将持续改变新闻工作,但它非但不会取代一个训练有素的新闻人,反而会让他变得更强。新工种的出现Nicholas Diakopoulos发现,人工智能技术似乎正在为新闻界创造新的工作类型。以美联社为例,该社在2017年推出了计算机视觉人工智能技术,用以标记每天处理的数千张新闻照片。系统可以在标注中指明这张照片包含了什么内容或者哪些人,摄影风格如何,有无暴力画面等信息。该系统将图片编辑从大量的标注工作中解放出来,从而拥有更多的时间来思考他们应该发布什么。但无论在研发端还是编辑端,对这一系统的开发都需要大量的工作:编辑必须弄清要标记的内容以及算法对这一任务的匹配度,然后开发新的测试数据集来评估效果。完成所有操作后,他们仍然需要监控系统,手动批准每张照片的建议标签来确保高准确度。负责该项目的美联社高管Stuart Myles告诉Nicholas Diakopoulos,这项工作耗时数年,十多名编辑、技术和行政人员参与其中。大约三分之一的工作涉及新闻专业知识以及一些特别难以实现自动化的判准。虽然在将来人力监督有望削减,但随着技术系统的发展和扩大,编辑的工作仍将不可或缺。半自动化内容制作在英国,RADAR项目每月通过半自动化模式输出约8000篇本地化新闻。该项目由6名记者运营,他们找到按地理区域划分的政府数据集,筛选出有趣且有新闻价值的选题,然后将这些想法发展为数据驱动的报道模板。模板通过编码,将每条文本和数据归属的地理位置一一对应。例如,一篇报道可以讨论英国的人口老龄化问题,并通过布里斯托不同的本地化统计数据,向卢顿市的读者展示他们所属社群的变迁情况。这些报道会由通讯社发送到当地媒体,并由他们决定是否发布和如何发布。在这一方法中,记者和自动化高效结合:记者利用他们的专业知识和沟通技巧,为数据预设一些可能的“故事线”。他们也会与不同信源讨论来获取某个问题的全国普适视角,从而编写报道模板。在这个过程中,自动化充当了新闻生产小助手的角色,使同一文本能够适应不同的当地环境。RADAR记者使用一种名为Arria Studio的工具,它可以让内容生产者一睹自动化内容在实践中呈现的样子——它看起来就像一个复杂版的Word。作者写出各种碎片式的文本,而这些文本则由if- then- else(如果-那么-否则)的代码规则驱动。例如,在地震报告中,我们可能需要不同的形容词来描述8级地震和3级地震。因此,我们可以这样设计代码:如果地震强度>7,那么输出文本“强烈地震”。否则,如果地震强度<3,输出文本“小型地震“。像Arria 这样的工具还包含强大的语言功能,例如自动共轭动词或拒绝使用名词,从而更轻松地处理需要根据数据进行更改的文本。Arria的创作界面使得记者可以专注于自己擅长的事——从逻辑上构建引人入胜的报道情节并制作富有创意的非重复性文本。但他们也需要一些新的方法来构思报道。例如,模板的编写者在做一个报道前,得了解数据能做到什么。他们需要想象数据能如何丰富角度或使叙事变得多样,同时能勾画出驱动这些变化的内在逻辑。监督,管理或编辑自动化内容的工作人员也越来越多地出现在新闻编辑室中。质量和准确性是新闻业界最关注的问题。为此,RADAR开发了一个三阶段质检流程:首先,记者将阅读所有的自动化内容;然后,另一位记者将报道中给出的所有结论回溯到原始数据源;最后,编辑会再一次检查报道模板中的逻辑来排除错漏。这几乎就像一个软件工程师团队在调试脚本时所做的工作,而这也是人类为了让自动化正常运转而不得不做的事。终结付费墙?内容生产并不是人工智能大施拳脚的唯一赛道。通过机器学习的算法,新闻媒体还可能发展出新的订阅模式,实现对每一位用户内容消费的量身定制。通过调整订阅策略以及付费墙设置,新闻媒体一直在试图平衡自由浏览量和用户阅读权限——也就是在寻找广告收入和订阅收入之间的最佳平衡点。当然,这个神奇的平衡点并不存在。有的人可能在一次浏览后就会订阅,有的人则需要更长时间才能做出付费转化的决定,而有些人根本就不会订阅。这些用户维度的个人差异基于大量指标而变化,例如地理位置、内容消费习惯、访问行为、主题、设备等。在新技术的加持下,内容供应商不再需要通过单个数字来定义最佳策略,甚至不需要确定一个引导读者订阅的特定路径。如今,他们可以实时为每个用户生成最佳规则,向那些最有可能回应的人提供高价值的优惠。计算机无法自主制定营销策略,但它无疑可以帮助我们对营销策略进行优化。美国公司Piano用了大约一年时间来改进和测试用户可能性模型。他们的机器学习系统可以筛选出所有浏览器级别的可用数据,从而能够预测并驱动用户行为。Piano的第一个可能性模型就致力于预测用户订阅的可能性。以下是它的工作原理:通过与全球各地传媒公司的关联,Piano已经能够分析数百个订阅网站和数十亿的每月用户互动。这一独特的优势使Piano工作人员对营销订阅的因素有了一些深入认知。更重要的是,它为我们观测影响订阅可能性因素提供了确切的数据。某些数据点与用户转化的可能性密切相关。例如,用户每天或每周访问某个网站的时间,或者他们访问的设备类型等因素,都会定期形成可预测的模式,从而展示用户最终的行为方式。动态付费墙规则是一种新兴业务,它的背后冉冉升起的是一个定价和业务规则完全动态并为每个用户定制的世界。虽然“订阅经济”已经取得了很大成就,但我们认为这种转变比从一次性支付转向经常性支付更重大。这将是一个全新的世界,企业生产的所有内容都可以实时响应每一个用户、每一份商机。深耕人力资源如前文所述,人工智能和自动化非但没有减少新闻业的岗位,反而正在创造新工作,并改变现有的工作。今后,记者需要接受培训,以设计、更新、调整、检验、纠正、监督以及维护这些技术系统。许多人可能需要学会和数据一起工作,用逻辑思维来处理数据,多熟练掌握一些计算机编程基础知识也是不会错的。随着这些新技术的发展,确保它们是优质的工作非常重要——人们不能只是在更大的生产机器中成为齿轮,这种新型混合劳动的管理者和设计者需要考量人类对自主性、有效性和可用性的关注。Nicholas Diakopoulos乐观地认为,在这些技术中聚焦人类经验,将使内容工作者成长,让社会蓬勃发展,让人工智能和自动化交出更好的答卷。

热门文章

简单讲:互联网数据标注员是借助电脑或者移动设备对一些原始的数据进行处理,生产出满足AI公司机器学习需要数据的一群人。按照数据处理对象的不同,工作内容也会有差别,标注员的工作内容可以分为:分类;框选;注释;标记。按照所处公司的不同,标注员的工作方式也会有差别:有的人工智能公司处于对数据安全性考虑会自建标注团队,在这些公司工作的标注员可以保证自己工作内容不会出现太大变动;但一些服务于人工智能公司非专业外包公司标注员的工作则是项目制的,一个项目忙完紧接着做另一个项目,这样工作内容连续性较差,对一种类型的项目经验也不会积累的太多。就目前来说,人工智能还处于人工增长阶段,机器依然需要大量的数据进行训练,测试。标注员在当下也会一直存在,而且从业群体会越来越多,所以暂时不用担心这份职业会不会短期消失。就标注员从业来说,建议选择人工智能公司和专业的数据公司,这样可以保证自己在一个方向上了解的足够深入。就职场晋升来说,以牛牛数据为例:标注员——项目经理——项目总监——数据运营总监。首先谈谈什么是数据标注。数据标注有许多类型,如分类、画框、注释、标记等等,我们会在下面详谈。要理解数据标注,得先理解AI其实是部分替代人的认知功能。回想一下我们是如何学习的,例如我们学习认识苹果,那么就需要有人拿着一个苹果到你面前告诉你,这是一个苹果。然后以后你遇到了苹果,你才知道这玩意儿叫做“苹果”。类比机器学习,我们要教他认识一个苹果,你直接给它一张苹果的图片,它是完全不知道这是个啥玩意的。我们得先有苹果的图片,上面标注着“苹果”两个字,然后机器通过学习了大量的图片中的特征,这时候再给机器任意一张苹果的图片,它就能认出来了。这边可以顺带提一下训练集和测试集的概念。训练集和测试集都是标注过的数据,还是以苹果为例子,假设我们有1000张标注着“苹果”的图片,那么我们可以拿900涨作为训练集,100张作为测试集。机器从900张苹果的图片中学习得到一个模型,然后我们将剩下的100张机器没有见过的图片去给它识别,然后我们就能够得到这个模型的准确率了。想想我们上学的时候,考试的内容总是不会和我们平时的作业一样,也只有这样才能测试出学习的真正效果,这样就不难理解为什么要划分一个测试集了。我们知道机器学习分为有监督学习和无监督学习。无监督学习的效果是不可控的,常常是被用来做探索性的实验。而在实际产品应用中,通常使用的是有监督学习。有监督的机器学习就需要有标注的数据来作为先验经验。在进行数据标注之前,我们首先要对数据进行清洗,得到符合我们要求的数据。数据的清洗包括去除无效的数据、整理成规整的格式等等。具体的数据要求可以和算法人员确认。二、常见的几种数据标注类型1.分类标注:分类标注,就是我们常见的打标签。一般是从既定的标签中选择数据对应的标签,是封闭集合。如下图,一张图就可以有很多分类/标签:成人、女、黄种人、长发等。对于文字,可以标注主语、谓语、宾语,名词动词等。&lt;img src="https://pic2.zhimg.com/50/v2-df93dc0a7e8a5fe387dc3774748b5f05_hd.jpg" data-caption="" data-size="normal" data-rawwidth="700" data-rawheight="400" class="origin_image zh-lightbox-thumb" width="700" data-original="https://pic2.zhimg.com/v2-df93dc0a7e8a5fe387dc3774748b5f05_r.jpg"&gt;适用:文本、图像、语音、视频应用:脸龄识别,情绪识别,性别识别2.标框标注:机器视觉中的标框标注,很容易理解,就是框选要检测的对象。如人脸识别,首先要先把人脸的位置确定下来。行人识别,如下图。&lt;img src="https://pic2.zhimg.com/50/v2-7824903d6d840e2bb08d96b5c2fa5874_hd.jpg" data-caption="" data-size="normal" data-rawwidth="591" data-rawheight="398" class="origin_image zh-lightbox-thumb" width="591" data-original="https://pic2.zhimg.com/v2-7824903d6d840e2bb08d96b5c2fa5874_r.jpg"&gt;适用:图像应用:人脸识别,物品识别3.区域标注:相比于标框标注,区域标注要求更加精确。边缘可以是柔性的。如自动驾驶中的道路识别。&lt;img src="https://pic3.zhimg.com/50/v2-4bc1dd2278182acf94fc426d7e6f2dc1_hd.jpg" data-caption="" data-size="normal" data-rawwidth="601" data-rawheight="377" class="origin_image zh-lightbox-thumb" width="601" data-original="https://pic3.zhimg.com/v2-4bc1dd2278182acf94fc426d7e6f2dc1_r.jpg"&gt;适用:图像应用:自动驾驶4.描点标注:一些对于特征要求细致的应用中常常需要描点标注。人脸识别、骨骼识别等。&lt;img src="https://pic4.zhimg.com/50/v2-5e24f394516c75e45942c37ba0da85c0_hd.jpg" data-caption="" data-size="normal" data-rawwidth="583" data-rawheight="387" class="origin_image zh-lightbox-thumb" width="583" data-original="https://pic4.zhimg.com/v2-5e24f394516c75e45942c37ba0da85c0_r.jpg"&gt;适用:图像应用:人脸识别、骨骼识别5.其他标注:标注的类型除了上面几种常见,还有很多个性化的。根据不同的需求则需要不同的标注。如自动摘要,就需要标注文章的主要观点,这时候的标注严格上就不属于上面的任何一种了。(或则你把它归为分类也是可以的,只是标注主要观点就没有这么客观的标准,如果是标注苹果估计大多数人标注的结果都差不多。)三、有什么发展前途?数据标注员可以说是AI消灭了一部分工作又创造出来的一种工作。在未来AI发展良好的前提下,数据的缺口一定是巨大的。可以预见3-5年内数据标注员的需求会一直存在。至于发展,其实所谓一些熟能生巧的工作,都是有被替代掉的风险的。深度学习解决的一件事情就是熟能生巧。在这个岗位上,其实你的一些想法就代表了AI的想法,AI会根据你标注的数据进行学习,想想还是有点成就感的。数据标注可以说是AI的入门级岗位,未来可转向其他AI岗位。如项目实施顾问等,这就要求更多的工作技能,需要再工作中积累。作者:跹尘链接:https://www.zhihu.com/question/30654399/answer/264828926来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。