




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于视觉传感器实现车道线检测智能汽车传感器应用技术一、课程导入早在十年前,部分高端车辆上便出现了车道偏离预警系统(LDW),及车道保持辅助系统(LKA),这些系统的核心就是车道线识别算法。识别道路上的车道是所有司机的共同任务,以确保车辆在驾驶时处于车道限制之内,并减少因越过车道而与其他车辆发生碰撞的机会。对自动驾驶汽车来说,这同样也是一项关键任务。事实证明,使用计算机视觉技术识别道路上的车道标记是可能的。课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结车道线识别思考讨论题(2分钟)一、课程导入车道线检测是自动驾驶中的一个基础模块,其实也是一个由来已久的任务,早期已有很多基于传统图像处理实现的车道线检测算法。传统的图像处理方法或已无法满足车道线识别超高精度的需求,相比传统方法,深度学习方法在计算机视觉的各个领域更具优势。站在开发者的角度,你知道计算机视觉技术如何识别道路上的车道线吗?课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结二、语义分割和实例分割的定义目标检测的要求是识别图像的内容并检测其位置,如果说图像分类与目标检测都还是属于在宏观上去识别目标或定位的话,分割任务就是在微观(像素级别)对物体进行分类。分割任务包括语义分割与实例分割,在计算机视觉中属于最有挑战性的任务。检测分割课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结二、语义分割和实例分割的定义分割包括语义分割(semanticsegmentation)和实例分割(instancesegmentation),前者是对前背景分离的拓展,要求分离开具有不同语义的图像部分,而后者是检测任务的拓展,要求描述出目标的轮廓(相比检测框更为精细)。分割是对图像的像素级描述,它赋予每个像素类别(实例)意义,适用于理解要求较高的场景,如无人驾驶中对道路和非道路的分割。实例分割语义分割课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结三、车道线检测常用数据集介绍CULane数据集是用于行车道检测学术研究的大规模具有挑战性的数据集。它收集了超过55小时的视频,并提取了133,235帧。我们将数据集分为88880个训练集,9675个验证集和34680个测试集。包含拥挤、黑夜、无线和暗影等八种难以检测的情况。整个数据集的采集过程是通过6辆北京出租车上的视觉传感器完成。对于每帧,CULane用三次样条曲线手动注释行车道。对于车道标记被车辆遮挡或看不见的情况,数据集仍会根据上下文注释车道。CULane数据集示例3.1CULane数据集课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结三、车道线检测常用数据集介绍Culane数据集是在北京市区内的道路上进行采集的,整体上更加符合中国的路况。并且该数据集还有提供各种难以检测的情况,也就是说通过CULane数据集训练出来的模型能够兼顾更加复杂的环境。CULane数据集示例3.1CULane数据集课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结三、车道线检测常用数据集介绍TuSimple为车道检测任务提供了约7000个一秒长的视频片段,每个片段20帧,每个片段的最后一帧包含有标签的车道。视频片段可以帮助算法推断出更好的车道检测结果。整个TuSimple数据集的复杂度并不是很高。该数据集在较好或中等的天气条件下,对2车道及以上的高速公路车道进行数据采集。其中包含3626个用于训练的视频片段以及2782个用于测试的视频片段。TuSimple数据集实例如图所示。CULane数据集示例3.2TuSimple数据集课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结三、车道线检测常用数据集介绍TuSimple数据集相对较早,并且路况可能不太符合目前中国的路况环境,但是目前世界范围内的大多数车道线检测算法都是基于TuSimple数据集,包括我们本节课介绍到的Lanenet以及LaneATT算法。TuSimple数据集示例3.2TuSimple数据集课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结四、深度学习相关概念介绍深度学习的概念源于人工神经网络的研究,深度学习是机器学习的一个类型,该类型的模型直接从图像、文本或声音中学习执行分类任务。通常使用神经网络架构实现深度学习。“深度”-词是指网络中的层数-层数越多,网络越深。传统的神经网络只包含2层或3层,而深度网络可能有几百层。深度学习大致就是一个用人类的数学知识与计算机算法构建起来的整体架构,再结合尽可能多的训练数据以及计算机的大规模运算能力去调节内部参数,尽可能逼近问题目标的半理论、半经验的建模方式。课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结神经网络与深度学习人工智能、机器学习和深度学习关系四、深度学习相关概念介绍4.1卷积神经网络卷积神经网络是一种前馈神经网络,对于大型图像处理有出色表现。它的人工神经元可以响应一部分覆盖范围内的周围其他神经元,一方面可以有效地将大数据量的图片降维成小数据量,另一方面可以有效的保留图片特征。卷积神经网络由卷积层和位于最顶端的全连接层组成,同时也包括相关联的权重以及池化层。这一结构使得卷积神经网络能够最大化利用输入数据的二维结构。CNN的基本结构课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结四、深度学习相关概念介绍4.1卷积神经网络1.卷积层卷积层是构建卷积神经网络的核心层,它产生了网络中大部分的计算量。卷积层是滤波器的作用或者说是卷积的作用。卷积层的参数是有一些可学习的滤波器集合构成的卷积层是一组平行的特征图。不同的卷积核在输入图像上进行滑动,并且执行一个元素对应乘积并求和的运算。这样的滑动过程被称为步幅。卷积核的尺寸要比输入图像小得多,且卷积核重叠或平行地作用于输入图像中可以减小原有图片的数据量。而且一张特征图中的所有元素都是通过一个卷积核计算得出的,相当于一张特征图共享了相同的权重和偏置项。卷积过程的计算演示如图所示,输入图像与卷积核进行元素对应乘积并求和的运算,最终得到一张新的特征图。卷积操作输入矩阵卷积核课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结四、深度学习相关概念介绍4.1卷积神经网络2.池化层池化层是模仿人的视觉系统,能够对数据进行降维,用更高层次的特征表示图像。池化层有三个作用,第一个作用是降低信息冗余,去除图像中包含的不必要信息,第二是提升模型的空间不变性,旋转不变性,从而提升稳定度,第三是防止过拟合的产生。常见的池化层操作包含最大值池化(maxpooling),均值池化(meanpooling),随机池化,中值池化,等几种。本节任务主要介绍最大池化。在最大池化中,滑窗从输入阵列的最左上方开始,按从左往右、从上往下的顺序,依次在输入阵列上滑动。当滑窗滑动到某一位置时,滑窗中的输入子阵列的最大值即输出阵列中相应位置的元素。最终生成池化过后的特征图。最大池化操作过程如图所示最大值池化操作过程课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结四、深度学习相关概念介绍4.1卷积神经网络3.全连接层全连接层(fullyconnectedlayers,FC)主要负责扮演神经网络中的分类器功能。卷积层,池化层等操作是将原始数据映射到特征空间中,而全连接层的作用是将学到的分散式特征表示映射到样本标记空间。全连接层可以提取整合所需的信息,配合激活函数,理论上可以类比任何非线性变换,而且还可以在一定程度上保留模型的复杂度。全连接层的设计体现了一种迁移学习的思想,将人们在传统特征提取+分类的思维进行整合,但是全连接层也有其缺点和局限性。首先全连接层会使参数量过大,可能会导致过拟合的产生。全连接神经网络课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结四、深度学习相关概念介绍4.1卷积神经网络4.ReLU激活函数激活函数的引入是为了增加神经网络模型的非线性,没有激活函数每层就相当于矩阵相乘。每一层输出都是上层的输入的线性函数,无论神经网络多少层,输出都是输入的线性组合,就是最原始的感知机。加入激活函数,给神经元引入非线性因素,神经网络可以任意逼近任何非线性函数,这样神经网络就可以应用到众多的非线性模型中。ReLU函数,用于隐层神经元输出函数公式:f(x)=max(0,x),函数图像如下图所示。Relu激活函数与其他激活函数最大的不同在于它是线性的,因而不存在梯度爆炸的问题,在多层网络结构下梯度会线性传递。在深度学习中Relu是用的最广泛的一种激活函数。ReLU激活函数图像课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结四、深度学习相关概念介绍4.1卷积神经网络5.BN层(batchnormalization)BatchNormalization,简称BatchNorm或BN,翻译为“批归一化”,是神经网络中一种特殊的层,如今已是各种流行网络的标配。在原paper中,BN被建议插入在(每个)ReLU激活层前面。BN层最重要的作用是让加速网络的收敛速度,同时BN让网络训练变得更容易;另外调参过程也简单多了,对于初始化要求没那么高,而且可以使用大的学习率等,而没有使用BN的话,更大的学习率就可能导致训练发散,大学习率又反过来作用到训练速度上,加速了收敛速度,两者相辅相成。如果batchsize为m,则在前向传播过程中,网络中每个节点都有m个输出,所谓的BatchNormalization,就是对该层每个节点的这m个输出进行归一化再输出。课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结五、Lanenet算法介绍Lanenet是一种基于Tensorflow框架的车道线检测算法。TensorFlow是一个基于数据流编程的符号数学系统,Tensorflow拥有多层级结构,可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算,被广泛应用于各类机器学习算法的编程实现。课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结五、Lanenet算法介绍TensorFlow是采用数据流图来计算,所以首先我们得创建一个数据流流图,然后再将我们的数据放在数据流图中计算。节点(Nodes)在图中表示数学操作,图中的边(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。训练模型时tensor会不断的从数据流图中的一个节点flow到另一节点,这就是TensorFlow名字的由来。课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结五、Lanenet算法介绍车道线检测算法LaneNet+H-Net是一种端到端的车道线检测算法,包括LaneNet和H-Net两个网络模型。其中,LaneNet是一种将语义分割和对像素进行向量表示结合起来的多任务模型,负责对图片中的车道线进行实例分割;H-Net是由卷积层和全连接层组成的网络模型,负责预测转换矩阵H,使用转换矩阵H对属于同一车道线的像素点进行回归,即对使用坐标y对坐标x进行修正。该算法在图森的车道线数据集上的准确率为96.4%,在NVIDIA1080TI上的处理速度为52FPS。5.1Lanenet算法原理系统总览课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结五、Lanenet算法介绍如图所示,对于同一张输入图片,LaneNet输出实例分割的结果,为每个车道线像素分配一个车道线ID,H-Net输出一个转换矩阵H,使用转换矩阵H对车道线像素进行修正,并对修正的结果拟合出一个三阶的多项式作为预测得到的车道线。5.1Lanenet算法原理系统总览课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结五、Lanenet算法介绍LaneNet的整体网络结构如下图所示。从图中可以看出,该网络结构将实例分割任务拆解成语义分割和聚类两部分。如图所示,LanNet有两个分支任务,分别为alanesegmentationbranchandalaneembeddingbranch。Segmentationbranch负责对输入图像进行语义分割(对像素进行二分类,判断像素属于车道线还是背景);Embeddingbranch对像素进行嵌入式表示,训练得到的embedding向量用于聚类。最后将两个分支的结果进行结合利用Mean-Shift算法进行聚类,得到实例分割的结果。5.2Lanenet网络结构LaneNet的整体网络结构课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结五、Lanenet算法介绍1.二值化分割网络上图中的下面那个分支就是用于训练输出得到一个二值化的分割图,将车道线像素与背景区分开,白色代表车道线,黑色代表背景。由于目标类别是2类(车道/背景),并且高度不平衡,因此参考了ENet,损失函数使用的是标准的交叉熵损失函数。5.2Lanenet网络结构课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结五、Lanenet算法介绍2.实例分割网络当分割分支识别得到车道后,为了分离车道像素(就是为了知道哪些像素归这条,哪些归那条车道),训练了一个车道instanceembedding分支网络(上图上面那个网络)。使用基于one-shot的方法做距离度量学习,该方法易于集成在标准的前馈神经网络中,可用于实时处理。利用聚类损失函数,instanceembedding分支训练后输出一个车道线像素点距离,归属同一车道的像素点距离近,反之远,基于这个策略,可聚类得到各条车道线。5.2Lanenet网络结构课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结五、Lanenet算法介绍使用H-NET网络做车道线曲线拟合,LaneNet网络输出的是每条车道线的像素集合,常规的处理是将图像转为鸟瞰图,然后用二次或三次多项式拟合出弯曲的车道线。然而,目前所使用的透视变换矩阵的参数通常是预先设定、不会改变的,在面对水平线波动的影响(如上下坡)等情况下的车道线拟合并不准确,鲁棒性不强,因此通过H-Net网络学习得到的变换矩阵参数H适用性更好。5.3H-Net网络课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结六、Laneatt算法介绍Laneatt算法,一种基于锚框(anchor)的深度车道线检测模型,且应用了注意力机制,轻量级版本的推理速度达到250FPS。LaneATT算法总体流程如下图所示。将车辆前视相机采集到的RGB图像作为输入,输出车道线位置。从图中可以看出,该算法将backbone的输出结果进行池化操作,以提取每个anchor的特征;将提取到的特征与注意力模块产生的全局特征进行融合,以解决遮挡、光照等原因导致车道线检测不到的问题;融合后的特征作为全连接层的输入,全连接层输出车道线的置信度和相关参数。Laneatt算法总体流程课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结六、Laneatt算法介绍1.车道线和anchor的表示方法Lane的anchor表征方式与Line-CNN的方式一致。如图所示,首先将特征图均分为一定大小的网格。然后,一条lane由起始点s和结束点e以及方向a组成。也就是一条lane由起始点按照一定方向到结束点的所有2d坐标组成。车道线和anchor的表示方法课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结六、Laneatt算法介绍2.Anchor-basedfeaturepooling两阶段的目标检测算法会把一定矩形区域的anchor特征池化到一定长度的特征,以用于后面的卷积或全连接层进行预测。对于车道线而言,因为lane的anchor表征不再是矩形区域,而是一条线。特征池课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结六、Laneatt算法介绍3.注意力机制上面池化得出的特征只是车道线上的局部特征,在遇到车道线遮挡的情况下,还需要全局特征才可以更好的进行预测。注意力机制作用于局部特征以产生汇总全局信息的附加特征,对于池化得到的两个anchor的局部特征,使用Latt(全连接层)去预测两个anchor的局部特征的关系。相当于基于当前局部特征,去预测它和其他局部特征的权重关系,然后聚合其他特征来作为全局特征。课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结六、Laneatt算法介绍4.非最大值抑制(NMS)非最大值抑制在之前我们学习过的YOLO训练网络中就有涉及,本节任务会重点对其进行讲解。(1)什么是非极大值抑制非极大值抑制,简称为NMS算法。其思想是搜索局部最大值,抑制极大值。(2)为什么要用非极大值抑制以目标检测为例:目标检测的过程中在同一目标的位置上会产生大量的候选框,这些候选框相互之间可能会有重叠,此时就需要利用非极大值抑制找到最佳的目标边界框,消除冗余的边界框。如图所示,左图是人脸检测的候选框结果,有多个候选框,每个边界框有一个置信度得分。右图是使用非极大值抑制之后的结果,符合我们人脸检测的预期结果。是否使用非极大值抑制的检测结果对比课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结六、Laneatt算法介绍4.非最大值抑制(NMS)(3)如何使用非极大值抑制前提:目标边界框列表及其对应的置信度得分列表,设定阈值,阈值用来删除重叠较大的边界框。IoU:intersection-over-union,即两个边界框的交集部分除以它们的并集。非极大值抑制的流程如下:(1)根据置信度得分进行排序(2)选择置信度最高的比边界框添加到最终输出列表中,将其从边界框列表中删除(3)计算所有边界框的面积(4)计算置信度最高的边界框与其它候选框的IoU。(5)删除IoU大于阈值的边界框(6)重复上述过程,直至边界框列表为空。课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据1.打开终端,创建lanenet虚拟环境,输入命令:condacreate-nlanenetpython=3.7-y7.1创建虚拟环境课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据2.进入lanenet虚拟环境,输入命令:condaactivatelanenet7.1创建虚拟环境课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据3.进入项目文件夹,输入命令:cd/home/root123456/project/lanenet-lane-detection-master
7.1创建虚拟环境课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据4.安装项目所需Python包,输入命令:pipinstall-rrequirements.txt-i/simple
7.1创建虚拟环境课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据1.训练集预处理,解压Tusimple数据集压缩文件train_set.zip至项目文件夹下的./data/train_set文件夹,解压后的训练集文件夹如下所示。7.2数据集预处理课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据2.输入命令:pythontools/generate_tusimple_dataset.py--src_dirdata/train_set
7.2数据集预处理课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据3.输入命令获得tfrecords文件:pythontools/make_tusimple_tfrecords.py7.2数据集预处理课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据1.输入命令:pythontools/train_lanenet_tusimple.py7.3训练与测试课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据2.对单张图片进行检测,输入命令pythontools/test_lanenet.py--weights_path./model/tusimple_lanenet/tusimple_lanenet.ckpt--image_path./data/tusimple_test_image/0.jpg不同阶段的图像处理结果如图所示,其中右下角的图片为最终的检测结果,Lanenet算法是以点的形式还原车道线,不同颜色的点代表不同的车道线。7.3训练与测试不同阶段的图像处理结果课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结七、利用Lanenet算法预测tusimple数据集以及真实数据3.对多张图片进行检测(可指定真实数据所在的文件夹),输入命令:pythontools/evaluate_lanenet_on_tusimple.py--weights_path./model/tusimple_lanenet/tusimple_lanenet.ckpt--image_path./data/test_set/clips--save_dir./data/test_set/test_output其中--image_path为需要预测的图片路径,--save_dir为结果图片保存位置,这两项可以根据需要修改,也可以用来预测真实数据。预测真实数据时,需要利用我们提供的resize.py将图片分辨率调整为和tusimple数据集一致的1280*720,需要进入resize.py修改需要调整分辨率的图片文件夹路径与结果保存路径,再在终端运行pythonresize.py即可。由于本模型基于tusimple数据集训练,预测自己拍摄的道路图片时可能效果较差,这个是正常情况。比如我们用lanenet对culane数据集的图片的数据进行预测时,由于拍摄角度以及镜头畸变的情况,识别效果就不够理想。不过这个问题会在laneatt算法中得到解决。7.3训练与测试课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结八、利用laneatt预测culane和tusimple数据集并生成MP4视频文件1.创建laneatt虚拟环境,依次输入如下命令:condacreate-nlaneattpython=3.8-ycondaactivatelaneattcondainstallpytorch==1.6torchvision-cpytorchpipinstall-rrequirements.txtcdlib/nms;pythonsetup.pyinstall;cd-8.1环境配置(pytorch)课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结八、利用laneatt预测culane和tusimple数据集并生成MP4视频文件1.依次输入如下命令:mkdirdatasets#ifitdoesnotalreadyexistscddatasetsmkdirculanecdculanegdown"/uc?id=1AQjQZwOAkeBTSG_1I9fYn8KBcxBBbYyk"gdown"/uc?id=1PH7UdmtZOK3Qi3SBqtYOkWSH2dpbfmkL"gdown"/uc?id=14Gi1AXbgkqvSysuoLyq1CsjFSypvoLVL"tarxfdriver_23_30frame.tar.gztarxfdriver_161_90frame.tar.gztarxfdriver_182_30frame.tar.gzgdown/uc?id=1LTdUXzUWcnHuEEAiMoG42oAGuJggPQs8gdown"/uc?id=1daWl7XVzH06GwcZtF4WD8Xpvci5SZiUV"gdown"/uc?id=1Z6a463FQ3pfP54HMwF3QS5h9p2Ch3An7"8.2下载数据集,配置数据集文件夹课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结八、利用laneatt预测culane和tusimple数据集并生成MP4视频文件tarxfdriver_37_30frame.tar.gztarxfdriver_100_30frame.tar.gztarxfdriver_193_90frame.tar.gzgdown"/uc?id=1QbB1TOk9Fy6Sk0CoOsR3V8R56_eG6Xnu"tarxfannotations_new.tar.gzgdown"/uc?id=18alVEPAMBA9Hpr3RDAAchqSj5IxZNRKd"tarxflist.tar.gztarxfdriver_193_90frame.tar.gzgdown"/uc?id=1QbB1TOk9Fy6Sk0CoOsR3V8R56_eG6Xnu"tarxfannotations_new.tar.gzgdown"/uc?id=18alVEPAMBA9Hpr3RDAAchqSj5IxZNRKd"tarxflist.tar.gz8.2下载数据集,配置数据集文件夹课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结八、利用laneatt预测culane和tusimple数据集并生成MP4视频文件本项目的训练与测试都是使用同一个py文档,所以在输入指令时需要说明是训练模式还是测试模式。1.训练模型,输入以下指令:pythonmain.pytrain--exp_namelaneatt_r18_culane--cfgcfgs/laneatt_culane_resnet18.yml这里的--exp_name指定项目名称--cfg为训练参数文件这两个要确保对应。但是训练过程极为耗时,我们接下来会直接使用官方提供的预训练模型来进行测试。2.对测试集进行预测并对模型进行评估,输入以下指令:pythonmain.pytest--exp_namelaneatt_r18_culane--save_predictions其中--save_predictions为保存预测结果的pkl文件于项目的根目录。8.3测试与训练课程导入Lanenet算法介绍Laneatt算法介绍语义分割和实例分割的定义车道线检测常用数据集介绍预测tusimple数据集以及真实数据深度学习相关概念预测culane和tusimple数据集总结八、利用laneatt预测culane和tusimple数据集并生成MP4视频文件1.利用根目录下的gen_video.py生成结果图片,保存在view_culane文件夹下,输入以下指令:pythongen_video.py--predpredicti
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备运输方案模板 (一)
- 国家开放大学《教育心理学》形考任务1-4答案
- 设计基础教案
- 幼儿园大班《树真好》活动教案
- 财务会计人员的岗位职责(25篇)
- 2025年Android小菜鸡2 个月的面试亲身经历告诉大家如何进入 BAT 等大厂
- 2024-2025学年下学期高二生物沪科版期末必刷常考题之生态系统具有维持动态平衡的能力
- 森林报春的题目及答案
- 2023-2024学年山东省烟台市高二下学期7月期末学业水平诊断数学试题(解析版)
- 2023-2024学年湖南省邵阳市高二下学期期末考试数学试卷(解析版)
- 新能源汽车动力电池维护技巧试题及答案
- 期末测试卷(含答案含听力原文无听力音频)-2024-2025学年闽教版英语六年级下册
- 预防青少年药物滥用-主题班会课件
- 百世物流抖音平台运营策略研究
- 深圳市人才集团笔试题库
- 04.(发布)黑龙江省2025年度定向招录选调生岗位计划表(县市区直)
- 工控机管理制度
- 软件产品交付流程
- 机器人协同控制系统-深度研究
- 2025年1月国家开放大学行管本科《城市管理学》期末纸质考试试题及答案
- 财务会计实务 课件 053第五章第三讲 其他债权投资
评论
0/150
提交评论