An Introduction to 3D Computer Vision Techniques and Algorithms
This book provides a comprehensive introduction to the methods, theories and algorithms of 3D computer vision. Almost every theoretical issue is underpinned with practical implementation or a working algorithm using pseudo-code and complete code written in C++ and MatLab®. There is the additional clarification of an accompanying website with downloadable software, case studies and exercises. Organised in three parts, Cyganek and Siebert give a brief history of vision research, and subsequently:
- present basic low-level image processing operations for image matching, including a separate chapter on image matching algorithms;
- explain scale-space vision, as well as space reconstruction and multiview integration;
- demonstrate a variety of practical applications for 3D surface imaging and analysis;
- provide concise appendices on topics such as the basics of projective geometry and tensor calculus for image processing, distortion and noise in images plus image warping procedures.
An Introduction to 3D Computer Vision Algorithms and Techniques is a valuable reference for practitioners and programmers working in 3D computer vision, image processing and analysis as well as computer visualisation. It would also be of interest to advanced students and researchers in the fields of engineering, computer science, clinical photography, robotics, graphics and mathematics.
Notation and Abbreviations.
1.1 Stereo-pair Images and Depth Perception.
1.2 3D Vision Systems.
1.3 3D Vision Applications.
1.4 Contents Overview: The 3D Vision Task in Stages.
2 Brief History of Research on Vision.
2.2 Retrospective of Vision Research.
3 2D and 3D Vision Formation.
3.2 Human Visual System.
3.3 Geometry and Acquisition of a Single Image.
3.4 Stereoscopic Acquisition Systems.
3.5 Stereo Matching Constraints.
3.6 Calibration of Cameras.
3.7 Practical Examples.
3.8 Appendix: Derivation of the Pin-hole Camera Transformation.
4 Low-level Image Processing for Image Matching.
4.2 Basic Concepts.
4.3 Discrete Averaging.
4.4 Discrete Differentiation.
4.5 Edge Detection.
4.6 Structural Tensor.
4.7 Corner Detection.
4.8 Practical Examples.
5 Scale-space Vision.
5.2 Basic Concepts.
5.3 Constructing a Scale-space.
5.4 Multi-resolution Pyramids.
5.5 Practical Examples.
6 Image Matching Algorithms.
6.2 Basic Concepts.
6.3 Match Measures.
6.4 Computational Aspects of Matching.
6.5 Diversity of Stereo Matching Methods.
6.6 Area-based Matching.
6.7 Area-based Elastic Matching.
6.8 Feature-based Image Matching.
6.9 Gradient-based Matching.
6.10 Method of Dynamic Programming.
6.11 Graph Cut Approach.
6.12 Optical Flow.
6.13 Practical Examples.
7 Space Reconstruction and Multiview Integration.
7.2 General 3D Reconstruction.
7.3 Multiview Integration.
8 Case Examples.
8.2 3D System for Vision-Impaired Persons.
8.3 Face and Body Modelling.
8.4 Clinical and Veterinary Applications.
8.5 Movie Restoration.
9 Basics of the Projective Geometry.
9.2 Homogeneous Coordinates.
9.3 Point, Line and the Rule of Duality.
9.4 Point and Line at Infinity.
9.5 Basics on Conics.
9.6 Group of Projective Transformations.
9.7 Projective Invariants.
10 Basics of Tensor Calculus for Image Processing.
10.2 Basic Concepts.
10.3 Change of a Base.
10.4 Laws of Tensor Transformations.
10.5 The Metric Tensor.
10.6 Simple Tensor Algebra.
11 Distortions and Noise in Images.
11.2 Types and Models of Noise.
11.3 Generating Noisy Test Images.
11.4 Generating Random Numbers with Normal Distributions.
12 Image Warping Procedures.
12.2 Architecture of the Warping System.
12.3 Coordinate Transformation Module.
12.4 Interpolation of Pixel Values.
12.5 The Warp Engine.
12.6 Software Model of the Warping Schemes.
12.7 Warp Examples.
12.8 Finding the Linear Transformation from Point Correspondences.
13 Programming Techniques for Image Processing and Computer Vision.
13.2 Useful Techniques and Methodology.
13.3 Design Patterns.
13.4 Object Lifetime and Memory Management.
13.5 Image Processing Platforms.
14 Image Processing Library.
Boguslaw Cyganek has been teaching at the AGH – University of Science and Technology since 1993 and is now a Lecturer and Researcher in the Department of Electronics and Computer Science. His research interests include the development of image processing systems, robot vision and neural networks. During this time, he has gained several years of practical experience working as a Software Development Manager and a Software Engineer both in the USA and Poland. He has also written Three Dimensional Image Processing (Academic Publisher House, 2002) and 18 academic papers on image processing and algorithms.
Paul Siebert, Department of Computing Science, University of Glasgow, 3D-MATIC Research Laboratory, Scotland
Dr Jan Paul Siebert is currently Director of the 3D-MATIC Research Laboratory in the Department of Computing Science at Glasgow University. His research interests are in computer vision, image processing, and 3D imaging by stereo photogrammetry and its applications in 3D whole human body imaging. He is Scottish Chair of the BMVC and prior to his current position he was Chief Executive of the of the Turing Institute, Glasgow, which developed the ‘C3D’ imaging technology. He has written over 50 journal, technical and conference papers on 3D image processing, modelling virtual images and photogrammetry.
“This text is a valuable reference for practitioners and programmers working in 3D computer vision, image processing and analysis as well as computer visualisation. It would also be of interest to advanced students and researchers in the fields of engineering, computer science, clinical photography, robotics, graphics and mathematics.” (Zentralblatt MATH, 2012)