Date: Tue, 27 Jun 2006 01:28:30 -0500 (CDT) Subject: more road segmentation X-UID: 179 Here is another test of the road segmentation. http://golem5.org/robot1/video/roadseg20060626.mpg The road is indicated by solid black. The blue line indicates the farthest point of the road from the bottom of the screen. Note that the hood of the car and a reflection of the dashboard causes problems at the bottom edge of the frame. This forces the blue line over to the right sometimes. The green line indicates the center of mass, left to right, of all segmented pixels. This tends to remain in the center of the frame as the driver has good lane position. Were the driver to drive onto the right shoulder, the green line would shift to the left. The blue line tends to indicate turn direction. The green line indicates good lane position. This is probably enough for the robot to follow a road now. If the key patch chroma histogram were to suddently change, it would also know that it had driven off the road. An excellent idea a DPRG member suggested is a longer running average of the key patch histogram. This way, the robot does not lose track of the road segmentation it has locked onto if the key patch suddenly changes. This is computationally cheap. In fact, everything done so far is inexpensive. The strange reddish aurora in the sky is due to mapping from YUV space back to RGB. All of the image segmentation is done in YUV space. Generating the pixmaps requires conversion of YUV (which is really spherical coordinates) back to RGB (cartesian). Either I have fudged something or this is numerically ill-conditioned. I'll have to look at that. The blockiness of the road segmentation is due to using the same code that will go on the robot. In order to maintain a reasonable frame rate, the network camera on the robot is set to lowest resolution which is 160x120. So all road segmentation computation is done at this reduced resolution. When making these movies, this low resolution image is then upsized back to 320x240 to match the originals from the digital camera. I could make movies that look better. But they wouldn't represent what the robot will be doing.