CodeProject.AI Version 2.0

Model size has to do with the amount of training data that is in the model file, the more data the better the accuracy, the downside is the more data does slowdown how fast the model can detect objects.

View attachment 154013
View attachment 154011
View attachment 154014

Half-Precision has to do with the format of the data that is being calculate. Some GPU can not do Half-Precision calculations, they are listed below.

Python:
no_half = ["TU102","TU104","TU106","TU116", "TU117",
            "GeoForce GT 1030", "GeForce GTX 1050","GeForce GTX 1060",
            "GeForce GTX 1060","GeForce GTX 1070","GeForce GTX 1080",
            "GeForce RTX 2060", "GeForce RTX 2070", "GeForce RTX 2080",
            "GeForce GTX 1650", "GeForce GTX 1660", "MX550", "MX450",
            "Quadro RTX 8000", "Quadro RTX 6000", "Quadro RTX 5000", "Quadro RTX 4000"
            # "Quadro P1000", - this works with half!
            "Quadro P620", "Quadro P400",
            "T1000", "T600", "T400","T1200","T500","T2000",
            "Tesla T4"]

View attachment 154015
Thanks Mike for all your help.
I'm running Blue Iris Default detection or Custom.
I have a EVGA GeForce RTX 2060 12GB XC Black Gaming, 12G-P4-2261-KR card.
I see it's on the list as not supporting half precision.
When I look up the specs they say it is supported.
Is this only some interaction with CodeProject?
I only run yolov5 6.2 GPU Cuda enabled with half precision enabled model size large.
When I click on Info it shows half precision enabled.
Can you tell me if half precision is being disabled even though I enabled it and the log shows enabled?
I've always run these settings and have had no issue with detection or detection times.
What kind of issue would I see if I forced half precision and it wasn't supported?
 
I’ll be setting up Blue Iris in the next couple days for a brand new install. Sounds like I should go with CPAI from the get go, eh?

That is up to you, but many of us would suggest getting used to BI and getting it to work first before jumping into the AI.

And then of course, depending on the cameras you have, the AI in that may be more than sufficient for your needs.

The camera AI is useful to many people, but BI has way more motion setting granularity than the cameras, and some people need that additional detail, especially if wanting AI for more than a car or person.

There isn't really a best practice because every field of view is different and use case and needs are different.

To many here, BI motion is more than adequate for what they do.

To many here, camera AI is more than adequate for what they do.

To many here, using the BI AI adds additional functionality that the above alone can not do.

It comes down to testing with each field of view and which one gives you the most consistent results.

If you decide to go with the camera AI, then set up the IVS rules within the camera and let it do its thing!

Go into the camera and set up smart plan with IVS, then go to the IVS screen and draw IVS rules (tripwire or intrusion box) and then select the AI you want it to trigger on (human or vehicle).

Then in BI, there are a few places you need to set this up in BI (assuming you already set up the IVS rules in the camera GUI):

In Camera configure setting check the box "Get ONVIF triggers".

Hit Find/Inspect on the camera setting to pull the coding for the triggers.

Go into Motion Setting and select the "Cameras digital input" box.

On the Alerts tab uncheck the Motions Zones tab (those are alerting you to any BI motion in those areas in Zones A thru H)

On the alerts tab set up how to be notified.


 
That is up to you, but many of us would suggest getting used to BI and getting it to work first before jumping into the AI.
yes, yes, yes, yes, and yes! Everything @wittaj said, but I'll say it stronger. Please don't jump into the AI until you've spent sufficient time that you REALLY understand the BI triggers & alerts & ONVIF triggers and how they work at every level. Otherwise you risk having problems (& asking questions) about the AI when the root cause might not have anything to do with it. Crawl, walk, run.
 
That is up to you, but many of us would suggest getting used to BI and getting it to work first before jumping into the AI.

And then of course, depending on the cameras you have, the AI in that may be more than sufficient for your needs.

The camera AI is useful to many people, but BI has way more motion setting granularity than the cameras, and some people need that additional detail, especially if wanting AI for more than a car or person.

There isn't really a best practice because every field of view is different and use case and needs are different.

To many here, BI motion is more than adequate for what they do.

To many here, camera AI is more than adequate for what they do.

To many here, using the BI AI adds additional functionality that the above alone can not do.

It comes down to testing with each field of view and which one gives you the most consistent results.

If you decide to go with the camera AI, then set up the IVS rules within the camera and let it do its thing!

Go into the camera and set up smart plan with IVS, then go to the IVS screen and draw IVS rules (tripwire or intrusion box) and then select the AI you want it to trigger on (human or vehicle).

Then in BI, there are a few places you need to set this up in BI (assuming you already set up the IVS rules in the camera GUI):

In Camera configure setting check the box "Get ONVIF triggers".

Hit Find/Inspect on the camera setting to pull the coding for the triggers.

Go into Motion Setting and select the "Cameras digital input" box.

On the Alerts tab uncheck the Motions Zones tab (those are alerting you to any BI motion in those areas in Zones A thru H)

On the alerts tab set up how to be notified.



Ok will do. I’ll worry about AI down the road then. I saw another post that said Blue Iris is asking if you want to install CPAI at the same time which got me thinking.
 
yes, yes, yes, yes, and yes! Everything @wittaj said, but I'll say it stronger. Please don't jump into the AI until you've spent sufficient time that you REALLY understand the BI triggers & alerts & ONVIF triggers and how they work at every level. Otherwise you risk having problems (& asking questions) about the AI when the root cause might not have anything to do with it. Crawl, walk, run.

Good advice and will heed the warning.
 
Not sure what the use case would be for sub 100 ms speeds?

On my street, I have one cloned camera looking for delivery vehicles driving by (3+ w/ 100msec interval). About 25' down the same street, I have an lpr cam making plates (5+ w/ 100msec interval). That same lpr cam is cloned and using combined to make people (3+ w/ 250msec interval). When a car drives by ~25mph, this results in these 3 items sending to AI quickly... that's 11images, 5 of them main stream, pretty much with in 2-3sec. Say my makes were ~200msec... that's 2.2sec to make 'em all... pushing CPU to get pegged already.

Now at my front door, I have a doorbell cam looking for people (3+ at 0.5msec), a package cam looking for packages (5+ at 1sec), and a walkway camera looking for people (3+/0.5msec). So when someone walks up my walkway at more than a turtle pace, there can be 11images sent to AI within a second or 2

Now, leaving out the other 3 cameras looking for people on my system... just the 2 areas mentioned above are very active, and frequently both get triggered at the same time. This often leads to 22 images that AI has to sort out very quickly, or the system will get pegged, resulting in all kinds of issues (BI may miss motion, AI confirms skipped, etc). 22 images that preferably need to be cleared out in a second or so to prevent issues with retriggers and other cameras. Even ~70msec I get with my lowly p400 is stretching it, but it works smoothly 99% of the time. There are things I could change to reduce this problem, where a gpu may not be needed anymore. However I did not want to compromise by sending fewer images, or worse yet having to eliminate one or more of my triggers altogether. I can think of many situations where CPU would be totally adequate. However it's easy to drum up a requirement where you can get lots of AI images at once, and a gpu is nice to have for that.
 
Last edited:
  • Like
Reactions: aesterling
reverted my system back to bi ver 5.6.9.8 and cpai to 1.6.8 and its running flawless...i just got some different ram higher bus speed ddr4 gonna reload cpai 2.07 shortly and do more troubleshooting see if i can pinpoint whats causing my reboot issue in 2.0.7..just tried fresh install of 2.07 with yolov 6.2, 3.1 and .net and cpu....i have no idea whats going on, but as it stands i cannot run version 2.x...reverting back to 1.6.8 which was the last one i have been able to get stable, and just going to leave it there...i have no use for the plate reader anyway
 
Last edited:
Sorry,I might have missed the thread but after installing 2.0.7 version over the previous (1.0.x) i am not able to see the server control panel. It is still the old panel.Is there any instructions anywhere on how to change it?
 
Sorry,I might have missed the thread but after installing 2.0.7 version over the previous (1.0.x) i am not able to see the server control panel. It is still the old panel.Is there any instructions anywhere on how to change it?
Refresh the page by doing Ctrl + R
 
Hi, just updated to 2.0.7 and BI 5.7.0.2. In the AI settings for Default Object Detection, the drop down for complexity/sensitivity is blank. I used to have it set to "Medium". Anyone know if this is the expected behavior now?

When updating CPAI, I shut down BI, uninstalled the old CPAI first, deleted the Program Files folder for it and rebooted before installing 2.0.7. Object detection seems to be working, but looks like it is taking 2000+ ms instead of 200-500ms on the older version.
 
Hi, just updated to 2.0.7 and BI 5.7.0.2. In the AI settings for Default Object Detection, the drop down for complexity/sensitivity is blank. I used to have it set to "Medium". Anyone know if this is the expected behavior now?

When updating CPAI, I shut down BI, uninstalled the old CPAI first, deleted the Program Files folder for it and rebooted before installing 2.0.7. Object detection seems to be working, but looks like it is taking 2000+ ms instead of 200-500ms on the older version.

5.7.0.1 shows items on mine but like you stated they are missing on 5.7.0.2.
 
  • Like
Reactions: blulegend
I used some AI (ChatGPT) to explain the difference between the yolov5 model sizes, below is it's response.

View attachment 154016
View attachment 154022


How can I tell which model I'm currently using? The CPAI status page shows "Object Detection (YOLOv5 6.2) GPU(CUDA). I see the options to choose choose the model size but not what my current model size is. Sorry for a potential stupid question, I searched here and the CPAI page. Thanks
 
How can I tell which model I'm currently using? The CPAI status page shows "Object Detection (YOLOv5 6.2) GPU(CUDA). I see the options to choose choose the model size but not what my current model size is. Sorry for a potential stupid question, I searched here and the CPAI page. Thanks
Click Info

1676341695288.png
 
Ended up upgrading my BI installation to 5.6.9.8 but that somehow broke CPAI 1.6 (no alerts). So now I upgraded to CPAI 2.0.7 and it is still not working. Blue Iris custom models field is blank and it only tells me to "Restart the AI" to fix it which I've done. I've restarted the BI machine to no avail. CPAI is running via the Dashboard (CPU only YOLO v.5 6.2; the .NET version isn't installed) and BI is running as a service.

What is the fix for no custom models appearing in BI??

Edit: So I stopped the AI from within the BI settings, waited for about 60 seconds, and then restarted it. BI threw an error on the restart saying it "couldn't start CPAI" but it did restart it and now I see the full list of custom modules. So perhaps it is working now? I'm not physically there to test by walking in front of a camera so that will have to wait till later but at least I see the custom models now in BI.
 
Last edited:
Ended up upgrading my BI installation to 5.6.9.8 but that somehow broke CPAI 1.6 (no alerts). So now I upgraded to CPAI 2.0.7 and it is still not working. Blue Iris custom models field is blank and it only tells me to "Restart the AI" to fix it which I've done. I've restarted the BI machine to no avail. CPAI is running via the Dashboard (CPU only YOLO v.5 6.2; the .NET version isn't installed) and BI is running as a service.

What is the fix for no custom models appearing in BI??

Edit: So I stopped the AI from within the BI settings, waited for about 60 seconds, and then restarted it. BI threw an error on the restart saying it "couldn't start CPAI" but it did restart it and now I see the full list of custom modules. So perhaps it is working now? I'm not physically there to test by walking in front of a camera so that will have to wait till later but at least I see the custom models now in BI.

It's been stated many times, ALWAYS restart computer after any BI update OR a CPAI install.
 
So I stopped the AI from within the BI settings, waited for about 60 seconds, and then restarted it. BI threw an error on the restart saying it "couldn't start CPAI" but it did restart it and now I see the full list of custom modules. So perhaps it is working now?

It sounds like your system is behaving similar to how mine does. You will likely have continued issues after rebooting unless you make a change to the window services startup for BI. Be default, both BI and CPAI services are set to start automatically. BI has to be changed to "Delayed startup" to allow more time for CPAI to be fully up and running first.

This settings is found by clicking the start button, typing "services", opening the services app, find blue iris on the list, pick delayed startup from the dropdown box, and save. Now when you restart the PC everything should behave as expected.
 
  • Like
Reactions: 105437