竞争编码

0.简介

基于竞争编码的直线集匹配算法,可以用于指纹识别、掌纹识别等。算法对采

集到的图像(直线图像)的角度进行编码,提出一种相似性度量方法。本文

参考文献原目的旨在提供一种实时的掌纹匹配策略。

1. Gabor滤波器

利用Gabor滤波器可以获得掌纹线段的方向信息。Gabor滤波器定义如下。

竞争编码_第1张图片

其中:


(x0,y0)表示滤波器中心点;表示径向频率;表示滤波器角度;

表示频率响应的半幅带宽。

根据欧拉公式,Gabor滤波器又可以表示为以下的形式:


2.直线模型

首先,建立一个线段的模型,这种模型是自上而下的高斯形状,定义如下:


是标准差,也可以看做是直线的宽度;

为直线的中心点;

A是控制直线梯度(对比度)的一个正实数,取决于采集设备;

C是表示亮度,取决于采集设备和采集环境;

表示直线的角度。

3.直线的角度相应

对于一条直线,利用Gabor滤波器在其中点进行滤波,响应如下。

竞争编码_第2张图片


响应函数有以下六条属性:

1. 当时响应最小;

2.在(0,PI/2)区间时,R是单调递增;

3. R是关于的对称函数;

4. R与A是成比例的;

5. R与C无关,即与亮度无关;

6. 当线段角度与滤波器角度垂直,R为0.

4.竞争编码

算法的目的是对直线进行编码,在这个角度下,各种直线是无差别的,需要与环境与

采集设备无关(与直线强度也无关)。因此,这里不直接使用相应R,而是采用一种

竞争规则来获取直线角度。这种规则被称为“Winner-take-all”。

竞争规则可以定义为:

(因为掌纹为暗纹,比非掌纹区域灰度值小,所以是Min)

I是预处理后的图像,是Gabor滤波器的实部。是滤波器角度,其中j={0,1,2,3,4,5}

表示滤波器选取的[0, Pi/6,…Pi]的六个角度。

在检测直线角度信息的时候,需要面临两个问题:

(1)图像中的某一点究竟属于那一条直线;

(2)即使能精确的知道没一点所归属的线段,想要实时的对所有点进行特征分析从而匹配目标十分

         困难,因为特征点的数量很不稳定,即使是同一个目标,两次采集时可能有不同的特征点。

为了解决以上的两个问题,在这里,将所有的特征点看做属于同一条直线。因此在可以在同一维度

空间内对特征点编码,提取特征向量,称这种编码方式为“竞争编码”。效果如下图所示。

竞争编码_第3张图片

其中,(b)是六个方向相应的结果,六个方向分别的相应如下图所示。

竞争编码_第4张图片


5.基于竞争编码的角度匹配

提到匹配,首先要引入一种相似性度量方法。相似性度量,在这里即设计一种两幅图片(两组特征向量)

“距离”的定义,距离越小,两幅图片越相似。本文中,需要度量的是已经进行编码后的特征向量PQ。在

这里需要说明一点,对预处理后的图片进行竞争编码,图片区域可能仍有部分不属于ROI区域,因此在下

文中需要引入Mask对特征区域进行限定。为待匹配图像的掩膜。两幅编码后的图片距离D(P,Q)的计

算方法如下。

竞争编码_第5张图片


其中G(P(x,y), Q(x,y))表示编码图像对应点之间角度差的绝对值,因为每一个点有0,Pi/6,Pi/3,Pi/2,2Pi/3,Pi。

六个值,分别表示为0~5,因此两特征点之间角度的差的范围在0~3。具体计算方式如下。


可以看到D(P,Q)是一个0~1之间的数,越小,距离越近。

需要说明的一点:这种匹配方式的前提是两幅图片(若属于同一手掌)进行匹配的前提是特征点能在相应位置一一

对应,但这必然是不能保证的。因此实际操作是以模板图像为标准,样本图像分别在基准点水平和竖直[-2,2]的区域

滑动,即25种匹配,取D最小的为最终答案。

用4bit来表示竞争编码,第一位表示掩膜,后三位可以表达0~5。这样,D的计算可以用一个更为有效的方式,如下式。

竞争编码_第6张图片

是异或操作。

具体的竞争编码规则如下。

竞争编码_第7张图片

------------参考文献---------------------

[1]Adams Wai-Kin, David Zhang. Competitive coding scheme for palmprint verification.  ICPR'04


你可能感兴趣的:(竞争编码)