3 ms·
Unfortunately computer vision libraries and toolsets are the worst offenders of making each algorithm a 'hammer' when traditional problems are not a 'nail'. A g
by therobot24 13y ago
Unfortunately computer vision libraries and toolsets are the worst offenders of making each algorithm a 'hammer' when traditional problems are not a 'nail'. A good example is "Detecting a Car" (http://tutorial.simplecv.org/en/latest/examples/parking.html http://tutorial.simplecv.org/en/latest/examples/parking.html), where the mean color is used to determine if a car is in the image. A nice little exercise, but it oversimplifies the process. Each allows the user to step in a few puddles and then advertises that you'll be able to swim in the ocean.
- anoncv 13y agoThis statement is an oversimplification. Computer Vision libraries are essentially Swiss army knives. If the person without reasonable understanding of Computer Vision research thinks that he can solve the problem, that is the person's problem. Again I wouldn't blame the naive software engineer who thinks he can solve these problems, because our (extremely complex) visual process makes it all seem very simple. Even Marvin Minsky thought he could get his undergrad Gerry Sussman to “spend the summer linking a camera to a computer and getting the computer to describe what it saw”. After almost 60 years we aren't very to close that. Sure, we can solve certain problems in most scenarios (like face detection) or many relatively more complex problem in limited variance situations (like machine vision problems). This is the equivalent of a person who have learned C++ recently, using iteration/recursion/design patterns for everything he sees.
- therobot24 13y agoI honestly can't tell if you agree or disagree. My sentiment on the subject was that CV libraries are good swiss army knives, but to continue the analogy - you wouldn't tell someone that all you need to survive in the wilderness is said swiss army knife.
- acgourley 13y agoOpenCV seems like a good platform for academics to publish their algorithm as code. It's good that to try a new approach I don't need to figure out how to get/compile/install a new tool. But we need something better for doing real work... something that simply offers the most basic building blocks. Easy GPU offloading, easy inputing/outputting of movies or images, cross platform shader tools, colorspace conversion, image filters, etc.
- tjohns 13y agoHonestly, I thought that was a good introductory tutorial to their library. It's pretty clear that it's only trying to look for a specific car, in a specific spot. And it's obvious that they're taking advantage of the car's bright color to do this, which isn't generally applicable. It's a toy algorithm, but it's approachable for somebody with no CV experience.
- jfoster 13y agoIsn't the most important part of any algorithm whether it will fit the purpose? For the situation they describe (purely as an example) their algorithm seems it will probably work quite well. You're not going to build a humanoid robot using that algorithm, but it is addressing the problem they specified so directly that anything more would be over-engineering the solution. Most real-life problems are going to be addressable using similar techniques.
- therobot24 13y ago> You're not going to build a humanoid robot using that algorithm, but it is addressing the problem they specified so directly that anything more would be over-engineering the solution Clearly. > Most real-life problems are going to be addressable using similar techniques. Nope.
- blt 13y agoI agree that the example would be better if it raised questions about the weaknesses of this approach and the next steps you might need for a more general solution. But it is still a legitimate example. I'm an amateur, but I'm pretty sure the world of production grade vision systems is full of hacks like this. A good example is a nose detector on a depth sensor: just look for the closest point to the camera. John Russ's Image Procesing Handbook (amazon.com/Image-Processing-Handbook-Sixth-Edition/dp/1439840458) is full of examples where simple techniques are good enough under controlled circumstances. True object recognition would require strong AI. Every real life vision system is a compromise that makes many assumptions about its input. You'd be foolish to reach for something like SIFT if you really know that the car is always yellow and it always parks in the same 200x200px square.