Development of Edge-Based Lane Detection Algorithm Using Image Processing

— Image processing is known as the process of converting an image into a digital form so as to obtain an enhanced image and to extract useful information from it. This paper presents a simple step by step analysis of edges-based lane detection. Some of the known and common edge detection techniques such as Sobel, Canny, Prewitt and Roberts were studied and evaluated using image segmentation, morphology, image statistic and Hough Transform. The result indicated some similarities in the process as well as major differences. These differences were observed to be as a result of the high sensitivity of the edge detector in detecting noise such as cast shadows and unmarked lanes. This could be noticed in the case of canny edge detector. Also these data could be considered in the development of a multi-system edge detector, which could be used to analyze various road scenes and runs the appropriate edge detector best suited for the current situation.


I. INTRODUCTION
Lane detection is a major aspect in developing an autonomous vehicle and it is a complex and challenging task.It involves the localization of the road and the determination of the relative position between vehicle and road.In recent years, several lane detection techniques have been proposed by previous researchers under two broad classifications such as framework-based and vision-based technique.
Framework-based techniques are mostly robust and has high development cost in setting up.While in the case of vision based strategy with a camera mounted on a vehicle has a more prominent favourable position of using already existing lane markers on the road and to locate a road curvature in its front view.Most lane detection calculations are edge-based.They depend on filtering the image so as to identify potential path edges, trailed by a perceptual gathering of the edge points to recognize the path markers of interest.In numerous situations, it isn't conceivable to choose a threshold which removes noise edges without also removing many of the lane edge points of interest [1].Therefore, it's very difficult to trace the edge elements and to fit the approximation lines on them.However, in situations like this noise removal and further filtering of the images are needed so as to reduce the detection of false images.
Under the vision-based approach, a lot of studies in lane detection have been carried out in detecting lane boundaries.
Since most of the algorithms for lane detection are edgebased, and involves processing an image with the necessary tools to find potential lane edges, then arranging the edge points to detect the lane marks of interest, thereby neglecting speed and simplicity.Also, in many instances there is the possibility of selecting a particular threshold to eliminate noise edges and as well eliminate lane edge region of interest.Hence, various edge detection techniques need to be evaluated and tested.Other researches have been done by research groups from University of Michigan who has designed and used a platform for collect and evaluate the data.In year 1995, [2] used a different approach where they looked for a deformable template model of lane structure to locate lane boundaries without thresholding the intensity gradient information.For the following years, [3] have introduced an algorithm based on the frequency domain features that capture relevant information concerning the strength and orientation of spatial edges.While other researchers use a general image segmentation algorithm that will isolate lane marker segments and a voting scheme to unite individual features into lane boundary contours.
Lane detection can be a difficult task in detecting lanes of different road scenes no matter how simple it might look.The difficulties can arise from certain factors such as shadows, occlusion by other vehicles, surface changes of road and variations in lane markings.A suitable lane detection Algorithm has to be robust in detecting different kind of lane, indicating vehicle position and also applying proper filters for proper detection.In detecting lane boundaries, various techniques have been used in time past, such as Hough Transform, Canny edge detection algorithm, bilateral filter etc.This paper however, gives a comparative analysis of lane detection using edge detection.Several edge detection techniques such as Sobel, Canny, Prewitt and Roberts will be tested and evaluated in terms of simplicity, image quality and speed experimentally for lane detection using image segmentation, morphology, image statistic and Hough Transform.

II. EDGE DETECTION
Edge detection involves recognizing and locating sharp discontinuities in an image.It is the region of significant change in the image intensity or contrast and it can find areas with strong intensity contrasts Edge detection is utilized in light of the fact that it helps in highlighting and bringing out information about an image.Example of such information's are, highlighting and finding objects presents in the image, their shape, size, image sharpening and enhancement [6].It is also a tool for image segmentation as a result in changes in intensity.In a continuous image, an intensity change between neighboring pixels is known as an edge [7].There are three steps involved in edge detection which are: 1. Image smoothing: For noise reduction, this step involves filtering the image so as to improve the performance of edge detector.2. Detection: This step involves extracting all edge points that are possible Candidates to become edge point.3. Edge localization: This step involves selecting from the candidate edge points only the points that are true members of set of points comprising an edge [7].

III. EDGE DETECTION TECHNIQUES
In this section, edge detection techniques are discussed.Basically, there are four common techniques that have been used by previous researchers especially in image processing for the lane detection.

A. Roberts
These techniques work on the fundamental which says the difference in any set of mutually perpendicular direction could be used to estimate the gradient.Differences between diagonally adjacent pixels are used for the image processing.Also, this technique is one of the oldest and is used in cases where simplicity and speed are major factors for hardware implementation [8].

B. Prewitt
This detector is also one of the oldest and best strategy for locating edges in images.It has two masks, the first one is for locating image derivatives in X and the second one is for locating image derivative in Y.In locating the edges, an image is convolving with both masks, yielding derivative images (dx and dy).This technique is a preferred way of calculating parameters of an edge such as magnitude and orientation.Although differential inclination edge detection needs a fairly tedious count to gauge the introduction from the extents in the x-and y-bearings, the Prewitt edge location gets the introduction specifically from the piece with the most extreme reaction.The arrangement of parts is restricted to 8 conceivable introductions; notwithstanding, tests have demonstrated that most direct introduction evaluations are very little more exact [8].

C. Sobel
These techniques are used based on convolving the image with a little, extractable, and integer valued filter on the horizontal and vertical axis and are relatively cost-effective in terms of computations [8].A 3×3 kernels in which the operator convolves with original image to estimate the derivatives for horizontal and vertical changes.The distinctions are ascertained at the inside pixel of the mask.The 3X3 convolution mask smoothes the picture by some sum, subsequently it is less helpless to commotion.In any case, it produces thicker edges.So, edge detection is poor.

D. Canny
This technique is used in multi-level algorithm to detect different types of edges in a given image.It was developed by John F. Canny [9].This detector is mostly used for various computer vision applications in locating intensity changes and also for finding boundaries in image.This technique sorts out the pixel as an edge if gradient amount of the pixel is bigger than those of pixels at both its sides in direction of intensity change.The process involves smoothing the image to remove the noise.The image gradient is then located, indicating the region of interest with spatial derivatives.These regions are then located, then suppresses any pixel which are not at the maximum.The angle exhibit is presently decreased further by hysteresis.Hysteresis is utilized to locate the rest of the pixels which haven't been stifled.Hysteresis works with two thresholds.at the point when extent is beneath the main edge, it set to zero (made a non-edge).At the point when size is over the high edge, it is made an edge.Furthermore, when greatness is between 2 thresholds, then it is set to zero unless there is a path from this pixel to a pixel with a slope above second threshold.From the procedure, above one might say that computational time involved in accomplishing Canny's set out objectives are high and is a mind-boggling edge detection system.

IV. METHODOLOGY
The objective of this paper is to evaluate the performance of different edge detectors at different conditions in order to find which edge detectors work better.There is therefore the need to know which edge detector performs better in terms of simplicity, image quality and speed.Four edge detectors which are Sobel, Canny, Prewitt and Roberts will be evaluated for edge detection and lane detection based on simplicity; quality of image and time (speed) taken to perform the operation.
From the result obtained, the data could be considered in the development of a multi-system edge detector, which can analyse various road scenes and runs the appropriate edge detector best suited for the current situation.To achieve these, the following stepwise image processing procedures will be carried out on each of the lane images.Most of stepwise is used the functions providing in MATLAB library's function.

V. EXPERIMENTAL RESULTS
The first step on image processing for lane detection is conversion of the image.In this step, the image is converted to grey image for further processing.Figure 1 shows the conversion process from red, green and blue (RGB) image of the lane to Black and white image.By applying the rgb2gray function that is provided by MATLAB library's function, the RGB image is converted to the grey image.Then, the image is further processed by applying the im2bw function to convert too black and white (binary image) in order to prepare for boundary tracing using bwboundaries The second step involves removal of noise using morphological functions these remove pixels which do not belong to the objects of interest.After noise is removed the boundaries would be located by concentrating only on the exterior boundaries.Options like 'noholes' will accelerate the processing by preventing bwboundaries from searching for inner contours.Also, imcrop function was applied on the image in order to get the Region of Interest (ROI).By getting ROI, the number of unwanted objects in the captured image and the amount data to be processed can be reduced.And, the probability of false positive (marking something as an edge which isn't an edge) will be reduced greatly.However, for this research the following proposed methods will be used.
1. Time taken to execute the algorithm for both edge detection and lane detection.2. The probability of a false positive (marking something as an edge which isn't an edge).3. The probability of a false negative (failing to mark an edge which actually exists).
In processing the image, the time it will take to perform edge detection and overall lane detection will be recorded for each of the process.A detailed comparison will be made based on data recorded.Four edge detection techniques were applied to the image and the time it took to detect the edges and lanes were recorded using the toc/tic function and result tabulated as shown in Table 1 and Table 2  From the experimental results obtained, Canny edge technique was the most time consuming process because of amount of false negatives and its high sensitivity of sensing unnecessary objects even after getting the ROI.It gave too many lines outside the road lane, followed by Sobel and Prewitt as shown in Figure 2.While Roberts technique did not only run at the shortest time, but also was the most accurate in detecting lane markings for the same algorithm.2 must be done using the Imfilter function so as to reduce the probability of false positives before detecting the lane.Therefore, by thresholding the image to a suitable threshold value the number of unnecessary object would be reduced greatly.Finally, the lane detection algorithm can now be applied to the threshold image.This process could be time consuming and complex if speed and simplicity are dominant factors for the lane detection algorithm.But in cases where processing speed and simplicity aren't dominant factors, Canny, Sobel and Prewitt could be used for lane detection CONCLUSION From the results obtained, Roberts edge detector proved to be more suitable in terms of simplicity, image quality and speed, whereas Canny, Sobel and Prewitt on the other hand prove to be the more sensitive and time consuming.But in cases where simplicity and speed are not dominant factors, Canny, Sobel and Prewitt could be very suitable and robust for lane detection purposes.Also, these data could be used to develop a multi-edge-detector system, which analyzes the road scene and runs the edge detector best suited for the current lane scene.

Fig. 1 .
Fig. 1.Process of converting the image Then, applying feature extraction such as Hough Transforms by applying Hough lines on the image.The whole steps are repeated for the four edge detector techniques which are Sobel, Canny, Prewitt and Roberts.VI.DISCUSSION OF RESULT Several criteria and factors used for evaluating quality of edge detector have been proposed in literature [10].

Figure 2 :
Figure 2: Edge detection or lane detection for each edge detector However, in the case of Sobel, Canny and Prewitt edge detection technique, further filtering of the image in Figure2must be done using the Imfilter function so as to reduce the probability of false positives before detecting the lane.Therefore, by thresholding the image to a suitable threshold value the number of unnecessary object would be reduced greatly.Finally, the lane detection algorithm can now be applied to the threshold image.This process could be time consuming and complex if speed and simplicity are dominant factors for the lane detection algorithm.But in cases where processing speed and simplicity aren't dominant factors, Canny, Sobel and Prewitt could be used for lane detection

TABLE 1 EDGE
DETECTION ALGORITHM BASED ON TIME EVALUATION

TABLE 2 LANE
DETECTION ALGORITHM BASED ON TIME EVALUATION