Screenshots     Download     Purchase     Documentation     Tutorials     Resources     Contact     Forum     Search  

 

Floor Finder

The Floor Finder module is used to identify the floor area within an image. The assumptions that make this possible are that the robot or camera is on a planar floor that extends from the bottom of the camera image outwards away from the camera. This assumption is required since the Floor Finder module will sample the pixels in the bottom of the image area (the sample space) and use those pixels to identify similar pixels in the rest of the image. Thus it is assumed that the floor space right in front of the robot is relatively free from obstacles and represents a portion of the floor.

Interface

Instructions

1. Sample Shape - select the sample shape that you would like to use. The default is the square shape that will sample more pixels than the triangle shape but may be affected by darker pixels or non-floor pixels at the image borders. To reduce image border issues (depending on the style of camera you are using) you can switch to the triangle sample area that includes more pixels in the middle of the image.

You can change the width and height of the shape to include more or less pixels. The more representative pixels that are used in the sample space the better. Increasing the sample space will also include more pixels that are not floor space so a compromise needs to be reached between floor and object pixels.

2. Color - Select this checkbox to enable color processing of the sample area. This works very well if your floor is a different color (hue) than the obstacles to be avoided.

3. Intensity - Select this checkbox to enable intensity (brightness) processing of the sample area. This works well if your floor is much lighter or darker than the obstacles to be avoided.

4. Texture - Select this checkbox to enable texture processing of the sample area. This works well if your floor has a very different texture (rough versus smooth) than the obstacles to be avoided.

5. Color/Intensity/Texture Threshold - Select the threshold level that specifies how many instances of a certain attribute need to exist in the sample area before they are considered 'representative' of the floor. If your immediate floor space includes obstacles setting the threshold higher will help remove those obstacle pixels from consideration. This, however, can also remove floor pixels that are slightly distance from the selected feature from the rest.

For a more adaptive way of setting the threshold chose a value from the dropdown (besides manual) to select only the top X percent of features seen in the sample area as a guide for the rest of the image. Setting this value will find which feature occurs the most frequently (its count) in the sample area and then set the threshold to be X percentage of that count. This allows the threshold to change based on how consistent the sample area is and change based on the image properties within the sample space.

6. Color/Intensity/Texture Smoothing - As the sample space is smaller than the rest of the image it often does not include features that are very close to features within the image space. Increasing the smoothing will widen the influence that features in the sample space have in the rest of the image. In this way a feature in the sample space can also affect other pixels that are near in color/intensity/texture to it and help fill out more valid pixels in the rest of the image. If you increase this too much it will encompass all features and not result in any image segmentation.

7. Momentum - While the robot is moving it may accidentally look off the desired path which would immediate affect the module to look for the features within the sample area. To prevent accidental attachment to the wrong surface you can increase the momentum from 0 to a larger number like 200. This means that the module will remember the statistics from the previous 200 frames (a couple seconds at 30fps) and use that to look for the floor surface. Even if the robot accidentally moves over a different area that immediate frame will only marginally affect what the module is attracted to. Using this feature memory will help to stabilize the robot movement on the desired path.

8. Highlights - Often floor space (especially reflective floors) will tend to have white highlights in them due to overhead lights. These highlights have very specific properties that can be used to partially include them back into the floor space. As highlights are normally bright intense spots they are normally not included within the sample space beyond very low threshold values. Selecting the "Fill Highlights" checkbox will analyze the current image for highlights and fill them in with white pixels. This helps to complete a full floor space and eliminate the appearance of obstacles in the middle of the floor.

9. Result - select how the results should be presented. "Colored" refers to the original pixel values (excluding the highlights which are always in white). "White" or "Black" mask will set pixels to white or black depending on if they are represented in the sample space or not.

The Relevance Result will indicate from black to white how relevant a particular pixel is to the sample space given the smoothing and threshold values. Note that when more than one feature is enabled the relevance is the addition of all those features.

Examples

SourceFloor Found

Note that last image is the floor of a tiled reflective floor. The two large highlights are filled in using the "Fill Highlight" option.

See Also


Wall Finder


Floor_Finder Related Forum PostsLast postPostsViews
OBSTACLE AVOIDANCE
I am trying to implement Obstacle Avoidance module of robo realm  in Matlab.I  successfully completed &...
1 month 4 150
Flood Fill and Floor Finder algorithm?
Based on obstacle avoidance tutorial, I'm trying to simulate two modules Floodfill and Floor Finder in Matlab, but I can't fin...
4 months 8 1125


© 2005 - 2010 RoboRealm. All Rights Reserved. | Contact | Glossary | Privacy | Disclaimer | Link to Us | Resources | Site Map