License Plate MMC Platerecognizer
Overview
This node uses Platerecognizer's Snapshot API to read license plates from vehicles that are detected using the Vehicle & License Plate models.
This node requires AI Model Node (Vehicle Detection model) -> Model Inference Node (License Plate model) -> Track Objects Node prior to it in order to function properly using the "LPR & Make/Model/Color" recognition mode.
Inputs & Outputs
- Inputs : 1, Media Format : Raw Video
- Outputs : 1, Media Format: Raw Video
- Output Metadata : None
Properties
| Property | Description | Type | Default | Required |
|---|---|---|---|---|
pr_mode | Platerecognizer API type. Options: snapshot_cloud (API hosted by Platerecognizer), snapshot_onprem (API hosted by you using Platerecognizer docker SDK) | enum | snapshot_cloud | No |
pr_api_key | Platerecognizer snapshot API Token from https://platerecognizer.com/snapshot/. Conditional on pr_mode being snapshot_cloud | string | null | Yes |
pr_host | Platerecognizer On-premise host URL. Conditional on pr_mode being snapshot_onprem | string | http://localhost:8080 | Yes |
geographies | Geographies to consider for license plate recognition. Leave blank to consider all. | string | us | No |
objects_to_track | Objects to perform LPR. Example: car, vehicle, truck. Unset means all.Accepted formats: object_label: any object of this type, with or without a classifier attribute. Example: carobject_label.class_type: any object of this type that has a specific classifier attribute. Example: car.redobject_label.*: any object of this type that has at least one classifier attribute. Example: car.* (this will match car.red, car.yellow, etc) | model-label | car,vehicle,truck | No |
display_info | Display LPR info on video? | bool | true | No |
recognition_mode | Recognition mode. Options:lpr_mmc (LPR & Make/Model/Color). perform recognition once we find a valid association between a Vehicle and a License Plate.lpr_only (LPR Only). Will perform recognition attempts using the detected License Plate image crop.mmc_only (Make/Model/Color Only). Performs recognition attempts using the detected Vehicle image crop. | enum | lpr_mmc | No |
requests_buffer | License plate recognition buffer time in seconds. The interval (in seconds) before perform the initial LPR request and between subsequent retries. | float | 1.0 | Yes |
presence_buffer | Duplicate rejection buffer time in seconds | float | 5.0 | Yes |
min_dims | Min object size for lookup attempt in pixels | number | 20 | No |
max_attempts | Max object lookup attempts | number | 5 | No |
Metadata
| Metadata Property | Description |
|---|---|
nodes.<node_id> | License plate information as described in the JSON below. <node_id> for License Plate Detection Nodes is of the form annotate_lprX (ex. annotate_lpr1) |
"nodes":{
"annotate_lpr*":{
"type":"annotate_lpr",
"license_plates_entered_delta":"<int>",
"license_plates_exited_delta":"<int>",
"license_plates_count":"<int>",
"license_plates":{
"<object_tracking_id>": {
"plate":{
"type":"Plate",
"score":<float>,
"props":{
"plate":[
{
"value":"<license_plate_number>",
"score":<float>
}
],
"region":[
{
"value":"<region>",
"score":<float>
}
]
}
},
"vehicle":{
"type":"<vehicle_type>",
"score":<float>,
"props":{
"make_model":[
{
"make":"<make>",
"model":"<model>",
"score":<float>
}
],
"orientation":[
{
"value":"<orientation>",
"score":<float>
}
],
"color":[
{
"value":"<color>",
"score":<float>
}
]
}
}
}
}
}
}Format
| Key | Type | Description |
|---|---|---|
license_plates_entered_delta | Integer | Number of new license plates detected since last frame |
license_plates_exited_delta | Integer | Number of license plates that left since last frame |
license_plates_count | Integer | Total number of license plates in the view right now |
license_plates | List of object IDs | Information about the license plate, make, model & color of each vehicle. object_tracking_id : Unique identifier for a specific object, as specified by object.id property (see Model Inference Node ) The "plate" and "recognition" fields contents may not be present depending on the current recognition results.Please check the json example for more details. |
Objects metadata augmentation
The following information is added to the detected object's "attributes" array:
| "class_id" field | "label" field | "probability" field |
|---|---|---|
| 10300 | The recognized license plate (string) | LP recognition confidence |
| 10301 | Vehicle's make | LP recognition confidence |
| 10302 | Vehicle's model | LP recognition confidence |
| 10303 | Vehicle's color | LP recognition confidence |
"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": 10300,
"probability": 1.0,
},
{
"label": "Tesla",
"class_id": 10301,
"probability": 1.0,
},
{
"label": "Model S",
"class_id": 10302,
"probability": 1.0,
},
{
"label": "Red",
"class_id": 10303,
"probability": 1.0,
}]
}]Updated 8 months ago
