|
Turning off detect static images reduces the activity in the AI logs, at least it used to. I think BI has to send "requests" periodically to keep track, maybe keeps it busier. Using mainstream seems to increase the amount of rendering.
My times, with ipcam-general, detect persons only, with gpu (Nvidia) run in the 65-75 msec range most of the time. If I change the settings to Mainstream, 250 msec, detect static images and then restart BI service, my times go over 100msec, sometimes in the 120's. I use the 3rd or 4th alerts as the first one or two will be much higher than average. When I go back to my original settings, it seems like I have to restart the BI service to get all the way back. I tend to always restart the service when I make changes.
If the system is busy (I am running the test on an 8 year old machine) the times will jump up for that trigger. This is why I look in the log file for averages. I am running the latest BI and the latest Docker CPAI with gpu.
The times you are seeing seem out in left field. I would run some tests with only one camera, custom model ipcam-general, person only for several triggers. Maybe different cameras one at a time.
Sorry, I am out of ideas. Good luck.
>64
Some days the dragon wins. Suck it up.
|
|
|
|
|
Thanks for your input, but I've already tried running it with one camera only and I still get the same inference times.
I don't send mainstream pictures, and I only detect persons and cars using the ipcam-general model. The default model is even worse performance.
How can I get in contact with @chris-maunder? I was told by someone at ipcamtalk that he might be able to help me.
|
|
|
|
|
Not really, but I spent a great deal of time and effort into optimizing CodeProject.AI to be both highly accurate, and use as few resources as possible.
this is what I use.
1) YOLO (python), HIGH model size, but it is the ONLY module enabled.
2) In BI, I configured ipcam-combined. I know a great deal of people have luck with ipcam-general, but I have found that the detection quality of general is too POOR, and not worth the efficiency trade off. ipcam-general is by far the fastest model out there, but ipcam-combined isn't that much slower. I found that a model with more things in it have fewer false positives. When the model only has people and vehicles, everything looks like a person or vehicle. With enough variety, it can filter out those false positives a lot better. My dog is often a person, but what are you going to do...
I use GPU, but I managed to keep the VRAM usage at a very stable limit of around 2.3-2.4 GB. Overall RAM consumption is only 2.5GB.
Not sure if any of that helps, but...
|
|
|
|
|
No that doesn't help at all since you use a GPU which invalidates everything you said beforehand.
|
|
|
|
|
Member 15744855
I do have BI set up correctly and have been using it for more than 5 years now. According to recommended BI practice, both main and substreams are set to 15FPS... Hardware Acceleration is active. I don't have a single camera, I have 13, and 7 use CPAI when enabled. NOTE: When CPAI is disabled, my CPU load is around +/-12 to ~40% max. When CPAI is enabled the spikes reach 96%. What you wrote are "some common settings for BI, BUT, in this setup, those don't help with the CPAI issues.
|
|
|
|
|
Exactly my point. Thanks for backing me up. Still waiting for @chris-maunder to notice and reply to my post. I don't know how else to get in contact with him.
|
|
|
|
|
It looks like we may be using too many threads, and that is slowing down the processing.
I'm working on a fix, but tuning the algorithm that chooses the number of threads will needs some testing.
"Time flies like an arrow. Fruit flies like a banana."
|
|
|
|
|
Same, I noticed my interface times logged in BI AI analyst is like 1500 - 2000ms?
|
|
|
|
|
Maybe I'm completely missing something, but it would be nice to be able to see in the log if object detection finds anything or not. For example, I would like to see each detection event from start to finish and include a line that says nothing found or vehicle, person etc. found. Right now, I'm not getting that in my log file. Thanks!

|
|
|
|
|
Hi,
I have my Ubuntu running with IPV6 disabled.
CodeProject.AI Server docker will not start and end with an error.
After enabling IPV6 it started up fine.
Maybe this dependency on IPV6 should be removed? I really don't want to enable IPV6 on my PCs.
|
|
|
|
|
my settings, reviewed previous posts that some have shared so I figured id try the same setup:


To Confirm: DayPlate,NightPlate,car,truck,bus,vehicle,person
To Cancel: t
Custom models: license-plate
Mark as Vehicle: DayPlate,NightPlate
Running a previously recorded video through the tester:


Now, as a human, if I zoom in I can read that... so its not for lack of resolution on the camera... so what's going on here?

Specs:
Operating System: Windows (Microsoft Windows 11 version 10.0.22621)
CPUs: 1 CPU x 10 cores. 20 logical processors (x64)
GPU: NVIDIA GeForce RTX 3070 (8 GiB) (NVidia)
Driver: 528.24 CUDA: 12.0 Compute: 8.6
System RAM: 64 GiB
Target: Windows
BuildConfig: Release
Execution Env: Native
Runtime Env: Production
.NET framework: .NET 7.0.2
System GPU info:
GPU 3D Usage 17%
GPU RAM Usage 7.9 GiB
Video adapter info:
NVIDIA GeForce RTX 3070:
Adapter RAM 4 GiB
Driver Version 31.0.15.2824
Video Processor NVIDIA GeForce RTX 3070
Intel(R) UHD Graphics 630:
Adapter RAM 1,024 MiB
Driver Version 31.0.101.2115
Video Processor Intel(R) UHD Graphics Family
Global Environment variables:
CPAI_APPROOTPATH = C:\Program Files\CodeProject\AI
CPAI_PORT = 32168
even tried a simple screenshot to test... same result


|
|
|
|
|
Your plates look too small to me to be read.
Does the plate reader work with a known good image?
|
|
|
|
|
Too small of image. CPAI does not zoom in. Also, that is a very steep angle for camera.
|
|
|
|
|
What? its 3840 x 2160!
I don't see how angle in this case is a factor as the plate is readable.
|
|
|
|
|
I am pretty sure ALPR is only sent a lot lower resolution picture to analyze, like 640x640...not sure what that model runs at. The more straight on of angle the better. I'm not an expert by no means on this topic, but I do know ALPR will never recognize that plate number from that picture.
Here is a good thread:
New to LPR? Considerations Before You Begin | IP Cam Talk[^]
|
|
|
|
|
When the ALPR module receives an image (preferably at full resolution main stream) it will run the image using the license-plate model (this will be at 640x640). If the license-plate model finds a license plate the ALPR module will crop the found license plate at full resolution. After cropping the plate it will run OCR on the cropped plate to find the characters. After finding the characters it will return the results.
|
|
|
|
|
So i still cant use this because the functionality of first dividing the main picture into sub 640x640 images isn't done yet before then analyzing each part of the whole.
|
|
|
|
|
I have CodeProject running YOLO for BlueIris on a security camera setup. It's working really well for the most part but there are a few challenging situations that are causing some issues. And also this is partly just following my curiosity on the topic:
I don't necessarily want to train an entirely new model or set of models (or at least I don't think I do). But I'm wondering if there's a semi-easy way to basically start with the training set from the default model and just add in some of my own images. I'm thinking some of the ones with false positives so it can learn from the lack of an object tag where it threw a false positive (not sure if that's compatible with how the system actually learns or not). And then also inversely some where it missed the detection, tagged correctly as well.
Is this a reasonable approach to try to further improve things for my particular install? If so, how many additional training images is it likely to take to move the needle?
|
|
|
|
|
|
|
Help? I went and looked at the install logs and not sure why this is happening.
Timed out attempting to install Module 'ALPR'
|
|
|
|
|
It could be an issue downloading the Paddle packages. The repository where they are stored is proving to be a little unreliable.
Go to C:\Program Files\CodeProject\AI\modules\ALPR, open a terminal window, and type ..\..setup.bat . That should restart the install process for the ALPR module
cheers
Chris Maunder
modified 31-Jan-23 15:50pm.
|
|
|
|
|
I am on a Windows machine. The only thing in there is an install.bat which tells me it can only be run from elsewhere.
I have tried numerous times to install, delete and reinstall the program with no luck. My download speed is approximately 30-40Mbps and stable. My system info.

|
|
|
|
|
Sorry, the markdown formatter nuked my path. It's ..\..\setup.bat

You call this script from the directory containing the module to setup.
You are in: C:\Program Files\CodeProject\AI\modules\ALPR
You call: ..\..\setup.bat
-> this will invoke: C:\Program Files\CodeProject\AI\setup.bat
C:\Program Files\CodeProject\AI\modules\ALPR will be the working directory. Magic will happen.
cheers
Chris Maunder
|
|
|
|
|
It got stuck right here. I made sure all the permissions were good like you asked. I am going to totally uninstall and reinstall one more time. Then I think I will be done for a while if this doesn't work. I was hoping to get away from OpenAlpr but maybe not just yet.

|
|
|
|