Contactless rolling fingerprints
By capturing multiple friction ridge images of fingers and generating scroll fingerprint representations, the limitations of contact acquisition during fingerprint acquisition in the prior art are solved, and more accurate and efficient fingerprint acquisition is achieved.
Patent Information
- Application Number
- CN202411759034.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2018-03-28
- Publication Date
- 2025-03-25
AI Technical Summary
The prior art has limitations in contact acquisition during fingerprint acquisition, such as inconvenience in the use of ink, strict hand placement requirements, and difficulty in obtaining high-quality rolling fingerprint data.
By capturing multiple friction ridge images of the finger at a moment, a scroll fingerprint representation is generated, which includes data from multiple perspectives, and image processing and stitching is performed using a computing device to achieve contactless fingerprint acquisition.
This technology can provide a more accurate fingerprint representation than contact-based fingerprints, enhancing the accuracy and efficiency of acquisition and reducing the requirements for hand placement and movement.
Smart Images

Figure CN119693972A_ABST
Abstract
Description
[0001] This application is a divisional application. The name of the invention of the parent case is “Contactless Rolling Fingerprint”. The application date is March 28, 2018, and the application number is 201880014198.5. Technical Field
[0002] The present disclosure relates to image processing, and more particularly, to image processing of fingerprints. Background Art
[0003] Fingerprints, palm prints, or other biometric data can be used by a variety of government, commercial, residential, or industrial entities to verify the identity of an individual. Example applications include identifying individuals at border locations, confirming identities for access control or authentication purposes, or identifying unknown individuals during forensic investigations. In such applications, friction ridge data or images containing other identifying features can be obtained and compared to existing samples.
[0004] Friction ridge data may be acquired in a variety of ways. In one example, friction ridge data may be captured by pressing a hand (e.g., finger) against an ink source and then pressing and rolling the hand onto paper. In another example, friction ridge data may be captured by pressing or rolling the hand against a hard surface (e.g., glass, silicon, or polymer) and capturing an image of the hand with a sensor. In yet another example, friction ridge data may be captured by taking an image of the hand, which may be referred to as a contactless print technique. Summary of the invention
[0005] The technology of the present disclosure generally relates to capturing and processing friction ridge data. In particular, the technology of the present disclosure includes capturing one or more friction ridge images, wherein the one or more friction ridge images include multiple perspectives of an object such as a finger. According to one aspect of the present disclosure, a computing device can generate a rolling fingerprint representation from the one or more images, wherein the rolling fingerprint representation includes data from the multiple perspectives. In this way, the technology can be used to generate a non-contact-based representation that simulates a finger rolling over a surface, such as can be typically associated with contact-based acquisition of a fingerprint. In some instances, the technology can provide a more accurate fingerprint representation than a fingerprint derived from contact-based acquisition. In addition, by capturing the one or more images at a single moment and / or using a computing device with a relatively small form factor, the technology can enhance accuracy and efficiency.
[0006] In an example, a method includes capturing one or more friction ridge images of a finger at a time, the one or more friction ridge images including multiple perspectives of the finger. The method also includes determining a rolled fingerprint representation of the finger from the one or more friction ridge images, and outputting a rolled fingerprint representation, the rolled fingerprint representation including data from the multiple perspectives.
[0007] In another example, a device includes one or more cameras configured to capture one or more friction ridge images of a finger at a moment in time, the one or more friction ridge images including multiple perspectives of the finger; a memory configured to store the one or more friction ridge images; and one or more processors configured to determine a rolled fingerprint representation of the finger from the one or more friction ridge images and output the rolled fingerprint representation, the rolled fingerprint representation including data from the multiple perspectives.
[0008] The details of one or more examples are set forth in the accompanying figures and the description below.Other features, objects, and advantages will be apparent from the description and drawings, and from the claims. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 is a block diagram illustrating an example computing device configured to generate a rolled fingerprint representation of a finger according to aspects of the present disclosure.
[0010] Figure 2 A more detailed illustration Figure 1 A block diagram of an example computing device.
[0011] Figure 3A and 3B Example camera orientations for capturing one or more images including multiple perspectives of a finger are illustrated.
[0012] Figure 4 is a conceptual diagram illustrating an example of a computing device configured to capture one or more images for generating a rolled fingerprint representation according to aspects of the present disclosure.
[0013] Figure 5 is a flow chart illustrating an example process for determining a rolling fingerprint representation according to aspects of the present disclosure. DETAILED DESCRIPTION
[0014] The technology of the present disclosure includes determining a rolled fingerprint representation of a finger based on one or more images, the one or more images including multiple perspectives of the finger. Historically, fingerprints and palm prints have been manually collected by having individuals apply ink to their fingers and press their fingers and palms to paper, resulting in friction ridge images. Ink-based collection techniques can be both time consuming and visually disruptive. For example, during the collection process, the ink may bleed or become blurred on the paper. In addition, too much or too little ink may cause the quality of the collected print to suffer.
[0015] In some examples, friction ridge images can be acquired digitally. For example, a subject can place a finger or palm on a glass or other transparent surface, and an image can be captured through the glass or another transparent surface. However, contact acquisition of friction ridge images (e.g., ink-based or digital images) may have several limitations. For example, contact-based imprinting techniques may produce partial or degraded images due to improper hand placement, skin deformation, sliding and blurring, or sensor noise from wear and tear of surface coatings. In addition, contact-based techniques often produce low-quality imprints due to the uncontrollability and non-uniformity of hand pressure and from residues (e.g., oils, sweat, dirt) that may be present due to previous imprints.
[0016] Furthermore, contact printing typically requires the person providing their print to place their hands in specific positions, on or near certain equipment, and to perform certain movements that may be physically difficult to perform. Whether due to the person's age, physical limitations, disabilities, or other practical considerations, the acquisition of a high-quality print may be affected by the various human factor requirements involved in the relative positions and hand or body movements involved.
[0017] The difficulty in obtaining a high-quality contact-based fingerprint is compounded when collecting rolled fingerprints. Typically, a rolled fingerprint is collected by rolling the tip of the finger from one side of the nail to the other side of the nail. The rolling motion is intended to collect the maximum amount of fingerprint data across the finger, beyond what can be captured by simply pressing the finger flat against a surface. For example, a rolling motion can collect approximately 180 degrees of the finger, e.g., from edge to edge of the fingertip. The rolling motion can be difficult to perform consistently, and often requires not only the subject of the fingerprint to contact the collection device, but also a trained fingerprint collection administrator to contact the subject in order to assist in collecting a rolled fingerprint of acceptable quality.
[0018] Contactless technologies for capturing fingerprints may also have potential disadvantages. For example, certain contactless scanning devices may take an image of a hand at a distance and use a series of image processing algorithms to extract and enhance the fingerprint from the raw image. However, typical contactless fingerprint acquisition techniques may be limited to capturing a relatively simple and flat two-dimensional image of a finger (e.g., from a single viewing angle) and are not suitable for rolling capture of rolled fingerprints. In addition, contactless acquisition devices may be relatively large and stationary, which may be a limiting factor particularly for many law enforcement applications.
[0019] In some instances, the technology of the present disclosure can solve the technical and practical problems of collecting and / or processing one or more digital friction ridge images, and can solve one or more of the potential problems discussed above. For example, according to aspects of the present disclosure, a computing device can capture one or more friction ridge images including multiple perspectives of an object (such as a finger) at a particular moment without contacting the device responsible for capturing the image. As described herein, a friction ridge image is an image of a friction ridge surface, which can include any skin area with durable morphological features or detailed features, including unique ridges, wrinkles, scars, and pores. As described herein, perspective can generally refer to the appearance of an object when viewed from a specific position. The computing device can generate a rolling fingerprint representation, which includes data from the multiple perspectives. In some examples, the rolling fingerprint representation can include data from a 180-degree view of the pad of the fingertip, such as approximately from the edge of the nail of the fingertip to the other edge of the fingertip. In some instances, the computing device can have a relatively small form factor and can be movable with respect to the captured finger.
[0020] In this way, the technology can be used to generate a non-contact based representation that simulates a fingerprint rolled over a surface, as may be typically associated with contact-based acquisition of a fingerprint. In some instances, the non-contact based representation can provide a more accurate representation of the fingerprint than a fingerprint derived from contact-based acquisition. However, the rolled fingerprint representation can still be accurately compared to a traditional contact-based print. Furthermore, by capturing the one or more images at a single moment in time and / or using a computing device with a relatively small form factor, the technology can enhance accuracy and efficiency.
[0021] Figure 1 is a block diagram illustrating an example computing device configured to generate a rolled fingerprint representation of a finger according to aspects of the present disclosure. Figure 1In the example of , computing device 10 includes processor 12, storage unit 14, one or more cameras 16, and fingerprint processing unit 18. Computing device 10 may be configured to capture and process one or more images of finger 20, including multiple perspectives 22A-22C (generally, perspectives 22) of finger 20, for determining rolled fingerprint representation 24.
[0022] The functionality of computing device 10 may be implemented in hardware or in a combination of software and hardware, wherein the necessary hardware may be provided to store and execute software instructions. Computing device 10 may include a variety of devices for processing and / or manipulating data. In one example, computing device 10 may be included in an apparatus for capturing and / or processing friction ridge images (e.g., as in Figure 4 ).
[0023] Although illustrated as a single computing device 10 for purposes of illustration, it should be understood that computing device 10 may include multiple separate components. For example, processor 12 may be included in a device separate from one or more cameras 16. Furthermore, many other examples of computing device 10 may be used in other instances and may include a subset of the components included in the example computing device 10, or may include components that are not included in the example computing device 10. Figure 1 Additional components are shown in the example computing device 10.
[0024] In one example, processor 12 is configured to implement functions and / or process instructions for execution within computing device 10. For example, processor 12 may be capable of processing processing instructions stored by memory unit 14. Processor 12 may include, for example, a microprocessor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or equivalent discrete or integrated logic circuitry.
[0025] Storage unit 14 may include a computer-readable storage medium or a computer-readable storage device. In some examples, storage unit 14 includes one or more of a short-term memory or a long-term memory. Storage unit 14 may, for example, include a random access memory (RAM), a dynamic random access memory (DRAM), a static random access memory (SRAM), a hard disk, an optical disk, a flash memory, or an electrically programmable memory (EPROM) or an electrically erasable and programmable memory (EEPROM). Storage unit 14 may also include a network or cloud-based database or server residing outside computing device 10.
[0026] Storage unit 14 may store an operating system (not shown) that controls the operation of components of computing device 10. For example, the operating system may facilitate communication of fingerprint processing unit 18 with processor 12 and storage unit 14. In some examples, storage unit 14 is used to store program instructions for execution by processor 12. Storage unit 14 may also be configured to store information within computing device 10 during operation. Storage unit 14 may be used by software or applications (e.g., fingerprint processing unit 18) executed by processor 12 of computing device 10 to temporarily store information during program execution.
[0027] One or more cameras 16 may include an image sensor, an image processor, and / or any other components for capturing images. As described in more detail below, in some examples, cameras 16 may include at least two cameras for capturing images 20 from different perspectives. In some instances, cameras 16 may be selected based in part on a response to light in a selected wavelength. For example, camera 16 may include a five megapixel (5MP) image sensor due to a particular response in the blue wavelength.
[0028] The camera 16 may be configured to capture one or more images of one or more friction ridge surfaces. A friction ridge surface may include any skin area having durable morphological features or detailed features, including unique ridges, wrinkles, scars, and pores. Friction ridge surfaces are most commonly found on a person's hands or feet, and in particular, on the phalanges, on the base of a person's feet or toes, on the palmar surface of the hand, including the palm, the fingers, the area between two joints on a finger, the area between two fingers, and the fingertips. Detailed features may include, for example, ridge endings (e.g., the abrupt end of a ridge), ridge bifurcations (e.g., a single ridge that divides into two ridges), short or independent ridges (e.g., a ridge that starts, travels a short distance, and then ends), islands (e.g., a short ridge or a single small ridge within a ridge ending that is not connected to all other ridges), ridge enclosures (e.g., a single ridge that bifurcates and then immediately rejoins to continue as a single ridge), branches (e.g., a bifurcation with a short ridge branching off from a longer ridge), intersections or bridges (e.g., a short ridge that passes between two parallel ridges), triangles (e.g., a Y-shaped ridge junction), cores (e.g., a U-turn in a ridge pattern), and the like.
[0029] In some instances, the camera 16 may be configured to photograph or capture an image of a user's finger 20. However, although certain techniques are described herein with respect to "fingerprints," it should be understood that the techniques may be similarly applied to any friction ridge surface. In any case, the camera 16 may use an electronic rolling shutter (ERS) or a global reset release shutter (GRRS). GRRS and ERS differ in when pixels become effective for image capture. GRRS starts exposure for all rows of pixels at the same time, however, the total exposure time for each row is longer than the exposure time for the previous row. ERS exposes each row of pixels for the same duration, but each row starts exposure for that row after the previous row has started.
[0030] In some instances, camera 16 may use GRRS instead of ERS in order to eliminate image clipping effects. Image clipping is an image distortion caused by non-simultaneous exposure of adjacent rows (e.g., making a vertical line appear tilted). Hand tremors produce motion that may cause image clipping. Therefore, GRRS may be used to compensate for hand tremors and other motion artifacts. The duration of the flash and the camera exposure duration may affect the amount of motion blur produced during image acquisition due to object and / or camera movement. To counteract the blur that may be produced using GRRS, camera 16 may include an illumination barrier, or may implement other processing techniques to reduce the effects of ambient light.
[0031] According to aspects of the present disclosure, fingerprint processing unit 18 may determine, based on one or more images from camera 16, that a rolled fingerprint representation 24 includes data from at least two view angles 22. Rolled fingerprint representation 24 may include a friction ridge surface and may be comparable to a conventional fingerprint, such as the conventional “rolled” fingerprint discussed above. Figure 1 The example rolled fingerprint representation 24 illustrated in FIG. 1 is provided for illustration purposes only and may not be to scale. That is, the rolled fingerprint representation 24 may include additional or fewer friction ridge features and may not be as detailed in FIG. Figure 1 Data from a larger or smaller area of finger 20 may be included than shown in the example of FIG.
[0032] exist Figure 1 In the example of , the finger 20 is shown as viewed from the opposite end of the finger 20 when looking down the length of the finger 20 with the nail 26 disposed at the top of the finger 20. As described herein, the fingerprint processing unit 18 determines that the rolled fingerprint representation 24 includes data from multiple perspectives 22 of the pad of the finger 20 (illustrated as a thick line). In this way, the technique can be used to determine a representation of the fingerprint finger 20 that includes more data than a fingerprint captured from a single perspective (e.g., only from perspective 22B). Although Figure 1The example illustrates three viewing angles 22, but it should be understood that other examples may include more or fewer than those shown.
[0033] In some examples, the fingerprint processing unit 18 may determine that the rolled fingerprint representation 24 includes data from approximately a 180 degree viewing angle 28 of the pad of the finger 20. That is, the fingerprint processing unit 18 may determine that the rolled fingerprint representation 24 includes data from approximately half (e.g., plus or minus 5 degrees, 10 degrees, etc.) of the circumference of the finger 20 that includes the pad of the finger 20. In other examples, the fingerprint processing unit 18 may determine that the rolled fingerprint representation 24 includes more or less data, assuming that the representation includes data from multiple viewing angles 22.
[0034] The fingerprint processing unit 18 may scale the rolled fingerprint representation 24 to a particular resolution. In some instances, the resolution may be 500 pixels per inch (PPI) or 1000 PPI, as many government agencies or other entities may store conventional images at 500 PPI or 1000 PPI, which may be compared to the rolled fingerprint representation 24. In other examples, the fingerprint processing unit 18 may scale the rolled fingerprint representation 24 to any other resolution.
[0035] As described herein, the fingerprint processing unit 18 is configured to generate the rolled fingerprint representation 24 without any contact by the finger 20. That is, the camera 16 may capture the image at a distance from the finger 20. Thus, in order to properly scale the rolled fingerprint representation 24, as described herein, the fingerprint processing unit 18 may determine the distance between the camera 16 and the finger 20 and scale the rolled fingerprint representation 24 based on the determined distance.
[0036] Figure 2 A more detailed illustration Figure 1 A block diagram of an example computing device. Figure 2 The example shown in FIG. 1 includes a processor 12, a storage unit 14, one or more cameras 16, an interface 36, and a light source 38. The fingerprint processing unit 18 of the computing device 10 includes a calibration unit 42, a disparity determination unit 44, a disparity determination unit 46, a fingerprint representation unit 48, and a rescaling unit 50.
[0037] Again, in Figure 2 The architecture of computing device 10 illustrated in FIG. 1 is shown for exemplary purposes only. In other examples, computing device 10 may be configured in a manner having a plurality of Figure 2 The computing device 10 may be configured in various other ways with additional, fewer, or alternative components to those shown in FIG. For example, in some instances, the computing device 10 may include several additional components, such as a power supply, one or more displays, and the like.
[0038] As noted above, processor 12 may be configured to implement functional and / or process instructions for execution within computing device 10, while storage unit 14 may include a computer-readable storage medium or a computer-readable storage device. Camera 16 may be configured to capture images of the friction ridge surface (e.g., such as image 20).
[0039] Computing device 10 may utilize interface 36 to communicate with external devices via one or more wired or wireless connections. Interface 36 may include a network interface card, a universal serial bus (USB) interface, an optical interface, or any other type of interface capable of sending and receiving information via a particular communication standard. Examples of network interfaces may include Ethernet, Wi-Fi, or Bluetooth radios.
[0040] The light source 38 may include a light emitting diode (LED) or other component for illuminating an object before an image of the object is captured using the camera 16. It has been found that human skin has a higher reflectivity in the green and blue portions of the visible spectrum, and thus emitting light having wavelengths peaking in the blue and green portions of the visible spectrum can help to more clearly illuminate details on the friction ridge surface of the user's hand. Accordingly, the light source 38 may include an LED that emits light with a peak in the blue or green wavelengths (e.g., in the 440 to 570 nanometer (nm) range).
[0041] The light emitted by the light source 38 can have varying power levels. In some examples, the light source 38 can be paired with one or more light guides to direct the output of the light source 38 in a uniform manner. In one example, the light guide is made from a polycarbonate tube lined with an enhanced specular reflector (ESR) film and a skived film. In some examples, the light guide can collimate the emitted light so that each ray is parallel, thereby reducing light scattering and undesirable reflections.
[0042] In some examples, camera 16 may include one or more filtering components to block certain light. For example, to block ambient light, camera 16 may include a notch filter that blocks most ambient light but does not block a relatively narrow band centered around the wavelength emitted by light source 38.
[0043] The distance component 40 may be responsible for measuring the distance between the camera 16 and an object captured by the camera 16 (e.g., such as the finger 20). The distance component 40 may include any of a variety of sensors capable of measuring displacement, distance, or position. Examples of the distance component 40 include one or more laser-based sensors, optical sensors, ultrasonic sensors, and the like. In other examples, the distance component 40 may be a fixed physical meter connected to a device containing the camera 16. Still in other examples, the distance component 40 may be included in the camera 16 itself. That is, the camera 16 may be used to determine the distance between the object and the camera 16. The distance component 40 may output data indicating an absolute or relative distance or position (e.g., relative to the camera 16).
[0044] In some examples, the distance component 40 may include one or more devices that generate audible feedback (e.g., one or more speakers), visual feedback (e.g., one or more displays, light emitting diodes (LEDs), etc.), or tactile feedback (e.g., a vibration or device that provides other tactile feedback). In such examples, the distance component 40 may output an audible, visual, or tactile indication of the distance. For example, as described in more detail below, the fingerprint processing unit 18 may use the output from the distance component 40 to ensure that the image captured by the camera 16 has a particular resolution and / or includes a particular field of view. Thus, the distance component 40 may output an audible, visual, or tactile output when the captured object (e.g., such as a finger 20) is located at a particular distance and / or orientation relative to the camera 16.
[0045] For purposes of illustration, in an example, the distance component 40 can generate feedback that indicates to the user the target capture volume and / or the optimal capture distance. For example, the distance component can generate and project two laser lines (e.g., corresponding dashed lines) from two angles such that the two dashed lines form a continuous line when the surface is a certain distance from the camera 16. Various other different examples are also possible (e.g., two colors that add up to a third color, etc.).
[0046] According to aspects of the present disclosure, as described above with respect to Figure 1As noted, the fingerprint processing unit 18 may determine a rolling fingerprint representation that includes data from multiple perspectives of an object, such as a finger 20. In some examples, multiple cameras 16 may be included in the computing device 10, and data from the cameras 16 may be used to determine a distance between the cameras 16 and the object. In such an example, the calibration unit 42 may be configured to calibrate the cameras 16. For example, the calibration unit 42 may calibrate each camera 16 and correct for distortion within the lens of the camera 16. In some examples, the calibration unit 42 may perform calibration by taking multiple images of a chessboard with known square dimensions across the full field of view of each camera 16. The calibration unit 42 may use the intersection of black and white squares to find points in the captured images. The calibration unit 42 may use the determined points to calculate camera intrinsic properties and lens distortion. The calibration unit 42 may use such information to undistort the image.
[0047] In some examples, calibration unit 42 may also determine extrinsic properties of cameras 16 (e.g., physical relationships between cameras 16). Calibration unit 42 may determine the extrinsic properties by imaging a checkerboard pattern with known black and white square sizes with each camera 16 simultaneously but at different distances, in different planes, and at different orientations relative to cameras 16. Calibration unit 42 may determine the intersection of the black and white squares in the image from each camera 16 and calculate the rotation and translation of one camera 16 relative to the other camera 16. After determining the extrinsic properties of cameras 16, calibration unit 42 may rectify the images captured by cameras 16 so that calibration unit 42 may search for correspondences in the images in one dimension instead of two dimensions.
[0048] According to some aspects, calibration unit 42 may use OpenCV to calibrate camera 16. For example, calibration unit 42 may apply the calibrateCamera function of OpenCV to determine intrinsic and extrinsic parameters of several views of a calibration pattern. In other examples, calibration unit 42 may calibrate camera 16 using one or more techniques described in the document “A Four-step Camera Calibration Procedure with Implicit Image Correction” by Heikkila et al., Infotech Oulu and Department of Electrical Engineering, June 1997.
[0049] Calibration unit 42 may be configured to calibrate camera 16 at periodic intervals. For example, calibration unit 42 may calibrate camera 16 upon installation of an apparatus including computing device 10. In other examples, calibration unit 42 may calibrate camera 16 on a specific schedule, such as every six months, every year, etc.
[0050] When calibrating the cameras 16, the disparity determination unit 44 may determine the disparity between the perspectives captured by the cameras 16. For example, the disparity determination unit 44 may initially determine the disparity between the perspective captured by a first camera of the cameras 16 and the perspective captured by a second camera of the cameras 16. In one example, the disparity determination unit 44 may determine the disparity map by locating corresponding feature points of images of the same object (e.g., a hand) taken from each of the first and second cameras 16 and determining the disparity between the feature points.
[0051] In some examples, disparity determination unit 44 may determine the disparity map by calculating differences in pixel space between the same feature points in each image. For purposes of illustration, in an example, disparity determination unit 44 may determine an image as captured by a first camera in cameras 16 (such as Figure 1 Disparity determination unit 44 may determine the position of a feature point (e.g., a block of pixels) in a first version of the image 20). For example, disparity determination unit 44 may determine the position using a Cartesian or similar coordinate system. Disparity determination unit 44 may also determine the position of the same feature point in a second version of the image as captured by a second camera in cameras 16. Disparity determination unit 44 may determine the disparity as the difference in number of pixels between the determined position in the first version of the image and the determined position in the second version of the image.
[0052] In some examples, the density of the disparity map may depend on the number of reliable matching feature points that can be identified in each image. For example, disparity determination unit 44 may initially determine similar feature points by determining the sum of absolute differences (SAD) (or other similar metric) between a block of pixels of a first image and a block of pixels of a second image. In some examples, disparity determination unit 44 may determine disparity only for blocks that have differences less than a certain threshold.
[0053] In some examples, the block size used for feature points and / or similarity thresholds may be variable depending on the application in which computing device 10 is used. For example, in a high-security application in which a processed image is compared to another image with a relatively high degree of scrutiny, disparity determination unit 44 may determine disparity for relatively small blocks of pixels and / or set the similarity threshold so that disparity is determined only for blocks of pixels having a high degree of similarity.
[0054] Distance determination unit 46 may determine the distance between an object represented in an image from camera 16 and a plane of interest (e.g., such as an image plane defined by camera 16, or another fixed plane between the object and camera 16). The distance may be a Euclidean distance between the object(s) and the plane of interest. In instances where distance determination unit 46 determines the distance using camera 16, distance determination unit 46 may determine the distance based on, for example, the disparity determined by disparity determination unit 44. In one example, distance determination unit 46 may determine the distance by multiplying the camera separation distance between cameras 16 by the focal length of cameras 16 and dividing by the determined disparity. In other examples, distance determination unit 46 may determine the distance based on disparity using various other techniques based on output from distance component 40.
[0055] According to aspects of the present disclosure, fingerprint representation unit 48 determines a rolled fingerprint representation of an object (e.g., such as finger 20) from one or more images captured by one or more cameras 16. As described herein, fingerprint representation unit 48 may include data in representations from multiple perspectives (e.g., such as perspective 22). In some examples, fingerprint representation unit 48 may perform image stitching to combine data from multiple perspectives to generate a single rolled fingerprint representation. In other examples, fingerprint representation unit 48 may generate a three-dimensional representation of the object and convert the three-dimensional representation of the object to a two-dimensional representation.
[0056] For purposes of illustration, in an example, in operation, one or more cameras 16 may be positioned to capture one or more images of an object, such as a finger or hand of a person. As described herein, in some examples, computing device 10 may be a mobile computing device having a relatively small form factor that allows computing device 10 to articulate with respect to an object captured by camera 16. Distance component 40 may measure the distance between the captured object and camera 16. When located at a predetermined distance, for example, as determined by distance determination unit 16, computing device 10 may generate a visual, audible, or tactile output to indicate that the object is within an appropriate range and / or field of view is suitable for capture.
[0057] The light source 38 can illuminate the object, and the camera 16 can capture one or more images of the object. The one or more images may include multiple perspectives of the object. For example, as described below with respect to Figure 3A and 3B As described in more detail, multiple cameras 16 may be positioned to capture images of an object from different angular viewpoints. In other examples, a single or multiple cameras 16 may capture one or more images that include a reflection of at least a portion of an object.
[0058] In some examples, light source 38 may be configured to generate relatively uniform light across the curved portion of finger 20. For example, light source 38 may generate light for illuminating finger 20 that avoids oversaturating or shadowing certain portions of finger 20. In some examples, light source 38 may include more than one lighting component located at various points about finger 20. In some examples, camera 16 may be configured to capture an image of finger 20 without finger 20 being in an enclosed space. In such examples, light source 38 may be configured to provide relatively uniform illumination of the curved surface of finger 20 in a manner that compensates for ambient light.
[0059] Fingerprint representation unit 48 may generate a rolling fingerprint representation from the one or more images captured by camera 16, the rolling fingerprint representation including data from multiple perspectives. For example, fingerprint representation unit 48 may stitch together portions of an image or data from multiple images to generate a rolling fingerprint representation of an object. In some examples, fingerprint representation unit 48 may apply one or more algorithms (e.g., based on parameters determined by calibration unit 42) to combine portions of an image or data from multiple images. Fingerprint representation unit 48 may compensate for exposure differences between cameras by performing shading or color adjustments.
[0060] For example, the fingerprint representation unit 48 may perform feature matching of data from different perspectives. That is, the fingerprint representation unit 48 may identify feature points of the same object captured from different perspectives. The fingerprint recognition unit 48 may apply one or more merging, stitching, alignment, or other algorithms to combine portions of an image or multiple images, wherein feature points are located along boundaries of different perspectives. The fingerprint representation unit 48 may output a two-dimensional representation of the object including data from multiple perspectives. In some instances, the fingerprint representation unit may generate an image file (e.g., a bitmap, jpeg, etc.) containing the rolled fingerprint representation and store the image file to the storage unit 14.
[0061] According to aspects of the present disclosure, the number of cameras 16, the orientation of cameras 16, and / or other components responsible for image capture (e.g., such as reflective surfaces) may be configured to ensure that there is sufficient overlap (e.g., in terms of field of view) to allow image registration. That is, the cameras 16 may be configured to capture images having at least some of the same data so that the images may be accurately merged.
[0062] In another example, fingerprint representation unit 48 may generate a three-dimensional model of the object from one or more images of the object. Fingerprint representation unit 48 may then convert the three-dimensional representation of the object into a two-dimensional representation of the object. That is, fingerprint representation unit 48 may apply one or more algorithms to the three-dimensional representation in order to generate a rolling fingerprint representation of the object. Example algorithms are described in International Publication No. WO 2016 / 144671A1, published on September 15, 2016 and assigned to 3M Innovative Properties, Inc.
[0063] The rescaling unit 50 may determine the resolution of each image from the camera 16 and / or the rolled fingerprint representation generated by the fingerprint representation unit 48. For example, the rescaling unit 50 may determine the resolution based on the distance calculation results from the distance determination unit 44. For purposes of illustration, in an example, the rescaling unit 50 may determine the resolution by dividing the focal length of the lens of the camera 16 by the product of the distance from the lens to the object (e.g., such as the finger 20) and the pixel size of the imaging sensor of the camera 16.
[0064] The rescaling unit 50 may apply any of a variety of downsizing and / or downsampling algorithms. For example, the rescaling unit 50 may apply a low-pass spatial filter followed by removal of points (conceptually). In another example, the rescaling unit 50 may perform resampling using a local interpolation function. In some examples, the rescaling unit 50 may apply a low-pass or other filter in conjunction with performing interpolation. Example filters that may be used by the rescaling unit 50 may include a bicubic filter, a sinc filter, a Lanczos filter, or a variety of other filters. The rescaling unit 50 may then scale the resolution of each ROI to a particular resolution. In some examples, the rescaling unit 50 may scale the resolution of the rolling fingerprint representation to 500 PPI, 1000 PPI, or any other resolution.
[0065] Fingerprint processing unit 18 may output a rolled fingerprint representation (or other processed image). For example, fingerprint processing unit 18 may output data representing the processed image to another external device via interface 36. In other examples, fingerprint processing unit 18 may store data representing the processed image to storage unit 14.
[0066] It should be understood that Figure 2 The components of the fingerprint processing unit 18 illustrated in FIG. 1 are provided for exemplary purposes only, and other examples may have arrangements of more, fewer, or alternative components than those shown. For example, the fingerprint processing unit 18 may include Figure 24, e.g., omitting calibration unit 42, disparity determination unit 44, and / or other units. In addition, as described herein, computing device 10 may not include camera 16, light source 38, or distance component 40, which may be distributed in one or more other devices in communication with computing device 10.
[0067] Figure 3A and 3B Example camera orientations are illustrated for capturing one or more images including multiple perspectives of finger 20. For example, Figure 3A A plurality of cameras are illustrated, including a first camera 16A, a second camera 16B, and a third camera 16C (generally, cameras 16), wherein each camera 16 is oriented to capture a respective perspective of finger 20. Although Figure 3A The example of illustrative embodiment illustrates three cameras 16 , but it should be understood that fewer or additional cameras 16 may be included to capture images of the finger 20 from fewer or additional respective viewing angles.
[0068] In some examples, prior to capturing the one or more images, finger 20 may be positioned in a particular position relative to camera 16. For example, to capture images and / or generate a rolled fingerprint representation that includes a desired amount of data (e.g., capturing data from 180 degrees of finger 20) and / or has a desired resolution, finger 20 may be positioned a first distance 54A from camera 16A, a second distance 54B from second camera 16B, and a third distance 54C from third camera 16C. In some examples, computing device 10 may be stationary, and the user may move finger 20 to distances 54A-54C in order to capture images of finger 20. In other examples, computing device 10 may have a relatively small form factor and may be movable with respect to finger 20, in accordance with aspects of the present disclosure. In such examples, as described below with respect to Figure 4 As described in more detail by way of example, computing device 10 may be moved to distances 54A- 54C in order to capture an image of finger 20 .
[0069] Computing device 10 may generate an output when finger 20 is positioned at first distance 54A from camera 16A, second distance 54B from second camera 16B, and third distance 54C from third camera 16C. For example, computing device 10 may generate an audible, visual, and / or tactile output when finger 20 is positioned at distances 54A-54C to capture an image of finger 20. In some examples, computing device 10 may output a respective indication for each of first camera 16A, second camera 16B, and third camera 16C moved to respective distances 54A-54C.
[0070] Figure 3BAn example is illustrated with a single camera 16 and a reflective surface 56. For example, instead of having multiple cameras to capture separate images from different perspectives (or in addition to having multiple cameras to capture separate images from different perspectives), the reflective surface 56 may be positioned to reflect the perspective of the finger 20. Thus, when the finger 20 is positioned at the distance 58, the camera 16 may capture an image including data from multiple perspectives of the finger 20. That is, the camera 16 may directly capture a first perspective of the finger 20 and one or more reflections of the finger 20 including one or more other perspectives.
[0071] It should be understood that Figure 3B The examples are provided for illustration purposes only and are not necessarily to scale. Furthermore, other examples may include fewer or additional reflective surfaces positioned in orientations other than those shown.
[0072] Figure 4 is a conceptual diagram illustrating an example of a computing device 10 configured to capture one or more images for generating a rolled fingerprint representation, according to aspects of the present disclosure. Figure 4 The example of illustrative embodiments illustrates computing device 10 as a handheld device that is movable with respect to an object for which a rolled fingerprint representation is generated.
[0073] For example, the body of computing device 10 includes handle 62 and capture trigger 64. A user may hold computing device 10 by handle 62 and articulate computing device 10 to position camera 16 in a position to capture one or more images of an object (such as finger 20). Figure 4 The distance between the camera 16 and the object can be determined by a sensor (illustrated in the example of FIG. 1 ) based on a laser. The computing device 10 can generate an audible, visual, or tactile indication when the camera 16 is moved to a predetermined distance from the finger 20.
[0074] Based on the feedback, the user of computing device 10 may press capture trigger 64, which may cause light source 38 to illuminate finger 20 and actuate camera 16. As described herein, camera 16 may capture one or more images including multiple perspectives of finger 20. Computing device 10 may generate a rolled fingerprint representation of finger 20, the rolled fingerprint representation including data from the multiple perspectives. Computing device 10 may output or store the determined representation. For example, computing device 10 may generate an image file (e.g., a bitmap, jpeg, etc.) containing the rolled fingerprint representation and store the image file to a memory.
[0075] It should be understood that Figure 4 The specific arrangement and operation of the components of computing device 10 illustrated in FIG. 1 are provided for illustrative purposes only, and other examples are within the scope of the present disclosure. Figure 4 The example shown in includes three cameras 16 arranged horizontally across computing device 10. However, in other examples, computing device 10 may include fewer or additional cameras 16, and / or cameras 16 may be arranged alternately. As another example, in Figure 4 The example shown in includes a capture trigger 64 actuated by a user. However, in other examples, computing device 10 may be configured to automatically illuminate light source 38 and actuate camera 16 when camera 16 is appropriately positioned with respect to the object being captured (e.g., as measured by distance component 40).
[0076] Figure 5 is a flowchart illustrating an example process for determining a rolling fingerprint representation according to aspects of the present disclosure. Figure 1 and 2 ), but it should be understood that other devices may be configured to perform the same Figure 5 The process is the same or a similar process.
[0077] exist Figure 5 In some examples, computing device 10 or finger 20 is positioned at a particular distance for capture (68). For example, in instances where computing device 10 is a movable device (e.g., a handheld device), a user may position computing device 10 at a particular orientation with respect to finger 20. In some examples, distance component 40 may measure the distance between camera 16 and finger 20, and computing device 10 may generate an audible, visual, or tactile output that computing device 10 is located in the particular orientation.
[0078] Camera 16 captures one or more images including multiple perspectives of finger 20 (70). In some examples, multiple cameras 16 may capture multiple images, where each image includes a respective perspective. Camera 16 may capture each of the multiple images at the same time. In other examples, one or more cameras 16 may capture an image including a reflection of at least a portion of finger 20, such that the resulting image includes multiple perspectives of finger 20.
[0079] Computing device 10 generates a rolled fingerprint representation that includes data from the multiple perspectives (72). For example, computing device 10 may stitch portions of an image or multiple images to generate the rolled fingerprint representation. In other examples, computing device 10 may generate a three-dimensional representation of finger 20 and convert the three-dimensional representation to a two-dimensional rolled fingerprint representation. In some examples, computing device 10 may scale or apply perspective correction to the rolled fingerprint representation.
[0080] Computing device 10 outputs the rolled fingerprint representation (74). In some examples, computing device 10 may transmit the rolled fingerprint representation to another computing device. In other examples, computing device 10 may store the rolled fingerprint representation to a memory. Computing device 10 or another device that receives the rolled fingerprint representation may compare the rolled fingerprint representation to other fingerprints, such as a database of fingerprints.
[0081] It should be understood that Figure 5 The described techniques are provided for illustrative purposes only, and other techniques are also within the scope of the present disclosure. For example, other example processes may include Figure 5 Arrangements of greater, fewer, or alternative steps to those shown in the examples.
[0082] Example 1: A method comprising: capturing one or more friction ridge images of a finger at a moment in time, the one or more friction ridge images comprising multiple perspectives of the finger; determining a rolled fingerprint representation of the finger from the one or more friction ridge images, the rolled fingerprint representation comprising data from the multiple perspectives; and outputting the rolled fingerprint representation.
[0083] Example 2: The method of claim 1, wherein the plurality of viewing angles comprises a 180 degree view of the pad of the finger, and wherein the rolled fingerprint representation comprises an approximately 180 degree representation of the pad of the finger.
[0084] Example 3: The method of any of Examples 1-2, wherein capturing the one or more friction ridge images comprises capturing a single friction ridge image from a single camera, the single friction ridge image comprising at least one reflection of at least a portion of a finger.
[0085] Example 4: The method of any of Examples 1-3, wherein capturing the one or more friction ridge images comprises capturing a plurality of friction ridge images from a plurality of cameras corresponding to the plurality of perspectives.
[0086] Example 5: The method of any of Examples 1-4, wherein determining the rolling fingerprint representation comprises determining a two-dimensional rolling fingerprint representation, and wherein determining the two-dimensional rolling fingerprint representation comprises stitching data from the multiple perspectives.
[0087] Example 6: The method of any of Examples 1-5, wherein determining the rolling fingerprint representation comprises determining a three-dimensional rolling fingerprint representation and converting the three-dimensional rolling fingerprint representation to the rolling fingerprint representation.
[0088] Example 7: The method of any of Examples 1-6, wherein determining the rolling fingerprint representation comprises scaling the rolling fingerprint representation to one of 500 pixels per inch or 1000 pixels per inch.
[0089] Example 8: The method of any one of Examples 1-7 further includes: before capturing the one or more friction ridge images, determining the distance between one or more cameras responsible for capturing the one or more friction ridge images and the finger; and outputting an indication that the distance is equal to a predetermined distance used to capture the one or more friction ridge images.
[0090] Example 9: The method of any of Examples 1-8, wherein determining the distance comprises receiving, by a computing device responsible for determining the rolled fingerprint representation, data indicating a distance from a distance sensor, and determining, by the computing device, the distance based on the data.
[0091] Example 10: The method of any of Examples 1-9, wherein outputting the indication of the distance comprises generating an audible indication, a visual indication, or a tactile indication.
[0092] Example 11: The method of any of Examples 1-10, wherein capturing the one or more friction ridge images comprises articulating a handheld computing device for capturing the one or more friction ridge images to a predetermined position relative to a finger.
[0093] Example 12: The method of any of Examples 1-11, wherein outputting the rolled fingerprint representation comprises generating an image file containing the rolled fingerprint representation and storing the image file to a memory.
[0094] In one or more examples, the described functions may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on a computer-readable medium or transmitted as one or more instructions or codes via a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media corresponding to tangible media (such as data storage media), or communication media, including any media that facilitates the transfer of a computer program from one location to another, for example, according to a communication protocol. In this manner, a computer-readable medium may generally correspond to (1) a non-transitory tangible computer-readable storage medium, or (2) a communication medium such as a signal or carrier wave. A data storage medium may be any available medium that can be accessed by one or more computers or one or more processors to retrieve instructions, codes, and / or data structures for implementing the techniques described in the present disclosure. A computer program product may include a computer-readable medium.
[0095] As an example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, disk storage, or other magnetic storage devices, flash memory, or any other medium that can be used to store the desired program code in the form of instructions or data structures and can be accessed by a computer. Moreover, any connection is properly referred to as a computer-readable medium. For example, if a coaxial cable, optical fiber cable, twisted pair, digital subscriber line (DSL) or wireless technologies such as infrared, radio and microwave are used to transmit instructions from a website, server or other remote source, then coaxial cable, optical fiber cable, twisted pair, DSL or wireless technologies such as infrared, radio and microwave are included in the definition of medium. However, it should be understood that computer-readable storage media and data storage media do not include connections, carriers, signals or other transient media, but are instead connected to non-transient tangible storage media. As used, disks and optical disks include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks and blue-ray disks, wherein disks generally reproduce data magnetically, and optical disks reproduce data optically using lasers. The above combination should also be included in the scope of computer-readable media.
[0096] Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general-purpose microprocessors, application-specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), or other equivalent integrated or discrete logic circuits. Accordingly, the term "processor" as used may refer to any of the aforementioned structures or any other structures suitable for implementing the described techniques. In addition, in some aspects, the described functionality may be provided in dedicated hardware and / or software modules. Moreover, the techniques may be implemented entirely in one or more circuits or logic elements.
[0097] The technology of the present disclosure can be implemented in a variety of devices or apparatuses, including wireless handsets, integrated circuits (ICs), or IC collections (e.g., chipsets). Various components, modules, or units are described in the present disclosure to emphasize the functional aspects of devices configured to perform the disclosed technology, but implementation by different hardware units is not necessarily required. Instead, as described above, the various units can be combined in hardware units, or provided by a cluster of interoperable hardware units (including one or more processors as described above) in combination with appropriate software and / or firmware.
[0098] It is to be appreciated that, depending on the example, certain actions or events of any of the methods described herein may be performed in a different order, may be added, combined, or omitted altogether (e.g., not all described actions or events are necessary for the practice of the method). In addition, in some examples, actions or events may be performed concurrently, such as by multithreading, interrupt handling, or multiple processors, rather than sequentially.
[0099] In some examples, computer-readable storage media include non-transitory media. The term "non-transitory" in some examples indicates that the storage medium is not embodied in a carrier wave or propagating signal. In some examples, non-transitory storage media stores data that can change over time (e.g., in RAM or cache).
[0100] Various examples have been described. These and other examples are within the scope of the following claims.
Claims
1. A method comprising: capturing one or more friction ridge images of a finger at a time, the one or more friction ridge images comprising a plurality of perspectives of the finger; Perform feature matching of feature points of the finger from different views; determining a rolled fingerprint representation of the finger from the one or more friction ridge images and based on matched feature points located along boundaries of the different perspectives, the rolled fingerprint representation comprising data from the multiple perspectives; as well as Output rolling fingerprint representation, wherein the number and / or orientation of one or more cameras responsible for capturing the one or more friction ridge images are configured such that there is sufficient overlap in the field of view of the one or more cameras for accurate image merging, and wherein determining the rolling fingerprint representation includes determining a two-dimensional rolling fingerprint representation, and wherein determining the two-dimensional rolling fingerprint representation includes stitching data from the multiple perspectives.
2. The method of claim 1, wherein the plurality of viewing angles comprises a 180 degree view of the pad of a finger, and wherein the rolled fingerprint representation comprises an approximately 180 degree representation of the pad of the finger. 3 . The method of claim 1 , wherein capturing the one or more friction ridge images comprises capturing a single friction ridge image from a single camera, the single friction ridge image comprising at least one reflection of at least a portion of a finger. 4 . The method of claim 1 , wherein capturing the one or more friction ridge images comprises capturing a plurality of friction ridge images from a plurality of cameras corresponding to the plurality of viewing angles.
5. The method of claim 1, wherein determining the rolled fingerprint representation comprises determining a three-dimensional rolled fingerprint representation, and converting the three-dimensional rolled fingerprint representation to the rolled fingerprint representation.
6. The method of claim 1, wherein determining the rolled fingerprint representation comprises scaling the rolled fingerprint representation to one of 500 pixels per inch or 1000 pixels per inch.
7. The method of claim 1, further comprising: Prior to capturing the one or more friction ridge images, determining a distance between one or more cameras responsible for capturing the one or more friction ridge images and the finger; as well as An indication is output that the distance is equal to a predetermined distance used to capture the one or more friction ridge images.
8. The method of claim 7, wherein determining the distance comprises receiving, by a computing device responsible for determining the rolled fingerprint representation, data indicating a distance from a distance sensor, and determining, by the computing device, the distance based on the data.
9. The method of claim 7, wherein outputting the indication of the distance comprises generating an audible indication, a visual indication, or a tactile indication.
10. The method of claim 1, wherein capturing the one or more friction ridge images comprises articulating a handheld computing device for capturing the one or more friction ridge images to a predetermined position relative to a finger.
11. The method of claim 1, wherein outputting the rolled fingerprint representation comprises generating an image file containing the rolled fingerprint representation and storing the image file to a memory.
12. A device comprising: one or more cameras configured to capture one or more friction ridge images of a finger at a time, the one or more friction ridge images comprising a plurality of perspectives of the finger; a memory configured to store the one or more friction ridge images; as well as One or more processors, the one or more processors configured to: Perform feature matching of feature points of the finger from different views; determining a rolled fingerprint representation of the finger from the one or more friction ridge images and based on matched feature points located along boundaries of the different viewing angles, the rolled fingerprint representation comprising data from the multiple viewing angles; as well as outputting the rolling fingerprint representation, wherein the number and / or orientation of the one or more cameras is configured such that there is sufficient overlap in the field of view of the one or more cameras for accurate image merging, and Wherein to determine the rolled fingerprint representation, the one or more processors are configured to determine a two-dimensional rolled fingerprint representation by stitching data from the multiple perspectives.
13. The apparatus of claim 12, wherein the plurality of viewing angles comprises a 180 degree view of the pad of a finger, and wherein the rolled fingerprint representation comprises an approximately 180 degree representation of the pad of the finger.
14. The device of claim 12, wherein the one or more cameras is one camera, and wherein capturing the one or more friction ridge images comprises capturing a single friction ridge image, the single friction ridge image comprising at least one reflection of at least a portion of a finger.
15. The apparatus of claim 12, wherein the one or more cameras comprises a plurality of cameras, and wherein capturing the one or more friction ridge images comprises capturing a plurality of friction ridge images from the plurality of cameras, the plurality of cameras corresponding to the plurality of viewing angles.
16. The device of claim 12, wherein to determine the rolled fingerprint representation, the one or more processors are configured to determine a three-dimensional rolled fingerprint representation and convert the three-dimensional rolled fingerprint representation to the rolled fingerprint representation.
17. The apparatus of claim 12, further comprising: a distance component configured to determine a distance between one or more cameras responsible for capturing the one or more friction ridge images and a finger prior to capturing the one or more friction ridge images; and Wherein the one or more processors are configured to output an indication that the distance is equal to a predetermined distance used to capture the one or more friction ridge images.
18. The device of claim 17, further comprising an output component configured to output an audible, visual, or tactile indication of the distance.
19. The device of claim 12, wherein the device comprises a handheld device.
20. The device of claim 12, further comprising a light source configured to illuminate the finger.
21. The device of claim 12, further comprising a trigger component configured to activate the one or more cameras.
22. An apparatus comprising means for performing any combination of the steps of claims 1-11.
23. A non-transitory computer readable medium having stored thereon instructions that, when executed, cause one or more processors to perform any combination of the steps of claims 1-11.
Citation Information
Patent Citations
Wideband channel equalization for signals propagated in lossy transmission media
WO2016144671A1