next up previous index
Next: Hough transform Up: Vision tools for the Previous: Vision tools for the   Index



Histograms

In order to follow a corridor, a robot has to go forward while avoiding walls. To move forward is not a problem for a robot. The problems arise when it has to avoid walls.

Usually walls generate edges. So if there are a lot of edges detected on the right of the picture, the robot has to turn left, and if there are a lot of edges detected on the left, the robot has to turn right. So we can simply count the number of pixels on the left of the edge-detected image and the number of pixels on the right. We can then compare them and decide which way the robot should turn.

I have implemented this behaviour on FortyTwo. It does not work properly because the two walls do not generate the same number of edges. For instance, we can have one wall which is mainly blank and does not generates a lot of edges, and the other wall can be covered by posters or notices. The second wall generates a lot of edges even if the distance between the robot and this wall is the same as the distance between the robot and the other wall. So the robot tries to avoid posters and notices which give good edges instead of the wall itself.

The idea developed in [16] is to split the image into vertical stripes and then count the number of edges detected. This enhances the horizontal location of edges in the image. Indeed, the vertical location of edges does not provide any useful information for a corridor follower. So this feature is more powerful than edge detection only because it contains almost the same quantity of information and it is clearly using less parameters. Figure 2.3 gives us an example of a histogram we can obtain with this method. This histogram is called in this thesis ``histogram of the image''. This is not a generic name for this kind of method but it makes the method easier to be referred to.

Figure 2.3: Vertical histogram of an image. An edge detection was performed on the image which gives the edges image 2.3(a). This edges image is then split into 64 vertical stripes and figure 2.3(b) gives us the histogram of the number of edges pixels per stripe.
\begin{figure}\begin{center}
\subfigure[Edge-detected image]{\epsfysize =4cm \...
...ram of (a)]{\epsfysize =4cm \epsfbox{histedg0.eps}
}
\end{center}
\end{figure}

We notice that this method is only viable if the camera is always pointing towards the end of the corridor. Having a camera which is constantly pointing in a fixed direction is only possible with FortyTwo, not with Charm, because FortyTwo has a turret which can rotate independently of its base. In the next subsection, I describe a method which I have used for the case of a camera that turns with the robot.


next up previous index
Next: Hough transform Up: Vision tools for the Previous: Vision tools for the   Index

franck 2006-10-15