Object Reclassification Filter

The per-object counter filter calculates the amount of classified pixels in the input data of an object that belong to each defined group.

Category

category_object_processing Object Processing

Node

objectreclassification_node

Parameters

Applicable (group-specific): whether this filter should consider the given group

Threshold (group-specific): only relevant if the input are counts: this provides a minimum number the counts (or ratios) must exceed to be considered

Inputs

Objects: a list of objects as generated from an object detection filter

Classification/Counts: the per-object classification result or per-object/per-group counts/ratios

Outputs

Objects: the updated list of objects with the new class set for each object

Effect of the Filter

The filter can be used in two modes:

  • A classification filter can be used on per-object data (such as per-object averages), and the result of that classification may be used to update the UniqueClass column of the object list with that specific classification result.

    _images/objectreclassification_example_classification.png

    If the classification result input indicates that a specific object couldn’t be classified, or the group it was classified as is not applicable to this filter, the UniqueClass column of the object list will not be updated and will retain its original value. (If no such column existed in the input object list, the column will be added with a value of -1 to indicate the object is unclassified.)

  • A Per-object Counter Filter can be used to count the number of pixels within an object corresponding to each class, and this filter can then update the UniqueClass column of the object list with the group that has the most counts for each object.

    _images/objectreclassification_example_counts.png

    Only the groups that are applicable to this filter will be checked; other groups will be ignored, even if they have higher counts and/or ratios. Additionally, if a per-group threshold is defined and a group doesn’t meet that threshold, it will be ignored for that object, even if its value is larger than that of other groups that do meet the threshold. If no applicable group meets the threshold the UniqueClass column of the object list will not be updated and will retain its original value. (If no such column existed in the input object list, the column will be added with a value of -1 to indicate the object is unclassified.)

Illustration with Artificial Data

Take the following input data for the object detector:

_images/perobject_illustration.svg

The detector would generate the following list of objects:

_images/perobject_input_list.png

If the per-object counting filter returns the following counts for the list of objects:

_images/perobjectcounter_output1.png

If both groups G1 and G2 are applicable and the thresholds for both are set to zero, the object reclassification filter will output the following object list:

_images/objectreclassification_output1.png

If one defines a threshold of 6 for the group G2, then the output of the object reclassification filter would look like:

_images/objectreclassification_output2.png

If used in the classification mode, the classification input of the filter could look like:

_images/objectreclassification_input_classification.png

In that case the resulting object list would be:

_images/objectreclassification_output3.png