The author of this article believes that deep learning is just an computer vision tool, not a good medicine to cure all diseases. Don’t just use it just because of the epidemic.
Traditional Computer vision technology can still show off your skills. Understanding them can save you a lot of time and trouble; and mastering traditional computer vision can indeed allow you to do better in deep learning.
This is because you can better understand the internal conditions of deep learning and perform preprocessing steps to improve deep learning results.
The inspiration for this article also comes from a common question in the forum:
Has deep learning replaced traditional computer vision?
Or in other words:
Since deep learning seems so effective, is it still necessary to learn traditional computer vision technology? This question is very good. Deep learning has indeed brought revolutionary breakthroughs to the fields of computer vision and artificial intelligence . Many problems that once seemed difficult are now better than humans. Image classification is the best proof. Indeed, as mentioned before, deep learning has the responsibility to incorporate computer vision into the industry map.
But deep learning is still just a tool for computer vision, and obviously is not a panacea to solve all problems. Therefore, this article will elaborate on this in detail. That is to say, I will explain why traditional computer vision technology is still very useful and worth continuing to learn and teach.
This article is divided into the following parts/arguments:
- Deep learning requires big data
- Deep learning sometimes goes too far
- Traditional computer vision will improve your deep learning level
- Before entering the main text, I think it is necessary to explain in detail what "traditional computer vision" is, what is deep learning, and it is revolutionary.
Background knowledge
Before the emergence of deep learning, if you had a work such as image classification, you would do a step called "feature extraction" .
The so-called "feature" is the "interesting", descriptive, or small part of the image that provides information. You will use the combination of what I call "traditional computer vision technology" in this article to find these features, including edge detection, corner detection, object detection, and more.
When using these techniques related to feature extraction and image classification, as many features as possible are extracted from images of a class of objects (such as chairs, horses, etc.) and regarded them as the "definition" of such objects (called "bag of words"). Next you will search for these "definitions" in other images. If there is a considerable portion of the characteristics of the bag of words in another image, then this image is classified as a category containing that particular object (such as a chair, a horse, etc.). The difficulty of feature extraction method for image classification is that you must choose which features to look for in each image. As the number of categories you are trying to differentiate starts to grow, say, over 10 or 20, this becomes very troublesome and even difficult to achieve. Are you looking for corner points? edge? Or texture information? It is best to describe different types of objects with different types of features. If you choose to use a lot of features, you have to deal with massive parameters and need to fine-tune it yourself.
Deep learning introduces the concept of "end-to-end learning", which (in short) allows machines to learn to find features in each specific category of objects, that is, the most descriptive and prominent feature . In other words, let neural network discover potential patterns in various types of images.
So with end-to-end learning, you no longer have to manually decide which traditional machine vision technology to describe the features. The machine does all this for you.Wired magazine wrote:
For example, if you want to teach a [deep] neural network to recognize a cat, you don't have to tell it to look for beard, ears, hair or eyes.
You just need to show it images of thousands of cats, and it will naturally solve this problem. If it always mistakes fox for a cat, you don't have to rewrite the code. You just need to keep training on it.
The figure below describes this difference between feature extraction (using traditional computer vision) and end-to-end learning:
The above is the background introduction. Now let’s talk about why traditional computer vision is still essential and learning it is still of great benefit.
Deep learning requires a lot of data
First of all, deep learning requires data, a lot of data. The training of famous image classification models mentioned above is based on huge data sets. The top three training data sets of
ranked:
ImageNet-1.5 million images, 1,000 object categories/categories;
COCO-2.5 million images, 91 object categories;
PASCAL VOC-500,000 images, 20 object categories.
But a poorly trained model may perform poorly outside your training data, because the machine does not have insight into the problem, so it cannot be summarized without seeing the data. And it's too difficult for you to view the inside of the training model and make manual adjustments, because a deep learning model has millions of parameters inside - each parameter will be adjusted during training. To some extent, a deep learning model is a black box.
Traditional computer vision is completely transparent, allowing you to better evaluate and judge whether your solution is still valid outside of the training environment. Your in-depth insights into the problem can be put into your algorithm. And if there is a failure anywhere, you can also make it easier to figure out what needs to be adjusted and where to adjust.
Deep Learning sometimes goes over the head
This is probably my favorite reason to support research on traditional computer vision technologies.
trains a deep neural network for a long time. You need specialized hardware (such as high-performance GPUs) to train the latest and most advanced image classification models. Do you want to train on your pretty good laptop? Go and spend a week off, and the training may not be completed when you come back.
Also, what if your training model performs poorly? You have to go back to the origin and redo the entire work with different training parameters. This process may be repeated hundreds of times.
But sometimes all of this is absolutely unnecessary. Because traditional computer vision technology can solve problems more efficiently than deep learning and uses less code. For example, one project I once worked on was checking if there was a red spoon in each jar that passed through the conveyor belt. Now you can train a deep neural network to detect spoons through the protracted process described above, or you can write a simple algorithm with red as threshold (mark any pixel with a certain range of red as white, and all other pixels as black), and then calculate how many white pixels there are. Simple, it can be done in one hour!
Mastering traditional computer vision technology may save you a lot of time and reduce unnecessary troubles.
Traditional computer vision will improve your deep learning skills
Understanding traditional computer vision can actually help you do better in deep learning.
For example, the most commonly used neural network in the field of computer vision is the convolutional neural network . But what is convolution ? Convolution is actually a widely used image processing technology (such as Sobel edge detection).Understanding this can help you understand what is going on inside a neural network, thus designing and fine-tuning to better solve your problem.
Another thing is called preprocessing. The data you input into the model often needs to be processed this way in order to prepare for the next training. These preprocessing steps are mainly accomplished by traditional computer vision techniques. For example, if you don't have enough training data, you can do a processing called data augmentation. Data augmentation refers to randomly rotating, moving, cropping, etc. on images in your training dataset to create "new" images. By performing these computer vision operations, you can greatly increase the amount of your training data.
Conclusion
This article explains why deep learning has not replaced traditional computer vision technology, and that the latter is still worth learning and teaching.
First of all, this article focuses on the issue that deep learning often requires a large amount of data to perform well. Sometimes there is no large amount of data, and traditional computer vision can be an alternative in this case.
Second, deep learning occasionally goes too far for specific tasks. In these tasks, standard computer vision can solve problems more efficiently than deep learning and use less code.
Third, mastering traditional computer vision can indeed allow you to do better in deep learning. This is because you can better understand the internal state of deep learning and perform preprocessing steps to improve deep learning results.
In short, deep learning is just a tool for computer vision, not a good medicine to cure all diseases. Don't just use it just because it's popular. Traditional computer vision technologies can still show off their skills, and understanding them can save you a lot of time and trouble.
号用网站 Intelligent Machine Vision Low Code Platform is a cloud collaborative development platform for machine vision applications, and always adheres to the product concept of 0 cost, 0 code, 0 threshold, and 0 hardware. The
platform takes artificial intelligence technology as the core and provides developers with a one-stop complete tool chain for image acquisition, image annotation, algorithm development, algorithm packaging and application integration in the machine vision application development process. It covers hundreds of general functions such as character recognition, defect detection, target positioning, size measurement, video streaming , etc., and is committed to becoming the machine vision low-code platform with the largest number of users and the widest implementation scenarios in the world.
If you need to use similar machine vision: visual detection, visual recognition, visual positioning and other technologies in your industrial production line, then you might as well talk to us. We will first analyze according to your needs and give you a suitable solution from a professional perspective! More functions of
are under development. The latest information will be announced at the official official account [Jusi Intelligence] . Everyone will continue to pay attention!
