Are Convolutional Neural Networks summarily better than pattern recognition in all existing image processing libraries that don't use CNN's? Or are there still hard outstanding problems in image processing that seem to be beyond their capability?
3 Answers
It would not be wise to say that CNNs are better objectively than traditional approaches to solve computer vision problems as there are many problems for which the traditional methods works just fine. CNNs do have an inherent advantage over traditional methods which is the same advantage that deep learning has over other traditional methods i.e learning hierarchical features i.e what features are useful and how to compute them.
The traditional way to approach a CV problem is to figure out the features that are relevant to the problem, figure out how to compute those features and then use those features to compute the final result. Whereas in CNN case the training process will figure out all the 3 points for you given that you have huge number of training examples.
Neural net approaches are very different than other techniques, mostly because NN aren't "linear" like feature matching or cascades. With very complicated tasks like realtime object recognition or other difficult patterns it's better to use neural net, first because if you train it well your net , you can get very high precision, second it' easier to implement (it depends a lot from library to library) third usually after you have trained it they are very fast to classify or predict something. But a lot of tasks don't need neural nets, for example many factories to check the products use 3D features model matching. At the end you have to evaluate which method is the best for your task
There are object recognition tasks where DL-CNNs are not yet state of the art, like pedestrian detection. Probably this is because the task is considerably more complex than simple visual object identification. The classifier needs to report not only if the object in question is a pedestrian, but also if it's an adult or child or dog or a tumbleweed, its rate and direction of motion, where it's looking (or if it's inattentive), if it's afoot or abicycle. And it typically needs to do this in the presence of visible occlusions since all the subtasks above are made even more difficult when part of the object is blocked by shrubberies, lampposts, umbrellas, snow, or other possible pedestrians.
In the absence of sufficient training labels, or a too-complex, too-compound learning objective, some object recognition problems aren't yet amenable to canned / library solutions, using DL-CNNs or not.