I’d like to make a distinction between the techniques known as image processing, and the techniques known as computer vision.
Image processing is a technique that takes an image and produces another image. It’s often used for image enhancement. In this example we see a medical image where features within the body are rather indistinct, and by applying an image processing technique to it, they have been enhanced. They have higher contrast and it is easier to see the wires and other structures inside the body.
Computer vision, on the other hand, or machine vision as it’s sometimes called, takes an image and produces features. What we see here is an input image with a large number of coloured pixels. Some are yellow, some are grey, some are blue. And what it’s producing on the right-hand side are features which describe just the yellow objects. And we can see here that we’ve highlighted the centres of those objects, and we’ve also put red boxes around them that show their spatial extent. So we’ve reduced the amount of information from a whole lot of colour pixels to a bunch of quite succinct information for coordinates of centres and the coordinates of the corners of four bounding boxes.
That pertinent information we refer to as image features and there are really three different kinds of image features that are in common use. The first one is regions; the example that I just gave. For each of these yellow objects, I might be interested in knowing where’s their centre, how big are they, what shape are they, what’s the orientation. Are they pointing sideways, are they pointing vertically. And there are other features that we could use to describe the shape of these yellow objects.
Another kind of very common feature are lines. And lines are everywhere. certainly in the built environment. So we might be interested in what are the equations of these dominant lines in the image. We might be interested in the start and end points of these lines, the line segments that perhaps might delineate an area of a roof or the edge of a building.
The last kind of feature that we use in computer vision are points. Here what I’ve done is overlaid onto a picture of a building what are called interest points. These are points that contain a lot of information and would be easy to find in another view of that same building. So the circles indicate the centre of these interest points and the size of the circle says something about the scale of those interest points. Now, interest points and the scale of points is not something we’re going to cover in this lecture series, but certainly it’s a topic about which there is a lot of literature, and they are a very important concept in modern computer vision.
Let’s go back again and consider region features, which is what we are going to talk about in this lecture. A question you might like to ask is where are the symbols on this sign; where are the letters and the other graphical elements. Well if we find region features we are able to solve this problem. And what I’ve done here with a bit of quite simple code, is to put a bounding box around each of the distinct white symbols on this otherwise black sign.
We will compare and contrast the terms image processing, computer vision and robotic vision — they have much in common but there are some subtle but important distinctions. When it comes to interpreting an image we typically try to find and describe regions, lines and interest points.
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.