License Plate MMC Platerecognizer
High accuracy license plate + make/model/color recognition using your own Platerecognizer Snapshot API key or on-prem instance. Operates on plates previously detected using the License Plate Detection model.
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: car object_label.class_type : any object of this type that has a specific classifier attribute. Example: car.red object_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 about 2 months ago