版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于视觉传感器实现车道线检测智能汽车传感器应用技术一、课程导入早在十年前,部分高端车辆上便出现了车道偏离预警系统(LDW),及车道保持辅助系统(LKA),这些系统的核心就是车道线识别算法。识别道路上的车道是所有司机的共同任务,以确保车辆在驾驶时处于车道限制之内,并减少因越过车道而与其他车辆发生碰撞的机会。对自动驾驶汽车来说,这同样也是一项关键任务。事实证明,使用计算机视觉技术识别道路上的车道标记是可能的。课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法车道线识别思考讨论题(2分钟)一、课程导入车道线检测是自动驾驶中的一个基础模块,其实也是一个由来已久的任务,早期已有很多基于传统图像处理实现的车道线检测算法。传统的图像处理方法或已无法满足车道线识别超高精度的需求,相比传统方法,深度学习方法在计算机视觉的各个领域更具优势。站在开发者的角度,你知道计算机视觉技术如何识别道路上的车道线吗?课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法二、语义分割和实例分割车道线检测属于计算机视觉图像处理类任务中的分割任务,以下分别介绍语义分割和实例分割、车道线检测常用数据集以及算法。众所周知,图像在计算机中是像素的集合。而图像分割是对图像中属于特定类别的像素进行分类的过程。传统的图像分割算法是基于灰度值的不连续和相似的性质,而基于深度学习的图像分割技术则是利用卷积神经网络,来理解图像中的每个像素所代表的真实世界物体。检测分割课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法二、语义分割和实例分割基于深度学习的图像分割技术主要分为两类:语义分割及实例分割。语义分割是对每个像素打上类别的标签,同一类别的所有像素都用一种颜色标识,但是同一类别之间的对象不会区分,如下左图所示,人、地面、树木和天空各一个颜色标识。但语义分割不能对每个个体进行区分,而实例只对特定的物体进行分类,如下右图所示,只对人进行个体分割。实例分割可以看作目标检测与语义分割的结合,是检测任务的拓展,在能够准确识别每个目标的基础之上,以像素为单位分割每个实例。实例分割语义分割课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法三、车道线检测常用数据集车道线检测大多采用深度学习的算法实现,为了让算法更好的实现其功能,需要给算法足够多的数据,这些数据被分为训练集、验证集和测试集。训练集用来拟合模型,通过设置分类器的参数,训练分类模型;当通过训练集训练出多个模型后,为了能找出效果最佳的模型,使用各个模型对验证集数据进行预测,并记录模型准确率,选出效果最佳的模型所对应的参数,即验证集被用来调整模型参数。在通过训练集和验证集得出最优模型后,测试集被用于模型预测,用来衡量该最优模型的性能和分类能力。车道线检测常用数据集包括CULane数据集和TuSimple数据集。车道线检测课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法三、车道线检测常用数据集CULane数据集是用于行车道检测学术研究的大规模具有挑战性的数据集。整个数据集的采集过程是通过6辆北京出租车上的视觉传感器完成的。它收集了超过55小时的视频,并提取了133,235帧。我们将数据集分为训练集(包含88880张图片),验证集(包含9675张图片)和测试集(34680张图片)。CULane数据集示例3.1CULane数据集课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法三、车道线检测常用数据集CULane数据集包含正常(Normal)场景和拥挤(Crowded)、黑夜(Night)、无线(Noline)、阴影(Shadow)、快速移动(Arrow)、炫目的光(Dazzlelight)、弯道(Curve)和十字路口(Crossroad)等八种难以检测的情况,对应数据示例如下图所示,也就是说通过CULane数据集训练出来的模型能够兼顾更加复杂的环境。对于每帧,CULane用三次样条曲线手动注释行车道。对于车道标记被车辆遮挡或看不见的情况,数据集仍会根据上下文注释车道。CULane数据集示例3.1CULane数据集课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法三、车道线检测常用数据集TuSimple数据集为车道检测任务提供了约7000个一秒长的视频片段,每个片段20帧,每个片段的最后一帧包含有标签的车道。视频片段可以帮助算法推断出更好的车道检测结果。整个TuSimple数据集的复杂度并不是很高。该数据集在较好或中等的天气条件下,对2车道及以上的高速公路车道进行数据采集。其中包含3626个用于训练的视频片段以及2782个用于测试的视频片段。TuSimple数据集实例如下图所示。CULane数据集示例3.2TuSimple数据集课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法三、车道线检测常用数据集虽然TuSimple数据集的数据采集的时间较早,数据是“过时的数据”并且路况不太符合目前中国的路况环境,但是目前世界范围内的大多数车道线检测算法都是基于TuSimple,包括我们本节介绍到的LaneNet以及LaneATT算法。TuSimple数据集示例3.2TuSimple数据集课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法四、车道线检测算法LaneNet是一种将语义分割和对像素进行向量表示结合起来的多任务模型,负责对图片中的车道线进行实例分割;H-Net是由卷积层和全连接层组成的网络模型,负责预测转换矩阵H,使用转换矩阵H对属于同一车道线的像素点进行回归,能够对车道线进行良好的拟合。整体网络结构如右图所示。4.1LaneNet+H-Net算法模型课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法四、车道线检测算法(1)LaneNet对输入图像进行实例分割,其中网络结构分为两个方向,一个是语义分割,另一个是对像素进行向量表示,最后将两个分支的结果进行聚类,得到实例分割的结果。LaneNet输出实例分割的结果,为每个车道线像素分配一个车道线ID(Identity,标识)。4.1LaneNet+H-Net算法模型课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法四、车道线检测算法(2)H-Net模型:目前所使用的透视变换矩阵的参数通常是预先设定、不会改变的,在面对水平线波动的影响(如上下坡)等情况下的车道线拟合并不准确,鲁棒性不强。而H-Net模型可以用来学习透视变换矩阵的参数H,如下左图所示,可以看出,转置矩阵H只有6个参数,因此H-Net的输出是一个6维的向量,置零是为了强制约束,即在变换下水平线保持水平。H-Net的网络体系结构较小,由6层普通卷积网络和一层全连接网络构成,其网络结构如下右图所示。4.1LaneNet+H-Net算法模型H参数H-Net网络结构课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法四、车道线检测算法LaneATT是基于Pytorch框架下的车道线检测算法。PyTorch是一个开源的Python机器学习库,PyTorch的前身是Torch,其底层和Torch框架一样,但是使用Python重新写了很多内容,不仅更加灵活,支持动态图,而且提供了Python接口。它是一个基于Python的可续计算包,是一个包含自动求导系统的深度神经网络,且具有强大的GPU加速的张量计算(如NumPy)。Laneatt算法总体流程4.2LaneATT算法模型课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法四、车道线检测算法LaneATT在CULane数据集上有着相当不错的表现,同时也支持其他的数据集。它的优点具体表现为:第一,比现有的实时处理模型都要准确,在较大和复杂的数据CULane数据集有更好的表现;第二,训练和推断速度比较快(250fps);第三,基于锚框(在图像中指示感兴趣的目标的边界框称为锚框(anchorbox))的注意力机制,使检测对象更加精准。4.2LaneATT算法模型课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法四、车道线检测算法LaneATT使用从安装在车辆中的前置摄像头拍摄的RGB图像作为输入。输出是车道线。为了生成这些输出,卷积神经网络(CNN)(称为主干)会生成一个特征图,然后将其汇总以提取每个锚(anchor)的特征。这些特征与注意力模块生成的一组全局特征结合在一起。通过组合局部和全局特征,该模型可以更轻松地使用来自其他车道的信息,这在有遮挡或没有可见车道标记的情况下可能是必需的。最后,将合并的特征传递到全连接层以预测最终的输出通道。车道线和anchor的表示方法4.2LaneATT算法模型课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据(1)在Ubuntu系统中的桌面单击右键,打开终端,创建Lanenet虚拟环境,输入命令:5.1创建虚拟环境与环境配置课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据(2)激活并进入LaneNet虚拟环境,输入命令:5.1创建虚拟环境与环境配置课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据(3)进入项目文件夹(随教材配套提供,具体位置以实际为准),输入命令:5.1创建虚拟环境与环境配置课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据(4)安装项目所需Python包,输入命令:5.1创建虚拟环境与环境配置课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据(5)安装protobuf包,输入命令:5.1创建虚拟环境与环境配置课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据1.训练集预处理,解压Tusimple数据集压缩文件train_set.zip至项目文件夹下的./data/train_set文件夹,解压后的训练集文件夹如下所示。5.2数据集预处理课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据2.输入命令:pythontools/generate_tusimple_dataset.py--src_dirdata/train_set
5.2数据集预处理课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据3.输入命令获得tfrecords文件:pythontools/make_tusimple_tfrecords.py5.2数据集预处理课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据1.输入命令:pythontools/train_lanenet_tusimple.py5.3训练与测试课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据(1)输入命令,对单张图片进行检测不同阶段的图像处理结果如图下图所示,分别是车道的二值化分割图像(黑色背景白色车道线图)、像素嵌入表示图像(灰色背景对应不同颜色的向量距离图)、车道的实例分割图像(不同车道对应颜色车道线图)、预测结果图像(以点的形式重叠原图车道线图)。5.4启动车道线识别程序不同阶段的图像处理结果课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法五、利用LaneNet算法预测样例数据(2)对多张图片进行检测(可指定真实数据所在的文件夹),输入命令:其中--image_path为需要预测的图片路径,--save_dir为结果图片保存位置,这两项可以根据需要修改,也可以用来预测真实数据。预测真实数据时,需要利用我们提供的resize.py将图片分辨率调整为和tusimple数据集一致的1280*720;进入resize.py修改需要调整分辨率的图片文件夹路径与结果保存路径,再在终端运行pythonresize.py即可。由于本模型基于tusimple数据集训练,预测自己拍摄的道路图片时可能效果较差,这个是正常情况。比如我们用LaneNet对culane数据集的图片的数据进行预测时,由于拍摄角度以及镜头畸变的情况,识别效果就不够理想。不过这个问题会在LaneATT算法中得到解决。5.4启动车道线识别程序课程导入利用LaneNet算法预测样例数据利用LaneATT进行车道线识别测试语义分割和实例分割车道线检测常用数据集车道线检测算法六、利用LaneATT进行车道线识别测试(1)进入项目文件夹,打开终端,创建laneATT虚拟环境,输入命令:6.1环境配置指令意义为在Linux系统中创建名字为“laneatt”的虚拟环境,python版本为3.8。(2)激活laneATT虚拟环境,输入命令:(3)安装pytorch和torchvision,输入命令:课程导入利用Lan
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年秋季小学开学第一课 节约资源从我做起
- 临床用血培训考试试题及答案2026版
- 救护员培训理论考试含答案
- 竖井掘砌施工方案
- 检验科生物安全培训试题(+答案)
- 临床医学概论试题(附答案)
- 酒店项目通信管道施工方案
- 施工现场管理疫情防控规程
- 冷链仓储突发故障应急细则
- 高等学校标准化学生食堂创建验收汇报
- 【部编版】六年级上册语文练字帖
- AQ4273-2024粉尘爆炸危险场所用除尘系统安全技术规范(正式版)
- 2025秋季人教版新教材八年级英语上册Unit1-8语法填空(附答案)
- 呆滞料的预防与管理
- 华为公务接待管理办法
- 科技奖申报书模板
- 盐雾测试报告-样张
- DL-T 5619-2021 调相机工程项目划分导则
- 逆转:舆情危机的预防与处置
- 口腔颌面外科学:绪论课件
- 球墨井盖采购投标方案
评论
0/150
提交评论