相关术语
- iris: 虹膜
- pupil: 瞳孔
- Viterbi 算法: 动态规划求解最短路径的算法, 相对于粗暴地遍历所有路径,viterbi 算法到达每一列的时候都会删除不符合最短路径要求的路径,大大降低时间复杂度, https://www.zhihu.com/question/20136144
- Daugman's rubber-sheet: 用于将虹膜归一化为64 * 512大小的矩阵, 以利于特征比对
- Gabor phase demodulation: 基于信号处理中的空间和频域技术, 采用Gabor 滤波器提取虹膜的纹理信息
- Hamming distance classification.: 海明距离, 用于度量虹膜直接的相似度
- contours 轮廓
- eyelids 眼睑
- eyelashes 睫毛
- reflections, blur and interlacing distorsion: 反射,模糊, 畸变
- noisy pixels: 噪声像素
- 分割参数: minimum and maximum diameters for pupil and iris, 虹膜和瞳孔的最大最小直径
- grayscale image:灰度图片, 仅处理灰度的虹膜图片,其他的有色的虹膜图片都会转换灰度图片。
- Mask:掩膜,通俗地讲就是一个遮挡板,喷漆,或者雕刻或者喷漆的时候,会用一个特定形状的遮板放在被修改的材料上,按照挡板的形状就可以很贴合地得到最后你想要的图案。
-
binary Mask:二元掩膜,因为在图像处理的时候,计算机识别图像是将图像当作一个矩阵,你要把一个遮挡板放在一个图像上进行操作,图像矩阵和另外一个“遮挡板”矩阵进行乘积运算,从而得到你想要的结果,如下图所示:
image.png - 虹膜数据库
OSIRIS 由一下四个模块组成:
- segmentation: 分割 , 该部分使用Viterbi algorithm 算法找到虹膜和瞳孔的边界
- normalisation: 归一化,The normalization step transforms the iris area into a size-invariant strip following
Daugman’s rubber-sheet method - encoding :编码,The encoding step extracts the iris texture by filtering the normalized image by a bank
of Gabor filters resulting in an iris template. The phases of Gabor filtering are encoded on 2 bytes,
and produce the iris code. - matching:匹配, The matching step compares two iris codes using the Hamming distance between the
binary codes corresponding to the application points chosen within the iris templates
输入输出数据
Original image, 原始的虹膜采集图片
-
Segmented image:已经被分割的图片会被存储为有色的, 瞳孔和虹膜的圆会被被标注未绿色, 非虹膜的像素会被标注为红色, 如下图所示:
image.png Mask of iris:虹膜的二元掩膜图片, The segmentation step builds a binary mask of iris, where on-pixels belong to the iris, and off-pixels do not belong to the iris, as shown in Figure 2.b. This binary mask can be used during the matching step in order to ignore noisy pixels, but it must be normalized before the
matching step.-
Contours parameters, 轮廓参数,
Each point of the contour has as coordinates: (� x� , ��y , z�) where (��x , �� y) is the coordinate of the
radius relatively to the estimated center and z the angle between 0 to 2*PI=6.2831 .
image.png Normalized image, 归一化的图片,
The normalization step transforms the original image into a normalized image,
following Daugman’s rubber-sheet model
Normalized mask, 可用于降噪音,如上图(b)
normalization step also transforms the mask into a normalized mask (Figure 4.b).
The normalized mask is not required for the encoding step, but is an optional input of the
matching step, in order to ignore noisy pixelsIris template
The encoding step extracts the iris code by filtering the normalized image by Gabor
filters. According to Daugman works, only 256 application points within the iris texture are
necessary to achieve iris recognition. However, Osiris was developed for tests and
experiments, such as changing the number and the position of the application points. That is
why all pixels are saved as the iris template, and the application points will be defined only
during the matching step. The iris template is saved as a binary image of size W x (n*H),
where n is the number of Gabor Filters (actually there are n/2 Gabor filters, with real part and
imaginary part, but Osiris consider real part and imaginary part as two independent filters)
and W x H is the size of normalized image, as illustrated in figure 4. The iris template is
required as input of matching step.
- Matching score: 用于比对目标图片和查询图片的差异, 越趋近0 表示越相近, 越趋近1 表示差别越大
The global disimilarity score between two iris codes is ranged between 0 (completely
similar) and 1 (completely different). The matching scores are saved in a textfile following the
structure illustrated in figure 5.
系统架构
Viterbi 算法
Gabor滤波器
用于纹理生成