- This article is filed under:
New Technique for Extracting Edge Contours for Machine Vision
Teledyne DALSA Posted 03/15/2000
Extraction of Edge Contours is critical to many machine vision applications. Because it provides very robust way in differentiating between an object/part and background in an image.
Edge contours are the boundary that separates an object from the background. Numerous methods have been developed in the past to perform this task. These methods proved costly in both the robustness, and the amount of post processing required. They perform poorly when objects/background is non-uniformly illuminated, and having the need to set classification threshold make these methods difficulties to use.
Many techniques have been employed in the past to segment objects. These have included methods such as labeling employing low pass filtering, thresholding, and connectivity to provide a resultant image of 'labeled objects'. This resultant image can then be convolved to provide an edge image. Many other techniques have been employed including applying polynomial curve fitting to the resultant data. While these and other techniques used have been somewhat successful in certain applications, they have all been somewhat limited because of lack of robustness.
Limitations of Current Techniques:
Current techniques for extraction of contours and presentation of edge data vary in their success dependant upon the vision problem to which they are being applied. However, so limitations are common among several of the methods commonly used.
- The need for classification threshold.
- If the gray value of the pixel is above the threshold gray value, then it can be classified as object or foreground
- Sub-pixel identification of the edge location.
- Many of the algorithms currently employed cannot accurately report the true location of the edge data. This may be due to the pre-processing methods required to extract the edge information.
- Current methods can also skew the true location of the edge data due to proximity effects of features located close to the one of interest.
- Some elaborate contour extractor requires starting point and direction.
- Complexity of the resultant data.
- Often the output of a technique represents a starting point for the post processing operation. Data provided commonly has to be sorted or application specific algorithms applied to properly interpret the edge data.
- Many of the more robust methods require copious amounts of processing that require either specialized hardware or high levels of computational speed to achieve in the required time period. This significantly increases the cost of the solution.
Edge Crawler Solution
Imaging Technologies 'Edge Crawler' is a new method to segment object from background and by providing contour information presented as sequential edge points to machine vision applications. Edge Crawler addresses all of the historical limitations to edge processing, resulting in a robust and extremely fast and elegant solution to edge dependant machine vision applications. Edge crawler is available now in the MVTools version 5.6 product from Imaging Technology, Incorporated.
How it works:
A gray scale input image is provided to the edge crawler library function. The input image is typically the image digitized from a video source and rapidly bus mastered to a memory location on a host computer. This input image is operated upon by the edge crawler algorithm. No pre-processing such as edge enhancement, binarization, or morphological operations are typically employed to augment the input data to the edge crawler algorithm. Edge contour is found by finding a sequence of connected contour points. The resultant output data of the edge crawler algorithm is a sorted array of floating point contour points locations. Edges are represented as contiguous locations with sub-pixel accuracy.
It should be noted that this data format is very different from the output methods typically employed by standard techniques such as a Sobel filter. A Gradient based or morphological based edge detector can only provide the information that is a pixel is a candidate to be an edge pixel. It does not give any clue about the relation between edge pixels. Needless to say it requires threshold setup to decide if this pixel belong to edge or background.
Edge Crawler does not require starting point to extract contour information.
Edge Crawler is fundamental tool in Geometrical Pattern Finding.
Fundamental tool in extracting higher level features from objects such as straight lines, curves, circles, and curvature points. These are important features in order to perform geometrical measurement on an object/part.
Essential tool in high accuracy spatial calibration. Having, contour points in subpixel accuracy allows the computation of subpixel centroid location that is immune to inside geometry of the Calibration Fiducial.
For many application related to automotive in which a robot needs to know the coordinate of part contour to dispense glue or to weld along a boundary.
Any machine vision applications that require a robust and easy to use edge extraction technique are too numerous to discuss completely here. Some common examples are in inspection applications where contour data is used to identify objects, such as part sorting.