License Plate MMC Cloud

High accuracy license plate + make/model/color recognition using Lumeo cloud service. Operates on plates previously detected using the License Plate Detection model.

Overview

This node uses a cloud based service 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
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. \n \nobject_tracking_id : Unique identifier for a specific object, as specified by object.id property (see Model Inference Node ) \n \nThe \"plate\" and "recognition"fields contents may not be present depending on the current recognition results.\n\nPlease 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
10500The recognized license plate (string)LP recognition confidence
10501Vehicle's makeLP recognition confidence
10502Vehicle's modelLP recognition confidence
10503Vehicle'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": 10500,
        "probability": 1.0,
    },
    {
        "label": "Tesla",
        "class_id": 10501,
        "probability": 1.0,
    },
    {
        "label": "Model S",
        "class_id": 10502,
        "probability": 1.0,
    },
    {
        "label": "Red",
        "class_id": 10503,
        "probability": 1.0,
    }]
}]