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
| Property | Description | Type | Default | Required |
|---|---|---|---|---|
display_info | Display LPR? | bool | true | No |
objects_to_associate | ex. car, vehicle, truck. If specified, detected license plates within these object types will be associated with that object. | model-labels | car,vehicle,truck | No |
watchlist | Comma separated list of license plates to watch for. | string | null | No |
trackables_lists_ids | Watchlist IDs that contain vehicle license plates to watch for. Format: comma-separated trackable list UUIDs. | string | null | No |
trackables_items_ids | Watchlist items IDs from the previously selected watchlists. Leave blank to watch for all items. Format: comma-separated trackable item UUIDs. | string | null | No |
watchlist_tolerance | Allow license plates to differ by this number of characters for matches. Unit: characters. | number | 0 | No |
watchlist_fuzzy_match | If 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. | bool | false | No |
min_license_plate_length | Ignore recognized license plates shorter than this length and remove those short license plate attributes from object metadata. Unit: characters. | number | 0 | No |
detection_buffer | Time that the license plate must be present before reporting results in metadata. Unit: seconds. | float | 0.1 | Yes |
rejection_buffer | Time during which objects that leave and re-enter the scene will be ignored. Increase to reduce duplicate alerts for a given object. Unit: seconds. | float | 5.0 | Yes |
Output Metadata
The fields below are declared by this node's metadata schema; the JSON values are representative examples.
| Path | Type | Description |
|---|---|---|
nodes.<node_id>.license_plates_entered_delta | integer | Number of new license plates detected since last frame |
nodes.<node_id>.license_plates_exited_delta | integer | Number of license plates that left since last frame |
nodes.<node_id>.watchlist_match_delta | integer | Number of new license plates that matched the watchlist since last frame |
nodes.<node_id>.license_plates_count | integer | Total number of license plates in the view right now |
nodes.<node_id>.license_plates.<object_id>.plate.type | string | Recognition result category for the plate. |
nodes.<node_id>.license_plates.<object_id>.plate.score | number | Overall plate-recognition confidence. |
nodes.<node_id>.license_plates.<object_id>.plate.props.plate[].value | string | Recognized plate text. |
nodes.<node_id>.license_plates.<object_id>.plate.props.plate[].score | number | Confidence of this plate-text candidate. |
nodes.<node_id>.license_plates.<object_id>.plate.props.plate[].watchlist_match | string | String containing the matched watchlist plate, or null when unmatched. |
nodes.<node_id>.license_plates.<object_id>.plate.props.region[].value | string | Recognized plate region. |
nodes.<node_id>.license_plates.<object_id>.plate.props.region[].score | number | Confidence of this region candidate. |
nodes.<node_id>.license_plates.<object_id>.trackables[].trackable_list_id | string | Identifier of the matched trackable list. |
nodes.<node_id>.license_plates.<object_id>.trackables[].trackable_id | string | Identifier of the matched trackable item. |
nodes.<node_id>.license_plates.<object_id>.trackables[].trackable_name | string | Name of the matched trackable item. |
nodes.<node_id>.license_plates.<object_id>.trackables[].trackable_labels | array | Array of labels stored on the matched trackable item. |
nodes.<node_id>.license_plates.<object_id>.trackables[].matched_plate | string | Plate text that produced the trackable match. |
nodes.<node_id>.search_text | string | Text prepared by the node for downstream search or indexing. |
nodes.<node_id>.event | string | Current event name, or null when no event is active. |
nodes.<node_id>.type | string | Identifies 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),watchlistfor 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 |
|---|---|---|
| 10400 | The recognized license plate (string) | LP recognition confidence |
| 10401 | watchlist when the plate matches | 1.0 |
| 10402 | Trackable-list UUID | 1.0 |
| 10403 | Trackable-item UUID | 1.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,
}]
}]Updated 18 days ago
Did this page help you?
