Cross Match task

Cross-matching is comparing two sets of objects based on their descriptors.

To make cross-matching task it needs attribute_ids. If you need to use face attributes for the cross-matching task, set the descriptor type to “face” and use faces from the Luna Faces or events from the Luna Events. If you need to use bodies for the cross-matching task, set the descriptor type to “body” and get the attributes using events from Luna Events. In both cases, only objects with descriptors will be processed. One can optionally specify the match threshold. Also, it needs account_id for task creation.

During the task execution task-worker service creates temporary files with task results in the file system. This is a tradeoff to reduce memory footprint of the service. Although this files are cleaned up during normal operation, make sure that you have enough space for this files. Files are created in OS-specific location (usually its /tmp). This could be overriden with TMPDIR env variable.

Cross Match process

Cross Match is done in several steps:

  • collect objects having attribute ids using provided filters

  • match every reference object with every candidate object

  • match results are sort (lexicographically) and cropped (limit and threshold are applied)

For detail see cross match task