检测道路路面的可行驶区域的方法和装置

申请号 CN201210358202.4 申请日 2012-09-24 公开(公告)号 CN103679127B 公开(公告)日 2017-08-04
申请人 株式会社理光; 发明人 游赣梅; 鲁耀杰; 师忠超; 王刚;
摘要 公开了一种检测道路路面的可行驶区域的方法和设备。所述方法包括:根据包括道路路面的灰度图导出 视差 图,并且从该视差图中检测道路路面;从视差图中删除相对于道路路面的高度大于预定高度 阈值 的部分,产生子视差图;将该子视差图转换为U‑视差图;在U‑视差图中检测可行驶区域;以及将在U‑视差图中检测的可行驶区域转换为灰度图中的可行驶区域。上述方法和设备不依赖于道路上的白线或栅栏,因此具有更广泛的应用范围。此外,所述方法和装置利用从视差图获得的U‑视差图来检测道路路面的可行驶区域,具有良好的噪声鲁棒性和可靠性。
权利要求

1.一种检测道路路面的可行驶区域的方法,包括:
根据包括道路路面的灰度图导出视差图,并且从该视差图中检测道路路面;
从视差图中删除相对于道路路面的高度大于预定高度阈值的部分,产生子视差图;
将该子视差图转换为U-视差图;
在U-视差图中检测可行驶区域;以及
将在U-视差图中检测的可行驶区域转换为灰度图中的可行驶区域。
2.如权利要求1所述的方法,其中,从视差图中检测道路路面的步骤包括:
将视差图转换为V-视差图;以及
在V-视差图中拟合代表道路路面的道路线。
3.如权利要求2所述的方法,其中,通过从视差图中删除在道路线上方并且距道路线的距离大于所述预定高度阈值的部分,来产生子视差图。
4.如权利要求1所述的方法,其中,在U-视差图中检测可行驶区域的步骤包括:
在U-视差图中选择位于可行驶区域中的初始位置
通过从初始位置起在U-视差图中移动预定大小的检测窗口来检测U-视差图中的特定区域,作为可行驶区域,该特定区域包括所述初始位置,并且当检测窗口在该特定区域内移动时,该检测窗口内的有效点的数量始终小于预定数量阈值,其中所述有效点是亮度大于亮度阈值的点。
5.如权利要求4所述的方法,其中,通过从初始位置起在U-视差图中移动预定大小的检测窗口来检测U-视差图中的特定区域的步骤包括:
a)从所述初始位置起沿行的方向向左平移动检测窗口,当满足第一预定条件时停止移动检测窗口,并且记录该窗口的停止位置作为该行的左停止位置,然后从所述初始位置起沿行的方向向右水平移动检测窗口,当满足第二预定条件时停止移动检测窗口,并且记录该窗口的停止位置作为该行的右停止位置;
b)将检测窗口向上移动等于该检测窗口高度的距离,重复步骤a);
c)重复步骤b),直到检测窗口到达U-视差图的上边缘或者同一行内的左停止位置与右停止位置相邻为止;
d)在U-视差图中提取通过移动检测窗口而覆盖的区域作为可行驶区域,
其中,所述第一预定条件为以下条件之一:检测窗口内的有效点的数量大于预定数量阈值;尽管检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口到达U-视差图左边缘;尽管检测窗口没有到达左边缘并且检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口的位置距上一行的左停止位置的水平距离小于第一距离阈值;
所述第二预定条件为以下条件之一:检测窗口内的有效点的数量大于预定阈值;尽管检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口到达U-视差图右边缘;
尽管检测窗口没有到达右边缘并且检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口的位置距上一行的右停止位置的水平距离小于第二距离阈值。
6.如权利要求2所述的方法,其中,将在U-视差图中检测的可行驶区域转换为灰度图中的可行驶区域的步骤包括:
获取在U-视差图中检测的可行驶区域中的各个点的坐标;
基于各个点的坐标,利用在V-视差图中拟合的道路线的表达式,计算灰度图中的可行驶区域内的各个点的坐标;
根据灰度图中的可行驶区域内的各个点的坐标,提取灰度图中的可行驶区域。
7.一种检测道路路面的可行驶区域的设备,包括:
道路路面检测装置,被配置为根据包括道路路面的灰度图导出视差图,并且从该视差图中检测道路路面;
子视差图产生装置,被配置为从视差图中删除相对于道路路面的高度大于预定高度阈值的部分,产生子视差图;
U-视差图产生装置,被配置为将该子视差图转换为U-视差图;
U-视差图检测装置,在U-视差图中检测可行驶区域;以及
可行驶区域转换装置,被配置为将在U-视差图中检测的可行驶区域转换为灰度图中的可行驶区域。
8.如权利要求7所述的设备,其中,所述道路路面检测装置包括:
V-视差图产生单元,被配置为将视差图转换为V-视差图;以及
道路线拟合单元,被配置为在V-视差图中拟合代表道路路面的道路线。
9.如权利要求7所述的设备,其中,U-视差图检测装置包括:
选择单元,被配置为在U-视差图中选择位于可行驶区域中的初始位置;
检测单元,被配置为通过从初始位置起在U-视差图中移动预定大小的检测窗口来检测U-视差图中的特定区域,作为可行驶区域,该特定区域包括所述初始位置,并且当检测窗口在该特定区域内移动时,该检测窗口内的有效点的数量始终小于预定数量阈值,其中所述有效点是亮度大于亮度阈值的点。
10.如权利要求8所述的设备,其中,所述可行驶区域转换装置包括:
坐标提取单元,被配置为获取在U-视差图中检测的可行驶区域中的每个点的坐标;
转换单元,被配置为基于各个点的坐标,利用在V-视差图中拟合的道路线的表达式,计算灰度图中的可行驶区域内的各个点的坐标;
可行驶区域提取单元,被配置为根据灰度图中的可行驶区域内的各个点的坐标,提取灰度图中的可行驶区域。

说明书全文

检测道路路面的可行驶区域的方法和装置

技术领域

[0001] 本发明涉及道路检测,更具体地涉及检测道路路面的可行驶区域的方法和设备。

背景技术

[0002] 目前,正在研究汽车辅助驾驶技术。这种技术能够在用户驾驶汽车时向用户提供必要的信息和/或警告,以避免车辆碰撞、车辆偏离道路等危险情况。在某些情况下,甚至可以使用辅助驾驶技术来自动地控制汽车行进。
[0003] 对于辅助驾驶技术而言,重要的是正确地检测道路路面的可行驶区域。已经提出了很多检测道路路面的可行驶区域的方法。例如,美国专利申请公开US20100250064A1公开了一种利用道路两侧的白线来检测可行驶区域的方法,但是这种方法不适用于两侧没有白线的道路。美国专利申请公开US20050015201A1公开了一种对道路进行分割并且使用距离和分段的斜率来检测可行驶路面的方法,但是这种方法不适用于道路上的点较为稀疏的稀疏视差图。
[0004] 因此,需要一种能够可靠地检测道路路面的可行驶区域的方法和设备。

发明内容

[0005] 鉴于现有技术中的上述问题,提出了本发明。本发明的目的是提供一种能够可靠地检测道路路面的可行驶区域的方法和设备。
[0006] 根据本发明的一个方面,提供了一种检测道路路面的可行驶区域的方法,包括:根据包括道路路面的灰度图导出视差图,并且从该视差图中检测道路路面;从视差图中删除相对于道路路面的高度大于预定高度阈值的部分,产生子视差图;将该子视差图转换为U-视差图;在U-视差图中检测可行驶区域;以及将在U-视差图中检测的可行驶区域转换为灰度图中的可行驶区域。
[0007] 根据本发明的上述方面,所述从视差图中检测道路路面的步骤可以包括:将视差图转换为V-视差图;以及在V-视差图中拟合代表道路路面的道路线。
[0008] 根据本发明的上述方面,可以通过从视差图中删除在道路线上方并且距道路线的距离大于所述预定高度阈值的部分,来产生子视差图。
[0009] 根据本发明的上述方面,在U-视差图中检测可行驶区域的步骤可以包括:在U-视差图中选择位于可行驶区域中的初始位置;通过从初始位置起在U-视差图中移动预定大小的检测窗口来检测U-视差图中的特定区域,作为可行驶区域,该特定区域包括所述初始位置,并且当检测窗口在该特定区域内移动时,该检测窗口内的有效点的数量始终小于预定数量阈值,其中所述有效点是亮度大于亮度阈值的点。
[0010] 根据本发明的上述方面,通过从初始位置起在U-视差图中移动预定大小的检测窗口来检测U-视差图中的特定区域的步骤可以包括:a)从所述初始位置起沿行的方向向左平移动检测窗口,当满足第一预定条件时停止移动检测窗口,并且记录该窗口的停止位置作为该行的左停止位置,然后从所述初始位置起沿行的方向向右水平移动检测窗口,当满足第二预定条件时停止移动检测窗口,并且记录该窗口的停止位置作为该行的右停止位置;b)将检测窗口向上移动等于该检测窗口高度的距离,重复步骤a);c)重复步骤b),直到检测窗口到达U-视差图的上边缘或者同一行内的左停止位置与右停止位置相邻为止;d)在U-视差图中提取通过移动检测窗口而覆盖的区域作为可行驶区域,其中,所述第一预定条件为以下条件之一:检测窗口内的有效点的数量大于预定数量阈值;尽管检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口到达U-视差图左边缘;尽管检测窗口没有到达左边缘并且检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口的位置距上一行的左停止位置的水平距离小于预定距离阈值;所述第二预定条件为以下条件之一:检测窗口内的有效点的数量大于预定数量阈值;尽管检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口到达U-视差图右边缘;尽管检测窗口没有到达右边缘并且检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口的位置距上一行的右停止位置的水平距离小于预定距离阈值。
[0011] 根据本发明的上述方面,将在U-视差图中检测的可行驶区域转换为灰度图中的可行驶区域的步骤可以包括:获取在U-视差图中检测的可行驶区域中的每个点的坐标;利用在V-视差图中拟合的道路线的表达式,将各个点的坐标转换为灰度图中的坐标,从而获得灰度图中的可行驶区域内的各个点的坐标;根据灰度图中的可行驶区域内的各个点的坐标,提取灰度图中的可行驶区域。
[0012] 根据本发明的另一方面,提供了一种检测道路路面的可行驶区域的设备,包括:道路路面检测装置,被配置为根据包括道路路面的灰度图导出视差图,并且从该视差图中检测道路路面;子视差图产生装置,被配置为从视差图中删除相对于道路路面的高度大于预定高度阈值的部分,产生子视差图;U-视差图产生装置,被配置为将该子视差图转换为U-视差图;U-视差图检测装置,在U-视差图中检测可行驶区域;以及可行驶区域转换装置,被配置为将在U-视差图中检测的可行驶区域转换为灰度图中的可行驶区域。
[0013] 根据本发明的上述方面,所述道路路面检测装置可以包括:V-视差图产生单元,被配置为将视差图转换为V-视差图;以及道路线拟合单元,被配置为在V-视差图中拟合代表道路路面的道路线。
[0014] 根据本发明的上述方面,U-视差图检测装置可以包括:选择单元,被配置为在U-视差图中选择位于可行驶区域中的初始位置;检测单元,被配置为通过从初始位置起在U-视差图中移动预定大小的检测窗口来检测U-视差图中的特定区域,作为可行驶区域,该特定区域包括所述初始位置,并且当检测窗口在该特定区域内移动时,该检测窗口内的有效点的数量始终小于预定数量阈值,其中所述有效点是亮度大于亮度阈值的点。
[0015] 根据本发明的上述方面,所述可行驶区域转换装置可以包括:坐标提取单元,被配置为获取U-视差图中的可行驶区域中的每个点的坐标;转换单元,被配置为利用在V-视差图中拟合的道路线的表达式,将各个点的坐标转换为灰度图中的坐标,从而获得灰度图中的可行驶区域内的各个点的坐标;可行驶区域提取单元,被配置为根据灰度图中的可行驶区域内的各个点的坐标,提取灰度图中的可行驶区域。
[0016] 根据本发明上述方面的用于检测道路路面的可行驶区域的方法和设备不依赖于道路上的白线或栅栏,因此具有更广泛的应用范围。此外,所述方法和设备利用从视差图获得的U-视差图,基于检测窗口中的有效点密度来检测可行驶区域,因而具有良好的噪声鲁棒性和可靠性。附图说明
[0017] 通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目的、特征和优点将会变得更加清楚,其中:
[0018] 图1示意性地示出了从视差图导出V-视差图的过程;
[0019] 图2示意性地示出了从视差图导出U-视差图的过程;
[0020] 图3示意性地示出了可执行根据本发明实施例的用于检测道路路面的可行驶区域的方法的系统的示意图;
[0021] 图4是根据本发明实施例的用于检测道路路面的可行驶区域的方法的流程图
[0022] 图5示出了利用双目相机拍摄的左右图像之一的示例;
[0023] 图6示出了以图5所示的图像为基准图像计算的视差图;
[0024] 图7示出了通过转换图6所示的视差图获得的V-视差图;
[0025] 图8示出在图7所示的V-视差图中进行拟合而获得的道路线;
[0026] 图9示意性地示出了计算视差图中位于道路路面上方的点距道路路面的距离的图;
[0027] 图10示出了通过从图6所示的视差图中删除相对于道路路面的高度大于预定高度阈值的部分而获得的子视差图;
[0028] 图11示出了通过转换图10所示的子视差图获得的U-视差图;
[0029] 图12示出了在图11所示的U-视差图中选择初始位置并且设置检测窗口的过程的图;
[0030] 图13示出了从初始位置起图向左移动检测窗口的过程的图;
[0031] 图14示出了确定在该行中检测窗口的左停止位置的图;
[0032] 图15示出了从初始位置起图向右移动检测窗口的过程的图;
[0033] 图16示出了确定在该行中检测窗口的右停止位置的图;
[0034] 图17示出了将检测窗口向上移动之后的初始位置的图;
[0035] 图18示出了从图17所示的初始位置起向左移动检测窗口的过程的图;
[0036] 图19示出了确定在该行中检测窗口的左停止位置的图;
[0037] 图20示出了从图17所示的初始位置起向右移动检测窗口的过程的图;
[0038] 图21示出了确定在该行中检测窗口的右停止位置的图;
[0039] 图22示意性地示出了在图11所示的U-视差图中检测的可行驶区域;
[0040] 图23示意性地示出了在U-视差图和灰度图之间的坐标转换;
[0041] 图24示意性地示出了在图5所示的灰度图中检测的道路路面的可行驶区域;
[0042] 图25示出了根据本发明实施例的用于检测道路路面的可行驶区域的设备的框图
[0043] 图26示出了图25所示的道路路面检测装置的详细结构的框图;
[0044] 图27示出了图25所示的U-视差图检测装置的详细结构的框图;
[0045] 图28示出了图25所示的可行驶区域检测装置的详细结构的框图;
[0046] 图29示出了用硬件实现根据本发明实施例的用于检测道路路面的可行驶区域的设备时的硬件配置的示意图。
[0047] 应当注意,这些图不一定是按比例绘制的,它们只是用于说明的目的,而不是限制本发明。

具体实施方式

[0048] 为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。
[0049] <基本概念介绍>
[0050] 在本发明的实施例中,使用了视差、视差图、V-视差图和U-视差图的概念。这些概念是本领域公知的,因此在这里只对这些概念进行简单的介绍。
[0051] 视差,是指从相隔一定距离的两个点上观察同一个目标所产生的方向差异。当利用例如双目相机拍摄同一个目标的左右两幅图像时,该目标的视差可以理解为该目标在左图像中的横坐标与在右图像中的横坐标之间的差。
[0052] 视差图(disparity map)是以任一图像为基准图像,其尺寸为该基准图像的尺寸,其每个点(像素点)对应于基准图像中与该点坐标相同的点,并且其每个点的灰度值为基准图像中对应点的视差的图像。可以以本领域公知的很多方式获得视差图。例如,可以从双目相机拍摄的左图像和右图像计算得到视差图,可以从多目相机或立体相机拍摄的图像计算得到视差图,或者可以通过立体视图中的深度图计算得到视差图。在使用双目相机拍摄左右图像的情况下,可以对左右图像应用绝对差值之和立体匹配算法(Sum of Absolute Differences,SAD)来计算视差图,或者也可以使用本领域公知的其他算法来计算视差图。
[0053] 基准图像中的点的坐标可以表示为(x,y),其中x为横坐标,y为纵坐标,y越小,该点离相机越近。在通过转换该基准图像而获得的二维视差图中,与点(x,y)对应的点的坐标可以表示为(u,v),其中u为横坐标,v为纵坐标,并且u=x,v=y。视差图中每个点处的灰度值为该点处的视差,用d表示。可替换地,可以将视差图中的点表示为(u,v,d)以便同时反映点的坐标和视差。
[0054] V-视差图和U-视差图可以从视差图导出。V-视差图可以视为视差图的侧视图,其横坐标轴为d轴,纵坐标轴为v轴,其上的点可表示为(d,v),并且点(d,v)的灰度值(亮度值)是对应视差图的纵坐标为v的行中视差等于d的点的数量,因此,可以通过统计该数量或者使用本领域公知的其他方法来从视差图导出V-视差图。图1示意性地示出了从视差图导出V-视差图的过程。U-视差图可以视为视差图的俯视图,其横坐标轴为u轴,纵坐标轴为d轴,其上的点可表示为(u,d),并且点(u,d)的灰度值(亮度值)是对应视差图的横坐标为u的列中视差等于d的点的数量,因此,可以通过统计该数量或者使用本领域公知的其他方法来从视差图导出U-视差图。图2示意性地示出了从视差图导出U-视差图的过程。
[0055] <实施例>
[0056] 下面,将参照附图描述根据本发明实施例的用于检测道路路面的可行驶区域的方法和装置。
[0057] 首先,描述根据本发明实施例的用于检测道路路面的可行驶区域的方法。该方法例如可以通过图3所示的系统执行。如图3所示,可以在汽车上安装双目相机。当汽车在道路上行驶时,利用双目相机拍摄汽车前方的包括道路路面的左右两幅图像。所述图像被输入芯片,该芯片处理左右图像,获得视差图,并且按照下文所述的方式,基于该视差图而检测道路路面上的可行驶区域。
[0058] 图4示出了根据本发明实施例的用于检测道路路面的可行驶区域的方法的流程图。
[0059] 如图4所示,在步骤S401中,根据包括道路路面的灰度图导出视差图,并且从该视差图中检测道路路面。
[0060] 在使用双目相机的情况下,可以首先获取包括道路路面的左右图像(灰度图)。例如,可以将双目相机安装在车上,并且拍摄车辆前方的包括道路路面的左右两幅灰度图像,或者,可以用双目相机拍摄包括道路路面的左右两幅彩色图像并且将其转换为灰度图。图5示出了利用双目相机拍摄的左右两幅灰度图像之一的示例,在下文中,将以该图像为例进行描述。如图5所示,在该图像上建立xy坐标系,其上的点可以表示为(x,y)。
[0061] 然后,可以选择左图像和右图像中的任意一副图像为基准图像,并且使用左图像和右图像来导出视差图,该视差图当然也包括道路路面。可以使用上文所述的方法而从左右图像计算视差图,在这里不再赘述。图6示出了以图5所示的图像为基准图像计算的视差图。如图6所示,在视差图上建立uv坐标系,该视差图上与点(x,y)对应的点可以被表示为(u,v,d),其中u=x,v=y,d为该点的视差。应当注意,在使用匹配算法来从左图像和右图像计算视差图时,物体的边缘(例如道路路面的边缘、道路路面上的障碍物、道路路面之外的物体的边缘)等更易于被识别,而诸如道路路面之类的不存在边缘的部分则相对难以被识别,因此,在所述视差图中,与所述边缘对应的位置具有更密集的点,而诸如道路路面的可行驶区域之类的不存在边缘的部分则具有较为稀疏的点。
[0062] 接下来,根据所述视差图来检测道路路面。
[0063] 具体地,首先可以将所述包括道路路面的视差图转换为V-视差图。可以使用上文所述的方法进行这一转换,在这里不再赘述。图7示出了通过转换图6所示的视差图获得的V-视差图。
[0064] 然后,可以在V-视差图中拟合代表道路路面的道路线。在通过安装在车上的照相机拍摄的图像中,道路路面从图像下方开始向上方延伸且逐渐变窄,在图像上方中,非道路路面的其他物体增多。相应地,在V-视差图中,与道路路面对应的点更多地位于图中显示的所有点的下部,而上部的点更多地对应于非道路路面的其他物体。因此,可以在V-视差图显示的所有点中选择最低的一部分点进行拟合,由此可以拟合出代表道路路面的道路线,并且获得该道路线的表达式v=kd+b,其中,k为道路线的斜率,b为常数。例如,可以使用在Jun Zhao,Mark Albert Whitty和Jayantha Katupitiya发表的论文“Detection of Non-f1at Ground Surfaces Using V-Disparity Images”,2009IEEE/RSJ International Conference on Intelligent Robots and Systems,October11-15,2009St.Louis,USA中提出的方法来进行该拟合。在图7所示的示例中,通过按照上述方式选择最低的一部分点来进行拟合,可以获得图8所示的道路线,其表达式为v=0.5d+233。
[0065] 返回图4,在步骤402中,从视差图中删除相对于道路路面的高度大于预定高度阈值的部分,产生子视差图。
[0066] 众所周知,在道路两侧可能存在电线杆、树木、柱子等高的物体。此外,在道路上方的天空中也可能存在高架电线。在如下文所述使用U-视差图识别道路路面的可行驶区域时,如果不对这种情况进行适当的处理,这些非道路路面的物体会被反映在U-视差图中并且可能被错误地检测为道路路面。
[0067] 为了避免这样的问题,考虑到上述物体相对于道路路面有一定的高度这一事实,可以预先设置高度阈值,从视差图中删除相对于道路路面的高度大于预定高度阈值的部分以产生子视差图,然后使用该子视差图而不是视差图来产生U-视差图。如上文所述,V-视差图中的道路线代表道路路面,因此可以通过从视差图中删除在道路线上方并且距道路线的距离大于所述预定高度阈值的部分,来产生子视差图。所述高度阈值可以根据道路的实际情况(例如障碍物的种类、高度、分布等)灵活地设定,例如可以设定为4米。
[0068] 具体地,首先,可以对视差图中位于道路路面上方的每个点p(u’,v’,d’),计算其相对于道路路面的高度。点p(u’,v’,d’)在V-视差图中的坐标为(d’,v’)。V-视差图中的道路线的表达式为v=kd+b,因此,在V-视差图中位于道路线(道路路面)上的具有视差d’的点r的坐标为(d’,kd’+b),则在V-视差图上,点p相对于点r(或道路路面)的像素距离为v’-(kd’+b),换言之,在V-视差图上,点p与道路路面之间的距离为v’-(kd’+b)个像素。通过将该像素距离乘以每个像素对应的物理空间中的实际距离m,就可以计算出在物理空间中点p相对于道路路面的高度。可以使用本领域公知的各种方法来计算每个像素对应的物理空间中的实际距离m。例如,可以使用在Gary Bradski和Adrian Kaebler所著的“Learning OpenCV”,O’Reilly Media中提出的方法来计算实际距离m,在这里不再赘述。在图8的例子中,对于视差图中的点(400,800,600),按照上述方式,可以计算出其距道路路面的像素距离为800-(0.5*600+233)=267。假设每个像素对应的实际距离m为4毫米,则该点相对于道路路面的高度为267像素*4毫米/像素=1068毫米,如图9所示。
[0069] 然后,可以将视差图中位于道路路面上方的点相对于道路路面的高度与所述高度阈值进行比较。如果该点相对于道路路面的高度大于高度阈值,则从视差图中删除该点,反之则保留该点。在图9所示的示例中,由于1068毫米小于高度阈值4米,因此保留该点。
[0070] 通过对V-视差图中位于道路线上方的每个点都执行上述操作,可以确定相对于道路路面的高度大于高度阈值的所有点,然后,通过在视差图中将这些点删除,可以产生子视差图。在图8所示的示例中,当将预定高度设为4米时,可以获得图10所示的子视差图。
[0071] 接下来,在步骤S403中,将该子视差图转换为U-视差图。可以使用上文所述的方法或者本领域公知的其他方法来进行这一转换。例如,可以使用Zhencheng Hu,Francisco Lamosa和Keiichi Uchimura发表的论文“A Complete U-V-Disparity Study for Stereovision Based 3D Driving Environment Analysis”,Proceedings of the Fifth International Conference on 3-D Digital Imaging and Modeling 2005(3DIM'05),pp.204-211中提出的方法来进行这一转换,在这里不再赘述。在上述示例中,通过转换图10所示的子视差图获得的U-视差图如图11所示。
[0072] 返回图4,在步骤S404中,在上述U-视差图中检测可行驶区域。
[0073] 如上文所述,在视差图中,与各种边缘(例如道路边缘、道路上的障碍物的边缘等)对应的位置具有更密集的点,而与诸如道路路面的可行驶区域之类的不存在边缘或边缘较少的部分则具有较为稀疏的点,因此,在将这样的视差图转换为U-视差图时,在U-视差图中与所述边缘(其对应于不可行驶区域)对应的点具有更高的亮度,而与道路路面的可行驶区域对应的点则具有较低的亮度。可以基于这一事实来在U-视差图中检测可行驶区域。简单地说,可以设置预定大小的检测窗口和亮度阈值,并且在U-视差图中从预先选择的必然位于可行驶区域内的某个初始位置开始移动该检测窗口,当该检测窗口内的有效点(亮度超过该亮度阈值的点)的数量(或称为有效点密度)超过预定数量阈值时,可以认为该检测窗口的当前位置位于道路路面的可行驶区域边缘或之外。所述检测窗口的大小和所述亮度阈值可以根据道路的实际情况或者对于检测精度的要求而灵活地设定。最终,通过检测窗口的移动,可以从U视差图中检测出特定区域作为可行驶区域,该特定区域包括所述初始位置,并且当检测窗口在该特定区域内移动时,该检测窗口内的有效点的数量始终小于所述数量阈值。该移动过程实际上相当于逐渐扩展最初置于初始位置的检测窗口所包含的小的可行驶区域以获得最终的可行驶区域。所述初始位置可以自由地设定,只要其位于可行驶区域内即可。通常,由于车辆在道路上行驶时,紧邻车辆正前方的位置不会有障碍物并且位于可行驶区域内,因此,当如上文所述基于安装在车辆上的相机拍摄的灰度图检测可行驶区域时,优选地,可以在U-视差图中选择与上述位置对应的位置,即U-视差图最下方中间处的位置作为初始位置。
[0074] 可以按照各种方式来移动检测窗口。优选地,可以使用8邻域(8-CCA)方法来移动检测窗口,以便检测上述特定区域。下面将结合图11所示的U-视差图来描述使用8邻域方法移动检测窗口的示例过程。
[0075] 首先,在U-视差图中选择所述初始位置。如图12所示,在这里,选择位于U-视差图最下端中央的位置作为所述初始位置。检测窗口被置于该初始位置,如图12中的方框“1”所示。
[0076] 然后,从所述初始位置起沿行的方向向左水平移动检测窗口,如图13所示,当满足第一预定条件时停止移动检测窗口,并且记录该窗口的停止位置作为该行的左停止位置。该左停止位置即为可行驶区域在该行的左边缘位置。所述第一预定条件可以是以下条件之一:(1)检测窗口内的有效点的数量大于预定数量阈值;(2)尽管检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口到达U-视差图左边缘;(3)尽管检测窗口没有到达左边缘并且检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口的位置距上一行的左停止位置的水平距离小于第一距离阈值。当满足条件(1)时,这说明检测窗口已经移动到可行驶区域边缘上或边缘之外,因此应当停止向左移动该检测窗口。当满足条件(2)时,虽然此时检测窗口仍然在可行驶区域内,但是由于检测窗口已经到达U-视差图左边缘,因此应当停止向左移动检测窗口。条件(3)的设定则是基于以下事实:在相机拍摄的图像中,越靠近图像下端,所显示的道路路面越宽,相应地,所显示的可行驶区域也越宽,而越靠近图像上端,所显示的道路路面越窄,相应地,所显示的可行驶区域也越窄,因此,检测窗口越向上移动,其左停止位置应当越靠近图像的水平方向的中心线,换言之,当前行的左停止位置应当在上一行的左停止位置的右侧。当满足条件(3)时,这表明虽然不满足上述条件(1)和(2),但是检测窗口的当前位置已经到达上一行的左停止位置附近,为了避免检测结果违背上述事实,应当停止向左移动检测窗口。所述第一距离阈值可以根据道路的实际情况或者对于检测结果的精度要求而灵活地设定。在图13的示例中,由于检测窗口位于U-视差图最下面的一行,并且检测窗口内的有效点的数量始终没有大于所述数量阈值,因此检测窗口最终移动到U-视差图左边缘,即,该行的左停止位置为U-视差图左边缘,如图14所示。
[0077] 接下来,从所述初始位置起沿行的方向向右水平移动检测窗口,如图15所示,当满足第二预定条件时停止移动检测窗口,并且记录该窗口的停止位置作为该行的右停止位置。与第一预定条件类似,所述第二预定条件为以下条件之一:检测窗口内的有效点的数量大于预定数量阈值;尽管检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口到达U-视差图右边缘;尽管检测窗口没有到达右边缘并且检测窗口内的有效点的数量没有大于预定数量阈值,但是检测窗口的位置距上一行的右停止位置的水平距离小于第二距离阈值。第一距离阈值可以与第二距离阈值相同或不同,但是优选地将二者设置为相同。在图15的示例中,类似地,检测窗口最终移动到U-视差图右边缘,即,该行的右停止位置为U-视差图右边缘,如图16所示。
[0078] 接下来,将检测窗口向上移动一行,即上移等于该检测窗口高度的距离,重复上述向左和向右移动检测窗口的操作,并且记录该行的左停止位置和右停止位置。应当注意,当将检测窗口向上移动时,在该行中移动检测窗口的初始位置可以是第一行中的初始位置上移的对应位置,也可以是重新选择的该行内位于可行驶区域中的其他位置。
[0079] 在该行的移动完成之后,重复将检测窗口上移一行、向左和向右移动检测窗口、并且记录该行的左停止位置和右停止位置的操作,直到检测窗口到达U-视差图的上边缘或者同一行内的左停止位置与右停止位置相邻为止。
[0080] 随着检测窗口的上移,检测窗口停止移动所满足的条件可能发生变化。例如,图17-21示出了当在中间行向左和向右移动检测窗口的情况,其中,当向左和向右移动检测窗口时,由于检测窗口内的有效点的数量大于数量阈值而停止移动检测窗口。
[0081] 然后,在U-视差图中提取通过移动检测窗口而覆盖的区域作为可行驶区域,如图22所示。这样,通过在U-视差图中逐行地移动检测窗口,可以逐步扩展初始可行驶区域,从而获得最终的可行驶区域。应当注意,上文所述的逐行移动检测窗口的方式仅仅是说明性的,而是限制性的,也可以采用其他移动方式,例如逐列地移动检测窗口,只要最终能够检测出上述特定区域即可。
[0082] 返回图4,在步骤S405中,将在U-视差图中检测的可行驶区域转换为灰度图中的可行驶区域。
[0083] 具体地,在U-视差图中检测出可行驶区域之后,可以获取该可行驶区域中的各个点的坐标(u’,d’)。
[0084] 由于在V-视差图中已经确定了道路线的表达式v=kd+b,因此随后可以基于各个点的坐标(u’,d’),利用该表达式计算出各个点的v’坐标(v’=kd’+b),从而计算出各个点在视差图中的坐标(u’,v’),该坐标即为各个点在灰度图中的坐标(x’=u’,y’=v’)。图23示出了该坐标转换的示例。如图23所示,对于U-视差图中的点PP(400,800),根据道路线表达式v=0.5d+233,可以计算出该点的v’坐标为633,因此,该点在灰度图上的坐标为(400,633)。
[0085] 接下来,根据灰度图中的可行驶区域内的各个点的坐标,提取灰度图中的可行驶区域。图24示意性地示出了在上述示例中提取的道路路面的可行驶区域。
[0086] 可以看到,根据本发明实施例的上述方法并不依赖于道路上的白线、栅栏等等,因此具有更广泛的适用范围。此外,在上述检测方法中,使用U-视差图来检测可行驶区域,在此期间,使用检测窗口中的有效点的密度,并且考虑相邻行的停止位置之间的关系来检测可行驶区域,因此可以显著降低噪声对检测结果的影响,使得该方法具有良好的噪声鲁棒性和可靠性。
[0087] 下面,参照图25来描述根据本发明实施例的用于检测道路路面的可行驶区域的设备。该设备可以执行上文所述的方法。
[0088] 如图25所示,检测设备250包括道路路面检测装置251、子视差图产生装置252、U-视差图产生装置253、U-视差图检测装置254以及可行驶区域转换装置255。
[0089] 道路路面检测装置251根据包括道路路面的灰度图导出视差图,并且从该视差图中检测道路路面。图26示出了道路路面检测装置251的详细结构。如图26所示,道路路面检测装置251包括:V-视差图产生单元2511,其将视差图转换为V-视差图;以及道路线拟合单元2512,其在V-视差图中确定代表道路路面的道路线。
[0090] 子视差图产生装置252从视差图中删除相对于道路路面的高度大于预定高度阈值的部分,产生子视差图。子视差图产生装置252可以按照上文所述的方式来产生子视差图,在这里不再赘述。
[0091] U-视差图产生装置253将该子视差图转换为U-视差图。
[0092] U-视差图检测装置254在U-视差图中检测可行驶区域。图27示出了U-视差图检测装置254的详细结构。如图27所示,U-视差图检测装置254包括选择单元2541,其在U-视差图中选择位于可行驶区域中的初始位置;以及检测单元2542,其通过从初始位置起在U-视差图中移动预定大小的检测窗口来检测U-视差图中的特定区域,作为可行驶区域,该特定区域包括所述初始位置,并且当检测窗口在该特定区域内移动时,该检测窗口内的有效点的数量始终小于预定数量阈值,其中所述有效点是亮度大于亮度阈值的点。如上文所述,所述初始位置优选地是U-视差图最下端中间的位置。此外,检测单元2542可以按照上文所述的方式(例如使用8邻域法)移动检测窗口,从而检测U-视差图中的可行驶区域。
[0093] 可行驶区域转换装置255将在U-视差图中检测的可行驶区域转换为灰度图中的可行驶区域。图28示出了可行驶区域转换装置255的详细结构。如图28所示,可行驶区域转换装置255包括:坐标提取单元2551,其获取在U-视差图中检测的可行驶区域中的每个点的坐标;转换单元2552,其基于各个点的坐标,利用在V-视差图中拟合的道路线的表达式,计算灰度图中的可行驶区域内的各个点的坐标;以及可行驶区域提取单元2553,其根据灰度图中的可行驶区域内的各个点的坐标,提取灰度图中的可行驶区域。
[0094] 道路路面检测装置251、子视差图产生装置252、U-视差图产生装置253、U-视差图检测装置254和可行驶区域转换装置255以及它们的各个组件可以按照参照图4描述的方式执行上述操作,在这里不再赘述。
[0095] 以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
[0096] 例如,图29示出了用硬件实现上述设备时的硬件配置的示意图。如图29所示,该设备可以包括:输入装置290,用于从外部输入将要处理的图像,例如双目相机拍摄的左右图像、立体相机拍摄的立体视频等,其例如可以包括键盘鼠标、以及通信网络及其所连接的远程输入设备等等;处理装置291,用于从输入装置290接收所述图像,并且对所述图像实施上述的按照本发明实施例的用于检测道路路面的可行驶区域的方法,或者用于实现参照图25-28所述的设备的各个组件和子组件,其例如可以包括计算机的中央处理器或其它的具有处理能的芯片(如图3所示)等等;存储装置292,用于以易失或非易失的方式存储上述从输入装置290接收的图像以及处理装置291在执行处理期间产生的各种数据和/或结果等等,其例如可以包括随机存取存储器(RAM)、只读存储器(ROM)、硬盘、或半导体存储器等等的各种易失或非易失性存储器;以及输出装置293,用于向外部输出所检测的可行驶区域,其例如可以包括显示器、打印机、以及通信网络及其所连接的远程输出装置等等。
[0097] 本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者设备的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。
[0098] 还需要指出的是,在本发明的设备和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
[0099] 此外,尽管在上文中在汽车辅助驾驶的背景下描述了本发明,但是本发明也可以应用于车辆检测和跟踪、驾驶预警等其他领域。
[0100] 上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
QQ群二维码
意见反馈