Scailable Nx AI Manager Post Processing Doesn't Work
AnsweredSummary
Post processing on top of the AI model on Scailable Nx AI Manager plugin doesn't seem to works. The AI model we use is YOLOv8 object detection. It successfully do the inference and write the bounding box and screen shoot it for us. As shown in the screen shoot below, it doesn't show any selected post processor result, the result shown is the same as the model without post processing
Environment
-
Nx Witness Version: Desktop Client version 6.0.0.38488 R4 (7cc6b3c72284).
Built for windows-x64 with msvc.
OpenGL version: 4.6.0 NVIDIA 551.86.
OpenGL renderer: NVIDIA GeForce RTX 3070/PCIe/SSE2.
OpenGL vendor: NVIDIA Corporation.
OpenGL max texture size: 32768. - Client OS: Microsoft Windows 10 Pro - 10.0.19045 Build 19045
- Server OS: Ubuntu 22.04.3 LTS
- Network Topology: 1 servers, 1 cameras (rtsp streamed using mediamtx), 1 or more clients
- Special features: None
Reproduction Scenario
- Install Nx AI Manager plugin following this instruction
- Prepare the object detection model, in this case I fully follow importing common models YOLOv5 and YOLOv8 that means I'm using the yolov8n base model.
- Upload the model to the Nx AI server manager.
- Enable the plugin, select model, and configure post processor
Actual Behavior
As shown in the screen shoot below, it doesn't show any selected post processor result, the result shown is the same as the model without post processing
Expected Behavior
The postprocessor should works as explained in this link
https://nx.docs.scailable.net/nx-ai-manager/3.-other-network-optix-plugin-settings#postprocessors
Additional Information
We tried to create external post processing as well following this repository
https://github.com/scailable/sclbl-integration-sdk
We successfully compiled and enable it but still it doesn't show any results.
Additional thoughts or questions: Might it be because the postprocessors need some license to work? This article states there is custom trial license, where can I read all the license available and what it unlocks?
-
Hi, thank you for your question.
For the Object Counting postprocessor, it generates an event when there are objects on the screen. If you do not create a camera rule to handle this event, then you will not see any effect. See: https://nx.docs.scailable.net/nx-ai-manager/2.-configure-the-nx-ai-manager-plugin#adding-event-rules
For the Object Counting postprocessor, you have to select the Analytics Event, like this: https://nx.docs.scailable.net/nx-ai-manager/3.-other-network-optix-plugin-settings#object-counting
You can then select 'Show text overlay' to visualise the event on the video stream.For external postprocessors, it depends on which postprocessor you're using. Some of them add a 'test' bounding box, which you should see on the video stream. Others also create a counting event, which can be visualised as above.
For external postprocessors, make sure to Stop + Start the AI Manager runtime ( through the buttons in the plugin settings ) after adding the postprocessor.
Could you let me know if this helps?
-
Hi, thank you for your reply.
Thanks to you we manage to make the built-in postprocessors work by adding the event rules.
Currently we're working on custom external postprocessors, hopefully it went well without any issue, otherwise I'd like to discuss it here.
There's another case that I'd like to do that might be regarding to postprocessors. So let say that I'd like to send the object detection results (it's on the right side of the image where every object got cropped and popped up on the right tab) and its meta data like bounding box, classes, to our own storage, is there any way to do that? do i need to create post processor to push the data maybe like via HTTP request or is there any event rules as well do to that? thank you in advance. -
You are welcome to post further questions as you develop your custom post-processor.
Unfortunately at this moment if you would like to upload metadata + cropped frames to your own cloud server, the only way to do that is indeed implement your own custom postprocessor which uploads the data to your cloud.
We do get the same question from multiple clients, so it is possible that we might implement a standard way to upload data to cloud storage. We are also discussing saving metadata along with the video streams on the Nx Cloud, but that is probably far in the future.
Please sign in to leave a comment.
Comments
5 comments