Preface |
|
xix | |
|
|
1 | (1) |
|
|
1 | (1) |
|
1.2 Human and computer vision |
|
|
1 | (2) |
|
1.3 The human vision system |
|
|
3 | (4) |
|
|
4 | (3) |
|
|
7 | (1) |
|
|
8 | (2) |
|
1.4 Computer vision systems |
|
|
10 | (5) |
|
|
11 | (3) |
|
1.4.2 Computer interfaces |
|
|
14 | (1) |
|
|
15 | (12) |
|
|
15 | (2) |
|
1.5.2 Hello Python, hello images! |
|
|
17 | (4) |
|
|
21 | (2) |
|
|
23 | (4) |
|
1.6 Associated literature |
|
|
27 | (4) |
|
1.6.1 Journals, magazines and conferences |
|
|
27 | (1) |
|
|
28 | (3) |
|
|
31 | (1) |
|
|
31 | (4) |
|
|
31 | (4) |
|
2 Images, sampling and frequency domain processing |
|
|
35 | (1) |
|
|
35 | (1) |
|
|
35 | (4) |
|
2.3 The Fourier Transform |
|
|
39 | (5) |
|
2.4 The sampling criterion |
|
|
44 | (6) |
|
2.5 The discrete Fourier Transform |
|
|
50 | (11) |
|
2.5.1 One-dimensional transform |
|
|
50 | (3) |
|
2.5.2 Two-dimensional transform |
|
|
53 | (8) |
|
2.6 Properties of the Fourier Transform |
|
|
61 | (5) |
|
|
61 | (1) |
|
|
62 | (2) |
|
|
64 | (1) |
|
2.6.4 Superposition (linearity) |
|
|
64 | (2) |
|
2.6.5 The importance of phase |
|
|
66 | (1) |
|
2.7 Transforms other than Fourier |
|
|
66 | (10) |
|
2.7.1 Discrete cosine transform |
|
|
66 | (2) |
|
2.7.2 Discrete Hartley Transform |
|
|
68 | (2) |
|
2.7.3 Introductory wavelets |
|
|
70 | (1) |
|
|
70 | (2) |
|
|
72 | (4) |
|
|
76 | (1) |
|
2.8 Applications using frequency domain properties |
|
|
76 | (3) |
|
|
79 | (4) |
|
|
79 | (4) |
|
|
83 | (1) |
|
|
83 | (1) |
|
|
84 | (1) |
|
|
84 | (12) |
|
3.3.1 Basic Point operations |
|
|
84 | (3) |
|
3.3.2 Histogram normalisation |
|
|
87 | (1) |
|
3.3.3 Histogram equalisation |
|
|
88 | (2) |
|
|
90 | (6) |
|
|
96 | (10) |
|
3.4.1 Template convolution |
|
|
96 | (3) |
|
|
99 | (1) |
|
3.4.3 On different template size |
|
|
99 | (1) |
|
3.4.4 Template convolution via the Fourier transform |
|
|
100 | (3) |
|
3.4.5 Gaussian averaging operator |
|
|
103 | (3) |
|
|
106 | (1) |
|
3.5 Other image processing operators |
|
|
106 | (20) |
|
|
106 | (2) |
|
|
108 | (3) |
|
|
111 | (3) |
|
3.5.4 Bilateral filtering |
|
|
114 | (1) |
|
3.5.5 Anisotropic diffusion |
|
|
115 | (7) |
|
3.5.6 Comparison of smoothing operators |
|
|
122 | (1) |
|
3.5.7 Force field transform |
|
|
123 | (2) |
|
3.5.8 Image ray transform |
|
|
125 | (1) |
|
3.6 Mathematical morphology |
|
|
126 | (10) |
|
3.6.1 Morphological operators |
|
|
128 | (2) |
|
3.6.2 Grey level morphology |
|
|
130 | (2) |
|
3.6.3 Grey level erosion and dilation |
|
|
132 | (1) |
|
3.6.4 Minkowski operators |
|
|
133 | (3) |
|
|
136 | (5) |
|
|
136 | (5) |
|
4 Low-level feature extraction (including edge detection) |
|
|
141 | (1) |
|
|
141 | (2) |
|
|
143 | (1) |
|
4.2.1 First-order edge detection operators |
|
|
143 | (1) |
|
|
143 | (1) |
|
4.2.1.2 Analysis of the basic operators |
|
|
144 | (2) |
|
4.2.1.3 Prewitt edge detection operator |
|
|
146 | (2) |
|
4.2.1.4 Sobel edge detection operator |
|
|
148 | (6) |
|
4.2.1.5 The Canny edge detector |
|
|
154 | (8) |
|
4.2.2 Second-order edge detection operators |
|
|
162 | (1) |
|
|
162 | (1) |
|
4.2.2.2 Basic operators: The Laplacian |
|
|
162 | (2) |
|
4.2.2.3 The Marr-Hildreth operator |
|
|
164 | (4) |
|
4.2.3 Other edge detection operators |
|
|
168 | (2) |
|
4.2.4 Comparison of edge detection operators |
|
|
170 | (1) |
|
4.2.5 Further reading on edge detection |
|
|
171 | (1) |
|
|
172 | (6) |
|
4.4 Localised feature extraction |
|
|
178 | (25) |
|
4.4.1 Detecting image curvature (corner extraction) |
|
|
178 | (1) |
|
4.4.1.1 Definition of curvature |
|
|
178 | (2) |
|
4.4.1.2 Computing differences in edge direction |
|
|
180 | (2) |
|
4.4.1.3 Measuring curvature by changes in intensity (differentiation) |
|
|
182 | (3) |
|
4.4.1.4 Moravec and Harris detectors |
|
|
185 | (4) |
|
4.4.1.5 Further reading on curvature |
|
|
189 | (1) |
|
4.4.2 Feature point detection; region/patch analysis |
|
|
190 | (1) |
|
4.4.2.1 Scale invariant feature transform |
|
|
190 | (3) |
|
4.4.2.2 Speeded up robust features |
|
|
193 | (1) |
|
4.4.2.3 FAST, ORB, FREAK, LOCKY and other keypoint detectors |
|
|
194 | (4) |
|
4.4.2.4 Other techniques and performance issues |
|
|
198 | (1) |
|
|
198 | (1) |
|
|
198 | (1) |
|
4.4.3.2 Context aware saliency |
|
|
199 | (3) |
|
4.4.3.3 Other saliency operators |
|
|
202 | (1) |
|
4.5 Describing image motion |
|
|
203 | (14) |
|
4.5.1 Area-based approach |
|
|
204 | (3) |
|
4.5.2 Differential approach |
|
|
207 | (7) |
|
4.5.3 Recent developments: deep flow, epic flow and extensions |
|
|
214 | (1) |
|
4.5.4 Analysis of optical flow |
|
|
215 | (2) |
|
|
217 | (6) |
|
|
217 | (6) |
|
5 High-level feature extraction: fixed shape matching |
|
|
223 | (1) |
|
|
223 | (2) |
|
5.2 Thresholding and subtraction |
|
|
225 | (2) |
|
|
227 | (13) |
|
|
227 | (7) |
|
5.3.2 Fourier transform implementation |
|
|
234 | (5) |
|
5.3.3 Discussion of template matching |
|
|
239 | (1) |
|
5.4 Feature extraction by low-level features |
|
|
240 | (7) |
|
5.4.1 Appearance-based approaches |
|
|
240 | (1) |
|
5.4.1.1 Object detection by templates |
|
|
240 | (1) |
|
5.4.1.2 Object detection by combinations of parts |
|
|
241 | (1) |
|
5.4.2 Distribution-based descriptors |
|
|
242 | (1) |
|
5.4.2.1 Description by interest points (SIFT, SURF, BRIEF) |
|
|
242 | (4) |
|
5.4.2.2 Characterising object appearance and shape |
|
|
246 | (1) |
|
|
247 | (38) |
|
|
247 | (1) |
|
|
248 | (6) |
|
|
254 | (4) |
|
|
258 | (2) |
|
5.5.5 Parameter space decomposition |
|
|
260 | (1) |
|
5.5.5.1 Parameter space reduction for lines |
|
|
261 | (2) |
|
5.5.5.2 Parameter space reduction for circles |
|
|
263 | (5) |
|
5.5.5.3 Parameter space reduction for ellipses |
|
|
268 | (3) |
|
5.5.6 Generalised Hough transform |
|
|
271 | (2) |
|
5.5.6.1 Formal definition of the GHT |
|
|
273 | (2) |
|
|
275 | (1) |
|
5.5.6.3 The GHT technique |
|
|
275 | (4) |
|
|
279 | (5) |
|
5.5.7 Other extensions to the HT |
|
|
284 | (1) |
|
|
285 | (2) |
|
|
287 | (4) |
|
6 High-level feature extraction: deformable shape analysis |
|
|
291 | (1) |
|
|
291 | (1) |
|
6.2 Deformable shape analysis |
|
|
292 | (1) |
|
6.2.1 Deformable templates |
|
|
292 | (2) |
|
6.2.2 Parts-based shape analysis |
|
|
294 | (2) |
|
6.3 Active contours (snakes) |
|
|
296 | (23) |
|
|
296 | (2) |
|
6.3.2 The Greedy Algorithm for snakes |
|
|
298 | (5) |
|
6.3.3 Complete (Kass) Snake implementation |
|
|
303 | (5) |
|
6.3.4 Other Snake approaches |
|
|
308 | (1) |
|
6.3.5 Further Snake developments |
|
|
309 | (4) |
|
6.3.6 Geometric active contours (Level Set-Based Approaches) |
|
|
313 | (6) |
|
6.4 Shape Skeletonisation |
|
|
319 | (9) |
|
6.4.1 Distance transforms |
|
|
319 | (2) |
|
|
321 | (7) |
|
6.5 Flexible shape models -- active shape and active appearance |
|
|
328 | (4) |
|
|
332 | (7) |
|
|
339 | |
|
|
339 | (1) |
|
7.1 Overview and invariance requirements |
|
|
339 | (1) |
|
7.2 Boundary descriptions |
|
|
340 | (28) |
|
7.2.1 Boundary and region |
|
|
340 | (1) |
|
|
341 | (3) |
|
7.2.3 Fourier descriptors |
|
|
344 | (1) |
|
7.2.3.1 Basis of Fourier descriptors |
|
|
344 | (2) |
|
7.2.3.2 Fourier expansion |
|
|
346 | (2) |
|
|
348 | (1) |
|
7.2.3.4 Discrete computation |
|
|
349 | (2) |
|
7.2.3.5 Cumulative angular function |
|
|
351 | (9) |
|
7.2.3.6 Elliptic Fourier descriptors |
|
|
360 | (3) |
|
|
363 | (5) |
|
|
368 | (28) |
|
7.3.1 Basic region descriptors |
|
|
368 | (4) |
|
|
372 | (1) |
|
7.3.2.1 Definition and properties |
|
|
372 | (1) |
|
7.3.2.2 Geometric moments |
|
|
373 | (2) |
|
7.3.2.3 Geometric complex moments and centralised moments |
|
|
375 | (2) |
|
7.3.2.4 Rotation and scale invariant moments |
|
|
377 | (6) |
|
|
383 | (4) |
|
7.3.2.6 Tchebichef moments |
|
|
387 | (1) |
|
7.3.2.7 Krawtchouk moments |
|
|
387 | (7) |
|
|
394 | (2) |
|
|
396 | (3) |
|
|
396 | (3) |
|
|
399 | (1) |
|
|
399 | (1) |
|
8.2 Region-based analysis |
|
|
400 | (11) |
|
8.2.1 Watershed transform |
|
|
400 | (4) |
|
8.2.2 Maximally stable extremal regions |
|
|
404 | (3) |
|
|
407 | (1) |
|
8.2.3.1 Basic techniques and normalised cuts |
|
|
407 | (1) |
|
8.2.3.2 Simple linear iterative clustering |
|
|
407 | (4) |
|
8.3 Texture description and analysis |
|
|
411 | (18) |
|
|
411 | (2) |
|
8.3.2 Performance requirements |
|
|
413 | (3) |
|
8.3.3 Structural approaches |
|
|
416 | (1) |
|
8.3.4 Statistical approaches |
|
|
416 | (2) |
|
8.3.4.1 Co-occurrence matrix |
|
|
418 | (1) |
|
8.3.4.2 Learning-based approaches |
|
|
418 | (1) |
|
8.3.5 Combination approaches |
|
|
419 | (2) |
|
8.3.6 Local binary patterns |
|
|
421 | (6) |
|
|
427 | (1) |
|
8.3.8 Segmentation by texture |
|
|
427 | (2) |
|
|
429 | (4) |
|
|
429 | (4) |
|
9 Moving object detection and description |
|
|
433 | (1) |
|
|
433 | (1) |
|
9.2 Moving object detection |
|
|
434 | (1) |
|
|
434 | (1) |
|
9.2.1.1 Detection by subtracting the background |
|
|
434 | (4) |
|
9.2.1.2 Improving quality by morphology |
|
|
438 | (1) |
|
9.2.2 Modelling and adapting to the (static) background |
|
|
439 | (5) |
|
9.2.3 Background segmentation by thresholding |
|
|
444 | (2) |
|
9.2.4 Problems and advances |
|
|
446 | (1) |
|
9.3 Tracking moving features |
|
|
447 | (21) |
|
9.3.1 Tracking moving objects |
|
|
447 | (1) |
|
9.3.2 Tracking by local search |
|
|
448 | (3) |
|
9.3.3 Problems in tracking |
|
|
451 | (1) |
|
9.3.4 Approaches to tracking |
|
|
451 | (1) |
|
9.3.5 MeanShift and Camshift |
|
|
452 | (1) |
|
9.3.5.1 Kernel-based density estimation |
|
|
453 | (3) |
|
9.3.5.2 MeanShift tracking |
|
|
456 | (5) |
|
9.3.5.3 Camshift technique |
|
|
461 | (4) |
|
|
465 | (3) |
|
9.4 Moving feature extraction and description |
|
|
468 | (9) |
|
9.4.1 Moving (biological) shape analysis |
|
|
468 | (2) |
|
9.4.2 Space--time interest points |
|
|
470 | (1) |
|
9.4.3 Detecting moving shapes by shape matching in image sequences |
|
|
470 | (4) |
|
9.4.4 Moving shape description |
|
|
474 | (3) |
|
|
477 | (6) |
|
|
478 | (5) |
|
10 Camera geometry fundamentals |
|
|
483 | (1) |
|
|
483 | (1) |
|
|
483 | (1) |
|
10.2.1 Homogeneous co-ordinates and projective geometry |
|
|
484 | (1) |
|
10.2.2 Representation of a line, duality and ideal points |
|
|
485 | (2) |
|
10.2.3 Transformations in the projective space |
|
|
487 | (3) |
|
10.2.4 Computing a planar homography |
|
|
490 | (3) |
|
10.3 The perspective camera |
|
|
493 | (9) |
|
10.3.1 Perspective camera model |
|
|
494 | (4) |
|
10.3.2 Parameters of the perspective camera model |
|
|
498 | (1) |
|
10.3.3 Computing a projection from an image |
|
|
498 | (4) |
|
|
502 | (5) |
|
10.4.1 Affine camera model |
|
|
503 | (1) |
|
10.4.2 Affine camera model and the perspective projection |
|
|
504 | (2) |
|
10.4.3 Parameters of the affine camera model |
|
|
506 | (1) |
|
10.5 Weak perspective model |
|
|
507 | (1) |
|
|
508 | (1) |
|
|
509 | (2) |
|
|
510 | (1) |
|
|
511 | (1) |
|
|
511 | (1) |
|
|
512 | (1) |
|
|
512 | (1) |
|
11.2.2 Tristimulus theory |
|
|
513 | (2) |
|
11.2.3 The colourimetric equation |
|
|
515 | (1) |
|
11.2.4 Luminosity function |
|
|
516 | (1) |
|
11.3 Perception-based colour models: CIE RGB and CIE XYZ |
|
|
517 | (21) |
|
11.3.1 CIE RGB colour model: Wright--Guild data |
|
|
518 | (1) |
|
11.3.2 CIE RGB colour matching functions |
|
|
519 | (3) |
|
11.3.3 CIE RGB chromaticity diagram and chromaticity co-ordinates |
|
|
522 | (2) |
|
11.3.4 CIE XYZ colour model |
|
|
524 | (5) |
|
11.3.5 CIE XYZ colour matching functions |
|
|
529 | (3) |
|
11.3.6 XYZ chromaticity diagram |
|
|
532 | (1) |
|
11.3.7 Uniform colour spaces: CIE LUV and CIE LAB |
|
|
533 | (5) |
|
11.4 Additive and subtractive colour models |
|
|
538 | (7) |
|
|
538 | (2) |
|
11.4.2 Transformation between RGB models |
|
|
540 | (3) |
|
11.4.3 Transformation between RGB and CMY models |
|
|
543 | (2) |
|
11.5 Luminance and chrominance colour models |
|
|
545 | (8) |
|
11.5.1 YUV, YIQ and YCbCr models |
|
|
545 | (1) |
|
11.5.2 Luminance and gamma correction |
|
|
546 | (3) |
|
|
549 | (1) |
|
11.5.4 Transformations between YUV, YIQ and RGB colour models |
|
|
550 | (1) |
|
11.5.5 Colour model for component video: YPbPr |
|
|
550 | (1) |
|
11.5.6 Colour model for digital video: YCbCr |
|
|
551 | (2) |
|
11.6 Additive perceptual colour models |
|
|
553 | (15) |
|
11.6.1 The HSV and HLS colour models |
|
|
553 | (1) |
|
11.6.2 The hexagonal model: HSV |
|
|
554 | (6) |
|
11.6.3 The triangular model: HLS |
|
|
560 | (4) |
|
11.6.4 Transformation between HLS and RGB |
|
|
564 | (4) |
|
|
568 | (3) |
|
|
569 | (2) |
|
12 Distance, classification and learning |
|
|
571 | (1) |
|
|
571 | (1) |
|
12.2 Basis of classification and learning |
|
|
571 | (3) |
|
12.3 Distance and classification |
|
|
574 | (1) |
|
|
574 | (1) |
|
12.3.1.1 Manhattan and Euclidean Ln norms |
|
|
575 | (1) |
|
12.3.1.2 Mahalanobis, Bhattacharrya and Matusita |
|
|
576 | (5) |
|
12.3.1.3 Histogram intersection, Chi2 (Χ2) and the Earth Mover's distance |
|
|
581 | (3) |
|
12.3.2 The k-nearest neighbour for classification |
|
|
584 | (4) |
|
12.4 Neural networks and Support Vector Machines |
|
|
588 | (3) |
|
|
591 | (10) |
|
12.5.1 Basis of deep learning |
|
|
591 | (5) |
|
12.5.2 Major deep learning architectures |
|
|
596 | (2) |
|
12.5.3 Deep learning for feature extraction |
|
|
598 | (3) |
|
12.5.4 Deep learning performance evaluation |
|
|
601 | (1) |
|
|
601 | (4) |
|
|
602 | (3) |
Index |
|
605 | |