I’m all for practical learning by building things. There’s nothing like getting stuck into a project and seeing results. Whilst a little progress is a good motivator, it also shows you how much it is that you don’t know.
I was pleased with the results of my first project doing the Udacity Self Driving Car Engineer Nanodegree. Yet what was more pleasing was being shown how much experimentation is really required. That is that is so much to learn.
This first module was about understanding some of the principles of computer vision that apply. We first started with Canny Edge Detection
and then Hough transform to detect lines within a region of interest.
The first project was to apply this learning, first to set of static images and then to a couple of videos captured whilst driving on a highway.
How cool is the final result .
I submitted my Jupyter Notebook for review. To pass you need to ensure that you meet specification. I passed here is the review feedback.
Some of my reflection thoughts on what can be improved in a future iteration of the project:
- look for the road horizon starting from bottom centre of the image working up – asphalt has a fairly unique colour
- break ROI into left and right lanes earlier – seems that at least with driving on a highway without lane changing that we can assume with confidence where they should start at the base of the image
- segment each ROI into chained vertical blocks of a smaller width
- when drawing connect intersection of cv2.fitLine lines
- increase number of segments if lanes are curving left or right
- label the lines with colour and type – continuous, dashed etc
- feed the previous result into the evaluation of the next image
- determine when an image has no lanes that could be considered reasonable
- lane changing and entering a lane from a curb needs more though
- if using smaller more specific left and right lane ROIs should allow for following a vehicle
- not sure how rain affects this – might have to do a test and capture video in a tropical down pour this storm season
- this approach wouldn’t work in snow. would require a different approach
Its still early yet in the nano degree but I’m hooked already. Happy coding and driving.