What are Convolutional Neural Networks and How Can They Be Used?

Convolutional neural networks (CNNs) are a commonly used method of machine learning (ML) to improve business processes. Below, is a brief explanation of CNNs and their common applications.

CNNs are a class of neural networks in which at least one of their layers uses a convolution in place of matrix multiplication. They have applications in image classification, object detection, image segmentation, facial recognition, and medical image analysis. It is not just limited to processing images though. CNNs can be utilized on other types of data such as stock market statistics.

IMAGE CLASSIFICATION

Image classification is the simplest neural network to train and the easiest to setup. Image classification is the process of deciding whether a picture belongs to one or more categories. For example, as shown below, the image classifier determines if the picture is a cat. Image classifiers can only give you a percentage – they cannot affirmatively declare if the picture is in a category. You must set a threshold to determine what counts as a classification. For example, you could set it so anything 98% and above would be considered a cat.

Image Classification: Is this a cat?

In practice, image classification is used for categorizing images into multiple classes. This is called multilabel classification. For example, a CNN could give you a percentage likelihood if it is a cat or a dog. The output of the CNN could be further refined into breeds of cats such as Persian or Siamese.

OBJECT DETECTION

Object detection is like image classification. The CNN classifies the image and then draws a bounding box around the object’s location. Commonly, the object detector will classify the image, draw a bounding box, and then add a label next to it. Very often they utilize multilabel classification to detect multiple objects. Object detection is used in automated security systems, self-driving cars, and face tracking.

Object Detection: Is this a car, truck, or traffic light?

The hardest part of implementing object detection is getting enough high-quality training data. Because most applications of object detection utilize multilabel classification, it requires significantly more information. This data needs a range of lightning conditions and angles. On top of this, you need a large set of images for each of these classifications.

IMAGE SEGMENTATION

Image segmentation is another useful application of CNNs. This is where a picture is divided into segments based on detected boundaries. It does this by grouping pixels into regions based on color and intensity. This ML model is commonly used in the medical field. It can be utilized in MRI scans to partition the image into spongy vs dense bone and normal vs diseased tissue.

Image Segmentation: This creates 4 segments: (a) tiger, (b) grass, (c) water, (d) sand

The main application of image segmentation is precisely determining the boundary between objects. For example, it can be used to map bone fractures and determine the boundary between different bone types. Self-driving cars utilize it to position the car on the road by segmenting where the road begins and end.

FACIAL RECOGNITION

Facial recognition is a subset of image classification. It is specifically optimized to detect a face and determine who it belongs to. It is primarily used in biometric scanning to determine identity. Facial recognition allows iPhone users to unlock their phone with just their face.

Facial Recognition: This is, with 95% confidence, Channing Tatum.

Facial recognition CNNs break recognition into two main steps. In the first step, facial landmarks are detected. These include the eyes, ears, nose, lips, and eyebrows. Then, these landmarks and the original image are used to calculate face encodings (numbers that describe the face). The face encodings are then compared to a known person and the similarity is returned.

FINANCIAL TIME SERIES

As mentioned in the beginning, CNNs are not limited to just processing images. It can also be utilized for financial calculations. For example, creating a predictive time series of a stock’s price over time.

Financial Time Series: Will Google increase in price? (The answer is yes).

In a time series analysis, rather than analyzing clusters of pixels, the CNN reviews the stock’s metrics. This data is passed to a different neural network, specifically a LTSM, which takes each convolution from the previous step and determines the probability of the stock's increase or decrease. This is then presented as a prediction over time. Shown in the image is an actual prediction of Google’s stock pricing using a CNN. The prediction is the blue line, the light blue area is the standard deviation, and the black dots are the actual stock price.

These are just some of the applications of neural networks. They are also used in natural language processing, recommendation systems, document analysis, and many other fields. By understanding the different types of CNNs, you can better implement ML into your business.

 
Brian Kamras

Brian Kamras, PhD is a software engineer at Invene, LLC and has a passion for science and efficient software. He holds a PhD in inorganic chemistry and has co-invented nanoparticle therapeutics as part of his graduate research. Brian developed a passion for software development and statistical analysis while in graduate school and now works in all levels of the software stack, from low-level operating systems programming to front-facing web development with cutting edge frameworks like React.

Previous
Previous

Healthcare Software Company Invene Adds Chief Operating Officer

Next
Next

Boring Technology is A Business Advantage