I took a break from my DeepStack Custom Model project and started work on a DeepStackALPR solution.
I made a lot of progress on the DeepStackALPR. The solution is API that crops and rotates (if needed) the license plate. Then the API reads all of the characters in the plate and logs the license plate details. Also the API will save the DeepStack results in JSON format and YOLO format. This data can be used to improve DeepStack Custom Model that does the OCR.
The model that does the OCR needs some work I would say it is about 85% accurate. The way the API is written it will save a small text file that can be used to retrain the OCR model. Once everyone starts using the DeepStackALPR API you can send me the alert images and the text files with these files I will retrian the OCR model. If we do this about two to three times we should have a accurate OCR model. I will post more details later.
Also your antivirus might detect the API as a virus because the antivirus software has no signature reference for the API since it is not mass produced software. My Norton Antivirus did detecte it as a virus and I had to let Norton Antivirus know it is OK to run.
Version 3.0 notes:
I made a lot of progress on the DeepStackALPR. The solution is API that crops and rotates (if needed) the license plate. Then the API reads all of the characters in the plate and logs the license plate details. Also the API will save the DeepStack results in JSON format and YOLO format. This data can be used to improve DeepStack Custom Model that does the OCR.
The model that does the OCR needs some work I would say it is about 85% accurate. The way the API is written it will save a small text file that can be used to retrain the OCR model. Once everyone starts using the DeepStackALPR API you can send me the alert images and the text files with these files I will retrian the OCR model. If we do this about two to three times we should have a accurate OCR model. I will post more details later.
Also your antivirus might detect the API as a virus because the antivirus software has no signature reference for the API since it is not mass produced software. My Norton Antivirus did detecte it as a virus and I had to let Norton Antivirus know it is OK to run.
Version 3.0 notes:
- Version 3.0 is now an Install exe file that will extract all the files and install the API as a service. It also adds DeepStackALPR to the Start Menu where are tools to control DeepStackALPR service.
- Added NSSM - the Non-Sucking Service Manager to manage DeepStackALPR service
- Converted the Python script into an API. Since the script is now an API you do not need to add any Actions on alerts in your LPR camera.
- There is only one Actions on alerts needed for the cropped camera (see instructions for details)
- Fixed first plate capture for the new day was saving log details, YOLO.txt, and JSON file in the previous day.
- Blue Iris Support (Ken) added the memo to Blue Iris log.
- V3.0 does not need some of the requested changes sent to Blue Iris Support (see below)
- Fixed (If DeepStack identifies two first characters in the license plate the script might use the wrong character.)
- If on version 2.1 only need to replace "DeepStackALPR.exe" file to upgrade to version 2.2 (reboot Blue Iris PC after replacing)
- New OCR DeepStack Model (lplate_char.pt)
- If on version 2.1 only need to replace "lplate_char.pt" file to upgrade to version 2.2 (reboot Blue Iris PC after replacing)
- Corrected rotation error
- Corrected trigger delay error
- Only one script is needed for V2.0. The script does the cropping and rotation (if needed). Once cropped the script will have DeepStack run the OCR on the cropped plate.
- After the OCR the script will save the DeepStack results in JSON format and YOLO format (for future retraining of the OCR custom model)
- Since there is only one script only one camera is needed with the cropped license plate.
- Also the new version is twice as fast as V1.1 since there is only one script.
- If there is a parked car and a car drives by the API might crop & OCR the plate of the parked car instead of the car that drove by.
- When sending Blue Iris a JSON trigger can you have Blue Iris respond with the file name for the alert
and add the memo to the log, currently it only shows “external” When using &JSON macro can you included the full file path for the alert (F:\BlueIris\Alerts\ALPR\20220105\ALPR.20220105_235240.0.16-0.0.0.jpg)If you turn off Burn label mark-up onto alert images the alert image that is saved is the motion triggered image not the image DeepStack confirmed. Can you please change to the confirmed image
Attachments
Last edited: