基于深度学习身份证识别整合方案

不太清楚大厂是怎么做的,但是最近接触了一下身份证检测的课题,OCR中文的确不太容易,这边说说我使用的卡片检测和校准的方法吧。主要步骤是先检测出卡片的位置后,通过获取卡片区域图像进行对齐校准,再采用中文ocr进行文字提取。

检测算法有试过使用OpenCV的函数,如霍夫变换,Canny边缘检测,LSD直线检测,但是效果都不是很好,在各种的环境下测试,检查结果很容易出现缺边少角的现象。

后来改用深度学习边缘检测提取的方法,尽管有时候还是会出问题但是已经能有效的解决用传统算法提取卡片边框时出现的大部分问题了,输出的图像再通过传统算法修正即可。

对齐方式是在提取边缘后,提取卡片的四个角进行仿射变换,将其校准后便可以使用套模板位置的形式去定位身份证上的一些有效信息的位置。

文字识别方面采用开源项目ChineseOCR等一些比较优秀的中文ocr对套用的模板位置来进行文字提取。

边缘检测

首先是边缘检测,我们抛弃传统OpenCV的函数,如霍夫变换,Canny边缘检测,LSD直线检测。使用深度学习神经网络输出heatmap的方式提取卡片的边缘。

边缘检测使用视频流进行提取相对还是流畅的

使用边缘检测提取身份证区域后,使用卡片四个角坐标进行仿射变换进行校准,将卡片区域变换成一个矩形区域。

身份证关键位置框检测

我们利用自行收集一些网上的身份证数据,约8、9百张图片,进行标注,将身份证卡片上的关键信息分为9个地方。使用标注工具标注完毕后,使用RestNet50进行训练。由于数据集比较少,所以在提取住址那栏的属性中,检测效果不是非常出色。

原图:

处理结果:

整合中文OCR进行完整的身份证识别

整合了以上的功能后,我们使用中文的OCR软件对划分的区域进行识别。

这样的整合方式效果还算不错,只是只能针对身份证,其他卡片的话,在关键位置检测还得重新根据卡片进行分析。

版权声明:如无特殊说明,文章均为本站原创,转载请注明出处

本文链接:http://tunm.top/article/idcard/