GA/T 1012-2019 居民身份证指纹采集和比对技术规范

GA/T 1012-2019 Technical specifications for fingerprint acquisition and comparison of resident identity card

行业标准-公共安全 中文简体 现行 页数:20页 | 格式:PDF

基本信息

标准号
GA/T 1012-2019
标准类型
行业标准-公共安全
标准状态
现行
中国标准分类号(CCS)
国际标准分类号(ICS)
发布日期
2019-06-27
实施日期
2019-06-27
发布单位/组织
中华人民共和国公安部
归口单位
公安部计算机与信息处理标准化技术委员会
适用范围
本标准规定了居民身份证指纹采集和比对的要求、指纹算法的技术指标和测试方法。
本标准适用于居民身份证的指纹采集和比对。

发布历史

研制信息

起草单位:
公安部第一研究所、公安部治安管理局、公安部安全与警用电子产品质量检测中心、北京中盾安全技术开发公司
起草人:
刘琳、尹德森、张旭东、朱克勤、田青、丁增喜、张莹、祁卫炜、姜文瀚、张鹏、欧阳晖、李镇、周家福、郑征
出版信息:
页数:20页 | 字数:30 千字 | 开本: 大16开

内容描述

ICS35.240.15

A90

GA

中华人民共和国公共安全行业标准

GA/T1012—20XX

代替GA1012-2012

居民身份证指纹采集和比对技术规范

Technicalspecificationsforfingerprintacquisitionandcomparisonof

ResidentIdentityCard

点击此处添加与国际标准一致性程度的标识

(报批稿)

XXXX-XX-XX发布XXXX-XX-XX实施

中华人民共和国公安部发布

GA/T1012—20XX

居民身份证指纹采集和比对技术规范

1范围

本标准规定了居民身份证指纹采集和比对的要求、指纹算法的技术指标和测试方法。

本标准适用于居民身份证的指纹采集和比对。

2规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。

凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

GB/T13000信息技术通用多八位编码字符集(UCS)

GA/T449居民身份证术语

GA/T625-2010活体指纹图像采集技术规范

GA773-2008指纹自动识别系统术语

GA774.1-2008指纹特征规范第1部分:指纹方向

GA774.3-2008指纹特征规范第3部分:指纹中心点标注方法

GA774.5-2008指纹特征规范第5部分:指纹细节特征点标注方法

GA/T893-2010安防生物特征识别应用术语

GA/T894.3-2010安防指纹识别应用系统第3部分:指纹图像质量

GA/T894.6-2010安防指纹识别应用系统第6部分:指纹识别算法评测方法

GA/T1011-2012居民身份证指纹采集器通用技术要求

ISO/IEC19794-4信息技术生物测量数据交换格式第4部分:指纹图像数据(Information

technology–Biometricdatainterchangeformats–Part4:Fingerimagedata)

IAFIS-IC-0110(V3.1)小波标量量化(WSQ)灰度指纹图像压缩规范(WSQGRAY-SCALEFINGERPRINT

IMAGECOMPRESSIONSPECIFICATION)

3术语和定义

GA/T449、GA/T625-2010、GA773-2008、GA/T893-2010、GA/T894.3-2010、GA/T894.6

-2010界定的以及下列术语和定义适用于本文件。

3.1

注册enrolment

公民登记指纹信息时,采集手指指纹图像,提取其特征并存储的过程。

3.2

注册成功enrolmentsuccess

公民登记指纹信息时,能够采集其手指的指纹图像,图像质量符合特征提取要求。

1

GA/T1012—20XX

3.3

注册失败enrolmentfailure

公民登记指纹信息时,能够采集其手指的指纹图像,图像质量不符合特征提取要求。

3.4

未注册un-enrolled

公民登记指纹信息时,因手指残疾等生理原因无法采集其手指的指纹图像。

3.5

测试库testdatabase

与被测试的指纹识别应用系统使用人群分布相当,用于对指纹识别算法进行性能评测的指纹图像或

特征文件集合。

[GA/T894.6-2010,定义3.2]

4指纹的采集要求

4.1指纹数据

4.1.1指纹图像数据

4.1.1.1指纹原始图像数据

应由符合GA/T1011-2012规定的指纹采集器生成,单枚指纹原始图像数据长度应为92160字节,

宽应等于256像素点,高应等于360像素点。

4.1.1.2指纹压缩图像数据

应由指纹原始图像数据压缩生成,压缩方法应符合IAFIS-IC-0110(V3.1)的规定,指纹压缩图像数

据文件结构见附录A,单枚指纹压缩图像数据长度不大于20480字节。

4.1.1.3指纹复现图像数据

应由指纹压缩图像数据复现生成,复现方法应符合IAFIS-IC-0110(V3.1)的规定。

4.1.2指纹特征数据

描述指纹特征的数据,文件结构见附录A,单枚指纹特征数据长度为512字节。

4.2采集方式

采集方式如下:

a)单枚指纹平面活体采集;

b)指纹方向应符合GA774.1-2008的规定;

c)采集完成后,应清除指纹原始图像数据和指纹复现图像数据。

4.3采集数量

每人采集两枚指纹。

4.4采集指位顺序

2

GA/T1012—20XX

采集指位顺序如下:

a)先右手后左手,各注册一枚指纹;

b)指位按拇指、食指、中指、环指、小指顺序;

c)右手拇指注册失败时,应注册右手其他指位;

d)左手拇指注册失败时,应注册左手其他指位;

e)右手手指均注册失败时,应注册左手其他指位;

f)左手手指均注册失败时,应注册右手其他指位。

4.5采集质量要求

采集质量要求如下:

a)同一枚手指采集三幅指纹原始图像数据,其质量值均应大于预设的质量值;

b)对指纹原始图像数据进行特征提取,生成指纹特征数据,交叉比对后获得三个相似度值,计算

其平均值,该平均值应大于预设的相似度值;

c)对质量值最高的指纹原始图像数据进行压缩并复现,将指纹复现图像数据与对应的指纹特征数

据进行比对,获得相似度值,该值应大于预设的相似度值。

4.6采集结果

按4.4和4.5的规定,将采集的两枚指纹依次标识为指纹1和指纹2,采集结果包括以下情形:

a)指纹1注册成功,指纹2注册成功;

b)指纹1注册成功,指纹2注册失败;

c)指纹1注册成功,指纹2未注册;

d)指纹1注册失败,指纹2注册失败;

e)指纹1注册失败,指纹2未注册;

f)指纹1未注册,指纹2未注册。

注册成功手指生成指纹特征数据和指纹压缩图像数据。

注册失败手指生成指纹特征数据,取图像质量值最高的指纹原始图像数据生成指纹压缩图像数据。

未注册手指生成指纹特征数据,无指纹压缩图像数据。

5指纹的比对要求

5.1比对方式

使用居民身份证阅读器,读取居民身份证芯片内存储的指纹特征数据,获取注册结果和指位代码,

根据注册结果,比对方式分为:

a)注册结果为“注册成功”时,根据指位代码,按4.2的规定,采集持证人对应指位的指纹原始图

像数据,将其与指纹特征数据进行比对。比对完成后,应清除指纹原始图像数据;

b)注册结果为“注册失败”或“未注册”时,不进行指纹比对。

5.2比对结果

比对结果分为比对成功和比对失败。比对相似度值不小于预设的相似度值为比对成功,否则为比对

失败。

3

GA/T1012—20XX

6指纹算法的技术指标和测试方法

6.1技术指标

6.1.1注册失败率

应不大于5%。

6.1.2等错误率

应不大于0.1%。

6.1.3错误接受率和错误拒绝率

错误拒绝率为0.5%时,错误接受率应不大于0.05%。

6.1.4响应时间

应不大于0.5s。

6.2测试方法

6.2.1测试库建库准则

采集方式:应符合4.2的规定。

采集设备:应符合GA/T1011-2012的规定,类型不少于两种。

图像参数:应符合4.1.1.1的规定。

图像格式:BMP或符合ISO/IEC19794-4规定的其他文件格式。

人数规模:不少于1000人,每人采集不少于两枚手指,右手和左手各不少于一枚手指,每枚手指

采集指纹图像数不少于三幅。

性别分布:男性占51%、女性占49%。

年龄分布:15岁以下占17%、15岁~59岁占70%、60岁及以上占13%。

产业分布:第一产业占38%、第二产业占28%、第三产业占34%。

6.2.2应用程序接口函数

应用程序接口函数说明见附录B。

6.2.3测试环境

应符合GA/T894.6—2010中第5章的规定。

6.2.4测试过程

应符合GA/T894.6—2010中第7章的规定。

4

GA/T1012—20XX

A

A

附录A

(规范性附录)

指纹数据结构

A.1指纹特征数据

A.1.1指纹中心点

指纹中心点标注方法应符合GA774.3-2008的要求。

指纹中心点数据由两部分构成:

a)横坐标:x,有效值为0~255;

b)纵坐标:y,有效值为0~359。

每个指纹中心点数据用3个字节表示,见图A.1。第1个字节,存放指纹中心点横坐标(x)的全部8

位值;第2个字节,存放指纹中心点纵坐标(y)的低8位值;第3个字节,第1位存放指纹中心点纵坐标

(y)的最高位,其余位备用,备用位设置为1。

指纹中心点数据以3个字节为单位顺次排列。

a)第1字节b)第2字节

c)第3字节

图A.1指纹中心点数据表示方法

A.1.2指纹细节特征点

指纹细节特征点标注方法应符合GA774.5-2008的要求。

指纹细节特征点数据由三部分构成:

a)横坐标:x,有效值为0~255;

b)纵坐标:y,有效值为0~359;

c)方向:d,有效值为0~359。

每个指纹细节特征点用4个字节表示,见图A.2。第1个字节,存放指纹细节特征点横坐标(x)的全

部8位值;第2个字节,存放指纹细节特征点纵坐标(y)的低8位值;第3个字节,存放指纹细节特征点

方向(d)的低8位值;第4个字节,第1位存放指纹细节特征点纵坐标(y)的最高位,第2位存放指纹细

节特征点方向(d)的最高位,其余位备用,备用位设置为1。

指纹细节特征点数据以4个字节为单位顺次排列。

5

GA/T1012—20XX

a)第1字节b)第2字节

c)第3字节d)第4字节

图A.2指纹细节特征点数据表示方法

A.2指纹特征坐标系

指纹特征坐标系参照GA775-2008,见图A.3。以指纹图像的左上角为坐标原点(0,0),X轴坐标

值从左到右增加,Y轴坐标值从上至下增加,X、Y值以像素为单位,X大于等于0且小于256,Y大于等于0

且小于360。矢量角度以度为单位,用非负整数表示,与X轴平行并随X增大的方向为0°,逆时针转动时

角度增加,角度范围为0°~359°。

图A.3指纹特征坐标系

A.3指位代码

指位代码参照GA777.1-2010,采用两位数字字符,转换为1个字节的十六进制数值后存放,见表

A.1。

6

GA/T1012—20XX

表A.1指位代码表

代码指位名称转换后的数值

11右手拇指0BH

12右手食指0CH

13右手中指0DH

14右手环指0EH

15右手小指0FH

16左手拇指10H

17左手食指11H

18左手中指12H

19左手环指13H

20左手小指14H

97右手不确定指位61H

98左手不确定指位62H

99其他不确定指位63H

A.4指纹特征数据文件结构

指纹特征数据文件结构见表A.2,示例见表A.3。

7

GA/T1012—20XX

表A.2指纹特征数据文件结构

序号字段相对位置长度(字节)说明

1字段111文件头类型,记录字符“C”(43H)

2字段221指纹算法版本号

3字段331指纹采集器代码

4字段441指纹算法开发者代码

注册结果代码,01H表示“注册成功”,02H表示“注册

5字段551

失败”,03H表示“未注册”,09H表示“未知”

6字段661指位代码

指纹质量值,以00H~64H来表示,值01H表示最低质量,

7字段771

值64H表示最高质量,值00H表示“未知”

8字段88~1912保留项

指纹细节特征点数量。“注册失败”和“未注册”指纹设

9字段9201

置为00H

10字段1021~222指纹特征数据长度,以字节为单位

11字段1123~319指纹中心点数据

12字段1232~511480指纹细节特征点数据

13字段135121校验位,验位值采用CRC-8生成

8

GA/T1012—20XX

表A.3指纹特征数据文件结构示例

序号字段相对位置值(十六进制)说明

1字段1143“C”表示指纹特征数据

2字段2203指纹算法版本号为3

3字段3311指纹采集器代码为17

4字段440A指纹算法开发者代码为10

5字段5501“注册成功”

6字段6610左手拇指

7字段7750指纹质量值为80

FFFFFFFFFFFFFF

8字段88~19保留项

FFFFFFFFFF

9字段92033指纹细节特征点数量为51

10字段1021~2200D5指纹特征数据长度为213个字节

11字段1123~31······指纹中心点数据

12字段1232~511······指纹细节特征点数据

13字段135126DCRC校验位

A.5指纹压缩图像数据文件结构

指纹压缩图像数据文件结构见表A.4,示例见表A.5。

9

GA/T1012—20XX

表A.4指纹压缩图像数据文件结构

序号字段相对位置长度(字节)说明

1字段111文件头类型,记录字符“Y”(59H)

2字段221指纹算法版本号

3字段331指纹采集器代码

4字段441指纹算法开发者代码

注册结果代码,01H表示“注册成功”,02H表示“注册

5字段551

失败”,03H表示“未注册”,09H表示“未知”

6字段661指位代码

7字段77~2014保留项

8字段821~222指纹压缩图像数据长度,以字节为单位

9字段923~X指纹压缩图像数据

10字段10Y1校验位,验位值采用CRC-8生成。Y=23+X

表A.5指纹压缩图像数据文件结构示例

序号字段相对位置值(十六进制)说明

1字段1159“Y”表示指纹压缩图像数据

2字段2203指纹算法版本号为3

3字段3311指纹采集器代码为17

4字段440A指纹算法开发者代码为10

5字段5501“注册成功”

6字段6610左手拇指

FFFFFFFFFFFFFF

7字段77~20保留项

FFFFFFFFFFFFFF

8字段821~224F01压缩图像数据长度为20225个字节

9字段923~20247······指纹压缩图像数据

10字段1020248D6CRC校验位

10

GA/T1012—20XX

BB

附录B

(规范性附录)

应用程序接口函数说明

B.1文件格式

B.1.1文件生成

接口函数采用Windows动态链接库(DLL)形式发布。支持的操作系统应包括WindowsXP或兼容系统。

接口函数应在动态链接库中输出,支持多线程。程序编译为32位版本。

B.1.2文件名称

动态链接库文件名称为:ID_Fpr.dll。

B.2接口函数

接口函数见表B.1。

接口函数说明中指纹图像数据不包括指纹压缩图像数据。

表B.1接口函数

编号名称说明

1FP_GetVersion版本信息获取

2FP_Begin初始化操作

3FP_FeatureExtract指纹图像特征提取

4FP_FeatureMatch指纹特征数据比对

5FP_ImageMatch指纹图像数据与指纹特征数据比对

6FP_Compress指纹图像数据压缩

7FP_Decompress指纹图像数据复现

8FP_GetQualityScore指纹图像质量值获取

9FP_GenFeatureFromEmpty1生成“注册失败”指纹特征数据

10FP_GenFeatureFromEmpty2生成“未注册”指纹特征数据

11FP_End结束操作

11

GA/T1012—20XX

B.3函数说明

B.3.1版本信息获取

函数原型:int__stdcallFP_GetVersion(unsignedcharcode[4])。

参数:unsignedcharcode[4]版本信息格式为XXYY,XX为开发者代码,YY为版本号。例如

“1201”,则code的填写方式为:code[0]=‘1’,code[1]=‘2’,code[3]=‘0’,code[4]=

‘1’。输出参数。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:获取版本信息。

B.3.2初始化操作

函数原型:int__stdcallFP_Begin()。

参数:无。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:初始化操作。

B.3.3指纹图像特征提取

函数原型:int__stdcallFP_FeatureExtract(unsignedcharcScannerType,unsignedchar

cFingerCode,unsignedchar*pFingerImgBuf,unsignedchar*pFeatureData)。

参数:unsignedcharcScannerType指纹采集器代码。输入参数。

unsignedcharcFingerCode指位代码。输入参数。

unsignedchar*pFingerImgBuf指纹图像数据指针,指纹图像为RAW格式。输入参数。

unsignedchar*pFeatureData指纹特征数据指针,存储生成的指纹特征数据,由调

用者分配内存空间,指纹特征数据文件结构应符合附录A要求。输出参数。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:对指纹图像数据进行特征提取,生成指纹特征数据。

B.3.4指纹特征数据比对

函数原型:int__stdcallFP_FeatureMatch(unsignedchar*pFeatureData1,unsignedchar

*pFeatureData2,float*pfSimilarity)。

参数:unsignedchar*pFeatureData1指纹特征数据指针1。输入参数。

unsignedchar*pFeatureData2指纹特征数据指针2。输入参数。

float*pfSimilarity相似度,取值范围为0.00~1.00,值0.00表示不匹配,值1.00

表示完全匹配。输出参数。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:对两个指纹特征数据进行比对,得到相似度值。

B.3.5指纹图像数据与指纹特征数据比对

函数原型:int__stdcallFP_ImageMatch(unsignedchar*pFingerImgBuf,unsignedchar*

pFeatureData,float*pfSimilarity)。

参数:unsignedchar*pFingerImgBuf指纹图像数据指针,指纹图像为RAW格式。输入参数。

unsignedchar*pFeatureData指纹特征数据指针。输入参数。

12

GA/T1012—20XX

float*pfSimilarity相似度,取值范围为0.00~1.00,值0.00表示不匹配,值1.00

表示完全匹配。输出参数。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:对指纹图像数据与指纹特征数据进行比对,得到相似度值。

B.3.6指纹图像数据压缩

函数原型:int__stdcallFP_Compress(unsignedcharcScannerType,unsignedchar

cEnrolResult,unsignedcharcFingerCode,unsignedchar*pFingerImgBuf,int

nCompressRatio,unsignedchar*pCompressedImgBuf,unsignedchar

strBuf[256])。

参数:unsignedcharcScannerType指纹采集器代码。输入参数。

unsignedcharcEnrolResult注册结果代码。输入参数。

unsignedcharcFingerCode指位代码。输入参数。

unsignedchar*pFingerImgBuf指纹图像数据指针,指纹图像为RAW格式。输入参数。

intnCompressRatio指纹图像数据压缩倍数。输入参数。

unsignedchar*pCompressedImgBuf指纹压缩图像数据指针,调用者在调用此函数

前,应当分配不小于20480字节的内存,指纹压缩图像数据文件结构应符合附录A要求。

输出参数。

unsignedcharstrBuf[256]错误信息,如果压缩图像发生错误,并且返回值为-9的情

况下,strBuf填写错误信息。错误信息为以数值0结尾的字符串,采用GB/T13000中规定

的字符。输出参数。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:对指纹图像数据进行压缩。

B.3.7指纹图像数据复现

函数原型:int__stdcallFP_Decompress(unsignedchar*pCompressedImgBuf,unsignedchar

*pFingerImgBuf,unsignedcharstrBuf[256])。

参数:unsignedchar*pCompressedImgBuf指纹压缩图像数据指针,压缩图像数据长度不大

于20480字节。输入参数。

unsignedchar*pFingerImgBuf指纹复现图像数据指针,指纹图像为RAW格式,调用

者在调用此函数前,应当分配92160字节的内存。输出参数。

unsignedcharstrBuf[256]错误信息,如果压缩图像发生错误,并且返回值为-9的情

况下,strBuf填写错误信息。错误信息为以数值0结尾的字符串,采用GB/T13000中规定

的字符。输出参数。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:对指纹原始图像数据进行复现。

B.3.8指纹图像质量值获取

函数原型:int__stdcallFP_GetQualityScore(unsignedchar*pFingerImgBuf,unsignedchar

*pnScore)。

参数:unsignedchar*pFingerImgBuf指纹图像数据指针,指纹图像为RAW格式。输入参数。

unsignedchar*pnScore指纹图像质量值指针,指纹图像质量值取值范围为00H~

64H,值01H表示最低质量,值64H表示最高质量,值00H表示未知。

13

GA/T1012—20XX

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:获取指纹图像的质量值。

B.3.9生成“注册失败”指纹特征数据

函数原型:int__stdcallFP_GenFeatureFromEmpty1(unsignedcharcScannerType,unsigned

charcFingerCode,unsignedchar*pFeatureData)。

参数:unsignedcharcScannerType指纹采集器代码。输入参数。

unsignedcharcFingerCode指位代码。输入参数。

unsignedchar*pFeatureData指纹特征数据指针,存储生成的指纹特征数据,由调

用者分配内存空间,指纹特征数据文件结构应符合附录A要求。输出参数。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:本函数针对“注册失败”手指的情况,生成“注册失败”指纹特征数据。其中,字段5设

置为02H;字段9、字段10均设置为00H。

B.3.10生成“未注册”指纹特征数据

函数原型:int__stdcallFP_GenFeatureFromEmpty2(unsignedcharcFingerCode,unsigned

char*pFeatureData)。

参数:unsignedcharcFingerCode指位代码。输入参数。

unsignedchar*pFeatureData指纹特征数据指针,存储生成的指纹特征数据,由调

用者分配内存空间,指纹特征数据文件结构应符合附录A要求。输出参数。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:本函数针对“未注册”手指的情况,生成“未注册”指纹特征数据。其中,字段5设置为

03H;字段6设置为61H、62H或63H;字段7、字段9、字段10均设置为00H。

B.3.11结束操作

函数原型:int__stdcallFP_End()。

参数:无。

返回值:调用成功,返回1;否则返回错误代码,错误代码值应符合B.4的要求。

说明:结束操作。

B.4错误代码

错误代码见表B.2。

表B.2错误代码表

错误代码说明

-1参数错误

-2内存分配失败,没有分配到足够的内存

-3功能未实现

-9其他错误

14

推荐标准