v.4.0.0

Improvements:

  1. API service version was updated to 4.0.0. Current API version is 6.

  2. Detector and Extractor service features were merged with the API service features.

  3. Handler pipeline and biometric features estimation monitoring data is now more detailed.

  4. The format of gaze direction was changed. Now gaze direction is a single field without splitting for the left and right eyes. Yaw and pitch angles for the gaze direction are now estimated. See detect faces resource.

  5. New image quality estimation format of LUNA SDK v.3.9.0 is now supported. Following quality parameters were added: dark, light, illumination, specularity and blurriness.

  6. Handlers, Detector, and Extractor were merged into a single Handlers service.

  7. The extracted descriptor is now used for direct matching in handlers. Matcher receives a descriptor reference from the API service instead of receiving an attribute_id from the Faces service.

  8. For matching requests that have events as references, descriptors are now loaded from the Events service.

  9. Users can now create a dynamic handler (POST “/handlers”) without predefined policies. Policies are now specified within each POST request on “/handlers/{handler_id}/events”.

  10. Detector, extractor or estimator functionality can now be disabled on application startup using the command line arguments.

  11. New descriptor and descriptor_version parameters were added to the requests to the Events service.

  12. The “total” field was removed from the response of GET “/events” request.

  13. A new “location” field was added to an event. The field specifies the information about the place where the event occurred. See:

  14. Locations in the event filters for clustering and cross-match tasks are now supported. Location columns in the reporter task reports were added.

  15. Getting the best detection from the image detections is now supported:

    • the multiface_policy query parameter was added to the POST “/detector” method. See detect faces resource;

    • the multiface_policy parameters were moved from handler Policies to handler DetectPolicy. See create handler resource;

    • the multi_face_policy parameter was added to the folder_uploader script.

  16. Generation of sample and attribute URLs was changed. The following relative URLs are now returned:

    • sample URLs in responses for the requests to POST “/detector”;

    • attribute URLs in responses for the requests to POST “/extractor”.

  17. OpenAPI documentation can now be obtained with GET “/docs/spec” (yaml or html). See openapi docs resource.

  18. Development Manual can now be obtained with GET “/docs/dev”. See sphinx docs resource.

  19. Logging settings were updated. LOG_TO_STDOUT, LOG_TO_FILE, and MULTILINE_STACK_TRACE parameters were added. See the description in the configuration file.

  20. A new --ignore-integrity option for the “lis_bucket_create.py” script was added. If the bucket already exists, script exits with status code 0.

  21. The validation schemas section was added to Sphinx documentation of the API handlers.

  22. A new “/sdk” resource was added to detect faces, human bodies, and estimate attributes on input images. See sdk resource.

  23. New limit, targets and threshold parameters were added to handler’s matching_policy. See handlers resource.

  24. New services’ versions were added to the “/version” resource. See version resource.

  25. The extract_result of the outcoming event(-s) was replaced with detections. The extract_result of the match target was replaced with face_detections.

  26. Events’ top match result is now returned as a separated top_match object, which consists of:

    • face_id or event_id, a top matching candidate. Replaces top_similar_face_id;

    • label, a matching label. Replaces top_similar_face_list;

    • similarity, a top matching similarity. Replaces top_similar_face_similarity.

  27. The following top_match object related targets and filters were changed:

    • the top_similar_face_id, top_similar_face_list, top_similar_face_similarity targets were replaced with the top_match target;

    • the top_similar_face_id and top_similar_face_similarity filters were replaced with top_similar_object_id and top_similar_object_similarity filters respectively;

  28. Matching API was updated. Now user can specify raw descriptors as references and set different filters for matching by events or faces. See matching resource.

  29. Matching service was changed to Python Matcher service.

  30. The attribute entity is temporary now. Now each attribute has an expiration time and will be deleted after this time. The attribute’s time to live (ttl) is 300 seconds by default and can be changed up to 86400 seconds (or 1 day). See configuration to change bounds.

    The attribute and face entities are not linked anymore. The face entity has its own descriptors and basic attributes. Now users can create a face with a copy of existing temporary attribute or pass descriptors and basic attributes within face creation request. A face attribute is mutable.

  31. API “/detector” resource was updated. See detector resource.

  32. Samples are now available with the previous version of the API service. See samples resource.

  33. Liveness prediction result schema was updated. See liveness resource.

  34. The handler_id, face_id, event_id and other identificators can be of any UUID standard now (previously were UUID4 only).

  35. The “/matcher/raw” resource was added. See raw matching resource.

  36. The external_id filter for faces and faces count request was replaced with external_ids filter. See faces count and faces resources.

  37. Face filters for linker, cross-matching and clustering tasks were updated. See clustering task, linker task, cross-match task resources.

  38. A new “mask” field was added to an event. The field corresponds to a predominant mask which was estimated on event face detections. See get event, get events, get event stats resources.

  39. A “mask” event field is now supported as a matching filter and a target for returning events. See matching resource.

  40. The “estimate_mask” field was added to the detector resource, the detect_policy and filters for matching policies (see detect resource)

  41. Medical mask filter for linker and clustering tasks is now supported. (See clustering task and linker task resources).

  42. Human body detection and human body descriptor extraction options were added to handler image processing policies, see createHandler resource. The warped_image query parameter was replaced by image_type parameter, which may take the following values: 0 — raw image, 1 — face warped image, 2 — body warped image.

    The receiveEvents response format was updated:

    • face attributes were put into the “face_attributes” field;

    • body attributes were put into the “body_attributes” field;

    • face and body detection results were put into the “detections” field.

  43. Default behavior for images processing specified by sample IDs was changed (see POST “/detector”, “/sdk”, “/handler/{handler_id}/events” with application/json content type ). Now the type of samples is determined by image_type or warped_image parameter. The detector stage of image processing pipeline is now triggered for non-warped images and is skipped for warps.

  44. A new body_bounding_boxes parameter was added to “/emit events” request see.

  45. The application/x-sdk-descriptor, application/x-vl-xpk (and base64 ones) raw descriptor content types in POST “/handler/{handler_id}/events” request are now supported.

  46. Accounting support for samples was added.

Bugs fixed:

  1. Limit query parameter validation range on POST “/matcher” >: [0, 100] -> [1, 100] was fixed. Validation schema of input JSON on POST “/matcher” was fixed: additional properties for reference field are now forbidden.

  2. Invalid Content-Type header in response to HEAD method for resources was fixed: “/faces/{face_id}”, “/lists/{list_id}”, “/handlers/{handler_id}”, “/events/{event_id}”. Now “application/json” is returned.

How to update from previous version:

To update from previous version simply replace all folders with files and update dependencies from requirements.txt.