License Plate and MMC Recognition (Cloud)

Recognize license plate numbers and make/model/color using Lumeo's cloud service for the license plates detected using the License Plate 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.

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
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,
    }]
}]