| Preface to First Edition |
|
xxi | |
| Preface to Second Edition |
|
xxiv | |
| About the Author |
|
xxvi | |
| Glossary of Acronyms and Abbreviations |
|
xxvii | |
| Acknowledgements |
|
xxix | |
|
|
|
1 | (18) |
|
Introduction---man and his senses |
|
|
1 | (2) |
|
|
|
3 | (8) |
|
The process of recognition |
|
|
3 | (1) |
|
Tackling the recognition problem |
|
|
4 | (3) |
|
|
|
7 | (3) |
|
|
|
10 | (1) |
|
Vision as inverse graphics |
|
|
10 | (1) |
|
Automated visual inspection |
|
|
11 | (2) |
|
|
|
13 | (1) |
|
|
|
14 | (1) |
|
|
|
15 | (4) |
| Part 1 Low-Level Processing |
|
|
Images and Imaging Operations |
|
|
19 | (22) |
|
|
|
19 | (3) |
|
|
|
21 | (1) |
|
Image processing operations |
|
|
22 | (11) |
|
Some basic operations on grey-scale images |
|
|
23 | (4) |
|
Basic operations on binary images |
|
|
27 | (4) |
|
Noise suppression by image accumulation |
|
|
31 | (2) |
|
Convolutions and point spread functions |
|
|
33 | (3) |
|
Sequential versus parallel operations |
|
|
36 | (2) |
|
|
|
38 | (1) |
|
Bibliographical and historical notes |
|
|
38 | (1) |
|
|
|
39 | (2) |
|
Basic Image Filtering Operations |
|
|
41 | (38) |
|
|
|
41 | (2) |
|
Noise suppression by Gaussian smoothing |
|
|
43 | (3) |
|
|
|
46 | (2) |
|
|
|
48 | (7) |
|
Bias generated by noise suppression filters |
|
|
55 | (11) |
|
Theory of edge shifts caused by median filters in binary images |
|
|
56 | (5) |
|
Edge shifts caused by median filters in grey-scale images |
|
|
61 | (3) |
|
Edge shifts arising with hybrid median filters |
|
|
64 | (2) |
|
|
|
66 | (1) |
|
Reducing computational load |
|
|
66 | (5) |
|
A bit-based method for fast median filtering |
|
|
69 | (2) |
|
VLSI implementation of the median filter |
|
|
71 | (1) |
|
The role of filters in industrial applications of vision |
|
|
71 | (1) |
|
|
|
72 | (1) |
|
|
|
73 | (2) |
|
Bibliographical and historical notes |
|
|
75 | (1) |
|
|
|
76 | (3) |
|
|
|
79 | (24) |
|
|
|
79 | (1) |
|
|
|
80 | (1) |
|
|
|
81 | (12) |
|
Finding a suitable threshold |
|
|
81 | (2) |
|
Tackling the problem of bias in threshold selection |
|
|
83 | (2) |
|
Methods based on finding a valley in the intensity distribution |
|
|
85 | (1) |
|
Methods which concentrate on the peaked intensity distribution at high gradient |
|
|
85 | (2) |
|
A convenient mathematical model |
|
|
87 | (6) |
|
|
|
93 | (1) |
|
|
|
93 | (5) |
|
The Chow and Kaneko approach |
|
|
94 | (1) |
|
Local thresholding methods |
|
|
95 | (3) |
|
|
|
98 | (2) |
|
Bibliographical and historical notes |
|
|
100 | (1) |
|
|
|
101 | (2) |
|
Locating Objects via Their Edges |
|
|
103 | (28) |
|
|
|
103 | (1) |
|
Basic theory of edge detection |
|
|
104 | (2) |
|
The template matching approach |
|
|
106 | (1) |
|
Theory of 3 x 3 template operators |
|
|
107 | (6) |
|
Summary---design constraints and conclusions |
|
|
113 | (1) |
|
The design of differential gradient operators |
|
|
114 | (2) |
|
The concept of a circular operator |
|
|
116 | (1) |
|
Detailed implementation of circular operators |
|
|
117 | (2) |
|
Structured bands of pixels in neighbourhoods of various sizes |
|
|
119 | (4) |
|
The systematic design of differential edge operators |
|
|
123 | (1) |
|
Problems with the above approach---some alternative schemes |
|
|
124 | (4) |
|
|
|
128 | (1) |
|
Bibliographical and historical notes |
|
|
129 | (1) |
|
|
|
130 | (1) |
|
|
|
131 | (40) |
|
|
|
131 | (1) |
|
Connectedness in binary images |
|
|
132 | (1) |
|
Object labelling and counting |
|
|
133 | (4) |
|
Metric properties in digital images |
|
|
137 | (3) |
|
|
|
140 | (2) |
|
The convex hull and its computation |
|
|
142 | (4) |
|
Distance functions and their uses |
|
|
146 | (5) |
|
|
|
151 | (12) |
|
|
|
153 | (3) |
|
Parallel and sequential implementations of thinning |
|
|
156 | (3) |
|
|
|
159 | (2) |
|
A comment on the nature of the skeleton |
|
|
161 | (1) |
|
|
|
161 | (2) |
|
Application of skeletons for shape recognition |
|
|
163 | (1) |
|
Some simple measures for shape recognition |
|
|
163 | (1) |
|
Shape description by moments |
|
|
164 | (1) |
|
Boundary tracking procedures |
|
|
165 | (2) |
|
|
|
167 | (1) |
|
Bibliographical and historical notes |
|
|
168 | (1) |
|
|
|
169 | (2) |
|
Boundary Pattern Analysis |
|
|
171 | (24) |
|
|
|
171 | (2) |
|
Boundary tracking procedures |
|
|
173 | (1) |
|
Template matching---a reminder |
|
|
174 | (1) |
|
|
|
174 | (2) |
|
Problems with the centroidal profile approach |
|
|
176 | (5) |
|
|
|
178 | (3) |
|
|
|
181 | (2) |
|
Tackling the problems of occlusion |
|
|
183 | (3) |
|
|
|
186 | (1) |
|
|
|
187 | (1) |
|
Accuracy of boundary length measures |
|
|
187 | (2) |
|
|
|
189 | (1) |
|
Bibliographical and historical notes |
|
|
190 | (1) |
|
|
|
191 | (4) |
| Part 2 Intermediate-Level Processing |
|
|
|
|
195 | (16) |
|
|
|
195 | (1) |
|
Application of the Hough transform to line detection |
|
|
196 | (4) |
|
The foot-of-normal method |
|
|
200 | (7) |
|
|
|
202 | (2) |
|
Quality of the resulting data |
|
|
204 | (1) |
|
Application of the foot-of-normal method |
|
|
205 | (2) |
|
Longitudinal line localization |
|
|
207 | (1) |
|
|
|
208 | (1) |
|
|
|
208 | (1) |
|
Bibliographical and historical notes |
|
|
209 | (1) |
|
|
|
210 | (1) |
|
|
|
211 | (34) |
|
|
|
211 | (1) |
|
Hough-based schemes for circular object detection |
|
|
212 | (5) |
|
The problem of unknown circle radius |
|
|
217 | (7) |
|
|
|
222 | (2) |
|
The problem of accurate centre location |
|
|
224 | (8) |
|
Obtaining a method for reducing computational load |
|
|
226 | (2) |
|
Improvements on the basic scheme |
|
|
228 | (2) |
|
|
|
230 | (1) |
|
|
|
230 | (2) |
|
Overcoming the speed Problem |
|
|
232 | (10) |
|
More detailed estimates of speed |
|
|
233 | (2) |
|
|
|
235 | (2) |
|
|
|
237 | (3) |
|
|
|
240 | (2) |
|
|
|
242 | (1) |
|
Bibliographical and historical notes |
|
|
242 | (1) |
|
|
|
243 | (2) |
|
The Hough Transform and Its Nature |
|
|
245 | (26) |
|
|
|
245 | (1) |
|
The generalized Hough transform |
|
|
246 | (2) |
|
Setting up the generalized Hough transform---some relevant questions |
|
|
248 | (1) |
|
Spatial matched filtering in images |
|
|
248 | (1) |
|
From spatial matched filters to generalized Hough transforms |
|
|
249 | (2) |
|
Gradient weighting versus uniform weighting |
|
|
251 | (4) |
|
Calculation of sensitivity and computational load |
|
|
252 | (3) |
|
|
|
255 | (1) |
|
Applying the generalized Hough transform to line detection |
|
|
256 | (1) |
|
|
|
257 | (1) |
|
Tradeoffs to reduce computational load |
|
|
258 | (2) |
|
The effects of occlusions for objects with straight edges |
|
|
260 | (3) |
|
Fast implementations of the Hough transform |
|
|
263 | (3) |
|
The approach of Gerig and Klein |
|
|
266 | (1) |
|
|
|
267 | (1) |
|
Bibliographical and historical notes |
|
|
268 | (3) |
|
|
|
271 | (20) |
|
|
|
271 | (1) |
|
The diameter bisection method |
|
|
271 | (3) |
|
|
|
274 | (1) |
|
Finding the remaining ellipse parameters |
|
|
275 | (2) |
|
Reducing computational load for the generalized Hough transform method |
|
|
277 | (9) |
|
|
|
282 | (4) |
|
Comparing the various methods |
|
|
286 | (2) |
|
|
|
288 | (1) |
|
Bibliographical and historical notes |
|
|
289 | (1) |
|
|
|
290 | (1) |
|
|
|
291 | (18) |
|
|
|
291 | (1) |
|
The template matching approach |
|
|
291 | (2) |
|
The lateral histogram technique |
|
|
293 | (1) |
|
The removal of ambiguities in the lateral histogram technique |
|
|
294 | (4) |
|
Computational implications of the need to check for ambiguities |
|
|
294 | (2) |
|
Further detail of the subimage method |
|
|
296 | (2) |
|
Application of the lateral histogram technique for object location |
|
|
298 | (5) |
|
Limitations of the approach |
|
|
302 | (1) |
|
A strategy based on applying the histograms in turn |
|
|
303 | (2) |
|
Appraisal of the hole detection problem |
|
|
305 | (2) |
|
|
|
307 | (1) |
|
Bibliographical and historical notes |
|
|
308 | (1) |
|
|
|
308 | (1) |
|
Polygon and Corner Detection |
|
|
309 | (38) |
|
|
|
309 | (1) |
|
The generalized Hough transform |
|
|
310 | (1) |
|
|
|
310 | (1) |
|
Application to the detection of regular polygons |
|
|
311 | (1) |
|
The case of an arbitrary triangle |
|
|
312 | (1) |
|
The case of an arbitrary rectangle |
|
|
313 | (2) |
|
Lower bounds on the numbers of parameter planes |
|
|
315 | (4) |
|
An extension of the triangle result |
|
|
319 | (1) |
|
|
|
320 | (4) |
|
|
|
324 | (1) |
|
|
|
324 | (1) |
|
|
|
325 | (1) |
|
Second-order derivative schemes |
|
|
326 | (3) |
|
A median-based corner detector |
|
|
329 | (5) |
|
Analysing the operation of the median detector |
|
|
329 | (3) |
|
|
|
332 | (2) |
|
The Hough transform approach to corner detection |
|
|
334 | (4) |
|
The lateral histogram approach to corner detection |
|
|
338 | (2) |
|
|
|
340 | (1) |
|
|
|
340 | (2) |
|
Bibliographical and historical notes |
|
|
342 | (1) |
|
|
|
343 | (4) |
| Part 3 Application-Level Processing |
|
|
Abstract Pattern Matching Techniques |
|
|
347 | (26) |
|
|
|
347 | (1) |
|
A graph-theoretic approach to object location |
|
|
348 | (8) |
|
A practical example---locating cream biscuits |
|
|
353 | (3) |
|
Possibilities for saving computation |
|
|
356 | (3) |
|
Using the generalized Hough transform for feature collation |
|
|
359 | (3) |
|
|
|
360 | (2) |
|
Generalizing the maximal clique and other approaches |
|
|
362 | (1) |
|
|
|
363 | (4) |
|
|
|
367 | (1) |
|
|
|
368 | (1) |
|
Bibliographical and historical notes |
|
|
369 | (1) |
|
|
|
370 | (3) |
|
The Three-Dimensional World |
|
|
373 | (44) |
|
|
|
373 | (1) |
|
Three-dimensional vision---the variety of methods |
|
|
374 | (2) |
|
Projection schemes for three-dimensional vision |
|
|
376 | (8) |
|
|
|
378 | (2) |
|
The correspondence problem |
|
|
380 | (4) |
|
|
|
384 | (5) |
|
|
|
389 | (2) |
|
The assumption of surface smoothness |
|
|
391 | (2) |
|
|
|
393 | (1) |
|
Use of structured lighting |
|
|
394 | (2) |
|
Three-dimensional object recognition schemes |
|
|
396 | (2) |
|
The method of Ballard and Sabbah |
|
|
398 | (3) |
|
The method of Silberberg et al. |
|
|
401 | (1) |
|
Horaud's junction orientation technique |
|
|
402 | (5) |
|
The 3DPO system of Bolles and Horaud |
|
|
407 | (2) |
|
|
|
409 | (2) |
|
|
|
411 | (2) |
|
|
|
413 | (1) |
|
Bibliographical and historical notes |
|
|
414 | (2) |
|
|
|
416 | (1) |
|
Tackling the Perspective N-Point Problem |
|
|
417 | (14) |
|
|
|
417 | (1) |
|
The phenomenon of perspective inversion |
|
|
417 | (2) |
|
Ambiguity of pose under weak perspective projection |
|
|
419 | (3) |
|
Obtaining unique solutions to the pose problem |
|
|
422 | (6) |
|
Solution of the three-point problem |
|
|
426 | (1) |
|
Using symmetric trapezia for estimating pose |
|
|
427 | (1) |
|
|
|
428 | (1) |
|
Bibliographical and historical notes |
|
|
429 | (2) |
|
|
|
431 | (24) |
|
|
|
431 | (1) |
|
|
|
431 | (4) |
|
Interpretation of optical flow fields |
|
|
435 | (2) |
|
Using focus of expansion to avoid collision |
|
|
437 | (2) |
|
Time-to-adjacency analysis |
|
|
439 | (2) |
|
Basic difficulties with the optical flow model |
|
|
441 | (1) |
|
|
|
441 | (3) |
|
Applications to the monitoring of traffic flow |
|
|
444 | (7) |
|
The system of Bascle et al. |
|
|
444 | (3) |
|
The system of Koller et al. |
|
|
447 | (4) |
|
|
|
451 | (1) |
|
Bibliographical and historical notes |
|
|
452 | (3) |
|
Invariants and Their Applications |
|
|
455 | (16) |
|
|
|
455 | (2) |
|
Cross ratios: the ``ratio of ratios'' concept |
|
|
457 | (4) |
|
Invariants for noncollinear points |
|
|
461 | (4) |
|
Invariants for points on conics |
|
|
465 | (2) |
|
|
|
467 | (1) |
|
Bibliographical and historical notes |
|
|
468 | (3) |
|
Automated Visual Inspection |
|
|
471 | (32) |
|
|
|
471 | (1) |
|
The process of inspection |
|
|
472 | (1) |
|
Review of the types of object to be inspected |
|
|
473 | (3) |
|
|
|
473 | (1) |
|
|
|
474 | (1) |
|
Differing requirements for size measurement |
|
|
475 | (1) |
|
Three-dimensional objects |
|
|
475 | (1) |
|
Other products and materials for inspection |
|
|
476 | (1) |
|
Summary---the main categories of inspection |
|
|
476 | (2) |
|
Shape deviations relative to a standard template |
|
|
478 | (1) |
|
Inspection of circular products |
|
|
479 | (7) |
|
Computation of the radial histogram: statistical problems |
|
|
482 | (3) |
|
Application of radial histograms |
|
|
485 | (1) |
|
Inspection of printed circuits |
|
|
486 | (2) |
|
Steel strip and wood inspection |
|
|
488 | (1) |
|
Inspection of products with high levels of variability |
|
|
488 | (5) |
|
|
|
493 | (4) |
|
Bringing inspection to the factory |
|
|
497 | (2) |
|
|
|
499 | (1) |
|
Bibliographical and historical notes |
|
|
500 | (3) |
|
Statistical Pattern Recognition |
|
|
503 | (26) |
|
|
|
503 | (1) |
|
The nearest neighbour algorithm |
|
|
504 | (3) |
|
|
|
507 | (3) |
|
Relation of the nearest neighbour and Bayes' approaches |
|
|
510 | (3) |
|
Mathematical statement of the problem |
|
|
510 | (3) |
|
The importance of the nearest neighbour classifier |
|
|
513 | (1) |
|
The optimum number of features |
|
|
513 | (1) |
|
Cost functions and error-reject tradeoff |
|
|
514 | (2) |
|
|
|
516 | (6) |
|
Supervised and unsupervised learning |
|
|
516 | (1) |
|
|
|
517 | (5) |
|
Principal components analysis |
|
|
522 | (3) |
|
The relevance of probability in image analysis |
|
|
525 | (1) |
|
|
|
526 | (1) |
|
Bibliographical and historical notes |
|
|
527 | (1) |
|
|
|
528 | (1) |
|
Biologically Inspired Recognition Schemes |
|
|
529 | (32) |
|
|
|
529 | (1) |
|
Artificial neural networks |
|
|
530 | (6) |
|
The back-propagation algorithm |
|
|
536 | (3) |
|
|
|
539 | (1) |
|
Overfitting to the training data |
|
|
540 | (3) |
|
Optimizing the network architecture |
|
|
543 | (1) |
|
|
|
544 | (5) |
|
Case-study: noise suppression using ANNs |
|
|
549 | (5) |
|
|
|
554 | (3) |
|
|
|
557 | (1) |
|
Bibliographical and historical notes |
|
|
558 | (3) |
|
|
|
561 | (22) |
|
|
|
561 | (3) |
|
Some basic approaches to texture analysis |
|
|
564 | (2) |
|
Grey-level co-occurrence matrices |
|
|
566 | (3) |
|
Laws' texture energy approach |
|
|
569 | (3) |
|
Ade's eigenfilter approach |
|
|
572 | (2) |
|
Appraisal of the Laws and Ade approaches |
|
|
574 | (2) |
|
Fractal-based measures of texture |
|
|
576 | (1) |
|
|
|
577 | (1) |
|
Markov random field models of texture |
|
|
578 | (1) |
|
Structural approaches to texture analysis |
|
|
579 | (1) |
|
|
|
579 | (1) |
|
Bibliographical and historical notes |
|
|
580 | (3) |
|
|
|
583 | (20) |
|
|
|
583 | (1) |
|
|
|
584 | (8) |
|
|
|
586 | (3) |
|
Arranging a region of uniform illumination |
|
|
589 | (1) |
|
|
|
590 | (2) |
|
|
|
592 | (4) |
|
|
|
595 | (1) |
|
|
|
596 | (4) |
|
|
|
600 | (1) |
|
Bibliographical and historical notes |
|
|
600 | (3) |
|
The Need for Speed: Real-Time Electronic Hardware Systems |
|
|
603 | (20) |
|
|
|
603 | (1) |
|
|
|
604 | (2) |
|
|
|
606 | (2) |
|
The gain in speed attainable with N processors |
|
|
608 | (1) |
|
|
|
609 | (2) |
|
Optimal implementation of an image analysis algorithm |
|
|
611 | (4) |
|
Hardware specification and design |
|
|
613 | (1) |
|
Basic ideas on optimal hardware implementation |
|
|
613 | (2) |
|
Board-level processing systems |
|
|
615 | (1) |
|
|
|
616 | (1) |
|
|
|
617 | (1) |
|
Bibliographical and historical notes |
|
|
618 | (5) |
| Part 4 Perspectives on Vision |
|
|
Machine Vision, Art or Science? |
|
|
623 | (72) |
|
|
|
623 | (1) |
|
Parameters of importance in machine vision |
|
|
624 | (2) |
|
|
|
626 | (3) |
|
|
|
627 | (1) |
|
Tradeoffs for two-stage template matching |
|
|
628 | (1) |
|
|
|
629 | (2) |
|
Hardware, algorithms and processes |
|
|
631 | (1) |
|
|
|
631 | (2) |
|
Just a glimpse of vision? |
|
|
633 | (1) |
|
Bibliographical and historical notes |
|
|
633 | (2) |
| Appendices |
|
|
Appendix A: Programming Notation |
|
|
635 | (12) |
|
|
|
635 | (1) |
|
|
|
636 | (1) |
|
|
|
636 | (2) |
|
A.2.2 Procedures and functions |
|
|
638 | (1) |
|
A.2.3 Other details of Pascal syntax |
|
|
639 | (3) |
|
A.2.4 The need for special syntax |
|
|
642 | (1) |
|
A.3 Special syntax embedded in Pascal |
|
|
642 | (1) |
|
A.3.1 Image handling notation |
|
|
642 | (1) |
|
A.3.2 Other succinct notation |
|
|
643 | (3) |
|
A.4 On the validity of the ``repeat until finished'' construct |
|
|
646 | (1) |
|
Appendix B: Mathematical Morphology |
|
|
647 | (16) |
|
|
|
647 | (1) |
|
B.2 Dilation and erosion in binary images |
|
|
648 | (1) |
|
B.2.1 Dilation and erosion |
|
|
648 | (1) |
|
B.2.2 Cancellation effects |
|
|
648 | (1) |
|
B.2.3 Modified dilation and erosion operators |
|
|
649 | (1) |
|
B.3 Mathematical morphology |
|
|
649 | (1) |
|
B.3.1 Generalized morphological dilation |
|
|
649 | (2) |
|
B.3.2 Generalized morphological erosion |
|
|
651 | (1) |
|
B.3.3 Duality between dilation and erosion |
|
|
652 | (3) |
|
B.3.4 Closing and opening |
|
|
655 | (1) |
|
B.3.5 Hit-and-miss transform |
|
|
656 | (1) |
|
|
|
657 | (1) |
|
B.4 Connectedness-based analysis of images |
|
|
658 | (1) |
|
B.4.1 Skeletons and thinning |
|
|
658 | (2) |
|
|
|
660 | (1) |
|
B.6 Bibliographical and historical notes |
|
|
660 | (3) |
|
Appendix C: Image Transformations and Camera Calibration |
|
|
663 | (14) |
|
|
|
663 | (1) |
|
C.2 Image transformations |
|
|
663 | (5) |
|
|
|
668 | (3) |
|
C.4 Intrinsic and extrinsic parameters |
|
|
671 | (4) |
|
|
|
675 | (1) |
|
C.6 Bibliographical and historical notes |
|
|
675 | (2) |
|
Appendix D: Robust statistics |
|
|
677 | (18) |
|
|
|
677 | (3) |
|
D.2 Preliminary definitions and analysis |
|
|
680 | (3) |
|
D.3 The M-estimator (influence function) approach |
|
|
683 | (5) |
|
D.4 The least median of squares approach to regression |
|
|
688 | (3) |
|
D.5 Overview of the robustness problem |
|
|
691 | (2) |
|
|
|
693 | (1) |
|
D.7 Bibliographical and historical notes |
|
|
694 | (1) |
| References |
|
695 | (30) |
| Subject Index |
|
725 | (16) |
| Author Index |
|
741 | |