0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

自动图片文本辨认是计算机视觉和机器学习处理大型数据的重要案例

zhKF_jqr_AI 来源:未知 作者:李倩 2018-10-13 08:54 次阅读

Dropbox是Dropbox公司的在线存储服务,通过云计算实现互联网上的文件同步,用户可以存储并共享文件和文件夹。最近,研究人员在一次产品更新后,在用户的工作流中加入了人工智能模块,并加入了光学字符识别(OCR)技术。用户从这些变化中最明显的感受就是,他们可以在图像或PDF文件中直接搜索英文文本。

从图像中(包括PDF)自动识别文本是一项前景广阔的技术。在Dropbox中,用户总共存储了超过200亿个图像和PDF文件,其中10%—20%是文本照片,例如收据和白色背景的图像,这些都是目前图像中文本识别的新对象。另外还有25%的PDF文件是扫描版文本,同样可以用作自动文本识别。

计算机视觉的角度来看,虽然对人类来说,看真实的文件和影印版的没有太大差别,但对计算机就大不一样了:文件可以通过搜索被检索,用户输入一些单词就可以从文件中找到目标对象。但在图像上,检索系统就无法工作了,因为它显示的只是一堆像素。通常,图像格式(例如JPEG、PNG、GIF等)都无法被检索,因为它们没有文本内容。只有基于文本的文件(例如TXT、DOCX或HTML)才能被检索。但PDF介于二者中间,因为它既能包含文本,也能包含图像。自动图像中的文本识别可以辨认这些文本,并将其中的数据进行分类。

所以现在,如果用户在任意格式下搜索英文文本,Dropbox都能显示出结果。这篇文章就讲解了研究人员的具体做法。

认识问题

首先,我们要对此任务有大致了解,尤其是要知道要处理的数据数量有多大,这不仅关系到所需成本,还有助于评估其有用性。具体需要了解的有以下三方面:

我们应该处理哪些类型的文件?

这些文件中有哪些含有可用光学字符识别技术处理的内容?

对于像PDF这样有多页的文件,我们需要处理几页才能让模型变得有效?

我们想处理的文件类型是目前不包含可检索文本内容的文件,这包括图像格式和不含有文字的PDF文档。但是,并不是所有的图像或PDF都含有文本,大多数只是一些照片或图示。所以,研究的关键是机器学习模型需要判断,给定的内容是否能用光学字符识别技术,也就是说其中是否含有能用OCR系统识别出的文本,例如不包含街景照片的文件的扫描件等等。我们训练的模型是一个卷积神经网络,输入图像并处理后,会将输出结果传递到二元决策中,看它是否含有文本内容。

最常见的图像格式是JPEG,我们发现大约有9%的JPEG图像可能含有文本。对于PDF,情况就比较复杂了,因为一份PDF文件可能含有多页,每页又可能有三种类型的内容:

已经经过嵌入或可检索的文本(69%)

有图片格式的文本,暂不可被检索(28%)

没有实质文本内容(3%)

我们主要关注第二种情况,因为这是我们研究的对象。总的来说,我们的目标用户拥有的JPEG数量是PDF的两倍,但是每个PDF文件平均有8页,而且PDF可能有更多的文本图片,所以总的来说,PDF含有的文本是JPEG的10倍。

文本页数

一旦确定了文件类型,我们就要决定以何种方式处理这些文件。有些PDF文件有很多页,处理起来很费时。幸运的是,对于长文本,即使只检索几页,也可以让文本更易于搜索。所以,我们统计了PDF采样中页数的分布情况,弄清楚每份文件最多可以对几页进行检索。最终结果显示,一半的PDF只有一页内容,大约90%的PDF在10页及以下。所以我们把上限定为10页,这意味着我们可以对将近90%的文档进行索引,而且运用了足够多的页数。

自动图像文本识别系统的组成

格式转换

当我们开始用OCR提取文本后,需要确定如何对PDF文件中的图像数据进行转换:我们可以对文件流中的像素图像目标分开提取,或者可以将整页PDF转换成光栅图像数据。两种方法都实践之后,我们选择了后者,因为我们已经已经有了稳定的大型PDF转换工具。使用这一系统的优点如下:

它可以自然地扩展到其他需要翻译或嵌有图片的文件格式中,例如PowerPoint、PostScript和其他支持的格式。

转换过程很自然地保留了文本符的顺序和页面中文本的位置,考虑了文件结构。

在我们此前的Chromium项目中,服务器部分的转换是基于PDFium完成的,这是一个由谷歌基于Chrome浏览器开源的项目。这一软件同样用于对全文的检测,判断文本是否只含有图片,可以帮助我们决定是否进行OCR处理。

一旦我们开始转换,每份文件中的内容都会同时进行处理,我们将每一页转化成2048×2048的正方形像素,保留了原始的长宽比。

文件图像分类

我们带有OCR技术的机器学习模型最初是为了Dropbox的文件扫描功能创建的,目的是为了了解用户最近是否上传了可以“将其转化成扫描格式”的图片。分类器在创建时,在图像特征上使用了一个线性分类器。模型在来源不同的数千张照片上训练,包括公共图像、私人图像以及Dropbox员工贡献出的图像。

最初,分类器偶尔会出现误报的情况(即模型认为图像中含有文本,但实际上没有),例如在含有白墙、天际线、开阔的水域等照片中。虽然人类能轻松分辨这些景观,但是对分类器来说它们看起来都是一样的:都有平整开阔的背景和水平线。经过每次迭代后,我们在训练集中添加“消极”标签,可以显著提高模型的分类精确度,从而高效地教会模型,虽然这些图像有很多类似文本文件的特征,但它们没有文本。

拐角检测

确定图像中文本的拐角并确定它的大致形状是另一个重要步骤。给定转角的坐标,图片中的文章可以用简单的几何转换进行修正。文本的拐角检测元组使用另一个ImageNet深度卷积网络创建的(DenseNet-121),其最顶层换成了一个回归因子,可以生成四个拐角坐标。有了坐标,就能轻易地将文本修正成易于检测的版本了。

token提取

OCR系统从拐角检测阶段获取修正过的图像作为输入,并生成token检测,包括针对tokens和文本的边界框。这些大致按token的顺序排列并添加到搜索索引中。如果有多个页面,每页上token的列表会连接在一起生成一个大表。

合并各元素

为了能在所有可以被索引的文件中进行紫铜图像文本识别,我们需要一个系统能对输入的文件执行添加和编辑,并开始相关处理。这就需要用到Cape框架,这是一种灵活大型的处理框架,可以进行事件流的分时间处理。我们在OCR处理中加入了新的Cape工作器,称为lambda,作为框架的一部分。

整个处理过程如下:

基于图像中是否有符合要求的JPEG、GIF或PDF,检查我们是否应该继续处理文本。

运行含有OCR技术的分了器,确定图像中是否有文本。

运行文本拐角检测器,对其进行修正。

用OCR引擎提取tokens。

向用户的搜索索引中添加token列表。

结语

自动图片文本辨认是计算机视觉和机器学习处理大型数据的重要案例。让图片中的文本可搜索只是深度了解文本结构和内容的第一步,有了这一成果,Dropbox可以帮助用户更好地管理他们的文件。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 云计算
    +关注

    关注

    38

    文章

    7339

    浏览量

    135686
  • 计算机视觉
    +关注

    关注

    8

    文章

    1592

    浏览量

    45601
  • 机器学习
    +关注

    关注

    66

    文章

    8105

    浏览量

    130540

原文标题:Dropbox用机器学习,从海量图片中对文本进行检索

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机器视觉计算机视觉的关系简述

    计算机视觉是一门独立的学科,有着30年左右的历史,集图像处理、模式识别、人工智能技术为一体,着重服务于一幅或多幅图像的计算机分析。机器
    发表于 05-13 14:57

    【我是电子发烧友】七步带你认识计算机视觉(Computer Vision)

    `计算机视觉(Computer vision)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和计算机代替人眼对目标进行识别、跟踪和测量等
    发表于 06-14 21:06

    计算机视觉/深度学习领域常用数据集汇总

    ://www.cs.toronto.edu/~kriz/cifar.html过去几年机器学习的发展使得计算机视觉有了快速的进步,系统能够自动
    发表于 08-29 10:36

    机器视觉机器视觉有什么不一样?

    的。例如,为了能够从它的图像中识别一个对象,该软件必须能够监测到它所看到的对象是不是之前看到过的对象。因此,机器学习计算机视觉除信号处理
    发表于 08-28 10:48

    深度学习与传统计算机视觉简介

    文章目录1 简介1.1 深度学习与传统计算机视觉1.2 性能考量1.3 社区支持2 结论3 参考在计算机视觉领域中,不同的场景不同的应用程序
    发表于 12-23 06:17

    计算机简介

    1计算机基础知识1.计算机简介1.1计算机定义:按照一定逻辑处理数据的带存储的机器。微型,小型,
    发表于 12-23 06:45

    什么是人工智能、机器学习、深度学习和自然语言处理

    领域,包括机器学习、深度学习数据挖掘、计算机视觉、自然语言
    发表于 03-22 11:19

    深度学习后的计算机视觉应用领域解析

    计算机视觉是使用计算机及相关设备对生物视觉的一种模拟,是人工智能领域的一个重要部分,它主要任务是通过对采集的
    发表于 07-22 16:49 1726次阅读

    用于计算机视觉训练的图像数据

      计算机视觉使计算机能够理解图像和视频的内容。计算机视觉的目标是使人类视觉系统可以实现任务
    的头像 发表于 12-31 09:33 2059次阅读

    机器学习计算机视觉的前20个图像数据

    计算机视觉使计算机能够理解图像和视频的内容。计算机视觉的目标是使人类视觉系统可以实现任务
    发表于 01-28 07:40 5次下载
    <b class='flag-5'>机器</b><b class='flag-5'>学习</b>和<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的前20个图像<b class='flag-5'>数据</b>集

    计算机视觉重要性及如何帮助解决问题

      机器学习计算机视觉是一种基于人工智能的计算机视觉。基于人工智能的基于
    的头像 发表于 04-06 16:49 3248次阅读

    机器视觉计算机视觉的区别

    计算机视觉是一个研究领域,专注于使机器能够解释和分析来自周围世界的视觉数据。简单地说,它是机器
    发表于 02-22 09:34 820次阅读

    什么是机器视觉机器视觉计算机有什么关系?

    机器视觉计算机视觉有什么区别
    的头像 发表于 06-05 09:28 853次阅读
    什么是<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>?<b class='flag-5'>机器</b><b class='flag-5'>视觉</b>与<b class='flag-5'>计算机</b>有什么关系?

    机器视觉计算机视觉的区别

    机器视觉计算机视觉的区别 机器视觉计算机
    的头像 发表于 08-09 16:51 1109次阅读

    机器视觉、工业视觉计算机视觉这三者的关系

    机器视觉、工业视觉计算机视觉这三者的关系
    的头像 发表于 01-24 10:51 564次阅读
    <b class='flag-5'>机器</b><b class='flag-5'>视觉</b>、工业<b class='flag-5'>视觉</b>和<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>这三者的关系