1.功能描述:
支持對二代居民身份證正反面所有8個字段進行結(jié)構(gòu)化識別槐脏,包括姓名、性別撇寞、民族顿天、出生日期堂氯、住址、身份證號牌废、簽發(fā)機關(guān)祖灰、有效期限,識別準確率超過99%
2.平臺接入
具體接入方式比較簡單畔规,可以參考我的另一個帖子,這里就不重復(fù)了:
http://ai.baidu.com/forum/topic/show/943327
3.調(diào)用攻略(Python3)及評測
3.1首先認證授權(quán):
在開始調(diào)用任何API之前需要先進行認證授權(quán)恨统,具體的說明請參考:
http://ai.baidu.com/docs#/Auth/top
具體Python3代碼如下:
# -*- coding: utf-8 -*-
#!/usr/bin/env python
import urllib
import base64
import json
#client_id 為官網(wǎng)獲取的AK叁扫, client_secret 為官網(wǎng)獲取的SK
client_id =【百度云應(yīng)用的AK】
client_secret =【百度云應(yīng)用的SK】
#獲取token
def get_token():
? ? host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
? ? request = urllib.request.Request(host)
? ? request.add_header('Content-Type', 'application/json; charset=UTF-8')
? ? response = urllib.request.urlopen(request)
? ? token_content = response.read()
? ? if token_content:
? ? ? ? token_info = json.loads(token_content)
? ? ? ? token_key = token_info['access_token']
? ? return token_key
3.2身份證識別分析接口調(diào)用:
詳細說明請參考:?https://ai.baidu.com/docs#/OCR-API/
說明的比較清晰,這里就不重復(fù)了畜埋。
大家需要注意的是:
API訪問URL:https://aip.baidubce.com/rest/2.0/ocr/v1/webimage
圖像數(shù)據(jù)莫绣,base64編碼后進行urlencode,要求base64編碼和urlencode后大小不超過4M悠鞍,最短邊至少15px对室,最長邊最大4096px,支持jpg/jpeg/png/bmp格式
Python3調(diào)用代碼如下:
#身份證
#filename:圖片名(本地存儲包括路徑),side:front:身份證含照片的一面咖祭;back:身份證帶國徽的一面
def idcard(filename,side):
? ? request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/idcard"
? ? # 二進制方式打開圖片文件
? ? f = open(filename, 'rb')
? ? img = base64.b64encode(f.read())
? ? params = dict()
? ? params['image'] = img
? ? params['id_card_side'] = side
? ? params['detect_risk'] = 'true'
? ? params = urllib.parse.urlencode(params).encode("utf-8")
? ? #params = json.dumps(params).encode('utf-8')
? ? access_token = get_token()
? ? request_url = request_url + "?access_token=" + access_token
? ? request = urllib.request.Request(url=request_url, data=params)
? ? request.add_header('Content-Type', 'application/x-www-form-urlencoded')
? ? response = urllib.request.urlopen(request)
? ? content = response.read()
? ? if content:
? ? ? ? #print(content)
? ? ? ? content=content.decode('utf-8')
? ? ? ? #print(content)
? ? ? ? data = json.loads(content)
? ? ? ? #print(data)
? ? ? ? image_status=data['image_status']
? ? ? ? if image_status=='normal':
? ? ? ? ? ? image_status='識別正常'
? ? ? ? elif image_status=='reversed_side':
? ? ? ? ? ? image_status='身份證正反面顛倒'
? ? ? ? elif image_status=='non_idcard':
? ? ? ? ? ? image_status='上傳的圖片中不包含身份證'
? ? ? ? elif image_status=='blurred':
? ? ? ? ? ? image_status='身份證模糊'
? ? ? ? elif image_status=='other_type_card':
? ? ? ? ? ? image_status='其他類型證照'
? ? ? ? elif image_status=='over_exposure':
? ? ? ? ? ? image_status='身份證關(guān)鍵字段反光或過曝'
? ? ? ? elif image_status=='over_dark':
? ? ? ? ? ? image_status='身份證欠曝(亮度過低)'
? ? ? ? elif image_status=='unknown':
? ? ? ? ? ? image_status='未知狀態(tài)'
? ? ? ? risk_type=data['risk_type']
? ? ? ? if risk_type=='normal':
? ? ? ? ? ? risk_type='正常身份證'
? ? ? ? elif risk_type=='copy':
? ? ? ? ? ? risk_type='復(fù)印件'
? ? ? ? elif risk_type=='temporary':
? ? ? ? ? ? risk_type='臨時身份證'
? ? ? ? elif risk_type=='screen':
? ? ? ? ? ? risk_type='翻拍'
? ? ? ? elif risk_type=='unknown':
? ? ? ? ? ? risk_type='未知狀態(tài)'
? ? ? ? print ('圖片狀態(tài):',image_status)
? ? ? ? print ('風(fēng)險類型:',risk_type)
? ? ? ? words_result=data['words_result']
? ? ? ? for item in words_result:
? ? ? ? ? ? print (item,':',words_result[item]['words'])
idcard('../img/idcard4.jpg','front')?
4.功能評測:
選用不同的數(shù)據(jù)對效果進行測試掩宜,具體效果如下(以下例子均來自網(wǎng)上):
正面
圖片狀態(tài): 識別正常
風(fēng)險類型: 正常身份證
住址 : 湖南省長沙縣暮云鎮(zhèn)西湖村居恭塘組149號
出生 : 19870115
姓名 : 游志勇
公民身份號碼 : 430121198701150014
性別 : 男
民族 : 漢
帶人及模糊:?
圖片狀態(tài): 身份證模糊
風(fēng)險類型: 正常身份證
公民身份號碼 : 130726199412207123
性別 : 女
姓名 :
民族 : 漢
出生 : 19941220
反面:
圖片狀態(tài): 識別正常
風(fēng)險類型: 正常身份證
失效日期 : 20290317
簽發(fā)機關(guān) : 宿州市公安局武陵分局
簽發(fā)日期 : 20090317
處理后:
圖片狀態(tài): 未知狀態(tài)
風(fēng)險類型: 正常身份證
住址 : 湖南省邵陽市綏寧縣
出生 : 19930920
姓名 :
公民身份號碼 : 430527199309204211
性別 : 男
民族 : 漢
測試下來,整體識別效果不錯么翰。對于身份證有較強的識別能力牺汤,準確度很高。
使用身份證識別和人臉識別技術(shù)浩嫌,實現(xiàn)對用戶身份信息的結(jié)構(gòu)化識別和錄入檐迟,可應(yīng)用于金融、保險码耐、電商追迟、O2O、直播等場景骚腥,滿足對用戶敦间、商家、主播等進行實名認證的需求束铭,有效降低用戶輸入成本每瞒,控制業(yè)務(wù)風(fēng)險