License Plate Parser Edge

Extracts and post-processes license plates recognized using the License Plate Recognition - Edge AI Model

Overview

This node parses the output of "License Plate Recognition" model to extract the license plate information.

This node requires AI Model Node (Vehicle Detection model) -> Model Inference Node (License Plate model) -> Track Objects Node -> Model Inference Node (License Plate Recognition) prior to it in order to function properly.

Inputs & Outputs

  • Inputs : 1, Media Format : Raw Video
  • Outputs : 1, Media Format: Raw Video
  • Output Metadata: license-plate counts and entered/exited deltas under nodes.<node_id>, plus parsed object attributes.

Properties

PropertyDescriptionTypeDefaultRequired
display_infoDisplay LPR?booltrueNo
objects_to_associateex. car, vehicle, truck. If specified, detected license plates within these object types will be associated with that object.model-labelscar,vehicle,truckNo
watchlistComma separated list of license plates to watch for.stringnullNo
trackables_lists_idsWatchlist IDs that contain vehicle license plates to watch for. Format: comma-separated trackable list UUIDs.stringnullNo
trackables_items_idsWatchlist items IDs from the previously selected watchlists. Leave blank to watch for all items. Format: comma-separated trackable item UUIDs.stringnullNo
watchlist_toleranceAllow license plates to differ by this number of characters for matches. Unit: characters.number0No
watchlist_fuzzy_matchIf enabled, matches only allow visually similar differing characters (e.g. 0 vs O, 1 vs I). The number of differences must still be within the tolerance limit.boolfalseNo
min_license_plate_lengthIgnore recognized license plates shorter than this length and remove those short license plate attributes from object metadata. Unit: characters.number0No
detection_bufferTime that the license plate must be present before reporting results in metadata. Unit: seconds.float0.1Yes
rejection_bufferTime during which objects that leave and re-enter the scene will be ignored. Increase to reduce duplicate alerts for a given object. Unit: seconds.float5.0Yes

Output Metadata

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

PathTypeDescription
nodes.<node_id>.license_plates_entered_deltaintegerNumber of new license plates detected since last frame
nodes.<node_id>.license_plates_exited_deltaintegerNumber of license plates that left since last frame
nodes.<node_id>.watchlist_match_deltaintegerNumber of new license plates that matched the watchlist since last frame
nodes.<node_id>.license_plates_countintegerTotal number of license plates in the view right now
nodes.<node_id>.license_plates.<object_id>.plate.typestringRecognition result category for the plate.
nodes.<node_id>.license_plates.<object_id>.plate.scorenumberOverall plate-recognition confidence.
nodes.<node_id>.license_plates.<object_id>.plate.props.plate[].valuestringRecognized plate text.
nodes.<node_id>.license_plates.<object_id>.plate.props.plate[].scorenumberConfidence of this plate-text candidate.
nodes.<node_id>.license_plates.<object_id>.plate.props.plate[].watchlist_matchstringString containing the matched watchlist plate, or null when unmatched.
nodes.<node_id>.license_plates.<object_id>.plate.props.region[].valuestringRecognized plate region.
nodes.<node_id>.license_plates.<object_id>.plate.props.region[].scorenumberConfidence of this region candidate.
nodes.<node_id>.license_plates.<object_id>.trackables[].trackable_list_idstringIdentifier of the matched trackable list.
nodes.<node_id>.license_plates.<object_id>.trackables[].trackable_idstringIdentifier of the matched trackable item.
nodes.<node_id>.license_plates.<object_id>.trackables[].trackable_namestringName of the matched trackable item.
nodes.<node_id>.license_plates.<object_id>.trackables[].trackable_labelsarrayArray of labels stored on the matched trackable item.
nodes.<node_id>.license_plates.<object_id>.trackables[].matched_platestringPlate text that produced the trackable match.
nodes.<node_id>.search_textstringText prepared by the node for downstream search or indexing.
nodes.<node_id>.eventstringCurrent event name, or null when no event is active.
nodes.<node_id>.typestringIdentifies the node type that produced this metadata.

JSON example

{
  "nodes": {
    "annotate_lpr_edge1": {
      "event": "value",
      "license_plates": {
        "object_id": {
          "plate": {
            "props": {
              "plate": [
                {
                  "score": 0.0,
                  "value": "value",
                  "watchlist_match": "value"
                }
              ],
              "region": [
                {
                  "score": 0.0,
                  "value": "value"
                }
              ]
            },
            "score": 0.0,
            "type": "value"
          },
          "trackables": [
            {
              "matched_plate": "value",
              "trackable_id": "value",
              "trackable_labels": [],
              "trackable_list_id": "value",
              "trackable_name": "value"
            }
          ]
        }
      },
      "license_plates_count": 0,
      "license_plates_entered_delta": 0,
      "license_plates_exited_delta": 0,
      "search_text": "value",
      "type": "annotate_lpr_edge",
      "watchlist_match_delta": 0
    }
  }
}

Object labels and attributes

  • Object labels/classes added: None.
  • Object attribute labels/classes added: Recognized plate text (10400), watchlist for a match (10401), trackable-list UUID (10402), and trackable-item UUID (10403).

The following information is added to the detected object's "attributes" array:

"class_id" field"label" field"probability" field
10400The recognized license plate (string)LP recognition confidence
10401watchlist when the plate matches1.0
10402Trackable-list UUID1.0
10403Trackable-item UUID1.0
"objects": [{
    "id": 5750484150146564100,
    "label": "car",
    "class_id": 0,
    "probability": 0.98,
    "rect": {
        "width": 47,
        "top": 201,
        "left": 656,
        "height": 25.
    },
    "attributes": [{
        "label": "ABC1234",
        "class_id": 10400,
        "probability": 1.0,
    }]
}]

Did this page help you?