一种车道距离的检测方法、装置、计算机设备和存储介质与流程

文档序号:26757512发布日期:2021-09-25 04:38阅读:79来源:国知局
一种车道距离的检测方法、装置、计算机设备和存储介质与流程

1.本发明实施例涉及自动驾驶的技术领域,尤其涉及一种车道距离的检测方法、装置、计算机设备和存储介质。


背景技术:

2.在车辆的自动驾驶辅助系统中,检测车道线之间的距离是一个很重要的任务,车道线之间的距离可用于车道保持,车道偏离预警,自动变道,语义地图构建等任务中。
3.目前检测车道线之间的距离的方法是点的水平距离,点的水平距离与车道线的姿态是相关的,而在实际的道路场景中,车道线是会以任意姿态出现在相机的视野中,导致检测到的车道线之间的距离存在较大偏差,对自动驾驶的决策造成影响。


技术实现要素:

4.本发明实施例提出了一种车道距离的检测方法、装置、计算机设备和存储介质,以解决使用点的水平距离检测车道线之间的距离存在较大偏差的问题。
5.第一方面,本发明实施例提供了一种车道距离的检测方法,包括:
6.获取对道路采集的图像数据;
7.在所述图像数据中检测所述道路上的第一车道线、第二车道线,所述第一车道线与所述第二车道线处于非竖直状态;
8.计算所述第一车道线与所述第二车道线之间处于非竖直状态的第一水平距离;
9.针对所述第一车道线与所述第二车道线计算用于从所述非竖直状态调整至竖直状态的调整模式;
10.根据所述调整模式调整所述第一水平距离,获得所述第一车道线与所述第二车道线之间处于竖直状态时的第二水平距离。
11.第二方面,本发明实施例还提供了一种车道距离的检测装置,包括:
12.图像数据获取模块,用于获取对道路采集的图像数据;
13.车道线检测模块,用于在所述图像数据中检测所述道路上的第一车道线、第二车道线,所述第一车道线与所述第二车道线处于非竖直状态;
14.水平距离计算模块,用于计算所述第一车道线与所述第二车道线之间处于非竖直状态的第一水平距离;
15.调整模式计算模块,用于针对所述第一车道线与所述第二车道线计算用于从所述非竖直状态调整至竖直状态的调整模式;
16.水平距离调整模块,用于根据所述调整模式调整所述第一水平距离,获得所述第一车道线与所述第二车道线之间处于竖直状态时的第二水平距离。
17.第三方面,本发明实施例还提供了一种计算机设备,所述计算机设备包括:
18.一个或多个处理器;
19.存储器,用于存储一个或多个程序,
20.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的车道距离的检测方法。
21.第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如第一方面所述的车道距离的检测方法。
22.在本实施例中,获取对道路采集的图像数据,在图像数据中检测道路上的第一车道线、第二车道线,第一车道线与第二车道线处于非竖直状态,计算第一车道线与第二车道线之间处于非竖直状态的第一水平距离,针对第一车道线与第二车道线计算用于从非竖直状态调整至竖直状态的调整模式,根据调整模式调整第一水平距离,获得第一车道线与第二车道线之间处于竖直状态时的第二水平距离,将第一车道线与第二车道线调整至竖直状态,使得计算第二水平距离与第一车道线与第二车道线的姿态无关,第一水平距离可以保证一定的精确度,在原有的第一水平距离的基础上进行调整,从而生成第二水平距离,保证第二水平距离在更高的精确度,并且,计算调整模式、调整第一水平距离的计算简单,基本不增加额外的计算开销。
附图说明
23.图1为本发明实施例提供的一种车辆的结构示意图;
24.图2a至图2c为本发明实施例提供的点的水平距离的示例图;
25.图3为本发明实施例一提供的一种车道距离的检测方法的流程图;
26.图4a至图4c为本发明实施例一提供的一种生成第一目标直接的示例图;
27.图5为本发明实施例一提供的一种推导调整模式的示意图;
28.图6为本发明实施例二提供的一种车道距离的检测装置的结构示意图;
29.图7为本发明实施例三提供的一种计算机设备的结构示意图。
具体实施方式
30.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
31.参见图1,示出了可以应用本发明实施例中车道距离的检测装置的实施例的车辆100。
32.如图1所示,车辆100可以包括驾驶控制设备101,车身总线102,ecu(electronic control unit,电子控制单元)103、ecu 104、ecu 105,传感器106、传感器107、传感器108和执行器件109、执行器件110、执行器件111。
33.驾驶控制设备(又称为车载大脑)101负责整个车辆100的总体智能控制。驾驶控制设备101可以是单独设置的控制器,例如,cpu、异构处理器(如gpu、tpu、npu等)可编程逻辑控制器(programmable logiccontroller,plc)、单片机、工业控制机等;也可以是由其他具有输入/输出端口,并具有运算控制功能的电子器件组成的设备;还可以是安装有车辆驾驶控制类应用的计算机设备。驾驶控制设备可以对从车身总线102上接收到的各个ecu发来的数据和/或各个传感器发来的数据进行分析处理,作出相应的决策,并将决策对应的指令发
送到车身总线。
34.车身总线102可以是用于连接驾驶控制设备101,ecu 103、ecu 104、ecu105,传感器106、传感器107、传感器108以及车辆100的其他未示出的设备的总线。由于can(controller areanetwork,控制器局域网络)总线的高性能和可靠性已被广泛认同,因此目前机动车中常用的车身总线为can总线。当然,可以理解的是车身总线也可以是其他类型的总线。
35.车身总线102可以将驾驶控制设备101发出的指令发送给ecu 103、ecu 104、ecu 105,ecu 103、ecu 104、ecu 105再将上述指令进行分析处理后发给相应的执行器件执行。
36.传感器106、传感器107、传感器108包括但不限于激光雷达、摄像头,等等。其中,通常在车体周围架设4

8组广角、高感光摄像头,每组摄像头的数量不一,可以有2

4个摄像头。
37.需要说明的是,本发明实施例所提供的车道距离的检测方法可以由驾驶控制设备101执行,相应地,车道距离的检测装置一般设置于驾驶控制设备101中。当然,本发明实施例所提供的车道距离的检测方法可以由驾驶控制设备101连接的服务器执行,相应地,车道距离的检测装置一般设置于驾驶控制设备101连接的服务器中,本发明实施例对此不加以限制。
38.应该理解,图1中的车辆、驾驶控制设备、车身总线、ecu、执行器件和传感器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的车辆、驾驶控制设备、车身总线、ecu和传感器。
39.如图2a至图2c,设θ为车道线200与水平方向之间的夹角,d为车道之间真实的距离,若应用点的水平距离预测车道线之间的距离dx。
40.如图2a所示,当θ=π/2时,dx=d。
41.如图2b所示,当0<θ<π/2时,dx=d/sinθ。
42.如图2c所示,当θ=0时,dx=+∞。
43.车道线从竖直(θ=π/2)旋转到水平(θ=π/2)的过程中,水平距离dx展现出差异不断增大的趋势。
44.点的水平距离与车道线的姿态(角度)有关系,对自动驾驶的许多方面存在负面的影响。
45.1、在训练模型的过程中,计算作为候选的车道线的距离,根据距离来决定车道线是否学习和学习的目标。当距离小于设定的阈值时,候选被视为正样本去学习目标;当距离大于设定的阈值时,候选被视为负样本。这样子会使得真实的目标被较少的候选学习,甚至是没有分配给任何候选学习,导致大量的接近水平的车道线漏检。
46.2、在模型推断的过程中,会生成很多候选的车道线,里面包含了很多低质量的车道线。根据每条车道线之间的距离来抑制低质量的车道线(非极大值抑制nms),保留高质量的车道线。当距离小于设定的阈值时,车道线被视为低质量的预测,被过滤掉;当距离大于设定的阈值时,车道线被视为不相关的预测,被保留。使得原本距离就比较近的正确的车道线被抑制,出现漏检。例如,地面的双黄线、减速线、路边和靠近路边的车线等。
47.实施例一
48.图3为本发明实施例一提供的一种车道距离的检测方法的流程图,本实施例可适
用于旋转车道线至竖直状态之后计算车道线之间的距离的情况,该方法可以由车道距离的检测装置来执行,该车道距离的检测装置可以由软件和/或硬件实现,可配置在计算机设备中,例如,车辆、服务器,等等,具体包括如下步骤:
49.步骤301、获取对道路采集的图像数据。
50.本实施例中的车辆可支持自动驾驶,所谓自动驾驶,可以指车辆本身拥有环境感知、路径规划并且自主实现车辆控制的能力,也就是用电子技术控制车辆进行的仿人驾驶。
51.根据对车辆操控任务的把握程度,自动驾驶车辆可以分为l0非自动化(no automotion)、l1驾驶人辅助(driver assistance)、l2部分自动化(partial automation)、l3有条件自动化(conditional automation)、l4高自动化(high automation)、l5全自动化(full automation)。
52.本实施例中自动驾驶的车辆,可以指满足l1

l5中任一要求的车辆,其中,系统在l1

l3起辅助功能,当到达l4,车辆驾驶将交给系统,因此,自动驾驶的车辆可选为满足l4、l5中任一要求的车辆。
53.在车辆上安装有多个摄像头,多个摄像头之间安装的角度存在差异,可以覆盖车辆周边的范围,而多个摄像头通常配合其他感知传感器(如激光雷达lidar、毫米波雷达、超声波雷达等)对车辆周围环境(包括道路)的多帧图像数据。
54.以激光雷达作为其他感知传感器的示例,车辆在自动驾驶的过程中,可以持续控制激光雷达旋转,在旋转的过程中采集车辆周围环境的点云数据,点云数据与图像数据可融合感知,当激光雷达扫描到摄像头的可视范围时,由特定的同步器触发调用该摄像头采集图像数据。
55.这些图像数据可以上传至服务器进行存储,等待训练相应的模型。
56.步骤302、在图像数据中检测道路上的第一车道线、第二车道线。
57.在本实施例中,可以预先构建车道线检测模型,如lanenet与h

net的组合、polylanenet、vpgnet、3d

lanenet等,该车道线检测模型用于检测车道线,对于面向道路采集的图像数据,可将该图像数据输入车道线检测模型进行处理,输出两条车道线,记为第一车道线、第二车道线。
58.进一步而言,二维的车道线(第一车道线、第二车道线)表示形式可分为2种:
59.1、点的序列
60.车道线表示为二维点的序列{(x
i
,y
i
)},其中,i=1,2,...,n,如果y
i
按照固定步长step采样,即y
i
=1,2,..,n,该序列可简化为{x
i
},i=1,2,...,n。
61.2、曲线方程
62.车道线表示为拟合的曲线方程,例如,三次曲线方程x=m0y+m1y2+m3y3,其中,m0、m1、m2已知,可以根据任意的y计算出x。
63.点的序列、曲线方程基本是等价的,点的序列可拟合求解出曲线方程,曲线方程离散化采样可得到点的序列。
64.步骤303、计算第一车道线与第二车道线之间处于非竖直状态的第一水平距离。
65.在本实施例中,在图像数据中检测的第一车道线与第二车道线处于非竖直状态(又称倾斜状态),即,第一车道线与第二车道线所表征的道路在二维的图像数据中处于除竖直状态的其他状态,而并非第一车道线或第二车道线单独处于非竖直状态。
66.在非竖直状态下,可以计算第一车道线与第二车道线之间的第一水平距离,即,在非竖直状态下,第一车道线与第二车道线之间在水平方向上间隔的距离。
67.示例性地,第一车道线l
a
表示为多个第一点其中,a
s
,为l
a
中位于首位(起点)的第一点的索引,a
e
为l
a
中位于末位(终点)的第一点的索引,为第一点的坐标,第二车道线l
b
表示为多个第二点其中,b
s
为l
b
位于首位(起点)的第二点的索引,b
e
为l
b
位于末位(终点)的第二点的索引,为第二点的坐标。
68.那么,在本示例中,计算第一参考值e、第二参考值s。
69.其中,第一参考值e为位于末位的第一点的索引a
e
与位于末位的第二点的索引b
e
中的最小值,表示为e=min(a
e
,b
e
)。
70.第二参考值s为位于首位的第一点的索引a
s
与位于首位的第二点的索引b
s
中的最大值,表示为s=max(a
s
,b
s
)。
71.在第一参考值与第二参考值之间的范围内,计算第一点与第二点之间差值的平均值,作为第一车道线与第二车道线之间处于非竖直状态的第一水平距离d(l
a
,l
b
):
[0072][0073]
当然,上述计算第一水平距离的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它计算第一水平距离的方式,本发明实施例对此不加以限制。另外,除了上述计算第一水平距离的方式外,本领域技术人员还可以根据实际需要采用其它计算第一水平距离的方式,本发明实施例对此也不加以限制。
[0074]
步骤304、针对第一车道线与第二车道线计算用于从非竖直状态调整至竖直状态的调整模式。
[0075]
第一车道线与第二车道线的姿态呈现非竖直状态,为了使计算第一车道线与第二车道线之间的距离与姿态无关,可以将第一车道线与第二车道线调整至竖直状态,即,第一车道线与第二车道线所表征的道路在二维的图像数据中处于竖直状态,而并非第一车道线或第二车道线单独处于竖直状态。
[0076]
由于第一车道线与第二车道线的姿态(以坐标表示)已知,因此,可以根据第一车道线与第二车道线的几何关系,计算与当前状态适配的调整模式,该调整模式用于将第一车道线与第二车道线从当前的非竖直状态调整至竖直状态。
[0077]
在本发明的一个实施例中,步骤304可以包括如下步骤:
[0078]
步骤3041、计算第一车道线与水平方向形成的第一夹角。
[0079]
为化简几何关系,降低计算调整模式的运算量,减少耗时,对于第一车道线,可以计算第一车道线整体上与水平方向形成的第一夹角。
[0080]
在具体实现中,第一车道线表示为多个第一点,因此,可以基于第一点生成与第一车道线的趋势匹配的第一目标直线,从而通过第一目标直线的斜率计算第一目标直线与水平方向形成的第一夹角θ1。
[0081][0082]
其中,dy为竖直方向上采样的间隔长度,x
i
为第i个第一点,x
j
为第j个第一点。
[0083]
在一个示例中,如图4a所示,以位于首位的第一点作为起始,顺序遍历其他第一点。
[0084]
在顺序遍历的过程中,每间隔预设的第一步长(如2个第一点),将其他第一点与位于首位的第一点生成第一候选直线411。
[0085]
计算所有第一候选直线411之间的平均值,作为第一目标直线412。
[0086]
在另一个示例中,如图4b所示,以位于末位的第一点作为起始,逆序遍历其他第一点。
[0087]
在逆序遍历的过程中,每间隔预设的第二步长(如2个第一点),将其他第一点与位于末位的第一点生成第二候选直线421。
[0088]
计算所有第二候选直线421之间的平均值,作为第一目标直线422。
[0089]
在又一个示例中,如图4c所示,将索引值对称的第一点生成第三候选直线431,所谓对称,可以指配对的第一点的索引值关于所有第一点的索引值的中间值对称,即,设位于末位的第一点的索引值为n,则第1个第一点与第n个第一点配对生成第三候选直线,第2个第一点与第n

1个第一点配对生成第三候选直线,如此类推。若位于末位的第一点的索引值为奇数,索引值位于中间值的第一点并不存在对称的第一点,并不用于生成第三候选直线。
[0090]
计算所有第三候选直线431之间的平均值,作为第一目标直线432。
[0091]
进一步而言,上述三种方式均可用于生成与第一车道线的趋势匹配的第一目标直线,而图4a所示的第一目标直线412偏右,图4b所示的第一目标直线422偏左,图4c所示的第一目标直线432居中,因此,可优选居中的方式生成与第一车道线的趋势匹配的第一目标直线。
[0092]
当然,上述生成第一目标直线的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它生成第一目标直线的方式,本发明实施例对此不加以限制。另外,除了生成计算第一目标直线的方式外,本领域技术人员还可以根据实际需要采用其它生成第一目标直线的方式,本发明实施例对此也不加以限制。
[0093]
此外,通过拟合第一目标之间计算第一夹角也只是作为示例,实施本发明实施例时,可以根据实际情况设置其它计算第一夹角的方式,例如,计算以每个第一点作为切线时的角度,对每个角度配置相应的权重,从而进行线性融合(即加权和)得到第一角度,等等,本发明实施例对此不加以限制。
[0094]
步骤3042、计算第二车道线与水平方向形成的第二夹角。
[0095]
为化简几何关系,降低计算调整模式的运算量,减少耗时,对于第二车道线,可以计算第二车道线整体上与水平方向形成的第二夹角。
[0096]
在具体实现中,第二车道线表示为多个第二点,因此,可以基于第一点生成与第二车道线的趋势匹配的第二目标直线,从而通过第二目标直线的斜率计算第二目标直线与水平方向形成的第二夹角θ2。
[0097]
在一个示例中,以位于首位的第二点作为起始,顺序遍历其他第二点。
[0098]
在顺序遍历的过程中,每间隔预设的第三步长(如2个第一点),将其他第二点与位于首位的第二点生成第四候选直线。
[0099]
计算所有第四候选直线之间的平均值,作为第二目标直线。
[0100]
在另一个示例中,以位于末位的第二点作为起始,逆序遍历其他第二点。
[0101]
在逆序遍历的过程中,每间隔预设的第四步长(如2个第一点),将其他第二点与位于末位的第二点生成第五候选直线。
[0102]
计算所有第五候选直线之间的平均值,作为第二目标直线。
[0103]
在又一个示例中,将索引值对称的第二点生成第六候选直线,计算所有第六候选直线之间的平均值,作为第二目标直线。
[0104]
当然,上述生成第二目标直线的方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其它生成第二目标直线的方式,本发明实施例对此不加以限制。另外,除了上述生成第二目标直线的方式外,本领域技术人员还可以根据实际需要采用其它生成第二目标直线的方式,本发明实施例对此也不加以限制。
[0105]
在本实施例中,由于生成第二目标直线的方式与生成第一目标直线的方式的应用基本相似,所以描述的比较简单,相关之处参见生成第一目标直线的方式的部分说明即可,本实施例在此不加以详述。
[0106]
此外,通过拟合第二目标之间计算第二夹角也只是作为示例,实施本发明实施例时,可以根据实际情况设置其它计算第二夹角的方式,例如,计算以每个第二点作为切线时的角度,对每个角度配置相应的权重,从而进行线性融合(即加权和)得到第二角度,等等,本发明实施例对此不加以限制。
[0107]
步骤3043、使用第一夹角与第二夹角计算用于从非竖直状态调整至竖直状态的调整模式。
[0108]
由于道路的变化使得第一车道线、第二车道线呈相交的状态、三维空间中的第一车道线、第二车道线在视觉上存在相交的状态等因素,可以对第一车道线、第二车道线、第一水平距离、第一车道线与第二车道线之间处于竖直状态时的第二水平距离构建标准的几何图案,由于将第一车道线与第二车道线从非竖直状态调整至竖直状态的调整模式的注意力在于计算第二水平距离,因此,可以以第一夹角与第二夹角作为已知的参数,推导求解第一距离与第二距离之间的关系,得到将第一车道线与第二车道线从非竖直状态调整至竖直状态的调整模式。
[0109]
在某些情况下,如果自动驾驶的其他决策应用第二水平距离的数值,那么,该调整模式可以包括缩放系数,用于描述第一距离与第二距离之间的缩放关系,在某些情况下。
[0110]
如果自动驾驶的其他决策应用第二水平距离的姿态,那么,该调整模式可以包括旋转模式、平移模式,用于第一距离与第二距离之间的旋转关系、平移关系。
[0111]
对于缩放系数,在不关心第一夹角与第二夹角之间的大小的情况下,可以在第一夹角与第二夹角中取最大值,作为第一变量角度,对第一夹角与第二夹角之间差值的绝对值取一半,作为第二变量角度,计算第一变量角度的正弦值与第二变量角度的余弦值之间的比值,作为缩放系数w,表示如下:
[0112]
w=sin(max(θ1,θ2))/cos(|θ1‑
θ2|/2)
[0113]
其中,θ1为第一夹角,θ2为第二夹角。
[0114]
缩放系数为第一水平距离之间的比值与等腰三角形的底边之间的比值,其中,等腰三角形的腰分别位于与第一车道线的趋势匹配的第一目标直线、与第二车道线的趋势匹配的第二目标直线,第一水平距离其中一个端点为等腰三角形的角点,因此,缩放系数w的推导过程如下:
[0115]
由于第一目标线表征第一车道线、第二目标线表征第二车道线,而第一车道线与第二车道线处于非竖直状态,相应地,第一目标线与第二目标线处于非竖直状态,可以使用第一夹角与第二夹角,按照几何关系计算用于将第一目标线与第二目标线从非竖直状态调整至竖直状态的调整模式,从而等价为将第一车道线与第二车道线从非竖直状态调整至竖直状态的调整模式。
[0116]
如图5所示,以第一车道线(第一目标直线)oa和第二车道线(第二目标直线)oc之间的交点o作为原点设置坐标系,坐标系上有x轴,第一水平距离为ab,即ab∥x轴,第二水平距离为ac,点f为x轴上的点,已知∠aof为θ1,∠cof为θ2,待求解ab与ac之间的缩放关系。
[0117]
作∠coa的角平分线od、od与ac相交于点d,设oc=oa,ae

bc。
[0118]
因为ab∥x轴,所以∠cba=∠cof=θ2。
[0119]
因为∠coa=θ2‑
θ1,oc=oa,所以在

cod中,od

cd,θ3=∠bca=π/2

(θ2‑
θ1)/2。
[0120]
因为ae

bc,所以在

aec中,ae=ac*sinθ3,在

aeb中,ae=ab*sinθ2,即,ae=ac*sinθ3=ab*sinθ2,因此,ac=ab*sinθ2/sinθ3=ab*sinθ2/cos((θ2‑
θ1)/2)。
[0121]
在自动驾驶中,第一车道线、第二车道线会左右倾斜变换,如果并不关注第一夹角θ1、第二夹角θ2之间的大小关系,提高计算的通用性,减少运算量,那么,ac=ab*sin(max(θ1,θ2))/cos(|θ1‑
θ2|/2),即,ac=w*ab,w为缩放系数,w=sin(max(θ1,θ2))/cos(|θ1‑
θ2|/2)。
[0122]
在本示例中,在

abc中,∠bac=π

θ2‑
θ3=π

θ2‑
(π/2

(θ2‑
θ1)/2)=(π

θ2‑
θ1)/2,旋转模式可以描述为维持第一水平距离的一个端点不变,旋转目标角度的一半,目标角度为π同时减去第一夹角、第二夹角,平移模式为空。
[0123]
步骤305、根据调整模式调整第一水平距离,获得第一车道线与第二车道线之间处于竖直状态时的第二水平距离。
[0124]
一般情况下,第一水平距离具有一定的精确性,若得到将第一车道线与第二车道线从非竖直状态调整至竖直状态的调整模式,则可以按照该调整模式对第一水平距离进行调整,实现对第一水平距离的修正,从而获得第一车道线与第二车道线之间处于竖直状态时的第二水平距离,即,在竖直状态下,第一车道线与第二车道线之间在水平方向上间隔的距离。
[0125]
若调整模式包括缩放系数,则计算第一水平距离与缩放系数之间的乘积,获得第一车道线与第二车道线之间处于竖直状态时的第二水平距离(数值)。
[0126]
若调整模式包括旋转模式、平移模式,则可以按照旋转模式对第一水平距离进行旋转,并按照该平移模式对该第一水平距离进行平移,获得第一车道线与第二车道线之间处于竖直状态时的第二水平距离(姿态)。
[0127]
在本实施例中,获取对道路采集的图像数据,在图像数据中检测道路上的第一车道线、第二车道线,第一车道线与第二车道线处于非竖直状态,计算第一车道线与第二车道线之间处于非竖直状态的第一水平距离,针对第一车道线与第二车道线计算用于从非竖直
状态调整至竖直状态的调整模式,根据调整模式调整第一水平距离,获得第一车道线与第二车道线之间处于竖直状态时的第二水平距离,将第一车道线与第二车道线调整至竖直状态,使得计算第二水平距离与第一车道线与第二车道线的姿态无关,第一水平距离可以保证一定的精确度,在原有的第一水平距离的基础上进行调整,从而生成第二水平距离,保证第二水平距离在更高的精确度,并且,计算调整模式、调整第一水平距离的计算简单,基本不增加额外的计算开销。
[0128]
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0129]
实施例二
[0130]
图6为本发明实施例二提供的一种车道距离的检测装置的结构框图,具体可以包括如下模块:
[0131]
图像数据获取模块601,用于获取对道路采集的图像数据;
[0132]
车道线检测模块602,用于在所述图像数据中检测所述道路上的第一车道线、第二车道线,所述第一车道线与所述第二车道线处于非竖直状态;
[0133]
水平距离计算模块603,用于计算所述第一车道线与所述第二车道线之间处于非竖直状态的第一水平距离;
[0134]
调整模式计算模块604,用于针对所述第一车道线与所述第二车道线计算用于从所述非竖直状态调整至竖直状态的调整模式;
[0135]
水平距离调整模块605,用于根据所述调整模式调整所述第一水平距离,获得所述第一车道线与所述第二车道线之间处于竖直状态时的第二水平距离。
[0136]
在本发明的一个实施例中,所述第一车道线表示为多个第一点,所述第二车道线表示为多个第二点;
[0137]
所述水平距离计算模块603包括:
[0138]
参考值计算模块,用于计算第一参考值、第二参考值,所述第一参考值为位于末位的所述第一点的索引与位于末位的所述第二点的索引中的最小值,所述第二参考值为位于首位的所述第一点的索引与位于首位的所述第二点的索引中的最大值;
[0139]
范围平均计算模块,用于在所述第一参考值与所述第二参考值之间的范围内,计算所述第一点与所述第二点之间差值的平均值,作为所述第一车道线与所述第二车道线之间处于非竖直状态的第一水平距离。
[0140]
在本发明的一个实施例中,所述调整模式计算模块604包括:
[0141]
第一夹角计算模块,用于计算所述第一车道线与水平方向形成的第一夹角;
[0142]
第二夹角计算模块,用于计算所述第二车道线与水平方向形成的第二夹角;
[0143]
夹角推导模块,用于使用所述第一夹角与所述第二夹角计算用于从所述非竖直状态调整至竖直状态的调整模式。
[0144]
在本发明的一个实施例中,所述第一车道线表示为多个第一点,所述第二车道线表示为多个第二点;
[0145]
所述第一夹角计算模块包括:
[0146]
第一目标直线计算模块,用于基于所述第一点生成与所述第一车道线的趋势匹配的第一目标直线;
[0147]
第一夹角形成模块,用于计算所述第一目标直线与水平方向形成的第一夹角;
[0148]
所述第二夹角计算模块包括:
[0149]
第二目标直线计算模块,用于基于所述第二点生成与所述第二车道线的趋势匹配的第二目标直线;
[0150]
第二夹角形成模块,用于计算所述第二目标直线与水平方向形成的第二夹角。
[0151]
在本发明实施例的一个示例中,所述第一目标直线计算模块还用于:
[0152]
以位于首位的所述第一点作为起始,顺序遍历其他所述第一点;
[0153]
在顺序遍历的过程中,每间隔预设的第一步长,将其他所述第一点与位于首位的所述第一点生成第一候选直线;
[0154]
计算所有所述第一候选直线之间的平均值,作为第一目标直线;
[0155]
或者,
[0156]
以位于末位的所述第一点作为起始,逆序遍历其他所述第一点;
[0157]
在逆序遍历的过程中,每间隔预设的第二步长,将其他所述第一点与位于末位的所述第一点生成第二候选直线;
[0158]
计算所有所述第二候选直线之间的平均值,作为第一目标直线;
[0159]
或者,
[0160]
将索引值对称的所述第一点生成第三候选直线;
[0161]
计算所有所述第三候选直线之间的平均值,作为第一目标直线。
[0162]
在本发明实施例的一个示例中,所述第二目标直线计算模块还用于:
[0163]
以位于首位的所述第二点作为起始,顺序遍历其他所述第二点;
[0164]
在顺序遍历的过程中,每间隔预设的第三步长,将其他所述第二点与位于首位的所述第二点生成第四候选直线;
[0165]
计算所有所述第四候选直线之间的平均值,作为第二目标直线;
[0166]
或者,
[0167]
以位于末位的所述第二点作为起始,逆序遍历其他所述第二点;
[0168]
在逆序遍历的过程中,每间隔预设的第四步长,将其他所述第二点与位于末位的所述第二点生成第五候选直线;
[0169]
计算所有所述第五候选直线之间的平均值,作为第二目标直线;
[0170]
或者,
[0171]
将索引值对称的所述第二点生成第六候选直线;
[0172]
计算所有所述第六候选直线之间的平均值,作为第二目标直线。
[0173]
在本发明的一个实施例中,所述调整模式包括缩放系数;
[0174]
所述夹角推导模块包括:
[0175]
第一变量角度计算模块,用于在所述第一夹角与所述第二夹角中取最大值,作为第一变量角度;
[0176]
第二变量角度计算模块,用于对所述第一夹角与所述第二夹角之间差值的绝对值
取一半,作为第二变量角度;
[0177]
比值计算模块,用于计算所述第一变量角度的正弦值与所述第二变量角度的余弦值之间的比值,作为缩放系数。
[0178]
在本发明实施例的一个示例中,所述缩放系数为所述第一水平距离之间的比值与等腰三角形的底边之间的比值;
[0179]
所述等腰三角形的腰分别位于与所述第一车道线的趋势匹配的第一目标直线、与所述第二车道线的趋势匹配的第二目标直线;
[0180]
所述第一水平距离其中一个端点为所述等腰三角形的角点。
[0181]
在本发明的一个实施例中,所述水平距离调整模块605包括:
[0182]
水平距离缩放模块,用于若所述调整模式包括缩放系数,则计算所述第一水平距离与所述缩放系数之间的乘积,获得所述第一车道线与所述第二车道线之间处于竖直状态时的第二水平距离。
[0183]
本发明实施例所提供的车道距离的检测装置可执行本发明任意实施例所提供的车道距离的检测方法,具备执行方法相应的功能模块和有益效果。
[0184]
实施例三
[0185]
图7为本发明实施例三提供的一种计算机设备的结构示意图。图7示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图7显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0186]
如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
[0187]
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。
[0188]
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0189]
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd

rom,dvd

rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0190]
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常
执行本发明所描述的实施例中的功能和/或方法。
[0191]
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。
[0192]
处理单元16通过运行存储在系统存储器28中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的车道距离的检测方法。
[0193]
实施例四
[0194]
本发明实施例四还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述车道距离的检测方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0195]
其中,计算机可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd

rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0196]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1