Comments (3)
@pranavsrihari123 Hi. Savant supports three preprocessing methods:
- Nvinfer standard preprocessing configured for the nvinfer element. This is what you typically use by default, and it is used ALWAYS.
- Preprocess object meta with custom Python function, which allows modifying padding, coordinates, crop, etc BEFORE (1).
- Preprocess object image with custom Python function which allows custom image manipulation for ROI, like increase the contrast, rotate, etc. BEFORE (1).
When you use (3) you do not normally scale the ROI to network input, etc, because it is done by (1) you just correct the current ROI to prepare it for (1), e.g. when you use Oriented BB, you may rotate, when the ROI is dark, your correct colors. Thus, ROIs always fit the original image. We, indeed, make a copy of the original image and place ROIs on it (similar to the Knapsack packing algorithm) before passing them to Nvinfer (1). We do it that way as a temporary workaround solution.
E.g.
- you do not need (2) & (3) if you just use YOLO for object detection with coaxial bounding boxes.
- you do need (3) if you detect LPs or faces and try to align them by keypoints.
- you do need (2) if you need to crop a certain part of the object for a later model, e.g., the model detected a person, but you need only their head.
from savant.
Is Nvinfer standard preprocessing configured to use symmetric padding or asymmetric padding?
I am trying to use a pose estimation model (rtmpose), but it's hard to accurately convert the keypoints to the original ROI because I am unsure how nvinfer is scaling the image.
from savant.
@pranavsrihari123 you'd better check Nvidia documentation, but quickly looking I see they have symmetrical padding: https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvinfer.html
from savant.
Related Issues (20)
- Trying to export my custom yolov7 model from .pt to .onnx HOT 1
- Nvinfer bypass model sample
- Better OmegaConf error reporting
- Module processing the last frames in a source very slow HOT 3
- Extend buffer adapters with extra metrics
- Implement message dump in the buffer adapter
- Implement MessageDump player adapter
- Support more configuration options for NvInfer
- Module hangs up when encoding HEVC with 8k resolution and HQ bitrate
- Support VideoFrameBatch data in the buffer adapter and ClientSDK
- Fix NVENC PTS/DTS on Jetson
- Check nvidia tracker config path presence
- Add source_id and source_id_prefix parameters to Sink in savant.client
- L4T disable default NVIDIA runtime
- Segmentation Fault from module/run.py when running uri-input.py HOT 3
- AO RTSP Adapter Error - "Could not open device '/dev/v4l2-nvenc' for reading and writing. " HOT 4
- Implement underlying object removal on __del__
- symmetric-padding support HOT 5
- Support UserData
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from savant.