Ballard and Brown’s Computer Vision

Computer Vision, by Ballard and Brown’s

This restoration of Dana Ballard and Chris Brown’s famous Computer Vision textbook was funded by the British Machine Vision Association and the EU’s ECVision Network on Cognitive Computer Vision. Many thanks to Martin Groeger (German Aerospace Center, DLR) for assembling the individual PDF files into a complete book.

You can look at the whole book (warning – 280 Mb)

Table of Contents

Preface
Original Table of Contents
1 – Computer vision issues
1.1 – Achieving simple vision goals (pg 1)
1.2 – High-level and low-level capabilities (pg 2)
1.3 – A range of representations (pg 6)
1.4 – The role of computers (pg 9)
1.5 – Computer vision research and applications (pg 12)
2 – Image Formation
2.1 – Images (pg 4)
2.2 – Image Model (pg 1)
2.2.1 – Image Functions (pg 1)
2.2.2 – Imaging Geometry (pg 2)
2.2.3 – Reflectance (pg 5)
2.2.4 – Spatial Properties (pg 7)
2.2.5 – Color (pg 14)
2.2.6 – Digital Images (pg 18)
2.3 – Imaging Devices for Computer Vision (pg 1)
2.3.1 – Photographic Imaging (pg 3)
2.3.2 – Sensing Range (pg 11)
2.3.3 – Reconstruction Imaging (pg 15)
3 – Early Processing
3.1 – Recovering Intrinsic Structure (pg 1)
3.2 – Filtering the Image (pg 3)
3.2.1 – Template Matching (pg 3)
3.2.2 – Histogram Transformations (pg 8)
3.2.3 – Background Subtraction (pg 10)
3.2.4 – Filtering and Reflectance Models (pg 11)
3.3 – Finding Local Edges (pg 1)
3.3.1 – Types of Edge Operators (pg 2)
3.3.2 – Edge Thresholding Strategies (pg 6)
3.3.3 – Three-Dimensional Edge Operators (pg 7)
3.3.4 – How Good Are Edge Operators? (pg 9)
3.3.5 – Edge Relaxation (pg 11)
3.4 – Range Information from Geometry (pg 1)
3.4.1 – Stereo Vision and Triangulation (pg 1)
3.4.2 – A Relaxation Algorithm for Stereo (pg 2)
3.5 – Surface Orientation from Reflectance Models (pg 6)
3.5.1 – Reflectivity Functions (pg 6)
3.5.2 – Surface Gradient (pg 8)
3.5.3 – Photometric Stereo (pg 11)
3.5.4 – Shape from Shading by Relaxation (pg 12)
3.6 – Optical Flow (pg 1)
3.6.1 – The Fundamental Flow Constraint (pg 1)
3.6.2 – Calculating Optical Flow by Relaxation (pg 2)
3.7 – Resolution Pyramids (pg 5)
3.7.1 – Gray-Level Consolidation (pg 5)
3.7.2 – Pyramidal Structures in Correlation (pg 6)
3.7.3 – Pyramidal Structures in Edge Detection (pg 8)
4 – Boundary Detection
4.1 – On Associating Edge Elements (pg 4)
4.2 – Searching Near an Approximate Location (pg 6)
4.2.1 – Adjusting A Priori Boundaries (pg 6)
4.2.2 – Non-Linear Correlation in Edge Space (pg 6)
4.2.3 – Divide-and-Conquer Boundary Detection (pg 7)
4.3 – The Hough Method for Curve Detection (pg 1)
4.3.1 – Use of the Gradient (pg 2)
4.3.2 – Some Examples (pg 3)
4.3.3 – Trading Off Work in Parameter Space for Work in Image Space (pg 4)
4.3.4 – Generalizing the Hough Transform (pg 6)
4.4 – Edge Following as Graph Searching (pg 1)
4.4.1 – Good Evaluation Functions (pg 3)
4.4.2 – Finding All the Boundaries (pg 3)
4.4.3 – Alteratives to the A Algorithm (pg 6)
4.5 – Edge Following as Dynamic Programming (pg 1)
4.5.1 – Dynamic Programming (pg 1)
4.5.2 – Dynamic Programming for Images (pg 3)
4.5.3 – Lower Resolution Evaluation Functions (pg 5)
4.5.4 – Theoretical Questions about Dynamic Programming (pg 7)
4.6 – Contour Following (pg 7)
4.6.1 – Extension to Gray-Level Images (pg 8)
4.6.2 – Generalization to Higher-Dimensional Image Data (pg 10)
5 – Region Growing
5.1 – Regions (pg 1)
5.2 – A Local Technique: Blob Coloring (pg 3)
5.3 – Global Techniques: Region Growing via Thresholding (pg 4)
5.3.1 – Thresholding in Multidimensional Space (pg 5)
5.3.2 – Hierarchical Refinement (pg 7)
5.4 – Splitting and Merging (pg 7)
5.4.1 – State-Space Approach to Region Growing (pg 9)
5.4.2 – Low-Level Boundary Data Structures (pg 10)
5.4.3 – Graph-Oriented Region Structures (pg 11)
5.5 – Incorporation of Semantics (pg 12)
6 – Texture
6.1 – What is Texture? (pg 1)
6.2 – Texture Primitives (pg 4)
6.3 – Structural Models of Texel Placement (pg 5)
6.3.1 – Grammatical Models (pg 7)
6.3.2 – Shape Grammars (pg 8)
6.3.3 – Tree Grammars (pg 10)
6.3.4 – Array Grammars (pg 13)
6.4 – Texture as a Pattern Recognition Problem (pg 1)
6.4.1 – Texture Energy (pg 4)
6.4.2 – Spatial Gray-Level Dependence (pg 6)
6.4.3 – Region Texels (pg 8)
6.5 – The Texture Gradient (pg 9)
7 – Motion
7.1 – Motion Understanding (pg 1)
7.1.1 – Domain-Independent Understanding (pg 2)
7.1.2 – Domain-Dependent Understanding (pg 2)
7.2 – Understanding Optical Flow (pg 5)
7.2.1 – Focus of Expansion (pg 5)
7.2.2 – Adjacency, Depth, and Collision (pg 7)
7.2.3 – Surface Orientation and Edge Detection (pg 8)
7.2.4 – Egomotion (pg 12)
7.3 – Understanding Image Sequences (pg 1)
7.3.1 – Calculating Flow from Discrete Images (pg 1)
7.3.2 – Rigid Bodies from Motion (pg 4)
7.3.3 – Interpretation of Moving Light Displays – A Domain-Independent Approach (pg 8)
7.3.4 – Human Motion Understanding – A Model-Directed Approach (pg 11)
7.3.5 – Segmented Images (pg 14)
8 – Representation of Two-Dimensional Geometric Structures
8.1 – Two-Dimensional Geometric Structures (pg 4)
8.2 – Boundary Representations (pg 5)
8.2.1 – Polylines (pg 5)
8.2.2 – Chain Codes (pg 8)
8.2.3 – The Ψ-s Curve (pg 10)
8.2.4 – Fourier Descriptors (pg 11)
8.2.5 – Conic Sections (pg 12)
8.2.6 – B-Splines (pg 12)
8.2.7 – Strip Trees (pg 17)
8.3 – Region Representations (pg 1)
8.3.1 – Spatial Occupancy Array (pg 1)
8.3.2 – y Axis (pg 2)
8.3.3 – Quad Trees (pg 3)
8.3.4 – Medial Axis Transform (pg 6)
8.3.5 – Decomposing Complex Areas (pg 7)
8.4 – Simple Shape Properties (pg 8)
8.4.1 – Area (pg 8)
8.4.2 – Eccentricity (pg 9)
8.4.3 – Euler Number (pg 9)
8.4.4 – Compactness (pg 10)
8.4.5 – Slope Density Function (pg 10)
8.4.6 – Signatures (pg 11)
8.4.7 – Concavity Trees (pg 12)
8.4.8 – Shape Numbers (pg 12)
9 – Representations of Three-Dimensional Structures
9.1 – Solids and their Representation (pg 1)
9.2 – Surface Representations (pg 2)
9.2.1 – Surface with Faces (pg 2)
9.2.2 – Surfaces Based on Splines (pg 5)
9.2.3 – Surfaces That Are Functions on the Sphere (pg 7)
9.3 – Generalized Cylinder Representations (pg 1)
9.3.1 – Generalized Cylinder Coordinate Systems and Properties (pg 2)
9.3.2 – Extracting Generalized Cylinders (pg 5)
9.3.3 – A Discrete Volumetric Version of the Skeleton (pg 7)
9.4 – Volumetric Representations (pg 7)
9.4.1 – Spatial Occupancy (pg 7)
9.4.2 – Cell Decomposition (pg 8)
9.4.3 – Constructive Solid Geometry (pg 9)
9.4.4 – Algorithms for Solid Representations (pg 11)
9.5 – Understanding Line Drawings (pg 1)
9.5.1 – Matching Line Drawings to Three-Dimensional Primitives (pg 3)
9.5.2 – Grouping Regions Into Bodies (pg 4)
9.5.3 – Labeling Lines (pg 6)
9.5.4 – Reasoning About Planes (pg 11)
10 – Knowledge Representation and Use
10.1 – Representations (pg 4)
10.1.1 – The Knowledge Base – Models and Processes (pg 5)
10.1.2 – Analogical and Propositional Representations (pg 6)
10.1.3 – Procedural Knowledge (pg 8)
10.1.4 – Computer Implementations (pg 9)
10.2 – Semantic Nets (pg 1)
10.2.1 – Semantic Net Basics (pg 1)
10.2.2 – Semantic Nets for Inference (pg 5)
10.3 – Semantic Net Examples (pg 1)
10.3.1 – Frame Implementations (pg 1)
10.3.2 – Location Networks (pg 2)
10.4 – Control Issues in Complex Vision Systems (pg 1)
10.4.1 – Parallel and Serial Computation (pg 2)
10.4.2 – Hierarchical and Heterarchical Control (pg 2)
10.4.3 – Belief Maintenance and Goal Achievement (pg 7)
11 – Matching
11.1 – Aspects of Matching (pg 1)
11.1.1 – Interpretation: Construction, Matching, and Labeling (pg 1)
11.1.2 – Matching Iconic, Geometric, and Relational Structures (pg 2)
11.2 – Graph-Theoretical Algorithms (pg 4)
11.2.1 – The Algorithms (pg 6)
11.2.2 – Complexity (pg 8)
11.3 – Implementing Graph-Theoretical Algorithms (pg 1)
11.3.1 – Matching Metrics (pg 1)
11.3.2 – Backtrack Search (pg 4)
11.3.3 – Association Graph Techniques (pg 5)
11.4 – Matching in Practice (pg 1)
11.4.1 – Decision Trees (pg 2)
11.4.2 – Decision Tree and Subgraph Isomorphism (pg 7)
11.4.3 – Informal Feature Classification (pg 8)
11.4.4 – A Complex Matcher (pg 10)
12 – Inference
12.1 – First Order Predicate Calculus (pg 2)
12.1.1 – Clause-Form Syntax (Informal) (pg 2)
12.1.2 – Nonclausal Syntax and Logic Semantics (Informal) (pg 3)
12.1.3 – Converting Nonclausal Form to Clauses (pg 5)
12.1.4 – Theorem Proving (pg 6)
12.1.5 – Predicate Calculus and Semantic Networks (pg 8)
12.1.6 – Predicate Calculus and Knowledge Representation (pg 10)
12.2 – Computer Reasoning (pg 1)
12.3 – Production Systems (pg 2)
12.3.1 – Production System Details (pg 4)
12.3.2 – Pattern Matching (pg 5)
12.3.3 – An Example (pg 7)
12.3.4 – Production System Pros and Cons (pg 12)
12.4 – Scene Labeling and Constraint Relaxation (pg 1)
12.4.1 – Consistent and Optimal Labelings (pg 1)
12.4.2 – Discrete Labeling Algorithms (pg 3)
12.4.3 – A Linear Relaxation Operator and a Line-Labeling Example (pg 8)
12.4.4 – A Nonlinear Operator (pg 12)
12.4.5 – Relaxation as Linear Programming (pg 13)
12.5 – Active Knowledge (pg 1)
12.5.1 – Hypotheses (pg 2)
12.5.2 – HOW-TO and SO-WHAT Processes (pg 2)
12.5.3 – Control Primitives (pg 2)
12.5.4 – Aspects of Active Knowledge (pg 4)
13 – Goal Achievement
13.1 – Symbolic Planning (pg 2)
13.1.1 – Representing the World (pg 2)
13.1.2 – Representing Actions (pg 4)
13.1.3 – Stacking Blocks (pg 5)
13.1.4 – The Frame Problem (pg 7)
13.2 – Planning with Costs (pg 1)
13.2.1 – Planning, Scoring, and Their Interaction (pg 2)
13.2.2 – Scoring Simple Plans (pg 2)
13.2.3 – Scoring Enhanced Plans (pg 7)
13.2.4 – Practical Simplifications (pg 8)
13.2.5 – A Vision System Based on Planning (pg 9)
A1 – Some Mathematical Tools
A1.1 – Coordinate Systems (pg 1)
A1.1.1 – Cartesian (pg 1)
A1.1.2 – Polar and Polar Space (pg 1)
A1.1.3 – Spherical and Cylindrical (pg 2)
A1.1.4 – Homogeneous Coordinates (pg 3)
A1.2 – Trigonometry (pg 4)
A1.2.1 – Plane Trigonometry (pg 4)
A1.2.2 – Spherical Trigonometry (pg 5)
A1.3 – Vectors (pg 5)
A1.4 – Matrices (pg 7)
A1.5 – Lines (pg 10)
A1.5.1 – Two Points (pg 10)
A1.5.2 – Point and Direction (pg 10)
A1.5.3 – Slope and Intercept (pg 10)
A1.5.4 – Ratios (pg 10)
A1.5.5 – Normal and Distance from Origin (Line Equation) (pg 11)
A1.5.6 – Parametric (pg 12)
A1.6 – Planes (pg 12)
A1.7 – Geometric Transformations (pg 13)
A1.7.1 – Rotation (pg 13)
A1.7.2 – Scaling (pg 14)
A1.7.3 – Skewing (pg 15)
A1.7.4 – Translation (pg 15)
A1.7.5 – Perspective (pg 15)
A1.7.6 – Transforming Lines and Planes (pg 16)
A1.7.7 – Summary (pg 16)
A1.8 – Camera Calibration and Inverse Perspective (pg 1)
A1.8.1 – Camera Calibration (pg 2)
A1.8.2 – Inverse Perspective (pg 3)
A1.9 – Least-Squared-Error Fitting (pg 4)
A1.9.1 – Pseudo-Inverse Method (pg 5)
A1.9.2 – Principal Axis Method (pg 6)
A1.9.3 – Fitting Curves by the Pseudo-Inverse Method (pg 7)
A1.10 – Conics (pg 8)
A1.11 – Interpolation (pg 9)
A1.11.1 – One-Dimensional (pg 9)
A1.11.2 – Two-Dimensional (pg 10)
A1.12 – The Fast Fourier Transform (pg 10)
A1.13 – The Icosahedron (pg 12)
A1.14 – Root Finding (pg 13)
A2 – Advanced Control Mechanisms
A2.1 – Standard Control Structures (pg 1)
A2.1.1 – Recursion (pg 2)
A2.1.2 – Co-Routining (pg 2)
A2.2 – Inherently Sequential Mechanisms (pg 3)
A2.2.1 – Automatic Backtracking (pg 3)
A2.2.2 – Context Switching (pg 4)
A2.3 – Sequential or Parallel Mechanisms (pg 4)
A2.3.1 – Modules and Messages (pg 4)
A2.3.2 – Priority Job Queue (pg 6)
A2.3.3 – Pattern-Directed Invocation (pg 8)
A2.3.4 – Blackboard Systems (pg 9)
Color Supplement
Author Index (pg 1)
Subject Index (pg 5)

Related posts: