Classical machine vision and pattern recognition is absolutely AI. Or at least it was AI before it became too mature to be called that. As they say, any AI problem that gets solved stops being AI and becomes just normal algorithmics.
Classical computer vision is no more AI than quicksort or BFS is. What they say is ML is AI that works. But classic computer vision (CV) is hand rolled algorithms like Eigenfaces to detect faces or Mixture of Gaussians for background subtraction. There's no magic black box model in classic CV, no training on data, no generated pile of "if"s that no one knows how it works. Just linear algebra written and implemented by hand.
ML, at least historically, has been considered a subset of AI, not a superset.
Until the rise of LLMs recently using human-designed deterministic algorithms to perform ‘intelligent’ tasks (like image processing, and especially image recognition) has absolutely been considered AI.
AI encompasses (encompassed?...) everything that uses computation to produce intelligence-like results.
I fear the terminology battle has been lost, though, and nowadays most people consider at least neural networks - perhaps also non-determinism of output - to be a prerequisite for something being “AI” - which is actually _less_ meaningful to the end-user.
You’re moving the goalposts, which is exactly what I referred to. Search algorithms and pathfinding have absolutely been AI historically, just go take a look at the table of contents of Norvig’s AI:MA. And I mean the 4rd edition that was published in 2020. A good 90% of the book is classical algorithmics.
It’s pretty hilarious and history-blind to claim that AI is just 2015+ era deep neural magic black boxes or something, as if the field wasn’t invented until then. As if neural networks themselves hadn’t been tried several times at that point and found okay for classification tasks but not much more.
As if for a long time, most AI researchers didn’t even want to talk about neural networks because they feared that their "cool" factor takes focus away from real AI research, and because the last time NNs were a big deal it was followed by one of the AI winters of broken promises and dwindling budgets.
It really depends on the application. If the illumination is consistent, such as in many machine vision tasks, traditional thresholding is often the better choice. It’s straightforward, debuggable, and produces consistent, predictable results. On the other hand, in more complex and unpredictable scenes with variable lighting, textures, or object sizes, AI-based thresholding can perform better.
That said, I still prefer traditional thresholding in controlled environments because the algorithm is understandable and transparent.
Debugging issues in AI systems can be challenging due to their "black box" nature. If the AI fails, you might need to analyze the model, adjust training data, or retrain, a process that is neither simple nor guaranteed to succeed. Traditional methods, however, allow for more direct tuning and certainty in their behavior. For consistent, explainable results in controlled settings, they are often the better option.
Not to mention performance. So often, the traditional method is the only thing that can keep up with performance requirements without needing massive hardware upgrades.
Counter intuitively, I’ve often found that CNNs are worse at thresholding in many circumstances than a simple otsu or adaptive threshold. My usual technique is to use the least complex algorithm and work my way up the ladder only when needed.
It can benefit from more complex algorithms, but I would stay away from "AI" as much as possible unless there is indeed need of it.
You can analyse your data and make some dynamic thresholds, you can make some small ML models, even some tiny DL models, and I would try the options in this order.
Some cases do need more complex techniques, but more often than not, you can solve most of your problems by preprocessing your data.
I've seen too many solutions where a tiny algorithm could do exactly what a junior implemented using a giant model that takes forever to run.
I’ve found exactly the opposite. In domain after domain the performance of a pure deep learning method is orders of magnitude less than that of either a traditional algorithm or a combination.
And often the CNNs are so finicky about noise or distortion that you need something as an input stage to clean up the data.
Classical machine vision and pattern recognition is absolutely AI. Or at least it was AI before it became too mature to be called that. As they say, any AI problem that gets solved stops being AI and becomes just normal algorithmics.
Classical computer vision is no more AI than quicksort or BFS is. What they say is ML is AI that works. But classic computer vision (CV) is hand rolled algorithms like Eigenfaces to detect faces or Mixture of Gaussians for background subtraction. There's no magic black box model in classic CV, no training on data, no generated pile of "if"s that no one knows how it works. Just linear algebra written and implemented by hand.
Not AI, not even ML.
ML, at least historically, has been considered a subset of AI, not a superset.
Until the rise of LLMs recently using human-designed deterministic algorithms to perform ‘intelligent’ tasks (like image processing, and especially image recognition) has absolutely been considered AI.
AI encompasses (encompassed?...) everything that uses computation to produce intelligence-like results.
I fear the terminology battle has been lost, though, and nowadays most people consider at least neural networks - perhaps also non-determinism of output - to be a prerequisite for something being “AI” - which is actually _less_ meaningful to the end-user.
You might say that the loss function is the human in the loop deciding whether or not the algorithm addresses the problem.
You’re moving the goalposts, which is exactly what I referred to. Search algorithms and pathfinding have absolutely been AI historically, just go take a look at the table of contents of Norvig’s AI:MA. And I mean the 4rd edition that was published in 2020. A good 90% of the book is classical algorithmics.
It’s pretty hilarious and history-blind to claim that AI is just 2015+ era deep neural magic black boxes or something, as if the field wasn’t invented until then. As if neural networks themselves hadn’t been tried several times at that point and found okay for classification tasks but not much more.
As if for a long time, most AI researchers didn’t even want to talk about neural networks because they feared that their "cool" factor takes focus away from real AI research, and because the last time NNs were a big deal it was followed by one of the AI winters of broken promises and dwindling budgets.
1 reply →
But have a look at the "Thresholding" section. It appears to me that AI would be much better at this operation.
It really depends on the application. If the illumination is consistent, such as in many machine vision tasks, traditional thresholding is often the better choice. It’s straightforward, debuggable, and produces consistent, predictable results. On the other hand, in more complex and unpredictable scenes with variable lighting, textures, or object sizes, AI-based thresholding can perform better.
That said, I still prefer traditional thresholding in controlled environments because the algorithm is understandable and transparent.
Debugging issues in AI systems can be challenging due to their "black box" nature. If the AI fails, you might need to analyze the model, adjust training data, or retrain, a process that is neither simple nor guaranteed to succeed. Traditional methods, however, allow for more direct tuning and certainty in their behavior. For consistent, explainable results in controlled settings, they are often the better option.
Not to mention performance. So often, the traditional method is the only thing that can keep up with performance requirements without needing massive hardware upgrades.
Counter intuitively, I’ve often found that CNNs are worse at thresholding in many circumstances than a simple otsu or adaptive threshold. My usual technique is to use the least complex algorithm and work my way up the ladder only when needed.
3 replies →
It can benefit from more complex algorithms, but I would stay away from "AI" as much as possible unless there is indeed need of it. You can analyse your data and make some dynamic thresholds, you can make some small ML models, even some tiny DL models, and I would try the options in this order. Some cases do need more complex techniques, but more often than not, you can solve most of your problems by preprocessing your data. I've seen too many solutions where a tiny algorithm could do exactly what a junior implemented using a giant model that takes forever to run.
It indeed would be much better. There’s a reason the old CV methods aren’t used much anymore.
If you want to anything even moderately complex, deep learning is the only game in town.
I’ve found exactly the opposite. In domain after domain the performance of a pure deep learning method is orders of magnitude less than that of either a traditional algorithm or a combination.
And often the CNNs are so finicky about noise or distortion that you need something as an input stage to clean up the data.
There are also many other classical thresholding algos. Don't worry about it :)
sure, if you don't mind it hallucinating different numbers into your image
Right, but the non-deep learning OCR methods also do that. And they have a much much lower overall accuracy.
There’s a reason deep learning took over computer vision.
6 replies →