一种道路检测方法和装置与流程-华体会hth·体育(中国)官方网站IOS/安卓/手机APP

文档序号:34131600发布日期:2023-11-29阅读:419来源:国知局


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.图2是根据本发明实施例提供的一种具体的中值滤波模板窗口的示意图;
25.图3是根据本发明实施例提供的一种具体的初始道路灰度图像的示意图;
26.图4是根据本发明实施例提供的一种具体的道路灰度图像的示意图;
27.图5是根据本发明实施例提供的一种具体的道路消失线及其灰度值均值分布图像的示意图;
28.图6是根据本发明实施例提供的一种具体的道路融合图像中的目标行驶路径的示意图;
29.图7是根据本发明实施例提供的另一种道路检测方法的流程图;
30.图8是根据本发明实施例提供的一种基于alpha shape算法确定道路边界网格的方法的流程图;
31.图9是根据本发明实施例提供的一种边界连线的示意图;
32.图10是根据本发明实施例提供的一种对二值化投影图像进行洪水填充的示意图;
33.图11是根据本发明实施例提供的一种具体的道路检测方法的流程图;
34.图12是根据本发明实施例提供的一种道路检测装置的结构框图;
35.图13是根据本发明实施例提供的一种车辆的结构框图。
具体实施方式
36.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
37.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”和“第二”,“目标”和“初始”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
38.图1是根据本发明实施例提供的一种道路检测方法的流程图,本实施例可适用于基于道路图像进行道路检测的场景,可以由道路检测装置来执行,该道路检测装置可以采用硬件和/或软件的形式实现,并配置于车辆的处理器中。
39.如图1所示,道路检测方法包括以下步骤:
40.s110、获取设置于车辆的拍摄装置拍摄的原始道路图像,确定原始道路图像中的道路区域,得到第一道路区域图像。
41.其中,原始道路图像是设置于车辆的拍摄装置拍摄的原始图像,例如,可以是设置在车头的前置摄像头。可选的,摄像头也可以是双目摄像头,可以捕获更多的道路信息,提高道路区域的准确度。也可以使用环视摄像头,安装在车前方的车标或格栅,使用多个摄像头的图像进行拼接,为车辆提供360度成像,确定道路情况,可以对车身周边情况的探测,便于对道路前方的情况进行实时确认。
42.具体的,为了对车辆前方的道路进行检测,可将拍摄装置设置在车辆上。拍摄装置拍摄车辆前方,得到原始道路图像,该原始道路图像包括车辆正在行驶的道路;通过图像分类、语义分割、目标检测或实例分割等方法检测原始道路图像中的道路,确定道路区域,得到第一道路区域图像。
43.在一个具体的实施例中,确定原始道路图像中的道路区域,得到第一道路区域图像,包括:
44.首先,对原始道路图像进行灰度化处理和滤波处理,得到道路灰度图像。
45.具体的,为了减少光强和车辆振动的影响,对原始道路图像进行灰度化处理,灰度图像与彩色图像相比,仍然反映了原始道路图像的整体和局部的色度和高亮等级的分布和特征。这样做的好处是,可以在视觉上增强道路区域和非道路区域的对比,而且可以简化图像矩阵,提高运算速度。
46.可选的,灰度化处理方法包括伽马(gamma)校正法、最大值法、平均值法和加权平均法中的任一种,本实施例对此不做具体限定。
47.示例性的,采用加权平均法对原始道路图像进行灰度化处理,得到初始道路灰度图像。具体的,原始道路图像包括红(r)、绿(g)和蓝(b)三个通道,针对原始道路图像中的每
个像素p,基于公式(1)确定初始道路灰度图像中同一位置像素的灰度值(gray
p
):
48.gray
p
=0.2990
×rp
+0.5780
×gp
+0.1140
×bp
ꢀꢀꢀ
(1);
49.其中,r
p
是原始道路图像中像素p在r通道的分量值,g
p
是原始道路图像中像素p在g通道的分量值,b
p
是原始道路图像中像素p在b通道的分量值。
50.进一步的,由于彩色图像和灰度图像均存在噪声,为了降低噪声的影响,使用滤波方法对初始道路灰度图像进行滤波,这样做的好处是,能在尽量保留图像细节特征的条件下对初始道路灰度图像的噪声进行抑制,增强后续处理和分析的有效性和可靠性,进一步提高道路检测的准确度。
51.可选的,滤波方法包括均值滤波、高斯滤波和中值滤波中的任一种,本实施例对此不做具体限定。
52.在一个具体的实施例中,基于中值滤波对初始道路灰度图像进行滤波,针对初始道路灰度图像中的每个像素点,将该像素点的灰度值设置为该点设定邻域窗口内的所有像素点灰度值的中值,得到道路灰度图像。这样做的好处是,中值滤波对孤立的噪声像素(例如,椒盐噪声和脉冲噪声)具有良好的滤波效果,可以保持原始道路图像的边缘特性,不会使图像产生显著的模糊,便于确定道路区域。
53.示例性的,基于尺寸为3
×
3的中值滤波模板窗口(参见图2)对初始道路灰度图像(图3)进行中值滤波处理,得到道路灰度图像(参见图4)。具体的,针对初始道路灰度图像中的每个像素(p’),基于公式(2)更新该位置像素的灰度值(gray
p,filt
):
54.gray
p,filt
=median{ gray
p'
},p'∈w
ꢀꢀꢀ
(2);
55.其中,gray
p’为初始道路灰度图像中该像素的灰度值,w为以p’为中心像素的中值滤波模板窗口。
56.然后,基于道路灰度图像确定道路消失线,基于道路消失线确定初始道路区域图像。
57.具体的,针对道路灰度图像中的像素点,以行为单位,计算每行像素点灰度值的均值将该灰度值均值从小到大排列,确定灰度值均值最小值对应的一行像素点(参见图5),得到道路消失线;基于道路消失线,确定道路灰度图像中位于道路消失线以下的所有像素点,得到初始道路区域图像。这样做的好处是,基于道路消失线将原始道路图像中的道路与其上空的部分分割开,去掉了冗余信息,减少了图像面积,得到高准确率的道路区域图像,减少了目标分类模型的运算时间,进一步提高了道路检测的准确度。
58.最后,对初始道路区域图像进行连通域分析,确定像素数最大的连通域,得到第一道路区域图像。
59.具体的,对初始道路区域图像进行连通域分析,确定初始道路区域图像中处于预设像素值范围且位置相邻的像素点组成的图像区域,得到连通域,确定像素数最大(面积最大)的连通域,作为初始道路区域图像中的道路区域,得到第一道路区域图像。
60.示例性的,针对初始道路区域图像中每个像素点,确定该像素点的邻域(例如4邻域/8邻域)范围的图像区域的像素值,若该邻域范围内所有像素值与该像素点像素值相同,将该图像区域和该像素点组成的区域视为连通,得到初始道路区域图像中的各个连通区域,删除像素个数少于设定像素数(例如60)的连通区域,将像素数最多的连通区域的图像作为第一道路区域图像。
61.可选的,还可以先使用二值化算法对初始道路区域图像进行二值化处理,再对二值化图像进行连通域分析,其中,二值化算法包括双峰法、p参数法、迭代法和大津(otsu)算法等。这样做的好处是,可以防止像素值波动对提取不同连通域的影响,提高第一道路区域图像的精度,进一步提高道路检测的准确度。
62.示例性的,基于大津算法(也叫做最大类间方差算法或最大类间阈值算法)确定二值化阈值,对初始道路区域图像进行二值化处理,以二值化后的图像对初始道路区域图像进行更新。具体的,基于公式(3)确定二值化阈值,假定初始道路区域图像只包括两类像素即前景区域(道路区域)像素和背景区域(非道路区域)像素,需要计算能将两类像素分开的最佳阈值,使得该两类像素的类内方差最小,即使得该两类像素的类间方差最大(argmaxtr(sb));然后基于该二值化阈值对初始道路区域图像中像素值进行二值化处理,以二值化后的图像对初始道路区域图像进行更新。这样做的好处是,对二值化图像进行连通域分析,可以防止像素值波动对提取不同连通域的影响。
[0063][0064]
其中,sb是两个类的方差的加权和矩阵,ω0为初始道路区域图像中属于道路区域的像素点数占初始道路区域图像像素点总数的比例,ω1为初始道路区域图像中属于非道路区域的像素点数占初始道路区域图像中像素点总数的比例,为初始道路区域图像中属于道路区域的像素点灰度值的均值,为初始道路区域图像中属于非道路区域的像素点灰度值的均值,为初始道路区域图像中所有像素点灰度值的均值。
[0065]
s120、获取激光雷达设备扫描的三维点云数据,基于三维点云数据确定第二道路区域图像。
[0066]
具体的,在拍摄装置的附近还设置了激光雷达设备,通过激光雷达设备扫描车辆周围环境,得到包括车辆周围环境的三维点云数据;对该三维点云数据进行建模,将点云数据转化为具有结构和形状的三维模型;根据激光雷达坐标系、三维模型坐标系、拍摄装置的设备坐标系和第一道路区域图像的像素坐标系之间的转换关系,将三维模型中的道路区域投影至第一道路区域图像的像素坐标系中,得到第二道路区域图像。
[0067]
可选的,对三维点云数据进行去噪和配准等预处理操作,对三维点云数据进行更新。这样做的好处是,可以有效剔除点云中的噪声和外点,在保持几何特征的基础上实现点云数据简化,并生成更精确的三维模型。
[0068]
可选的,可以使用鸟瞰图(bird’s eye view,bev)感知器将三维点云数据转换为bev特征,进而针对bev特征进行道路区域识别,确定道路区域对应的图像,得到第二道路区域图像。
[0069]
可选的,也可以直接确定三维点云数据中道路区域对应的三维道路点云数据,将该三维道路点云数据投影至第一道路区域图像的像素坐标系中,得到第二道路区域图像。
[0070]
s130、基于车辆的目标行驶路径、第一道路区域图像和第二道路区域图像确定目标道路区域图像。
[0071]
其中,目标行驶路径是车辆即将行驶的路径。
[0072]
具体的,以距离车辆正前方第一设定距离处为当前行驶道路区域的终点,采用预
设目标检测算法确定该第一设定距离范围内是否有障碍物,剔除落在障碍物上的采样点,并将剩下的点与其第二设定距离范围内的点相连,同时删除穿越障碍物的连线,从而构成一张无向图;利用预设路径搜索算法(例如dijkstra算法或a*算法等)在无向图中进行搜索,确定一条车辆当前位置到终点之间的可行路径,得到目标行驶路径。
[0073]
在一个具体的实施例中,根据车辆的前轮转角和轴距确定车辆的转弯半径;根据转弯半径、前轮转角和车辆所在的车辆坐标系下的横向坐标,确定车辆的目标行驶路径。
[0074]
首先,基于公式(4),根据车辆的前轮转角(δf)和车辆轴距(lw)计算车辆的转弯半径(r):
[0075][0076]
然后,根据公式(5)确定车辆的目标行驶路径在车辆坐标系下的横向坐标(y
trace
)和纵向坐标(x
trace
)的映射关系:
[0077][0078]
具体的,基于第一道路区域图像和第二道路区域图像,确定第一道路区域图像中的道路像素点和第二道路区域图像中的道路像素点的交集,得到道路交集图像;将车辆的目标行驶路径映射到道路交集图像所在的像素坐标系中,确定包括目标行驶路径的道路交集图像,得到道路规划图像;在该道路规划图像中,确定以目标行驶路径为中心线的预设尺寸的区域图像,得到目标道路区域图像。这样做的好处是,基于车辆未来的行驶方向确定道路区域能够考虑车辆未来可能的行驶方向自适应地调整道路区域的位置,能够提高对于复杂曲折的山路等非结构化道路的道路类型确定的鲁棒性。
[0079]
在一个实施例中,基于车辆的目标行驶路径、第一道路区域图像和第二道路区域图像确定目标道路区域图像,包括:将第一道路区域图像和第二道路区域图像进行融合,得到道路融合图像;根据车辆的目标行驶路径确定与道路融合图像对应的感兴趣区域,基于感兴趣区域中的道路像素点对应的区域生成目标道路区域图像。
[0080]
具体的,将第一道路区域图像和第二道路区域图像进行融合,得到道路融合图像;将目标行驶路径映射到道路融合图像所在的像素坐标系中,得到路径融合图像;预先设定了感兴趣区域的大小,确定路径融合图像中以目标行驶路径为中心线的预设尺寸的区域,得到感兴趣区域;确定路径融合图像中感兴趣区域道路像素点对应的区域,得到目标道路区域图像。
[0081]
示例性的,根据拍摄装置的安装位置确定矩形感兴趣区域的尺寸(即高度h和宽度w);将车辆的目标行驶路径投影至道路融合图像的像素坐标系(参见图6),得到道路融合图像中的目标行驶路径的轨迹点坐标(x
image
(y),y);根据矩形感兴趣区域的尺寸和目标行驶路径的轨迹点坐标(x
image
(y),y),基于公式(6)确定该道路融合图像中矩形感兴趣区域的中心位置(o(x,y))在道路融合图像的像素坐标系的位置(o),得到道路融合图像对应的感兴趣区域;确定感兴趣区域中的道路像素点对应的区域,得到目标道路区域图像。
[0082][0083]
可选的,还可以分别对第一道路区域图像和第二道路区域图像进行二值化处理,
得到第一道路区域二值图像和第二道路区域二值图像;将第一道路区域二值图像和第二道路区域二值图像进行融合,对道路融合图像进行更新。
[0084]
具体的,分别对第一道路区域图像和第二道路区域图像进行二值化处理,得到第一道路区域二值图像和第二道路区域二值图像;分别对第一道路区域二值图像和第二道路区域二值图像进行滤波处理,将经过滤波处理的第一道路区域二值图像和第二道路区域二值图像进行融合,对道路融合图像进行更新。
[0085]
在一个具体的实施例中,分别基于均值滤波对第一道路区域二值图像和第二道路区域二值图像进行滤波,针对上述二值图像中的每个像素点,将该像素点的灰度值设置为该点设定邻域窗口内的所有像素点灰度值的均值,得到均值滤波图像。窗口越大,滤波效果越好,但是图像也会变得更加模糊,因此需要根据具体的应用场景设置邻域窗口的大小。这样做的好处是,均值滤波算法简单,容易实现,也不需要花费大量的时间和空间,可以有效地消除噪声,改善图像质量。
[0086]
示例性的,基于预设尺寸(3
×
3)的均值滤波模板,针对第一道路区域二值图像和第二道路区域二值图像进行均值滤波处理,对均值滤波后的第一道路区域二值图像和第二道路区域二值图像进行图像融合,得到道路融合图像。具体的,首先,针对第一道路区域二值图像和第二道路区域二值图像中的每个像素点(p’),基于公式(7)确定每一个像素点周围9个像素点(包括像素点(p’))灰度值的平均值,作为该像素点滤波之后的灰度值(gray
p,avgflt
),得到第一均值滤波图像(b1)和第二均值滤波图像(b2):
[0087]
gray
p,avgflt
=mean{ gray
p'
},p'∈w(7)。
[0088]
然后,基于公式(8)对第一均值滤波图像(b1)和第二均值滤波图像(b2)进行加权融合,得到道路融合图像(bf):
[0089][0090]
其中,w1和w2分别为第一均值滤波图像(b1)和第二均值滤波图像(b2)的融合权重,b为融合阈值,将道路融合图像(bf)中超过阈值的像素点标记为道路像素点,确定所有道路像素点组成的区域图像,得到目标道路区域图像。
[0091]
可选的,还可以对道路融合图像进行连通域分析,得到道路融合图像中处于预设像素值范围且位置相邻的像素点组成的图像区域,确定(面积最大)像素数最大的连通域,作为道路融合图像中的道路区域,得到目标道路区域图像。
[0092]
示例性的,针对道路融合图像中每个像素点,确定该像素点的邻域8邻域范围的图像区域的像素值,若该8邻域范围内所有像素值与该像素点像素值相同,将该图像区域和该像素点组成的区域视为连通的,得到道路融合图像中的各个连通区域,删除像素个数少于60的连通区域,将像素数最大的连通区域的图像作为目标道路区域图像。
[0093]
s140、基于预训练的目标分类模型对目标道路区域图像进行分类,得到道路类型。
[0094]
道路类型包括结构化道路和非结构化道路。
[0095]
目标分类模型包括残差网络(residual network,resnet)、网络中的网络(network in network)、亚历克斯网络(alexnet)视觉几何组(visual geometry group,vgg)、谷歌学习网络(googlenet)、谷歌学习网络版本4(googlenet-v4又名inception-v4)和x开端(xception)中的至少一种。
[0096]
在一个具体的实施例中,目标分类模型包括预设特征提取模块和预设分类器,基于预训练的目标分类模型对目标道路区域图像进行分类,得到道路类型,包括:
[0097]
首先,基于预设特征提取模块提取目标道路区域图像的纹理特征,得到目标道路区域图像的纹理特征数据。
[0098]
其中,预设特征提取模块基于灰度共生矩阵算法构建。灰度共生矩阵算法(gray-level co-occurrence matrix,glcm)用于通过研究灰度的空间相关特性来描述图像的纹理。具体的,由于纹理特征是由灰度分布在空间位置上反复出现而形成的,因而在图像空间中相隔第二预设距离的两个像素点的灰度值之间会存在一定的灰度关系,即图像中灰度的空间相关特性。
[0099]
需要说明的是,由于灰度共生矩阵的数据量较大,一般不直接将其作为纹理特征,而是基于灰度共生矩阵构建的统计量作为纹理分类特征。其中统计量包括能量、熵、对比度、均匀性、相关性、方差、和平均、和方差、和熵、差方差、差平均、差熵、相关信息测度和最大相关系数。
[0100]
在一个实施例中,纹理特征数据包括对比度、逆差分矩、角二阶矩、相关性和熵。
[0101]
其中,对比度(contrast)用于确定灰度共生矩阵的值的分布情况和局部变化程度。通过公式(9)计算灰度共生矩阵p(i,j)的对比度(c):
[0102][0103]
其中,t=i-j,(l-1)是目标道路区域图像的灰阶数。
[0104]
对比度用于反应图像的清晰度和纹理的沟纹深浅,纹理的沟纹越深,反差越大,效果越清晰;反之,对比度值小,则沟纹浅,效果模糊。如果目标道路区域图像中相邻两个像素灰度值差别很大(即t的绝对值很大)的情况很多(很大),图像的纹理就越致密,对比度的取值就会越大。
[0105]
逆差分矩(inverse different moment),也叫逆差矩,用于对图像纹理局部变化进行量化,反映了图像纹理的同质性。逆差矩越大说明图像中纹理的不同区域间缺少变化,图像局部较均匀。通过公式(10)计算灰度共生矩阵p(i,j)的逆差分矩(d):
[0106][0107]
角二阶矩(angular second moment,asm)又称能量,用于量化图像灰度分布均匀程度和纹理粗细。若灰度共生矩阵的元素值相近,则能量较小,表示纹理细致;若其中一些值大,而其它值小,则能量值较大。通过公式(11)计算灰度共生矩阵中每个矩阵元素值的平方和,得到灰度共生矩阵p(i,j)的角二阶矩(e):
[0108][0109]
自相关(correlation)用于量化图像的灰度级在行或列方向上的相似程度,反应图像的局部灰度相关性,值越大,相关性也越大。通过公式(12)计算灰度共生矩阵p(i,j)的相关性(r):
[0110][0111]
熵(entropy)用于量化图像包含信息量的随机性。即图像中灰度分布的复杂程度,熵值越大,图像越复杂。通过公式(13)计算灰度共生矩阵的熵:
[0112][0113]
示例性的,确定目标道路区域图像在0
°
、45
°
、90
°
和135
°
四个生成方向的灰度共生矩阵,该灰度共生矩阵包括对应生成方向上灰度值分别为i和j的像素点对在目标道路区域图像中出现的概率。
[0114]
进一步的,基于公式(14)确定该像素点对的位置偏移量,得到像素点对的位置关系,
[0115][0116]
其中,θ表示该灰度共生矩阵的生成方向。
[0117]
具体的,针对每个生成方向的灰度共生矩阵,计算灰度共生矩阵的预设指标,预设指标包括熵、对比度、逆差分矩、角二阶矩和相关性,对这四个方向的特征值取平均值,确定最终的预设指标,得到目标道路区域图像的纹理特征数据。
[0118]
然后,将纹理特征数据输入预设分类器,得到道路区域图像对应的道路类型。
[0119]
其中,预设分类器用于对纹理特征数据进行分类,包括决策树、逻辑回归、朴素贝叶斯和神经网络等算法。
[0120]
在一个具体的实施例中,首先,以各种道路区域图像作为样本,以道路类型作为标签,对目标分类模型进行训练,得到经过训练的目标分类模型;将目标道路区域图像输入经过训练的目标分类模型,预设特征提取模块基于灰度共生矩阵算法提取目标道路区域图像的纹理特征,得到目标道路区域图像的纹理特征数据;将该纹理特征数据输入预设分类器,预设分类器用于对该纹理特征数据进行分类,确定道路类型并输出。可选的,还可以在目标分类模型中设置用于图像缩放的网络结构,该网络具体用于将目标道路区域图像缩放到预设尺寸,对目标道路区域图像进行更新。这样做的好处是,针对第一图像尺寸大于预设尺寸时,对第一图像进行缩放操作,得到预设尺寸的图像,可以减少计算成本和模型的预测时间。
[0121]
示例性的,预设分类器包括支持向量机(support vector machine,svm)分类器。具体的,获取道路图像的公共数据集,将该公共数据集中80%的道路图像作为训练集,20%作为验证集;将训练集中的道路图像作为样本,每个道路图像对应的道路类型作为标签,对目标分类模型进行训练;使用验证集对目标分类模型进行验证,直到目标分类模型准确率到达预设正确率,得到预训练的目标分类模型;将目标道路区域图像输入经过训练的目标分类模型,将目标道路区域图像缩放到与训练集中的道路图像相同的尺寸,基于该缩放后的图像对目标道路区域图像进行更新;将目标道路区域图像输入目标分类模型中,预设特征提取模块基于灰度共生矩阵算法在0
°
、45
°
、90
°
和135
°
四个方向提取目标道路区域图像的纹理特征,得到纹理特征数据;将该四个方向的纹理特征数据输入svm分类器,输出道路
类型。
[0122]
可选的,确定选取公共数据集中与目标道路区域图像尺寸相同的道路图像对目标分类模型进行训练,保证道路图像的分辨率一致。这样做的好处是,减少了不同尺寸的图像中里道路区域的大小不同的影响和噪声分布的干扰,提高目标分类模型的正确率。
[0123]
可选的,使用小尺寸的道路图像训练目标分类模型,再基于预训练的目标分类模型对大尺寸的道路图像进行推理,这样做的好处是,可以提高模型的训练速度。
[0124]
本实施例的技术方案,基于三维点云数据和道路图像确定道路区域,结合转向角预测车辆的目标行驶路径,根据车辆未来的行驶方向确定最终道路区域,能够考虑车辆未来可能的行驶方向自适应地调整道路区域的位置,通过目标道路区域图像的精度,解决了基于神经网络进行道路检测准确度较低的问题,提高了道路类型的准确度,为自动驾驶的安全提供保障。
[0125]
图7是根据本发明实施例提供的另一种道路检测方法的流程图,本实施例可适用于基于道路图像进行道路检测的场景,本实施例与上述实施例中的道路检测方法属于同一个发明构思,在上述实施例的基础上,进一步描述了基于三维点云数据确定第二道路区域图像的过程。
[0126]
如图7所示,该道路检测方法包括:
[0127]
s210、获取设置于车辆的拍摄装置拍摄的原始道路图像,确定原始道路图像中的道路区域,得到第一道路区域图像。
[0128]
s220、获取激光雷达设备扫描的三维点云数据,基于三维点云数据构建网格地图,确定网格地图中的道路边界网格。
[0129]
具体的,确定一个三维空间,该三维空间包括该激光雷达设备扫描的所有三维点云数据的三维空间,针对该三维空间构建三维网格,得到网格地图;针对网格地图中每个网格,确定网格中点云的法向量,得到法向量角度;根据网格中法向量角度的分散程度(例如标准差),确定分散程度超过阈值的网格,得到道路边界网格。
[0130]
在一个具体的实施例中,以车辆正前方为x轴正方向,车辆右侧为y轴正方向,上方为z轴正方向,确定第一预设距离范围的三维空间;根据网格地图对应的三维空间和激光雷达坐标系,确定三维点云数据在该三维空间的坐标。示例性的,x轴、y轴和z轴的取值范围均为[-30,30],单位为米,将该三维空间划分为网格,每个网格尺寸为0.2m*0.2m*0.2m,得到网格地图;针对每个网格中的三维点云数据,确定网格中点云的法向量,得到法向量角度;根据网格中法向量角度的分散程度(例如标准差),确定分散程度超过阈值的网格,得到道路边界网格。
[0131]
进一步的,确定网格地图中的道路边界网格,包括:针对网格地图中的每个网格,根据网格对应的三维点云数据以及网格的至少一个相邻网格对应的三维点云数据,确定属于道路边界的网格,得到道路边界网格。
[0132]
具体的,针对网格地图中每个网格,确定网格中点云的法向量,得到该网格中点云的法向量角度均值;确定该网格中点云的法向量角度均值与该网格相邻的至少一个网格中点云的法向量角度均值的差值;当该差值超过预设角度差值,该网格属于道路边界网格。
[0133]
可选的,根据网格对应的三维点云数据以及网格的至少一个相邻网格对应的三维点云数据,确定属于道路边界的网格,得到道路边界网格包括:确定网格对应的三维点云数
的第一距离d1和道路边界网格到第二圆心o2的第二距离d2。
[0147]
s8、分别确定第一距离d1和第二距离d2是否大于阈值α。
[0148]
s9、确定第一网格p0和第二网格p1为道路边界网格,对道路边界网格进行更新。
[0149]
具体的,若第一距离d1与第二距离d2中的至少一个大于阈值α,确定第一网格p0和第二网格p1为道路边界网格,对道路边界网格进行更新。
[0150]
s230、根据道路边界网格对网格地图进行分割,得到道路区域网格。
[0151]
具体的,以道路边界网格作为切割线,对网格地图进行分割;确定包括道路边界网格和网格地图坐标原点网格的区域网格,得到道路区域网格。
[0152]
s240、将道路区域网格投影至原始道路图像所在的像素坐标系中得到投影图像,基于投影图像确定第二道路区域图像。
[0153]
具体的,根据激光雷达和拍摄装置的安装位置,确定激光雷达坐标系和相机坐标系的第一坐标转换关系;根据相机的焦距,原始道路图像中单个像素的尺寸,确定原始道路图像的像素坐标系和相机坐标系的第二坐标转换关系;根据第一坐标转换关系和第二坐标转换关系,确定激光雷达坐标系与原始道路图像的像素坐标系之间的目标转换关系;基于该目标转换关系,将道路区域网格投影至原始道路图像所在的像素坐标系中,得到投影图像;确定投影图像中的道路区域,得到第二道路区域图像。
[0154]
示例性的,首先,针对每个点,确定该点在相机的相机坐标系中的三维坐标(xc,yc,zc)和该点在激光雷达坐标系中的三维坐标(x
l
,y
l
,z
l
);根据相机和激光雷达的安装位置,基于公式(15)标定激光雷达坐标系与该相机的3
×
3旋转矩阵(r)与3
×
1平移矩阵(t),得到激光雷达坐标系和相机坐标系的第一坐标转换关系,实现激光雷达坐标系与相机坐标系的坐标转换。
[0155][0156]
其次,针对每个点,确定该点在相机成像平面(原始道路图像)的像素坐标系中的坐标(x,y),确定相机的焦距f、原始道路图像的长2x0、原始道路图像的宽2y0、单个像素在原始道路图像的长dx和宽dy;基于公式(16)进行相机坐标系与原始道路图像像素坐标系的坐标转换,得到第二坐标转换关系。
[0157][0158]
然后,基于公式(17)确定激光雷达坐标系与原始道路图像的像素坐标系之间的目标转换关系:
[0159][0160]
最后,基于该目标转换关系,将道路区域网格投影至原始道路图像所在的像素坐标系中,得到投影图像;确定投影图像中的道路区域,得到第二道路区域图像。
[0161]
在一个具体的实施例中,基于投影图像确定第二道路区域图像,包括:
[0162]
首先,获取投影图像中与道路边界网格对应的道路边界像素点。
[0163]
可以理解的是,将道路区域网格投影至原始道路图像所在的像素坐标系中,投影图像中的道路边界可能不是连续的,因此,为了使投影图像中的道路边界是连续的,需要确定获取投影图像中与道路边界网格对应的道路边界像素点。
[0164]
具体的,根据投影图像的像素坐标系与激光雷达坐标系的坐标转换关系,在投影图像中,确定每个道路边界网格对应的像素点,得到道路边界像素点。
[0165]
然后,建立道路边界像素点的两个端点像素点的连线,得到至少一条边界连线。
[0166]
可以理解的是,一条道路边界有一组道路边界像素点。具体的,根据道路边界像素点的位置,确定至少一组道路边界像素点;针对每组道路边界像素点,确定道路边界像素点的两个端点像素点,建立两个端点像素点的连线,得到一条边界连线(参见图9)。
[0167]
示例性的,根据道路边界像素点的位置,得到两组道路边界像素点;确定每组道路边界像素点的两个端点像素点,建立两个端点像素点的连线,得到边界连线。
[0168]
可选的,也可以直接将道路边界网格的两个端点用直线相连,确定边界连线,将边界连线经过的图像像素点作为边界像素点。
[0169]
最后,基于预设图像填充算法,针对边界连线进行图像填充,得到第二道路区域图像,其中,预设图像填充算法包括洪水填充算法。
[0170]
可以理解的是,针对投影图像中仅存在一条道路边界或道路边界形状不规则的场景,需要通过图像填充算法对边界连线进行填充。
[0171]
具体的,在投影图像中,根据拍摄装置的安装位置确定洪水填充算法的种子点(x',y');针对边界连线和种子点进行洪水填充,确定道路区域,得到第二道路区域图像。
[0172]
在一个具体的实施例中,图10是根据本发明实施例提供的一种对二值化投影图像进行洪水填充的示意图。具体的,针对二值化投影图像中的像素点,从左上角到右下角对像素点进行顺序标号,得到标号结果;确定标号结果中标号的中位数对应的像素点,得到种子点;从种子点开始,提取种子点附近预设范围(4邻域/8邻域)内与种子点连通的所有像素点,直到边界连线对应的封闭区域内的所有像素点都被填充过为止,可以将边界连线对应的连通域与其他相邻区域分开(或分别染成不同颜色),得到填充区域;确定该填充区域的所有像素点组成的图像,得到第二道路区域图像。
[0173]
s250、基于车辆的目标行驶路径、第一道路区域图像和第二道路区域图像确定目标道路区域图像。
[0174]
s260、基于预训练的目标分类模型对目标道路区域图像进行分类,得到道路类型,
道路类型包括结构化道路和非结构化道路。
[0175]
图11是根据本发明实施例提供的一种具体的道路检测方法的流程图,如图11所示,s300、s302和s311可同时进行,该道路检测方法包括:
[0176]
s300、获取原始道路图像,对原始道路图像进行预处理,对原始道路图像进行更新。
[0177]
其中,预处理包括灰度化处理和中值滤波处理。
[0178]
s301、基于原始道路图像,确定道路消失线;根据道路消失线对原始道路图像进行分割,得到第一道路区域图像。
[0179]
s302、获取三维点云数据,基于三维点云数据,构建三维网格,得到网格地图。
[0180]
s303、基于网格地图中三维点云数据的高程,确定道路边界网格;根据道路边界网格对网格地图进行分割,得到道路区域网格。
[0181]
s304、确定激光雷达坐标系和原始道路图像的像素坐标系之间的坐标转换关系。
[0182]
s305、根据激光雷达坐标系和原始道路图像的像素坐标系之间的坐标转换关系,将道路区域网格投影至原始道路图像的像素坐标系中,得到投影图像。
[0183]
s306、基于投影图像中的道路边界像素点确定道路边界线,针对道路边界线进行洪水填充,得到第二道路区域图像。
[0184]
s307、对第一道路区域图像和第二道路区域图像进行图像融合,得到道路融合图像。
[0185]
s308、基于车辆的转向角确定车辆的目标行驶路径。
[0186]
s309、基于目标行驶路径确定道路融合图像中的感兴趣区域,去除感兴趣区域中的非道路像素点,得到目标道路区域图像。
[0187]
s310、对目标道路区域图像进行纹理特征提取,得到目标道路区域图像的纹理特征数据。
[0188]
s311、获取道路图像的公共数据集,确定训练数据集。
[0189]
s312、对训练数据集中的道路图像提取纹理特征,得到样本特征数据。
[0190]
s313、基于样本特征数据和样本特征数据对应的道路图像的道路类型标签文件对初始svm分类器进行训练,得到目标svm分类器。
[0191]
s314、将目标道路区域图像的纹理特征数据输入目标svm分类器,输出道路类型。
[0192]
本实施例的技术方案,针对三维点云数据构建网格地图,基于网格地图中点云高程的道路区域分割方法,将三维点云投影到道路图像所在的像素坐标系中,解决了现有的道路检测方法存在准确度低的问题,可对输电线路周边进行实时监测,缩小特征匹配的范围,减少特征匹配的数据量,加快图像配准的速度,进一步加快输电线路检测的速度和准确度。
[0193]
图12是根据本发明实施例提供的一种道路检测装置的结构框图,本实施例可适用于基于道路图像进行道路检测的场景,该装置可以采用硬件和/或软件的形式实现,集成于车辆的处理器中。
[0194]
如图12所示,该道路检测装置包括:
[0195]
第一道路区域图像确定模块601,用于获取设置于车辆的拍摄装置拍摄的原始道路图像,确定原始道路图像中的道路区域,得到第一道路区域图像;第二道路区域图像确定
模块602,用于获取激光雷达设备扫描的三维点云数据,基于三维点云数据确定第二道路区域图像;目标道路区域图像确定模块603,用于基于车辆的目标行驶路径、第一道路区域图像和第二道路区域图像确定目标道路区域图像;道路类型确定模块604,用于基于预训练的目标分类模型对目标道路区域图像进行分类,得到道路类型,道路类型包括结构化道路和非结构化道路。解决了基于神经网络进行道路检测准确度较低的问题,提高了道路类型的准确度,为自动驾驶的安全提供保障。
[0196]
可选的,第一道路区域图像确定模块601包括第一道路区域图像确定子模块,该第一道路区域图像确定子模块具体用于:
[0197]
对原始道路图像进行灰度化处理和滤波处理,得到道路灰度图像;
[0198]
基于道路灰度图像确定道路消失线,基于道路消失线确定初始道路区域图像;
[0199]
对初始道路区域图像进行连通域分析,确定像素数最大的连通域,得到第一道路区域图像。
[0200]
可选的,第二道路区域图像确定模块602包括第二道路区域图像确定子模块,该第二道路区域图像确定子模块具体用于:
[0201]
基于三维点云数据构建网格地图,确定网格地图中的道路边界网格;
[0202]
根据道路边界网格对网格地图进行分割,得到道路区域网格;
[0203]
将道路区域网格投影至原始道路图像所在的像素坐标系中得到投影图像,基于投影图像确定第二道路区域图像。
[0204]
可选的,第二道路区域图像确定子模块包括道路边界网格确定单元,该道路边界网格确定单元具体用于:
[0205]
针对网格地图中的每个网格,根据网格对应的所述三维点云数据以及网格的至少一个相邻网格对应的三维点云数据,确定属于道路边界的网格,得到道路边界网格。
[0206]
可选的,道路边界网格确定单元包括道路边界网格确定子单元,该道路边界网格确定子单元具体用于:
[0207]
确定网格对应的三维点云数据和网格的至少一个相邻网格对应的三维点云数据之间的网格高度差;
[0208]
若网格高度差小于或等于预设差值,将网格作为所述道路边界网格。
[0209]
可选的,第二道路区域图像确定子模块包括道路边界网格投影单元,该道路边界网格投影单元具体用于:
[0210]
获取投影图像中与道路边界网格对应的道路边界像素点;
[0211]
建立道路边界像素点的两个端点像素点的连线,得到至少一条边界连线;
[0212]
基于预设图像填充算法,针对边界连线进行图像填充,得到第二道路区域图像,其中,预设图像填充算法包括洪水填充算法。
[0213]
可选的,目标道路区域图像确定模块603包括目标道路区域图像单元,该目标道路区域图像单元具体用于:
[0214]
将第一道路区域图像和第二道路区域图像进行融合,得到道路融合图像;
[0215]
根据车辆的目标行驶路径确定与道路融合图像对应的感兴趣区域,基于感兴趣区域中的道路像素点对应的区域生成目标道路区域图像。
[0216]
可选的,目标道路区域图像确定模块603还包括目标行驶路径确定单元,该目标行
驶路径确定单元具体用于:
[0217]
根据车辆的前轮转角和轴距确定车辆的转弯半径;
[0218]
根据转弯半径、前轮转角和车辆所在的车辆坐标系下的横向坐标,确定车辆的目标行驶路径。
[0219]
可选的,道路类型确定模块604包括纹理特征分类子模块,该纹理特征分类子模块具体用于:
[0220]
基于预设特征提取模块提取目标道路区域图像的纹理特征,得到目标道路区域图像的纹理特征数据,其中,预设特征提取模块基于灰度共生矩阵算法构建;
[0221]
将纹理特征数据输入预设分类器,得到道路区域图像对应的道路类型。
[0222]
本发明实施例所提供的道路检测装置可执行本发明任一实施例所提供的道路检测方法,具备执行方法相应的功能模块和有益效果。
[0223]
图13是根据本发明实施例提供的一种车辆的结构框图,如图13所示,车辆10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(rom)12、随机访问存储器(ram)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(rom)12中的计算机程序或者从存储单元18加载到随机访问存储器(ram)13中的计算机程序,来执行各种适当的动作和处理。在ram 13中,还可存储车辆10操作所需的各种程序和数据。处理器11、rom 12以及ram 13通过总线14彼此相连。输入/输出(i/o)接口15也连接至总线14。
[0224]
车辆10中的多个部件连接至i/o接口15,包括:输入单元16,例如键盘或鼠标等;输出单元17,例如各种类型的显示器或扬声器等;存储单元18,例如磁盘或光盘等;以及通信单元19,例如网卡、调制解调器或无线通信收发机等。通信单元19允许车辆10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0225]
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(dsp)、任何适当的处理器、控制器或微控制器等。处理器11执行上文所描述的各个方法和处理,例如道路检测方法。
[0226]
在一些实施例中,道路检测方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由rom 12和/或通信单元19而被载入和/或安装到车辆10上。当计算机程序加载到ram 13并由处理器11执行时,可以执行上文描述的道路检测方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行道路检测方法。
[0227]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置和至少一个输出
装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置和该至少一个输出装置。
[0228]
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行或部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0229]
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备或上述内容的任何合适组合。
[0230]
为了提供与用户的交互,可以在车辆10上实施此处描述的系统和技术,该车辆具有:用于向用户显示信息的显示装置(例如,crt(cathode ray tube,阴极射线管)或者lcd(liquid crystal display,液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给车辆10。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。
[0231]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
[0232]
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
网友询问留言已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
技术分类