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
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