开发中遇到的问题&解决方案(三)

简介: 我在P2P平台和消费金融平台都待过,所以对借贷这块的系统比较熟悉,其中重复做得最多的功能就是身份证OCR识别和活体识别也叫人脸四张图(眨眼,张嘴,向左,向右),那么今天来说说关于身份证OCR识别的那些坑和解决方案。


前言

*我在P2P平台和消费金融平台都待过,所以对借贷这块的系统比较熟悉,其中重复做得最多的功能就是身份证OCR识别和活体识别也叫人脸四张图(眨眼,张嘴,向左,向右),那么今天来说说关于身份证OCR识别的那些坑和解决方案。


1.使用的身份证OCR识别的厂商是旷视face++
2.身份证识别有哪些坑

1)图片要求是PNG或JPG,但是初期没有注意的时候没有限制文件类型,所以有传其他类型的身份证照片上来然后没有任何反应运营喊说程序有bug的事情出现,另外image_url参数最好是image_base64直接上传图片的,示例代码如下:

faceMap.put("image_base64", backPic.split(",")[1]);
String backResult = new String(FaceIdentity.post(URL, faceMap), "UTF-8");
JSONObject backObject = JSONObject.fromObject(backResult);
复制代码

不然容易得到如下类似的报错:

请求失败返回示例
{
   "time_used": 3,
      "error_message": "MISSING_ARGUMENTS: image_url, image_file, image_base64",
      "request_id": "1470378968,c6f50ec6-49bd-4838-9923-11db04c40f8d"
}
复制代码

2)关于身份证残缺的情况,不是所有去借贷的人的身份证都是完整的,就像钞票一样会少个角或者磨损严重有一些字无法被识别的,或者说会出现伪造身份证骗贷的情况,那么在请求返回的数据结构中就得借助legality 去判断身份证照片的一些特殊情况,

1.ID Photo (正式身份证照片),这种应该是最多的情况
2.Temporary ID Photo  (临时身份证照片),这种的话不是很多了,办了临时的再去补办正式的就很容易了
3.Photocopy (正式身份证的复印件),这点可以展开一下说说,复印件这玩意其实得注意保密,不然会被他人盗用
4.Screen (手机或电脑屏幕翻拍的照片),同样的,也是一样防诈骗的一种鉴别指数
5.Edited (用工具合成或者编辑过的身份证图片),这种的话就很明显了

下面的思维导图会更加清晰一些 微信截图_20220531134653.png

3.15位的身份证带来的问题

15位身份证即老身份证,因为之前15位的身份证进行过一次升级,迟迟没有升级的身份证就有可能在识别身份证号码时出问题。

最后,也是需要提醒的一点,请求这种第三方的接口,参数要尽可能的灵活,因为版本会随时升级,可以会新增参数也可能会减少参数,返回提示方面的话最后后端总结处理后返回前端,这样做的好处是,即使后端face++的版本升级,前端也不用发版。

目录
相关文章
|
4月前
|
算法 Java 调度
死锁预防与解决方案
死锁预防与解决方案
|
Java Spring
解决方案 --[restartedMain] o.s.b.d.LoggingFailureAnalysisReporter :
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. ERROR 9680 --- [ restartedMain] o.s.b.d.LoggingFailureAnalysisReporter
|
存储 编解码 监控
报告厅解决方案
大型单位、企业都建有报告厅,单位搭建报告厅的目的是为了召开各类会议、学术讨论、演讲、报告、新闻发布、多媒体教学培训、观看电影等活动提供卓越的音质效果、清晰的画面显示以及简单便捷的集中控制。报告厅通常会涉及举办活动时将现场画面的保存记录、活动画面以直播的形式在报告厅之外的其他屏幕上观看(因为报告厅容纳人数有限的原因)。针对这两个需求我们做了以下解决方案
|
JSON 自然语言处理 Java
开发中遇到的问题&解决方案(十)
我们在开发中一般遇到会对于敏感词的过滤或者屏蔽,因为之前做过社区类的APP,在这方面也踩了不少的坑,算是也积累了一点点的经验,那么今天我们来看看hutool里对于敏感词的一些操作,工具类SensitiveUtil()
383 0
开发中遇到的问题&解决方案(十)
|
Java 数据库 微服务
开发中遇到的问题&解决方案(三)
我们在日常的开发中会使用到很多工具类,比如最常用的Http请求的,或者日期工具类,处理时间差或者对日期进行特殊处理的,还有就是图片上传类的,比如阿里云或者腾讯云得SSO图片上传,以及Excel文件的导入导出。那这些工具类基本上都是跟着项目的,就是每个项目都写各自的工具类,如果分工明确细化到小组那重复代码就多了,那把工具类集成成一个项目类呢,由一个人去维护这个工具类工程,如果是微服务项目就是一个工具类的微服务,这样做的好处就很明显了,至少公司的研发部在使用到常用的工具类时不必再去网上找到。
291 0
开发中遇到的问题&解决方案(三)
|
网络协议 数据安全/隐私保护
开发中遇到的问题&解决方案(七)
邮件发送相信大家都不陌生吧,一般是用于电商平台比如京东下单后订单信息的邮件发送或者移动这种的月度账单的邮件发送,再有就是通过绑定的邮箱进行密码重置,由邮箱跳转到指定的密码重置页进行密码重置操作。那么下面我们来看看hutool里对于邮件发送的包装是怎么样的。
185 0
开发中遇到的问题&解决方案(七)
|
SQL NoSQL Oracle
开发中遇到的问题&解决方案(二)
一个软件系统最重要的是什么?毫无疑问是数据,那什么是数据的'运载体',什么作为后端与数据库的桥梁和沟通者呢,是SQL。我是Java开发出身,大学课程当时学习的是SQL Server,而且后面工作中实际用到过Oracle,DB2以及使用的最普遍的My SQL,至于No SQL 这一类下的常用的就是Redis和MongoDB了,这些后面再详细举例说明。今天讲的案列与表情相关,那么接下来进入今天的主题。
161 0
开发中遇到的问题&解决方案(二)
|
Java
开发中遇到的问题&解决方案(八)
以前的一个老项目里使用过ZXing进行会员和门店二维码的生成操作,当时出现过Java版本升级后不兼容的问题,很是麻烦,于是替换成了hutool里的二维码生成,下面我们来看看具体的实现。
195 0
开发中遇到的问题&解决方案(八)
开发中遇到的问题&解决方案(四)
今天继续hutool工具类的认识,废话不多说下面直接进入主题。
286 0
开发中遇到的问题&解决方案(四)
|
Java Linux 数据安全/隐私保护
开发中遇到的问题&解决方案(六)
之前的项目里有用到FTP,需要使用FTP把图片及一些必要文件上传到第三方的FTP服务器上,所以会涉及FTP连接,创建用户,创建文件夹,文件上传等,项目里选用的还是hutool包装的FTP工具类,下面来看看这些功能的在hutool里是怎么包装的。
519 0
开发中遇到的问题&解决方案(六)
下一篇
DDNS