Welcome to the last lecture in the Robotic Vision course and thanks for hanging in there. We've talked a lot about the way that images are formed, how we transform the three-dimensional world into a two dimensional image. And an underlying assumption in all of that has been that the camera is stationary and the object is stationary.
Well now we're going to consider the case where the camera is moving. The first thing we're going to look at then is how does the image change as the camera moves through space. And then we're going to flip it around and say, let's say that I've got an image of something that looks like this in the image and I want it to look like this in the image. What we're going to try to work out is how should the camera move in order to change the image from this to this.
The camera has to change its viewpoint and so we want to work out directly how the camera should move in order to make that happen. This is a technique called "Vision Based Control" sometimes called "Visual Servoing" and is a topic that I've spent a good deal of my life thinking about.
An important problem in robotic vision is moving a camera so that the view it sees matches the view we want it to have. To achieve this we exploit knowledge about how an image changes as a camera moves. Then we invert that and compute how the camera should move so the image changes in the way we want, a technique commonly known as visual servoing.
This content assumes an understanding of high school level mathematics; for example, trigonometry, algebra, calculus, physics (optics) and experience with MATLAB command line and programming, for example workspace, variables, arrays, types, functions and classes.