写点什么

嘿,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:241663

评论

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

# LeetCode 215. Kth Largest Element in an Array

liu_liu

算法 LeetCode

ARTS 第二周打卡

陈文昕

互联网时代的界限管理

非著名程序员

程序员 职场 提升认知 界限管理

线程池续:你必须要知道的线程池submit()实现原理之FutureTask!

一枝花算不算浪漫

源码分析 并发编程

# LeetCode 863. All Nodes Distance K in Binary Tree

liu_liu

算法 LeetCode

开源分布式文件系统大检阅

焱融科技

开源 sds 存储 焱融科技 文件存储

程序员修炼的务实哲学

博文视点Broadview

程序员 软件 编程思维 工程师 编程之路

我的 Windows 利器

玄兴梦影

工具 Win

patroni 通过服务启动报错

hobson

数据库 高可用 AntDB

知识也会生宝宝?

史方远

个人成长 随笔杂谈

杂谈-JSONP探索

卡尔

Java jsonp

从 0 到 1 搭建技术中台之发布系统实践:集泳道、灰度、四端和多区域于一体的设计与权衡

伴鱼技术团队

架构 系统设计 系统架构 系统性思考 架构设计

美团可能会强势涉足 ToB

罗小布

创业 互联网巨头 深度思考 互联网

MySQL的各种日志

超超不会飞

MySQL

Vue生态篇(二)

shirley

Vue

原创 | 使用JUnit、AssertJ和Mockito编写单元测试和实践TDD (十三)编写测试-生命周期方法

编程道与术

Java 编程 TDD 单元测试 JUnit

Vue生态篇(一)

shirley

Java Vue

我常用的浏览器插件

彭宏豪95

chrome 效率工具 浏览器 插件

ARTS - Week Two

shepherd

js algorithm

奈学:传授“带权重的负载均衡实现算法”独家设计思路

奈学教育

分布式

【Java 25周年有奖征文获奖名单公布!!!】关于Java,你最想赞扬、吐槽、期待的变化是什么?

InfoQ写作社区官方

写作平台 Java25周年 热门活动

数据产品经理实战-数据门户搭建(上)

第519区

数据中台 开发数据

每个人都是领导者的工程团队

hongfei

工程能力 项目实践

情绪的力量:如何使用情绪来达成目标

董一凡

情绪

Python 自动化办公之"你还在手动操作“文件”或“文件夹”吗?"

JackTian

Python 自动化

Redis持久化了解一波!

不才陈某

redis 程序员 后端

我为什么开始技术写作?

架构精进之路

技术创作

你不知道的SSD那些事

焱融科技

分布式 存储 SSD nvme

Go语言分布式系统配置治理

田晓亮

微服务

一个人,沿着童年的路究竟可以走多远?

zhoo299

童年 NASA 航天

这是一个测试文档

Geek_073cad

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