top | item 38430074

Where Is OpenCV 5?

332 points| Tycho87 | 2 years ago |opencv.org | reply

138 comments

order
[+] phh|2 years ago|reply
500k$ for the impact OpenCV has is dirt cheap. It is a shame they need to do a fund raiser at all. It is a bigger shame I hear about it only now. There are 7 digits "EU sovereignty of AI" projects, that would be so much more efficient by just putting 10% of that money in OSS projects...
[+] ilirium|2 years ago|reply
Yes, it is really important piece of software. I use them time to time. I donated to them.
[+] nine_k|2 years ago|reply
But aren't the "IT sovereignty" projects mostly about adopting OSS solutions?
[+] tamiral|2 years ago|reply
i used OpenCV for a facial recognition portion of an engineering graduation project and it was a godsend!! I rememeber OpenCV3 coming out and trying to utilize the functionality. It really is a shame that it needs any funding and more focus isnt on OpenCV!
[+] Decabytes|2 years ago|reply
We have seen this time and time again. Open source libraries/authors begging for a pittance while the large projects built on top of them are flush with cash. Sure there are success stories like Blender, but those are products of survivorship bias. There is no reason that OpenCV should be struggling to get 500k with all the projects that use it.

It's really crappy that large organizations can still keep benefiting from these projects without putting any resources into them. Again I know some companies have donated to open source projects, or hired developers but that is the exception. Part of me wonders if Copy left viral licenses are the only way to combat this. If you are going to use a bunch of critical open source projects in your code base, and you aren't going to pay, you should at least pay it forward by making your source code available.

I've seen some people mention creating some sort of license that is Open source, but if you make more than X amount of money or have X amount of employees then you have to pay X amount in licensing fees. That seems reasonable and still allows small projects to still use these libraries like they always have. But then again that's pretty hard to enforce. And if the GPL is anything to go by, then a license doesn't necessarily stop flagrant misuse of the software anyway

[+] v3ss0n|2 years ago|reply
I am surprised to see that OpenCV don't have backers till now. Many large corps might had made billions just using openCV as core tech.

- Military projects

- KYC Services

- Goverment projects

- Survelliance projets

- Drones

Those are the biggest users of openCV and those are billion dollar industries.

[+] LeafItAlone|2 years ago|reply
OpenCV is great and I would love to donate to them. But it seems like a substantial percentage of the donation goes to Indiegogo or their fees.

Based on [1], it seems like 8% of your donation goes to Indiegogo and processing fees. Is that right or am I misunderstanding?

1. https://learn.indiegogo.com/pricing-and-fees/

[+] nightfly|2 years ago|reply
Where is where is OpenCV 5?
[+] jphoward|2 years ago|reply
I like opencv, but can there be a stretch goal where if they raise $1M they agree to move from Blue/Green/Red colour channel order by default to RGB in OpenCV5, like everyone else on planet earth? I genuinely avoid opencv for this reason because I know I will forget to BGR->RGB on loading and RGB->BGR before saving occasionally, and so I'd rather stick to skimage/imageio/PIL. Or hell, add an `as_rgb=False` parameter to the load/save functions or something!
[+] suyash|2 years ago|reply
Is it still relevant in the days of Tensorflow, Pytorch and other high level frameworks that solve computer vision with ease?
[+] rsp1984|2 years ago|reply
Yes. It's a different kind of computer vision. Not the kind where you just throw an expensive NN at stuff and hope for the best, but one where we're actually dealing with operations at the pixel level (corner / edge features, image warping, stitching, calibration etc). No neural nets, just very fast operations on the actual image data.

It's useful either as a preprocessing step that you feed into further NN processing or -- super old school -- you are modeling your problem by hand instead of letting a NN figure it out (for better or worse).

[+] ptero|2 years ago|reply
Absolutely. Not all computer vision problems are AI related and not all AI problems are solved by pytorch. If I need a program for, say, soft real-time processing of some industrial automation video streams to run on a low power system opencv is my #1 choice. My 2c.
[+] ilirium|2 years ago|reply
Yes, it is totally relevant. Creating a product that processes images/videos/photos typically requires composing some small models, applying classical functions to work with polygons, edges, transformation matrices to rotate/shift coordinates and pixels, resizing, working with colors, working with bright/contrast curves, open/write files, classic filters, etc. PyTorch and Tensorflow don't have this or use in their examples OpenCV functions to do it.
[+] ale42|2 years ago|reply
It totally is: OpenCV does pixel-level image processing, in a deterministic and generally highly optimized way. For some computer vision, this is definitely enough, and it will have a much better performance than doing it with neural networks. It might be complementary to higher-level frameworks (typically based on machine learning models), e.g. for object detection/classification.
[+] ChrisMarshallNY|2 years ago|reply
I know a chap that uses it for Arduino-powered drones. He is not a coder.

I agree that projects like OpenCV should be better-supported.

There are a couple of issues, though, that always crop up, when talking about supporting open projects:

1) I don't know of any corporation, anywhere, that actually donates for no reason at all. There's always a hook. Sometimes, it's just brand-building (logo on the free swag stuff), sometimes, it's to attract future employees (for instance, donating to a project that is maintained by a certain set of students from a college curriculum, etc.), sometimes, it's to influence "hearts and minds," and sometimes, it's a pure investment. They need a self-interested reason.

2) I don't know of any corporation, anywhere, that donates, with no expectation of influence. That's one reason why lobbying is such a big deal. There's a fig leaf of "no quid pro quo," but everyone knows that the donator is expecting a return.

3) I don't know if anyone has noticed (</s>), but the corporate environment tends to be, just a bit, on the competitive side. I know many corporations may not be willing to donate to a cause that will serve their competitors, as well as themselves.

I think that foundations help. They can set up a "step and repeat" page, with donors, but keep the branding (and influence) off the actual donations.

[+] orlp|2 years ago|reply
Even taken at face value such pipelines often still rely on OpenCV for I/O, data cleaning and preprocessing.
[+] OJFord|2 years ago|reply
There are CV applications where techniques you'd currently get consensus on calling 'AI' would be overkill (unnecessarily intensive to run) or relatively poor performing.

Say you just need to do some edge detection for example.

Of course the 'AI' line is blurry and moving, probably 'computer vision' (vs. 'just processing some image data', which of course it is anyway) has been too.

[+] iamflimflam1|2 years ago|reply
Definitely. There is still a very large class of problems that are amenable to image processing pipelines and algorithms . And a very large number of problems where there is insufficient training data to simply throw deep learning at it.
[+] eurekin|2 years ago|reply
Absolutely!

I'm not into that space as much lately, as I have been years ago, but in a lot of newer marketing videos I can easily recognize the OpenCV signature markings. For example from tesla videos (not the typical public facing ones, but on the NVidia tegra side) or robotic startups

[+] j-a-a-p|2 years ago|reply
We decided for OpenCV (on a project that provided vision to a production line, think 50 images per second). The speed and computational cost advantage weighed in favour of OpenCV. I don't think this has changed so much in the last couple of years.
[+] fleischhauf|2 years ago|reply
as far as I am aware opencv has a lot of classical Computer Vision stuff that is missing in tensorflow/pytorch. In case you need speed, or can't have data annotation, or something where deep learning is not super useful (slam) it's still very relevant I'd say.
[+] DonHopkins|2 years ago|reply
There are lots of ways OpenCV complements Tensorflow, pytorch, and other high level frameworks. They don't need do all those things themselves, because they assume you have OpenCV around for stuff like image io, preprocessing, manipulation, transformation, color space conversions, edge detection, filtering, segmentation, morphological transformations, feature detection, video io, real time video capture, camera calibration, 3d reconstruction, optical flow, object tracking, qr code detection, gui creation, etc.
[+] the__alchemist|2 years ago|reply
In addition to the other replies:

Check out the official or unofficial examples for TF, PyTorch, and OpenVINO for CV applications; they all use OpenCV as a dependency, eg to get get the image data from a camera or RTSP URL, process the image, draw debug info and display the results etc.

[+] matsemann|2 years ago|reply
Some of those things could be embedded nicely into OpenCV, though. Without me having to learn about all the underlying concepts, finetune a model and learn how to deploy it on various devices. OpenCV is a wrapper around lots of common image functionality, and it could be extended to cover modern deep learning approaches.
[+] amelius|2 years ago|reply
Only if hallucination is not a problem for your particular application.
[+] albertzeyer|2 years ago|reply
That was also my thought. I have used OpenCV 10 years ago for some small things, but today I would simply look for any existing neural network on HuggingFace and maybe train some custom classifier on top if I need sth custom. I cannot really think of any possible case where this would not work better than what you have in OpenCV. And if speed is a concern, there are also many small models, or otherwise you can quantize them yourself, or maybe train yourself a small model with knowledge distillation. You can get this as fast and as small as you want, while still probably outperforming everything that OpenCV can offer.
[+] Rochus|2 years ago|reply
I'm still using OpenCV 3 and am more than happy with it. Why does every library or application have to be blown up so much that it ends up being too big and complex for a voluntary open source project?
[+] Joel_Mckay|2 years ago|reply
Ah yes, openCV at one time made ImageMagick easier to use, and could be compiled in C. There were even projects focused on transparent fpga hardware acceleration for video streams.

Now, it is a C++ dependency nightmare with conflicting documentation of basic data structures, version specific bugs, and hidden impossible-to-license patents.

It is a cautionary tale of allowing a Second-system effect to twist a project into a set of use-cases for a smaller subset of users.

The core issue was not major version releases, but constant breaking library changes in sub dot version releases. Thus, they turned most of the user-base into full time Beta testers.

They should have forked the library at 4, but knew no one would change what already worked. =)

[+] crossroadsguy|2 years ago|reply
Tooling around OpenCV and documentation is so intractable.

Having said that it is an integral part of anything on any Android project that deals with what OpenCV does. Because while iOS has a pretty capable Vision lib Google's Android has nothing even compared to that. So your only option is to seek and try solutions in the wild based on OpenCV and then hope that after enough hit and trial you are able to generate the right .so files specific to your solution and not the 100s or dozens of MB large files for multiple platforms. But on many platforms OpenCV is the only option and whatever challenges come with it, it does work!

[+] dzign|2 years ago|reply
Python elevated OpenCV to a new level. I Think node/graph/workflow interface would do the same. Examples are not missing: Blender, ComfyUI, FFmpeg.guide, ...
[+] maille|2 years ago|reply
Isn't OpenCV mostly developed/funded by Intel?
[+] nuz|2 years ago|reply
"Deep Neural Networks Module: $150k" seems kind of unecessary. Torch/tensorflow already fills that niche so well.
[+] wokwokwok|2 years ago|reply
Llama.cpp and the entire ecosystem around it show that there’s clearly space for more than torch in this space.

Why would opencv, the all singing all dancing C++ computer vision framework not have a DNN module?

Why would it say “use a Python library”? (And yes, torch is deprecating its c++ support).

Not having it would be strange.

[+] DonHopkins|2 years ago|reply
It would be nice to have a high level API with all the plumbing for integrating different popular deep neural network libraries like torch/tensorflow, like how Unity has ARFoundation for integrating ARCore, ARKit, Magic Creep, and HoboLens.
[+] fleischhauf|2 years ago|reply
agreed, they should just have a good interoperability
[+] papruapap|2 years ago|reply
Isn't C++ support quite minimal for both?
[+] victor9000|2 years ago|reply
Donate all you want but, most importantly, talk to your manager about making a corporate donation.
[+] jimmoores|2 years ago|reply
Why are the words 'Computer Vision' not above the fold on the front page? How am I supposed to know that CV stands for Computer Vision rather than Curriculum Vitae?
[+] bjelkeman-again|2 years ago|reply
It is interesting browsing the OpenCV website. I didn’t find anything saying what it is, at least not fewer that 3-4 clicks away.