feat(server): refresh face detection #12335
Draft
+250
−146
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR allows re-running face detection without clearing face data. This can be done on one or more assets with the "Refresh faces" option, or for all assets in the job panel with a new Refresh button.
It compares existing and new bounding boxes for an asset with the IoU metric. If a new bounding box is above the IoU threshold, it's considered a duplicate of an existing face and skipped. If an existing face doesn't appear in the new set of bounding boxes, it's removed.
To make the three options of Reset / Refresh / Missing work with the current API, a distinction is made between
force
beingundefined
andfalse
. The former maps to Refresh, and the latter maps to Missing.Testing: