Presentation is loading. Please wait.

Presentation is loading. Please wait.

IPD Technical Conference February 19 th 2008 New Processors in Sherlock 7 Ben Dawson.

Similar presentations


Presentation on theme: "IPD Technical Conference February 19 th 2008 New Processors in Sherlock 7 Ben Dawson."— Presentation transcript:

1 IPD Technical Conference February 19 th 2008 New Processors in Sherlock 7 Ben Dawson

2 Sherlock’s Processors  Preprocessor = Image to Image (e.g. threshold)  Algorithm = Image to “readings” (e.g. blob analysis)  Formula = Reading to Reading (e.g. add to a number)  Sherlock 7 inherited most Sherlock 6 Processors  Some have slight differences (e.g. dynamic threshold)

3 New Processors  Some processors improved (e.g., edge detectors)  New processors for new image types (e.g., color)  New processors for specific tasks (e.g., a “bead tool”)  New “high level” processors (e.g., Hough transform)  New utility processors (e.g., test patterns)  Introduce some of these new goodies and application

4 Rewrite of Edge Detection Algorithms  Our edge detection algorithms needed improvement:  Inconsistent implementations with varying accuracy  Limited options  Sometimes not intuitive to use  Rewrote most standard edge detectors  Improved and consistent implementation  Better accuracy (1/8 pixel nominal, 1/25 best)  Flexible and easy-to-use GUI

5 GUI for New Edge Detectors

6 Comparing Old and New Edge Detection  Old edge detectors listed at the bottom of the line algorithms and marked “(legacy)”  Will be deprecated  NOTE: 0,0 is the CENTER of the pixel “Legacy”New, with GUI Detect Edges First EdgeFind Edge Inside Caliper Max Edge Outside Caliper

7 Other Edge Detectors  Edge Count uses the old interface and algorithms  HVLine has poor sub-pixel accuracy (½ pixel at best)  New edge detectors for specific tasks:  Laser Caliper (also used on Bead Tool)  Corner Detector  Ramp Edges has been subsumed by Detect Edges, etc.  Chatter Edges is an edge enhancer not a edge detector!

8 Color Processing  Not calibrated (referenced to some standard)  Need standard lighting and calibration targets  Newer DALSA cameras will have calibration  Usually not necessary in machine vision  Can compensate for lighting changes  Color Correction Coefs and Color Correction  Needs a “reference patch” in field-of-view  Even LEDs change color with temperature and age

9 Some Color Preprocessors  Color Correction – Applies correction coefficients  Gamma – Applies gamma correction  Raises each pixel to a fixed exponent, p g  Makes the image look better on the display  Usually not good for MV. Turn it off at the camera too!  Threshold – AND or OR of R,G,B thresholds  Threshold Components – Threshold individual components  Simple “classifier” that divides color space into cubes  Normalize by Chroma – Divides out intensity

10 Tray of Aerators

11 Threshold Components

12 Normalize by Chroma

13 Color Algorithms – Statistics  Color Correction Coefs – Learns correction coefficients  Average [channel] – Average value per channel  Count [channel] – Per channel count of pixels with specified value  Count [color] – Count of pixels with specified color  MinMax – Minimum and maximum RGB and location  MinMax [channel] – Minimum and maximum value per channel and location  Statistics [channel] – Arrays of minimum, maximum, average, variance per channel, and histograms  Unique Colors – Number of unique colors in ROI

14 Color Classifiers  “Recognizes” or “Identifies” learned colors  GUI for training makes our classifiers easy to use  Color Map – Labels learned colors (outputs image)  Color Presence – Lists learned colors found in ROI  Spot Meter – Detects average learned color in an ROI  Trained classifiers can be shared between Color Map and Color Presence  Training for Map and Presence can take some time

15

16

17 Specific Task Processors – Bead Tool  Designed to follow a “bead” – a thin line of material such as glue  Example: Checking glue bead on automotive liners  Set “start box” and learn the path of the bead.  At run time, follows learned path and checks that bead is there and correctly dimensioned

18 Specific Processors – Chatter Edges  Amplifies very wide (slow intensity change) edges  Designed to help detect bearing “chatter”  Can be used for other slowly changing “ramp” edges  Note the “phase shift” of edges – this is normal

19 Specific Processors – Laser Tools  Set of tools for mostly doing height measurements using a line of light (like a laser) and triangulation  Laser Caliper – Measure width of a bright line  Similar to Outside caliper but only bright lines and some additional noise reduction  Laser Points – Find line of light points  Laser Line – Fits a Sherlock line to points in the line of light  Laser Height – Measures part heights by triangulation

20 Laser Tools Setup for Height 1

21 Laser Tools Setup for Height 2  Can put Laser above or off to the side. Above is better.  Camera must be to the side or above, opposite of laser  DALSA IPD’s height algorithm needs only three height calibration points: baseline, medium, high  NO measurements of the camera and laser positions, angles, distances etc. are needed  Typical accuracy is 1 part in 300  Some limiting factors:  Laser speckle  Lens distortion

22 High Level Processors  Extract features and information with more constraints and knowledge than edge detectors, calipers, blob, etc.  Roughness – Local standard deviation preprocessor  Texture – Edge Angles – Our first texture analyzer  Edge Crawler Sub-pixel edge crawler (Crawler is pixel)  Corner Finder – Finds corners (duh!)  Hough Transforms – Finds lines, line segments, or circles in noisy images

23 Roughness Preprocessor  Computes the standard deviation in each neighborhood  Can be used as an “amplifier” for edges  Can be used as a spatial frequency texture filter  Can be used to suppress “background” texture

24 Roughness as a Texture Filter

25 Roughness used to Suppress Texture

26 Texture – Edge Angles  First texture Algorithm (analyzer) – there will be more  Measures edge angle distribution (histogram) and computes an entropy (disorder) measure  These can be used to discriminate different textures

27 Edge Crawler (sub-pixel)  Tracks edges and reports their sub-pixel position  Can select individual contours  Older Crawler algorithm is integer pixel position

28 Corner Finder  Finds corners using the Harris corner detector  Corners are more constrained and therefore have more information than edges.

29 Corner Finder Applications  Applied to finding and counting flexible circuit connector “pins”

30 Hough Lines  Finds lines in noisy images  Hough transforms are “evidence-based” voting methods

31 Hough Segments  Finds line segments with specific length ranges  Very useful and works well

32 Hough Circles  Finds circles with specified radius ranges  Can’t tolerate distortions  Currently difficult to use – often generates a huge number of unwanted circles  Suggest using the spoke tool and BestFitCircleToPts formula for now

33 Utility Processors – Test Patterns  Test pattern generators  Constant – ROI set to constant color or intensity  Draw Bars – Sub-pixel bars for testing edge detectors  Draw Gaussian – Draws Gaussian intensity distribution  Draw Line – Draws a single line  Draw Ramp – Draws intensity ramps  Draw Grid – Draws a grid of lines of any thicknesses  Draw Checkerboard – Draws checkerboard

34 Draw Gaussian Example  Many test generators have “blending” option

35 Checkerboard Example

36 Testing Connectivity Analysis

37 Other Utility Processors  Apodize – Increases or decreases intensity towards the edges of the image.  Could be used to compensate for some vignetting  Better to use radial cos 4 (r), not separable functions  ROI to Array(s) – Copies ROI pixel values to array(s)  Border – Puts a border (frame) just inside the ROI  Field Extract – Extracts even or odd fields from monochrome or color images  Mainly used to remove motion “interlace fingers” from older RS-170 interlaced images.  Sometimes useful in surveillance applications

38

39 What’s Cooking in the Lab  Adding 16-bit image processors  Only a Statistics algorithm is currently distributed  Averaging, Shading correction  “Smart” conversion to 8-bit images  16-bit test pattern generators  Applications in biological and microscope images  More specific and higher-level processors  Spring Tool (not the season or a delivery time)  Additional Laser Tools (wave, topographic surface, etc.)  Image Morphology Tools (Top-hat, watershed, etc.)  Improvements to Hough and other tools

40 Summary  Many new and improved processors in Sherlock 7  Most new processors are documented in technical “white papers” found on the web site  Move towards “higher level” vision processors  Edge detection still fundamental, but we can do better in many cases  Ease-of-use is an important design consideration  We welcome your input and suggestions  Send us your hard problems. After we all have a laugh…


Download ppt "IPD Technical Conference February 19 th 2008 New Processors in Sherlock 7 Ben Dawson."

Similar presentations


Ads by Google