Computer Vision(CV) and Machine Learning(ML) are two of the most sought after branches of Computer Science that can power very sophisticated systems but when you combine the two, you can achieve even more. Both CV and ML are not dependent on each other, you don’t have to understand one to learn the other, however, in some specific cases we can consider a union between the two. Now for those readers that are new to these technologies and especially for those who think ML and CV are just some big words that sound sci-fi, let me explain what they mean. I will be as non technical as I can so bear with me.
Machine Learning: Well, you can consider ML as an ability that allows computers to learn from data and do something based on the knowledge they have. The most important thing about ML is that it allows computer programs to teach themselves and to grow and change when exposed to new information.Now, I know all this sounds scary, most of us have seen the Terminator movies, but trust me ML is the future (hopefully one without robot overlords..) and is already changing the world of computer science.
Computer Vision: CV can be called as a method that allows computers to understand images and what’s in those images. Computer Vision tries to do what our brain does with the data from our eyes. Thus the name computer vision.
One of the most common usage of a CV system is object recognition. These are systems which can detect the cars on the road, faces in a photograph, etc. To achieve such a CV system we can use image processing, but the catch is that you will have to explicitly tell the computer what to do in other words we have to code the instructions to handle all types of possible conditions. This is where ML comes in and why we love using ML. Using ML you can just feed the system with a bunch of images of the object you are searching and another set of images without the object and let the computer figure out what to do. Such systems can make use of some common ML algorithms like SVM, HAAR Cascades etc. to make a robust detection system.
Why stop at ML, we can use Neural Networks, Deep learning and other smarter systems. Now the next big question on our minds is what is this Neural Networks and Deep learning?, well, that’s a question for another time, all you need to know for now is that these systems try to mimic human thinking.Imagine a system that could learn from what it sees. Data from CV algorithms can be fed to Deep Learning algorithms allowing them to learn and continuously improve themselves. The possibilities are endless, all we have to do is look for them.