专利名称:身份检查的方法、计算机程序产品和装置的制作方法
技术领域:
本发明涉及创建用于检查人的身份的指纹表示以及创建用于检查人的身份的参考数据的方法、计算机程序产品和装置。
背景技术:
目前已知在指纹中识别所谓的细节点(minutiae point),并使用指纹上多个这种细节点的位置、类型和方向来识别或验证人的身份。在第一次记录某个人的指纹时,创建一个模板,该模板构成与此人身份相联系的参考数据。这个过程通常称为注册。该模板可被电子地存储,或者存入含有很多人的身份数据的数据库中,或者存储在由用户本人持有的数据载体如智能卡中。被记录的指纹经常作为图像文件被存储和处理,该图像文件在使用前通常需要预处理,如将其二值化。要验证和确定某个人的身份时,通常通过一个硅传感器,以现有技术的方法,记录此人的指纹的图像。记录的图像这里被称为“当前指纹”。
在人的身份的“验证”中,将当前指纹与模板相比较,以确定当前指纹的所有者是否为其所声称的人,即智能卡所关联的人。
在人的身份的“识别”中,将当前指纹与存储在数据库中的多个模板相比较。
在下文中,表述“检查人的身份”包括识别和身份两者。
现已有一些电子地表示指纹的技术。上述的图像文件可被处理以识别出细节点。已知使用细节点,其在一个人的指纹中的位置和方向构成该人独一无二的特征。也已知识别细节点,并确定它们的类型、在一坐标系中的位置和方向。在身份验证和识别中,可将当前指纹的细节点与一个或多个模板的细节点进行比较。
这种方法的一个变型包括选择一个参考细节点,并相对于这个参考细节点来表示其余的细节点。这使得更容易处理当前指纹的方向和模板的方向不一致时的情况。
专利US-4,135,147中公开了一种方法,其中相对于细节点邻近区域来描述细节点。根据专利US-4,135,147中的方法,创建一个向量,该向量按照相对于细节点邻近区域的距离和角度来描述每个细节点。在身份检查中,可将包括多个这种向量的模板与表示未知指纹的多个向量进行比较。由于每一个细节点是相对于细节点邻近区域被描述的,所以每个这种向量将包含相当大量的需要在检查人的身份时进行比较的信息。
一个指纹中通常有20-30个细节点,有时达到200个。当使用参考细节点时,大多数情况下,这是在模板中任意选择的。这会意味着当前指纹中每一个细节点都必须作为参考细节点被检测,并与其他所有细节点中的每一个组成细节点对,以便发现匹配。
然而,这种表示指纹的方法需要相当大的存储空间,而如果希望将指纹存储在具有有限存储空间的载体如智能卡内,这是不利的。
此外,在当前指纹与模板间必须进行的比较相当复杂,并需要花费较长的时间。因此,在当前指纹需要与大量先前记录的各指纹相比较的检查人的身份的方法中,上述比较也更不适用。
发明内容
本发明的目的在于完全或部分地克服现有技术中的问题。其他目的在下面的描述中将变得显而易见。
该目的通过根据独立权利要求的一种方法、装置和计算机程序产品来完全或部分地实现。本发明的具体实施例由从属权利要求和下面的描述来限定。
根据第一个方面,提供了一种用于创建指纹的表示的方法。该方法包括创建在指纹中识别出的细节点的一些独特细节点对,每一独特细节点对由该细节点对中细节点之间的距离和与各个细节点相关的角度来表示。
“独特细节点对”意谓着包括在该细节点对中的两个细节点仅有一次作为细节点对出现。
这种方法使得有可能提供用于生物测定数据的紧凑存储格式。这样的存储空间允许参考数据与当前指纹的相应数据之间的快速比较。
所述角度可以表示相应细节点的方向,且本发明的一个实施例的特征在于独特细节点对仅由一个距离和两个角度表示。
依照本发明的另一个实施例,细节点对也可由指示相应细节点的类型的数据来表示。类型的例子有脊的终结点和脊的分叉点。也可想到其他的类型。
依照一个实施例,所述角度是相对于穿过该细节点对中所包括的两个细节点的直线表示的。这有助于使角度表示独立于指纹的方向,因为每对细节点之间彼此相关,而不需要根据预先设定的坐标系进行调整。
而依照另一个实施例,角度可相对于预先设定的坐标系来表示。
依照一个实施例,指纹由独特细节点对的一个集合表示。独特细节点对的一个集合涉及到一个数据结构,即表示与一指纹相关的所有独特细节点对的向量或矩阵。
依照一个实施例,这样的集合可表示为一数据结构,该数据结构基于与细节点对中所包含的相应细节点相关的角度来索引。例如,在该数据结构中可排列细节点对中所包含的细节点之间的距离,该距离通过角度进行索引。由此可获得一个二维的矩阵结构或类似结构,这个结构中的每个单元包含一个距离值。通过让与细节点相联系的角度构成索引,每个单元都能被唯一的指定。
这样就产生了一个二维索引的数据结构,第一维基于第一个角度索引,这个角度与所述细节点对中包含的第一个细节点相关,而第二维基于第二个角度索引,这个角度与所述细节点对中包含的第二个细节点相关。
根据本发明的第二个方面,提供了一种用于检查人的身份的方法。该方法包括识别指纹的电子表示中的第一个和第二个细节点,确定所述第一个和第二个细节点间的距离,和确定与所述第一个和第二个细节点相关的第一个和第二个角度。该方法还包含上述步骤中的一个。
根据第三个方面,提供了一种包含一数据处理单元的用于检查人的身份的装置。该装置的特征在于所述数据处理单元被安排为创建在指纹中识别出的细节点的独特细节点对,每个独特细节点对由该细节点对中包含的所述细节点之间的距离和与各个细节点相关的角度来表示。该装置可以是指纹阅读器,在其中依照上面的方法对指纹进行处理。
根据第四个方面,提供了一种包含一数据处理单元的用于检查人的身份的装置。该装置的特征在于所述数据处理单元被安排为将当前指纹的表示和参考指纹数据进行比较,所述当前指纹的表示包括在当前指纹中识别出的细节点的独特细节点对,而所述参考指纹数据包括在参考指纹中标识出的细节点的独特细节点对,每一独特细节点对由该细节点对中包含的所述细节点之间的距离和与各个细节点相关的角度来表示。这样的装置可以是智能卡,在其中对当前指纹和参考指纹数据进行比较。
根据第五个方面,提供了一种用于创建用于检查人的身份的参考数据的方法。该方法包括在指纹的电子表示中识别第一个和第二个细节点,确定所述第一个和第二个细节点间的距离,和确定与所述第一个和第二个细节点相关的第一个和第二个角度。该方法还包含根据上述方法的步骤。
根据本发明的其他方面,可以计算机程序产品的形式或者以被适配以执行所述方法的专用集成电路(ASIC)的形式实现所述方法。
现在将结合示出了本发明实施例的非限制性示例的所附示意图对本发明进行说明。
图1是一指纹一部分的示意图,其中识别出了多个细节点。
图2示意性地示出了从图像中提取出来的图1中的细节点。
图3a是三个细节点的示意图。
图3b是一对细节点的示意图。
图4是根据本发明的第一个方法的示意流程图。
图5是根据本发明的第二个方法的示意流程图。
图6是示出了根据本发明的一个方面的装置的示意框图。
具体实施例方式
现参照图1,其示出了指纹1的一部分的示意图,其中用现有技术的方法识别出了多个细节点M1-M8,并为了说明的目的而标以虚线圆圈。所标记的细节点M1-M8中,M1-M5是终结点类型,M6-M8是分叉点类型。也可能出现其他类型的细节点,并可以做类似的处理。
图2示意性地示出了如何用现有技术的方法将图1中标识的细节点从图像中提取出来并在一个坐标系中排列它们。对于每一个细节点,用现有技术的方法标识了一个方向向量。表1用一非限制性示例说明如何通过为每个细节点指定一方向向量、x坐标、y坐标和类型即终结点(“E”)或分叉点(“B”),来表示和存储这8个细节点。
表1由图1得到的细节点数据
可以理解,从这n个细节点中可以创建
个不同的细节点对。这样,从8个细节点可创建28个不同的细节点对。
参照图3a,现在讨论对假定在一幅指纹图像中识别出的细节点M1、M2、M3的成对的处理。所述方法能应用在身份注册、识别和验证中。所述方法仅使用细节点相对于彼此的位置和方向,但是可理解其他特征,例如细节点的类型、绝对位置等,也可以用来补充所述方法。
图3a示出例如在图1的图中识别出来的三个细节点M1、M2、M3。每个细节点分别由一对坐标X1,Y1;X2,Y2;X3,Y3和角θ1、θ2、θ3表示。这里的角θ1、θ2、θ3是相对于该图的坐标系中的x轴来计算的,该轴在图3a中如虚线所示。此外,图3a中示出了各对细节点之间的距离线D12、D13、D23。
图3b示出了图3a中两个细节点M1、M2组成的一细节点对。除了坐标对X1,Y1;X2,Y2和角θ1、θ2外,还有由点划线表示的各细节点的方向向量分别与细节点M1、M2间的距离线D12之间的角V12和V21。此外,还用点划线指明了如何分别计算细节点间在x方向和y方向的距离。
参照图4,现在将描述一种建立参考指纹数据(模板)的方法,即注册方法。
在步骤S1中,用现有技术的方法输入和预处理图像形式的指纹。在步骤S2中,图像中的细节点M1、M2、M3被识别出来,并以根据以上表1的示例的列表形式存储。
如以上参照图1和图2所描述的一样,创建细节点的列表,列表中每个细节点至少包含一个x坐标、y坐标和相对于图像坐标系的绝对角度。表2是图3中所示细节点的列表。
表2图3a中细节点
在步骤S3中,根据图3a中的细节点创建3个不同的细节点对,如表3所示。表3中所示的细节点对的坐标和方向是相对于指纹图像的坐标系表示的。
表3图3a中细节点组成的细节点对
在步骤S4中,变换细节点对,以使得每个细节点对均由该细节点对中所包含的细节点间的距离和各个细节点的方向向量与细节点间的直线之间的夹角表示。
如图3b所示,两个细节点M1、M2间的距离D12可根据公式1由毕达哥拉斯定理计算。
D12=(x1-x2)2+(y1-y2)2---(1)]]>细节点M1、M2间的距离线的角度由公式2确定。
如图3b所示,第一个细节点M1相对于细节点M1和M2间的距离线的角度V12可由公式3确定。
V12=θ1-12 (3)细节点对中所包括的第二个细节点也相应地确定,且各细节点对可按照表4表示。角度由一个两位数的索引标记,第一个数字表示角度位于哪个细节点上,第二个数字表示角度是相对于哪个细节点计算的。
表4变换的细节点对
角度的表示可以被取样为可通过适当方式表示的值。例如,在所述的示例中,将角度取样为3个位,即0到7之间的数,这样分辨率为45°。但是可理解,在实际应用中,更高的分辨率可能更为便利,而相应的角度由例如4位、5位、6位、8位、16位或32位表示。
对表4中角度的取样可产生如表5中所示的值。
表5取样的角度值
然后创建一个二维的存储结构,如矩阵P,如下表6所示。在步骤S5中,在矩阵中由第一个角V1和第二个角V2索引的各单元中分别排列D12、D13、D23的值,如表6所示。矩阵中的其他单元可由0或其他希望的值填充。
表6引入矩阵P的距离值
根据一个实施例,取样在步骤S5完成。或者,取样也可以在以前完成,如在步骤S3或步骤S4完成。
如果两个细节点对具有同样的索引,即放置在表6的矩阵P中的相同单元中,那么有可能选择哪一个将放置在那里。例如,可能保留细节点间最接近的细节点对,即有着最小的D值的细节点对。
这样,将矩阵P填充完,直到它包含所有的或预先设定数量的细节点对。矩阵P可以现有技术的方法表示为一数序。
在指纹注册中,由此创建一个可以作为模板的注册矩阵PE。该注册矩阵可以有效利用空间地进行存储,如存储在智能卡内。
参照图5,现在描述用于验证或识别的方法。当记录指纹以用来进行验证或识别时,可相应地创建一个验证矩阵PV或识别矩阵PI。为了简便起见,以下说明中仅描述验证的情况。可理解识别中的方法是类似的。
在步骤S11中,从例如指纹阅读器接收指纹1(未示出)。在步骤S12中,用参照图4所描述的方法对指纹进行预处理,由此创建验证矩阵PV。
注册矩阵PE可以从数据载体如智能卡中获得,或者如识别时的情况那样从包含多个注册矩阵的数据库中获得。注册矩阵PE可根据参照图4所描述的方法确定。步骤S12可在指纹阅读器中执行,且验证矩阵可以被发送到智能卡做进一步的处理。
在步骤S13,实现验证矩阵与注册矩阵的比较。这种比较可以逐个位置地进行,并计算每一位置的绝对差异。
基于步骤S13中的比较,在步骤S14中计算表示验证矩阵PV与注册矩阵PE匹配好坏的得分。可适当地按比例调整该得分以使其值能与来自其他识别技术的得分相谐调。
依照本发明的另一个实施例,与来自指纹图像的细节点相关的角度可相对于一共同的坐标系来表示,并以与上述类似的方式排列在一数据结构中。在匹配时,可以上述方式,将代表验证矩阵的数据结构与代表注册矩阵的数据结构进行比较。如果匹配结果低于给定的阈值,则可将在注册矩阵中表示的角度增加或减小一个给定的值,由此将获得一个包含通过两个角度索引的距离值的新验证矩阵,并重新比较一次。
重复上述方法,直至测试完一个预定数目的循环,或得到一个足够好的匹配结果。
图6示出可实现根据本发明的方法的装置30。该装置包括至少一个数据处理单元33,例如一个微处理器或者数字信号处理器。这个单元可以连接或集成到指纹阅读器31中。此外,该装置可包含有一个存储器34用来存储指令,这些指令当被执行时使该装置实现根据本发明的方法。该装置也能连接或集成到数据载体的阅读器32或者数据存储单元35中,从所述阅读器32中可获得一用户的参考数据,而从所述数据存储单元35中可获得一个或更多用户的参考数据。
如上所述,有可能通过除了存储细节点对之间的距离之外,存储对每个细节点类型的指示或其相对于指纹的绝对角度,来补充上述的存储。
由于多数情况下矩阵PE、PV主要(如50%以上)由0构成,因此可在现有技术的方法中对其进行压缩以使其占有较小的存储空间。合适的压缩算法的例子可以是霍夫曼编码和运行长度编码。
也可以将上述方法与其他验证或识别方法结合起来,以提供一种更为可靠的身份检查。例如,可对来自不同验证方法的得分进行合并,例如进行平均等。
也可以考虑将上述方法作为一种筛选方法,以快速找到应当做更详细分析的一个或多个指纹。这在基于包含大量模板的数据库的识别中特别有利。
可以理解的是,本发明不仅仅限于上面的实施例,而是可以在所附权利要求的范围内变化。也可以理解所描述的各实施例能互相结合。
权利要求
1.一种用于创建指纹的表示的方法,其特征是创建在该指纹中识别出来的细节点的独特细节点对,每个细节点对由所述细节点间的距离和与该细节点对中所包含的各细节点相关的角度表示。
2.权利要求1中所述的方法,其特征是所述角度表示相应细节点的方向。
3.权利要求1或2中所述的方法,其特征是所述独特细节点对仅由所述距离和所述角度表示。
4.权利要求1或2中所述的方法,其特征是所述细节点对也由指示相应细节点的类型的数据表示。
5.前面任何一个权利要求中所述的方法,其特征是所述角度是相对于穿过该细节点对中所包含的两个细节点的直线而表示的。
6.权利要求中1-4中的任何一个中所述的方法,其特征是所述角度是相对于预先设定的坐标系而表示的。
7.前面任何一个权利要求中所述的方法,其特征是所述指纹由独特细节点对的集合表示。
8.权利要求7中所述的方法,其特征是所述集合由数据结构表示,该数据结构根据与细节点对中所包含的各细节点相关的角度来索引。
9.权利要求8中所述的方法,其特征是在所述数据结构中排列根据与所述细节点对中所包含的各细节点相关的角度来索引的所述距离。
10.权利要求9中所述的方法,其特征是所述数据结构是二维索引的,第一维根据与所述细节点对中所包含的第一个细节点相关的第一个角度来索引,以及第二维根据与所述细节点对中所包含的第二个细节点相关的第二个角度来索引。
11.一种用于检查人的身份的方法,包括在指纹的电子表示中识别出第一个和第二个细节点,确定所述第一个和第二个细节点之间的距离,以及确定与所述第一个和第二个细节点相关的第一个和第二个角度,其特征是该方法包括前面任何一个权利要求中所述的步骤。
12.权利要求11中所述的并结合了权利要求8-10中的任何一个的方法,其特征是所述指纹的电子表示代表当前指纹,该方法进一步包括获得注册矩阵,并将所述注册矩阵与所述数据结构进行比较。
13.权利要求12中所述的方法,其特征是将所述注册矩阵中预先确定的值与所述数据结构中预先确定的值进行比较。
14.权利要求13中所述的方法,其特征是产生所述注册矩阵中预先确定的值与所述数据结构中预先确定的值之间的差值。
15.前面任何一个权利要求中所述的方法,其特征是该方法是在智能卡中执行的。
16.一种包含用于在数据处理单元中执行的指令的计算机程序产品,其特征是执行中的所述指令使得所述数据处理单元执行前述任何一个权利要求中所述的方法。
17.权利要求16中所述的计算机程序产品,其特征是所述指令可在智能卡中执行。
18.一种包含数据处理单元的用于检查人的身份的装置,其特征是所述数据处理单元被安排为创建在指纹中识别出来的细节点的独特细节点对,每个独特细节点对由所述细节点间的距离和与该细节点对中所包含的各细节点相关的角度表示。
19.一种包含数据处理单元的用于检查人的身份的装置,其特征是所述数据处理单元被安排为将当前指纹的表示与参考指纹数据进行比较,所述当前指纹的表示包括在当前指纹中识别出的细节点的独特细节点对,且所述参考指纹数据包括在参考指纹中识别出的细节点的独特细节点对,每个独特细节点对由所述细节点间的距离和与该细节点对中所包含的各细节点相关的角度表示。
20.权利要求19中所述的装置,其特征是该装置包含智能卡。
21.一种用于创建用于检查人的身份的参考数据的方法,包括在指纹的电子表示中识别出第一个和第二个细节点,确定所述第一个和第二个细节点之间的距离,以及确定与所述第一个和第二个细节点相关的第一个和第二个角度,其特征是该方法包括前述权利要求1-10中的任何一个中所述的步骤。
22.权利要求21中所述的方法,其特征是将所述数据结构存储在便携式数据载体中。
23.一种包含用于在数据处理单元中执行的指令的计算机程序产品,其特征是执行中的所述指令使得所述数据处理单元执行权利要求21或22中所述的方法。
24.一种包含数据处理单元的用于创建用于检查人的身份的参考数据的装置,其特征是所述数据处理单元被安排为创建在指纹中识别出的细节点的独特细节点对,每个独特细节点对由所述细节点间的距离和与该细节点对中所包含各细节点相关的角度表示。
全文摘要
公开了一种用于创建指纹的表示的方法。该方法包括创建在指纹中识别出的细节点的独特细节点对,每个细节点对由细节点间的距离和与该细节点对中所包含的各细节点相关的角度表示。此外,公开了用于检查人的身份的方法,和用于创建用于检查人的身份的参考数据的方法。此外,公开了用于执行这些实方法的计算机程序产品和装置。
文档编号G06K9/00GK1761966SQ200480007639
公开日2006年4月19日 申请日期2004年2月12日 优先权日2003年2月24日
发明者B·努丁 申请人:精密生物测定股份公司