> One practical detail is worth knowing. The new engine is CPU-only at the moment, so if you select a non-CPU backend and target (for example CUDA or OpenVINO through setPreferableBackend and setPreferableTarget), you will want the classic engine.
So there's room for even better performance!
It's certainly a choice to make your headline feature a new ONNX engine, feature a bunch of comparisons how it's better than ONNXRuntime, while casually mentioning on the side that the cool new much faster engine is CPU-only
Sure, running models on the CPU is very much a thing in computer vision (the benchmarked YOLOv8n has 37M params). But this whole announcement feels more like OpenCV catching up to the modern world, not "The Biggest Leap in Years for Computer Vision"
Still great, needing fewer libraries is a good thing, but maybe a bit oversold
The release post is AI-written with little human oversight and it shows.
I had to stop reading after: "This is not just another incremental release. OpenCV 5 is a major step forward."
If a human can't be bothered to write a piece, I can't be bothered to read it.
It's not just annoying, it's tiring
The endless deluge of AI prose really wears on the soul once you start noticing it.
I think the only thing that the human did was remove the emdash between the two sentence fragments and replace with a period.
I felt that this was an indication that OpenCV had finally discovered SemVer.
i initially adopted this line of thinking. after exposure to arguably valid cases like translated articles, it now seems to me that the most efficient path forward (after first noting AI prose) is to scan past all language and evaluate whether or not useful content is encoded within. theres no benefit to anyone (except those benefitting from societal atrophy) in wasting brain cycles on unnecessary verbosity, however blanket rejection necessarily involves loss of valuable information.
The illustrations couldn't be any more generic-ai
my code, my commit - ugh
This is what I hate about AI. Not that people use it, it's great to accelerate specific workflows, make less mistakes etc. It's just blindly trusting it and just saying "Make a post about a CV library release, make no mistakes" and calling it a day.
Where is the human creativity in writing release notes gone?
No one uses ONNXRuntime (nor the new engine in OpenCV 5) in production. For anything performance-sensitive, one would run models under TensorRT, as an example.
Curious on what backs this assertion. As a counterpoint we’ve been running 200+ models in production for more than 5 years - language models, embedding, classifiers, low tens to hundred M params. Traffic in the order of 1-2M requests/day and everything is enabled by onnx with some cgo (or Rust) plumbing on top. What’s your SLA?
Ahh, I should have probably added some context around my hyperbole. I was referring to real-time computer vision - think of e.g. segmenting FHD/UHD video.
Strong statement to make when I have at least 2 datapoints contradicting it, in SaaS and embedded/robotics.
how are supposed to use TensorRT on iOS, iPadOS, Android or even Web? Production is not only cloud.
You can use ONNXRuntime with a TensorRT backend, so one does not exclude the other.
Production dosent have to be performance sensitive, so devex may still outcompete the performance differences in some scenarios.
OpenTrack uses it for its AI headtracking, which works extremely well.
We use this in production:
https://docs.rs/onnxruntime/latest/onnxruntime/
It’s a Rust wrapper around ONNX Runtime. We currently serve 5+ million inference requests per day for a highly performance-sensitive application, for a long list of major enterprise clients. We don’t use GPUs for inference, because it would be cost-prohibitive. We launch tens of thousands of VMs per day to run these workloads.
I've never understood how anyone comes into contact with it and thinks its anything more than an incredible inconvenience masked as the easy way of doing things. Given it a few good shakes for various uses and regretted the time spent each time
Ummm embedded robotics is all about this. For years.