毕业设计:虹膜识别身份认证系统的实现与设计

该博客详细介绍了虹膜识别身份认证系统的设计与实现,包括虹膜质量评估、定位、归一化、图像增强、特征提取、编码及识别过程。使用了Python的QT库进行界面展示,并利用深度学习中的EfficientNet模型进行虹膜定位,通过Gabor滤波器提取特征,采用汉明距离计算相似度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

虹膜质量评估

根据系统结构设计,首先需要对虹膜图像进行质量评估,如图3.1是质量评估模型图:

图3.1 虹膜质量评估模型图

可以看出,本系统可以对虹膜图像进行完整性检测、眯眼检测和清晰度检测,最后输出评估结果。本系统调用了Python中的QT库来实现界面显示,如图3.2、3.3是虹膜评估的效果图:

  

图3.2 虹膜评估效果图1

图3.3 虹膜评估效果图2

3.2.2 虹膜定位

虹膜图像质量评估合格后,需要对虹膜进行定位,本系统使用深度学习进行虹膜定位的主要方法是使用卷积神经网络(CNN)对眼部图像进行训练,以提高虹膜区域的检测准确度。使用深度学习定位虹膜之前,我们需要做一些准备工作。

(1)准备好虹膜数据集,收集大量眼部图像和其对应的虹膜定位信息,并对数据进行清洗和处理,如图3.4所示:

图3.4 虹膜数据集

(2)进行参数设置,在进行虹膜识别系统的参数设置时,需要考虑到训练集和参数集中的人眼种类、照片大小等因素,所以在这里我把num_classes设置为108个人的眼睛,输入的人眼照片大小input_size设置为256×256,batch_size设置为128并且epochs也设置为300。batch_size的大小影响训练速度和模型优化,并且batch_size的大小同样影响epoch训练模型次数,batch_size越大,在得到同样精度时,需要的epoch也自然越大。batch_size如果设置的不合理,训练梯度也不会很精确。

(3)模型训练,关于模型,我是使用两个变体b0和b1推荐EfficientNet。模型由优化器SGDR以 300个epoch进行训练。EfficientNet是一项最新的卷积神经网络模型,它在模型准确度和模型大小之间找到了最佳平衡点。同时,使用SGDR作为优化器的原因是因为它可以在训练过程中梯度下降的学习率策略自适应调整,使得训练过程更加高效。使用300个epoch也有助于提高模型的准确性,但需要注意防止过拟合的出现。

(4)模型评估,模型评估是对虹膜识别算法和模型进行性能和精度评估的过程,本系统CASIA1 数据集的损失和精度汇总并绘制如表3.1所示

表3.1 CASIA1 数据集的损失和精度

Loss (train/valid)

Accuracy (train/valid)

EfficientNet-b0

0.0269/0.1179

1.0000/0.9742

EfficientNet-b1

0.0152/0.1457

0.9980/0.9766

图3.5 CASIA0数据集上EfficientNet-b0的损失

图3.6 CASIA0数据集上EfficientNet-b0精度曲线

图3.7 CASIA1数据集上EfficientNet-b1的损失

图3.8 CASIA1数据集上EfficientNet-b1的损失

随着训练步数epoch的增大,CASIA0数据集上EfficientNet-b0的损失曲线越来越小,而精度越来越高。CASIA1数据集上EfficientNet-b1的曲线变化和CASIA0数据集上EfficientNet-b0一样。

(5)模型应用:最后将训练好的CNN模型应用于新的眼部图像,自动定位出虹膜区域如图3.9、3.10所示。

图3.9 原始图像

图3.10 虹膜定位后的图片

3.2.3 虹膜归一化

虹膜图像归一化是指将虹膜图像的大小、形状和方向进行统一处理,使得不同虹膜图像之间具有相似的特征表示,从而方便后续的比对和识别。如图3.11是本系统进行虹膜归一化的流程:

3.11 归一化流程图

采集的虹膜图像经过卷积神经网络分割出巩膜和瞳孔,然后将分割出的圆形区域展开为矩形来规范虹膜区域来归一化[13],以下是实现归一化的关键代码:

经过归一化处理后的虹膜图像如图3.12所示。

3.12 归一化的虹膜图像

3.2.4 虹膜图像增强

从上图看,归一化后的虹膜图片纹理并不清晰,清晰度也不够高,所以需要进行图像增强,图像增强是为了对图像进行局部或全局增强,以提高图像的清晰度和对比度,使其更容易被分析和处理。我们采用的方法是对图像做环境光照补偿处理和对比度增强[14]

环境光照补偿是一种旨在减少环境光照对虹膜识别的干扰,通过对虹膜图像进行处理来实现的技术。该技术的实现过程包括估计图像的环境光照强度以及对图像进行调整,以消除环境光照的影响,提高识别准确性。对比度增强采用的直方图均衡进行图像增强首先统计原始图像各灰度级的像素频数并计算各灰度级的像素频率以得到灰度级累计直方图之后取整计算并确定映像关系进行灰度变换作出新的直方图[15]具体流程如图3.13所示:

3.13 图像增强流程

最终得到的增强后的虹膜纹理归一化图像如图3.14所示。

3.14 增强后的虹膜归一化图像

3.2.5 虹膜特征提取

本系统使用Gabor滤波器对虹膜图像进行滤波,提取不同方向和频率的纹理特征。Gabor滤波器可以通过计算图像与一组Gabor核的卷积来得到滤波器响应图像。如图3.15所示为Gabor滤波器提取虹膜特征的处理流程

图3.15 虹膜提取流程

首先构建Gabor滤波器,将Gabor尺度设置为7、9、11、13、15、17,然后再设置波长和Gabor方向,本系统我将Gabor方向设置为0°、45°、90°和135°四个方向,然后将设置好的参数用于绘制Gabor滤波器,最后进行特征提取的过程会返回滤波结果,结果为24幅图,按照Gabor角度排列,如图所示为Gabor特征提取的过程图

3.16 带滤波原图

3.17 Gabor不同方向不同尺寸的图

3.18 虹膜滤波结果图

3.2.6 虹膜编码

将提取的虹膜特征进行编码,将编码后的虹膜模板存储在生成的mat文件,如图3.19、3.20所示为本系统虹膜编码过程图

3.19 经过提取的虹膜

3.20 虹膜编码

经过编码之后,虹膜图像的特征被表示为一个二进制的特征向量,其中每个编码块对应一个特定的虹膜特征。这些编码块通常是由0和1组成的二进制位串,用来表示相应特征的存在或缺失。特征向量中的每个位置对应于特征的一种状态,在本文0表示特征不存在,1表示特征存在。

3.2.7 虹膜识别

经过虹膜图像的特征编码后,可以进行虹膜匹配来判断两个虹膜特征向量之间的相似度或距离。本文相似度度量方法选取汉明距离,以下是汉明距离的计算相似度的关键代码:

图3.21 代码

将两个待比较的两个虹膜特征向量设置为mask1和mask2,然后将maks1和mask2按位逐位比较,统计它们在相应位置上的不同位数,最后统计得到的不同位数即为汉明距离,表示两个虹膜特征向量相似度值,然后将预先设置好的阈值和相似度值作比较,可以判断虹膜匹配结果是否通过,如图3.22所示实验结果图。

3.22 虹膜匹配实验结果图

3.3 本章小结

本章对虹膜识别系统的实现进行了详细阐述,并对部分功能模块的处理过程进行了详细介绍

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hzhhn.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值