Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >证件识别技术进化史

证件识别技术进化史

原创
作者头像
麻文华
修改于 2017-07-21 08:48:51
修改于 2017-07-21 08:48:51
5.4K0
举报
文章被收录于专栏:麻文华的专栏麻文华的专栏

前情提要

去年,谷歌的阿尔法狗战胜了韩国顶级围棋九段高手李世石,让“人工智能”一鸣惊人。国内外各种科技传媒、创业公司对人工智能的大势宣传,更是让广大吃瓜观众仿佛一觉醒来就坠入了科幻电影中的神奇场景。

实际上,任何技术发展都是一个循序渐进的过程。人工智能并没有那么神乎其神,也不是那么遥不可及,它其实早已经存在于我们周围,以增强智能的形式为我们生活中的某个环节提供便利和更加友好的体验。比如当我们在手机APP端绑定银行卡、认证个人资料时,用拍照代替手工录入,手机神奇滴识别了我们的证件类型和格式,并从中找到了它所想要的信息,这一点是否也是很智能的呢?这项看起来神奇又简单的功能背后的核心技术就是人工智能中的技术领域之一:OCR。当然你们可能会说了:“等一下,你先告诉我OCR是什么!”

图1:手机拍照证件识别

OCR(Optical Character Recognition,光学字符识别)是指利用电子设备(例如扫描仪或数码相机)采集目标字符,通过检测暗、亮的模式确定其形状,然后用字符识别方法将形状翻译成计算机文字的过程;简而言之,就是令机器学会“识字”。

早在20世纪50年代,IBM就开始利用OCR技术实现各类文档的数字化,早期的OCR设备庞大而复杂,只能处理干净背景下的某种印刷字体。20世纪90年代,针对扫描图像印刷体文本的识别率已经达到99%以上,搭载了证件识别技术的各种文档扫描仪、名片扫描仪应运而生,一时风靡,可谓OCR应用迎来的第一个高潮。

进入21世纪,高精度拍照智能手机的诞生,催生了许多以手机拍照识别文字作进行信息录入及查询类应用。照片中的包含文字的场景复杂多变,已非传统扫描仪类应用所能比拟;而云计算及无线网络的发展,前端用摄像头进行捕捉,后端利用云计算对图片进行处理,两者结合,更让OCR应用充满了想象空间。OCR技术可谓历久而弥新,重新成为研究热点。

证件识别是OCR技术的实践应用阵地之一。身份认证是互联网+的大背景下,连接虚拟和现实的重要一环。作为服务于微信产品的模式识别团队,来自于微信支付、微信公众号审核等业务的迫切需求促使我们在证件识别领域持续钻研,不断创新。目前我们已经可以支持银行卡、身份证、机动车行驶证等多类证件自动识别,识别正确率在97%以上。本文将带领大家回顾一下证件识别技术进化的过程。

证件识别V1.0

证件识别V1.0是证件识别的奠基版本,主要服务与微信客户端的智能绑卡和身份认证。

这一版本采用带有提示框的扫描方式采集证件图像。图2的操作界面想必大家都不会感到陌生:当用户选择绑卡并用手机对准证件时,客户端首先会调起一个对焦模块,采集一帧最清晰的图像用于检测证件区域。卡片检测模块则在提示框的四个边界附近搜索稳定的边缘,并将检测到的卡片边缘用高亮表示,对用户进行提示引导。

图2:微信绑卡流程

当检测到符合条件的边缘后,就可以通过计算单应性矩阵,将带有透视形变的证件区域校正成标准证件区域样本。以利于后续的信息检测和识别。

图3:证件检测与校正

V1.0的证件识别流程如图4所示。其中卡片检测及校正环节如前所述已在客户端完成。传到服务器端的标准证件区域图像仍需要:版面分析、行切分、单字切分、单字识别、后处理验证等环节才能输出最终结果。其中涉及的技术分为基于经验制定的规则策略和基于统计学习的分类模型。前者广泛应用在预处理阶段(卡片检测、版面分析、行切分、单字切分)的边缘提取、二值化、连通域分析、投影分析等,以及后处理阶段的信息验证;后者包括基于方向梯度直方图特征和多类别分类器的单字识别引擎,用于单字识别阶段。

图4:证件识别流程V1.0

版面分析需要判别证件类型以及正面背面、将倒置的证件转正、提取卡片中待识别的感兴趣区域(Region Of Interest)等。由于各种卡片的版式不同,这一环节往往需要定制大量精细调节的人工规则。

得到ROI之后,需要进一步在区域内进行行切分和单字切分,得到单字区域输入给识别核心。这一步通常采用连通域分析或投影分析的方法,为了适应光照和背景等干扰,我们研发了基于模板的最优投影分割算法,可以得到较好的切分结果。

图5:基于模板的最优投影分割算法进行单字切分的结果

单字识别是体现OCR性能的核心技术。V1.0采用了基于统计学习的单字识别方法。从切分出的单字图像中提取文字的笔画、特征点、投影信息、点的区域分布等有效特征,经过融合,交给分类器。分类器将提取的待识别字符特征与识别特征库的比较,找到特征最相似的字,提取该文字的标准代码,即为识别结果。

单字识别的输出不免有误识,需要利用卡片号码校验规则、日期有效范围等先验知识对结果进行后处理,争取将正确的结果最终呈现给用户。

证件识别V2.0

V1.0版上线之后,反响不错,基本解决了产品的刚需。然而在应用过程中也暴露出一些问题:首先,版面分析的性能不稳定,主要是人工规则的叠加造成算法鲁棒性较差,case-by-case的调节很容易陷入顾此失彼的困境。其次,单字识别的误识率较高,尤其是在光线不理想或是清晰度不高的情况下识别结果较差。针对这些问题,我们引入了深度学习方法,推出了证件识别V2.0。

基于CNN回归定位的信息行检测

我们将版面分析和行切分两个依赖人工规则的预处理环节进行合并,以目标检测的思路判断图像中的卡片类型和放置方式,并直接提取卡片中的待识别信息行。这其中包含了两类任务:

  1. 检测卡片类型,将输入图像分为三种情况:卡片正面、卡片背面、非卡片;
  2. 检测信息位置和形变并校正。通用的目标检测算法只能定位目标的最小外接矩形框,不能直接判断形变类型和角度信息;我们通过回归估计得到信息行的顶点,从顶点的位置关系即可推理得到形变和角度信息,从而巧妙解决这一问题。 上述两类任务虽然属于不同类型,但是依赖的底层图像特征却可以共享。这里借鉴了人脸关键点检测的思路,采用multi-task learning,基于一个CNN网络同时输出两类任务结果:

图6:基于multitask-learning的信息行检测

基于CNN的单字识别引擎

在我们之前的许多实践工作中已经证明:在样本充足的前提下,即使一个简单的CNN的单字识别性能依然可以完胜传统的特征工程模型。如果对于某些信息栏仅包含汉字(比如姓名)或者英文数字(比如证件号码或有效日期)的情况,识别性能还可以通过限定识别字符集得到进一步的提升。证件中的字形、字体和排版较为规整,我们采用包含3~4层卷积的简单CNN模型作为单字识别引擎来兼顾速度和性能需求。经过单字识别引擎的升级,单字识别性能提高了约10个百分点。

证件识别V3.0

技术的进步总是来源于产品无限追(zhe)求(teng)。基于扫描模式的证件识别方案优化之后,产品又有了新的需求:扫描的接口不够通用,能不能基于拍照、甚至直接上传照片的方式来进行证件识别呢?

听起来不是一个很过分的要求,然而实际体验之后,发现:由于客户端不再具有检测校正的机会,传到服务器的待识别对象的画风就由7A变成了7B和7C。这就引入了三个难题:

  1. 证件在图像中占比、角度不固定,可能存在较大旋转和透视形变;
  2. 证件图像背景可能比较复杂;
  3. 同一张图中可能存在多个证件对象。

这时,直接回归定位证件信息的方法效果已经不能满足实用需求。为此,我们在V3.0版中对证件信息定位模块进行了进一步改进。

图7:证件识别的各种应用模式

基于图像统计分析的证件检测模块

加入这一模块的主要目的是应对用户上传照片中存在多个证件的情况,如图7c。我们通过一系列的图像处理和投影分析操作,判别图像中证件个数,并得到单个证件的感兴趣区域(Region Of Interest, ROI),即保证每个ROI中有且只有一个证件,而且证件的区域占比超过50%。这一环节的主要难点在于:

  1. 寻找关键切点,即对应证件之间的区分位置, 需要针对背景和光照变化较为鲁棒;
  2. 需要判别证件个数,避免误切。

在算法研发过程中,我们针对各种实际情况进行了测试和调节,以保证较好的性能。

图8:证件检测模块的输出结果

基于深度学习的证件和信息定位模块

由于拍照模式下证件本身的形变可能较大,直接回归条目位置已经不能达到很好的效果。于是,我们在V2.0的信息行定位网络中加入卡片顶点检测的分支,得到证件的类型、位置和摆放角度。这些信息同时可以辅助信息行的检测和定位。由于这个模块的加入,V3.0已经可以完美支持证件的360°旋转,较大角度的透视形变,以及复杂的拍摄背景等情况。图9给出了一些实际场景中Demo示例。

图9:支持全角度旋转和较大透视形变的证件识别

形近字识别优化

OCR的一个经典难题就是形近字的识别,这些看起来长得很像的字符经常让识别引擎“傻傻分不清楚”--即使是强悍的深度神经网络也难免挂一漏万。在V3.0中,我们引入了一个提高类别区分度的损失函数:center loss。其原理大致如下:之前的分类损失函数,如softmax loss,只关注了待识别的图像应该属于哪个类别,但是并没有关心一个同样重要的问题:同类别的样本特征是否足够聚集?

以分类界的hello world问题--“mnist手写数字识别”为例,把网络倒数第二层全连接层输出一个2维的特征向量可视化,其分布如图10A。可见,每个类别内的特征分布呈狭长条状,类内差异较大。Center loss就是给每个类别的数据定义一个center,大家要向center靠近,离得远的要受惩罚。从而把特征分布变成了图10B的样子。采用center loss,我们的单字识别引擎性能提高了约2%。

图10:center loss 示意图

训练数据的准备

所有的深度学习网络都有一个共同点:成也数据,败也数据。充足的数据燃料才能使网络的性能得到飞升。然而证件属于身份敏感信息,搜集和标注都有较大的成本。当实际样本不能满足我们的训练需求时,我们就转向合成样本的途径:通过开发各种合成样本的工具,得到大批量的接近真实情况的合成样本;采用合成样本训练、实际样本微调和测试的形式,以较为经济高效的方式达到各类网络性能的实用化水平。图11为我们为证件定位任务和单字识别任务准备的训练样本,这些合成样本已经广泛应用到了各类模型训练中。

图11:利用合成工具产生的训练样本

应用前景展望

作为人类需求牵引科技发展走到今天,智慧的延伸决定了世界的无限潜能。证件识别作为连接互联网线上和线下的重要一环,在各种互联网应用入口中承担着重要的角色。微信AI一直以来以业务需求为驱动,以实际应用为产出,在证件识别领域深入钻研,广泛实践。目前我们可以自信地说,微信AI在证件识别这一技术领域处于业界领先地位,欢迎各位同行交流探讨。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
第八章 AI模型质量-2
端到端的黑盒测试(End-to-end black-box testing),测试人员不关心模型内部的工作原理,而只关心输入和输出之间的关系。这种方法有助于确保模型在实际应用场景中能够满足预期要求。
bettermanlu
2025/04/15
500
第八章 AI模型质量-2
【深度学习】OCR文本识别
OCR(optical character recognition)文字识别是指电子设备(例如扫描仪或数码相机)检查纸上打印的字符,然后用字符识别方法将形状翻译成计算机文字的过程;即,对文本资料进行扫描,然后对图像文件进行分析处理,获取文字及版面信息的过程。如何除错或利用辅助信息提高识别正确率,是OCR最重要的课题。衡量一个OCR系统性能好坏的主要指标有:拒识率、误识率、识别速度、用户界面的友好性,产品的稳定性,易用性及可行性等。
天天Lotay
2023/04/26
7.3K0
【深度学习】OCR文本识别
【AI in 美团】深度学习在OCR中的应用
AI(人工智能)技术已经广泛应用于美团的众多业务,从美团App到大众点评App,从外卖到打车出行,从旅游到婚庆亲子,美团数百名最优秀的算法工程师正致力于将AI技术应用于搜索、推荐、广告、风控、智能调度、语音识别、机器人、无人配送等多个领域,帮助美团3.2亿消费者和400多万商户改善服务和体验,帮大家吃得更好,生活更好。
美团技术团队
2018/08/01
2K0
【AI in 美团】深度学习在OCR中的应用
美团的OCR方案介绍
近年来,移动互联、大数据等新技术飞速发展,倒逼传统行业向智能化、移动化的方向转型。随着运营集约化、数字化的逐渐铺开,尤其是以OCR识别、数据挖掘等为代表的人工智能技术逐渐深入业务场景,为用户带来持续的经济效益和品牌效应。图书情报领域作为提升公共服务的一个窗口,面临着新技术带来的冲击,必须加强管理创新,积极打造智能化的图书情报服务平台,满足读者的个性化需求。无论是高校图书馆还是公共图书馆,都需加强人工智能基础能力的建设,并与图书馆内部的信息化系统打通,优化图书馆传统的服务模式,提升读者的借阅体验。
机器学习AI算法工程
2021/10/14
1.7K0
美团的OCR方案介绍
宜信OCR技术探索与实践​|直播速记
满足业务是第一需要,不同于大厂,对外服务API,要求大并发那么强,多样性品类完备,我们更强调单品要做到尽量达到业务要求,更强调定制化,可以分布走,业务上可以给反馈不断改进。
宜信技术学院
2020/07/31
1.1K0
干货 | OCR技术在携程业务中的应用
袁秋龙,携程度假大数据AI研发团队实习生,专注于计算机视觉的研究和应用。在实习期间致力于度假图像智能化工作,OCR问题为实习期主要做的研究。
携程技术
2019/04/22
1.7K0
干货 | OCR技术在携程业务中的应用
移动端多种证件识别​图文智能处理
说移动端多种证件识别图文智能处理技术之前,先说说服务器端的多种证件识别图文智能处理服务程序。
ocr识别算法专家
2020/05/28
2.1K0
我们教电脑识别视频字幕
本文介绍了一种基于深度学习的视频字幕识别和生成方法,包括字符级和单词级两个模块,以及针对视频字幕中字符和单词的识别和生成任务。首先,通过深度学习模型对视频中的字幕进行定位和提取,然后使用字符级和单词级两个模块分别进行字符和单词的识别和生成。实验结果表明,该方法能够有效地识别和生成视频字幕,对于艺术字体、手写字体等难以切分的情况,以及对于视频中的噪声干扰,都具有较高的鲁棒性。
麻文华
2017/04/06
9.5K4
我们教电脑识别视频字幕
三年磨一剑——微信OCR图片文字提取
导语 | 2021年1月, 微信发布了微信8.0, 这次更新支持图片文字提取的功能。用户在聊天界面和朋友圈中长按图片就可以提取图片中文字,然后一键转发、复制或收藏。图片文字提取功能基于微信自研OCR技术,本文将介绍微信OCR能力是如何落地文字提取业务的。文章作者:伍敏慧,腾讯WXG研发工程师。 一、背景 微信8.0上线了图片提取文字的功能,用户在聊天界面和朋友圈中如果想提取图像中的文字,不用再辛苦打字了,只要简单几个步骤,就可以拿到图片中的文字内容,超级方便实用。 图1 微信客户端提取图片中的
腾讯云开发者
2021/03/08
21.8K3
借你一双“慧眼”:一文读懂OCR文字识别︱技术派
摘要:在日常生活工作中,我们难免会遇到一些问题,比如自己辛辛苦苦写完的资料,好不容易打印出来却发现源文件丢了;收集了一些名片,却要一个一个地录入信息,很麻烦;快递公司的业务越来越好,但每天需要花费很多时间登记录入运单,效率非常的低。
腾讯云AI
2018/07/16
11.1K1
借你一双“慧眼”:一文读懂OCR文字识别︱技术派
腾讯数平精准推荐 | OCR技术之识别篇
本文介绍了腾讯数平精准推荐团队的OCR识别算法,包括识别算法的演进之路以及4个代表性方法。
腾讯大数据
2018/05/08
13K4
腾讯数平精准推荐  | OCR技术之识别篇
OCR技术简介
同时在本微信公众号中,回复“SIGAI”+日期,如“SIGAI0515”,即可获取本期文章的全文下载地址(仅供个人学习使用,未经允许,不得用于商业目的)。
SIGAI学习与实践平台
2018/10/18
7K0
OCR技术简介
干货 | 证件全文本OCR技术,了解一下
作者简介 周源,携程技术平台研发中心高级研发经理,从事软件开发10余年。2012年加入携程,先后参与支付、营销、客服、用户中心的设计和研发。 本文从计算机视觉的前世今生,到证件全文本OCR的实践,带你了解人工智能、计算机视觉、深度学习、卷积神经网络等技术。无论是计算机视觉的入门者还是从业者,希望都可以有所收获。 1、什么是OCR 光学字符识别(英语:Optical Character Recognition, OCR),是指对文本资料的图像文件进行分析识别处理,获取文字及版面信息的过程。 一般的识别过程包
携程技术
2018/07/05
2.7K0
【独家】一文读懂文字识别(OCR)
前言 文字识别是计算机视觉研究领域的分支之一,归属于模式识别和人工智能,是计算机科学的重要组成部分 本文将以上图为主要线索,简要阐述在文字识别领域中的各个组成部分。 一 ,文字识别简介 计算机文字识别,俗称光学字符识别,英文全称是Optical Character Recognition(简称OCR),它是利用光学技术和计算机技术把印在或写在纸上的文字读取出来,并转换成一种计算机能够接受、人又可以理解的格式。OCR技术是实现文字高速录入的一项关键技术。 在OCR技术中,印刷体文字识别是开展最早,技术
数据派THU
2018/01/29
24.1K1
【图像处理技术】 | 黑科技解读 之 PS检测、弯曲拉平、切边增强、摩尔纹
图像处理技术 是用计算机对图像信息进行处理的技术。主要包括图像数字化、图像增强和复原、图像数据编码、图像分割和图像识别等。
呆呆敲代码的小Y
2022/11/02
2.3K0
【图像处理技术】 | 黑科技解读 之 PS检测、弯曲拉平、切边增强、摩尔纹
基于Android、iOS手机平台的移动端车牌识别技术,实现手机扫描识别车牌
随着移动行业的爆发式发展,手机配置不断提高,基于手机平台的信息采集、图像处理、数据传输等方面的研究也成为了热点,这使得基于手机平台上的车牌识别成为可能。传统的车牌识别系统一般都基于固定的桌面平台、图像采集不灵活,特别是对于交通管理部门来说,对违章车辆车牌的自动登记非常不便,因此基于移动端车牌识别出现了。
智能图文识别OCR
2020/06/16
2.5K0
深度学习助力版面分析技术,图像“还原”有方
近期,2023年度视觉与学习青年学者研讨会 (Vision And Learning SEminar, VALSE) 在无锡圆满落幕,此研讨会是图像视觉领域的重磅会议。作为智能文档处理领域代表的合合信息自然不会缺席,合合信息出席会议并进行智能文档处理技术研发与实践成果分享,重点介绍了其在版面分析与文档还原技术实现上的新突破。
码农飞哥
2023/09/03
8440
深度学习助力版面分析技术,图像“还原”有方
旷视科技姚聪博士:深度学习时代的文字检测与识别技术 | AI 研习社 103 期大讲堂
AI 科技评论按:随着深度学习的兴起和发展,计算机视觉领域发生了极大的变化。作为计算机视觉中一个重要的研究课题,场景文字检测和识别也无法避免地被这股浪潮席卷,一起进入了深度学习的时代。近年来,这个问题的研究者们都共同见证了思维、方法和性能方面的巨大变化,本次公开课的嘉宾将与大家分享相关内容。
AI科技评论
2018/12/24
1.8K0
腾讯云大学大咖分享 | 解密OCR文字识别技术
讲师简介:毕业于华中科技大学,负责智能图像相关AI产品,熟悉AI视觉工程化,对计算机图像处理有一定的理解,现担任腾讯云大数据及人工智能产品中心高级工程师。
可可爱爱没有脑袋
2019/07/26
6.2K0
腾讯云大学大咖分享 | 解密OCR文字识别技术
基于模板的文字识别结果结构化处理技术 | 公开课速记
随着行业的发展和技术的成熟,文字识别(OCR)目前已经应用到了多个行业中,比如物流行业快递包裹的分拣,金融行业的支票单据识别输入,交通领域中的车牌识别,以及日常生活中的卡证、票据识别等等。OCR(文字识别)技术是目前常用的一种AI能力。但一般OCR的识别结果是一种按行输出的半结构化输出。
AI科技大本营
2019/05/14
4.6K2
基于模板的文字识别结果结构化处理技术 | 公开课速记
推荐阅读
相关推荐
第八章 AI模型质量-2
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档