DeepStack LPR Custom Model

How is the License-Plate model performing fo you?


  • Total voters
    13
Since my camera is to far away and it has DayPlate,NightPlate it randomly records. I need to change it to car,Truck in the (To confirm) and in (Mark as vehicle).
 
Have people been contributing and labeling images for training? Perhaps more importantly, if I made that effort, could/would someone re-train the model with my labeled images?

For labeling images for training, are the DeepStack instructions on using labelimg still the best way to go about labeling images?

I have two cameras capturing cars coming & going. One is more level with oncoming vehicles and the current v1.2 license-plate.pt model does a great job from that camera. The second camera is mounted slightly higher and closer to the vehicles and almost never recognizes the plates. Below I'll show an example in the AI analysis tab, and then a zoomed in image of the plate. I have been assuming the issue is related to the higher angle of the images, and I'm hopeful that if I trained enough images, it might improve the model for others as well.

The camera is a IPC-T5442T-ZE, and as you can see in the analysis window the resolution is 2688x1520 and the plates are generally 100px or more in width when the vehicle is at the distance shown in the image below.

license-plate-missed-analysis.png
license-plate-missed-example.png
 
I have labeled 120 images to be either DayPlate or NightPlate, most all of which are from the IPC-T5442T-ZE camera with the sample image above, most of which are from California license plates. I specifically chose images that all failed to be recognized by the current license_plate model. I have included multiple shots from the sequence as the vehicle moves forward, changing the angle and ultimately becoming smaller as the vehicle moves away. All are recognized by PlateRecognizer, but obviously BlueIris didn't send them since the license_plate model didn't first recognize them.

I used the labelImg program and now have a directory with each image, the corresponding txt file, and the classes.txt file that includes only NightPlate and DayPlate (in that order). The folder size is 94MB.

@MikeLud1 I would like to provide this work to you for use in any subsequent update of the license_plate model that you created. I know you're busy on the Sense.AI project, and I know you don't want crap work to be submitted. With only 120 images, I suspect you could quickly click through all these images with labelimg in just a few minutes to confirm these are acceptable for inclusion in any future training you do. I am NOT expecting any immediate re-training. I'd just like to get this in your collection for whenever you feel like re-training the model you already created so everyone can benefit. I can put this on an SFTP server for you, or make it accessible through a simple HTTP download of a zip or tar file. Just let me know your preference, if you're willing.

For what it's worth, I suspect the root cause of why the current model fails to identify most plates (succeeding less than 5% of the time) is because of the extreme top-down angle/perspective. Clicking to draw the rectangles for training made that obvious to me, because some of the rectangles were either square or taller vertically which is not what someone would normally expect from a license plate that is generally horizontal. I'm attaching to this post two crops of the trained images (one NightPlate, one DayPlate) to show what I mean.
night-plate-training-vertical-rectangle.pngday-plate-training-vertical-rectangle.png
 
I have labeled 120 images to be either DayPlate or NightPlate, most all of which are from the IPC-T5442T-ZE camera with the sample image above, most of which are from California license plates. I specifically chose images that all failed to be recognized by the current license_plate model. I have included multiple shots from the sequence as the vehicle moves forward, changing the angle and ultimately becoming smaller as the vehicle moves away. All are recognized by PlateRecognizer, but obviously BlueIris didn't send them since the license_plate model didn't first recognize them.

I used the labelImg program and now have a directory with each image, the corresponding txt file, and the classes.txt file that includes only NightPlate and DayPlate (in that order). The folder size is 94MB.

@MikeLud1 I would like to provide this work to you for use in any subsequent update of the license_plate model that you created. I know you're busy on the Sense.AI project, and I know you don't want crap work to be submitted. With only 120 images, I suspect you could quickly click through all these images with labelimg in just a few minutes to confirm these are acceptable for inclusion in any future training you do. I am NOT expecting any immediate re-training. I'd just like to get this in your collection for whenever you feel like re-training the model you already created so everyone can benefit. I can put this on an SFTP server for you, or make it accessible through a simple HTTP download of a zip or tar file. Just let me know your preference, if you're willing.

For what it's worth, I suspect the root cause of why the current model fails to identify most plates (succeeding less than 5% of the time) is because of the extreme top-down angle/perspective. Clicking to draw the rectangles for training made that obvious to me, because some of the rectangles were either square or taller vertically which is not what someone would normally expect from a license plate that is generally horizontal. I'm attaching to this post two crops of the trained images (one NightPlate, one DayPlate) to show what I mean.
View attachment 136686View attachment 136688
Zip all the files and post them and I will add them the next time I train the model. The new model will just have plate
 
Mike, can you provide a quick summary of how DeepStack improves plate recognition, as opposed to only using Plate Recognizer or ALPR? Does the DeepStack mark the plates in the BI log as Plate Recognizer does?
 
  • Love
Reactions: tech101
Mike, can you provide a quick summary of how DeepStack improves plate recognition, as opposed to only using Plate Recognizer or ALPR? Does the DeepStack mark the plates in the BI log as Plate Recognizer does?


I think @DLONG2 now Mike has been working on Project AI as moving forward Ken with Blueiris is recommending to go with Project AI instead of DS.

here is the link to Project AI Post / Current page..

 
Mike, can you provide a quick summary of how DeepStack improves plate recognition, as opposed to only using Plate Recognizer or ALPR? Does the DeepStack mark the plates in the BI log as Plate Recognizer does?
Below is a post going over DeepStackALPR flow.
Plate Recognizer or ALPR does have better OCR then DeepStackALPR. I am going to look at improving the OCR but might be several months out.
The plates does get logged in BI as Plate Recognizer does


1662941528709.png