Preface ........................................................ xi
1. Introduction ................................................. 1
1.1. Overview ................................................ 1
1.2. Human and computer vision ............................... 1
1.3. The human vision system ................................. 3
1.3.1. The eye .......................................... 4
1.3.2. The neural systemv ............................... 6
1.3.3. Processing ....................................... 7
1.4. Computer vision systems ................................. 9
1.4.1. Cameras ......................................... 10
1.4.2. Computer interfaces ............................. 12
1.4.3. Processing an image ............................. 14
1.5. Mathematical systems ................................... 15
1.5.1. Mathematical tools .............................. 16
1.5.2. Hello Mathcad, hello images ..................... 16
1.5.3. Hello Matlab .................................... 21
1.6. Associated literature .................................. 24
1.6.1. Journals and magazines .......................... 24
1.6.2. Textbooks ....................................... 25
1.6.3. The web ......................................... 28
1.7. Conclusions ............................................ 29
1.8. References ............................................. 29
2. Images, sampling and frequency domain processing ............ 33
2.1. Overview ............................................... 33
2.2. Image formation ........................................ 34
2.3. The Fourier transform .................................. 37
2.4. The sampling criterion ................................. 43
2.5. The discrete Fourier transform ......................... 47
2.5.1. One-dimensional transform ....................... 47
2.5.2. Two-dimensional transform ....................... 49
2.6. Other properties of the Fourier transform .............. 54
2.6.1. Shift invariance ................................ 54
2.6.2. Rotation ........................................ 56
2.6.3. Frequency scaling ............................... 56
2.6.4. Superposition (linearity) ....................... 57
2.6.1. 2.7. Transforms other than Fourier .............. 58
2.7.1. Discrete cosine transform ....................... 58
2.7.2. Discrete Hartley transform ...................... 59
2.7.3. Introductory wavelets: the Gabor wavelet ........ 61
2.7.4. Other transforms ................................ 63
2.8. Applications using frequency domain properties ......... 64
2.9. Further reading ........................................ 65
2.10.References ............................................. 66
3. Basic image processing operations ........................... 69
3.1. Overview ............................................... 69
3.2. Histograms ............................................. 70
3.3. Point operators ........................................ 71
3.3.1. Basic point operations .......................... 71
3.3.2. Histogram normalization ......................... 74
3.3.3. Histogram equalization .......................... 75
3.3.4. Thresholding .................................... 77
3.4. Group operations ....................................... 81
3.4.1. Template convolution ............................ 81
3.4.2. Averaging operator .............................. 84
3.4.3. On different template size ...................... 87
3.4.4. Gaussian averaging operator ..................... 88
3.5. Other statistical operators ............................ 90
3.5.1. More on averaging ............................... 90
3.5.2. Median filter ................................... 91
3.5.3. Mode filter ..................................... 94
3.5.4. Anisotropic diffusion ........................... 96
3.5.5. Force field transform .......................... 101
3.5.6. Comparison of statistical operators ............ 102
3.6. Mathematical morphology ............................... 103
3.6.1. Morphological operators ........................ 104
3.6.2. Grey-level morphology .......................... 107
3.6.3. Grey-level erosion and dilation ................ 108
3.6.4. Minkowski operators ............................ 109
3.7. Further reading ....................................... 112
3.8. References ............................................ 113
4. Low-level feature extraction (including edge detection) .... 115
4.1. Overview .............................................. 115
4.2. First order edge detection operators .................. 117
4.2.1. Basic operators ................................ 117
4.2.2. Analysis of the basic operators ................ 119
4.2.3. Prewitt edge detection operator ................ 121
4.2.4. Sobel edge detection operator .................. 123
4.2.5. Canny edge detection operator .................. 129
4.3. Second order edge detection operators ................. 137
4.3.1. Motivation ..................................... 137
4.3.2. Basic operators: the Laplacian ................. 137
4.3.3. Marr-Hildreth operator ......................... 139
4.4. Other edge detection operators ........................ 144
4.5. Comparison of edge detection operators ................ 145
4.6. Further reading on edge detection ..................... 146
4.7. Phase congruency ...................................... 147
4.8. Localized feature extraction .......................... 152
4.8.1. Detecting image curvature (corner
extraction) .................................... 153
4.8.1.1. Definition of curvature ............... 153
4.8.1.2. Computing differences in edge
direction ............................. 154
4.8.1.3. Measuring curvature by changes in
intensity (differentiation) ........... 156
4.8.1.4. Moravec and Harris detectors .......... 159
4.8.1.5. Further reading on curvature .......... 163
4.8.2. Modern approaches: region/patch analysis ....... 163
4.8.2.1. Scale invariant feature transform ..... 163
4.8.2.2. Saliency .............................. 166
4.8.2.3. Other techniques and performance
issues ................................ 167
4.9. Describing image motion ............................... 167
4.9.1. Area-based approach ............................ 168
4.9.2. Differential approach .......................... 171
4.9.3. Further reading on optical flow ................ 177
4.10.Conclusions ........................................... 178
4.11.References ............................................ 178
5. Feature extraction by shape matching ....................... 183
5.1. Overview .............................................. 183
5.2. Thresholding and subtraction .......................... 184
5.3. Template matching ..................................... 186
5.3.1. Definition ..................................... 186
5.3.2. Fourier transform implementation ............... 193
5.3.3. Discussion of template matching ................ 196
5.4. Hough transform ....................................... 196
5.4.1. Overview ....................................... 196
5.4.2. Lines .......................................... 197
5.4.3. Hough transform for circles .................... 203
5.4.4. Hough transform for ellipses ................... 207
5.4.5. Parameter space decomposition .................. 210
5.4.5.1. Parameter space reduction for lines ... 210
5.4.5.2. Parameter space reduction for
circles ............................... 212
5.4.5.3. Parameter space reduction for
ellipses .............................. 217
5.5. Generalized Hough transform ........................... 221
5.5.1. Formal definition of the GHT ................... 221
5.5.2. Polar definition ............................... 223
5.5.3. The GHT technique .............................. 224
5.5.4. Invariant GHT .................................. 228
5.6. Other extensions to the Hough transform ............... 235
5.7. Further reading ....................................... 236
5.8. References ............................................ 237
6. Flexible shape extraction (snakes and other techniques) .... 241
6.1. Overview .............................................. 241
6.2. Deformable templates .................................. 242
6.3. Active contours (snakes) .............................. 244
6.3.1. Basics ......................................... 244
6.3.2. The greedy algorithm for snakes ................ 246
6.3.3. Complete (Kass) snake implementation ........... 252
6.3.4. Other snake approaches ......................... 257
6.3.5. Further snake developments ..................... 257
6.3.6. Geometric active contours ...................... 261
6.4. Shape skeletonization ................................. 266
6.4.1. Distance transforms ............................ 266
6.4.2. Symmetry ....................................... 268
6.5. Flexible shape models: active shape and active
appearance ............................................ 272
6.6. Further reading ....................................... 275
6.7. References ............................................ 276
7. Object description ......................................... 281
7.1. Overview .............................................. 281
7.2. Boundary descriptions ................................. 282
7.2.1. Boundary and region ............................ 282
7.2.2. Chain codes .................................... 283
7.2.3. Fourier descriptors ............................ 285
7.2.3.1. Basis of Fourier descriptors .......... 286
7.2.3.2. Fourier expansion ..................... 287
7.2.3.3. Shift invariance ...................... 289
7.2.3.4. Discrete computation .................. 290
7.2.3.5. Cumulative angular function ........... 292
7.2.3.6. Elliptic Fourier descriptors .......... 301
7.2.3.7. Invariance ............................ 305
7.3. Region descriptors .................................... 311
7.3.1. Basic region descriptors ....................... 311
7.3.2. Moments ........................................ 315
7.3.2.1. Basic properties ...................... 315
7.3.2.2. Invariant moments ..................... 318
7.3.2.3. Zernike moments ....................... 320
7.3.2.4. Other moments ......................... 324
7.4. Further reading ....................................... 325
7.5. References ............................................ 326
8. ntroduction to texture description, segmentation and
classification ............................................. 329
8.1. Overview .............................................. 329
8.2. What is texture? ...................................... 330
8.3. Texture description ................................... 332
8.3.1. Performance requirements ....................... 332
8.3.2. Structural approaches .......................... 332
8.3.3. Statistical approaches ......................... 335
8.3.4. Combination approaches ......................... 337
8.4. Classification ........................................ 339
8.4.1. The ^-nearest neighbour rule ................... 339
8.4.2. Other classification approaches ................ 343
8.5. Segmentation .......................................... 343
8.6. Further reading ....................................... 345
8.7. References ............................................ 346
9. Appendix 1: Example worksheets ............................. 349
9.1. Example Mathcad worksheet for Chapter 3 ............... 349
9.2. Example Matlab worksheet for Chapter 4 ................ 352
10.Appendix 2: Camera geometry fundamentals ................... 355
10.1.Image geometry ........................................ 355
10.2.Perspective camera .................................... 355
10.3.Perspective camera model .............................. 357
10.3.1.Homogeneous coordinates and projective
geometry ....................................... 357
10.3.1.1.Representation of a line and
duality ............................... 358
10.3.1.2.Ideal points .......................... 358
10.3.1.3.Transformations in the projective
space ................................. 359
10.3.2.Perspective camera model analysis .............. 360
10.3.3.Parameters of the perspective camera model ..... 363
10.4.Affine camera ......................................... 364
10.4.1.Affine camera model ............................ 365
10.4.2.Affine camera model and the perspective
projection ..................................... 366
10.4.3.Parameters of the affine camera model .......... 368
10.5.Weak perspective model ................................ 369
10.6.Example of camera models .............................. 371
10.7.Discussion ............................................ 379
10.8.References ............................................ 380
11.Appendix 3: Least squares analysis ......................... 381
11.1.The least squares criterion ........................... 381
11.2.Curve fitting by least squares ........................ 382
12.Appendix 4: Principal components analysis .................. 385
12.1.Introduction .......................................... 385
12.2.Data .................................................. 385
12.3.Covariance ............................................ 386
12.4.Covariance matrix ..................................... 388
12.5.Data transformation ................................... 389
12.6.Inverse transformation ................................ 390
12.7.Eigenproblem .......................................... 391
12.8.Solving the eigenproblem .............................. 392
12.9.PCA method summary .................................... 392
12.10.Example .............................................. 393
12.11.References ........................................... 398
Index ......................................................... 399
|