Blue Iris and CodeProject.AI ALPR

the custom models where are those located again and do they need to be updated also or come with code project? also is it possible to see plates in Blueiris web UI I think someone said I could just not sure how
1708480714391.png
 
the custom models where are those located again and do they need to be updated also or come with code project? also is it possible to see plates in Blueiris web UI I think someone said I could just not sure how
View attachment 187098
See below for Custom Model location, they do not need to be updated, they come with CodeProject.AI. To have the plate show in Blue Iris web UI use the settings in the below post


1708483850966.png
1708483899073.png

1708483972214.png
 
See below for Custom Model location, they do not need to be updated, they come with CodeProject.AI. To have the plate show in Blue Iris web UI use the settings in the below post


View attachment 187109
View attachment 187111

View attachment 187112
Ill be OK that totally worked, but using Object:0 not the license custom model, thank you for that.

1708485596425.png
 
You should create a clone and just use the clone for ALPR and use the below AI settings. Also below is how the Plate will show
Ah, that is very interesting! I've been using the DayPlate and NightPlate to identify the plate before calling ALPR with PlateRecognizer, and I think you were the person that started that trend so I apologize that I haven't been here enough lately to see this new approach. Are you taking this approach simply because using the local ALPR doesn't cost money per call like PlateRecognizer?

Does your recommendation change knowing that I'm using my GPU for all object recognition (like DayPlate & NightPlate), but ALPR will only use my CPU? I think I have plenty of CPU to spare, but are there any limitations on concurrent requests to CodeProject.AI? I ask because even when my GPU & CPU barely show any usage in the task manager, but with a lot of AI requests I do regularly see, "AI: not responding (2)" in the BlueIris logs followed by a restart. The AI settings shows "instances" of 2, but it's disabled, so I'm assuming that's a default. Might there be a way to bump that up if I'm confident my computer can handle it?

Edit: Are you using BI's ability to trigger a "group" of cameras to trigger your clone from the first camera, or are you using a separate or duplicated motion detection/ONVIF events to trigger the clone?

As always, thank you!
 
Last edited:
So now that I have created this Clone, for this data I have double Camera there is there better method so only have recordings for the one camera but to get these CP alerts. I am having issues with it reading gate signs and it also thinks the metal logo on the gate is a tennis racket.
 
I mentioned above that I periodically get messages in BlueIris' log of "AI: not responding (2)". I just went to an instance of that earlier today and found the CodeProjectAI log lines from that time.

Note that BlueIris eventually restarts CodeProject.AI (the stopping is shown at the end of these log lines) but does anyone else see this this problem in your BI or CodeProject.AI logs? I suspect this is probably better posted in the CodeProject.AI discussion forum, if for no other reason that I just searched there for "unable to send status from module" and didn't get a direct hit on anything.

The first 4 lines that I'm including below are from two successful calls, of which there are many directly above those. I have included them in part to show there were no previous errors, and then there appears to be a 12 second delay before the statement of, "Unable to send status from module ObjectDetectionYOLOv5Net".

This is running CodeProject.AI 2.5.4 and BI 5.8.7.6.

Code:
2024-02-22 14:04:06: Client request 'custom' in queue 'objectdetection_queue' (#reqid ecbfa658-6a46-4db4-b2de-df2a39ffc0d9)
2024-02-22 14:04:07: Response rec'd from Object Detection (YOLOv5 .NET) command 'custom' (#reqid ecbfa658-6a46-4db4-b2de-df2a39ffc0d9) ['No objects found']  took 81ms
2024-02-22 14:04:07: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 93e338ce-6b9f-4ae6-94d3-9d1f1efbd3c0)
2024-02-22 14:04:07: Client request 'custom' in queue 'objectdetection_queue' (#reqid 93e338ce-6b9f-4ae6-94d3-9d1f1efbd3c0)
2024-02-22 14:04:07: Response rec'd from Object Detection (YOLOv5 .NET) command 'custom' (#reqid 93e338ce-6b9f-4ae6-94d3-9d1f1efbd3c0) ['No objects found']  took 70ms
2024-02-22 14:04:19: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:22: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:22: ObjectDetectionYOLOv5Net.exe: Pausing on error for 5 secs.
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Pausing on error for 6 secs.
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Pausing on error for 7 secs.
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Pausing on error for 8 secs.
2024-02-22 14:04:24: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:24: ObjectDetectionYOLOv5Net.exe: Pausing on error for 9 secs.
2024-02-22 14:04:25: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:25: ObjectDetectionYOLOv5Net.exe: Pausing on error for 10 secs.
2024-02-22 14:04:25: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:26: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:26: ObjectDetectionYOLOv5Net.exe: Pausing on error for 11 secs.
2024-02-22 14:04:26: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:26: ObjectDetectionYOLOv5Net.exe: Pausing on error for 12 secs.
2024-02-22 14:04:31: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:31: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:31: ObjectDetectionYOLOv5Net.exe: Pausing on error for 13 secs.
2024-02-22 14:04:31: ModuleRunner Stop
2024-02-22 14:04:31: Sending shutdown request to python/ALPR
2024-02-22 14:04:31: Client request 'Quit' in queue 'alpr_queue' (#reqid 2543ca7d-ca86-44d7-8676-7cc917070c90)
2024-02-22 14:04:31: ObjectDetectionYOLOv5-6.2 doesn't appear in the Process list, so can't stop it.
2024-02-22 14:04:31: FaceProcessing doesn't appear in the Process list, so can't stop it.
2024-02-22 14:04:31: Sending shutdown request to ObjectDetectionYOLOv5Net/ObjectDetectionYOLOv5Net
2024-02-22 14:04:31: Client request 'Quit' in queue 'objectdetection_queue' (#reqid e4525718-7af2-4562-a888-52549dc7d6c3)
2024-02-22 14:04:33: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:33: ObjectDetectionYOLOv5Net.exe: Pausing on error for 14 secs.
2024-02-22 14:04:34: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:34: ObjectDetectionYOLOv5Net.exe: Pausing on error for 15 secs.
2024-02-22 14:04:35: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:35: ObjectDetectionYOLOv5Net.exe: Pausing on error for 16 secs.
2024-02-22 14:04:37: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:37: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:37: ObjectDetectionYOLOv5Net.exe: Pausing on error for 17 secs.
2024-02-22 14:04:39: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:39: ObjectDetectionYOLOv5Net.exe: Pausing on error for 18 secs.
2024-02-22 14:04:41: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:41: ObjectDetectionYOLOv5Net.exe: Pausing on error for 19 secs.
2024-02-22 14:04:42: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:42: ObjectDetectionYOLOv5Net.exe: Pausing on error for 20 secs.
2024-02-22 14:04:43: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:49: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:49: ObjectDetectionYOLOv5Net.exe: Pausing on error for 21 secs.
2024-02-22 14:04:50: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:51: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:51: ObjectDetectionYOLOv5Net.exe: Pausing on error for 22 secs.
2024-02-22 14:04:53: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:53: ObjectDetectionYOLOv5Net.exe: Pausing on error for 23 secs.
2024-02-22 14:04:56: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:56: ObjectDetectionYOLOv5Net.exe: Pausing on error for 24 secs.
2024-02-22 14:04:56: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:59: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:59: ObjectDetectionYOLOv5Net.exe: Pausing on error for 25 secs.
2024-02-22 14:05:01: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:05:01: ObjectDetectionYOLOv5Net.exe: Pausing on error for 26 secs.
2024-02-22 14:05:02: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:05:04: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:05:04: ObjectDetectionYOLOv5Net.exe: Pausing on error for 27 secs.
2024-02-22 14:05:04: Forcing shutdown of python/ALPR
2024-02-22 14:05:04: Forcing shutdown of ObjectDetectionYOLOv5Net/ObjectDetectionYOLOv5Net
2024-02-22 14:05:04: ** Module ALPR has shutdown
2024-02-22 14:05:05: ALPR_adapter.py: has exited
2024-02-22 14:05:05: Waiting for ObjectDetectionYOLOv5Net to end.
2024-02-22 14:05:05: Waiting for ALPR to end.
2024-02-22 14:05:05: ** Module ObjectDetectionYOLOv5Net has shutdown
2024-02-22 14:05:05: ALPR ended after 0 ms
2024-02-22 14:05:05: ObjectDetectionYOLOv5Net.exe: has exited
2024-02-22 14:05:05: ObjectDetectionYOLOv5Net ended after 119 ms
2024-02-22 14:05:05: ModuleRunner Stopped
 
I mentioned above that I periodically get messages in BlueIris' log of "AI: not responding (2)". I just went to an instance of that earlier today and found the CodeProjectAI log lines from that time.

Note that BlueIris eventually restarts CodeProject.AI (the stopping is shown at the end of these log lines) but does anyone else see this this problem in your BI or CodeProject.AI logs? I suspect this is probably better posted in the CodeProject.AI discussion forum, if for no other reason that I just searched there for "unable to send status from module" and didn't get a direct hit on anything.

The first 4 lines that I'm including below are from two successful calls, of which there are many directly above those. I have included them in part to show there were no previous errors, and then there appears to be a 12 second delay before the statement of, "Unable to send status from module ObjectDetectionYOLOv5Net".

This is running CodeProject.AI 2.5.4 and BI 5.8.7.6.

Code:
2024-02-22 14:04:06: Client request 'custom' in queue 'objectdetection_queue' (#reqid ecbfa658-6a46-4db4-b2de-df2a39ffc0d9)
2024-02-22 14:04:07: Response rec'd from Object Detection (YOLOv5 .NET) command 'custom' (#reqid ecbfa658-6a46-4db4-b2de-df2a39ffc0d9) ['No objects found']  took 81ms
2024-02-22 14:04:07: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 93e338ce-6b9f-4ae6-94d3-9d1f1efbd3c0)
2024-02-22 14:04:07: Client request 'custom' in queue 'objectdetection_queue' (#reqid 93e338ce-6b9f-4ae6-94d3-9d1f1efbd3c0)
2024-02-22 14:04:07: Response rec'd from Object Detection (YOLOv5 .NET) command 'custom' (#reqid 93e338ce-6b9f-4ae6-94d3-9d1f1efbd3c0) ['No objects found']  took 70ms
2024-02-22 14:04:19: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:22: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:22: ObjectDetectionYOLOv5Net.exe: Pausing on error for 5 secs.
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Pausing on error for 6 secs.
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Pausing on error for 7 secs.
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:23: ObjectDetectionYOLOv5Net.exe: Pausing on error for 8 secs.
2024-02-22 14:04:24: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:24: ObjectDetectionYOLOv5Net.exe: Pausing on error for 9 secs.
2024-02-22 14:04:25: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:25: ObjectDetectionYOLOv5Net.exe: Pausing on error for 10 secs.
2024-02-22 14:04:25: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:26: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:26: ObjectDetectionYOLOv5Net.exe: Pausing on error for 11 secs.
2024-02-22 14:04:26: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:26: ObjectDetectionYOLOv5Net.exe: Pausing on error for 12 secs.
2024-02-22 14:04:31: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:31: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:31: ObjectDetectionYOLOv5Net.exe: Pausing on error for 13 secs.
2024-02-22 14:04:31: ModuleRunner Stop
2024-02-22 14:04:31: Sending shutdown request to python/ALPR
2024-02-22 14:04:31: Client request 'Quit' in queue 'alpr_queue' (#reqid 2543ca7d-ca86-44d7-8676-7cc917070c90)
2024-02-22 14:04:31: ObjectDetectionYOLOv5-6.2 doesn't appear in the Process list, so can't stop it.
2024-02-22 14:04:31: FaceProcessing doesn't appear in the Process list, so can't stop it.
2024-02-22 14:04:31: Sending shutdown request to ObjectDetectionYOLOv5Net/ObjectDetectionYOLOv5Net
2024-02-22 14:04:31: Client request 'Quit' in queue 'objectdetection_queue' (#reqid e4525718-7af2-4562-a888-52549dc7d6c3)
2024-02-22 14:04:33: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:33: ObjectDetectionYOLOv5Net.exe: Pausing on error for 14 secs.
2024-02-22 14:04:34: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:34: ObjectDetectionYOLOv5Net.exe: Pausing on error for 15 secs.
2024-02-22 14:04:35: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:35: ObjectDetectionYOLOv5Net.exe: Pausing on error for 16 secs.
2024-02-22 14:04:37: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:37: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:37: ObjectDetectionYOLOv5Net.exe: Pausing on error for 17 secs.
2024-02-22 14:04:39: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:39: ObjectDetectionYOLOv5Net.exe: Pausing on error for 18 secs.
2024-02-22 14:04:41: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:41: ObjectDetectionYOLOv5Net.exe: Pausing on error for 19 secs.
2024-02-22 14:04:42: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:42: ObjectDetectionYOLOv5Net.exe: Pausing on error for 20 secs.
2024-02-22 14:04:43: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:49: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:49: ObjectDetectionYOLOv5Net.exe: Pausing on error for 21 secs.
2024-02-22 14:04:50: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:51: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:51: ObjectDetectionYOLOv5Net.exe: Pausing on error for 22 secs.
2024-02-22 14:04:53: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:53: ObjectDetectionYOLOv5Net.exe: Pausing on error for 23 secs.
2024-02-22 14:04:56: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:56: ObjectDetectionYOLOv5Net.exe: Pausing on error for 24 secs.
2024-02-22 14:04:56: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:04:59: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:04:59: ObjectDetectionYOLOv5Net.exe: Pausing on error for 25 secs.
2024-02-22 14:05:01: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:05:01: ObjectDetectionYOLOv5Net.exe: Pausing on error for 26 secs.
2024-02-22 14:05:02: ObjectDetectionYOLOv5Net.exe: Unable to send status from module ObjectDetectionYOLOv5Net
2024-02-22 14:05:04: ObjectDetectionYOLOv5Net.exe: Unable to get request from objectdetection_queue for ObjectDetectionYOLOv5Net
2024-02-22 14:05:04: ObjectDetectionYOLOv5Net.exe: Pausing on error for 27 secs.
2024-02-22 14:05:04: Forcing shutdown of python/ALPR
2024-02-22 14:05:04: Forcing shutdown of ObjectDetectionYOLOv5Net/ObjectDetectionYOLOv5Net
2024-02-22 14:05:04: ** Module ALPR has shutdown
2024-02-22 14:05:05: ALPR_adapter.py: has exited
2024-02-22 14:05:05: Waiting for ObjectDetectionYOLOv5Net to end.
2024-02-22 14:05:05: Waiting for ALPR to end.
2024-02-22 14:05:05: ** Module ObjectDetectionYOLOv5Net has shutdown
2024-02-22 14:05:05: ALPR ended after 0 ms
2024-02-22 14:05:05: ObjectDetectionYOLOv5Net.exe: has exited
2024-02-22 14:05:05: ObjectDetectionYOLOv5Net ended after 119 ms
2024-02-22 14:05:05: ModuleRunner Stopped
Disable Auto start/stop with Blue Iris CodeProject.AI does not need this. This was add as a fix for DeepStack when it was constantly locking up.

1708659255551.png
 
Hey Mike, any idea what this error means? Showed up following a first time install of the ALPR module. ModuleNotFoundError: No module named 'aiohttp'


08:49:08:Restarting License Plate Reader to apply settings change
08:49:08:
08:49:08:Module 'License Plate Reader' 3.0.2 (ID: ALPR)
08:49:08:Valid: True
08:49:08:Module Path: <root>\modules\ALPR
08:49:08:AutoStart: True
08:49:08:Queue: alpr_queue
08:49:08:Runtime: python3.9
08:49:08:Runtime Loc: Local
08:49:08:FilePath: ALPR_adapter.py
08:49:08:Pre installed: False
08:49:08:Start pause: 3 sec
08:49:08:Parallelism: 0
08:49:08:LogVerbosity:
08:49:08:Platforms: all
08:49:08:GPU Libraries: installed if available
08:49:08:GPU Enabled: enabled
08:49:08:Accelerator:
08:49:08:Half Precis.: enable
08:49:08:Environment Variables
08:49:08:AUTO_PLATE_ROTATE = True
08:49:08:MIN_COMPUTE_CAPABILITY = 6
08:49:08:MIN_CUDNN_VERSION = 7
08:49:08:OCR_OPTIMAL_CHARACTER_HEIGHT = 60
08:49:08:OCR_OPTIMAL_CHARACTER_WIDTH = 30
08:49:08:OCR_OPTIMIZATION = True
08:49:08:PLATE_CONFIDENCE = 0.7
08:49:08:PLATE_RESCALE_FACTOR = 2
08:49:08:PLATE_ROTATE_DEG = 0
08:49:08:
08:49:08:Started License Plate Reader module
08:49:08:ALPR_adapter.py: Traceback (most recent call last):
08:49:08:ALPR_adapter.py: File "C:\Program Files\CodeProject\AI\modules\ALPR\ALPR_adapter.py", line 8, in
08:49:08:ALPR_adapter.py: from module_runner import ModuleRunner
08:49:08:ALPR_adapter.py: File "C:\Program Files\CodeProject\AI\modules\ALPR\../../SDK/Python\module_runner.py", line 30, in
08:49:08:ALPR_adapter.py: import aiohttp
08:49:08:ALPR_adapter.py: ModuleNotFoundError: No module named 'aiohttp'
08:49:08:Module ALPR has shutdown
08:49:08:ALPR_adapter.py: has exited
 
You should create a clone and just use the clone for ALPR and use the below AI settings. Also below is how the Plate will show

What are the benefits to running a clone like this? It seems like splitting the CPAI models onto two separate cameras creates an extra resource draw. I assume you would disable recording on the clone, so only 1 records, and the clone master button makes it so there's only one call for video stream to camera.

It would seem like what this is really doing is splitting the CPAI models to two sperate cameras (one is analyzing for people/cars, and the other is looking for plates).

This seems like analyzing the same stream twice, which I imagine would double the CPU draw of that process. Is that correct? And if so, why not analyze only once on one camera for both CPAI models?
 
What are the benefits to running a clone like this? It seems like splitting the CPAI models onto two separate cameras creates an extra resource draw. I assume you would disable recording on the clone, so only 1 records, and the clone master button makes it so there's only one call for video stream to camera.

It would seem like what this is really doing is splitting the CPAI models to two sperate cameras (one is analyzing for people/cars, and the other is looking for plates).

This seems like analyzing the same stream twice, which I imagine would double the CPU draw of that process. Is that correct? And if so, why not analyze only once on one camera for both CPAI models?

In his case he was also using the camera to run other models and do more than just LPR with the camera.

1708885136786.png

If you are just using that camera as LPR (Which is the recommended option), then you don't need to make a clone.
 
  • Like
Reactions: actran
In his case he was also using the camera to run other models and do more than just LPR with the camera.

View attachment 187686

If you are just using that camera as LPR (Which is the recommended option), then you don't need to make a clone.

I am also using the LPR camera to run two models - ipcam-general and license plate. What is the logic behind splitting the models? BI seems to take multiple models per camera without issue.
 
If the goal is to log and read plates, then that should be the sole role of the camera.

Is your image completely black at night except for when the plate comes past like most of us?

You see in that persons .dat files that it was not correctly logging the plates. It saw them but was cancelling them. Likely due to trying to do too many things with one field of view. In that all black image it isn't gonna see a bear, dog, etc. so just use it for LPR.

1708886275915.png
 
If the goal is to log and read plates, then that should be the sole role of the camera.

Is your image completely black at night except for when the plate comes past like most of us?

You see in that persons .dat files that it was not correctly logging the plates. It saw them but was cancelling them. Likely due to trying to do too many things with one field of view. In that all black image it isn't gonna see a bear, dog, etc. so just use it for LPR.

View attachment 187688

Thanks for the info, wittaj. In my case this camera is set up for ALPR but I like having it identify people and vehicles during the day as well. Obviously, it struggles with that at night since it can't see them. I'll try running a clone for a bit and see how it goes.
 
Every use case is different and if you get 100% or a high percentage then I guess it is ok, but what happens if so a person walks past and a second or two later a car goes past, does it only log the person or does it log the plate as well?

Or maybe turn off the other models for the night setting?
 
Hey Mike, any idea what this error means? Showed up following a first time install of the ALPR module. ModuleNotFoundError: No module named 'aiohttp'


08:49:08:Restarting License Plate Reader to apply settings change
08:49:08:
08:49:08:Module 'License Plate Reader' 3.0.2 (ID: ALPR)
08:49:08:Valid: True
08:49:08:Module Path: <root>\modules\ALPR
08:49:08:AutoStart: True
08:49:08:Queue: alpr_queue
08:49:08:Runtime: python3.9
08:49:08:Runtime Loc: Local
08:49:08:FilePath: ALPR_adapter.py
08:49:08:pre installed: False
08:49:08:Start pause: 3 sec
08:49:08:parallelism: 0
08:49:08:LogVerbosity:
08:49:08:platforms: all
08:49:08:GPU Libraries: installed if available
08:49:08:GPU Enabled: enabled
08:49:08:Accelerator:
08:49:08:Half Precis.: enable
08:49:08:Environment Variables
08:49:08:AUTO_PLATE_ROTATE = True
08:49:08:MIN_COMPUTE_CAPABILITY = 6
08:49:08:MIN_CUDNN_VERSION = 7
08:49:08:OCR_OPTIMAL_CHARACTER_HEIGHT = 60
08:49:08:OCR_OPTIMAL_CHARACTER_WIDTH = 30
08:49:08:OCR_OPTIMIZATION = True
08:49:08:pLATE_CONFIDENCE = 0.7
08:49:08:pLATE_RESCALE_FACTOR = 2
08:49:08:pLATE_ROTATE_DEG = 0
08:49:08:
08:49:08:Started License Plate Reader module
08:49:08:ALPR_adapter.py: Traceback (most recent call last):
08:49:08:ALPR_adapter.py: File "C:\Program Files\CodeProject\AI\modules\ALPR\ALPR_adapter.py", line 8, in
08:49:08:ALPR_adapter.py: from module_runner import ModuleRunner
08:49:08:ALPR_adapter.py: File "C:\Program Files\CodeProject\AI\modules\ALPR\../../SDK/Python\module_runner.py", line 30, in
08:49:08:ALPR_adapter.py: import aiohttp
08:49:08:ALPR_adapter.py: ModuleNotFoundError: No module named 'aiohttp'
08:49:08:Module ALPR has shutdown
08:49:08:ALPR_adapter.py: has exited
It looks like the module did not fully install, try uninstalling the module then reinstalling the module
 
New Release License Plate Reader 3.0.1, Requires CodeProject.AI v2.5.2 or greater.

Changes:
  • Updated text recognition model to PP-OCRv4 (was PP-OCRv3)
  • Added AI Auto Rotation (The below image shows the plate on the right skewed. The plate on the left was rotated using AI Auto Rotation and this image was used when OCR)

What settings get that plate crop image in the upper left to appear in the timeline? Autorotation looks great.
 
It looks like the module did not fully install, try uninstalling the module then reinstalling the module

That seems to have fixed it! Thanks for getting the minimum compute score lowered so we can still use our older GPUS! Still waiting for a GTX 1650 LP to show up for sale somewhere.
 
In his case he was also using the camera to run other models and do more than just LPR with the camera.
....
You see in that persons .dat files that it was not correctly logging the plates. It saw them but was cancelling them. Likely due to trying to do too many things with one field of view.
I feel compelled to say that @wittaj and @MikeLud1 are both 100% right (always!), and I knew that even when I added all the objects that I did. I continue to be eternally grateful for all they have done here. I've learned a ton from both of you, so thank you AGAIN for everything.

Mostly for the benefit of other users, I'll offer some context. This is an LPR camera for me, but since the recognition isn't 100% (particularly for oncoming vehicles with no front license plate!!!), I originally left objects like car,truck,bus for daytime only identification so I'd at least have a confirmed alert, even if I did not get the license plate. That is still very valuable to be able to scroll through alerts and see what happened even when a license plate could not be recognized. I still only used DayPlate & NightPlate for my vehicle identification because I was using PlateRecognizer for LPR and didn't want to pay for API calls simply because "car,truck,bus" was found.

I started this with DeepStack which only used CPU, so I used a CPU with more cores & threads than necessary so I think I just got lazy or greedy (or both) and went ahead and added the full list at some point thinking, "Let's just see what it finds." As we all know, sometimes a tumbleweed or even a possum may be identified as a sheep or bear, and my CPU load wasn't stressed, so here I am still with that unnecessarily big list of objects. I never considered that it would have negative consequences other than load, but now I have a reason to (again) follow the better process described here.

I also want to add that I did uncheck the auto start/stop and that has eliminated the instability problems that I was experiencing. I'm still a bit confused as to how that would cause problems (BI thinking a slow response implied a dead server?), but I'm grateful for @MikeLud1 suggesting that and hope others can benefit from my situation.
 
I also want to add that I did uncheck the auto start/stop and that has eliminated the instability problems that I was experiencing. I'm still a bit confused as to how that would cause problems (BI thinking a slow response implied a dead server?), but I'm grateful for @MikeLud1 suggesting that and hope others can benefit from my situation.

The issue is that CodeProject runs as a service, so having BI send start/stop commands was screwing with the service.

This auto start/stop is a leftover from the days of DeepStack that didn't run as a service, and since some still run Deepstack, this command needs to remain.

At some point when a BI update breaks the ability for DeepStack to work with a newer version, we will then see that option disappear.