这篇文章是关于自动驾驶汽车车道检测的深度学习解决方案

即使在各种各样的条件下,人们也可以很容易地在道路上找到车道线。但是计算机并不容易。阴影,眩光,道路颜色的细微变化,线条的轻微障碍物……人们通常仍可以处理的所有事物,但计算机可能会遇到很大困难。

识别道路上的车道是所有人类驾驶员执行的一项常见任务,从而确保交通畅通并最大程度地减少与附近车道其他汽车相撞的机会。同样,自动驾驶汽车的执行也是至关重要的任务。事实证明,使用众所周知的计算机视觉技术可以识别道路上的车道标记。我们将介绍如何使用各种技术来识别和绘制车道内部,计算车道曲率,甚至估计车辆相对于车道中心的位置。

为了检测并绘制一个具有汽车当前所在车道形状的多边形,我们构建了一个由以下步骤组成的管道:

  • 从一组图像中计算摄像机校准矩阵和失真系数
  • 图像失真消除
  • 聚焦于车道线的颜色和渐变阈值
  • 通过透视变换产生鸟瞰图像
  • 使用滑动窗口来查找车道线像素
  • 拟合二阶多项式以识别组成车道的左右线
  • 车道曲率和偏离车道中心的计算
  • 图像上车道边界的变形和绘制以及车道曲率信息

相机校准和图像失真消除

当摄像机注视现实世界中的3D物体并将其转换为2D图像时,图像就会失真。 这种转换并不总是完美的,变形会导致物体的外观尺寸,形状或位置发生变化。 因此,我们需要纠正这种失真,以使摄像机能够准确看到图像。 通过拍摄照相机的几张棋盘图像并使用cv2.calibrateCamera()函数来计算照相机校准矩阵,即可完成此操作。

为了计算摄像机的变换矩阵和失真系数,我们使用同一台摄像机在平面上的棋盘多张图片。 OpenCV有一个称为findChessboardCorners的便捷方法,它将识别黑白方块相交的点,并以此方式对变形矩阵进行逆向工程。 下图显示了在示例图像上找到的确定的棋盘角:

对原始图像进行失真校正

在步骤1中收集的摄像机校准数据可以应用于原始图像,以应用失真校正。图3显示了一个示例图像。可能难以看到应用失真校正的影响在原始图像与一个棋盘图像相比,但是如果你仔细看右边的图像进行比较,这种效应就更明显当你看白色的车已经稍微裁剪以及树木失真校正时应用。

对示例图像进行不失真处理之前和之后的结果

使用颜色变换,渐变等来创建带阈值的二进制图像。

该步骤背后的想法是创建一个图像处理管道,其中算法可以清楚地识别车道线。 通过使用不同的渐变,阈值和色彩空间,有多种不同的解决方案。 我在几幅不同的图像上尝试了许多这些技术,并使用了阈值,色彩空间和渐变的组合。 我选择了以下组合来创建图像处理管道:HLS颜色空间中的S通道阈值和HSV颜色空间中的V通道阈值,以及用于检测车道线的渐变。 最终的二进制阈值图像的示例如图4所示,其中车道线清晰可见。

应用渐变和阈值生成二进制阈值图像之前和之后的结果

应用透视变换以生成图像的“鸟瞰图”。

图像具有透视图,即使它们彼此平行,也可以使图像中的车道线看起来像是在一定距离处会聚。 移除此透视图后,更容易检测车道线的曲率。 这可以通过将图像转换为2D鸟瞰图来实现,其中车道线始终彼此平行。 由于我们只对车道线感兴趣,因此我在原始未失真图像上选择了四个点,并将透视图转换为鸟瞰图,如下图5所示。

兴趣区域视角扭曲生成鸟瞰图

检测车道像素并拟合找到车道边界。

要检测车道线,有许多不同的方法。我使用的卷积是两个单独的信号的乘积:窗口模板和像素图像的垂直切片。我使用滑动窗口的方法来应用卷积,这将使每个窗口的热点像素的数量最大化。窗口模板从左到右滑过图像,任何重叠的值求和,创建卷积信号。卷积信号的峰值是像素重叠最高的位置,是车道标记器最可能的位置。方法已被用于识别车道线像素在矫正二值图像。已识别出左右线,并与曲线多项式函数拟合。用滑动窗口方法和多项式拟合重叠识别的线像素的示例图像如图6所示。

滑动窗口拟合结果

确定车道的曲率和车辆相对于汽车中心的位置。

我对车道线的位置进行了测量,并估计了道路弯曲的程度,以及车辆相对于车道中心的位置。我假设相机安装在汽车的中心。

将检测到的车道边界扭曲到原始图像上,并显示车道曲率和车辆位置的数值估计。

从校正图像的拟合已经被扭曲回到原始图像,并绘制识别车道边界。图7显示了正确识别的车道边界,并扭曲回到原始图像。图8显示了带有车道、曲率和从中心开始的位置的示例图像。

检测到的车道线与原图像以及曲率半径和汽车的位置重叠

最终结果

作者:Aniketkhosa

deephub翻译组

自动驾驶汽车的车道检测相关推荐

  1. 边缘检测后去除噪点_Street Lanes Finder - 检测自动驾驶汽车的车道

    作者 | Greg Surma 来源 | Medium ​编辑 | 代码医生团队 在今天的文章中,将使用基本的计算机视觉技术来解决对于自动驾驶汽车至关重要的街道车道检测问题.到本文结束时,将能够使用P ...

  2. python课程 优达学城_优达学城自动驾驶课程项目——车道检测

    汽车在道路上行驶需要遵循一定的行驶规则,路面的车道则起到规范汽车行驶规则的作用.车道的种类有很多种,如单行线.双行线,虚线.网格线等,不同颜色.形状的车道线代表着不同的行驶规则,汽车和行人可以根据这些 ...

  3. 自动驾驶中实时车道检测和警报

    作者 | 小白 来源 | 小白学视觉 未来十年,自动驾驶将彻底改变人们的出行方式. 目前,自动驾驶应用程序目前正在测试各种案例,包括客车.机器人出租车自.动商业运输卡车.智能叉车以及用于农业的自动拖拉 ...

  4. CV:无人驾驶/自动驾驶汽车中涉及的软硬件技术(摄像头、雷达、激光雷达)、计算机视觉技术(检测、分类、跟踪、语义分割)的简介

    CV:无人驾驶/自动驾驶汽车中涉及的软硬件技术(摄像头.雷达.激光雷达).计算机视觉技术(检测.分类.跟踪.语义分割)的简介 目录 无人驾驶汽车中涉及的软硬件结合相关的技术 摄像头.雷达.激光雷达 影 ...

  5. 从联合国法规《自动车道保持系统ALKS》看自动驾驶汽车交通安全保障及对我们的启示 | 聚焦自动驾驶...

    导语:自动驾驶汽车是"传统汽车"和"驾驶人"的结合,其交通安全更多地由车辆中的"机器驾驶人"承担和实现.那么,自动驾驶汽车的交通安全能力要如 ...

  6. 【2022研电赛】兆易创新杯全国二等奖:自动驾驶汽车路面目标智能检测系统

    本文为2022年第十七届中国研究生电子设计竞赛兆易创新杯全国二等奖作品分享,参加极术社区的[有奖活动]分享2022研电赛作品扩大影响力,更有丰富电子礼品等你来领! 团队介绍 参赛单位:Guangxi ...

  7. 自动驾驶汽车可用于处理急转弯的 3 种技术

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 自动驾驶汽车需要感知不同颜色和不同光照条件下的车道线,才能准确检测 ...

  8. 自动驾驶汽车“定位”技术

    本节将介绍自动驾驶汽车的定位技术包括:GNSS(全球导航卫星系统),RTK(实时运动定位)和惯性导航. 图1 定位,是让自动驾驶汽车找到自身确切位置的方法,这对自动驾驶汽车来说非常重要.当你在驾驶一辆 ...

  9. 自动驾驶国家标准将出台,2021年是L3级自动驾驶汽车元年?

    自动驾驶肯定会成为汽车的终极发展趋势,所以现在很多厂商都在花大力气去研发自动驾驶的汽车.目前很多厂商都宣称自己的车达到了L2+级的自动驾驶,有的厂商对外宣称是2.5级,有的则是宣称到了2.9级.但是关 ...

最新文章

  1. Python编程基础:第五十二节 高阶函数High Order Functions
  2. 对js面向对象的理解
  3. SpringBoot整合异步任务实现发送邮件
  4. Flex数据绑定陷阱(一)
  5. 为什么用Object.prototype.toString.call(obj)检测对象类型?
  6. hostPath Volume - 每天5分钟玩转 Docker 容器技术(148)
  7. redhat6.4 安装oracle 10g error
  8. init 0-6 这几个启动级别都代表什么意思
  9. 是不是每个人的成长路上都会有迷茫的阶段?
  10. 这是一个定时器,定时执行一次,用在定时发送邮件
  11. cs架构嵌入bs_CS架构与BS架构
  12. 微信小程序开发制作 | 第1期:下载微信小程序开发工具
  13. 游戏音效制作初学者的福音—入门级软件介绍
  14. 在win10里修改mysql的root密码
  15. xml读取出现中文乱码
  16. 常用的java日期处理
  17. 程序员普遍用gmail_使Gmail更好的最佳Chrome扩展程序
  18. 做本让客户念念不忘的产品手册
  19. Cocos Creator 优化,帧动画优化
  20. 澳门大学计算机语言博士生导师王珊,四年资助百余万!澳门大学人文学院招收博士生(第二批)...

热门文章

  1. Matlab对科氏力建模,A.升级交换机内的软件B.加装一个内部路由器C.在服务器上安装ARP防火墙D.在内部网的每台主机上...
  2. NT平台拨号连接密码恢复原理
  3. 全部HTML代码学习
  4. hive -- 协同过滤sql语句
  5. Three.js + AI:WebGL的探险之旅
  6. 中国私营企业特点有哪些
  7. 计算商场折扣 (分支)
  8. ClickHouse在工业互联网场景的OLAP平台建设实践
  9. 清橙1485 Catch The Penguins 抓企鹅
  10. 大数据特征及基本技能