码迷,mamicode.com
首页 > 其他好文 > 详细

Finding Lane Lines on the Road

时间:2018-02-06 12:56:37      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:written   order   技术   margin   follow   record   work   lag   been   

Finding Lane Lines on the Road

The goals / steps of this project are the following:

  • Make a pipeline that finds lane lines on the road
  • Reflect on your work in a written report

Reflection

1. Describe your pipeline. As part of the description, explain how you modified the draw_lines() function.

My pipeline consisted of 5 steps. First, I got a image-copy and converted the images to grayscale:

技术分享图片

 

Then I used gauss blur to reduce the noise point

技术分享图片

 

At first ,the kernel size I’v been used was 5,but there was still have some noise point so I turned it to 7.

The next step is to get the region of interest I used function as blew

技术分享图片

Then I use houg_lines function to find lines , and combine two image together.

技术分享图片

In order to draw segmented or solid line I change the hough_lines function , adding a parameter flag like the code blew. When the flag eques 1 , the function use the draw_lines2() which is I modified the draw_lines().

技术分享图片

In the draw_lines2() function ,I use slope to distinguish between left and right. If the slope was greater than 0.5 it might be the right line. And if it less than -0.5 I consider it belongs to left. The slope in the [-0.5,0.5] , for example slope == 0, are wrong numbers .

技术分享图片

Knowing slope and bias can I calculate x for any y that I know, and with the two point which are at the beginning and the end of the line I can draw a single line segment. So , at first, the average of slope and bias was used . but in some frame it might not work well . The other problem is the line shook in the videos. Then I use the np.ployfit() to find the slope and bias in draw_lines2 function.

技术分享图片

It works well in the single frame ,but it still shook as if they were been struck by an earthquake! I’m very upset…….T^T

But life goes on.

Finally I got two ideas. I write them in function find_top_and bottom_point()

技术分享图片

In this function I use two ways to make the bias and slope robust. One way is using two global queues with max-length of 5 to save the past 4 frames‘ bias and slope and bias. The current slope is the average of the past 4 and 1 current frames. The current bias is the same

Other way is to use the old and new slopes combining to generate the slope. The Formula is globlas_slope * 0.4 + slope * 0.6 .The globlas_slope was the one in the previous fram.

 技术分享图片

技术分享图片

globals_slope_r and globlas_bias_r are lists used to record the slope and bias of adjacent 5 frames. globals_slope_l and globals_bias_l are float parameters to use the formula. Both of them work well.

技术分享图片

The right was using formula and the left line using the queue. I think using queue is better than using formula . It was more robust.

2. Identify potential shortcomings with your current pipeline

I think there are many shortcomings in my curruet pipeline.

First of all, the worst one is that can not work well with the challenge! There are many noise point in the challenge. So when I use hough_lines() function to find the line it show many short line that are’t the lane line.The solution I will talk in next part.

Another potential shortcoming would be that many parameters were fixed. This will cause the program to fail in many case: the lane Line region  changed, the illumination changed ,the road may white also ,there is a car in the font and so on……..

3. Suggest possible improvements to your pipeline

A possible improvement would be to use color_select. In challenge , only few objects were in the white or yellow. If I use it, I think it may reduce many noise points.

I think I can use contours to reduce some miss-finding. The line area size may in an interval of one scense.

 

Finding Lane Lines on the Road

标签:written   order   技术   margin   follow   record   work   lag   been   

原文地址:https://www.cnblogs.com/flying-billy/p/8421550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!