Professional Documents
Culture Documents
VP03 1 PatMaxBasic
VP03 1 PatMaxBasic
Session 3
Objectives
• The student will correctly:
Identify applications where PMAlign can be used to inspect
Understand the concepts behind how the tool works
Create and configure a PMAlign tool to find a pattern under various
run-time conditions
Train a pattern and determine if the automatically extracted features
are valid for the application
Evaluate parameter settings to determine which are needed for basic
run-time conditions
1
PMAlign
Introducing PatMax
• PatMax is a pattern-location
search technology
– PatMax patterns are not
dependent on the pixel grid
• A feature is a contour that
represents the boundary between
dissimilar regions in an image
• Feature-based representation can
be transformed more quickly and
more accurately than pixel-grid
representations
2
PatMax Capabilities
• With one tool measure
– Position of the Pattern
– Size relative to the originally trained pattern
– Angle relative to the originally trained pattern
• Unprecedented accuracy
– Up to 1/40 pixel translation
– Up to 1/50 degree rotation
– Up to 0.05% scale
• Increased speed
– Basic pattern finding is faster
– Angle and size determined quickly
PatMax Capabilities
• Improved alignment yield
– Handles wide range of image contrast
– Defocus, partial occlusion, and unexpected features can be tolerated
• Easier to use
– Direct measurement of angle and size in one step
– Patterns may be transported between machines without loss of fidelity
– Single tool functions more accurately and efficiently than previously
needed multiple tool solution
3
PatMax Applications
• Align a printed circuit
board based on
fiducials (alignment)
PatMax Applications
• Locate tabs on peach cans;
variations in translation,
rotation, and lighting
(presence / absence detection)
Result: 4
Result: 3
Result: 2
Result: 1
Score: 0.97
Contrast: 0.94
Fit Error: 0.02
Location: x= 351.08
y= 245.92
Angle: 0.09
X-Scale: 1.0
Y-Scale: 1.0
4
PatMax Applications
• Identify engine block by type
despite extreme similarity
between types, lighting
variations, and part rotation
(sorting and classification)
PatMax Algorithms
PatQuick PatMax PatFlex High Sensitivity
• Best for speed • Best for high • Designed for • For low
• Best for three- accuracy highly flexible constrast/high
dimensional or • Great on two- patterns noise images
poor quality parts dimensional parts • Great on curved • Used with very
and uneven noisy backgrounds
• Tolerates more • Best for fine surfaces • Good for images
image variations details
• Extremely that have
flexible, but less significant video
• Example: Pick and • Example: Wafer acurate noise or image
Place alignment degradation
• Example: Label
** PatQuick is the cursory location • Example:
part of the PatMax Obscured part in
algorithm bag
10
5
Linking Tools
• You need images for:
– Pattern training
– Run-time inspection
11
Training a Pattern
• The PMAlign Tool has three
images associated with it
12
6
Current.InputImage
• PMAlign Tool also has a
Current.InputImage that can
either be a run-time image or
can be “grabbed” as a
training image
(Current.TrainImage)
13
Set Run-time
Parameters
Run PatMax
on the Image
14
7
Grab Train Image
• Press the Grab Train Image button in the control
15
16
8
Pattern Region and Origin
• Next, define the region
of pixels containing the
pattern to be trained
and the pattern origin
– Use graphics or enter
values in the Train
Region & Origin tab
17
Model Origin
• Model origin identifies the point which will be reported
to you when PatMax locates an instance of the model
in the search scene
Origin
18
9
Train Pattern
• Press the Train button to
train the pattern
– PatMax finds the
features in the Region
19
PatMax Patterns
• When you train a pattern, PatMax
determines the features contained
in that pattern
• A feature is a contour that
represents the boundary between
dissimilar regions in an image
• A feature is described by a list of
boundary points that lie along the
contour
– Boundary points are defined by
position (x, y) in the image and its
direction normal to the contour
20
10
Pattern Features
• To see what PatMax
has detected as
features to look for
with this pattern,
check the Train
Features Graphics
21
Pattern Features
• Yellow lines indicate coarse
features
– Those used by PatQuick
• Green lines indicate fine
features
– Those used by PatMax
22
11
Pattern Features
• Zoom in to get a closer
look at the detected
features
23
InfoStrings
• Watch for any InfoStrings
– These will indicate if the pattern training was successful
– They will also warn of potential problems with the trained pattern
24
12
Pattern Training
General guidelines for PatMax pattern training:
• Select a representative pattern with consistent features
• Reduce needless features and image noise
• Train only important features
• Consider masking to create a representative pattern
• Larger patterns will provide greater accuracy
• Really, the more boundary points, the greater accuracy
25
Run-time Parameters
• Choose the run-time algorithm
• Then a Search Mode
– Search Image uses entire image
– Refine Start Pose uses another tool’s results for start
• Then specify the number of instances to find in the run-time
image
• Indicate the Accept threshold
26
13
Accept Threshold
• Accept Threshold is a score (between 0 and 1.0) that PatMax
uses to determine if a match represents a valid instance of the
model within the search image. Increasing the acceptance
value reduces the time required for search.
Accept Threshold
0 1.0
27
28
14
Coarse Accept Threshold
Manually set
Coarse Threshold
29
Degrees of Freedom
• Set either a nominal value or range of values
– Use the arrows to toggle between which you use
– Also toggle between degrees and radians for angle
– ScaleX and ScaleY are advanced parameters
30
15
Search Region
• By default, PatMax searches
the entire image for potential
matches
• To have PatMax look in only a
portion of the image, use a
Region Shape
– Either type in values or use
graphics to set size and
position
31
Graphics
• Last, select the
graphics to be shown
at run-time
– Remember graphics
take time to update
32
16
Run PatMax
• Press the Run button to run
PatMax on the current input
image
• If an instance is found,
designated graphics will
appear on the last run input
image
33
Results
• Results are displayed
under the Results tab
34
17
Results
• Score
– How well the result features match the trained pattern features
• X, Y
– The location of the found pattern in terms of the specified origin point
• Angle
– The angle of the found pattern relative to the originally trained pattern
– If nominal angle is used, this always equals the nominal value
35
Results
• Fit Error (PatMax algorithm only)
– a measure of the variance between the shape of the trained pattern and the
shape of the pattern instance found in the search image
36
18
Results
• Scale
– The size of the found pattern compared to the originally trained
pattern
– If nominal scale is used, this always equals the nominal value
– a.k.a. Uniform Scale
• Scale X, Scale Y
– The size of the found pattern compared to the originally trained
pattern in X and Y directions
– If nominal scale is used, this always equals the nominal value
37
Summary
• PatMax is a location based search tool
• Provides high accuracy (up to 1/40 pixel) results
38
19