Nate Dog

Generalized Color Learning

One of the limitation of our baseline autonomous color learning approach is that though it works very well inside the controlled setting of the lab, it is not suitable for more uncontrolled settings, such as indoor corridors, where the illumination is non-uniform. Here, we present an online approach that enables a mobile robot to autonomously learn the colors in its environment without any explicitly labeled training data, using the color-coded model of its environment. With our novel representation, the robot is able to use the same algorithm both within the constrained setting of our lab and in much more uncontrolled settings such as indoor corridors. The segmentation and localization accuracies are comparable to that obtained by a time-consuming offline training process. The algorithm is fully implemented and tested on SONY Aibo robots. Recently, we have also combined this with our approach for illumination invariance to generate a method that enables the robot to autonomously detect and adapt to changes in illumination conditions.

First, we present a video that shows the robot operating in an indoor corridor with uncontrolled illumination. The robot learns a color map based on our hybrid color representation scheme and uses it to localize to four specific points in the corridor.

Localizing in ACES
corrdor

Description of Images

Next, we provide a set of images showing the segmentation performance using our learning scheme. This can be grouped into three categories, based on the location where the learning process was attempted.
Inside the Lab

Here, the color learning scheme was attempted with two different representation schemes - AllGauss, where all the colors were modeled as 3D Gaussians, and AllHist, where all the colors were modeled as 3D Histograms. The idea here was to compare the two representations in a controlled setting and to estimate some parameters. The images shown below were captured using the robot's camera and segmented using the color maps generated by running the color learning algorithm with each of the two representations. More details on the actual algorithm can be found in the paper.


Markers, Goal, Ball, Opponent


Original Images


Segmentation using AllGauss


Segmentation using AllHist




Outside the Lab 1

We used the parameters obtained after testing in the lab (see paper). First we tested to see if the hybrid representation was really necessary. In this setting, the floor and the walls had a similar color but the 3D Gaussian was a bad fit for these samples, making it difficult to obtain suitable regions to learn the other colors. But representing the ground (and hence wall) color using a 3D histogram helped solve the problem.

Histogram vs Gaussian


Original Images


Using 3D Gaussian for ground/wall


Original Images


Using 3D Histogram for ground/wall


But using 3D histograms for all the colors would increase the storage requirements in comparison to the Gaussians. Also, the histograms do not generalize well for samples not seen in the learning phase (as with reasonable illumination changes). So, we decided to use the total learning method where the robot chooses the best representation for each color based on bootstrapping (see paper for details). First the segmentation results without including the color red (opponent's uniform) in the analysis.

Markers, Goal, Ball - without RED (opponent color)


Original Images


Segmentation using AllHist


Segmentation using GaussHist


Then, the segmentation results after including the color red (opponent's uniform) in the analysis.

Markers, Goal, Ball - with RED (opponent color)


Original Images


Segmentation using AllHist


Segmentation using GaussHist




Outside the Lab 2

In this setting, the floor was carpeted and was different in color from the walls of the corridor. The 3D Gaussian was a bad fit for both the ground and the wall. But representing the ground and wall color using 3D histograms helped solve the problem. Hence the best results were obtained using the GaussHist representation. When the color of the opponent's uniform was included in the analysis, the results were similar to those in the case above -- no problem with GaussHist while AllHist fails.

Markers, Goal, Ball


Original Images


Segmentation using AllHist


Segmentation using GaussHist


Full details of our approach are available in the following paper:

Valid CSS!
Valid XHTML 1.0!