A palmprint image synthesis method and system

CN116434006BActive Publication Date: 2026-10-09ALIPAY (HANGZHOU) INFORMATION TECH CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202310340111.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-31
Publication Date
2026-10-09
Estimated Expiration
2043-03-31

AI Technical Summary

Technical Problem

随着非接触式掌纹识别的商业化,掌纹识别的性能在规模化使用上遇到了较大的挑战,主要受限于缺乏足够的训练数据,掌纹数据获取成本很高,难以支撑极低误识率下识别任务的训练和评测

Benefits of technology

[0021]As can be seen from the above technical solutions, the palmprint image synthesis method and system provided in this specification interpolates the feature vectors of real palmprint images (first palmprint image sample set) to generate feature vectors containing new identities (second palmprint feature vector set). Using the feature vectors of the new identities as guiding conditions, a diffusion model is used to generate palmprint images containing the new identities (synthesized palmprint image samples), thus constructing a palmprint image sample set for training palmprint recognition. The palmprint image synthesis method and system provided in this specification can also perturb the feature vectors containing the new identities to perform intra-class controlled augmentation, thereby expanding the feature vectors corresponding to each new identity into multiple sets to increase diversity. This specification can construct a large-scale palmprint image sample training set and ensure the authenticity of the synthesized palmprint image samples, making the synthesized palmprint image samples close to real palmprint images in terms of color, brightness, and line direction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116434006B_ABST
    Figure CN116434006B_ABST
Patent Text Reader

Abstract

The present specification provides a palmprint image synthesis method and system, which generates a feature vector containing a new identity by interpolating a feature vector of a real palmprint image, and generates a palmprint image containing the new identity through a diffusion model by taking the feature vector of the new identity as a guide condition, to construct a palmprint image sample set for training of palmprint recognition. The present specification can construct a large-scale palmprint image sample training set and ensure the authenticity of the synthesized palmprint image sample, so that the synthesized palmprint image sample is close to the real palmprint image in terms of color, brightness, line direction, etc.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of data processing technology, and in particular to a palmprint image synthesis method and system. Background Technology

[0002] Palm prints are a collective term for all the lines on the skin of the palm, mainly including papillary ridges, main lines, and folds. Palm prints are unique; no two palms are exactly alike. Due to this characteristic, palm prints can be used for identification. However, with the commercialization of contactless palm print recognition, its performance has faced significant challenges in large-scale use, primarily due to a lack of sufficient training data. Acquiring palm print data is very costly and makes it difficult to support training and evaluation for recognition tasks with extremely low false recognition rates.

[0003] Therefore, there is a need to provide a palmprint image synthesis method and system capable of generating palmprint images. Summary of the Invention

[0004] The main purpose of this specification is to provide a method and system for palmprint image synthesis.

[0005] This specification provides a palmprint image synthesis method, comprising: obtaining a first palmprint image sample set; encoding a first palmprint image in the first palmprint image sample set to obtain a first palmprint feature vector set; interpolating the first palmprint feature vector set to obtain a second palmprint feature vector set; and obtaining a second palmprint image sample set, using the second palmprint feature vector set as a guiding condition, and performing data diffusion on the second palmprint image sample set based on a diffusion model to obtain multiple synthesized palmprint image samples.

[0006] In some embodiments, encoding the first palm print image in the first palm print image sample set to obtain the first palm print feature vector set includes: inputting the first palm print image sample set into an initial palm print recognition model and outputting the first palm print feature vector set, wherein the initial palm print recognition model is trained based on the first palm print image sample set.

[0007] In some embodiments, interpolating the first palmprint feature vector set to obtain the second palmprint feature vector set includes: performing multiple interpolations on the first palmprint feature vector set to obtain multiple second palmprint feature vectors. The second palmprint feature vector set includes the multiple second palmprint feature vectors, wherein each of the multiple second palmprint feature vectors corresponds to a second palmprint identity, and the second palmprint identity is different from the first palmprint identity corresponding to the first palmprint image sample set.

[0008] In some embodiments, each interpolation in the multiple interpolations includes: selecting N first palmprint feature vectors from the first palmprint feature vector set according to a preset rule, where N is an integer greater than 1; performing interpolation based on the N first palmprint feature vectors to obtain a transition palmprint feature vector; and determining that the transition palmprint feature vector meets a preset condition, and using the transition palmprint feature vector as a second palmprint feature vector in the second palmprint feature vector set.

[0009] In some embodiments, the preset conditions include: the similarity between the transition palmprint feature vector and the plurality of first palmprint feature vectors is less than a preset first similarity threshold, and the similarity between the transition palmprint feature vector and other second palmprint feature vectors in the second palmprint feature vector set is less than a preset second similarity threshold.

[0010] In some embodiments, the preset rules include random rules.

[0011] In some embodiments, N is any integer greater than 1 and less than 5.

[0012] In some embodiments, the first palmprint image sample set includes a left palmprint image sample set and / or a right palmprint image sample set, and the N first palmprint feature vectors are derived from the left palmprint image sample set or the right palmprint image sample set.

[0013] In some embodiments, after interpolating the first palmprint feature vector, the method further includes: performing intra-class vector augmentation on at least a portion of the second palmprint feature vectors among the plurality of second palmprint feature vectors to obtain a corresponding set of at least a portion of sub-second palmprint feature vectors, wherein the second palmprint feature vector set includes the set of at least a portion of the sub-second palmprint feature vectors, each sub-second palmprint feature vector set in the set of at least a portion of the sub-second palmprint feature vectors includes a second palmprint feature vector corresponding to it, and all sub-second palmprint feature vectors in each sub-second palmprint feature vector set correspond to the same second palmprint identity.

[0014] In some embodiments, the step of performing intra-class vector augmentation on at least a portion of the second palmprint feature vectors among the plurality of second palmprint feature vectors to obtain a corresponding set of at least a portion of sub-second palmprint feature vectors includes: perturbing each of the at least a portion of the second palmprint feature vectors by using at least one offset vector to obtain a corresponding set of sub-second palmprint feature vectors, wherein the similarity between all sub-second palmprint feature vectors in the set of sub-second palmprint feature vectors is less than a preset third similarity threshold.

[0015] In some embodiments, the step of perturbing the current second palmprint feature vector with at least one offset vector includes: determining the offset interval of the offset vector, the offset interval reflecting the intra-class differences of each palmprint identity; and for each perturbation: randomly selecting one of the offset vectors from the offset interval to perturb the second palmprint feature vector to obtain a sub-second palmprint feature vector.

[0016] In some embodiments, the diffusion model includes a potential diffusion model with a cross-interest layer.

[0017] In some embodiments, the step of using the second palmprint feature vector set as a guiding condition to perform data diffusion on the second palmprint image sample set based on a diffusion model to obtain multiple synthetic palmprint image samples includes: adding noise to the second palmprint image sample set based on the diffusion model to obtain a noise latent vector set; and using the second palmprint feature vector set as a guiding condition based on the diffusion model to denoise the noise latent vector set to obtain the multiple synthetic palmprint image samples.

[0018] In some embodiments, the step of using the second palmprint feature vector set as a guiding condition to denoise the noise latent vector set based on the diffusion model to obtain the plurality of synthetic palmprint image samples includes: for each second palmprint feature vector in the second palmprint feature vector set and each noise latent vector in the noise latent vector set: based on the diffusion model, using the current second palmprint feature vector as a guiding condition to denoise the current noise latent vector to obtain a synthetic palmprint image sample.

[0019] In some embodiments, the first palmprint image sample set includes the second palmprint image sample set.

[0020] Secondly, this specification provides a palmprint image synthesis system, including at least one storage medium and at least one processor. The at least one storage medium includes at least one instruction set for implementing and analyzing the palmprint image synthesis method. The at least one processor is communicatively connected to the at least one storage medium. When the system is running, the at least one processor reads the at least one instruction set and executes the palmprint image synthesis method according to the instructions of the at least one instruction set.

[0021] As can be seen from the above technical solutions, the palmprint image synthesis method and system provided in this specification interpolates the feature vectors of real palmprint images (first palmprint image sample set) to generate feature vectors containing new identities (second palmprint feature vector set). Using the feature vectors of the new identities as guiding conditions, a diffusion model is used to generate palmprint images containing the new identities (synthesized palmprint image samples), thus constructing a palmprint image sample set for training palmprint recognition. The palmprint image synthesis method and system provided in this specification can also perturb the feature vectors containing the new identities to perform intra-class controlled augmentation, thereby expanding the feature vectors corresponding to each new identity into multiple sets to increase diversity. This specification can construct a large-scale palmprint image sample training set and ensure the authenticity of the synthesized palmprint image samples, making the synthesized palmprint image samples close to real palmprint images in terms of color, brightness, and line direction.

[0022] Other functions of the palmprint image synthesis method and system provided in this specification will be partially listed in the following description. The figures and examples described below will be readily apparent to those skilled in the art. The inventive aspects of the palmprint image synthesis method and system provided in this specification can be fully explained through practice or use of the methods, apparatus, and combinations described in the detailed examples below. Attached Figure Description

[0023] To more clearly illustrate the technical solutions in the embodiments of this specification, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this specification. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0024] Figure 1 A schematic diagram illustrating an application scenario of a palmprint image synthesis method according to some embodiments of this specification is shown.

[0025] Figure 2 A schematic diagram of the structure of a computing device provided according to some embodiments of this specification is shown;

[0026] Figure 3 A flowchart of a palmprint image synthesis method according to some embodiments of this specification is shown;

[0027] Figure 4 This diagram illustrates data changes in a palmprint image synthesis method according to some embodiments of this specification.

[0028] Figure 5A This diagram illustrates the distribution of identity vectors after visualization of a first palmprint image sample set provided according to some embodiments of this specification;

[0029] Figure 5B A schematic diagram showing the visual distribution of a second palmprint feature vector set provided according to some embodiments of this specification is shown;

[0030] Figure 5C This diagram illustrates the visual distribution of palmprint feature vectors randomly generated based on a first palmprint feature vector set, according to some embodiments of this specification.

[0031] Figure 6 This diagram illustrates data changes in a palmprint image synthesis method according to some embodiments of this specification.

[0032] Figure 7 This diagram illustrates data changes in a palmprint image synthesis method according to some embodiments of this specification.

[0033] Figure 8 This diagram illustrates data changes in a palmprint image synthesis method according to some embodiments of this specification; and

[0034] Figure 9 A schematic diagram illustrating data changes in a palmprint image synthesis method provided according to some embodiments of this specification is shown. Detailed Implementation

[0035] The following description provides specific application scenarios and requirements for this specification, intended to enable those skilled in the art to make and use the contents of this specification. Various partial modifications to the disclosed embodiments will be apparent to those skilled in the art, and the general principles defined herein can be applied to other embodiments and applications without departing from the spirit and scope of this specification. Therefore, this specification is not limited to the embodiments shown, but rather to the widest scope consistent with the claims.

[0036] The terminology used herein is for the purpose of describing particular exemplary embodiments only and is not restrictive. For example, unless the context clearly indicates otherwise, the singular forms “a,” “an,” and “the” used herein may also include the plural forms. When used in this specification, the terms “comprising,” “including,” and / or “containing” mean that the associated integers, steps, operations, elements, and / or components are present, but do not exclude the presence of one or more other features, integers, steps, operations, elements, components, and / or groups, or that other features, integers, steps, operations, elements, components, and / or groups may be added to the system / method.

[0037] Considering the following description, these and other features of this specification, as well as the operation and function of the related components of the structure, and the economy of assembly and manufacture of the parts, can be significantly improved. All of these form part of this specification with reference to the accompanying drawings. However, it should be clearly understood that the drawings are for illustrative and descriptive purposes only and are not intended to limit the scope of this specification. It should also be understood that the drawings are not drawn to scale.

[0038] The flowcharts used in this specification illustrate operations implemented according to some embodiments of this specification. It should be clearly understood that the operations in the flowcharts may not be implemented in a sequential order. Instead, the operations may be implemented in reverse order or simultaneously. Furthermore, one or more additional operations may be added to the flowcharts. One or more operations may be removed from the flowcharts.

[0039] For ease of description, the terms that will appear in the following description will be explained as follows.

[0040] Palm lines: refers to the various lines on the surface of the palm between the wrist and fingers.

[0041] Palmprint recognition: Because the shape of palm prints is controlled by genetics, even if the epidermis peels off for some reason, the newly formed palm print lines still retain the original structure. Palmprint recognition has a certain degree of resolution and higher discrimination ability, and is one of the important technologies for biometric identification.

[0042] t-SNE (t-distributed stochastic neighbor embedding) is a machine learning algorithm for dimensionality reduction, proposed by Laurens van der Maaten and Geoffrey Hinton in 2008. t-SNE is well-suited for reducing high-dimensional data to 2 or 3 dimensions, facilitating visualization.

[0043] Diffusion model: A generative model that can randomly generate observations based on certain implicit parameters.

[0044] Figure 1 The diagram illustrates an application scenario of a palmprint image synthesis method system 100 according to some embodiments of this specification. The palmprint image synthesis method system 100 (hereinafter referred to as system 100) may include a client 110, an integrated development platform server 130, and a database 140.

[0045] An integrated development platform (IDE) 120 is mounted on the IDE server 130. The IDE 120, also known as an integrated development environment (IDE), is an application program that provides a program development environment, typically including tools such as a code editor, compiler, debugger, and graphical user interface. Developers can write program code (i.e., program development) on the IDE 120 through the client 110. The IDE server 130 (hereinafter referred to as server 130) can be a computing device on the IDE 120 specifically used for processing palmprint image synthesis methods. The client 110 can include at least one mobile terminal device, such as 110A, 110B, 110C, 110D, etc. The at least one mobile terminal device can be a computer, mobile phone, tablet, etc. The client 110 may also include an application program on at least one mobile terminal device (e.g., 110A, 110B, 110C, 110D, etc.). In this specification, multiple developers can perform program development on the integrated development platform 120 through clients 110A, 110B, 110C, 110D, etc.

[0046] Server 130 may store data or instructions for performing the palmprint image synthesis method described in this specification, and may execute or be used to execute said data and / or instructions. Server 130 may include hardware devices with data processing capabilities and the necessary programs required to drive the hardware devices. Of course, server 130 may also be merely a hardware device with data processing capabilities, or merely a program running on the hardware device. In some embodiments, server 130 may also be a plug-in deployed on client 110.

[0047] Database 140 may store data and / or instructions. In some embodiments, database 140 may store data and / or instructions executed by server 130 or used to execute the palmprint image synthesis method described herein. Client 110 and server 130 may have access to database 140, and client 110 and server 130 may access data or instructions stored in database 140 via a network. In some embodiments, database 140 may be directly connected to client 110 and server 130. In some embodiments, database 110 may be part of server 130. In some embodiments, database 140 may include mass storage, removable storage, volatile read-write memory, read-only memory (ROM), or similar content, or any combination thereof. Exemplary mass storage may include non-transitory storage media such as disks, optical discs, and solid-state drives. Exemplary removable storage may include flash drives, floppy disks, optical discs, memory cards, zip disks, magnetic tapes, etc. Typical volatile read-write memory may include random access memory (RAM). Example RAMs may include dynamic RAM (DRAM), dual date rate synchronous dynamic RAM (DDRSDRAM), static RAM (SRAM), thyristor RAM (T-RAM), and zero-capacitance RAM (Z-RAM), etc. Exemplary ROMs may include mask ROM (MROM), programmable ROM (PROM), virtual programmable ROM (PEROM), electronically programmable ROM (EEPROM), optical disc (CD-ROM), and digital multifunction disk ROM, etc.

[0048] It should be understood that Figure 1 The number of clients 110 and servers 130 shown is merely illustrative. Depending on implementation needs, there can be any number of clients 110 and servers 130.

[0049] It should be noted that the palmprint image synthesis method can be executed entirely on the client 110, entirely on the server 130, or partially on the client 110 and partially on the server 130.

[0050] For ease of description, the following descriptions will use the execution of the palmprint image synthesis method on server 130 as an example to describe the technical solutions involved in this specification.

[0051] Figure 2This is a schematic diagram of the structure of a computing device 200 provided according to some embodiments of this specification. The computing device 200 can be a general-purpose computer or a special-purpose computer. For example, the computing device 200 can be a server, a personal computer, a portable computer (such as a laptop computer, tablet computer, etc.), or other electronic devices with computing capabilities. Of course, the computing device can be... Figure 1 The server 130 can also be a terminal device used by multiple developers to develop programs on an integrated development platform.

[0052] like Figure 2 As shown, the computing device 200 may include a COM port 250, which can be connected to or from a network to facilitate data communication. The computing device 200 may also include a processor 220 in the form of one or more processors, such as a central processing unit (CPU), for executing program instructions. The computing device 200 may also include an internal communication bus 210 and various forms of program storage media and data storage media, such as a disk 270 (non-transitory memory) and read-only memory (ROM) 230 or random access memory (RAM) 240, etc., for storing various data files to be processed and / or transmitted. The storage media may be local to the computing device 200 or shared by the computing device 200 (e.g., Figure 1 The computing device 200 may also include program instructions stored in ROM 230, RAM 240, and / or other types of non-transitory storage media to be executed by processor 220. The computing device 200 may also include I / O components 260 to support data communication with other computing devices in the distributed computing system 100. The computing device 200 may also receive programming and data via network communication.

[0053] For illustrative purposes only, only one processor 220 is described in the computing device 200. However, those skilled in the art will understand that the computing device 200 in this specification may also include multiple processors. Therefore, the methods / steps / operations performed by one processor as described in this specification may also be performed jointly or separately by multiple processors. For example, in this specification, the processor of the computing device 200 may simultaneously execute step A and step B. It should be understood that step A and step B may also be performed jointly by two different processors. For example, a first processor executes step A, a second processor executes step B, or a first processor and a second processor jointly execute steps A and B.

[0054] Figure 3A flowchart 300 of a palmprint image synthesis method according to some embodiments of this specification is shown. The following will be combined with... Figure 3 This specification describes the technical solution. The entity implementing the described technical solution may be... Figure 1 At least one of client 110 and server 130. Specifically, the client 110 and / or server 130 may have, for example: Figure 2 The aforementioned structure, namely, the client 110 and / or server 130, can be a device for a palmprint image synthesis method, comprising: at least one storage medium and at least one processor. The at least one storage medium includes at least one instruction set for the palmprint image synthesis method. The at least one processor is communicatively connected to the at least one storage medium. When the system is running, the at least one processor can read the at least one instruction set and execute instructions according to the at least one instruction set. Figure 3 The method 300. For illustrative purposes only, this specification will describe method 300 using server 130 as an example. Method 300 may include:

[0055] S320, obtain the first palmprint image sample set.

[0056] In this specification, the first palmprint image sample set obtained by server 130 can be understood as an existing palmprint image sample set, which includes multiple real palmprint images (i.e., multiple first palmprint images), and each first palmprint image represents a palmprint identity. For ease of description, we define the palmprint identity represented by the first palmprint image set as a first palmprint identity. In some embodiments, the multiple first palmprint images can represent multiple different first palmprint identities. In some embodiments, some of the multiple first palmprint images can represent the same first palmprint identity. For ease of description, we will use the example of multiple first palmprint images representing multiple different first palmprint identities for illustration. The first palmprint image can be a palmprint image directly acquired by an image acquisition device, or a palmprint image obtained after preprocessing a palmprint image directly acquired by an image acquisition device. The preprocessing can be cropping, rotation, scaling, etc.

[0057] Figure 4 A schematic diagram illustrating data changes in a palmprint image synthesis method according to some embodiments of this specification is shown. For ease of description, A is used below to represent the first palmprint image sample set. Figure 4As shown, the multiple first palmprint images contained in the first palmprint image sample set A can be represented as A1, A2, A3, A4, A5, A6, A7, ... or An, respectively. The first palmprint image sample set A can be directly used for palmprint recognition training. Since a large number of palmprint image samples are required during the palmprint recognition training process, but the number of palmprint images currently available for palmprint recognition training is limited, the server 130 in this specification can increase the number of palmprint images based on the first palmprint image sample set A, thereby providing a larger number of reliable palmprint images for the palmprint recognition training process.

[0058] S340, the first palm print image in the first palm print image sample set is encoded to obtain the first palm print feature vector set.

[0059] In this specification, for each first palmprint image in the first palmprint image sample set A, the server 130 can encode (extract features) each first palmprint image to obtain a corresponding first palmprint feature vector. Each first palmprint feature vector can also represent a palmprint identity, i.e., a first palmprint identity. Multiple first palmprint feature vectors constitute a first palmprint feature vector set. For ease of description, B is used below to represent the first palmprint feature vector set. Figure 4 As shown, the multiple first palmprint feature vectors contained in the first palmprint feature vector set B can be represented as B1, B2, B3, B4, B5, B6, B7, ... or Bn, where n represents the number of first palmprint feature vectors. Specifically, server 130 encodes the first palmprint image A1 to obtain the first palmprint feature vector B1, server 130 encodes the first palmprint image A2 to obtain the first palmprint feature vector B2, and so on. Figure 5A This diagram illustrates the distribution of identity vectors after visualizing the first palmprint image sample set A using t-SNE.

[0060] As mentioned earlier, since each palmprint image in the first palmprint image sample set A represents a palmprint identity, correspondingly, each palmprint feature vector in the first palmprint feature vector set B also represents a palmprint identity. It should be understood that A1 and B1 correspond to the same palmprint identity, A2 and B2 correspond to the same palmprint identity, and so on, with An and Bn corresponding to the same palmprint identity.

[0061] In this specification, since server 130 can encode each first palmprint image in the first palmprint image sample set A to obtain a first palmprint feature vector, the number of palmprint feature vectors contained in the first palmprint feature vector set A is less than or equal to the number of first palmprint images contained in the first palmprint image sample set. When server 130 encodes each first palmprint image in the first palmprint image sample set A, the number of palmprint feature vectors contained in the first palmprint feature vector set B is the same as the number of palmprint images contained in the first palmprint image sample set A. At this time, the number of palmprint features contained in the first palmprint feature vector set B is the same as the number of palmprint images contained in the first palmprint image sample set A.

[0062] In some embodiments, S340 may include: inputting the first palmprint image sample set into an initial palmprint recognition model and outputting the first palmprint feature vector set. The initial palmprint recognition model is trained based on the first palmprint image sample set.

[0063] In this specification, the initial palmprint recognition model can be understood as an image encoder, which can be trained based on a first palmprint image sample set A. After training, the initial palmprint recognition model can extract (encode) features from the input first palmprint image and output the corresponding first palmprint feature vector. Since the first palmprint image is an existing real palmprint image, the first palmprint feature vector can reflect the real features of the existing real palmprint image.

[0064] S360, interpolate the first palmprint feature vector set to obtain the second palmprint feature vector set.

[0065] In this specification, server 130 can interpolate multiple first palmprint feature vectors contained in the first palmprint feature vector set B to obtain a second palmprint feature vector with a new palmprint identity, thereby realizing the amplification of the new palmprint identity. For ease of description, we define the palmprint identity represented by the second palmprint feature vector as the second palmprint identity. Figure 4 As shown, for ease of description, C is used to represent the second palmprint feature vector set. The multiple second palmprint feature vectors contained in the second palmprint feature vector set C can be represented as C1, C2, C3, C4, C5, C6, C7, C8, ... or Cm, where m represents the number of second palmprint feature vectors.

[0066] It should be noted that since the second palmprint feature vector is obtained by interpolating the first palmprint feature vector in the first palmprint feature vector set B by the server 130, the number of second palmprint feature vectors depends on the number of times the server 130 interpolates the first palmprint feature vector in the first palmprint feature vector set B. That is, the values ​​of m and n may be the same or different.

[0067] In some embodiments, S360 may include: performing multiple interpolations on the first palmprint feature vector set to obtain a plurality of second palmprint feature vectors. The second palmprint feature vector set includes the plurality of second palmprint feature vectors. Each of the plurality of second palmprint feature vectors corresponds to a second palmprint identity. The second palmprint identity is different from the first palmprint identity corresponding to the first palmprint image sample set.

[0068] In this specification, during the interpolation process of the server 130 on the first palmprint feature vector in the first palmprint feature vector set B, the interpolation can be performed multiple times. Each interpolation yields a vector with a new palmprint identity, namely the second palmprint feature vector. For example... Figure 4 As shown, the second palmprint feature vector set C can contain m second palmprint feature vectors. Among the m second palmprint feature vectors, each second palmprint feature vector corresponds to a palmprint identity.

[0069] As mentioned earlier, the first palmprint feature vector set B contains n first palmprint identities, and correspondingly, the first palmprint image sample set A also contains n first palmprint identities, and each first palmprint identity is different from the others. The second palmprint feature vector set C contains m second palmprint identities, each second palmprint identity is different from each first palmprint identity, and each second palmprint identity is also different from the others. That is, the multiple second palmprint feature vectors contained in the second palmprint feature vector set C have inter-class differences with the multiple first palmprint feature vectors contained in the first palmprint feature vector set B, and the multiple second palmprint feature vectors contained in the second palmprint feature vector set C also have inter-class differences.

[0070] In this specification, server 130 interpolates a first set of palmprint feature vectors B derived from an existing set of real palmprint image samples (first set of palmprint image samples A) to obtain a second set of palmprint feature vectors C with inter-class distribution differences. This not only enables the augmentation of existing real palmprint identities but also ensures that the second set of palmprint feature vectors has distribution characteristics close to those of real palmprints, thus laying the foundation for constructing a large-scale palmprint image sample training set.

[0071] In some embodiments, during the process of interpolating the first palmprint feature vector set B multiple times, the server 130 includes the following steps for each interpolation: selecting N first palmprint feature vectors from the first palmprint feature vector set according to a preset rule, where N is an integer greater than 1; performing interpolation based on the N first palmprint feature vectors to obtain a transition palmprint feature vector; and determining that the transition palmprint feature vector meets a preset condition, and using the transition palmprint feature vector as a second palmprint feature vector in the second palmprint feature vector set.

[0072] As mentioned earlier, during the process of interpolating the first palmprint feature vector in the first palmprint feature vector set B, the server 130 may perform interpolation multiple times. Figure 6 This diagram illustrates data changes in a palmprint image synthesis method according to some embodiments of this specification. In this specification, as... Figure 6 As shown, when performing interpolation, server 130 can select N first palmprint feature vectors from the first palmprint feature vector set B according to preset rules to interpolate and obtain a transitional palmprint feature vector. That is, the transitional palmprint feature vector can be obtained by interpolating the first palmprint feature vectors from N different identities. Here, N is an integer greater than 1. For example, N can be 2, 3, 4, 5, 6, 7 or an integer greater than 7.

[0073] In this specification, server 130 can perform interpolation calculations according to the following formula.

[0074]

[0075] in, Let represent the i-th sample of the k-th palmprint identity, and h(·) represent the L2 norm normalization function. The above interpolation formula is based on the following assumptions: (1) the palmprint feature vector distribution corresponding to the palmprint is closed; (2) the second palmprint feature vector obtained in each interpolation is the mean of the N first palmprint feature vectors participating in this interpolation calculation. Figure 5B This diagram illustrates the t-SNE visualization distribution of the second palmprint feature vector set; while Figure 5C This diagram illustrates the t-SNE visualization distribution of randomly generated palmprint feature vectors based on the first palmprint feature vector set B. Figures 5A-5C It can be seen that, compared with the randomly generated vector, the distribution of the second palmprint feature vector synthesized by interpolation is more similar to that of the real vector (the first palmprint feature vector).

[0076] In this specification, considering the efficiency of interpolation calculation, the server 130 can limit the size of N to a specified range. For example, in some embodiments, N is any integer greater than 1 and less than 5. For example, when performing each interpolation, the server 130 can select two first palmprint feature vectors from the first palmprint feature vector set B to interpolate and obtain a transitional palmprint feature vector. The server 130 can also select three first palmprint feature vectors from the first palmprint feature vector set B to interpolate and obtain a transitional palmprint feature vector. Furthermore, the server 130 can select four first palmprint feature vectors from the first palmprint feature vector set B to interpolate and obtain a transitional palmprint feature vector.

[0077] In some embodiments, the preset rules include random rules. For example, when selecting a first palmprint feature vector for interpolation calculation, the server 130 may randomly select N first palmprint feature vectors from the first palmprint feature vector set B.

[0078] In some embodiments, the preset rules may further include order rules. For example, when selecting the first palmprint feature vector for interpolation calculation, the server 130 may select the first palmprint feature vectors sequentially according to their arrangement order in the first palmprint feature vector set B.

[0079] In this specification, the number of first palmprint feature vectors selected by server 130 from the first palmprint feature vector set B during each interpolation can be the same or different. For example, in some embodiments, server 130 can select the same number (e.g., 2, 3, 4, or other numbers) of first palmprint feature vectors for interpolation calculation each time. In some embodiments, server 130 can select 2 first palmprint feature vectors for interpolation calculation during the first interpolation to obtain a transitional palmprint feature vector; server 130 can select 3 first palmprint feature vectors for interpolation calculation during the second interpolation; server 130 can also select any number of first palmprint feature vectors greater than 1 for interpolation calculation during the third interpolation.

[0080] Furthermore, in this specification, each first palmprint feature vector in the first palmprint feature vector set B can participate in interpolation calculations only once, or it can participate in interpolation calculations multiple times. For example, when performing the first interpolation, server 130 can select B1 and B2 from the first palmprint feature vector set B for interpolation calculation to obtain a transitional palmprint feature vector; when performing the second interpolation, server 130 can select B1, B3, and B4 from the first palmprint feature vector set B for interpolation calculation to obtain a transitional palmprint feature vector.

[0081] In this specification, when server 130 initially interpolates based on N first palmprint feature vectors, the similarity between the resulting transition palmprint feature vector and the first palmprint feature vectors in the first palmprint feature vector set B may be large or small. When the similarity between the transition palmprint feature vector and the first palmprint feature vectors in the first palmprint feature vector set B is very low, it indicates that the similarity between the transition palmprint identity corresponding to the transition palmprint feature vector and the first palmprint identity is low. In this case, server 130 can treat the transition palmprint identity as a newly generated palmprint identity and classify it into the second palmprint feature vector set C as a second palmprint feature vector. Conversely, when the similarity between the transition palmprint feature vector and the first palmprint feature vectors in the first palmprint feature vector set B is high, it indicates that the similarity between the transition palmprint identity corresponding to the transition palmprint feature vector and the first palmprint identity is high. In this case, server 130 cannot treat the transition palmprint identity as a newly generated palmprint identity, that is, server 130 cannot consider the transition palmprint vector as a second palmprint feature vector and classify it into the second palmprint feature vector set C.

[0082] Based on this, since server 130 can continuously interpolate from N first palmprint feature vectors to obtain transitional palmprint feature vectors, it is also necessary to consider the similarity between the transitional palmprint feature vector and the currently existing palmprint feature vectors (including first and second palmprint feature vectors). When the similarity between the transitional palmprint feature vector and the first palmprint feature vector in the first palmprint feature vector set B is low, and the similarity between the transitional palmprint feature vector and the existing second palmprint feature vector in the second palmprint feature vector set C is also low, server 130 can classify the transitional palmprint feature vector into the second palmprint feature vector set C as a new second palmprint feature vector. Conversely, when the similarity between the transitional palmprint feature vector and the first palmprint feature vector in the first palmprint feature vector set B is high, or the similarity between the transitional palmprint feature vector and the existing second palmprint feature vector in the second palmprint feature vector set C is high, server 130 will not consider the transitional palmprint vector as a second palmprint feature vector and classify it into the second palmprint feature vector set C.

[0083] In this instruction manual, such as Figure 6 As shown, server 130 can select transitional palmprint feature vectors that can be used as second palmprint feature vectors from transitional palmprint feature vector set C' by determining whether the transitional palmprint feature vectors meet preset conditions. The selected transitional palmprint feature vectors that meet the preset conditions will be used as second palmprint feature vectors, forming the second palmprint feature vector set C.

[0084] In some embodiments, the preset conditions may include: the similarity between the transition palmprint feature vector and the plurality of first palmprint feature vectors is less than a preset first similarity threshold, and the similarity between the transition palmprint feature vector and other second palmprint feature vectors in the second palmprint feature vector set is less than a preset second similarity threshold.

[0085] In this specification, when the server 130 determines that the transition palmprint feature vector meets a preset condition, it can use the transition palmprint feature vector as a second palmprint feature vector in the second palmprint feature vector set C. In some embodiments, the server 130 can calculate the cosine similarity between the transition palmprint feature vector and each first palmprint feature vector contained in the first palmprint feature vector set B, and compare the calculated cosine similarity with a preset first similarity threshold to determine whether the calculated cosine similarity is less than the preset first similarity threshold. Similarly, the server 130 can also calculate the cosine similarity between the transition palmprint feature vector and each second palmprint feature vector contained in the second palmprint feature vector set C, and compare the calculated cosine similarity with a preset second similarity threshold to determine whether the calculated cosine similarity is less than the preset second similarity threshold.

[0086] In this specification, the preset first similarity threshold and the preset second similarity threshold can be the same or different.

[0087] In some embodiments, the first palmprint image sample set includes a left palmprint image sample set and / or a right palmprint image sample set, and the N first palmprint feature vectors are derived from the left palmprint image sample set or the right palmprint image sample set.

[0088] In this specification, considering that the human hand is divided into left and right hands, and that for the same person, there are differences between their left and right palm prints, both of which reflect the characteristics of the same person, the encoded vectors of the left and right palm print images are mapped into different identity spaces. Therefore, for the same person, their palm print identity can include both left and right palm print identities, and correspondingly, different palm print identities correspond to different palm print feature vectors. Specifically, the left palm print identity corresponds to the left palm print feature vector, and the right palm print identity corresponds to the right palm print feature vector, with both left and right palm print feature vectors reflecting the characteristics of the same person.

[0089] In this specification, the first palmprint image sample set A may include a separate left-hand palmprint image sample set. In this case, during the process of server 130 performing multiple interpolations on the first palmprint feature vector set, all N first palmprint feature vectors may come from the left-hand palmprint image sample set.

[0090] In some embodiments, the first palmprint image sample set A may also include a separate right palmprint image sample set. In this case, during the process of performing multiple interpolations on the first palmprint feature vector set, the N first palmprint feature vectors may all come from the right palmprint image sample set.

[0091] In some embodiments, the first palmprint image sample set A may also include both the left-hand palmprint image sample set and the right-hand palmprint image sample set. It is important to note that during the process of performing multiple interpolations on the first palmprint feature vector set, the N first palmprint feature vectors originate from only one palmprint image sample set, and the left-hand and right-hand palmprint image sample sets cannot be mixed.

[0092] In this specification, the server 130 interpolates N first palmprint feature vectors from the same type of palmprint image sample set (left palmprint image sample set or right palmprint image sample set), which can avoid the risk of the generated second palmprint feature vectors oscillating between left palmprint identity and right palmprint identity and falling into an unstable state, thus ensuring the consistency of palmprint identity of each generated second palmprint feature vector.

[0093] In some embodiments, after interpolating the first palmprint feature vector set multiple times, the server 130 may further include: performing intra-class vector augmentation on at least a portion of the second palmprint feature vectors among the plurality of second palmprint feature vectors to obtain a corresponding at least a portion of the second palmprint feature vector set.

[0094] The second palmprint feature vector set includes the at least partial sub-second palmprint feature vector set. Each sub-second palmprint feature vector set in the at least partial sub-second palmprint feature vector set includes a corresponding second palmprint feature vector, and all sub-second palmprint feature vectors in each sub-second palmprint feature vector set correspond to the same second palmprint identity.

[0095] As mentioned earlier, the second palmprint feature vector set C contains m second palmprint identities, each of which is different from each first palmprint identity, and each second palmprint identity is also different from the others. In this specification, the server 130 can also perform intra-class vector augmentation based on the m second palmprint feature vectors contained in the second palmprint feature vector set C. Specifically, the server 130 can perform intra-class vector augmentation on some of the second palmprint feature vectors in the second palmprint feature vector set C, and the server 130 can also perform intra-class vector augmentation on each second palmprint feature vector in the second palmprint feature vector set C.

[0096] In this specification, intra-class vector augmentation can be understood as performing at least one fine-tuning on the second palmprint feature vector without changing the second palmprint identity corresponding to the second palmprint feature vector. Each fine-tuning can obtain a new vector that is slightly different from the adjusted second palmprint feature vector. After at least one fine-tuning, at least one new vector that is slightly different from the adjusted second palmprint feature vector is obtained. This allows one second palmprint identity to correspond to multiple sub-second palmprint feature vectors (with intra-class consistency), greatly enriching the number of representation vectors corresponding to the second palmprint identity.

[0097] Figure 7 A schematic diagram illustrating data changes in a palmprint image synthesis method according to some embodiments of this specification is shown. For example... Figure 7 As shown, server 130 can perform intra-class vector augmentation on the second palmprint feature vector C1 in the second palmprint feature vector set C, obtaining C1a, C1b, C1c, C1d, C1e... The C1a, C1b, C1c, C1d, C1e... obtained after intra-class vector augmentation of the second palmprint feature vector C1 by server 130 correspond to the same second palmprint identity. Simultaneously, C1a, C1b, C1c, C1d, C1e... can constitute a sub-second palmprint feature vector set corresponding to the second palmprint feature vector C1, and the sub-second palmprint feature vector set composed of C1a, C1b, C1c, C1d, C1e... is a part of the second palmprint feature vector set C.

[0098] Server 130 can also perform intra-class vector augmentation on the second palmprint feature vector C2 in the second palmprint feature vector set C, obtaining C2a, C2b, C2c, C2d, C2e, C2f... The C2a, C2b, C2c, C2d, C2e, C2f... obtained after intra-class vector augmentation of the second palmprint feature vector C2 by server 130 correspond to the same second palmprint identity. At the same time, C2a, C2b, C2c, C2d, C2e, C2f... can constitute a sub-second palmprint feature vector set corresponding to the second palmprint feature vector C2, and the sub-second palmprint feature vector set composed of C2a, C2b, C2c, C2d, C2e, C2f... is a part of the second palmprint feature vector set C.

[0099] Similarly, server 130 can also perform intra-class vector augmentation on other second palmprint feature vectors in the second palmprint feature vector set C to obtain their respective augmented sub-palmprint feature vector sets. These will not be elaborated upon here.

[0100] In some embodiments, performing intra-class vector augmentation on at least a portion of the plurality of second palmprint feature vectors to obtain a corresponding set of at least a portion of the second palmprint feature vectors may include:

[0101] For each of the at least some second palmprint feature vectors: the current second palmprint feature vector is perturbed by at least one offset vector to obtain a corresponding sub-second palmprint feature vector set, wherein the similarity between all sub-second palmprint feature vectors in the sub-second palmprint feature vector set is less than a preset third similarity threshold.

[0102] In this specification, when server 130 performs intra-class vector augmentation on at least a portion of the second palmprint feature vectors, each of the second palmprint feature vectors in the at least a portion of the second palmprint feature vectors can be perturbed by adding an offset vector. For ease of description, the offset vector is represented by δ, and different offset vectors can be represented as δ1, δ2, δ3, δ4, δ5, δ6...

[0103] like Figure 7 As shown, the example of server 130 performing intra-class vector augmentation on the second palmprint feature vector C1 in the second palmprint feature vector set C is illustrated. C1a = C1 + δ1, C1b = C1 + δ2, C1c = C1 + δ3, C1d = C1 + δ4, C1e = C1 + δ5, and so on. C1, C1a, C1b, C1c, C1d, C1e... can form a sub-second palmprint feature vector set corresponding to the second palmprint feature vector C1.

[0104] As mentioned earlier, for each sub-palmprint feature vector set, all sub-second palmprint feature vectors contained therein correspond to the same second palmprint identity, that is, the sub-second palmprint feature vectors contained in each sub-palmprint feature vector set satisfy intra-class identity consistency. In this specification, server 130 can control the pairwise similarity between all sub-second palmprint feature vectors in the perturbation-obtained sub-second palmprint feature vector set to be less than a preset similarity threshold (preset third similarity threshold), thereby ensuring that all sub-second palmprint feature vectors in the perturbation-obtained sub-second palmprint feature vector set satisfy the above condition. For example, server 130 can calculate the cosine similarity between all pairwise sub-second palmprint feature vectors in the sub-second palmprint feature vector set and compare the calculated cosine similarity with the preset third similarity threshold to determine whether the calculated cosine similarity is less than the preset third similarity threshold.

[0105] It should be understood that the difference between feature vectors representing different palm print identities (inter-class distribution difference) is greater than the difference between feature vectors belonging to the same palm print identity (intra-class distribution difference). Therefore, the preset third similarity threshold is less than the preset first similarity threshold; or, the preset third similarity threshold is less than the preset second similarity threshold.

[0106] In some embodiments, perturbing the current second palmprint feature vector using at least one offset vector may include:

[0107] The offset interval of the offset vector is determined, and the offset interval reflects the intra-class differences of each palmprint identity. In this specification, the offset interval can be understood as the set of offset vectors δ that the server can use when perturbing the current second palmprint feature vector, and each second palmprint feature vector can correspond to an offset interval. The server 130 has different offset intervals when perturbing different second palmprint feature vectors, thereby ensuring that there are inter-class differences between the various sub-second palmprint feature vector sets obtained after perturbation.

[0108] In this specification, for each perturbation: an offset vector is randomly selected from the offset interval to perturb the second palmprint feature vector, resulting in a sub-second palmprint feature vector. The sub-second palmprint feature vector obtained by server 130 perturbing the current second palmprint feature vector with any offset vector δ selected from the offset interval can satisfy the intra-class consistency requirement.

[0109] In this specification, server 130 can determine the offset vector δ using the following method. Assuming both the within-class and between-class distributions are Gaussian, server 130 can use α(Ci, Cj) to represent the angle between the second palmprint feature vector Ci and the second palmprint feature vector Cj. Each pair of second palmprint feature vectors contained in the second feature vector set C can be associated with an α, and the average of all α values ​​is calculated. and variance Following the Three Sigma criterion (3σ-rule, also known as the Raida criterion), using... As the distribution boundary, the statistics for intra-class distribution transitions should satisfy the following:

[0110]

[0111] From formula (2), we can deduce that:

[0112]

[0113] For a given second palmprint feature vector (e.g., C1), server 130 can randomly sample an α(Ci, Cj) and an intra-class basic offset Δ, and scale them to obtain the offset vector δ:

[0114]

[0115] Among them, |B k | represents the number of palmprint feature vectors contained in the k-th palmprint identity, where s is a real number. The following formula is obtained by scaling the intra-class basic offset Δ using s:

[0116] α(C, C+Δ*s)=a Formula (5)

[0117] Solving the above formula yields the offset vector δ. Furthermore, since the sampling s scales Δ, different s will result in different offset vectors δ.

[0118] In this specification, server 130, based on the second palmprint feature vector set C, continues to perform intra-class vector amplification on at least a portion of the second palmprint feature vectors in the second palmprint feature vector set C, which can realize the amplification of palmprint feature vectors for a given palmprint identity, thereby further laying the foundation for constructing a large-scale palmprint image sample training set.

[0119] S380, obtain the second palmprint image sample set, use the second palmprint feature vector set as a guiding condition, and perform data diffusion on the second palmprint image sample set based on the diffusion model to obtain multiple synthetic palmprint image samples.

[0120] Figure 8 A schematic diagram illustrating data changes in a palmprint image synthesis method according to some embodiments of this specification is shown. For ease of description, Figure 8 In this context, D represents the second palmprint image sample set. For example... Figure 8 As shown in this specification, the second palmprint image sample set D includes multiple second palmprint image samples. For example, the multiple second palmprint images included in the second palmprint image sample set D can be represented as D1, D2, D3, D4, D5, D6, D7, ... or Dx, where x is a positive integer. The second palmprint image samples can be existing real palmprint image samples or synthetic palmprint image samples. The server 130 can perform data diffusion on the second palmprint image sample set D using a diffusion model, and use the second palmprint feature vector set C as the guiding condition for the diffusion model, thereby generating new palmprint image samples (i.e., synthetic palmprint image samples). The multiple synthetic palmprint image samples are represented as E1, E2, E3, E4, E5, E6, E7, E8, E9, E10, ... or Ey, where y is a positive integer. The multiple synthetic palmprint image samples can form a synthetic palmprint image sample set E.

[0121] In this specification, combined with Figure 8The data change diagram shown illustrates this. During the process of generating multiple synthetic palmprint image samples, for each second palmprint image in the second palmprint image sample set D, the server 130 can perform data diffusion on the current second palmprint image sample based on a diffusion model, and sequentially use at least one second palmprint feature vector from the second palmprint feature vector set C as a guiding condition to obtain multiple synthetic palmprint image samples. For example, for one of the second palmprint image samples D1 in the second palmprint image sample set D, when the server 130 performs data diffusion on the second palmprint image sample D1 based on the diffusion model, it can use the second palmprint feature vector C1 from the second palmprint feature vector set C as a guiding condition to obtain a synthetic palmprint image sample E1; the server 130 can also use the second palmprint feature vector C2 from the second palmprint feature vector set C as a guiding condition to obtain a synthetic palmprint image sample E2; the server 130 can also use the second palmprint feature vector C3 from the second palmprint feature vector set C as a guiding condition to obtain a synthetic palmprint image sample E3; and so on.

[0122] Therefore, in the technical solution of this specification, when the server 130 uses the second palmprint feature vector set C as a guiding condition and performs data diffusion on the second palmprint image sample set based on the diffusion model, it can not only synthesize new palmprint image samples, but also control the number of times the second palmprint feature vector set C is introduced as a guiding condition to control the number of synthesized new palmprint image samples, thereby constructing a large-scale palmprint image sample training set.

[0123] In some embodiments, the first palmprint image sample set includes the second palmprint image sample set. For example, the second palmprint image sample set may be a part of the first palmprint image sample set; or the second palmprint image sample set may be equivalent to the first palmprint image sample set. In this case, such as Figure 9 As shown, server 130 can use the first palm print image samples contained in the first palm print image sample set A to generate the second palm print feature vector set C. Server 130 can also use the first palm print image samples contained in the first palm print image sample set A as input to the diffusion model to obtain synthetic palm print image samples.

[0124] In this specification, since the second palmprint feature vector set C contains second palmprint feature vectors obtained by interpolation based on the real palmprint feature vectors (first palmprint feature vectors), the second palmprint feature vectors have distribution characteristics close to those of real palmprints. Therefore, server 130 uses the second palmprint feature vector set C as a guiding condition and performs data diffusion on existing real palmprint images (including the first palmprint image sample set) based on a diffusion model, which can ensure the authenticity of the synthesized palmprint image samples, making the synthesized palmprint image samples close to real palmprint images in terms of color, brightness, and line direction.

[0125] In this specification, the workflow of the diffusion model includes a forward diffusion process (noise addition process) and a reverse diffusion process (noise removal process). Server 130 can use the second palmprint feature vector set as a guiding condition for the noise addition process, and server 130 can also use the second palmprint feature vector set as a guiding condition for the noise removal process.

[0126] In some embodiments, the diffusion model includes a latent diffusion model with a cross-attention layer. By enhancing its denoising U-Net with a cross-attention mechanism, the latent diffusion model with a cross-attention layer can be transformed into a conditional image generator, allowing the diffusion model to accept conditional inputs to guide image generation.

[0127] At this point, S380 may include: adding noise to the second palmprint image sample set based on the diffusion model to obtain a noise latent vector set; and

[0128] Based on the diffusion model, the second palmprint feature vector set is used as a guiding condition to denoise the noise potential vector set, thereby obtaining the multiple synthetic palmprint image samples.

[0129] The step of adding noise to the second palmprint image sample set based on the diffusion model to obtain a noise latent vector set may include: for each second palmprint image sample, after the server 130 inputs the second palmprint image sample into the diffusion model, during the noise addition process, the server 130 may map the second palmprint image sample to a low-dimensional latent space based on the image coding network (encoder) of the diffusion model to obtain a latent vector; and continue to randomly add noise to the latent vector to obtain a noise latent vector. Multiple noise latent vectors can form a noise latent vector set.

[0130] The process of using the second palmprint feature vector set as a guiding condition to denoise the noise latent vector set based on the diffusion model to obtain the multiple synthetic palmprint image samples may include:

[0131] For each second palmprint feature vector in the second palmprint feature vector set and each noise potential vector in the noise potential vector set: based on the diffusion model, the current second palmprint feature vector is used as a guiding condition to denoise the current noise potential vector, resulting in a synthetic palmprint image sample.

[0132] During the denoising process, server 130 can randomly select a noise latent vector from the noise latent vector set as the current noise latent vector, and randomly select a second palmprint feature vector from the second palmprint feature vector as the current second palmprint feature vector. The current second palmprint feature vector is introduced into the denoising process of the current noise latent vector, and the denoised vector is transformed by the image decoding network (decoder) based on the diffusion model to obtain a synthetic palmprint image sample.

[0133] It should be understood that, under otherwise unchanged conditions, when the diffusion model is a diffusion model with other special structures, the server 130 can use the second palmprint feature vector set as a guiding condition for the noise addition process, and perform data diffusion on the second palmprint image sample set based on the diffusion model to obtain multiple synthetic palmprint image samples. Details will not be elaborated here.

[0134] In the palmprint image synthesis method and system provided in this specification, server 130 uses real palmprint images (first palmprint image sample set A) as a basis and interpolates the palmprint feature vectors corresponding to the first palmprint image sample set A (first palmprint feature vector set B) to generate palmprint feature vectors containing new identities (second palmprint feature vector set C). The second palmprint feature vectors contained in the interpolated second palmprint feature vector set C not only have inter-class distribution differences but also have distribution characteristics close to those of real palmprints. Server 130 uses the second palmprint feature vector set C as a guiding condition to generate palmprint images containing new identities (synthetic palmprint image samples) through a diffusion model. The synthesized palmprint image samples are close to real palmprint images in terms of color, brightness, and line direction, thereby enabling the construction of a large-scale palmprint image sample set for palmprint recognition training.

[0135] In the palmprint image synthesis method and system provided in this specification, the server 130 also performs intra-class vector amplification on at least a portion of the second palmprint feature vectors in the second palmprint feature vector set C based on the second palmprint feature vector set C, thereby realizing the amplification of the palmprint feature vector for a given palmprint identity, which can generate a larger number of synthetic palmprint image samples, laying the foundation for constructing a larger-scale palmprint image sample training set.

[0136] In summary, after reading this detailed disclosure, those skilled in the art will understand that the foregoing detailed disclosure is presented by way of example only and is not restrictive. Although not explicitly stated herein, those skilled in the art will understand that this specification is intended to encompass various reasonable changes, improvements, and modifications to the embodiments. These changes, improvements, and modifications are intended to be made by this specification and are within the spirit and scope of the exemplary embodiments described herein.

[0137] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.

[0138] Furthermore, certain terms in this specification have been used to describe embodiments of this specification. For example, "an embodiment," "an embodiment," and / or "some embodiments" mean that a particular feature, structure, or characteristic described in connection with that embodiment may be included in at least one embodiment of this specification. Therefore, it is to be emphasized and understood that two or more references to "an embodiment" or "an embodiment" or "an alternative embodiment" in various parts of this specification do not necessarily refer to the same embodiment. Furthermore, specific features, structures, or characteristics may be suitably combined in one or more embodiments of this specification. It should be understood that in the foregoing description of embodiments of this specification, for the purpose of simplifying this specification and to aid in understanding a feature, various features are sometimes combined in a single embodiment, drawing, or description thereof. Alternatively, various features may be scattered across multiple embodiments of this specification. However, this does not mean that the combination of these features is necessary, and those skilled in the art, upon reading this specification, may extract some features as separate embodiments for understanding. That is, embodiments in this specification can also be understood as an integration of multiple secondary embodiments. It is also valid when each secondary embodiment contains fewer than all the features of a single foregoing disclosed embodiment.

Claims

1. A palmprint image synthesis method, comprising: Obtain the first set of palmprint image samples; Encode the first palmprint image in the first palmprint image sample set to obtain the first palmprint feature vector set; Interpolate the first palmprint feature vector set to obtain the second palmprint feature vector set; Obtain the second set of palmprint image samples; The second palmprint image sample set is noise-added based on the diffusion model to obtain a noise latent vector set; as well as Based on the diffusion model, the second palmprint feature vector set is used as a guiding condition to denoise the noise potential vector set, resulting in multiple synthetic palmprint image samples.

2. The palmprint image synthesis method as described in claim 1, wherein, The process of encoding the first palmprint image in the first palmprint image sample set to obtain the first palmprint feature vector set includes: The first palmprint image sample set is input into the initial palmprint recognition model, and the first palmprint feature vector set is output. The initial palmprint recognition model is trained based on the first palmprint image sample set.

3. The palmprint image synthesis method as described in claim 1, wherein, The step of interpolating the first palmprint feature vector set to obtain the second palmprint feature vector set includes: Multiple interpolations are performed on the first palmprint feature vector set to obtain multiple second palmprint feature vectors. The second palmprint feature vector set includes the multiple second palmprint feature vectors. Each of the multiple second palmprint feature vectors corresponds to a second palmprint identity, and the second palmprint identity is different from the first palmprint identity corresponding to the first palmprint image sample set.

4. The palmprint image synthesis method as described in claim 3, wherein, For each of the multiple interpolations, it includes: According to preset rules, N first palmprint feature vectors are selected from the first palmprint feature vector set, where N is an integer greater than 1; Interpolation is performed based on the N first palmprint feature vectors to obtain the transition palmprint feature vector; and If the transition palmprint feature vector is determined to meet a preset condition, the transition palmprint feature vector is used as a second palmprint feature vector in the second palmprint feature vector set.

5. The palmprint image synthesis method as described in claim 4, wherein, The preset conditions include: the similarity between the transition palmprint feature vector and the N first palmprint feature vectors is less than a preset first similarity threshold, and the similarity between the transition palmprint feature vector and other second palmprint feature vectors in the second palmprint feature vector set is less than a preset second similarity threshold.

6. The palmprint image synthesis method as described in claim 4, wherein, The preset rules include random rules.

7. The palmprint image synthesis method as described in claim 4, wherein, N is any integer greater than 1 and less than 5.

8. The palmprint image synthesis method as described in claim 4, wherein, The first palmprint image sample set includes a left palmprint image sample set and / or a right palmprint image sample set, and the N first palmprint feature vectors come from the left palmprint image sample set or the right palmprint image sample set.

9. The palmprint image synthesis method as described in claim 3, wherein, After interpolating the first palmprint feature vector set, the method further includes: Intra-class vector augmentation is performed on at least a portion of the multiple second palmprint feature vectors to obtain a corresponding set of at least a portion of sub-second palmprint feature vectors. The second palmprint feature vector set includes the set of at least a portion of the sub-second palmprint feature vectors. Each sub-second palmprint feature vector set in the set of at least a portion of the sub-second palmprint feature vectors includes a second palmprint feature vector corresponding to it. All sub-second palmprint feature vectors in each sub-second palmprint feature vector set correspond to the same second palmprint identity.

10. The palmprint image synthesis method as described in claim 9, wherein, The step of performing intra-class vector augmentation on at least a portion of the second palmprint feature vectors from the plurality of second palmprint feature vectors to obtain the corresponding at least a portion of the second palmprint feature vector set includes: For each of the at least some of the second palmprint feature vectors: The current second palmprint feature vector is perturbed by at least one offset vector to obtain the corresponding sub-second palmprint feature vector set. The similarity between all sub-second palmprint feature vectors in the sub-second palmprint feature vector set is less than a preset third similarity threshold.

11. The palmprint image synthesis method as described in claim 10, wherein, The perturbation of the current second palmprint feature vector using the at least one offset vector includes: Determine the offset interval of the at least one offset vector, the offset interval reflecting the intra-class differences of each palm print identity; and For each perturbation: randomly select an offset vector from the offset interval to perturb the current second palmprint feature vector, and obtain a sub-second palmprint feature vector.

12. The palmprint image synthesis method as described in claim 1, wherein, The diffusion model includes a potential diffusion model with a cross-interest layer.

13. The palmprint image synthesis method as described in claim 1, wherein, Based on the diffusion model, the second palmprint feature vector set is used as the guiding condition to denoise the noise latent vector set, resulting in the plurality of synthetic palmprint image samples, including: For each second palmprint feature vector in the second palmprint feature vector set and each noise latent vector in the noise latent vector set: Based on the diffusion model, the current second palmprint feature vector is used as the guiding condition to denoise the current noise potential vector, resulting in a synthetic palmprint image sample.

14. The palmprint image synthesis method as described in claim 1, wherein, The first palmprint image sample set includes the second palmprint image sample set.

15. A palmprint image synthesis system, comprising: At least one storage medium, including at least one instruction set, for implementation analysis of the palmprint image synthesis method; as well as At least one processor is communicatively connected to the at least one storage medium. When the system is running, the at least one processor reads the at least one instruction set and executes the method of any one of claims 1-14 according to the instructions of the at least one instruction set.

Citation Information

Patent Citations

  • Image generation method, and training method and device of image denoising model

    CN115222630A