CN114387576B 一种车道线识别方法、系统、介质、设备及信息处理终端 (杭州电子科技大学信息工程学院)_第1页
CN114387576B 一种车道线识别方法、系统、介质、设备及信息处理终端 (杭州电子科技大学信息工程学院)_第2页
CN114387576B 一种车道线识别方法、系统、介质、设备及信息处理终端 (杭州电子科技大学信息工程学院)_第3页
CN114387576B 一种车道线识别方法、系统、介质、设备及信息处理终端 (杭州电子科技大学信息工程学院)_第4页
CN114387576B 一种车道线识别方法、系统、介质、设备及信息处理终端 (杭州电子科技大学信息工程学院)_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(19)国家知识产权局(12)发明专利(10)授权公告号CN114387576B(65)同一申请的已公布的文献号(73)专利权人杭州电子科技大学信息工程学院街道杭电路1号周宇健廖恒林泽伍文豪GO6V20/58(2022.01)审查员潘小丹(74)专利代理机构北京国坤专利代理事务所(普通合伙)11491专利代理师王峰刚在获取到YOLOP导出的车道线二值图后,将该图像转化为灰度图在获取到YOLOP导出的车道线二值图后,将该图像转化为灰度图将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为轴,建立平面直角坐标系通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值得到直线方程后,判断斜率k,若斜率在-0.577到0.577,即ta150°.tm30°之间时,则可判断该直线不应该为车道线:确定一条横着的基准线,通过所述基准线检测这条线上的车道线数量以及偏移量计算该直线与所提取直线的交点,判断所计算的交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表对存储交点x坐标的数组进行追历,将数组的相邻数据进行求差处理,若该差小于一个阙值,则代表到一个突变点,将该突变点的索引和数据,即坐标x的值分别保存到一个新的数组中对新的数组进行追历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交点的x坐标值分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标对获取到的两个数据相加除以2,计算出当前车道线的中心点的坐标值,再减去坐标x轴中心值,即可获取到当前画面中的车相对于计算出的车道线的偏移量:通过获取左右车通线数组的长度,获得左右车道线的数量本发明属于车道线识别技术领域,公开了一终端,包括:获取车道线二值图并转化为灰度建立平面直角坐标系;提取车道直线矢量和坐标系中拟合直线上的两个端点坐标,并计算直线的点斜式方程的参数值;判断斜率,检测车道线数量以及偏移量;计算该直线与所提取直线的交点;对存储交点x坐标的数组进行遍历,对新的数组进行遍历;获取当前车道线的坐标,获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。本发明的车道线识别方法,适用于神21.一种车道线识别方法,其特征在于,所述车道线识别方法包括以下步骤:步骤二,将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系;步骤三,通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值;步骤四,得到直线方程后,判断斜率a,若斜率在-0.577到0.577之间时,则判断斜率符合条件的车道线直线不应该为车道线;确定一条横着的基准线,通过所述基准线检测基准线上的车道线数量以及偏移量;步骤五,计算斜率符合条件的车道线直线与通过霍夫直线拟合提取出的符合条件的车道线直线的交点,判断所计算的交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表;步骤六,对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求差处理,若该差小于一个阈值,则代表到一个突变点,将突变点的索引和突变点的坐标x的值分别保存到一个新的数组中;步骤七,对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,小于x轴中心值的数组值存入一个数组,表示左车道线与基准线的交点的x坐标值,大于x轴中心值的数组值存入另一个数组,表示右车道线与基准线的交点的x坐标值;步骤八,分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线和当前车道线的坐标;步骤九,对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。2.如权利要求1所述的车道线识别方法,其特征在于,步骤三中,所述参数值即为y=ax4.如权利要求1所述的车道线识别方法,其特征在于,步骤四中,所述基准线是y=a的一条直线。5.一种车道线识别系统,其特征在于,所述车道线识别系统包括:图像转换模块,用于在获取到YOLOP导出的车道线二值图后,将车道线二值图转化为灰度图;将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系;参数值计算模块,用于通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值;斜率判断模块,用于在得到直线方程后,判断斜率a,若斜率在-0.577到0.577之间时,则判断斜率符合条件的车道线直线不应该为车道线;确定一条横着的基准线,通过所述基准线检测这条线上的车道线数量以及偏移量;3直线交点计算模块,用于计算斜率符合条件的车道线直线与通过霍夫直线拟合提取出的符合条件的车道线直线的交点,判断所计算交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表;数组遍历模块,用于对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求差处理,若该差小于一个阈值,则代表到一个突变点,将该突变点的索引和数据,别保存到一个新的数组中;新数组遍历模块,用于对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交点的x坐标值;车道线坐标获取模块,用于分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标;车道线数量获取模块,用于对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。6.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行权利要求1-4中的任意一项所述的车道线识别方法,包括如下步骤:在获取到YOLOP导出的车道线二值图后,将车道线二值图转化为灰度图;将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系;通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值;得到直线方程后,判断斜率a,若斜率在-0.577到0.577之间时,则判断斜率符合条件的车道线直线不应该为车道线;确定一条横着的基准线,通过所述基准线检测这条线上的车道线数量以及偏移量;计算斜率符合条件的车道线直线与通过霍夫直线拟合提取出的符合条件的车道线直线的交点,判断所计算的交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表;对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求差处理,若该差小于一个阈值,则代表到一个突变点,将该突变点的索引和数据,即坐标x的值分别保存到一个新的数组中;对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交点的x坐标值;分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标;对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。7.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行权利要求1-4中的任意一项所述的车道线识别方法,包括如下步骤:在获取到YOLOP导出的车道线二值图后,将车道线二值图转化为灰度图;将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系;通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点4坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值;得到直线方程后,判断斜率a,若斜率在-0.577到0.577之间时,则判断斜率符合条件的车道线直线不应该为车道线;确定一条横着的基准线,通过所述基准线检测这条线上的车道线数量以及偏移量;计算斜率符合条件的车道线直线与通过霍夫直线拟合提取出的符合条件的车道线直线的交点,判断所计算的交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表;对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求差处理,若该差小于一个阈值,则代表到一个突变点,将该突变点的索引和数据,即坐标x的值分别保存到一个新的数组中;对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交点的x坐标值;分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标;对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。5一种车道线识别方法、系统、介质、设备及信息处理技术领域[0001]本发明属于车道线识别技术领域,尤其涉及一种车道线识别方法、系统、介质、设备及信息处理终端。背景技术[0002]目前,作为车辆的行驶辅助控制,已知有选择与本车辆行驶于同一车道上的车辆作为前行车辆,并追踪该选择出的前行车辆行驶的自适应巡航控制系统、为车辆不脱离左右行驶车道线而控制车辆的行驶的车道保持辅助等各种控制。[0003]在这样的行驶辅助控制中,进行车辆上搭载有相机,对车辆前方进行拍摄并识别行驶车道线,并且使用识别出的行驶车道线来控制车辆的行驶的处理。在现有车道线识别的相关专利文献中,公开了根据由相机拍摄到的图像内的行驶车道线来计算表示行驶道路的弯曲度的回旋线参数,并使用该计算出的回旋线参数预测行驶道路上车辆将来行为的方法。但是,现有传统车道线识别方法识别精度较低,且存在基于行驶车道线的形状的车辆行驶控制的控制性降低的问题。因此,亟需设计一种新的车道线识别方法及系统。[0004]通过上述分析,现有技术存在的问题及缺陷为:现有车道线识别方法识别精度较低,且存在基于行驶车道线的形状的车辆行驶控制的控制性降低的问题。[0005]解决以上问题及缺陷的难度为:传统的车道线识别受实际环境因素影响很大,如何降低车道线提取受环境的影响程度,提高车道线提取准确度有一定难度;另一方面,对所提取出来的车道线图像转换成计算机能够直接导出的控制指令也存在一定的难度。在识别车道线的过程中,发现在各种复杂的环境情况下,任何一种算法对车道线的识别都不能达到很高的准确度,所以把功能定位明确为辅助行驶,也就是在置信度达到一定的程度后,再对该数据进行采集实现。车道线识别最初尝试了yolo+lannet的方法进行识别,其中yolo识由于jetsonnano的资源有限,两个神经网络无法很好运行起来,于是只好另辟蹊径了。修改了识别的方法,尝试采用yolo+传统视觉识别。虽然将lannet改为传统视觉使得小车可以很好的运行。但是,传统视觉识别车道线的效果并不是很理想,鲁棒性低,小车只有运行在光源恒定,无反光无暗斑的场地才能达到比较好的效果。[0006]解决以上问题及缺陷的意义为:本发明通过改进YOLOP框架,在不影响原有交通目标检测、可行驶区域分割和车道线检测三大视觉任务的情况下,增加了车道线导出图像提取功能,并且通过一系列数学计算,得到offset(偏移量)、左右两边的车道线数目以及置信程序,成功地将数据上报到rosnavigation包中的move_base包里面,在经过优先级处理发明内容[0007]针对现有技术存在的问题,本发明提供了一种车道线识别方法、系统、介质、设备6及信息处理终端,尤其涉及一种基于激光雷达和深度学习ROS系统的车道线识别方法、系[0008]本发明是这样实现的,一种车道线识别方法,所述车道线识别方法包括以下步骤:[0009]步骤一,在获取到YOLOP导出的车道线二值图后,将该图像转化为灰度图。转换为灰度图能够大大减小处理终端的计算量;[0010]步骤二,将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系,可以有效的复原出车道线方程;[0011]步骤三,通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数[0012]步骤四,得到直线方程后,判断斜率k,若斜率在-0.577到0.577,即tan150°-tan30°之间时,则可判断该直线不应该为车道线;确定一条横着的检测这条线上的车道线数量以及偏移量,提高车道线的准确性;[0013]步骤五,计算该直线与所提取直线的交点,判断所计算的交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表,减小外界干扰;[0014]步骤六,对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求差处理,若该差小于一个阈值,则代表到一个突变点,将该突变点的索引和数据,即坐标x的值分别保存到一个新的数组中的,提高准确性;[0015]步骤七,对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交[0016]步骤八,分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标,精准的找到车道线;[0017]步骤九,对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即可获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量,精准的区分左右车道线。的两个x或y坐标相同。[0020]k=(y1-y2)/(x1-x2),b=y2-[0022]本发明的另一目的在于提供一种应用所述的车道线识别方法的车道线识别系统,所述车道线识别系统包括:[0023]图像转换模块,用于在获取到YOLOP导出的车道线二值图后,将该图像转化为灰度图;将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系;[0024]参数值计算模块,用于通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值;7[0025]斜率判断模块,用于在得到直线方程后,判断斜率k,若斜率在-0.577到0.577,即述基准线检测这条线上的车道线数量以及偏移量;[0026]直线交点计算模块,用于计算该直线与所提取直线的交点,判断所计算交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表;[0027]数组遍历模块,用于对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求值分别保存到一个新的数组中;[0028]新数组遍历模块,用于对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交点的x坐标值;[0029]车道线坐标获取模块,用于分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标;[0030]车道线数量获取模块,用于对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即可获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。[0031]本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:[0032]在获取到YOLOP导出的车道线二值为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系;通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值;得到直线方程后,判断斜率k,若斜率在-0.577到0.577,即tan150°-tan30°之间时,则可判断该直线不应该为车道线;[0033]确定一条横着的基准线,通过所述基准线检测这条线上的车道线数量以及偏移量;计算该直线与所提取直线的交点,判断所计算的交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表;对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求差处理,若该差小于一个阈值,则代表到一个突变点,将该突变点的索引和数据,即坐标x的值分别保存到一个新的数组中;对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交点的x坐标值;[0034]分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标;对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即可获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。[0035]本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:[0036]在获取到YOLOP导出的车道线二值为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系;通过霍夫直8线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值;得到直线方程后,判断斜率k,若斜率在-0.577到0.577,即tan150°-tan30°之间时,则可判断该直线不应该为车道线;[0037]确定一条横着的基准线,通过所述基准线检测这条线上的车道线数量以及偏移量;计算该直线与所提取直线的交点,判断所计算的交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表;对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求差处理,若该差小于一个阈值,则代表到一个突变点,将该突变点的索引和数据,即坐标x的值分别保存到一个新的数组中;对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交点的x坐标值;[0038]分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标;对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即可获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。[0039]本发明的另一目的在于提供一种存储在计算机可读介质上的计算机程序产品,包括计算机可读程序,供于电子装置上执行时,提供用户输入接口以应用所述的车道线识别[0040]本发明的另一目的在于提供一种计算机可读存储介质,储存有指令,当所述指令在计算机上运行时,使得计算机应用所述的车道线识别系统。[0041]本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的车道线识别系统。[0042]结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的车道线识别方法,适用于神经网络语义分割导出图像的数据提取,具有提取效率高、速度快、适用性强等特点。传统的车道线识别计算方法对计算机硬件配置的要求很高,本发明更适合应用在小场景的无人驾驶中。通过模型改进对视觉进行研究,各个模型都会有自己的优缺点,如yolo+lannet与yolop相比,前者虽然可以更好的完成任务但是模型太大对硬件要求高,而后者这种轻量级的模型更加适合本发明,所以在模型改进时不应该只注重效果,还要兼顾硬件是否达到需求。附图说明[0043]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的[0044]图1是本发明实施例提供的车道线识别方法流程图。[0045]图2是本发明实施例提供的车道线识别系统结构框图;9[0048]图4是本发明实施例提供的仿真实验方案示意图。[0049]图5是本发明实施例提供的局部路径规划示意图。具体实施方式[0050]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0051]针对现有技术存在的问题,本发明提供了一种车道线识别方法、系统、介质、设备及信息处理终端,下面结合附图对本发明作详细的描述。[0052]如图1所示,本发明实施例提供的车道线识别方法包括以下步骤:[0053]S101,在获取到YOLOP导出的车道线二值图后,将该图像转化为灰度图;将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系;[0054]S102,通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值;[0055]S103,得到直线方程后,判断斜率k,若斜率在-0.577到0.577,即tan150°-tan30°之间时,则可判断该直线不应该为车道线;确定一条横着的基准线,通过所述基准线检测这条线上的车道线数量以及偏移量;[0056]S104,计算该直线与所提取直线的交点,判断所计算的交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表;[0057]S105,对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求差处理,若该差小于一个阈值,则代表到一个突变点,将该突变点的索引和数据,即坐标x的值分别保存到一个新的数组中;[0058]S106,对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交点的x坐标值;[0059]S107,分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标;[0060]S108,对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即可获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。[0061]如图2所示,本发明实施例提供的车道线识别系统包括:[0062]图像转换模块1,用于在获取到YOLOP导出的车道线二值图后,将该图像转化为灰度图;将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系;[0063]参数值计算模块2,用于通过霍夫直线拟合提取出符合条件的车道直线矢量,提取出建立的坐标系中拟合直线上的两个端点坐标,并通过两个端点坐标计算出直线的点斜式方程的参数值;[0064]斜率判断模块3,用于在得到直线方程后,判断斜率k,若斜率在-0.577到0.577,即述基准线检测这条线上的车道线数量以及偏移量;[0065]直线交点计算模块4,用于计算该直线与所提取直线的交点,判断所计算交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表;[0066]数组遍历模块5,用于对存储交点x坐标的数组进行遍历,将数组的相邻数据进行的值分别保存到一个新的数组中;[0067]新数组遍历模块6,用于对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中,所述新的数组即为左右车道线与基准线的交点的x坐标值;[0068]车道线坐标获取模块7,用于分别取左车道线数组的最后一个数据和右车道线数组第一个数据,获取靠近画面中心最近两条车道线,即当前车道线的坐标;[0069]车道线数量获取模块8,用于对获取到的两个数据相加除以2,计算出当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即可获取到当前画面中的车相对于计算出的车道线的偏移量;通过获取左右车道线数组的长度,获得左右车道线的数量。[0070]下面结合具体实施例对本发明的技术方案作进一步描述。[0071]实施例1:基于深度学习的神经网络导出图像的车道线数据提取方法[0072]本发明提供了一种基于YOLOP全景驾驶感知系统导出图像的车道线识别方法。在获取到YOLOP导出的车道线二值图后(见图3A和图3B),对该图像进行处理,采取的具体方法[0074]2.将图像以左上角为原点,从原点出发向右为x轴,从原点出发向下为y轴,建立平面直角坐标系。[0075]3.通过霍夫直线拟合提取出符合条件的车道直线矢量。[0076]4.提取出建立的坐标系中拟合直线上的两个端点坐标。[0077]5.通过这两个端点坐标计算出直线的点斜式方程的参数值(y=ax+b的a和b),其中需要特别注意斜率为0的情况(提取坐标点的两个x或y坐标相同)。[0079]6.得到直线方程后,判断斜率k,若斜率在-0.577到0.577(即tan(150°)-tan(30°)之间)时,则可以判断该直线不应该为车道线。[0080]7.确定一条横着的基准线(即y=a的一条直线),这条基准线用来检测这条线上的车道线数量以及偏移量。[0081]8.计算该直线与所提取直线的交点,判断所计算的交点x坐标是否超出坐标系范围,若没有超出则将该交点的x坐标加入数组列表。[0082]9.然后对存储交点x坐标的数组进行遍历,将数组的相邻数据进行求差处理,若该差小于一个阈值,则代表到了一个突变点,将该突变点的索引和数据(坐标x的值)分别保存到一个新的数组中。[0083]10.对新的数组进行遍历,通过将坐标x轴中心值与数组值比较大小,将该数组划分为两块,分别存储到两个新的数组中。这两个新的数组即是左右车道线与基准线的交点的x坐标值。11[0084]11.为获取靠近画面中心最近两条车道线(即当前车道线)的坐标,分别取左车道线数组的最后一个数据和右车道线数组第一个数据。[0085]12.对获取到的两个数据相加除以2,即计算出了当前车道线的中心点的x坐标值,再减去坐标x轴中心值,即可获取到当前画面中的车相对于计算出的车道线的偏移量。[0086]13.通过获取左右车道线数组的长度,即可取得左右车道线的数量。[0088]本发明实施例提供了一种基于双目摄像头、激光雷达、深度学习ROS系统的车道线识别方法。[0089]本发明在轻舟机器人的硬件基础上安装开发环境,并驱动轻舟机器人完成自动驾达的避障系统为重点展开,配合运动系统、建图定位等模块,完成指定地图中车道线以及各种地面车道指示标识的识别、还有行人、斑马线、路障和交通灯的识别,并根据地标指示以及交通灯指示正确行驶,遇到斑马线并识别到正前方近距离有行人时自觉减速礼让行人,且能够在不违反交通规则的前提下,变换车道躲避障碍物,最后顺利通过隧道,完成所有任[0094]2.视觉里程计,其作用是估计相邻两帧图片的相对运动,以及局部地图的建立。[0095]3.后端优化,它是接收前端测量的摄像机位姿和回环检测信息。[0096]4.回环检测,作用是检测机器人是否曾经到达过先前的位置,如果检测到回环它会把信息传输到后端进行处理。[0097]5.建图,最后就是根据估计出的轨迹进行建图。[0098]激光SLAM是基于激光返回的点云信息进行建图。通过激光雷达扫描障碍物,并在[0100]ROSnavigation包中提供了一个算法,AMCL(自适应蒙特卡洛定位)算法,它能够过雷达的深度数据,结合里程计数据,通过粒子滤波器来跟踪机器人的当前位置。但是在此种算法将不适合该种任务。环境感知-自主定位通过对AMCL实现的源代码进行阅读分析,将他对雷达数据的匹配部分进行了修改,让其直接使用里程计发布坐标变换(也就是小车的相对位置),但是效果并不好,究其原因,单靠里程计是会有累计误差的,并不好通过算法解[0101]在查阅了各种资料后,实在难以找到能够利用现有传感器在该环境下让机器人定位的方法。增加了硬件,T265双目摄像头。环境感知-自主定位IntelT265双目相机上直接运行有具有高度优化的专有V-SLAM算法,在预期的使用条件下,它可以直接提供低于1%的闭环漂移。使用木板自制了一个平台,然后在平台上搭建了一个框架,将T265双目摄像头固[0102]基于深度学习的语义分割和实例分割,可以实现车道线检测。构建conda虚拟环境用labelme工具标注并用.bat脚本制作训练所用的数据集。为了测试分割任务的效果,这里使用了多边形、直线两种标注方式,经对比得到多边形方式可以更好完成,于是采用多边形积网络进行语义分割的算法之一。最初被使用与医学影像领域,但由于它的简单、高效、易懂、容易构建被用于其他领域,也正是这些优点,本发明使用它作为车道线检测的模型之一。将前面制作的数据集放入模型中训练得到权重文件即可用于预测。当然U-Net网络虽然简单,效果也不错,但是缺点也很明显,对于不确定的多种类、多数量车道线的检测无法分支给每个lanepixel分配所属lane的id,因此可以解决U-Net无法解决的问题。缺点是网络比较复杂,但训练预测的步骤大同小异。[0103]车道线识别是本发明中很重要的一环。但在小车识别车道线的过程中,发现在各种复杂的环境情况下,任何一种算法对车道线的识别都不能达到很高的准确度,所以把功能定位明确为辅助行驶,也就是在置信度达到一定的程度后,再对该数据进行采集实现。车道线识别最初尝试了yolo+lannet的方法进行识别,其中yolo识别路标、行人、红绿灯。源有限,两个神经网络无法很好运行起来,于是只好另辟蹊径了。修改了识别的方法,尝试采用yolo+传统视觉识别。虽然将lannet改为传统视觉使得小车可以很好的运行。但是,传统视觉识别车道线的效果并不是很理想,鲁棒性低,小车只有运行在光源恒定,无反光无暗斑的场地才能达到比较好的效果。同时执行交通目标检测、可行驶区域分割和车道线检测三大视觉任务。将其车道线提取出来并定位,最后得到了输出的offset(偏移量)和左边右边的车道线数目。在处理好输出结经过优先级处理后,完成了车道保持系统。[0105]基于深度学习的目标检测,目标检测使为了完成路标、障碍物、人行横道等检测。同样首先是制作数据集,在虚拟环境下运行labelimg进行人工标注得到数据集。目标检测数据集放入yolov5训练并预测即可完成路标识别。由于地标的拍摄角度很小,是的数据集的图片角度几乎相同,模型的鲁棒性较差。因此可以用图片拉升变换,从而达到从视觉上看路标是成各种角度的拍摄的效果,当然也可以找其他更多的数据集训练。[0106]如图5所示,在本发明中使用的避障算法为ROSnavigation包中的局部路径规划,主要采用的是动态窗口法。该算法可实时的接收外部障碍物信息,实现躲避障碍物。局部路径规划-避障算法如当识别到前方有不动的障碍物时,小车会进行路径规划避开障碍物。当[0107]2、本发明实现了车道线识别的方法及无人驾驶技术,即navigation导航+计算机视觉。在导航过程中,小车不仅需要对自己的位置进行估算,还需要进行运动路线的规划,本发明对计算机硬件的要求很高,需要很高的算力。所以本发明更适合应用在小场景的无人驾驶中。通过模型改进对视觉进行研究,各个模型都会有自己的优缺点,如yo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论