开放式简历 |实时道路车道检测
介绍
自动驾驶汽车是人工智能领域最具颠覆性的创新之一。在深度学习算法的推动下,它们不断推动我们的社会向前发展,并在移动领域创造新的机会。自动驾驶汽车可以去任何传统汽车可以去的地方,并且可以做有经验的人类驾驶员所做的一切。但是正确地训练它是非常重要的。自动驾驶汽车训练过程中涉及的众多步骤之一是车道检测,这是初步步骤。今天,我们将学习如何使用视频进行车道检测。
车道检测涉及以下步骤:
- 捕获和解码视频文件:我们将使用 VideoCapture 对象捕获视频,并在初始化捕获后对每个视频帧进行解码(即转换为图像序列)。
- 图像灰度转换:视频帧为RGB格式,RGB转换为灰度是因为处理单通道图像比处理三通道彩色图像要快。
- 减少噪音:噪音会产生错误的边缘,因此在进一步之前,必须执行图像平滑处理。高斯滤波器用于执行此过程。
- Canny Edge Detector:它计算我们模糊图像的各个方向的梯度,并跟踪强度变化很大的边缘。更多解释请阅读这篇文章:Canny Edge Detector
- 感兴趣区域:此步骤仅考虑道路车道覆盖的区域。这里创建了一个蒙版,与我们的道路图像具有相同的尺寸。此外,在我们的 canny 图像的每个像素和这个掩码之间执行按位与运算。它最终掩盖了精明的图像并显示了由面具的多边形轮廓追踪的感兴趣区域。
- 霍夫线变换:霍夫线变换是一种用于检测直线的变换。此处使用概率霍夫线变换,它将输出作为检测线的极值
数据集:数据集由道路的视频文件组成。
您可以从此 GitHub 链接下载数据集 – 数据集
现在让我们开始执行过程:
- NumPy:默认带有 anaconda
- Matplotlib:要安装 matplotlib,请在命令行中输入“pip install matplotlib”
- OpenCV:它可以通过两种方式安装,使用 anaconda 或使用 pip。
要使用 anaconda 安装,请键入“conda install -c conda-forge opencv”,或者要使用 pip 安装,请键入-
“pip install opencv-python”到你的命令行