Invoke-BWSEnroll
NAME Invoke-BWSEnroll SYNOPSIS Performs the enrollment of an individual by calculating and storing a biometric template for each trait represented by the given samples. SYNTAX Invoke-BWSEnroll [-BWS] <string> [-Certificate] <X509Certificate> [-BCID] <string> [-Path] <string[]> [-LiveFaceDetection <SwitchParameter>] [-LivePeriocularDetection <SwitchParameter>] [<CommonParameters>] Invoke-BWSEnroll [-BWS] <string> [-Certificate] <X509Certificate> [-BCID] <string> [[-Samples] <Samples[]>] [-LiveFaceDetection <SwitchParameter>] [-LivePeriocularDetection <SwitchParameter>] [<CommonParameters>] DESCRIPTION The enrollment method simultaneously trains all given samples, which can even represent multiple traits, e.g. face and voice samples. The training creates a so called biometric template for each trait specified by the given samples, which can later on be used for verification and identification purposes. Even if there are no samples given for a single trait, it is re-trained in case a template is already associated with the given class for this trait. This allows the re-generation of the templates after the stored data has been modified for any reason, e.g. when already trained sample-data is removed from the storage. This method supports live detection (currently only for the face and periocular trait). To activate live detection, simply use the switch LiveFaceDetection or LivePeriocularDetection. Note that in this case the enrollment will only succeed, when it can undoubtedly determine that the given data is live data. In case that the live detection for the face trait succeeds, the degree of the head rotation between two subsequent images is reported with the returned result. Internally this operation performs a QualityCheck (in BioID ExtractTokenData mode) for all submitted samples before they are forwarded to the live detection - in case a live-detection flag is set - and finally the enrollment is performed. Therefore you might get results from these operations as well together with the enrollment results. PARAMETERS -BWS <string> Specifies the BioID Web Service (BWS) installation where the command shall be executed. You can simply use the hostname like 'bws.bioid.com' or the entire URL, e.g. 'https://bws.bioid.com/BioIDWebService.svc'. If scheme and/or path are not given, the defaults (https, BioIDWebService.svc) are used. Required? true Position? 1 Default value Accept pipeline input? false Accept wildcard characters? false -Certificate <X509Certificate> Specifies the client certificate that is used to authenticate the BWS client. Enter a variable that contains a certificate or a command or expression that gets the certificate. To find a certificate, use Get-PfxCertificate or use the Get-ChildItem cmdlet in the Certificate (Cert:) drive. For example: get-childitem -path Cert:\CurrentUser\My\1234567890ABCDEF1234567890ABCDEF12345678 If the certificate is not valid or does not have sufficient authority, the command fails. Required? true Position? 2 Default value Accept pipeline input? false Accept wildcard characters? false -BCID <string> The Biometric ClassID (BCID) identifies a class within the BWS. A class is an anonymous entity representing all the biometric data associated with a single individual. The BCID is a combination of a string, a partition id and the class id itself. The string specifies the Storage, e.g. the Windows Azure Storage Service to use, whereas the partition and class id is used within this storage to address the class. Required? true Position? 3 Default value Accept pipeline input? false Accept wildcard characters? false -Path <string[]> A list of files containing the samples to be uploaded to BWS and used for the enrollment. Files with the extension .wav are assumed to be voice-samples, all others files are assigned to the face trait. Required? true Position? 4 Default value Accept pipeline input? true (ByValue) Accept wildcard characters? true -Samples <BioID.Cmdlets.BWS.Sample[]> The array of samples that shall be uploaded to the BWS and used for the enrollment. You can use BWS samples instead of files in case you explicitely need to specify the trait of the sample or have to add a tag to the sample. To create a sample array from a file-path you can use a command like: $samples = @([BioID.Cmdlets.BWS.Sample]@{Data=[System.IO.File]::ReadAllBytes(path);Trait="Periocular";Tag="something"}) Required? false Position? 4 Default value Accept pipeline input? false Accept wildcard characters? false -LiveFaceDetection [<SwitchParameter>] Enables live face detection. In this case the operation typically fails, as soon as it cannot undoubtedly determine that the given data is live data. Required? false Position? named Default value No live face detection. Accept pipeline input? false Accept wildcard characters? false -LivePeriocularDetection [<SwitchParameter>] Enables live periocular detection. In this case the operation typically fails, as soon as it cannot undoubtedly determine that the given data is live data. Required? false Position? named Default value No live periocular detection. Accept pipeline input? false Accept wildcard characters? false <CommonParameters> This cmdlet supports the common parameters: Verbose, Debug, ErrorAction, ErrorVariable, WarningAction, WarningVariable, OutBuffer, PipelineVariable, and OutVariable. For more information, see about_CommonParameters (https:/go.microsoft.com/fwlink/?LinkID=113216). INPUTS System.String[] You can pipe sample files to Invoke-BWSEnroll. OUTPUTS BioID.Cmdlets.EnrollJobResult Returns an object containing the results of the enrollment. The object contains information about the performed "Command", a unique "JobID", whether the operation "Succeeded" and a list of operation specific "Errors". It also contains information about the "Samples" that have been received by the operation, including sample specific "Errors" that might have occurred. NOTES Identification Please note that it may take up to 10 seconds until all identifiers are updated with newly enrolled classes! Verifiers do not need to get updated, so a verification of a newly enrolled class can be performed immediately. -------------------------- EXAMPLE 1 -------------------------- $cert = get-childitem -path Cert:\CurrentUser\My\1234567890ABCDEF1234567890ABCDEF12345678 Invoke-BWSEnroll -BWS bws.bioid.com/BioIDWebService.svc -Certificate $cert -BCID bws.123.12345 -Path c:\samples\image1.png, c:\samples\image2.png Performs an enrollment of the class bws.123.12345 using the two images supplied. As the Path allows wildcard characters, the following command uses at least the same sample files as above and additionally performs a live detection: $result = Invoke-BWSEnroll bws.bioid.com $cert bws.123.12345 c:\samples\image*.png -lfd -------------------------- EXAMPLE 2 -------------------------- $cert = gci Cert:\CurrentUser\My\1234567890ABCDEF1234567890ABCDEF12345678 $samples = @( [BioID.Cmdlets.BWS.Sample]@{ Data=[System.IO.File]::ReadAllBytes("c:\samples\image1.png"); Trait="Face"}, [BioID.Cmdlets.BWS.Sample]@{ Data=[System.IO.File]::ReadAllBytes("c:\samples\image2.png"); Trait="Periocular"}, [BioID.Cmdlets.BWS.Sample]@{ Data=[System.IO.File]::ReadAllBytes("c:\samples\audio1.wav"); Trait="Voice"}) Invoke-BWSEnroll bws.bioid.com $cert bws.123.12345 $samples Performs an enrollment of the class bws.123.12345 using the three samples supplied.
RELATED LINKS
BWS Enrollment API
BioID Web Service reference