Door Identification -- Recognition

Eyal Amir and Pedrito Maynard-Reid II

Finally, we determine whether each object is a door based on the shape information from the previous stage. In doing so, we must account for any projection and perspective transformations. In the Gates building, office doors are all upright rectangles of the same dimensions. Since the camera is assumed to be upright, it is sufficient to test whether the object has two vertical lines far enough apart. This will catch all the doors discovered in earlier stages, and eliminate most of the other wood-colored objects such as tables and patches of carpet.

Of course, there will be some objects (such as posterboards) that have the same color as the door and also have vertical edges. If we could tell whether or not a particular object has a trapezoidal shape in the image, we could potentially achieve greater accuracy by eliminating non-trapezoids and trapezoidal objects that do not satisfy the same invariants under projective and perspective transformations as a door in Gates (which are all the same size). However, as we discussed above, noise, quantization, and thresholding make it difficult to detect the top and bottom of a door with Hough. We would require a more sophisticated shape-finding algorithm (such as having Hough give more weight to close-to-horizontal lines, using the convex hull of the B/W bitmap to find the upper and lower door-edges, or using the Snake as mentioned in the previous section).

Having been convinced that the object is a door, we use the MATLAB command imfeature to find its centroid, and place a small cross at this location. The final output of the algorithm, then, is the original image with the small crosses and detected lines superimposed on the objects the algorithm decides are doors. For the example we have been considering, the output looks as follows:

Figure 10: Output of algorithm.

Next: Experiments

Return to Table of Contents


Eyal Amir and Pedrito Maynard-Reid II.
Last modified: Tue Mar 16 16:56:18 PST 1999