Source: https://patents.google.com/patent/JP2018508888A/en
Timestamp: 2020-01-24 02:06:37
Document Index: 607224350

Matched Legal Cases: ['application No. 14', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62']

JP2018508888A - System and method for performing fingerprint-based user authentication using an image captured using a mobile device - Google Patents
System and method for performing fingerprint-based user authentication using an image captured using a mobile device Download PDF
JP2018508888A
JP2018508888A JP2017541680A JP2017541680A JP2018508888A JP 2018508888 A JP2018508888 A JP 2018508888A JP 2017541680 A JP2017541680 A JP 2017541680A JP 2017541680 A JP2017541680 A JP 2017541680A JP 2018508888 A JP2018508888 A JP 2018508888A
JP2017541680A
JP2018508888A5 (en
メイザー，ジョナサン，フランシス
オスマン，アセム
タイソン，リチャード
シンプソン，アンドリュー
ヴェリディウム アイピー リミテッド
2015-02-06 Priority to US201562112961P priority Critical
2015-02-06 Priority to US62/112,961 priority
2015-08-06 Priority to US14/819,639 priority patent/US9361507B1/en
2015-08-06 Priority to US14/819,639 priority
2016-01-06 Priority to US14/988,833 priority
2016-01-06 Priority to US14/988,833 priority patent/US9424458B1/en
2016-01-29 Application filed by ヴェリディウム アイピー リミテッド, ヴェリディウム アイピー リミテッド filed Critical ヴェリディウム アイピー リミテッド
2016-01-29 Priority to PCT/IB2016/000569 priority patent/WO2016125030A2/en
2018-03-29 Publication of JP2018508888A publication Critical patent/JP2018508888A/en
2019-03-14 Publication of JP2018508888A5 publication Critical patent/JP2018508888A5/ja
2019-09-13 First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=56564833&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2018508888(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Techniques for supporting systems and methods for performing fingerprint recognition are presented herein. Embodiments of the present invention relate to a system and method for capturing a user's biometric features and generating an identifier representing the user's biometric features using a mobile device such as a smartphone. The biometric identifier is generated using images captured in the user's multiple fingers to authenticate / identify the user according to the captured biometric and determine the user's viability. The The present disclosure also describes additional techniques for preventing misauthentication caused by spoofing. In some examples, the anti-spoofing technique can include capturing one or more images of the user's finger and analyzing the captured images for signs of viability. [Selection] Figure 1
CROSS REFERENCE TO RELATED APPLICATIONS This application is a US non-provisional patent application No. 14 / 819,639 filed Aug. 6, 2015 entitled "SYSTEMS AND METHODS FOR PERFORMING FINGERPRINT BASED USER AUTHENTICATION USING IMAGERY CAPTURED USING MOBILE DEVICES". US Provisional Patent Application No. 62 / 112,961, filed February 6, 2015, entitled “SYSTEMS AND METHODS FOR PERFORMING FINGERPRINT BASED USER AUTHENTICATION USING IMAGERY CAPTURED USING MOBILE DEVICES”. The contents of which are hereby incorporated by reference as if fully claimed and claimed in their entirety.
The present invention relates to systems and methods for capturing and characterizing biometric features, in particular, capturing biometric features using an image of a finger captured by an embedded camera of a mobile device such as a smartphone, It relates to a system and method for characterizing.
Biometric technology can be used as an additional verification element because it is a biological characteristic of an individual (eg fingerprint, hand geometry, retinal pattern, iris texture, etc.) Because it is usually more difficult to obtain than other non-biometric certificates. Biometrics can be used for identification and / or authentication (also called identity assertion and / or verification).
Biometric identity assertions can require a specific level of security as directed by the application. For example, authentication associated with financial transactions or access to a secure location requires a higher level of security. As a result, the accuracy of the user's biometric representation is preferably sufficient to ensure that the user is correctly authenticated and to maintain security.
In addition, missing, exchanged, confused and illegal adoption of newborns is a global challenge, and the use of automated biometric systems can transform newborns into their faces, irises, fingerprints, footprints and / or palm prints. Proposed to identify based.
However, to the extent that iris, face, finger and voice identity assertion systems exist and provide the required level of accuracy, such systems require specialized equipment and applications, and camera resolution and lighting capabilities It is not easily implemented in the limited conventional smartphone.
Electronic fingerprint sensors have already been added to smartphone devices, such as the iPhone 6 by Apple Inc. in Cupertino, California, and the Samsung S5 smartphone by Samsung in Korea. In these devices, the user registers his / her fingerprint data by placing his / her finger on the sensor, and at a later date the user verifies his / her identity by placing his / her finger again on the sensor. The fingerprint data is compared with the enrollment data, and if it matches, the identity of the user is verified. If the fingerprints do not match, the user can be identified as a spoofer. The disadvantage of these systems is that the fingerprint sensor adds size, weight and cost to the device. Furthermore, for these reasons, it is advantageous to minimize the size of the fingerprint sensor, and such a fingerprint sensor typically captures only a portion of the fingerprint, which reduces the effectiveness of identification. The smaller the area of capture for the fingerprint sensor, the more likely that another finger will coincide, and there is a greater chance that some error in the fingerprint data will cause a genuine user to refuse to authenticate.
Furthermore, capturing a newborn's fingerprint using a conventional fingerprint sensor can be difficult due to the size of the finger and the difficulty of holding the newborn's hand and placing it on the sensor.
In practical conditions, this means that there is an adverse effect of denying the user (that is, adults and newborns), and the use of the sensor is limited to non-critical use such as small payments. The fingerprint sensor can also be the target of a spoofing attack, for example, a real user's fingerprint template can be placed on the fingerprint sensor and an impersonator can pass the authentication. This is an additional reason to limit use to non-critical applications.
A further challenge is the limited number of mobile devices with fingerprint sensors, which limits the number of people who can access the fingerprint authentication system, and the authentication method mismatch between the devices. It means that occurs.
Systems have been proposed for analyzing images of a single finger using a mobile device camera, and these systems are potentially more convenient, however, imaging a single finger. The lowest false positive and false rejection rates for such systems to analyze are still sufficient for applications requiring higher security, such as medium to high priced purchases and enterprise systems (ie large systems) It is not reliable.
Thus, there is a need for a more reliable and universal finger recognition system.
Techniques for supporting systems and methods for performing fingerprint recognition are presented herein.
According to a first aspect, a method for performing fingerprint recognition is provided. The method captures one or more images representing a plurality of fingers of interest by a mobile device having a camera, a storage medium, instructions stored on the storage medium, and a processor configured by executing the instructions Includes steps. The method also includes detecting a plurality of fingers represented in one of the images using a finger detection algorithm. The method also includes identifying each fingertip segment for each finger in the plurality of fingers from one or more of the images according to the segmentation algorithm. In addition, the method extracts identifiable features for each identified finger, generates a biometric identifier based on the extracted identifiable features, and stores the biometric identifier in memory. including.
These and other aspects, features and advantages can be understood from the accompanying description of specific embodiments of the invention and the accompanying drawings and claims.
FIG. 1 is a high-level diagram of a computer system for authenticating a user according to the user's biometric characteristics according to at least one embodiment disclosed herein. FIG. 2A is a block diagram of a computer system for authenticating a user according to the user's biometric characteristics according to at least one embodiment disclosed herein. FIG. 2B is a block diagram of a software module for authenticating a user according to the user's biometric characteristics according to at least one embodiment disclosed herein. FIG. 2C is a block diagram of a computer system for authenticating a user according to the user's biometric characteristics according to at least one embodiment disclosed herein. FIG. 3 is a flow diagram illustrating a routine for generating a biometric identifier and registering or authenticating a user according to the user's biometric characteristics according to at least one disclosed embodiment. FIG. 4A is a flow diagram illustrating a routine for detecting a finger from a visual image and a corresponding image according to at least one embodiment disclosed herein. FIG. 4B is a flow diagram illustrating a routine for filtering fingertip regions detected in a visual image according to at least one embodiment disclosed herein. FIG. 4C represents a captured and generated image according to the routine for filtering the fingertip region of FIG. 4B. FIG. 5A is a flow diagram illustrating a routine for detecting viability from a visual image of a finger according to at least one embodiment disclosed herein. FIG. 5B is a series of images captured according to a routine for detecting viability from a visual image of a finger. FIG. 5C is a series of images captured according to a routine for detecting viability from a visual image of a finger. FIG. 6A represents a captured image of a finger and a corresponding ridge reflectance image generated in accordance with at least one embodiment disclosed herein. FIG. 6B represents a captured image of a finger and a corresponding ridge reflectance image generated in accordance with at least one embodiment disclosed herein. FIG. 6C depicts a captured image of a finger and a corresponding ridge reflectance image generated in accordance with at least one embodiment disclosed herein. FIG. 6D represents a captured image of a finger and a corresponding ridge reflectance image generated in accordance with at least one embodiment disclosed herein. FIG. 6E depicts a captured image of a finger and a corresponding ridge reflectance image generated in accordance with at least one embodiment disclosed herein. FIG. 6F represents a captured image of a finger and a corresponding ridge reflectance image generated in accordance with at least one embodiment disclosed herein.
The present invention relates to a system and method for capturing a user's biometric feature and generating an identifier characterizing the user's biometric feature using a mobile device such as a smartphone, by way of example only and for overview and introduction purposes. Embodiments of are described below. The biometric identifier is preferably generated using images captured for the user's multiple fingers to authenticate / identify the user according to the captured biometric and determine the user's viability. The present disclosure also describes additional techniques for preventing misauthentication caused by spoofing. In some examples, the anti-spoofing technique can include capturing one or more images of the user's biometrics and analyzing the captured images for signs of viability.
In some implementations, the system includes a cloud-based system server platform that communicates with devices such as stationary PCs, servers and users operated laptops, tablets and smartphones. When a user attempts to access an access-controlled networked environment, such as a website that requires secure login, the user is prompted to authenticate using the user's pre-registered mobile device. It is. Authentication uses a mobile device to capture biometric information, at least in the form of an image of a user's finger, extract unique features, and extract those features into a biometric that represents the user's biometric features and / or viability. Encoding as a metric identifier can include verifying the identity of the user and / or verifying that the user is alive (eg, determining viability). Thus, user identity and / or survivability can be determined by analyzing an image, generated biometric identifier, and / or image and / or biometric by a mobile device and / or system server or a combination of the foregoing. The identifier can be verified by comparing it to a biometric identifier generated during registration of the user with the first system.
According to one aspect of the present application, the disclosed embodiments provide a reliability of user identification / authentication using finger-based biometric recognition on mobile devices that is universal and convenient to use. Provides a high means. The disclosed embodiments perform four finger-based recognition using a camera that is typically present in mobile devices, so that no additional size, cost or weight occurs in the design, and Can be used everywhere. A further purpose of the system is to provide protection against spoofing attacks.
The present invention captures biometric information from multiple fingers simultaneously and captures a large fingerprint area from each finger. Furthermore, the present invention can also be used to take pattern information from other areas of the hand, including palm prints and handprints, further increasing system reliability. Also, for neonatal identification, the present invention can be used to capture toes. Furthermore, the proposed innovation can be combined with existing mobile face recognition systems. As a non-limiting example, exemplary systems and methods for biometrics-based user authentication from facial feature images are assigned to the present specification and co-pending, assignee of the present application. In US patent application Ser. No. 14 / 668,352, filed on May 13, 2015, entitled “SYSTEM AND METHOD FOR AUTHORIZING ACCESS TO ACCESS CONTROLLED ENVIRONMENTS”, which is described in “SYSTEM AND METHOD FOR AUTHORIZING”. US Patent No. 9 / 003,196, filed May 13, 2014, entitled "ACCESS TO ACCESS CONTROLLED ENVIRONMENTS", and filed March 7, 2014, entitled "SYSTEMS AND METHODS FOR BIOMETRIC AUTHENTICATION OF TRANSACTIONS" U.S. Pat. No. 9,208,492, each of which is incorporated herein by reference in its entirety as described herein. And things. Furthermore, the present invention resides in a mobile device to generate a fingerprint image that corresponds to an acquired finger photo and that can be matched to the rotated and normal fingerprint images used in an Integrated Automated Fingerprint Identification System (IAFIS). Can be used to process a photograph of a finger taken with a camera. IAFIS is a national automatic fingerprint identification and criminal history system maintained by the US Federal Bureau of Investigation (FBI). IAFIS provides automated “fingerprint” search functionality, latent fingerprint search functionality, electronic image storage, and electronic exchange of fingerprints and responses.
The disclosed embodiments can be referred to as a multi-mode biometric authentication system. Thus, the presence of multiple, independent pieces of biometrics (ie, 4-10 fingers) is a single finger mobile recognition using either a finger image or a fingerprint that is captured by an embedded sensor on a smartphone. Provides the following advantages over the system:
1. Performance: A combination of uncorrelated modalities (eg, 4 fingers of a person and 10 fingers of a newborn) can result in better performance improvements than a single finger recognition system. This accuracy improvement occurs for two reasons. First, the fusion of biometric evidence from different fingers increases the effectively distinguishable features and reduces duplication with different user features. In other words, the combination of a plurality of fingers is more discriminating for an individual than a single finger. Second, noise (caused by factors such as dust or ink bleed) and inaccuracy during acquisition of a subset of fingers can be addressed by the information provided by the remaining fingers.
2. Universality: Resolve the problem of lack of universality and reduce failure to register errors. For example, because of a severed finger, finger cut, damaged or worn ridge (ie, a worn ridge can occur physically in one or more fingers of a subject) If a finger cannot be registered, the person can still be identified using another finger.
3. Spoofing attacks: Using the disclosed embodiment, where enrolling multiple fingers of a user is performed increases the resistance of the authentication system to spoofing attacks. This is because it becomes increasingly difficult to skillfully avoid or disguise multiple fingers simultaneously.
An exemplary system for authenticating a user and / or determining a user's viability according to an image of the user's biometric feature 100 is shown as a block diagram in FIG. In one configuration, the system consists of system devices 105 and user devices including mobile devices 101a and user computing devices 101b. System 100 may also include one or more remote computing devices 102.
The system server 105 can actually communicate with user devices and remote computing devices and receive, send and store electronic information to process requests, as further described herein. It can be any computing device and / or data processing device. Similarly, remote computing device 102 may actually communicate with system servers and / or user devices to receive, send and store electronic information, as further described herein. Can be any computing device and / or data processing device capable of processing It should be understood that the system server and / or the remote computing device may be many networked or cloud-based computing devices.
In some implementations, the computing device 102 maintains an enterprise organization, eg, a user account (“corporate account”), provides services to enterprise account owners, and provides user access to the systems and services. Can be associated with a bank or website that requires user authentication before doing so.
User device, mobile device 101a, and user computing device 101b are further configured to communicate with each other system server 105 and / or remote computer 102 as described herein. And send electronic information to and receive electronic information from it. The user device can also be configured to receive user input and capture and process biometric information, eg, digital images and audio recordings of the user 124.
Mobile device 101a can be any mobile computing device and / or data processing apparatus capable of implementing the systems and / or methods described herein, but is not limited to such. , Personal computers, tablet computers, personal digital assistants, mobile electronic devices, mobile phones or smartphone devices. The computing device 101b is intended to represent various forms of computing devices with which a user can interact, including workstations, personal computers, laptop computers, and dedicated point-of-sale (POS) systems. An ATM terminal, an access control device or other suitable digital computer.
As further described herein, system 100 facilitates authentication of user 124 according to the user's biometric characteristics using mobile device 101a. In some implementations, identification or authentication according to the user's biometric characteristics utilizes the user's biometric information in a two-stage process. The first stage is called registration. At the enrollment stage, appropriate biometric specimens (eg, images) are collected from the individual. These specimens of biometrics are analyzed and processed to extract the features (or characteristics) present in each specimen. A set of features present in an imaged individual's biometric constitutes an identifier for that person, authenticates the user, and in some implementations determines whether the user is a living object Can be used to These identifiers are then stored to complete the registration stage. In the second stage, the same biometric of the individual is measured. Features from this biometric are extracted as in the registration stage to obtain the current biometric identifier. If the goal is to determine viability, the features or characteristics can be analyzed to determine whether they represent live objects. Further, as described herein, other features and characteristics of the biometric captured image can be analyzed to determine the organism. If the purpose is identification, this identifier is searched in the database of identifiers generated in the first phase. If a match is found, the individual's identity is revealed, otherwise identification fails. If the purpose is authentication, in the second stage, the generated identifier is compared with the generated identifier in the first stage for a particular person. If a match is found, authentication succeeds, otherwise authentication fails.
While FIG. 1 represents a system for authenticating a user 100 with respect to a mobile device 101a and a user computing device 101b and a remote computing device 102, any number of methods may be used in the manner described herein. Note that it should be understood that such devices can also interact with the system. Also, while FIG. 1 represents a system for authenticating user 100 with respect to user 124, it should be understood that any number of users can interact with the system in the manner described herein. It should be noted.
Various computing devices and machines referred to herein include, but are not limited to, mobile device 101a and system server 105 and remote computing device 102. While referred to as a single device and / or machine, in certain implementations, the referenced devices and machines and their associated and / or attendant operations, features and / or functions are known to those skilled in the art. It should be further understood that, as is known, it can be coupled, arranged or deployed across a number of such devices and / or machines, such as by network or wired connections.
In the context of mobile device 101a (also referred to as a smartphone), the exemplary systems and methods described herein are not particularly limited to mobile devices, and other usable computing It should also be understood that it can be implemented using a device (eg, user computing device 102b).
With reference to FIG. 2A, the mobile device 101a of the system 100 includes various hardware and software components that are responsible for enabling the operation of the system, including one or more processors 110, memory 120, microphones. 125, display 140, camera 145, audio output 155, storage 190, and communication interface 150. The processor 110 is responsible for executing client applications in the form of software instructions that can be loaded into the memory 120. Depending on the particular implementation, processor 110 may be a number of processors, a central processing unit CPU, a graphics processing unit GPU, a multiprocessor core, or any other type of processor.
Preferably, the memory 120 and / or storage 190 is accessible by the processor 110 so that the mobile device and its various hardware components operate for system and method aspects as detailed below. Enabling the processor to receive and execute instructions encoded in memory and / or storage. The memory may be, for example, random access memory (RAM) or any other suitable volatile or non-volatile computer readable storage medium. In addition, the memory can be fixed or removable. Storage 190 can take various forms depending on the particular implementation. For example, the storage can include one or more components or devices, such as a hard disk, flash memory, rewritable optical disk, rewritable magnetic tape, or some combination of the above. Storage can also be fixed or removable.
One or more software modules 130 are encoded in storage 190 and / or memory 120. The software module 130 may include one or more software programs or applications having computer program code or instruction sets (also referred to as “mobile authentication client applications”) executed on the processor 110. it can. As illustrated in FIG. 2B, preferably included in the software module 130 is a user interface module 170, biometric capture module 172, analysis module 174, registration executed by the processor 110. A module 176, a database module 178, an authentication module 180 and a communication module 182. Such computer program code or instructions may be written herein in any combination of one or more programming languages that configure processor 110 to perform the operations of the disclosed systems and methods. it can.
The program code may be entirely on the mobile device 101 as a stand-alone software package, or partially on the mobile device, partially on the system server 105, or entirely on the system server or another remote -Can be executed on a computer / device. In the latter scenario, the remote computer is connected to the mobile device 101 via any type of network, including a local area network (LAN) or wide area network (WAN), a mobile communications network, and a cellular network. Or the connection can be made to an external computer (eg, via the Internet using an Internet service provider).
The software module 130 program code and one or more computer-readable storage devices (eg, memory 120 and / or storage 190) may be manufactured and / or manufactured in accordance with the present invention as known to those skilled in the art. It can also be said that it forms a computer program product that can be distributed.
In some exemplary embodiments, one or more software modules 130 are downloaded over the network from another device or system to storage 190 via communication interface 150 for use within system 100. It should be understood that it can. In addition, it should be noted that other information or data related to the operation of the system and method (eg, database 185) of the present invention may be stored in storage. Preferably, such information is stored in an encrypted data store that is specifically assigned to securely store information that is collected or generated by a processor running a secure authentication application. . Preferably, the encryption means is used to store the information locally in the mobile device storage and send the information to the system server 105. For example, such data can be encrypted using a 1024 bit polymorphic cipher or using an AES 256 bit cipher depending on the export control. Furthermore, the encryption can be performed using a remote key (seed) or a local key (seed). As will be appreciated by those skilled in the art, alternative encryption schemes, such as SHA256, can be used.
In addition, data stored on the mobile device 101a and / or the system server 105 can be encrypted using the user's biometric information, viability information or mobile device information as an encryption key. In some implementations, the aforementioned combinations are preferably used to create complex unique keys for users that can be encrypted on mobile devices using elliptic curve cryptography, preferably at least 384 bits long. it can. In addition, the key can be used to protect user data stored on the mobile device and / or system server.
Preferably, the database 185 is stored in the storage 190. As will be described in more detail below, the database includes various data items and elements that are utilized throughout the various operations of the system and method for authenticating the user 100. And / or maintain. Information stored in the database can include, but is not limited to, user biometric templates and profile information, as will be described in more detail later herein. Although the database is shown as locally configured on the mobile device 101a, in certain implementations the database and / or various data elements stored therein may additionally or alternatively be remote. It should be noted that it can be placed on the mobile device (not shown but on a remote device 102 or system server 105, etc.) and connected to the mobile device by a network in a manner known to those skilled in the art. .
User interface 115 is also operatively connected to the processor. The interface may be one or more, such as a switch (s), a button (s), a key (s), a touch screen, a microphone, etc. as understood in the art of electronic computing devices. It can be an input or output device. The user interface serves to facilitate the capture of commands from the user, such as on / off operations, or settings related to user information and operation of the system authenticating the user 100. For example, the interface serves to facilitate the capture of specific information from the mobile device 101 (eg, personal user information for registering with the system to create a user profile).
The computing device 101a may also include a display 140, which is also operatively connected to the processor 110. The display includes a screen or any other such display device that allows the system to instruct the user or provide feedback regarding the operation of the system to authenticate the user 100. By way of example, the display may be a digital display such as a dot matrix display or other two-dimensional display.
As a further example, the interface and display can be incorporated into a touch screen display. Thus, the display is also used to show a graphical user interface. And it can show various data and can provide a “form” that includes fields where the user can enter information. Touching the touch screen at a position corresponding to the display of the graphical user interface allows a person to interact with the device, enter data, change settings, control functions, and so on. Thus, upon touching the touch screen, the user interface communicates this change to the processor and settings can be changed, or information entered by the user can be captured and stored in memory.
The mobile device 101a also includes a camera 145 that can capture digital images. One or more imaging devices configured to capture an image of at least a portion of the user's body, including the user's eyes and / or face, while utilizing the mobile device 101a It can be. A mobile device running a secure authentication client application that includes identifying biometric features to authenticate a user (biometrically) from an image and determining a user's survivability The processor 110 serves to facilitate the capture of the user's image for image analysis purposes. Mobile device 101a and / or camera 145 may also include one or more light or signal emitters (eg, LEDs (not shown), eg, visible light emitters and / or infrared light emitters, etc.). For example, the camera 145 can be integrated with a mobile device, such as, but not limited to, a front or rear camera that incorporates a sensor such as a CCD or CMOS sensor, as will be appreciated by those skilled in the art. Additional hardware such as a light meter (eg luminometer) and other conventional hardware and software functions that can be used to adjust image capture settings such as zoom, focus, aperture, exposure, shutter speed, etc. Or the camera can be mobile It can also be external to the vise 101a, and possible variations of the camera and illuminant will be understood by those skilled in the art, in addition, the mobile device may capture audio recordings as understood by those skilled in the art. One or more microphones 104 may also be included.
Audio output 155 is also operatively connected to processor 110. The audio output can be any type of speaker system that is configured to play electronic audio files, as will be appreciated by those skilled in the art. The audio output can be built into the mobile device 101 or can be external to the mobile device 101.
Various hardware devices / sensors 160 are also operatively connected to the processor. The sensor 160 includes an on-board clock that tracks time, etc., a GPS-enabled device that determines the position of the mobile device, an accelerometer that tracks the direction and acceleration of the mobile device, Gravity magnetometer to determine the three-dimensional direction of the device, proximity sensor to detect the distance between the mobile device and other objects, RF radiation sensor to detect the RF radiation level, and other as understood by those skilled in the art Devices can be included.
The communication interface 150 may also be any interface that is operatively connected to the processor 110 and that enables communication between the mobile device 101a and elements including external devices, machines, and / or the system server 105. Preferably, the communication interface is a modem, network interface card (NIC), integrated network interface, wireless for connecting the mobile device to other computing devices and / or communication networks such as a local area network and the Internet. This includes, but is not limited to, frequency transceivers (eg Bluetooth®, cellular, NFC), satellite communications transceivers, infrared ports, USB connections and / or any other such interface. Such a connection can include a wired connection or a wireless connection (eg, using the 802.11 standard), but the communication interface can actually be any interface that enables communication with a mobile device. Should be understood.
At various points during the operation of the system to authenticate the user 100, the mobile device 101a can be one or more of the system server 105, the user computing device 101b, and / or the remote computing device 102, etc. Can communicate with multiple computing devices. Such a computing device sends and / or receives data to and from the mobile device 101a, thereby preferably initiating maintenance and / or operation of the system 100 as detailed below. To strengthen.
FIG. 2C is a block diagram illustrating an exemplary configuration of system server 105. The system server 105 includes a processor 210 operatively connected to various hardware and software components that serve to validate the operation of the system for user 100 authentication. The processor 210 is responsible for executing instructions to perform various operations related to user authentication and transaction processing, as will be described in detail later. The processor 210 may be many processors, multiprocessor cores, or some other type of processor, depending on the particular implementation.
In certain implementations, memory 220 and / or storage medium 290 can be accessed by processor 210 such that processor 210 receives and executes instructions stored on memory 220 and / or storage 290. Enable. The memory 220 can be, for example, random access memory (RAM) or any other suitable volatile or non-volatile computer readable storage medium. In addition, the memory 220 and the storage 290 can take various forms depending on the particular implementation. For example, the storage 290 can include one or more components or devices, such as a hard disk, flash memory, rewritable optical disk, rewritable magnetic tape, or some combination thereof. The storage 290 can also be fixed or removable.
One or more software modules 130 are encoded in storage 290 and / or in memory 220. One or more software modules 130 are grouped together with one or more software programs or applications (“secure authentication server application”) that have computer program code or instruction sets executed in processor 210. Can be included). As used herein, such computer program code or instructions for carrying out operations for the disclosed system and method aspects may include one or more programming languages, as will be appreciated by those skilled in the art. Any combination of can be written. The program code may be stored entirely on the system server 105 as a stand-alone software package, or partially on the system server 105, partially on the remote computing device 102, mobile device 101a and / or user. It can run on a remote computing device, such as computing device 101b, or entirely on such a computing device. As illustrated in FIG. 2B, the software module 130 preferably includes an analysis module 274, a registration module 276, an authentication module 280, and a database module 278 that are executed by the processor 210 of the system server. And a communication module 282.
Preferably, the database 280 is stored in the storage 290. As will be discussed in more detail below, database 280 is utilized throughout the various operations of system 100 and includes a variety of data including, but not limited to, user profiles as described in more detail later herein. Contains and / or maintains items and elements. Although database 280 is shown as being locally configured on computing device 205, in certain implementations database 280 and / or various data elements stored therein may be remotely located computer-readable It should be noted that it can be stored on memory or storage media and connected to the system server 105 by a network (not shown) in a manner known to those skilled in the art.
Communication interface 255 is also operatively connected to processor 210. Communication interface 255 may be any interface that enables communication between system server 105 and external devices, machines, and / or elements. In certain implementations, the communication interface 255 is a modem, network interface card (NIC), for connecting the computing device 205 to other computing devices and / or communication networks such as a private network and the Internet, Includes, but is not limited to, integrated network interfaces, radio frequency transceivers (eg Bluetooth®, cellular, NFC), satellite communications transceivers, infrared ports, USB connections and / or any other such interface It is not a thing. Such connections can include wired or wireless connections (eg, using the 802.11 standard), but the communication interface 255 can actually be any interface that enables communication with the processor 210. Should be understood.
The operation of the system for authenticating the user 100 and various elements and components described above will be further understood with reference to methods that facilitate biometric information capture and authentication as described below. The processing represented herein is shown from the perspective of the mobile device 101a and / or the system server 105; however, the processing may be performed in whole or in part on the mobile device 101a, the system server 105, or It should be understood that it can be performed by other computing devices (eg, remote computing device 102 and / or user computing device 101b), or any combination of the foregoing. It should be understood that more or fewer operations may be performed than illustrated and described herein. These operations may also be performed in a different order than that described herein. It should also be understood that one or more steps may be performed by mobile device 101a and / or on other computing devices (eg, computing device 101b, system server 105, and remote computer 102). It is.
Turning now to FIG. 3, a flow diagram herein illustrates a routine 300 for detecting a user's biometric features from one or more images in accordance with at least one disclosed embodiment. In general, the routine includes capturing and analyzing one or more images of at least a plurality of fingers of the user. Preferably four fingers are captured, but more or fewer fingers can be captured and analyzed as described herein. As described above, the capture process can be performed during user registration as well as during the next authentication session, which is also described with respect to FIG.
In accordance with the disclosed embodiments, using a mobile device (eg, mobile device 101a) having a digital camera 145 that is widely available and can capture an image of a user's finger at least in the visible spectrum band, It should be understood that an image can be captured and a biometric identifier indicative of the user's unique biometric features and / or viability can be generated.
Processing begins at step 305, where the mobile device processor 110, preferably configured by executing one or more software modules 130 including the capture module 172, sends one to the camera 145. Capture one or more images of at least a portion of the user (124) capturing all four fingers of his hand. Preferably, the camera captures a high resolution image using, for example, a rear camera of a conventional smartphone device. When available, images can be captured in more detail with flash lighting.
In some implementations, during the capture process, the user is prompted to place their fingers in front of the camera. During this procedure, the user can be given visual feedback from the camera on the device display so that the user can properly position their fingers. In some implementations, the markings displayed on the display can be used to guide the user to place their fingers at a specified location in the camera's field of view and at a specific distance. For example, the user is asked to align his finger to the outline of four fingers overlaid on the camera image preview screen, and accordingly, the user Know that your finger is at an appropriate distance from the camera when you match the finger contours. In some implementations, users can keep their index finger, middle finger, ring finger, and little finger together rather than spaced apart. Next, in some implementations, the user can ask to capture each thumb separately for each hand. In some implementations, the user is a newborn assisted by an adult to capture a finger image. The camera focus can be set by the configured processor to focus on the finger, which can be considered as the position of the finger position guide on the screen. In some implementations, the classifier is trained to detect image fingers, and once the finger is detected and in focus, the classifier can activate the camera to capture the image. Classifiers that can be used to detect image fingers are, in some implementations, Haar cascade classifiers or hand images trained using regular Haar functions (as well as in the case of neonatal identification systems, for example). It can be a pre-defined and pre-designed filter that is suitable for detecting a finger in a foot image. In some implementations, an image enhancement procedure can be applied to an image prior to detecting a captured image finger using a classifier. In some implementations, the image enhancement procedure that can be applied before applying the finger classifier is designed to be a band pass filter that minimizes background frequencies that pass through the ridge frequency but are out of focus. It may be.
The captured image can then be examined, and the quality of the captured biometric sample is determined by analyzing the finger ridges. This quality measurement may be a blended measurement of the following ridge properties, frequency, direction, sharpness and connectivity. If the quality measurement is below a predetermined threshold, the user can be advised and guided to repeat the capture process again.
After the finger capture, then at step 310, each finger region is identified. Next, at step 315, the region is highlighted, and then, at step 320, each finger's identifiable feature space is extracted and can be stored separately. More specifically, at step 310, the configured processor 110 can execute an automatic finger detection algorithm to detect a finger in the image. For example, an exemplary finger detection algorithm may include an application of a segmentation algorithm for distinguishing a finger from a background. This can be done, for example, by dividing the image into uniform regions and then examining each region and classifying it as a finger or non-finger region. Furthermore, this can be done, for example, using a classifier that detects and classifies the fingers and fingertips. In some implementations, classifiers that can be used to detect different fingers, classify them, and detect fingertips are trained Haar cascade classifiers, HOG cascade classifiers, LBP cascade classifiers. Or a combination of these classifiers. Classifier training can be performed on specimen images as is known in the art. Note that a trained classifier for finding hands can be used first to narrow the search area for other finger finding classifiers to improve speed and accuracy. . Also note that such classifiers can be used in conjunction with other fingertip location finding techniques to provide improved accuracy. In some implementations, regions identified using a classifier can be highlighted by boundaries and displayed to the user on a mobile device display. For example, an area identified as a fingertip segment can be surrounded by a boundary in an image that highlights the identified area. The boundary can be a right angle or various shapes including an elliptical boundary. Different segments can be emphasized including fingertips, hands, a group of fingers, other finger areas, and the like. The user's registration data can be used to help train the classifier once the fingertip position has been confirmed by the user. For example, in some implementations, the process of capturing and detecting fingers and fingertips can be summarized in the following steps. (1) capture a hand image, and (2) a cascade classifier trained to find the first fingertip region, then another classifier trained to find the second fingertip region, etc. to start.
By way of example and not limitation, the use of a classifier (such as an LBP classifier) can be made to find a fingertip in an image, and in addition to that, the classifier is used first. Locate major areas of the hand (such as all hands or four fingers of a hand) and then use secondary methods to locate sub-areas within the major area (fingertips or middle phalanges) It can also be an advantage. The secondary method can be another classifier trained to locate each sub-region. The result of the sub-classifier is that the knowledge of the expected relationship between each sub-region (eg the defined relationship) (eg 4 fingers when the hand is kept flat with the fingers closed) Are further filtered using well-known positional relationships that can be used to exclude false matches. Further filtering can be applied by finding the location of other prominent hand features (contacts between fingers) and using this information to filter the results from the classifier. In addition, the main classifier can be used in real time to follow the finger as the user shows the finger to the camera to ensure its focus and automatically capture image capture and / or biometric matching Before activation, the exposure is optimized for the hand.
As described above and further described herein, the processor may detect and track the finger in real time as the user presents the finger to the camera and the image is captured using the camera. Can be configured. The position of the tracked image can be used to detect when the finger is sufficiently positionally stable, improving the quality of the verification image and the reliability of finger recognition.
In some implementations, the processor can be configured to accelerate real-time finger detection by dynamically switching between object detection methods and faster tracking methods such as template matching or optical flow. . For example, once a set of four fingers is detected and determined to represent a hand, the configured processor can track the fingers using an optical flow algorithm. As a result, for example, the finger position is significantly less delayed than when the cascade classifier is also applied to the next image frame and can be tracked with a higher frame rate. By limiting the search space of the image searched by the processor to the local image region, speedup can be achieved and the processor can be configured to only match pixels that represent different features, such as the center of the finger.
Object tracking may fail if the finger is extremely off or out of sight. Upon detection of a failure by the processor, the processor can return to an initial object detection method, such as a cascade classifier. In the case of tracking four fingers, the processor can measure the relative position of the fingers (eg, the distance between the centers of the fingers), and the distance can vary significantly (eg, above a defined threshold). If it is determined, the system can return to object detection.
Preferably, the capture system can detect when the user's finger is kept stationary (within a certain tolerance) to prevent motion blur of the verification image. This can be accomplished, for example, by tracking an object between frames (eg, calculating a vector of movement) and capturing a high resolution verification image when the object's speed falls below a threshold speed. .
Small errors in locating the object position can propagate to the calculation of the velocity vector. Methods such as cascade classifiers often lead to unnatural phase fluctuations (object center “sway”) in the object position as it moves from frame to frame. This positional noise prevents determining when the object is stationary. However, as described above, tracking using optical flow is less noisy and can update the object position faster and make the stationary object detection much more reliable.
Furthermore, some implementations place some weight on the fact that finger length information can be stored and used as part of the fingertip identification algorithm and that the fingerprint is expected at a specific relative position in the image. This can improve the reliability of the fingerprint discovery algorithm and helps, for example, eliminate false fingerprint matches. The same is true for information about the height and width of each finger. In addition, the user's skin color can be stored at the time of registration and further used as biometric identification and / or viability verification means. This has the effect of impersonating an impersonation pattern that is a correct pattern but not the correct skin color (for example, a pink silicone mold or black and white laser printing from a restored latent fingerprint) as an impersonation.
FIG. 4 depicts an exemplary routine 400 and corresponding image for fingertip detection from a captured finger image. As shown, at step 405, a captured image including a plurality of fingers is acquired. An exemplary high resolution image is shown as image 405A. At step 410, the image is reduced and converted to a grayscale image, and the main cascade is applied to detect hands within the image. An exemplary grayscale image and a plurality of boundaries represented around the detected hand region are represented in image 410A. At step 415, the largest detected hand region is selected and the region is expanded to include a surrounding region (eg, an extended region) for further fingertip detection. An exemplary grayscale image and border represented around the selected and expanded finger region is represented in image 415A. Next, at step 420, one or more more sensitive cascade classifiers are applied to detect the sub-region, i.e., the fingertip region for each finger. An exemplary grayscale image and border represented around a plurality of detected fingertip regions is represented in image 420A. As shown, the detected fingertip region may exceed the actual number of fingertips in the image. Next, at step 425, the fingertip region is filtered. Filtering is further described herein with respect to FIG. 4B. An exemplary grayscale image and border represented around the filtered detected fingertip region is represented in image 425A. Next, at step 430, the fingertip region of interest (ROI) is adjusted (eg, resized or extended down) to correct the aspect ratio. An exemplary grayscale image and border represented around the detected and resized ROI is represented in image 430A.
Finger detection is preferably stable against indoor and outdoor lighting, where the images taken with the lighting can be substantially different. For example, in a low-light environment, the background is often underexposed and dark, but with intense diffuse sunlight, the brightness of the background can exceed the brightness of the finger and the shadows can vary greatly. Thus, in some implementations, the finger detection method determines the amount of ambient light by the mobile device processor and switches to a more optimal path for a particular light amount in real time based on the detected light amount. Can be improved. The amount of light can be read, for example, from a hardware-based illuminometer found on mobile phones to adjust screen brightness, or can be estimated from camera exposure settings.
In such an implementation, one or more classifiers specific to each light quantity can be stored and utilized in the processor to perform finger segmentation. For example, a first cascade classifier used to detect one or more regions of a finger can be trained on images taken in strong ambient light, while a second cascade classifier Are trained on images taken in low ambient light. Based on the measured light intensity, the configured mobile device processor can apply an appropriate classifier. More specifically, as long as the amount of light does not exceed a threshold, the first classifier can be used by the processor as a default for detection, and if it exceeds the threshold, the second classifier can be used. . For example, switching between classifiers can occur in real time if a sequence of image frames with different ambient light levels is being captured and analyzed. The method of applying the classifier specific to ambient light described above is the first captured image during processing (e.g., a low-capacity captured while the user places his finger in the proper position in front of the camera). Resolution image), or the next high-resolution image capture (eg, a high-resolution image captured after the finger was detected and determined to be in focus in the first image capture) Can understand.
Further, in some implementations, based on the measured light intensity, the configured mobile device processor can selectively perform an artificial flash image preprocessing step, as described further below. For example, when the amount of light is sufficiently large, an artificial flash process can be applied so as to avoid using a flash bulb to illuminate an object.
No single approach to finger detection is guaranteed to be 100% successful, however, the processor can be configured to calculate a measure of detection quality, and based on the measure, a sufficiently high quality result A series of detection methods can be applied until is achieved. For example, if all four fingers are detected, as further described herein, the configured processor can calculate a score to determine which set of four detections likely represents a hand. If this score is insufficient (eg, does not meet a defined threshold) or a finger is not found, the configured processor can apply further detection techniques. Further detection techniques may be in the form of a differently trained classifier or some other unrelated method. Further, in some implementations, the configured processor can estimate the unknown finger position according to the user's known hand size, for example, as determined from previous registrations or authentication captures. The particular order in which these methods are applied need not be invariant, and the particular detection technique and order of application performed can be measured or determined over time for a particular user (eg, training and / or machine learning). It can be understood that the processor can selectively apply or adjust as a function of the combined environmental conditions (based on the algorithm) and the hardware capabilities of a particular mobile device. In view of the above, to improve the speed of detection, a faster (and possibly less accurate) segmentation algorithm is applied first, and is more powerful if the quality of the results is not sufficient (and It can be appreciated that the processor can be configured to apply a step-wise segmentation approach that moves to a segmentation algorithm (which may require more processing power) to detect fingertip segments more accurately.
As described above, and as further described herein, an exemplary finger-based recognition algorithm performed by a mobile device processor includes one or more image enhancement steps, including finger detection and Feature extraction can be improved. Detection methods such as cascade classifiers often work on grayscale images, so color information is lost if, for example, only luminance is used as input. Thus, methods for detecting objects with known color characteristics (eg, human hands) can be beneficially improved by highlighting regions that represent expected colors prior to conversion to grayscale.
In one exemplary implementation, an image preprocessing method that can be applied to finger detection performed by a processor includes an adaptive skin model. More specifically, the processor analyzes one or more of the captured images, for example by detecting a hand within the range of the image, to locate a known skin color region, A color model can be calculated. The image is then converted to the HSV color space and a probability density function (PDF) is applied to both the hue distribution and the saturation value of the pixels in the predetermined skin area. The remaining pixels of the image are located in the PDF and the probability (p value) representing the likelihood that the pixel represents the epidermis is extracted. Preferably, the process is iterative in that all pixels that exceed the threshold p value are used to improve the previous model, and then the updated model is applied using the processor. In some implementations, pixels that are surrounded by pixels that have low p-values but high p-values can also be included in the model by assuming that the skin area is continuous. The process can be stopped after a fixed number of iterations or when the number of skin pixels no longer increases significantly (ie, no longer increases the convergence point by a defined amount). The converged p-value can then be used directly as input for further detection algorithms (converted to a grayscale image), or in addition or alternatively, for background, non-skin areas It can also be used to shine the epidermis area of an image (eg acting as an “artificial flash”).
In the case of a finger being presented to a mobile device camera in a relatively predetermined position (eg, guided using a guide on the screen), the processor may select a specific area (eg, the center of the hand in the guide). It is possible to configure so that it is estimated that the area gathered in (1) can greatly represent the skin color. Therefore, this estimation area can serve as a first area for constructing the epidermis model. Additionally or alternatively, the skin color can be recorded (eg, completed without using a skin model) when the user registers with the system.
FIG. 4B represents an exemplary routine 450 for filtering detected fingertip regions / segments (ie, step 425 of FIG. 4A). Filtering generally refers to the selection of the best set of fingertip segments (ie, the selection of the fingertip segment for each finger that most likely corresponds to the actual fingertip segment).
Processing begins at step 455 where fingertip detections are sorted in a horizontal (“X”) direction (eg, arranged in a direction that is perpendicular to the finger direction according to the finger order). Next, at step 460, a combination of four fingertip areas is generated using a plurality of detected fingertip areas. An exemplary grayscale image and border represented around a combination of four detected fingertip regions is represented in image 460A.
Next, in steps 465 to 480, each composite set of four fingertip regions is scored. Scoring includes analyzing the fingertip area to determine physical characteristics of individual fingertip areas and / or multiple fingertip areas and comparing the measured characteristics to expected characteristics. As further described herein, scoring can be performed relative to other fingertip segments and in addition or alternatively to the full width of the previously detected hand region (eg, as detected in step 415 " It can be based on a comparative analysis of the physical characteristics of one or more fingertip segments against multiple finger physical characteristics, such as hand width ").
More specifically, in some implementations, the combined width of a set of detections can be compared to a hand width and scored based on the comparison. Additionally or alternatively, the distribution of detection widths (eg, the distance between the centers between adjacent finger segments) can be scored against the expected width distribution of the finger segments as viewed from the hand width. . The expected width distribution can be determined as an average from a previously identified finger training set. The training set and detection set can be normalized according to the width for accurate comparison. For example, image 470A, an exemplary grayscale image of four fingers, a boundary represented around the four detected fingertip region / segment combinations, and a measured intermediate pair between adjacent segments d1, d2, and d3 Intermediate distance.
In some implementations, each specific comparison can be assigned a weight, so that the calculated score is a function of the weight. For example, less critical / insignificant measurements (e.g., measurements with lower accuracy or accuracy, or less reliability) are more likely not to distort the overall result of scoring. You can discount by assigning a lower weight. By way of example, but not by way of limitation, the relative length of the little finger is more different between individuals, so the effect of the measured distance determined at Y with respect to the little finger is “reduce weight” accordingly. be able to. Table 470B of FIG. 4B represents exemplary widths, weights and expected widths used to score relative distance characteristics. As shown in Table 470B, an exemplary expected relative distance between adjacent fingers is a quarter of the full width of four fingers, each assigned a weight of one.
At step 475, the width of the fingertip segment can also be scored relative to other fingertip segments. The finger width comparison can be based on the expected relative width of a particular finger. For example, the index finger is expected to be larger compared to the edge finger, and accordingly, the relative width of the fingertip region / segment can be scored according to such individual finger segment comparison. An exemplary grayscale image of the finger and four possible detected fingertip regions corresponding to the two middle fingers (index and middle fingers) are represented in image 475A.
Similarly, at step 480, the relative position of the fingertip region in the Y direction can be scored according to the expected length of each fingertip segment. For example, the middle two fingers are typically expected to be higher in the Y direction with respect to the end fingers, and the fingertip segment can be scored according to such expected relative position characteristics. Accordingly, the height distribution of the fingertip segment in the Y direction (ie, the direction parallel to the finger direction) can be analyzed. More specifically, analyzing the distribution in Y includes analyzing a “length pattern” of the finger, as illustrated at 480A. That is, it is expected that the index finger is shorter than the middle finger, the middle finger is longer than the ring finger, and the ring finger is longer than the little finger. Therefore, the region of interest for the object must have a position in Y that follows the pattern “up, down, down” from the index finger to the little finger. The exact expected pattern can be determined as an average from a previously identified finger training set. It can be appreciated that the training set and the set of fingertip segments can be normalized according to the respective finger and / or hand dimensions for an accurate comparison of relative lengths and / or Y positions. Thus, the processor calculates the Y distance between the top boundaries of the various regions of interest / segments, thereby giving three distances from the index finger to the middle finger, from the middle finger to the ring finger, and from the ring finger to the little finger. It can be configured as follows. The processor can then use the hand width to normalize the distances so that they can be compared across different scales of the hand. Thereafter, the distance can be compared to the expected value pattern, and the finger combinations can be scored as a function of the comparison. An exemplary grayscale image of a finger and the four possible detected fingertip regions being compared in the Y direction are represented in image 480A. It can also be understood that the relative height, width, Y position and X position of the fingertip region can also be weighted according to importance and / or reliability.
In addition to the aforementioned measurements, the configured processor can also score fingertip segment combinations according to the illumination characteristics of the represented fingertip segments. More specifically, it can be expected that the finger appears in the image with substantially the same illuminance. Thus, the configured processor can measure the illuminance across the fingertip segment combinations and score the illuminance differences for each fingertip segment combination. For speed and accuracy, only pixel values at the center of each fingertip segment (eg, within a 10 × 16 rectangle) can be summed, and the difference between the four sums is determined. A high difference means that one or more fingertip segments are misplaced and a worse score can be assigned.
Next, at step 485, the cumulative score of the fingertip region combination is weighted and summed, and the best combination of segments is identified according to the calculated score. The boundary represented around the combination of the exemplary grayscale image of the finger and the best score of the four detected fingertip regions is represented in image 485A.
Further, in some implementations, inspection can be performed by analyzing the frequency and direction of edges in each region. Additionally or alternatively, the segment of the image that includes the finger can be identified as the segment that primarily fills the position of the finger positioning guide on the screen.
In some implementations, for example when using only four fingers for identification, a powerful procedure for registering and examining four fingerprints can be performed as follows:
a) Guide the user to place his four fingers in front of the camera and capture a flash image.
b) Optionally (as previously described) use image processing algorithms to identify the location of the four fingerprints (and other regions of interest).
c) highlight these areas to the user, eg by superimposing ellipses over the fingerprint area, and the user recognizes that the fingerprint recognition is correct or dragging the ellipse to the correct position To either adjust the fingerprint ellipse in the wrong position. In this way, an accurate registered fingerprint is guaranteed.
d) Use a correctly registered fingerprint for future verification procedures. This may include the process of using the registered fingerprint to find a verification fingerprint in the verification image.
Further, in some implementations, if four fingers are captured, then the detected image of the four fingers can be ridged, for example, by defining a seam between each adjacent finger. By locating a point in the direction, it can be divided into four individual fingers. These points are called singularities. The determined points can then be clustered into four clusters representing four fingers using a K-means clustering algorithm. In some implementations, the K-means can use a special distance function to calculate the distance matrix used in the clustering algorithm. This special function results in a smaller distance measure for points located on the same finger, even if they are far with respect to the conventional Euclidean distance. Next, a region formation segmentation algorithm can be used to segment each finger individually.
Then, for each finger, at least the region of the distal phalanx of each finger can be identified within the image. Preferably, the finger region located between the tip of the finger segment and the thick line between the middle and distal phalanges is identified because it contains the most discernable characteristic that is a feature point.
Both fingers and hands have a relatively tight space to create the expected shape, so in some implementations the Active Shape Models (and Active Appearance Models) are non-contact Can be an effective approach to perform fingerprint recognition. For example, by placing a point set (eg, a fingertip boundary) over hand features within the scope of the example image to locate and segment the hand from the target image, the point distribution model is first Is calculated. The model is then initialized within the range of the target image by using a user hand placement guide or other image processing technique to form a first estimate for the hand position. For example, a cascade classifier can be used to provide a first estimate for hand position. The best fit for the model is then found by iteratively comparing it with the image data and updating the point location.
The fitted model points are used to extract regions of interest for recognition. For example, a point that draws a fingertip boundary is used to extract a fingerprint.
Similarly, an active shape model that depicts the shape of a finger can be used to segment individual fingertips. For example, an image region that includes a fingertip is first discovered using a cascade classifier and then segmented using a model to remove the background and adjacent fingers. Furthermore, the active shape model can be tailored to the individual user. For example, if confirmed by the user during system registration and the correct model is applied, the model is better adjusted to depict the individual's hand and finger shape. This increases the speed and reliability of recognition, and deviations from the model can be used to identify spoofing.
For maximum fingerprint extraction quality, for example, provide a visual guide or contour of optimal finger placement on the device display to place your hands and fingers in the optimal position for the illuminating light source and camera position The user can be prompted to place. This may be to place the fingerprint near the center of the camera's field of view, limiting the fingerprint to a maximum angle for the camera of about +/− 20 degrees. For example, when the finger is far enough from the light source, the angle of incidence for the illumination beam can be minimized, preventing loss of detail for tilted surfaces, while being close enough for sufficiently strong illumination is there. In parallel, the finger is oriented sufficiently to reflect the illumination back towards the camera and placed sufficiently close to the camera to ensure sufficient pixel density for recognition.
The captured fingerprint quality can be further improved by adding an additional illumination source or an extended light source to the smartphone camera system to expand the spatial range of the illumination source. For example, by adding four LEDs to the corner of a smartphone or tablet, the light is advantageously reflected by more areas of the fingerprint that lead to higher fingerprint capture quality.
Once the relevant area of the finger has been identified, the relevant area can be highlighted at step 315. More specifically, the mobile device processor 110, preferably configured by executing a software module 130 that includes an analysis module 172, processes a portion of the image, eg, a smoothed ridge. A set of Gabor filters adjusted to a line direction map can be used to enhance image details. In some implementations, the primary purpose of this image enhancement is a fingerprint image that is similar to a fingerprint impression image that is captured using a live scan sensor and usually stored in a conventional database such as IAFIS. Is to generate This similarity means that an image captured using a mobile device resembles the same quality and attributes as an image captured from a live scan sensor. This similarity is desirable to ensure that the image captured by the mobile device can be matched against an image of a fingerprint impression stored in a conventional database such as IAFIS.
In order to improve the extraction of identifiable features from the fingertips, it may be advantageous to use an enhancement filter to increase the contrast between ridges and grooves. In some implementations, the mobile device processor applies histogram equalization to distribute the intensity evenly over a possible range (usually [0,255] in a grayscale image) Image contrast can be increased. This can be accomplished by calculating a cumulative histogram of pixel intensities, normalizing to tolerance maxima, and rearranging the source pixels according to their position in this distribution.
Contrast enhancement has the drawback of poor discrimination and thus enhances background noise as well as the signal of interest. Thus, it may be beneficial to separate only those signals of interest by filtering prior to contrast enhancement. For example, the processor can apply a band pass filter to remove signals having frequencies that do not correspond to the expected frequency of the fingerprint ridge. One such implementation removes high frequencies by subtracting the Gaussian blur filtered source image from the raw source image. The result can then be filtered again to remove low frequencies by using another Gaussian blur filter with a suitably smaller radius. Histogram equalization is then applied to the band: pass results to achieve an optimal image for feature extraction.
At step 320, feature points for each finger are extracted and a biometric identifier is generated. As will be appreciated by those skilled in the art, feature points refer to the point where the fingerprint ridge ends, and texture refers to the pattern defined by the ridge. More specifically, the mobile device processor 110, preferably configured by executing a software module 130 that includes an analysis module 172, analyzes the enhanced image to produce an algorithm such as a feature point extraction algorithm. To extract features from at least the distal region of each finger.
Most automated systems for fingerprint comparison are based on feature point matching, and therefore feature point extraction with high reliability is an important task. Many such methods require converting a grayscale image of a fingerprint into a skeleton image, and then a simple image scan is performed on pixels corresponding to feature points that split in two after the fingerprint ridge ends. Enables detection of The extracted feature points can be stored as a set of two-dimensional plane points.
Finally, a feature point based matching algorithm can be executed by the configured processor to generate a similarity score between fingerprints. These matching algorithms calculate the similarity score between fingerprints by finding the alignment state between the template that obtains the maximum number of feature point combinations and the input feature point set.
Features extracted from the end regions can be stored along with other features that are similarly extracted from the remaining identified regions of the finger and / or hand. Such features can be characterized in one or more biometric identifiers that include one or more feature vectors.
During registration, at step 325 such feature vectors are stored in memory as biometric identifiers (eg, templates) that are used to ensure the user verification step. Alternatively, during user verification (step 330), the biometric identifier is compared to the version stored during registration.
More specifically, during the verification process, the user's finger is captured and a biometric identifier is generated as described with respect to steps 305-320. However, at step 330, the query feature vector is then compared to the registered and stored feature vectors. Based on the comparison, a match score is generated by the processor 110 configured for match similarity. If the match score represents a sufficiently close match, the user may be determined to have passed the verification procedure.
In one or more implementations, the match score can be a composite match score based on individually matching a query fingerprint (eg, a query feature vector) with registered fingerprints to determine a composite match score. More specifically, from the hand image database, images can be paired in two different classes of pairs: the same hand image pair and the different hand image pair. A matching score that measures the proximity of these hand images can be calculated, assuming that for each pair of fingers of the hand (eg, index finger and index finger) a higher score represents a closer match.
These scores can be plotted to form a score distribution. For each type of finger (eg ring finger), there are two distributions, the score from matching the images of the same finger from the same hand and the same finger from a different hand (ie, a scam).
These score distributions can be considered probability distributions, which give the probability that a given matching score belongs to one of the distributions. These empirically derived distributions can be smoothed out of noise and can be precisely characterized by fitting them to known distributions (eg, gamma distributions).
Given an uncharacterized pair of finger images, an exemplary identification system can be configured to determine a matching score. These fitted probability distributions can then be used to determine the probability ratio (likelihood ratio) that a pair of finger images belongs to the same or different fingers.
When doing a full four-finger match, the configured system will test one unknown image (“probe” image) against the image of a previously registered known object (“gallery” image) Can do. For each pair of probe fingers to gallery fingers, the system can determine a likelihood ratio. These ratios can then be multiplied and the final result provides an overall measure of the likelihood that the probe image belongs to the object that provided the gallery image.
This method has the advantage of not degrading by certain fingers with poor predictability, and in particular, the little finger is less likely to provide a clearly predictive match than the other fingers. It also allows some tolerance for poor images, and if one finger shows a poor match, it can be compensated if another finger shows a particularly good match.
While combining the scores across multiple fingers gives tolerance for poor images, it is theoretically possible that the single probe / gallery matching score is large enough to pass the entire pass. This may make it easier to create impersonation, for example, if an attacker can make a very high quality replica of one of the legitimate users' fingers. An exemplary method to alleviate this challenge is to require a minimum number of probe fingers by the processor during the matching and scoring process to individually create a matching score that exceeds the second threshold, as well as positive Requesting that the combination of matching scores exceed a primary matching threshold to determine a good match. This means, therefore, that any successful impersonation requires that the minimum number of fingers be replicated successfully, which is a more difficult task than successfully replicating a single finger. Due to the authentication process, the minimum number of fingers, which is a score above the required secondary threshold, and the value of the secondary threshold, are appropriate for the tolerance to degraded image quality to suit the security needs of the implementation. Understand that it can be adjusted to trade off the risk of spoofing.
Usually, it is important to ensure that the scale of each image is similar when comparing the query finger data with the registered finger data. Thus, during the analysis of the fingerprint image in step 320, the configured processor 110 can determine the fundamental frequency of the fingerprint ridge. During registration (eg, step 325), the configured processor can store the fundamental frequency. During verification (eg, step 330), the configured processor can scale the fundamental frequency of the verification fingerprint to match the fundamental frequency of the fingerprint recorded prior to the comparison. In addition or alternatively, the processor can normalize the frequency of the fingerprint to a defined reference frequency, eg, “1,” so that the actual frequency does not need to be stored. Thus, during recognition, the query fingerprint can be normalized to a defined reference value.
It should be understood that one or more pre-processing operations can be performed on the image frame before generating the feature vector or comparing the feature vectors during authentication. By way of example and not limitation, as will be appreciated by those skilled in the art, preprocessing of image data prior to analysis may include such things as orienting image frames in coordinate space.
Existing techniques for image-based fingerprint recognition that implement existing scaling algorithms generally result in false refusal during authentication by scaling approximately 2% of fingerprints incorrectly. This uses an inadequate number of image reference points (ie using only two points, the fingerprint tip / start point and the fingerprint base / end point), and reduces the size and scale accordingly. Is partly due to those algorithms. In order to improve the scaling operation, according to one or more of the disclosed embodiments, the processor analyzes the average frequency of the fingerprint (eg, the number of typical lines per inch) and responds accordingly. Can implement an algorithm to normalize the fingerprint scale. Since this technique determines scaling based on a larger set of fingerprint pixels taken at many points throughout the fingerprint area, considerably higher reliability can be achieved during the scaling process.
Prior to and / or after the registration and verification steps, the method may also include a step of detecting viability. Viability detection is represented as step 335 in FIG. The biometric detection method can be implemented to verify that the captured four finger images are, for example, from real fingers, not finger imprints or molds. More specifically, in some implementations, the mobile device processor 110 (preferably configured by executing a software module 130 that includes an analysis module 172) may analyze finger image quality. And can determine if they are consistent with the image from the real finger and / or are fake fingers with significant artifacts such as reduced resolution and sharpness.
For example, as further described herein, one viability detection technique may be to prompt the user to rotate his hand during imaging, and the configured processor may be, for example, Using the depth from the motion technique and the depth from the focus technique, it can be determined that the imaged hand is correctly three-dimensional. Alternatively, the system can perform, for example, a passive viability detection technique to analyze the image quality and confirm that it is not sharp enough (eg, from a spoofed hand fingerprint). The configured processor can also analyze the color of the finger to determine whether the color matches the actual hand image and / or a known color of the user's hand. Thus, in some implementations, hand color consistency, in other words color uniformity, can be achieved by detecting the fingertip and hand simultaneously. Next, an area of the hand that does not include the fingertip consisting of the palm and lower phalanx (ie, proximal and intermediate) is cut off, and then a color histogram of this area and the four detected fingertip areas Determine the color histogram. Finally, in some implementations, comparing these two histograms can be used as a check for hand and finger color uniformity, especially when an attacker uses a template (ie, a fake finger) Can be used to determine the survivability measure when trying to deceive the system. In addition, the configured processor requires the user to make one or more gestures with his / her fingers, for example, spreading and closing a finger or moving a particular finger in a particular manner. You can also.
Furthermore, in some implementations, the classifier can be trained to distinguish the real thing from impersonation. The classifier can be trained so that it learns the difference between a real finger image and various fake images. The processor implementing the classifier is then configured to provide a pass / fail result based on the training.
In addition, in some implementations, the position of the fingerprint in the image is taken into account as an additional element of biometric viability, ie, the real user is given a 1, 2, 3, and 4th of a specific length. There are fingers. As a result, when a user extends his finger out and closes together, the positions of the four fingerprints must have relative positions that are consistent with that particular user. This information can be used as an additional security check to help prevent spoofing attacks. For example, a hacker who finds potential fingerprints on the phone screen is unlikely to be able to guess the length of the user's finger and is therefore less likely to indicate them correctly.
Various alternatives and variations are also contemplated for the exemplary system and method described with respect to FIG. In some implementations, the registered image of the user's finger is not necessarily captured by the camera of the mobile device. Instead, the finger feature vectors can be obtained from alternative sources such as a pre-recorded database of finger images.
In some implementations, during the enrollment process, for each finger capture (eg, but not limited to 4 or 10 fingers with improved resolution), each finger image is individually Can be captured in the image. In this case, during the enrollment procedure, a configured processor showing a finger guide on the screen can prompt the user to place one finger on the screen at a time, using a segmentation algorithm Thus, the distal phalanx and fingerprint region of the finger can be individually identified.
In some implementations, instead of limiting the matching process (eg, step 330) to comparing fingertip (eg, distal phalanges) regions, the comparison may be performed in addition to or instead of a fingerprint. Other parts can be included. For example, the region of interest can include detectable patterning, or any part of the hand with distal and intermediate phalanges, or palmar bones. Some of these areas have the added advantage that they are more resistant to spoofing attacks and thus provide a higher level of security. For example, the fingerprint of a user's fingertip can often be found on the case or other surface of a smartphone touched by the user. These potential fingerprints can be duplicated by a spoofer. A mold that can pass verification can then be made. However, palm bone fingerprints are even more difficult to find because it is less common for these areas of the hand to touch the surface and leave a potential fingerprint.
In some implementations, instead of using a singularity to separate a four finger cluster into separate fingers, the user can be prompted to spread their fingers during capture. The fingers can then be separated using a segmentation algorithm, and the contour deformation method can be used to identify the location of each fingertip.
In some implementations, segmentation of the associated finger area can be performed using skin color, frequency and direction. For example, to assist in the segmentation process, Sobel operators can be performed by a configured processor to emphasize the focused area (ie, the finger rather than the background). In addition or alternatively, segmentation may be performed by simply extracting a fixed region from the captured image for the region that the user is guided to place their fingers during the capture process.
In some implementations, during the authentication process, segmentation can be performed using registered fingerprint information. Improvements over existing technologies can be provided by segmenting and identifying and / or matching fingerprint features based on fingerprint templates generated during enrollment. For example, existing image-based fingerprint identification technology results in the separation of a single fingerprint from an image with unsatisfactory success for reliable use, while separating fingerprints in the same way during registration and authentication It has become. In some examples, authentication using existing methods has been successful in only 96% of the time, resulting in 4% denial during authentication. This problem is exacerbated by using the technique on multiple fingers separately.
However, according to one or more of the disclosed embodiments, the configured processor executes a different algorithm for fingerprint isolation, i.e., it uses registered fingerprints during authentication. , Find a finger and separate / verify the fingerprint. This provides significantly more powerful performance. In some implementations, the configured processor, for example, extracts finger features (eg, feature points) from all four finger images, and places all positions in the image from the registered fingerprints. The segmentation process can be implemented by pinpointing the finger region by thorough comparison with the features. It can be seen that the finger region is located where the registered finger is found to match the finger characteristics of the image. In order to further minimize the possibility of false matches due to random features of the image, the validity of the matched region is, for example, for the procedure of capturing four fingers, the first, second, third and fourth By ensuring that your fingers are found almost as expected from the user guidance overlay image, skin color is as expected, etc. (for example, template matching using registered templates to guide comparisons) Can be checked ,. Further, rather than using this process to search the entire image at the finger position, the search range can be limited to the area where the finger is expected from the user guidance overlay image.
In addition to, or instead of performing finger scaling based on the fundamental ridge frequency, processor 110 may determine the width of the segmented four-finger cluster, the singularity of each finger region or phalange joint, and The fingerprint can be configured to scale based on one or more of the width or length of a particular point on the finger, such as a thick line.
Together with (or instead of) matching the finger based on the feature points, the processor 110 can also be configured to match the fingerprint based on the texture.
Further, in some implementations, instead of using one image for the finger, several images can be used to register or authenticate the user. Multiple images can be captured by the configured processor 110 using the camera 145 at various exposure times and / or focal lengths to create images with extended depth of field and / or dynamic range. . Capturing images with such various exposure times and / or focal lengths can help ensure that the focus of the fingerprints at various locations throughout the hand is optimal. Thus, the configured processor can select and analyze the image (s) or portion of the image having the optimum focus on the portion of interest of the finger.
In addition, or alternatively, viability detection can be performed by confirming that other metrics are consistent with those of the real finger rather than a printed or video or molded finger imitation. it can. These metrics were analyzed from specular reflection from flash captured in the image, compared to images obtained without flash, color, and saturation metrics (to eliminate black and white and monochrome impersonation) Specular reflection analysis.
In some implementations, viability can be detected by analyzing depth information from specular reflection or focus information obtained from a finger image. As a non-limiting example, exemplary systems and methods for determining viability based on specular reflection and depth information from focus are described herein and assigned to the co-pending and assignee of this application. October 15, 2014, incorporated herein by reference as if set forth in its entirety herein, entitled "SYSTEMS AND METHODS FOR PERFORMING IRIS IDENTIFICATION AND VERIFICATION USING MOBILE DEVICES UTILIZING VISIBLE SPECTRUM LIGHTING" As described in U.S. Patent Application No. 62 / 066,957, filed daily. Viability is represented by the camera over the entire sequence of images captured, analysis of dynamic finger movements (eg finger gestures), such as tilting fingers or spreading / narrowing fingers. Can also be detected. As a non-limiting example, exemplary systems and methods for determining viability based on dynamic changes in biometric features and gestures are described herein and to the co-pending and assignee of this application. Assigned U.S. Patent Application No. 62, filed Aug. 26, 2014, which is hereby incorporated by reference as if fully set forth herein, entitled "SYSTEM AND METHOD FOR DETERMINING LIVENESS". / 041,803.
In some implementations, viability can be detected by performing a reflectance analysis of light emitted onto the finger ridge during the capture of the finger image. Living finger ridges reflect the flash unevenly, while printed fingers reflect the flash uniformly. Thus, in a finger image, the captured ridge reflectance property can be analyzed to determine viability. An exemplary process for determining viability based on reflectivity is further described herein with respect to the flow diagram of FIG. 5 and the corresponding images of FIGS. 5B-5C. At step 505, an input to the survivability detection algorithm is obtained. The input includes one or more high resolution image (s) of the finger captured with the flash on, as well as a high resolution image of the finger captured with the flash off. An exemplary flash-on image 505A and flash-off image 505B of the finger (s) are shown in FIG. 5B. At step 510, the flash-on image (s) are resized so that fingerprints within the image are separated. At step 515, the region of the flash-off image (s) containing the corresponding finger is segmented (eg, according to the exemplary fingerprint segmentation algorithm described above). Thus, the fingerprint represented in the flash-on image and the corresponding fingerprint in the flash-off image are separated for further processing. Exemplary separated flash on and flash off fingertip images are shown as images 510A and 515B, respectively, in FIG. 5B. Next, at step 520, a high pass filter is applied to preserve the portion of the image that represents the ridge. Exemplary filtered flash-on and flash-off fingertip images are shown as images 520A and 520B in FIG. 5B. Next, at step 525, a viability score is calculated. In one exemplary configuration, the survival score corresponds to the standard deviation (a) of the histogram generated from the filtered flash-off image and the corresponding histogram generated from the filtered flash-on image. It is calculated as a function of the standard deviation (b) (ie biometric score = a / b). As an example, a similar image obtained during the application of process 500 to a fingerprint spoofed image is depicted in FIG. 5C. In other implementations, other measures can be calculated from the histograms of the flash-on and filter-off images to calculate a survival score. The following are some examples of measures that can be used: (1) differences between histogram measures, (2) differences between histogram frequency measures, (3) ratios of standard deviations of histogram frequencies, ( 4) Difference in kurtosis of the histogram and / or (5) number of corresponding key points in the filtered flash on and flash off images. In some implementations, the difference in background pixel intensity of the flash-on and flash-off images can be used as a survivability measure.
6A-6F represent exemplary ridge images of a finger captured at various positions relative to the camera field of view. In particular, FIG. 6A represents the captured image and the corresponding ridge image for a finger that is too far from the camera and has a low fingerprint resolution. FIG. 6B represents the captured image and corresponding ridge image for a finger that is too far from the camera and has a low fingerprint resolution. FIG. 6C represents the captured image and the corresponding ridge image showing good resolution for finger placement in the center of the field of view and sufficiently close to the camera. FIG. 6D represents the captured image and the corresponding ridge image showing the loss of reflection at the end of the index and pinky fingers due to high angle LED reflections. FIG. 6E represents a captured image and corresponding ridge image showing loss of reflection at the tip of the finger due to high angle LED reflections when the finger is placed near the edge of the camera field of view. FIG. 6F represents the captured image and the corresponding ridge image showing the loss of reflection at the tip of the finger due to high angle LED reflections when the finger is placed near the edge of the camera field of view.
In some implementations, fingerprint-based authentication can be further combined with facial identification to provide enhanced security / reliability of multimodal biometrics. For example, in the case of a smartphone, a user's four fingers can be captured using a smartphone rear exterior camera simultaneously or sequentially as surface or iris capture is made using a front-facing camera. As a non-limiting example, an exemplary system and method for generating a hybrid biometric identifier and performing identification / authentication using the hybrid biometric identifier is described in the co-pending application of this application. Described in US Patent Application No. 62 / 156,645, filed May 4, 2015, entitled "SYSTEM AND METHOD FOR GENERATING HYBRID BIOMETRIC IDENTIFIERS", assigned to the assignee. , Incorporated herein by reference as if fully set forth.
As a further example, in addition to characterizing the user by generating a finger feature vector according to routine 300 as described above, the image (s) captured in step 305 or biometric information captured separately. From this, additional biometric features can be extracted. Such additional biometric features can include, by way of example and not limitation, soft and hard biometric features. “Soft biometric” characteristics are physical, behavioral or adherent human characteristics, while hard biometrics such as fingerprint, iris, orbital characteristics are usually invariant. As a further example, soft biometric characteristics can include physical characteristics such as skin texture or skin color. Soft biometrics is a motion detected by a smartphone gyro / accelerometer, eye movement characteristics detected by an eye tracking algorithm, and head movement characteristics detected by following the movement of the face and / or head. Can also be included. Such biometric features can be extracted and characterized according to the methods described above as well as existing biometric analysis algorithms. In addition, additional characterizations of the user's biometric features may be encoded as part of the biometric identifier generated at step 320 or may be fingerprint biometrics, for example, by fusing multiple biometric identifiers. It can be included in a composite biometric identifier that includes a metric identifier.
In one or more exemplary embodiments, finger image capture can be performed at a greater distance than would normally be performed by a user using a portable device such as a smartphone. Exemplary embodiments can be done in the same way using a system configured to capture images using as short and long range image acquisition formats as possible. Image acquisition over a distance can be performed in optical form, for example, various optical-based systems using telephoto lenses, as well as laser focused and sonar-based systems. The application of this type of longer range image capture format can be important in law enforcement, military and intelligence agencies and can ultimately be deployed in commercial environments.
Further, image capture can be performed while the object is not stationary, and such an implementation is referred to herein as a moving fingerprint (FOM) system. This kind of opportunistic capture is paralleled over time as human fingerprints become visible to special operators who are tasked with this job in a hidden operation and / or surveillance mode. Can happen.
For capture from a distance, super-resolution techniques are implemented to increase fingerprint quality using data from multiple frames, and to apply partial fingerprint regions from different frames to larger fingerprint images. Can be matched. By way of non-limiting example, exemplary systems and methods for performing super-resolution techniques to generate identifiers based on multiple image captures and using them to perform identification / authentication are described herein. And previously incorporated by reference into this specification, entitled "SYSTEMS AND METHODS FOR PERFORMING IRIS IDENTIFICATION AND VERIFICATION USING MOBILE DEVICES UTILIZING VISIBLE SPECTRUM LIGHTING", assigned to the assignee of the present application. U.S. Patent Application No. 62 / 066,957, filed Oct. 15, 2014.
In addition, the foregoing procedure for performing fingerprint acquisition and identification uses the captured image in the NIR light and IR light spectrum and uses a device with NIR and / or IR light emitting elements. And understand that it can be done in the same way. This implementation may be particularly useful for incorporating vein pattern identification as an additional biometric factor. By way of non-limiting example, exemplary systems and methods for capturing NIR biometric images and IR spectral bands that perform identification / authentication using NIR and IR light emitters are described herein: And the presently assigned assignee of the present application, referred to herein in its entirety as described herein, entitled “SYSTEMS AND METHODS FOR PERFORMING IRIS IDENTIFICATION AND VERIFICATION USING MOBILE DEVICES”. U.S. Patent Application No. 62 / 129,277, filed March 6, 2015, which is incorporated herein by reference.
At this point, despite the fact that much of the previous description is directed to a system and method for authenticating a user according to the user's biometric characteristics captured using a conventional smartphone device, It should be noted that the disclosed systems and methods can be similarly deployed and / or implemented in scenarios, situations and settings beyond the referenced scenario.
While this specification includes many specific implementation details, these should not be construed as limitations on any implementation or what is claimed, but rather specific to a particular embodiment of a particular implementation. Should be interpreted as a description of good features. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various functions that are described in the context of a single embodiment can be performed in multiple embodiments separately or in any suitable subcombination. Furthermore, even though the functions are described above as performing in a particular combination and may even be so claimed initially, one or more functions from the claimed combination may be Can be deleted, and claimed combinations can be directed to partial combinations or variations of partial combinations.
Similarly, operations are depicted in a particular order in the drawings, while this is performed in the particular order shown or performed in order to achieve the desired result. It should not be construed as requiring that all operations illustrated be performed. In certain situations, multitasking and parallel processing may be advantageous. Furthermore, the separation of the various system components in the above embodiments should not be construed as requiring such separation in all embodiments, and the program components and systems described are typically simple. It should be understood that a single software product can be integrated together or packaged into multiple software products
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms “a”, “an”, and “the” include plural forms unless the context clearly dictates otherwise. Intended. Further, as used in this specification, the terms “comprises” and / or “comprising” refer to the presence of the stated function, completeness, step, operation, element, and / or component. Although not explicitly, it does not exclude the presence or addition of one or more other functions, completeness, steps, operations, elements, components and / or groups thereof. In the claim, an ordinal term such as “first”, “second”, “third”, etc., to modify a claim element, by itself, is performed by a method action of one claim element. It does not imply any priority, priority, or order over another or temporal order that is given, it simply means that one claim element with a particular name (if there is no use of ordinal conditions) Only used as a label to distinguish from other elements with the same name. Also, the terminology and terminology used herein is for the purpose of description and should not be considered limiting. As used herein, the use of “including”, “comprising”, “having”, “containing”, “involving” and variations thereof includes: It is meant to encompass all items listed below and their equivalents as well as additional items. Like numbers in the drawings represent like elements throughout the several views, and all components and / or steps described with reference to the drawings are required for all embodiments or configurations. It should be understood that it is not done.
Thus, exemplary embodiments and configurations of the systems and methods of the present invention provide a computer-implemented method, computer system and computer program product for authenticating a user according to the user's biometrics. The flowchart and block diagrams in the drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments and arrangements. In this regard, each block of the flow diagram or block diagram may represent a module, segment, or part of code, which is one or more executions for performing a specified logical function (multiple). Includes possible instructions. It should also be noted that in some other implementations, the functions found in the blocks may appear out of the order they appear in the drawing. For example, two blocks shown in succession can actually be executed substantially in parallel, or sometimes the blocks can be executed in reverse order, depending on the functionality involved. Each block in the block diagram and / or flow diagram description, and combinations of blocks in the block diagram and / or flow diagram description, can be a special purpose hardware-based system that performs a specified function or action, or a special purpose Note also that it can be executed by a combination of hardware and computer instructions.
The above subject matter is provided as an example and should not be construed as limiting. Various changes and modifications may be made herein without departing from the illustrative embodiments and applications described and described, and without departing from the true spirit and scope of the invention as set forth in the claims below. Can be performed on the subject matter described.
A method for performing fingerprint recognition,
Capturing one or more high-resolution images by a mobile device having a camera, a storage medium, instructions stored in the storage medium, and a processor configured by executing the instructions, the method comprising: Each of the one or more high resolution images represents a plurality of fingers of interest;
Identifying, in the processor, a respective fingertip segment for each finger in the plurality of fingers from the one or more high resolution images according to a segmentation algorithm;
Extracting, from the respective fingertip segment, an identifiable feature for each finger in the processor;
Generating a biometric identifier including the extracted identifiable features;
Storing the generated biometric identifier in the memory at the processor.
Capturing at the processor, using the camera, one or more initial images representing the plurality of fingers;
Detecting, with the processor, the plurality of fingers represented in the one or more initial images using a finger discovery algorithm;
The method of claim 1, further comprising: determining at the processor from the one or more initial images that the plurality of fingers are in focus.
In response to activating the camera to detect the plurality of fingers in the one or more initial images and determining that the plurality of fingers are in focus in the processor. The method of claim 2, further comprising capturing a plurality of high resolution images.
Said step of identifying a respective fingertip segment for each finger,
In the processor, using a primary classifier to distinguish a primary region within the one or more high resolution images including the plurality of fingers from a background region;
2. The method of claim 1, comprising: identifying, with the processor, a respective fingertip segment for each finger within the main area.
The one or more high resolution images are suitable for identifying identifiable biometric features of one or more fingertip segments represented therein, wherein the one or more high resolution images are The method of claim 1, captured at a resolution having a higher resolution than the resolution of the one or more initial images.
Analyzing at least a portion of the one or more high-resolution images in the processor that identifies a plurality of candidate fingertip segments using one or more sub-classifiers to represent the plurality of fingers; ,
Filtering the plurality of candidate fingertip segments according to measured and expected physical characteristics of the plurality of fingers and one or more of the individual fingers at the processor. Item 2. The method according to Item 1.
The measured physical characteristics are:
The relative width of one or more candidate fingertip segments;
The relative lengths of the candidate fingertip segments of the set;
A horizontal relative position of the candidate fingertip segments of the set;
The method of claim 6, comprising one or more of the set of candidate fingertip segments in a vertical relative position.
Determining the overall width of the plurality of fingers;
The method of claim 7, further comprising: the expected physical feature is a function of the full width.
The step of filtering the plurality of candidate fingertip segments comprises:
Identifying one or more sets of candidate fingertip segments;
For each of the one or more sets,
Measuring physical characteristics of the candidate fingertip segments of the set;
Comparing the measured physical characteristics of the candidate fingertip segments of the set against corresponding expected physical characteristics;
Calculating a score for the set according to the comparison;
Selecting the best set according to the calculated score.
Calculating a weighting score for each candidate fingertip segment of the set according to the comparison, each comparison having an associated weight defined as a function of reliability;
10. The method of claim 9, further comprising calculating the score for the set according to the weighting score.
Segmenting at least a portion of the one or more high-resolution images representing the plurality of fingers into a plurality of sub-regions in the processor;
Classifying a subset of subregions as fingertip segments with the processor implementing one or more subclassifiers;
5. The method of claim 4, further comprising identifying a respective fingertip segment for each of the fingers in the sub-region subset.
The method of claim 11, wherein the plurality of sub-classifiers are implemented in conjunction with an additional fingertip location finding algorithm.
The method of claim 11, further comprising identifying each fingertip segment for the finger according to an expected physical characteristic of the plurality of fingers.
12. The method of claim 11, further comprising highlighting the sub-region represented in the one or more high-resolution images prior to the step of extracting the identifiable feature of the respective fingertip segment. Method.
The step of highlighting the sub-region includes:
Generating a smoothed ridge direction map for each of the sub-regions in the processor;
Applying a band pass filter configured to pass the fingerprint ridge frequency and minimize the background image frequency; and
Performing histogram equalization of pixel intensities, wherein the histogram equalization plots a histogram of pixel intensities and sets the intensities such that the histogram includes approximately equal amounts of each intensity throughout the histogram. 15. Emphasizing each of the smoothed ridge direction maps by one or more of the steps comprising: adjusting.
Extracting identifiable features for each of said respective fingertip segments;
Extracting a feature point of each finger from each of the respective fingertip segments according to a feature point extraction algorithm;
The method of claim 1, wherein generating the biometric identifier comprises encoding a feature vector representing the extracted feature points in the memory for each of the fingers.
Collating the generated biometric identifier with a previously stored biometric identifier associated with the user at the processor;
Generating a similarity score between the generated biometric identifier and the stored biometric identifier based on the matching step;
The method of claim 1, further comprising verifying that the subject is the user based on the similarity score.
The method of claim 17, further comprising determining at the processor that the generated biometric identifier represents a biological object.
Before the extraction step,
In the processor, for each of the plurality of fingers, creating a boundary around the respective fingertip segment and emphasizing the respective fingertip segment in the memory;
Displaying the one or more high-resolution images and the border on the display of the mobile device with the processor;
The method of claim 1, further comprising prompting the user to ascertain the position of the boundary highlighting the fingertip segment on the display of the mobile device.
Capturing one or more images by a mobile device having a camera, a storage medium, instructions stored in the storage medium, and a processor configured by executing the instructions, Or each of the plurality of images comprises a step representing a target finger;
Identifying, in the processor, each fingertip segment for the finger from the one or more images according to a segmentation algorithm;
Extracting at the processor from the respective fingertip segments identifiable features for the finger;
The step of identifying the respective fingertip segment comprises:
In the processor, using a primary classifier to distinguish the primary region within the one or more high resolution images representing the finger from a background region;
21. The method of claim 20, comprising identifying the respective fingertip segment for the finger within the main area at the processor.
Analyzing at least a portion of the one or more high-resolution images representing the finger using the processor to identify a plurality of candidate fingertip segments using one or more sub-classifiers;
21. The method of claim 20, further comprising filtering at the processor the plurality of candidate fingertip segments according to measured and expected physical characteristics for the finger.
For each candidate finger segment,
Measuring physical characteristics of the candidate fingertip segment;
Comparing the measured physical characteristics of the candidate fingertip segment against corresponding expected physical characteristics;
Calculating a score for the candidate fingertip segment according to the comparison;
23. The method of claim 22, comprising selecting the respective fingertip segment according to the calculated score.
Segmenting at least a portion of the one or more high resolution images representing the finger into a plurality of sub-regions in the processor;
21. The method of claim 20, further comprising: identifying the respective fingertip segment for the finger within the subset of subregions.
25. The method of claim 24, wherein the one or more sub-classifiers are implemented in conjunction with an additional fingertip location discovery algorithm.
25. The method of claim 24, further comprising identifying each fingertip segment for the finger according to expected physical characteristics of the finger.
25. The method of claim 24, further comprising highlighting each identified fingertip segment prior to the step of extracting the identifiable features of the respective fingertip segment.
The step of highlighting each fingertip segment comprises:
Generating a smoothed ridge direction map for the respective fingertip segment at the processor;
Each of the smoothed ridge direction maps is
Performing histogram equalization of pixel intensities, wherein the histogram equalization plots a histogram of pixel intensities and sets the intensities such that the histogram includes approximately equal amounts of each intensity throughout the histogram. 28. The method of claim 27, comprising the step of highlighting by one or more of the steps comprising adjusting.
Extracting identifiable features for each fingertip segment;
Extracting the feature points of the finger from the respective fingertip segments according to a feature point extraction algorithm;
21. The method of claim 20, wherein generating the biometric identifier comprises encoding a feature vector representing the extracted feature points of the memory.
Matching the generated biometric identifier with a previously stored biometric identifier associated with the user at the processor;
Verifying that the object is the user based on the similarity score;
21. The method of claim 20, further comprising: determining at the processor that the generated biometric identifier represents a biological object.
In the processor, creating a boundary around the respective fingertip segment in the memory and emphasizing the respective fingertip segment;
21. The method of claim 20, further comprising: prompting the user to ascertain the position of the boundary highlighting the fingertip segment on the display of the mobile device.
Capturing an image representing a plurality of fingers of interest by a mobile device having a camera, a storage medium, instructions stored in the storage medium, and a processor configured by executing the instructions;
Detecting, with the processor, the plurality of fingers represented in the one or more images using a finger detection algorithm;
Identifying, in the processor, a respective fingertip segment for each finger in the plurality of fingers from one or more of the images according to a segmentation algorithm;
35. The method of claim 32, wherein the step of detecting the plurality of fingers includes sequentially applying a plurality of finger detection algorithms.
The order in which the plurality of finger detection algorithms is applied is based on one or more of measured environmental conditions, hardware capabilities of the mobile device, and another expected characteristic of the subject. 34. The method of claim 33, determined by a processor.
The step of detecting the plurality of fingers comprises:
Selecting a first finger detection algorithm among a plurality of finger detection algorithms;
Detecting, by the processor, at least one candidate set of fingers represented in the one or more images using the first finger detection algorithm;
Calculating a quality measure representing the likelihood that the at least one candidate set of fingers represents the plurality of fingers;
The method of claim 32, comprising: selecting another finger detection algorithm based on the quality that does not meet a defined threshold and repeating the preceding detection and calculation steps.
36. The method of claim 35, wherein the other finger detection algorithm is a classifier that is trained differently than the first finger detection algorithm.
Measuring ambient lighting conditions with the processor using one or more sensors;
Identifying a first finger detection algorithm from the plurality of finger detection algorithms based on the measured ambient lighting conditions in the processor;
34. The method of claim 33, further comprising: applying the first finger detection algorithm to one or more of the images at the processor to detect the plurality of fingers.
38. The method of claim 37, wherein the plurality of finger detection algorithms includes a cascade classifier trained according to a respective ambient lighting level.
38. The method of claim 37, wherein the ambient lighting condition is measured from one or more of a light amount measured with an illuminometer mounted on the mobile device and a light amount estimated from an exposure setting of the camera.
35. The method of claim 32, further comprising determining at the processor from one or more of the images that the plurality of fingers within the one or more images are positionally stable. .
Determining that the finger is positionally stable within the one or more images is
In the processor, according to an object tracking algorithm, the position of each of the one or more fingers of a first image and the one or more of the fingers throughout the sequence of subsequent images in the image Determining each change in position;
Calculating a moving speed of the one or more fingers based on the change in the respective positions;
41. verifying that the plurality of fingers are positionally stable based on the velocity falling below a threshold velocity.
The step of determining according to the object tracking algorithm comprises:
42. The method of claim 41, comprising dynamically switching between a first object tracking algorithm and a second object tracking algorithm based on the determined position and position change.
Applying a first object detection algorithm to determine the position of the one or more fingers of the first image;
Applying a second object tracking algorithm based on the identified first location to determine the location of each of the one or more fingers of the next image in the sequence;
Re-applying the first object detection algorithm to detect the failure of the second object tracking algorithm and immediately determining the respective position of the one or more fingers of the subsequent image 43. The method of claim 42, further comprising:
44. The method of claim 43, wherein the failure is detected as a function of the change in the position of the one or more fingers during an image of the sequence that exceeds a threshold.
44. The method of claim 43, wherein the first object detection algorithm is a classifier and the second object tracking algorithm is one or more of a template matching algorithm and an optical flow tracking algorithm. the method of.
Calculating an adaptive epidermis model based on one or more of the images;
33. The method of claim 32, further comprising processing the one or more images based on the adaptive epidermis model.
Calculating the adaptive epidermis model is
Detecting a region within the one or more images including pixels having color values corresponding to an expected skin color;
Calculating a color model for the region based on the pixels;
Applying a probability density function (PDF) to the color and saturation distribution for the pixels in the detection region in the processor;
Applying, with the processor, the PDF to the one or more images to locate additional pixels of the image satisfying the PDF;
For each located pixel, calculating a p-value representing the likelihood that said pixel represents the epidermis;
And refining the calculated color model based on the identified pixels having a p-value that exceeds a threshold p-value.
48. The method of claim 47, further comprising iteratively repeating the steps of locating, calculating, and improving until the number of pixels defined by the improved model reaches convergence.
The process according to the adaptive epidermis model is
Identifying the respective fingertip segment for each finger in the plurality, performed by applying a classifier to the adaptive skin model;
Prior to identifying the respective fingertip segment at the processor, enhancing the one or more images based on the p-value for the pixels of the adaptive color model. One or more of the steps comprising: shining the one or more images having pixels determined to represent the epidermis against areas having pixels determined to not represent the epidermis 48. The method of claim 47, comprising:
Extracting identifiable features for each of the respective fingertip segments;
33. The method of claim 32, comprising encoding a respective feature vector representing the extracted feature points of the biometric identifier for each of the fingers.
Comparing, with the processor, each of the coded feature vectors with a previously stored feature vector associated with the user;
Calculating a similarity score based on the comparison;
The similarity score calculated separately for a predetermined number of fingers in the plurality of fingers exceeds a secondary matching threshold, and the combination of the calculated similarity scores exceeds a primary matching threshold Verifying that, and
51. The method of claim 50, further comprising: determining that the subject is the user based on the verification.
Capturing by the processor using the camera one or more initial images representing the finger of the subject;
Displaying the one or more initial images on the display of the mobile device in near real time;
In the processor, showing a finger placement guide on the display, the finger placement guide covering the one or more initial images and positioning the finger of the initial image to the user with the guide Prompting to align, and when the finger is at a specific position in the field of view of the camera and at a specific distance from the camera, the finger is aligned with the guide; and
Detecting at the processor the finger represented in the one or more initial images using a finger discovery algorithm;
In the processor, from the one or more initial images, the fingers represented in the one or more initial images are aligned within the guide and are in focus. A determining step;
The processor activates the camera to detect the plurality of fingers of the one or more initial images and determines that the plurality of fingers are aligned with the guide and are in focus In response to capturing the one or more high-resolution images;
21. The method of claim 20, wherein the step of identifying the respective fingertip segment for the finger is further based on the one or more high resolution images.
JP2017541680A 2015-02-06 2016-01-29 System and method for performing fingerprint-based user authentication using an image captured using a mobile device Pending JP2018508888A (en)
US201562112961P true 2015-02-06 2015-02-06
US62/112,961 2015-02-06
US14/819,639 US9361507B1 (en) 2015-02-06 2015-08-06 Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US14/819,639 2015-08-06
US14/988,833 US9424458B1 (en) 2015-02-06 2016-01-06 Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
US14/988,833 2016-01-06
PCT/IB2016/000569 WO2016125030A2 (en) 2015-02-06 2016-01-29 Systems and methods for performing fingerprint based user authentication using imagery captured using mobile devices
JP2018508888A true JP2018508888A (en) 2018-03-29
JP2018508888A5 JP2018508888A5 (en) 2019-03-14
ID=56564833
JP2017541680A Pending JP2018508888A (en) 2015-02-06 2016-01-29 System and method for performing fingerprint-based user authentication using an image captured using a mobile device
US (2) US9424458B1 (en)
EP (1) EP3254232A2 (en)
JP (1) JP2018508888A (en)
KR (1) KR20170134356A (en)
CN (1) CN107438854A (en)
AU (1) AU2016214084A1 (en)
BR (1) BR112017016942A2 (en)
CA (1) CA2976049A1 (en)
MX (1) MX2017010166A (en)
WO (1) WO2016125030A2 (en)
ZA (1) ZA201705814B (en)
JP6152892B2 (en) * 2013-08-21 2017-06-28 日本電気株式会社 Fingerprint core extraction device for fingerprint verification, fingerprint verification system, fingerprint core extraction method, and program thereof
US9946919B2 (en) * 2014-11-19 2018-04-17 Booz Allen Hamilton Inc. Device, system, and method for forensic analysis
US10438041B2 (en) * 2016-04-13 2019-10-08 AMI Research & Development, LLC Techniques for fingerprint detection and user authentication
EP3232369A1 (en) * 2016-04-15 2017-10-18 Nxp B.V. Fingerprint authentication system and method
GB2556625A (en) * 2016-10-27 2018-06-06 Zwipe As Secure enrolment of biometric data
JP2018136723A (en) * 2017-02-21 2018-08-30 富士通株式会社 Information processor, and method and program for biometric authentication
US10331937B2 (en) 2017-04-19 2019-06-25 International Business Machines Corporation Method and system for context-driven fingerprint scanning to track unauthorized usage of mobile devices
KR102017749B1 (en) * 2018-04-24 2019-09-03 울산과학기술원 Personal authentication method and system using multimodal biometrics
CN109738061A (en) * 2019-01-11 2019-05-10 华南理工大学 A kind of illumination photometer position automatic aligning method and system towards illumination photometer calibrating
AT477548T (en) 2006-04-26 2010-08-15 Aware Inc Quality and segmentation of a fingerprint preview
US20140233810A1 (en) 2007-06-11 2014-08-21 Lumidigm, Inc. Dermatoglyphic hand sensor
WO2009116965A1 (en) 2008-03-18 2009-09-24 Thomson Licensing Method and apparatus for adaptive feature of interest color model parameters estimation
JP5800175B2 (en) 2010-02-05 2015-10-28 ソニー株式会社 Image processing apparatus, image processing method, program, and electronic apparatus
SI2571531T1 (en) 2010-04-30 2016-09-30 Janssen Biotech, Inc. Stabilized fibronectin domain compositions, methods and uses
CA2851225A1 (en) 2010-10-08 2012-04-12 Advanced Optical Systems, Inc. Contactless fingerprint acquisition and processing
CN105096347B (en) 2014-04-24 2017-09-08 富士通株式会社 Image processing apparatus and method
2016-01-06 US US14/988,833 patent/US9424458B1/en active Active
2016-01-29 EP EP16723153.9A patent/EP3254232A2/en active Pending
2016-01-29 AU AU2016214084A patent/AU2016214084A1/en active Pending
2016-01-29 MX MX2017010166A patent/MX2017010166A/en unknown
2016-01-29 KR KR1020177025019A patent/KR20170134356A/en unknown
2016-01-29 CN CN201680020217.6A patent/CN107438854A/en active Search and Examination
2016-01-29 JP JP2017541680A patent/JP2018508888A/en active Pending
2016-01-29 BR BR112017016942A patent/BR112017016942A2/en unknown
2016-01-29 CA CA2976049A patent/CA2976049A1/en active Pending
2016-01-29 WO PCT/IB2016/000569 patent/WO2016125030A2/en active Application Filing
2016-07-18 US US15/212,335 patent/US9785823B2/en active Active
2017-08-25 ZA ZA2017/05814A patent/ZA201705814B/en unknown
US20160232401A1 (en) 2016-08-11
US9424458B1 (en) 2016-08-23
WO2016125030A3 (en) 2016-11-10
US20180018501A1 (en) 2018-01-18
CN107438854A (en) 2017-12-05
WO2016125030A2 (en) 2016-08-11
KR20170134356A (en) 2017-12-06
US9785823B2 (en) 2017-10-10
EP3254232A2 (en) 2017-12-13
MX2017010166A (en) 2018-03-23
BR112017016942A2 (en) 2018-04-03
CA2976049A1 (en) 2016-08-11
ZA201705814B (en) 2018-08-29
AU2016214084A1 (en) 2017-08-31
US20160321496A1 (en) 2016-11-03
Chou et al. 2009 Non-orthogonal view iris recognition system
2019-01-29 A621 Written request for application examination