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.
4 How to set up a computer<br />
vision system<br />
Almost everyone has experienced computer vision and machine learning, often <strong>with</strong>out even knowing.<br />
This section explains how to set up a computer vision system.<br />
a. Basic components<br />
The components of a standard computer vision system are:<br />
• Digital camera/image sensor<br />
At the heart of any camera is the sensor. Modern sensors<br />
are solid-state electronic devices containing up to millions<br />
of discrete photodetector sites called pixels.<br />
• Lighting devices<br />
Many computer vision systems are optimised by illuminating<br />
the scene to be captured, and may require filters to enhance<br />
the sensor characteristics.<br />
• Lens<br />
To focus or enhance the scene<br />
• Frame grabber<br />
To capture individual frames<br />
• Image processing software<br />
To analyse the captured scene<br />
• Machine learning algorithms<br />
For pattern recognition<br />
b. Hardware platforms<br />
CPU<br />
GPU<br />
The central processing unit of a computer used to<br />
perform arithmetic computations. Most modern CPUs<br />
have 2 to 256 cores.<br />
The graphics processing unit of a computer used to<br />
process graphics. GPUs start at a couple of hundred cores<br />
FPGA<br />
and can run in to the thousands. The greater number of<br />
cores allows multiple calculations to be worked on at the<br />
same time which allows image processing to be<br />
performed efficiently.<br />
Field programmable gate arrays have parallel processing<br />
capabilities which make them suitable for image processing.<br />
c. Software tools<br />
There are many software tools <strong>with</strong> the necessary techniques to perform image and video processing tasks as well as machine<br />
learning algorithms.<br />
CPU<br />
GPU<br />
• OpenCV • Scilab • Octave • R • Matlab • Tensorflow • PyTorch • Keras • Caffe<br />
d. Digital imaging system stack<br />
Software<br />
processing<br />
6<br />
5<br />
Visualisation and reproduction<br />
Image post-processor<br />
Viewing image in visual format<br />
Image data optimisation<br />
Presentation<br />
4<br />
Image storage<br />
Formatting and storing image data<br />
Numeric<br />
presentation<br />
Hardware<br />
processing<br />
3<br />
2<br />
Digital signal processor<br />
Sensor<br />
Manipulation of digital signal<br />
Converting light to electrical signal<br />
1<br />
Optics<br />
Gathering Light<br />
Light<br />
10