[HN Gopher] Where Is OpenCV 5?
       ___________________________________________________________________
        
       Where Is OpenCV 5?
        
       Author : Tycho87
       Score  : 295 points
       Date   : 2023-11-27 09:18 UTC (13 hours ago)
        
 (HTM) web link (opencv.org)
 (TXT) w3m dump (opencv.org)
        
       | nightfly wrote:
       | Where is where is OpenCV 5?
        
         | quietbritishjim wrote:
         | Appears to be here:
         | 
         | https://opencv.org/blog/where-is-opencv-5/
        
           | laurensr wrote:
           | @dang, could you update the link?
        
           | tlb wrote:
           | Updated, thanks.
        
       | speps wrote:
       | TL,DR: they're raising funds to release it:
       | https://www.indiegogo.com/projects/opencv-5-support-non-prof...
        
         | vdfs wrote:
         | raised 8% of $500,000
        
           | dr_zoidberg wrote:
           | As of now 9%. I thought hitting the HN front page could have
           | a much larger impact on this, but it seems that's about it
           | this time.
        
       | phh wrote:
       | 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...
        
         | nine_k wrote:
         | But aren't the "IT sovereignty" projects mostly about adopting
         | OSS solutions?
        
           | preisschild wrote:
           | Not for the EU. For the EU it just means that the company
           | that makes it is located within the EU.
        
             | bee_rider wrote:
             | I wonder how open source works in that framework. I wonder
             | if "we make the device, but use an open source library, we
             | didn't develop it, but could at least fork and maintain
             | operations if we needed" is acceptable.
        
               | ska wrote:
               | I've seen this argument work in other contexts (along
               | with a detailed plan for what "taking over" would look
               | like)
        
             | personomas wrote:
             | No, even worse, it means the EU has some sort of leverage
             | on it or control over the company or entity.
        
             | _ache_ wrote:
             | Politics are playing politics. Also, the EU is pretty
             | liberal and US big tech company are lobbying a lot against
             | FOSS.
             | 
             | Politics don't understand free software, and the people who
             | should be teaching it (GAFAM) don't, because it's not in
             | their interest. As a liberal, free software worth nothing.
             | Big tech worth a lot. They don't understand that's about
             | tools and know-how, not about human resources and money.
        
         | ilirium wrote:
         | Yes, it is really important piece of software. I use them time
         | to time. I donated to them.
        
           | philnelson wrote:
           | Thanks for the support
        
         | tamiral wrote:
         | 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!
        
       | suyash wrote:
       | Is it still relevant in the days of Tensorflow, Pytorch and other
       | high level frameworks that solve computer vision with ease?
        
         | fleischhauf wrote:
         | 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.
        
         | ptero wrote:
         | 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.
        
           | nine_k wrote:
           | OpenCV and "AI" can work well together; see YOLO:
           | https://pjreddie.com/darknet/yolo/
        
             | jonas21 wrote:
             | In that example, they're using OpenCV to display images and
             | read from the webcam for a demo. At one point, they make it
             | clear that OpenCV isn't used for any of the CV parts:
             | 
             | > _We didn 't compile Darknet with OpenCV so it can't
             | display the detections directly. Instead, it saves them in
             | predictions.png. You can open it to see the detected
             | objects._
        
         | chillfox wrote:
         | Yeah, OpenCV is really easy to work with and use in quick
         | scripts to process images.
         | 
         | I have used it to group images of the same subject/angle, then
         | remove the most blurry ones.
        
         | albertzeyer wrote:
         | 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.
        
           | hprotagonist wrote:
           | regret to inform you that image preprocessing and IO is done
           | in either openCV or PIL or both for every image processing NN
           | i've ever worked with.
        
             | saltwatercowboy wrote:
             | Yes - not sure how this has been overlooked. For
             | Python/torch I tend to use cv2 with an albumentations
             | augmentation pipeline, which is much faster than PIL/torch
             | transforms.
        
               | hprotagonist wrote:
               | sometimes Pillow-simd is nice as well.
        
               | saltwatercowboy wrote:
               | Thanks - I'll check it out.
        
           | girvo wrote:
           | I can't run those HuggingFace models on low power devices
           | (including medium power microcontrollers). I can do OpenCV on
           | them at the edge though.
        
             | albertzeyer wrote:
             | You can. For example: https://pytorch.org/edge (Just an
             | example, there is a lot more, similarly also for
             | TensorFlow.)
        
               | girvo wrote:
               | I've tried. They simply don't run any decent useful
               | models on an ESP32-S3 at a speed that has real use cases.
               | Maybe one day, but not yet.
               | 
               | Whereas today, OpenCV and derivatives are already using
               | the LX7 vector extensions and run fast enough to be
               | useful.
        
           | jpace121 wrote:
           | I've worked on plenty of problems where all you need is to
           | find what pixels are a specific color. While I'm sure a NN
           | could be setup for that, why make things harder than they
           | have to be?
        
             | albertzeyer wrote:
             | Why harder? My point is, by using some DL framework, you
             | would make this simpler. You don't need to have a big NN
             | for that, or even any NN at all, and could still use some
             | DL framework, and I would assume this is still easier and
             | probably faster. E.g. finding what pixels are a specific
             | color, this would be sth like:
             | torch.all(image == torch.tensor([255,0,0]),
             | dim=-1).nonzero()
             | 
             | To get all pixel pairs (x,y) where the color is red
             | (255,0,0) of the image of shape (width,height,channels).
        
               | matsemann wrote:
               | How do you generate the torch vector to do this? Often
               | it's OpenCV!
        
               | albertzeyer wrote:
               | torchvision.io.read_image?
        
               | bigbillheck wrote:
               | This is like answering "the grocery store" when asked
               | where food comes from.
        
           | pbowyer wrote:
           | I use OpenCV for blur detection and camera shake detection on
           | mobile devices, to qualify the image before handing it along
           | to an AI model to extract data. I can't think that 2 extra
           | neural networks would be faster at this task than OpenCV is,
           | even if they might be better given how subjective blur is.
        
             | DonHopkins wrote:
             | And motion detection that runs on the camera itself, to
             | decide whether or not to send the video stream to the
             | expensive GPU servers in the cloud.
             | 
             | https://www.axis.com/developer-community/open-source/acap
             | 
             | ACAP Computer Vision SDK examples
             | 
             | ACAP version 4 example applications that provide developers
             | with the tools and knowledge to build their own solutions
             | based on the ACAP Computer Vision SDK.
             | 
             | The open source examples are focused on video analytics
             | applications. Giving AI/ML developers the chance to
             | experience the smooth and smart develop environment that
             | ACAP provide, showing how the powerful capacity of Axis
             | devices provides unlimited possibilities for developers to
             | build new AI/ML applications.
             | 
             | Being one of the most active repositories we have, you can
             | find examples written in C++ and Python performing
             | interesting features that varies from object detection, QR
             | decoder, and image capture, using popular open source ML
             | libraries such as OpenCV.
             | 
             | https://github.com/AxisCommunications/acap-computer-
             | vision-s...
        
             | albertzeyer wrote:
             | How does it do the blur detection? I assume it's also just
             | a convolutional kernel applied on the image in some way. So
             | it would do just exactly the same as a tiny neural network
             | with one convolutional layer. Thus, they would be exactly
             | the same speed, if they would use the same underlying
             | native kernels. However, the native kernels in
             | TF/PyTorch/etc are more heavily optimized than OpenCV, thus
             | I assume that OpenCV would actually be slower here. And
             | also more complicated, as you need to mix two big
             | frameworks.
        
               | filterfiber wrote:
               | Realistically I think you'll often want both depending on
               | what you're doing. Especially for things like blur
               | detection, what's your acceptable specificity,
               | acceptable/scale of performance, where you're running the
               | algorithm (on device vs cloud).
               | 
               | I'm not an expert at all but most image processing
               | network I've seen generally involve at least a few plus a
               | few other layers. I don't think you can get away with a
               | single convolution, at least not that well.
               | 
               | OpenCV you could use Laplacian variance which looks like
               | it's just a single line of code.
               | 
               | > cv2.Laplacian(image, cv2.CV_64F).var()
               | 
               | Many of the NN implementations look like their finetuned
               | off google's ViT checkpoints. I really can't imagine
               | these are faster (at least not without spending extra on
               | GPU/TPU's) than Laplacian variance but I could be wrong.
               | 
               | And I assume you might be able to get better evaluation
               | performance from a finetuned NN but depending on what
               | you're doing, that's a ton of work compared to opencv.
               | 
               | https://pyimagesearch.com/2015/09/07/blur-detection-with-
               | ope...
               | 
               | https://sh-tsang.medium.com/review-bdnet-blur-detection-
               | conv...
        
         | amelius wrote:
         | Only if hallucination is not a problem for your particular
         | application.
        
           | filterfiber wrote:
           | I really dislike the word "hallucination"
           | 
           | It's not a "hallucination" it's a "miss-prediction".
           | 
           | And the more-classical methods of CV are still very capable
           | of miss-predicting.
           | 
           | No matter what method you choose, you must test how accurate
           | it is, NN have the benefit of being fine-tuned for specific
           | applications as well. If you want to be extra sure then you
           | likely want to use both.
        
         | OJFord wrote:
         | 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 wrote:
         | 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.
        
         | matsemann wrote:
         | 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.
        
         | orlp wrote:
         | Even taken at face value such pipelines often still rely on
         | OpenCV for I/O, data cleaning and preprocessing.
        
         | ilirium wrote:
         | 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.
        
         | DonHopkins wrote:
         | 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.
        
         | rsp1984 wrote:
         | 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).
        
           | regularfry wrote:
           | It's also got a decent NN implementation. You can have both.
        
         | ale42 wrote:
         | 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.
        
         | eurekin wrote:
         | 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 wrote:
         | 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.
        
         | ChrisMarshallNY wrote:
         | 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.
        
           | bee_rider wrote:
           | Corporations could donate in a way that benefits them. For
           | example, Intel contributes a lot of code to the Linux kernel.
           | Presumably they are at least partially contributing stuff
           | that makes it run better on their chips. But lots of people
           | run Linux on Intel chips. And while working on stuff that
           | benefits Intel, their engineers are probably going to do
           | other ancillary tasks that could be helpful. So it seems like
           | a win-win.
           | 
           | It should be socially acceptable for open source programs to
           | offer the deal: we'll consider patches from your engineers,
           | but in exchange you have to chip in enough to support one of
           | ours (to keep working on stuff we find interesting), and a
           | little bit more (need some engineer-hours to review your
           | patches).
           | 
           | It sounds quite biased in favor of the project at first, but
           | if the project is popular, the company could get quite a bit
           | out of it.
        
             | esafak wrote:
             | Is it a bad thing if corporations donate towards features
             | that benefit them? That is a signal to the developers to
             | allocate their energy towards useful ends.
        
           | killerstorm wrote:
           | I very much doubt you can do any image processing on Arduino.
           | A typical Arduino has only 2048 bytes of RAM, like, what kind
           | of an image can fit in there?
        
             | ChrisMarshallNY wrote:
             | I don't know. I can ask him.
             | 
             | He has just been raving to me about how great OpenCV is. I
             | know he's been using ChatGPT4 to give him C drivers for his
             | custom rigs.
             | 
             | Like I said, he's a hardware geek, and actively hates
             | coding, so I'm not exactly sure what he's been doing.
             | 
             | I will say that his drones and RC vehicles work a treat. I
             | drive them around, occasionally.
        
             | idatum wrote:
             | I used OpenCV and Yolo on an RPi4 for object detection.
             | Worked great. Fun project and I learned a lot from the
             | OpenCV community.
             | 
             | I think the ability to learn computer vision from scratch
             | (and free) like I did is one of the best aspects of open
             | source generally.
             | 
             | But yeah, an Arduino would be tough.
        
             | dannyw wrote:
             | There's all kinds of Arduinos now. It's not your typical
             | ATxxx microcontroller.
             | 
             | https://store.arduino.cc/products/uno-r4-minima
        
             | ska wrote:
             | Could be something like this:
             | https://www.pjrc.com/store/teensy41.html
             | 
             | From memory (heh) they come with 1Mb and you can add
             | another 8 or 16...
             | 
             | It's a 600Mhz ARM M7 also, you can do a fair bit or work
             | with that.
        
           | philnelson wrote:
           | In addition to helping keep the library in development member
           | organizations of OpenCV get some perks as a result of their
           | support such as appearances on our live streams, press
           | releases, and pull request priority. We have tiers for Bronze
           | ($6k/yr), Silver ($30k/yr), Gold ($100k/yr) members with more
           | benefits for each tier.
        
         | marcyb5st wrote:
         | Yes, big time. For instance, once you have segmented the image
         | you should use something like openCV to extract contours of the
         | segmentation mask.
        
         | the__alchemist wrote:
         | 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.
        
         | ska wrote:
         | > or high level frameworks that solve computer vision with
         | ease?
         | 
         | That's overstating things more than a little.
        
       | nuz wrote:
       | "Deep Neural Networks Module: $150k" seems kind of unecessary.
       | Torch/tensorflow already fills that niche so well.
        
         | fleischhauf wrote:
         | agreed, they should just have a good interoperability
        
           | londons_explore wrote:
           | I think this $150k is just for building that
           | interoperability.
           | 
           | At today's salaries, that pays for, what, 1 month of some ML
           | engineers time to integrate all the big ML frameworks into
           | OpenCV?
           | 
           | Doubt you could do any decent job of it in a month...
        
         | wokwokwok wrote:
         | 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.
        
           | synergy20 wrote:
           | what do you mean by saying "pytorch is deprecating c++"
        
           | formerly_proven wrote:
           | > Why would opencv, the all singing all dancing C++ computer
           | vision framework not have a DNN module?
           | 
           | https://docs.opencv.org/4.x/d2/d58/tutorial_table_of_content.
           | ..
           | 
           | In particular, OpenCV DNN is as far as I know the fastest CPU
           | implementation for darknet/yolo networks.
        
         | papruapap wrote:
         | Isn't C++ support quite minimal for both?
        
         | DonHopkins wrote:
         | 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.
        
       | 3836293648 wrote:
       | 404 now? Has the link been replaced?
        
         | gmiller123456 wrote:
         | Still works for me.
        
       | gumballindie wrote:
       | Ai companies are in the business of stealing code and ip. Not
       | surprised they cant be bothered to donate.
        
         | DonHopkins wrote:
         | At least it's a step up from web3 companies in the business of
         | stealing and laundering money by burning coal and scamming
         | senior citizens.
        
           | gumballindie wrote:
           | Agreed - but ai companies are exploiting people's willingness
           | to see things which are not there. Still bad.
        
           | cmrdporcupine wrote:
           | Honestly it's in large part of the same root cause, isn't it?
           | Venture capital hype pipeline.
        
             | DonHopkins wrote:
             | Again, hyping and investing in something that has practical
             | real-world applications is a step up from hyping and
             | investing in something that doesn't.
        
               | cmrdporcupine wrote:
               | Agreed
        
       | Decabytes wrote:
       | 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
        
         | ilirium wrote:
         | On the crowdfunding page [1] they revealed causes why they
         | decided to run the campaign:
         | 
         | > Our goals with crowdfunding the development of OpenCV 5 are
         | several: 1) To make OpenCV 5 our biggest release ever, with the
         | most community participation of any version so far, 2) To prove
         | to other struggling open source projects that crowdfunding is a
         | viable option over seeking corporate donations exclusively, 3)
         | _To create a sustainable method of fundraising that OpenCV can
         | return to year after year, making the overall organization and
         | project more robust to global instability._
         | 
         | > Recently, due to global conflicts and instability, OpenCV has
         | _lost several core team members_ , and this has slowed progress
         | on both new feature development and the handling of bugs and
         | requests in the GitHub repository.
         | 
         | > Crowdfunding development of a big Open Source project like
         | OpenCV is a big move. We aren't aware of ANYONE doing it at
         | this scale. As a non-profit organization, we are constantly
         | fighting to find funding, but we always find support in our
         | community. _Instead of spending our time chasing big checks
         | from billionaires, we are putting that community front and
         | center._
         | 
         | [1] https://www.indiegogo.com/projects/opencv-5-support-non-
         | prof...
        
           | geerlingguy wrote:
           | There are thousands (millions?) of nonprofits who fundraise
           | incessantly--any org that's mission driven without a profit
           | motive needs to have that activity (and the resulting CRM
           | management) as part of their fabric to thrive.
           | 
           | I think a few of the bigger software projects are realizing
           | relying on a few generous whales is unsustainable when money
           | faucets are turned off... and it's a good thing for the long
           | term stability of these groups to figure out how to sustain
           | the core project.
           | 
           | As long as it doesn't get annoying (multiple appeals every
           | quarter, incessant "support us or we'll DIE!" messages...)
           | I'm fine with fundraising initiatives for OSS.
        
           | bee_rider wrote:
           | I wonder if they were lost, as in passed away, or just lost
           | as in they live in countries that can't do business with the
           | organization for legal reasons anymore. Hopefully the latter
           | and they'll find some way back eventually...
        
         | mrweasel wrote:
         | One of the first open source developers I recall seeing raising
         | funds so he could go work on something full time for a year was
         | Paul-Henning Kamp (PHK from FreeBSD). He got the money, but
         | also an insane amount of bullshit complaints from people not
         | wanting to donate because: He pays ~40% in tax, it would be
         | cheaper to pay someone in <insert country>, what if he doesn't
         | deliver, why not someone else, why FreeBSD. I can understand a
         | developer just giving up and not even trying just to avoid the
         | negativity and complaining.
        
         | cmrdporcupine wrote:
         | A few years ago I worked for a few months with a machine
         | learning team at Google that was using OpenCV. At least at the
         | prototype phase.
         | 
         | The entire $500k donation they're looking for here would have
         | been basically 1 or 1.5 SWE salary.
         | 
         | So yes, there's definitely something wrong with the
         | compensation and financing model of open source infrastructure.
         | And now that the market is contracting, and VC and BigCorp
         | money isn't flowing as freely, people are finally starting to
         | bitch about it, instead of just being happy that a) their
         | projects are being used and b) that that is leading to job
         | opportunities etc.
         | 
         |  _" 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"_ -- sad to say, projects with licenses like this would be
         | immediately blacklisted at places like Google. Not just for
         | use, but for Googlers to contribute to. And because of the
         | motivation economy in OSS right now, someone else would just
         | fill the niche.
         | 
         | Even the GPL is controversial to these companies (and to many
         | people on this forum, in fact).
         | 
         | We need to name and shame BigCorps that are using and
         | exploiting the very generous and liberal nature of Apache-style
         | licensed projects without (majorly) contributing back.
        
           | ReactiveJelly wrote:
           | > We need to name and shame BigCorps that are using and
           | exploiting the very generous and liberal nature of Apache-
           | style licensed projects without (majorly) contributing back.
           | 
           | The corporations are following the exact spirit of the
           | license. If you want to shame them, put it in writing. Make a
           | new license. But it would be proprietary, because you'd be
           | saying some entities are too big to exercise Freedom 0
           | without paying money to a central organization that held the
           | license.
           | 
           | That's the licensing model for the two big game engines,
           | Unity and Unreal - Gratis, to a point. It seems to work for
           | them, but it ain't FOSS. And for your central benevolent
           | organization to hold that power over the license, they'll
           | also have the power to do worse things to the project. One of
           | the appeals of FOSS was that it's de-centralized. You can
           | always fork it, if you have the code you have the right. A
           | license that required "BigCorps" (because every small company
           | is inherently good?) to pay would have to deny the right to
           | fork.
        
         | infotainment wrote:
         | _> Part of me wonders if Copy left viral licenses are the only
         | way to combat this._
         | 
         | It's a good thought, but we've already seen what happens when
         | this is attempted, such as with GPL V3. The projects just get
         | forked, or even outright replaced (as was the case with Bash in
         | MacOS).
        
           | cmrdporcupine wrote:
           | It's going to require a broader mindset change in the
           | developer community. Copyleft and the free software mindset
           | fell out of fashion because, I think, it "felt" to many that
           | there was penetration of open source ethic into the corporate
           | world and the very liberal Apache/BSD-style licenses were
           | leading to take-up and contribution of OSS by those parties.
           | 
           | And frankly a lot of "open source" work actually ended being
           | either "resume" material or "corporate contribution" work.
           | 
           | But I think we're seeing more and more where this can lead --
           | your thousands of hours of work can just turn into a new
           | product launched on AWS etc that does nothing to enrich you
           | or reward your community for its efforts.
           | 
           | The copyleft model was supposed to counteract this by at
           | least demanding contributions back. And if companies felt
           | they wanted/needed a proprietary license, they could always
           | negotiate that separately. But as you say, tossing GPL on a
           | project has become kind of radioactive. And the copyleft
           | model didn't really scale well into the SaaS world.
        
         | demosthanos wrote:
         | > 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.
         | 
         | This is a tough decision, and one that is going to be different
         | for each project.
         | 
         | GPL will disuade most commercial projects from using your
         | library, which for some people may be a good goal in itself.
         | But the flip side of that is that a GPL'd library has a smaller
         | target audience, which means that the project as a whole will
         | tend to never become as popular as OpenCV has*. That's probably
         | good for the maintainer's health--GPL serves as a good
         | gatekeeper to push away a good chunk of the entitled demands
         | (except for the entitled demands to change the license)--but it
         | may be counter to the maintainer's goal if they set out to make
         | a library with wide reach.
         | 
         | * The notable exceptions to this rule, like Linux, aren't
         | libraries, they're applications or operating systems which can
         | be _used_ without paying it forward.
        
           | davisr wrote:
           | > GPL will disuade most commercial projects from using your
           | library
           | 
           | Maybe, but it might just as well persuade others who value
           | free software ideals to contribute.
        
             | demosthanos wrote:
             | Yeah, like I said, for some projects I could see it being a
             | net positive: using GPL almost certainly increases the
             | ratio of contributors:users, which reduces the burden on
             | the maintainer. If the maintainer is fine with the now-
             | limited reach of the project, then that might be a great
             | tradeoff to make!
        
         | rqtwteye wrote:
         | I try to make my company to donate money to open source
         | projects but it's difficult. They would rather spend 100k on
         | some BS enterprise thing that wraps open source software
         | instead of spending 1k on giving directly to the devs.
         | 
         | It's a weird mindset.
        
         | ReactiveJelly wrote:
         | > There is no reason that OpenCV should be struggling to get
         | 500k with all the projects that use it.
         | 
         | The reason is tragedy of the commons. The software is gratis,
         | and they're getting paid the asking price.
        
         | hawski wrote:
         | There was a discussion here lately about how the budget is
         | fulfilled at the end of a year by spending all the rest of the
         | money on some bullshit. Now I wonder if it could be spent on
         | OpenSource projects the company is using either directly or not
         | and would it count for the auditors to receive at least the
         | same amount of money next year.
        
         | dylan604 wrote:
         | >We have seen this time and time again.
         | 
         | What if you're a company that built on top of a prior version
         | OpenCV that does everything you need, and contributed at the
         | time but do not need any of the new things?
         | 
         | Do you and your moral stance think they should continue to chip
         | away at their earnings in yet another rent-seeking play?
        
         | elric wrote:
         | I worked in fintech for a long time, building a product which
         | leveraged a bunch of open source components from the Apache
         | Software Foundation. For years, I advocated with management to
         | sponsor the ASF, or to hire a contributor to build some feature
         | for us. Every time, I was shot down with bullshit arguments.
         | "We don't have money", "It's complicated", etc.
         | 
         | Somehow, there was plenty of money for bonuses for sales
         | weasels, but never any money for key technology. I tried to
         | commit bug fixes whenever I could, and did my best to help out
         | other users on the mailing lists. It would have been nice if
         | the company could have spared a small part of the millions they
         | were raking in ...
        
       | Rochus wrote:
       | 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?
        
         | cma wrote:
         | Machine vision is presumably still advancing and new techniques
         | are added, or are they only adding complexity?
        
           | Rochus wrote:
           | Well, the term "computer vision" (CV) is apparently too vague
           | and unstable to restrict the functional scope of a still
           | manageable library with it. Perhaps they should consider to
           | move the parts that are now apparently beyond the scope and
           | for which they are collecting money into a new library under
           | a new name, rather than endlessly inflating something mature
           | and proven.
        
         | dr_zoidberg wrote:
         | When I moved some projects from OpenCV 3 to 4 I got a nice
         | speed up pretty much everywhere, some things no speed up at all
         | and some others pretty big. I can't really remember the
         | numbers, but at the moment it was a global 10 to 20% perf
         | improvement just on updating a library.
         | 
         | Might want to check that. Also 4.something got SIFT as part of
         | OpenCV (instead of living in the contrib module) because the
         | patent expired and you can now use it for free.
         | 
         | As for blowing up with NN packages and such... I don't really
         | use those parts, but if the NN module had easier support to run
         | networks trained on popular frameworks I might've used it.
         | Disclaimer: it's been quite a while since I last tried to use
         | those parts, so maybe now the latest version has fantastic
         | support and I'm talking nonsense.
        
       | jphoward wrote:
       | 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!
        
         | addandsubtract wrote:
         | > The reason the early developers at OpenCV chose BGR color
         | format is that back then BGR color format was popular among
         | camera manufacturers and software providers. E.g. in Windows,
         | when specifying color value using COLORREF they use the BGR
         | format 0x00bbggrr.
         | 
         | For anyone curious about why OpenCV uses BGR:
         | https://learnopencv.com/why-does-opencv-use-bgr-color-format...
        
       | maille wrote:
       | Isn't OpenCV mostly developed/funded by Intel?
        
         | ormax3 wrote:
         | While OpenCV was born at Intel, I don't think it's solely
         | developed by Intel anymore, there's now a non-profit
         | organization in charge of the project:
         | 
         | https://opencv.org/opencv-platinum-membership/
        
         | voqv wrote:
         | Yes, same impression here. I remember trying to get some
         | documentation fixes into the codebase and felt like it all got
         | shelved because the Intel team didn't see those things as
         | necessary. Some community PRs/fixes just went stale like that
         | too. Kind of now hard to merge that in my head that they now
         | need to crowdfund.
        
         | orangepurple wrote:
         | If I remember correctly there was a team in Belarus working
         | full time on OpenCV at one point. Anti-Russia sanctions may
         | have killed OpenCV if this is true.
        
         | philnelson wrote:
         | Intel offers some support, but not at the level they were
         | before.
        
       | LeafItAlone wrote:
       | 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/
        
         | geerlingguy wrote:
         | I read that as 5%.
         | 
         | And when you donate you can set the "tip" to 0% so all your
         | donation goes to the org.
        
           | LeafItAlone wrote:
           | I think it adds to 8%. This page [1] makes it clearer. They
           | charge 5% and their "payment processor also charges a
           | processing fee" which in the US is 3%.
           | 
           | The tip seems to be something entirely separate, which is
           | _additional_ money, on top of your donation, that only goes
           | to IGG, based on another [2] article.
           | 
           | You probably have more experience here though. Your work is
           | great and I always appreciate your posts.
           | 
           | 1. https://support.indiegogo.com/hc/en-
           | us/articles/204456408-Fe...
           | 
           | 2. https://computerengineeringforbabies.com/blogs/news/why-i-
           | ha...
        
           | ok123456 wrote:
           | I made an $11 donation, and Indigogo used a dark pattern,
           | automatically selecting it, to try to make me "tip" Indigogo
           | $10 on top of that! A 90.9% "tip!" NO THANKS.
           | 
           | A tip is for a service rendered. Not for being a mendicant
           | middleman.
        
         | elric wrote:
         | Does it even matter? When I pay for bread with my credit card,
         | a large portion of the price of the bread goes to the credit
         | card company and the payment processor. Should that stop me
         | from paying for bread?
         | 
         | Sure, the baker -- or OpenCV -- would be happier if they got a
         | bigger slice of the pie, but that's just the cost of doing
         | business.
        
           | LeafItAlone wrote:
           | > Does it even matter?
           | 
           | Yes, I think to me it does. How much of my money is "wasted"
           | (which we all might define differently) does matter to me.
           | 
           | There's also a factor of what I receive from it. In your
           | bread analogy, there is an exchange of money for a good
           | (bread) received. In a donation, like with OpenCV, there is
           | no guarantee of a good received, so I care more about how my
           | dollars are "spent" getting to the recipient. I (and many
           | others) look at the filings of charity to understand how much
           | goes to administrative overhead, for the same reason.
           | 
           | > When I pay for bread with my credit card, a large portion
           | of the price of the bread goes to the credit card company and
           | the payment processor.
           | 
           | Unless you are buying a single slice of bread, a large
           | portion does not go to the credit card company. About 3%
           | does, 5% lower than IGG fees, just like with IGG. A lot of
           | food places around me offer a 3-5% discount for using cash
           | and I generally choose that option if I have cash on me.
           | People have long cared about what "middleman" is scraping
           | money of the top of their spend.
           | 
           | Where is your cutoff for percent taken by the processor?
        
             | elric wrote:
             | It's your money, you're certainly free to spend it how you
             | like. However, if you oppose giving money to the middle
             | man, and the net result is that OpenCV gets nothing, I
             | can't help but question the wisdom in that decision.
        
         | ris wrote:
         | Indeed, I'd be much happier donating through e.g.
         | opencollective.
        
           | philnelson wrote:
           | We'll look at Open Collective for future fundraising... if we
           | have future fundraising.
        
       | victor9000 wrote:
       | Donate all you want but, most importantly, talk to your manager
       | about making a corporate donation.
        
         | philnelson wrote:
         | This is true
        
       | v3ss0n wrote:
       | 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.
        
         | cmrdporcupine wrote:
         | They won't pay until they're made to.
        
         | sroussey wrote:
         | Those are people that prefer not to advertise their supply
         | chain.
        
       | kaycebasques wrote:
       | I pitched in $21. OpenCV is magic.
        
         | philnelson wrote:
         | Thank you!
        
       | Joel_Mckay wrote:
       | 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. =)
        
       | bjelkeman-again wrote:
       | 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.
        
         | philnelson wrote:
         | I agree with this one
        
       | dzign wrote:
       | 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, ...
        
       ___________________________________________________________________
       (page generated 2023-11-27 23:02 UTC)