Signal Processing 13 (1987) 413-416 North-Holland
413
B O O K REVIEWS
"Connected Components in Binary Images: The Detection Problem", by Christian RONSE and Pierre A. DEvlavr:n, Philips Research Laboratory, Brussels, Belgium. Publisher: Research Studies Press, Ltd., Letchworth, United Kingdom, distributed elsewhere by John Wiley and Sons, Inc., 605 Third Avenue, New York, NY 10158, U.S.A., 1984, xii + 165 pp., ISBN 0-86380-016-5 Everyone who has written computer software knows that good documentation is a timeconsuming and generally thankless task. When, however, that software represents more than just another variation on a standard t h e m e - - w h e n the fundamentals of the algorithm represent a coherent and crystallized approach to an important probl e m - t h e n the documentation can become much more than a technical memorandum. The documentation can become a technical m o n o g r a p h on the given subject and the software itself becomes the illustration, the example, of the concept. Such is the case with the research of Christian Ronse and Pierre A. Devijver into an algorithmic procedure for the segmentation of binary images. In their work, they have developed a careful approach to the problems of finding the objects in a binary image, describing in a succinct manner their position and contour, and relating the objects in a hierarchical way to other objects in the image. Their work is characterized by a formal, mathematical development of an object based upon run coding and the fundamental concept that a run can be described as either a block run or a hinge (run). The block run is adjacent to no more than one run above and~or below it; all the rest are hinge runs. Adjacency (connectedness) is defined in terms of the usual 4-adjacency or 8-adjacency.
The book consists of seven chapters and six appendices. The appendices contain the PASCAL code developed by the authors and the seven chapters present the technical elaboration of their approach. I think it is important for the reader of this review to know that I did not check the computer code for correctness. Whatever errors are to be found in the software, however, are either sufficiently benign or obvious so that it was possible for one of my students (E. Komen) to translate the entire package into the C language and use it for a robot-vision package with more than satisfactory results [2]. Chapter 1 is a brief introduction to the structure of the book and the rationalization for an approach based upon run coding. Chapter 2 is equally brief but introduces three significant constraints for binary image segmentation: (1) the image is raster scanned, (2) only a limited part of the image may be kept in memory, and (3) the geometric and topological properties of the image must be detected and output as soon as they have been completely scanned. In introducing this last constraint, the authors have done us a considerable service; they have defined 'real-time' in a sensible manner. Real-time is not 25 or 30 pictures per second. It is that " . . . the time requirement for the whole algorithm must be proportional to the size of the image" (p. 11). In eight pages, Chapter 3 introduces the formal definition of horizontal black runs and their parameters. With the exception of an unfortunate typographical error in the last line of p. 16--it should be e > 0 not a > 0 - - t h e chapter is clear and straightforward. The authors do not explain, however, why they have chosen an interval for the run description {b(egin)<~j<~e(nd)} (equation (3.1)) instead of a semi-interval {b(egin)<~j<
0165-1684/87/$3.50 © 1987, Elsevier Science Publishers B.V. (North-Holland)
414
Book Reviews
e(nd)}. Given the power associated with the semiinterval description [4], their choice bears explanation. I shall return to this issue later in this review. Chapter 4 describes the decomposition of a binary figure (object) into blocks and hinges. Blocks, however, are not the same as block runs. Blocks are unions of adjacent block runs. Derivative concepts such as d-blocks and block continuations are introduced as are mechanisms for representing adjacency relations and object records. The reader should be warned that, by the end of Chapter 4, Ronse and Devijver have introduced a rich vocabulary of mnemonics--precnnb[ ], succnnb[ ], preletori[ ], preritole[ ] l - t o name a few as well as subroutines--continuationenlarge(), thisrowobjtyl(), etc. Keeping all of these straight requires a lot of concentration! Chapter 5 brings the techniques developed in the previous two chapters together in the central theme: the detection of connected components. Purists might argue that a better title would be description of connected components. Detection usually means, "I see a connected object", whereas description means, "I see an object that is connected in the following w a y . . . " . It is this second and much more significant technique that is developed in this longest chapter in the monograph. Starting from the block/hinge description, the procedures and tests are developed for following the edges of an object. At this point it is seen that the edges used by the authors are the same concept as the crack codes that have been discussed by Danielsson [1]. The discussion of the digital topological relations that may exist within the image provides the foundation for the development of neighborhood trees. This tree is a graph tfiat describes the adjacency relationships that exist between various objects in the binary image. Further, it is shown that there exists a complete correspondence between the adjacency graph and a graph that is developed on the basis of the direction in which edges are traced (cycles) during edge following. Following the basic theoretical descriptions and definitions, the algorithmic aspects of determining Signal Processing
these graphs, edges, and subsequent string representations are presented. Chapter 6 first offers some aspects of output procedures, that is, procedures that produce an object record followed by an illustrative example. Chapter 7 offers some concluding remarks including an overview of the program organization. In critiquing the contents of this book, a number of points come to mind. First, the book is well written and the English is at least as good as what we would expect from a native-born English author with an engineering education; actually it is better than that. There are a few places where the grammar is more Flemish than English but no harm is done. In a number of places, simple illustrations would have been a great help. It took me a while to realize that the black squares in Fig. 4.1 were block runs and not black pixels. One of the issues clearly neglected in the book is the eventual goal of the representation technique. A mention is made of measurement as well as description in Chapters 1 and 7 but the conclusions are shaky. The reader--in giving the authors the benefit of the doubt--might say that measurement (or other possible uses of the representation) are beyond the scope of this book and should be reserved for perhaps a second volume that describes the estimation problem instead of the detection problem. The problem with this point of view is that having already accepted the representation technique developed by Ronse and Devijver we may have cut ourselves off from useful operations that could be performed on or useful measures that could be extracted from the encoded image. Let us look at a few examples. On page 12, the authors introduce the notion that the border pixels of the image are by definition white, that is, background pixels. The consequence of this is the inability to make stereological measures and it is not clear in the development of their technique how the algorithms would have to be modified to permit two white border edges and two black border edges. The authors claim on p. 114 "that it would be a simple matter to modify the program in order to
Book Reviews
415
extract, in real time, such features as component p e r i m e t e r . . . " . Further, the authors dismiss the use of the chain code as being "less effective for feature extraction purposes" than their own technique. The authors are wrong on both counts! In 1982, Vossepoel and Smeulders clearly showed [3] that accurate measurement of the perimeter of an object is a complicated matter and the techniques amenable to a real-time approach require a chain code representation with the associated corner count. Freeman, Bowie, Ehrlich, and many .others (this author included) have shown that the chain code representation is eminently suited to extracting features of binary objects. Earlier in this review I mentioned that the authors chose not to use a semi-interval to code their runs. At the time it may have seemed a trivial point. The consequence of this choice can now be discussed. Had the authors used the semi-interval it would have been possible for them to extend the usefulness of their representation scheme to direct implementation of binary image operations such as NOT, AND, XOR, DILATE, ERODE, and so forth. As the information concerning this technique was available to the authors in 1981, it certainly would have been possible to use it in their development. In summary, the representation developed by the authors is suitable for quantitatively describing the number of objects in an image, their area, and connectivity and symbolically describing their relationship to one another. It is not suitable for the quantitative high-accuracy measures of objects required for industrial inspection nor is it suitable (in its present form) for easily manipulating binary images with binary image operations.
In concluding this review I would point out that, within the confines of their goals, Christian Ronse and Pierre Devijver have developed a careful and important technique for the segmentation and description of objects in binary images. Several years ago there was an unofficial essay circulating in the software world entitled "Real Programmers Don't Use PASCAL". Somewhat tongue-in-cheek it pointed out that no macho programmer would use structured programming much less document his work on a project of significance. Well, Ronse and Devijver have worked on a problem of real significance and have gone to considerable trouble to document their structured programs. I can only conclude: Real Programmers Can Use PASCAL.
"Remote SensingmMethods and Applications", by R. Michael HORD,in: Wiley Series in Remote Sens-
In three chapters, this book has been structured into three broad subjects concerning sensors (Chapter 1), processing and analysis techniques (Chapter 2), and applications (Chapter 3). Each chapter is well illustrated and referenced.
ing, edited by Jin Au Kong. Publisher: John Wiley & Sons, Ltd., Battins Lane, Chichester, West Sussex, United Kingdom PO19 1UD, 1986, xiii+362 pp., ISBN 0-471-82824-6, indicative price: £43.25
I.T. Y O U N G
Department of Applied Physics University of Delft 2600 GA Delft The Netherlands References [1] P.E. Danielsson, "Encoding of binary images by rasterchain-coding of cracks", Proc. 6th Internat. Conf. on Pattern Recognition, Munich, Fed. Rep. Germany, Octol~er 1982, pp. 335-338. [2] F.C.A. Groen, E.R. Komen, M.A.C. Vreeburg and T.P.H. Warmerdam, "Multisensor robot assembly station", Robotics, Vol. 2, 1986, pp. 205-214. [3] A.M. Vossepoel and A.W.M. Smeulders, "Vector code probability and metrication error in the representation of straight lines of finite length", Computer Graphics & Image Process., Vol. 20, 1982, pp. 347-364. [4] I.T. Young, R.L. Peverini, P.W. Verbeek and P.J. van OtterIoo, "A new implementation for the binary and Minkowski operators", Computer Graphics & Image Process., Vol. 17, 1981, pp. 189-210.
Vol. 13, No. 4. December1987