37
Thinning Algorith ms Thick images Thin images Color images Character Recognition (OCR)

Thinning Algorithms Thick images Thin images Color images Character Recognition (OCR)

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

Thinning Algorithms

Thick images

Thin images

Color images

Character Recognition (OCR)

Thinning: from many pixels width to Thinning: from many pixels width to just onejust one

• Much work has been done on the thinning of ``thick'' binary images,

• where attempts are made to reduce shape outlines which are many pixels thick to outlines which are only one pixel thick.

• Skeletonization

Thinning of thick binary imagesThinning of thick binary images

Thinning using Thinning using Zhang and Suen algorithm [1984].)

results of the first pass results of the second pass final results

Point just removed 8 7

2625

(b) is slightly increased image

Example of Thinning algorithm from Example of Thinning algorithm from Zhang and Suen 1984Zhang and Suen 1984

Example 1 of Rules for Thinning Example 1 of Rules for Thinning AlgorithmAlgorithm

Don’t care

Old one New and old one

Rule 1 Rule 2 Rule 3 Rule 4

Rule 1 All four rules can be illustrated like that

Applying thinning to fault Applying thinning to fault detection in PCBdetection in PCB

All lines are thinned to one pixel width

Now you can check connectivity

Thinning AlgorithmThinning Algorithm

• Thinning algorithm is sensitive to corrupted image segments

imageCorrect background shows desired shape of letter T

Noise leads to lack of connectivity. BAD

Thinning Thinning applied after applied after

Edge DetectionEdge Detection

Rules of binary thinningRules of binary thinning• We will present the rules used for the ``binary

thinning'' which is applied to the edge images (found using the edge detector).

• The rules are simple and quick to carry out, requiring only one pass through the image.

Thinning of thin binary imagesThinning of thin binary images

The SUSAN Thinning AlgorithmThe SUSAN Thinning Algorithm• It follows a few simple rules

– remove spurious or unwanted edge points

– add in edge points where they should be reported but have not been.

• The rules fall into three categories;

– removing spurious or unwanted edge points

– adding new edge points

– shifting edge points to new positions.

• Note that the new edge points will only be created if the edge response allows this.

These all can be called “local improving” rules

• The rules are listed according to the number of edge point neighbours which an edge point has (in the eight pixel neighbourhood)

Discuss size of window and direction of movement

The SUSAN Thinning AlgorithmThe SUSAN Thinning Algorithm0 neighbors

1 neighbor

2 neighbors

2 neighbors

3 neighbors

• 0 neighbors. – Remove the edge point.

• 1 neighbor. – Search for the neighbor with the maximum (non-zero) edge response, to continue the edge, and to

fill in gaps in edges. • The responses used are those found by the initial stage of the SUSAN edge detector, before non-maximum

suppression.• They are slightly weighted according to the existing edge orientation so that the edge will prefer to continue

in a straight line. • An edge can be extended by a maximum of three pixels.

The SUSAN Thinning AlgorithmThe SUSAN Thinning Algorithm

Filling gaps by adding new edge points

• 2 neighbours. – There are three possible cases:

• 1. If the point is ``sticking out'' of an otherwise straight line, then compare its edge response to that of the corresponding point within the line.

– If the potential point within the straight edge has an edge response greater than 0.7 of the current point's response, move the current point into line with the edge.

• 2. If the point is adjoining a diagonal edge then remove it.

• 3. Otherwise, the point is a valid edge point.

The SUSAN Thinning AlgorithmThe SUSAN Thinning Algorithm

My point has two neighbors

My point has two neighbors

“Edge response” is a measure of neighborhood

• More than 2 neighbours. – If the point is not a link between multiple edges

then thin the edge.

• This will involve a choice between the current point and one of its neighbours.

• If this choice is made in a logical consistent way then a ``clean'' looking thinned edge will result.

The SUSAN Thinning AlgorithmThe SUSAN Thinning Algorithm

How rules are applied?How rules are applied?• These rules are applied to every pixel in the image

sequentially left to right and top to bottom.

– If a change is made to the edge image then the current

search point is moved backwards up to two pixels leftwards and upwards.

– This means that iterative alterations to the image can be achieved using only one pass of the algorithm.

The SUSAN Thinning AlgorithmThe SUSAN Thinning Algorithm

Thinning can remove certain types of Thinning can remove certain types of lines from the imagelines from the image

Correct and Incorrect Thinning ExamplesCorrect and Incorrect Thinning Examples• X correct

• V misread as Y

• 8 has noise added and not removed, wrong semantic network will be created

Good thinning examplesGood thinning examples

• Here every symbol correctly thinned

Thinning Rules• Examples of rules

for shifting up and down algorithm Down rules

Up rules

Another set of Rules for Thinning AlgorithmAnother set of Rules for Thinning Algorithm

newOld and new

Tracing direction

• Notation for points in window• Rules based on point replacements

Tracing Direction from left to rightTracing Direction from left to right

Tracing DirectionTracing Direction

This pixed changed to white

Example of bad thinningExample of bad thinning• We would like to have one pixel width

everywhere

Thinning algorithm for Thinning algorithm for images from polygonsimages from polygons

Typical errors of thinning algorithmsTypical errors of thinning algorithms

Gradient based thinningGradient based thinning

Encoding Encoding shapes after shapes after

thinningthinning

• Image after thinning

Encoding to discrete anglesEncoding to discrete angles

Use of angles in encodingUse of angles in encoding

Replacement of blocks with

points

Coding in 8 directions

Also, coding in 4 directions or more directions

Select the closest point

Polygon Approximation -EncodingPolygon Approximation -Encoding

• Included objects

• Two Methods are used:– Included objects

– Minimal objects

We start with the set of rectangles with points inside

Line Segments make minimum change to the line

• (a) original figure, (b) computation of distances, (c) connection of vertices, (d) resultant polygon

start

Draw straight angles

Method of minimal objects

Encoding of figuresEncoding of figures

• (a) completion of a figure

• (b) partitioning to segments

ProblemsProblems

• 1. Write a program for thinning with your own set of rules, that transform a kernel (3 by 3 or larger) to a point

• 2. Write a program for thinning that replaces rectangle to rectangle according to one of sorted rules, about 10 rules.

• 3. Compare with Zhang and Suen algorithm on images from FAB building interiors

More Problems to solveMore Problems to solve• The slides describe the rules used for the ``binary thinning''

which is applied to the edge images (found using the SUSAN edge detector - see [9,8]) after non-maximum suppression has taken place. The rules are simple and quick to carry out, requiring only one pass through the image. Similar text originally appeared in Appendix B of [7].

• Write LISP program with the code of this edge detector and check it on similar images.

• For examples and reviews of work on ``skeletonization'' see [6,4,1,2,5]. Implement any of these programs in LISP. Parametrize it.

Introduction• Much work has been done on the thinning of

``thick'' binary images, where attempts are made to reduce shape outlines which are many pixels thick to outlines which are only one pixel thick.

• However, because of the non-maximum suppression which is applied before thinning in edge detectors such as SUSAN, this kind of approach is not necessary.

LiteratureLiterature• 1 R.M. Haralick. Performance characterization in image analysis:

Thinning, a case in point. Pattern Recognition Letters, 13:5--12, 1992.

• 2 P. Kumar, D. Bhatnagar, and P.S. Umapathi Rao. Pseudo one pass thinning algorithm. Pattern Recognition Letters, 12:543--555, 1991.

• 3 O. Monga, R. Deriche, G. Malandain, and J.P. Cocquerez. Recursive filtering and edge tracking: Two primary tools for 3D edge detection. Image and Vision Computing, 9(4):203--214, 1991.

• 4 J.A. Noble. Descriptions of Image Surfaces. D.Phil. thesis, Robotics Research Group, Department of Engineering Science, Oxford University, 1989.

• 5 M. Otte and H.-H. Nagel. Extraction of line drawings from gray value images by non-local analysis of edge element structures. In Proc. 2nd European Conf. on Computer Vision, pages 687--695. Springer-Verlag, 1992.

LiteratureLiterature• 6 S. Pal. Some Low Level Image Segmentation Methods, Algorithms

and their Analysis. PhD thesis, Indian Institute of Technology, 1991.

• 7 S.M. Smith. Feature Based Image Sequence Understanding. D.Phil. thesis, Robotics Research Group, Department of Engineering Science, Oxford University, 1992.

• 8 S.M. Smith. SUSAN -- a new approach to low level image processing. Internal Technical Report TR95SMS1, Defence Research Agency, Chobham Lane, Chertsey, Surrey, UK, 1995. Available at www.fmrib.ox.ac.uk/~steve for downloading.

• 9 S.M. Smith and J.M. Brady. SUSAN - a new approach to low level image processing. Int. Journal of Computer Vision, 23(1):45--78, May

1997.