分享

虹膜识别与虹膜定位

 文明世界拼图 2020-01-19

这篇文章 http://www./qrs/article_2016092030381.html 对虹膜识别的发展和原理进行了介绍,这里进行简要概述:


虹膜识别的优势:

  1. 1. 唯一性:虹膜的形成主要是由胚胎发育环境的随机因素所决定,虹膜纹理中随机分布的细节特征决定了虹膜模式的唯一性。每个人的虹膜都有其独特的像冠、水晶体、细丝、斑点、凹点、凸点、射线、皱纹和条纹等特征性结构。没有完全一样虹膜结构的两只眼睛存在。
  2. 稳定性:虹膜纹理出生八个月后稳定成形,终身不变。
  3. 非侵犯性:采集非接触,可远距离获取。
  4. 安全性:相对指纹、人脸特征不易窃取。虹膜大部分需在红外线下进行识别,因为虹膜在黑色的瞳孔和白色的瞳孔之间,大部分中国人虹膜色素是在近红外以下才能显示细节特征,可以非常精确识别一个人的身份。

虹膜识别的发展与应用:


      美国威视VISX的虹膜定位技术应用于准分子激光角膜屈光手术于2005年就通过了FDA认证,其主要原理在于,人眼的虹膜组织表面的纹理图案具有唯一性与稳定性,并且虹膜与眼球的旋转具有同步性,这样就可以修正波前像差手术时,因为术前检查与手术体位变化导致的眼球旋转,从而提高波前像差手术的精确性。

      虹膜定位法可以撷取波前像差分析眼球的虹膜影像,精确抓住虹膜位置,取得48个参考点计算眼球转动的角度与偏离的位置,自动补偿修正使检测数据完全吻合,再旋转激光治疗的击发方向,如此一来强化矫正精准度,同时还能筛选出不适合视力矫正的患者。虹膜定位能在准分子激光手术过程中自动跟踪记录。根据患者眼球的旋转运动,自动追踪和补偿旋转的角度,从原有的XYZ三维追踪,扩展为四维旋转追踪,为近视患者“量体裁衣”,进一步提高了个性化准分子激光手术治疗近视、散光、远视的精确性。对于需要更高视觉质量的患者,虹膜定位是必须的,虹膜定位激光近视手术能降低手动定位的人为因素误差,使术后的效果更好。

虹膜识别的主要流程:

(1)虹膜图像的获取。虹膜图像的采集就是普通的相机不能采集到清晰的虹膜纹理,因为人的虹膜物理尺寸比较小,并且需要一些近红外光的配合。
(2)虹膜图像的处理。需要把它有效分割出来,进行归一化处理。
(3)虹膜图像特征比对。

虹膜图像获取遇到的难题:由于虹膜物理尺寸小,造成成像系统景深比较小,另外成像过程用户眼睛跟摄像机在一个光轴上,有效对焦不是很方便,还有戴眼镜的话会有反光等因素的干扰。

虹膜识别系统面临的安全问题:虹膜识别系统,每个环节都可能受到安全的攻击,比如说传感器可以伪造数据来进行攻击,包括特征提取和体征比对都会有安全攻击的问题。比如说前端伪造虹膜纹理怎么去进行判断和识别,后端怎么保护虹膜特征模板,保护用户的隐私。

虹膜定位:

      论文《虹膜定位技术研究与实现》链接给出了虹膜内、外边界的定位方法,其中主要用到了图像预处理(消除眼睫毛等影响因素),圆心粗定位及圆拟合等操作。下面对论文中的操作进行说明:

      (1)对于图像预处理中用到的图像开操作进行简单描述,具体可参见:http://blog.csdn.net/poem_qianmo/article/details/24599073,作者浅墨对opencv中图像开闭操作有详细的说明。图像开运算属于形态学运算,是先腐蚀后膨胀的过程,它能去除孤点、毛刺和小桥(连接两区域的小点)等特征,消除细小的物体,在纤细点处分离物体,平滑较大物体的边界时不明显的改变其面积。如果使用opencv,对应的函数为:morphologyEx。

      (2)虹膜内边界粗定位用的方法:虹膜内边界可以看做一个圆,二值化处理后,如果内边界为1,其他区域为0,那么在圆心处对应的x,y坐标处有极大值出现,从而根据图像灰度变化曲线大概确定圆心坐标及半径。matlab下的算法实现为:x = sum(img);y = sum(img');类似的方法可参见:http://blog.csdn.net/on2way/article/details/40714301。

      (3)粗定位之后,根据圆心和半径就可确定内边界的上下左右四条边界,然后根据最大梯度法在矩形边界内找出一组初始边界,根据最小二乘法可以求得边界点拟合出的圆心左边和半径。

下面是腐蚀边缘matlab端的简单实现:

clc; clear all; close all;
I = imread('iris.png');
figure;
subplot(1, 3, 1);
imshow(I);
title('原图');
I = im2bw(I);%变为二值图像
subplot(1, 3, 2);
imshow(I);
I=~I;        
SE=strel('square',3); % 定义3×3腐蚀结构元素,对灰度值为1的进行腐蚀运算
J=imerode(~I,SE);
BW=(~I)-J;        % 得到边缘图像
subplot(1, 3, 3);
imshow(BW);

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多