高精度身份证识别服务:支持正反面、多张、定位、旋转与私有化部署

示例

注:以下身份证均为人工合成,并非真实身份证在这里插入图片描述

返回JSON示例

{
	"success": true,
	"variant": "mobile",
	"multiple": 2,
	"algo_version": "idcard-v1.0",
	"elapsed_ms": 403,
	"cards": [
		{
			"success": true,
			"side": "front",
			"data": {
				"face": {
					"algo_version": "idcard-v1.0",
					"angle": 0,
					"data": {
						"name": "张三",
						"sex": "女",
						"ethnicity": "汉",
						"birthDate": "1800年3月3日",
						"address": "北京市葫芦巷子28号",
						"idNumber": "110101180003030262"
					},
					"ftype": 0,
					"height": 644,
					"orgHeight": 644,
					"orgWidth": 1020,
					"prism_keyValueInfo": [
						{
							"key": "name",
							"keyProb": 92,
							"value": "张三",
							"valuePos": [
								{
									"x": 304,
									"y": 139
								},
								{
									"x": 303,
									"y": 92
								},
								{
									"x": 193,
									"y": 93
								},
								{
									"x": 194,
									"y": 140
								}
							],
							"valueProb": 99
						},
						{
							"key": "ethnicity",
							"keyProb": 91,
							"value": "汉",
							"valuePos": [
								{
									"x": 430,
									"y": 214
								},
								{
									"x": 430,
									"y": 178
								},
								{
									"x": 392,
									"y": 177
								},
								{
									"x": 392,
									"y": 214
								}
							],
							"valueProb": 99
						},
						{
							"key": "sex",
							"keyProb": 91,
							"value": "女",
							"valuePos": [
								{
									"x": 197,
									"y": 217
								},
								{
									"x": 234,
									"y": 215
								},
								{
									"x": 233,
									"y": 177
								},
								{
									"x": 195,
									"y": 179
								}
							],
							"valueProb": 99
						},
						{
							"key": "birthDate",
							"keyProb": 81,
							"value": "1800年3月3日",
							"valuePos": [
								{
									"x": 476,
									"y": 283
								},
								{
									"x": 476,
									"y": 254
								},
								{
									"x": 199,
									"y": 255
								},
								{
									"x": 199,
									"y": 284
								}
							],
							"valueProb": 99
						},
						{
							"key": "idNumber",
							"keyProb": 79,
							"value": "110101180003030262",
							"valuePos": [
								{
									"x": 886,
									"y": 570
								},
								{
									"x": 886,
									"y": 532
								},
								{
									"x": 349,
									"y": 534
								},
								{
									"x": 349,
									"y": 572
								}
							],
							"valueProb": 99
						},
						{
							"key": "address",
							"keyProb": 78,
							"value": "北京市葫芦巷子28号",
							"valuePos": [
								{
									"x": 553,
									"y": 375
								},
								{
									"x": 553,
									"y": 333
								},
								{
									"x": 194,
									"y": 333
								},
								{
									"x": 194,
									"y": 374
								}
							],
							"valueProb": 99
						}
					],
					"width": 1020
				}
			},
			"error": null
		},
		{
			"success": true,
			"side": "back",
			"data": {
				"back": {
					"algo_version": "idcard-v1.0",
					"angle": 180,
					"data": {
						"issueAuthority": "北京市公安局海淀分局",
						"validPeriod": "1820.11.12-1830.11.12"
					},
					"ftype": 0,
					"height": 609,
					"orgHeight": 609,
					"orgWidth": 978,
					"prism_keyValueInfo": [
						{
							"key": "issueAuthority",
							"keyProb": 86,
							"value": "北京市公安局海淀分局",
							"valuePos": [
								{
									"x": 405,
									"y": 424
								},
								{
									"x": 405,
									"y": 461
								},
								{
									"x": 745,
									"y": 461
								},
								{
									"x": 745,
									"y": 423
								}
							],
							"valueProb": 99
						},
						{
							"key": "validPeriod",
							"keyProb": 85,
							"value": "1820.11.12-1830.11.12",
							"valuePos": [
								{
									"x": 406,
									"y": 500
								},
								{
									"x": 406,
									"y": 533
								},
								{
									"x": 776,
									"y": 534
								},
								{
									"x": 776,
									"y": 501
								}
							],
							"valueProb": 98
						}
					],
					"width": 978
				}
			},
			"error": null
		}
	]
}

概述

本文介绍一款高性能、高精度的身份证识别服务。该服务基于先进的OCR算法,支持身份证正反面识别、多张证件同时识别、身份证定位、字段定位、旋转角度识别、字段相似度与OCR相似度识别等核心功能。综合识别率高达96%以上,并支持私有化部署,价格极具竞争力。

核心功能特性

1. 全面识别支持

  • 正反面识别:可同时识别身份证人像面(正面)和国徽面(背面),并返回结构化数据。
  • 多张证件识别:单次请求可处理多张身份证图片,返回每张的识别结果,提升批量处理效率。
  • 身份证定位:自动检测图片中的身份证区域。
  • 字段定位:不仅返回字段文本,还提供每个字段在图片中的精确坐标位置(valuePos),便于二次核对或可视化标注。
  • 旋转角度识别:自动检测并校正身份证的旋转角度(angle字段),支持多角度摆放。
  • 复印件判断:通过ftype字段标识是否为复印件,满足金融、政务等场景的合规要求。

2. 高精度与置信度

  • 综合识别率96%以上:在标准测试集上达到行业领先水平,在身份证号码识别准确率达98%以上。
  • 字段级置信度:每个识别出的字段均提供keyProb(关键字段置信度)和valueProb(值置信度),便于业务层根据阈值进行风控或人工复核。
  • OCR相似度识别:提供算法层面的整体识别置信度评估。
  • 备注:识别失误主要集中于住址信息中的生僻字或字形相近字,但整体准确率与主流云厂商接近。

3. 灵活的部署与集成

  • 私有化部署:支持将识别引擎部署在客户自有服务器或内网环境,保障数据安全与隐私。

  • 多OCR模型选择:支持通过两种模型切换
    mobile模型:速度快,OCR准确率比server模型低3%左右 ,速度相对server快30%
    server模型:速度慢,OCR准确率比mobile模型高3%左右,速度相对mobile模型慢30%

  • 高性能:单张识别耗时通常在400-2500毫秒左右(elapsed_ms),满足实时性要求,主要看设备的CPU核心,8核CPU的识别速度700-2500ms身份证反面速度比证明要快50%左右,32核CPU识别速度在300-500ms。

  • 价格便宜:相比公有云按次计费,私有化部署具有显著的长期成本优势,相比于云厂商5-10万的私有化部署费用(云厂商通常要求GPU环境部署)。

  • 数据安全:数据安全,内网允许,数据不外传,适用于安全性要求高的系统。

  • 更便宜的部署环境:相比于其他厂商强制要求GPU部署环境,本系统运行在8core的CPU服务器即可满足日常的使用,极大的降低了服务器成本。

接口响应详解

以下是一个完整的成功响应示例,展示了识别两张身份证(一正一反)的结果:

{
	"success": true,
	"variant": "mobile",
	"multiple": 2,
	"algo_version": "idcard-v1.0",
	"elapsed_ms": 403,
	"cards": [
		{
			"success": true,
			"side": "front",
			"data": {
				"face": {
					"algo_version": "idcard-v1.0",
					"angle": 0,
					"data": {
						"name": "xxx",
						"sex": "xx",
						"ethnicity": "xx",
						"birthDate": "xxxxx",
						"address": "xxxxx",
						"idNumber": "xxxxxxxxxxxxx"
					},
					"ftype": 0,
					"height": 644,
					"orgHeight": 644,
					"orgWidth": 1020,
					"prism_keyValueInfo": [
						{
							"key": "name",
							"keyProb": 92,
							"value": "xxx",
							"valuePos": [ ... ],
							"valueProb": 99
						},
                        // ... 其他字段(性别、民族、出生日期、住址、公民身份号码)类似
					],
					"width": 1020
				}
			},
			"error": null
		},
		{
			"success": true,
			"side": "back",
			"data": {
				"back": {
					"algo_version": "idcard-v1.0",
					"angle": 180,
					"data": {
						"issueAuthority": "xxx分局",
						"validPeriod": "1820.11.12-1830.11.12"
					},
					"ftype": 0,
					"height": 609,
					"orgHeight": 609,
					"orgWidth": 978,
					"prism_keyValueInfo": [ ... ],
					"width": 978
				}
			},
			"error": null
		}
	]
}

技术优势与适用场景

技术优势

  1. 算法领先:自研idcard-v1.0算法,针对身份证字体、布局深度优化。
  2. 字段齐全:覆盖身份证所有关键字段,包括易错的住址信息。
  3. 坐标返回:提供字段位置,支持可视化核对与自动化流程。
  4. 抗干扰强:支持光照不均、轻微褶皱、倾斜旋转等复杂场景。

服务获取与对接

提供API调用,方便快速集成。

私有化部署方案可根据您的服务器配置与并发需求进行定制,确保性能与数据安全。价格实惠,远低于持续调用公有云API的长期成本。

Docker部署 Docker容器化部署,环境配置0成本。

如需了解详细报价、申请测试,请私信联系。


Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐