热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

深度解析阿里云ET之OCR

摘要:什么是印刷字文字识别(OCR)技术?通俗易懂的说就是将图片中的文字识别出来。随着机器性能以及算法的不断演进࿰

摘要:什么是印刷字文字识别(OCR)技术?通俗易懂的说就是将图片中的文字识别出来。随着机器性能以及算法的不断演进,OCR技术在越来越多的领域得到应用,比如身份证内的信息识别、门店招牌内容识别等。作为人工智能领域的代表,OCR技术正在改变人们的生活,让越来越多的用户感受到科技发展带来的红利。

背景介绍

阿里云印刷字识别是有IDST-OCR团队开发,主要针对证件类图片进行识别。


TB1YV17MVXXXXXFXVXXXXXXXXXX-865-563.png

阿里云OCR产品的主要优势如下:

TB1qgy_MVXXXXXHXFXXXXXXXXXX-865-445.png

阿里云证件类OCR技术

证件类图像有他天然的一个特点,就是强模板,易于结构化。比如身份证包含且一定包含姓名,性别,民族,出生,住址,公民身份照号码,签发机关,有效期等字段,而驾驶证则一定有姓名,准驾车型,有效期等字段,其他的证件也类似。

TB1StO_MVXXXXb_XFXXXXXXXXXX-341-211.png

TB1bJO7MVXXXXctXFXXXXXXXXXX-331-221.png

针对证件类的强模板类特征,阿里云的证件类OCR技术,在文字区域检测阶段加入了人脸,文字标题区域,印章,国徽等强特征,极大地提高文字区域检测的准确率和速度。比如:利用人脸定位,可以找到证件的方向角度和大概位置,利用下图中固定的区域模板,可以快速定位到所需字段的位置,从而也有利于定位方向角度,缩小所需字段文字区域。

在模型的训练上,阿里云利用字体库,人工生成大量的样本图片数据,再根据真实的场景,进行图像扭曲,模糊,曝光等多种不同技术,组合出不同程度的加噪效果,作为模型训练的基础输入,生成了几十亿条样本数据,模型具有极佳的鲁棒性。下图是人工生成的样本示例图。

TB1_zvgMVXXXXcpXpXXXXXXXXXX-418-359.png

支持如此大规模的离线图像模型训练,则是阿里云提供的GPU高性能服务器,以及基于多服务器,多GPU卡和高速网络连接的集群模型训练(内部称之为PAI-Pluto, PAI是阿里云机器学习平台的代号,欢迎申请试用),主流的GPU卡的计算能力要远远强于CPU。下图是Pluto在跑深度学习模型时的计算加速比。

TB1DDW4MVXXXXXPXVXXXXXXXXXX-693-502.png

在整行模型的识别中,主要使用的是LSTM技术,相比RNN,LSTM能更好的解决梯度衰减(gradient vanishing)的现象。LSTM的基本结构如下图所示,通过多个门电路的结合,使得LSTM可以有效的学习到较长时间序列之间的关系。

TB1PMe3MVXXXXatXVXXXXXXXXXX-682-261.png

整行模型主要用于不便于切字的场景,比如地址,号码等等。

准确率

身份证识别在阿里内部某场景下,准确率(条目一字不差完全对)如下:

TB10he0MVXXXXbrXVXXXXXXXXXX-593-62.jpg

驾驶证的准确率和相关竞品的准确率(条目一字不差完全对)对比如下:

TB1QuLiMVXXXXbuXpXXXXXXXXXX-495-185.jpg

身份证识别:算法识别部分平均时间在0.8秒左右,前端接口部分,由于需要网络传输图片,这部分性能损失比较严重,测试500k,需要1-2秒左右,这个未来阿里云OCR会引入OSS(OSS为对象存储服务, https://www.aliyun.com/product/oss ),用户只需要提供OSS的访问路径和相关授权,就可以极大地减少这部分图像的网络传输时间。

行驶证和驾驶证:算法识别部分平均时间在1秒左右

营业执照:由于图片相对较大,性能较弱,在2秒左右

目前所有的OCR识别都采用的CPU,如果对性能比较有要求,后续阿里云有计划使用GPU,FPGA等技术来提升预测的性能。



推荐阅读
  • 干货 | 携程AI推理性能的自动化优化实践
    作者简介携程度假AI研发团队致力于为携程旅游事业部提供丰富的AI技术产品,其中性能优化组为AI模型提供全方位的优化方案,提升推理性能降低成本࿰ ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • OCR:用字符识别方法将形状翻译成计算机文字的过程Matlab:商业数学软件;CUDA:CUDA™是一种由NVIDIA推 ... [详细]
  • 「爆干7天7夜」入门AI人工智能学习路线一条龙,真的不能再透彻了
    前言应广大粉丝要求,今天迪迦来和大家讲解一下如何去入门人工智能,也算是迪迦对自己学习人工智能这么多年的一个总结吧,本条学习路线并不会那么 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • 如何使用代理服务器进行网页抓取?
    本文介绍了如何使用代理服务器进行网页抓取,并探讨了数据驱动对竞争优势的重要性。通过网页抓取,企业可以快速获取并分析大量与需求相关的数据,从而制定营销战略。同时,网页抓取还可以帮助电子商务公司在竞争对手的网站上下载数百页的有用数据,提高销售增长和毛利率。 ... [详细]
  • mapreduce数据去重的实现方法
    本文介绍了利用mapreduce实现数据去重的方法,同时还介绍了人工智能AI领域中常用的框架和工具,包括Keras、PyTorch、MXNet、TensorFlow和PaddlePaddle,并提供了深度学习实战的代码下载链接。 ... [详细]
  • GTX1070Ti显卡怎么样?GTX1070Ti显卡首发图赏+参数解读与拆解图
    先来简单回顾一下今年的显卡市场,nvidia自从发布了帕斯卡架构新品之后,可以说是一直都主宰着高端游戏显卡市场,虽说amd也憋了一个hbm2的vega64出来,然而即使是最高贵的水 ... [详细]
  • 关于如何快速定义自己的数据集,可以参考我的前一篇文章PyTorch中快速加载自定义数据(入门)_晨曦473的博客-CSDN博客刚开始学习P ... [详细]
  • 2017亚马逊人工智能奖公布:他们的AI有什么不同?
    事实上,在我们周围,“人工智能”让一切都变得更“智能”极具讽刺意味。随着人类与机器智能之间的界限变得模糊,我们的世界正在变成一个机器 ... [详细]
  • Two Sigma人均22万英镑~
    近期原创文章: ... [详细]
  • 用c语言实现线画、填充图元生成算法多边形_【游戏场景剔除】剔除算法综述...
    之前在做场景优化的过程中,看了不少论文和博客阐述不同剔除算法的原理和过程,自己参照着算法去实现了Hiz和软件剔除。一直想写一篇关于剔除算法的综述 ... [详细]
author-avatar
WSSDRED_935
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有