写点什么

嘿,OCR 文字识别了解下

  • 2019-10-27
  • 本文字数:3474 字

    阅读完需:约 11 分钟

嘿,OCR文字识别了解下

2018 年 3 月 27 日腾讯云云+社区联合腾讯云智能图像团队共同在客户群举办了腾讯云 OCR 文字识别——智能图像分享活动,活动举办期间用户耐心听分享嘉宾的介绍,并提出了相关的问题,智能图像团队的科学家和工程师也耐心解答可用户的疑问。以下就是活动分享的全部内容。

正文

在日常生活工作中,我们难免会遇到一些问题,比如自己辛辛苦苦写完的资料,好不容易打印出来却发现源文件丢了。难的收集了一些名片,却要很麻烦的一个一个录入信息。快递公司的业务越来越好,但每天却需要花费很多时间登记录入运单,效率非常的低。


那么,有没有什么技术能帮助我们解决这些难题呢?有的,那就是 OCR 文字识别技术。今天我们请到了腾讯云大数据 AI 产品中心的 AI 科学家冀永楠、产品经理 Florali、陈英恬,高级工程师肖西华为咱们分享一下腾讯云近年来在这一领域的探索情况。

什么是 OCR?

OCR 是实时高效的定位与识别图片中的所有文字信息,返回文字框位置与文字内容。支持多场景、任意版面下整 图文字的识别,以及中英文、字母、数字的识别。通俗的来说,就是将图片上的文字内容,智能识别成为可编辑的文本,例如:


OCR 的技术原理是什么?

OCR 本质是图像识别。其原理也和其他的图像识别问题基本一样。包含两大关键技术:文本检测和文字识别。先将图像中的特征的提取并检测目标区域,之后对目标区域的的字符进行分割和分类。


以深度学习兴起的时间为分割点,直至近五年之前,业界最为广泛使用的仍然是传统的 OCR 识别技术框架,而随着深度学习的崛起,基于这一技术的 OCR 识别框架以另外一种新的思路迅速突破了原有的技术瓶颈(如文字定位、二值化和文字分割等),并已在工业界得到广泛应用。


首先文本定位,接着进行倾斜文本矫正,之后分割出单字后,并对单字识别,最后基于统计模型(如隐马尔科夫链,HMM)进行语义纠错。

OCR 技术的难点是什么?

复杂背景、艺术字体、低分辨率、非均匀光照、图像退化、字符形变、多语言混合、文本行复杂版式、检测框字符残缺,等等。

如克服这些难点的?

从几个方面入手。一是使用场景,另一方面是从技术上的改进腾讯优图实验室在文本检测技术方进行了深度优化,提出了 Compact Inception,通过设计合理的网络结构来提升各尺度的文字检测/提取能力。同时引入 RNN 多层自适应网络和 Refinement 结构来提升检测完整性和准确性。


腾讯云 OCR 目前支持什么功能?

基于腾讯优图实验室世界领先的深度学习技术,目前我们已支持: 身份证识别,银行卡识别,名片识别,营业执照识别,行驶证驾驶证识别,车牌号识别,通用印刷体识别,手写体识别。

通用印刷体的技术难点,使用场景

我们知道身份证识别可广泛应用在金融行业中,有用户的身份认证中,可以减少用户的信息输入,提升效率,提高用户体验,营业执照的识别完全省去了手工录入的繁琐,还可以为企业省去大量的人力资源成本,这些场景大家都已经比较熟悉。


对于通用印刷体,腾讯优图实验室自主设计一整套全方位多尺度文字识别引擎,可攻破模糊,散焦,透视,文字部分遮挡的问题,识别准确率高达 90%以上,处于业界领先水平。使用场景广泛,例如对任意版面上图像的文字识别,可广泛应用在印刷文档、广告图、医疗、物流等行业中的识别。

对于通用印刷体有没有什么好的例子?

例如这个广告,内容多字体,中英文与数字混合,背景也比较随意。咱们的 OCR 通过透视矫正、去模糊等,能大幅还原图像真实度,极大提升算法的鲁棒性。



再例如识别文字密集,行间距小,透视畸变等的海报。人工识别需要不仅耗费时间,肉眼也比较难识别。但腾讯云 OCR 设计了小而精的特征提取网络,配合先进的预处理技术,识别准确率高达 93%以上。


有时候也会遇到识别率不理想的情况,如何可以提高识别准确率?

首先会确认下当前的场景,造成准确度不高的原因。评估可提高的空间设计,之后做出相应的修改,列入预处理等等。

关于腾讯云手写体识别这块有没有什么案例?

腾讯是国内首家将手写体识别应用在复杂场景下的服务商,数字识别准确率高达 90%以上,单字识别速度在 15ms 以内,复杂汉字准确率超过 80%。


腾讯云手写体 OCR 已运用到的运单识别场景,解决了物流行业每日快递单人工输入工作量极大且极易出错,非常低效等问题。


运单识别与传统人工识别有什么区别呢?

如果传统人工识别按照 3min/单,1000 单需要 6.25 个人/天,保证运单时效则需要耗费大量人力,考虑人力成本则影响运单及时性,成本和服务难两全。


我们的运单识别速度可以达到毫秒级/单,并支持 24 小时识别服务 ,业务增长时只需要投入计算用服务器资源即可,弹性较大。


与传统识别相比,不仅成本可以降低,提高准确性,还可以保护用户的隐私泄露风险。、

目前 OCR 应用现实中有很广泛的应用场景,腾讯云 OCR 有什么优势?

咱们的 OCR 文字识别技术,目前支持中文简繁体、英文、数字、标点共 10000+标签,覆盖上百种字体,生僻字版本更支持 2W+标签 。

那咱们在行业中也有不少落地客户了吧?

新版手 Q 就用到了咱们的技术,在扫一扫、聊天窗口和空间图片大图预览共三个入口上支持了提取图片中文字的功能。


方便用户阅读、编辑、保存图片上的文字,从而可以对提取出的文字进行翻译、搜索。在多种场景下可以极大提升用户对图片上文字的阅读和记录效率。



企业微信中的名片识也用到了咱们 OCR 技术。用户只需拍照或选择名片图片,就能准确快速地识别出名片中的文字,并自动提取为对应的字段,极大简化了名片录入流程,也避免了手动录入过程可能出现的错误。


互动 QA

经过上面的分享,用户也提出了不少问题,我们来看看用户都问了什么?


Q:您好,我想问下 OCR 识别是否支持 H5 开发呢?


A:支持,接口是基于 http 协议,只要支持 http 协议都可以使用。


Q:通用印刷体识别剩下的 10%,有提高的思路吗?


A:整体思路还是要回到我们的三大引擎上。逐一进行优化。


1.背景识别


2.定位引擎


3.字段识别引擎


Q:目前印刷体识别上使用的思路是先分割后识别吗?OCR 支持离线识别吗?


A:思路是先分割后识别,我们的 OCR 支持离线识别的。


Q:OCR 遇到无法分割或者分割错误的情况如何处理呢


A:很少有无法分割的情况。分割错误肯定会对最后的结果又影响。我们的技术,即便是再字符重叠的情况下也可以做出正确的分割。


Q:我想问下如果针对运单识别场景,请问是否可以智能纠正客户的地址呢?例如深圳,写成了深土川。


A:我们会结合 NLP 技术,结合上下文进行智能纠错。


Q:目前市面已提供有相关服务,那么咱们在这块有什么与众不同的地方或者更有优势的一面呢?


A:我们在 OCR 上积累的很多的相关经验,也是国内首家将手写体识别应用在复杂场景下的服务商。


Q:那请问腾讯云 OCR 业务支持什么语言呀,对文字大小字体等有要求嘛?


A:中文(简体和繁体),英文及数字。


Q:之前有提到总的分类高达 2w+,这种大分类模型是怎么训练的。


A:分级,分批训练。


Q:那我还想问您下车牌自动识别已应用于日常生活场景中。想了解下这个的技术难点是什么呢?


A:相比于证照类输入图来说,车牌输入图受限于实际场景配置的摄像监控设备,及车辆位置的随机变化,产生各种极端角度及光照案例,其质量变化范围远大于证照类采集图像。


Q:您刚才展示都是平整的图片,对于手机拍的纸质文档有一定弧度,比如折过的纸没压平,就会有一定弧度,这个能处理吗?


A:轻微的弧度我们可以通过技术处理,严重变形的相对比较困难。


Q:除了支持标准车牌,我们支持识别新能源车吗?


A:支持的,我们目前已支持蓝牌、黄牌、军牌、警牌、教练车牌、新能源车牌等,目前识别率可达到 97%-98%~


Q:请问针对物流公司司机手机拍的照片,一是面单不平整,二是光线有的不理想,三是拍照角度有倾斜。针对以上情况技术方面有没有解决办法?


A:拍照角度可以通过几何算法矫正。光线的问题也可以通过图像的归一化增强。单面不平整,这个得看不平整到什么程度了。


Q:车辆运行中,您这个 80%的准确率是指车辆运动过程中拍摄下来的图还是车辆停止时候拍的图?


A:我们是按帧处理的。


Q:是否可以经过一定数据积累,纠错等训练,从而使其能识别手写文字?


A:我们已实现手写体识别~


Q:OCR 对运动模糊的场景识别率有多高


A:模糊的程度差异性很大。不好做标准化的统计。图像质量不佳,最直白的处理方法是做图像的增强。


Q:贵司技术有相关 paper 可以查阅吗?


A:可以看看咱们云+社区的文章哦~很多文章都是鹅厂的精华呢~


Q:图片有点模糊,能不能说下比较好具体算法,这个太笼统了


A:有很多的滤波器都可以处理不同程度的模糊图像。也有采用神经网络的的方式处理。


本文转载自公众号云加社区(ID:QcloudCommunity)。


原文链接:


https://mp.weixin.qq.com/s/mozlEmjQj23PKQprYHfhkg


2019-10-27 23:241750

评论

发布
暂无评论
发现更多内容

Python——字符串查找/替换/分割

在即

6月日更

读深入ES6记[四]

蛋先生DX

ES6 6月日更

《原则》(十)

Changing Lin

6月日更

签约落地!百度、山东共建人工智能数据标注产业基地

百度大脑

人工智能 百度智能云

【FlinkSQL】Flink SQL Query 语法(一)

Alex🐒

flink 翻译 FlinkSQL flink1.13

如何在手机上保护自己的隐私?

石云升

隐私保护 数据安全 6月日更

绿色数据时代,全闪存与数据中心的注定邂逅

脑极体

require() 方法详解

编程三昧

nodejs modules 模块 require

MySQL 亿级数据分页的优化

xcbeyond

MySQL 数据库优化 6月日更

☕️【Java技术之旅】带你实战使用String的功能特性

码界西柚

Java string 字符串 6月日更

Alibaba大佬用了3个月,把Java后端95%的技术体系都整理出来了!

Java架构师迁哥

常见词向量模型

Qien Z.

6月日更 词向量 SkipGram 矩阵分解 Glove

react源码解析10.commit阶段

全栈潇晨

react源码

时代变了,程序员の老冤家IE浏览器离场啦?!

空城机

JavaScript 微软 大前端 IE 6月日更

欧洲杯发布首座区块链奖杯:中国设计师创作,灵感来源小篆

CECBC

Fork原项目新增分支的同步和推送

Skysper

git

百度创新发布“炫瞳活体”技术!起底金融级人脸实名认证方案背后的硬实力

百度大脑

人工智能

算法训练营 - 学习笔记 - 第九周

心在飞

Kubernetes手记(7)- 控制器配置清单

雪雷

k8s 6月日更

【Vue2.x 源码学习】第十篇 - 数组数据变化的观测情况

Brave

源码 vue2 6月日更

从 Alpha 到 Beta,这次是 New mPaaS

蚂蚁集团移动开发平台 mPaaS

移动开发 mPaaS

MySQL基础之八:外连接

打工人!

myslq 6月日更

智慧组工系统搭建,组织部干部任免系统

你真的很忙么?

escray

学习 极客时间 朱赟的技术管理课 6月日更

【21-3】PowerShell 环境

耳东@Erdong

PowerShell Windows Server 6月日更

区块链如何赋能数字城市建设?

CECBC

关于 JavaScript 是否加分号的问题

KooFE

6月日更

一文说尽 Linux 系统的 swap 交换空间

看山

Linux 6月日更

每日互动CTO谈数据中台(下):从演进、经验到规划

个推

5分钟速读之Rust权威指南(二十)

wzx

rust

☕【JVM技术探索】Class字节码指令方法调用初探

码界西柚

Java JVM 6月日更 字节码指令

嘿,OCR文字识别了解下_文化 & 方法_云加社区_InfoQ精选文章