WO2004061770A1 - 指紋照合装置および方法、記録媒体、並びに、プログラム - Google Patents

指紋照合装置および方法、記録媒体、並びに、プログラム Download PDF

Info

Publication number
WO2004061770A1
WO2004061770A1 PCT/JP2003/015647 JP0315647W WO2004061770A1 WO 2004061770 A1 WO2004061770 A1 WO 2004061770A1 JP 0315647 W JP0315647 W JP 0315647W WO 2004061770 A1 WO2004061770 A1 WO 2004061770A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
triangle
fingerprint
area
fingerprint image
Prior art date
Application number
PCT/JP2003/015647
Other languages
English (en)
French (fr)
Inventor
Tatsunobu Ando
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to US10/541,436 priority Critical patent/US7577276B2/en
Priority to KR1020057012588A priority patent/KR101051536B1/ko
Priority to EP03777333.0A priority patent/EP1583034B1/en
Publication of WO2004061770A1 publication Critical patent/WO2004061770A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1347Preprocessing; Feature extraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification

Definitions

  • Fingerprint matching device and method recording medium, and program
  • the present invention relates to a fingerprint matching device and method, a recording medium, and a program, and more particularly to a fingerprint matching device and method, a recording medium, and a program for reducing the amount of data to be stored.
  • Fingerprint verification devices that read the fingerprint of a user's finger, verify the fingerprint, and authenticate the user have been applied to various devices.
  • the fingerprint image is binarized and thinned, and feature points such as end points and branch points are extracted from the thinned image. Then, a predetermined number of pixels are traced back from the feature point along the fine line, this part is extracted as a partial thin line, and the partial thin line is converted into an approximate line segment sequence. This operation is repeated for a predetermined number of feature points, and a line segment sequence formed by connecting a plurality of line segments is extracted. In this way, the fingerprint image is converted into a line segment sequence, and the coordinates of the points at both ends of the line segment and the coordinates of the position where the line segment changes are registered.
  • Patent Document 1 When the feature point is a branch point, the same operation is repeated for the three branched thin lines. Furthermore, the number of ridges that intersect with the line connecting the points at both ends of the different partial thin lines is calculated and registered from the partial thin lines, the thinned image, the types and the coordinates of the feature points (see, for example, See Japanese Patent Application Publication No. 1-150175 (hereinafter referred to as Patent Document 1).
  • the fingerprint image is binarized and thinned, and then feature values are extracted. Then, among the obtained thinned images, one having a position close to one of the registered partial thin lines is selected, and the two patterns are compared. If the degree of inconsistency is equal to or less than a certain threshold, the two are the same.
  • this alignment is sequentially performed on the feature points in the collation image, and when a match is detected, the two are aligned, and the other partial thin lines are moved by the amount of movement at this time. A similar comparison is made with respect to the partial thin line. Further, the number of intersecting ridges is calculated from the collation target thin line image, and the number of intersecting ridges is compared with the number of registered intersecting ridges. See 1).
  • all or part of the fingerprint image is used as a registration template.
  • the collation is not easy and the accuracy is not sufficient.
  • the minutiae method uses information on the number of ridges between feature points in addition to information on the position, direction, and type (for example, branch points and end points) of each feature point. Authentication accuracy is improved by the number of ridges between feature points. That is, even in this method, a certain size of template size is required to increase the authentication accuracy. As described above, there are problems that the processing speed is still slow, the data amount is still large, and the accuracy is not sufficient. Disclosure of the invention
  • the present invention has been made in view of such a situation, and aims to increase the processing speed, reduce the amount of data, and increase the accuracy.
  • the first information processing apparatus includes: a first detection unit configured to detect a first feature point, which is one of a branch point and an end point of a fingerprint, from a fingerprint image; First creating means for creating a triangle connecting any three adjacent pieces; first calculating means for calculating the area and side length of the triangle created by the first creating means; Storage means for storing the area and side length of the triangle calculated by the calculation means.
  • a second detection unit that detects a center point that is a center of the fingerprint image; and a first detection unit that detects a center point based on a distance between the center point detected by the second detection unit and the plurality of first feature points.
  • the first detecting means further detects a second feature point which is the other of the branch point and the end point, and detects three first feature points forming one triangle as first points, respectively.
  • the second point and the third point, the second feature point closest to the first point and the first point, the fourth feature point, the second point and the closest point to the second point At least one of the distance and direction of the fifth point which is the second feature point and the sixth point which is the second feature point closest to the third point and the third point.
  • the apparatus further comprises a second calculating means for calculating one of the first and fourth points; the storing means calculates the first and fourth points; the second and fifth points; and At least one of the distance and the direction of each of the third point and the sixth point can be further stored.
  • a second detection unit that detects a center point that is the center of the fingerprint image; and a second detection unit that detects a center point based on a distance between the center point detected by the second detection unit and the plurality of first feature points.
  • Sorting means for sorting the feature points, wherein the second calculating means uses the sorted second feature points to generate fourth to fourth points corresponding to the first to third points. The distance and / or direction of the point 6 can be calculated.
  • Second detecting means for detecting a first characteristic point of the fingerprint from the fingerprint image to be collated; and connecting any three adjacent ones of the plurality of first characteristic points of the fingerprint of the fingerprint image to be collated.
  • Second creating means for creating a triangle second calculating means for calculating the area and side length of the triangle created by the second creating means, and 3 stored by the storage means.
  • the apparatus may further include comparing means for comparing the area and the length of the side of the polygon and the length of the triangle and the length of the side of the triangle of the fingerprint image to be collated calculated by the second calculating means. it can.
  • a first information processing method includes: a first detecting step of detecting a first feature point, which is one of a branch point and an end point of a fingerprint, from a fingerprint image; A first creation step of creating a triangle connecting any three adjacent pieces, and a first calculation step of calculating the area and side length of the triangle created by the processing of the first creation step A storage control step of controlling storage of the area and side length of the triangle calculated by the processing of the first calculation step.
  • the program recorded on the first recording medium of the present invention includes: a first detection step of detecting a first feature point, which is one of a branch point and an end point of a fingerprint, from a fingerprint image; Among the feature points, a first creation step of creating a triangle connecting any three adjacent points, and a first calculation step of calculating the area and side length of the triangle created by the processing of the first creation step And a storage control step of controlling the storage of the area and side length of the triangle calculated by the processing of the first calculation step.
  • a first program includes: a first detection step of detecting a first feature point, which is one of a branch point and an end point of a fingerprint, from a fingerprint image; A first creation step of creating a triangle connecting any three pieces; a first calculation step of calculating the area and side length of the triangle created by the processing of the first creation step; And a storage control step of controlling storage of the area and side length of the triangle calculated by the processing of the calculation step.
  • the second information processing apparatus of the present invention comprises: first detection means for detecting a first feature point which is one of a branch point and an end point of a fingerprint from a fingerprint image to be collated; and a plurality of first feature points.
  • a first creating means for creating a triangle connecting any three adjacent pieces, and a first calculating means for calculating an area and a side length of the triangle created by the first creating means
  • comparing means for comparing the area and side length of the triangle of the fingerprint image to be collated calculated by the first calculating means with the area and side length of the triangle of the fingerprint image stored in advance. It is characterized by having.
  • the first detecting means further detects a second feature point which is the other of the branch point and the end point, and detects three first feature points forming one triangle as first points, respectively.
  • the second point and the third point, the second feature point closest to the first point and the first point, the fourth feature point, the second point and the closest point to the second point Calculate at least one of the distance and direction of the fifth point, which is the second feature point, and the sixth point, which is the second feature point closest to the third point and the third point.
  • the comparison means further comprises: a comparison unit, wherein the area and the length of the triangle of the fingerprint image to be collated calculated by the first calculation means and the second calculation means, and the first point At least one of the distance and direction of each of a fourth point with respect to, a fifth point with respect to the second point, and a sixth point with respect to the third point; The area of the triangle and the length of the sides of the stored fingerprint image, and the fourth point for the first point, the fifth point for the second point, and the third point for the fingerprint image to be compared. The distance and / or direction of each of the sixth points may be compared.
  • a second information processing method includes a first detection step of detecting a first feature point, which is one of a branch point and an end point of a fingerprint, from a fingerprint image to be collated, and a plurality of first feature points.
  • a first creation step to create a triangle connecting any three adjacent pieces, and a first calculation to calculate the area and side length of the triangle created by the processing of the first creation step Step and the triangle area and the side length of the fingerprint image to be collated calculated by the processing of the first calculation step, and the triangle area and the side length of the fingerprint image stored in advance.
  • a comparing step of comparing of comparing.
  • the program recorded on the second recording medium of the present invention includes: a first detection step for detecting a first feature point, which is one of a branch point and an end point of a fingerprint, from a fingerprint image to be collated; A first creation step for creating a triangle connecting any three of the first feature points of the triangle, and a triangle created by the processing of the first creation step.
  • the first calculation step of calculating the area and the length of the side of the triangle, and the area and the length of the triangle of the fingerprint image to be collated calculated by the processing of the first calculation step are stored in advance. And comparing the area of the triangle and the length of the side of the fingerprint image.
  • the second program of the present invention includes a first detection step of detecting a first feature point which is one of a branch point and an end point of a fingerprint from a fingerprint image to be collated, and a step of detecting a plurality of first feature points.
  • a first feature point that is one of a branch point and an end point of a fingerprint is detected from a fingerprint image, and connects any three adjacent ones among a plurality of first feature points.
  • a triangle is created, the area and side length of the created triangle are calculated, and the calculated area and side length of the triangle are stored.
  • a first feature point which is one of a branch point and an end point of a fingerprint
  • a fingerprint image to be collated any one of a plurality of first feature points that are close to each other is detected.
  • a triangle connecting the three is created, the area and the length of the created triangle are calculated, and the calculated area and the length of the triangle of the fingerprint image to be collated are stored in advance. It is compared with the area of the triangle and the side length of the fingerprint image.
  • FIG. 1 is a perspective view showing an external configuration of a fingerprint matching device according to an embodiment of the present invention.
  • FIG. 2 is a plan view illustrating a state in which the fingerprint reading sensor is pressed by a finger from which a fingerprint is read.
  • FIG. 3 is a block diagram showing the configuration of the fingerprint matching device.
  • FIG. 4 is a cross-sectional view showing the basic configuration of the fingerprint reading sensor.
  • FIG. 5 is a circuit diagram showing a configuration of an internal circuit of the fingerprint reading sensor.
  • FIG. 6 is a flowchart illustrating a fingerprint registration process in the fingerprint collation apparatus in FIG.
  • FIG. 7 is a flowchart for explaining the fingerprint registration processing in the fingerprint collation apparatus in FIG.
  • FIG. 8 is a diagram showing an example of an image in step S3 in FIG.
  • FIG. 9 is a diagram showing an example of an image in step S4 of FIG.
  • FIG. 1 ⁇ is a diagram showing an example of an image in step S5 of FIG.
  • FIG. 11 is a diagram showing an example of an image in step S6 in FIG.
  • FIG. 12 is a diagram showing an example of an image in step S7 in FIG.
  • FIG. 13 is a diagram showing an example of an image in step S14 of FIG.
  • FIG. 14 is a flowchart for explaining the fingerprint matching process in the fingerprint matching device of FIG.
  • FIG. 15 is a flowchart for explaining the fingerprint matching process in the fingerprint matching device of FIG.
  • FIG. 16 is a flowchart for explaining the fingerprint matching process in the fingerprint matching device of FIG.
  • FIG. 17 is a flowchart for explaining the fingerprint matching process in the fingerprint matching device of FIG.
  • FIG. 18 is a diagram showing an example of an image in step S104 of FIG.
  • FIG. 19 is a diagram showing an example of an image in step S105 of FIG.
  • FIG. 20 is a diagram showing an example of an image in step S106 of FIG.
  • FIG. 21 is a diagram showing an example of an image in step S107 of FIG.
  • FIG. 22 is a diagram showing another example of an image in step S104 of FIG.
  • FIG. 23 is a diagram showing another example of an image in step S105 of FIG.
  • FIG. 24 is a diagram showing another image example in step S106 of FIG.
  • FIG. 25 is a diagram showing another image example in step S107 of FIG. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a diagram showing a configuration of an external appearance of an embodiment of a fingerprint matching device to which the present invention is applied.
  • the fingerprint collation device 1 physically protects the main body 11 forming the housing of the device and the upper surface of the main body 11 when closed, and is provided to be freely opened and closed with respect to the main body 11.
  • the cover consists of 1 and 2. In FIG. 1, the protective cover 12 of the fingerprint collation device 1 is open with respect to the main body 11.
  • a fingerprint reading sensor 21 and lamps 22 and 23 for displaying a result of fingerprint collation are provided on the upper surface of the main body 11.
  • the fingerprint reading sensor 21 is pressed by the fingerprint reading sensor 21 and reads the fingerprint of the contacted finger as an image.
  • the lamps 22 and 23 are exclusively lit, that is, whether or not fingerprint collation is possible.
  • the lamp 22 and the lamp 23 are both turned off, indicating that the finger 41 is not in contact with the fingerprint reading sensor 21.
  • the fingerprint matching device 1 supplies data indicating the result of the fingerprint matching to another device (not shown) via the cable 43 connected to the terminal 42.
  • the cable 43 can be, for example, a cable based on the USB (Universal Serial Bus) standard.
  • the standard of the cable 43 may be another standard such as RS232C.
  • FIG. 3 is a block diagram showing an internal configuration of the fingerprint matching device 1. As shown in FIG.
  • the fingerprint reading LSI (Large Scale Integrated circuit) 51 generates a fingerprint image from the signal supplied from the fingerprint reading sensor 21, and supplies the generated fingerprint image to the CPU 52.
  • the CPU 52 controls the operation of the entire fingerprint collation device 1. Further, the CPU 52 registers the fingerprint image supplied from the fingerprint reading LSI 51 or compares the fingerprint image with the already registered fingerprint.
  • a RAM (Random Access Memory) / ROM (Read Only Memory) 53 for a program is composed of a RAM and a ROM, and stores a fingerprint collation program which is control firmware executed by the CPU 52.
  • the ROM part of the program RAM / ROM 53 basically stores fixed programs and parameters.
  • the RAM portion of the program RAM / ROM 53 stores parameters or data that change with the execution of the fingerprint collation program.
  • the flash memory 54 stores data representing the feature amount extracted from the image of the fingerprint of the user as a registration template. That is, when registering a fingerprint, the CPU 52 causes the flash memory 54 to store the registration template extracted from the fingerprint image supplied from the fingerprint reading LSI 51. When collating a fingerprint, the CPU 52 collates the registered template stored in the flash memory 54 with the fingerprint image supplied from the fingerprint reading LSI 51.
  • the USB controller 55 outputs the fingerprint collation result supplied from the CPU 52 to an external device (not shown) connected via the terminal 42 in accordance with the USB standard, based on the USB standard.
  • the ID of the user reading the fingerprint, supplied from an external device (Identif ier) is acquired.
  • the USB controller 55 supplies the acquired user ID to the CPU 52.
  • the user ID is stored in the flash memory 54 as a registration template.
  • the fingerprint reading LSI 51, flash memory 54, program RAM / ROM 53, CPU 52, and USB controller 55 are interconnected by a bus 56.
  • a drive 57 is connected to the bus 56 as necessary.
  • the drive 57 reads data or a program recorded on a magnetic disk 71, an optical disk 72, a magneto-optical disk 73, or a semiconductor memory 74 mounted as necessary, and reads the data or the program. , Supplied to the program RAM / R0M 53 via the path 56.
  • the fingerprint reading sensor 21 reads a fingerprint image by directly touching the finger 41 with the sensor surface, and for example, CXA3271GE manufactured by Soe Company can be used.
  • the sensor surface is configured by providing an insulating film on the upper surface where metal electrodes are arranged in an array.
  • a capacitor is formed by the metal electrode, the insulating film, and the finger 41.
  • the finger 41 functions as an electrode.
  • the distance from the fingerprint ridge (electrode) of the finger 41 to the metal electrode of the fingerprint sensor 21 is greater than the distance from the finger valley (electrode) of the finger 41 to the metal electrode of the fingerprint sensor 21. short. Further, since the ridge of the fingerprint of the finger 41 contacts the insulating film, the capacitance value of the capacitor formed by the ridge of the fingerprint of the finger 41 is substantially determined by the dielectric constant of the insulating film.
  • the fingerprint reading sensor 21 is formed by the metal electrode, the insulating film, the ridge of the fingerprint of the finger 41, and the metal electrode, the insulating film, and the valley of the fingerprint of the finger 41, respectively.
  • FIG. 4 is a diagram showing a basic configuration of the fingerprint reading sensor 21.
  • the fingerprint reading sensor 21 has an array of metal electrodes 103 (sampling points) on a silicon (S i) substrate 101 via an interlayer film 102 at a pitch of 80 im. It has a configuration in which the upper surface is covered with an insulating film (Over Coat) 104. The fingerprint reading sensor 21 detects the four convex portions of the fingerprint of the finger 41 placed directly on the upper surface of the insulating film 104.
  • the capacitor 106 is formed by the metal electrode 103, the insulating film 104, and the finger 41. It is formed.
  • the unevenness of the ridges 41A and the valleys 41B of the fingerprint forms capacitors 106 having different distances from the finger 41, which is the electrode, to the metal electrode 103.
  • the unevenness of the ridge 41 A and the valley 41 B of the capacitor appears as a difference in the capacitance value of the capacitor 106.
  • the capacitance value of the capacitor 106 formed by the raised portion 41 A is determined by the dielectric constant of the insulating film 104 and It is determined by the thickness of the insulating film 104.
  • the valley portion 41 B of the fingerprint an air layer in addition to the insulating film 104 enters between the finger 41, which is an electrode, and the metal electrode 103.
  • the capacitance value of the capacitor 106 formed by 1B is determined by the dielectric constant of the insulating film 104, the thickness of the insulating film 104, and the dielectric constant of air and its thickness.
  • the capacitance value of the capacitor 106 formed by the fingerprint valley 41 B of the finger 41 and the capacitance value of the capacitor 106 formed by the fingerprint ridge 41 A of the finger 41 are as follows. , to differ greatly. Therefore, when a constant voltage is applied to the metal electrode 103 when the finger 41 is in contact with the upper surface (sensor surface) of the fingerprint reading sensor 21, the capacitor of the finger ridge 41 A of the finger 41 is formed. The amount of charge stored in 106 is different from the amount of charge stored in capacitor 106 in valley 41B.
  • the fingerprint reading sensor 21 converts the electric charge accumulated in the capacitor 106 into a voltage, and outputs the unevenness of the fingerprint as an electric signal.
  • FIG. 5 is a circuit diagram showing an internal circuit of the fingerprint reading sensor 21.
  • the fingerprint reading sensor 21 includes a sensor section 21A for detecting a capacitance value due to the unevenness of the fingerprint as a charge, a sense amplifier section 21B for converting the charge output from the sensor section 21A into a voltage signal, and a sense section. It comprises an output section 21C for amplifying and outputting the voltage signal output from the amplifier section 21B.
  • the fingerprint reading sensor 21 has a differential amplifier 12 1 for converting charges into a voltage signal in the sense amplifier section 2 IB, and a differential amplifier for amplifying the voltage signal in the output section 21 C. 1 2 2 and a differential amplifier 1 2 3 for adjusting the output impedance.
  • a capacitor Cs indicates a capacitor 106 formed between the finger 41 and the metal electrode 103.
  • the capacitance of the capacitor Cs is simply described as Cs.
  • the capacitor Cp of the sensor unit 21A is a capacitor equivalent to a parasitic capacitance formed between the metal electrode 103 and the silicon substrate 101.
  • the capacitance of the capacitor Cp is simply described as Cp.
  • the capacitor C s and the capacitor C p of the sensor section 21 A are connected in series.
  • the voltage at the connection point between the capacitor Cs and the capacitor Cp is described as Vce1.
  • the capacitor C p of the sense amplifier section 21 B is a capacitor for canceling the capacitance of the capacitor C p due to the parasitic capacitance.
  • One terminal of the capacitor C p is grounded, and the other terminal of the capacitor C p ′ is connected to the inverting input terminal of the differential amplifier 122 via the switch Sw 3.
  • capacitor C The capacity of p 'is simply described as CP'.
  • the capacitance of the capacitor CP ' is almost equal to the capacitance of the capacitor Cp.
  • One terminal of the capacitor Ch 1 of the sense amplifier section 2 1 B is grounded, and the other terminal of the capacitor Ch 1 is connected to the output terminal of the differential amplifier 12 1 via the switch Sw 5.
  • One terminal of the capacitor Ch 2 of the output unit 21 C is grounded, and the other terminal of the capacitor Ch 2 is connected to the output terminal of the differential amplifier 122 via the switch Sw 7 and is connected to the differential terminal.
  • the capacitor Ch1 of the sense amplifier 21B and the capacitor Ch2 of the output 21C are so-called hold capacitors for holding a voltage.
  • the capacity of the capacitor Ch1 is simply described as Chi.
  • the capacity of the capacitor Ch2 is simply described as Ch2.
  • One terminal of the capacitor C ⁇ 1 of the sense amplifier 21 B is connected to the inverting input terminal of the differential amplifier 121, and the other terminal of the capacitor C f 1 is connected to the output of the differential amplifier 122. Connected to terminal.
  • the capacitance of the capacitor C ⁇ 1 is a feedback capacitance that determines the gain of the differential amplifier 121.
  • the switch S wr of the sense amplifier section 21 B connects or disconnects the connection point between the capacitors C s and C p and the inverting input terminal of the differential amplifier 121.
  • the switch S we of the sense amplifier 21 B connects or disconnects the non-grounded terminal of the capacitor Ch 1 and the inverting input terminal of the differential amplifier 122.
  • the voltage VH is applied to one terminal of the switch Sw1, and the other terminal is connected to the non-inverting input terminal of the differential amplifier 121.
  • the voltage VM is applied to one terminal of the switch Sw2, and the other terminal is connected to the non-inverting input terminal of the differential amplifier 121.
  • the voltage VL is applied to one terminal of the switch Sw l 1, and the other terminal is connected to the non-inverting input terminal of the differential amplifier 121.
  • the voltage VH is higher than the voltage VM, and the voltage VM is higher than the voltage VL.
  • the difference between voltage VH and voltage VM is substantially equal to the difference between voltage VM and voltage VL.
  • One terminal of the switch Sw 3 is connected to the non-grounded terminal of the capacitor C p ′, and the other terminal of the switch Sw 3 is connected to the inverting input terminal of the differential amplifier 121.
  • One terminal of the switch Sw4 is connected to one terminal of the capacitor Cf1, and the other terminal of the switch Sw4 is connected to the other terminal of the capacitor Ci1. That is, the switch Sw 4 is connected in parallel with the capacitor C i 1.
  • One terminal of the switch Sw5 is connected to the output terminal of the differential amplifier 121, and the other terminal of the switch Sw5 is connected to the non-grounded terminal of the capacitor Ch1. Connected to the inverting input terminal of differential amplifier 1 2 2 via S we.
  • One terminal of the switch Sw 6 of the output unit 21 C is connected to one terminal of the capacitor C f 2, and the other terminal of the switch Sw 6 is connected to the other terminal of the capacitor C f 2. ing. That is, the switch Sw6 is connected in parallel to the capacitor C f2.
  • One terminal of the switch Sw 7 of the output unit 21 C is connected to the output terminal of the differential amplifier 122, and the other terminal of the switch Sw 7 is connected to the non-grounded terminal of the capacitor Ch 2. And is connected to the non-inverting input terminal of the differential amplifier 123.
  • the voltage VO S is applied to the non-inverting input terminal of the differential amplifier 122. Next, the operation of the internal circuit of the fingerprint reading sensor 21 will be described.
  • the operation of the fingerprint reading sensor 21 is started from a state where the switches Sw r, Switch Sw e, Switch Sw 1 to Switch Sw 7 and Switch Sw 11 are disconnected, that is, turned off. Is done.
  • V sns VM-C s (VH-VM) / C f 1 (2)
  • This process is started when a command to start the fingerprint registration process is issued by the user and the user's finger is pressed on the fingerprint reading sensor 21.
  • step S1 the fingerprint reading sensor 21 is pressed by the fingerprint reading sensor 21 and reads the fingerprint image of the contacted finger. Then, a signal corresponding to the read fingerprint is supplied to the fingerprint reading LSI 51.
  • step S2 the fingerprint reading LSI 51 generates fingerprint image data from a signal corresponding to the fingerprint supplied from the fingerprint reading sensor 21.
  • step S3 the fingerprint reading LSI 51 converts the generated fingerprint image data into 256-level gray image data, and converts the converted 256-level gray image data into the CPU 52.
  • the data of the gray image 200 of element X128 pixels is obtained.
  • Image 201 is an image of 96 pixels ⁇ 96 pixels in image 200.
  • step S4 the CPU 52 executes pre-processing on the converted gray image data, such as noise removal and filling in fine scratches in fingerprint ridges.
  • the preprocessed image is an image from which noise has been removed.
  • step S5 the CPU 52 binarizes the preprocessed gray image data with a predetermined threshold and converts the binary image data into binary image data.
  • FIG. 10 shows a binarized image.
  • step S6 the CPU 52 performs a thinning process. Specifically, from the data of the binary image obtained by the processing in step S5, a center line having a line width of one pixel is extracted from a portion having a value of 1. Processing is performed. As a result, the line width becomes the width of one pixel and the connectivity is maintained, so that it is easy to detect a branch point or an end point of the subsequent fingerprint ridge line.
  • the image subjected to the thinning processing by the processing in step S6 is as shown in FIG.
  • step S7 the CPU 52 detects up to 10 branch points and 10 end points, respectively, from the thinned image.
  • the branch points and end points detected by the processing in step S7 are as shown in FIG.
  • the detected branch point and end point are actually the image 201 represented by the 96 pixels x 96 pixels of the 128 pixels x 128 pixels image 200 in Fig. 12. It becomes. As a result, the number of branch points and end points to be extracted can be reduced. In FIG. 12, branch points are 1 to?
  • the coordinates at the branch points P 1 to P 8 are PI (x 1, y 1), ⁇ 2 ( ⁇ ⁇ 2, y ⁇ 2), ⁇ 3 ( ⁇ ⁇ 3, y ⁇ 3), ⁇ 4 ( ⁇ ⁇ 4, y ⁇ 4), ⁇ 5 ( ⁇ ⁇ 5, y ⁇ 5), ⁇ 6 ( ⁇ 6, y ⁇ 6), ⁇ 7 ( ⁇ ⁇ 7, y ⁇ 7 ), And ⁇ 8 ( ⁇ ⁇ 8, y ⁇ 8).
  • the end points are Q 1 to Q 10 (10), and the coordinates at the end points Q 1 to Q 10 are Q l (x q 1, y q
  • the CPU 52 sets the maximum number of branch points and end points to be detected at 10, but the present invention is not limited to this.
  • a limit of a predetermined maximum number may be used. The above may be set.
  • the CPU 52 sets the target of the branch point and the end point to be detected to an image 201 represented by 96 pixels ⁇ 96 pixels, but is not limited thereto.
  • 112 pixels ⁇ 112 pixels The image may be composed of
  • step S9 the CPU 52 detects a center point C (in, jn), which is the center of the registered image. Specifically, as shown in FIG. 12, the point where the center line of the vertical axis and the center line of the horizontal axis of the image 201 intersect is set as the center point of the registered image. Since the center obtained here is the center of the registered image, not the center of the fingerprint, it can be obtained quickly and easily. In the case of the present example, since the image 200 is assumed to be 128 pixels ⁇ 128 pixels, the CPU 52 sets the points (64, 64) (or ( 6 3, 6 3)) is detected as the center point C.
  • step S10 the CPU 52 calculates the distance between the center point C (in, jn), which is the center of the registered image obtained in the processing in step S9, and the plurality of branch points detected in the processing in step S7. Each is calculated.
  • the distances between the center point C and the branch points P1 to P8 are calculated. Assuming that the distance between the center point C and the branch point P 1 is L p 1, the distance between the center point C and the branch point P 2 is L p 2, and the distance between the center point C and the branch point P 3 The distance is LD3.
  • the distances between the center point C and P 4, P 5,..., P 8 are sequentially referred to as L p 4, L p 5,.
  • step S11 the CPU 52 sorts the distances (distances between the center point C and the branch points P1 to P8) calculated by the processing in step S10 in ascending order.
  • the distance from the center is set as Lpl, Lp2, Lp3, Lp4, Lp5 ⁇ Lp6 ⁇ Lp7 ⁇ Lp8.
  • step S12 the CFU 52 calculates the distance between the center point C (in, jn) and the plurality of end points detected by the processing in step S7.
  • the distances between the center point C and the end points Q1 to Q10 are calculated. Assuming that the distance between the center point C and the end point Q 1 is L q 1, the distance between the center point C and the end point Q 2 is L q 2, and the distance between the center point C and the end point Q 3 is L q 3 It is said.
  • the distances between the center point C and Q 4, Q 5,..., Q 10 are set to L q 4, L q 5,.
  • step SI3 the CPU 52 sorts the distances (distances between the center point C and the end points Q1 to Q10) calculated by the processing in step S12 in ascending order.
  • the distance from the center is L ql ⁇ L (i 2 ⁇ L q 3 q L q 4 ⁇ L q L 5 L L q 6 L L q 7 L L q 8 L L q 9 L L q 10 is assumed.
  • step S14 the CPU 52 closes the center point C (in, jn) of the fingerprint (the center point obtained by the processing in step S9) (in the present example, up to 10 points). At the bifurcation point, create all triangles connecting the three closest points. Note that, as described above, in the present example, the CPU 52 creates all triangles connecting the three closest points at a maximum of 10 branch points close to the center point of the fingerprint.
  • the present invention is not limited to this, and can be changed in accordance with the number of branch points detected by the processing in step S7.
  • the CPU 52 selects the branch point PI (xpi, yp 1) closest to the center point C (in, jn) (the branch point P 1 is selected because the distance L p 1 from the center point C is the smallest). And the two nearest branch points P2 (xp2, yp2) and P3 (xp3, yp3) to the branch point P1 as shown in Fig. 13 Create a triangle W1. Thereafter, the CPU 52 selects the branch point P 2 (xp 2, yp 2) which is the second closest to the center point C (the branch point P 2 is selected because the distance L p 2 from the center point C is the second smallest).
  • a branch point P3 that is the third closest to the center point C, a triangle W2 connecting the two branch points P2 and P4 closest to the branch point P3, and a fourth point that is the center point C A branch point P4 close to the eye, a triangle W3 connecting the two branch points P3 and P7 closest to the branch point P4, a branch point P5 closest to the center point C, and a branch point Four triangles of W4 are created, connecting the two branch points P6 and P8 closest to P5 (the branch point P6, which is the sixth closest to the center point C, and the seventh triangle, which is the center point C)
  • the triangle created based on the branch point P7 close to the center point and the branch point P8 closest to the center point C is respectively any of the above-described triangles Wl, W2, W3, and W4. It is omitted because it overlaps with).
  • triangles are formed by exactly the same branch points. This means that a triangle is created at each branch point and the two nearest bifurcation points without leakage, in order from the branch point near the center.
  • step SI5 the CPU 52 calculates the area and the side length of the plurality of created triangles.
  • the number of created triangles is four (triangles Wl, W2, W3, and W4). (In practice, four or more triangles are created because overlapping triangles are created.) Is created, but in the case of the present example, there are four different triangles), so the area and length of each side are calculated for each of the four triangles.
  • the area S1 of the triangle W1 the distance between the branch point P1 and the branch point P2 (hereinafter, in such a case, described as P1P2), P2
  • the distance between P3 and the distance between P3P1 are calculated, and for triangle W2, the area of triangle W2 between S2, P2P3, P3P4, and P4P2
  • the area of the triangle W3, the distance between S3, P3 and P4, the distance between P4 and P7, and the distance between P7 and P3 are calculated
  • the area S4 the distance between P5 and P6, the distance between P6 and P8, and the distance between P8 and P5 (length of the side) of the triangle W4 are obtained.
  • step S1.6 the CPU 52 causes the flash memory 54 to store the area of each triangle and the length of each side in the registration template. Since this is just a set of area and side length, the data volume is small.
  • step S17 the CPU 52 calculates the position of the end point closest to the three points of each triangle. More specifically, in the case of the example in FIG. 13, the branch points constituting the triangle W1 are the branch points P 1, P 2 and P 3, so that the CPU 52 is most likely to be located at the branch point P 1. Detects the nearest endpoint Q 2 (xq 2, yq 2), the nearest endpoint Q 1 (xq 1, yql) to the bifurcation P2, and the nearest endpoint Q 1 (xq 1, yq 1) to the bifurcation P 3 Calculate the respective directions and distances (the direction and distance between P1 and Q2, the direction and distance between P2 and Q1, and the direction and distance between P3 and Q1).
  • the direction and the distance are obtained as the position, but at least one of them may be obtained. This process is repeated, and the direction and distance (hereinafter, also referred to as position) between P 3 Q 1, P 2 Q 1, and P 4 Q 7 are obtained for the triangle W 2, and the triangle W 3 is obtained. P 3 The positions between Ql, P4Q7, and P7Q7 are determined, and for triangle W4, the positions between P5Q6, P6Q6, and P8Q6 are determined.
  • step S18 the CPU 52 determines the position of the end point obtained by the processing of step S17 and the area of each triangle and the length of each side (the triangle stored in the processing of step S16). (The area and the length of each side) and store it as a registered template.
  • the areas S1, S2 S3, S4 of the triangles Wl, W2, W3, and W4, and the length of each side (three sides) for example, in the case of W1, between P1 P2 Length, length between P2P3, length between P3P1), end point position (for triangle ⁇ 1, position between P1Q2, position between -P2Q1, P 3 The position between Q1) is stored.
  • the position of P3Q1 is obtained in the triangle W1, and the position of P3Q1 is also obtained in the triangle W2 (between the same end point corresponding to the same branch point).
  • the calculation of the position of the same point may be omitted.
  • step S 19 the CPU 52 acquires the ID of the user reading the fingerprint supplied from an external device (not shown) via the USB controller 55, and stores the acquired ID in the flash memory 54. Associated with the registered template (the registered template stored in the flash memory 54 by the processing of Step S16 and Step S18).
  • the process of storing the ID of the user in step S19 may be performed in advance (before step S1) when starting the authentication registration process.
  • step S 101 the finger reading sensor 21 reads the fingerprint image of the finger touched by the fingerprint reading sensor 21 and sends a signal corresponding to the read fingerprint image to the fingerprint reading LSI 5.
  • Supply 1
  • step S102 the fingerprint reading LSI 51 generates fingerprint image data from the signal corresponding to the fingerprint supplied from the fingerprint reading sensor 21.
  • step S103 the fingerprint reading LSI 51 converts the generated fingerprint image data into 256-level gray image data, and converts the converted 256-level gray image data into the CPU. 5 to 2
  • step S 104 the CPU 52 executes pre-processing on the converted gray image data, such as noise removal and filling in fine scratches in fingerprint ridges.
  • data of a gray image 300 of 128 pixels ⁇ 128 pixels is generated.
  • the image 301 is an image of 96 pixels ⁇ 96 pixels. Comparing the gray image shown in FIG. 18 with the gray image 200 in FIG. 9, the position of the fingerprint is shifted to the upper right as compared with the image in FIG.
  • step S105 the CPU 52 binarizes the preprocessed gray image data with a predetermined threshold value and converts the binary image data into binary image data.
  • FIG. 19 shows a binarized image.
  • step S106 the CPU 52 performs a thinning process. As a result, the image is converted into an image as shown in FIG.
  • step S107 the CPU 52 detects up to 10 branch points and 10 end points, respectively, from the thinned image.
  • the branch points and end points detected by this processing are as shown in FIG.
  • the detected branch point and end point are actually 96 pixels x 9 pixels in the image 300 of 128 pixels x 128 pixels in FIG.
  • An image 301 represented by six pixels is targeted.
  • the branch points are Pb1 to Pb7 (seven), and the end points are Qb1 to Qb10 (10).
  • the CPU 52 sets a maximum of 10 branch points and end points to be detected.
  • the present invention is not limited to this.
  • the limit may be a determined maximum number, or may be set to 10 or more.
  • the CPU 52 sets the target of the branch point and the end point to be detected to be the image 301 represented by 96 pixels ⁇ 96 pixels.
  • the present invention is not limited to this.
  • 112 pixels ⁇ 112 pixels The image shown by can also be used.
  • branch point P 1 in FIG. 13 corresponds to the branch point P b 1 in FIG. 21, and the branch point P 2 corresponds to the branch point P b 2.
  • Branch point P 3 corresponds to branch point P b 5
  • branch point P 4 corresponds to branch point P b 7
  • branch point P 5 corresponds to branch point P b 3
  • the branch point P6 corresponds to the branch point Pb4, and the branch point P8 corresponds to the branch point Pb6. That is, since the position of the captured image is different between FIG. 13 and FIG. 21 (since the position where the user places his finger changes each time), the branch point P7 detected in FIG. It is not detected in Figure 21.
  • step S109 the CPU 52 detects the center point Cb (in, jn) of the fingerprint image. Since the image 300 has 128 pixels ⁇ 128 pixels, the CPU 52 is set in advance as in the case of step S9 in FIG. 6 described above. A fixed point (64, 64) (or (63, 63)) may be detected as the center point.
  • step S110 the CPU 52 calculates the distance between the center point Cb (in, jn) of the fingerprint image obtained in step S109 and the plurality of branch points detected in step S107. I do.
  • the distances between the center point Cb and the branch points Pb1 to Pb7 are respectively calculated. If the distance between the center point Cb and the branch point Pb1 is Lp b1, the distance between the center point Cb and the branch point Pb2 is Lp2, and the center point Cb and the branch point Pb The distance between 3 is L pb 3.
  • the distances between the center point Cb and Pb4, Pb5,..., Pb7 in the order are Lpb4, Lpb5,..., Lpb7.
  • step S111 the CPU 52 sorts the distances (distances between the center point Cb and the branch points Pb1 to Pb7) calculated in step S110 in ascending order.
  • the distance from the center is L pb l L p b 2 L p b 3 ⁇ L p b 4 ⁇ Lr b 5 ⁇ : L p b 6 ⁇ ] L p b 7.
  • step S112 the CPU 52 calculates the distance between the center point Cb (in, jn) and the plurality of end points detected by the processing in step S107.
  • the distances between the center point Cb and the end points Qb1 to Qb10 are calculated. If the distance between the center point Cb and the end point Qb1 is Lqb1, the distance between the center point Cb and the end point Qb2 is Lqb2, and the distance between the center point Cb and the end point Qb3. Is L qb 3.
  • the distances between the center point Cb and Qb4, Qb5, '.', 01) 10 are sequentially defined as Lqb4, Lqb5, ⁇ , LqblO.
  • step S113 the CPU 52 sorts the distances (distances between the center point C and the end points Q1 to Q8) calculated by the processing in step S12 in ascending order.
  • the distance from the center is L qbl x L qb 2 x L qb 3 x L qb 4 x: L qb 5 x: L qb 6 ⁇ L (ib 7 ⁇ : L ci b 8 ⁇ L ( ib 9 ⁇ L ci bl O.
  • step S 114 the CPU 52 determines the branch point closest to the center point C b (in, jn) of the fingerprint (the center point obtained by the processing in step S 109).
  • the CPU 52 determines that the branch point P b 1 closest to the center point C b, the branch point P b 2 closest to the branch point P b 1, and the branch point P b Create a triangle Wb 1 connecting b 5.
  • the CPU 52 determines that the branch point P bl (xpb 1, ypb 1) closest to the center point C b (in, jn) (since the distance L pb 1 from the center point C b is the smallest, the branch point P b 1 is selected), and the three nearest branch points Pb2 (xpb2, ypb2) and branchpoint Pb5 (xpb5, ypb5) are connected to the branch point Pb1. Create a triangle Wbl.
  • the triangle W1 corresponds to the triangle Wb1
  • the triangle W2 is the triangle Wb3 (not created in this flowchart, but when all the triangles are created, (A square Wb 3 is created)
  • a triangle W4 corresponds to a triangle Wb 2 described later. That is, the triangle W3 in FIG. 13 is not created in FIG.
  • step S115 the CPU 52 sets the area Sb1 of the triangle Wbl (triangle Wb1 composed of the branch points Pbl, Pb2, and Pb5) created by the processing in step S114. Is calculated.
  • step S116 the CPU 52 reads the registered template stored in the flash memory 54.
  • step SI 17 the CPU 52 adds the area S of the triangle Wb 1 that has just been calculated to the registration template (the registration template stored in the flash memory 54 by the fingerprint registration processing (the processing in FIGS. 6 and 7)).
  • b Determine whether there is a registered template with an area that matches 1. Since fingerprints are deformed to some extent due to the surrounding environment, physical condition, etc., the CPU 52 sets an allowable range, and even when the fingerprints do not completely match, if the value is within the allowable range (ie, smaller than the matching threshold). Is determined to match. In the case of the present example, since the triangle Wbl in FIG. 21 corresponds to the triangle W1 in FIG. 13 obtained in the processing of step S15 in FIG. 7, the areas Sb1 and Sb 1 is determined to match.
  • step S118 the CPU 52 Calculate the length of the side of the triangle Wb1. Specifically, the length between P bl P b 2, the length between P b 2 and P b 5, and the length between P b 5 and P b 1 are calculated. This length may be calculated at the same time as the area in step S114.
  • step S119 the CPU 52 determines the three sides constituting the triangle (triangle W1 in this example) registered in the registration template, which is determined to match by the processing in step S117. And whether the length of the three sides calculated in the process of step S118 (in this example, the length of the three sides of the triangle Wb1) matches. In the case of this example, the length between P1 and P2, the length between P2 and P3, and the length between P3 and P1 corresponding to the triangle W1 (the processing in step S16 in FIG. 7) (The stored side length) and the three side lengths Pb1 Pb2, Pb2 Pb5, and Pb5 Pb1 calculated by the processing in step S118. It is determined whether the lengths match.
  • the CPU 52 sets an allowable range, and even if the values do not completely match, if the value is within the allowable range (that is, smaller than the matching threshold), the CPU 52 determines that the values match.
  • the branch points P1 and Pb1, the branch point P2 and the branch point Pb2, and the branch point P3 and the branch point Pb5 that make up the triangle W1 and the triangle Wb1 correspond to each other. Of course, it is determined that they match.
  • step S120 the CPU 52 generates the triangle (in this case, created by the processing of step S114).
  • the end point closest to each of the three branch points (branch point Pb1, branch point Pb2, and branch point Pb5) constituting the triangle Wb1) is searched.
  • the endpoint Qb3 (xqb3, yqb3) closest to the branch point Pb1, the endpoint Qb7 (xqb7, yqb7) and the branchpoint closest to the branch point Pb2
  • the end point Q b 7 (xqb 7, yqb 7) closest to P b 5 is searched.
  • step S121 the CPU 52 calculates the position of the end point searched by the processing in step S120. Specifically, the position between Pb1Qb3, the position between Pb2Qb7, and the position between Pb5Qb7 are calculated.
  • the calculation of the length of the side in step S118 and the search for the end points of steps S120 and S121 and the calculation of the position can also be performed at the time of calculating the area in step S115. . However, if the areas do not match, the latter two calculations are unnecessary, and if the lengths of the sides do not match, the end point search and the position calculation are not necessary. Calculating requires less calculation, resulting in quicker judgment.
  • step S122 the CPU 52 determines the positions of the three branch points forming the triangle determined to be coincident by the processing in step S117 and the end points closest to the respective branch points. Then, the position between Pb1Qb3, the position between Pb2Qb7, and the position between Pb5Qb7 calculated by the processing in step S122 are compared. In the case of the present example, the positions of the three branch points P1, P2, and P3 constituting the triangle W1 and the end points closest to the respective branch points, that is, step S18 in FIG.
  • step S123 the CPU 52 matches the positions of the three branch points forming the triangle and the end points closest to the three branch points, respectively, as compared by the processing in step S122. It is determined whether or not.
  • P bl Q b 3, P b 2 Q b 7, and P b 5 Q b 7 determined by the triangle Wb l are P 1 Q 2, P 2 Q 1, and P determined by the triangle W 1, respectively. 3 Since it corresponds to Q1, it is determined that they match.
  • step S124 the CPU 52 adds 1 to the counter (incremented by 1).
  • the counter value (initial value is 0) is 1.
  • step S125 the CPU 52 determines whether or not the value of the counter is 2.
  • the counter value is added when the area, side length, and position between each branch point and end point of one created triangle all match. In the case of the present example, the counter value is set to 1 (it is assumed that the authentication has been performed for one triangle). Therefore, in step S126, the CPU 52 determines whether or not the next triangle can be created. Is determined. That is, it is determined whether a triangle different from the previously created triangle can be created by connecting the branch point close to the center point C b and the two branch points closest to the branch point.
  • the branch point next to the center point C b (after the branch point P 1) is P 2
  • the triangle created by the branch point P 2 is the same as the triangle W b 1
  • a new triangle cannot be created because of the same triangle, but the next triangle can be created because a triangle W b 2 can be created third, using the branch point P 3 closest to the center point C b.
  • step S126 If it is determined in step S126 that the next triangle can be created, the process proceeds to step S127, and the CPU 52 creates the next triangle. That is, since the branch points Pb1 to Pb7 and the end points Qb1 to Qb10 are detected from FIG. 21 by the processing in step S107, the CPU 52 executes the processing in FIG.
  • the third branch point P b 3 closest to the center point C b, the two branch points P b 4 closest to the branch point P b 3, and the branch point P b Create a triangle W b 2 connecting 6
  • a triangle composed of the branch point P b 2 which is second closest to the center point C b is also created, but the branch point P b 2 and The two branch points closest to the branch point P b 2 are the branch points P b 1 and P b 5, which are the same as the triangle W b 1.
  • a triangle composed of points P b 3 is created.
  • step S115 the process returns to step S115, and the CPU 52 calculates the area of the triangle (Wb2 in this example) created by the process of step S127.
  • the same processing is repeated.
  • the triangle Wb2 and the triangle W4 in FIG. 13 registered in the registration template correspond to each other. All of the processing in step S119 and step S123 are determined to be YES.
  • step S124 1 is added to the counter.
  • the counter value is 2.
  • step S125 the CPU 52 determines whether or not the value of the counter is 2.
  • the counter value is determined to be 2 (because the triangle Wb1 matches the triangle W1 and the triangle Wb2 and the triangle W4 match).
  • the value of the counter of 2 means that the area of the triangle, the length of the side, and the position between each branch point and the end point in the two different triangles created by the branch points of the fingerprint image are registered templates. Are all the same. If it is determined that the value of the counter is 2, the process proceeds to step S129, and the CPU 52 is able to authenticate (that is, the registered user matches the currently collating user). A signal indicating this is output, and the processing ends. The result of the comparison is lit by lamps 2 and 2 and 23 on the main unit 11.
  • step S117 If it is determined in step S117 that the areas do not match, if it is determined in step S119 that the lengths do not match, it is determined that the end positions do not match in step S123 Or if it is determined in step S 1 25 that the value of the force counter is not 2 (ie, for one triangle, the area of the triangle, the length of the side, and the respective branch points and endpoints If it is determined that at least one of the positions between the two does not match), the process proceeds to step S126 to determine whether the next triangle can be created.
  • the inability to create the next triangle means that all of the branch points Pb1 to Pb7 detected in the processing in step S107 are used to create a triangle that does not overlap with the previously created triangle. That you have finished To taste.
  • step S128 If it is determined that the next triangle cannot be created, the process proceeds to step S128, and the CPU 52 cannot be authenticated (that is, the registered user does not match the currently collated user). Is output, and the process ends. The result of the comparison is lit by the lamps 22 and 23 of the main body 11.
  • fingerprint matching can be performed based on the area of the triangle obtained by the branch point, the length of the three sides, and the position of each end point closest to the three branch points. it can. Also, by finding the center of the acquired fingerprint image and sequentially generating triangles from the branch points near the center, it is possible to quickly search for a matching registered template.
  • the user When placing the finger on the fingerprint reading sensor 21, the user tries to align the center of the finger with the center of the fingerprint reading sensor 21. Since the direction of the finger is different each time, the more distant the image from the center, the higher the possibility that the image differs from the registered image. Therefore, if the images match, the determination result of matching can be obtained quickly by proceeding with the determination from the center.
  • step S125 it is determined that authentication is successful (if all triangles match, authentication is successful). This is because the fingerprint image obtained by being pressed by the fingerprint reading sensor 21 is displaced by a maximum of about 3 mm (because it changes easily each time a finger is placed). This is because the created triangles are partially different due to the deviation of the fingerprint image (for example, in the example of Fig. 21, the triangle corresponding to the triangle W3 in Fig. 13 is not created). ).
  • the pre-processed gray image obtained by the processing of step S104 in FIG. 14 is an image as shown in FIG. 22 (of course, the image obtained from the same finger is obtained). It is significantly shifted to the lower left compared to the registered image in Fig. 9 (the preprocessed gray image obtained by the process in step S4 in Fig. 6).
  • the gray image shown in FIG. 22 is converted as shown in FIG. 23 by the binarization processing (the processing of step S 105), and further thinned (the processing of step S 106).
  • Is converted as shown in FIG. FIG. 25 shows the result of the detection of the branch point and the end point (the processing of step S107).
  • branch points are respectively set to Pb1 to Pb7 (in the example of FIG. 25, only seven branch points are detected), and the end points are each Qb. 1 to Qb10, and the center point is set to Cb.
  • the branch point P1 in FIG. 13 corresponds to the branch point Pb3 in FIG. 25, and the branch point P2 corresponds to the branch point Pb2.
  • the branch point P3 corresponds to the branch point Pb1
  • the branch point P4 corresponds to the branch point Pb6, and the branch point P7 corresponds to the branch point Pb5. That is, since the positions of the captured images are different between FIG. 13 and FIG. 25, the branch points P 5, P 6 and P 8 detected in FIG. 13 are detected in FIG. Not done. Instead, in FIG. 25, the branch points Pb4 and Pb7, which are the branch points not detected in FIG. 13, are detected.
  • the CPU 52 obtains the center point Cb of the fingerprint image (after the processing of step S109) or reads out the preset center point Cb, Sort the distance between the fork points Pb1 to Pb7 in ascending order (step S111), and further sort the distance between the center point Cb and the end points Qb1 to Qb10 in ascending order ( In step S113), a triangle is created (processing in step S114).
  • two triangles triangle Wb1 and triangle Wb2 are sequentially created by step S114 or step S127. If all the triangles that can be created are sequentially created, in the case of the example of FIG.
  • the created triangles are, in order, the branch point P bl, the branch point P b 2, and A triangle Wb1 connecting three branch points Pb6, a triangle Wb connecting three branch points Pb2, Pb1 and three branch points Pb3 b2, a branch point Pb4, a branch point Pb5, and a triangle Wb3 connecting the three branch points Pb7, a branch point Pb6, a branch point Pb1, and a branch point P Wb4 connecting three of b5 and five triangles of Wb5 connecting three of branch point pb7, branch point Pb5, and branch point Pb6 are created (of course, However, a triangle that overlaps with these five triangles has also been created.) In other words, the triangles corresponding to triangle Wb3 and triangle Wb5 in Fig. 21 are not created in the fingerprint image shown in Fig. 13 (that is, since they are not registered in the registration template, It is determined that the triangles Wb3 and Wb5 do not match.)
  • FRR False Rejection Rate
  • FAR False Rejection Rate
  • a fingerprint matching device with a high FAR is a fingerprint matching device with low security that makes it easier for others to impersonate oneself.
  • the FAR can be reduced by increasing the collation threshold (by increasing the range of errors considered as matching, or by increasing the reference value (two) for the number of matching triangles).
  • the matching threshold must be set to a value that balances both FRR and FAR.
  • the branch point and the end point of the fingerprint image are detected, and a triangle connecting the three close points from the branch point (or the end point) is created based on the distance from the center point of the fingerprint image. Since the area of the created triangle, the length of the three sides, and the position (distance or direction) of each of the three branch points with the nearest end point are registered, fingerprint matching is performed.
  • the amount of information to be stored (registration template size) can be made much smaller than before, and thus the memory capacity can be reduced.
  • the bifurcation point and the end point are sorted based on the distance to the center point, and the bifurcation point or the end point is searched in order from the sorted result. Can be specified.
  • the distance and the direction of each of the closest end points of the three branch points are registered as positions, and fingerprints are collated.
  • at least one of the distance and the direction may be used.
  • the positions of the branch points and end points of the fingerprint image may be sorted from the upper left of the acquired fingerprint image, but the fingerprint image pressed by the fingerprint reading sensor 21 and acquired is up to about 3 Millimeter deviation occurs (it tends to change each time the finger is placed). For this reason, it is possible to easily find a matching registered template by obtaining the center point of the fingerprint image and obtaining the positions of the branch point and the end point with respect to the center point.
  • a triangle is created by three branch points.
  • a triangle may be created by end points. In this case, a triangle is created by the end points, and the distances between the sides forming the triangle and the positions between the branch points closest to the three end points forming the triangle are obtained.
  • a triangle is created and stored from three branch points.
  • the present invention is not limited to this, and a polygon having four or more squares can be used.
  • the triangular shape can lower the FAR and FRR, and enables the most accurate and quick determination.
  • the series of processes described above can be executed by hardware or can be executed by software.
  • the programs that make up the software execute various functions by installing a computer built into a dedicated hard disk or by installing various programs. For example, it is installed from a recording medium to a general-purpose personal computer or the like.
  • the recording medium is a magnetic disk 71 (including a flexible disk) on which the program is recorded and an optical disk 72, which are distributed separately from the computer in order to provide the program to the user.
  • a magnetic disk 71 including a flexible disk
  • optical disk 72 which are distributed separately from the computer in order to provide the program to the user.
  • CD-ROM Compact Disc-Read Only Memory
  • DVD Digital Versatile Disc
  • magneto-optical disc 73 including MD (Mini-Disc) (trademark)
  • semiconductor memory 74 etc.
  • it composed of package media but also consists of a program RAM / ROM 53 on which programs are stored and a hard disk, etc., which are provided to the user in a state of being pre-installed in the computer.
  • the program for executing the above-described series of processing is executed by a computer via a wired or wireless communication medium such as a local area network, the Internet, or digital satellite broadcasting via an interface such as a router or a modem as necessary. You may be made to install it in one.
  • a wired or wireless communication medium such as a local area network, the Internet, or digital satellite broadcasting via an interface such as a router or a modem as necessary. You may be made to install it in one.
  • steps for describing a program stored in a recording medium are not only performed in a chronological order according to the order described, but are not necessarily performed in a chronological order. Alternatively, it also includes processing that is executed individually.
  • Industrial applicability As described above, according to the first aspect of the present invention, the amount of information used for fingerprint matching can be reduced. The storage device can be reduced in size and cost. Therefore, application to a small device becomes possible.
  • fingerprint collation can be performed.
  • fingerprint collation can be performed with a small amount of information.
  • the processing speed of fingerprint matching can be increased.
  • the accuracy of fingerprint collation can be improved.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Collating Specific Patterns (AREA)
  • Image Input (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

本発明は、指紋照合の処理速度を速く、かつ、データ量を少なくできるようにする指紋照合装置および方法、記録媒体、並びに、プログラムに関する。CPUは、指紋画像の中心点C、分岐点P1乃至P8、および端点Q1乃至Q10を検出し、中心点Cに最も近接する分岐点P1と、分岐点P1に近接する2つの分岐点P2、P3を結んで3角形W1を作成し、3角形の面積S1と3辺の長さをフラッシュメモリに記憶する。また、CPUは、分岐点P1と分岐点P1に近接する端点Q1、分岐点P2と分岐点P2に近接する端点Q3、および分岐点P3と分岐点P3に近接する端点Q3の位置をそれぞれ計算し、フラッシュメモリに登録テンプレートとして記憶する。照合時、CPUは、照合画像から同様に求めた3角形の面積と辺の長さ、端点との位置に基づいて、登録テンプレートと一致するか否かを判定する。本発明は、指紋照合装置に適用できる。

Description

明細書
指紋照合装置および方法、 記録媒体、 並びに、 プログラム 技術分野
本発明は、 指紋照合装置および方法、 記録媒体、 並びに、 プログラムに関し、 特に、 記憶するデータ量を少なくする指紋照合装置および方法、 記録媒体、 並び に、 プログラムに関する 背景技術
使用者の指の指紋を読み取り、 指紋を照合し、 使用者であることを認証する指 紋照合装置が各種の装置に応用されている。
指の指紋を読み取り、 指紋を登録する技術には、 例えば、 マユユーシャ法ゃパ ターンマツチング法と呼ばれているものがある。
マエユーシャ法における読み取りの対象となる指紋の登録では、 例えば、 最初 に、 指紋画像を 2値化して細線化が行なわれ、 細線化像から端点や分岐点のよう な特徴点が抽出される。 そして、 特徴点から細線に沿って一定数の画素だけ遡り、 この部分が部分細線として抽出され、 この部分細線が近似する線分列に変換され る。 この操作が所定数の特徴点について繰り返されて、 複数個の線分の繋がりか らなる線分列が抽出される。 このようにして、 指紋画像が線分列化され、 その線 分の両端の点の座標、 線分が変わる位置の座標が登録される。 また、 特徴点が分 岐点の時は、 3本に枝分かれした細線について同様の作業が繰り返される。 さら に、 部分細線、 細線化像、 特徴点の種類および座標から、 異なる部分細線の両端 の点同士を結んだ線と交差する隆線の数が算出され、 登録される (例えば、 特開 平 1一 5 0 1 7 5号公報 (以下、 特許文献 1と称する) 参照) 。
また、 マニューシャ法における指紋の照合では、 最初に、 指紋画像が 2値化、 細線化された後、 特徴量が抽出される。 そして、 求めた細線化像の中で、 登録さ れた部分細線の 1つと位置の近いものが選択され、 両者のパターンが比較され、 不一致度がある閾値以下であれば、 両者は同じものであるとされる。 また、 この 位置合わせが照合画像中の特徴点について順次実行され、 一致するものが検出さ れたら両者の位置合わせが行なわれ、 このときの移動量だけ、 他の部分細線が移 動され、 それぞれの部分細線について同様の比較が行なわれる。 さらに、 照合対 象細線画像から交差隆線数が算出され、 これと登録されている交差隆線数とが比 較され、 一致率が所定値以上であれば合格とみなされる (例えば、 特許文献 1参 照) 。
また、 パターンマッチング法においては、 指紋画像の全て、 または、 その一部 が登録テンプレートとされる。
しかしながら、 パターンマッチング法は、 指紋画像の全て、 または、 その一部 を登録テンプレートとしているために、 登録するテンプレートのサイズが大きな ものとなり、 その分、 メモリの容量が必要となり、 処理速度が遅くなるという課 題があった。
また、 取得した指紋画像が回転していた場合 (例えば、 上下が逆となっていた 場合) 、 照合が容易ではなく、 精度が十分でないという課題があった。
さらに、 マニューシャ法 (例えば、 特許文献 1参照) は、 各特徴点の位置、 方 向、 および種類 (例えば、 分岐点および端点) の情報に加えて、 特徴点間の隆線 数の情報を利用しており、 特徴点間の隆線数の数により認証精度をあげている。 すなわち、 この方法においても、 認証精度を上げるためには、 ある程度の大きさ のテンプレートサイズが必要になる。 このように、 処理速度がまだ遅い、 データ 量がまだ大きい、 および、 精度が充分ではないという課題があった。 発明の開示
本発明は、 このような状況に鑑みてなされたものであり、 処理速度を速く、 デ 一タ量を少なく、 かつ、 精度をあげることができるようにするものである。 本発明の第 1の情報処理装置は、 指紋画像から指紋の分岐点と端点のうち一方 である第 1の特徴点を検出する第 1の検出手段と、 複数の第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する第 1の作成手段と、 第 1の作成手段 により作成された 3角形の面積と辺の長さを計算する第 1の計算手段と、 第 1の 計算手段により計算された 3角形の面積と辺の長さを記憶する記憶手段とを備え ることを特徴とする。
前記指紋画像の中心である中心点を検出する第 2の検出手段と、 第 2の検出手 段により検出された中心点と複数の第 1の特徴点の間の距離に基づいて、 第 1の 特徴点をソートするソート手段とをさらに備え、 第 1の作成手段は、 ソートされ た第 1の特徴点を利用して、 近接する任意の 3個を結ぶ 3角形を作成するように することができる。
前記第 1の検出手段は、 分岐点と端点のうちの他方である第 2の特徴点をさら に検出し、 1つの 3角形を構成する 3つの第 1の特徴点をそれぞれ第 1の点、 第 2の点、 および第 3の点とするとき、 第 1の点と第 1の点に最も近い第 2の特徴 点である第 4の点、 第 2の点と第 2の点に最も近い第 2の特徴点である第 5の点、 および、 第 3の点と第 3の点に最も近い第 2の特徴点である第 6の点の、 それぞ れの距離と方向の少なくともいずれか一方を計算する第 2の計算手段をさらに備 え、 記憶手段は、 第 2の計算手段により計算された、 第 1の点と第 4の点、.第 2 の点と第 5の点、 および第 3の点と第 6の点のそれぞれの距離と方向の少なくと もいずれか一方をさらに記憶するようにすることができる。
前記指紋画像の中心である中心点を検出する第 2の検出手段と、 第 2の検出手 段により検出された中心点と複数の第 1の特徴点の間の距離に基づいて、 第 2の 特徴点をソートするソート手段とをさらに備え、 第 2の計算手段は、 ソートされ た第 2の特徴点を利用して、 第 1の点乃至第 3の点に対応する第 4の点乃至第 6 の点の距離と方向の少なくともいずれか一方を計算するようにすることができる。 前記照合対象の指紋画像から指紋の第 1の特徴点を検出する第 2の検出手段と、 照合対象の指紋画像の指紋の複数第 1の特徴点のうち、 近接する任意の 3個を結 ぶ 3角形を作成する第 2の作成手段と、 第 2の作成手段により作成された 3角形 の面積と辺の長さを計算する第 2の計算手段と、 記憶手段により記憶された、 3 角形の面積と辺の長さ、 並びに、 第 2の計算手段により計算された、 照合対象の 指紋画像の 3角形の面積と辺の長さを比較する比較手段とをさらに備えるように することができる。
本発明の第 1の情報処理方法は、 指紋画像から指紋の分岐点と端点のうち一方 である第 1の特徵点を検出する第 1の検出ステップと、 複数の第 1の特徴点のう ち、 近接する任意の 3個を結ぶ 3角形を作成する第 1の作成ステップと、 第 1の 作成ステップの処理により作成された 3角形の面積と辺の長さを計算する第 1の 計算ステップと、 第 1の計算ステップの処理により計算された 3角形の面積と辺 の長さの記憶を制御する記憶制御ステップとを含むことを特徴とする。
本発明の第 1の記録媒体に記録されているプログラムは、 指紋画像から指紋の 分岐点と端点のうち一方である第 1の特徴点を検出する第 1の検出ステップと、 複数の第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する第 1の 作成ステップと、 第 1の作成ステップの処理により作成された 3角形の面積と辺 の長さを計算する第 1の計算ステップと、 第 1の計算ステップの処理により計算 された 3角形の面積と辺の長さの記憶を制御する記憶制御ステップとを含むこと を特徴とする。
本発明の第 1のプログラムは、 指紋画像から指紋の分岐点と端点のうち一方で ある第 1の特徴点を検出する第 1の検出ステップと、 複数の第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する第 1の作成ステップと、 第 1の作成 ステップの処理により作成された 3角形の面積と辺の長さを計算する第 1の計算 ステップと、 第 1の計算ステップの処理により計算された 3角形の面積と辺の長 さの記憶を制御する記憶制御ステップとを含む処理をコンピュータに実行させる ことを特徴とする。
本発明の第 2の情報処理装置は、 照合対象の指紋画像から指紋の分岐点と端点 のうち一方である第 1の特徴点を検出する第 1の検出手段と、 複数の第 1の特徴 点のうち、 近接する任意の 3個を結ぶ 3角形を作成する第 1の作成手段と、 第 1 の作成手段により作成された 3角形の面積と辺の長さを計算する第 1の計算手段 と、 第 1の計算手段により計算された照合対象の指紋画像の 3角形の面積と辺の 長さを、 予め記憶されている指紋画像の 3角形の面積と辺の長さと比較する比較 手段とを備えることを特徴とする。
前記第 1の検出手段は、 分岐点と端点のうちの他方である第 2の特徴点をさら に検出し、 1つの 3角形を構成する 3つの第 1の特徴点をそれぞれ第 1の点、 第 2の点、 および第 3の点とするとき、 第 1の点と第 1の点に最も近い第 2の特徴 点である第 4の点、 第 2の点と第 2の点に最も近い第 2の特徴点である第 5の点、 および、 第 3の点と第 3の点に最も近い第 2の特徴点である第 6の点のそれぞれ の距離と方向の少なくともいずれか一方を計算する第 2の計算手段をさらに備え、 比較手段は、 第 1の計算手段と第 2の計算手段により計算された照合対象の指紋 画像の 3角形の面積と辺の長さ、 並びに第 1の点に対する第 4の点、 第 2の点に 対する第 5の点、 および第 3の点に対する第 6の点のそれぞれの距離と方向の少 なくともいずれか一方と、 記憶されている指紋画像の 3角形の面積と辺の長さ、 並びに照合対象の指紋画像の第 1の点に対する第 4の点、 第 2の点に対する第 5 の点、 および第 3の点に対する第 6の点のそれぞれの距離と方向の少なくともい ずれか一方を比較するようにすることができる。
本発明の第 2の情報処理方法は、 照合対象の指紋画像から指紋の分岐点と端点 のうち一方である第 1の特徴点を検出する第 1の検出ステップと、 複数の第 1の 特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する第 1の作成ステップ と、 第 1の作成ステップの処理により作成された 3角形の面積と辺の長さを計算 する第 1の計算ステップと、 第 1の計算ステップの処理により計算された照合対 象の指紋画像の 3角形の面積と辺の長さを、 予め記憶されている指紋画像の 3角 形の面積と辺の長さと比較する比較ステップとを含むことを特徴とする。
本発明の第 2の記録媒体に記録されているプログラムは、 照合対象の指紋画像 から指紋の分岐点と端点のうち一方である第 1の特徴点を検出する第 1の検出ス テツプと、 複数の第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成 する第 1の作成ステップと、 第 1の作成ステップの処理により作成された 3角形 の面積と辺の長さを計算する第 1の計算ステップと、 第 1の計算ステップの処理 により計算された照合対象の指紋画像の 3角形の面積と辺の長さを、 予め記憶さ れている指紋画像の 3角形の面積と辺の長さと比較する比較ステップとを含むこ とを特徴とする。
本発明の第 2のプログラムは、 照合対象の指紋画像から指紋の分岐点と端点の うち一方である第 1の特徴点を検出する第 1の検出ステップと、 複数の第 1の特 徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する第 1の作成ステップと、 第 1の作成ステップの処理により作成された 3角形の面積と辺の長さを計算する 第 1の計算ステップと、 第 1の計算ステップの処理により計算された照合対象の 指紋画像の 3角形の面積と辺の長さを、 予め記憶されている指紋画像の 3角形の 面積と辺の長さと比較する比較ステップとを含む処理をコンピュータに実行させ ることを特徴とする。
第 1の本願発明においては、 指紋画像から指紋の分岐点と端点のうち一方であ る第 1の特徴点が検出され、 複数の第 1の特徴点のうち、 近接する任意の 3個を 結ぶ 3角形が作成され、 作成された 3角形の面積と辺の長さが計算され、 計算さ れた 3角形の面積と辺の長さが記憶される。
第 2の本願発明においては、 照合対象の指紋画像から指紋の分岐点と端点のう ち一方である第 1の特徴点が検出され、 複数の第 1の特徴点のうち、 近接する任 意の 3個を結ぶ 3角形が作成され、 作成された 3角形の面積と辺の長さが計算さ れ、 計算された照合対象の指紋画像の 3角形の面積と辺の長さが、 予め記憶され ている指紋画像の 3角形の面積と辺の長さと比較される。 図面の簡単な説明
図 1は、 本発明を適用した指紋照合装置の一実施の形態の外観の構成を示す斜 視図である。
図 2は、 指紋読み取りセンサが、 指紋が読み取られる指で押圧されている状態 を説明する平面図である。 図 3は、 指紋照合装置の構成を示すプロック図である。
図 4は、 指紋読み取りセンサの原理的な構成を示す断面図である。
図 5は、 指紋読み取りセンサの内部回路の構成を示す回路図である。
図 6は、 図 3の指紋照合装置における指紋登録処理を説明するフローチヤ一ト である。
図 7は、, 図 3の指紋照合装置における指紋登録処理を説明するフローチヤ一ト である。
図 8は、 図 6のステップ S 3における画像例を示す図である。
図 9は、 図 6のステップ S 4における画像例を示す図である。
図 1◦は、 図 6のステップ S 5における画像例を示す図である。
図 1 1は、 図 6のステップ S 6における画像例を示す図である。
図 1 2は、 図 6のステップ S 7における画像例を示す図である。
図 1 3は、 図 7のステップ S 1 4における画像例を示す図である。
図 1 4は、 図 3の指紋照合装置における指紋照合処理を説明するフローチヤ一 トである。
図 1 5は、 図 3の指紋照合装置における指紋照合処理を説明するフローチヤ一 トである。
図 1 6は、 図 3の指紋照合装置における指紋照合処理を説明するフローチヤ一 トである。
図 1 7は、 図 3の指紋照合装置における指紋照合処理を説明するフローチヤ一 トである。
図 1 8は、 図 1 4のステップ S 1 0 4における画像例を示す図である。
図 1 9は、 図 1 4のステップ S 1 0 5における画像例を示す図である。
図 2 0は、 図 1 4のステップ S 1 0 6における画像例を示す図である。
図 2 1は、 図 1 4のステップ S 1 0 7における画像例を示す図である。
図 2 2は、 図 1 4のステップ S 1 0 4における他の画像例を示す図である。 図 2 3は、 図 1 4のステップ S 1 0 5における他の画像例を示す図である。 図 2 4は、 図 1 4のステップ S 1 0 6における他の画像例を示す図である。 図 2 5は、 図 1 4のステップ S 1 0 7における他の画像例を示す図である。 発明を実施するための最良の形態
図 1は、 本発明を適用した指紋照合装置の一実施の形態の外観の構成を示す図 である。
指紋照合装置 1は、 装置の筐体をなす本体部 1 1、 および閉じた状態において 本体部 1 1の上面を物理的に保護する、 本体部 1 1に対して開閉自在に設けられ ている保護カバー 1 2からなる。 図 1においては、 指紋照合装置 1の保護カバー 1 2は、 本体部 1 1に対して開かれた状態とされている。
本体部 1 1の上面には、 指紋読み取りセンサ 2 1、 並びに指紋の照合の結果を 表示するランプ 2 2およびランプ 2 3が設けられている。
指紋読み取りセンサ 2 1は、 指紋読み取りセンサ 2 1に押圧され、 接触された 指の指紋を画像として読み取る。
図 1に示す状態において、 図 2に示すように、 指紋読み取りセンサ 2 1を、 指 紋が読み取られる指 4 1で軽く押圧することにより、 指 4 1の指紋が画像として 読み取られる。
ランプ 2 2およびランプ 2 3は、 排他的に点灯し、 即ち、 これにより、 指紋照 合の可否を表示する。 ランプ 2 2およびランプ 2 3は、 いずれも消灯することに より、 指紋読み取りセンサ 2 1に指 4 1が接触されていない状態であることを表 示する。
指紋照合装置 1は、 図 2に示すように、 指紋の照合の結果を示すデータを、 端 子 4 2に接続されているケーブル 4 3を介して、 図示せぬ他の機器に供給する。 ケーブル 4 3は、 例えば、 USB (Universal Serial Bus) の規格に基づいたケ 一プルとすることができる。 ケーブル 4 3の規格は、 例えば、 RS232Cなど、 他 の規格であってもよいことは勿論である。 この指紋照合装置 1を持ち運びするとき、 保護カバー 1 2は閉じられる。 これ により、 本体部 1 1、 表示用のランプ 2 2、 およびランプ 2 3、 特に、 指紋読み 取りセンサ 2 1力 S、 外部からの異常な圧力から保護されるとともに、 静電気から 保護される。 その結果、 指紋照合装置 1の破損または破壊が抑制される。
図 3は、 指紋照合装置 1の内部の構成を示すブロック図である。
指紋読み取り用 LSI (Large Scale Integrated circuit) 5 1は、 指紋読み 取りセンサ 2 1から供給された信号から、 指紋の画像を生成して、 生成した指紋 の画像を CPU 5 2に供給する。
CPU 5 2は、 指紋照合装置 1全体の動作を制御する。 また、 CPU 5 2は、 指紋 読み取り用 LSI 5 1から供給された指紋の画像を登録したり、 既に登録されてい る指紋と照合する。
プログラム用 RAM (Random Access Memory) /ROM (Read Only Memory) 5 3 は、 RAMおよび ROMからなり、 CPU 5 2が実行するコントロールファームウェア である、 指紋照合プログラムを記憶する。 プログラム用 RAM/ROM 5 3の ROM部分 には、 基本的に固定のプログラムおよびパラメータが記憶される。 プログラム用 RAM/ROM 5 3の RAM部分には、 指紋照合プログラムの実行に伴って変化するパラ メータまたはデータが記憶される。
フラッシュメモリ 5 4は、 使用者の指紋を登録するとき、 使用者の指紋の画像 から抽出された特徴量を表わすデータを登録テンプレートとして記憶する。 すな わち、 CPU 5 2は、 指紋を登録するとき、 指紋読み取り用 LSI 5 1から供給され た、 指紋の画像から抽出された登録テンプレートをフラッシュメモリ 5 4に記憶 させる。 また、 CPU 5 2は、 指紋を照合するとき、 フラッシュメモリ 5 4に記憶 されている登録テンプレートと、 指紋読み取り用 LSI 5 1から供給された指紋の 画像とを照合する。
USBコントローラ 5 5は、 USBの規格に基づいて、 端子 4 2を介して接続され ている、 図示せぬ外部の機器に、 CPU 5 2から供給された、 指紋照合の結果を出 力すると共に、 外部の機器から供給された、 指紋を読み取つている使用者の I D (Identif i er) を取得する。 USBコントローラ 5 5は、 取得した使用者の I D を CPU 5 2に供給する。 ユーザ I Dは、 フラッシュメモリ 5 4に、 登録テンプレ ートとして記憶される。
指紋読み取り用 LSI 5 1、 フラッシュメモリ 5 4 , プログラム用 RAM/ROM 5 3、 CPU 5 2 , および USB コントローラ 5 5は、 バス 5 6により相互に接続されてい る。
バス 5 6には、 必要に応じてドライブ 5 7が接続される。 ドライブ 5 7は、 必 要に応じて装着される磁気ディスク 7 1、 光ディスク 7 2、 光磁気ディスク 7 3、 または半導体メモリ 7 4に記録されているデータまたはプログラムを読み出して、 そのデータまたはプログラムを、 パス 5 6を介してプログラム用 RAM/R0M 5 3に 供給する。
次に、 指紋読み取りセンサ 2 1について説明する。 指紋読み取りセンサ 2 1は、 上述したように、 指 4 1をセンサ面に直接触れさせることで指紋画像を読み取る ものであり、 例えば、 ソェ一社製 C X A 3 2 7 1 G Eを用いることができる。 指紋読み取りセンサ 2 1においては、 金属電極をアレイ状に並べた上面に絶縁 膜を設けてセンサ面が構成される。 指紋読み取りセンサ 2 1のセンサ面に指を置 いたとき、 金属電極、 絶縁膜、 およぴ指 4 1の 3つでコンデンサが形成される。 この場合、 指 4 1は、 電極として機能する。
指 4 1の指紋の隆起部 (電極) から指紋読み取りセンサ 2 1の金属電極までの 距離は、 指 4 1の指紋の谷部 (電極) から指紋読み取りセンサ 2 1の金属電極ま での距離より短い。 また、 指 4 1の指紋の隆起部が絶縁膜に接するので、 指 4 1 の指紋の隆起部で形成されるコンデンサの容量値は、 ほぼ、 絶縁膜の誘電率で決 まる。
これに対して、 指 4 1の指紋の谷部においては、 電極である指 4 1と絶縁膜と の間に空気層が入るので、 指 4 1の指紋の谷部で形成されるコンデンサの容量値 は、 指 4 1の指紋の隆起部で形成されるコンデンサの容量値と大きく異なる。 そこで、 指紋読み取りセンサ 2 1は、 金属電極、 絶縁膜、 およぴ指 4 1の指紋 の隆起部、 並びに、 金属電極、 絶縁膜、 および指 4 1の指紋の谷部でそれぞれ形 成されるコンデンサに蓄積される電荷を電圧に変換することで、 指紋の凹凸を電 気信号として出力する。
図 4は、 指紋読み取りセンサ 2 1の原理的な構成を示す図である。
図 4に示すように、 指紋読み取りセンサ 2 1は、 シリコン (S i ) 基板 1 0 1 上に層間膜 1 0 2を介して金属電極 1 0 3 (サンプリング点) を 80 i mのピッ チでアレイ状に配置し、 その上面を絶縁膜 (Over Coat) 1 0 4で覆った構成を 有する。 指紋読み取りセンサ 2 1は、 絶縁膜 1 0 4の上面に直接置かれた指 4 1 の指紋の四凸を検出する。
すなわち、 指 4 1は導体なので、 指 4 1が絶縁膜 1 0 4の上面に置かれたとき、 金属電極 1 0 3、 絶縁膜 1 0 4、 およぴ指 4 1でコンデンサ 1 0 6が形成される。 そして、 指紋の隆起部 4 1 Aおよび谷部 4 1 Bの凹凸により、 電極である指 4 1 から金属電極 1 0 3までの距離の異なるコンデンサ 1 0 6が形成されることにな り、 指紋の隆起部 4 1 Aおよび谷部 4 1 Bの凹凸は、 コンデンサ 1 0 6の容量値 の違いとなって現れる。
また、 指紋の隆起部 4 1 Aは、 絶縁膜 1 0 4に接触しているので、 隆起部 4 1 Aにより形成されるコンデンサ 1 0 6の容量値は、 絶縁膜 1 0 4の誘電率および 絶縁膜 1 0 4の厚さで決まる。 これに対して、 指紋の谷部 4 1 Bにおいては、 電 極である指 4 1と金属電極 1 0 3との間に、 絶縁膜 1 0 4に加えて空気層が入る ので、 谷部 4 1 Bにより形成されるコンデンサ 1 0 6の容量値は、 絶縁膜 1 0 4 の誘電率および絶縁膜 1 0 4の厚さ、 並びに空気の誘電率およびその厚さで決ま る。
すなわち、 指 4 1の指紋の谷部 4 1 Bで形成されるコンデンサ 1 0 6の容量値 と、 指 4 1の指紋の隆起部 4 1 Aで形成されるコンデンサ 1 0 6の容量値とは、 大きく異なる。 従って、 指 4 1が指紋読み取りセンサ 2 1の上面 (センサ面) に接触している とき、 金属電極 1 0 3に一定電圧を印加すれば、 指 4 1の指紋の隆起部 4 1 Aの コンデンサ 1 0 6に蓄積される電荷の量と、 谷部 4 1 Bのコンデンサ 1 0 6に蓄 積される電荷の量は異なる。 指紋読み取りセンサ 2 1は、 コンデンサ 1 0 6に蓄 積された電荷を電圧に変換して、 指紋の凹凸を電気信号として出力する。
次に、 指紋読み取りセンサ 2 1の、 指紋の凹凸を電気信号に変換する動作につ いて説明する。 図 5は、 指紋読み取りセンサ 2 1の内部回路を示す回路図である。 指紋読み取りセンサ 2 1は、 指紋の凹凸による容量値を電荷として検出するセ ンサ部 2 1 A、 センサ部 2 1 Aから出力された電荷を電圧信号に変換するセンス アンプ部 2 1 B、 およびセンスアンプ部 2 1 Bから出力された電圧信号を増幅し、 出力する出力部 2 1 Cから構成される。
指紋読み取りセンサ 2 1は、 センスアンプ部 2 I Bに、 電荷を電圧信号に変換 するための差動アンプ 1 2 1を有し、 出力部 2 1 Cに、 電圧信号を増幅するため の差動アンプ 1 2 2、 および出力インピーダンスを調整するための差動アンプ 1 2 3を有する。
なお、 図 5において、 コンデンサ C sは、 指 4 1と金属電極 1 0 3との間で形 成されるコンデンサ 1 0 6を示す。 以下、 コンデンサ C sの容量は、 単に、 C s と記述する。
センサ部 2 1 Aのコンデンサ C pは、 金属電極 1 0 3とシリコン基板 1 0 1と の間で形成される寄生容量に等価なコンデンサである。 以下、 コンデンサ C pの 容量は、 単に、 C pと記述する。 センサ部 2 1 Aのコンデンサ C sおよびコンデ ンサ C pは、 直列に接続される。 コンデンサ C sおよびコンデンサ C pの接続点 の電圧を、 V c e 1 と記述する。
また、 センスアンプ部 2 1 Bのコンデンサ C p,は、 寄生容量によるコンデン サ C pの容量をキャンセルする目的のコンデンサである。 コンデンサ C p,の一 方の端子は接地され、 コンデンサ C p ' の他方の端子は、 スィッチ S w 3を介し て、 差動アンプ 1 2 1の反転入力端子に接続されている。 以下、 コンデンサ C p' の容量は、 単に、 CP' と記述する。 コンデンサ CP' の容量は、 コンデン サ C pの容量にほぼ等しい。
センスアンプ部 2 1 Bのコンデンサ C h 1の一方の端子は接地され、 コンデン サ Ch 1の他方の端子は、 スィッチ Sw 5を介して差動アンプ 1 2 1の出力端子 に接続されると共に、 スィッチ Sw eを介して差動アンプ 1 2 2の反転入力端子 に接続されている。 出力部 2 1 Cのコンデンサ C h 2の一方の端子は接地され、 コンデンサ C h 2の他方の端子は、 スィッチ Sw 7を介して、 差動アンプ 1 22 の出力端子に接続されると共に、 差動アンプ 1 23の非反転入力端子に接続され ている。 センスアンプ部 2 1 Bのコンデンサ Ch 1および出力部 2 1 Cのコンデ ンサ C h 2は、 電圧を保持するための、 いわゆるホールド容量である。
以下、 コンデンサ C h 1の容量は、 単に、 Ch iと記述する。 コンデンサ Ch 2の容量は、 単に、 Ch 2と記述する。
また、 センスアンプ部 21 Bのコンデンサ C ί 1の一方の端子は、 差動アンプ 1 21の反転入力端子に接続され、 コンデンサ C f 1の他方の端子は、 差動アン プ 1 2 1の出力端子に接続されている。 コンデンサ C ί 1の容量は、 差動アンプ 1 21のゲインを決める帰還容量である。
以下、 コンデンサ C f 1の容量は、 単に、 C f 1と記述する。
出力部 2 1 Cのコンデンサ C f 2の一方の端子は、 差動アンプ 1 22の反転入 力端子に接続され、 コンデンサ C f 2の他方の端子は、 差動アンプ 1 22の出力 端子に接続されている。 コンデンサ C ί 2の容量は、 差動アンプ 1 22のゲイン を決める帰還容量である。 以下、 コンデンサ C f 2の容量は、 単に、 C f 2と記 述する。
センスアンプ部 2 1 Bのスィツチ S w rは、 コンデンサ C sおよびコンデンサ C pの接続点と、 差動アンプ 1 2 1の反転入力端子とを接続するか、 または切断 する。 センスアンプ部 2 1 Bのスィッチ S weは、 コンデンサ C h 1の接地され ていない端子と、 差動アンプ 1 22の反転入力端子とを接続するか、 または切断 する。 センスアンプ部 21 Bにおいて、 スィッチ Sw 1の一方の端子には、 電圧 VH が印加され、 他方の端子は、 差動アンプ 1 2 1の非反転入力端子に接続される。 スィッチ Sw 2の一方の端子には、 電圧 VMが印加され、 他方の端子は、 差動ァ ンプ 1 21の非反転入力端子に接続される。 スィッチ Sw l 1の一方の端子には、 電圧 VLが印加され、 他方の端子は、 差動アンプ 1 2 1の非反転入力端子に接続 される。
電圧 VHは、 電圧 VMより高く、 電圧 VMは、 電圧 VLより高い。 また電圧 V Hと電圧 VMとの差は、 電圧 VMと電圧 VLとの差にほぼ等しい。
スィッチ Sw 3の一方の端子は、 コンデンサ C p' の接地されていない端子に 接続され、 スィッチ Sw 3の他方の端子は、 差動アンプ 1 2 1の反転入力端子に 接続されている。
スィッチ Sw 4の一方の端子は、 コンデンサ C f 1の一方の端子に接続され、 スィッチ Sw 4の他方の端子は、 コンデンサ C i 1の他方の端子に接続されてい る。 すなわち、 スィッチ Sw 4は、 コンデンサ C i 1に並列に接続されている。 スィッチ Sw 5の一方の端子は、 差動アンプ 1 2 1の出力端子に接続され、 ス イッチ S w 5の他方の端子は、 コンデンサ C h 1の接地されていない端子に接続 されるとともに、 スィッチ S w eを介して差動アンプ 1 2 2の反転入力端子に接 続されている。
出力部 2 1 Cのスィツチ Sw 6の一方の端子は、 コンデンサ C f 2の一方の端 子に接続され、 スィッチ S w 6の ί 方の端子は、 コンデンサ C f 2の他方の端子 に接続されている。 すなわち、 スィッチ Sw6は、 コンデンサ C f 2に並列に接 続されている。
出力部 2 1 Cのスィツチ Sw 7の一方の端子は、 差動アンプ 1 22の出力端子 に接続され、 スィッチ S w 7の他方の端子は、 コンデンサ C h 2の接地されてい ない端子に接続されると共に、 差動アンプ 1 23の非反転入力端子に接続されて いる。
差動アンプ 1 22の非反転入力端子には、 電圧 VO Sが印加されている。 次に、 指紋読み取りセンサ 2 1の内部回路の動作について説明する。
なお、 スィッチ Sw r、 スィッチ Sw e、 スィッチ S w 1乃至スィッチ S w 7、 並びにスィッチ S w 1 1力 切断している状態、 すなわちオフしている状態から、 指紋読み取りセンサ 2 1の動作が開始される。
(1) 初期状態、 すなわち、 スィッチ Sw r、 スィッチ Sw e、 スィッチ Sw l 乃至スィッチ Sw 7、 並びにスィッチ S w 1 1が、 オフしている状態から、 まず、 スィッチ Sw l、 スィッチ Sw4、 およびスィッチ Sw r力 接続、 すなわちォ ンされる。 従って、 コンデンサ C sとコンデンサ C pとの接続点の電圧 V c e 1 は、 VHとされる。 このとき、 コンデンサ C sおよびコンデンサ C pに蓄積され る電荷は、 (C s +C p) VHとなる。
(2) その後、 スィッチ Sw l、 およびスィッチ Sw rがオフされる。
(3) 次に、 スィッチ S w l l、 およびスィッチ Sw 3がオンされ、 コンデンサ C p,とスィッチ S w 3の接続点の電圧 V dmyを V Lとする。 ここで、 コンデ ンサ C p' に蓄積される電荷は、 C p ' VLとなる。
(4) その後、 スィッチ Sw 3、 およびスィッチ Sw 1 1がオフされる。
(5) 次に、 スィッチ S w 2がオンされ、 差動アンプ 1 2 1の反転入力端子に印 加される電圧 V s 1を VMとする。
(6) その後、 スィッチ Sw 4がオフされる。
(7) 次に、 スィッチ Sw r、 スィッチ Sw 3、 およびスィッチ S w 5がオンさ れる。 このとき、 電圧 V c e 1は VHであり、 電圧 V dmyは VLであり、 差動 アンプ 1 2 1の反転入力端子に印加される電圧 V s 1は VMなので、 コンデンサ C s、 コンデンサ C!)、 およびコンデンサ C p ' 間で、 式 (1 ) で示される電荷 が移動する。
(C s + C p) (VH-VM) -C p ' (VM— VL)
=C s (VH-VM) ( 1 ) 従って、 差動アンプ 1 2 1の出力電圧 V s n sは、 式 (2) で示される。
V s n s =VM-C s (VH-VM) /C f 1 (2) このように、 センスアンプ部2 1 Bのゲインは、 金属電極 1 0 3とシリコン基 板 1 0 1との間で形成される寄生容量 C pに依存することなく決まるので、 ダイ ナミックレンジを大きくすることができる。
そして、 コンデンサ C h 1には、 式 (2) で求められる電圧 V s n sが印加さ れる。
(8) その後、 スィッチ Sw 5がオフされる。
(9) 次に、 スィッチ Sw 6がオンされ、 コンデンサ C f 2の入力側 (差動アン プ 1 2 2の反転入力端子側) の電圧 V o iが VO Sとされる。
(1 0) その後、 スィッチ Sw 6がオフされる。
(1 1 ) 次に、 スィッチ Sw eおよびスィッチ Sw 7がオンされる。 このとき、 コンデンサ C h 1からコンデンサ C f 2に移動する電荷は、 (VO S— V s n s ) C h iである。 これにより、 コンデンサ C f 2の出力側 (差動アンプ 1 2 2 の出力端子側) の電圧 V o oが決定し、 コンデンサ C h 2に電荷が蓄積される。 そして、 この電圧 V o oがバッファアンプである差動アンプ 1 2 3を介して、 出力端子 A o u tに出力される。
次に、 図 6と図 7のフローチャートを参照して、 図 2の指紋照合装置 1におけ る指紋登録処理を説明する。 なお、 この処理は、 ユーザにより、 指紋登録処理を 開始する指令が行なわれ、 かつ、 指紋読み取りセンサ 2 1に、 ユーザの指が押圧 されたとき開始される。
ステップ S 1において、 指紋読み取りセンサ 2 1は、 指紋読み取りセンサ 2 1 に押圧され、 接触された指の指紋の画像を読み取る。 そして、 読み取った指紋に 対応する信号が、 指紋読み取り用 LSI 5 1に供給される。
ステップ S 2において、 指紋読み取り用 LSI 5 1は、 指紋読み取りセンサ 2 1 から供給された指紋に対応する信号から、 指紋の画像データを生成する。
ステップ S 3において、 指紋読み取り用 LSI 5 1は、 生成した指紋の画像デー タを、 2 5 6階調のグレー画像データに変換し、 変換した 2 5 6階調のグレー画 像データを CPU5 2に供給する。 具体的には、 図 8に示されるような、 1 2 8画 素 X 1 2 8画素のグレー画像 20 0のデータが取得される。 画像 2 0 1は、 画像 20 0の中の 9 6画素 X 9 6画素の画像である。
ステップ S 4において、 CPU5 2は、 変換されたグレー画像データに対して、 ノィズ除去や指紋隆線内の微少な傷を埋めるなどの前処理を実行する。 前処理が 行なわれた画像は、 図 9に示されるように、 ノイズが除去された画像となる。 ステップ S 5において、 CPU5 2は、 前処理されたグレー画像データを、 所定 の閾値で 2値化し、 2値化画像データに変換する。 図 1 0は、 2値化画像を表わ している。
ステップ S 6において、 CPU5 2は、 細線化処理を行なう。 具体的には、 ステ ップ S 5の処理により得られた 2値化画像のデータのうち、 値が 1である部分か ら線幅が 1画素分の幅になるような中心線を抽出する処理が行なわれる。 これに より、 線幅が 1画素分の幅となり、 かつ、 連結性が保持されるため、 この後の指 紋隆線の分岐点や端点を検出するのが容易になる。 ステップ S 6の処理により細 線化処理が行なわれた画像は、 図 1 1に示されるようになる。
ステップ S 7において、 CPU5 2は、 細線化処理された画像から、 分岐点と端 点をそれぞれ最大 1 0個まで検出する。 ステップ S 7の処理により検出された分 岐点と端点は、 図 1 2に示されるようになる。 検出される分岐点と端点は、 実際 には、 図 1 2の 1 2 8画素 X 1 2 8画素の画像 2 00のうち、 9 6画素 X 9 6画 素で示される画像 2 0 1が対象となる。 これにより抽出する分岐点と端点を減ら すことができる。 図 1 2において、 分岐点は、 1乃至? 8 (8個) とされ、 分 岐点 P 1乃至 P 8における座標は、 それぞれ、 P I (x 1 , y 1) , Ρ 2 (χ ρ 2 , y ρ 2) , Ρ 3 (χ ρ 3 , y ρ 3) , Ρ 4 (χ ρ 4 , y ρ 4 ) , Ρ 5 (χ ρ 5 , y ρ 5 ) , Ρ 6 ( ρ 6 , y ρ 6) , Ρ 7 (χ ρ 7 , y ρ 7 ) , およ び Ρ 8 (χ ρ 8 , y ρ 8) とされる。 また、 端点は、 Q 1乃至 Q 1 0 ( 1 0個) とされ、 端点 Q 1乃至 Q 1 0における座標は、 それぞれ、 Q l (x q 1 , y q
1) , Q 2 (x q 2 , y q 2) , Q 3 (x q 3 , y q 3) , Q 4 (x q 4, y q 4> , Q 5 (x q 5 , y q 5 ) , Q 6 (x q 6 , y q 6 ) , Q 7 (x q 7 , y q 7) , Q 8 (x q 8 , y q 8) , Q 9 (x q 9 , y q 9) および Q 8 ( x q 1 0 y q 1 0) とされる。
なお、 いまの例の場合、 CPU5 2は、 検出する分岐点と端点を最大 1 0個とし たが、 これに限らず、 例えば、 前もって決められた最大数のリミットとしてもよ いし、 1 0個以上と設定してもよい。 また、 CPU5 2は、 検出する分岐点と端点 の対象を、 9 6画素 X 9 6画素で示される画像 2 0 1としたが、 これに限らず、 例えば、 1 1 2画素 X 1 1 2画素で構成される画像とすることもできる。
ステップ S 8において、 CPU 5 2は、 プログラム用 RAM/R0M5 3の RAM部分に 検出した分岐点と端点の座標 (x, y) (すなわち、 P i (x p i , y p i ) (ただし、 i = 2 , · ' · , , 8) 、 および Q i (x q i , y q i ) (ただ し、 i = l, 2 , · · ■, , 1 0) ) を記憶させる。 なお、 この記憶は一時的な ものであるので、 (フラッシュメモリ 5 4ではなく) プログラム用 RAM/ROM 5 3 の RAM部分に記憶される。
ステップ S 9において、 CPU5 2は、 登録画像の中心である中心点 C ( i n, j n) を検出する。 具体的には、 図 1 2に示されるように、 画像 2 0 1の縦軸の 中心線と横軸の中心線が交差する点が登録画像の中心点とされる。 ここで求める 中心は、 登録画像の中心であって、 指紋の中心ではないので、 迅速かつ簡単に求 めることができる。 なお、 いまの例の場合、 画像 2 0 0は 1 2 8画素 X 1 2 8画 素とされているので、 CPU5 2は、 あらかじめ設定されている点 (6 4 , 6 4) (または、 (6 3 , 6 3) ) を中心点 Cとして検出する。
ステップ S 1 0において、 CPU5 2は、 ステップ S 9の処理により求めた登録 画像の中心である中心点 C ( i n , j n ) と、 ステップ S 7の処理により検出し た複数の分岐点の距離をそれぞれ演算する。 いまの例の場合、 中心点 Cと分岐点 P 1乃至 P 8の間の距離がそれぞれ演算される。 中心点 Cと分岐点 P 1の間の距 離を L p 1とすると、 中心点 Cと分岐点 P 2の間の距離は L p 2とされ、 中心点 Cと分岐点 P 3の間の距離は L D 3とされる。 以下、 順次、 中心点 Cと P 4 , P 5, · · ·, P 8間の距離が、 L p 4 , L p 5, ' · ·, L p 8とされる。 ステップ S 1 1において、 CPU5 2は、 ステップ S 1 0の処理により演算した 距離 (中心点 Cと分岐点 P 1乃至 P 8の間の距離) を短いものの順にソートする。 いまの例の場合、 中心からの距離は、 L p lく L p 2く L p 3く L p 4く L p 5 < L p 6 < L p 7 < L p 8とされる。
ステップ S 1 2において、 CFU5 2は、 中心点 C ( i n, j n) と、 ステップ S 7の処理により検出した複数の端点の距離をそれぞれ演算する。 いまの例の場 合、 中心点 Cと端点 Q 1乃至 Q 1 0の間の距離がそれぞれ演算される。 中心点 C と端点 Q 1間の距離を L q 1とすると、 中心点 Cと端点 Q 2の間の距離は L q 2 とされ、 中心点 Cと端点 Q 3の間の距離は L q 3とされる。 以下、 順次、 中心点 Cと Q 4, Q 5, · · ', Q 1 0間の距離が L q 4, L q 5 , · · ·, L q 1 0 とされる。
ステップ S I 3において、 CPU 5 2は、 ステップ S 1 2の処理により演算した 距離 (中心点 Cと端点 Q 1乃至 Q 1 0の間の距離) を短いものの順にソートする。 いまの例の場合、 中心からの距離は、 L q l <L (i 2く L q 3く L q 4 < L qL 5 く L q 6く L q 7く L q 8く L q 9く L q 1 0とされる。
ステップ S 1 4において、 CPU5 2は、 指紋の中心点 C ( i n, j n) (ステ ップ S 9の処理により求めた中心点) に近い (いまの例の場合、 最大 1 0個まで の) 分岐点において、 互いに最も近い 3点を結ぶ 3角形を全て作成する。 なお、 上述したように、 いまの例の場合、 CPU5 2は、 指紋の中心点に近い最大 1 0個 までの分岐点において、 互いに最も近い 3点を結ぶ 3角形を全て作成するとして いるが、 これに限らず、 ステップ S 7の処理により検出された分岐点の個数と対 応して、 変更させることもできる。
具体的には、 CPU5 2は、 中心点 C ( i n, j n) に最も近い分岐点 P I (x p i , y p 1) (中心点 Cからの距離 L p 1が最も小さいため、 分岐点 P 1が選 択される〉 と、 分岐点 P 1に最も近い 2つの分岐点 P 2 (x p 2, y p 2) およ び P 3 (x p 3 , y p 3) を結んで、 図 1 3に示されるような 3角形 W 1を作成 する。 その後、 CPU 5 2は、 中心点 Cに 2番目に近い分岐点 P 2 (x p 2, y p 2) (中心点 Cからの距離 L p 2が 2番目に小さいため、 分岐点 P 2が選択される) と、 分岐点 P 2に最も近い 2つの分岐点 P 1 (x p l, y p l) および分岐点 P 3 (x p 3 , y p 3) を結んで、 3角形を作成する。 いまの場合、 上述した 3角 形 W1と全く同じである。 以下、 全く同じ 3角形が作成される場合、 その記載は 省略する。
これを順次繰り返すことにより、 中心点 Cに 3番目に近い分岐点 P 3と、 分岐 点 P 3に最も近い 2つの分岐点 P 2, P 4を結んだ 3角形 W2、 中心点 Cに 4番 目に近い分岐点 P 4と、 分岐点 P 4に最も近い 2つの分岐点 P 3, P 7を結んだ 3角形 W3、 および、 中心点 Cに 5番目に近い分岐点 P 5と、 分岐点 P 5に最も 近い 2つの分岐点 P 6 , P 8を結んだ 3角形 W4の 4個の 3角形が作成される (中心点 Cに 6番目に近い分岐点 P 6、 中心点 Cに 7番目に近い分岐点 P 7、 お よび中心点 Cに 8番目に近い分岐点 P 8に基づいて作成される 3角形は、 それぞ れ、 上述した 3角形 Wl, W2, W3 , または W 4のいずれかと重複するため、 省略している) 。
このように、 中心から近い順番に、 各分岐点と、 それに最も近い 2つの分岐点 により 3角形を作成すると、 例えば、 1つ目の 3角形と 2つ目の 3角形、 または 3つ目の 3角形が全く同じ分岐点により構成される場合も生じる。 このことは、 中心に近い分岐点から順番に、 漏れることなく、 各分岐点とそれに最も近い 2つ の^岐点において 3角形を作成していることを示している。 具体的には、 中心点 C ( i 11, j n) に最も近い分岐点 P 1 (x p 1 , y l ) と、 分岐点 P 1に最 も近い 2つの分岐点 P 2 (x p 2 , y p 2) および P 3 (x p 3 , y p 3) を結 んで作成された 3角形 Wlと、 中心点 Cに 2番目に近い分岐点 P 2 (x p 2 , y p 2) と、 分岐点 P 2に最も近い 2つの分岐点 P 1 (x p 1 , y p l) およぴ分 岐点 P 3 (x p 3, y p 3) を結んで作成された 3角形は、 3角形 Wlと全く同 じであるが、 このような 3角形も、 漏れることなく作成される。 ステップ S I 5において、 CPU 5 2は、 作成した複数の 3角形の面積と辺の長 さを計算する。 いまの例の場合、 作成された 3角形は 4個 (3角形 Wl, W2, W3, および W4) である (実際には、 重複する 3角形が作成されているため、 4個以上の 3角形が作成されているが、 いまの例の場合では、 異なる 3角形は 4 個とされる) ので、 4個のそれぞれについて、 面積と各辺の長さが計算される。 これにより、 3角形 W1については、 3角形 W1の面積 S 1、 分岐点 P 1と分岐 点 P 2 (以下、 このような場合、 P 1 P 2のように記載する) 間の距離、 P 2 P 3間の距離、 および P 3 P 1間の距離が計算され、 3角形 W2については、 3角 形 W 2の面積 S 2、 P 2 P 3, P 3 P 4, および P 4 P 2間の距離が計算され、 3角形 W 3については、 3角形 W 3の面積 S 3、 P 3 P 4間の距離、 P 4 P 7間 の距離、 および P 7 P 3間の距離が計算され、 3角形 W4については、 3角形 W 4の面積 S 4、 P 5 P 6間の距離、 P 6 P 8間の距離、 および P 8 P 5間の距離 (辺の長さ) が求められる。
ステップ S 1.6において、 CPU 5 2は、 フラッシュメモリ 5 4に、 それぞれの 3角形の面積と各辺の長さを登録テンプレートに記憶させる。 このように面積と 辺の長さの集合に過ぎないので、 そのデータ量は少ない。
ステップ S 1 7において、 CPU5 2は、 それぞれの 3角形の 3点に最も近い端 点の位置を計算する。 具体的には、 図 1 3の例の場合、 3角形 W1を構成する分 岐点は、 分岐点 P 1 , P 2および P 3とされるので、 CPU 5 2は、 分岐点 P 1に 最も近い端点 Q 2 (x q 2, y q 2) 、 分岐点 P 2に最も近い端点 Q 1 (x q 1 , y q l ) 、 および分岐点 P 3に最も近い端点 Q 1 (x q 1 , y q 1 ) を検出し、 それぞれの方向と距離 (P 1 Q 2間の方向と距離、 P 2 Q 1間の方向と距離、 P 3 Q 1間の方向と距離) を計算する。 なお、 いまの例の場合、 位置として、 方向 と距離を求めるようにしたが、 少なくともいずれか 1つとしてもよい。 この処理 が繰り返され、 3角形 W2について P 3 Q 1間、 P 2 Q 1間、 P 4 Q 7間の方向 と距離 (以下、 これを、 位置とも称する) が求められ、 3角形 W 3について P 3 Q l間、 P 4Q 7間、 および、 P 7 Q 7間の位置が求められ、 3角形 W4につい て P 5 Q6間、 P 6Q 6間、 および P 8 Q 6間の位置が求められる。
ステップ S 1 8において、 CPU 5 2は、 ステップ S 1 7の処理により求めた端 点の位置をそれぞれの 3角形の面積と各辺の長さ (ステップ S 1 6の処理により 記憶した 3角形の面積と各辺の長さ) に関連付し、 登録テンプレートとして記憶 させる。 いまの例の場合、 3角形 Wl, W2, W3および W4の面積 S 1, S 2 S 3, S 4、 各辺 (3辺) の長さ (例えば、 W1の場合、 P 1 P 2間の長さ、 P 2 P 3間の長さ、 P 3 P 1間の長さ) 、 端点の位置 (3角形^1の場合、 P 1 Q 2間の位置、- P 2Q 1間の位置、 P 3 Q 1間の位置) がそれぞれ記憶される。 な お、 いまの例の場合、 3角形 W1において P 3 Q 1の位置が求められ、 3角形 W 2においても P 3 Q 1の位置が求められる (同じ分岐点に対応する同じ端点との 間の位置が求められる) ようになっているが、 同じ点の位置については、 計算を 省略するようにしてもよい。
ステップ S 1 9において、 CPU 5 2は、 USBコントローラ 5 5を介して、 図示 せぬ外部の機器から供給された、 指紋を読み取つている使用者の I Dを取得し、 フラッシュメモリ 54に記憶されている登録テンプレート (ステップ S 1 6とス テツプ S 1 8の処理によりフラッシュメモリ 54に記憶された登録テンプレー ト) に関連付けして記憶させる。
図 6と図 7の処理により、 使用者の I Dとともに、 指紋画像から抽出した複数 の 3角形の面積、 各辺の長さ、 特定の分岐点 (3角形を構成する分岐点) に対応 する (に最も近接する) 端点の位置 (方向または距離) をその指紋の特徴として 記憶させることができる。
なお、 ステップ S 1 9の使用者の I Dを記憶させる処理は、 認証登録処理を開 始するとき、 予め (ステップ S 1の前に) 行なわれていてもよい。
次に、 図 1 4乃至図 1 7のフローチャートを参照して、 図 2の指紋照合装置 1 における指紋照合処理を説明する。 なお、 この処理は、 図 6と図 7の指紋登録処 理が行なわれた後に実行される処理であり、 指紋読み取りセンサ 2 1に、 ユーザ の指が押圧されたとき開始される。 なお、 ステップ S 1 0 1乃至ステップ S 1 1 3の処理は、 上述した図 6のステップ S 1乃至ステップ S 1 3と殆ど同様である ので、 簡単に説明する。
ステップ S 1 0 1において、 指読み取りセンサ 2 1は、 指紋読み取りセンサ 2 1に押圧され、 接触された指の指紋の画像を読み取り、 読み取った指紋の画像に 対応する信号を、 指紋読み取り用 LSI 5 1に供給する。
ステップ S 1 0 2において、 指紋読み取り用 LS I 5 1は、 指紋読み取りセンサ 2 1から供給された指紋に対応する信号から、 指紋の画像データを生成する。 ステップ S 1 0 3において、 指紋読み取り用 LSI 5 1は、 生成した指紋の画像 データを、 2 5 6階調のグレー画像データに変換し、 変換した 2 5 6階調のグレ 一画像データを CPU 5 2に供給する。
ステップ S 1 0 4において、 CPU 5 2は、 変換されたグレー画像データに対し て、 ノイズ除去や指紋隆線内の微少な傷を埋めるなどの前処理を実行する。 具体 的には、 図 1 8に示されるような、 1 2 8画素 X 1 2 8画素のグレー画像 3 0 0 のデータが生成される。 画像 3 0 1は、 9 6画素 X 9 6画素の画像である。 図 1 8に示されるグレー画像と、 図 9のグレー画像 2 0 0を比較すると、 図 9の画像 に比べて指紋の位置が右上にずれている。
ステップ S 1 0 5において、 CPU 5 2は、 前処理されたグレー画像データを、 所定の閾値で 2値化し、 2値化画像データに変換する。 図 1 9は、 2値化画像を 表わしている。
ステップ S 1 0 6において、 CPU 5 2は、 細線化処理を行なう。 これにより、 図 2 0に示されるような画像に変換される。
ステップ S 1 0 7において、 CPU 5 2は、 細線化処理された画像から、 分岐点 と端点をそれぞれ最大 1 0個まで検出する。 この処理により検出された分岐点と 端点は、 図 2 1に示されるようになる。 このとき、 検出される分岐点と端点は、 実際には、 図 2 1の 1 2 8画素 X 1 2 8画素の画像 3 0 0のうち、 9 6画素 x 9 6の画素で示される画像 3 0 1が対象となる。 図 2 1において、 分岐点は、 P b 1乃至 P b 7 (7個) とされ、 端点は、 Q b 1乃至 Q b 1 0 ( 1 0個) とされる。 なお、 いまの例の場合、 CPU5 2は、 検出する分岐点と端点を最大 1 0個とし たが、 上述した図 6および図 7の処理と同様に、 これに限らず、 例えば、 前もつ て決められた最大数のリミットとしてもよいし、 1 0個以上と設定してもよい。 また、 CPU5 2は、 検出する分岐点と端点の対象を、 9 6画素 X 9 6画素で示さ れる画像 3 0 1としたが、 これに限らず、 例えば、 1 1 2画素 X 1 1 2画素で示 される画像とすることもできる。
図 1 3と図 2 1を比較するに、 図 1 3の分岐点 P 1は図 2 1の分岐点 P b 1に 対応しており、 分岐点 P 2は分岐点 P b 2に対応しており、 分岐点 P 3は分岐点 P b 5に対応しており、 分岐点 P 4は分岐点 P b 7に対応しており、 分岐点 P 5 は分岐点 P b 3に対応しており、 分岐点 P 6は分岐点 P b 4に対応しており、 分 岐点 P 8は分岐点 P b 6に対応している。 すなわち、 図 1 3と図 2 1では、 取り 込まれた画像の位置が異なるため (ユーザが指を置く位置は、 その都度変化する ため) 、 図 1 3において検出された分岐点 P 7は、 図 2 1では検出されていない。 また、 分岐点 P b iの座標は、 分岐点 P b i (x p b i , y p b i ) (ただし、 i = 1 , 2, ' . ', 7) とされ、 端点 Q b iの座標は端点 Q b i (x q b i , y q b i ) (ただし、 i = l, 2, · · ·, 1 0) とされる。
ステップ S 1 0 8において、 CPU5 2は、 プログラム用 RAM/R0M5 3の RAM部 分に、 検出した分岐点と端点の座標 (x, y) (すなわち、 P b i (x p b i , y p b i ) (ただし、 i = l , 2, ■ · ·, 7) 、 および Q b i ( x q b i , y q b i ) (ただし、 i = l, 2, ' · · , 1 0) ) を記憶させる。 なお、 この記 憶は一時的なものであるので、 (フラッシュメモリ 5 4ではなく) プログラム用 RAM/ROM 5 3の RAM部分に記憶される。
ステップ S 1 0 9において、 CPU 5 2は、 指紋画像の中心点 C b ( i n, j n) を検出する。 なお、 画像 30 0は 1 2 8画素 X 1 2 8画素とされているので、 上述した図 6のステップ S 9における場合と同様に、 CPU5 2は、 あらかじめ設 定されている点 (64, 64) (または、 (63, 6 3) ) を、 中心点として検 出するようにしてもよい。
ステップ S 1 10において、 CPU 52は、 ステップ S 1 09の処理により求め た指紋画像の中心点 Cb ( i n, j n) とステップ S 10 7の処理により検出し た複数の分岐点の距離をそれぞれ演算する。 いまの例の場合、 中心点 C bと分岐 点 P b 1乃至 P b 7の間の距離がそれぞれ演算される。 中心点 Cbと分岐点 P b 1の間の距離を Lp b 1とすると、 中心点 C bと分岐点 P b 2の間の距離は L p 2とされ、 中心点 C bと分岐点 P b 3の間の距離は L p b 3とされる。 以下、 順 次、 中心点 C bと P b 4, P b 5 , ■ · ■, P b 7間の距離が、 L p b 4 , L p b 5 , · ■ · , L p b 7とされる。
ステップ S 1 1 1において、 CPU 5 2は、 ステップ S 1 10の処理により演算 した'距離 (中心点 C bと分岐点 P b 1乃至 P b 7の間の距離) を短いものの順に ソートする。 いまの例の場合、 中心からの距離は、 L p b lく L p b 2く L p b 3 <L p b 4< Lr> b 5 <:L p b 6 <]L p b 7とされる。
ステップ S 1 1 2において、 CPU 52は、 中心点 C b ( i n, j n) と、 ステ ップ S 10 7の処理により検出した複数の端点の距離をそれぞれ演算する。 いま の例の場合、 中心点 C bと端点 Q b 1乃至 Q b 1 0の間の距離がそれぞれ演算さ れる。 中心点 C bと端点 Q b 1間の距離を L q b 1とすると、 中心点 C bと端点 Q b 2の間の距離は L q b 2とされ、 中心点 C bと端点 Q b 3の間の距離は L q b 3とされる。 以下、 順次、 中心点 C bと Qb 4, Qb 5, ' . ', 01) 1 0間 の距離が L q b 4, L q b 5 , ■ · ■, L q b l Oとされる。
ステップ S 1 1 3において、 CPU 5 2は、 ステップ S 1 2の処理により演算し た距離 (中心点 Cと端点 Q 1乃至 Q 8の間の距離) を短いものの順にソートする。 いまの例の場合、 中心からの距離は、 L q b lく L q b 2く L q b 3く L q b 4 く: L q b 5く: L q b 6< L (i b 7 <:L ci b 8 <L (i b 9 < L ci b l Oとされる。 ステップ S 1 14において、 CPU5 2は、 指紋の中心点 C b ( i n, j n) (ステップ S 1 09の処理により求めた中心点) に最も近い分岐点と、 その分岐 点から最も近い分岐点を 2点検出し、 その 3点を結ぶ 3角形を作成する。 具体的 には、 図 2 1の例の場合、 CPU 5 2は、 中心点 C bに最も近い分岐点 P b 1と、 分岐点 P b 1から最も近い分岐点 P b 2, および分岐点 P b 5を結ぶ 3角形 Wb 1を作成する。 すなわち、 CPU5 2は、 中心点 C b ( i n, j n) に最も近い分 岐点 P b l (x p b 1 , y p b 1 ) (中心点 C bからの距離 L p b 1が最も小さ いため、 分岐点 P b 1が選択される) と、 分岐点 P b 1に最も近い 2つの分岐点 P b 2 (x p b 2, y p b 2) および分岐点 P b 5 (x p b 5 , y p b 5) の 3 点を結んで、 3角形 Wb lを作成する。
なお、 図 21の例の場合、 3角形 W1は 3角形 Wb 1に対応しており、 3角形 W2は 3角形 Wb 3 (このフローチヤ トでは作成されないが、 3角形を全て作 成した場合、 3角形 Wb 3が作成される) に対応しており、 3角形 W4は後述す る 3角形 Wb 2に対応している。 すなわち、 図 1 3の 3角形 W 3は図 2 1では作 成されない。
ステップ S 1 1 5において、 CPU5 2は、 ステップ S 1 14の処理により作成 した 3角形 Wb l (分岐点 P b l , P b 2および P b 5からなる 3角形 W b 1 ) の面積 S b 1を計算する。
ステップ S 1 1 6において、 CPU 52は、 フラッシュメモリ 54に記憶されて いる登録テンプレートを読み出す。
ステップ S I 1 7において、 CPU 5 2は、 登録テンプレート (指紋登録処理 (図 6と図 7の処理) によりフラッシュメモリ 54に記憶された登録テンプレー ト) に、 いま計算した 3角形 Wb 1の面積 S b 1と一致する面積を有する登録テ ンプレートがあるか否かを判定する。 指紋は、 周辺環境、 または体調などにより ある程度変形するため、 CPU5 2は、 許容範囲を設け、 完全に一致しない場合に おいても、 許容範囲内の (すなわち、 照合閾値より小さい) 値であれば、 一致す るように判定する。 いまの例の場合、 図 2 1の 3角形 Wb lは、 図 7のステップ S 1 5の処理において求められた図 1 3の 3角形 W1と対応しているので、 その 面積 S b 1と S 1は一致すると判定される。 ステップ S 1 1 7において、 3角形 Wb 1の面積 S b 1と一致する (面積が一 致する 3角形が、 登録テンプレートにある) と判定された場合、 ステップ S 1 1 8において、 CPU5 2は、 3角形 Wb 1の辺の長さを計算する。 具体的には、 P b l P b 2間の長さ、 P b 2 P b 5間の長さ、 P b 5 P b 1間の長さが計算され る。 なお、 この長さは、 ステップ S 1 1 4において、 面積と同時に計算するよう にしてもよ 、。
ステップ S 1 1 9において、 CPU5 2は、 ステップ S 1 1 7の処理により一致 すると判定された、 登録テンプレートに登録されている 3角形 (いまの例の場合、 3角形 W1) を構成する 3辺の長さと、 ステップ S 1 1 8の処理により計算した 3辺の長さ (いまの例の場合、 3角形 Wb 1の 3辺の長さ) がー致するか否かを 判定する。 いまの例の場合、 3角形 W1に対応する P 1 P 2間の長さ, P 2 P 3 間の長さ, および P 3 P 1間の長さ (図 7のステップ S 1 6の処理により記憶さ れた辺の長さ) と、 ステップ S 1 1 8の処理により計算した 3辺の長さ P b 1 P b 2間、 P b 2 P b 5間、 および P b 5 P b 1間の長さが一致するか否かが判定 される。 勿論、 CPU5 2は、 許容範囲を設け、 完全に一致しない場合においても、 許容範囲内の (すなわち、 照合閾値より小さい) 値であれば、 一致するように判 定する。 3角形 W1と 3角形 Wb 1を構成するそれぞれの分岐点 P 1と分岐点 P b 1、 分岐点 P 2と分岐点 P b 2、 および分岐点 P 3と分岐点 P b 5は対応して いるので、 勿論、 一致すると判定される。
ステップ S 1 1 9において、 3辺の長さが一致すると判定された場合、 ステツ プ S 1 2 0において、 CPU 5 2は、 その 3角形 (いまの場合、 ステップ S 1 1 4 の処理により作成した 3角形 Wb 1 ) を構成する 3個の分岐点 (分岐点 P b 1, 分岐点 P b 2, および分岐点 P b 5) のそれぞれに最も近い端点を検索する。 い まの例の場合、 分岐点 P b 1に最も近い端点 Q b 3 (x q b 3 , y q b 3) 、 分 岐点 P b 2に最も近い端点 Qb 7 (x q b 7, y q b 7 ) 、 および分岐点 P b 5 に最も近い端点 Q b 7 (x q b 7 , y q b 7) が検索される。 ステップ S 1 2 1において、 CPU 5 2は、 ステップ S 1 20の処理により検索 した端点の位置を計算する。 具体的には、 P b 1 Q b 3間の位置、 P b 2 Q b 7 間の位置、 P b 5 Q b 7間の位置が計算される。
ステップ S 1 1 8の辺の長さの計算とステップ S 1 20 , S 1 2 1の端点の検 索と位置の計算は、 ステップ S 1 1 5において、 面積の計算時にまとめて行なう こともできる。 ただし、 面積が一致しなければ、 後の 2つの計算は不要となり、 辺の長さが一致しなければ、 端点の検索と位置の計算は不要となるので、 前の条 件の判定後、 順次計算した方が、 計算量が少なくて済み、 結果的に迅速な判定が 可能になる。
ステップ S 1 2 2において、 CPU 5 2は、 ステップ S 1 1 7の処理により一致 すると判定された 3角形を構成する 3点の分岐点と、 それぞれの分岐点に最も近 い端点との位置と、 ステップ S 1 2 1の処理により計算した P b 1 Q b 3間の位 置、 P b 2 Q b 7間の位置、 および、 P b 5 Q b 7間の位置を比較する。 いまの 例の場合、 3角形 W1を構成する 3点の分岐点 P 1, P 2および P 3と、 それぞ れの分岐点に最も近い端点との位置、 すなわち、 図 7のステップ S 1 8の処理に より記憶された P 1 Q 2間の位置、 P 2 Q 1間の位置、 および、 P 3 Q 1間の位 置) と、 ステップ S 1 2 1の処理により計算した P b 1 Q b 3間の位置、 P b 2 Qb 7間の位置、 および、 P b 5 Q b 7間の位置が比較される。
ステップ S 1 2 3において、 CPU5 2は、 ステップ S 1 2 2の処理により比較 した、 3角形を構成する 3個の分岐点と、 3個の分岐点にそれぞれ最も近い端点 との位置が一致するか否かを判定する。 いまの例の場合、 P 1 Q 2間、 P 2 Q 1 間、 および P 3 Q 1間の位置と、 P b 1 Q b 3間の位置、 P b 2 Q b 7間の位置、 および、 P b 5 Q b 7間の位置が一致するか否かが判定される。 3角形 Wb lに より求められる P b l Q b 3、 P b 2 Q b 7、 および P b 5 Q b 7は、 それぞれ、 3角形 W1により求められる P 1 Q 2、 P 2 Q 1、 および P 3 Q 1に対応してい るので、 一致すると判定される。 なお、 勿論、 所定の範囲内の (すなわち、 照合 閾値より小さい) 誤差は、 一致すると判定される。 一致すると判定された場合、 処理はステップ S 1 2 4に進み、 CPU 5 2は、 カウンタに 1を加える (1だけィ ンクリメントされる) 。 いまの例の場合、 カウンタの値 (初期値は 0とされてい る) は 1とされる。
ステップ S 1 2 5において、 CPU 5 2は、 カウンタの値が 2であるか否かを判 定する。 カウンタの値は、 作成された 1つの 3角形の面積、 辺の長さ、 それぞれ の分岐点と端点との間の位置が全て一致した場合に加えられる。 いまの例の場合、 カウンタの値は 1とされる (1つの 3角形について認証ができたとされる) ので、 ステップ S 1 2 6において、 CPU 5 2は、 次の 3角形が作成できるか否かを判定 する。 すなわち、 次に中心点 C bに近い分岐点と、 その分岐点に最も近い 2つの 分岐点を結んで、 いままでに作成した 3角形と異なる 3角形が作成できるか否か が判定される。 いまの例の場合、 2番目 (分岐点 P 1の次) に中心点 C bに近い 分岐点は P 2であり、 分岐点 P 2により作成される 3角形は、 3角形 W b 1と同 じであるため新しい 3角形は作成できないが、 3番目に中心点 C bに近い分岐点 P 3を用いて作成する 3角形 W b 2が作成できるため、 次の 3角形は作成できる と判定される。
ステップ S 1 2 6において、 次の 3角形が作成できると判定された場合、 ステ ップ S 1 2 7に進み、 CPU 5 2は、 次の 3角形を作成する。 すなわち、 ステップ S 1 0 7の処理により、 図 2 1から分岐点 P b 1乃至 P b 7と端点 Q b 1乃至 Q b 1 0が検出されているので、 CPU 5 2は、 図 6のステップ S 1 4の処理と同様 にして、 3番目に中心点 C bに距離が近い分岐点 P b 3と、 分岐点 P b 3に最も 近い 2個の分岐点 P b 4 , および分岐点 P b 6を結ぶ 3角形 W b 2を作成する。 上述したように、 ステップ S 1 2 6の処理では、 2番目に中心点 C bに距離が近 い分岐点 P b 2により構成される 3角形も作成されるが、 分岐点 P b 2と、 分岐 点 P b 2に最も近い 2点の分岐点は、 分岐点 P b 1と P b 5とされ、 3角形 W b 1と同じとなるので、 その後、 3番目に中心点 C bに近い分岐点 P b 3により構 成される 3角形が作成される。 その後、 処理はステップ S 1 1 5に戻り、 CPU 5 2は、 ステップ S 1 2 7の処 理により作成した 3角形 (いまの例の場合、 W b 2 ) の面積を計算する。 以下、 同様の処理が繰り返され、 いまの例の場合、 3角形 W b 2と登録テンプレートに 登録されている図 1 3の 3角形 W 4が対応しているので、 ステップ S 1 1 7、 ス テツプ S 1 1 9、 およびステップ S 1 2 3の処理は、 全て、 YES (—致する) と 判定される。
その結果、 ステップ S 1 2 4において、 カウンタに 1が加えられる。 いまの例 の場合、 カウンタの値は 2とされる。
ステップ S 1 2 5において、 CPU 5 2は、 カウンタの値が 2であるか否かを判 定する。 いまの例の場合、 カウンタの値は 2である ( 3角形 W b 1が 3角形 W 1 と一致し、 3角形 W b 2と 3角形 W 4がー致するため) と判定される。 カウンタ の値が 2ということは、 指紋画像の分岐点により作成される異なる 2つの 3角形 において、 3角形の面積、 辺の長さ、 それぞれの分岐点と端点との間の位置が登 録テンプレートと全て一致していることを示している。 カウンタの値が 2である と判定された場合、 ステップ S 1 2 9に進み、 CPU 5 2は、 認証できた (すなわ ち、 登録した使用者といま照合している使用者が一致する) ことを表わす信号を 出力し、 処理を終了する。 照合の結果は、 本体部 1 1のランプ 2· 2とランプ 2 3 により点灯される。
ステップ S 1 1 7において面積が一致しないと判定された場合、 ステップ S 1 1 9において長さが一致しないと判定された場合、 ステップ S 1 2 3において端 点の位置が一致しないと判定された場合、 または、 ステップ S 1 2 5において力 ゥンタの値が 2ではないと判定された場合 (すなわち、 1つの 3角形について、 3角形の面積、 辺の長さ、 およびそれぞれの分岐点と端点との間の位置のうち、 少なくともいずれか 1つが一致しないと判定された場合) 、 ステップ S 1 2 6に 進み、 次の 3角形が作成できるか否かが判定される。 次の 3角形が作成できない ことは、 ステップ S 1 0 7の処理により検出された分岐点 P b 1乃至 P b 7を全 て使用して、 過去に作成した 3角形と重複しない 3角形を作成し終えたことを意 味する。 次の 3角形が作成できないと判定された場合、 ステップ S 1 2 8に進み、 CPU 5 2は、 認証できなかった (すなわち、 登録した使用者といま照合している 使用者が一致しない) ことを表わす信号を出力し、 処理を終了する。 照合の結果 は、 本体部 1 1のランプ 2 2とランプ 2 3により点灯される。
図 1 4乃至図 1 7の処理により、 分岐点により求められる 3角形の面積、 3辺 の長さ、 3個の分岐点に最も近接するそれぞれの端点の位置により、 指紋の照合 を行なうことができる。 また、 取得した指紋画像の中心を求めて、 中心に近い分 岐点から 3角形を順次生成することにより、 一致する登録テンプレートを早く検 索することができる。
ユーザは、 指を指紋読み取りセンサ 2 1上に置くとき、 指の中心を指紋読み取 り用センサ 2 1の中心に合わせようとする。 そして、 指の向きはその都度異なる ので、 中心から遠い位置の画像程、 登録画像と異なる画像となる可能性が高くな る。 従って、 一致する画像であれば、 中心から判定を進めていくことにより、 一 致するとの判定結果を早く得ることができる。
また、 異なる 3角形の場合、 辺の長さと端点の位置に較べて、 面積が一致する 可能性の方が低い。 従って、 面積を先に判定した方が、 無駄な判定の回数が減り、 迅速な判断ができる。
2つの 3角形において全て一致する場合 (ステップ S 1 2 5において YESと 判定される場合) に、 認証できたことにするのは (全ての 3角形において一致す る場合に、 認証できたことにしないのは) 、 指紋読み取り用センサ 2 1に押圧さ れ、 取得される指紋画像に、 最大約 3ミリのずれが生じるためである (指を置く 毎に変化し易いためである) 。 すなわち、 指紋画像にずれが生じることにより、 作成される 3角形が一部異なるためである (例えば、 図 2 1の例の場合、 図 1 3 の 3角形 W 3に対応する 3角形は作成されない) 。
例えば、 図 1 4のステップ S 1 0 4の処理により得られた、 前処理されたグレ 一画像が、 図 2 2に示されるような画像である場合 (勿論、 同一の指から取得さ れた指紋画像デ タとされる) 、 図 9の登録画像 (図 6のステップ S 4の処理に より取得された前処理されたグレー画像) と比較して、 大幅に左下にずれている。 図 2 2に示されるグレー画像は、 2値化処理 (ステップ S 1 0 5の処理) によ り、 図 2 3に示されるように変換され、 さらに、 細線化処理 (ステップ S 1 0 6 の処理) により、 図 2 4に示されるように変換される。 そして、 分岐点と端点の 検出 (ステップ S 1 0 7の処理) により、 図 2 5に示されるようになる。 図 2 5 においては、 図 2 1の場合と同様に分岐点をそれぞれ P b 1乃至 P b 7 (図 2 5 の例の場合は、 分岐点は 7個しか検出されない) 、 端点がそれぞれ Q b 1乃至 Q b 1 0、 中心点が C bとそれぞれ設定される。
図 1 3と図 2 5を比較するに、 図 1 3の分岐点 P 1は図 2 5の分岐点 P b 3に 対応しており、 分岐点 P 2は分岐点 P b 2に対応しており、 分岐点 P 3は分岐点 P b 1に対応しており、 分岐点 P 4は分岐点 P b 6に対応しており、 分岐点 P 7 は分岐点 P b 5に対応している。 すなわち、 図 1 3と図 2 5では、 取り込まれた 画像の位置が異なるため、 図 1 3において検出された分岐点 P 5 , 分岐点 P 6お よび分岐点 P 8は、 図 2 5において検出されない。 その代わり、 図 2 5において は、 図 1 3において検出されなかった分岐点である分岐点 P b 4および分岐点 P b 7が検出される。
CPU 5 2は、 指紋画像の中心点 C bを求めた後 (ステップ S 1 0 9の処理の 後) 、 または、 予め設定されている中心点 C bを読み出した後、 中心点 C bと分 岐点 P b 1乃至 P b 7の距離を短いものの順にソートし (ステップ S 1 1 1 ) 、 さらに、 中心点 C bと端点 Q b 1乃至 Q b 1 0の距離を短いものの順にソートし (ステップ S 1 1 3 ) 、 3角形を作成する (ステップ S 1 1 4の処理) 。 図 2 5 の例の場合、 ステップ S 1 1 4またはステップ S 1 2 7により、 2個の 3角形 ( 3角形 W b 1と 3角形 W b 2 ) が順次作成される。 もし、 順次、 作成可能な全 ての 3角形が作成されるとしたら、 図 2 5の例の場合、 作成される 3角形は、 順 番に、 分岐点 P b l, 分岐点 P b 2、 および分岐点 P b 6の 3個を結ぶ 3角形 W b 1、 分岐点 P b 2, 分岐点 P b 1、 および分岐点 P b 3の 3個を結ぶ 3角形 W b 2、 分岐点 P b 4, 分岐点 P b 5、 および分岐点 P b 7の 3個を結ぶ 3角形 W b 3、 分岐点 P b 6, 分岐点 P b 1、 およぴ分岐点 P b 5の 3個を結ぶ W b 4、 並びに、 分岐点 p b 7, 分岐点 P b 5、 および分岐点 P b 6の 3個を結ぶ W b 5 の 5個の 3角形が作成される (勿論、 この 5個の 3角形と重複する 3角形も作成 されている) 。 すなわち、 図 2 1の 3角形 W b 3と 3角形 W b 5に対応する 3角 形は、 図 1 3に示される指紋画像では作成されない (すなわち、 登録テンプレー トにも登録されていないため、 3角形 W b 3と W b 5においては、 一致しないと 判定される) 。
そこで、 図 1 4乃至 2 0に示されるように、 全てではなく、 そのうちの複数個 としての 2個の 3角形が一致する場合に、 認証できたと判定するような処理にす ることにより、 正確に照合することができる。 逆に、 その数を 1個としてしまう と、 第 3者の指が誤認証される恐れが高くなる。
登録された指紋画像が本人のものであるにもかかわらず、 正しく照合されない 確率を FRR (False Rejection Rate:本人拒否率) といい、 登録された指紋画 像が任意の他人のものであっても、 照合されてしまう確率を FAR (False
Acceptance Rate;他人受け入れ率) という。 FARが高い指紋照合装置は、 他人 が本人に成りすますことが容易となり、 セキュリティの質が低い指紋照合装置で ある。
照合閾値を高くする (一致するとみなす誤差の範囲を大きく したり、 一致する 3角形の数の基準値 (2個) をもっと大きくする) ことにより、 FARを下げるこ とが可能となる。 しかしながら、 その場合、 照合の可否は、 照合時の環境 (例え ば、 取得した指紋画像に混入されてしまうノイズなど) の変化の影響などを強く 受けてしまい、 本人であるのにもかかわらず照合されない場合が増えてしまう (すなわち、 FRRが高くなる) ため、 ユーザの利便性が失われてしまう。 そこで、 照合閾値は、 FRRと FARの両方のパランスを図る値に設定する必要がある。
以上の処理により、 指紋画像の分岐点と端点を検出し、 指紋画像の中心点から の距離に基づいて、 分岐点 (または端点) から近接する 3個を結ぶ 3角形を作成 し、 作成した 3角形の面積、 3辺の長さ、 および 3つの分岐点にそれぞれ最も近 い端点との位置 (距離または方向) を登録することにより指紋の照合を行なうよ うにしたので、 保存する情報量 (登録テンプレ トサイズ) を従来より大幅に小 さくすることができ、 もって、 メモリの容量を減らすことが可能となる。
また、 簡単な登録データ (3角形の面積、 3辺の長さ、 および 3つの分岐点に それぞれ最も近い端点との位置) を用いるため、 照合画像の位置や回転補正をす る必要もなく、 簡単な処理により、 容易に照合を行なうことができ、 もって処理 速度を速くすることができる。
さらに、 指紋照合の精度を向上させることができる。
また、 中心点との距離に基づいて、 分岐点と端点をソートし、 そのソートした 結果から順番に、 分岐点または端点を検索するようにしたので、 最も近い他の分 岐点ゃ端点を迅速に特定することができる。
なお、 以上の例においては、 3個の分岐点の最も近いそれぞれの端点の距離と 方向を位置として登録し、 指紋の照合をするようにしたが、 距離と方向の少なく とも一方でよい。
なお、 指紋画像の分岐点および端点の位置は、 取得された指紋画像の左上から ソートするようにしてもよいが、 指紋読み取り用センサ 2 1に押圧され、 取得さ れる指紋画像は、 最大約 3ミリのずれが生じる (指を置く毎に変化し易い) 。 こ のため、 指紋画像の中心点を求め、 中心点に対する分岐点と端点の位置を求める ことにより一致する登録テンプレートを検索し易くすることが可能となる。 なお、 以上の例においては、 3つの分岐点により 3角形を作成するようにした ,、 端点により 3角形を作成するようにしてもよい。 この場合、 端点により 3角 形が作成され、 3角形を構成する辺の距離、 および 3角形を構成する 3つの端点 にそれぞれ最も近い分岐点との間の位置が求められる。
なお、 以上の例においては、 3つの分岐点により 3角形を作成し、 記憶するよ うにしたが、 これに限らず、 4角形以上の多角形とすることも可能である。 ただ し、 3角形にする場合の方が、 FARと FRRを低くすることができ、 最も正確、 か つ迅速な判定が可能となる。
上述した一連の処理は、 ハードウェアにより実行させることもできるし、 ソフ トウエアにより実行させることもできる。 一連の処理をソフトウエアにより実行 させる場合には、 そのソフトウェアを構成するプログラムが、 専用のハードゥエ ァに組み込まれているコンピュータ、 または、 各種のプログラムをインス トール することで、 各種の機能を実行することが可能な、 例えば汎用のパーソナルコン ピュータなどに、 記録媒体からインストールされる。
この記録媒体は、 図 3に示すように、 コンピュータとは別に、 ユーザにプログ ラムを提供するために配布される、 プログラムが記録されている磁気ディスク 7 1 (フレキシブルディスクを含む) 、 光ディスク 7 2 (CD-ROM (Compact Di sc- Read Only Memory)、 D V D (Digital Versatile Disc)を含む) 、 光磁気ディ スク 7 3 (MD (Mini-Disc) (商標) を含む) 、 若しくは半導体メモリ 7 4など よりなるパッケージメディアにより構成されるだけでなく、 コンピュータに予め 組み込まれた状態でユーザに提供される、 プログラムが記録されているプログラ ム用 RAM/ROM 5 3や、 ハードデイスクなどで構成される。
なお、 上述した一連の処理を実行させるプログラムは、 必要に応じてルータ、 モデムなどのインタフェースを介して、 ローカルエリアネットワーク、 インター ネット、 デジタル衛星放送といった、 有線または無線の通信媒体を介してコンビ ユータにインス ト一ノレされるようにしてもよい。
また、 本明細書において、 記録媒体に格納されるプログラムを記述するステツ プは、 記載された順序に沿って時系列的に行われる処理はもちろん、 必ずしも時 系列的に処理されなくとも、 並列的あるいは個別に実行される処理をも含むもの である。 産業上の利用可能性 以上の如く、 第 1の本発明によれば、 指紋照合に使用される情報量を小さくす ることができる。 記憶装置を小型化し、 低コスト化することができる。 従って、 小型の装置への適用が可能となる。
第 2の本発明によれば、 指紋照合を行なうことができる。 特に、 小さい情報量 で指紋照合することができる。 また、 指紋照合の処理速度を速くすることができ る。 さらに、 指紋照合の精度を向上させることができる。

Claims

請求の範囲
1 . 指紋画像を処理する情報処理装置において、
前記指紋画像から指紋の分岐点と端点のうち一方である第 1の特徴点を検出す る第 1の検出手段と、
複数の前記第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する 第 1の作成手段と、
前記第 1の作成手段により作成された前記 3角形の面積と辺の長さを計算する 第 1の計算手段と、
前記第 1の計算手段により計算された前記 3角形の面積と辺の長さを記憶する 記憶手段と
を備えることを特徴とする情報処理装置。
2 . 前記指紋画像の中心である中心点を検出する第 2の検出手段と、
前記第 2の検出手段により検出された前記中心点と複数の前記第 1の特徴点の 間の距離に基づいて、 前記第 1の特徴点をソートするソート手段と
をさらに備え、
前記第 1の作成手段は、 ソートされた前記第 1の特徴点を利用して、 近接する 任意の 3個を結ぶ 3角形を作成する
ことを特徴とする請求の範囲第 1項に記載の情報処理装置。
3 . 前記第 1の検出手段は、 前記分岐点と前記端点のうちの他方である第 2の 特徴点をさらに検出し、
1つの前記 3角形を構成する 3つの前記第 1の特徴点をそれぞれ第 1の点、 第 2の点、 および第 3の点とするとき、 前記第 1の点と前記第 1の点に最も近い前 記第 2の特徴点である第 4の点、 前記第 2の点と前記第 2の点に最も近い前記第 2の特徴点である第 5の点、 および、 前記第 3の点と前記第 3の点に最も近い前 記第 2の特徴点である第 6の点の、 それぞれの距離と方向の少なくともいずれか —方を計算する第 2の計算手段をさらに備え、 前記記憶手段は、 前記第 2の計算手段により計算された、 前記第 1の点と前記 第 4の点、 前記第 2の点と前記第 5の点、 および前記第 3の点と前記第 6の点の それぞれの距離と方向の少なくともいずれか一方をさらに記憶する
ことを特徴とする請求の範囲第 1項に記載の情報処理装置。
4 . 前記指紋画像の中心である中心点を検出する第 2の検出手段と、
前記第 2の検出手段により検出された前記中心点と複数の前記第 1の特徴点の 間の距離に基づいて、 前記第 2の特徴点をソートするソート手段と
をさらに備え、
前記第 2の計算手段は、 ソートされた前記第 2の特徴点を利用して、 前記第 1 の点乃至前記第 3の点に対応する前記第 4の点乃至前記第 6の点の距離と方向の 少なくともいずれか一方を計算する
ことを特徴とする請求の範囲第 3項に記載の情報処理装置。
5 . 照合対象の指紋画像から指紋の前記第 1の特徴点を検出する第 2の検出手 段と、
前記照合対象の指紋画像の指紋の複数前記第 1の特徴点のうち、 近接する任意 の 3個を結ぶ 3角形を作成する第 2の作成手段と、
前記第 2の作成手段により作成された前記 3角形の面積と辺の長さを計算する 第 2の計算手段と、
前記記憶手段により記憶された、 前記 3角形の面積と辺の長さ、 並びに、 前記 第 2の計算手段により計算された、 前記照合対象の指紋画像の前記 3角形の面積 と辺の長さを比較する比較手段と
をさらに備えることを特徴とする請求の範囲第 1項に記載の情報処理装置。
6 . 指紋画像を処理する情報処理装置の情報処理方法において、
前記指紋画像から指紋の分岐点と端点のうち一方である第 1の特徴点を検出す る第 1の検出ステップと、
複数の前記第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する 第 1の作成ステップと、 前記第 1の作成ステップの処理により作成された前記 3角形の面積と辺の長さ を計算する第 1の計算ステップと、
前記第 1の計算ステップの処理により計算された前記 3角形の面積と辺の長さ の記憶を制御する記憶制御ステップと
を含むことを特徴とする情報処理方法。
7 . 指紋画像を処理するプログラムであって、
前記指紋画像から指紋の分岐点と端点のうち一方である第 1の特徴点を検出す る第 1の検出ステップと、
複数の前記第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する 第 1の作成ステップと、
前記第 1の作成ステップの処理により作成された前記 3角形の面積と辺の長さ を計算する第 1の計算ステップと、
前記第 1の計算ステップの処理により計算された前記 3角形の面積と辺の長さ の記憶を制御する記憶制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録され ている記録媒体。 ·
8 . 指紋画像を処理するプログラムであって、
前記指紋画像から指紋の分岐点と端点のうち一方である第 1の特徴点を検出す る第 1の検出ステップと、
複数の前記第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する 第 1の作成ステップと、
前記第 1の作成ステップの処理により作成された前記 3角形の面積と辺の長さ を計算する第 1の計算ステップと、
前記第 1の計算ステップの処理により計算された前記 3角形の面積と辺の長さ の記憶を制御する記憶制御ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
9 . 指紋画像を処理する情報処理装置において、 照合対象の前記指紋画像から指紋の分岐点と端点のうち一方である第 1の特徴 点を検出する第 1の検出手段と、
複数の前記第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する 第 1の作成手段と、
前記第 1の作成手段により作成された前記 3角形の面積と辺の長さを計算する 第 1の計算手段と、
前記第 1の計算手段により計算された照合対象の前記指紋画像の前記 3角形の 面積と辺の長さを、 予め記憶されている前記指紋画像の 3角形の面積と辺の長さ と比較する比較手段と
を備えることを特徴とする情報処理装置。
1 0 . 前記第 1の検出手段は、 前記分岐点と前記端点のうちの他方である第 2 の特徴点をさらに検出し、 1つの前記 3角形を構成する 3つの前記第 1の特徴点 をそれぞれ第 1の点、 第 2の点、 および第 3の点とするとき、 前記第 1の点と前 記第 1の点に最も近い第 2の特徴点である第 4の点、 前記第 2の点と前記第 2の 点に最も近い第 2の特徴点である第 5の点、 および、 前記第 3の点と前記第 3の 点に最も近い第 2の特徴点である第 6の点のそれぞれの距離と方向の少なくとも いずれか一方を計算する第 2の計算手段をさらに備え、
前記比較手段は、 前記第 1の計算手段と前記第 2の計算手段により計算された 照合対象の前記指紋画像の前記 3角形の面積と辺の長さ、 並びに前記第 1の点に 対する前記第 4の点、 前記第 2の点に対する前記第 5の点、 および前記第 3の点 に対する前記第 6の点のそれぞれの距離と方向の少なくともいずれか一方と、 記 憶されている前記指紋画像の 3角形の面積と辺の長さ、 並びに照合対象の指紋画 像の前記第 1の点に対する前記第 4の点、 前記第 2の点に対する前記第 5の点、 および前記第 3の点に対する前記第 6の点のそれぞれの距離と方向の少なくとも いずれか一方を比較する
ことを特徴とする請求の範囲第 9項に記載の情報処理装置。
1 1 . 指紋画像を処理する情報処理装置の情報処理方法において、 照合対象の前記指紋画像から指紋の分岐点と端点のうち一方である第 1の特徴 点を検出する第 1の検出ステップと、
複数の前記第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する 第 1の作成ステップと、
前記第 1の作成ステップの処理により作成された前記 3角形の面積と辺の長さ を計算する第 1の計算ステップと、
前記第 1の計算ステップの処理により計算された照合対象の前記指紋画像の前 記 3角形の面積と辺の長さを、 予め記憶されている前記指紋画像の 3角形の面積 と辺の長さと比較する比較ステップと
を含むことを特徴とする情報処理方法。
1 2 . 指紋画像を処理するプログラムであって、
照合対象の前記指紋画像から指紋の分岐点と端点のうち一方である第 1の特徴 点を検出する第 1の検出ステップと、
複数の前記第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する 第 1の作成ステップと、
前記第 1の作成ステップの処理により作成された前記 3角形の面積と辺の長さ を計算する第 1の計算ステップと、
前記第 1の計算ステップの処理により計算された照合対象の前記指紋画像の前 記 3角形の面積と辺の長さを、 予め記憶されている前記指紋画像の 3角形の面積 と辺の長さと比較する比較ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録され ている記録媒体。
1 3 . 指紋画像を処理するプログラムであって、
照合対象の前記指紋画像から指紋の分岐点と端点のうち一方である第 1の特徴 点を検出する第 1の検出ステップと、
複数の前記第 1の特徴点のうち、 近接する任意の 3個を結ぶ 3角形を作成する 第 1の作成ステップと、 前記第 1の作成ステップの処理により作成された前記 3角形の面積と辺の長さ を計算する第 1の計算ステップと、
前記第 1の計算ステップの処理により計算された照合対象の前記指紋画像の前 記 3角形の面積と边の長さを、 予め記憶されている前記指紋画像の 3角形の面積 と辺の長さと比較する比較ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
PCT/JP2003/015647 2003-01-06 2003-12-08 指紋照合装置および方法、記録媒体、並びに、プログラム WO2004061770A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/541,436 US7577276B2 (en) 2003-01-06 2003-12-08 Fingerprint matching device and method, recording medium, and program
KR1020057012588A KR101051536B1 (ko) 2003-01-06 2003-12-08 지문 대조 장치 및 방법 및 기록 매체
EP03777333.0A EP1583034B1 (en) 2003-01-06 2003-12-08 Fingerprint matching device and method, recording medium, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003000120A JP3952293B2 (ja) 2003-01-06 2003-01-06 指紋照合装置および方法、記録媒体、並びに、プログラム
JP2003-000120 2003-01-06

Publications (1)

Publication Number Publication Date
WO2004061770A1 true WO2004061770A1 (ja) 2004-07-22

Family

ID=32708762

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/015647 WO2004061770A1 (ja) 2003-01-06 2003-12-08 指紋照合装置および方法、記録媒体、並びに、プログラム

Country Status (6)

Country Link
US (1) US7577276B2 (ja)
EP (1) EP1583034B1 (ja)
JP (1) JP3952293B2 (ja)
KR (1) KR101051536B1 (ja)
CN (1) CN100401324C (ja)
WO (1) WO2004061770A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006085094A1 (en) * 2005-02-11 2006-08-17 Forensic Science Service Limited Improvements in and relating to identifier investigation
CN105095876A (zh) * 2015-08-11 2015-11-25 上海箩箕技术有限公司 指纹识别方法、指纹录入识别方法及其系统

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0502990D0 (en) * 2005-02-11 2005-03-16 Sec Dep For The Home Departmen Improvements in and relating to identifier investigation
US7402984B1 (en) * 2005-03-09 2008-07-22 National Semiconductor Corporation Oscillation sensor for linear regulation circuit
KR100698723B1 (ko) 2005-06-20 2007-03-23 포스데이타 주식회사 지문 중심점 부위 특징점을 이용한 고속 매칭
CN100383808C (zh) * 2006-06-20 2008-04-23 北京邮电大学 适于硬件加速的指纹粗比对方法及装置
CN100370472C (zh) * 2006-09-18 2008-02-20 山东大学 指纹识别算法中图像采集设备无关性技术方法
US8041085B2 (en) * 2008-02-13 2011-10-18 International Business Machines Corporation Minutiae mask
GB0819069D0 (en) 2008-10-17 2008-11-26 Forensic Science Service Ltd Improvements in and relating to methods and apparatus for comparison
US8554016B2 (en) * 2010-11-10 2013-10-08 Raytheon Company Image registration system and method for registering images for deformable surfaces
JP5377580B2 (ja) * 2011-06-23 2013-12-25 株式会社 テクスピアー 手の甲の認証端末及び手の甲の認証方法
US9092697B2 (en) 2013-02-07 2015-07-28 Raytheon Company Image recognition system and method for identifying similarities in different images
US9298966B2 (en) * 2013-08-06 2016-03-29 Apple Inc. Electronic device including sub-array based deblurring of a blurred finger image and related methods
US9235283B2 (en) * 2013-08-06 2016-01-12 Apple Inc. Electronic device including blurred finger image deblurring circuitry and related methods
CN104156707B (zh) 2014-08-14 2017-09-22 深圳市汇顶科技股份有限公司 指纹识别方法及其指纹识别装置
CN104239871B (zh) * 2014-09-26 2017-06-16 四川大学 一种基于最优四边形的快速指纹匹配方法
CN105512601B (zh) * 2014-09-29 2019-12-27 神盾股份有限公司 指纹感测装置及其感测方法
US9600705B2 (en) * 2015-02-11 2017-03-21 Fingerprint Cards Ab Capacitive fingerprint sensing device with current readout from sensing elements
FR3034224B1 (fr) * 2015-03-23 2018-03-23 Morpho Dispositif de verification de la veracite d'une empreinte digitale
JP6526494B2 (ja) * 2015-06-25 2019-06-05 株式会社ディー・ディー・エス 情報処理プログラム及び情報処理装置
CN105046226A (zh) * 2015-07-24 2015-11-11 沈阳工程学院 一种计算指纹细节特征点所构成的三角形面积来进行指纹识别的方法
WO2017020260A1 (zh) * 2015-08-04 2017-02-09 秦玲娟 通过指纹快捷开启应用的方法和移动终端
CN106503609B (zh) * 2015-09-08 2019-07-16 腾讯科技(深圳)有限公司 指纹纹线点的识别方法及装置
CN105677220A (zh) * 2015-12-31 2016-06-15 联想(北京)有限公司 一种信息处理方法及电子设备
US9946914B1 (en) 2016-11-18 2018-04-17 Qualcomm Incorporated Liveness detection via ultrasonic ridge-valley tomography
US9946920B1 (en) * 2016-11-23 2018-04-17 Image Match Design Inc. Sensing element and fingerprint sensor comprising the sensing elements
US10146986B1 (en) * 2017-07-28 2018-12-04 Sunasic Technologies, Inc. Capacitive image sensor and method for operating the same
ES2895657T3 (es) * 2017-12-21 2022-02-22 Fingerprint Cards Ab Dispositivo de detección de huellas dactilares con estructura de compensación de bordes.
CN110659680B (zh) * 2019-09-16 2022-02-11 西安电子科技大学 一种基于多尺度卷积的图像patch匹配方法
KR20210061593A (ko) * 2019-11-20 2021-05-28 삼성전자주식회사 전자 장치 및 전자 장치의 지문 인식 방법
KR20210095250A (ko) * 2020-01-22 2021-08-02 삼성디스플레이 주식회사 지문 인증 장치, 표시 장치 및 그것의 지문 인증 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5351310A (en) 1991-05-21 1994-09-27 International Business Machines Corporation Generalized shape autocorrelation for shape acquisition and recognition
JPH1063849A (ja) * 1996-08-21 1998-03-06 Nippon Telegr & Teleph Corp <Ntt> サイン認証方法
US6041133A (en) 1996-12-13 2000-03-21 International Business Machines Corporation Method and apparatus for fingerprint matching using transformation parameter clustering based on local feature correspondences
EP1197912A2 (en) * 2000-10-11 2002-04-17 Hiroaki Kunieda System for fingerprint authentication

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0339527B1 (en) * 1988-04-23 1997-07-09 Nec Corporation Fingerprint processing system capable of detecting a core of a fingerprint image by curvature parameters
US6002787A (en) * 1992-10-27 1999-12-14 Jasper Consulting, Inc. Fingerprint analyzing and encoding system
JP2776409B2 (ja) * 1995-08-02 1998-07-16 日本電気株式会社 皮膚紋様並びに指紋紋様の分類装置
US6330347B1 (en) * 1997-02-19 2001-12-11 Stmicroelectronics S.R.L. Method and device for identifying fingerprints using an analog flash memory
JP2944557B2 (ja) * 1997-02-27 1999-09-06 日本電気ソフトウェア株式会社 縞パターン照合装置
US6233348B1 (en) * 1997-10-20 2001-05-15 Fujitsu Limited Fingerprint registering apparatus, fingerprint identifying apparatus, and fingerprint identifying method
JP4303410B2 (ja) * 2000-09-29 2009-07-29 富士通株式会社 紋様中心決定装置および紋様方向決定装置並びに紋様位置合わせ装置および紋様照合装置
JP3505713B2 (ja) 2000-10-11 2004-03-15 國枝 博昭 曲線識別システム
US6542638B2 (en) * 2001-02-21 2003-04-01 Shannon Roy Campbell Method for matching spatial patterns
US6757411B2 (en) * 2001-08-16 2004-06-29 Liska Biometry Inc. Method and system for fingerprint encoding and authentication
DK1786784T3 (da) * 2004-08-20 2011-02-14 Mannkind Corp Katalyse af diketopiperazinsyntese

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5351310A (en) 1991-05-21 1994-09-27 International Business Machines Corporation Generalized shape autocorrelation for shape acquisition and recognition
JPH1063849A (ja) * 1996-08-21 1998-03-06 Nippon Telegr & Teleph Corp <Ntt> サイン認証方法
US6041133A (en) 1996-12-13 2000-03-21 International Business Machines Corporation Method and apparatus for fingerprint matching using transformation parameter clustering based on local feature correspondences
EP1197912A2 (en) * 2000-10-11 2002-04-17 Hiroaki Kunieda System for fingerprint authentication

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ROBERT GERMAIN: "Large-scale systems", BIOMETRICS: PERSONAL IDENTIFICATION IN NETWORKED SOCIETY, January 1999 (1999-01-01), pages 311 - 325
See also references of EP1583034A4

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006085094A1 (en) * 2005-02-11 2006-08-17 Forensic Science Service Limited Improvements in and relating to identifier investigation
CN105095876A (zh) * 2015-08-11 2015-11-25 上海箩箕技术有限公司 指纹识别方法、指纹录入识别方法及其系统

Also Published As

Publication number Publication date
CN1735908A (zh) 2006-02-15
EP1583034B1 (en) 2013-05-22
EP1583034A1 (en) 2005-10-05
US7577276B2 (en) 2009-08-18
KR20050085948A (ko) 2005-08-29
JP3952293B2 (ja) 2007-08-01
KR101051536B1 (ko) 2011-07-22
EP1583034A4 (en) 2011-05-18
JP2004213395A (ja) 2004-07-29
US20060153431A1 (en) 2006-07-13
CN100401324C (zh) 2008-07-09

Similar Documents

Publication Publication Date Title
WO2004061770A1 (ja) 指紋照合装置および方法、記録媒体、並びに、プログラム
JP4068334B2 (ja) 指紋認証方法、指紋認証システム、及び、バイオメトリクス認証システム
US6778685B1 (en) Two-stage local and global fingerprint matching technique for automated fingerprint verification/identification
US9613251B2 (en) Fingerprint matching algorithm
US6016355A (en) Capacitive fingerprint acquisition sensor
EP1093079B1 (en) Apparatus and method for matching fingerprint
EP1339008B1 (en) Authentication method, and program and apparatus therefor
WO2011042950A1 (ja) 生体情報処理装置、生体情報処理方法及び生体情報処理用コンピュータプログラム
JP5120013B2 (ja) 認証装置、認証方法及び認証プログラム
JP2000048208A (ja) 指紋と指の動きを検出する方法
US10127681B2 (en) Systems and methods for point-based image alignment
JP2004524625A (ja) 指紋情報によって個人の同一性を生物測定学的に照合及び登録する方法及び装置
US7574609B2 (en) Method, device and computer program for detecting point correspondences in sets of points
Ahmed et al. An advanced fingerprint matching using minutiae-based indirect local features
JP4624039B2 (ja) 生体情報認証装置
JP3996133B2 (ja) 画像照合装置、画像照合方法、画像照合プログラム、および画像照合プログラムを記録したコンピュータ読取可能な記録媒体
CN110084084B (zh) 区别指纹特征点与非指纹特征点的方法与电子装置
JP2871161B2 (ja) 疑似特徴点識別方法
JP4470263B2 (ja) 指紋照合装置および指紋照合方法
JP2912759B2 (ja) 指紋照合方法
JP2871160B2 (ja) 疑似特徴点識別方法
KR100480541B1 (ko) 지문 인식 장치 및 지문 등록/인식 방법
JPH0478967A (ja) 指紋データ登録装置
RU2279129C2 (ru) Способ распознавания папиллярного узора
JPH04320584A (ja) 指紋登録照合方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2003777333

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2006153431

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 1020057012588

Country of ref document: KR

Ref document number: 10541436

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 20038A83548

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 1020057012588

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2003777333

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 10541436

Country of ref document: US