A Lane Tracking Method Based on Progressive Probabilistic Hough Transform

,


I. INTRODUCTION
over the past few years, Advanced Driver Assistance Systems (ADAS) has emerged as an important research field to enhance automotive safety [1]. With the objective of traffic accidents avoidance, ADAS include a lane departure warning to alert drivers to take a corrective action when the vehicle tends to drift off a lane. However, effective lane detection is very challenging, due to the following factors: (i) types of roads, such as highways, urban roads, and unstructured roads; (ii) different lighting conditions, e.g., backlighting or low light condition; and (iii) occlusion caused by various obstacles, such as passing traffic, pedestrians, or shadows. Many approaches have been proposed to address these challenges The associate editor coordinating the review of this manuscript and approving it for publication was Lefei Zhang . by employing various technologies such as Global Positioning System (GPS), Light Detection and Ranging (LiDAR), as well as optical sensors, i.e., cameras [2]. The main advantage of employing GPS or LiDAR is that regardless of the weather condition the data is directly acquired. However, while the resolution of GPS images is only 10-15 m, the signal may get interrupted as when a vehicle goes through a tunnel. Although, LiDAR is popularly used due to its high resolution images, and highly reliable sensor, the cost is very high. The most typical passive sensor is an optical sensor, like a camera [2]. A standard vision-based Lane Departure Warning System (LDWS) is mainly composed of three parts: Lane detection, lane tracking, and lane departure warning [3]. Sequences of road images are captured by an onboard-camera installed in the high up of the windshield, and lane departure alerts occur to protect the driver from VOLUME 8, 2020 This work is licensed under a Creative Commons Attribution 4.0 License. For more information, see https://creativecommons.org/licenses/by/4.0/ some unintended dangerous driving situations. Vision-based approaches, such as Standard Hough Transform (SHT) [4]- [6], Inverse Perspective Mapping (IPM) [7], Random Sample Consensus (RANSAC) [8], Hyperbola-Pair Model [9], and clustering method [10] are implemented to ensure proper road lane markings detection and tracking. Particle filter [11] and Kalman filter [5], [7] are frequently used for tracking methods. In the absence of road lane markings, the tracking module initializes a new road lane candidate and finds out settings of the traffic lane for the current frame based on previous states. These approaches perform well under satisfactory road conditions such as clear markings and few obstacles. However, in the case of different lighting conditions, the performance of these modules drops while the computational complexity rises. In this paper, we propose a passive type of vision-based real-time lane detection and tracking, where different lighting conditions, and different road types, i.e., straight and curved, are considered [5], [7], [12]. The main contribution of this research is as follows: • In the pre-processing stage, images are transformed to grey scale image and smoothed. Then, edge detection is applied using Sobel filter. Finally, Otsu's thresholding is applied to automatically obtain binary images and to cope with the lighting challenges.
• According to the gradient information obtained by the Otsu segmentation step, we propose to identify a simple Adaptive Region of Interest (AROI) by using a horizon line in order to reduce the computational complexity.
• Since SHT presents a significantly high false positive rate and high computational complexity [4], PPHT is used to cope with these limitations.
• Kalman filter is used to track both borders of each lane markings. This additional lane-tracking step increases the probability to detect lane markings in poor conditions and improves the robustness and the efficiency of road lane detection.
For performance evaluation of the proposed method, clips from real-life Caltech dataset have been used to evaluate the lane boundary detection rate and the time complexity.
The rest of this paper is organized as follows. Section two reviews research work related to detection and tracking of lane markings systems presented in the literature. In section three, we introduce the proposed lane detection and tracking method. Section four discusses the obtained experimental results for different road types (straight or curved) under various lighting conditions. Section five concludes the paper.

II. RELATED WORK
Real time lane detection and tracking has been one of the most active fields for researchers in the last few years. Preprocessing is the first stage of lane detection that is employed to remove irrelevant noise, get accurate road lane information, and to ensure successful detection in the subsequent steps. It includes image smoothing using conventional filters such as Gaussian filter [5], [7], [13], and Median filter [11], [13], [14]. In addition, image segmentation is performed where features such as edge and light intensity are used. Moreover, gradient-enhancing method is applied to extract road lane markings in different lighting conditions [15] using conventional edge extraction operators. Compared to Canny, Robert and Prewitt edge detection operators, Sobel operator is less complicated and less sensitive to noise [4]. The drawback of a Canny edge detector is its sensibility to the edge intensity information [6], [8], which increases the false positives detection. In the case of curved road lane markings, edge detectors are not enough sensitive to different lighting conditions.
After the pre-processing step, the extraction of a Region of Interest (ROI) is performed in lane detection. It is a simple but effective method to reduce redundant image data quantity on the one hand, and lanes always appear within the predetermined region of the image on the other hand. In fact, if the lane detection is done only in the ROI and not in the whole image, the effect of environmental noise such as rain, fog, or other poor weather conditions can be reduced. Previous research works select the ROI as the bottom side of the image [17], [18], while others use the vanishing point detection technique [4], [6], [8], [14] to define the ROI. Estimating a vanishing point can be helpful in detecting lanes, because parallel lines converge on the vanishing point in a projected 2-D image. Generally, these methods perform well on straight road images, but easily disturbed by noise and potentially lead to a detection error in poor road conditions. This can be caused by insufficient quantity of paint used for marking the lane boundary, environmental effects (shadow, or occlusion), or illumination conditions. Once the ROI is confirmed, some lane detection approaches apply Warp Perspective Mapping (WPM) [19], while others apply Inverse Perspective Mapping (IPM) [7], [20] to get the bird's eye view of the road image based on the assumption of parallel lane boundaries. Although, the effective detection portion, such as the lane, can account for approximately two-thirds of the area of the image, it may still contains noise. For instance, if the vanishing points were incorrected, processing time may increases and might leads to incorrect ROI extraction. Therefore, these methods cannot meet the real-time requirements of the automated vehicle. In order to reduce the computational complexity, here, we propose to define a simple and adaptive ROI. This is achieved by using a horizon line, dividing the scene into road and sky regions, that is based on the gradient information obtained by the Otsu process.
Niu et al. [2], [28] used a modified Hough transform to extract lane profile segments and used DBSCAN (Density-Based Spatial Clustering of applications with noise) clustering algorithm. Li et al. [29] introduced a new method of pre-processing and ROI selection using the HSV (hue, saturation, value) color transformation to extract the white features and add preliminary edge feature detection in the pre-processing stage and then select ROI on the basis of the proposed pre-processing. Li et al. [30] proposed geometrical model fitting combined with feature extraction and tracking to deal with low-speed environments. However, these algorithms have not been fully implemented in the efficiency and accuracy of lane detection and do not work properly at night.
Once lane detection and tracking are completed, lane departure warning system alerts the driver for unintended lane departure. However, in the most proposed methods, lane departure can be determined knowing lateral offset [6], [18], [23], vanishing point position [17] and the optical center of the camera [9]. The lateral offset between the primary vehicle's location and its position in various images has to be tracked in real-time. The vanishing point position is the most common solution used to determine lane departure [31]. In order to find the vehicle's horizontal displacement, vanishing point position needs to be compared with those of previous frames, but this process is time consuming. Finally, lane departure is determined based on the center of a road lane and the location of the optical center of the camera.
In order to deal with the above-mentioned limitations, in this paper, an adaptive ROI is proposed that uses a horizon line to effectively reduce the computational complexity and remove noisy segments. Moreover, a modified Hough Transform technique (PPHT) is used to enhance memory efficiency and to improve the computational time [4], [10], [32]. In addition, an adaptive threshold is is employed for binary images segmentation [33]. Lastly, we apply a trust Otsu method for edge detection to cope with the lighting problems mentioned in [27].

III. PROPOSED METHOD
The proposed method is composed of three main steps: preprocessing, adaptive ROI setting and lane markings detection and tracking using PPHT. The flowchart of the proposed method is shown in Fig. 1.

A. PRE-PROCESSING
In several cases, images contain noises due to not suitable conditions: low light, too much clarity or poor weather conditions (rain, fog, etc.). Noises significantly affect the visual quality of images, and accordingly the performance of most image processing tasks. Therefore, a useful preprocessing step is used to recover lost image information and to enhance image details. In addition, smoothing is part of pre-processing techniques intended for removing noises without losing image information. On the other hand, sharpening is used to improve image visual appearance and to highlight or recover certain details of the image. However, sharpening method over a noisy image may further amplifies the noise present in it [34].
Images captured in hazy or foggy weather conditions can be seriously degraded, thus reduces color contrast. A large number of image dehazing methods have been proposed, but often require a long processing time. Tan [35] proposed an effective image dehazing method based on two prior conditions. The first condition is that the contrast in the image without fog should be higher than that of the foggy image. The second condition is that the attenuation of field spots is a continuous function of distance that should be smooth. Fattal [36] presented a method for estimating the transmission in hazy scenes taking into consideration that the medium transmission function and the surface shading are locally and statistically uncorrelated. He et al. [37], [38] proposed a Dark Channel Prior (DCP) algorithm that can effectively overcome the deficiencies of the above two algorithms (proposed in [35] and [36]) to some extent. The VOLUME 8, 2020 dark channel principle is sourced from a remote sensing image and an underwater image is used to summarize the rules from a natural image with no fog. Dong et al. [39] proposed an efficient traffic video dehazing using adaptive dark channel prior and spatial-temporal correlations method to speed up the dehazing process proposed in [35]- [37]. The method can restore the video with a resolution of 640 × 480 at about 57 frames per second (17,54ms/frame), which is too slow to be used in real-time scenarios. Hence, exploiting image dehazing methods with universality, robustness and real-time performance in lane detection and tracking will be a challenging task in the future [40].
Therefore, a useful smoothing step based on median [41] or Gaussian [42] filter is used. The objective is to enhance the contrast and to reduce the noise followed by an RGB to gray scale image in order to reduce the processing time and segmentation to binary images [24].
Once the grayscale image is created and smoothed, some classical segmentation operators such as Sobel, Canny and Prewitt filters can be used to detect edge information. In order to choose the better operator, we must first know which edge detectors perform better in term of true/false positives detection rate and processing time. The performances of the three operators were evaluated based on the following three measures: True Positive Rate (TPR), False Positive Rate (FPR) and the time complexity [43]. TPR refers to the probability of correctly detected lane markings. FPR refers to the probability of falsely selecting a given object or contours such as vehicles, trees or electrical poles, as lane markings. TPR and FPR are computed by using (1).
where TP is the number of true positive detections, FN is the number of false negative detections, FP is the number of false positive detections and TN is the number of true negative detections. The three operators were tested using 450 frames, and 640 × 360 input image size. After segmentation, we have used PPHT to detect lane markings, without other refinement stages and results are shown in Tab. 1 The Sobel operator gives 91% TPR, 7% FPR and 19ms processing time, The Canny operator gives 82% TPR, 64% FPR and 52ms processing time, and the Prewitt operator gives 88% TPR, 61% FPR and 48ms processing time. In terms of the TPR, the three operators are quite similar. However, in terms of the FPR, Sobel edge detector outperforms the other operators. In fact, Canny and Prewitt filters are very sensitive to irrelevant objects as well as lane markings, which rapidly increases the number of false positives. The Canny and Prewitt operators are also computationally expensive compared to Sobel edge detection algorithm [44]. Conversely, the Sobel operator is less sensitive to noise and less complex than Canny and Prewitt operators, and it is able to detect the main markings [4]. Hence Sobel operator is suitable to extract road lane information in real-time and to improve system performance under different lighting conditions.
To deal with the lighting problems and to efficiently segment binary images, Otsu method is used to reduce computation time and to remove noise [27]. The Otsu process searches for the threshold that minimizes the intra-class variance to obtain a binary image [45]. Therefore, pixels are split into two classes C 1 and C 0 : maximum level (typically 255) and minimum level (typically 0) as background and foreground respectively. The average value in a binary image is obtained using formula (2).
where µ i are the average gray value of the background and the foreground, ω i are the existing probabilities of the classes C 0 and C 1 obtained by the relative number of pixels by the threshold T . The value of T is set using formula (3).
where L are the gray levels, p(µ i ) = n i /N is the probability of occurrence of gray scale µ i . n i are the pixels with grayscale µ i , and N is the total number of pixels. Image segmentation is performed when the threshold T is obtained.

B. HORIZON LINE DETECTION AND AROI SETTING
Given that the on-board camera was installed on the top of the windshield, input images contain useless background information, such as the sky, trees and electrical poles, on both sides of the road. After edge detection, this substantial redundant information still remains in the image. In order to lower image redundancy and reduce algorithm complexity, we can set an Adaptive Area of Interest (AROI) on the image. We only set the input image to the AROI area and this should increase the accuracy of the system and shorten the consumption time of the subsequent image processing steps. In this paper, we establish an AROI using a horizon line that effectively removes noisy line segments and reduces the computational complexity. The road region pixels usually show more intensity than sky region pixels. Hence, we use the horizon line to divide the scene into road region and sky region. This step has two main advantages: it reduces the effect of lighting conditions, and the influence of the sky region (artificial light at night-time, blue sky in daytime), as well as reducing the computation time. In this work we use the Vertical Mean Distribution (VDM) method proposed in [46] to identify the horizon line. The VMD is determined by using (4).
where VMD(i) is the average gray of each row. W and H stands for the width and the height of the original image respectively. I G (i, j) are the pixels intensity obtained by Otsu threshold process. The illustration of the AROI setting for road region is presented as follows: where I AROI (x,y) and y hl represent edge pixel in the selected AROI, and a vertical coordinate of the horizon line respectively. Fig. 2 shows the obtained horizon line (Violet line) under various lighting conditions. Fig. 2a and Fig. 2b show an example of AROI setting results based on the VMD technique applied on images from the Caltech dataset in urban road at day and night time respectively. This method is efficient and more convenient compared to vanishing point detection due to the reduced computation time.

C. LANE MARKINGS DETECTION AND TRACKING
PPHT is used to extract the straightest lines in the AROI. It allows to group edge features into an appropriate set of segments. This process is followed by a classical K-means clustering algorithm to fix the road lane. Therefore, we need to choose two lines (right and left side) only from the lines provided by PPHT with specific angles and lengths.

1) PROGRESSIVE PROBABILISTIC HOUGH TRANSFORM
Standard Hough transform is designed to detect straight lines [47], but with some modification it can be used to detect other arbitrary shapes. The basic principles of Hough Transform are shown in Fig. 3. Each point of the straight line crossing the point (x 0 , y 0 ) and the point (x 1 , y 1 ) (Fig. 3a) corresponds to a straight line v = −x 0 u+y 0 and a straight line v = −x 1 u+y 1 on the (u, v) parameter space after Hough Transformation (Fig. 3b). These two lines intersect at the point (u 0 , v 0 ), where u 0 and v 0 are the parameters of the line determined by the points (x 0 , y 0 ) and (x 1 , y 1 ) respectively. On the other hand, the straight lines v = −x 0 u + y 0 and v = −x 1 u + y 1 where the parameter space (u, v) intersects at the same point and the collinear points in parameter space (x, y) are corresponding [48]. According to this characteristic, given some specific points in Fig. 3a, the line equations connecting these points in Fig. 3b can be calculated by using Hough transform.
Duda et al. [49] propose that straight lines can be parameterized by (ρ, θ). The mapping relations between image point (x, y) and (ρ, θ) parameter space ( Fig. 3c and Fig. 3d respectively) satisfy the following: where (x, y) are coordinates of nonzero pixels in binary image, ρ is the distance between the x-axis and the fitted line, and θ is the angle between x-axis and the normal line.
As shown in Fig. 3, the Hough transform transforms the points of the image from the Cartesian parameter space (Fig. 3c) into the polar coordinate parameter space (Fig. 3d). The collinear point (x 0 , y 0 ) and point (x 1 , y 1 ) in Fig. 3c intersect at the same point (ρ 0 , θ 0 ) (Fig. 3d). Here, ρ and θ are the polar parameters of the desired straight line [42].
Hough Transform employs a voting procedure where all edge pixels vote to identify a certain class of shapes in the image. The algorithm for detecting straight lines can be divided into the following steps: • Edge detection, e.g. using the Sobel edge detector. • Mapping of edge points to the Hough space and store in an accumulator. VOLUME 8, 2020 • Interpretation of the accumulator to yield lines of infinite length. The interpretation is done by thresholding and possibly other constraints.
• Conversion of infinite lines to finite lines. SHT provides inaccurate results in curved lane detection [4], [6], [13]. In fact, it takes into account all edge pixels, which increase the computational complexity and generates undesired markings candidates. On the other hand, PPHT is employed to efficiently detect both straight and curved lanes [5], [32], [50]. As developed in [50], PPHT algorithm uses only a small amount of randomly selected edge pixels compared to SHT. In particular, the PPHT improves the process of SHT by minimizing the number of voting pixels. It is initialized by a subset of randomly selected pixels, then, SHT is performed on the subset. PPHT accumulates only a small fraction of pixels as candidates of the lane markings, which improves the computation time. In this work, PPHT usually returns 5 to 15 lines while SHT returns 30 to 50 lines. The PPHT algorithm proceeds as follows: 1) Randomly, select a new point from the input image for voting in the accumulator array, with contributions to all available pair of (ρ, θ). Then update the accumulator and remove the selected pixel from the input image. 2) Check if the highest peak (the pair of(ρ, θ) with the most voting points) in the updated accumulator is greater than a predefined threshold T(N). If not return to Step1. Pt 1 ) from the accumulator, which means those points are not part of any other voting process. 6) If the selected segment is longer than a predefined minimum length, then take the segment (Pt 0 − Pt 1 ) as one of the output results. 7) Return to Step1. The flowchart of the PPHT is shown in Fig. 4. A Lane is extracted by identifying the cells in the PPHT accumulator that appears in the AROI. Therefore, the orientation angle threshold (θ ) of edge pixels is used to determine the left and right lane markings as illustrated in (5) and (6).
where  (5) and (6). PPHT processes only lines with qualified length and removes undesired lines as shown in Fig. 5a. In fact, lines with an orientation angle that exceed the pre-defined threshold are considered as noise using (7).
where T 0 and T 1 are the pre-defined angle limits, (x i , y i ) and (x (i+1) , y (i+1) ) are the coordinates of end-points (Pt 0 , Pt 1 ). Experimentally, we used images of 640 × 360 pixels, the predefined threshold for the left lane markings is set to 0.25 for T 0 and 0.80 for T 1 (i.e., the angle between the lines and the car orientation is approximately set between 15 and 60 degrees). The pre-defined threshold for the right lane markings is set to 1.10 for T 0 and 1.19 for T 1 (i.e., the angle between the lines and the car orientation is approximately set between 115 and 145 degrees). Fig. 5a and Fig. 5b show the experimental results of edge detection and noise cancellation using PPHT and orientation angles.

2) K-MEANS CLUSTERING
PPHT does not take into account pre-defined angle thresholds along with the number of voting pixels in the accumulator. This can lead to unwanted lines for various reasons such as insufficient amount of marking lines, blurred images and passing vehicles. These noisy lines with unqualified angles can be removed using K-means clustering technique [51] as shown in Fig. 7a. K-means clustering algorithm is used to classify edge pixels into two groups: left and right lane. Zhao et al. [51] proposed a conventional cluster algorithm to localize the lane lines using a K-means clustering algorithm.  In edge pixels, the set of lane markings S is defined by (8).
S = {S k |(P(x ks , y ks ), P(x ke , y ke )) } , k = 1, 2, 3, . . . (8) where K is the total number of segments in S, P(x ks , y ks ) and P(x ke , y ke ) are the first and the last pixels of the K th edge respectively. K-means cluster algorithm flowchart is as illustrated in Fig. 6. Let us choose the number of clusters as K = 2. Two edge pixels are selected as initial cluster centers of each lane markings. The remaining edge pixels are assigned to their closest cluster center according to the orientation equation (9). min L(d, θ) = d (P(x ke , y ke ), P(x ke , y ke )) + θ P(x ke , y ke ), P(x (k+1)s , y (k+1)s ) (9) With 0 ≤ d (P(x ke , y ke ), P(x ke , y ke )) ≤ λ where d is the margin between the point S (k+1)s and the tangent I k , θ is the difference of angles between two arbitrary lines I k and I (k+1) , and λ is a constant, as shown in Fig. 7c. In order to reduce the number of unnecessary line segments in the adaptive ROI, an arbitrary pair of line segments is selected from the linking process. Adequate lane markings are tracked using the classical K-means clustering technique. For this purpose, two-lane markings are selected from the set of lines obtained by PPHT with adequate lengths and angles as shown in Fig. 7b. Experimental results show that this method provides the pair of lines with the highest lane candidates probability for the next step.

D. LANE BOUNDARY ESTIMATION USING KALMAN FILTER
Lane tracking increases the probability to detect lane markings in poor conditions. Intensive research studies using Kalman Filter (KF) [5], [14], [26] or Particle Filter (PF) [51] have been done. In order to increase the fidelity and the efficiency of lane detection system, KF is used to track both limits of each lane markings extracted by PPHT. Based on previous state and current measurements, KF predicts the post-state with updating the covariance matrix. According to [14], [52], the relation between the state of a model at time k and its state at time (k − 1) can be expressed by (10). (10) where F k is the state transition matrix to be applied to the previous state vector x (k−1) ; B k is the control matrix to update the external control vector u k ; W k is the process noise with a covariance of Q k given by (11).
In our proposed method, the process noise W k resulting from lane detection can be considered as Gaussian distribution, which makes the lane tracking based on Gaussian stochastic process. We use two KF for the two side lane markings given by PPHT, with Pt 1 (X Pt1 , Y Pt1 ) and Pt 0 (X Pt0 , Y Pt0 ) are respectively the start point and the end point of a given line segment, respectively. The state vector x k for our system for one single lane boundary K at time t is defined by (12).
where X and Y are the derivative forms of X and Y representing the lateral speed of the lane boundary movement.
Experimentally, the best value that satisfies tracking is 0.2, the state transition model F k ∈ R 8×8 used in our system is given by (13). With The control matrix B k and the control vector u k in (10) will not be taken into account, because there is no input from external control in our proposed system.

E. LANE DEPARTURE WARNING SYSTEM (LDWS)
Lane departure warning is set based on the angle values between the middle horizontal axis and the road lane boundaries. Let C be the lane width, c the departure condition and α is the position of the middle lane relative to the axis X c of the vehicle. The vehicle position with respect to the left and right lane markings is obtained using (14) [53].
where θ l and θ r are the angles of the left and right lane markings with respect to the horizontal axis. Let us consider θ to be the sum of θ l and θ r (used to determine the vehicle's orientation) and T d is the adequate threshold value. If θ is lower than −T d , the vehicle drifts to the left, while if θ is higher than T d , the vehicle drifts to the right, and a lane departure warning is activated.

A. DATASET AND SETTING
Different datasets in various environments and lighting conditions were analyzed to evaluate the proposed method as shown in Tab.2. The vehicle light and street features as well as weather and time can make artificial light changes. On the other hand, the road nature influences the driving assistance system. In fact, normal roads are characterized by clear and straight lane markings, while urban roads are usually curved with high noise level markings. The system was subjected to various experimental settings representing realistic constraints. For example, traffic light, obstacles and pedestrians, as well as various roads types such as highways, local city roads, and tunnels. The publicly-available datasets; Caltech [7] and SLD 2012 [12], which contains complex road scenarios like intersections, bright spots and night were used in order to compare our method with others. Datasets images were captured with a resolution of 640 × 500, 640 × 480, 640 × 360, and 1280 × 800 pixels. The experiments were carried out on an Intel Core i7-2630QM CPU, 8GB RAM and Windows 7 64-bit operating system, using the software Opencv and C/C++ language.
where MD is the missed detection, ID is the incorrect detection, C is the successfully detected images in the dataset, and N is the full dataset images.  Experimental results show that Sobel-based edge detection with Otsu algorithm (method A) overcomes Sobel-based edge detection (method B) and Canny-based edge detection (method C). The Canny and Sobel operators suffer from high computational time complexity and higher ILD. The detection rate increases to 91.70% (day) and 90.48% (night) for the method (A), which decreases the ILD to 1.41% (day) and 3.84% (night). On the other hand, the detection rate decreases to 81.17 % applying method C, which increases the ILD to 11.33% (day) and 12.43% (night). In fact, the objective of the Otsu algorithm is to cope with the lighting problems, shadow and noise. The incorrect detected lane markings percentage for method (B) using Sobel operator is 6.47% (day) and 8.29% (night) whereas the incorrect detected lane markings percentage for method (C) using Canny operator is 11.33% (day) and 12.43% (night).
The proposed algorithm is mainly composed of three steps (pre-processing, AROI detection and setting, lane detection and lane tracking), two quantitative indexes are used to evaluate the performance of each method (A, B and C): the detection rate (%) and the time complexity (ms). Fig.8 shows the execution times of the main modules of the proposed method. These times were measured on an Intel Core i7-2630QM CPU with 8GB RAM using only a single core. The proposed method requires a total execution time of 21.54 ms/frame. Pre-processing and lane detection steps take the longest time (7.42 ms and 10.3 ms in average respectively), while the time consumption of AROI setting and lane tracking steps is relatively shorter that is 1.46 ms and 2.36 ms in average, respectively. On the other hand, the proposed algorithm maintains the shortest time consumption at day and night for method A. In fact, the time consumed by the algorithm increases significantly when the Incorrect Lane Detection (ILD) increases as shown in Tab.3.
If time complexity and ILD reduction are our major concern, the Sobel-based edge detection with Otsu algorithm is

C. COMPARISON WITH OTHER METHODS
The comparative analysis was carried out in two-lane modes, in which the lane detection only applied to the two boundaries of a lane on Caltech dataset. All images have the size of 640 × 480 pixels. We compared our results with the methods described by Aly [7] in 2008; Yoo et al. [15] in 2013; Li et al. [30] in 2018; Hoang et al. [54] in 2016; Son et al. [6] in 2015; Hou et al. [55] in 2016; Shin et al. [19] in 2015; Guo et al. [56] in 2015; Liu et al. [57] in 2013 and Ruyi et al. [58] in 2011 under Caltech lanes dataset. Comparison results are summarized in Tab. 5. The main reason behind selecting these approaches to compare our to is that Aly [7] generated the public Caltech lanes dataset for evaluation and most researchers evaluated performance of their lane detection method using this dataset. On the other hand, the selected state-of-the-art lane detection methods were implemented in a highly optimized environment OpenCV and C++.
Son et al. [6] proposed method to extract lane markings using Canny operator and Hough Transform under different lighting conditions. Yoo et al. [15] use gradient-enhancing conversion method to deal with lighting changes and extract lane markings using an adaptive Canny operator, Hough transform, and curve model fitting to extract lane markings. Aly [7] use inverse perspective mapping (IPM) and RANSAC model fitting to extract lane markings. Li et al. [30] use symmetrical local threshold (SLT) and Bresenham line voting space (BLVS) to locate and detect the lane markings, while the Kalman filter is used to track the key points of the linear and curved parts of the lane. Hoang et al. [54] use the LSD method to make the proposed system robust to occlusion. Shin et al. [19] proposed the use of multiple particle filters for detecting left and right lane borders separately.
As shown in Tab. 5., the average lane detection rate of the proposed method outperforms the most of the state-of-the-art   detection methods and is about 2% lower than some other methods. It is mostly due to state-of-the-art lane detection methods used sophisticated processing environment such as 2 to 4 cores higher processor clock speed and some methods like Shin et al. [19]; Ruyi et al. [58] applied tracking stage after detection stage for enhancing lane detection rate. The proposed method achieved comparable results in average lane detection rate at 93.82% with real-life datasets.
However, our method outperforms most of the state-of-theart lane detection methods in computation time. The average computation time of the proposed method under Caltech lanes dataset is 21.54ms per frame. Some of state-of-theart lane detection methods used top-view based approach for enhancing lane detection rate, which required intensive computing power and increase the processing time per frame. It is noted that real-life datasets contained smaller resolution frame images of 320 × 180 and resulted shorter average processing time per frame. Hence, our lane detection method with shorter processing time is an ideal for real-time implementation for lane detection applications. In the near future, we will try to test the proposed method using a progressive framework based on convolutional neural network (CNN) model [59]. Results can be improved using nonlinear descriptor systems with process disturbances and measurement output noises [60].

V. CONCLUSION
This paper addresses the problem of straight and curved lane detection and tracking under different lighting conditions through the proposed solution. In order to exhaustively exploit information on input images and to decrease computational complexity, horizon line and adaptive ROI are defined and used to ensure reliable real-time system. Progressive Probabilistic Hough Transform is defined as the main algorithm to extract boundary information is defined and used to detect road lane markings edges and to meet real-time system conditions. Otsu's threshold is also used to obtain gradients information, to deal with lighting problems and to enhance pre-processing results. We have also introduced K-means cluster process to locate the current lane markings. Moreover, Kalman filter is employed to track lane boundaries in the adaptive region of interest using PPHT. Based on lane boundaries, we can decide if the vehicle drifts off the lane using the vehicle's position. The proposed method ensures an accurate lane tracking; gather reliable information about the vehicle orientation to correctly indicates a lane departure. The system works properly under various lighting conditions, presents the best detection rate (93.82%) and reduced computation time (21.54ms/frame). However, the Sobel filter and PPHTs require much processing time in our proposed system. Our future work is therefore focused on the hardware/software implementation of the proposed road lane markings detection and tracking system using the Xilinx Zynq SoC in order to reduce the processing time and power.