System and method for generating composite profile for training biometric verification system
By generating synthetic biometric profiles and utilizing statistical models and variability models, the problem of privacy leakage in biometric verification systems is solved, achieving efficient training accuracy and privacy protection.
Patent Information
- Application Number
- CN202480013925.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-03-20
- Filing Date
- 2024-03-11
- Publication Date
- 2025-10-03
AI Technical Summary
Existing biometric verification systems expose sensitive biometric information in training data, violating laws, policies or personal privacy, and leading to privacy leaks.
By generating synthetic biometric profiles, statistical models and variability models are used to generate synthetic biometric profiles from multiple natural biometric profiles to simulate the distribution of biometric characteristics of real individuals without exposing actual biometric information.
The training accuracy of the biometric verification system is improved, while personal privacy is protected and the risk of leakage of sensitive biometric information is reduced.
Smart Images

Figure CN120752697A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims the benefit of U.S. non-provisional application No. 18 / 186,500, filed March 20, 2023, the entire contents of which are incorporated herein by reference. Background Art
[0003] The goal of a biometric verification system is to generate a recognition score that measures the likelihood that a biometric profile (e.g., a voiceprint) and an unknown biometric sample or segment belong to the same individual. For example, in a speaker verification system, the recognition score is compared to a predefined threshold to determine whether the voiceprint and the target speech segment are from the same person. To train the biometric verification system, labeled biometric data is provided to the biometric verification system. However, conventional techniques expose sensitive biometric information in the form of training data in a manner that may violate laws, policies, or the interests of entities and individuals. BRIEF DESCRIPTION OF THE DRAWINGS
[0004] Figure 1 is a flow chart of one implementation of a synthetic profile generation process;
[0005] Figure 2 is a schematic diagram of multiple natural biometric profiles;
[0006] Figure 3 is a schematic diagram of a statistical model generated according to one implementation of a synthetic profile generation process;
[0007] Figure 4 is a schematic diagram of a plurality of random samples generated according to one implementation of a synthetic profile generation process;
[0008] Figure 5-Figure 7 is a schematic diagram of a variability model of natural biometric profiles according to different implementations of the synthetic profile generation process;
[0009] Figure 8 is a schematic diagram of generation of a synthetic biometric profile according to one implementation of a synthetic profile generation process;
[0010] Figure 9-10 is a schematic diagram of a model for clustering natural biometric profiles based on different implementations of the synthetic profile generation process;
[0011] Figure 11 is a schematic diagram of the training of a biometric authentication system according to one implementation of a synthetic profile generation process;
[0012] Figure 12 is a schematic diagram of a computer system and a composite profile generation process coupled to a distributed computing network.
[0013] Like reference numbers in the various drawings represent like elements. DETAILED DESCRIPTION
[0014] As will be discussed in more detail below, implementations of the present disclosure generate synthetic (i.e., artificial) biometric profiles from natural or actual biometric profiles that account for inter-speaker distribution across multiple speakers and intra-speaker variability for a particular speaker. A biometric profile is a representation of biometric information that may be attributed to a particular individual. For example, a biometric profile includes a voiceprint, facial features, retinal scans, fingerprints, conversational features (i.e., behavioral biometrics based on an individual's unique use of language, such as common vocabulary and expressions), or any other biometric that uniquely identifies a particular person or individual. As described above, biometric verification systems are trained using existing biometric profiles. However, conventional techniques may expose sensitive biometric information in training data in a manner that may not be consistent with law, policy, or the interests of entities and individuals.
[0015] In some implementations, the present disclosure uses a statistical model generated from multiple natural biometric profiles to generate a synthetic biometric profile that has the same biometric characteristic distribution and individual-specific biometric characteristic variability as the multiple natural biometric profiles. By generating new synthetic biometric profiles using the statistical model and projecting biometric characteristic offsets around each new synthetic profile, the natural or actual biometric data is not exposed or retained, but rather represented by the synthetic profile. In this way, biometric profiles of real individuals with actual biometric characteristic variability are transformed to enhance the training of biometric verification systems.
[0016] The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features and advantages will become apparent from the specification, drawings, and claims.
[0017] Synthetic profile generation process:
[0018] refer to Figures 1-12 The synthetic profile generation process 10 generates 100 a statistical model representing a plurality of natural biometric profiles, each of which is associated with an individual. A variability model in the natural biometric profiles associated with the individual is generated 102. A plurality of synthetic biometric profiles is generated 104 using a plurality of random samples generated from the statistical model and the variability model in the natural biometric profiles associated with the individual.
[0019] In some implementations, the synthetic profile generation process 10 generates 100 a statistical model representing a plurality of natural biometric profiles. As discussed above, a biometric profile is a representation of biometric information that uniquely identifies a particular individual or person. For example, a biometric profile includes a voiceprint, facial features, a retinal scan, a fingerprint, or any other biometric characteristic that is capable of uniquely identifying a particular individual or person. A natural biometric profile is a biometric profile that can belong to a real person. In some implementations, a natural biometric profile includes a vector of biometric information associated with an individual. Reference Figure 2 , multiple natural biometric profiles (e.g., biometric profiles 200, 202, 204, 206) are shown. In some implementations, the biometric profiles 200, 202, 204, 206 are vectors of biometric information. In one example, the biometric profiles 200, 202, 204, 206 are voiceprints of a particular individual. In some implementations, the vectors are "i-vectors" extracted from the individual's speech signal. An i-vector or intermediate vector is a representation of a speech signal generated by extracting and processing specific signal features from the speech signal. In another example, the vectors are "x-vectors," which are embeddings extracted by a neural network or other machine learning model. In this way, the vector representations can be used to compare and evaluate biometric profiles. For example, as Figure 2 As shown, biometric profiles 200, 202, 204, 206 are represented as points within a biometric profile graph. As will be discussed in more detail below, the synthetic profile generation process 10 uses the distribution of biometric profiles 200, 202, 204, 206 to generate a statistical model and to generate a synthetic biometric profile.
[0020] In some implementations, the synthetic profile generation process 10 generates 100 a statistical model representing a plurality of natural biometric profiles. A statistical model is a statistical model of the joint probability distribution of a given observable variable (e.g., "X") and a target variable (e.g., "Y"). Specifically, a statistical model describes how a dataset is generated according to a probability model. New data is generated by sampling from the model. Examples of statistical models include multivariate Gaussian distributions, Gaussian mixture models, Bayesian networks, Markov random fields, hidden Markov models (HMMs), generative adversarial networks (GANs), and the like. Reference Figure 3 In the example of FIG. 1 , the synthetic profile generation process 10 generates a statistical model (e.g., statistical model 300 shown as concentric circles that defines the distribution of natural biometric profiles in the biometric profile graph) that represents the distribution of natural biometric profiles 200, 202, 204, 206. In this example, the statistical model 300 defines the distribution of multiple natural biometric profiles for a particular variable or parameter.
[0021] In some implementations, generating 100 statistical models includes generating 106 multiple statistical models for a plurality of biometric characteristics. As discussed above, a biometric profile associates specific biometric information with a specific individual having various biometric characteristics. Biometric characteristics are defined for different types of biometric information. For the example of a voice / speech biometric, the multiple biometric characteristics include multiple voice / speech characteristics. In one example, the multiple voice characteristics include speaker age, speaker language, and / or speaker gender. For example, these voice characteristics may affect the distribution of a particular biometric profile. Assume that the multiple biometric profiles include 50% English speakers and 50% German speakers. In this example, the voice characteristics produced by the different languages may introduce different distributions in the multiple biometric profiles. Therefore, the composite profile generation process 10 generates more than 100 statistical models (e.g., a statistical model for English speakers and a statistical model for German speakers).
[0022] In another example, assume that the plurality of biometric profiles includes 33% of speakers whose ages are in the range of 18-30, 33% of speakers whose ages are in the range of 31-50, and 33% of speakers whose ages are in the range of 51-75. In this example, the vocal characteristics produced by different ages may introduce different distributions in the plurality of biometric profiles. Therefore, the synthetic profile generation process 10 generates 106 a plurality of statistical models (e.g., a statistical model for speakers aged 18-30, a statistical model for speakers aged 31-50, and a statistical model for speakers aged 51-75).
[0023] In some implementations, the synthetic profile generation process 10 generates 100 statistical models for multiple biometric profiles having multiple biometric characteristics. In one example, assume that the multiple biometric profiles include fingerprints from individuals of the same gender within the age range of 18-30 years old. In this example, the synthetic profile generation process 10 generates a statistical model specific to these individuals having multiple known biometric characteristics (e.g., 18-30 years old and the same gender). In this way, the synthetic profile generation process 10 generates 100 a statistical model that takes into account multiple biometric characteristics.
[0024] In some implementations, the synthetic profile generation process 10 generates a plurality of random samples from a statistical model. A random sample from a statistical model is any value or combination of values (e.g., a vector of biometric information) that follows the distribution of values of the statistical model. In some implementations, each random sample is a synthetic centroid. For example, referring to Figure 4, the synthetic profile generation process 10 generates a plurality of random samples (e.g., the plurality of random samples 400) from the statistical model 300 having the same distribution of values as the statistical model 300. In this way, the plurality of random samples 400 maintains the same statistical characteristics as the plurality of natural biometric profiles, but does not include the same biometric information as the plurality of natural biometric profiles.
[0025] In some implementations, the synthetic profile generation process 10 generates 102 a variability model in a natural biometric profile associated with an individual. The variability model is a representation of the variation in the biometric characteristics associated with the individual's natural biometric profile. For example, assume that multiple biometric profiles are associated with the same individual. Because each biometric profile can include different biometric characteristics, modeling the variability in the biometric characteristics can more accurately represent the specific individual. Ideally, a single individual would have a unique biometric profile, but in practice this is not the case because 1) due to changes in the individual's voice aging or physical / health status; and 2) limitations of biometric measurement technology, such that speaking style, noise, channel, environment, etc. can affect the assessed biometric profile. Therefore, these variations are modeled in the variability model in the natural biometric profile associated with the individual.
[0026] refer to Figure 5 , assuming that multiple biometric characteristics are represented as unique points on the graph. In this example, a collection or set of biometric profiles (e.g., biometric profile set 500) is associated with the same individual. In this way, biometric profile set 500 represents the various biometric characteristics of a particular individual. Similarly, assume that a set of biometric characteristics (e.g., biometric profile set 502) is associated with another individual. Therefore, biometric profile set 500 represents the variability of the biometric characteristics of the individual. In some implementations, biometric profile set 500 is a collection of vectors (e.g., I-vectors, X-vectors, embeddings, etc.) generated around a synthetic centroid using a statistical model representing multiple natural biometric profiles as described above.
[0027] In some implementations, generating 102 a model of variability in a natural biometric profile associated with an individual includes generating 108 a statistical model of the variability in the natural biometric profile associated with the individual. Figure 6 And as discussed above, the synthetic profile generation process 10 generates 108 a statistical model of the variability of the particular individual in the biometric profile graph (e.g., the statistical model of variability 600 shown as a circle, which defines the distribution of the biometric characteristics of the natural biometric profile). In this example, the statistical model of variability 600 defines the distribution of the variability in the biometric characteristics of the natural biometric profile of the particular individual over a particular variable or parameter. Figure 6 As shown, the variability statistical model 600 includes the same distribution of biometric profiles for a particular individual, and the variability statistical model 602 includes the same distribution of biometric profiles for another individual.
[0028] In some implementations, the synthetic profile generation process 10 generates a variability model for each natural biometric profile associated with each unique individual. For example, assume that the plurality of natural biometric profiles includes natural biometric profiles representing four individuals. In this example, the synthetic profile generation process 10 generates 102 a variability model for the natural biometric profile associated with each of the four individuals. In this manner, as will be discussed in greater detail below, by combining the statistical model 300 representing the distribution of natural biometric profiles with the statistical models 600, 602 representing speaker-specific variability in biometric profiles, a synthetic biometric profile is generated that includes inter-user and intra-user biometric relationships without exposing actual biometric information.
[0029] In another example, the synthetic profile generation process 10 of generating 102 a model of variability in a natural biometric profile associated with an individual includes directly reproducing 110 relative variability in a natural biometric profile associated with the individual. Figure 7 And as discussed above, the composite profile generation process 10 generates 102 a variability model between biometric profiles of a particular individual (e.g., variability model 700 shown as circles, which defines the same graphical relationship). In this example, the variability model 700 includes Figure 3 The same relative variability of an individual (e.g., Figure 7 Similarly, for another individual, the variability model 702 includes Figure 3 The same relative variability of another individual as shown (e.g., Figure 7 relative directions and positions in the .
[0030] In some implementations, the synthetic profile generation process 10 generates 104 a plurality of synthetic biometric profiles using a plurality of random samples generated from a statistical model and a variability model in natural biometric profiles associated with an individual. A synthetic biometric profile is an artificial biometric profile having biometric information unrelated to a real person. Thus, the synthetic biometric profiles can be used with a biometric verification system without exposing any biometric information of the plurality of natural biometric profiles. In some implementations, generating 104 the plurality of synthetic biometric profiles includes converting the plurality of random samples and the variability model into a plurality of synthetic biometric profiles. In some implementations, the synthetic profile generation process 10 generates the plurality of synthetic biometric profiles by generating a plurality of random samples (each of which defines a synthetic biometric profile) and modeling the variability in the natural biometric profiles of the individual users. In this manner, by generating a plurality of random samples from a statistical model and by modeling the variability in the natural biometric profiles, the synthetic profile generation process 10 generates a plurality of synthetic biometric profiles that represent intra-user and inter-user relationships between the natural biometric profiles.
[0031] refer to Figure 8 Assume that the synthetic profile generation process 10 generates a plurality of random samples (e.g., the plurality of random samples 400) from the statistical model 300 and the variability model 600 and variability model 602. As discussed above, using the statistical model 300, the plurality of random samples 400 have the same distribution as the plurality of natural biometric profiles 200, 202, 204, 206. The variability model 600 has a modeled distribution of the variability in the natural biometric profile of one individual, while the variability model 602 has a modeled distribution of the variability in the natural biometric profile of another individual. Utilizing the plurality of random samples 400, the variability model 600, and the variability model 602, the synthetic profile generation process 10 generates a plurality of synthetic biometric profiles (e.g., synthetic biometric profiles 800, 802, 804, 806). In this example, each synthetic biometric profile includes biometric information that fits the statistical model 300, the variability model 600, and the variability model 602, but does not belong to an actual person or population.
[0032] In some implementations, the synthetic profile generation process 10 uses a statistical model of variability to generate a synthetic biometric profile. For example, for each randomly generated point or vector of the statistical model 300, the synthetic profile generation process 10 randomly samples a point or vector from the statistical model of variability using the randomly generated point as a center point or reference point. Figure 9, assume that the synthetic profile generation process 10 generates a statistical model 300 and a random sample 400. The synthetic profile generation process 10 generates 104 a synthetic biometric profile using a random sample (e.g., random sample 900) from the statistical model 300 and a variability model 902 centered around the random sample 900. In this example, the random point 900 serves as a center point or reference point for a vector that synthetically represents the natural biometric profile.
[0033] In some implementations, the synthetic profile generation process 10 clusters 112 the set of natural biometric profiles. Clustering the set of natural biometric profiles includes identifying a set of biometric profiles from the plurality of biometric profiles to use as a basis for a synthetic biometric profile. For example, assume that the plurality of natural biometric profiles includes 10,000 individual natural biometric profiles. Rather than generating 10,000 corresponding synthetic biometric profiles, which may involve significant processing resources, the synthetic profile generation process 10 identifies a set of natural biometric profiles to use as a cluster of natural biometric profiles. As discussed above, each natural biometric profile is a vector (e.g., an I-vector, an X-vector, an embedding, etc.). Therefore, the synthetic profile generation process 10 clusters the set of natural biometric profiles by determining an average or synthetic representation of the identified set of natural biometric profiles. In one example, the synthetic profile generation process 10 clusters 112 the nearest set of 5 natural biometric profiles into clusters (e.g., where proximity is based on Figure 9 distances shown).
[0034] In some implementations, generating 104 a plurality of synthetic biometric profiles includes generating 114 synthetic biometric profiles using a clustered set of natural biometric profiles. Figure 10 , assuming that the synthetic profile generation process 10 clusters the multiple biometric profiles into eight clusters, each with five natural biometric profiles. The synthetic profile generation process 10 generates eight representative biometric profiles (e.g., Figure 10 ). As discussed above, the synthetic profile generation process 10 generates 100 a statistical model representing a plurality of representative biometric profiles and a model of variability in natural biometric profiles associated with the same individual. Based on the statistical model and the model of variability, the synthetic profile generation process 10 generates a plurality of synthetic biometric profiles by generating a plurality of random samples from the statistical model. In this example, the synthetic profile generation process 10 generates a plurality of clustered synthetic biometric profiles in a resource-efficient manner (i.e., by clustering natural biometric profiles in a subset of representative biometric profiles to reduce the number of synthetic biometric profiles created).
[0035] In some implementations, the synthetic profile generation process 10 processes 116 the plurality of natural biometric profiles in response to generating the plurality of synthetic biometric profiles. For example, the synthetic profile generation process 10 generates 116 the plurality of synthetic biometric profiles 800, 802, 804, 806 to include the distribution of features or attributes of the biometric information defined by the statistical model 300 without including biometric information from the plurality of natural biometric profiles 200, 202, 204, 206. In this manner, the synthetic profile generation process 10 can process target biometric information using the plurality of synthetic biometric profiles 800, 802, 804, 806 that include the same feature distribution as the plurality of natural biometric profiles 200, 202, 204, 206 without exposing the plurality of natural biometric profiles 200, 202, 204, 206.
[0036] Thus, in response to generating synthetic biometric profiles 800, 802, 804, 806, the synthetic profile generation process 10 disposes 116 of the plurality of natural biometric profiles 200, 202, 204, 206. In one example, disposing 116 of the natural biometric profiles includes deleting or otherwise removing the natural biometric profiles from a storage device or other computing device. In this example, the natural biometric profiles are deleted, which provides the highest level of compliance with various privacy laws, regulations, and other restrictions related to sensitive content (i.e., biometric information associated with a particular individual).
[0037] In another example, processing 116 the natural biometric profile includes removing the natural biometric profile from inclusion or use in the biometric verification system. In this example, biometric information from the natural biometric profile is used to generate the statistical model, but can be retained for other uses (e.g., data augmentation, speech processing (for voice biometric information), image processing (for retinal or facial biometric information), etc.).
[0038] In some implementations, the synthetic profile generation process 10 uses multiple synthetic biometric profiles to train 118 a biometric classification system. A biometric verification system is a hardware and / or software system that verifies and / or identifies individuals by using unique biometric characteristics. For example, a biometric profile associated with a particular individual is registered in the biometric verification system, so that target biometric information is compared with each registered biometric profile for verification or identification. In some implementations, when the target biometric information is compared with the registered biometric profiles, the biometric verification system generates a recognition score. In some implementations, the synthetic profile generation process 10 uses multiple synthetic biometric profiles to train the biometric verification system. In this way, the biometric verification system is trained 118 using multiple synthetic biometric profiles without exposing the biometric information of multiple natural biometric profiles. In order to train an accurate back-end classifier (e.g., a biometric verification system), the training data should match (statistically) as closely as possible the data that will be encountered during runtime use. Since it is desirable for the training data to match the actual data, the synthetic profile generation process 10 utilizes synthetic data to simulate the same statistical space of the training data, thereby training the backend to cover the same space (and the same distribution within that space) to achieve optimal recognition accuracy.
[0039] refer to Figure 11 , assume that the synthetic profile generation process 10 generates 104 a plurality of synthetic biometric profiles 800, 802, 804, 806. In this example, the synthetic profile generation process 10 uses the plurality of synthetic biometric profiles 800, 802, 804, 806 to train 118 a biometric authentication system (e.g., biometric authentication system 1100).
[0040] In some implementations, the accuracy of a biometric verification system trained using synthetic biometric profiles generated using the methods described above is only slightly reduced compared to the accuracy observed when using natural biometric profiles. In one example, assume that nine biometric verification models are trained using 330,000 utterances from 15,000 speakers (e.g., multiple natural biometric profiles) and multiple synthetic biometric profiles clustered in 3,000 groups. In this example, the results are reported in Table 1 below as false rejection rates (FR) at equal error rates (EER) and two false acceptance rates (FA) (values of 1% and 0.5%).
[0041] Table 1
[0042]
[0043]
[0044] As shown in Table 1, the average accuracy drop in EER is approximately 5.5%, the average accuracy drop in FR@FA = 1% is approximately 8%, and the average accuracy drop in FR@FA = 0.5% is approximately 6%. Therefore, the accuracy drop caused by using synthetic biometric profiles is limited, while protecting private biometric data from being used to train biometric verification systems.
[0045] System Overview:
[0046] refer to Figure 12 , a synthetic profile generation process 10 is shown. The synthetic profile generation process 10 can be implemented as a server-side process, a client-side process, or a hybrid server-side / client-side process. For example, the synthetic profile generation process 10 can be implemented as a pure server-side process via the synthetic profile generation process 10s. Alternatively, the synthetic profile generation process 10 can be implemented as a pure client-side process via one or more of the synthetic profile generation process 10c1, the synthetic profile generation process 10c2, the synthetic profile generation process 10c3, and the synthetic profile generation process 10c4. Alternatively, the synthetic profile generation process 10 can be implemented as a hybrid server-side / client-side process via the synthetic profile generation process 10s in combination with one or more of the synthetic profile generation process 10c1, the synthetic profile generation process 10c2, the synthetic profile generation process 10c3, and the synthetic profile generation process 10c4.
[0047] Therefore, the composite profile generation process 10 used in the present disclosure may include any combination of the composite profile generation process 10s, the composite profile generation process 10c1, the composite profile generation process 10c2, the composite profile generation process 10c3, and the composite profile generation process 10c4.
[0048] The synthetic profile generation process 10s may be a server application and may reside on or be executed by a computer system 1200, which may be connected to a network 1202 (e.g., the Internet or a local area network). The computer system 1200 may include various components, examples of which may include, but are not limited to, a personal computer, a server computer, a series of server computers, a minicomputer, a mainframe computer, one or more network attached storage (NAS) systems, one or more storage area network (SAN) systems, one or more platform as a service (PaaS) systems, one or more infrastructure as a service (IaaS) systems, one or more software as a service (SaaS) systems, a cloud-based computer, and a cloud-based storage platform.
[0049] The SAN includes one or more of a personal computer, a server computer, a series of server computers, a minicomputer, a mainframe computer, a RAID device, and a NAS system. The various components of the computer system 1200 may execute one or more operating systems.
[0050] The instruction set and subroutines of the synthetic profile generation process 10s (stored on a storage device 1204 coupled to the computer system 1200) can be executed by one or more processors (not shown) and one or more memory architectures (not shown) included in the computer system 1200. Examples of storage devices 1204 include, but are not limited to: hard disk drives; RAID devices; random access memory (RAM); read-only memory (ROM); and all forms of flash memory storage devices.
[0051] The network 1202 may be connected to one or more secondary networks (eg, network 1204), examples of which may include, but are not limited to: a local area network; a wide area network; or an intranet.
[0052] Various IO requests (e.g., IO request 1208) may be sent from the composite profile generation process 10s, the composite profile generation process 10c1, the composite profile generation process 10c2, the composite profile generation process 10c3, and / or the composite profile generation process 10c4 to the computer system 1200. Examples of the IO request 1208 include, but are not limited to, a data write request (i.e., a request to write content to the computer system 1200) and a data read request (i.e., a request to read content from the computer system 1200).
[0053] The instruction sets and subroutines of the synthetic profile generation process 10c1, synthetic profile generation process 10c2, synthetic profile generation process 10c3, and / or synthetic profile generation process 10c4, which may be stored on storage devices 1210, 1212, 1214, 1216 (respectively) coupled to the client electronic devices 1218, 1220, 1222, 1224 (respectively), may be executed by one or more processors (not shown) and one or more memory architectures (not shown) integrated into the client electronic devices 1218, 1220, 1222, 1224 (respectively). The storage devices 1210, 1212, 1214, 1216 may include, but are not limited to, hard drives; optical drives; RAID devices; random access memory (RAM); read-only memory (ROM), and all forms of flash memory storage devices. Examples of client electronic devices 1218, 1220, 1222, 1224 may include, but are not limited to, personal computing devices 1218 (e.g., smart phones, personal digital assistants, laptop computers, notebook computers, and desktop computers), audio input devices 1220 (e.g., handheld microphones, lapel microphones, embedded microphones (such as microphones embedded in glasses, smart phones, tablet computers and / or watches), and audio recording devices), display devices 1222 (e.g., tablet computers, computer monitors, and smart TVs), machine vision input devices 1224 (e.g., RGB imaging systems, infrared imaging systems, ultraviolet imaging systems, laser imaging systems, SONAR imaging systems, RADAR imaging systems, and thermal imaging systems), hybrid devices (e.g., a single device that includes the functionality of one or more of the above-referenced devices; not shown), audio rendering devices (e.g., a speaker system, a headphone system, or an earbud system; not shown), various medical devices (e.g., medical imaging devices, heart monitoring machines, weight scales, body temperature thermometers, and blood pressure monitors; not shown), and dedicated network devices (not shown).
[0054] Users 1226, 1228, 1230, 1232 can access computer system 1200 directly through network 1202 or secondary network 1206. In addition, computer system 1200 can be connected to network 1202 through secondary network 1206, as shown by link 1234.
[0055] Various client electronic devices (e.g., client electronic devices 1218, 1220, 1222, 1224) can be coupled directly or indirectly to the network 1202 (or network 1206). For example, a personal computing device 1218 is shown as being directly coupled to the network 1202 via a hardwired network connection. Additionally, a machine vision input device 1224 is shown as being directly coupled to the network 1206 via a hardwired network connection. An audio input device 1220 is shown as being wirelessly coupled to the network 1202 via a wireless communication channel 1236 established between the audio input device 1220 and a wireless access point (i.e., WAP) 1238, which is shown as being directly coupled to the network 1202. The WAP 1238 may be, for example, IEEE 802.11a, 802.11b, 802.11g, 802.11n, Wi-Fi 1280, or any other wireless communication protocol capable of establishing a wireless communication channel 1236 between the audio input device 1220 and the WAP 1238. TM , and / or Bluetooth TM Display device 1222 is shown as wirelessly coupled to network 1202 via a wireless communication channel 1240 established between display device 1222 and WAP 1242, which is shown as being directly coupled to network 1202.
[0056] The various client electronic devices (e.g., client electronic devices 1218, 1220, 1222, 1224) can each execute an operating system, where the various client electronic devices (e.g., client electronic devices 1218, 1220, 1222, 1224) and the computer system 1200 can form a modular system 1244.
[0057] Overview:
[0058] As will be appreciated by those skilled in the art, the present disclosure may be embodied as a method, system, or computer program product. Therefore, the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment (including firmware, resident software, microcode, etc.), or an embodiment combining software and hardware, which may be collectively referred to as a "circuit," "module," or "system" in the text. In addition, the present disclosure may take the form of a computer program product on a computer-usable storage medium, wherein the computer-usable medium has a computer-usable program code embodied therein.
[0059] Any suitable computer-usable or computer-readable medium can be used.Computer-usable or computer-readable medium can be, for example, but not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, equipment, or propagation media.More specific examples (non-exhaustive list) of computer-readable media can include the following: electrical connections with one or more circuits, portable computer disks, hard disks, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disc read-only memories (CD-ROM), optical storage devices, such as transmission media or magnetic storage devices supporting the Internet or intranet.Computer-usable or computer-readable medium can also be paper or another suitable medium with a program printed thereon, because the program can be electronically captured via, for example, optical scanning of paper or other media, then compiled, interpreted, or processed (if necessary) in a suitable manner, then stored in a computer memory.In the context of this article, computer-usable or computer-readable medium can be any medium that can contain, store, communicate, propagate, or transmit a program for use by an instruction execution system, device, or equipment or used in combination therewith. The computer usable medium may include a propagated data signal embedded with the computer usable program code, which is either in baseband or as part of a carrier wave. The computer usable program code may be transmitted using any suitable medium, including but not limited to the Internet, wireline, fiber optic cable, RF, etc.
[0060] The computer program code that is used to perform the operation of the present disclosure can be written with an object-oriented programming language. However, the computer program code that is used to perform the operation of the present disclosure can also be written with a conventional process programming language such as " C " programming language or similar programming language. Program code can be performed fully on the user's computer, partly on the user's computer (as an independent software package), partly on the user's computer and partly on a remote computer, or fully on a remote computer or server. In the latter case, the remote computer can be connected to the user's computer through a local area network / wide area network / Internet.
[0061] The present disclosure is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowcharts and / or block diagrams, as well as combinations of blocks of the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer / special-purpose computer / other programmable data processing device, so that instructions executed by the processor of the computer or other programmable data processing device can create a device for implementing the functions / actions specified in one or more blocks of the flowcharts and / or block diagrams.
[0062] These computer program instructions may also be stored in a computer-readable memory, which may instruct a computer or other programmable data processing device to operate in a specific manner so that the instructions stored in the computer-readable memory produce an article of manufacture including an instruction device that implements the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0063] The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer-implemented process, such that the instructions executed on the computer or other programmable apparatus provide steps for implementing the functions / actions specified in one or more boxes of the flowchart and / or block diagram.
[0064] The flow charts and block diagrams in the accompanying drawings can illustrate the architecture, function, and operation of the possible implementation of the system, method, and computer program product according to the various embodiments of the present disclosure. In this regard, each box in the flow chart or block diagram can represent a module, segment, or code portion, which includes one or more executable instructions for realizing (multiple) specified logical functions. It should also be noted that in some alternative implementations, the function pointed out in the box may not occur in the order pointed out in the accompanying drawings. For example, depending on the function involved, the two boxes shown in succession can actually be executed substantially at the same time, or these boxes can sometimes be executed in the opposite order, not executed at all, or executed in any combination with any other flow chart. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be realized by a system based on dedicated hardware that performs a specified function or action, or a combination of dedicated hardware and computer instructions.
[0065] The terms used herein are used only to describe particular embodiments and are not intended to limit the present disclosure. As used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the terms "comprise" and / or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or combinations thereof.
[0066] The corresponding structures, materials, actions, and equivalents of all functional additional means (means or step plus function) elements in the claims are intended to include any structure, material, or action that is combined with the elements specifically claimed in other claims to perform the function. The description of the present disclosure has been presented for the purpose of illustration and description, but is not intended to be exhaustive or to limit the present disclosure to the disclosed form. Without departing from the scope and spirit of the present disclosure, many modifications and variations will be apparent to those of ordinary skill in the art. The embodiments are selected and described in order to best explain the principles and practical applications of the present disclosure and to enable other persons of ordinary skill in the art to understand the various embodiments of the present disclosure and the various modifications that are suitable for the specific use expected.
[0067] A number of implementations have been described herein. Having thus described the disclosure of this application in detail and by reference to embodiments thereof, it will be apparent that modifications and variations are possible without departing from the scope of the disclosure as defined in the appended claims.
Claims
1. A computer-implemented method, the method being executed on a computing device, the method comprising: generating a statistical model representing a plurality of natural biometric profiles, wherein each natural biometric profile is associated with an individual; generating a model of variability in the natural biometric profile associated with an individual; and A plurality of synthetic biometric profiles are generated using a plurality of random samples generated from the statistical model and a model of the variability in the natural biometric profiles associated with individuals.
2. The computer-implemented method of claim 1 , wherein each natural biometric profile comprises a vector of biometric information associated with the individual.
3. The computer-implemented method of claim 1 , wherein generating the statistical model comprises: Multiple statistical models are generated for multiple biometric characteristics.
4. The computer-implemented method of claim 1 , wherein generating the model of the variability in the natural biometric profile associated with an individual comprises: A statistical model of the variability in the natural biometric profile associated with the individual is generated.
5. The computer-implemented method of claim 1 , wherein generating the model of the variability in the natural biometric profile associated with an individual comprises: The relative variability in the natural biometric profile associated with the individual is directly reproduced.
6. The computer-implemented method of claim 1 , further comprising: Clustering a set of natural biometric profiles.
7. The computer-implemented method of claim 6 , wherein generating the plurality of synthetic biometric profiles comprises: A synthetic biometric profile is generated using the clustered set of natural biometric profiles.
8. The computer-implemented method of claim 1 , further comprising: A biometric classification system is trained using the plurality of synthetic biometrics.
9. A computing system comprising: Memory; as well as A processor configured to: generate a statistical model representing a plurality of voiceprints, wherein each voiceprint is associated with an individual; generating a model of variability in the voiceprint associated with an individual; and generating a plurality of synthetic voiceprints using a plurality of random samples generated from the statistical model and the model of variability in the voiceprint associated with an individual.
10. The computing system of claim 9, wherein each voice print comprises a vector of voice print information associated with an individual.
11. The computing system of claim 9, wherein generating the statistical model comprises: A plurality of statistical models for a plurality of sound characteristics are generated.
12. The computing system of claim 9, wherein the statistical model is a multivariate Gaussian distribution.
13. The computing system of claim 9, wherein the statistical model is a Gaussian mixture model.
14. The computing system of claim 9, wherein the processor is further configured to: The plurality of natural voice prints are processed in response to generating the plurality of synthetic voice prints.
15. A computer program product, the computer program product residing on a computer-readable medium having a plurality of instructions stored thereon, the instructions, when executed by a processor, causing the processor to perform operations comprising: generating a statistical model representing a plurality of natural biometric profiles, wherein each natural biometric profile is associated with an individual; generating a model of variability in the natural biometric profile associated with an individual; generating a plurality of synthetic biometric profiles using a plurality of random samples generated from the statistical model and a model of the variability in the natural biometric profiles associated with individuals; as well as A biometric authentication system is trained using the plurality of synthetic biometric profiles.