实时车道线检测和智能告警 | 车距 + 弯道 + 车道线
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者:Priya Dwivedi
编译:ronghuaiyang (AI公园)
导读
车道线检测 + 距离告警 + 转弯曲率半径计算。
代码:https://github.com/MaybeShewill-CV/lanenet-lane-detection
来自模型的车道线预测
介绍
自动驾驶将在未来十年给旅行带来革命性的变化。目前,自动驾驶应用正在进行各种应用案例的测试,包括乘用车、机器人出租车、自动商业送货卡车、智能叉车和用于农业的自动拖拉机。
自动驾驶需要一个计算机视觉感知模块来理解和导航环境。感知模块的作用包括:
检测车道线
检测其他物体:车辆、人、环境中的动物
跟踪检测到的对象
预测他们可能的运动
一个好的感知系统应该能够在各种驾驶条件下 —— 白天/晚上,夏天/冬天,雨雪等等,实时做到这一点。在这篇博客中,我们着眼于一个实时模型,用于检测车道线、其他车辆等,并生成警报。
训练一个实时的车道线检测器
车道检测问题通常被定义为语义或实例分割问题,目标是识别属于车道类别的像素。
TUSimple是车道检测任务常用的数据集。该数据集包含3626个道路场景的标注视频剪辑。每个剪辑有20帧。这些数据是通过安装在车上的摄像头捕捉到的。下面分享了一个示例图像及其标注。
来自TUSimple 数据集的示例图像以及车道线掩码
在这个数据集上,我们可以训练一个语义分割模型来分割出属于lane类的像素。U-Net model非常适合做这个,因为它是一个具有实时推理速度的轻量级模型。U-Net是一种带有跳跃连接的编译码器和解码器模块的编译码器模型。模型架构如下所示。
来自U-Net论文的U-Net模型结构
然而,损失函数需要修改为Dice损失系数。车道线分割问题是一个极其不平衡的数据问题。图像中的大多数像素属于背景类。Dice Loss基于Sorenson-Dice系数,其对false positives和false negatives的重要性相似,这使得它在处理不平衡数据问题时表现得更好。Dice损失试图匹配groundtruth和预测模型中的车道线像素,希望能够得到一个清晰的边界预测。
LaneNet模型
这里,我使用了LaneNet模型来生成车道线。LaneNet模型是一种两阶段车道线预测器。第一阶段是一个编码器-解码器模型,为车道线创建分割掩码。第二阶段是车道先定位网络,从掩码中提取的车道点作为输入,使用LSTM学习一个二次函数来预测车道线点。
下图显示了这两个阶段的运行情况。左边是原始图像,中间是阶段1的车道线掩码输出,右边是阶段2的最终输出。
LaneNet模型的解释
生成智能告警
我将车道线预测与物体检测结合起来,生成智能警报。这些智能警报可能涉及:
检测其他车辆是否在车道线内,并量度与他们的距离
检测邻近车道上是否有车辆的存在
了解弯曲道路的转弯半径
在这里,我使用YOLO-v5来检测道路上的汽车和人。YOLO-v5在检测道路上的其他车辆方面做得很好。推理时间也非常快。
下面我们用YOLO v5来测量自己的车和前面最近的车的距离。模型返回的距离以像素为单位,可以根据相机参数转换成米。由于TUSimple数据集的相机参数未知,我根据车道线的标准宽度估计了像素到米的转换。
距离度量的报警
我们可以类似地计算车道的曲率半径,并将其用于汽车的转向模块。
曲率半径的测量
总结
在这篇博客中,我们探讨了在自动驾驶中准确和快速检测车道线的问题。然后,我们使用YOLOv5来构建对道路上其他物体的理解。这可以用来生成智能警报。
—END—
英文原文:https://towardsdatascience.com/real-time-lane-detection-and-alerts-for-autonomous-driving-1f0a021390ee
本文仅做学术分享,如有侵权,请联系删文。下载1在「3D视觉工坊」公众号后台回复:3D视觉,即可下载 3D视觉相关资料干货,涉及相机标定、三维重建、立体视觉、SLAM、深度学习、点云后处理、多视图几何等方向。
下载2在「3D视觉工坊」公众号后台回复:3D视觉github资源汇总,即可下载包括结构光、标定源码、缺陷检测源码、深度估计与深度补全源码、点云处理相关源码、立体匹配源码、单目、双目3D检测、基于点云的3D检测、6D姿态估计源码汇总等。
下载3在「3D视觉工坊」公众号后台回复:相机标定,即可下载独家相机标定学习课件与视频网址;后台回复:立体匹配,即可下载独家立体匹配学习课件与视频网址。重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的知识点汇总、入门进阶学习路线、最新paper分享、疑问解答四个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近3000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款圈里有高质量教程资料、可答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
实时车道线检测和智能告警 | 车距 + 弯道 + 车道线相关推荐
- 用于自动驾驶的实时车道线检测和智能告警
点击上方"小白学视觉",选择加"星标"或"置顶"重磅干货,第一时间送达 本文转自:计算机视觉life 导读 车道线检测 + 距离告警 + 转 ...
- 【项目实践】车距+车辆+车道线+行人检测项目实践
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自 | AI算法与图像处理 1.项目流程的简介 项目的主题框 ...
- 【车道线检测】基于matlab Hough变换图片车道线检测 【含Matlab源码 276期】
⛄一.Hough变换图片车道线检测简介 1 引言 随着人们生活水平的提高, 科技的不断进步, 智能驾驶技术逐渐受到了研究者们的广泛研究和关注.先进驾驶辅助系统 (Advanced Driver Ass ...
- 车道线检测|利用边缘检测的原理对车道线图片进行识别
前言 那么这里博主先安利一些干货满满的专栏了! 这两个都是博主在学习Linux操作系统过程中的记录,希望对大家的学习有帮助! 操作系统Operating Syshttps://blog.csdn.ne ...
- 毕设题目:Matlab车道线检测
1 引言 随着人们生活水平的提高, 科技的不断进步, 智能驾驶技术逐渐受到了研究者们的广泛研究和关注.先进驾驶辅助系统 (Advanced Driver Assistance System, 简称AD ...
- 基于边缘检测与Hough变换的车道线检测
基于边缘检测与Hough变换的车道线检测 第一章:绪论 1.1 研究意义及背景 高速公路的通行里程是一个国家发展水平的重要标志之一.高速公路具有车辆通行能力大.交通事故少.经济效益高的特点,它的不断发 ...
- 车道线检测综述及新工作汇总
编辑丨3D视觉工坊 车道线检测综述及近期新工作--为ADAS.自动驾驶服务. 部分视频效果展示: https://www.bilibili.com/video/BV1E54y1V7G4 https:/ ...
- 车道线检测综述及近期新工作
车道线检测综述及近期新工作--为ADAS.自动驾驶服务. 部分视频效果展示: https://www.bilibili.com/video/BV1E54y1V7G4 https://www.bilib ...
- 面向量产的3D目标与车道线检测方法
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 Part 1 背景介绍 1. 1 团队介绍 商汤科技自动驾驶团队依托公司为背景,以 SenseParr ...
最新文章
- AI一分钟 | 刚爆Python将进入高考,AI就已强势进入公务员国考试卷;报告称1/4男性更喜欢跟机器人谈恋爱,真的吗?
- Linux的SERVER_NAME 和HTTP_HOST
- 法国一家夜总会上演机器人钢管舞
- 悲观锁 引起死锁_悲观锁定时如何避免可怕的死锁-以及Java 8的一些用法!
- java 监听桌面鼠标事件,鼠标事件的监听和使用
- oracle 数据库备份
- windows 搭建kms服务器激活_windows下搭建MQTT服务器
- [C#.NET通用权限管里系统组件]对资源权限、列表型、记录级权限、数据集权限的实现参考...
- python正则表达式案例_Python正则表达式使用经典实例
- 垃圾回收相关算法总结
- 【正点原子MP157连载】 第二十四章 DAC实验-摘自【正点原子】STM32MP1 M4裸机CubeIDE开发指南
- SMTP邮件服务器要求安全连接或客户端未通过身份验证的各个解决方案
- 在各级供应商的表达中,OEM,Tier One (Tier 1),Tier Two (Tier 2)的概念和区别
- 内存卡格式化的原因有哪些 内存卡格式化怎么恢复
- C# TCP/IP通讯协议的整理(二)附带——与欧姆龙PLC通讯
- 微信小程序实现带参数的分享功能
- python在使用pyinstaller打包文件时提示找不到指定模块
- Windows 清除DNS缓存C++实现
- 已发送邮件如何撤回?
- SSM SpringBoot vue办公自动化计划管理系统
热门文章
- win 32 学习笔记(十) 对话框
- 2016年VB图书253本推荐
- 19.分布式事务编程
- 红外LED的主要参数及选型参考
- 阿里云实人认证的功能及应用
- Web入门学习笔记1——建立第一个网站
- windows 9X, 2000, xp所有版本注册表设置大全
- ERP : 总量库存管理
- BT源代码学习心得(八):跟踪服务器(Tracker)的代码分析(用户请求的实际处理) - 转贴自 wolfenstein (NeverSayNever)
- MPS模块化生产加工系统QY-JDYT34