CodeProject.AI Version 2.0

Post a screenshot of the dashboard. I found the below on the unraid forum that might help

this seems to be passing through to VMs - I just think DirectML doesn't work with Linux
 
  • Sad
Reactions: MikeLud1
Just doing a little testing and it seems my docker container with E2176G .NET, no iGPU running does much better than i5-6500 iGPU (DirectML). I dont have the exact response time from the CPU from docker on unraid. but on directml w/ i5-6500 its like this:

18:36:42:Client request 'custom' in queue 'objectdetection_queue' (...2827a5)
18:36:42:Client request 'detect' in queue 'objectdetection_queue' (...d8863e)
18:36:42:Object Detection (YOLOv5 .NET): Command completed in 1199 ms.
18:36:42:Request 'detect' dequeued from 'objectdetection_queue' (...770734)
18:36:42:Response received (...333c41): Found person
18:36:42:Client request 'custom' in queue 'objectdetection_queue' (...f787d2)
18:36:43:Response received (...e4de16): No objects found
18:36:43:Request 'detect' dequeued from 'objectdetection_queue' (...2313fd)
18:36:43:Object Detection (YOLOv5 .NET): Command completed in 428 ms.
18:36:43:Object Detection (YOLOv5 .NET): Command completed in 1377 ms.
18:36:43:Request 'custom' dequeued from 'objectdetection_queue' (...5f49b9)
18:36:43:Response received (...71adf9): No objects found
18:36:43:Client request 'custom' in queue 'objectdetection_queue' (...f2e374)
18:36:44:Request 'detect' dequeued from 'objectdetection_queue' (...41d108)
18:36:44:Response received (...770734): Found person
18:36:44:Object Detection (YOLOv5 .NET): Command completed in 920 ms.
18:36:44:Client request 'custom' in queue 'objectdetection_queue' (...52d36d)
18:36:44:Request 'detect' dequeued from 'objectdetection_queue' (...c4013b)
18:36:44:Response received (...c084ea): No objects found
18:36:44:Object Detection (YOLOv5 .NET): Command completed in 1118 ms.
18:36:44:Client request 'custom' in queue 'objectdetection_queue' (...724571)
18:36:45:Object Detection (YOLOv5 .NET): Command completed in 431 ms.
18:36:45:Request 'detect' dequeued from 'objectdetection_queue' (...f1fae5)
18:36:45:Response received (...5f49b9): No objects found
18:36:45:Object Detection (YOLOv5 .NET): Command completed in 1329 ms.
18:36:45:Request 'custom' dequeued from 'objectdetection_queue' (...a4d6c0)
18:36:45:Response received (...2313fd): Found person
18:36:45:Client request 'custom' in queue 'objectdetection_queue' (...c6f1d4)
18:36:45:Object Detection (YOLOv5 .NET): Command completed in 912 ms.
18:36:45:Request 'detect' dequeued from 'objectdetection_queue' (...cdac10)
18:36:45:Response received (...c4013b): Found person
18:36:45:Client request 'custom' in queue 'objectdetection_queue' (...8a73ff)
18:36:46:Object Detection (YOLOv5 .NET): Command completed in 1143 ms.
18:36:46:Request 'detect' dequeued from 'objectdetection_queue' (...49f85f)
18:36:46:Response received (...41d108): No objects found
18:36:46:Client request 'custom' in queue 'objectdetection_queue' (...d607f4)
18:36:47:Object Detection (YOLOv5 .NET): Command completed in 481 ms.
18:36:47:Request 'custom' dequeued from 'objectdetection_queue' (...2827a5)
18:36:47:Response received (...a4d6c0): No objects found
18:36:47:Object Detection (YOLOv5 .NET): Command completed in 1410 ms.
18:36:47:Request 'detect' dequeued from 'objectdetection_queue' (...d8863e)
18:36:47:Response received (...f1fae5): Found person
18:36:47:Client request 'custom' in queue 'objectdetection_queue' (...c53267)
18:36:47:Object Detection (YOLOv5 .NET): Command completed in 905 ms.
18:36:47:Request 'custom' dequeued from 'objectdetection_queue' (...f787d2)
18:36:47:Response received (...49f85f): Found person
18:36:47:Client request 'custom' in queue 'objectdetection_queue' (...8c5f1a)
18:36:48:Request 'custom' dequeued from 'objectdetection_queue' (...f2e374)
18:36:48:Response received (...2827a5): No objects found
18:36:48:Object Detection (YOLOv5 .NET): Command completed in 508 ms.
18:36:48:Object Detection (YOLOv5 .NET): Command completed in 454 ms.
18:36:48:Request 'custom' dequeued from 'objectdetection_queue' (...52d36d)
18:36:48:Response received (...f787d2): No objects found
18:36:49:Object Detection (YOLOv5 .NET): Command completed in 1646 ms.
18:36:49:Request 'custom' dequeued from 'objectdetection_queue' (...724571)
18:36:49:Response received (...cdac10): Found person
18:36:49:Client request 'custom' in queue 'objectdetection_queue' (...370897)
18:36:49:Object Detection (YOLOv5 .NET): Command completed in 451 ms.
18:36:49:Request 'custom' dequeued from 'objectdetection_queue' (...c6f1d4)
18:36:49:Response received (...f2e374): No objects found
18:36:49:Object Detection (YOLOv5 .NET): Command completed in 398 ms.
18:36:49:Request 'custom' dequeued from 'objectdetection_queue' (...8a73ff)
18:36:49:Response received (...52d36d): No objects found
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 1182 ms.
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...d607f4)
18:36:50:Response received (...d8863e): Found person
18:36:50:Client request 'custom' in queue 'objectdetection_queue' (...73383d)
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 474 ms.
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...c53267)
18:36:50:Response received (...c6f1d4): No objects found
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 230 ms.
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...8c5f1a)
18:36:50:Response received (...724571): No objects found
18:36:50:Response received (...8a73ff): Found person
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...370897)
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 449 ms.
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 467 ms.
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...73383d)
18:36:50:Response received (...d607f4): No objects found
18:36:51:Object Detection (YOLOv5 .NET): Command completed in 469 ms.
18:36:51:Response received (...c53267): Found person
18:36:51:Response received (...8c5f1a): Found person
18:36:51:Object Detection (YOLOv5 .NET): Command completed in 474 ms.
18:36:51:Object Detection (YOLOv5 .NET): Command completed in 474 ms.
18:36:51:Response received (...370897): Found person
18:36:51:Object Detection (YOLOv5 .NET): Command completed in 470 ms.
18:36:51:Response received (...73383d): Found person
 
Just doing a little testing and it seems my docker container with E2176G .NET, no iGPU running does much better than i5-6500 iGPU (DirectML). I dont have the exact response time from the CPU from docker on unraid. but on directml w/ i5-6500 its like this:

18:36:42:Client request 'custom' in queue 'objectdetection_queue' (...2827a5)
18:36:42:Client request 'detect' in queue 'objectdetection_queue' (...d8863e)
18:36:42:Object Detection (YOLOv5 .NET): Command completed in 1199 ms.
18:36:42:Request 'detect' dequeued from 'objectdetection_queue' (...770734)
18:36:42:Response received (...333c41): Found person
18:36:42:Client request 'custom' in queue 'objectdetection_queue' (...f787d2)
18:36:43:Response received (...e4de16): No objects found
18:36:43:Request 'detect' dequeued from 'objectdetection_queue' (...2313fd)
18:36:43:Object Detection (YOLOv5 .NET): Command completed in 428 ms.
18:36:43:Object Detection (YOLOv5 .NET): Command completed in 1377 ms.
18:36:43:Request 'custom' dequeued from 'objectdetection_queue' (...5f49b9)
18:36:43:Response received (...71adf9): No objects found
18:36:43:Client request 'custom' in queue 'objectdetection_queue' (...f2e374)
18:36:44:Request 'detect' dequeued from 'objectdetection_queue' (...41d108)
18:36:44:Response received (...770734): Found person
18:36:44:Object Detection (YOLOv5 .NET): Command completed in 920 ms.
18:36:44:Client request 'custom' in queue 'objectdetection_queue' (...52d36d)
18:36:44:Request 'detect' dequeued from 'objectdetection_queue' (...c4013b)
18:36:44:Response received (...c084ea): No objects found
18:36:44:Object Detection (YOLOv5 .NET): Command completed in 1118 ms.
18:36:44:Client request 'custom' in queue 'objectdetection_queue' (...724571)
18:36:45:Object Detection (YOLOv5 .NET): Command completed in 431 ms.
18:36:45:Request 'detect' dequeued from 'objectdetection_queue' (...f1fae5)
18:36:45:Response received (...5f49b9): No objects found
18:36:45:Object Detection (YOLOv5 .NET): Command completed in 1329 ms.
18:36:45:Request 'custom' dequeued from 'objectdetection_queue' (...a4d6c0)
18:36:45:Response received (...2313fd): Found person
18:36:45:Client request 'custom' in queue 'objectdetection_queue' (...c6f1d4)
18:36:45:Object Detection (YOLOv5 .NET): Command completed in 912 ms.
18:36:45:Request 'detect' dequeued from 'objectdetection_queue' (...cdac10)
18:36:45:Response received (...c4013b): Found person
18:36:45:Client request 'custom' in queue 'objectdetection_queue' (...8a73ff)
18:36:46:Object Detection (YOLOv5 .NET): Command completed in 1143 ms.
18:36:46:Request 'detect' dequeued from 'objectdetection_queue' (...49f85f)
18:36:46:Response received (...41d108): No objects found
18:36:46:Client request 'custom' in queue 'objectdetection_queue' (...d607f4)
18:36:47:Object Detection (YOLOv5 .NET): Command completed in 481 ms.
18:36:47:Request 'custom' dequeued from 'objectdetection_queue' (...2827a5)
18:36:47:Response received (...a4d6c0): No objects found
18:36:47:Object Detection (YOLOv5 .NET): Command completed in 1410 ms.
18:36:47:Request 'detect' dequeued from 'objectdetection_queue' (...d8863e)
18:36:47:Response received (...f1fae5): Found person
18:36:47:Client request 'custom' in queue 'objectdetection_queue' (...c53267)
18:36:47:Object Detection (YOLOv5 .NET): Command completed in 905 ms.
18:36:47:Request 'custom' dequeued from 'objectdetection_queue' (...f787d2)
18:36:47:Response received (...49f85f): Found person
18:36:47:Client request 'custom' in queue 'objectdetection_queue' (...8c5f1a)
18:36:48:Request 'custom' dequeued from 'objectdetection_queue' (...f2e374)
18:36:48:Response received (...2827a5): No objects found
18:36:48:Object Detection (YOLOv5 .NET): Command completed in 508 ms.
18:36:48:Object Detection (YOLOv5 .NET): Command completed in 454 ms.
18:36:48:Request 'custom' dequeued from 'objectdetection_queue' (...52d36d)
18:36:48:Response received (...f787d2): No objects found
18:36:49:Object Detection (YOLOv5 .NET): Command completed in 1646 ms.
18:36:49:Request 'custom' dequeued from 'objectdetection_queue' (...724571)
18:36:49:Response received (...cdac10): Found person
18:36:49:Client request 'custom' in queue 'objectdetection_queue' (...370897)
18:36:49:Object Detection (YOLOv5 .NET): Command completed in 451 ms.
18:36:49:Request 'custom' dequeued from 'objectdetection_queue' (...c6f1d4)
18:36:49:Response received (...f2e374): No objects found
18:36:49:Object Detection (YOLOv5 .NET): Command completed in 398 ms.
18:36:49:Request 'custom' dequeued from 'objectdetection_queue' (...8a73ff)
18:36:49:Response received (...52d36d): No objects found
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 1182 ms.
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...d607f4)
18:36:50:Response received (...d8863e): Found person
18:36:50:Client request 'custom' in queue 'objectdetection_queue' (...73383d)
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 474 ms.
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...c53267)
18:36:50:Response received (...c6f1d4): No objects found
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 230 ms.
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...8c5f1a)
18:36:50:Response received (...724571): No objects found
18:36:50:Response received (...8a73ff): Found person
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...370897)
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 449 ms.
18:36:50:Object Detection (YOLOv5 .NET): Command completed in 467 ms.
18:36:50:Request 'custom' dequeued from 'objectdetection_queue' (...73383d)
18:36:50:Response received (...d607f4): No objects found
18:36:51:Object Detection (YOLOv5 .NET): Command completed in 469 ms.
18:36:51:Response received (...c53267): Found person
18:36:51:Response received (...8c5f1a): Found person
18:36:51:Object Detection (YOLOv5 .NET): Command completed in 474 ms.
18:36:51:Object Detection (YOLOv5 .NET): Command completed in 474 ms.
18:36:51:Response received (...370897): Found person
18:36:51:Object Detection (YOLOv5 .NET): Command completed in 470 ms.
18:36:51:Response received (...73383d): Found person
Just make sure that you are not sending Main Stream images, it does not help with accuracy only slows down the detection
 
Just make sure that you are not sending Main Stream images, it does not help with accuracy only slows down the detection
Yeah I found some screenshots you posted and implemented those settings. Maybe the i5-6500 just isn't up to the task for faster detection times.
 
Hey @MikeLud1, I broke one of my CPAI servers and am hoping you can steer me in the right direction. Not sure what I installed, but apparently I now have a newer version of urllib3 that is not supported by CPAI. Here's what I'm seeing in my CPAI server log:

17:44:59:ObjectDetectionYolo: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
17:44:59:ObjectDetectionYolo: botocore 1.31.44 requires urllib3<1.27,>=1.25.4, but you have urllib3 2.0.4 which is incompatible.
17:44:59:ObjectDetectionYolo: google-auth 2.22.0 requires urllib3<2.0, but you have urllib3 2.0.4 which is incompatible.


Any thoughts on how to resolve this?

TIA
 
Hey @MikeLud1, I broke one of my CPAI servers and am hoping you can steer me in the right direction. Not sure what I installed, but apparently I now have a newer version of urllib3 that is not supported by CPAI. Here's what I'm seeing in my CPAI server log:

17:44:59:ObjectDetectionYolo: ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
17:44:59:ObjectDetectionYolo: botocore 1.31.44 requires urllib3<1.27,>=1.25.4, but you have urllib3 2.0.4 which is incompatible.
17:44:59:ObjectDetectionYolo: google-auth 2.22.0 requires urllib3<2.0, but you have urllib3 2.0.4 which is incompatible.


Any thoughts on how to resolve this?

TIA
The urllib3 error can be ignored, CPAI server should work. Does CPAI work?

1694396280419.png
 
I run Yolo 5 6.2 Successfully with CPU alone.

Personally I don't like the .net version because any issue with your internet and it times out and you miss all the alerts until the internet is restored. Theres a lot to be said for local processing.
 
I run Yolo 5 6.2 Successfully with CPU alone.

Personally I don't like the .net version because any issue with your internet and it times out and you miss all the alerts until the internet is restored. Theres a lot to be said for local processing.
The .NET module only relies on the internet when installing the module just like any other module installation including the Yolo 5 6.2. Otherwise it runs locally
 
Bloody Spiders!!!!

Regarding false positives when using CPAI 2.0.8 with Object Detection (YOLOv5 .NET), I have a 85% min confidence filter for "person" and still the bloody spiders are triggering alerts.

is it worth using a custom model to get less false positives? or somehow adjusting the image scale of whats considered a person?

Like when the spiders right on the lens taking up 70% of the screen and its still getting triggered as a person, that an obvious flag to tell it cant be a person.

it works the other way to, bloody birds!!! their far to tiny to be a person, yet still getting triggered.

Any thoughts on what to do here?
 
  • Like
Reactions: jrbeddow
The .NET module only relies on the internet when installing the module just like any other module installation including the Yolo 5 6.2. Otherwise it runs locally

That's strange because if I'm using it and my internet drops out which it does frequently, alerts time out and go un-analyzed. By contrast with Yolo 5 6.2, they're alwyas analysed regardless.
 
Bloody Spiders!!!!

Regarding false positives when using CPAI 2.0.8 with Object Detection (YOLOv5 .NET), I have a 85% min confidence filter for "person" and still the bloody spiders are triggering alerts.

is it worth using a custom model to get less false positives? or somehow adjusting the image scale of whats considered a person?

Like when the spiders right on the lens taking up 70% of the screen and its still getting triggered as a person, that an obvious flag to tell it cant be a person.

it works the other way to, bloody birds!!! their far to tiny to be a person, yet still getting triggered.

Any thoughts on what to do here?
What I do is maintain low expectations for the “intelligence” portion of AI. I have a camera where I found rabbits were most often detected as birds, so I alert on rabbits and birds. I want to be alerted if deer are present, and during one rainstorm I kept getting “deer” alerts because of a clump of weeds that resembled a running deer. Last week, during a thunderstorm, I was alerted to a “dog” in the backyard that was actually a hose cart. And, just today, setting up the delivery custom model to alert me when the mail truck comes up the road, a Snap-On tool truck was identified as a FedEx truck with 90% confidence!

In my experience , the AI greatly reduces false alerts from spider webs, shadows, and wind-blown trees, but it’s not yet good enough that I’d trust it enough to allow it to disturb my sleep.
 
Which module do I use for a GTX 1060?
You can use the Object Detection (YOLOv5 .NET) module or the Object Detection (YOLOv5 6.2). If you use the Object Detection (YOLOv5 6.2) module you will need to install CUDA 11.8 and cuDNN for CUDA 11.x.
I find the Object Detection (YOLOv5 .NET) module to be faster then the Object Detection (YOLOv5 6.2) module using my RTX 3060 and RTX 4090
 
  • Like
Reactions: harleyl7
That's strange because if I'm using it and my internet drops out which it does frequently, alerts time out and go un-analyzed. By contrast with Yolo 5 6.2, they're alwyas analysed regardless.
I will do some testing later this week to see if I can reproduce what you are seeing
 
  • Like
Reactions: CCTVCam
You can use the Object Detection (YOLOv5 .NET) module or the Object Detection (YOLOv5 6.2). If you use the Object Detection (YOLOv5 6.2) module you will need to install CUDA 11.8 and cuDNN for CUDA 11.x.
I find the Object Detection (YOLOv5 .NET) module to be faster then the Object Detection (YOLOv5 6.2) module using my RTX 3060 and RTX 4090
Sweet thank you. I'll stick with .NET then. Will it also be listed as directML? Do you have a picture of your dashboard recently? Also, setting from the main AI tab on BI.
 
Last edited: