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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Getting</strong><br />

<strong>started</strong> <strong>with</strong><br />

<strong>Computer</strong><br />

<strong>Vision</strong><br />

A guide to the knowledge and application<br />

of visual systems<br />

censis.org.uk


The goal of computer vision is to extract<br />

meaning from pixels and perform visual<br />

tasks similar to the human visual system. Interest in<br />

how machines ‘see’ and how computer vision<br />

can be used to build products for consumers and<br />

businesses is growing rapidly.<br />

ication<br />

Identif<br />

Recognition<br />

Capabilities of<br />

computer vision<br />

Tracking<br />

Real-time analysis<br />

If you are reading the printed version of this brochure, you can download a hyperlinked pdf at censis.org.uk/brochures<br />

1


Contents<br />

1 An introduction to computer vision 3<br />

a. FAQs 3<br />

b. A brief history of computer vision 4<br />

c. The evolution of computer vision 5<br />

d. Deep learning breakthrough 5<br />

2 Application examples 7<br />

a. Smart homes 7<br />

b. Smart cities 7<br />

c. Industry 7<br />

d. Healthcare 8<br />

e. Agriculture 8<br />

f. Security 8<br />

g. Autonomous vehicles 8<br />

h. AR/VR & immersive technologies 8<br />

3 How is computer vision used in business? 9<br />

a. Benefits for business, industry and society 9<br />

b. Technical challenges 9<br />

c. Privacy 9<br />

4 How to set up a computer vision system 10<br />

a. Basic components 10<br />

b. Hardware platforms 10<br />

c. Software tools 10<br />

d. Digital imaging system stack 10<br />

5 How to process and interpret images 11<br />

a. Image as an array 11<br />

b. Image processing 12<br />

c. Machine learning 12<br />

d. Deep learning 13<br />

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

f. Image processing libraries 13<br />

g. Machine learning frameworks 14<br />

6 Embedded vision 15<br />

a. Embedded vision platforms 15<br />

b. Camera modules 16<br />

c. Interfaces 16<br />

7 <strong>Computer</strong> vision & IoT 17<br />

a. Cloud vs edge processing 17<br />

b. Cloud platform and machine learning vendors 18<br />

c. Machine vision and IoT 18<br />

8 Implementing computer vision 19<br />

a. Your first prototype 19<br />

b. How CENSIS can help 20<br />

c. IoT2Go <strong>Vision</strong> kit 20<br />

9 Incubators and learning resources 21<br />

10 The computer vision community in Scotland 22<br />

a. Companies in Scotland 22<br />

b. Research in Scotland 23<br />

Glossary 24<br />

2


1 An introduction to<br />

computer vision<br />

a. FAQs<br />

What is computer vision?<br />

Of the five human senses, vision is the one that provides most<br />

of the data we receive and is considered our dominant sense.<br />

It provides us <strong>with</strong> a detailed description of the surrounding<br />

world which is constantly changing. Although vision involves<br />

a huge amount of information and complex processing, the<br />

human visual system can interpret this information easily.<br />

The ability to see, process and then act on visual input is<br />

something that most humans take for granted.<br />

<strong>Computer</strong> vision engineering is the practice of using<br />

technology and machines to replicate, and even improve upon,<br />

human vision. The technology captures and stores images<br />

before transforming them into information that can be further<br />

acted upon.<br />

This requires expertise across a range of fields, including sensor<br />

technology, image and signal processing, computer graphics,<br />

computer architecture, algorithms and machine learning.<br />

What are the fundamental computer vision<br />

techniques?<br />

Image classifcation gives a computer the ability to interpret<br />

the input from an image sensor and categorise what it ‘sees’.<br />

Object Detection detecting instances of a certain class (such<br />

as vehicles, humans, buildings) in images or videos.<br />

Object Tracking detecting and recognizing a defined item<br />

in each frame of a video to distinguish it from other objects in<br />

the scene.<br />

3D Image Reconstruction the process of capturing the shape<br />

and appearance of real objects.<br />

Semantic Image Segmentation when specific regions of an<br />

image are labelled according to what the object is.<br />

What’s the difference between image<br />

processing, computer vision and machine<br />

learning?<br />

Each of these fields is based on the input of an image. They<br />

process the pixels and give us an altered output in return. While<br />

their names imply their goals and methodologies, these fields<br />

depend substantially on one another.<br />

Relationship between AI,<br />

machine learning and deep learning<br />

Artificial intelligence<br />

Machine learning<br />

Deep<br />

learning<br />

Artifcial intelligence:<br />

AI is the theory and<br />

development of computer<br />

systems to perform tasks<br />

normally requiring human<br />

intelligence.<br />

Machine learning: is an<br />

application of AI based<br />

around the idea of giving<br />

machines access to data<br />

and letting them learn for<br />

themselves.<br />

Deep learning: is a special<br />

type of machine learning<br />

algorithm, multiple layers of<br />

neural networks that mimic<br />

the connectivity of the<br />

human brain in processing<br />

data and creating patterns<br />

for use in decision making.<br />

As a minimum an AI system must be able to reproduce aspects<br />

of human intelligence<br />

Image processing takes an image as an input and provides a<br />

processed image as an output. The purpose of the processing<br />

is usually to improve the quality of the image. Typical methods<br />

used are filtering, noise removal, sharpening and edge detection.<br />

<strong>Computer</strong> vision broadens the purpose of image processing<br />

to include quantitative and qualitative information from visual<br />

data. Similar to the process of human visual reasoning, computer<br />

vision can distinguish between objects, classify them and sort<br />

them according to their attributes. <strong>Computer</strong> vision, like image<br />

processing, takes an image as an input. However, it returns an<br />

output <strong>with</strong> additional information interpreted from the image<br />

such as size, colour, number, location or orientation.<br />

This can be extended beyond the extraction of meaningful<br />

information from a single image to multiple images or video,<br />

for example, to count the number of cars passing by a point on<br />

the street as they are recorded by a video camera. Temporal<br />

information therefore plays a role in computer vision, much as<br />

it does <strong>with</strong> our own understanding of the world.<br />

Machine learning is the application of intelligence that<br />

provides the computer system <strong>with</strong> the ability to automatically<br />

learn and improve from experience <strong>with</strong>out having to be<br />

programmed. In computer vision terms, this means ‘training’ a<br />

system. Algorithms and statistical models are used to perform<br />

image analysis using patterns and inference trained on data sets<br />

of many thousands of images for automatic learning, rather<br />

than using explicit instructions as image processing would.<br />

3


What is artificial intelligence (AI)?<br />

Artificial intelligence is intelligence demonstrated by machines,<br />

where any device can perceive its environment and mimic<br />

human functions such as ‘learning’ and ‘problem solving’.<br />

Artificial intelligence, or AI, is the broad concept of machines<br />

being able to carry out tasks in a way that is considered ‘smart’.<br />

What are neural networks?<br />

Neural networks are a means of machine learning, where<br />

a computer learns to perform a task by analysing training<br />

examples or datasets. Usually, the dataset examples have been<br />

manually labelled in advance. An object recognition system<br />

might be fed thousands of labelled images of cars, houses,<br />

cups and would find visual patterns in the images that correlate<br />

consistently <strong>with</strong> the particular label.<br />

What is deep learning?<br />

Deep learning is the use of neural network methods to perform<br />

image analysis, moving away from statistical methods to neural<br />

network algorithms which are developed to mimic the neurons<br />

of the human brain.<br />

What applications can computer vision<br />

be used for?<br />

Applications of computer vision are many and varied.<br />

Common applications you may be familiar <strong>with</strong> include<br />

augmented reality, facial recognition, gesture and handwriting<br />

recognition, machine vision, remote sensing, robotics,<br />

autonomous vehicles, people counting and iris recognition.<br />

What business sectors use computer vision?<br />

<strong>Computer</strong> vision has numerous applications such as<br />

remote sensing, healthcare (particularly around medical<br />

imaging such as MRI scans or ultrasound imaging), security,<br />

manufacturing, automotive, transport, robotics, sports,<br />

gaming and many others.<br />

The computer vision<br />

market is expected<br />

to reach close to $22 billion<br />

by 2026<br />

https://www.verifiedmarketresearch.com/product/globalcomputer-vision-market-size-and-forecast-to-2025/<br />

b. A brief history of<br />

computer vision<br />

<strong>Computer</strong> vision has a long history in commercial and<br />

government use where light wave sensors in various spectrum<br />

ranges have been deployed in many applications such as:<br />

• Remote sensing for environmental observation<br />

and management<br />

• High resolution cameras that collect intelligence over<br />

battlefields<br />

• Thermal imagers to detect people during police operations<br />

• X-ray sensors for airport security.<br />

The sensors can be stationary or attached to moving objects,<br />

such as satellites, drones and vehicles. When combined <strong>with</strong><br />

connectivity technologies such as Wi-Fi, Bluetooth or 3G/4G/5G,<br />

they create a new set of applications that were not possible before.<br />

<strong>Computer</strong> vision, coupled <strong>with</strong> connectivity, advanced data<br />

analytics and artificial intelligence, are catalysts for each other,<br />

giving rise to revolutionary leaps in IoT innovations<br />

and applications.<br />

4


c. The evolution of computer vision<br />

1960s<br />

<strong>Computer</strong> vision technology <strong>started</strong> in the early 1960s <strong>with</strong><br />

the aim of trying to mimic human vision systems and to ask<br />

computers to tell us what they see.<br />

<strong>Computer</strong>s ‘see’ the world differently from humans<br />

• They capture an image as an array of pixels<br />

• Borders between objects are discerned by measuring<br />

shades of colour<br />

• Spatial relations between objects can be estimated.<br />

3D models and representations of the environment from<br />

2D images began to be developed. Research continued by<br />

developing ways to analyse real world images which led to<br />

techniques such as edge detection and segmentation. These<br />

were the foundations for low-level scene understanding and<br />

steps towards automating the process of image analysis.<br />

1970s<br />

The 1970s saw the first commercial application of computer<br />

vision technology, which was an optical character recognition<br />

program. Combined <strong>with</strong> text-to-speech technology it provided<br />

the first print-to-speech reading machine for the blind.<br />

1980s<br />

In 1980 the precursor of modern convolutional neural<br />

networks was developed. As neural networks evolved<br />

throughout the 1980s, algorithms <strong>started</strong> to be programmed<br />

to solve individual challenges<br />

2000s<br />

Face detection in real-time was first developed in 2001, by<br />

Viola & Jones and was the first object detection framework to<br />

successfully perform in real time.<br />

Robot cars<br />

tested on<br />

roads by Google<br />

in 2010<br />

2010s<br />

• Hardware technology evolution<br />

Throughout the 2010s, single board computers <strong>with</strong><br />

increasingly powerful GPUs, FPGAs and mobile hardware<br />

platforms have been designed, built and adapted to accelerate<br />

machine learning based computer vision algorithms.<br />

Increased power and efficiency at lower costs have allowed<br />

breakthroughs in using machine learning for computer vision<br />

and deployment is increasing at an exponential rate.<br />

• Sensor technology developments<br />

Advancements are also happening rapidly in many areas<br />

beyond conventional camera sensors. For example, infrared<br />

sensors and lasers combine to sense depth and distance,<br />

which are one of the critical enablers of self-driving cars and<br />

3D mapping applications.<br />

• Data generation<br />

One of the driving factors behind the growth of computer<br />

vision is the amount of data generated which can be used to<br />

create datasets to train and make computer vision better.<br />

d. Deep learning breakthrough<br />

Although computer vision techniques <strong>started</strong> in the late 1950s<br />

and many of the machine learning algorithms were developed<br />

in the 1980s, computer vision has grown exponentially<br />

in the last decade due to the increased computational<br />

power offered by processing chips, cloud technologies and<br />

other advancements. Alongside the dedicated hardware<br />

developments, in recent years, the emergence of deep learning<br />

algorithms has reinvigorated computer vision. Throughout<br />

the 2010s, computer performance, accelerated by graphics<br />

processing units (GPUs), have grown powerful enough for us to<br />

realise the capabilities of neural network algorithms.<br />

<strong>Computer</strong> vision has<br />

grown exponentially<br />

in the last decade<br />

5


1950:<br />

computer vision<br />

emerges 1957:<br />

pixel invented, first digital<br />

image<br />

1966:<br />

MIT Artificial<br />

intelligence lab<br />

1969:<br />

CCD invented<br />

1990s:<br />

computer graphics<br />

& computer vision<br />

(image morphing,<br />

view interpolation,<br />

panoramic image<br />

stitching)<br />

2001:<br />

real-time face<br />

detection<br />

1970s:<br />

first commercial<br />

computer vision<br />

application (OCR)<br />

1975:<br />

first commercial digital<br />

camera<br />

1980s:<br />

mathematical and<br />

quantitative analysis<br />

developments<br />

2012<br />

AlexNet, deep neural<br />

network for image<br />

recognition<br />

1990s:<br />

projective 3D reconstructions,<br />

stereo imaging, statistical<br />

learning techniques for facial<br />

recognition<br />

2010s:<br />

GPUs/neural networks<br />

6


2 Application examples<br />

a.<br />

Smart<br />

homes<br />

<strong>Computer</strong><br />

vision-based user data<br />

will increasingly become<br />

a feature of the home.<br />

When systems can<br />

detect and recognise<br />

objects, they can deliver<br />

smart actions according<br />

to what they were<br />

programmed<br />

to do<br />

Facial recognition<br />

will be used to<br />

unlock the door, or<br />

to remain locked if<br />

an unfamiliar person<br />

approaches<br />

Indoor security<br />

cameras will<br />

send an alert to<br />

a smartphone if<br />

an elderly family<br />

member falls, or if a<br />

toddler is climbing<br />

up stairs<br />

Person detection<br />

can be used to adjust<br />

lighting and temperature<br />

to the number of people<br />

in any room to ensure a<br />

comfortable<br />

environment and save<br />

on electricity and a TV<br />

box that recognises<br />

individuals can turn on a<br />

tailored interface for<br />

entertainment<br />

b.<br />

Smart<br />

cities<br />

Smart cities employ<br />

a combination of<br />

low power sensors,<br />

cameras and<br />

machine learning<br />

software to monitor<br />

the efficient working<br />

of the city<br />

<strong>Computer</strong> vision<br />

and related<br />

technologies<br />

can play a significant<br />

role in managing<br />

smart cities as they<br />

serve as the ‘eyes’ of<br />

the city<br />

Smart city<br />

applications include<br />

monitoring of traffic<br />

and pedestrian<br />

flows using energy<br />

efficient, intelligent<br />

street lighting<br />

<strong>with</strong> ambient light<br />

sensors<br />

Smart parking<br />

systems could also<br />

direct motorists to<br />

a free parking spot<br />

c.<br />

Industry<br />

<strong>Computer</strong> vision can be<br />

combined <strong>with</strong> methods<br />

and technologies to<br />

provide applications<br />

in industry. <strong>Computer</strong><br />

vision used in this field is<br />

often referred to as<br />

‘machine vision’<br />

Automated<br />

applications such as<br />

package inspection,<br />

barcode reading,<br />

3D inspection,<br />

track and trace are<br />

commonly used<br />

Machine vision<br />

combined <strong>with</strong><br />

robotics provides<br />

applications<br />

such as product<br />

and component<br />

assembly<br />

Predictive<br />

maintenance and<br />

defect reduction<br />

also typically use<br />

machine vision<br />

technology<br />

d.<br />

Healthcare<br />

<strong>Computer</strong> vision<br />

applications in<br />

healthcare have been<br />

developed to aid<br />

healthcare professionals<br />

<strong>with</strong> medical imaging<br />

diagnosis, surgery and<br />

health monitoring<br />

These can be used<br />

to detect if elderly<br />

people have fallen<br />

or require other<br />

forms of assistance<br />

Healthcare<br />

robotics can<br />

help <strong>with</strong> assisting<br />

nurses to clean<br />

hospitals<br />

Robots will need<br />

to be able to<br />

navigate the world<br />

around them<br />

through 3D computer<br />

vision<br />

7


The agriculture<br />

industry is<br />

increasingly using<br />

computer vision<br />

technology for<br />

applications<br />

This can help <strong>with</strong><br />

better productivity,<br />

crop monitoring,<br />

precision agriculture<br />

and locating weeds<br />

and pests<br />

The quality of food<br />

products can be<br />

assessed and graded<br />

into specific grades,<br />

while detecting<br />

defects<br />

Properties such as<br />

colour, shape, size,<br />

surface defects and<br />

contamination can<br />

also be estimated<br />

e.<br />

Agriculture<br />

Intelligent scene<br />

monitoring systems<br />

are playing an<br />

increasingly<br />

significant role in<br />

society<br />

Examples include<br />

Automatic Number<br />

Plate Recognition<br />

(ANPR), people and<br />

vehicle tracking,<br />

crowd analysis and<br />

zone detection for<br />

health & safety<br />

Cameras can be<br />

placed in offices,<br />

hospitals, banks,<br />

ports, car parks,<br />

stadiums, shopping<br />

centres, airports<br />

and more<br />

The challenge<br />

is to identify the<br />

scene and context,<br />

understanding what<br />

demands immediate<br />

attention, what is<br />

valuable and what<br />

can be ignored<br />

f.<br />

Security<br />

Self-driving vehicles<br />

can be made<br />

intelligent, self-reliant<br />

and reliable using<br />

computer vision<br />

technology<br />

<strong>Computer</strong> vision<br />

technology is<br />

being applied<br />

to autonomous<br />

vehicles to make it<br />

safe for passengers<br />

and pedestrians<br />

Self-driving vehicles<br />

must be able to<br />

capture visual data in<br />

real time to create 3D<br />

maps to understand<br />

the surroundings,<br />

while detecting and<br />

classifying objects<br />

in their path such<br />

as traffic lights and<br />

pedestrians<br />

High quality<br />

images and videos<br />

must be obtained<br />

in low light<br />

conditions as well<br />

as daylight, using<br />

LiDAR sensors and<br />

thermal cameras<br />

alongside visible<br />

camera sensors<br />

g.<br />

Autonomous<br />

vehicles<br />

<strong>Computer</strong> vision aids<br />

virtual reality <strong>with</strong><br />

vision capabilities like<br />

SLAM (Simultaneous<br />

localisation and<br />

mapping), user body<br />

tracking and gaze<br />

tracking<br />

<strong>Computer</strong> visionbased<br />

AR overlays<br />

imagery or audio<br />

onto existing realworld<br />

scenery<br />

AR/VR applications in<br />

e-commerce allow<br />

the user to visualise<br />

products <strong>with</strong>in their<br />

homes or virtually try<br />

on clothes to find the<br />

perfect fit<br />

AR/VR applications<br />

in the healthcare<br />

industry empower<br />

professionals to<br />

provide better<br />

diagnosis and make<br />

surgery safer<br />

h.<br />

AR/VR and<br />

immersive<br />

technologies<br />

8


3 How is computer vision<br />

used in business?<br />

Facial recognition<br />

Financial institutions<br />

Autonomous<br />

vehicles<br />

Medicine<br />

There are a huge<br />

range of applications<br />

where the ability to<br />

extract meaning from<br />

‘seeing’ visual data<br />

is useful<br />

Manufacturing<br />

Agriculture<br />

Digital marketing<br />

Handwriting extraction<br />

and analysis<br />

a. Benefts for business, industry and society<br />

<strong>Computer</strong> vision has the potential to revolutionise many<br />

everyday aspects of our lives. Having the ability to see and<br />

interpret a scene reliably and <strong>with</strong>out tiring, computer vision<br />

systems automate tasks <strong>with</strong>out needing human intervention.<br />

As a result, business users can have benefits such as<br />

• Faster and simpler processes – computer vision systems<br />

can carry out monotonous, repetitive tasks at a faster rate,<br />

making the entire process simpler<br />

• Accurate outcomes – computer vision systems can<br />

provide high quality image processing capabilities<br />

• Cost-reductions – errors and therefore faulty products<br />

or services can be minimised, so companies can save<br />

a lot of money that would otherwise be spent on<br />

fixing flawed processes and products<br />

b. Technical challenges<br />

There is a high level of technical understanding<br />

required to create software that collects and interprets<br />

visual data. To train a computer vision system<br />

powered by machine learning, companies need to have a<br />

team of professionals <strong>with</strong> technical expertise.<br />

Companies may also need to have a dedicated team<br />

for regular monitoring and evaluation of the vision<br />

system performance.<br />

c. Privacy<br />

Privacy is the biggest social threat that computer vision poses.<br />

The capabilities of computer vision – identification, recognition,<br />

tracking and real-time analysis – impact directly <strong>with</strong> individual<br />

rights for privacy. With computers learning from thousands and<br />

thousands of images and videos, computers are getting better<br />

at recognising individuals by their facial features, by identifying<br />

their behaviour or monitoring their habits. Everyone’s<br />

information is stored on a cloud.<br />

It is important to understand the potential negative effects of<br />

computer vision applications on society. This is crucial to ensure<br />

that computer vision applications make our lives more comfortable<br />

and efficient and not for purposes of constrain and control.<br />

9


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


5 How to process and<br />

interpret images<br />

a. Image as an array<br />

A digital image is an array of pixels where each pixel is a<br />

combination of numerical values representing the colours<br />

and intensities at a particular point on the image.<br />

A pixel, or picture element, is the smallest visual element of an<br />

image and typically contains three component intensities, or<br />

channels, such as red, green and blue. Colour digital images<br />

are created by combining the channels to reproduce the broad<br />

range of colours seen by the human eye.<br />

A grayscale image refers to the number of different shades, or<br />

depth, of a particular colour. A grayscale image can be created<br />

from any single channel or colour of the image.<br />

The image resolution gives the number of pixels and the aspect<br />

ratio gives the width:height pixel ratio.<br />

The channel contains the number of samples per point, which for<br />

grayscale images is a single sample per pixel, whereas for colour<br />

images is three samples per pixel (red, green, blue).<br />

Pixel<br />

Smallest visual element<br />

Digital Image<br />

A multidimensional array<br />

of numbers<br />

Aspect Ratio<br />

Width:Height<br />

Resolution<br />

Width x Height<br />

Channel: No. of samples per point<br />

Single plane: Grayscale / B&W images<br />

10<br />

9<br />

15<br />

32<br />

10<br />

65<br />

90<br />

32<br />

85<br />

23<br />

65<br />

54<br />

16<br />

70<br />

96<br />

99<br />

90<br />

43<br />

60<br />

85<br />

87<br />

85<br />

65<br />

32<br />

28<br />

56<br />

67<br />

70<br />

96<br />

92<br />

90<br />

43<br />

99<br />

85<br />

87<br />

65<br />

43<br />

56<br />

67<br />

96<br />

92<br />

43<br />

99<br />

87<br />

78<br />

67<br />

92<br />

99<br />

Three Planes: Colour images<br />

©maxEmbedded.com2012<br />

11


. Image processing<br />

The main purpose of image processing is to improve the<br />

quality of the image by sharpening and restoration; extract<br />

the features of an image to help discriminate objects and/or<br />

classes of objects; classify objects, locate their position and<br />

get an overall understanding of the scene.<br />

Standard methods and algorithms include edge detection,<br />

corner detection, blobs, correlation and thresholding.<br />

These techniques are used to extract as many features from<br />

images of a specific class of object (e.g., bicycles, horses,<br />

etc.) and treat those features as a ‘definition’ of the object.<br />

These ‘definitions’ are then searched for in other images. If<br />

a significant number of features from one type of object are<br />

found in another image, the image can then be classified as<br />

containing that specific object (bicycle, horse, etc.).<br />

When the number of classes go up or the image clarity goes<br />

down, traditional computer vision algorithms find it harder<br />

to cope and machine learning techniques become more<br />

suitable.<br />

The main steps for image processing are:<br />

Image acquisition<br />

Captures the image <strong>with</strong> a sensor or camera and convert it into<br />

a manageable format<br />

Image enhancement<br />

The input image quality is enhanced and important<br />

details extracted<br />

Image restoration<br />

Any corruption such as blur, noise, or camera misfocus<br />

is removed to get a cleaner image<br />

Colour image processing<br />

The coloured images are processed <strong>with</strong> RGB or other<br />

colour space methods<br />

Image compression and decompression<br />

To allow for changes in image resolution and size, to<br />

reduce or restore images depending on the requirement<br />

Morphological processing<br />

Defines the object structure and shape in the image<br />

Feature extraction<br />

For a particular object, the specific features are identified<br />

in the image and techniques like object detection are used<br />

Representation and description<br />

Store and visualise the processed data <strong>with</strong> a suitable file<br />

format and output<br />

c. Machine learning<br />

Machine learning uses patterns in large data to perform tasks<br />

<strong>with</strong>out being explicitly told what to do.<br />

There are mainly three different ways machines can learn:<br />

Supervised learning algorithms<br />

These are designed to learn by example. When training a<br />

supervised learning algorithm, the training data will consist<br />

of inputs paired <strong>with</strong> the correct outputs. During training, the<br />

algorithm will search for patterns in the data that correlate<br />

<strong>with</strong> the desired outputs. After training, a supervised learning<br />

algorithm will take in new unseen inputs and will determine<br />

which label the new inputs will be classified as, based on prior<br />

training data. The objective of a supervised learning model is<br />

to predict the correct label for newly presented input data.<br />

Unsupervised learning<br />

Give the machine unlabelled data and it will find patterns in<br />

the data. The algorithm will pick up the difference between<br />

objects as they find logical patterns.<br />

Reinforcement learning<br />

The algorithm is trained in a reward and punishment<br />

mechanism. The agent is rewarded for correct moves and<br />

punished for the wrong ones. In doing so, the algorithm tries<br />

to minimize wrong moves and maximize the right ones.<br />

Unsupervised<br />

Supervised<br />

Machine<br />

learning<br />

• No labels<br />

• No feedback<br />

• ‘Find hidden structure’<br />

• Labelled data<br />

• Direct feedback<br />

• Predict outcome/future<br />

Reinforcement<br />

• Decision process<br />

• Reward system<br />

• Learn series of actions<br />

12


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


g. Machine learning frameworks<br />

<strong>Computer</strong>s learn by viewing thousands of labelled images to understand the traits of what’s being visualised. They learn to<br />

associate characteristics they detect in the images <strong>with</strong> each label. This method of machine learning means that the same<br />

principle can be applied to diverse areas such as:<br />

• Evaluating the quality of packages in a factory<br />

• Diagnosing organ function from an MRI scan<br />

• Identifying trends in the stock market<br />

• Locating traffic signs and many more.<br />

There are a great variety of free open-source tools to help to get <strong>started</strong> <strong>with</strong> machine learning tasks.<br />

TensorFlow<br />

An open-source platform for machine learning created by<br />

Google. It has a comprehensive, flexible ecosystem of tools,<br />

libraries and community resources that lets researchers push the<br />

state-of-the-art in ML and developers easily build and deploy<br />

ML-powered applications. Tensorflow works best for image<br />

classification, image recognition, image segmentation, image<br />

to image translation. Tensorflow includes a set of libraries for<br />

creating and training custom deep learning models and neural<br />

networks. Tensorflow supports several popular programming<br />

languages, including C++, Python, and Java.<br />

PyTorch<br />

A Python based scientific computing package that uses the<br />

power of GPUs, currently one of the preferred deep learning<br />

research platforms built to provide maximum flexibility and<br />

speed.<br />

Keras<br />

Keras is an open-source Python library for creating deep<br />

learning models. It’s a great solution for those who only begin<br />

to use machine learning algorithms in their projects as it<br />

simplifies the creation of a deep learning model from scratch.<br />

Accord.NET<br />

Accord also includes a .Net machine learning framework<br />

combined <strong>with</strong> audio and image processing libraries written in<br />

C#. It is a good framework for both creative and general tasks.<br />

The image processing algorithms can be used for tasks such<br />

as face recognition, image joining, or tracking moving objects.<br />

Accord also include libraries that provide a more traditional<br />

range of machine learning functions starting from neural<br />

networks and ending <strong>with</strong> decision tree systems.<br />

Caffe<br />

Convolutional Architecture for Fast Feature Embedding (Caffe)<br />

is an open-source framework that can be used for creating and<br />

training popular types of deep learning architectures. Caffe is<br />

good for tasks such as image classification, segmentation and<br />

recognition. Caffe is written in C++ but it also has a Python<br />

interface.<br />

Google Colab<br />

Google Colaboratory, or simply Colab, is one of the top<br />

image processing services. While it’s a cloud service rather<br />

than a framework, it can still be used for building custom<br />

deep learning applications from scratch. Tasks such as image<br />

classification, segmentation and object detection can be<br />

performed. Google Colab offers free usage of both CPU- and<br />

GPU-based acceleration.<br />

NVIDIA DeepStream SDK<br />

To build and deploy AI-powered Intelligent Video Analytics<br />

apps and services. DeepStream offers a multi-platform<br />

scalable framework <strong>with</strong> TLS security to deploy on the edge<br />

and connect to any cloud. https://developer.nvidia.com/<br />

deepstream-sdk<br />

<strong>Computer</strong> vision developments are evolving very quickly <strong>with</strong> new frameworks being written, new networks and datasets being<br />

released and new chips being designed at increasing pace. There are many more frameworks and platforms available, both opensource<br />

or subscription. Picking the right framework for the machine learning application is an important step of project development.<br />

14


6 Embedded vision<br />

<strong>Computer</strong> vision systems have traditionally relied on a PC due to the processing power required to perform image analysis.<br />

A frame grabber or interface card sends image data from the camera to the computer which then analyses the images and<br />

relays information to another part of the system. These systems can be bulky or complex, however they offer good<br />

performance specifications.<br />

The industry now is using more and more single-board<br />

computers and camera electronics have also become smaller.<br />

New camera and computer systems for applications<br />

are now<br />

• Highly compact<br />

• Powerful<br />

• Low-cost<br />

• Large memory<br />

• Energy-efficient<br />

Driven by the need to integrate small cameras into mobile<br />

phones, embedded vision technology advances are now at<br />

the stage where it is practical to incorporate computer vision<br />

capabilities almost anywhere.<br />

Embedded vision systems are usually easier to use and<br />

integrate than PC-based systems. They often only include a<br />

small camera <strong>with</strong>out a housing connected to a processing<br />

board (embedded board/module) via a connector. The<br />

components are combined into one device and images<br />

sent from the camera are processed directly on the system’s<br />

processing board.<br />

a. Embedded vision platforms<br />

There are many popular devices that are commonly used for running computer vision algorithms<br />

Provider Board CPU GPU RAM Price<br />

Raspberry Pi Zero / Zero W 1GHz, Single Core - 2,4 or 8GB $5 and $10<br />

NVIDIA Jetson Nano Quad-core ARM A57 128-core 4GB 64-bit $99<br />

Maxwell GPU<br />

Raspberry Pi RPi 4 Quad core Broadcom 1, 2 or 4GB $35 - $55<br />

Cortex-A72<br />

VideoCore VI<br />

Google Coral dev board NXP i.MX 8M SOC Integrated GC7000<br />

(quad Cortex-A53, Lite Graphics<br />

Cortex-M4F)<br />

Seeed Studio Rock Pi N10 Dual Cortex-A72, Mali T860MP4 4/6/8GB $99 - $169<br />

1.8GHz, quad<br />

Cortex-A53<br />

Cheapest: Raspberry Pi Zero / Zero W<br />

Best for beginners: Raspberry Pi 4<br />

Best flexibility: NVIDIA Jetson Nano Dev Kit<br />

Best for machine learning <strong>with</strong> Tensorflow: Google Coral Dev Board<br />

15


. Camera modules<br />

As image sensor components become smaller, cheaper and more efficient, the range of applications they can be<br />

applied to increases.<br />

• Image quality, <strong>with</strong> true colours, clear contrast and resolution as important factors<br />

• Easy operation and prototyping capabilities, often <strong>with</strong> a development kit and plug and play interfaces<br />

• Easy system integration <strong>with</strong> well-defined interfaces and software protocols<br />

c. Interfaces<br />

Choosing the right interface is crucial for any imaging application. Understanding the applications requirements in terms of<br />

resolution, frame rates, transfer speed requirements, among others, will determine the best interface to use. A comparison of<br />

popular digital camera interfaces is shown in the table below.<br />

Comparison of popular digital camera interfaces<br />

Interface FireWire 1394.b Camera Link® USB 2.0 USB 3.0 GigE<br />

Data Transfer Rate 800 Mb/s 3.6 Gb/s 480 Mb/s 5Gb/s 1000 Mb/s<br />

Max Cable Length 100m 10m 5m 3m 100m<br />

No. devices Up to 63 1 Up to 127 Up to 127 Unlimited<br />

Connector 9pin-9pin 26pin USB USB Rj45/Cat53 or 6<br />

Capture board Optional Required Optional Optional Not required<br />

Power Optional Required Optional Optional Required<br />

Source: Edmund Optics: https://www.edmundoptics.co.uk/knowledge-center/application-notes/imaging/camera-types-and-interfaces-for-machine-vision-applications/<br />

16


7 <strong>Computer</strong> vision & IoT<br />

Connecting computer vision systems to the Internet of Things<br />

(IoT) creates a powerful network capability. Being able to<br />

identify objects from cameras allows the local node to be<br />

more intelligent and have greater autonomy, thus reducing<br />

the processing load on central servers and allowing a more<br />

distributed control architecture.<br />

Devices such as smartphones and IoT sensors are generating<br />

data that needs to be analysed in real time using machine<br />

learning or used to train deep learning models. However,<br />

machine learning inference and training require substantial<br />

computational and memory resources to run quickly.<br />

Edge computing, where computer nodes are placed close to<br />

end devices, is a viable way to meet the high computation and<br />

low-latency requirements of deep learning on edge devices<br />

and also provides additional benefits in terms of privacy,<br />

bandwidth efficiency and scalability.<br />

a. Cloud vs edge processing<br />

<strong>Computer</strong> vision tasks typically require fast processing capabilities – particularly for real-time image and scene understanding.<br />

<strong>Vision</strong> processing in the cloud<br />

To use cloud resources, data must be moved from the data source location on the network edge (i.e. camera modules,<br />

smartphones) to a centralised location on the cloud using a remote server or data centre. Moving data from the source to the<br />

cloud can introduce several challenges<br />

Latency<br />

There is a time lag between the collection and processing of data in the cloud, which is unnoticeable in many use cases.<br />

However, in time-sensitive applications, this time lag, which may only be milliseconds, becomes essential. Real-time inference<br />

is critical to many applications such as autonomous vehicles or voice-based assistance solutions. Sending data to the cloud for<br />

inference or training may incur delays from the network.<br />

Scalability<br />

Sending data from the sources to the cloud consumes significant bandwidth, which in turn increases data processing and<br />

transfer times, introducing scalability issues, as network access to the cloud can become a bottleneck as the number of<br />

connected devices increases.<br />

Privacy<br />

Sending data to the cloud risks privacy concerns from users who own the data or whose behaviours are captured in the data.<br />

Users may be wary of uploading sensitive information to the cloud and how an application may use that data.<br />

17


<strong>Vision</strong> processing at the edge<br />

Cloud processing is not ideal for real time and mission-critical applications. Once sensors detect an anomaly in a high volume<br />

continuous manufacturing process, for example, the system must take corrective action immediately, otherwise the defect will<br />

propagate. The time from detection to correction must be in seconds.<br />

In the case of a self-driving car, the response time must be in milliseconds. For these applications, the round trip from device to<br />

gateway to the cloud and back takes too long. A different architecture is needed where the data collection and processing are<br />

closer to the devices (or edge).<br />

Edge processing moves the computer, storage and networking closer to the source of the data, significantly reducing travel time<br />

and latency. Embedded smart devices enable more sophisticated processing at the sensor level.<br />

Key to this has been the introduction of lower-cost, compact embedded boards <strong>with</strong> processing power required for real-time<br />

image analysis. Placing the processing at the edge of the network allows for real-time results, low power consumption, strong<br />

privacy and is a viable solution to meet the challenges introduced by cloud processing. Embedded smart devices are ideal for<br />

repeated and automated robotic processes, such as edge detection in a pick-and-place system.<br />

b. Cloud platform and machine learning vendors<br />

Cloud capabilities and resources for machine learning are increasingly significantly. Today, cloud computing providers increasingly<br />

offer GPU and FPGA co-processors to accelerate processing workloads, including:<br />

Amazon Rekognition: https://aws.amazon.com/rekognition/<br />

Amazon Sagemaker: https://aws.amazon.com/sagemaker/<br />

Google Cloud <strong>Vision</strong> API: https://cloud.google.com/vision<br />

IBM Watson Visual Recognition: https://www.ibm.com/uk-en/<br />

cloud/watson-visual-recognition<br />

Microsoft Azure <strong>Computer</strong> <strong>Vision</strong> API: https://azure.microsoft.<br />

com/en-gb/services/cognitive-services/computer-vision/<br />

c. Machine vision and IoT<br />

Machine vision systems, which is a general term for computer<br />

vision used for industrial applications, connected to the IoT can<br />

create a powerful network capability. Allowing the local node<br />

to be more intelligent and have greater autonomy, reducing<br />

the processing load on central servers, can provide efficient<br />

operations and open up a wide range of applications,<br />

offering valuable insights into the operation of industrial<br />

systems. This in turn is opening up new ways of monitoring<br />

equipment and connecting autonomous robotic systems<br />

to the IoT infrastructure.<br />

18


8 Implementing<br />

computer vision<br />

As the demand for intelligent vision solutions grows, tools must integrate computer vision, processing, analytics,<br />

machine learning and connectivity into applications to help translate visual data into meaningful insights.<br />

a. Your frst prototype<br />

To develop a computer vision prototype, there are many important considerations to be made regarding choices<br />

of hardware and software to suit the application requirements. A brief summary of the main areas are:<br />

Cameras<br />

• Image sensor performance<br />

• Camera features and characteristics<br />

• Data rate/transfer<br />

• Camera/PC interfaces<br />

Optics<br />

• Focal length<br />

• Field of view<br />

• Magnification<br />

• Image quality<br />

Illumination<br />

• How to enhance features of interest<br />

• Monochrome or colour image<br />

Processing<br />

• Suitable development environment<br />

• Software development kits<br />

• Language flexibility<br />

• Single processor/multi-core support<br />

• Image processing tools<br />

• GPU utilisation<br />

• Cloud-based analytics<br />

• Memory requirements<br />

Output/Display<br />

• Processed image or video<br />

• Data analytics of object count or location<br />

• System information or monitoring<br />

• Angle of illumination<br />

19


. How CENSIS can help<br />

CENSIS launched the <strong>Vision</strong> Lab, a dedicated facility to help<br />

businesses adopt or deliver innovative computer vision or<br />

imaging solutions.<br />

CENSIS is uniquely positioned to help kickstart or accelerate<br />

businesses’ use of computer vision due to our connections<br />

<strong>with</strong> academia and industry and the funding we can bring to<br />

innovative technology projects. Our in-house technical and<br />

business development teams can also provide engineering<br />

support and consultancy.<br />

The hardware and software we have in the <strong>Vision</strong> Lab greatly<br />

develops our technical capabilities in computer vision and<br />

related fields and includes:<br />

• Development kits for image sensing, machine learning<br />

• 3D time-of-flight sensor for industrial machine<br />

vision applications<br />

• Machine vision cameras<br />

• Camera modules for embedded vision<br />

• MVTec Halcon, a comprehensive standard software<br />

package for machine vision industries, <strong>with</strong> capabilities<br />

in areas such as analysis, matching, measuring,<br />

identification, 3D vision and deep learning algorithms<br />

The CENSIS <strong>Vision</strong> Lab can help SMEs <strong>with</strong> product<br />

development or product enhancement around new<br />

technology, through funding, collaboration, consultancy<br />

and access to equipment and expertise.<br />

c. IoT2Go <strong>Vision</strong> Kit<br />

CENSIS has created IoT2Go, a series of plug and play IoT<br />

development kits for organisations to try out an IoT solution in<br />

their own premises. IoT2Go was developed as part of a Scottish<br />

Government programme to raise awareness of IoT technologies.<br />

The kits are quick and easy to set up and can be used by people<br />

<strong>with</strong> no technical or coding experience.<br />

The IoT2Go <strong>Vision</strong> kit can capture a real-time count of<br />

people and objects and has image classification and object<br />

detection demos.<br />

20


9 Incubators & learning<br />

resources<br />

Incubators<br />

• NVIDIA Inception<br />

https://www.nvidia.com/en-us/deep-learning-ai/startups/<br />

• NVIDIA Deep Learning Institute<br />

https://www.nvidia.com/en-us/deep-learning-ai/education/<br />

• Intel Edge AI Incubator<br />

https://www.siliconrepublic.com/start-ups/intel-edge-ai-incubator-ireland-computer-vision-start-up<br />

• Imagimob AI Early Access Program<br />

https://www.imagimob.com/imagimob-ai-early-access-program<br />

Learning Resources<br />

Links to useful online courses,videos and resources:<br />

• Introduction to <strong>Computer</strong> <strong>Vision</strong> on Udacity, free course<br />

https://www.udacity.com/course/introduction-to-computer-vision--ud810<br />

• Awesome <strong>Computer</strong> <strong>Vision</strong>, a list of resources on Github<br />

https://github.com/jbhuang0604/awesome-computer-vision<br />

• <strong>Computer</strong> <strong>Vision</strong> course by Subhransu Maji<br />

https://sites.google.com/view/cmpsci670/lecture-slides<br />

• Video Tutorial by Alberto Romay<br />

https://www.youtube.com/playlist?list=PL7v9EfkjLswLfjcI-qia-Z-e3ntl9l6vp<br />

21


10 The computer vision<br />

community in Scotland<br />

<strong>Computer</strong> vision research and development in Scotland has a long history<br />

going back to the 1960s <strong>with</strong> the Department of Machine Intelligence<br />

and Perception at the University of Edinburgh. Research robot Freddy,<br />

built in the 1960s, was one of the earliest systems to integrate perception<br />

and action. Freddy utilised a heavy robot arm fixed to an overhead gantry<br />

<strong>with</strong> adaptive grippers. A binocular vision system was also mounted to<br />

the gantry. Freddy was able to recognise a variety of objects and could be<br />

instructed to assemble simple artefacts, such as a toy car, from a random<br />

heap of components.<br />

http://www.aiai.ed.ac.uk/project/freddy/<br />

The Department of Machine Intelligence and Perception, later the<br />

Department of Artificial Intelligence, was the forerunner to both the Turing<br />

Institute in Glasgow, formed in 1983 and developed to combine research<br />

in AI <strong>with</strong> technology transfer to industry, and also to the current School of<br />

Informatics at Edinburgh which has leading research expertise in computer<br />

vision and machine learning.<br />

a. Companies in Scotland<br />

Advances in computer vision and machine learning are making it possible to build exciting new solutions for a range of industrial<br />

applications. Scotland has a strong base of computer vision companies - a selection is listed below.<br />

Company City Specialist Areas Link<br />

Odos Imaging Edinburgh 3D sensing and imaging solutions www.odos-imaging.com<br />

Peacock Stirling Robotics, automation, image processing, www.peacocktech.co.uk<br />

Technology<br />

machine vision<br />

Five AI Edinburgh Autonomous vehicles www.five.ai<br />

Machines Edinburgh Highly accurate train positioning system www.machines<strong>with</strong>vision.com<br />

<strong>with</strong> <strong>Vision</strong><br />

for continuously monitoring track condition<br />

Optos Dunfermline Retina imaging devices and development www.optos.com<br />

STMicroelectronics Edinburgh CMOS image sensor development, imaging systems, www.st.com<br />

Design Centre<br />

optical engineering, semiconductor solutions for<br />

autonomous driving and IoT<br />

NCTech Edinburgh High-resolution 360deg imagery and LiDAR www.nctechimaging.com<br />

Sense Edinburgh 3D perception systems for mobility, www.sensephotonics.com<br />

Photonics<br />

industrial and robotics autonomy<br />

22


. Research in Scotland<br />

There is an important and growing imaging and computer vision research community in universities throughout Scotland.<br />

A selection of research areas and universities are listed in the table below.<br />

University Research Group Areas of Research Link<br />

Heriot-Watt <strong>Vision</strong>lab Robotics, http://visionlab.eps.hw.ac.uk/<br />

University<br />

Automotive driver assistance,<br />

Surveillance,<br />

Human behaviour inference,<br />

Detection & tracking,<br />

Analysis of shape in 2D,<br />

Range and LiDAR analysis<br />

Signal & Image MRI, Ultrasound imaging, Novel imaging https://www.hw.ac.uk/uk/schools/<br />

Processing modalities, Imaging techniques in radio engineering-physical-sciences/institutes/<br />

Laboratory and optical astronomy sensors-signals-systems/siplab.htm<br />

Dundee <strong>Computer</strong> Healthcare and biomedical imaging, https://cvip.computing.dundee.ac.uk/<br />

University <strong>Vision</strong> & Image Visual perception of people and places.<br />

Processing<br />

The University Edinburgh Centre Virtual reality environments https://www.edinburgh-robotics.org/<br />

of Edinburgh for Robotics<br />

Machine Iconic vision in 2D http://www.ipab.inf.ed.ac.uk/mvu/<br />

<strong>Vision</strong> Unit<br />

Institute of Statistical machine learning, computer https://www.inf.ed.ac.uk/research/ipab/<br />

Perception, Action vison, mobile and humanoid robotics,<br />

and Behaviour motor control, graphics and visualisation<br />

University <strong>Computer</strong> <strong>Vision</strong> 3D vision systems https://www.gla.ac.uk/schools/computing/<br />

of Glasgow & Autonomous research/researchsections/ida-section/<br />

Systems<br />

computervisionandautonomoussystems/<br />

<strong>Computer</strong> Human body modelling in 3D http://www.dcs.gla.ac.uk/cvg/<br />

<strong>Vision</strong> & Graphics<br />

University <strong>Vision</strong> & Image Text and language processing, http://vip.cs.stir.ac.uk/<br />

of Stirling Processing Special visual perception<br />

Interest Group<br />

Glasgow School of Neural networks applied to condition https://www.gcu.ac.uk/cebe/<br />

Caledonian Computing, monitoring<br />

University Engineering &<br />

Built Environment<br />

Glasgow School of Real-time 3D visualisation, interaction http://www.gsa.ac.uk/research/research-<br />

School of Art Simulation and technologies centres/school-of-simulation-and-<br />

Visualisation<br />

visualisation/<br />

SINAPSE Scottish Imaging Medical Imaging – MRI, PET, SPECT, EEG, http://www.sinapse.ac.uk/<br />

Network<br />

deep learning in medical imaging<br />

A consortium of<br />

Aberdeen, Dundee,<br />

Edinburgh, Glasgow,<br />

St Andrews, Stirling,<br />

Strathclyde<br />

23


Glossary<br />

TERM<br />

MEANING<br />

AI<br />

Artificial Intelligence<br />

CMOS<br />

Complementary Metal-Oxide Semiconductor<br />

CPU<br />

Central Processing Unit<br />

FPGA<br />

Field Programmable Gate Array<br />

GPU<br />

Graphics Processing Unit<br />

IoT<br />

Internet of Things<br />

IoT2Go<br />

CENSIS IoT starter kit<br />

LiDAR<br />

Light Detection And Ranging<br />

SDK<br />

Software Development Kit<br />

SME<br />

Small and Medium Enterprises<br />

Join our<br />

community at<br />

censis.org.uk<br />

24


CENSIS is the centre of excellence for sensor and imaging<br />

systems (SIS) and Internet of Things (IoT) technologies.<br />

We help organisations of all sizes explore innovation<br />

and overcome technology barriers to achieve business<br />

transformation.<br />

As one of Scotland’s Innovation Centres, our focus is not<br />

only creating sustainable economic value in the Scottish<br />

economy, but also generating social benefit. Our industryexperienced<br />

engineering and project management teams<br />

work <strong>with</strong> companies or in collaborative teams <strong>with</strong> university<br />

research experts.<br />

We act as independent trusted advisers, allowing organisations<br />

to implement quality, efficiency and performance<br />

improvements and fast-track the development of new<br />

products and services for global markets.<br />

Contact details:<br />

CENSIS<br />

The Inovo Building<br />

121 George Street<br />

Glasgow<br />

G1 1RD<br />

Contact details:<br />

Contact CENSIS details:<br />

Tel: 0141 330 3876<br />

Email: info@censis.org.uk<br />

The Inovo Building<br />

CENSIS<br />

121 George Street<br />

The Glasgow Inovo Building<br />

G1 1RD<br />

121 George Street<br />

Glasgow<br />

Tel: 0141 330 3876<br />

Email: info@censis.org.uk<br />

G1 1RD<br />

Tel: 0141 330 3876<br />

Email: info @censis.org.uk<br />

Join the CENSIS mailing list at www.censis.org.uk<br />

Join the CENSIS mailing list at: www.censis.org.uk<br />

Join the CENSIS mailing list at www.censis.org.uk<br />

Follow us us on on us Twitter Twitter on Twitter<br />

@CENSIS121<br />

@CENSIS121<br />

Interest in how<br />

machines ‘see’<br />

and how computer<br />

vision can be used<br />

is growing.<br />

20.9.v1.Vis

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

Saved successfully!

Ooh no, something went wrong!