Jump to content

User:Gintsasn/Multi-Dimensional Edge Detection

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Gintsasn (talk | contribs) at 13:27, 9 February 2012 (See also). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Edge detection in multi-dimensional data is important operation in computer vision as well as in number of other related fields. In the context of image processing, edges refer to places in multi-dimensional image where sudden changes in value (colour) or derivative of value occur.[1] Multi-dimensional edge detection is generalisation of two dimensional edge detection and one dimensional step detection for unbounded number of dimensions.


Background

In many advanced imaging applications we are dealing with three dimensional images. This is particularly prominent is medical imaging, where a medical scanner, such as MRI, will acquire multiple parallel image planes, effectively producing a three dimensional image. Detecting surface planes in such image helps to reconstruct and model scanned three-dimensional objects.

Besides the obvious application in processing three dimensional imaging, multidimensional edge detection is used in range of other fields, such as analysing seismic data and finding stratigraphic or lithological boundaries.

Edge detection by hypersurface fitting

One method to define operators for detecting edges in multidimensional arrays of data is to fit a hypersurface to a neighbourhood of each array data point and take the magnitude of the gradient of the hypersurface as an estimate of the rate of change of data value in the array at that point.[2] This corresponds to a multi-dimensional generalisation of using Prewitt operator for edge detection in two dimensional images.

Multi-dimensional Prewitt operator determines the hyperplane that best fits the estimated function at point . Such hyperplane can be defined by:

.

It is then found by minimizing the squared error:

By differentiating least square error we are able to find which correspond to coefficients of the hyperplane. The data points in the multi-dimensional array that have high gradient values are selected as possible boundary surface elements.

Search for boundary surface elements is performed by sampling a random element and if such element satisfies criteria for being classified as a boundary element, neighbours of such point are evaluated recursively. If there are no more acceptable elements in the neighbourhood of found elements, aggregation process is terminated.[3]

Alternative methods

Multidimensional extension to Sobel operator

Extending Sobel operator to multiple dimensions has been suggested as a way of detecting boundaries in multi-dimensional images. Sobel operator assigns a vector for each point in the image which points in the direction of the most rapid change. Magnitude of such vector is directly proportional to the magnitude of change. Hyperplane normal to this vector is what best describes the boundary between two segments in the local neighbourhood.[4]

First order estimation of edge profiles

First order estimation of edge profiles method for detecting edges in multi-dimensional image relies on two principles that multi-dimensional edge follows. First is that changes in intensity of the image along the edge should be as sharp as possible, while changes between neighbouring points in the image should be as smooth as possible.[5]

Issues

Edge detection in texturised data

In general, edge detection can be described as image or data segmentation into different regions, each of which is uniform in some property. Most of the methods used in edge detection rely on properties which are confined to a single point in data and do not need context of its neighbourhood to be fully described. Examples of such properties are grey level, hue and colour. Alternatively, texture of data can be used as a property by which uniformity of data is judged.[6]

Noisy data

Approximation of derivatives

See also

References

  1. ^ Chittineni, CB (1983). "Edge and Line Detection in Multidimensional Noisy Imagery Data". IEEE Transactions on Geoscience and Remote Sensing. 21 (2): 163–174. doi:10.1109/TGRS.1983.350485.
  2. ^ Morgenthalter, David (1981). "Mutlidimensional Edge Detection by Hypersurface Fitting". IEEE Transactions of Pattern Analysis and Machine Intelligence. 3 (4): 482–486. doi:10.1109/TPAMI.1981.4767134. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
  3. ^ Botte-Lecocq, C (2007). Scene Reconstruction Pose Estimation and Tracking (PDF). pp. 471–472. ISBN 978-3-902613-06-6.
  4. ^ Zucker;, Steven W. (1983). "A Three-Dimensional Edge Operator". Pattern Analysis and Machine Intelligence. doi:10.1109/TPAMI.1981.4767105 pages=324-331. {{cite journal}}: Check |doi= value (help); Missing pipe in: |doi= (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)CS1 maint: extra punctuation (link) CS1 maint: multiple names: authors list (link)
  5. ^ Liu, L (1991). "Mutlidimensional Edge Detection by Hypersurface Fitting". Computer Vision and Pattern Recognition. doi:10.1109/CVPR.1991.139787 pages=698-699. {{cite journal}}: Check |doi= value (help); Missing pipe in: |doi= (help); Unknown parameter |coauthors= ignored (|author= suggested) (help)
  6. ^ Khotanzad, A (1987). "Unsupervised segmentation of textured images by edge detection in multidimensional feature". IEEE Transactions of Pattern Analysis and Machine Intelligence. 11 (4): 414–421. doi:10.1109/34.19038. {{cite journal}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)

Bibliography