一种基于OCR与人脸识别技术的身份证扫描录入方法与流程

文档序号:17549289发布日期:2019-04-30 18:09阅读:1506来源:国知局
一种基于OCR与人脸识别技术的身份证扫描录入方法与流程

本发明属于图像识别技术领域,更具体地,涉及一种基于ocr与人脸识别技术的身份证扫描录入方法。



背景技术:

随着互联网的发展,越来越多的互联网公司都推出了自己的app。涉及到个人身份证信息输入认证的app,如果手动输入身份证号码和姓名,速度慢,用户体验较差。

为了提高在移动终端上输入身份证信息的速度和准确性,现有技术采用ocr(光学字符识别)技术对图像、文字信息进行分析和管理;其中,身份证扫描包括腐蚀、取出身份证号码区域轮廊提取;轮廊提取是为了在图片中定位到身份证号码的区域。通过筛选轮廊图的算法提取身份证号码区域的轮廊,原理是该轮廊的宽度是最宽的,且其长度必须大于高度的5倍;然而现有的筛选轮廊图的算法在对图片背景较为复杂的情况,因为背景对轮廓检测的影响,导致检测准确率不高。



技术实现要素:

针对现有技术的以上缺陷或改进需求,本发明提供了一种基于ocr与人脸识别技术的身份证扫描录入方法,其目的在于通过实时扫描捕获身份证图像并通过ocr静态库进行信息识别,解决现有技术中对身份证上文字识别和人脸图像识别效率低的问题。

为实现上述目的,按照本发明的一个方面,提供了一种基于ocr与人脸识别技术的身份证扫描录入方法,包括如下步骤:

(1)创建身份证扫描类,导入媒体库和ocr静态库;

(2)对扫描区域初始化,并添加预览图层,以及自定义的扫描界面;

(3)设置人脸扫描区域;

(4)从扫描输出的元数据中捕捉包含有人脸的帧图像;

(5)将捕获的包含有人脸的帧图像转化成图片;调用媒体库和ocr静态库根据该图片进行身份证信息识别,识别出身份证号、姓名、性别、民族、地址、头像。

优选地,上述身份证扫描录入方法,在自定义扫描界面时设置身份证头像框,用于引导用户将身份证与拍摄框边缘对齐以截取完整的身份证图像。

优选地,上述身份证扫描录入方法,步骤(4)具体为从扫描输出的元数据中捕捉人脸图像并确定人脸图像区域,将人脸图像区域与身份证头像框的区域对比,当人脸图像区域处于身份证头像框内时,捕获当前帧图像作为包含有人脸的帧图像。

优选地,上述身份证扫描录入方法,步骤(5)中的识别方法包括:

(5.1)创建身份证信息类,定义身份证属性,将识别的信息进行编码后赋值给身份证信息类中的对应属性;

(5.2)读取到身份证信息,创建idinfo对象,使用系统类cidetector从图片中识别人脸,得到头像;

优选地,上述身份证扫描录入方法,步骤(5.2)中通过放大截取的头像比例,使头像完整清晰。

优选地,上述身份证扫描录入方法,扫描界面中间设置有一个镂空窗口和来回移动的扫描线。

优选地,上述身份证扫描录入方法,所设置的预览图层是全屏的。

优选地,上述身份证扫描录入方法,在步骤(3)中,还判断是否有闪光灯,根据判断结果开启或关闭手电筒。总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

本发明提供的基于ocr与人脸识别技术的身份证扫描录入方法,通过实时扫描身份证进行识别,由于扫描频率快,所以效率高,并且根据身份证头像位置精准限定了扫描区,解决了现有技术身份证识别效率差的问题,并能识别出身份证中的头像,用于录入身份证上对应的照片。

附图说明

图1是本发明提供的基于ocr与人脸识别技术的身份证扫描录入方法的流程示意图;

图2是实施例提供的基于ocr与人脸识别技术的身份证扫描录入方法的流程示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明提供的基于ocr与人脸识别技术的身份证扫描录入方法,通过实时扫描身份证获取实时媒体信息,通过ocr静态库进行校验,得到身份证号码、姓名、性别、住址信息,同时使用人脸识别获取身份证头像;克服了传统身份证扫描仅能得到身份证号码的不足之处,并且大大提升了识别效率。

本发明提供的基于ocr和人脸识别技术的身份证扫描录入方法,包括通过终端摄像头扫描身份证捕获视频帧画面帧,通过回调函数截取其中一帧作为实时画面,并根据实时画面进行身份证信息识别和人脸识别的步骤。参照图1,是实施例提供的基于ocr和人脸识别技术的身份证扫描录入方法的流程示意图,包括:

s1、在ios设备上开启终端摄像头,使用ios系统库avfoundation创建一个avcapturesession类的实例session,配置session以产生解析度高的视频帧;初始化一个avcapturedeviceinput对象,以创建一个输入数据源,该数据源为捕获会话(session),初始化一个avcapturevideodataoutput用于处理从视频中捕获的未经压缩的帧,并开始捕获画面;

采用avcapturesession捕捉媒体并管理输入设备,采用avcaptureconnection将捕获的输出数据串联起来,得到实时数据;

根据串联起来的实时数据截取到完整的身份证信息,并区分输出的数据类型;通过开源的算法库ocr静态库进行身份证的文字识别;通过人脸识别ocr静态库获取身份证的头像,提高识别效率。

其中,avcapturesession是ios系统自带的管理和协调输入设备到输出设备之间数据流的对象,用于采集音视频;avcaptureconnection是ios系统自带的捕获会话中特定输入对与输出对象之间连接的对象。

s2:通过avcapturevideodataoutput回调函数获取实时图像,通过samplebuffer得到图片;

s3:根据得到的图片进行身份证信息的识别,使用liscanidcardios.a静态库校验最终得出证件号码、姓名、性别、民族、住址,并通过ios系统提供的cidetector类进行身份证的人脸识别。

参照图2,实施例提供的基于ocr和人脸识别技术的身份证扫描录入方法,具体包括如下步骤:

s1、创建身份证扫描类idcardcaptureviewcontroller,导入avfoundation媒体库和ocr静态库liscanidcardios.a;

s2、初始化扫描区域,添加预览图层,预览图层可以像照相机一样看到要拍摄的景物;

s3:添加自定义的扫描界面;在一个优选实施例中,扫描界面中间设置有一个镂空窗口和来回移动的扫描线;

s4:设置人脸扫描区域;由于预览图层是全屏的,即使身份证未对准拍摄框边缘,也可成功读取身份证上的信息,即会捕获到不完整的身份证图像。

在一个优选实施例中,为了截取到完整的身份证图像,在自定义扫描界面设置有一个身份证头像框,用户将身份证头像框对准身份证上的头像,以截取到完整的身份证上的头像图像;当该小框检测到人脸图像时,对比人脸区域是否在这个小框内,若是,表明用户将身份证头像图像放在了这个框里,那么此时这一帧身份证图像大小正好合适且完整,接下来才捕获该帧,获得完整的身份证头像截图;否则,放弃捕获当前图像;

检测身份证上的人脸图像是为了确定身份证上的人脸区域,获得人脸区域是为了希望人脸区域能在小框内,以截取到完整的人脸图像;通过身份证头像框可起到引导用户将身份证与拍摄框边缘对齐以获得完整的身份证图像。

在一个优选的实施例中,为了方便在光线暗的环境扫描身份证,添加手电筒的功能:具体地,判断是否有闪光灯,根据判断结果在访问硬件设备开启或关闭手电筒。

s5、从步骤s4得到的元数据中捕捉人脸图像,以确定“人脸图像区域”,将“人脸图像区域”与“身份证头像框”的区域对比,当“人脸图像区域”处于“身份证头像框”内时,捕获当前帧图像;

为videodataoutput设置代理,调用代理方法,捕获每一帧图像;其中,videodataoutput是ios的视频输出,用于处理从视频中捕获的未经压缩的帧。

代理方法是ios捕获帧图像的系统方法,采用搭载有ios系统的终端设备扫描身份证后,在代理方法中返回结果,根据返回的结果对比“人脸区域”与“身份证头像框”,当前者在后者范围内的时候,才能截取到完整的身份证图像。

s6、将步骤s5捕获的当前帧图像、转化成图片;

s7、根据该图片进行身份证信息识别,创建身份证信息类idinfo,定义身份证属性(身份证号、姓名、性别、民族、地址、头像),将识别的信息进行gbkencoding编码后赋值给身份证信息类中的对应属性;

s8、读取到身份证信息,创建idinfo对象,截取身份证的有效区域,获取到图像,使用系统类cidetector识别人脸,得到头像;在一个优选实施例中,通过放大截取的头像比例,使头像完整清晰;至此,得到身份证的身份证号、姓名、性别、民族、地址、头像。

本发明的方法所采用的不是传统c++的识别图像的方法,而是使用ios的系统库结合身份证识别的算法进行处理;具有速度快,识别率高的特点,并且比传统c++识别的方法多出除姓名、性别、年龄等文字信息外的图片信息识别即识别身份证头像。通过实时扫描身份证进行识别,解决了现有技术身份证识别效率差的问题,并能使用人脸识别额外识别出身份证中的头像。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1