Book contents
- Frontmatter
- Dedication
- Contents
- Preface
- For the Instructor
- Part I Preliminaries
- Part II Preprocessing
- Part III Image Understanding
- Part IV The 2D Image in a 3D World
- 12 Relating to Three Dimensions
- 13 Developing Computer Vision Algorithms
- A Support Vector Machines
- B How to Differentiate a Function Containing a Kernel Operator
- C The Image File System (IFS) Software
- Author Index
- Subject Index
- References
13 - Developing Computer Vision Algorithms
from Part IV - The 2D Image in a 3D World
Published online by Cambridge University Press: 25 October 2017
- Frontmatter
- Dedication
- Contents
- Preface
- For the Instructor
- Part I Preliminaries
- Part II Preprocessing
- Part III Image Understanding
- Part IV The 2D Image in a 3D World
- 12 Relating to Three Dimensions
- 13 Developing Computer Vision Algorithms
- A Support Vector Machines
- B How to Differentiate a Function Containing a Kernel Operator
- C The Image File System (IFS) Software
- Author Index
- Subject Index
- References
Summary
Education is what remains after one has forgotten everything one learned in school.
– Albert EinsteinWe conclude the book with a look back in the context of how one develops good algorithms to solve Computer Vision problems. The steps are listed in order, as much as possible, with reference to materials and examples in the book.
The approach is explained through an example: Suppose you need to develop an algorithm to construct a panorama from two overlapping images. This requires that you find some way to transform coordinates in one image to appropriate coordinates in the next image, as described in Chapter 12. (See Figure 13.1.)
Know the literature If you are working on a problem that you think is important, chances are somebody else has also worked on it. Since the advent of Web searching, it has become easier to search, but don't limit your searches to Google. It's OK if you spend several days looking in the library. Looking at actual paper copies of old journal papers isn't necessarily a bad thing. After all, you plan to spend months or years on this project. Some papers were written before Web searching [13.2]. Often, you can be fortunate enough to find that someone else has done a good literature survey for you. For example, in the topic of the shape from motion, [13.3] and [13.1] thoroughly teach the relevant material.
Form an Objective Function In Chapter 6, we saw one example of finding an image that is the solution to an optimization problem.We found images that resembled the input image but also had some other desirable properties. In Chapter 5 we derived convolution kernels by finding best fits to data. In Chapter 12 objective functions were explicitly used twice.
In some rare instances, it isn't possible to set up a problem in terms of an optimization problem, but it's a good way to start.
Do the Math Correctly Once you have set up an objective function, you need to minimize it. For that, you often need a gradient. Can you find the gradient analytically as in section 6.5.1, or must you use numerical methods to estimate the gradient? In Chapter 12, we solved for a homography by using two images. But even if the math is correct, is it a valid approach?
- Type
- Chapter
- Information
- Fundamentals of Computer Vision , pp. 350 - 352Publisher: Cambridge University PressPrint publication year: 2017