Color Classifier

Classifies the predominant color of objects in a ROI, or of a ROI in the frame.

Overview

The Color Classifier node classifies the predominant color of objects in a ROI, or of a ROI in the frame. This functionality is useful for applications requiring color-based classification of objects or areas within a video feed.

Inputs & Outputs

  • Inputs: 1, Media Format: Raw Video
  • Outputs: 1, Media Format: Raw Video
  • Output Metadata: nodes.node_id, recognized_objs, recognized_obj_ids, recognized_obj_count, recognized_obj_delta, value_changed_delta, unrecognized_obj_count, unrecognized_obj_delta

Properties

PropertyDescriptionTypeDefaultRequired
roi_labelsRegions of interest labelsstringNo
roisRegions of interest. Conditional on roi_labels. Format: comma-separated normalized x,y coordinate pairs; separate multiple polygons with semicolons (for example, 0.1,0.1,0.9,0.1,0.9,0.9).stringnullNo
processing_modeProcessing mode. Options: ROIs, at an Interval (rois_interval); ROIs, upon a Trigger (rois_trigger); Objects in an ROI (objects).enumrois_intervalYes
triggerQueue ROI for lookup when this condition evaluates to true. Conditional on processing_mode being rois_trigger.trigger-conditionnullNo
objects_to_processex. car,person,car.red. Conditional on processing_mode being objects.model-labelsnullNo
tracking_modeTracking mode. Options: Centroid (centroid); Top center (top-center); Bottom center (bottom-center); Left center (left-center); Right center (right-center). Conditional on processing_mode being objects.enumcentroidNo
min_obj_size_pixelsMin. width and height of an object. Conditional on processing_mode being objects.number64No
obj_lookup_size_change_thresholdObject size ratio change threshold. Conditional on processing_mode being objects. Range: minimum 0.1, maximum 2.0. Step: 0.2.float0.1No
max_lookups_per_objMax. attempts per object. Conditional on processing_mode being objects.number5No
min_confidence_thresholdOnly consider results above this threshold in the color classification. Range: minimum 0, maximum 1.0. Step: 0.05.float0.2Yes
intervalQueue objects or ROIs for lookup at least this many seconds apart. Unit: seconds.number1No
display_roiDisplay ROI on video?booltrueNo
display_objinfoDisplay results on video? Options: Disabled (disabled); Bottom left (bottom_left); Bottom right (bottom_right); Top left (top_left); Top right (top_right).enumbottom_leftNo
debugLog debugging information?boolfalseNo

Metadata

The output metadata includes information about the color classification results, such as color labels and any changes in their recognition status. This allows for a comprehensive understanding of the scene being analyzed.

Color labels output by this node include: 'black', 'blue', 'brown', 'green', 'grey', 'orange', 'pink', 'purple', 'red', 'white', 'yellow'

Output Metadata

The fields below are declared by this node's metadata schema; the JSON values are representative examples.

PathTypeDescription
nodes.<node_id>.rois.<roi_label>.label_changed_deltabooleanWhen the color of an ROI changes
nodes.<node_id>.rois.<roi_label>.label_availablebooleanBoolean indicating whether the node has a current result for this ROI.
nodes.<node_id>.rois.<roi_label>.labelstringCurrent model-generated result for this ROI.
nodes.<node_id>.recognized_obj_countintegerNumber of objects successfully processed in the current frame.
nodes.<node_id>.recognized_obj_deltaintegerWhen one or more new objects have color assigned
nodes.<node_id>.label_changed_obj_deltaintegerWhen the color of one or more objects changes
nodes.<node_id>.unrecognized_obj_countintegerNumber of objects that could not be processed in the current frame.
nodes.<node_id>.unrecognized_obj_deltaintegerWhen one or more objects fail to have color assigned
nodes.<node_id>.recognized_objs[].idintegerTracked object ID.
nodes.<node_id>.recognized_objs[].color_classifier_resultstringColor label assigned to the object.
nodes.<node_id>.recognized_obj_idsarrayArray of tracking IDs of objects successfully processed by the node.
nodes.<node_id>.objects_of_interest_keysarrayArray of metadata keys that contain object IDs relevant to downstream integrations.
nodes.<node_id>.typestringIdentifies the node type that produced this metadata.

JSON example

{
  "nodes": {
    "color_classifier1": {
      "label_changed_obj_delta": 0,
      "objects_of_interest_keys": [],
      "recognized_obj_count": 0,
      "recognized_obj_delta": 0,
      "recognized_obj_ids": [],
      "recognized_objs": [
        {
          "color_classifier_result": "value",
          "id": 0
        }
      ],
      "rois": {
        "roi1": {
          "label": "example",
          "label_available": false,
          "label_changed_delta": false
        }
      },
      "type": "color_classifier",
      "unrecognized_obj_count": 0,
      "unrecognized_obj_delta": 0
    }
  }
}

Additional details

Object labels and attributes

  • Object labels/classes added: In ROI mode, color_classifier_roi is added as an object with class 11900.
  • Object attribute labels/classes added: ROI objects receive the configured ROI label with class 11900; predicted color labels use class 11901 on ROI or upstream objects.

Did this page help you?