License Plate MMC Platerecognizer

High accuracy license plate + make/model/color recognition using your own Platerecognizer Snapshot API key. 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

PropertyValue
pr_api_keyYour Platerecognizer Snapshot API key from https://platerecognizer.com/snapshot/
geographiesGeographies that the license plates may belong to. Use this to optimize license plate recognition.

ex. us, us_ca
objects_to_trackObjects on which to perform License plate recognition. Unset means all.

ex. car, vehicle, truck

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)
display_infoDisplay License plate (+ MMC) information on the video stream itself.

ex. true / false
recognition_modeRecognition mode

"LPR & Make/Model/Color" (lpr_mmc) => Requires a Model Inference Node for Vehicle Detection and another one for License Plate Detection. We will only perform recognition once we find a valid association between a Vehicle and a License Plate.

"LPR Only" (lpr_only) => Requires a Model Inference Node for License Plate Detection. Will perform recognition attempts using the detected License Plate image crop.

"Make/Model/Color Only" (mmc_only) => Requires a Model Inference Node for Vehicle Detection Performs recognition attempts using the detected Vehicle image crop.
requests_bufferThe interval (in seconds) before perform the initial LPR request and between subsequent retries

ex. 1.0

Metadata

Metadata PropertyDescription
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

KeyTypeDescription
license_plates_entered_deltaIntegerNumber of new license plates detected since last frame
license_plates_exited_deltaIntegerNumber of license plates that left since last frame
license_plates_countIntegerTotal number of license plates in the view right now
license_platesList of object IDsInformation 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 thejson` 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
10300The recognized license plate (string)LP recognition confidence
10301Vehicle's makeLP recognition confidence
10302Vehicle's modelLP recognition confidence
10303Vehicle's colorLP 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,
    }]
}]