BWS 3 Face Image Quality API is in preview!
Performs face image quality measurements by calling into the
Open Source Face Image Quality (OFIQ) library.
With this library we currently perform these 28 quality measures.
Please note that this library is subject of the OFIQ License
The FaceImageQuality API is defined as a unary RPC:
rpc FaceImageQuality (FaceImageQualityRequest) returns (FaceImageQualityResponse);
message FaceImageQualityRequest {
bytes image = 1;
}
message FaceImageQualityResponse {
JobStatus status = 1;
repeated JobError errors = 2;
repeated QualityMeasurement quality_measurements = 3;
}
message QualityMeasurement {
QualityMeasure measure = 1;
double raw_value = 2;
int32 scalar_score = 3;
}
enum QualityMeasure {
// ... see faceimagequality.proto
}
The FaceImageQualityRequest message has a single field:
image
The maximum API request size is 50 MB.
This API requires a valid JWT in the Authorization request header and accepts an optional reference number.
| Authorization | Required Bearer authentication. Please refer to BWS API Authentication for a description of how to provide a valid JWT here. |
| Reference-Number | Optional, client specific reference number, which will be added to the BWS bookkeeping as well as to the response header. You typically use this reference to link the resulting BWS bookkeeping entries with your logs. |
On success the API returns a FaceImageQualityResponse message with the fields as follows:
statuserrors may have occurred, even if the job was completed successfully.
errorsquality_measurementsQualityMeasure enum, see protobuf.
[0, 100] computed from the raw score. Higher values mean better quality.
A score of 100 indicates optimal quality, while 0 indicates a severe defect.
In case none or not all of the quality measurements have benn calculated, this API might report one of the following OFIQ return codes in the errors field:
Beside of the success return status code OK (0), this call might also return one of the following gRPC error status codes to indicate an error:
All successful BWS gRPC calls return a response header and a response trailer containing additional information about the request:
| Response Header | |
| jobid | The Job-ID (a GUID) that has been assigned to this BWS call. |
| bws-version | The version of the BWS gRPC service. |
| reference-number | An optional reference number as provided in the request header. |
| date | The timestamp when the request has been received at the server. |
| ... | Other headers that might have been added by the server (NGINX, Kestrel, ...) that was handling the request. |
| Response Trailer | |
| response-time-ms | The timespan im milliseconds the request spent at the BWS service. |
| ... | Other trailers, like exception trailers, which are added by the gRPC framework in case an RPC exception occurred. |