|
The MobileNet models are the oldest ones. Are you able to use the YOLO models? They are newer and should perform the best. Next I would experiment with using a model larger than small.
|
|
|
|
|
iv changed to Medium and Yolo, but why is on the Explorer Yolo5 and on the Module Setting Yolo8? whats correct?
must i change something on BLueiris too?
|
|
|
|
|
Looks like one of the numbers wasn’t changed in the interface. How is it working for you?
|
|
|
|
|
NOt really...
My car is a TV
My Heatpump is a car
My trash is a suitcase or a toilet
same picture on 2.5.1 and 2.5.4
2.5.1 looks good
and here with 2.5.4, not good
|
|
|
|
|
Could you post some of the originals so I can run some tests on them?
|
|
|
|
|
here is it
|
|
|
|
|
Here are all the models. cars_test.zip - Google Drive[^]
Notes:
All models were run on a Coral TPU with an 8-bit model.
The non-YOLO models were downloaded from the Coral example models page.
The input image has been stretched to fit the input tensor of the model. So 300x300 or 640x640, etc. One YOLOv8 model has an input that was stretched during model creation to already fit a landscape aspect ratio.
If the file is missing, nothing was found
|
|
|
|
|
I would tend to agree with you!
Using the v2.5.6 and a Coral with v2.1.4 - I have tried using Yolo, MobileNet and EfficientDet, I've had all sorts of results, ranging from Teddy Bear, TV, surfboard
I've gone back to using YOLLOv4 .NET on my CPU which is at least picking me up when I walk out of my front door, previously I wasn't getting anything
|
|
|
|
|
Hello,
how can i see if all my TPUs are used?
I have one Dual TPU in M.2 and one USB TPU. Is there a way to see if all 3 TPUs are Working? Log show me only TPU Detected...
|
|
|
|
|
I’m working on a new version of the TPU code and I’ll add that.
|
|
|
|
|
sounds good release foreseeable ?
|
|
|
|
|
I’m trying out a new idea and have some other things going on, so probably not for at least a few weeks.
|
|
|
|
|
I switched the Coral model to EfficientNet-Lite. The detections are fast and somewhat acceptable in their quality, but nearly every time CPAI is called from Blue Iris, I’m getting “AI: error 500” messages from Blue Iris. It’s spamming my phone since it’s an error.
I have facial recognition turned off in Blue Iris. I have removed all face processing modules from CPAI. This doesn’t seem to happen with the MobileNet and YoloV8 modules on the Coral.
|
|
|
|
|
Are you trying to use custom models? The Coral module doesn't include any custom models
cheers
Chris Maunder
|
|
|
|
|
No, no custom models. Just changed the model in the CPAI Coral settings JSON from MobileNet to EfficientNet-Lite.
|
|
|
|
|
Same thing with the default model (MobileNet SSD) actually. So it's not EfficientNet-Lite, it's just... something in general.
|
|
|
|
|
Hi
im currently experiencing some issues with Codeproject which keeps restarting or times out. this happens multiple times a day and sometimes need to restart the service
Im running Blueiris (5.8.77) and Codeproject (2.5.4) on a Windows 11 (i5-9500) with Nvidia Quadro P620 (Driver: 551.52, CUDA: 12.4 (up to: 12.4), Compute: 6.1, cuDNN: 8.5)
From the logs of Codeproejct i see line "Sending shutdown request to python/ObjectDetectionYOLOv5-6.2" without anything triggering the shutdown call..
and in Blueiris a lot of entries with following value:
AI: Could not be restarted
or
AI: restarted successfully
While this is happening the cpu and ram is under 20 % while the gpu is 2 %
|
|
|
|
|
Change Blue Iris settings so it doesn't start and stop CodeProject.AI
cheers
Chris Maunder
|
|
|
|
|
I had the same exact issue, so I reverted back to 2.3.4, and had no restarts since. Will this get fixed on the next version update?
|
|
|
|
|
Hello, codeproject/ai-server:gpu is outdated (2023-09-18) and asking me to update, are there going to be updates to this?
2. I am curious why codeproject/ai-server:gpu and codeproject/ai-server are separate as both can use CPU processing and it would probably mean less work if they were merged together.
Thank you for this project, it is a life changer and I appreciate all that you do.
|
|
|
|
|
wabash11 wrote: are there going to be updates to this
Updates to the latest version? We're always updating, so yes.
wabash11 wrote: why codeproject/ai-server:gpu and codeproject/ai-server are separate
The GPU image is twice the size of the CPU, so the CPU is provided for those who know they won't need the GPU bloat.
(and: you're very welcome!)
cheers
Chris Maunder
|
|
|
|
|
Hello,
Currently, I am using the latest docker image of CodeprojectAI Server (codeproject/ai-server:gpu v2.5.4). I use a reverse proxy to access the docker so I match a fqdn:443 to serverfqdn:32168.
It was working like a charm until version (I am not sure exactly of the version) v2.5.0.
The problem
Now when accessing fqdn:443 from any device, the Web Server is unable to correctly show the Website, it tells me that it can't check updates and report logs or status.
What I tried (without success) :
- Changing docker environment variable CPAI_PORT or ASPNETCORE_URLS or both did not change the port that listen in the docker
- Changing appsettings.json or appsettings.docker.json did not have any effect in the docker (IPv6, CPAI port, legacy port, …)
- Changing serversettings.json did not have any effect in the docker (Disabling IPv6, changing CPAI port, disabling legacy port, …)
Workaround :
The only way I made it work was to change /app/server/wwwroot/assets/server.js and replace the string `${apiServiceProtocol}//${apiServiceHostname}${apiServicePort}` by "https://fqdn" (without the port number).
This fixes the Service Url with the correct port number (443 instead of 32168) which allows the interface to fully work.
Question
Do you have a clean way to fix the Service URL or CPAI port ?
I am also interested in disabling legacy port and IPv6.
Thank you so much for this project !
PS : Sorry for my english
|
|
|
|
|
The Docker image exposes port 32168 and 5000, so changing the port inside the docker container won't work because that port isn't exposed. What about mapping ports on the docker command line? -p <portb>:<portb>
Disabling legacy port and IPv6:
in appsettings.json, under"ServerOptions", are
DisableLegacyPort - set to true to disables port 5000
DisableIPv6 - set to true to disable IPv6
cheers
Chris Maunder
|
|
|
|
|
Hello Chris,
Thank you for taking the time to answer.
About appsettings, you're right. I didn't know that exposedport are predefined and may not be automatically updated by the container. Actually changing DisableLegacyPort in appsettings.json works, and as you said, docker continues to expose port 5000. So after disabling Legacy port I have :
root@docker:/mnt/docker/cctv# docker exec -it cctv-codeprojectai curl -I http://localhost:5000
curl: (7) Failed to connect to localhost port 5000 after 0 ms: Connection refused
Before disabling Legacy port I have :
root@docker:~# docker exec -it cctv-codeprojectai curl -I http://localhost:5000
HTTP/1.1 200 OK
Content-Length: 29083
Content-Type: text/html
Date: Sat, 24 Feb 2024 11:12:57 GMT
Server: Kestrel
Accept-Ranges: bytes
ETag: "1da5ec134e5181b"
Last-Modified: Tue, 13 Feb 2024 21:11:27 GMT
Also changing CPAI_PORT seems to allow the docker to listen on both port 32168 and the port configured but docker container do not automatically expose this port. But obviously this does not help
About mapping ports on the docker command line : this is what I actually do. I am mapping host port 32168 to docker port 32168. Then I map my reverse proxy https://virtualserverFQDN:443 to docker http://dockerFQDN:32168. I can access the webGUI of codeproject server ai without any problem.
But the interface does not work correctly and Service URL reports https://virtualserverFQDN:32168 instead of https://virtualserverFQDN:443 (or https://virtualserverFQDN). Web interface reports status Offline and is not able to check if there is an update available. All tabs (Status, Server Logs, System Info, Mesh, Install Modules) are empties. So it seems that the port is not correctly detected.
I checked which version has breaked my setup :
codeproject/ai-server:cuda12_2-2.5.0 (2.5-RC4): works with Reverse Proxy - Service URL correctly indicates https://virtualserverFQDN (without port 32168)
codeproject/ai-server:cuda12_2-2.5.1 (2.5.1): DOES NOT work with Reverse Proxy - Service URL correctly indicates https://virtualserverFQDN:32168 (with port 32168)
So starting from version 2.5.1 Service URL is not correctly detected. I compared /app/server/wwwroot/assets/server.js between versions and it has changed starting from v2.5.1 (this corroborates my tests).
To workaround my issue I can use http://dockerFQDN:32168 (without the reverse proxy but I prefer not to do that) or I can modify /app/server/wwwroot/assets/server.js and force Service URL.
EDIT 2024-02-25 :
I think that the problem comes from this line in server.js :
const apiServicePort = ":" + (window.location.port || 32168);
I tried with port 444 and the port is correctly detected. It seems that for default port (443 for https), window.location.port returns an empty string so it is replaced by 32168 in the line that follows for apiServicePort then apiServiceUrl is wrongly replaced with port 32168 :
const apiServiceUrl = `${apiServiceProtocol}//${apiServiceHostname}${apiServicePort}`;
To solve my issue it would be great to fix server.js with (hoping there is no dependencies) :
Replacing
const apiServiceUrl = `${apiServiceProtocol}//${apiServiceHostname}${apiServicePort}`; by
let apiServiceUrl = `${apiServiceProtocol}//${apiServiceHostname}`;
if (window.location.port !== "")
apiServiceUrl = `${apiServiceProtocol}//${apiServiceHostname}${apiServicePort}`;
modified 25-Feb-24 5:00am.
|
|
|
|
|
Observing 40-50% CPU and 2Gb+ memory usage for ObjectDetectionYOLOv5Net process during startup. Requests are queued and dequeued without being processed while in this state that lasts for approximately 5 minutes. 0% load on Intel GPU until the issue resolves itself. System Info and Startup Log below:
Server version: 2.5.4
System: Windows
Operating System: Windows (Microsoft Windows 11 version 10.0.22631)
CPUs: 11th Gen Intel(R) Core(TM) i7-11700 @ 2.50GHz (Intel)
1 CPU x 8 cores. 16 logical processors (x64)
GPU (Primary): Intel(R) UHD Graphics 750 (128 MiB) (Intel Corporation)
Driver: 31.0.101.5330
System RAM: 16 GiB
Platform: Windows
BuildConfig: Release
Execution Env: Native
Runtime Env: Production
.NET framework: .NET 7.0.16
Default Python:
Video adapter info:
Intel(R) UHD Graphics 750:
Driver Version 31.0.101.5330
Video Processor Intel(R) UHD Graphics Family
System GPU info:
GPU 3D Usage 15%
GPU RAM Usage 0
Global Environment variables:
CPAI_APPROOTPATH = <root>
CPAI_PORT = 32168
2024-02-22 21:02:17: *** STARTING CODEPROJECT.AI SERVER
2024-02-22 21:02:17: RUNTIMES_PATH = C:\Program Files\CodeProject\AI\runtimes
2024-02-22 21:02:17: PREINSTALLED_MODULES_PATH = C:\Program Files\CodeProject\AI\preinstalled-modules
2024-02-22 21:02:17: MODULES_PATH = C:\Program Files\CodeProject\AI\modules
2024-02-22 21:02:17: PYTHON_PATH = \bin\windows\%PYTHON_NAME%\venv\Scripts\python
2024-02-22 21:02:17: Data Dir = C:\ProgramData\CodeProject\AI
2024-02-22 21:02:17: ** Server version: 2.5.4
2024-02-22 21:02:17: ModuleRunner Start
2024-02-22 21:02:17: Starting Background AI Modules
2024-02-22 21:02:20: Running module using: launcher
2024-02-22 21:02:20:
2024-02-22 21:02:20: Attempting to start ObjectDetectionYOLOv5Net with C:\Program Files\CodeProject\AI\modules\ObjectDetectionYOLOv5Net\bin\ObjectDetectionYOLOv5Net.exe
2024-02-22 21:02:20: Starting C:\Program Files...in\ObjectDetectionYOLOv5Net.exe
2024-02-22 21:02:20:
2024-02-22 21:02:20: ** Module 'Object Detection (YOLOv5 .NET)' 1.9.3 (ID: ObjectDetectionYOLOv5Net)
2024-02-22 21:02:20: ** Valid: True
2024-02-22 21:02:20: ** Module Path: <root>\modules\ObjectDetectionYOLOv5Net
2024-02-22 21:02:20: ** AutoStart: True
2024-02-22 21:02:20: ** Queue: objectdetection_queue
2024-02-22 21:02:20: ** Runtime: dotnet
2024-02-22 21:02:20: ** Runtime Loc: Shared
2024-02-22 21:02:20: ** FilePath: bin\ObjectDetectionYOLOv5Net.exe
2024-02-22 21:02:20: ** Pre installed: False
2024-02-22 21:02:20: ** Start pause: 1 sec
2024-02-22 21:02:20: ** Parallelism: 0
2024-02-22 21:02:20: ** LogVerbosity:
2024-02-22 21:02:20: ** Platforms: all
2024-02-22 21:02:20: ** GPU Libraries: installed if available
2024-02-22 21:02:20: ** GPU Enabled: enabled
2024-02-22 21:02:20: ** Accelerator:
2024-02-22 21:02:20: ** Half Precis.: enable
2024-02-22 21:02:20: ** Environment Variables
2024-02-22 21:02:20: ** CUSTOM_MODELS_DIR = <root>\modules\ObjectDetectionYOLOv5Net\custom-models
2024-02-22 21:02:20: ** MODELS_DIR = <root>\modules\ObjectDetectionYOLOv5Net\assets
2024-02-22 21:02:20: ** MODEL_SIZE = medium
2024-02-22 21:02:20:
2024-02-22 21:02:20: Started Object Detection (YOLOv5 .NET) module
2024-02-22 21:02:24: Current Version is 2.5.4
2024-02-22 21:02:24: Server: This is the latest version
2024-02-22 21:03:13: ObjectDetectionYOLOv5Net.exe: Application started. Press Ctrl+C to shut down.
2024-02-22 21:03:13: ObjectDetectionYOLOv5Net.exe: Hosting environment: Production
2024-02-22 21:03:13: ObjectDetectionYOLOv5Net.exe: Content root path: C:\Program Files\CodeProject\AI\modules\ObjectDetectionYOLOv5Net
2024-02-22 21:03:14: Object Detection (YOLOv5 .NET): Object Detection (YOLOv5 .NET) module started. in Object Detection (YOLOv5 .NET)
2024-02-22 21:04:17: Client request 'custom' in queue 'objectdetection_queue' (#reqid bbfea436-78f4-4f90-b368-d325eef6f163)
2024-02-22 21:04:17: Request 'custom' dequeued from 'objectdetection_queue' (#reqid bbfea436-78f4-4f90-b368-d325eef6f163)
2024-02-22 21:04:17: Request 'custom' dequeued from 'objectdetection_queue' (#reqid c70c7395-4285-417b-9b44-cb9c0fbdd71a)
2024-02-22 21:04:17: Client request 'custom' in queue 'objectdetection_queue' (#reqid c70c7395-4285-417b-9b44-cb9c0fbdd71a)
2024-02-22 21:04:18: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 040b92de-3ade-404b-9ee3-aea9d7f93967)
2024-02-22 21:04:18: Client request 'custom' in queue 'objectdetection_queue' (#reqid 040b92de-3ade-404b-9ee3-aea9d7f93967)
2024-02-22 21:04:18: Client request 'custom' in queue 'objectdetection_queue' (#reqid 4bf064bb-8e8b-48c6-bd19-1d07e7bdab79)
2024-02-22 21:04:18: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 4bf064bb-8e8b-48c6-bd19-1d07e7bdab79)
2024-02-22 21:04:18: Client request 'custom' in queue 'objectdetection_queue' (#reqid 5ac4f1f8-2a6a-4233-9c4d-914f14e1bdda)
2024-02-22 21:04:18: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 5ac4f1f8-2a6a-4233-9c4d-914f14e1bdda)
2024-02-22 21:04:18: Client request 'custom' in queue 'objectdetection_queue' (#reqid ee7f240b-e952-42ac-8c2e-3c02f1915c8d)
2024-02-22 21:04:18: Request 'custom' dequeued from 'objectdetection_queue' (#reqid ee7f240b-e952-42ac-8c2e-3c02f1915c8d)
2024-02-22 21:04:18: Client request 'custom' in queue 'objectdetection_queue' (#reqid 91d5dea6-2431-4e3d-91be-7544f4a179b0)
2024-02-22 21:04:18: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 91d5dea6-2431-4e3d-91be-7544f4a179b0)
2024-02-22 21:04:19: Client request 'custom' in queue 'objectdetection_queue' (#reqid adb1e3e2-3085-447d-ae4f-85644ffee055)
2024-02-22 21:04:19: Request 'custom' dequeued from 'objectdetection_queue' (#reqid adb1e3e2-3085-447d-ae4f-85644ffee055)
2024-02-22 21:04:20: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 3669e9c7-af75-4131-aea8-45a90ed79c82)
2024-02-22 21:04:20: Client request 'custom' in queue 'objectdetection_queue' (#reqid 3669e9c7-af75-4131-aea8-45a90ed79c82)
2024-02-22 21:04:20: Client request 'custom' in queue 'objectdetection_queue' (#reqid 89348c0c-a206-42c5-b44b-105d78280000)
2024-02-22 21:04:20: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 89348c0c-a206-42c5-b44b-105d78280000)
2024-02-22 21:06:17: Client request 'custom' in queue 'objectdetection_queue' (#reqid 1b957bde-c79d-4200-8604-c0bb61c35552)
2024-02-22 21:06:17: Client request 'custom' in queue 'objectdetection_queue' (#reqid dce6d651-a7ed-4160-920b-17742e61c90f)
2024-02-22 21:06:17: Client request 'custom' in queue 'objectdetection_queue' (#reqid e0383fcb-4ed9-42f9-ad60-aee20e2fe96d)
2024-02-22 21:06:17: Client request 'custom' in queue 'objectdetection_queue' (#reqid 577ff136-b2c8-426b-baf3-dd3280391b3f)
2024-02-22 21:06:17: Client request 'custom' in queue 'objectdetection_queue' (#reqid fd9a5b0e-a400-48fc-8850-eb325461aa02)
2024-02-22 21:06:18: Client request 'custom' in queue 'objectdetection_queue' (#reqid dea6e5d1-d38d-493d-82d4-c74062771b0b)
2024-02-22 21:06:18: Client request 'custom' in queue 'objectdetection_queue' (#reqid d9e8483b-9630-45f8-9a0f-2fcbe5cc745e)
2024-02-22 21:06:19: Client request 'custom' in queue 'objectdetection_queue' (#reqid 0de7412a-7222-42e5-9336-2682de516982)
2024-02-22 21:06:19: Client request 'custom' in queue 'objectdetection_queue' (#reqid fe4be73c-b5b9-432b-8b10-ac06061ff554)
2024-02-22 21:06:19: Client request 'custom' in queue 'objectdetection_queue' (#reqid 344b0636-51cb-4526-a305-92eb75010225)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 1b957bde-c79d-4200-8604-c0bb61c35552)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid dce6d651-a7ed-4160-920b-17742e61c90f)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid e0383fcb-4ed9-42f9-ad60-aee20e2fe96d)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 577ff136-b2c8-426b-baf3-dd3280391b3f)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid fd9a5b0e-a400-48fc-8850-eb325461aa02)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid dea6e5d1-d38d-493d-82d4-c74062771b0b)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid d9e8483b-9630-45f8-9a0f-2fcbe5cc745e)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 0de7412a-7222-42e5-9336-2682de516982)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid fe4be73c-b5b9-432b-8b10-ac06061ff554)
2024-02-22 21:07:51: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 344b0636-51cb-4526-a305-92eb75010225)
2024-02-22 21:08:16: Request 'custom' dequeued from 'objectdetection_queue' (#reqid ffb59ace-ffec-463c-ad18-b40792e1a61a)
2024-02-22 21:08:16: Client request 'custom' in queue 'objectdetection_queue' (#reqid ffb59ace-ffec-463c-ad18-b40792e1a61a)
2024-02-22 21:08:16: Client request 'custom' in queue 'objectdetection_queue' (#reqid 843ae196-40d8-46e1-bde2-13711cbe1eca)
2024-02-22 21:08:16: Request 'custom' dequeued from 'objectdetection_queue' (#reqid 843ae196-40d8-46e1-bde2-13711cbe1eca)
2024-02-22 21:08:16: Response rec'd from Object Detection (YOLOv5 .NET) command 'custom' (#reqid ffb59ace-ffec-463c-ad18-b40792e1a61a) ['No objects found'] took 137ms
2024-02-22 21:08:16: Response rec'd from Object Detection (YOLOv5 .NET) command 'custom' (#reqid 843ae196-40d8-46e1-bde2-13
|
|
|
|