Fingerprint ridge feature stitching method, device, equipment and storage medium

By projecting and expanding fingerprint ridge point sets to a template reference system and matching target ridge points, the method addresses low accuracy in fingerprint ridge feature stitching, achieving precise splicing results.

CN118762385BActive Publication Date: 2025-01-03SHENZHEN MAGIC INFORMATION TECHNOLOGY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411253581.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-09-09
Publication Date
2025-01-03
Estimated Expiration
2044-09-09

AI Technical Summary

Technical Problem

Existing fingerprint ridge feature stitching methods face challenges in determining the reference set for deformation, leading to low accuracy in splicing operations.

Method used

A method involving projecting fingerprint ridge point sets to a template reference system, expanding non-overlapping regions to overlapping regions, and matching target ridge points in pairs to splice the ridges accurately.

Benefits of technology

Improves the accuracy of fingerprint ridge feature stitching by ensuring that the spliced sets meet refinement criteria, enhancing the precision of the splicing operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118762385B_ABST
    Figure CN118762385B_ABST
Patent Text Reader

Abstract

The present application relates to the field of image processing technology, and discloses a fingerprint ridge feature stitching method, device, equipment and storage medium. The method includes: obtaining a first fingerprint ridge point set and a second fingerprint ridge point set; projecting the first fingerprint ridge point set and the second fingerprint ridge point set to a template reference system to obtain a first area, a second area and an overlapping area; performing area expansion on the first area and the second area, so that the first area and the second area are expanded to the overlapping area, and a first extended area and a second extended area are obtained; matching the target ridge points of the first extended area and the second extended area in pairs, and stitching the ridges where the two target ridge points are located according to the matching results. The embodiment of the present application can improve the accuracy of the fingerprint ridge feature stitching operation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of image processing technology, and in particular to a fingerprint ridge feature stitching method, device, equipment and storage medium. Background Art

[0002] In the field of fingerprint image recognition, fingerprint ridge feature splicing is an important research direction. In the specific implementation, by operating certain template features of the fingerprint image, two or more fingerprint image template features are merged into one template feature, and the template feature is used as the fingerprint image template of the registered user in the subsequent recognition task, which can significantly reduce redundant information and reduce the storage space of the template feature.

[0003] The key to fingerprint ridge feature splicing is how to fuse the ridges in the overlapping area. In the related technology, the ridges of one set of ridge point sets are projected to the reference system of the ridges of the other set of ridge point sets after nonlinear transformation, so that the ridges of the two sets of ridge point sets overlap. The elastic deformation of the ridge is a relative quantity. The above operation is equivalent to using the ridges of one set of ridge point sets as a reference to deform the ridges of the other set of ridge point sets. However, in actual operation, it is difficult to determine which set of ridge point sets is used as a reference to deform the ridges of the other set of ridge point sets, resulting in low accuracy of the fingerprint ridge feature splicing result. Summary of the invention

[0004] The purpose of this application is to provide a fingerprint ridge feature stitching method, device, equipment and storage medium, aiming to improve the accuracy of fingerprint ridge feature stitching operations.

[0005] The present application embodiment provides a fingerprint ridge feature stitching method, comprising:

[0006] Obtain a first fingerprint ridge point set and a second fingerprint ridge point set;

[0007] Projecting the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system to obtain a first area, a second area and an overlapping area; the first area is an area where the first fingerprint ridge point set does not overlap, the second area is an area where the second fingerprint ridge point set does not overlap, and the overlapping area is an area where the first fingerprint ridge point set and the second fingerprint ridge point set overlap;

[0008] Expanding the first region and the second region so that the first region and the second region extend to the overlapping region to obtain a first expanded region and a second expanded region;

[0009] The target ridge points of the first extension area and the second extension area are matched in pairs, and the ridges where the two target ridge points are located are spliced ​​according to the matching results; the target ridge point is the boundary ridge point between the first extension area and the second extension area.

[0010] In some embodiments, projecting the first fingerprint ridge point set and the second fingerprint ridge point set to a template reference system to obtain a first area, a second area, and an overlap area includes:

[0011] Establishing the template reference system in the image where the first fingerprint ridge point set is located, and projecting the second fingerprint ridge point set to the template reference system according to a preset transformation relationship;

[0012] Using a convex hull algorithm, generating a first convex hull region using the boundary ridge points of the first fingerprint ridge point set, and generating a second convex hull region using the boundary ridge points of the second fingerprint ridge point set;

[0013] The first region, the second region and the overlap region are obtained according to the first convex hull region and the second convex hull region.

[0014] In some embodiments, the performing region expansion on the first region and the second region so that the first region and the second region are expanded to the overlapping region to obtain a first expanded region and a second expanded region includes:

[0015] Initializing the distance fields of the first area and the second area to obtain a first distance field and a second distance field;

[0016] Using a wavefront expansion method, the first distance field and the second distance field are expanded to obtain an expanded first distance field and an expanded second distance field;

[0017] According to the distances of the pixels of the overlapped area relative to the distance field of the first area and the distance field of the second area, the pixels of the overlapped area are divided into the expanded first distance field or the expanded second distance field to obtain a first expanded distance field and a second expanded distance field;

[0018] Ridge point elimination is performed on the first extended distance field and the second extended distance field to obtain the first extended region and the second extended region.

[0019] In some embodiments, dividing the pixels of the overlapping area into the expanded first distance field or the expanded second distance field according to the distances of the pixels of the overlapping area relative to both the distance field of the first area and the distance field of the second area to obtain the first expanded distance field and the second expanded distance field includes:

[0020] Determine the distances of the pixel points of the overlapped area relative to the distance field of the first area and the distance field of the second area to obtain a first relative distance field value and a second relative distance field value;

[0021] When the first relative distance field value is less than the difference between the second relative distance field value and the preset distance field value, dividing the pixel points of the overlapped area into the expanded first distance field, and obtaining the first expanded distance field after traversing the pixel points of the overlapped area;

[0022] When the second relative distance field value is less than the difference between the first relative distance field value and the preset distance field value, the pixels of the overlapped area are divided into the expanded second distance field, and the second expanded distance field is obtained after traversing the pixels of the overlapped area.

[0023] In some embodiments, performing ridge point culling on the first extended distance field and the second extended distance field to obtain the first extended area and the second extended area includes:

[0024] The first extended area and the second extended area are obtained by eliminating ridge points that do not fall within the range of both the extended first distance field and the extended second distance field, ridge points of the second fingerprint ridge point set that fall within the range of the extended first distance field, ridge points of the first fingerprint ridge point set that fall within the range of the extended second distance field, and false ridge points generated by projecting the first fingerprint ridge point set to the template reference system.

[0025] In some embodiments, the step of matching the target ridge points of the first extension area and the second extension area in pairs, and splicing the ridge lines where the two target ridge points are located according to the matching results, includes:

[0026] Extracting target ridge points in the first extended area to obtain a plurality of first target ridge points, and extracting target ridge points in the second extended area to obtain a plurality of second target ridge points;

[0027] Performing minimum weighted bipartite graph matching on the first target ridge point and the second target ridge point to generate a plurality of target ridge point matching pairs;

[0028] Determine whether the target ridge point distance is not greater than a preset pixel distance threshold; the target ridge point distance is the pixel distance between the first target ridge point and the second target ridge point in the target ridge point matching pair;

[0029] If so, the target ridge point is connected to match the ridge line where the first target ridge point and the second target ridge point are located.

[0030] In some embodiments, connecting the target ridge point matching pair to a ridge line where both the first target ridge point and the second target ridge point are located comprises:

[0031] Taking the first target ridge point as a starting point, ridge line tracking is performed to obtain a first tracking ridge line point; taking the second target ridge line point as a starting point, ridge line tracking is performed to obtain a second tracking ridge line point;

[0032] The Bresenham straight line algorithm is used to splice the ridge lines where the first tracking ridge line point and the second tracking ridge line point are located.

[0033] The present application also provides a fingerprint ridge feature stitching device, including:

[0034] The first module is used to obtain a first fingerprint ridge point set and a second fingerprint ridge point set;

[0035] The second module is used to project the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system to obtain a first area, a second area and an overlapping area; the first area is an area where the first fingerprint ridge point set does not overlap, the second area is an area where the second fingerprint ridge point set does not overlap, and the overlapping area is an area where the first fingerprint ridge point set and the second fingerprint ridge point set overlap;

[0036] A third module is used to perform region expansion on the first region and the second region, so that the first region and the second region are expanded to the overlapping region, thereby obtaining a first expanded region and a second expanded region;

[0037] The fourth module is used to match the target ridge points of the first extension area and the second extension area in pairs, and splice the ridges where the two target ridge points are located according to the matching results; the target ridge point is the boundary ridge point between the first extension area and the second extension area.

[0038] An embodiment of the present application further provides an electronic device, which includes a memory and a processor, wherein the memory stores a computer program, and the processor implements the above-mentioned fingerprint ridge feature splicing method when executing the computer program.

[0039] The embodiment of the present application further provides a computer-readable storage medium, wherein the computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above-mentioned fingerprint ridge feature splicing method is implemented.

[0040] The beneficial effects of the present application are as follows: by performing regional expansion on the first and second regions obtained by projecting the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system, the first and second regions are expanded to the overlapping region and form the first extended region and the second extended region, the target ridge points of the first extended region and the second extended region are matched in pairs, and the ridges where the two target ridge points are located are spliced ​​according to the matching results, so as to splice the images where the first fingerprint ridge point set and the second fingerprint ridge point set are located. Since the non-overlapping regions of the first fingerprint ridge point set and the second fingerprint ridge point set are firstly regionally expanded to determine the region attribution of the overlapping region, and then the target ridge points between the first extended region and the second extended region obtained by the regional expansion are matched in pairs, and the ridges where each pair of target ridge points are located are spliced ​​according to the matching results, so that the spliced ​​first fingerprint ridge point set and the second fingerprint ridge point set both meet the criteria of the refinement graph, thereby improving the accuracy of the fingerprint ridge feature splicing operation. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 It is a flow chart of the ridge line feature splicing method provided in an embodiment of the present application.

[0042] Figure 2 It is a flowchart of the specific method of step S102 provided in an embodiment of the present application.

[0043] Figure 3 It is a flowchart of the specific method of step S103 provided in an embodiment of the present application.

[0044] Figure 4 It is a flowchart of the specific method of step S104 provided in an embodiment of the present application.

[0045] Figure 5 It is a schematic diagram of the structure of the ridge line feature splicing device provided in an embodiment of the present application.

[0046] Figure 6 It is a schematic diagram of the hardware structure of the electronic device provided in the embodiment of the present application. DETAILED DESCRIPTION

[0047] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0048] It should be noted that, although the functional modules are divided in the device schematic diagram and the logical order is shown in the flowchart, in some cases, the steps shown can be performed in a different order than the module division in the device or the order in the flowchart. The terms "first", "second" and the like in the specification, claims and drawings are used to distinguish similar objects, and are not used to describe a specific order or sequence.

[0049] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as those commonly understood by those skilled in the art to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of this application and are not intended to limit this application.

[0050] See also Figure 1 , Figure 1 is a flow chart of a fingerprint ridge feature stitching method provided in an embodiment of the present application. In some embodiments of the present application, Figure 1 The method may specifically include but is not limited to steps S101 to S104. Figure 1 These four steps are introduced in detail.

[0051] Step S101, obtaining a first fingerprint ridge point set and a second fingerprint ridge point set.

[0052] Among them, the first fingerprint ridge point set is composed of the ridge points in the first fingerprint skeleton image, and the second fingerprint ridge point set is composed of the ridge points in the second fingerprint skeleton image. The first fingerprint skeleton image and the second fingerprint skeleton image are obtained by processing different local fingerprint images respectively. The local fingerprint images are images of different local positions of the same finger fingerprint, and there are regional overlaps between the local fingerprint images.

[0053] The local fingerprint image can be obtained by collecting fingerprints through a fingerprint collection device. The user records the fingerprint of the same finger at different angles in the fingerprint collection area of ​​the fingerprint collection device. Each time the fingerprint is recorded, the fingerprint collection device collects a local fingerprint image. By clearing the blurred fingerprint lines in the local fingerprint image according to the line direction, connecting the broken fingerprint lines according to the line direction, and performing fingerprint line enhancement display processing, and then displaying the enhanced fingerprint lines in the form of a skeleton, the corresponding fingerprint skeleton map can be obtained. Finally, the ridge points on the fingerprint skeleton map are represented by coordinate positions to obtain the corresponding fingerprint ridge point set.

[0054] Step S102, projecting the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system to obtain a first area, a second area and an overlap area.

[0055] The first area is the area where the first fingerprint ridge point set does not overlap, the second area is the area where the second fingerprint ridge point set does not overlap, and the overlapping area is the area where the first fingerprint ridge point set and the second fingerprint ridge point set overlap.

[0056] In order to accurately stitch the first fingerprint ridge point set and the second fingerprint ridge point set, it is necessary to project the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system to determine the coordinate position representation of the ridge points of the first fingerprint ridge point set and the second fingerprint ridge point set.

[0057] In the embodiment of the present application, the first area, the second area and the overlapping area can be obtained by projecting the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system. In the specific implementation, a template reference system is constructed in the first fingerprint skeleton graph where the first fingerprint ridge point set is located, a transformation relationship between the first fingerprint ridge point set and the second fingerprint ridge point set is constructed, and the ridge points in the second fingerprint ridge point set are projected to the template reference system according to the constructed transformation relationship, and the areas of the first fingerprint ridge point set and the second fingerprint ridge point set in the template reference system are determined by connecting the boundary ridge points of the periphery of the first fingerprint ridge point set and the second fingerprint ridge point set, thereby obtaining the first area, the second area and the overlapping area.

[0058] See also Figure 2 , Figure 2 is a flowchart of a specific method of step S102 provided in an embodiment of the present application. In some embodiments of the present application, step S102 includes but is not limited to steps S201 to S203. Figure 2 These three steps are introduced in detail.

[0059] Step S201, establishing a template reference system in the image where the first fingerprint ridge point set is located, and projecting the second fingerprint ridge point set to the template reference system according to a preset transformation relationship.

[0060] In the specific implementation, a template reference system is constructed in the first fingerprint skeleton graph where the first fingerprint ridge point set is located, a transformation relationship between the first fingerprint ridge point set and the second fingerprint ridge point set is constructed, and the ridge points in the second fingerprint ridge point set are projected into the template reference system according to the constructed transformation relationship, and the outer bounding rectangles of the first fingerprint ridge point set and the second fingerprint ridge point set in the template reference system are calculated, the origin of the template reference system is moved to the upper left corner of the outer bounding rectangle, and the width and height of the outer bounding rectangle are set to W and H, and the marker map is initialized. For the first fingerprint ridge point set, the first boundary point set U1 is initialized as an empty set, and the two endpoints of each ridge line in the first fingerprint ridge point set and all the points on the outermost ridge line are added to the first boundary point set U1. For the second fingerprint ridge point set, the second boundary point set U2 is initialized as an empty set, and the two endpoints of each ridge line in the second fingerprint ridge point set and all the points on the outermost ridge line are added to the second boundary point set U2.

[0061] Step S202: using a convex hull algorithm, a first convex hull region is generated using the boundary ridge points of the first fingerprint ridge point set, and a second convex hull region is generated using the boundary ridge points of the second fingerprint ridge point set.

[0062] Among them, the convex hull algorithm is an algorithm used to determine the minimum convex enclosing area of ​​a set of points. There are many convex hull algorithms, including the Graham-Scan algorithm, the Melkman algorithm, etc., which are not limited in this application.

[0063] In a specific implementation, a convex hull algorithm is used to generate a first convex hull region using ridge points in the first boundary point set U1, and a second convex hull region is generated using ridge points in the second boundary point set U2.

[0064] Step S203, obtaining a first region, a second region, and an overlap region according to the first convex hull region and the second convex hull region.

[0065] In a specific implementation, a first area is obtained according to a non-overlapping area of ​​the first fingerprint ridge point set, and the pixels in the first area are marked as Flag(x,y)=1. A second area is obtained according to a non-overlapping area of ​​the second fingerprint ridge point set, and the pixels in the second area are marked as Flag(x,y)=-1. An overlapping area is obtained according to an overlapping area of ​​the first fingerprint ridge point set and the second fingerprint ridge point set, and the pixels in the overlapping area are marked as Flag(x,y)=0.

[0066] Step S103: perform region expansion on the first region and the second region, so that the first region and the second region are expanded to an overlapping region, thereby obtaining a first expanded region and a second expanded region.

[0067] It can be understood that the regional expansion of the first area and the second area is the process of expanding the first area and the second area to the overlapping area, so that the overlapping area is divided into the first area and the second area respectively, the area of ​​the overlapping area divided into the first area and the original area of ​​the first area is the first extended area, and the area of ​​the overlapping area divided into the second area and the original area of ​​the second area is the second extended area.

[0068] In the embodiment of the present application, the first extended area and the second extended area can be obtained by regional expansion of the first area and the second area. In a specific implementation, the distance fields of the first area, the second area and the overlap area are generated by the distance field principle, and the distance field of the first area and the distance field of the second area are expanded by using a preset extension template until the distance field of the first area and the distance field of the second area respectively cover the distance field of the overlap area, and then for the pixel point originally belonging to the overlap area, according to the distance of the pixel point relative to the distance field of the first area and the distance field of the second area, the pixel point is divided into the distance field of the first area or the distance field of the second area, and after traversing the pixel points originally belonging to the overlap area, the first extended distance field and the second extended distance field are obtained.

[0069] See also Figure 3 , Figure 3 is a flowchart of a specific method of step S103 provided in an embodiment of the present application. In some embodiments of the present application, step S103 includes but is not limited to steps S301 to S304. Figure 3 These four steps are introduced in detail.

[0070] Step S301 : Initialize the distance fields of the first region and the second region to obtain the first distance field and the second distance field.

[0071] In a specific implementation, the distance field of the first area is initialized to obtain a first distance field, which is (All values ​​in Dist1 are set to the maximum value INF in the value range). For all pixels in the first area, set Dist1(x,y)=0, initialize the distance field of the second area, and obtain the second distance field. The second distance field is (All values ​​in Dist2 are set to the maximum value INF in the value range). For all pixels in the second area, set Dist2(x,y)=0. For all pixels in the overlapping area, set Dist1(x,y)=INF and Dist2(x,y)=INF.

[0072] Step S302: using a wavefront expansion method to expand the first distance field and the second distance field to obtain an expanded first distance field and an expanded second distance field.

[0073] In a specific implementation, a wave expansion algorithm is used. Through a preset expansion template, based on the distance field values ​​of pixels in the first region or the distance field values ​​of pixels in the second region, the distance field values ​​of the pixels in the expansion template are updated along the corresponding direction, so that the distance field values ​​of the pixels in the expansion template are updated to be the same as the distance field values ​​of the pixels in the first region or the distance field values ​​of the pixels in the second region, thereby expanding the first distance field and the second distance field. After multiple iterations, the expanded first distance field and the expanded second distance field are obtained.

[0074] The following is a specific description taking the expansion of the first distance field as an example.

[0075] First, the first distance field is expanded using the expansion template shown in Table 1, and the expansion direction is from top to bottom and from left to right in the expansion template.

[0076] Table 1

[0077] 11 11 11 7 5 7 11 5 0

[0078] After expansion, the distance field values ​​of each pixel are:

[0079] ,

[0080] ,

[0081] ,

[0082] ,

[0083] ,

[0084] ,

[0085] ,

[0086] .

[0087] Then, the first distance field is expanded using the expansion template shown in Table 2, and the expansion direction is from bottom to top and from right to left in the expansion template.

[0088] Table 2

[0089] 0 5 11 7 5 7 11 11 11

[0090] After expansion, the distance field values ​​of each pixel are:

[0091] ,

[0092] ,

[0093] ,

[0094] ,

[0095] ,

[0096] ,

[0097] ,

[0098] .

[0099] Step S303 , according to the distances of the pixels in the overlapped area relative to the distance field of the first area and the distance field of the second area, the pixels in the overlapped area are divided into the expanded first distance field or the expanded second distance field to obtain the first expanded distance field and the second expanded distance field.

[0100] In a specific embodiment, step S303 specifically includes:

[0101] Determine the distances of the pixel points in the overlapped area relative to the distance field of the first area and the distance field of the second area to obtain a first relative distance field value and a second relative distance field value;

[0102] When the first relative distance field value is less than the difference between the second relative distance field value and the preset distance field value, the pixel points of the overlapped area are divided into the expanded first distance field, and after traversing the pixel points of the overlapped area, a first expanded distance field is obtained;

[0103] When the second relative distance field value is less than the difference between the first relative distance field value and the preset distance field value, the pixels of the overlapped area are divided into the expanded second distance field, and after traversing the pixels of the overlapped area, a second expanded distance field is obtained.

[0104] In a specific implementation, the pixel points in the overlapped area are traversed, and the distance field values ​​of the pixel points in the overlapped area are preset as Dist1(x,y)=INF and Dist2(x,y)=INF. For any pixel point in the overlapped area, if the condition Dist1(x,y)<Dist2(x,y)-15 is satisfied, the pixel point is divided into the expanded first distance field; if the condition Dist2(x,y)<Dist1(x,y)-15 is satisfied, the pixel point is divided into the expanded second distance field. After traversing the pixel points in the overlapped area, the first expanded distance field and the second expanded distance field are obtained. At the same time, the ridge points originally belonging to the overlapped area in the first expanded distance field and the second expanded distance field are deleted.

[0105] Step S304: ridge point removal is performed on the first extended distance field and the second extended distance field to obtain a first extended region and a second extended region.

[0106] In a specific embodiment, step S304 specifically includes:

[0107] Eliminate ridge points that do not fall within the range of both the expanded first distance field and the expanded second distance field, ridge points of the second fingerprint ridge point set that fall within the range of the expanded first distance field, ridge points of the first fingerprint ridge point set that fall within the range of the expanded second distance field, and false ridge points generated by projecting the first fingerprint ridge point set to the template reference system, and obtain the first extended area and the second extended area.

[0108] Step S104, matching the target ridge points of the first extended area and the second extended area in pairs, and splicing the ridges where the two target ridge points are located according to the matching results.

[0109] The target ridge point is a boundary ridge point between the first expansion area and the second expansion area.

[0110] It can be understood that the boundary ridge point is the ridge point located at the image boundary in the image where the first fingerprint ridge point set is located and the image where the second fingerprint ridge point set is located, and the target ridge point is the boundary ridge point between the first extension area and the second extension area, that is, in the boundary area between the first fingerprint ridge point set and the second fingerprint ridge point set, the boundary ridge points of both the first fingerprint ridge point set and the second fingerprint ridge point set are target ridge points.

[0111] In an embodiment of the present application, after obtaining the first extended area and the second extended area, the target ridge points of the first extended area and the second extended area are identified, and the target ridge points of the first extended area and the target ridge points of the second extended area are matched one by one. The matching result of the target ridge points indicates that the two target ridge points are on the same ridge line. After traversing each target ridge line point, the ridge lines where the target ridge points that can be matched are located are spliced ​​to obtain the final splicing result.

[0112] See also Figure 4 , Figure 4 is a flowchart of a specific method of step S104 provided in an embodiment of the present application. In some embodiments of the present application, step S104 includes but is not limited to step S401 to step S404. Figure 4 These four steps are introduced in detail.

[0113] Step S401, extracting target ridge points in the first extended area to obtain a plurality of first target ridge points, and extracting target ridge points in the second extended area to obtain a plurality of second target ridge points.

[0114] In a specific implementation, the ridge points in the first extended area are traversed, and target ridge points belonging to the first extended area are extracted from the boundary ridge points between the first extended area and the second extended area to obtain a plurality of first target ridge points, which are expressed as , m is the total number of the first target ridge points. Similarly, the ridge points in the second extended area are traversed, and the target ridge points belonging to the second extended area are extracted from the boundary ridge points between the first extended area and the second extended area to obtain a number of second target ridge points, which are expressed as , n is the total number of the second target ridge points.

[0115] Step S402: performing minimum weighted bipartite graph matching on the first target ridge point and the second target ridge point to generate a plurality of target ridge point matching pairs.

[0116] In the specific implementation, for each first target ridge point and each second target ridge point, a minimum weighted bipartite graph matching problem is established, with each first target ridge point as a vertex of the X graph, each second target ridge point as a vertex of the Y graph, and the edge weight between the first target ridge point and the second target ridge point set to the Euclidean distance between the first target ridge point and the second target ridge point. Then, the Hungarian algorithm is used to calculate the minimum weighted matching of the weighted bipartite graph XY, and several target ridge point matching pairs are generated.

[0117] Step S403, determining whether the target ridge point distance is not greater than a preset pixel distance threshold.

[0118] The target ridge point distance is the pixel distance between the first target ridge point and the second target ridge point in the target ridge point matching pair.

[0119] In the specific implementation, each target ridge point matching pair is traversed to determine whether the target ridge point distance is not greater than the preset pixel distance threshold. If the pixel distance between the first target ridge point and the second target ridge point in the target ridge point matching pair is greater than the preset pixel distance threshold, the target ridge point matching pair is skipped. Otherwise, step S404 is executed.

[0120] Step S404, connecting the target ridge points to match the ridge lines where the first target ridge point and the second target ridge point are located.

[0121] In a specific embodiment, step S404 specifically includes:

[0122] The ridge line is tracked with the first target ridge line point as the starting point to obtain the first tracking ridge line point, and the ridge line is tracked with the second target ridge line point as the starting point to obtain the second tracking ridge line point.

[0123] The Bresenham straight line algorithm is used to splice the ridge lines where the first tracking ridge point and the second tracking ridge point are located.

[0124] In step S404, the ridge lines where the first target ridge line point and the second target ridge line point are located are connected by reconstructing the connection between the ridge line where the first target ridge line point is located and the ridge line where the second target ridge line point is located, thereby achieving splicing of the ridge lines where the first target ridge line point and the second target ridge line point are located.

[0125] In a specific implementation, ridge tracking is performed on the ridge line where the first target ridge point is located with the first target ridge point as the starting point. After tracking for several unit lengths, a ridge point on the ridge line where the first target ridge point is located is tracked and determined to obtain a first tracking ridge point. The ridge points between the first target ridge point and the first tracking ridge point are deleted. Ridge tracking is performed on the ridge line where the second target ridge point is located with the second target ridge point as the starting point. After tracking for several unit lengths, a ridge point on the ridge line where the second target ridge point is located is tracked and determined to obtain a second tracking ridge point. The ridge points between the second target ridge point and the second tracking ridge point are deleted. The first tracking ridge point and the second tracking ridge point are smoothly connected using the Bresenham straight line algorithm to splice the ridge lines where the first tracking ridge point and the second tracking ridge point are located.

[0126] See also Figure 5 The embodiment of the present application also provides a ridge line feature splicing device, which can implement the above-mentioned ridge line feature splicing method, and the device includes:

[0127] The first module 501 is used to obtain a first fingerprint ridge point set and a second fingerprint ridge point set;

[0128] The second module 502 is used to project the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system to obtain a first area, a second area and an overlap area; the first area is an area where the first fingerprint ridge point set does not overlap, the second area is an area where the second fingerprint ridge point set does not overlap, and the overlap area is an area where the first fingerprint ridge point set and the second fingerprint ridge point set overlap;

[0129] The third module 503 is used to perform region expansion on the first region and the second region, so that the first region and the second region are expanded to an overlapping region, thereby obtaining a first expanded region and a second expanded region;

[0130] The fourth module 504 is used to match the target ridge points of the first extension area and the second extension area in pairs, and splice the ridges where the two target ridge points are located according to the matching results; the target ridge point is the boundary ridge point between the first extension area and the second extension area.

[0131] The specific implementation of the ridge line feature splicing device is basically the same as the specific implementation of the above-mentioned ridge line feature splicing method, and will not be repeated here.

[0132] Figure 6 It is a block diagram of an electronic device according to an exemplary embodiment.

[0133] Refer to the following Figure 6 The electronic device 600 according to this embodiment of the present disclosure is described. Figure 6 The electronic device 600 shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present disclosure.

[0134] like Figure 6 As shown, the electronic device 600 is in the form of a general computing device. The components of the electronic device 600 may include, but are not limited to: at least one processing unit 610, at least one storage unit 620, a bus 630 connecting different system components (including the storage unit 620 and the processing unit 610), a display unit 640, etc.

[0135] The storage unit stores program codes, which can be executed by the processing unit 610, so that the processing unit 610 executes the steps according to various exemplary embodiments of the present disclosure described in the above-mentioned ridge line feature splicing method part of this specification.

[0136] The storage unit 620 may include a readable medium in the form of a volatile storage unit, such as a random access memory unit (RAM) 6201 and / or a cache memory unit 6202 , and may further include a read-only memory unit (ROM) 6203 .

[0137] The storage unit 620 may also include a program / utility 6204 having a set (at least one) of program modules 6205, such program modules 6205 including but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment.

[0138] Bus 630 may represent one or more of several types of bus structures, including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of a variety of bus architectures.

[0139] The electronic device 600 may also communicate with one or more external devices 700 (e.g., keyboards, pointing devices, Bluetooth devices, etc.), may also communicate with one or more devices that enable a user to interact with the electronic device 600, and / or communicate with any device that enables the electronic device 600 to communicate with one or more other computing devices (e.g., routers, modems, etc.). Such communication may be performed via an input / output (I / O) interface 650. Furthermore, the electronic device 600 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 660. The network adapter 660 may communicate with other modules of the electronic device 600 via a bus 630. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the electronic device 600, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.

[0140] An embodiment of the present application also provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned ridge line feature splicing method is implemented.

[0141] The ridge feature stitching method, device, equipment and storage medium provided in the embodiment of the present application expand the first area and the second area obtained by projecting the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system, so that the first area and the second area are expanded to the overlapping area and form the first extended area and the second extended area, and the target ridge points of the first extended area and the second extended area are matched in pairs, and the ridges where the two target ridge points are located are spliced ​​according to the matching results, so as to splice the images where the first fingerprint ridge point set and the second fingerprint ridge point set are located. Because the non-overlapping areas of the first fingerprint ridge point set and the second fingerprint ridge point set are firstly expanded to determine the regional affiliation of the overlapping area, and then the target ridge points between the first extended area and the second extended area obtained by the area expansion are matched in pairs, and the ridges where each pair of target ridge points are located are spliced ​​according to the matching results, so that the first fingerprint ridge point set and the second fingerprint ridge point set after splicing both meet the criteria of the refinement map, thereby improving the accuracy of the fingerprint ridge feature stitching operation.

[0142] Through the description of the above implementation, it is easy for those skilled in the art to understand that the example implementation described here can be implemented by software, or by software combined with necessary hardware. Therefore, the technical solution according to the implementation of the present disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, including several instructions to enable a computing device (which can be a personal computer, a server, or a network device, etc.) to execute the above method according to the implementation of the present disclosure.

[0143] The program product may use any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. The readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination of the above. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection with one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.

[0144] Computer readable storage media may include data signals propagated in baseband or as part of a carrier wave, wherein readable program codes are carried. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. The readable storage medium may also be any readable medium other than a readable storage medium, which may send, propagate, or transmit a program for use by or in conjunction with an instruction execution system, device, or device. The program codes contained on the readable storage medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination thereof.

[0145] Program code for performing the operations of the present disclosure may be written in any combination of one or more programming languages, including object-oriented programming languages ​​such as Java, C++, etc., and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user computing device, partially on the user device, as a separate software package, partially on the user computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving a remote computing device, the remote computing device may be connected to the user computing device through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computing device (e.g., through the Internet using an Internet service provider).

[0146] Those skilled in the art will appreciate that the above modules can be distributed in the device according to the description of the embodiment, or can be changed accordingly and only used in one or more devices different from the embodiment. The modules of the above embodiments can be combined into one module, or further divided into multiple sub-modules.

[0147] The exemplary embodiments of the present disclosure are specifically shown and described above. It should be understood that the present disclosure is not limited to the detailed structures, configurations or implementations described herein; on the contrary, the present disclosure is intended to cover various modifications and equivalent configurations included in the spirit and scope of the appended claims.

Claims

1. A fingerprint ridge feature splicing method, characterized in that: include: Obtain a first fingerprint ridge point set and a second fingerprint ridge point set; Projecting the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system to obtain a first area, a second area and an overlapping area; the first area is an area where the first fingerprint ridge point set does not overlap, the second area is an area where the second fingerprint ridge point set does not overlap, and the overlapping area is an area where the first fingerprint ridge point set and the second fingerprint ridge point set overlap; Expanding the first region and the second region so that the first region and the second region extend to the overlapping region to obtain a first expanded region and a second expanded region; The target ridge points of the first extension area and the second extension area are matched in pairs, and the ridges where the two target ridge points are located are spliced ​​according to the matching results; the target ridge point is the boundary ridge point between the first extension area and the second extension area.

2. The fingerprint ridge feature splicing method according to claim 1, characterized in that: The projecting the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system to obtain the first area, the second area and the overlap area includes: Establishing the template reference system in the image where the first fingerprint ridge point set is located, and projecting the second fingerprint ridge point set to the template reference system according to a preset transformation relationship; Using a convex hull algorithm, generating a first convex hull region using the boundary ridge points of the first fingerprint ridge point set, and generating a second convex hull region using the boundary ridge points of the second fingerprint ridge point set; The first region, the second region and the overlap region are obtained according to the first convex hull region and the second convex hull region.

3. The fingerprint ridge feature stitching method according to claim 1, characterized in that: The step of performing region expansion on the first region and the second region so that the first region and the second region are expanded to the overlapping region to obtain a first expanded region and a second expanded region includes: Initializing the distance fields of the first area and the second area to obtain a first distance field and a second distance field; Using a wavefront expansion method, the first distance field and the second distance field are expanded to obtain an expanded first distance field and an expanded second distance field; According to the distances of the pixels of the overlapped area relative to the distance field of the first area and the distance field of the second area, the pixels of the overlapped area are divided into the expanded first distance field or the expanded second distance field to obtain a first expanded distance field and a second expanded distance field; Ridge point elimination is performed on the first extended distance field and the second extended distance field to obtain the first extended region and the second extended region.

4. The fingerprint ridge feature splicing method according to claim 3, characterized in that: The step of dividing the pixel points of the overlapped area into the expanded first distance field or the expanded second distance field according to the distances of the pixel points of the overlapped area relative to the distance field of the first area and the distance field of the second area to obtain the first expanded distance field and the second expanded distance field comprises: Determine the distances of the pixel points of the overlapped area relative to the distance field of the first area and the distance field of the second area to obtain a first relative distance field value and a second relative distance field value; When the first relative distance field value is less than the difference between the second relative distance field value and the preset distance field value, dividing the pixel points of the overlapped area into the expanded first distance field, and obtaining the first expanded distance field after traversing the pixel points of the overlapped area; When the second relative distance field value is less than the difference between the first relative distance field value and the preset distance field value, the pixels of the overlapped area are divided into the expanded second distance field, and the second expanded distance field is obtained after traversing the pixels of the overlapped area.

5. The fingerprint ridge feature splicing method according to claim 3, characterized in that: The step of removing ridge points from the first extended distance field and the second extended distance field to obtain the first extended area and the second extended area includes: The first extended area and the second extended area are obtained by eliminating ridge points that do not fall within the range of both the extended first distance field and the extended second distance field, ridge points of the second fingerprint ridge point set that fall within the range of the extended first distance field, ridge points of the first fingerprint ridge point set that fall within the range of the extended second distance field, and false ridge points generated by projecting the first fingerprint ridge point set to the template reference system.

6. The fingerprint ridge feature splicing method according to claim 1, characterized in that: The step of matching the target ridge points of the first extension area and the second extension area in pairs, and splicing the ridge lines where the two target ridge points are located according to the matching results, includes: Extracting target ridge points in the first extended area to obtain a plurality of first target ridge points, and extracting target ridge points in the second extended area to obtain a plurality of second target ridge points; Performing minimum weighted bipartite graph matching on the first target ridge point and the second target ridge point to generate a plurality of target ridge point matching pairs; Determine whether the target ridge point distance is not greater than a preset pixel distance threshold; the target ridge point distance is the pixel distance between the first target ridge point and the second target ridge point in the target ridge point matching pair; If so, the target ridge point is connected to match the ridge line where the first target ridge point and the second target ridge point are located.

7. The fingerprint ridge feature stitching method according to claim 6, characterized in that: The step of connecting the target ridge point matching pair to a ridge line where both the first target ridge point and the second target ridge point are located includes: Taking the first target ridge point as a starting point, ridge line tracking is performed to obtain a first tracking ridge line point; taking the second target ridge line point as a starting point, ridge line tracking is performed to obtain a second tracking ridge line point; The Bresenham straight line algorithm is used to splice the ridge lines where the first tracking ridge line point and the second tracking ridge line point are located.

8. A fingerprint ridge feature splicing device, characterized in that: include: The first module is used to obtain a first fingerprint ridge point set and a second fingerprint ridge point set; The second module is used to project the first fingerprint ridge point set and the second fingerprint ridge point set to the template reference system to obtain a first area, a second area and an overlapping area; the first area is an area where the first fingerprint ridge point set does not overlap, the second area is an area where the second fingerprint ridge point set does not overlap, and the overlapping area is an area where the first fingerprint ridge point set and the second fingerprint ridge point set overlap; A third module is used to perform region expansion on the first region and the second region, so that the first region and the second region are expanded to the overlapping region, thereby obtaining a first expanded region and a second expanded region; The fourth module is used to match the target ridge points of the first extension area and the second extension area in pairs, and splice the ridges where the two target ridge points are located according to the matching results; the target ridge point is the boundary ridge point between the first extension area and the second extension area.

9. An electronic device, characterized in that: The electronic device comprises a memory and a processor, the memory stores a computer program, and the processor implements the fingerprint ridge feature splicing method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, the fingerprint ridge feature splicing method described in any one of claims 1 to 7 is implemented.