19
Image Processing, Analysis and Machine Vision

Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

  • Upload
    leanh

  • View
    216

  • Download
    2

Embed Size (px)

Citation preview

Page 1: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

Image Processing, Analysis and Machine Vision

Page 2: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

CHAPMAN & HALL COMPUTING SERIES Computer Operating Series For micros, minis and mainframes

2nd edition David Barron

Microcomputer Graphics Michael Batty

The Pick Operating system Malcolm Bull

A Course of Programming in FORTRAN 3rd edition

V.J. Calderbank

Expert systems Principles and case studies

2nd edition Edited by Richard Forsyth

Machine Learning Principles and techniques

Edited by Richard Forsyth Software Quality

Theory and management Alan C. Gillies

Expert Systems Knowledge, uncertainty and decision

Ian Graham and Peter Llewelyn Jones Computer Graphics and Applications

Dennis Harris

Software metrics A practitioner's guide to improved product development

K.H. Moller and D.J. Paulsh Artificial Intelligence and Human learning

Intelligent computer-aided instruction Edited by John Self

Formal Concepts in Artificial Intelligence Fundamentals

Rajjan Shinghal Techniques in Computational Learning

An introduction C.J. Thornton

Artificial Intelligence Principles and applications

Edited by Masoud Yazdani ACCESS

The Pick enquiry language Malcolm Bull

Page 3: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

Analysis and Machine Vision

Milan Sonka PhD University of Iowa Iowa City, USA

Vaclav Hlavac PhD

Czech Technical University Prague, Czech Republic

and

Roger Boyle DPhil, MBCS, CEng University of Leeds Leeds, UK

SPRINGER-SCIENCE+BUSINESS MEDIA, BV.

Page 4: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

First edition 1993

© 1993 Milan Sonka, Vaclav Hlavac and Roger Boyle Originally published by Chapman & Hall in 1993

ISBN 978-0-412-45570-4 ISBN 978-1-4899-3216-7 (eBook)

Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted under the UK Copyright Designs and Patents Act, 1988, this publication may not be reproduced, stored, or transmitted, in any form or by any means, without the prior permission in writing of the publishers, or in the case of reprographic reproduction only in accordance with the terms of the licences issued by the Copyright Licensing Agency in the UK, or in accordance with the terms of licences issued by the appropriate Reproduction Rights Organization outside the UK. Enquiries concerning reproduction outside the terms stated here should be sent to the publishers at the London address printed on this page.

The publisher makes no representation, express or implied, with regard to the accuracy of the information contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that may be made.

A catalogue record for this book is available from the British Library

Library of Congress Cataloging-in-Publication data available

DOI 10.1007/978-1-4899-3216-7

Page 5: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

Contents

List of Algorithms xi

List of symbols and abbreviations xiii

Preface xv

1 Introduction 1

2 The digitized image and its properties 13 2.1 Basic concepts 13

2.1.1 Image functions 13 2.1.2 The Dirac distribution and convolution 16 2.1.3 The Fourier transform 17 2.1.4 Images as a stochastic process 19 2.1.5 Images as linear systems 22

2.2 Image digitization 22 2.2.1 Sampling 23 2.2.2 Quantization 28 2.2.3 Colour images 28

2.3 Digital image properties 30 2.3.1 Metric and topological properties of digital images 30 2.3.2 Histograms 35 2.3.3 Visual perception of the image 36 2.3.4 Image quality 39 2.3.5 Noise in images 39

3 Data structures for image analysis 42 3.1 Levels of image data representation 42 3.2 Traditional image data structures 43

3.2.1 Matrices 44 3.2.2 Chains 46 3.2.3 Topological data structures 47 3.2.4 Relational structures 49

3.3 Hierarchical data structures 50

v

Page 6: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

VI Contents

3.3.1 Pyramids 50 3.3.2 Quadtrees 52

4 Image pre-processing 56 4.1 Pixel brightness transformations 57

4.1.1 Position-dependent brightness correction 57 4.1.2 Grey scale transformation 58

4.2 Geometric transformations 61 4.2.1 Pixel co-ordinate transformations 62 4.2.2 Brightness interpolation 64

4.3 Local pre-processing 67 4.3.1 Image smoothing 68 4.3.2 Edge detectors 76 4.3.3 Zero crossings of the second derivative 82 4.3.4 Scale in image processing 86 4.3.5 Canny edge detection 88 4.3.6 Edges in multispectral images 91 4.3.7 Other local pre-processing operators 92 4.3.8 Adaptive neighbourhood pre-processing 96

4.4 Image restoration 102 4.4.1 Image restoration as inverse convolution of the whole

image 102 4.4.2 Degradations that are easy to restore 104 4.4.3 Inverse filtration 105 4.4.4 Wiener filtration 106

5 Segmentation 112 5.1 Thresholding 113

5.1.1 Threshold detection methods 116 5.1.2 M ul tispectral thresholding 120 5.1.3 Thresholding in hierarchical data structures 121

5.2 Edge-based segmentation 122 5.2.1 Edge image thresholding 123 5.2.2 Edge relaxation 124 5.2.3 Border tracing 129 5.2.4 Edge following as graph searching 135 5.2.5 Edge following as dynamic programming 146 5.2.6 Hough transforms 149 5.2.7 Border detection using border location information 159 5.2.8 Region construction from borders 161

5.3 Region growing segmentation 164 5.3.1 Region merging 165 5.3.2 Region splitting 169 5.3.3 Splitting and merging 170

Page 7: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

Contents Vll

5.4 Matching 176 5.4.1 Matching criteria 176 5.4.2 Control strategies of matching 178

6 Shape representation and description 192 6.1 Region identification 197 6.2 Contour-based shape representation and description 200

6.2.1 Chain codes 200 6.2.2 Simple geometric border representation 201 6.2.3 Fourier transforms of boundaries 205 6.2.4 Boundary description using a segment sequence;

polygonal representation 208 6.2.5 B-spline representation 212 6.2.6 Other contour-based shape description approaches 215 6.2.7 Shape invariants 215

6.3 Region-based shape representation and description 220 6.3.1 Simple scalar region descriptors 222 6.3.2 Moments 228 6.3.3 Convex hull 230 6.3.4 Graph representation based on region skeleton 235 6.3.5 Region decomposition 240 6.3.6 Region neighbourhood graphs 241

7 Object recognition 255 7.1 Knowledge representation 256 7.2 Statistical pattern recognition 262

7.2.1 Classification principles 264 7.2.2 Classifier setting 266 7.2.3 Classifier learning 270 7.2.4 Cluster analysis 273

7.3 Neural nets 275 7.3.1 Feed-forward nets 276 7.3.2 Kohonen feature maps 279 7.3.3 Hybrid neural nets 280 7.3.4 Hopfield neural nets 280

7.4 Syntactic pattern recognition 283 7.4.1 Grammars and languages 285 7.4.2 Syntactic analysis, syntactic classifier 288 7.4.3 Syntactic classifier learning, grammar inference 290

7.5 Recognition as graph matching 292 7.5.1 Isomorphism of graphs and subgraphs 293 7.5.2 Similarity of graphs 298

7.6 Optimization techniques in recognition 299 7.6.1 Genetic algorithms, 301

Page 8: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

Vlll Contents

7.6.2 Simulated annealing 304

8 Image understanding 316 8.1 Image understanding control strategies 318

8.1.1 Parallel and serial processing control 318 8.1.2 Hierarchical control 319 8.1.3 Bottom-up control strategies 319 8.1.4 Model-based control strategies 320 8.1.5 Combined control strategies 322 8.1.6 Non-hierarchical control 326

8.2 Active contour models - snakes 329 8.3 Pattern recognition methods in image understanding 335

8.3.1 Contextual image classification 336 8.4 Scene labelling and constraint propagation 343

8.4.1 Discrete relaxation 344 8.4.2 Probabilistic relaxation 347 8.4.3 Searching interpretation trees 350

8.5 Semantic image segmentation and understanding 351 8.5.1 Semantic region growing 353 8.5.2 Semantic genetic segmentation and interpretation 355

9 3D Vision 373 9.1 Strategy 375

9.1.1 Marr's theory 375 9.1.2 Modelling strategies 378

9.2 Line labelling 382 9.3 Shape from X 385

9.3.1 Shape from stereo 385 9.3.2 Shape from shading 392 9.3.3 Shape from motion 396 9.3.4 Shape from texture 403

9.4 Approaches to the recognition of 3D objects 405 9.4.1 Goad's algorithm 406 9.4.2 Features for model-based recognition of curved objects 412

9.5 Depth map technologies 413 9.6 Summary 415

10 Mathematical morphology 422 10.1 Basic principles and morphological transformations 423

10.1.1 Morphological transformations 423 10.1.2 Dilation 426 10.1.3 Erosion 10.1.4 Opening and closing

10.2 Skeleton and other topological processing

428 431 432

Page 9: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

Contents

10.2.1 Homotopic transformations 10.2.2 Skeleton 10.2.3 Thinning and thickening 10.2.4 Conditional dilation and ultimate erosion

11 Linear discrete image transforms 11.1 Basic theory 11.2 The Fourier transform 11.3 Hadamard transforms 11.4 Discrete cosine transform 11.5 Other discrete image transforms 11.6 Applications of discrete image transforms

IX

432 433 434 439

443 444 445 447 448 449 450

12 Image data compression 458 12.1 Image data properties 460 12.2 Discrete image transforms in image data compression 461 12.3 Predictive compression methods 463 12.4 Vector quantization 465 12.5 Pyramid compression methods 466 12.6 Comparison of compression methods 468 12.7 Other techniques 470

13 Texture 477 13.1 Statistical texture description 480

13.1.1 Methods based on spatial frequencies 480 13.1.2 Co-occurrence matrices 482 13.1.3 Edge frequency 485 13.1.4 Primitive length (run length) 487 13.1.5 Other statistical methods of texture description 488

13.2 Syntactic texture description methods 490 13.2.1 Shape chain grammars 491 13.2.2 Graph grammars 493 13.2.3 Primitive grouping in hierarchical textures 494

13.3 Hybrid texture description methods 497 13.4 Texture recognition method applications 498

14 Motion analysis 507 14.1 Differential motion analysis methods 510 14.2 Optical flow 512

14.2.1 Optical flow computation 513 14.2.2 Global and local optical flow estimation 516 14.2.3 Optical flow in motion analysis 521

14.3 Motion analysis based on detection of interest points 524 14.3.1 Detection of interest points 525

Page 10: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

x

Index

Contents

14.3.2 Correspondence of interest points 525

543

Page 11: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

List of Algorithms

2.1 Computing the brightness histogram 35 3.1 Co-occurrence matrix Cr(z,y) for the relation r 45 4.1 Rotated mask smoothing 73 4.2 Canny edge detector 90 5.1 Thresholding 113 5.2 Iterative (optimal) threshold selection 118 5.3 Recursive multispectral thresholding 120 5.4 Hierarchical thresholding 122 5.5 Edge relaxation 126 5.6 Inner boundary tracing 129 5.7 Outer boundary tracing 131 5.8 Extended boundary tracing 133 5.9 Border tracing in grey level images 135 5.10 Heuristic graph search 137 5.11 Heuristic search for image borders 144 5.12 Boundary tracing as dynamic programming 148 5.13 Curve detection using the Hough transform. 153 5.14 Generalized Hough transform 157 5.15 Region forming from partial borders 162 5.16 Region merging (outline) 165 5.17 Region merging via boundary melting 167 5.18 Split and merge 171 5.19 Split and link to the segmentation tree 172 5.20 Single-pass split and merge 173 5.21 Removal of small image regions 175 5.22 Match-based segmentation 177 6.1 4-neighbourhood and 8-neighbourhood region identification 197 6.2 Region identification in run-length encoded data 199 6.3 Quadtree region identification 200 6.4 Calculating area in quad trees 223 6.5 Region area calculation from Freeman 4-connectivity chain code

representation 223 6.6 Region convex hull construction 231 6.7 Simple polygon convex hull detection 233

xi

Page 12: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

XlI List of Algorithms

6.8 Skeleton by thinning 236 6.9 Region graph construction from skeleton 239 7.1 Learning and classification based on estimates of probability

densities assuming the normal distribution 272 7.2 Minimum distance classifier learning and classification 272 7.3 MacQueen cluster analysis 274 7.4 Percept ron learning 275 7.5 Back-propagation learning 277 7.6 Unsupervised learning of the Kohonen feature map 279 7.7 Recognition using a Hopfield net 282 7.8 Syntactic recognition 284 7.9 Graph isomorphism 296 7.10 Maximal clique location 297 7.11 Genetic algorithm 304 7.12 Simulated annealing optimization 306 8.1 Bottom-up control 320 8.2 Coronary border detection - a combined control strategy 326 8.3 Non-hierarchical control 327 8.4 Snake growing 333 8.5 Contextual image classification 340 8.6 Recursive contextual image classification 341 8.7 Discrete relaxation 345 8.8 Probabilistic relaxation 350 8.9 Updating the region adjacency graph and its dual to merge two

regions 352 8.10 Semantic region merging 353 8.11 Semantic genetic image segmentation and interpretation 358 9.1 Line labelling 384 9.2 PMF stereo correspondence 390 9.3 Extracting shape from shading 395 9.4 Goad's matching algorithm 409 13.1 Autocorrelation texture description 481 13.2 Co-occurrence method of texture description 484 13.3 Edge-frequency texture description 485 13.4 Primitive length texture description 488 13.5 Shape chain grammar texture generation 491 13.6 Texture primitive grouping 496 14.1 Relaxation computation of optical flow from a pair of dynamic

images 514 14.2 Optical flow computation from an image sequence 515 14.3 Velocity field computation from two consecutive images 527

Page 13: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

List of symbols and abbreviations

o AC A C B, B:J A AnB AUB AlB Ix I x div mod round(x) x A If I £1 ax gradf, Vf V 2 f f·g ~x

Sex) I*g £ [,

o DE D4 Ds F#

# T*

empty set complement of the set A set A is included in set B intersection between sets A and B union of sets A and B difference between sets A and B absolute value of a scalar estimate of the value x integer division remainder after integer division largest integer which is not bigger than x + 0.5 (lower case bold) vectors (upper case bold) matrices magnitude (or modulus) of the vector f partial derivative of the function 1 with respect to x gradient of f Laplace operator applied to f scalar product between vectors f and g small finite interval of x, difference Dirac function convolution between functions 1 and 9 mean value operator linear operator origin of the coordinate system Euclidean distance (see section 2.3.1) city block distance (see section 2.3.1) chessboard distance (see section 2.3.1) complex conjugate of the complex function F number of (e.g. pixels) transformation dual to transformation T

Xlll

Page 14: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

XIV

B EEl 8 o

• ® o 8 arg(x,y)

1D 2D 3D AI B-rep CAD CCD CSG CT ECG EEG FFT FOE GA IRS JPEG MR MRI OCR OS PET PMF RGB TV

List of symbols

point set symmetrical to point set B morphological dilation morphological erosion morphological opening morphological closing morphological hit or miss transformation morphological thinning morphological thickening angle (in radians) from x axis to the point (x, y)

one dimension(al) two dimension(al) three dimension( al) artificial intelligence boundary representation computer aided design charge coupled device constructive solid geometry computer tomography electro-cardiogram electro-encephalogram fast Fourier transform focus of expansion genetic algorithm intensity, hue, saturation Joint Photographic Experts Group magnetic resonance magnetic resonance imaging optical character recognition order statistics positron emission tomography Pollard-Mayhew-Frisby (correspondence algorithm) red, green, blue television

Page 15: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

Preface

Image Processing, Analysis and Machine Vision represent an exciting part of modern cognitive and computer science. Following an explosion of inter­est during the Seventies, the Eighties were characterized by the maturing of the field and the significant growth of active applications; Remote Sensing, Technical Diagnostics, Autonomous Vehicle Guidance and Medical Imaging are the most rapidly developing areas. This progress can be seen in an in­creasing number of software and hardware products on the market as well as in a number of digital image processing and machine vision courses offered at universities world-wide.

There are many texts available in the areas we cover - most (indeed, all of which we know) are referenced somewhere in this book. The subject suffers, however, from a shortage of texts at the 'elementary' level - that appropriate for undergraduates beginning or completing their studies of the topic, or for Master's students - and the very rapid developments that have taken and are still taking place, which quickly age some of the very good text books produced over the last decade or so. This book reflects the authors' experience in teaching one and two semester undergraduate and graduate courses in Digital Image Processing, Digital Image Analysis, Machine Vision, Pattern Recognition and Intelligent Robotics at their respective institutions. We hope that this combined experience will give a thorough grounding to the beginner and provide material that is advanced enough to allow the more mature student fully to understand the relevant areas of the subject. At the same time, we hope that the book is up to date in as many respects as possible, although we acknowledge that in a very short time the more active areas will have moved on.

This book could have been arranged in many ways. It begins with low­level processing and works its way up to higher levels of image interpretation; the authors have chosen this framework because they believe that image un­derstanding originates from a common data base of information. The book is formally divided into fourteen chapters, beginning with low-level processing and working toward higher level image representation, although this structure will be less apparent after Chapter 9 when we present transforms, compres­sion, morphology, texture, etc. which are very useful but often special purpose approaches that may not always be included in the processing chain. Decimal

xv

Page 16: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

xvi Preface

section numbering is used, and equations and figures are numbered within each chapter; further, each chapter is accompanied by an extensive list of ref­erences. A selection of algorithms is summarized formally in a manner that should aid implementation - we have not presented all the algorithms dis­cussed in this way (an approach that would have perhaps doubled the length of the book) but have chosen what we regard as the key, or most useful or illustrative, examples for this treatment.

Each chapter presents material from an introductory level through to an overview of current work; as such, it is unlikely that the beginner will, at the first reading, expect to absorb all of a given topic. Often it has been necessary to make reference to material in later Chapters and Sections, but when this is done an understanding of material in hand will not depend on an understanding of that which comes later. It is expected that the more advanced student will use the book as a reference text and signpost to current activity in the field - we believe at the time of going to press that the reference list is full in its indication of current directions, but record here our apologies to any work we have overlooked. The serious reader will note that many references are very recent, and should be aware that before long more relevant work will have been published that is not listed here.

This is a long book and therefore contains material sufficient for much more than one course. Clearly, there are many ways of using it, but for guidance we suggest an ordering that would generate four distinct modules as follows;

Digital Image Processing. An undergraduate course, using Chapters and Sections 1, 2.1.1, 2.3.1, 2.3.2, 2.3.5, 3.1, 3.2.1, 3.2.2, 4.1, 4.2, 4.3.1, 4.3.2, 4.4.1, 4.4.2, 5.1.1, 5.1.2, 5.2.1, 5.2.3, 5.2.6 - 5.2.8, 5.3.1, 11 and 12. Suitable assignments might be chosen from among: Display images at different resolutions, or with different numbers of grey levels; com­pute and display an image histogram; conduct experiments with image acquisition (appropriate lighting, resolution, image acquisition for dif­ferent processing goals, etc.); generate noisy images (additive and mul­tiplicative noise); correct systematic errors of image acquisition caused by lighting and/or camera using pixel brightness corrections; compute and display images after grey scale transforms; compute and display histogram-equalized images; compute and display images after geomet­ric transforms (size, rotation); reduce noise in noisy images using dif­ferent image smoothing methods; compute edge images using different edge detectors; compute segmented images using interactive threshold­ing; compute segmented images as thresholded edge images; compute image Fourier frequency spectra; conduct low-pass and high-pass filter­ing in the frequency domain; filter images with periodic noise in the frequency domain; compare performance of several image compression methods; and reconstruct images after a known degradation.

Page 17: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

Preface XVll

Image Analysis. An undergraduate/graduate course, for which Digital Im­age Processing may be regarded as prerequisite, using Chapters and Sec­tions 1, 2 (for review), 3, 4.3.3, 4.3.4, 4.3.8, 5.1, 5.2, 5.3, 6.1 6.2.1 - 6.2.6, 6.3, 7.1, 7.2, 10, 13.1 and 13.4. Suitable assignments might be chosen from among: Implement a zero crossing edge detector; apply a zero crossing edge detector at different scales, compare and discuss results; implement threshold segmentation with automatic threshold detection; implement threshold segmentation with variable local thresholds; imple­ment threshold segmentation for multispectral images; implement basic mathematical morphology transformations; use mathematical morphol­ogy for noise removal from binary images; using mathematical morphol­ogy, compute skeletons of objects; for objects segmented from an image, compute their shape characteristics; implement a simple minimum dis­tance statistical classifier; implement a simple cluster analysis method; implement an object recognition system that automatically recognizes simple objects in images (image acquisition, pre-processing, segmenta­tion, object description, classifier training, classification); implement dif­ferent texture description methods; and implement a texture recognition system and compare performance of different texture descriptors.

Computer Vision I. An undergraduate/graduate course, for which Digital Image Processing may be regarded as prerequisite, using Chapters and Sections 1, 2 (for review), 3, 4.3.3 - 4.3.6, 5.1 (for review), 5.2.2, 5.2.4 - 5.2.6, 5.3, 5.4, 6, 7.1 - 7.4, and 8.1. Suitable assignments might be chosen from among: Implement zero crossing edge detection; discuss the role of scale-space edge detection on particular examples; imple­ment a simplified version of the Canny edge detector; implement graph search border detection algorithms (heuristic graph search, dynamic pro­gramming); implement a Hough transform for detection of lines, circles, ellipses, and general shapes in noisy images; implement an edge relax­ation method and discuss the role of seeking a global image maximum - compare results after varying numbers of iterations; implement region growing segmentation methods using different region homogeneity cri­teria; implement region merging via boundary melting and discuss its strengths; implement image matching segmentation and apply appropri­ate matching strategies; for objects segmented from an image, compute their statistical shape description; for objects segmented from an image, compute their syntactic shape description; use a statistical classifier for object recognition; use neural networks for object recognition; and use a syntactic classifier for object recognition.

Computer Vision II. A graduate course, for which Computer Vision I may be regarded as prerequisite, using Chapters and Sections 7.5, 7.6, 8, 9, 13 and 14. Suitable assignments might be chosen from among: Implement

Page 18: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

xviii Preface

a method for detection of graph isomorphism; implement a method for evaluation of graph similarity; implement a genetic algorithm optimiza­tion; implement a method for contextual image classification; implement a method for scene labelling and constraint propagation; implement a method for semantic region growing; implement a stereo correspondence algorithm; implement a method for syntactic texture description; imple­ment a method for computation of optical flow; and based on an image motion sequence, determine the focus of expansion for a simple motion, determine possible collisions, and time to collision for two objects in simple motion.

What are, or are not, important parts of a course, and necessary prerequisites, will naturally be specified locally. Assignments should wherever possible make use of existing libraries and packages; it is our experience that courses of this nature should not be seen as 'programming courses', but it is the case that the more direct practical experience the students have of the material discussed, the better is their understanding.

The book has been prepared using the 1l\.TEX text processing system. Its completion would have been impossible without extensive usage of the Internet computer network and electronic mail. We should like to acknowledge the Czech Technical University, the University of Iowa and the School of Computer Studies at Leeds University for providing the environment in which this book was prepared. In particular, the assistance of Leeds University in providing hard copy facilities was invaluable.

Milan Sonka was a faculty member of the Department of Control Engineer­ing, Faculty of Electrical Engineering, Czech Technical University, Prague, Czech Republic for ten years, and now has a four-year visiting position at the Department of Electrical and Computer Engineering, University of Iowa, Iowa City, Iowa, USA. His research interests include medical image analy­sis, knowledge-based image analysis, and machine vision. Vaclav Hlavac is a faculty member at the Department of Control Engineering, Czech Technical University, Prague. His research interests are knowledge-based image analysis and 3D model-based vision. Roger Boyle lectures in the School of Computer Studies at the University of Leeds, England, where his research interests are in low-level vision and pattern recognition. The first two authors have worked together for some years, and we are grateful to the publisher for introducing the third to them.

The authors have spent many hours in discussions with their teachers, colleagues, and students from which many improvements to early drafts of this text resulted. Particular thanks are due to Vaclav Chalupa, Zdenek Kotek, Radek Mafik, Michal Meloun, Jiff Matas, Mirko Navara, Miroslav Svoboda, and Jaroslav Woska at the Czech Technical University; Steve Collins, David Fisher, David Forsyth, and Joe Kearney at the University of Iowa; Jussi Parkkinen at the University of Kuopio, Finland; David Hogg and Richard

Page 19: Image Processing, Analysis and Machine Vision - Springer978-1-4899-3216-7/1.pdf · VI Contents 3.3.1 Pyramids 50 3.3.2 Quadtrees 52 4 Image pre-processing 56 4.1 Pixel brightness

Preface XIX

Thomas at the University of Leeds, and many others whose omission from this list does not diminish the value of their contribution. Future domestic life would be jeopardised if we did not also mention the continuous support and encouragement we received from our wives and families, for which we are very grateful (and to whom we promise that our next book will not be written outside standard office hours or during holidays).

Chapter 1 was written by Roger Boyle and Vaclav Hlavac. Chapters 2, 3, 4 (except Section 4.3.8), and 10 were written by Vaclav Hlavac. Chapters 5, 6, 7, 8, 11, 12, 13, 14, and Section 4.3.8 were written by Milan Sonka. Chapter 9 was written by Roger Boyle, who collated the text. However, any errors of fact are the joint responsibility of all the authors, while any errors of typography are the responsibility of Roger Boyle. Jointly, they will be glad to incorporate any corrections into future editions.

Milan Sonka ([email protected]. uiowa.edu) University of Iowa, Iowa City, Iowa, USA

Vaclav Hlavac ([email protected]) Czech Technical University, Prague, Czech Republic

Roger Boyle ([email protected]. uk) University of Leeds, Leeds, England