CN116311395A - 指纹识别的方法和装置 - Google Patents

指纹识别的方法和装置 Download PDF

Info

Publication number
CN116311395A
CN116311395A CN202210994178.7A CN202210994178A CN116311395A CN 116311395 A CN116311395 A CN 116311395A CN 202210994178 A CN202210994178 A CN 202210994178A CN 116311395 A CN116311395 A CN 116311395A
Authority
CN
China
Prior art keywords
fingerprint
key points
fingerprint image
parameter
pairs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210994178.7A
Other languages
English (en)
Other versions
CN116311395B (zh
Inventor
邸皓轩
李丹洪
郭明锦
郭俊龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honor Device Co Ltd
Original Assignee
Honor Device Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Honor Device Co Ltd filed Critical Honor Device Co Ltd
Priority to CN202210994178.7A priority Critical patent/CN116311395B/zh
Priority to PCT/CN2023/092336 priority patent/WO2024037057A1/zh
Publication of CN116311395A publication Critical patent/CN116311395A/zh
Application granted granted Critical
Publication of CN116311395B publication Critical patent/CN116311395B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/13Sensors therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Collating Specific Patterns (AREA)

Abstract

一种指纹识别的方法和装置,应用于指纹识别技术领域。该方法包括:通过获取第一指纹图像(即待验证指纹图像)的L个关键点的特征;基于第一指纹图像的L个关键点以及第一指纹模板的L个关键点,确定G对关键点,每一对关键点对应的第一距离参数小于第一距离阈值;基于每一对关键点对应的第一距离参数,对G对关键点进行排序,并从排序后的G对关键点中确定N对关键点;利用N对关键点确定第一旋转矩阵,并基于第一旋转矩阵对第一指纹图像进行旋转获得第二指纹图像,第二指纹图像与第一指纹模板在同一方向;利用第二指纹图像与第一指纹模板进行相似度匹配,有助于提高指纹解锁率以及解锁速度,从而提升用户的解锁体验。

Description

指纹识别的方法和装置
技术领域
本申请涉及生物识别领域,并且具体地,涉及一种指纹识别的方法和装置。
背景技术
随着智能终端的普及,指纹识别技术在终端领域也得到飞速发展。特别是在用户戴口罩的场景下,相比于人脸解锁,指纹解锁体现出不可或缺的重要性。目前的指纹匹配方法基于指纹图像提取特征点,并利用提取的全部特征点进行匹配,对指纹解锁速度存在一定影响。因此,如何有效提高指纹解锁速度成为亟待解决的问题。
发明内容
有鉴于此,本申请提供了一种指纹识别的方法、装置、计算机可读存储介质和计算机程序产品,能够提高指纹识别的速度,极大提升用户的指纹识别体验。
第一方面,提供了一种指纹识别的方法,所述方法应用于电子设备,所述方法包括:
采集第一指纹图像;
获取所述第一指纹图像的L个关键点的特征,L为大于或等于2的整数;
基于所述第一指纹图像的L个关键点以及第一指纹模板的L个关键点,确定G对关键点,其中,每对关键点是指第一指纹图像的关键点与第一指纹模板的关键点进行匹配时组成的点对,所述每对关键点对应的第一距离参数小于第一距离阈值,所述第一距离参数用于表征第一指纹图像的关键点到第一指纹模板的关键点的距离,所述第一指纹模板的L个关键点的特征存储于指纹模板库中,G为小于或等于L的整数;
基于所述每对关键点的第一距离参数,对所述G对关键点进行排序;
从排序后的G对关键点中确定N对关键点,N为小于或等于G的整数;
利用所述N对关键点确定第一旋转矩阵,所述第一旋转矩阵包括平移参数和角度参数,其中,所述角度参数用于表征所述第一指纹图像旋转到所述第一指纹模板的角度,所述平移参数用于表征所述第一指纹图像平移到所述第一指纹模板的距离;
获取第二指纹图像,所述第二指纹图像是基于所述第一旋转矩阵对所述第一指纹图像进行旋转得到的,所述第二指纹图像与所述第一指纹模板在同一方向;
利用所述第二指纹图像与所述第一指纹模板进行相似度匹配。
上述第一指纹图像为待验证指纹图像。
上述方法可以由终端设备或终端设备中的芯片执行。基于上述方案,首先通过获取第一指纹图像的L个关键点的特征;然后基于待验证指纹图像的L个关键点的特征以及指纹模板的L个关键点的特征,确定G对关键点,每对关键点对应的第一距离参数小于第一距离阈值,所述第一距离参数用于表征第一指纹图像的关键点到第一指纹模板的关键点的距离;接着对G对关键点进行排序,从排序后的G对关键点中确定N对关键点;随后利用N对关键点确定第一旋转矩阵,并基于所述第一旋转矩阵对待验证指纹图像进行旋转得到第二指纹图像;最后利用第二指纹图像将提取的待验证指纹特征与指纹模板进行特征匹配的过程,有助于提高指纹识别的速度,极大提升用户的指纹识别体验。并且,指纹模板库中保存的是每个指纹模板的L个关键点的特征,相比于保存全部特征点的方法而言,能够减少指纹模板占用的存储空间,有助于节省电子设备的空间。
在一种可能的实现方式中,在所述获取第二指纹图像前,所述方法还包括:
基于所述角度参数和所述平移参数判断所述第一旋转矩阵是否有效;
在所述第一旋转矩阵无效时,利用所述N对关键点重新确定第一旋转矩阵;
其中,所述获取第二指纹图像,包括:
在所述第一旋转矩阵有效时,获取所述第二指纹图像。
因此,通过设置第一旋转矩阵有效性的判断,可提高指纹验证的流程的可靠性,大幅降低认假FA风险,从而降低拒真率FAR。
在一种可能的实现方式中,所述平移参数包括水平方向平移参数和竖直方向平移参数;所述基于所述角度参数和所述平移参数判断所述第一旋转矩阵是否有效,包括:
确定所述水平方向平移参数是否小于第一平移阈值,或者,所述竖直方向平移参数是否小于第二平移阈值;
确定三角函数值是否大于角度阈值,所述三角函数值是基于所述角度参数确定的;
在所述水平方向平移参数小于第一平移阈值且所述三角函数值大于角度阈值时,或者,在所述竖直方向平移参数小于第二平移阈值且所述三角函数值大于角度阈值时,确定是否存在H对关键点对应的第一距离参数均小于第二距离阈值,其中,H大于第一数量,H为小于或等于N的整数;
在存在H对关键点对应的第二距离参数均小于第二距离阈值时,确定第一方差是否大于第一方差阈值,或者,第二方差是否大于第二方差阈值;
在所述第一方差大于所述第一方差阈值,或者,所述第二方差是否大于所述第二方差阈值时,确定所述第一旋转矩阵有效;
在所述第一方差不大于所述第一方差阈值,且所述第二方差不大于所述第二方差阈值时,确定所述第一旋转矩阵无效。
因此,通过上述具体方式判断第一旋转矩阵的有效性,为获得有效的第一旋转矩阵提供依据。
在一种可能的实现方式中,基于所述每对关键点的第一距离参数,对所述G对关键点进行排序,包括:
按照第一距离参数的取值由小到大的次序对所述G对关键点进行排序;
其中,所述N对关键点是排序后的G对关键点中的前N对关键点。
示例性地,按照第一距离参数的取值大小由小到大的次序对G对关键点进行排序,并从排序后的G对关键点中选择排名靠前的N对关键点(或者说TOP-N的关键点对)。排名靠前的N对关键点中包括对应的第一指纹图像的N个关键点和第一指纹模板的N个关键点。通过这种方式选取的N对关键点,能够筛选出质量较高的关键点,为后续计算旋转矩阵提供准备。
在一种可能的实现方式中,利用所述第二指纹图像与所述第一指纹模板进行相似度比较,包括:
依次遍历第二指纹图像的关键点以及第一指纹模板的关键点;
判断黑色相似度参数是否大于第一阈值,所述黑色相似度参数用于表征所述第二指纹图像与所述第一指纹模板对应的像素点同为黑色的数量;
判断白色相似度参数是否大于第二阈值,所述白色相似度参数用于表征所述第二指纹图像与所述第一指纹模板对应的像素点同为白色的数量;
在所述黑色相似度参数大于第一阈值,且,所述白色相似度参数大于第二阈值时,确定匹配成功。
通过统计同为黑色像素点的总数,以及,同为白色像素点的总数,并在同为黑色像素点的总数以及同为白色像素点的总数均大于相应阈值时,认为第二指纹图像与第一指纹模板匹配成功。相比于现有的匹配方式,上述黑白相似度的判断方式能够极大提高识别准确率,减少匹配的复杂度,还能够节省匹配时长,从而显著提升指纹识别体验。
在一种可能的实现方式中,利用所述第二指纹图像与所述第一指纹模板进行相似度匹配,包括:
确定第二距离参数,所述第二距离参数用于表征所述第二指纹图像的关键点到所述第一指纹模板的关键点的距离;
判断是否存在M对关键点对应的第二距离参数均小于第三距离阈值,其中,M大于第二数量;
在存在M对关键点对应的第二距离参数均小于第三距离阈值时,确定匹配成功。
通过统计满足第二距离参数小于第三距离阈值的关键点的对数,并在关键点的对数大于第二数量时,认为第二指纹图像与第一指纹模板匹配成功。
相比于现有的匹配方式,上述通过统计满足第二距离参数小于第三距离阈值的关键点的个数进行相似度判断,有助于减少匹配的复杂度,节省匹配时长,从而显著提升指纹识别体验。
在一种可能的实现方式中,所述方法还包括:
在所述第二指纹图像与所述第一指纹模板的匹配不成功时,利用所述第一指纹图像与指纹模板库中的第二指纹模板进行匹配,其中,所述第二指纹模板的L个关键点的特征存储于指纹模板库中。
指纹模板库中可以存储多个指纹模板,且保存的是每个指纹模板的L个关键点的特征。在指纹验证流程中,可遍历指纹模板库中存储的指纹模板,直至第一指纹图像匹配成功。
在一种可能的实现方式中,所述第一指纹模板的L个关键点的特征是基于以下方式获得的:
采集第三指纹图像;
对所述第三指纹图像进行预处理,得到预处理后的指纹图像;
基于所述预处理后的指纹图像提取所述第一指纹模板的L个关键点的特征。
因此,指纹模板库中存储的特征为指纹图像的L个关键点的特征,而并非是提取的全部特征,有助于节省内存空间。
在一种可能的实现方式中,所述方法还包括:
显示第一界面,所述第一界面包括第一选项,所述第一选项用于选择开启或关闭指纹匹配优化功能。
因此,本申请实施例还提供了指纹匹配优化功能的开关选项,可供用户选择开启或关闭指纹匹配优化功能。
第二方面,提供了一种指纹识别的装置,包括用于执行第一方面中任一种方法的单元。该装置可以是终端(或者终端设备),也可以是终端(或者终端设备)内的芯片。该装置包括输入单元、显示单元和处理单元。
当该装置是终端时,该处理单元可以是处理器,该输入单元可以是通信接口,该显示单元可以是图形处理模块和屏幕;该终端还可以包括存储器,该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该终端执行第一方面中的任一种方法。
当该装置是终端内的芯片时,该处理单元可以是芯片内部的逻辑处理单元,该输入单元可以是输出接口、管脚或电路等,该显示单元可以是芯片内部的图形处理单元;该芯片还可以包括存储器,该存储器可以是该芯片内的存储器(例如,寄存器、缓存等),也可以是位于该芯片外部的存储器(例如,只读存储器、随机存取存储器等);该存储器用于存储计算机程序代码,当该处理器执行该存储器所存储的计算机程序代码时,使得该芯片执行第一方面的任一种方法。
第三方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序代码,当所述计算机程序代码被指纹识别的装置运行时,使得该装置执行第一方面中的任一种方法。
第四方面,提供了一种计算机程序产品,所述计算机程序产品包括:计算机程序代码,当所述计算机程序代码被指纹识别的装置运行时,使得该装置执行第一方面中的任一种方法。
附图说明
图1是本申请实施例的应用场景的一个示例图;
图2是一种适用于本申请的电子设备的硬件系统的示意图;
图3是一种适用于本申请的电子设备的软件系统的示意图;
图4是指纹识别的一个全局流程示意框图;
图5是根据本申请实施例的指纹解锁的一个全局流程示意图;
图6是本申请实施例的指纹录入流程的示意性流程图;
图7是本申请实施例的指纹识别的方法的一个示意流程图;
图8是本申请实施例的指纹识别的方法的另一个示意流程图;
图9是本申请实施例的判断第一旋转矩阵有效性的一个示意流程图;
图10是本申请实施例的相似度判断方法的一个示意流程图;
图11是本申请实施例的相似度判断方法的另一个示意流程图;
图12是本申请实施例的一个界面示例图;
图13是本申请实施例的指纹识别装置的一个示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供的指纹识别方法可应用于具有指纹识别功能的电子设备中。例如,该电子设备可以为手机、平板电脑、笔记本电脑、可穿戴设备、多媒体播放设备、电子书阅读器、个人计算机、个人数字助理(personaldigitalassistant,PDA)、上网本、增强显示(augmentedreality,AR)设备、虚拟现实(virtualreality,VR)设备等电子设备。本申请对电子设备的具体形式不作限制。
作为示例而非限定,当电子设备为可穿戴设备时,该可穿戴设备可以是应用穿戴式技术对日常穿戴进行智能化设计、开发出可以穿戴的设备的总称,比如,眼镜、手套、手表、服饰以及鞋等。可穿戴设备即直接穿戴在人体上,或是整合到用户的衣服或配件的一种便携式设备,可以采集用户的生物特征数据。可穿戴设备不仅仅是一种硬件设备,更是通过软件支持以及数据交互、云端交互来实现强大的功能。一种实现方式,穿戴式智能设备包括功能全、尺寸大、可不依赖智能手机实现完整或部分功能的设备,比如,智能手表或智能眼镜等。另一种实现方式,穿戴式智能设备可以是只专注于某一类应用功能,且需要和其他设备(比如智能手机)配合使用的设备,比如,包含解锁的触控屏的智能手环、智能首饰等。
本申请实施例对指纹识别的应用场景不作具体限定,涉及到利用指纹进行识别的场景均可以适用。比如,用户利用指纹进行解锁、支付或身份认证等等。
本申请实施例可应用于光学指纹识别场景中。光学指纹识别主要利用的是光的反射和折射原理。当手指按压屏幕时,屏幕点亮发出亮光,光线照亮指纹,然后将指纹通过反射与折射传递到屏下的传感器进行识别。本请实施例对指纹识别的场景不作具体限定,也可以合理应用到其他指纹识别场景中,例如,超声波指纹识别,电容指纹识别等。
可以理解,本申请实施例对指纹模组的位置不作具体限定。例如,若采用光学指纹识别技术,则指纹模组可以设置于电子设备的屏幕(或者说触摸屏)下方,即屏下指纹识别。又例如,指纹模组装置也可设置于电子设备的背面或侧面等。
图1是本申请实施例的应用场景的一个示意图。以电子设备是手机为例,该手机采用屏下指纹解锁,如图1中(1)所示,用户通过手指按压屏幕的指纹解锁区域10,尝试进行指纹解锁。在用户按压指纹解锁区域10后,手机会将采集的指纹与用户预先存储的指纹模板进行匹配。如果匹配成功,则手机屏幕解锁成功。
应理解,图1中(1)所示的指纹解锁区域10只是示例性描述,本申请实施例并不限于此。事实上,指纹解锁区域10可以位于屏幕的其他区域,比如,靠近电源键的屏幕区域。
还应理解,图1中(1)所示的指纹解锁是以屏下指纹解锁为例进行说明的,本申请实施例并不限于此。比如,本申请实施例也适用于手机背部指纹解锁。
还应理解,用户在录入指纹时也可以通过手指按压屏幕的指纹解锁区域10。在录入指纹的流程中,用户可通过按压屏幕的指纹解锁区域10,实现指纹录入。在本申请实施例中,可以基于采集的指纹图像获取L个关键点特征,并将指纹图像的L个关键点特征存储在指纹模板库中。
如果用户在指纹匹配成功后,那么可以进入手机主界面。一种可能的情形,比如,在指纹解锁成功后手机显示如图1中(2)所示的界面,界面中显示有多个应用程序的图标,比如应用1至应用8。当然,图1中(2)所示的界面只是一种可能的情形,本申请实施例并不限于此。
应理解,图1中的场景只是示意性说明本申请的一个应用场景,这并不对本申请实施例构成限定,本申请并不限于此。
以下结合图2和图3描述本申请实施例适用的硬件系统和软件架构。
图2示出了一种适用于本申请的电子设备的硬件系统。
电子设备100可以是手机、智慧屏、平板电脑、可穿戴电子设备、车载电子设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、投影仪等等,本申请实施例对电子设备100的具体类型不作任何限制。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
需要说明的是,图2所示的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图2所示的部件更多或更少的部件,或者,电子设备100可以包括图2所示的部件中某些部件的组合,或者,电子设备100可以包括图2所示的部件中某些部件的子部件。比如,图2所示的接近光传感器180G可以是可选的。图2示的部件可以以硬件、软件、或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元。例如,处理器110可以包括以下处理单元中的至少一个:应用处理器(application processor,AP)、调制解调处理器、图形处理器(graphics processing unit,GPU)、图像信号处理器(image signal processor,ISP)、控制器、视频编解码器、数字信号处理器(digital signal processor,DSP)、基带处理器、神经网络处理器(neural-network processing unit,NPU)。其中,不同的处理单元可以是独立的器件,也可以是集成的器件。
在一些实施例中,处理器110用于通过指纹传感器180H采集第一指纹图像;获取所述第一指纹图像的L个关键点的特征,L为大于或等于2的整数;基于所述第一指纹图像的L个关键点以及第一指纹模板的L个关键点,确定G对关键点,其中,每对关键点是指第一指纹图像的关键点与第一指纹模板的关键点进行匹配时组成的点对,所述每对关键点对应的第一距离参数小于第一距离阈值,所述第一距离参数用于表征第一指纹图像的关键点到第一指纹模板的关键点的距离,所述第一指纹模板的L个关键点的特征存储于指纹模板库中,G为小于或等于L的整数;基于所述每对关键点的第一距离参数,对所述G对关键点进行排序;从排序后的G对关键点中确定N对关键点,N为小于或等于G的整数;利用所述N对关键点确定第一旋转矩阵,所述第一旋转矩阵包括平移参数和角度参数,其中,所述角度参数用于表征所述第一指纹图像旋转到所述第一指纹模板的角度,所述平移参数用于表征所述第一指纹图像平移到所述第一指纹模板的距离;获取第二指纹图像,所述第二指纹图像是基于所述第一旋转矩阵对所述第一指纹图像进行旋转得到的,所述第二指纹图像与所述第一指纹模板在同一方向;利用所述第二指纹图像与所述第一指纹模板进行相似度匹配。
控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
图2所示的各模块间的连接关系只是示意性说明,并不构成对电子设备100的各模块间的连接关系的限定。可选地,电子设备100的各模块也可以采用上述实施例中多种连接方式的组合。
电子设备100可以通过GPU、显示屏194以及应用处理器实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
显示屏194可以用于显示图像或视频。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)、有源矩阵有机发光二极体(active-matrix organic light-emitting diode,AMOLED)、柔性发光二极管(flex light-emitting diode,FLED)、迷你发光二极管(mini light-emitting diode,Mini LED)、微型发光二极管(micro light-emitting diode,Micro LED)、微型OLED(Micro OLED)或量子点发光二极管(quantum dotlight emitting diodes,QLED)。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
电子设备100可以通过ISP、摄像头193、视频编解码器、GPU、显示屏194以及应用处理器等实现拍摄功能。
ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP可以对图像的噪点、亮度和色彩进行算法优化,ISP还可以优化拍摄场景的曝光和色温等参数。在一些实施例中,ISP可以设置在摄像头193中。
摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的红绿蓝(red green blue,RGB),YUV等格式的图像信号。在一些实施例中,电子设备100可以包括1个或N个摄像头193,N为大于1的正整数。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。例如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
电子设备100可以通过音频模块170、扬声器170A、受话器170B、麦克风170C、耳机接口170D以及应用处理器等实现音频功能,例如,音乐播放和录音。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。压力传感器180A的种类很多,例如可以是电阻式压力传感器、电感式压力传感器或电容式压力传感器。电容式压力传感器可以是包括至少两个具有导电材料的平行板,当力作用于压力传感器180A,电极之间的电容改变,电子设备100根据电容的变化确定压力的强度。当触摸操作作用于显示屏194时,电子设备100根据压力传感器180A检测所述触摸操作。电子设备100也可以根据压力传感器180A的检测信号计算触摸的位置。
指纹传感器180H用于采集指纹。电子设备100可以利用采集的指纹特性实现解锁、访问应用锁、拍照和接听来电等功能。指纹传感器180H可以通过指纹模组实现。在一些实施例中,指纹模组是光学指纹模块。
触摸传感器180K,也称为触控器件。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,触摸屏也称为触控屏。触摸传感器180K用于检测作用于其上或其附近的触摸操作。触摸传感器180K可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,并且与显示屏194设置于不同的位置。
按键190包括开机键和音量键。按键190可以是机械按键,也可以是触摸式按键。电子设备100可以接收按键输入信号,实现于案件输入信号相关的功能。
马达191可以产生振动。马达191可以用于来电提示,也可以用于触摸反馈。马达191可以对作用于不同应用程序的触摸操作产生不同的振动反馈效果。对于作用于显示屏194的不同区域的触摸操作,马达191也可产生不同的振动反馈效果。不同的应用场景(例如,时间提醒、接收信息、闹钟和游戏)可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
上文详细描述了电子设备100的硬件系统,下面介绍电子设备100的软件系统。软件系统可以采用分层架构、事件驱动架构、微核架构、微服务架构或云架构,本申请实施例以分层架构为例,示例性地描述电子设备100的软件系统。
如图3所示,采用分层架构的软件系统分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,软件系统可以分为五层,从上至下分别为应用程序层、应用程序框架层、安卓运行时(Android Runtime)和系统库、内核层以及可信执行环境(trusted execution environment,TEE)层。
应用程序层可以包括相机、图库、日历、通话、地图、导航、WLAN、蓝牙、音乐、视频、短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用程序编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预定义的函数。
例如,应用程序框架层包括窗口管理器、内容提供器、视图系统、电话管理器、资源管理器和通知管理器。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏、锁定屏幕和截取屏幕。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频、图像、音频、拨打和接听的电话、浏览历史和书签、以及电话簿。
视图系统包括可视控件,例如显示文字的控件和显示图片的控件。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成,例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备100的通信功能,例如通话状态(接通或挂断)的管理。
资源管理器为应用程序提供各种资源,比如本地化字符串、图标、图片、布局文件和视频文件。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于下载完成告知和消息提醒。通知管理器还可以管理以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知。通知管理器还可以管理以对话窗口形式出现在屏幕上的通知,例如在状态栏提示文本信息、发出提示音、电子设备振动以及指示灯闪烁。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理、堆栈管理、线程管理、安全和异常的管理、以及垃圾回收等功能。
系统库可以包括多个功能模块,例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:针对嵌入式系统的开放图形库(opengraphics library for embedded systems,OpenGL ES)和2D图形引擎(例如:skia图形库(skia graphics library,SGL))。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D图层和3D图层的融合。
媒体库支持多种音频格式的回放和录制、多种视频格式回放和录制以及静态图像文件。媒体库可以支持多种音视频编码格式,例如:MPEG4、H.264、动态图像专家组音频层面3(moving picture experts group audio layer III,MP3)、高级音频编码(advancedaudio coding,AAC)、自适应多码率(adaptive multi-rate,AMR)、联合图像专家组(jointphotographic experts group,JPG)和便携式网络图形(portable network graphics,PNG)。
三维图形处理库可以用于实现三维图形绘图、图像渲染、合成和图层处理。
二维图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层可以包括指纹模组驱动、显示驱动、摄像头驱动、音频驱动和传感器驱动等驱动模块。
TEE层可以给Android系统提供安全服务。TEE层用于执行各类生物识别算法。TEE层通常用于运行关键的操作:(1)、移动支付:指纹验证、PIN码输入等;(2)、机密数据:私钥、证书等的安全存储;(3)、内容包括:DRM(数字版权保护)等。
在一些可能的实施例中,TEE层包括指纹录入模块、指纹验证模块。指纹验证模块中包括指纹匹配模块。可选地,指纹匹配模块可以独立设置于TEE层,也可以位于指纹验证模块中(比如,如图3中所示),本申请实施例对此不作具体限定。
在一些实施例中,指纹模板匹配模块用于获取所述第一指纹图像的L个关键点的特征,L为大于或等于2的整数;基于所述第一指纹图像的L个关键点以及第一指纹模板的L个关键点,确定G对关键点,其中,每对关键点是指第一指纹图像的关键点与第一指纹模板的关键点进行匹配时组成的点对,所述每对关键点对应的第一距离参数小于第一距离阈值,所述第一距离参数用于表征第一指纹图像的关键点到第一指纹模板的关键点的距离,所述第一指纹模板的L个关键点的特征存储于指纹模板库中,G为小于或等于L的整数;基于所述每对关键点的第一距离参数,对所述G对关键点进行排序;从排序后的G对关键点中确定N对关键点,N为小于或等于G的整数;利用所述N对关键点确定第一旋转矩阵,所述第一旋转矩阵包括平移参数和角度参数,其中,所述角度参数用于表征所述第一指纹图像旋转到所述第一指纹模板的角度,所述平移参数用于表征所述第一指纹图像平移到所述第一指纹模板的距离;获取第二指纹图像,所述第二指纹图像是基于所述第一旋转矩阵对所述第一指纹图像进行旋转得到的,所述第二指纹图像与所述第一指纹模板在同一方向;利用所述第二指纹图像与所述第一指纹模板进行相似度匹配。
示例性地,通过内核层中的指纹模组驱动调用指纹模组采集指纹数据,然后将采集的指纹数据传送至TEE层进行处理。
应理解,以上基于图2对电子设备的结构图进行举例说明,通过图3对本申请实施例的软件架构进行示例说明,但是本申请实施例并不限于此。
以下结合图4至图7描述根据本申请实施例的指纹识别的方法。可以理解,以下所示的指纹识别的方法可以在具备上述硬件结构的电子设备(比如,图2所示的电子设备)中实现。
图4是指纹识别的一个全局流程示意框图。如图4所示,指纹识别通常包括指纹录入过程和指纹验证过程。示例性地,指纹录入过程可以通过图3中的指纹录入模块实现;指纹验证过程可以通过图3中的指纹验证模块和指纹匹配模块实现。
指纹录入过程可以理解为:对采集的用户指纹图像进行预处理,并基于预处理后的指纹图像进行特征提取,最后将提取的指纹特征存储为指纹模板的过程。
示例性地,对于指纹录入过程而言,通常会涉及以下处理流程:预处理(亮度归一化)、去噪、质量卡控、提取指纹传统特征、提取指纹高阶特征、模板压缩存储。
其中,预处理是对采集的指纹图像进行亮度归一化、去噪等图像处理的过程。
去噪是对指纹图像进行图像去噪处理,以消除指纹图像的噪声干扰。本申请实施例对去噪方法不作具体限定。比如,去噪方法采用小波变换、双边滤波等。
应理解,上述只是以预处理包括亮度归一化和去噪为例进行描述,本申请实施例并不限于此。事实上,预处理可以包括其他处理操作,比如,滤波处理、图像增强处理、二值化处理等等。
质量卡控:是指对预处理后的指纹图像的图像质量进行判断,过滤掉低质量的指纹图像,获得高质量的指纹图像,以便录入高质量的指纹图像。
提取指纹传统特征是指基于去噪后的指纹图像初步提取指纹的特征。指纹传统特征可以理解为指纹的整体特征(或者说全局特征)。
提取指纹高阶特征是指从细化后的指纹图中提取指纹的细节特征点。指纹高阶特征可以理解为是比指纹传统特征更细节的局部特征。
模板压缩存储指对提取的指纹特征进行存储的过程。通常而言,提取的指纹特征的结果保存为特征模板进行存储。在一些实施例中,指纹模板中存储了第一指纹模板的L个关键点的特征。
在本申请实施例中,指纹验证过程可以理解为:在采集到待验证指纹图像(比如第一指纹图像)后,对待验证指纹图像进行预处理,并基于预处理后的待验证指纹图像进行特征提取,并获得待验证指纹图像的L个关键点的特征;然后基于待验证指纹图像的L个关键点的特征以及指纹模板的L个关键点的特征,确定G对关键点,其中,每对关键点是指待验证指纹图像的关键点与第一指纹模板的关键点进行匹配时组成的点对,所述每对关键点对应的第一距离参数小于第一距离阈值,所述第一距离参数用于表征待验证指纹图像的关键点到第一指纹模板的关键点的距离;接着对G对关键点进行排序,从排序后的G对关键点中确定N对关键点;利用N对关键点确定第一旋转矩阵;基于所述第一旋转矩阵对待验证指纹图像进行旋转得到第二指纹图像;最后利用第二指纹图像将提取的待验证指纹特征与指纹模板进行特征匹配的过程。
示例性地,对于指纹验证过程而言,涉及以下处理流程:预处理(亮度归一化)、去噪、质量卡控、提取指纹传统特征、提取指纹高阶特征、指纹匹配。
关于预处理、去噪、质量卡控、提取指纹传统特征、提取指纹高阶特征的描述可以参考指纹录入过程中的描述,为了简洁,此处不再赘述。
示例性地,指纹匹配是指:利用待验证指纹图像的L个关键点的特征,与指纹模板中存储的L个关键点的特征进行匹配的过程。
应理解,图4中示出的流程示意框图只是示例性描述,本申请实施例并不限于此。
以下结合图5介绍指纹解锁场景的全局流程。应理解,图5仅是以指纹解锁场景为例进行说明,但是本申请实施例并不限于此。比如,指纹识别也可以用于指纹支付场景。如图5所示,指纹识别的流程包括:
步骤1,录入指纹。
录入指纹可以理解为采集用户指纹特征的过程。比如,在光学指纹场景中,用户通过按压指纹解锁区域(比如图1中(1)所示的指纹解锁区域10)录入指纹。
步骤2,将指纹图像的特征存储到指纹模板库(可简称模板库,或者指纹库)中。
指纹模板库中可以包括一个或多个指纹模板。
可以理解,指纹模板库中存储的指纹模板的数量的上限,可以取决于电子设备的实现,对此不作具体限定。比如,指纹模板库中最多可以录入5个指纹。
可选地,指纹模板库可存储于TEE层的可信应用(Trusted Application,TA)侧。
在本申请实施例中,指纹模板库中存储的是指纹图像的L个关键点特征。
步骤3,基于指纹模板库中存储的指纹模板,对待验证指纹图像进行验证(或者说匹配)。
如果待验证指纹图像通过验证,则执行步骤4;如果待验证指纹图像未通过验证,则执行步骤5。
步骤4,解锁成功。
当用户录入的指纹成功匹配到指纹模板库中存储的指纹模板,则电子设备解锁成功。
步骤5,解锁失败。
应理解,图5中示出的流程仅是示例性描述,本申请实施例并不限于此。
以下将结合图6中的示例描述本申请实施例的指纹识别方法中的指纹录入流程。应理解,图6中示出的方法500可以与图5中的方法组合实施,也可以独立实施,对此不作具体限定。比如,图6中的方法可以替换图5中的步骤1和步骤2。
如图6所示,指纹录入的方法包括:
步骤501,采集第三指纹图像。
第三指纹图像用于泛指待录入的指纹图像或者说采集的用户的指纹图像。示例性地,用户在进行指纹录入时,通过按压指纹解锁区域,指纹模组基于用户的按压采集指纹图像。
步骤502,对第三指纹图像进行预处理,得到预处理后的指纹图像。
本申请实施例对预处理的具体方法不作具体限定。在一种实现方式中,预处理流程的描述可以参考图4中的描述。
示例性地,对第三指纹图像执行以下预处理操作:亮度归一化、去噪、二值化、图像增强、灰度处理等。
应理解,本申请实施例对预处理过程所包含的处理操作不作具体限定。
步骤503,基于预处理后的指纹图像,提取第一指纹模板的L个关键点的特征。L为大于或等于1的整数。
示例性地,在获得预处理后的指纹图像后,对预处理后的指纹图像进行指纹特征提取,得到全部指纹特征;从提取的全部指纹特征中,选取L个关键点特征。在提取到L个关键点的特征,可以将L个关键点的特征以第一指纹模板的形式存储在指纹模板库中,无需将预处理后提取的全部特征点进行存储。
关键点可以理解为在提取的多个指纹特征点中能够表征指纹关键特征的特征点。示例性地,关键点包括但不限于以下一项或多项特征点:指纹的端点、分叉点或者通过清晰指纹线条提取的指纹特征点。
本申请实施例对如何获取L个关键点的特征的方式不作具体限定。示例性地,可以基于特征点能够表征指纹特征的清晰程度,从多个特征点中筛选出清晰程度较高的L个关键点。
应理解,步骤501至步骤503是以采集第三指纹图像录入第一指纹模板为例进行描述,本申请实施例并不限于此。事实上,用户可以通过多次按压录入指纹图像,以录入多个指纹模板。
步骤504,进行多次采集,并将K个指纹模板的L个关键点的特征存储在指纹模板库中。
示例性地,指纹模板库中可以存储K个指纹模板的特征。K为大于或等于1的整数。对于K个指纹模板,每个指纹模板均可保存L个关键点的特征。
示例性地,用户每按压一次,系统就会采集当前的指纹图像,并存储当前指纹图像的L个关键点的特征。
应理解,图6中示出的指纹录入的方法只是示例性描述,本申请实施例并不限于此。
综上,通过图6中示出的指纹录入的方法,针对指纹模板,存储了L个关键点的特征。相比于指纹录入流程中将提取的特征点全部进行存储的现有技术,本申请实施例的指纹录入的方法存储的是L个关键点的特征,能够减少指纹模板占用的存储空间,有助于节省电子设备的空间。
以下将结合图7至图11中描述本申请实施例的指纹识别方法。
图7示出了本申请实施例的指纹识别的方法示意流程图。应理解,图7中示出的方法可以与图6中的方法组合实施,也可以独立实施,对此不作具体限定。示例性地,图7中涉及的第一指纹模板的录入方法可以参考图6的描述。
如图7所示,该方法包括以下步骤:
步骤601,采集第一指纹图像。
第一指纹图像用于泛指待验证的指纹图像或者待匹配的指纹图像。示例性地,在用户进行指纹解锁时,第一指纹图像是在用户按压指纹解锁区域时采集的图像。
步骤602,获取所述第一指纹图像的L个关键点的特征,L为大于或等于2的整数。
示例性地,步骤602包括:对采集到的第一指纹图像进行预处理,得到预处理后的指纹图像,然后基于预处理后的指纹图像进行指纹特征提取;基于提取到的指纹特征进行筛选,获得L个关键点的特征。
关键点的描述可以参考前文图6中步骤503处的描述,为了简洁,此处不再赘述。
示例性地,预处理的过程也可以参考前文图4处的描述。
步骤603,基于所述第一指纹图像的L个关键点以及第一指纹模板的L个关键点,确定G对关键点,其中,每一对关键点是指第一指纹图像的关键点与第一指纹模板的关键点进行匹配时组成的,所述每一对关键点对应的第一距离参数小于第一距离阈值,所述第一距离参数用于表征第一指纹图像的关键点到第一指纹模板的关键点的距离,所述第一指纹模板的L个关键点的特征存储于指纹模板库中,G为小于或等于L的整数。
第一指纹模板的录入流程可以参考图6中的描述,为了简洁,此处不再赘述。
上述G对关键点用于描述待匹配指纹图像的关键点与指纹模板的关键点进行匹配时组成的点对。G对关键点是指L对关键点中的有效关键点对。G对关键点也可以称作G个关键点对,或者G个有效匹配点对等。
示例性地,在第一指纹图像的L个关键点与第一指纹模板的L个关键点进行遍历比对时,每两个关键点(包括第一指纹图像的一个关键点和第一指纹模板的一个关键点)组成一个关键点对,那么可以遍历L对关键点,通过对L对关键点进行筛选,可获得G对关键点。
在对关键点进行比对时,每一对关键点可以通过对应的距离参数来评价,并将距离参数满足一定条件的关键点对确定为有效匹配点对或者说有效关键点对。示例性地,在第一指纹图像的关键点到第一指纹模板的关键点的距离满足一定预设条件时,则认为该第一指纹图像的关键点与该第一指纹模板的关键点组成的关键点对为有效关键点对。
可选地,第一指纹图像的关键点到第一指纹模板的关键点的距离满足一定预设条件,包括:第一指纹图像的关键点到第一指纹模板的关键点的距离(可以通过第一距离参数表征)小于第一距离阈值。
可以理解,第一距离阈值可以基于实际需求进行合理选取,本申请实施例不作具体限定。通常第一距离阈值越小,说明第一指纹图像的关键点与第一指纹模板的关键点越接近。
可以理解,上述预设条件只是示例性描述,本申请实施例并不限于此。比如,“第一距离参数小于第一距离阈值”也可以替换为“第一距离参数位于预设的距离区间”等。
可选地,可以通过第一距离参数来表征第一指纹图像的关键点到第一指纹模板的关键点的距离。
本申请实施例对第一指纹图像的关键点到第一指纹模板的关键点的距离的计算方式不作具体限定。比如,第一距离参数可以是汉明距离。又比如,第一距离参数可以是欧式距离。
示例性地,欧式距离可以通过下式计算:
D1=Sqrt[(x2-x1)^2+(y2-y1)^2]
其中,D1表示第一指纹图像的关键点到第一指纹模板的关键点的欧式距离。Sqrt表示开根运算。(x1,y1)表示第一指纹图像的关键点对应的像素坐标。(x2,y2)表示第一指纹模板的关键点对应的像素坐标。
示例性地,汉明距离可以通过下式计算:
D2=abs(x2-x1)+abs(y2-y1)
其中,D2表示第一指纹图像的关键点到第一指纹模板的关键点的汉明距离。abs表示求绝对值运算。(x1,y1)表示第一指纹图像的关键点对应的像素坐标。(x2,y2)表示第一指纹模板的关键点对应的像素坐标。
应理解,上述关于欧式距离和汉明距离的表述只是示例性描述,本申请实施例并不限于此。
步骤604,基于每一对关键点对应的第一距离参数,对G对关键点进行排序。
可选地,基于第一距离参数的取值大小对G对关键点进行描述。
示例性地,按照第一距离参数的取值大小由小到大的次序对G对关键点进行排序,并从排序后的G对关键点中选择排名靠前的N对关键点(或者说TOP-N的关键点对)。排名靠前的N对关键点中包括对应的第一指纹图像的N个关键点和第一指纹模板的N个关键点。通过这种方式选取的N对关键点,能够筛选出质量较高的关键点,为后续计算旋转矩阵提供准备。
应理解,上述排序只是示例性描述,本申请实施例对排序方式不作具体限定。比如,还可以按照第一距离参数的取值大小由大到小的次序对G对关键点进行排序,并从排序后的G对关键点中选择排名靠后的N对关键点。
可以理解,无论如何排序,最终选择的N对关键点为G对关键点中第一距离参数的取值最小的N对关键点。
步骤605,从排序后的G对关键点中确定N对关键点,N为小于或等于G的整数。
N对关键点包括对应的第一指纹图像的N个关键点和第一指纹模板的N个关键点。
在得到N对关键点后,可以利用N对关键点进行旋转矩阵的计算。或者说,利用N对关键点中对应的第一指纹图像的N个关键点和第一指纹模板的N个关键点进行旋转矩阵的计算。
步骤606-1,利用N对关键点确定第一旋转矩阵,所述第一旋转矩阵包括平移参数和角度参数,其中,所述角度参数用于表征所述第一指纹图像旋转到所述第一指纹模板的角度,所述平移参数用于表征所述第一指纹图像平移到所述第一指纹模板的距离。
第一旋转矩阵用于将第一指纹图像旋转到与第一指纹模板在同一方向上。比如,用户在进行指纹识别时,手指在指纹解锁区域处放置的方向与指纹模板的方向存在一定的偏差(包括角度和/或位移上的偏差),比如手指放置时的位置相对于水平方向存在倾斜,那么可以通过第一旋转矩阵来表征二者存在的偏差,并通过第一旋转矩阵将第一指纹图像旋转至第一指纹模板的方向。
可选地,第一旋转矩阵可以包括平移参数和角度参数。平移参数可以包括水平方向平移参数和竖直方向平移参数。水平方向平移参数用于表征第一指纹图像在水平方向上平移到第一指纹模板的距离。竖直方向平移参数用于表征第一指纹图像在竖直方向上平移到第一指纹模板的距离。
示例性地,第一旋转矩阵通过ΔX、ΔY和θ表征。ΔX表示水平方向平移参数。ΔY表示竖直方向平移参数。θ表示角度参数。
比如,第一旋转矩阵的示例如下:
Figure BDA0003804893030000141
上述旋转矩阵的示例可以理解为三维旋转矩阵。
可选地,利用所述N对关键点确定第一旋转矩阵,包括:基于第一指纹图像的N个关键点和第一指纹模板的N个关键点,计算第一旋转矩阵。
示例性地,可以基于第一指纹图像的N个关键点的像素点坐标,以及,第一指纹模板的N个关键点的像素点坐标,计算第一旋转矩阵。第一旋转矩阵的具体生成方式可以参考当前手段,本申请实施例对此不作具体限定。
应理解,上述关于第一旋转矩阵的描述只是示例性描述,本申请实施例并不限于此。事实上,基于上面的示例,本领域技术人员可以通过其他合理的方式获得上述第一旋转矩阵。
在获得第一旋转矩阵后,还可以对第一旋转矩阵的有效性进行判断,可提高指纹验证的流程的可靠性。通过对第一旋转矩阵的有效性进行判断,可以过滤掉第一旋转矩阵无效的情况,即避免了利用无效的旋转矩阵执行后续的转换步骤,并在第一旋转矩阵有效的时候才利用第一旋转矩阵对待验证指纹图像进行旋转,并利用旋转后的指纹图像进行相似度匹配,这样可以降低认假(fail accept,FA)风险,大幅降低认假率(fail acceptrate,FAR),或者,能够降低(false reject rate,FRR)拒真率。
应理解,上述是FA、FAR或FRR为例作为评价指纹识别算法性能的参数,本申请实施例并不限于此。本领域技术人员清楚FA、FAR或FRR参数在指纹识别算法中的具体意义。
可选地,在步骤606-1之后,图7中示出的方法还包括:
步骤601-2,基于角度参数和平移参数判断所述第一旋转矩阵是否有效。
在所述第一旋转矩阵无效时,利用N对关键点重新确定第一旋转矩阵。
在所述第一旋转矩阵有效时,执行步骤607,具体即,基于所述第一旋转矩阵对所述第一指纹图像进行旋转,获取所述第二指纹图像。
示例性地,可以结合角度参数和平移参数对第一旋转矩阵的有效性进行判断。如果判断出第一旋转矩阵无效时,那么返回步骤606-1重新计算第一旋转矩阵。
步骤607,获取第二指纹图像,所述第二指纹图像是基于所述第一旋转矩阵对所述第一指纹图像进行旋转得到的,所述第二指纹图像与所述第一指纹模板在同一方向。
步骤607也可以替换为:基于第一旋转矩阵对第一指纹图像进行旋转,获得第二指纹图像,所述第二指纹图像与第一指纹模板在同一方向。
也就是说,可以将第一指纹图像旋转到第一指纹模板的方向,从而方便进行匹配,或者说便于比较二者的相似度。
步骤608,利用所述第二指纹图像与所述第一指纹模板进行相似度匹配。
示例性地,可以基于第二指纹图像的L个关键点与第一指纹模板的L个关键点进行相似度判断。第二指纹图像的L个关键点可以是基于第一旋转矩阵对第一指纹图像的L个关键点进行转换后得到的L个关键点。
可以理解,上述是第一指纹图像与第一指纹模板进行匹配为例进行描述。对于指纹模板库中的其他指纹模板,也可以参考第一指纹图像与第一指纹模板的比较流程,为了简洁,不再一一赘述。
在本申请实施例中,首先通过获得第一指纹图像的L个关键点的特征;然后基于待验证指纹图像的L个关键点的特征以及指纹模板的L个关键点的特征,确定G对关键点,其中,每一对关键点是第一指纹图像的关键点与第一指纹模板的关键点进行匹配时组成的,所述每一对关键点对应的第一距离参数小于第一距离阈值,所述第一距离参数用于表征第一指纹图像的关键点到第一指纹模板的关键点的距离;接着对G对关键点进行排序,从排序后的G对关键点中确定N对关键点;随后利用N对关键点确定第一旋转矩阵,并基于所述第一旋转矩阵对待验证指纹图像进行旋转得到第二指纹图像;最后利用第二指纹图像将提取的待验证指纹特征与指纹模板进行特征匹配的过程,有助于提高指纹识别的速度,极大提升用户的指纹识别体验。
可选地,图7中示出的方法还包括:
在所述第二指纹图像与所述第一指纹模板的匹配不成功时,利用所述第一指纹图像与指纹模板库中的第二指纹模板进行匹配,其中,所述第二指纹模板的L个关键点的特征存储于指纹模板库中。
也就是说,如果经过第一旋转矩阵变换后,待验证指纹图像与第一指纹模板未匹配成功,那么可以尝试与指纹模板库中的其他指纹模板(比如第二指纹模板)进行匹配,以便进行指纹识别。当然,在与其他指纹模板进行匹配时,也采用与第一指纹模板进行匹配时类似的方法。指纹模板库中可以存储多个指纹模板,且保存的是每个指纹模板的L个关键点的特征。在指纹验证流程中,可遍历指纹模板库中存储的指纹模板,直至第一指纹图像匹配成功。
上述步骤603用于获取G对关键点。可选地,上述步骤603可以通过图8中示出的步骤603A至步骤603D进行替换。以下结合图8中的方法描述具体流程示例。应理解,图8中涉及的术语或概念可以参考前文步骤603处的描述,为了简洁,下面不再赘述。
如图8所示,该流程包括:
步骤603A,依次遍历第一指纹图像的L个关键点以及第一指纹模板的L个关键点。
步骤603B,确定第一距离参数是否小于第一距离阈值。
第一距离参数与第一距离阈值的描述可以参考前文描述,此处不再赘述。
步骤603C,关键点的对数加一。或者说,关键点对的个数加一。
可以理解,步骤603C用于统计满足第一距离参数小于第一距离阈值的关键点对的个数。即,对于满足第一距离参数小于第一距离阈值的关键点对,可以将关键点的对数进行加一处理。
步骤603D,判断是否遍历结束。
在遍历结束后,可以执行步骤603E;在遍历未结束时,可返回步骤603A进行遍历。
可以理解,遍历结束是指第一指纹图像的L个关键点以及第一指纹模板的L个关键点全部被进行一一比对。
步骤603E,获得G对关键点。
应理解,图8中示出的流程仅是便于理解,本申请实施例并不限于此。
本申请实施例还提供了第一旋转矩阵的有效性判断的具体方法。以下对第一旋转矩阵的有效性判断方法进行详细描述。
图9示出了判断第一旋转矩阵有效性的一个示例流程。应理解,图9中示出的流程可以与前文图7中的方法组合实施,也可以独立实施,对此不作具体限定。比如,图9中示出的步骤701可以替换图7中的步骤606-1,图9中示出的步骤702至步骤705可以替换图7中的步骤606-2。还应理解,图9中涉及的术语或概念可以参考前文图7的描述,为了简洁,下面将不再赘述。
如图9所示,该流程包括:
步骤701,利用N对关键点确定第一旋转矩阵,所述第一旋转矩阵包括水平方向平移参数、竖直方向平移参数和角度参数。
步骤701的描述可以参考前文步骤606-1的描述,为了简洁,此处不再赘述。
步骤702,确定水平方向平移参数是否小于第一平移阈值,或者,竖直方向平移参数是否小于第二平移阈值。
示例性地,判断ΔX是否小于第一平移阈值,或者,判断ΔY是否小于第二平移阈值。
可选地,第一平移阈值与第二平移阈值可以设置为相同的值,也可以是不同的值,对此不作具体限定。
可以理解,如果水平方向平移参数小于第一平移阈值,或者,竖直方向平移参数小于第二平移阈值,则说明第一指纹图像到第一指纹模板平移的距离非常小。步骤702是验证第一旋转矩阵有效性的判断因素之一。
还可以理解,第一平移阈值或第二平移阈值的取值可以基于实际需求进行设定,本申请实施例对此不作具体限定。
步骤703,确定三角函数值是否大于角度阈值,所述三角函数值是基于所述角度参数确定的。
示例性地,三角函数值是余弦函数值。当角度在(0,π)区间变换时,cosθ为递减函数。通过判断cosθ是否大于角度阈值,如果cosθ大于角度阈值,说明第一指纹图像到第一指纹模板旋转的角度非常小。步骤703是验证第一旋转矩阵有效性的判断因素之一。
应理解,角度阈值的取值可以基于实际需求进行设定,本申请实施例对此不作具体限定。
还应理解,上面只是以余弦函数为例进行描述,本申请实施例并不限于此。事实上,本领域技术人员基于上面的描述,可以合理选取其他三角函数类型。
可选地,当步骤702和步骤703的判断条件都满足时,还可以继续执行步骤704,以便判断是否确实存在部分特征点进行了平移或旋转。
步骤704,在所述水平方向平移参数小于第一平移阈值且所述三角函数值大于角度阈值时,或者,在所述竖直方向平移参数小于第二平移阈值且所述三角函数值大于角度阈值时,确定是否存在H对关键点对应的第一距离参数均小于第二距离阈值,其中,H大于第一数量,H为小于或等于N的整数。
示例性地,在ΔX小于第一平移阈值且cosθ大于角度阈值时,继续判断是否存在H对关键点对应的第一距离参数均小于第二距离阈值,其中,H大于第一数量。
示例性地,在ΔY小于第一平移阈值且cosθ大于角度阈值时,继续判断是否存在H对关键点对应的第一距离参数均小于第二距离阈值,其中,H大于第一数量。
引入步骤704的目的在于判断是否确实有部分关键点参与了平移或旋转。步骤704是验证第一旋转矩阵有效性的判断因素之一。
可以理解,第一数量可以基于实际需求设定,本申请实施例对此不作具体限定。
可选地,当步骤702至步骤704的判断条件都满足时,还可以继续执行步骤705,以便结合内点方差进行分析。
步骤705,在存在H对关键点对应的第二距离参数均小于第二距离阈值时,确定第一方差是否大于第一方差阈值,或者,第二方差是否大于第二方差阈值。
第一方差是指水平方向(或者说X轴方向)的特征点的方差。第一方差用于衡量水平方向上数据的离散程度。如果第一方差的取值越大,则说明在X轴方向的数据越离散,这种情况是不推荐的。
示例性地,第一方差可以通过下式计算:
Figure BDA0003804893030000171
其中,σ2表示第一方差。
Figure BDA0003804893030000172
表示第一指纹图像的关键特征点。/>
Figure BDA0003804893030000173
表示第一指纹模板的关键特征点。N表示关键点的数量。
第二方差是指指竖直方向(或者说Y轴方向)的特征点的方差。第二方差用于衡量竖直方向上数据的离散程度。如果第二方差的取值越大,则说明在X轴方向的数据越离散,这种情况是不推荐的。第二方差的计算方式可以参考上面关于第一方差的描述,为了简洁,此处不再赘述。
步骤705通过引入方差的因素来判断数据的离散程度。步骤705是验证第一旋转矩阵有效性的判断因素之一。
示例性地,在所述第一方差大于所述第一方差阈值,或者,所述第二方差是否大于所述第二方差阈值时,确定所述第一旋转矩阵有效。
示例性地,在所述第一方差不大于所述第一方差阈值,且所述第二方差不大于所述第二方差阈值时,确定所述第一旋转矩阵无效。
应理解,第一方差阈值或第二方差阈值可以基于实际需求而定,本申请实施例对此不作具体限定。
在确定所述第一旋转矩阵无效时,可返回步骤701,即重新确定第一旋转矩阵。
因此,基于图9中示出的流程,为判断第一旋转矩阵的有效性提供了可能。
应理解,上述图9中示出的各个判断步骤或者说判断因素可以进行部分组合实现,也可以全部实施,本申请实施例并不限于此。基于图9中示出的方法,本领域技术人员可以对上述各个判断步骤进行组合,以得到其他判断第一旋转矩阵有效性的方案。这些方案均落入本申请实施例的保护范围。
对于图7中的步骤608,本申请实施例还提供了相似度判断的具体方法。以下将结合图10和图11分别进行描述。
图10示出了本申请实施例的一个相似度判断方法的示意流程。应理解,图10中示出的流程可以与前文图7中的方法组合实施,也可以独立实施,对此不作具体限定。比如,图10示出的步骤801至步骤808可以替换图7中的步骤608。还应理解,图10中涉及的术语或概念可以参考前文图7的描述,为了简洁,下面将不再赘述。
如图10所示,该流程包括:
步骤801,依次遍历第二指纹图像的L个关键点以及第一指纹模板的L个关键点。
此处的第二指纹图像或者第一指纹模板已是二值化图像,即其中包含的特征点由白色像素点和黑色像素点组成。因此可以通过比对对应像素点,来进行相似度判断。
步骤802,基于第二指纹图像的L个关键点以及第一指纹模板的L个关键点,判断对应像素点是否同为黑色像素点。
示例性地,“对应像素点”可以理解为相同像素坐标位置对应的像素点。
步骤803,如果对应像素点同为黑色像素点,则黑色相似度参数加一。
也就是说,可以统计二者对应像素点同为黑色像素点的数量。比如,同为黑色像素点的数量通过黑色相似度参数进行表征。
步骤804,基于第二指纹图像的L个关键点以及第一指纹模板的L个关键点,判断对应像素点是否同为白色像素点。
步骤805,如果对应像素点同为白色像素点,则白色相似度参数加一。
也就是说,可以统计二者对应像素点同为白色像素点的数量。比如,同为白色像素点的数量通过白色相似度参数进行表征。
步骤806,判断是否遍历结束。
如果未遍历结束,则执行步骤801;如果遍历结束,则执行步骤807。
步骤807,判断黑色相似度参数是否大于第一阈值,以及,白色相似度参数是否大于第二阈值,所述黑色相似度参数用于表征所述第二指纹图像与所述第一指纹模板对应的像素点同为黑色的数量,所述白色相似度参数用于表征所述第二指纹图像与所述第一指纹模板对应的像素点同为白色的数量。
步骤808,在所述黑色相似度参数大于第一阈值,且,所述白色相似度参数大于第二阈值时,确定匹配成功。
通过图10中的流程,通过统计同为黑色像素点的总数,以及,同为白色像素点的总数,并在同为黑色像素点的总数以及同为白色像素点的总数均大于相应阈值时,认为第二指纹图像与第一指纹模板匹配成功。
相比于现有的匹配方式,上述黑白相似度的判断方式能够极大提高识别准确率,减少匹配的复杂度,还能够节省匹配时长,从而显著提升指纹识别体验。
图11示出了本申请实施例的另一个相似度判断方法的示意流程。应理解,图11中示出的流程可以与前文图7中的方法组合实施,也可以独立实施,对此不作具体限定。比如,图11示出的步骤901至步骤904可以替换图7中的步骤608。还应理解,图11中涉及的术语或概念可以参考前文图7的描述,为了简洁,下面将不再赘述。如图11所示,该流程包括:
步骤901,依次遍历第二指纹图像的L个关键点以及第一指纹模板的L个关键点。
步骤902,确定第二距离参数,所述第二距离参数用于表征所述第二指纹图像的关键点到所述第一指纹模板的关键点的距离。
第二距离参数的描述可以参考前文第一距离参数的描述。为了简洁,此处不再赘述。
示例性地,第二距离参数可以是欧式距离,也可以是汉明距离。
步骤903,判断是否存在M对关键点对应的第二距离参数均小于第三距离阈值,其中,M大于第二数量。M是小于或等于L的整数。
示例性地,如果存在满足一定数量(比如M大于第二数量)的关键点对,其对应的第二距离参数均小于一定的阈值(比如第三距离阈值),那么可以认为第二指纹图像与第一指纹模板匹配成功。
可以理解,第三距离阈值与第一距离阈值的取值可以相同,也可以不同,对此不作具体限定。
步骤904,在存在M对关键点对应的第二距离参数均小于第三距离阈值,并且,M大于第二数量时,确定匹配成功。
通过图11中的流程,通过统计满足第二距离参数小于第三距离阈值的关键点的对数,并在关键点的对数大于第二数量时,认为第二指纹图像与第一指纹模板匹配成功。
相比于现有的匹配方式,上述通过统计满足第二距离参数小于第三距离阈值的关键点的对数进行相似度判断,有助于减少匹配的复杂度,节省匹配时长,从而显著提升指纹识别体验。
应理解,图10和图11中的相似度判断方式只是示例性描述,本申请实施例并不限于此。事实上,在得到第二指纹图像后,可以采用其他匹配算法对第二指纹图像与第一指纹模板进行匹配。
上文描述的指纹识别的方法可以认为是本申请实施例的指纹匹配优化功能。本申请实施例的指纹匹配优化功能可以固化在终端中,无需用户手动开启,也可以提供选项供用户手动开启或关闭。可选地,本申请实施例还提供了指纹匹配优化功能的开关选项,可供用户选择开启或关闭指纹匹配优化功能。
可选地,所述方法还包括:显示第一界面,所述第一界面包括第一选项,所述第一选项用于选择开启或关闭指纹匹配优化功能。
第一界面是指纹设置界面。可以理解,本申请实施例对如何进入第一界面不作具体限定。比如,可以通过设置应用程序进入指纹设置界面。又比如,也可以通过关于指纹的应用程序进入指纹设置界面。
示例性地,可以在指纹设置界面中增加指纹匹配优化的开关选项(对应第一选项)。
图12是本申请实施例的一个界面示例图。如图12中(1)所示,用户点击设置1201,进入设置界面,比如图12中(2)所示的界面。可以理解,图12中(1)所示的界面中还可以包含其他应用程序的图标,比如,应用1至应用7。
如图12中(2)所示,界面中包括生物设备和密码控件1202。可以理解,图12中(2)所示的界面中还可以包含其他设置功能。比如,图12中(2)示出的应用设置、电池设置、存储设置、隐私设置等。
应理解,图12中(2)所示的设置选项只是部分设置功能的示例,本申请实施例并不限于此。还应理解,图12中(2)还示出了搜索设置项栏,用户可以在搜索设置项栏中快速搜索功能设置。
当用户点击生物设备和密码控件1202时,进入图12中(3)所示的界面。如图12中(3)所示,界面中包括指纹设置控件1203。
可选地,除了指纹设置控件1203外,图12中(3)还可以包括人脸识别设置控件,锁屏密码的管理控件(包括更改锁屏密码和关闭锁屏密码),以及安全锁定设置控件,智能解锁控件。应理解,图12中(3)示出的生物识别和密码选项只是示例性说明,本申请实施例并不限于此。
当用户点击指纹设置控件1203后,界面显示如图12中(4)所示。如图12中(4)所示,界面中包括指纹匹配优化选项1204。用户可以点击指纹匹配优化选项1204,以实现开启或关闭指纹匹配优化功能。比如,图12中(4)示出的指纹匹配优化选项1204是开启状态。
可选地,除了指纹匹配优化选项1204,图12中(4)还可以包括指纹管理的其他控件。比如,图12中(4)中示出了指纹用途选项,包括:指纹用于解锁设备的选项、指纹用于访问应用锁的选项、指纹用于自动填充账户和密码的选项、指纹用于钱包快捷付款的选项。又比如,图12中(4)中示出了指纹列表管理选项,包括指纹1的管理控件、指纹2的管理控件、新建指纹选项、识别指纹选项。
应理解,图12中的应用场景仅仅是为了便于本领域技术人员理解,并非要将本申请实施例限于例示的具体场景。
上文结合图1至图12,详细描述了本申请实施例提供的指纹识别方法。下面将结合图13详细描述本申请的装置实施例。应理解,本申请实施例的指纹识别装置可以执行前述本申请实施例的各种指纹识别的方法,即以下各种产品的具体工作过程,可以参考前述方法实施例中的对应过程。
图13是本申请实施例的指纹识别装置1300的示意性框图。应理解,装置1300可以执行图4至图12所示的指纹识别的方法。
如图13所示,该指纹识别的装置1300包括:采集单元1310,处理单元1320,匹配单元1330。可选地,装置1300还包括显示单元1340。在一种可能的示例中,装置1300可以是终端设备。
在一个示例中,所述采集单元1301用于采集第一指纹图像;
所述处理单元1320用于获取所述第一指纹图像的L个关键点的特征,L为大于或等于2的整数;
所述处理单元1320还用于基于所述第一指纹图像的L个关键点以及第一指纹模板的L个关键点,确定G对关键点,其中,每对关键点是指第一指纹图像的关键点与第一指纹模板的关键点进行匹配时组成的点对,所述每对关键点对应的第一距离参数小于第一距离阈值,所述第一距离参数用于表征第一指纹图像的关键点到第一指纹模板的关键点的距离,所述第一指纹模板的L个关键点的特征存储于指纹模板库中,G为小于或等于L的整数;
所述处理单元1320还用于基于所述每对关键点的第一距离参数,对所述G对关键点进行排序;
所述处理单元1320还用于从排序后的G对关键点中确定N对关键点,N为小于或等于G的整数;
所述处理单元1320还用于利用所述N对关键点确定第一旋转矩阵,所述第一旋转矩阵包括平移参数和角度参数,其中,所述角度参数用于表征所述第一指纹图像旋转到所述第一指纹模板的角度,所述平移参数用于表征所述第一指纹图像平移到所述第一指纹模板的距离;
所述处理单元1320还用于获取第二指纹图像,所述第二指纹图像是基于所述第一旋转矩阵对所述第一指纹图像进行旋转得到的,所述第二指纹图像与所述第一指纹模板在同一方向;
所述匹配单元1330用于利用所述第二指纹图像与所述第一指纹模板进行相似度匹配。
可选地,作为一种实施例,所述处理单元1320还用于在所述获取第二指纹图像前,基于所述角度参数和所述平移参数判断所述第一旋转矩阵是否有效;
在所述第一旋转矩阵无效时,利用所述N对关键点重新确定第一旋转矩阵;
在所述第一旋转矩阵有效时,获取所述第二指纹图像。
可选地,作为一种实施例,所述平移参数包括水平方向平移参数和竖直方向平移参数;所述处理单元1320用于基于所述角度参数和所述平移参数判断所述第一旋转矩阵是否有效,具体包括:
确定所述水平方向平移参数是否小于第一平移阈值,或者,所述竖直方向平移参数是否小于第二平移阈值;
确定三角函数值是否大于角度阈值,所述三角函数值是基于所述角度参数确定的;
在所述水平方向平移参数小于第一平移阈值且所述三角函数值大于角度阈值时,或者,在所述竖直方向平移参数小于第二平移阈值且所述三角函数值大于角度阈值时,确定是否存在H对关键点对应的第一距离参数均小于第二距离阈值,其中,H大于第一数量,H为小于或等于N的整数;
在存在H对关键点对应的第二距离参数均小于第二距离阈值时,确定第一方差是否大于第一方差阈值,或者,第二方差是否大于第二方差阈值;
在所述第一方差大于所述第一方差阈值,或者,所述第二方差是否大于所述第二方差阈值时,确定所述第一旋转矩阵有效;
在所述第一方差不大于所述第一方差阈值,且所述第二方差不大于所述第二方差阈值时,确定所述第一旋转矩阵无效。
可选地,作为一种实施例,所述处理单元1320用于基于所述每对关键点的第一距离参数,对所述G对关键点进行排序,具体包括:
按照第一距离参数的取值由小到大的次序对所述G对关键点进行排序;
其中,所述N对关键点是排序后的G对关键点中的前N对关键点。
可选地,作为一种实施例,所述匹配单元1330用于利用所述第二指纹图像与所述第一指纹模板进行相似度比较,具体包括:
依次遍历第二指纹图像的关键点以及第一指纹模板的关键点;
判断黑色相似度参数是否大于第一阈值,所述黑色相似度参数用于表征所述第二指纹图像与所述第一指纹模板对应的像素点同为黑色的数量;
判断白色相似度参数是否大于第二阈值,所述白色相似度参数用于表征所述第二指纹图像与所述第一指纹模板对应的像素点同为白色的数量;
在所述黑色相似度参数大于第一阈值,且,所述白色相似度参数大于第二阈值时,确定匹配成功。
可选地,作为一种实施例,所述匹配单元1330用于利用所述第二指纹图像与所述第一指纹模板进行相似度匹配,具体包括:
确定第二距离参数,所述第二距离参数用于表征所述第二指纹图像的关键点到所述第一指纹模板的关键点的距离;
判断是否存在M对关键点对应的第二距离参数均小于第三距离阈值,其中,M大于第二数量;
在存在M对关键点对应的第二距离参数均小于第三距离阈值时,确定匹配成功。
可选地,作为一种实施例,所述处理单元1320还用于:
在所述第二指纹图像与所述第一指纹模板的匹配不成功时,利用所述第一指纹图像与指纹模板库中的第二指纹模板进行匹配,其中,所述第二指纹模板的L个关键点的特征存储于指纹模板库中。
可选地,作为一种实施例,所述第一指纹模板的L个关键点的特征是基于以下方式获得的:
采集第三指纹图像;
对所述第三指纹图像进行预处理,得到预处理后的指纹图像;
基于所述预处理后的指纹图像提取所述第一指纹模板的L个关键点的特征。
可选地,作为一种实施例,所述显示单元1340用于:
显示第一界面,所述第一界面包括第一选项,所述第一选项用于选择开启或关闭指纹匹配优化功能。
在一种可能的示例中,处理单元1320和匹配单元1330可以通过处理器或处理单元实现。显示单元1340可以通过屏幕实现。应理解,上述装置1300以功能单元的形式体现。这里的术语“单元”可以通过软件和/或硬件的形式实现,本申请实施例对此不作具体限定。
例如,“单元”可以是实现上述功能的软件程序、硬件电路或者二者结合。所述硬件电路可能包括(applicationspecificintegratedcircuit,ASIC)应用特定集成电路、电子电路、执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、集成逻辑电路,和/或其他可以提供上述功能的合适器件。在一个简单的实施例中,本领域的技术人员可以想到装置1300可以采用图2所示的形式。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请还提供了一种计算机程序产品,该计算机程序产品被处理器执行时实现本申请中任一方法实施例所述的方法。
该计算机程序产品可以存储在存储器中,经过预处理、编译、汇编和链接等处理过程最终被转换为能够被处理器执行的可执行目标文件。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机执行时实现本申请中任一方法实施例所述的方法。该计算机程序可以是高级语言程序,也可以是可执行目标程序。
该计算机可读存储介质可以是易失性存储器或非易失性存储器,或者,可以同时包括易失性存储器和非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(dynamic RAM,DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等各种可以存储程序代码的介质。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常被可互换使用。本文中的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。例如,A/B可以表示A或B。
本申请实施例中出现的术语(或者说编号)“第一”、“第二”、…等,仅用于描述目的,即只是为了区分不同的对象,比如,不同的“指纹图像”等,并不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、…等的特征可以明示或者隐含地包括一个或者更多个特征。在本申请实施例的描述中,“至少一个(项)”是指一个或多个。“多个”的含义是两个或两个以上。“以下至少一个(项)”或其类似表达,是指这些项中的任意组合,包括单个(项)或复数个(项)的任意组合。
例如,本申请实施例中出现的类似于“项目包括如下中至少一种:A,B,以及C”表述的含义,如无特别说明,通常是指该项目可以为如下中任一个:A;B;C;A和B;A和C;B和C;A,B和C;A和A;A,A和A;A,A和B;A,A和C,A,B和B;A,C和C;B和B,B,B和B,B,B和C,C和C;C,C和C,以及其他A,B和C的组合。以上是以A,B和C共3个元素进行举例来说明该项目的可选用条目,当表达为“项目包括如下中至少一种:A,B,……,以及X”时,即表达中具有更多元素时,那么该项目可以适用的条目也可以按照前述规则获得。
总之,以上所述仅为本申请技术方案的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (12)

1.一种指纹识别的方法,其特征在于,所述方法应用于电子设备,所述方法包括:
采集第一指纹图像;
获取所述第一指纹图像的L个关键点的特征,L为大于或等于2的整数;
基于所述第一指纹图像的L个关键点以及第一指纹模板的L个关键点,确定G对关键点,其中,每一对关键点是第一指纹图像的关键点与第一指纹模板的关键点进行匹配时组成的,所述每一对关键点对应的第一距离参数小于第一距离阈值,所述第一距离参数用于表征第一指纹图像的关键点到第一指纹模板的关键点的距离,所述第一指纹模板的L个关键点的特征存储于指纹模板库中,G为小于或等于L的整数;
基于所述每一对关键点对应的第一距离参数,对所述G对关键点进行排序;
从排序后的G对关键点中确定N对关键点,N为小于或等于G的整数;
利用所述N对关键点确定第一旋转矩阵,所述第一旋转矩阵包括平移参数和角度参数,其中,所述角度参数用于表征所述第一指纹图像旋转到所述第一指纹模板的角度,所述平移参数用于表征所述第一指纹图像平移到所述第一指纹模板的距离;
获取第二指纹图像,所述第二指纹图像是基于所述第一旋转矩阵对所述第一指纹图像进行旋转得到的,所述第二指纹图像与所述第一指纹模板在同一方向;
利用所述第二指纹图像与所述第一指纹模板进行相似度匹配。
2.根据权利要求1所述的方法,其特征在于,在所述获取第二指纹图像前,所述方法还包括:
基于所述角度参数和所述平移参数判断所述第一旋转矩阵是否有效;
在所述第一旋转矩阵无效时,利用所述N对关键点重新确定第一旋转矩阵;
其中,所述获取第二指纹图像,包括:
在所述第一旋转矩阵有效时,获取所述第二指纹图像。
3.根据权利要求2所述的方法,其特征在于,所述平移参数包括水平方向平移参数和竖直方向平移参数;所述基于所述角度参数和所述平移参数判断所述第一旋转矩阵是否有效,包括:
确定所述水平方向平移参数是否小于第一平移阈值,或者,所述竖直方向平移参数是否小于第二平移阈值;
确定三角函数值是否大于角度阈值,所述三角函数值是基于所述角度参数确定的;
在所述水平方向平移参数小于第一平移阈值且所述三角函数值大于角度阈值时,或者,在所述竖直方向平移参数小于第二平移阈值且所述三角函数值大于角度阈值时,确定是否存在H对关键点对应的第一距离参数均小于第二距离阈值,其中,H大于第一数量,H为小于或等于N的整数;
在存在H对关键点对应的第二距离参数均小于第二距离阈值时,确定第一方差是否大于第一方差阈值,或者,第二方差是否大于第二方差阈值;
在所述第一方差大于所述第一方差阈值,或者,所述第二方差是否大于所述第二方差阈值时,确定所述第一旋转矩阵有效;
在所述第一方差不大于所述第一方差阈值,且所述第二方差不大于所述第二方差阈值时,确定所述第一旋转矩阵无效。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述基于所述每一对关键点的第一距离参数,对所述G对关键点进行排序,包括:
按照第一距离参数的取值由小到大的次序对所述G对关键点进行排序;
其中,所述N对关键点是排序后的G对关键点中的前N对关键点。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述利用所述第二指纹图像与所述第一指纹模板进行相似度比较,包括:
依次遍历第二指纹图像的关键点以及第一指纹模板的关键点;
判断黑色相似度参数是否大于第一阈值,所述黑色相似度参数用于表征所述第二指纹图像与所述第一指纹模板对应的像素点同为黑色的数量;
判断白色相似度参数是否大于第二阈值,所述白色相似度参数用于表征所述第二指纹图像与所述第一指纹模板对应的像素点同为白色的数量;
在所述黑色相似度参数大于第一阈值,且,所述白色相似度参数大于第二阈值时,确定匹配成功。
6.根据权利要求1至4中任一项所述的方法,其特征在于,所述利用所述第二指纹图像与所述第一指纹模板进行相似度匹配,包括:
确定第二距离参数,所述第二距离参数用于表征所述第二指纹图像的关键点到所述第一指纹模板的关键点的距离;
判断是否存在M对关键点对应的第二距离参数均小于第三距离阈值,其中,M大于第二数量;
在存在M对关键点对应的第二距离参数均小于第三距离阈值时,确定匹配成功。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:
在所述第二指纹图像与所述第一指纹模板的匹配不成功时,利用所述第一指纹图像与指纹模板库中的第二指纹模板进行匹配,其中,所述第二指纹模板的L个关键点的特征存储于指纹模板库中。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述第一指纹模板的L个关键点的特征是基于以下方式获得的:
采集第三指纹图像;
对所述第三指纹图像进行预处理,得到预处理后的指纹图像;
基于所述预处理后的指纹图像提取所述第一指纹模板的L个关键点的特征。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述方法还包括:
显示第一界面,所述第一界面包括第一选项,所述第一选项用于选择开启或关闭指纹匹配优化功能。
10.一种电子设备,其特征在于,包括处理器和存储器,所述处理器和所述存储器耦合,所述存储器用于存储计算机程序,当所述计算机程序被所述处理器执行时,使得所述电子设备执行权利要求1至9中任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得所述处理器执行权利要求1至9中任一项所述的方法。
12.一种芯片,其特征在于,包括处理器,当所述处理器执行指令时,所述处理器执行如权利要求1至9中任一项所述的方法。
CN202210994178.7A 2022-08-18 2022-08-18 指纹识别的方法和装置 Active CN116311395B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210994178.7A CN116311395B (zh) 2022-08-18 2022-08-18 指纹识别的方法和装置
PCT/CN2023/092336 WO2024037057A1 (zh) 2022-08-18 2023-05-05 指纹识别的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210994178.7A CN116311395B (zh) 2022-08-18 2022-08-18 指纹识别的方法和装置

Publications (2)

Publication Number Publication Date
CN116311395A true CN116311395A (zh) 2023-06-23
CN116311395B CN116311395B (zh) 2023-11-14

Family

ID=86796444

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210994178.7A Active CN116311395B (zh) 2022-08-18 2022-08-18 指纹识别的方法和装置

Country Status (2)

Country Link
CN (1) CN116311395B (zh)
WO (1) WO2024037057A1 (zh)

Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564186A (zh) * 2004-04-18 2005-01-12 杭州中正生物认证技术有限公司 基于全局脊线的指纹识别方法
CN101329727A (zh) * 2008-06-27 2008-12-24 哈尔滨工业大学 点线结合的指纹识别方法
CN101751555A (zh) * 2009-09-25 2010-06-23 中国科学院自动化研究所 一种形变指纹识别方法及系统
CN101777130A (zh) * 2010-01-22 2010-07-14 北京大学 一种指纹图像相似度评价方法
CN102819729A (zh) * 2012-07-17 2012-12-12 内江师范学院 一种指纹识别方法
US20130051607A1 (en) * 2011-08-29 2013-02-28 Dst Technologies, Inc. Candidate Identification by Image Fingerprinting and Model Matching
CN104820983A (zh) * 2015-04-23 2015-08-05 清华大学 一种图像匹配方法
CN105335731A (zh) * 2015-11-13 2016-02-17 广东欧珀移动通信有限公司 指纹识别方法、装置及终端设备
CN105868597A (zh) * 2016-05-31 2016-08-17 广东欧珀移动通信有限公司 一种指纹解锁方法及移动终端
CN106056037A (zh) * 2015-04-15 2016-10-26 三星电子株式会社 用于识别指纹的方法和设备
CN107609375A (zh) * 2016-05-30 2018-01-19 广东欧珀移动通信有限公司 解锁控制方法及相关产品
CN107748877A (zh) * 2017-11-10 2018-03-02 杭州晟元数据安全技术股份有限公司 一种基于细节点和纹理特征的指纹图像识别方法
CN109740633A (zh) * 2018-12-10 2019-05-10 厦门市美亚柏科信息股份有限公司 一种图像相似度计算方法、装置、存储介质
CN109934180A (zh) * 2019-03-18 2019-06-25 Oppo广东移动通信有限公司 指纹识别方法及相关装置
CN110555348A (zh) * 2018-06-01 2019-12-10 中兴通讯股份有限公司 一种指纹识别方法、设备及计算机可读存储介质
CN110610132A (zh) * 2019-08-08 2019-12-24 阿里巴巴集团控股有限公司 指纹图像模板生成方法及系统、指纹识别方法及系统
CN112507987A (zh) * 2021-02-03 2021-03-16 深圳阜时科技有限公司 指纹识别方法、存储介质及计算机设备
CN112560818A (zh) * 2021-02-22 2021-03-26 深圳阜时科技有限公司 应用于窄条形指纹传感器的指纹识别方法及存储介质
CN114495180A (zh) * 2022-01-28 2022-05-13 敦泰电子(深圳)有限公司 一种指纹匹配方法、芯片及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262730B (zh) * 2011-08-15 2012-10-03 山东志华信息科技股份有限公司 一种基于多参考点对的指纹匹配方法
US11373439B1 (en) * 2013-03-14 2022-06-28 Telos Corporation Touchless fingerprint matching systems and methods
CN105205439B (zh) * 2015-02-13 2017-05-03 比亚迪股份有限公司 指纹重叠区域面积的计算方法及电子装置
CN113033257B (zh) * 2019-12-24 2023-08-18 杭州海康威视数字技术股份有限公司 指纹识别方法、装置、电子设备及可读存储介质
CN113496183B (zh) * 2020-04-08 2023-02-03 上海耕岩智能科技有限公司 指纹匹配方法、装置、电子设备及可读存储介质

Patent Citations (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1564186A (zh) * 2004-04-18 2005-01-12 杭州中正生物认证技术有限公司 基于全局脊线的指纹识别方法
CN101329727A (zh) * 2008-06-27 2008-12-24 哈尔滨工业大学 点线结合的指纹识别方法
CN101751555A (zh) * 2009-09-25 2010-06-23 中国科学院自动化研究所 一种形变指纹识别方法及系统
CN101777130A (zh) * 2010-01-22 2010-07-14 北京大学 一种指纹图像相似度评价方法
US20130051607A1 (en) * 2011-08-29 2013-02-28 Dst Technologies, Inc. Candidate Identification by Image Fingerprinting and Model Matching
CN102819729A (zh) * 2012-07-17 2012-12-12 内江师范学院 一种指纹识别方法
CN106056037A (zh) * 2015-04-15 2016-10-26 三星电子株式会社 用于识别指纹的方法和设备
CN104820983A (zh) * 2015-04-23 2015-08-05 清华大学 一种图像匹配方法
CN105335731A (zh) * 2015-11-13 2016-02-17 广东欧珀移动通信有限公司 指纹识别方法、装置及终端设备
CN107609375A (zh) * 2016-05-30 2018-01-19 广东欧珀移动通信有限公司 解锁控制方法及相关产品
CN105868597A (zh) * 2016-05-31 2016-08-17 广东欧珀移动通信有限公司 一种指纹解锁方法及移动终端
CN107748877A (zh) * 2017-11-10 2018-03-02 杭州晟元数据安全技术股份有限公司 一种基于细节点和纹理特征的指纹图像识别方法
CN110555348A (zh) * 2018-06-01 2019-12-10 中兴通讯股份有限公司 一种指纹识别方法、设备及计算机可读存储介质
CN109740633A (zh) * 2018-12-10 2019-05-10 厦门市美亚柏科信息股份有限公司 一种图像相似度计算方法、装置、存储介质
CN109934180A (zh) * 2019-03-18 2019-06-25 Oppo广东移动通信有限公司 指纹识别方法及相关装置
CN110610132A (zh) * 2019-08-08 2019-12-24 阿里巴巴集团控股有限公司 指纹图像模板生成方法及系统、指纹识别方法及系统
CN112507987A (zh) * 2021-02-03 2021-03-16 深圳阜时科技有限公司 指纹识别方法、存储介质及计算机设备
CN112560818A (zh) * 2021-02-22 2021-03-26 深圳阜时科技有限公司 应用于窄条形指纹传感器的指纹识别方法及存储介质
CN114495180A (zh) * 2022-01-28 2022-05-13 敦泰电子(深圳)有限公司 一种指纹匹配方法、芯片及设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ANIL K. JAIN 等: "On Matching Latent Fingerprints", 《2008 IEEE COMPUTER SOCIETY CONFERENCE ON COMPUTER VISION AND PATTERN RCOGNITION WORKSHOPS》, pages 1 - 8 *
HONG HAI LE 等: "Speeding up and enhancing a large-scale fingerprint identification system on GPU", 《JOURNAL OF INFORMATION AND TELECOMMUNICATION》, pages 1 - 16 *
付翔 等: "一种基于细节点全局置信度的指纹匹配算法", 《模式识别与人工智能》, vol. 27, no. 9, pages 835 - 840 *
杨栋 等: "基于多级结构相似度的快速指纹匹配算法", 《山东大学学报(工学版)》, vol. 40, no. 2, pages 11 - 18 *

Also Published As

Publication number Publication date
CN116311395B (zh) 2023-11-14
WO2024037057A1 (zh) 2024-02-22

Similar Documents

Publication Publication Date Title
KR102324706B1 (ko) 얼굴인식 잠금해제 방법 및 장치, 기기, 매체
CN116311388B (zh) 指纹识别的方法和装置
CN107169458B (zh) 数据处理方法、装置及存储介质
CN111626163B (zh) 一种人脸活体检测方法、装置及计算机设备
KR20150059466A (ko) 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치
US20210271857A1 (en) Method and apparatus for identity verification, electronic device, computer program, and storage medium
CN110991231B (zh) 活体检测方法、装置、服务器和人脸识别设备
CN112651333B (zh) 静默活体检测方法、装置、终端设备和存储介质
CN112036331A (zh) 活体检测模型的训练方法、装置、设备及存储介质
CN112163428A (zh) 语义标签的获取方法、装置、节点设备及存储介质
CN113591517A (zh) 一种活体检测方法及相关设备
CN116048244B (zh) 一种注视点估计方法及相关设备
CN116152122B (zh) 图像处理方法和电子设备
CN112580472A (zh) 一种快速轻量的人脸识别方法、装置、机器可读介质及设备
CN112818979A (zh) 文本识别方法、装置、设备及存储介质
Meena et al. Image splicing forgery detection techniques: A review
CN116311389B (zh) 指纹识别的方法和装置
KR102303206B1 (ko) 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치
CN116311395B (zh) 指纹识别的方法和装置
CN115580690B (zh) 图像处理的方法和电子设备
CN114943976B (zh) 模型生成的方法、装置、电子设备和存储介质
CN115880347B (zh) 图像处理方法、电子设备、存储介质及程序产品
CN116311396B (zh) 用于指纹识别的方法和装置
CN109242489B (zh) 认证方式选择方法和装置
CN115083424A (zh) 人物分析系统、方法及相关装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant