概述

这个工作主要是利用之前项目的语义分割算法,顺便探索一下身份证部件解析的功能。安排实习生利用合成的身份证照片进行了语义分割的标注。

我的目的有两个:1.检测身份证上的信息是否齐全;2.确定身份证各文字信息的位置,把文字抠出来给OCR程序。

基于opencv的算法

之前写过一篇文章《python_opencv–身份证文字区域检测》,利用opencv的接口进行二值化,然后找出所有的阴影对应的外接矩形。

这个方法首先是鲁棒性不好,图片颜色变一点,二值化就会出较多问题;其次,找到所有矩形还要跟标准模板比较,确定哪个矩形对应什么信息。

基于深度学习的语义分割方法

标注

首先,利用手头上一百多张身份证合成照片进行语义分割标注,标注信息分为14个类别:

# 0-正面, 1-背面,3-国徽,4-姓名
# 5-性别,6-民族,7~9:年月日, 10:地址
# 11-身份证号,12;签发机构,13:签发日期

注意,为了增强鲁棒性,我故意让实习生把部分身份证的一些信息抹掉了,有的抹掉姓名,有的抹掉身份证号,有的抹掉住址和照片。这样训练出来的模型可以检查身份证上的元素是否完整。

训练

采用语义分割框架进行训练。训练过程输出的结果如下(中间是标注,右侧是训练过程的评估输出):

为了保护隐私,我把身份原图打码了。训练了9000多步就停止了,毕竟图片少,只有100多张。

测试结果

使用保留的图片测试,效果非常好。除了可以输出不错的分割结果,利用输出的class-id map可以快速定位到各种文字元素的bbox。基本实现了元素完整性检测和文字切割的目标。

韦小宝的这张照片和训练集差异较大,颜色不太一样,有水印干扰,最终分割效果还行。个别点分错了影响了地址和id部分的bbox(用一些腐蚀膨胀算法应该能去掉这种干扰)。

展望

因为图片比较简单(最多有点多余的白边),目前语义分割做的还不错。实际上也可以用“anchor框+目标检测”的方式,即用一个模板确定每个文字元素的标准bbox作为anchor,用神经网络算法去回归偏移量;也可以考虑通用的文字检测算法(如CTPN或者EAST),检测到的文本框和标准模板对比来判断是哪个元素,但是要针对身份证训练,否则效果不会很好。

如果是生活场景的拍摄照,身份证可能是歪的,可以先寻找身份证边框,使用仿射变换把身份证恢复到平铺视角,再使用上面的方法进行文字区域检测。

参考资料

python_opencv–身份证文字区域检测

自制人脸分割/解析数据集:helen_small4seg(附网盘下载地址)

人脸解析(Face Parsing)和人体解析Human Parsing:方法、数据集和论文

基于语义分割的身份证部件解析和文字检测相关推荐

  1. 基于语义分割和生成对抗网络的缺陷检测算法

    一.缺陷类型 如下图所示,缺陷类型主要有缺损和裂纹两个类型. 二.语义分割网络 FCN网络 网上介绍FCN的教程很多,在这里不再详细讲述,具体请参考链接: https://www.cnblogs.co ...

  2. 细粒度语义分割:ICCV2019论文解析

    细粒度语义分割:ICCV2019论文解析 Fine-Grained Segmentation Networks: Self-Supervised Segmentation for Improved L ...

  3. 直播预告 | 长文本知识抽取:基于语义分割的文档级三元组关系抽取

    「AI Drive」是由 PaperWeekly 和 biendata 共同发起的学术直播间,旨在帮助更多的青年学者宣传其最新科研成果.我们一直认为,单向地输出知识并不是一个最好的方式,而有效地反馈和 ...

  4. 空间中的语义直线检测_基于语义分割的车道线检测算法研究

    龙源期刊网 http://www.qikan.com.cn 基于语义分割的车道线检测算法研究 作者:张道芳 张儒良 来源:<科技创新与应用> 2019 年第 06 期 摘 ; 要:随着半自 ...

  5. 基于语义分割Ground Truth(GT)转换yolov5目标检测标签(路面积水检测例子)

    基于语义分割Ground Truth(GT)转换yolov5目标检测标签(路面积水检测例子) 概述 许多目标检测的数据是通过直接标注或者公开平台获得,如果存在语义分割Ground Truth的标签文件 ...

  6. 带你读AI论文丨LaneNet基于实体分割的端到端车道线检测

    摘要:LaneNet是一种端到端的车道线检测方法,包含 LanNet + H-Net 两个网络模型. 本文分享自华为云社区<[论文解读]LaneNet基于实体分割的端到端车道线检测>,作者 ...

  7. 论文翻译 | Mask-SLAM:基于语义分割掩模的鲁棒特征单目SLAM

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 1 摘要 本文提出了一种将单目视觉SLAM与基于深度学习的语义分割相结合的新方法.为了稳定运行,vSL ...

  8. Mask-SLAM:基于语义分割掩模的鲁棒特征单目SLAM

    摘要 本文提出了一种将单目视觉SLAM与基于深度学习的语义分割相结合的新方法.为了稳定运行,vSLAM需要静态对象上的特征点.在传统的vSLAM中,随机样本一致性(RANSAC) 用于选择那些特征点. ...

  9. 基于语义分割实现人脸图像的皱纹检测定位与分割

    前言 人脸皱纹主要区分有额纹.川字纹.眼下纹.法令纹.嘴角纹,眼角纹等,在美颜相机,智能医美等于应用领域里,需要对人脸皱纹进行检测.定位.分割,测量等. 传统图像算法的皱纹检测 1.传统算法的皱纹检测 ...

最新文章

  1. GreenPlum学习笔记:基础知识
  2. 南科大新任校长薛其坤:考研3次才进入中科院,杨振宁曾点赞他「诺奖级」研究成果...
  3. Android L 仍需改善的三个问题
  4. Kafka笔记:kafka原理简介以及架构
  5. python stringvar函数_Tkinter 求助,怎么获取StringVar() 的值
  6. 首个进入Gartner领导者象限的中国数据库要开发布会了!
  7. 设计模式系列·王小二需求历险记(一)
  8. jsp+tomcat程序helloworld
  9. kaggle奖牌发放体系(转)
  10. 【转】SVN trunk(主线) branch(分支) tag(标记) 用法详解和详细操作步骤
  11. 你的代码可以是优雅的,但是还有更重要的
  12. 算法导论-线性时间排序习题解
  13. 一纸书来只为墙,让他三尺又何妨?长城万里今犹在,不见当年秦始皇。
  14. aspx 判断字符串是否为decimal_C++编程技巧: 如何判断输入是否为整型
  15. 38. 重定向与负载均衡
  16. [NOIP2016 普及组] 海港
  17. BUUCTF刷题-RAR 压缩包暴力破解密码
  18. 未受信任的企业级开发者_在 iOS 上安装自定企业级应用
  19. COSCon'20 Apache Roadshow- China 精彩收官!|会场精彩回顾篇
  20. 递归求地铁两站间最短路径

热门文章

  1. 前端学习从入门到高级全程记录之45 (ajax---1)
  2. 一台云服务器可以干什么?
  3. [TCL]Tcl语言基礎教程(二)
  4. 【3月比赛合集】45场可报名的数据挖掘奖金赛,任君挑选!
  5. 网页设计如何排成一列_多页面排版设计:15个不可不知的技巧
  6. Flink程序启动报错could not be determined automatically
  7. GandCrab v2.0 勒索病毒分析
  8. 小米note2不上Android9吗,小米note2和华为g9哪个好?小米note2和华为G9青春版详细区别对比评测...
  9. 皮肤亮白白——美颜算法
  10. 菜鸟零基础建站入门指引(仅供参考)