CodeProject.AI Version 2.0

Can someone provide a link to the 2.0.2 version download. I am getting notta for detection and crap performance on 2.0.6 and 2.0.7. Yes, I've completely removed BI and CodeProject, all the folders and reinstalled fresh.
So if someone could provide a download or upload 2.0.2 so I could try that version, I would greatly appreciate it.
 
Docker - It was too good to be true for me. It looks like that it will not run on VSphere EXSi.

I don't run ESXi but maybe the below article is helpful?



Or run it in a Linux (preferably) or Windows VM (with nested virtualization if using windows).
 
I tested it on a CPU with HD530...be sure you have the CUDA box checked in Blueiris....not sure why but it has to be checked.

Can you be more specific? I'm also trying to get it to work with my onboard UHD 750 graphics. Where do I check the CUDA box? I can't see anything in the AI tab or in the CPAI server settings that says CUDA. I'm running 5.6.9.7.

EDIT: Ok after coming back to it a few hours later, it decides to let me stop it now. I'm now only using YOLOv5.NET. I set 'default object detection' within BI, and ticked 'GPU' and now the AI server page correctly says 'GPU (Direct ML)'.

Upon going outside to trigger two of the cameras, it seems that after the first one correctly analyzed me within 300 ms, the second one was rejected with the reason 'AI: not responding'. Upon refreshing the AI server page, it seems like it CPAI had crashed and restarted all over again.

I've been able to reproduce this several times now. Has anyone encountered this while running it on an iGPU?
 
Last edited:
Can you send Blue Iris support this request, I asked him the same.

Heard back from Ken. He said the next version of BI will choose the plate closest to the middle. This will fundamentally break my setup as cars go fast through the centre if the frame usually and the best plates come from nearer the edge. It also depends on whether there are parked cars on the side of the road. Very disappointing that Ken seems to be making it up as he goes along rather than taking careful consideration.
 
Most if us have best capture when the plate is close to center of the image and we don't have our camera directly over the road. Mine are on the house aimed at a 40 degree angle to a spot 175 feet away...

There are always things YOU can do to improve YOUR situation.

The more you zoom in the smaller the area of focus, so maybe you just need to refocus for the plate closer to the center instead of having it focused at the edge.

This is a good thing as too many were getting it to read half the plate because the full plate wasn't in the image yet.

Give this new update a chance before bashing Ken for goodness sake. You may find it fundamentally still works for your situation and if not there will always be ways you can improve YOUR setup if needed.
 
Most if us have best capture when the plate is close to center of the image and we don't have our camera directly over the road. Mine are on the house aimed at a 40 degree angle to a spot 175 feet away...

There are always things YOU can do to improve YOUR situation.

The more you zoom in the smaller the area of focus, so maybe you just need to refocus for the plate closer to the center instead of having it focused at the edge.

This is a good thing as too many were getting it to read half the plate because the full plate wasn't in the image yet.

Give this new update a chance before bashing Ken for goodness sake. You may find it fundamentally still works for your situation and if not there will always be ways you can improve YOUR setup if needed.

sorry I disagree in this case, lots of us have cameras for multi use so the best plate is not necessarily near the centre. I understand having it as an option, but to assume centre is best just because it fits someone’s situation is very restrictive indeed.
 
And I respectfully disagree in your case as most of us have a camera dedicated to LPR duty only as that is the best way to capture plates. Trying to make one camera do too many things results in subpar performance.

How many members in the LPR subforum are only using one camera for overview and LPR duty....basically none as they use a camera set up to only read plates...if it catches something else it is only a bonus...

A caveat to ALPR is that it is assumed that folks are following generally accepted best practice to get plates and that is what this is being designed for, not the person trying to do too much with one camera. AI is great but it will not read a plate 40 feet away with a wide angle 2.8mm fixed lens camera...

Do you really think if there isn't a plate in the middle of the frame that he is writing BI to ignore it? I suspect it will continue to work in your case, but make it better for the rest of us that care more about getting plates than trying to do too much with one camera...

Like I said how about waiting until after the update and seeing if it doesn't work for your use case before bashing it. You may be pleasantly surprised..or you may have to simply adjust motion zones in BI or re-adjust the angle of your camera little bit. Or do like most of us have that care about getting plates and open up the wallet and buy a camera and set it up specifically dialed in to capture plates and nothing else...

Plus I suspect it will end up being a check box that we can check or uncheck like the trigger on leading edge box...

Have you tried OpenALPR or Plate Recognizer with your setup and if so how did it perform?
 
Last edited:
How can you even control that? Surely it would depend on what's happening in the image itself at any given time of day.
For example, I live on a corner lot and 4 of my cams would trigger a car going around the corner. I just have one camera detect the car using AI for reference not all 4 cams. Since all my cameras are on continuous record I can just review the others if needed. At one point if a car came up my alley and then went around the corner, My BI display would light up red and the CPU would spike. So by using strategic cams along with using trip wires or zones (for those pesky cloud/sun days or leaf shadows) I was able to fine tune the system to eliminate false or repeating triggers. Did this happen over nite...lol, more like years !
 
  • Like
Reactions: fenderman
Have you tried OpenALPR or Plate Recognizer with your setup and if so how did it perform?

Rekor Scout was what I used before they hiked the price... That worked almost 100% as it analysed the live video stream and "figured it out". This system is getting 85% of the way there but still getting a lot of false positives. I do occasionally see the "half plate" issue, but mainly it's just the fact that there are 5 "plate" confidence numbers and it doesn't use those, it used the DayPlate percentage instead. Had it just used the "plate" confidence level it would have got it right. The issue as I see it is the position in the frame has no bearing on the quality of the plate.... the one at the centre could be fuzzy as it was moving too fast, for example, or at night the IR catches the plate better at various points, again not necessarily resulting in the best read being in the middle of the frame.

I'd be interested to hear the argument against simply using the plate % confidence as the metric for the one to use.

One thing I am seeing, which is interesting, is quite often it seems to miss off the first letter of the license plate. The boundary box seems to cover it all, but it just doesn't read it.
 
And that is true that different plates may be clearer at different spots in the image. The question is is it clear enough that it can still be read?

But whether the "center of the frame" concept is used or not, there will always be those outliers that if it used the frame just before or after the one used it resulted in a cleaner image. Not sure what can be done about that other than have the program run thru AI EVERY image and then it picks what it thinks is the cleanest one or use the video stream like Rekor does, but again this is a free solution so we shouldn't expect this solution to perform as well as a paid version.

Even though the majority of my plates are clear within the red box, occasionally a car comes thru that it is clearer on the edge than the center. But as long as it can be read, I am good.

1675523712956.png

As you pointed out, Rekor is also a paid service, so they have money, resources, and staff to address this. They will lose paying customers if they cannot get it correct a high percentage of time.

There is a lot that goes into Rekor programming. In the USA, most, if not all, states have a format that their state goes by. They may say the first 3 characters are always letters, so then Rekor codes that so that if a number is seen as the first three characters, it will change it to the closest looking letter. This also requires the additional ability for the AI to recognize states as every state may have a different format. And then you are from the UK, so that is a different set of naming convention.

And then of course you also have specialty/vanity plates, older plates with a different format, etc.

It is surprising Rekor can get it right as often as they do. I still have Rekor (and I use the free version of Plate Recognizer) and they miss sometimes too. The larger the plate is within the entire frame, the better the chance for success.

This CodeProject ALPR program, while great and all, is still a hobbyist type solution, so unless @MikeLud1 clones himself or it becomes a paid subscription service, these types of things will always pop up. It is certainly better than nothing and with a history of plates, it is still valuable. And it is free.

He has busted his butt to get it to where it is now and has done a fabulous job and is continuing to do a great job improving this, but to take it to that next level will require a ton of time and resources. He would have to first figure out how to determine which state the plate is and then program it to their naming convention. You are from a different country than Mike. When does he say it is good enough?

And he may get to a point to where it works for him and thus loses interest in maintaining/supporting this and moves on to something else in his life.
 
I am on latest and greatest BI version. Been on that everyday as it comes out. I forgot to mention it here but I did completely uninstall and nuke the folders and installed CPAI 2.0.7. It still crashes. I’m not getting anywhere near the performance as I used to with just throwing that yolov5l in the custom models folder.

I tried the whole default object detection but it literally crashes the entire computer where it’s not even accessible or shows anything on the monitor. Definitely doing something to the GPU to fully crash it. I have a P1000 GPU. Everything was originally installed using the cuda install script off CPs website. So that has Cuda 12.0 installed.

So for now trying the IPcam-general model to see how that works. Just turned off default object detection. Maybe the yolov5l just isn’t working with this anymore. But still don’t get why it won’t even show it on the list. It’s seems like it’s ignoring it on purpose.

Guess we wait and see how ipcam-general works now. It’s been crashing usually within 8-12hrs. So should know quickly.

So using ipcam-general vs using default object detection went for almost 2days without an issue (not saying at 2days there was an issue, i just stopped it to try my next test). So that sort of rules out the install being wonky, so it looks good. Before as mentioned with default object detection this would crash constantly multiple times a day and even take the computer completely out.

Now going back to the issue of the custom models now recognizing the yolov5l.pt, (again i know i can use default object detection but ive established that seems to cause it to crash for me), I decided to try something. I moved out the ipcam-general.pt and renamed yolov5l.pt to ipcam-general.pt and restarted the server (also renaming the objects from vehicle to car,truck since yolov5l doesnt mark vehicle, has to be car,truck). Now with that method its been working fine now for almost 20hrs. So to me something seems odd with the use of default object detection but seems to work the other way by injecting that same PT file on the same processing engine but using the "custom models" concept.
 
Docker - It was too good to be true for me. It looks like that it will not run on VSphere EXSi.
Don't try and run containers (docker or otherwise) on the hypervisor itself, run a Linux VM and install docker in it. The VM will run the container in docker, not the hypervisor. That is by far the simplest method. You can run containers directly in Proxmox but they use the LXC container and I haven't tried to run docker containers that way as it is so easy to run docker containers in a Linux VM.
 
Even though the majority of my plates are clear within the red box, occasionally a car comes thru that it is clearer on the edge than the center. But as long as it can be read, I am good.

BTW, here is a standard example that I see a lot... BI chooses the closest to the middle even though it can't read the plate.
bad.jpg

Whereas this was available to use...

good.jpg