FVC(Fingerprint Verification Competition)数据集是全球指纹识别领域最权威的算法评测基准之一,由意大利博洛尼亚大学的生物识别系统实验室联合密歇根州立大学等机构发布。它不仅为学术界和工业界建立了一个统一的测试平台,也使得不同的指纹识别算法能够在相同的数据上进行公正的性能比较。

FVC2000、FVC2002与FVC2004的数据集结构、文件格式及容量等基本情况如下表所示。

数据集参数 FVC2000 FVC2002 FVC2004
图像总数 3,520张 3,520张 3,520张
手指总数(个) 110个手指 × 8次采样 110个手指 × 8次采样 110个手指 × 8次采样
文件格式 TIFF TIFF TIFF / BMP
数据总量 约401 MB 约431 MB 约573 MB
子集划分 Set A(1-100号手指,用于评测),Set B(101-110号手指,用于参数调优) 同 FVC2000 同 FVC2000

需要了解的是,这三届竞赛的数据集并不适合跨届进行错误率等指标的横向比较,其主要价值在于为每一时期的技术进步设定一个不变的标尺。

FVC2000:奠基之作

作为该系列赛事的开端,FVC2000 的核心思想是通过多个子数据集来模拟真实世界中可能遇到的各种情况,为指纹识别算法建立一个可重复、可横向比较的统一评测基准。四个子数据库(DB1-DB4)具体如下:

子库 传感器类型 采集设备 图像尺寸 分辨率
DB1 光学传感器 低端光学扫描仪 300×300 500 dpi
DB2 光学传感器 中端光学扫描仪 256×364 500 dpi
DB3 电容式传感器 电容传感芯片 448×478 500 dpi
DB4 合成指纹 SFinGe 2.0 软件 288×384 ~500 dpi

FVC2002:技术演进

FVC2002 紧承 FVC2000,旨在追踪指纹验证领域的最新进展。它在传感器选择和数据采集上进行了优化,特别引入了更高分辨率的传感器类型。其子集详情如下:

子库 传感器类型 采集设备 图像尺寸 分辨率
DB1 光学传感器 Identix TouchView II 388×374 500 dpi
DB2 光学传感器 Biometrika FX2000 296×560 569 dpi
DB3 电容式传感器 Precise Biometrics 100 SC 300×300 500 dpi
DB4 合成指纹 SFinGe 2.51 软件 288×384 ~500 dpi

FVC2004:迈向真实

FVC2004 的命名很容易让人误以为是 FVC2002 的延续,但它带来了划时代的变革。首先,其数据集的难度显著高于前两届,官方明确指出不应直接比较不同届竞赛的错误率。其次,它首次在采集流程中系统性地引入了多种复杂条件,旨在全面考验算法的鲁棒性。为了强调这点,这里单独展开其人工干预的流程:

  1. 位置与压力:在第一次采集时,要求志愿者垂直移动手指位置、交替使用轻/重按压。

  2. 形变与旋转:在第二次采集中,要求志愿者夸大皮肤扭曲程度并旋转手指。

  3. 干湿条件:在第三次采集中,分别将手指弄干和湿润后再进行采集。

这实际上是 FVC2006 中提出的“从实验室走向真实”概念的首次实践,旨在模拟手指干湿、按压角度、力度变化等日常使用场景。正是这种设计思路的革新,使得 FVC2004 被视为具有“划时代意义”的数据集。其子集详情如下:

子库 传感器类型 采集设备 图像尺寸 分辨率
DB1 光学传感器 CrossMatch LiveScan (V300) 560×560 500 dpi
DB2 光学传感器 Digital Persona U.are.U 4000 328×364 500 dpi
DB3 热敏传感器 Atmel FingerChip (FCD4B14CB) 300×480 512 dpi
DB4 合成指纹 SFinGe v3.0 软件 288×384 ~500 dpi

总体而言,FVC2000、FVC2002、FVC2004构成了指纹识别算法演进历程中最经典的技术基准三部曲,每个版本都为推动领域进步做出了独特贡献。选择数据集时,FVC2004 最适合测试真实环境下的鲁棒性,FVC2002 DB2 则适合高精度的细节点研究,而 FVC2000 的基础配置使其成为算法原型验证的稳定首选。

📊 FVC指纹数据集总结框图

🗂️ 文件夹命名与层级结构

解压官方提供的压缩包后,典型的目录结构会遵循以下模式,这体现了竞赛官方为了构建统一、标准的测试环境所做的细致设计:

FVC{Year}/                                 # 根目录 (例如: FVC2000)
├── Doc/                                   # 文档
│   └── fvc{Year}_report.pdf               # 官方技术报告 (如: fvc2000_report.pdf)[reference:1]
├── Src/                                   # 源代码 (2000/2002届提供)
│   └── *.[ch]                             # 官方提供的C语言示例代码[reference:2]
├── Dbs/                                   # 核心数据库目录
│   ├── index_a.MFA                        # 匹配文件A: 测试集(Set A) 类内匹配列表
│   ├── index_a.MFR                        # 匹配文件A: 测试集(Set A) 类间匹配列表[reference:3]
│   ├── index_b.MFA                        # 匹配文件B: 训练集(Set B) 类内匹配列表
│   ├── index_b.MFR                        # 匹配文件B: 训练集(Set B) 类间匹配列表[reference:4]
│   ├── Db1a/                              # DB1的Set A (100指 × 8次)
│   │   ├── 101_1.tif
│   │   ├── 101_2.tif
│   │   └── ...
│   ├── Db1b/                              # DB1的Set B (10指 × 8次)[reference:5]
│   ├── Db2a/ ... , Db2b/ ... , Db3a/ ... , Db3b/ ... , Db4a/ ... , Db4b/ ...  # DB2/3/4同样区分

🏷️ 文件命名规则:详解 101_1.tif

文件名如 101_1.tif 遵循 [手指编号]_[采样序号].[后缀] 的固定格式。

  • 101 是手指编号(Finger ID)

    • Set A 对应 1-100,Set B 对应 101-110

    • 此编号为唯一的身份标识101_1.tif 与 101_2.tif 均来自同一位志愿者的同一根手指。

  • 1 是采样序号(Impression Index)

    • FVC数据集为每根手指采集了 8 次指纹图像。

    • 因此序号范围固定为 1-8

🔧 配套文件:核心评估基石

对于算法开发或复现竞赛结果,index_*.MFA 和 index_*.MFR 文件至关重要。这些文本文件定义了标准的评测协议,以确保所有参与者的算法在完全相同的匹配列表上进行性能比较。

  1. 类内匹配 (Genuine Matches):详细指定了所有需要配对为“真”的匹配对(即判断为来自同一根手指),数量在2500次左右。

  2. 类间匹配 (Impostor Matches):详细指定了所有需要配对为“假”的匹配对(即判断为来自不同手指),数量在250万次以上。

这样,无论使用何种识别算法,最终的匹配序列都是统一的。系统会执行列表中的每一次比对,通过计算最终的等错误率(Equal Error Rate, EER)等指标,以实现严格的水平比较。

📊 FVC数据集完整目录结构框图

更多推荐