Udacity自动驾驶课程笔记(二)--计算机视觉和深度学习

无人驾驶工程师课程

Welcome 课程

通常课程的第一课基本上都是一些常见的套路,课程引入、一些作业的政策、honor code等等。
无人驾驶课程包括了很多福利,包括纳米学位的导师制,project的介绍、career方面的福利,论坛支持和作业的deadline policy。反正是福利很多,Udacity 把平台给学生们搭建好了,为学生的技术交流,职业发展提供了一个很好的平台和支持。
最后,还有一个介绍无人驾驶比赛DARPA的记录片–The Great Robot Race. 需要看哈。

热身Project-Finding Lane Lines

最开始的是一个车道线识别的热身小项目,其中用到了最基本,最常见的计算机视觉的知识。

值得一提的是: 该课程中最常用的编程语言是python。python语言简单高级,更重要的是python语言有很多计算机视觉和机器学习的处理库,更易于快速的验证自己的算法。

Canny 边缘检测

对于一幅图像,想要提取一些有用的信息,其中边缘检测是一个很长哟个的方法,比如提取车道线。
首先看原图:
Udacity自动驾驶课程笔记(二)--计算机视觉和深度学习_第1张图片

opencv-python库中带有canny检测的函数,可以利用该函数对其进行边缘检测。

  • canny边缘检测

具体的函数实现代码我就不贴了。
大概的流程是:

Created with Raphaël 2.1.2 Start 读取图像 转为灰度图cv.CvtColor 高斯滤波 Canny检测 End

一些边缘检测的算法实现可以参见Python-OpenCV 处理图像(五):图像中边界和轮廓检测

Udacity自动驾驶课程笔记(二)--计算机视觉和深度学习_第2张图片

Hough Transformation

在Canny边缘检测的基础上,想要提取出一些有用的信息,比如圆,直线等特征,可以利用霍夫变换进行操作。

  • 霍夫线变换

利用霍夫线变换:

lines = cv2.HoughLinesP(edges, rho, theta, threshold, np.array([]),min_line_length, max_line_gap)

Udacity自动驾驶课程笔记(二)--计算机视觉和深度学习_第3张图片

最终处理的结果是杂乱的,这时候需要进行再处理。可以将感兴趣的区域进行霍夫变换,用到opencv的cv2.fillPoly()函数。
Udacity自动驾驶课程笔记(二)--计算机视觉和深度学习_第4张图片
Udacity自动驾驶课程笔记(二)--计算机视觉和深度学习_第5张图片

处理视频流,最终的project

利用anaconda安装python3和udacity提供的该项目的环境。
具体的链接地址我就不提供了。

然后开始做项目。

你可能感兴趣的:(DL,路径规划,无人驾驶工程师)