Published on 08 Feb 2019. Written by Radha Parikh
Summary: Developing a good understanding of various image processing algorithms is very crucial to understand Computer Vision. You need to enhance your knowledge of basic image/ video processing algorithms. And developing projects on them is a great way to get skilled with these algorithms. Building projects can be very challenging on computer vision, but it is not very difficult due to the recent technological advancements and resources available.
Here are some of the latest computer vision based projects you can build:
Seattle based startup ‘Proprio Vision’ wants to change the way how surgeons see and operate. At least, that’s the first step toward its larger, even more, audacious goal of changing how medical practices are delivered. The startup envisions a future where much operating room equipment — such as surgical microscopes and fluoroscopy – are no longer necessary.
And they want to achieve that while improving the user experience for surgeons using VR and AR. The name “Proprio” is a play on “proprioception” and a nod to the idea that surgical technology should try to work alongside a surgeon’s own bodily awareness. This is one robust scenario employing computer vision boldly, with a good use case.
That was just one example, computer vision has a utility in whatever scenario one can imagine. Such is the versatility of this technology where every industry, every service can employ it in some of the other ways. From reading the license plates on traffic signals to comparing the state of valves used by petroleum refinery factories, computer vision can be used everywhere.
A computer as we know it today can achieve a lot of things. We have come a long way from an era of room-sized computers which could only perform basic arithmetic calculations.
Today, the computational power that our smartphones have is more than that of the computers used for successfully landing on the moon. This is all based on the code we feed to our systems. Imagine what would happen if computers could “see” for themselves, analyze and recognize events happening around them. So, if we were to ask Siri enabled the robot to count the number of red cars passing by on the highway, it would just need to look out of the window.
Sub-domains of computer vision include scene reconstruction, event detection, video tracking, object recognition, 3D pose estimation, learning, indexing, motion estimation, and image restoration. It goes without saying that computer vision finds its application in the development of AI-based systems, IoT, robotics, Machine Learning etc.
If the goal is to enhance an image for later use, it comes under Image Processing. On the other hand, if the goal is to emulate human-like vision for object detection, it comes under the realm of Computer Vision.
Understanding the key differences between the two is of utmost importance. Image processing is one of the parts of Computer Vision, as in, algorithms of Image Processing are used for the effective functioning of Computer Vision.
Computer vision is concerned with the theory and technology for building artificial systems that obtain information from images.
A significant part of artificial intelligence deals with planning or deliberation for systems which can perform mechanical actions such as moving a robot through a varied environment.
This type of processing typically needs input data provided by a computer vision system, acting as a vision sensor and providing information about the environment to the robot.
Other computer vision technologies applied in the field of artificial intelligence may include pattern recognition and machine learning techniques.
Step 1: Know about the Math involved. You need not to know the mathematics involved in it perfectly. It is enough if you know which mathematical tools are used. Just like how you don’t need to know Java to play a computer game written in Java, you can build computer vision projects without solving math problems yourself. But it helps to know which mathematical concepts are being used in it. Just like how it helps to understand various parts of the computer like a mouse and keyboard to play a computer game.
Some topics in Mathematics which are used in computer vision are linear Algebra, Singular Value Decomposition, Introductory level Pattern Recognition, Principal Component Analysis, Kalman filtering, Fourier Transform and Wavelets etc.
Step 2: Develop a good understanding of various image processing algorithms as this is the very crux of Computer Vision. You need to enhance your knowledge of basic image/ video processing algorithms.
Step 3: Learn how to use OpenCV library. OpenCV is a library of programming functions aimed for real-time Computer Vision. The library is cross-platform and free for use. OpenCV is written in C++ which is also its primary interface.
Step 4: Learn how to code. Knowing how to code is of utmost importance here. To be able to use libraries like OpenCV, you must be fluent in C++, R, Python, MATLAB etc.
Step 5: You can then start implementing some basic image processing algorithms like image thresholding, Canny edge detection, image perspective transformation, face/ facial feature recognition on small projects on your own. This will give you enough knowledge to develop your very own innovative computer vision project.
As you can see, you need not be an expert in all the underlying maths involved in Computer Vision and image processing. However, one must gather hands-on knowledge of various tools used in this field to excel. So it is very important to work hands-on and develop innovative projects.
Once you are done with these things, you must go for building a project of your own from scratch. This will help you apply everything you learn from courses and books practically. Always stay updated with the current revisions in the industry to get a good hold over Computer Vision.
1. Computer Vision based Mouse: Through this project, you will develop a computer vision based mouse to control the cursor using an object tracking algorithm. Just point your finger in the direction and the mouse cursor navigates itself. Through this project, you will learn about canny edge detection and object tracking, along with basic algorithms of image processing.
2. Face Detection: All popular smartphones have a feature called “Face unlock” these days. This feature uses something called face detection. Using OpenCV (Open Source Computer Vision Library) you can detect faces on a live stream or from a local video file on your system. It uses pre-trained XML classifiers for the same. The classifiers used in this program have facial features trained in them. Viola-Jones framework is the most common framework used for face detection.
3. Text scanner application: If you are interested in giving eyes to machines/robots which can be clubbed with processors and actuators to make the machines perform actions based on their vision, this project is your gateway into it.
In this project you will make your computer "read" and identify texts! You will learn to develop a computer vision based text scanner that can scan any text from an image using the optical character recognition algorithm and display the text on your screen. You will also learn image processing algorithms, image thresholding, optical character recognition, and many more amazing new skills.
4. Blur an Image application: Sometimes the images that go up on social media are not appropriate for all to view. Social Media websites like Facebook employ computer vision to blur parts of these images out so that the message is conveyed, yet no inappropriate images are showcased. You can use C++ combined with OpenCV to code for this project.
5. Sign Language Translator for Speech Impaired: This project provides a helping-hand for speech-impaired people to communicate with the rest of the world using sign language. This leads to the elimination of the middle person who generally acts as a medium of translation. A rule based classifier is used, coupled with a background subtraction method by detecting the color of the skin using HSV (Hue Saturation Value) Model. Using this algorithm, sign language can be converted to text.
6. License plate detection: Video cameras can be used to detect when a vehicle passes by. With this project when an image is captured, the license plate is located and using an optical character recognition algorithm, the number on a license plate is deciphered. This will be very useful for the cops to employ traffic rules strictly on the riders. And this process will be more efficient considering no human assistance is required.
Hope you got some good computer vision project ideas from this article.
Suppose, if you want to build great computer vision projects but don’t have the necessary technology knowledge, don’t worry!
We at Skyfi Labs have developed an innovative learning methodology through which you can learn the latest technologies by building projects hands-on right from your home. With the online course content available 24x7 and 1-1 technical assistance provided, developing great expertise on the latest technologies like computer vision will never be tough for you.
Comment your queries below, we will assist you at the earliest.