CodeProject.AI Version 2.0

harleyl7

Pulling my weight
Joined
Jun 4, 2021
Messages
260
Reaction score
223
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
 

harleyl7

Pulling my weight
Joined
Jun 4, 2021
Messages
260
Reaction score
223
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
 

MikeLud1

IPCT Contributor
Joined
Apr 5, 2017
Messages
2,225
Reaction score
4,279
Location
Brooklyn, NY
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
 

harleyl7

Pulling my weight
Joined
Jun 4, 2021
Messages
260
Reaction score
223
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.
 

Vettester

Getting comfortable
Joined
Feb 5, 2017
Messages
754
Reaction score
713
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
 

MikeLud1

IPCT Contributor
Joined
Apr 5, 2017
Messages
2,225
Reaction score
4,279
Location
Brooklyn, NY
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
 

CCTVCam

Known around here
Joined
Sep 25, 2017
Messages
2,678
Reaction score
3,514
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.
 

MikeLud1

IPCT Contributor
Joined
Apr 5, 2017
Messages
2,225
Reaction score
4,279
Location
Brooklyn, NY
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
 

M4DM4NZ

Young grasshopper
Joined
Mar 15, 2022
Messages
48
Reaction score
17
Location
Australia
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?
 

CCTVCam

Known around here
Joined
Sep 25, 2017
Messages
2,678
Reaction score
3,514
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.
 

Swampledge

Getting comfortable
Joined
Apr 9, 2021
Messages
210
Reaction score
470
Location
Connecticut
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.
 

MikeLud1

IPCT Contributor
Joined
Apr 5, 2017
Messages
2,225
Reaction score
4,279
Location
Brooklyn, NY
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
 

MikeLud1

IPCT Contributor
Joined
Apr 5, 2017
Messages
2,225
Reaction score
4,279
Location
Brooklyn, NY
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
 

harleyl7

Pulling my weight
Joined
Jun 4, 2021
Messages
260
Reaction score
223
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:
Top