Blue Iris and CodeProject.AI ALPR

I'll do that, but TBH the red X in analysis doesn't bother me much. I was just worried about plate make times going from 250 to 500msec because OCR is reading the static plates... and about sending BI the motion leading image when I told it not to. I'm thinking since static vehicles are marked as such, BI can use that info to skip sending associated "static plates". That way when I have a parked plate in frame, my make times won't get doubled.
Blue Iris is sending the full image to the ALPR module and the module does not keep track of static plates so I do not think anything can be done without major program changes to BI and the ALPR module
 
  • Like
Reactions: truglo
@MikeLud1, not sure if you caught my second post just before yours. That's unfortunate to hear it may require big changes, but you won't be pressured to hurry them along by me. I already appreciate you and the other devs going over the top to make this even work the way it does now. I have faith you guys will succeed in due time.
 
  • Like
Reactions: JNDATHP
@MikeLud1, not sure if you caught my second post just before yours. That's unfortunate to hear it may require big changes, but you won't be pressured to hurry them along by me. I already appreciate you and the other devs going over the top to make this even work the way it does now. I have faith you guys will succeed in due time.
Try adding alpr,Plates

The static image is working for me
1675733909295.png
 
  • Like
Reactions: truglo
Very interesting... done, jeep still parked... fingers crossed something drives by before it leaves.
 
  • Like
Reactions: MikeLud1
I just tested a manual trigger with ,** added to confirm, and got no models, all red X's. I triggered it twice just to be sure.

Untitled.jpg
Untitled2.jpg
 
@MikeLud1, I just replaced the paddleocr folders you linked.

1675737599012.png

GPU ALPR did not work
21:54:15:License Plate Reader: Retrieved ALPR_queue command
21:54:15:Client request 'custom' in the queue (...d3adad)
21:54:15:Request 'custom' dequeued for processing (...d3adad)
21:54:15:Object Detection (YOLOv5 6.2): Retrieved objectdetection_queue command
21:54:15:Object Detection (YOLOv5 6.2): Detecting using license-plate
21:54:15:Object Detection (YOLOv5 6.2): Queue and Processing Object Detection (YOLOv5 6.2) command 'custom' (...d3adad) took 273ms
21:54:15:Response received (...d3adad)
21:54:15:ALPR_adapter.py: [2023/02/06 21:54:15] ppocr WARNING: Since the angle classifier is not initialized, the angle classifier will not be uesd during the forward process
21:54:15:License Plate Reader: [Exception] : Traceback (most recent call last):
21:54:15:Response received (...c10a35)
21:54:15:License Plate Reader: Queue and Processing License Plate Reader command 'alpr' (...c10a35) took 1197ms

CPU ALPR worked
21:56:13:License Plate Reader: Retrieved ALPR_queue command
21:56:13:Client request 'custom' in the queue (...45554e)
21:56:13:Request 'custom' dequeued for processing (...45554e)
21:56:13:Object Detection (YOLOv5 6.2): Retrieved objectdetection_queue command
21:56:13:Object Detection (YOLOv5 6.2): Detecting using license-plate
21:56:13:Object Detection (YOLOv5 6.2): Queue and Processing Object Detection (YOLOv5 6.2) command 'custom' (...45554e) took 213ms
21:56:13:Response received (...45554e)
21:56:13:ALPR_adapter.py: [2023/02/06 21:56:13] ppocr WARNING: Since the angle classifier is not initialized, the angle classifier will not be uesd during the forward process
21:56:14:ALPR_adapter.py: [2023/02/06 21:56:14] ppocr DEBUG: dt_boxes num : 1, elapse : 0.04397249221801758
21:56:14:ALPR_adapter.py: [2023/02/06 21:56:14] ppocr DEBUG: rec_res num : 1, elapse : 0.22486090660095215
21:56:14:Response received (...498c88)
21:56:14:License Plate Reader: Queue and Processing License Plate Reader command 'alpr' (...498c88) took 548ms
 
@MikeLud1, I changed to those exact settings, and it appears to work, although I still have a problem with that static plate. So I'm not even sure it'll work until that parked car moves. Here is an example where BI cancels based on that same static plate at 91% (and no ocr data returned), and ignores the real target that did return plate data twice.

Untitled3.jpg
Untitled4.jpg

I recall earlier I advocated for BI to use object %, instead of "plate closest to center"... here is perhaps a case for the latter. Problem is... when the parked car is centered. Now what? I think use the moving plate. That doesn't seem like it would take any more processing to do... license-plate marked as vehicle... use those and alert with the highest ocr return (with hopes of state filtering etc later on).

edit... We can give the OCR a pass on accuracy with this one. It's hard for my human eyes to read, so not expecting ai to do much better.
 
Last edited:
@MikeLud1, I just replaced the paddleocr folders you linked.

View attachment 153462

GPU ALPR did not work
21:54:15:License Plate Reader: Retrieved ALPR_queue command
21:54:15:Client request 'custom' in the queue (...d3adad)
21:54:15:Request 'custom' dequeued for processing (...d3adad)
21:54:15:Object Detection (YOLOv5 6.2): Retrieved objectdetection_queue command
21:54:15:Object Detection (YOLOv5 6.2): Detecting using license-plate
21:54:15:Object Detection (YOLOv5 6.2): Queue and Processing Object Detection (YOLOv5 6.2) command 'custom' (...d3adad) took 273ms
21:54:15:Response received (...d3adad)
21:54:15:ALPR_adapter.py: [2023/02/06 21:54:15] ppocr WARNING: Since the angle classifier is not initialized, the angle classifier will not be uesd during the forward process
21:54:15:License Plate Reader: [Exception] : Traceback (most recent call last):
21:54:15:Response received (...c10a35)
21:54:15:License Plate Reader: Queue and Processing License Plate Reader command 'alpr' (...c10a35) took 1197ms

CPU ALPR worked
21:56:13:License Plate Reader: Retrieved ALPR_queue command
21:56:13:Client request 'custom' in the queue (...45554e)
21:56:13:Request 'custom' dequeued for processing (...45554e)
21:56:13:Object Detection (YOLOv5 6.2): Retrieved objectdetection_queue command
21:56:13:Object Detection (YOLOv5 6.2): Detecting using license-plate
21:56:13:Object Detection (YOLOv5 6.2): Queue and Processing Object Detection (YOLOv5 6.2) command 'custom' (...45554e) took 213ms
21:56:13:Response received (...45554e)
21:56:13:ALPR_adapter.py: [2023/02/06 21:56:13] ppocr WARNING: Since the angle classifier is not initialized, the angle classifier will not be uesd during the forward process
21:56:14:ALPR_adapter.py: [2023/02/06 21:56:14] ppocr DEBUG: dt_boxes num : 1, elapse : 0.04397249221801758
21:56:14:ALPR_adapter.py: [2023/02/06 21:56:14] ppocr DEBUG: rec_res num : 1, elapse : 0.22486090660095215
21:56:14:Response received (...498c88)
21:56:14:License Plate Reader: Queue and Processing License Plate Reader command 'alpr' (...498c88) took 548ms
Thanks for testing, back to the drawing board.

Can you post a screenshot of the below folder, I want to see what all the versions of paddle are

1675740041242.png
 
Last edited:
@MikeLud1, I changed to those exact settings, and it appears to work, although I still have a problem with that static plate. So I'm not even sure it'll work until that parked car moves. Here is an example where BI cancels based on that same static plate at 91% (and no ocr data returned), and ignores the real target that did return plate data twice.

View attachment 153476
View attachment 153477

I recall earlier I advocated for BI to use object %, instead of "plate closest to center"... here is perhaps a case for the latter. Problem is... when the parked car is centered. Now what? I think use the moving plate. That doesn't seem like it would take any more processing to do... license-plate marked as vehicle... use those and alert with the highest ocr return (with hopes of state filtering etc later on).

edit... We can give the OCR a pass on accuracy with this one. It's hard for my human eyes to read, so not expecting ai to do much better.
Let me see if I can workout better static object logic and ALPR logic with BI (Ken).
I did send him the below, which I think should solve the issue you are having
1675740625749.png
 
I'm not one to critique how people manage their PC's, but I happened to notice the Dell directory in Program Files. That reminded me of some experiences I've had running dell auto driver updates and support tools. I wonder if there's something else lurking under the hood outside of BI/cpai that is causing this?
 
  • Like
Reactions: 105437
I'm not one to critique how people manage their PC's, but I happened to notice the Dell directory in Program Files. That reminded me of some experiences I've had running dell auto driver updates and support tools. I wonder if there's something else lurking under the hood outside of BI/cpai that is causing this?
Could certainly be, I don't install any updates beyond Windows. If Dell updates are installed without notification, then I have no idea.
 
Do you recall ever installing a dell driver on it? If it still has windows that came from Dell, then it definitely could have dell drivers on it. Not that Dell doesn't make good drivers, but usually WHQL drivers are more stable and appropriate for a BI system. I personally have never setup a BI system without first wiping the drives and installing a fresh DL of windows. These days with SSD and broadband, it's not such a horrible task to undertake (although... some servers that cpai gits from are very slow). I should also note I usually use older hardware (3yo or more). So there's rarely a missing driver from windows update, which may not be the case for brand new or unusually obscure hardare.
 
Do you recall ever installing a dell driver on it? If it still has windows that came from Dell, then it definitely could have dell drivers on it. Not that Dell doesn't make good drivers, but usually WHQL drivers are more stable and appropriate for a BI system. I personally have never setup a BI system without first wiping the drives and installing a fresh DL of windows. These days with SSD and broadband, it's not such a horrible task to undertake.
A year ago this PC was wiped and restored using Windows Media Creation Tool. I probably did install a Dell driver at some point after that.
 
  • Like
Reactions: truglo
Hi, just setting up ALPR on my BI install, have Codeproject running already which works great.
Is the ALPR module compatible with UK car number plates?
 
Hi, just setting up ALPR on my BI install, have Codeproject running already which works great.
Is the ALPR module compatible with UK car number plates?

Yes many from the UK are using it. But this is just a character reader so it may mistake a 1 for an I or a 0 for a O.
 
  • Like
Reactions: Richard Jones