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).
> 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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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...
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...
Whereas today, OpenCV and derivatives are already using the LX7 vector extensions and run fast enough to be useful.
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).I have used it to group images of the same subject/angle, then remove the most blurry ones.
That's overstating things more than a little.