Machine Vision
1
VISION
the most powerful sense
2
Machine Vision System
• creates a model of the real world
from images
• recovers useful information about a
scene from its two dimensional
projections
3
A typical control system:
Imaging MACHINE
device VISION
Scene Image Description
Illumination
Application
feedback
4
Components of a M.V. system
HARDWARE
SOFTWARE
• Optics (lenses, lighting)
• Cameras
• Interface (frame grabber)
• Computer
5
Components of a M.V. system
HARDWARE • Libraries with custom code
SOFTWARE developed using Visual
C/C++, Visual Basic, or
Java
• Graphical programming
environments
-There is no universal vision system
-One system for each application
6
Application Fields
• Medical imaging
• Industrial automation
• Robotics
• Radar Imaging
• Forensics
• Remote Sensing
• Cartography
• Character recognition
7
Machine Vision Stages
Image Acquisition Analog to digital conversion
Remove noise,
Image Processing improve contrast…
Find regions (objects)
Image Segmentation in the image
Take measurements of
Image Analysis objects/relationships
Match the description with
Pattern Recognition similar description of known
objects (models)
8
Image Formation
Projection
3D 2D
• Perspective projection
• Orthographic projection
9
Digital Image Representation
Image: 2D array of gray level or color values
Pixel: Array élément Picture Element
•It`s 2D
•It`s a square
•It has one color
•It may be any color
Pixel value: Arithmetic value of gray level or color intensity
Gray level image: f = f(x,y)
Color image: f = {Rred(x,y), Ggreen(x,y), Bblue(x,y)}
10
Digital Image Formation
Sampling Quantization
• Sampling rate • Quantization level
(resolution)
11
Different Sampling Rates
12
Different Quantization Levels
13
Image Processing (IP)
Image
Processing
Input Image Output Image
Filtering
Smoothing
Thinning
Expending
Shrinking
Compressing
…
14
Fundementals
• Neigborhood
4-Neighbors 8-Neighbors
• Histogram: gray levels vs number of pixels
15
IP Examples
Removal of noise with median filter
16
IP Examples (2)
Improvement of contrast by histogram modification
17
IP Examples
(3)
Symethrical
inversion of the image
18
IP Examples (4)
Original Uniform Gaussian
Smoothing
19
Binary Image Processing
WHY?
better efficiency in acquiring, storage,
processing and transmission
TRESHOLDING
20
Different tresholds
21
Image Segmentation
Segmentation
Regions
Input Image
Objects
-Clasify pixels into groups having similar characteristics
-Two techniques: Region segmentation
Edge detection
22
Region Segmentation
• Histogram Based
23
Region Segmentation (2)
• Split & Merge
24
Edge Detection
• Find the curves on
the image where
rapid changes occur
25
Image Analysis
Image
Analysis
Input Image
Measurements
Regions, objects
Measurements:
-Size
-Position
-Orientation
-Spatial relationship
-Gray scale or color intensity
-Velocity
26
Pattern Recognition (PR)
Pattern
Recognition
- Measurements
- Stuctural Class identifier
descriptions
feature vector
set of information data
27
Approaches to PR
Statistical
Structural
Neural
28
• 3D VISION
• Dynamic Vision
29
Fingerprint Recognition
- most precise identification
biometric
- has many applications
- has the largest database
30
31
Fingerprint recognition system
Enrollment
Fingerprint Template
Feature Extractor
sensor database
Identification
Fingerprint
Feature Extractor
sensor
Feature Matcher
ID
32
Fingerprint Representation
Local Ridge Characteristics
•Ridge Ending
•Ridge Bifurcation
•Enclosure
•Ridge Dot
33
Fingerprint Representation (2)
Singular Points
Core
Delta
Major Central Pattern
Arch Loop Whorl 34
Image Processing & Analysis for
Fingerprint Recognition
Minutiae
Pre-processing Post-processing
Extraction
•Binarization •Ridge break
removal
•Noise Removal
•Bridge removal
•Smoothing
•Spike removal
•Thinning
Processed
Image
+
Minutiae
Description
Input Image 35
Outputs
Pre-Processing
• Binarization
search through array pixel by pixel;
if current byte colour value is above threshold then
change value to white;
else
change colour to black
• Noise Removal
if the pixel is white and all immediate surrounding pixels are
black
then
change pixel to black;
else if the pixel is black and all immediate surrounding pixels
are white then
change pixel to white;
36
Pre-Processing(2)
• Smoothing
for each pixel do
add the values of surrounding pixels;
divide by the number of surrounding pixels (usually 8 unless
at the edge);
assign current pixel the calculated result;
• Thinning
37
Extraction
if pixel has exactly one neighbour then
pixel is a ridge ending;
calculate x value of pixel;
calculate y value of pixel;
calculate angle of ridge ending;
write data to database;
else if pixel has exactly three neighbours then
pixel is a bifurcation;
calculate x value of pixel;
calculate y value of pixel;
calculate angle of bifurcation;
write data to database;
38
Post-Processing
• Ridge break removal
If A and B are facing each other and are less then a minimum
distance (D) then
A and B are false minutia points;
remove A and B from ridge end point set;
update database;
Bridge removal
• Spike removal
For each ridge ending point (A)
For each bifurcation point (B)
If A and B are less than minimum distance (D)apart
and they are connected then
A and B are false minutia points;
remove A and B from their sets; 39
Matching
40
Applications
Machine Vision Systems used in Manufacturing and
Robot automation to perform various tasks:
• Inspection
• Part Identification
• Part Orientation
• Part Location
• Visual guidance & Control
• Safety Monitoring
41
Applications (2)
• Inspection
For quality control of parts.
Includes:
Checking of gross surface defects
Discovery of flaws or mistakes during final
inspection in labeling
Verification of presence of components in
assembly
Measuring for dimensional accuracy
Checking for presence of holes and other features
in parts.
42
Applications (3)
• Part Identification
Used where vision system stores data for different
parts in active memory.
Used to recognize or distinguish between parts.
Includes:
Part sorting
Part counting
Part character recognition.
43
Applications (4)
• Part Orientation
Used in parts to be gripped in a specific manner by
the End-effector.
Vision system supplies both information and data to
drive the gripper into correct orientation for pick and
place action.
44
Applications (5)
• Part Location
Used to locate randomly placed parts on x, y axes.
Vision system measures the x & y distances and
identifies the center of the camera to coincide with
the center of the randomly placed part.
45
Applications (6)
• Visual Guidance & Control
Vision system is teamed with a robot or other
devices in the robot cell to control the movement of
the machines.
For example:
Seam tracking in continuous arc welding
Part positioning and reorientation
Bin picking
46
Applications (7)
• Safety Monitoring
Vision system id used to monitor the operation of
production cell.
Purpose is to detect irregularities that indicate a
condition that is hazardous to equipment or people
working in the cell.
Also used to detect intruders entering the place who
might be at risk by wandering into the robot cell.
47
THANK YOU!
48