03.09.2020 Views

Getting started with Computer Vision

A guide to the knowledge and application of visual systems

A guide to the knowledge and application of visual systems

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

d. Deep learning<br />

Deep learning is a special subset of machine learning and has<br />

revolutionised computer vision. Many problems that once<br />

seemed improbable to be solved are solved to the point<br />

where machines are getting better results than humans.<br />

Deep learning introduced the concept of end-to-end learning<br />

where the machine is just given a dataset of images which<br />

have been annotated <strong>with</strong> what class of object is present in<br />

each image.<br />

e. Choosing machine learning or deep learning<br />

Classic computer vision analysis excels at measurements,<br />

finding defects or matching patterns. It is the ideal solution<br />

for repeatable dimension measurements of an object in a<br />

controlled environment, such as examining machined parts or<br />

printed circuit boards. Traditional techniques work very well in<br />

constrained environments. However they don’t handle novel<br />

situations very well.<br />

In comparison, machine learning is trainable, and as it gains<br />

access to a wider data set, it’s able to locate, identify and<br />

segment a wider number of objects or faults <strong>with</strong> more<br />

variable appearance or perspective, such as identifying and<br />

counting foods such as broccoli on a conveyor belt.<br />

Breakthroughs in the field of artificial neural networks in recent<br />

years have driven companies across industries to implement<br />

deep learning solutions, from chatbots in customer service<br />

to image and object recognition in retail, and many more.<br />

Deep learning has unlocked a myriad of sophisticated new AI<br />

applications.<br />

The performance of deep learning algorithms <strong>with</strong> complex<br />

tasks have made it particularly appealing as a solution.<br />

However, it is not always the best approach to computer<br />

vision and machine learning related problems. Deep learning<br />

methods are ideal for replacing human eyes for object<br />

classification problems, or to emulate expertise by interpreting<br />

images such as medical x-rays. Deep learning algorithms take<br />

a long time to train however, requiring a lot of code compared<br />

to relatively few lines of classic computer vision code.<br />

While each use case is unique and will depend on business<br />

objectives, AI maturity, timescale, data and resources, among<br />

other things, are general considerations to take into account<br />

before deciding whether or not to use deep learning to solve<br />

a given problem.<br />

f. Image processing libraries<br />

OpenCV<br />

The Open Source <strong>Computer</strong> <strong>Vision</strong> Library (OpenCV)<br />

is one of the most popular computer vision libraries that<br />

provides many algorithms and functions. It includes<br />

modules such as image processing, object detection and<br />

deep learning to name just a few.<br />

The library is written in C++ and supports C++, Java, Python<br />

and MATLAB interfaces.<br />

Scilab An open source software similar to MATLAB,<br />

<strong>with</strong> a computer vision and image processing module.<br />

Octave An open source software also similar to MATLAB,<br />

<strong>with</strong> a computer vision and image processing module.<br />

R An open source data analysis library <strong>with</strong> packages for<br />

image processing.<br />

13

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!