RecognizeIdcard - 身份证识别

支持二代身份证正反面,包括姓名、性别、民族、地址、出生日期、身份证号、签发机关、有效期限等字段的结构化识别。并可进行实拍或复印件判断及人脸位置检测。

接口说明

本接口适用场景

  • 阿里云身份证文字识别,是阿里云官方自研 OCR 文字识别产品,用于对中国大陆身份证(含临时身份证)正反面图片进行智能文字识别并结构化输出识别结果。
  • 阿里云 OCR 产品基于阿里巴巴达摩院强大的 AI 技术及海量数据,历经多年沉淀打磨,具有服务稳定、操作简易、实时性高、能力全面等几大优势。
  • 本接口图片示例

本接口核心能力

分类概述
多类型覆盖支持自动区分正反面、支持少数民族版式识别、临时身份证识别、生僻字识别、反光实拍、劣质图像识别。
风险检测支持证件风险检测预警能力,包括智能判断图片完整度、复印件检测、翻拍检测、质量分等。
人像检测支持图像检测功能,可定位身份证中的人像图案并返回坐标。
图像增强默认支持图像增强,包括图像自动旋转、畸变自动矫正、模糊图片自动增强等能力。

如何使用本接口

步骤概述
1开通 个人证照识别 服务。开通服务前后,您可以通过体验馆免费体验本功能识别效果。
2购买身份证识别资源包。本 API 会赠送免费额度,可使用免费额度测试。您也可以不购买资源包,系统会通过“按量付费”方式按实际调用量自动扣款。
3可以参照调试页面提供的代码示例完成 API 接入开发。接入完成后,调用 API 获取识别结果。如果使用子账号调用接口,需要阿里云账号(主账号)对 RAM 账号进行授权。创建 RAM 用户的具体操作,请参考:创建 RAM 用户。文字识别服务提供一种系统授权策略,即 AliyunOCRFullAccess。具体授权操作,请参见在用户页面为 RAM 用户授权。

重要提示

类型概述
图片格式
  • 本接口支持:PNG、JPG、JPEG、BMP、GIF、TIFF、WebP。暂不支持 PDF 格式。
图片尺寸
  • 图片长宽需要大于 15 像素,小于 8192 像素。
  • 长宽比需要小于 50。
  • 如需达到较好识别效果,建议长宽均大于 500px。
图片大小
  • 图片二进制文件不能超过 10MB。
  • 图片过大会影响接口响应速度,建议使用小于 1.5M 图片进行识别,且通过传图片 URL 的方式调用接口。
国家与语言
  • 本接口只支持中国大陆身份证。
其他提示
  • 请保证整张身份证内容及其边缘包含在图像内。
  • 本能力会自动处理反光、扭曲等干扰信息,但会影响精度。请尽量选择清晰度高、无反光、无扭曲的图片。
相关能力

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ocr:RecognizeIdcard
*全部资源
*

请求参数

名称类型必填描述示例值
Urlstring
  • 本字段和 body 字段二选一,不可同时传或同时为空。
  • 图片链接(长度不超 2048 字节,不支持 base64)。
https://img.alicdn.com/tfs/TB1q5IeXAvoK1RjSZFNXXcxMVXa-483-307.jpg
bodybyte
  • 本字段和 URL 字段二选一,不可同时传或同时为空。
  • 图片二进制文件,最大 10MB。
  • 使用 HTTP 方式调用,把图片二进制文件放到 HTTP body 中上传即可。
  • 使用 SDK 的方式调用,把图片放到 SDK 的 body 中即可。
图片二进制文件
OutputFigureboolean
  • 是否需要图案检测功能,默认不需要。
  • true:需要;false:不需要。
false
OutputQualityInfoboolean
  • 是否需要身份证质量检测功能,默认不需要。
  • 身份证质量检测功能包含:是否翻拍,是否是复印件,完整度评分,整体质量分数、篡改指数。
  • 注意:如果需要设置此参数,请使用最新版本 SDK。如果不需要设置此参数,您无需更新 SDK。
false

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求唯一 ID

86B83935-DD36-195B-B6E4-D07BE370C8B6
Datastring

返回数据

{"algo_version": "48f3e265513a79d5f9bc26f0c010476bbd856b2d", "data": {"face": {"algo_version": "48f3e265513a79d5f9bc26f0c010476bbd856b2d", "angle": 0, "data": {"address": "四川省攀枝花市榕树街277号", "birthDate": "1986年1月9日", "ethnicity": "汉", "idNumber": "510124198809071234", "name": "王銘宇", "sex": "男"}, "ftype": 0, "height": 397, "orgHeight": 397, "orgWidth": 619, "prism_keyValueInfo": [{"key": "name", "keyProb": 100, "value": "王銘宇", "valuePos": [{"x": 139, "y": 75}, {"x": 194, "y": 75}, {"x": 194, "y": 94}, {"x": 139, "y": 94}], "valueProb": 100}, {"key": "sex", "keyProb": 100, "value": "男", "valuePos": [{"x": 139, "y": 122}, {"x": 159, "y": 122}, {"x": 159, "y": 144}, {"x": 139, "y": 144}], "valueProb": 100}, {"key": "ethnicity", "keyProb": 100, "value": "汉", "valuePos": [{"x": 260, "y": 122}, {"x": 282, "y": 122}, {"x": 282, "y": 142}, {"x": 260, "y": 142}], "valueProb": 100}, {"key": "birthDate", "keyProb": 100, "value": "1986年1月9日", "valuePos": [{"x": 141, "y": 170}, {"x": 303, "y": 168}, {"x": 304, "y": 183}, {"x": 142, "y": 185}], "valueProb": 100}, {"key": "address", "keyProb": 100, "value": "四川省攀枝花市榕树街277号", "valuePos": [{"x": 141, "y": 221}, {"x": 385, "y": 221}, {"x": 385, "y": 241}, {"x": 141, "y": 241}], "valueProb": 100}, {"key": "idNumber", "keyProb": 100, "value": "510124198809071234", "valuePos": [{"x": 226, "y": 338}, {"x": 543, "y": 336}, {"x": 543, "y": 355}, {"x": 227, "y": 356}], "valueProb": 100}], "sliceRect": {"x0": 10, "x1": 623, "x2": 629, "x3": 10, "y0": 17, "y1": 18, "y2": 398, "y3": 412}, "warning": {"completenessScore": 100, "isCopy": 0, "isReshoot": 0, "qualityScore": 89.296059, "tamperScore": 99.99968}, "width": 619}}, "height": 416, "orgHeight": 416, "orgWidth": 629, "width": 629}
Codestring

状态码(如果识别成功,不会返回此字段)

如果识别成功,不会返回此字段
Messagestring

详细信息(如果识别成功,不会返回此字段)

如果识别成功,不会返回此字段

返回参数说明


字段类型说明
dataobject结构化信息,正面为 face 字段,反面为 back 字段。
figurelist身份证人像面的人脸位置信息(当 OutputFigure=true 时,返回此字段)。
sliceRectlist检测出的子图坐标信息。
prism_keyValueInfolist结构化信息的坐标信息。
ftypeint是否为复印件(1:是,0:否)。
warningobject身份证质量检测信息(当 OutputQualityInfo=true 时,返回此字段)。
angleint图片的角度,0 表示正向,90 表示图片朝右,180 朝下,270 朝左。
heightint算法矫正图片后的高度。
widthint算法矫正图片后的宽度。
orgHeightint原图的高度。
orgWidthint原图的宽度。

正面识别结果(face 字段)

字段类型说明
namestring姓名。
sexstring性别。
ethnicitystring民族。
birthDatestring出生日期。
addressstring住址。
idNumberstring身份证号码。

反面识别结果(back 字段)

字段类型说明
issueAuthoritystring签发机关。
validPeriodstring有效期限。

结构化坐标信息(prism_keyValueInfo 字段)

字段类型说明
keystring识别出的字段名称。
keyProbint字段名称置信度。
valuestring识别出的字段名称对应的值。
valueProbint字段名称对应值的置信度。
valuePoslist字段在原图中的四个点坐标(左上、右上、右下、左下)。

正面人像位置信息(figure 字段)

字段类型说明
typestring图案类型。
xint人像图案左上角横坐标。
yint人像图案左上角纵坐标。
wint人像图案宽度。
hint人像图案高度。
boxobject人像图案坐标信息:人像图案中心横纵坐标,长宽,图案顺时针旋转角度。定义同 OpenCV 中 RotatedRect,请参见 OpenCV 文档
pointslist人像图案四个点坐标(左上、右上、右下、左下)。

身份证质量检测识别结果(warning 字段)

字段类型说明
isCopyint是否是复印件(1:是,0:否)。
isReshootint是否是翻拍(1:是,0:否)。
completenessScorefloat完整度评分。
qualityScorefloat整体质量分数。
tamperScorefloat篡改指数(数值越大表示篡改可能性越大,推荐阈值:60)。

示例

正常返回示例

JSON格式

{
  "RequestId": "86B83935-DD36-195B-B6E4-D07BE370C8B6",
  "Data": "{\"algo_version\": \"48f3e265513a79d5f9bc26f0c010476bbd856b2d\", \"data\": {\"face\": {\"algo_version\": \"48f3e265513a79d5f9bc26f0c010476bbd856b2d\", \"angle\": 0, \"data\": {\"address\": \"四川省攀枝花市榕树街277号\", \"birthDate\": \"1986年1月9日\", \"ethnicity\": \"汉\", \"idNumber\": \"510124198809071234\", \"name\": \"王銘宇\", \"sex\": \"男\"}, \"ftype\": 0, \"height\": 397, \"orgHeight\": 397, \"orgWidth\": 619, \"prism_keyValueInfo\": [{\"key\": \"name\", \"keyProb\": 100, \"value\": \"王銘宇\", \"valuePos\": [{\"x\": 139, \"y\": 75}, {\"x\": 194, \"y\": 75}, {\"x\": 194, \"y\": 94}, {\"x\": 139, \"y\": 94}], \"valueProb\": 100}, {\"key\": \"sex\", \"keyProb\": 100, \"value\": \"男\", \"valuePos\": [{\"x\": 139, \"y\": 122}, {\"x\": 159, \"y\": 122}, {\"x\": 159, \"y\": 144}, {\"x\": 139, \"y\": 144}], \"valueProb\": 100}, {\"key\": \"ethnicity\", \"keyProb\": 100, \"value\": \"汉\", \"valuePos\": [{\"x\": 260, \"y\": 122}, {\"x\": 282, \"y\": 122}, {\"x\": 282, \"y\": 142}, {\"x\": 260, \"y\": 142}], \"valueProb\": 100}, {\"key\": \"birthDate\", \"keyProb\": 100, \"value\": \"1986年1月9日\", \"valuePos\": [{\"x\": 141, \"y\": 170}, {\"x\": 303, \"y\": 168}, {\"x\": 304, \"y\": 183}, {\"x\": 142, \"y\": 185}], \"valueProb\": 100}, {\"key\": \"address\", \"keyProb\": 100, \"value\": \"四川省攀枝花市榕树街277号\", \"valuePos\": [{\"x\": 141, \"y\": 221}, {\"x\": 385, \"y\": 221}, {\"x\": 385, \"y\": 241}, {\"x\": 141, \"y\": 241}], \"valueProb\": 100}, {\"key\": \"idNumber\", \"keyProb\": 100, \"value\": \"510124198809071234\", \"valuePos\": [{\"x\": 226, \"y\": 338}, {\"x\": 543, \"y\": 336}, {\"x\": 543, \"y\": 355}, {\"x\": 227, \"y\": 356}], \"valueProb\": 100}], \"sliceRect\": {\"x0\": 10, \"x1\": 623, \"x2\": 629, \"x3\": 10, \"y0\": 17, \"y1\": 18, \"y2\": 398, \"y3\": 412}, \"warning\": {\"completenessScore\": 100, \"isCopy\": 0, \"isReshoot\": 0, \"qualityScore\": 89.296059, \"tamperScore\": 99.99968}, \"width\": 619}}, \"height\": 416, \"orgHeight\": 416, \"orgWidth\": 629, \"width\": 629}",
  "Code": "如果识别成功,不会返回此字段",
  "Message": "如果识别成功,不会返回此字段"
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2021-08-17OpenAPI 入参发生变更查看变更详情