ReIdentify Objects

Reidentify objects by comparing signatures generated by a ReId model. Overwrites object tracking ids when match found.

Overview

The ReIdentify Objects node allows for reidentifying objects by comparing signatures generated by a ReId model. This functionality is useful for applications requiring accurate object tracking across different frames or scenes.

Properties

PropertyDescriptionTypeDefaultRequired
objects_to_reidObject types to process. Leave blank to process all. ex. car, person, car.redmodel-labelnullNo
object_src_nodeIf specified, only process objects generated by the specified source node. Placeholder: ex. model_inference1nodenullNo
reid_model_nodeNode that contains the reidentification model.nodenullYes
reid_comparison_methodReId comparison method. Options: Cosine, Adaptive Angular Margin LossenumcosineNo
reid_thresholdOnly consider objects with similarity below this threshold as a ReId match. Min: 0, Max: 1.0, Step: 0.05slider0.5Yes
match_attributesMatch object attributes in addition to signatures.boolfalseNo
min_attributes_to_matchMinimum number of attributes that must match to consider two objects as the same. Conditional on: match_attributesnumber0No
attribute_weightWeight factor for attribute matches when computing match score. Conditional on: match_attributesfloat1.0No
max_object_lifespanMax. object lifespan in seconds.float300No
debugIf enabled, debug information will be displayed on objects.boolfalseNo

Metadata

This node will update Object id for existing objects in the objects metadata when it finds a match with previously seen objects.
It will also add a reid_match_info property to existing objects that it processes with reid info.

Metadata PropertyDescription
objectsList of Objects detected by the Model inference nodes. See table below for the format of this property.
{
    "objects": [{
        "id": 5750484150146564100,
        "label": "car",
        "class_id": 0,
        "probability": 0.70000000149011612,
        "rect": {
            "width": 47,
            "top": 201,
            "left": 656,
            "height": 25
        },
        "attributes": [{
            "label": "white",
            "probability": 0.9437278509140015,
            "class_id": 10
        }],
        "reid_match_info": {
            "type": "quick_match",
            "score": 0.8380154371261597,
            "orig_id": 1218897777140957201
        }
    }]
}

Object Properties

KeyTypeDescription
idLong IntA unique ID assigned to this object by a Track Objects Node, and replaced by this node
labelStringLabel for this object as outlined in Model Labels
class_idIntUnique id for this object's label.
probabilityFloatProbability of detection
rectDictionaryBounding box for this object. Contains: left, top, width, height
attributesDictionaryObject's classes, as identified by Classifier models chained to this Object Detection model. Contains: label : Class label, probability : Probability, class_id : Unique id for the class' label
reid_match_infoDictionaryRe-ID match information
reid_match_info.typeEnumOptions : in_db (object with this id was found in db), matched (Re-id signature matched with db entry), quick_match (ID matched with a previous object that was signature matched)
reid_match_info.orig_idLong IntOriginal ID that was replaced for matched and quick_match objects
reid_match_info.scoreFloatMatch score for matched objects