1. Feature Analysis
4.2.4 Road Detection
(a) (b)
Figure 29: Results of corner detection and its corresponding optical flow
By considering above analysis of features, we proposed a feature point extraction method employ road detection procedure to assist in getting ground features. The flowchart of proposed feature point extraction is shown in Figure 30. The objective is to distinguish the major road region and non-road region, and utilize the result of the road detection, that is to extract the boundary of major road and some good features within road region. By integrating road detection, the more useful ground features could be extracted and could improve results of ground movement effectively. The next chapter will introduce the detail of road detection and describe what feature point will be selected.
Previous
Figure 30: Block diagram of feature point extraction
4.2.4 Road Detection
The proposed feature point extraction technique is integrating a road detection procedure which is used an on-line color model that we can train an adaptive color model to fit road color.
The main objective of road detection is to discriminate the road and non-road region roughly, because the result is used to support feature extraction not used to extract obstacle regions.
However, we adopt an on-line learning model that allows continuously update during driving, through the training method that can enhance plasticity and ensure the feature is on the road region.
0.431 0.342 0.178 X = ⋅ +R ⋅ +G ⋅B
= ⋅ + ⋅ + ⋅
Due to the color appearance in the driving environment, we have to select the color features and using these color features to build a color model of the road. Therefore, we have to choose a color space which has uniform, little correlation, concentrated properties in order to increase the accuracy of the model. In computer color vision, all visible colors are represented by vectors in a three-dimensional color space. Among all the common color spaces, RGB color space is the most common color feature selected because it is the initial format of the captured image without any distortion. However, the RGB color feature is high correlative, and the similar colors spread extensively in the color space. As a result, it is difficult to evaluate the similarity of two color from their 1-norm or Euclidean distance in the color space.
The other standard color space HSV is supposed to be closer to the way of human color perception. Both HSV and L*a*b* resist to the interference of illumination variation such as the shadow when modeling the road area. However, the performance of HSV model is not as good as L*a*b* model because the road color cause the HSV model not uniform that lead to the HSV color model not as uniform as the L*a*b* color model. There are many reasons attribute this result. Firstly, HSV is very sensitive and unstable when lightness is low. Furthermore, the Hue is computed by dividing (Imax - Imin) in which Imax = max(R,G,B), Imin = min(R,G,B), therefore when a pixel has a similar value of Red, Green and Blue components, the Hue of the pixel may be undetermined. Unfortunately, most of the road surface is in similar gray colors with very close R, G, and B values. If using HSV color space to build road color model, the sensitive variation and fluctuation of Hue will generate inconsistent road colors and decrease the accuracy and effectiveness. L*a*b* color space is based on data-driven human perception research that assumes the human visual system owing to its uniform, little correlation, concentrate characteristics are ideally developed for processing natural scenes and is popular for color-processed rendering. L*a*b* color space also possesses these characteristics to satisfy our requirement. It maps similar colors to the reference color with about the same differences by Euclidean distances measure and demonstrates more concentrated color distribution than others. Then considering the advantaged properties of L*a*b* for general road environment, the L*a*b* color space for road detection is adopted.
The RGB-L*a*b* conversion is described as follow equations:
1. RGB-XYZ conversion:
1
where Y Z are tristimulus values of reference white poi
⎧ ⎛ ⎞ By modeling and updating of the L*a*b* color model, the built road color model can be used to extract the road region. The L*a*b* model is constituted of K color balls, and each color ball mi is formed by a center on ( ,* ,* )
i i i
m m m
L a b and a fixed radiusλmax = as seen in Figure 31. 5 In order to train a color model, we set a fixed area of the lower part of the image and assume pixels in the area are the road samples. For each of these pixels in the beginning 30 frames are used to initialize the color model, and updating the model every ten frames to increase processing speed but still maintain high accurate performance.
Figure 31: A color ball i in the L*a*b* color model whose center is at (Lm, *am, *bm) and with radius λmax
The sampling area is used to be modeled by a group of K weighted color balls. We denote the weight and the counter of the mi th color ball at a time instant t by Wm ti, and ,
m ti
Counter , and the weight of each color ball represents the stability of the color. The color ball which more
on-line samples belonged to over time accumulated a bigger weight value shown in Figure 32.
Adopting the weight module increases robustness of the model.
Figure 32: Sampling area and color ball with a weight which represents the similarity to current road color.
The weight of each color ball is updated by its counter when the new sample is coming which is called one iteration. Therefore the counter would be initialized to zero at the beginning of iteration. The counter of each color ball records the number of pixels added from the on-line samples in the iteration. The first thing to do is that which color ball is chosen to be added. We measure the similarity between new pixel xt and the existing K color balls using a Euclidean distance measure Eq. (4.19). The maximum value of K is 50 which represents each on-lined model contains 50 color balls at most.
2 2 2 counter of best matching color at this iteration as the Eq. (4.20). After entire new sample pixels at this iteration undertake the matching procedures mentioned above, the weights of every color ball are updated according to their current counter and their weight at last iteration. The updating method is as follows:
i mi i i max
Then using the weight to decide which color ball of the model most adapt and resemble current road. The color balls are sorted in a decreasing order according to their weights. As a result, the most probable road color features are at the top of the list. The first B color balls are selected to be enabled as standard color for road detection, and these color balls with a higher weight has more importance in detection step. Road detection is achieved via comparison of the new pixel xt with the existing B standard color balls selected at the previous instant of time shown in Figure 33. If no match is found, the pixel xt is considered as non-road. On the contrary, the pixel xt is detected as road.
Figure 33: Pixel matched with first B weight color balls which are the most represent standard color.
Figure 34 shows some results of on-line L*a*b* road detection, the green areas are determined as road else are the non-road regions. However, we will not undertake road detection to all of the image because of the following procedure is processed in the world coordinate, that is the range of road detection is restricted to the horizon which is caused by the geometrical characteristic of IPM, and could be the different position in the image due to camera set up environment (camera height, tilt angle and so on).
Figure 34: Results of road detection
The objective of road detection is to distinguish the major road and non-road region, and the result will be used to extract feature point. As above mentioned, we consider the two characteristics that are strong derivative and ground feature, the road boundary and strong gradient points are selected to be feature points.
Therefore, the first step of feature point extraction is to extract the major road region. When result of road detection is obtained, the dilation and erosion procedure is used to merge the neighboring region and to reduce the fragmentation then the connected component is executed to separate the road regions to several components. After that we will find out the maximum component of all components and assumed that to be the major road region. Then the boundary of major road region is extracted to be feature points, because the border of road and non-road should be the road feature and have strong derivative. Besides, we analyze the gradient distribution of major road area, and the more strong gradient points will be extracted to be feature points because of their strong derivative and position. Then the feature points are collected completely by these road boundary and high gradient features. The Figure 35 is shown some results of feature point extraction. By employing road detection to support feature point extraction, the more useful ground features can be extracted.
Figure 35: Results of feature point extraction. The upper image is result of road detection, and lower image is position of feature points.