Deep Learning for Computer Vision: A Beginner's Guide
This beginner’s guide explains the concepts of deep learning and computer vision. Also get insights into 5 interesting applications of deep learning for computer vision.
Join the DZone community and get the full member experience.Join For Free
Deep learning and computer vision are trends at the forefront of computational, engineering, and statistical innovation. You’ve probably heard a lot about these trends if you follow technology blogs and news reports, however, it’s easy to get lost in the terminology without proper explanations.
This beginner’s guide explains the concepts of deep learning and computer vision. You’ll also get insights into five interesting applications of deep learning for computer vision.
What Is Deep Learning?
To truly understand deep learning, the following definitions are important:
Artificial intelligence is the ability of machines to perform tasks normally requiring human intelligence.
Machine learning is a field of artificial intelligence in which computer systems composed of hardware and software can learn to perform tasks using data alone, without explicit coding or instructions. This data is labeled and classified before being fed into the system.
An artificial neural network (ANN) is a computer system with a design inspired by biological neural networks. An ANN has an input layer, a hidden layer, and an output layer for mapping inputs to outputs.
Bearing these definitions in mind, deep learning is a subset of machine learning in which machines use deep neural network architecture and algorithms to learn tasks autonomously.
What distinguishes deep learning is that its networks contain many hidden layers. This extra complexity empowers machines to learn from unstructured, unlabeled data as well as labeled and categorized data.
Note that none of these concepts are particularly new — rapid advances in computing power and technology enables the models to be fed with large volumes of data. The more data available, the more proficient the models become at learning tasks.
Speech recognition, image recognition, natural language processing (NLP), and computer vision are some of the areas deep learning has improved dramatically.
Many technology companies now specialize in providing platforms for training deep learning models in computer vision and other areas. Such companies have also facilitated further innovation in these artificial intelligence branches.
What Is Computer Vision?
Computer vision is a scientific field spanning multiple disciplines that is concerned with getting computers to extract high-level meaning from images and videos.
The list of applications of computer vision is extensive; some of the most interesting include:
Waymo, a computer vision technology that enables self-driving vehicles to spot pedestrians from 300 meters away
Gauss Surgical, a healthcare technology company using computer vision to monitor obstetric blood loss during C-sections.
Osprey Informatics, a computer vision platform that uses computer vision to intelligently monitor remote industrial sites like oil wells and eliminate unnecessary visits.
SlantRange, an agricultural technology company using computer vision and drones to determine whether crops are under threat.
5 Uses of Deep Learning in Computer Vision
Deep learning has several uses in helping to achieve computer vision and overcoming its challenges — here are five of them.
Probably the computer vision capability familiar to most people is facial recognition, which is a common feature in today’s smartphones and cameras. Modern facial recognition systems at large enterprises are powered by deep learning networks and algorithms.
Facebook’s DeepFace identifies human faces in digital images using a nine-layer neural network. The system has 97 percent accuracy, which is famously better than the FBI’s facial recognition system. Google also developed its own highly accurate facial recognition system named FaceNet.
Object Classification and Localization
Classification with localization means identifying objects of a certain class in images and videos and highlighting their location, typically by drawing a box around the object. This particular computer vision use case is more challenging than simple object classification, which assigns labels to entire images (e.g. cat, bird, dog).
Classification with localization is particularly helpful in the medical field because healthcare organizations can train neural networks to rapidly identify cancerous regions of the body based on x-rays and other diagnostic medical images.
An extension of object classification and localization is object detection, in which the model can identify many objects of different types in images.
Semantic segmentation is a more advanced form of image classification and localization made possible by neural networks. With semantic segmentation, a model can classify and locate all of the pixels in an image or video. See the gif below to view semantic segmentation in action.
Image source: https://nikolasent.github.io/proj/proj4
The most exciting potential use for this computer vision function is real-time semantic segmentation used by self-driving cars. Identifying and localizing objects accurately can improve the safety and reliability of autonomous vehicles.
Colorization is the process of converting grayscale images to full-color images. The excitement of this use case comes from its aesthetic appeal. Colorization with deep learning can give new context and vibrancy to old black and white movies and photos. Check out this article for some impressive examples of image colorization using deep learning.
Technology giant Nvidia sent the Internet into a frenzy in 2018 when it announced a new technique that can reconstruct corrupted images. Wear and tear on old printed photographs can lead to holes, blurring, and other damage to the image. Digital images can get damaged and lose some of their pixels due to corrupt memory cards.
The technique uses deep learning to fill in the missing parts of images. According to the research paper, the deep learning model used by Nvidia can “robustly handle holes of any shape, size, location, or distance from the image borders”.
You’ve read about just a small sample of a wide range of exciting uses and applications of deep learning for computer vision. You’ve also got a beginner’s guide to understanding deep learning and computer vision.
Opinions expressed by DZone contributors are their own.