Tracking number plate with lprnet

Jetson Xavier
DeepStream 6.0
JetPack 4.6

I am working on a number plate detection system based upon the blog post at and the code at GitHub - NVIDIA-AI-IOT/deepstream_lpr_app: Sample app code for LPR deployment on DeepStream

Ideally, I would like to be able to log individual cars, but I have found that lprnet often fails to read the plate correctly; I have been sing dashcam footage from California but it is sometimes giving a 99% confidence report in a plate value that is wrong.

My thinking is that if I can track an individual plate, I can record all values associated with said plate and determine which string is most likely to be correct. However, I am not sure how (or indeed whether) this can be achieved with lprnet.

The NvDsObjectMeta structure associated with each plate has the parent set to NULL, so I am unable to use the parent to identify the plate. The label_id and result_class_id of the NvDsLabelInfo are consistently 0 and 1 respectively.

The parser doesn’t seem to receive any unique information about the plate.

Is there a way to achieve what I want with lprnet?

Can you share some video or picture to show the issue? Can you share how your run the application?

You can use nvtracker to track the individual license plates. If you insert the tracker in the pipeline between the lpdnet and the lprnet you will ensure that license plates are tracked while the characters on the license plates are not tracked. With that in place you can use the tracker id for license plates to group the detetections and get the best detection (according to some metric you decide to use) for each license plate.

Can you share your pipeline and some design block diagram? So we can understand your design and your issues.

There is no update from you for a period, assuming this is not an issue anymore.
Hence we are closing this topic. If need further support, please open a new one.