一种路面检测方法、装置、终端及存储介质与流程

文档序号:14774512发布日期:2018-06-23 02:43阅读:124来源:国知局
一种路面检测方法、装置、终端及存储介质与流程

本发明涉及汽车辅助驾驶技术领域,特别涉及一种路面检测方法、装置、终端及计算机可读存储介质。



背景技术:

随着智能化的不断发展,汽车的辅助驾驶技术已成为汽车厂商竞相追逐的技术热点。在当前已有的高级驾驶辅助系统中,可以采用双目摄像头采集路况图像,并通过立体匹配算法对采集到的路况图像进行处理,从而得到路况图像对应的视差图像。之后,根据该视差图像确定前方障碍物,以保证汽车的安全驾驶。其中,为了保证障碍物检测的准确性,在根据视差图像确定前方障碍物之前,可以通过该视差图像检测路面,并将该视差图像中路面所对应的路面信息进行删除,然后再确定前方障碍物。

相关技术中,关于路面检测的方式主要是从视差图像中确定路面对应视差点,具体为:根据该视差图像计算得到对应的V视差图。在V视差图中检测代表车道线的直线,并根据检测到的直线从视差图像中确定对应的视差点,这些从视差图像中确定的视差点即为路面对应的视差点。

当通过上述方法在视差图像中检测路面时,通常均是假设路面是平的,在该种假设下,视差图像中的两条车道线在V视差图中将对应于一条直线。基于此,在检测时,通常只会在V视差图中拟合得到一条直线,并根据拟合得到的直线来确定视差图像中路面对应的视差点。但是,在实际应用中,路面往往是不平的,在这种情况下,视差图像中的两条车道线将在V视差图中对应两条直线,此时,如果还是在V视差图中拟合一条直线,并根据拟合得到的直线来确定路面对应的视差点,将产生较大的检测误差。



技术实现要素:

为了解决现有技术中假设路面是平的情况下,通过视差图像检测路面存在较大的检测误差的问题,本发明实施例提供了一种路面检测方法、装置、终端及计算机可读存储介质。所述技术方案如下:

第一方面,提供了一种路面检测方法,所述方法包括:

获取待检测的目标图像,并在所述目标图像中确定路面分界点;

基于所述路面分界点,确定对所述目标图像进行区域划分的分界线,并通过所述分界线划分所述目标图像,得到至少两个子区域;

分别确定所述至少两个子区域对应的子V视差图,并分别在所述子V视差图中检测直线;

基于检测到的直线确定所述目标图像中的路面信息。

可选地,所述目标图像是指对摄像头采集到的路况图像进行处理后得到的灰度图像;

所述在所述目标图像中确定路面分界点,包括:

确定所述目标图像对应的鸟瞰图;

在所述鸟瞰图中检测至少两条第一直线,并确定所述第一直线在所述目标图像中对应的至少两条第二直线;

基于所述第二直线在所述目标图像中确定路面分界点。

可选地,所述目标图像是指对摄像头采集到的路况图像进行处理后得到的灰度图像;

所述分别确定所述至少两个子区域对应的子V视差图,包括:

通过立体匹配算法计算所述至少两个子区域对应的子视差图;

基于所述子视差图,确定所述至少两个子区域对应的子V视差图。

可选地,所述目标图像是指对摄像头采集到的路况图像进行处理后得到的视差图像;

所述基于检测到的直线确定所述目标图像中的路面,包括:

基于所述直线从所述目标图像中确定路面对应的视差点;或者,

基于所述直线从所述目标图像中确定目标区域,并根据所述直线从所述目标区域中确定路面对应的视差点。

可选地,所述基于所述直线从所述目标图像中确定目标区域,包括:

将所述直线所在的子V视差图在所述目标图像中所对应的区域作为第一区域,并移动所述目标图像中用于划分得到所述第一区域的分界线,以扩大所述第一区域;

将扩大后的第一区域确定为所述目标区域。

可选地,所述基于所述路面分界点,确定对所述目标图像进行区域划分的分界线,包括:

将经过所述路面分界点且平行于所述目标图像纵轴的直线确定为第三直线;

基于所述第三直线确定所述分界线。

可选地,所述基于所述第三直线确定所述分界线,包括:

将所述第三直线确定为所述分界线;或者,

将与所述第三直线平行且相距第一预设距离的第二直线确定为所述分界线;或者,

基于所述第一直线确定第四直线和第五直线,并将所述第四直线和所述第五直线确定为所述分界线,所述第四直线和所述第五直线为位于所述第三直线两侧与所述第三直线平行的两条直线。

第二方面,提供了一种路面检测方法,所述方法包括:

确定路况图像对应的视差图像中的路面分界点,并基于所述路面分界点,确定所述视差图像中的待检测区域,所述路面分界点是指所述视差图像中路面标识物的相交点;

基于安装有用于采集所述路况图像的摄像头的车辆在所述视差图像中对应的位置点和所述路面分界点,将所述待检测区域划分为多个子区域,并分别确定所述子区域对应的子V视差图;

在所述子V视差图中分别检测直线,并基于检测到的直线确定所述视差图像中的路面信息。

可选地,所述基于安装有用于采集所述路况图像的摄像头的车辆在所述视差图像中对应的位置点和所述路面分界点,将所述待检测区域划分为多个子区域,包括:

基于所述车辆在所述视差图像中对应的位置点,判断所述车辆是否处于压线行驶状态;

当所述车辆处于压线行驶状态时,基于所述路面分界点,将所述待检测区域划分为包含有不同路面标识物的第一预设个数个子区域;

当所述车辆不处于压线行驶状态时,基于所述路面分界点,将所述待检测区域划分为包含有不同路面标识物的第二预设个数个子区域。

可选地,所述基于所述车辆在所述视差图像中对应的位置点,判断所述车辆是否处于压线行驶状态,包括:

获取所述车辆的宽度,根据所述车辆的宽度和所述车辆在所述视差图像中对应的位置点,确定所述车辆在所述视差图像中的横向位置范围;

当路面标识线中存在经过所述横向位置范围的路面标识线时,确定所述车辆处于压线行驶状态,所述路面标识线用于指示所述视差图像中的路面标识物;

当所述路面标识线中不存在经过所述横向位置范围的路面标识线时,确定所述车辆不处于压线行驶状态。

第三方面,提供了一种路面检测装置,所述装置包括:

第一确定模块,用于获取待检测的目标图像,并在所述目标图像中确定路面分界点;

划分模块,用于基于所述路面分界点,确定对所述目标图像进行区域划分的分界线,并通过所述分界线划分所述目标图像,得到至少两个子区域;

第二确定模块,用于分别确定所述至少两个子区域对应的子V视差图,并分别在所述子V视差图中检测直线;

第三确定模块,用于基于检测到的直线确定所述目标图像中的路面信息。

可选地,所述目标图像是指对摄像头采集到的路况图像进行处理后得到的灰度图像;

所述第一确定模块包括:

第一确定子模块,确定所述目标图像对应的鸟瞰图;

检测子模块,用于在所述鸟瞰图中检测至少两条第一直线,并确定所述第一直线在所述目标图像中对应的至少两条第二直线;

所述第一确定子模块还用于基于所述第二直线在所述目标图像中确定路面分界点。

可选地,所述目标图像是指对摄像头采集到的路况图像进行处理后得到的灰度图像;

所述第二确定模块,包括:

计算子模块,用于通过立体匹配算法计算所述至少两个子区域对应的子视差图;

第二确定子模块,用于基于所述子视差图,确定所述至少两个子区域对应的子V视差图。

可选地,所述目标图像是指对摄像头采集到的路况图像进行处理后得到的视差图像;

所述第三确定模块包括:

第三确定子模块,用于基于所述直线从所述目标图像中确定路面对应的视差点;或者,

所述第三确定子模块,用于基于所述直线从所述目标图像中确定目标区域,并根据所述直线从所述目标区域中确定路面对应的视差点。

可选地,所述第三确定子模块具体用于:

将所述直线所在的子V视差图在所述目标图像中所对应的区域作为第一区域,并移动所述目标图像中用于划分得到所述第一区域的分界线,以扩大所述第一区域;

将扩大后的第一区域确定为所述目标区域。

可选地,所述划分模块包括:

第四确定子模块,用于将经过所述路面分界点且平行于所述目标图像纵轴的直线确定为第三直线;

第五确定子模块,用于基于所述第三直线确定所述分界线。

可选地,所述第五确定子模块具体用于:

将所述第三直线确定为所述分界线;或者,

将与所述第三直线平行且相距第一预设距离的第四直线确定为所述分界线;或者,

基于所述第三直线确定第四直线和第五直线,并将所述第四直线和所述第五直线确定为所述分界线,所述第四直线和所述第五直线为位于所述第三直线两侧与所述第三直线平行的两条直线。

第四方面,提供一种路面检测装置,所述装置包括:

确定模块,用于确定路况图像对应的视差图像中的路面分界点,并基于所述路面分界点,确定所述视差图像中的待检测区域;

划分模块,用于基于安装有用于采集所述路况图像的摄像头的车辆在所述视差图像中对应的位置点和所述路面分界点,将所述待检测区域划分为多个子区域,并分别确定所述子区域对应的子V视差图;

检测模块,用于在所述子V视差图中分别检测直线,并基于检测到的直线确定所述视差图像中的路面信息。

可选地,所述划分模块包括:

判断子模块,用于基于所述车辆在所述视差图像中对应的位置点,判断所述车辆是否处于压线行驶状态;

第一划分子模块,用于当所述车辆处于压线行驶状态时,基于所述路面分界点,将所述待检测区域划分为包含有不同路面标识物的第一预设个数个子区域;

第二划分子模块,用于当所述车辆不处于压线行驶状态时,基于所述路面分界点,将所述待检测区域划分为包含有不同路面标识物的第二预设个数个子区域。

可选地,所述判断子模块具体用于:

获取所述车辆的宽度,根据所述车辆的宽度和所述车辆在所述视差图像中对应的位置点,确定所述车辆在所述视差图像中的横向位置范围;

当路面标识线中存在经过所述横向位置范围的路面标识线时,确定所述车辆处于压线行驶状态,所述路面标识线用于指示所述视差图像中的路面标识物;

当所述路面标识线中不存在经过所述横向位置范围的路面标识线时,确定所述车辆不处于压线行驶状态。

第五方面,提供一种路面检测终端,所述终端包括:

处理器;

摄像头组件,用于采集图像,所述图像能够被所述处理器处理;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为上述第一方面或上述第二方面所述的任一项方法的步骤。

第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质上存储有指令,所述指令被处理器执行时实现上述第一方面或上述第二方面所述的任一项方法的步骤。

第七方面,提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面或上述第二方面所述的路面检测方法。

本发明实施例提供的技术方案带来的有益效果是:确定待检测的目标图像中的路面分界点,之后,根据该路面分界点确定分界线,并通过分界线将目标图像划分为包含有至少两个子区域。

由于该分界线是根据路面分界点确定的,通过该分界线可以将当前位于车辆两侧的车道线分别划分到不同的区域中。这样,当根据划分的区域确定对应的子V视差图后,因为路面不平而造成的不同车道线对应的不同直线将分别出现在不同的子V视差图中,此时,即可以直接在每个V视差图中检测直线,并根据检测到的直线确定目标图像中的路面信息。由此可见,本发明实施例通过将车辆两侧的车道线划分到不同的区域中,解决了路面不平情况下路面的检测问题,减小了路面检测的误差。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种计算视差图像的原理示意图;

图2是本发明实施例提供的一种路面检测方法的流程图;

图3A是本发明实施例提供的一种路面检测方法的流程图;

图3B是本发明实施例提供的一种灰度图像和对应的鸟瞰图的示意图;

图3C是本发明实施例提供的一种根据路面分界点进行区域划分的示意图;

图3D是本发明实施例提供的一种根据路面分界点进行区域划分的示意图;

图3E是本发明实施例提供的一种根据路面分界点进行区域划分的示意图;

图3F是本发明实施例示出的一种确定目标区域的示意图;

图4是本发明实施例提供的一种路面检测方法的流程图;

图5是本发明实施例提供的一种路面检测方法的流程图;

图6A是本发明实施例提供的一种路面检测方法的流程图;

图6B是本发明实施例提供的一种检测车辆是否处于压线行驶状态的示意图;

图6C是本发明实施例提供的另一种检测车辆是否处于压线行驶状态的示意图;

图6D是本发明实施例示出的一种将待检测区域划分为三个子区域的示意图;

图6E是本发明实施例示出的一种将待检测区域划分为四个子区域的示意图;

图7A是本发明实施例提供的一种路面检测装置700的框图;

图7B是本发明实施例提供的一种第二确定模块的703框图;

图7C是本发明实施例提供的一种划分模块702的框图;

图8A是本发明实施例提供的一种路面检测装置800的框图;

图8B是本发明实施例提供的一种划分模块802的框图;

图9是本发明实施例提供的一种路面检测终端的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

为了便于理解,在对本发明实施例进行详细的解释说明之前,先对本发明实施例涉及的名词进行解释。

视差图像:通过双目摄像头同一时刻拍摄到的左右两幅图像进行计算得到。其中,左右两幅图像中,一幅图像作为基准图像,另一幅图像作为比较图像。将比较图像中的像素点与基准图像中同Y坐标上的像素点进行匹配,并计算每两个匹配的像素点之间的横坐标之差,该横坐标之差即为两个像素点之间的视差值。将该视差值作为基准图像中该像素点对应的像素值,从而得到与基准图像相同大小的视差图像。

图1是本发明实施例示出的一种计算视差图像的原理示意图。其中,假设图1中的左图为基准图像,右图为比较图像。其中,为了便于说明,可以将图1中每个小方格看作一个像素点。对于比较图像中的像素点A,当在基准图像中寻找该像素点A的匹配像素点时。首先,可以以该像素点A为中心像素点,形成一个W×H的像素矩阵,如可以形成一个9×9的像素矩阵。之后,可以在基准图像中确定与该中心像素点具有相同Y坐标的像素点,也即是,在基准图像中得到与该中心像素点同Y坐标的一行像素点,如图1左图中的实线框所示。在将该中心像素点与这一行上的像素点逐个进行匹配时,可以计算该中心像素点所在的像素矩阵中的每个像素点与基准图像中对应位置上的像素点的像素差,将计算得到的多个像素差加和,得到像素差和。也即是,如图1中左图中的虚线框所示,假设以像素点A为中心像素点形成9×9的像素矩阵A,当该像素点A与基准图像中的像素点B进行匹配计算时,可以形成以像素点B为中心像素点的同样大小9×9的像素矩阵B,如图1中右图虚线框所示。之后,计算像素矩阵A中的每个像素点和像素矩阵B中对应位置处的像素点之间的像素差,并将多个像素差加和,得到像素差和。对于基准图像中与像素点A同Y坐标的其他像素点,都可以通过上述方法与像素点A进行匹配计算,最终对应得到多个像素差和。从该多个像素差和中选择最小的像素差和,并将该最小的像素差和对应的像素点确定为像素点A的匹配点。假设像素点A在基准图像中的匹配点为像素点B,此时,可以计算像素点A和像素点B之间的横坐标之差,并将该横坐标之差作为两个像素点之间的视差值,并将该视差值作为与基准图像相同大小的视差图像中像素点B的像素值。

V视差图:V视差图是由视差图像计算得到。由上述对视差图像的介绍可知,视差图像中,每个像素点的像素值即为对应的视差值。而V视差图是将视差图像的纵坐标保持不变,横坐标变为视差值,V视差图中每一点(x,y)处的像素值为视差图像中纵坐标为y的像素点中视差值为x的像素点的总个数。

在对本发明实施例涉及的名词进行解释之后,接下来对本发明实施例的应用场景予以介绍。

高级驾驶辅助系统是一种通过图像处理和计算机视觉技术来处理雷达、传感器或者是摄像头采集到的路况图像,根据路况图像对前方行人、车辆做出预测,并在存在潜在危险的情况下对驾驶员进行预警或者是控制车辆紧急制动的系统。在高级驾驶辅助系统中,对前方障碍物的准确检测是进行有效预警的关键,而准确的从路况图像中提取路面,以去除路面对障碍物检测的干扰是保障障碍物检测准确性的先决条件。当前,基于雷达采集到的路况图像来检测障碍物的方法由于受到雷达成本较高,检测范围较小的限制,并没有得到广泛的应用,而随着摄像头技术和计算机视觉技术的发展,采用双目摄像头采集路况图像,并通过计算机视觉技术处理图像来检测障碍物的方法则取得了较好的检测效果。本发明实施例提供的路面检测方法即可以应用于根据双目摄像头采集的路况图像检测障碍物的过程中,并且,该路面检测方法主要用于在确定障碍物之前从目标图像中检测路面,从而去除路面对障碍物检测的干扰。

在对本发明实施例涉及的应用场景进行介绍之后,接下来对本发明实施例提供的路面检测方法的具体实现方式进行介绍。

图2是本发明实施例提供的一种路面检测方法,该方法可以用于终端中,该终端可以是车载终端,且该终端可以与车载双目摄像头进行通信。或者,该终端可以是同时集成有双目摄像头和图像处理功能的设备,如图2所示,该方法包括以下步骤:

步骤201:获取待检测的目标图像,并在该目标图像中确定路面分界点,该路面分界点是指目标图像中路面标识物的相交点。

其中,待检测的目标图像可以为对双目摄像头拍摄得到的路况图像进行处理后得到的灰度图像,也可以为对双目摄像头拍摄得到的路况图像进行处理后得到的视差图像。根据目标图像的不同,确定路面分界点的方法也不同。

还需要说明的是,路面标识物可以为汽车当前行驶的车道的两条车道线,当然,也可以为汽车当前行驶的车道两侧的栅栏、绿化带等地面标识物。在本发明后续的实施例中,将以路面标识物为车道线进行解释说明,但是,值得注意的是,这并不构成对本发明实施例的限定,当路面标识物为其他标识时,也依然可以采用本发明实施例中提供的路面检测方法进行检测。

步骤202:基于该路面分界点,确定对目标图像进行区域划分的分界线,并通过该分界线划分目标图像,得到包含有不同路面标识物的至少两个子区域。

在本发明实施例中,根据路面分界点,确定对目标图像进行区域划分的分界线,通过该分界线可以将目标图像划分为至少两个子区域。由于路面分界点是路面标识物的交点,因此,当通过路面分界点确定分界线来划分区域时,可以将车辆当前行驶车道两侧的路面标识物划分到不同的区域。

步骤203:分别确定至少两个子区域对应的子V视差图,并分别在子V视差图中检测直线。

由于通过步骤202将路面标识物划分到了不同的子区域,因此,根据该至少两个子区域确定对应的子V视差图,即使路面不平,每个子V视差图中也不会出现两条车道线对应的平行的两条直线,这样,终端通过在每个子V视差图中检测一条直线即可以准确的得到目标图像中的路面,解决了路面不平情况下路面的检测问题,减小了路面检测的误差。

步骤204:基于检测到的直线确定目标图像中的路面信息。

在本发明实施例中,确定待检测的目标图像中的路面分界点。之后,根据该路面分界点确定分界线,并通过分界线将目标图像划分为至少两个子区域。由于该分界线是根据路面分界点确定的,因此,通过该分界线可以将当前位于车辆两侧的车道线可以分别被划分到不同的区域中。这样,当根据划分的区域确定对应的子V视差图后,因为路面不平而造成的不同车道线对应的不同直线将分别出现在不同的子V视差图中,此时,即可以直接在每个子V视差图中检测直线,并根据检测到的直线确定目标图像中的路面信息。由此可见,本发明实施例通过将车辆两侧的车道线划分到不同的子区域中,解决了路面不平情况下路面的检测问题,减小了路面检测的误差。

由上述图2所示的实施例中可知,目标图像可以是灰度图像,也可以是视差图像,当目标图像为灰度图像时,可以通过图3A所示实施例中的步骤来检测路面。

参见图3A,提供了一种路面检测方法,该方法可以用于终端中,该终端可以是车载终端,且该终端可以与车载双目摄像头进行通信。或者,该终端可以是同时集成有双目摄像头和图像处理功能的设备,如图3A所示,该方法包括以下步骤:

步骤301:获取待检测的灰度图像,并在灰度图像中确定路面分界点。

其中,路面分界点是指目标图像中路面标识物的相交点。在实际应用中,该路面分界点其实就是路面上平行的标识物在远处汇聚的点。在本发明实施例中,终端可以通过以下三种方式在灰度图像中确定路面分界点。

第一种方式:在灰度图像中检测至少两条路面标识线,将至少两条路面标识线的交点中经过的路面标识线数量最多的点确定为路面分界点,其中,该灰度图像是对摄像头采集到的路况图像进行处理后得到,至少两条路面标识线用于指示目标图像中的路面标识物。

通常,双目摄像头包括两个平行等位的摄像头,可以分别称为左摄像头和右摄像头,该双目摄像头可以搭载在汽车前端的正中央,也可以搭载在汽车车身两侧。汽车在行驶过程中,该双目摄像头可以通过左摄像头和右摄像头同时采集图像。其中,左摄像头采集的图像可以称为左图像,右摄像头采集的图像可以称为右图像。并且,可以将左图像确定为基准图像,将右图像确定为比较图像。当该双目摄像头搭载在汽车前端的正中央时,在理想的情况下,通过双目摄像头采集到的基准图像的中心点即为路面分界点。但是,由于双目摄像头可能会存在安装偏差或者是由于汽车车身震动、行驶路线偏离等因素,路面分界点将偏离基准图像的中心点。在这种情况下,终端可以在获取到双目摄像头采集到的路况图像之后,先将该路况图像转化为灰度图像,然后在该灰度图像中检测至少两条路面标识线的交点。

具体的,终端在获取到双目摄像头的左右摄像头采集到的路况图像之后,可以将左右摄像头采集的路况图像均转化为灰度图像,之后,可以将该灰度图像进行二值化处理,并在二值化处理后的图像中通过霍夫变换检测至少两条路面标识线,该至少两条路面标识线即是路面标识物在视差图像中对应的直线。确定该多条路面标识线的至少一个交点,并将该至少一个交点中经过的路面标识线最多的交点确定为路面分界点。

第二种方式:确定目标图像对应的鸟瞰图;在鸟瞰图中检测至少两条第一直线,并确定第一直线在目标图像中对应的至少两条第二直线;基于第二直线在目标图像中确定路面分界点。

在该种实现方式中,终端可以根据灰度图像中每个像素点的坐标来计算该灰度图像对应的鸟瞰图,在该鸟瞰图中,用于代表路面标识物的路面标识线将彼此平行,基于此,终端可以在该鸟瞰图中检测至少两条第一直线,这至少两条第一直线彼此平行。当检测到第一直线之后,终端可以将第一直线再转换到灰度图像中,得到灰度图像中的至少两条第二直线,该第二直线即是路面标识物在该灰度图像中对应的路面标识线,之后,终端可以将至少两条第二直线的交点作为路面分界点。

图3B是本发明实施例提供的一种灰度图像和对应的鸟瞰图的示意图。其中,图3B(1)所示的图像为灰度图像,在该灰度图像中,路面标识线L1和L2不平行。图3B(2)所示的图像是该灰度图像所对应的鸟瞰图,其中,灰度图像中路面标识线L1在该鸟瞰图中对应的直线为H1,路面标识线L2在该鸟瞰图中对应的直线为H2,H1和H2平行,且与鸟瞰图的下边缘垂直。

在实际应用中,终端将灰度图像转化为鸟瞰图之后,可以在该鸟瞰图中通过直线拟合算法检测至少两条第一直线,利用第一直线在鸟瞰图中为平行关系,且与鸟瞰图的下边缘垂直的约束条件,能够极大的减小直线拟合算法的运算时间,提高直线检测的精度。之后,终端可以将第一直线再转换到灰度图像中作为路面标识线来确定路面分界点。

第三种方式:将灰度图像的中心点确定为路面分界点。

步骤302:基于路面分界点,确定对灰度图像进行区域划分的分界线,并通过该分界线划分灰度图像,得到包含有不同路面标识物的至少两个子区域。

当确定路面分界点之后,终端可以根据该路面分界点确定对该灰度图像进行区域划分的分界线,并通过确定的分界线将该灰度图像划分为至少两个子区域。其中,终端可以将经过路面分界点且平行于该灰度图像纵轴的直线确定为第三直线,并根据该第三直线确定分界线。

具体的,在一种可能的实现方式中,终端可以直接将该第三直线确定为分界线,从而将灰度图像划分为两个子区域。例如,如图3C所示,假设路面分界点为A,经过该路面分界点A且与灰度图像的纵轴平行的直线L1即可以为分界线,通过该分界线,可以将灰度图像划分为子区域1和子区域2。

在另一种可能的实现方式中,由于终端确定的路面分界点可能与实际中的路面分界点存在偏差,因此,为了根据该路面分界点能够尽量准确的将汽车当前行驶的车道两侧的车道线划分到不同的区域中,终端可以将与第三直线平行且相距第一预设距离的第四直线确定为分界线,并通过该分界线将灰度图像划分为两个子区域。其中,该第一预设距离可以是根据先验数据预先设置的距离。并且,该第四直线可以位于该第三直线的左侧,也可以位于该第三直线的右侧。例如,如图3D所示,假设路面分界点为A,经过该路面分界点A的第三直线为L1,第一预设距离为H,此时,可以将位于该第三直线L1的右侧且与该第三直线L1相距H的直线L2确定为第四直线,并通过该第四直线L2将灰度图像划分为两个子区域。

在另一种可能的实现方式中,终端也可以基于第三直线确定第四直线和第五直线,将第四直线和第五直线均确定为分界线,这样,通过该第四直线和第五直线可以将灰度图像划分为三个子区域。其中,第四直线和第五直线为位于第三直线两侧与第三直线平行的两条直线。也即是说,第四直线和第五直线可以分别位于第三直线的左侧和右侧,例如,如图3E所示,可以将经过路面分界点A的第三直线L1左侧的直线L2确定为第四直线L2,将第三直线右侧的直线L3确定为第五直线L3,这样,通过第四直线L2和第五直线L3,将灰度图像划分为子区域1、子区域2和子区域3。由于第四直线和第五直线分别位于路面分界点的两侧,这样,无论确定的路面分界点较实际中的路面分界点向左发生了偏差还是向右发生了偏差,都可以通过这种划分方法最大程度的保障子区域1和子区域3中只包含一条车道线。

步骤303:分别确定至少两个子区域对应的子V视差图,并分别在子V视差图中检测直线。

在本发明实施例中,通过步骤301和步骤302可以将双目摄像头的左右摄像头采集到的左图像和右图像均转化为灰度图像,并将两幅灰度图像分别进行区域划分,得到至少两个子区域。之后,终端可以将左图像对应的灰度图像确定为基准图像,将右图像对应的灰度图像确定为比较图像,然后,通过立体匹配算法计算得到视差图像。由于视差图像和基准图像是相同大小的,因此,在得到视差图像之后,可以按照基准图像的区域划分,将视差图像也划分为至少两个区域,该视差图像中的至少两个区域即为至少两个子视差图。之后,终端可以确定每个子视差图对应的子V视差图,从而得到至少两个子V视差图。

以前述图3B中的区域划分为例,当得到视差图像之后,可以同样将视差图像划分为两个子视差图,之后,终端可以确定子视差图1对应的子V视差图以及子视差图2对应的子V视差图。

具体的,终端通过两幅灰度图像通过立体匹配算法计算视差图像的具体实现过程可以参考前述图1中所示的具体实现方式。除此之外,终端还可以通过其他立体匹配算法来计算视差图像,如常用的基于边的立体匹配算法,具体的实现过程可以参考相关技术,本发明实施例不再赘述。

还需要说明的是,通过视差图像计算V视差图的方法可以参考前述名词解释中对于V视差图的解释,本发明实施例在这里不再赘述。

当得到至少两个区域对应的子V视差图之后,可以在子V视差图中检测直线。具体的,终端可以在子V视差图中进行直线拟合,从而得到一条直线,或者,终端可以将子V视差图转化为二值化图像,并在该二值化图像中通过霍夫变换检测直线。需要说明的是,为了排除子V视差图中其他可能存在的直线,在进行直线拟合时,可以根据车道线的特征,设置特定的拟合参数,以保证拟合得到的直线的准确性。

步骤304:基于检测到的直线确定该灰度图像中的路面信息。

当在子V视差图中检测到直线之后,终端可以基于检测到的直线从视差图像中确定路面对应的视差点。具体的,终端可以根据检测到的直线上的每一点的坐标(x,y)返回视差图像中查找纵坐标为y的像素点中像素值为x的像素点,查找到的像素点即为路面对应的视差点。相应地,根据该视差点在视差图像中对应的坐标,可以在目标图像中找到路面对应的像素点。也即是,终端可以根据每个子V视差图中检测的直线在视差图像的全部区域确定检测到的直线对应的视差点,这样,可以保证最大限度的将该视差图像中路面对应的视差点找齐,从而有效的提高路面检测的准确性。

可选地,为了减少计算量,在保证路面检测的准确性的同时提高路面检测的速度,由于子V视差图是根据划分的子区域分别计算得到的,因此,终端还可以根据子V视差图在视差图像中所对应的区域,从视差图像中确定目标区域,并根据检测到的直线在该目标区域中确定路面对应的视差点。

具体的,终端根据子V视差图在视差图像中所对应的区域,可以通过以下三种不同的方式从视差图像中确定目标区域,并根据检测到的直线在该目标区域中确定路面对应的视差点。

第一种方式:终端可以直接将检测到的直线所在的子V视差图在目标图像中对应的区域确定为目标区域。也即是,以图3B为例,假设该子V视差图是子区域1对应的V视差图,那么,在该子V视差图中检测到直线之后,即可以根据检测到的直线在子区域1中确定对应的视差点。

第二种方式:终端可以将检测到的直线所在的子V视差图在目标图像中所对应的区域作为第一区域,并移动该目标图像中用于划分得到第一区域的分界线,以扩大该第一区域,将扩大后的第一区域确定为目标区域。

具体的,为了减小由于区域划分带来的误差,该目标区域可以是在V视差图对应的区域的基础上扩大的区域。也即是,终端可以将目标图像中用于划分该第一区域的分界线平移指定距离,以扩大该第一区域,得到目标区域。其中,该指定距离可以是预先指定的距离,并且,该指定距离小于目标图像的底边长度与第一区域的底边长度之间的差。例如,图3F是本发明实施例示出的一种确定目标区域的示意图。其中,图3F(1)是视差图像,在该视差图像中,直线L1是划分灰度图像的分界线在视差图像中对应的直线,由于灰度图像和视差图像是相对应的,因此,根据该灰度图像计算得到的视差图像中也包括两个子区域,该子区域1即是子视差图1,子区域2也就是子视差图2。图3F(2)是子V视差图,且该子V视差图是子区域1对应的V视差图,那么,可以将子区域1的右边界向右移动,也即是,将直线L1向右移动,从而扩大该子区域1得到如图3F(4)中所示的白色粗实线左侧的目标区域,图3F(3)也是子V视差图,且该子V视差图是子区域2对应的子V视差图,终端可以将该子区域2的左边界向左移动,也即是,将直线L1向左移动,从而扩大该子区域2得到如图3F(5)中所示的白色粗实线右侧的目标区域。也即是,可以根据子V视差图所对应的区域,通过移动划分区域的分界线,在视差图像中确定得到相较于之前区域扩大的目标区域,而后,终端可以根据在子V视差图中检测到的直线,在确定的目标区域中确定路面对应的视差点。

在本发明实施例中,确定待检测的目标图像中的路面分界点,之后,根据该路面分界点确定分界线,并通过分界线将目标图像划分为至少两个子区域。由于该分界线是根据路面分界点确定的,因此,当前位于车辆两侧的车道线可以分别被划分到不同的区域中。这样,当根据划分的子区域确定对应的子V视差图后,因为路面不平而造成的不同车道线对应的不同直线将分别出现在不同的子V视差图中,此时,即可以直接在每个子V视差图中检测直线,并根据检测到的直线确定目标图像中的路面信息。由此可见,本发明实施例通过将车辆两侧的车道线划分到不同的区域中,解决了路面不平情况下路面的检测问题,减小了路面检测的误差。

通过图3A所示的实施例介绍了当目标图像为灰度图像时,终端进行路面检测的具体实现过程,接下来将结合附图4介绍当目标图像为视差图像时,终端进行路面检测的具体实现过程。

参见图4,提供了一种路面检测方法,该方法可以应用于终端中,该终端可以是车载终端,且该终端可以与车载双目摄像头进行通信。或者,该终端可以是同时集成有双目摄像头和图像处理功能的设备,如图4所示,该方法包括以下步骤:

步骤401:从视差图像中检测至少两条路面标识线,将至少两条路面标识线的交点中经过的路面标识线数量最多的点确定为路面分界点,其中,视差图像是对摄像头采集到的路况图像进行处理后得到,至少两条路面标识线用于指示目标图像中的路面标识物。

在本发明实施例中,当通过汽车搭载的双目摄像头的左右摄像头同时采集到两幅路况图像之后,可以直接将其中一幅图像作为基准图像,另一幅作为比较图像,然后通过该基准图像和比较图像计算相应地视差图像。

当计算得到视差图像之后,可以从该视差图像中检测至少两条路面标识线,并从检测到的至少两条路面标识线的交点中选择经过的路面标识线数量最多的点,之后,将该选择的点确定为路面分界点。

具体的,终端可以在视差图像中进行直线拟合,从而检测至少两条路面标识线。或者,终端可以通过霍夫变换在视差图像中检测至少两条路面标识线。

需要说明的是,在本发明实施例中,除了可以通过步骤401的方式来确定路面分界点之外,终端还可以通过其他方法确定路面分界点。其中一种可选地方式是将视差图像的中心点直接确定为路面分界点。另一种可选地方式是终端可以根据视差图像确定对应的V视差图和U视差图,并通过该V视差图和U视差图来确定路面分界点。

步骤402:基于路面分界点,确定对视差图像进行区域划分的分界线,并通过该分界线划分视差图像,得到包含有不同路面标识物的至少两个子区域。

当确定路面分界点之后,终端可以根据该路面分界点确定对该视差图像进行区域划分的分界线,并通过该分界线将该视差图像划分为至少两个子区域。

具体的,根据路面分界点确定对该视差图像进行区域划分的分界线的具体实现过程可以参考前述步骤302中根据路面分界点确定对灰度图像进行区域划分的分界线的具体实现过程,本发明实施例不再赘述。

另外,通过分界线将视差图像划分为至少两个子区域的具体实现过程也可以参考步骤302中通过分界线将灰度图像划分为至少两个区域的实现过程,本发明实施例不再赘述。

步骤403:分别确定至少两个子区域对应的子V视差图,并分别在子V视差图中检测直线。

当通过步骤402对视差图像进行划分得到至少两个子区域之后,终端可以直接根据视差图像中的至少两个子区域计算得到对应的V视差图,其中,根据视差图像确定对应的子V视差图的具体实现过程可以参考前述名词解释中对V视差图的相关说明,本发明实施例不再赘述。

当确定至少两个子区域对应的子V视差图之后,可以通过霍夫变换等直线拟合方法在该至少两个子V视差图中检测直线。

步骤404:基于检测到的直线确定视差图像中的路面信息。

当在子V视差图中检测到直线之后,终端可以基于检测到的直线从视差图像中确定路面对应的视差点。其中,终端基于检测到的直线从视差图像中确定路面对应的视差点的具体实现方式可以参考前述步骤304中相关的解释说明。

进一步地,当根据检测到的直线从视差图像中确定得到路面对应的视差点之后,可以将确定的视差点进行删除。经过删除之后的视差图像即可以作为进一步检测前方障碍物的输入图像。

在本发明实施例中,终端可以在视差图像中确定路面分界点,并根据该路面分界点确定进行区域划分的分界线,之后,终端可以通过该分界线将汽车当前行驶车道两侧的车道线划分到不同的子区域之中,这样,当终端根据该不同的子区域计算子V视差图时,由于每个子区域只包含一条车道线,因此,即使路面不平,每个子区域对应的子V视差图中也只会对应一条直线,这样,当在每个子V视差图中检测一条直线,并根据检测到的直线确定路面对应的视差点时,即可以避免相关技术中由于路面不平造成的一幅V视差图中同时存在两条平行直线的情况下,只检测一条直线造成的检测误差,提高了路面检测精度。

图5是本发明实施例提供的一种路面检测方法的流程图,该方法可以应用于终端中,该终端可以是车载终端,且该终端可以与车载双目摄像头进行通信。或者,该终端可以是同时集成有双目摄像头和图像处理功能的设备,如图5所示,该方法包括以下步骤:

步骤501:确定路况图像对应的视差图像中的路面分界点,并基于路面分界点,确定视差图像中的待检测区域。

其中,路面标识物可以为车道线,当然,也可以为车道两侧的栅栏、绿化带或路肩石等地面标识物。在本发明后续的实施例中,将以路面标识物为车道线进行解释说明,但是,值得注意的是,这并不构成对本发明实施例的限定,当路面标识物为其他标识物时,也依然可以采用本发明实施例中提供的路面检测方法进行检测。

步骤502:基于安装有用于采集路况图像的摄像头的车辆在视差图像中对应的位置点和路面分界点,将待检测区域划分为包含有不同路面标识物的多个子区域,并分别确定子区域对应的子V视差图。

在本发明实施例中,可以根据车辆在视差图像中对应的位置点和路面分界点,将待检测区域划分为多个子区域,这多子区域中包括有不同的路面标识物,也就是说,在本发明实施例中,可以根据车辆在视差图像中对应的位置点和路面分界点将不同的路面标识物划分到不同的子区域内。

步骤503:在子V视差图中分别检测直线,并基于检测到的直线确定视差图像中的路面信息。

在本发明实施例中,由于根据车辆在视差图像中的位置点和路面分界点将不同路面标识物划分到了不同的子区域中,因此,当根据划分的子区域确定对应的子V视差图后,因为路面不平而造成的不同路面标识线对应的不同直线将分别出现在不同的子V视差图中,此时,即可以直接在每个子V视差图中检测直线,并根据检测到的直线确定目标图像中的路面信息。由此可见,本发明实施例通过将不同的路面标识线划分到不同的区域中,解决了路面不平情况下路面的检测问题,减小了路面检测的误差。

接下来将通过图6A所示的实施例来对上述图5所示的实施例的具体实现过程进行详细的解释说明。

图6A是本发明实施例提供的一种路面检测方法的流程图,该方法可以应用于终端中,该终端可以是车载终端,且该终端可以与车载双目摄像头进行通信。或者,该终端可以是同时集成有双目摄像头和图像处理功能的设备,如图6A所示,该方法包括以下步骤:

步骤601:确定路况图像对应的视差图像中的路面分界点,路面分界点是指视差图像中路面标识物的相交点。

在本发明实施例中,终端从路况图像对应的视差图像中确定路面分界点的实现方式可以有两种,其中,第一种实现方式可以参考前述实施例中步骤401中的具体操作,第二种实现方式则可以参考前述实施例中步骤301中确定路面分界点的第二种方式中的相关内容,本发明实施例在此不再赘述。

步骤602:基于路面分界点,确定视差图像中的待检测区域。

路面分界点是视差图像中路面标识物的相交点,通常,在实际场景中距离车辆越远的点,在视差图像中对应的点距离视差图像的底边也越远。并且,随着实际场景中路面标识线与车辆之间的距离越远,在视差图像中对应的路面标识物之间将越来越接近,最终相交于路面分界点。基于此,在视差图像中,当路面标识物相较于路面分界点之后,位于路面分界点的上方的区域将不再包括路面标识物,而是为背景区域。对于背景区域,由于不包括路面标识物,因此,终端没有检测的必要,基于此,当确定路面分界点之后,终端可以基于该路面分界点从该视差图像中确定出待检测区域,将没有检测必要的区域进行排除,以此来减少终端的计算量,提升检测速度。

其中,当终端确定待检测区域时,可以确定路面分界点在视差图像中所在的像素行,并将路面分界点在视差图像中所在的像素行的下部区域确定为视差图像中的待检测区域。或者,终端可以确定经过路面分界点且与视差图像的横轴平行的直线,并将该直线的下部区域确定为视差图像中的待检测区域。

步骤603:基于车辆在视差图像中对应的位置点和路面分界点,将待检测区域划分为包含有不同路面标识物的多个子区域。

当确定路面分界点之后,终端可以基于车辆在视差图像中对应的位置点,通过该路面分界点对待检测区域进行不同的划分,从而得到包含有不同路面标识物的多个子区域。

其中,终端首先可以根据车辆在视差图像中对应的位置点判断车辆是否处于压线行驶状态,当车辆处于压线行驶状态时,则基于路面分界点将待检测区域划分为包含有不同路面标识物的第一预设个数个子区域;当车辆不处于压线行驶状态时,则可以基于路面分界点,将待检测区域划分为包含有不同路面标识物的第二预设个数个子区域。

当终端根据车辆在视差图像中对应的位置点来判断车辆是否处于压线行驶状态时,终端可以获取车辆的宽度,并根据车辆的宽度和车辆在视差图像中对应的位置点,来确定车辆在视差图像中的横向位置范围。当路面标识线中存在经过该横向位置范围的路面标识线时,则可以确定车辆当前处于压线行驶状态,当路面标识线中不存在经过该横向位置范围的路面标识线时,则可以确定车辆不处于压线行驶状态。

具体的,由于双目摄像头通常均安装在车辆前端的正中央,因此,车辆在视差图像中对应的位置点通常就是视差图像的底边的中点。基于此,终端在获取到车辆的宽度之后,可以在视差图像的底边上确定距离该中点二分之一宽度的两个点,这两个点之间的范围即为横向位置范围。当确定横向位置范围之后,终端可以确定在该视差图像中检测到的至少两条路面标识线中是否存在经过该横向位置范围的路面标识线,如果存在,则可以确定车辆当前处于压线行驶状态,如果不存在,则可以确定车辆当前不处于压线行驶状态。

图6B是本发明实施例示出的一种检测车辆是否处于压线行驶状态的示意图。如图6B中所示,直线L的下部区域为待检测区域,点O为车辆在视差图像中对应的位置点,假设车辆的宽度为H,那么,在视差图像中确定点A和点B,其中,点A和点O之间的距离为H/2,点B和点O之间的距离也为H/2,位于点A和点B之间的范围即为横向位置范围。如图6B(1)中所示,直线L1、L2和L3为该视差图像中的三条路面标识线,其中,L2与底边的交点在该横向位置范围之内,因此,L2经过了该横向位置范围,车辆当前处于压线行驶状态。如图6B(2)中所示,直线L1、L2、L3和L4为该视差图像中的四条路面标识线,没有任何一条路面标识线与底边的交点在该横向位置范围之内,也即是,不存在经过该横向位置范围的路面标识线,因此,车辆当前不处于压线行驶状态。

可选地,在本发明实施例中,终端根据车辆在视差图像中对应的位置点来判断车辆是否处于压线行驶状态的实现方式还可以为:获取车辆的宽度;确定车辆在视差图像中对应的位置点与距离该位置点最近的路面标识线之间的水平距离,如果该水平距离小于车辆的宽度的一半,则可以确定车辆当前处于压线行驶状态,否则,则可以确定车辆当前不处于压线行驶状态。

图6C是本发明实施例示出的另一种检测车辆是否处于压线行驶状态的示意图。如图6C所示,直线L的下部区域为待检测区域,点O为车辆在视差图像中对应的位置点,直线L1、L2和L3为该视差图像中的三条路面标识线,假设车辆的宽度为H,其中,距离点O最近的路面标识线为L2,且点O到L2的水平距离H1小于H/2,也即车辆当前处于压线行驶状态。

当确定车辆处于压线行驶状态时,由于在实际应用中,在车辆压线行驶的过程中,通常需要关注的是位于车辆两侧且距离车辆最近的两条路面标识线以及车辆当前所压的路面标识线,也即是,终端可以着重检测这三条路面标识线。基于此,终端可以基于路面分界点将待检测区域划分为三个子区域,这样,三条标识线将被划分到不同的子区域中,后续终端就可以在每个子区域对应的子V视差图中检测一条直线来确定路面信息。

其中,终端可以确定经过路面分界点的第一分界线和第二分界线,第一分界线和第二分界线不平行,且与视差图像的纵轴的夹角均为第一预设角度,通过该第一分界线和第二分界线将待检测区域划分为包含有不同路面标识物的三个子区域。

具体的,当车辆处于压线行驶状态时,根据统计规律发现,当经过路面分界点的第一分界线和第二分界线与视差图像的纵轴的夹角均小于或等于45度时,即可以通过该第一分界点和第二分界线将三条路面标识线划分到三个不同的子区域中,基于此,终端可以确定经过路面分界点的第一分界线和第二分界线,该第一分界线和第二分界线与视差图像的纵轴的夹角可以均为第一预设角度,该第一预设角度可以为45度,也可以为40度或者35度等,本发明实施例对此不做具体限定。

当确定第一分界线和第二分界线之后,终端可以基于该第一分界线和第二分界线,将视差图像划分为三个子区域。

图6D是本发明实施例示出的一种将视差图像划分为三个子区域的示意图。如图6D中所示,路面分界点为N,直线L的下部区域为待检测区域,直线L1、L2和L3为该视差图像中的三条路面标识线,车辆当前处于压线行驶状态,终端可以确定经过路面分界点的第一分界线M1和第二分界线M2,其中,第一分界线M1与视差图像的纵轴的夹角为45度,第二分界线M2与纵轴的夹角也为45度,通过该第一分界线M1和第二分界线M2,将视差图像划分为子区域1、子区域2和子区域3,其中,子区域1中包括路面标识线L1,子区域2中包括路面标识线L2,子区域3中包括路面标识线L3。

当确定车辆不处于压线行驶状态时,通常需要关注组成车辆当前所在车道的路面标识线以及与车辆当前所在车道相邻的左右两个车道的路面标识线,也即是,终端可以着重检测车辆当前所在车道以及相邻的左右两个车道的四条路面标识线。基于此,终端可以基于路面分界点将待检测区域划分为四个子区域,每个子区域中包括一条路面标识线,后续终端可以在每个子区域对应的子V视差图中检测一条直线来确定路面信息。

其中,终端可以确定经过路面分界点的第三分界线、第四分界线和第五分界线;第三分界线为与视差图像的纵轴平行的直线,第四分界线和第五分界线位于第三分界线的两侧,且与第三分界线的夹角均为第二预设角度,第四分界线和第五分界线不平行;通过第三分界线、第四分界线和第五分界线,将待检测区域划分为包含有不同路面标识物的四个子区域。

具体的,在车辆不处于压线行驶状态的情况下,根据统计规律发现,通过经过路面分界点且与视差图像的纵轴平行的直线以及与该直线的夹角均为60度的两条直线,即可以将四条路面标识线划分到三个不同的子区域中,基于此,终端可以确定经过路面分界点的第三分界线、第四分界线和第五分界线,该第三分界线即为经过路面分界点且与视差图像的纵轴平行的直线,第四分界线和第五分界线位于第三分界线的两侧,且与第三分界线的夹角均为第二预设角度,该第二预设角度可以为60度,也可以为50度到60度之间的任意值,或者也可以为60度到70度之间的任意值,本发明实施例对此不做具体限定。

图6E是本发明实施例示出的一种将视差图像划分为四个子区域的示意图。如图6E中所示,路面分界点为N,直线L的下部区域为待检测区域,直线L1、L2、L3和L4为该视差图像中的四条路面标识线,车辆当前不处于压线行驶状态,终端可以确定经过路面分界点的第三分界线M3、第四分界线M4和第五分界线M5,其中,第三分界线M3与视差图像的纵轴平行,第四分界线M4位于第三分界线M3的左侧,与第三分界线M3的夹角为60度,第五分界线M5位于第三分界线M3的右侧,与第三分界线M3的夹角也为60度,通过该第三分界线M3、第四分界线M4和第五分界线M5,将视差图像划分为子区域1、子区域2、子区域3和子区域4,其中,子区域1中包括路面标识线L1,子区域2中包括路面标识线L2,子区域3中包括路面标识线L3,子区域4中包括路面标识线L4。

需要说明的是,在实际应用中,第一预设个数还可以为4或其他数值,第二预设个数也可以为3或5等其他数值,本发明实施例对此不做具体限定。

步骤604:分别确定多个子区域对应的子V视差图。

基于步骤603中的描述可知,终端可以将视差图像划分为三个子区域,也可以将视差图像划分为四个子区域。当终端将视差图像划分为三个子区域时,终端可以计算三个子区域中每个子区域对应的子V视差图,从而得到三个子V视差图。当终端将视差图像划分为四个子区域时,终端可以计算四个子区域中每个子区域对应的子V视差图,从而得到四个子V视差图。

其中,终端计算每个子区域对应的V视差图的具体实现方式可以参考相关技术中根据视差图像计算V视差图的具体实现方式,本发明实施例在这里不再赘述。

步骤605:在子V视差图中分别检测直线,并基于检测到的直线确定视差图像中的路面信息。

当确定多个子区域对应的子V视差图之后,可以在子V视差图中检测直线。具体的,终端可以在每个子V视差图中进行直线拟合,从而得到一条直线,或者,终端可以将每个子V视差图转化为二值化图像,并在该二值化图像中通过霍夫变换检测直线。需要说明的是,为了排除子V视差图中其他可能存在的直线,在进行直线拟合时,可以根据车道线的特征,设置特定的拟合参数,以保证拟合得到的直线的准确性。

当在子V视差图中检测到直线之后,终端可以基于检测到的直线从视差图像中确定路面对应的视差点。具体的,终端可以根据检测到的直线上的每一个像素点的坐标(x,y)返回视差图像中查找纵坐标为y的像素点中像素值为x的像素点,查找到的像素点即为路面对应的视差点。

在本发明实施例中,确定路况图像对应的视差图像中的路面分界点,并基于该路面分界点确定视差图像中的待检测区域。之后,基于车辆在视差图像中对应的位置点和路面分界点,将待检测区域划分为包含有不同路面标识物的多个区域,并分别确定子区域对应的子V视差图,在子V视差图中分别检测直线,并基于检测到的直线确定视差图像中的路面信息。由于根据车辆在视差图像中的位置点和路面分界点将不同路面标识物划分到了不同的子区域中,因此,当根据划分的子区域确定对应的子V视差图后,因为路面不平而造成的不同路面标识线对应的不同直线将分别出现在不同的子V视差图中,此时,即可以直接在每个子V视差图中检测直线,并根据检测到的直线确定目标图像中的路面信息。由此可见,本发明实施例通过将不同的路面标识线划分到不同的区域中,解决了路面不平情况下路面的检测问题,减小了路面检测的误差。

在对本发明实施例提供的路面检测方法进行解释说明之后,接下来对本发明实施例提供的路面检测装置进行介绍。

图7A是本发明实施例提供的一种路面检测装置700,该装置700可以集成于终端中,该终端可以是车载终端,且该终端可以与车载双目摄像头进行通信。或者,该终端可以是同时集成有双目摄像头和图像处理功能的设备,参见图7A,该装置700包括:

第一确定模块701,用于获取待检测的目标图像,并在目标图像中确定路面分界点;

划分模块702,用于基于路面分界点,确定对目标图像进行区域划分的分界线,并通过分界线划分目标图像,得到至少两个子区域;

第二确定模块703,用于分别确定至少两个子区域对应的子V视差图,并分别在子V视差图中检测直线;

第三确定模块704,用于基于检测到的直线确定目标图像中的路面信息。

可选地,目标图像是指对摄像头采集到的路况图像进行处理后得到的灰度图像;

第一确定模块701包括:

第一确定子模块,用于确定目标图像对应的鸟瞰图;

检测子模块,用于在鸟瞰图中检测至少两条第一直线,并确定第一直线在目标图像中对应的至少两条第二直线;

第一确定子模块还用于基于第二直线在目标图像中确定路面分界点。

可选地,目标图像是指对摄像头采集到的路况图像进行处理后得到的灰度图像;

参见图7B,第二确定模块703,包括:

计算子模块7031,用于通过立体匹配算法计算至少两个子区域对应的子视差图;

第二确定子模块7032,用于基于子视差图,确定至少两个子区域对应的子V视差图。

可选地,目标图像是指对摄像头采集到的路况图像进行处理后得到的视差图像;

可选地,第三确定模块704包括:

第三确定子模块,用于基于直线从目标图像中确定路面对应的视差点;或者,

第三确定子模块,用于基于直线从目标图像中确定目标区域,并根据直线从目标区域中确定路面对应的视差点。

可选地,第三确定子模块具体用于:

将直线所在的子V视差图在目标图像中所对应的区域作为第一区域,并移动目标图像中用于划分得到第一区域的分界线,以扩大第一区域;

将扩大后的第一区域确定为目标区域。

可选地,参见图7C,划分模块702,包括:

第四确定子模块7021,用于将经过路面分界点且平行于目标图像纵轴的直线确定为第三直线;

第五确定子模块7022,用于基于第三直线确定分界线。

可选地,第五确定子模块具体用于:

将第三直线确定为分界线;或者,

将与第三直线平行且相距第一预设距离的第四直线确定为分界线;或者,

基于第三直线确定第四直线和第五直线,并将第四直线和第五直线确定为分界线,第四直线和第五直线为位于第三直线两侧与第三直线平行的两条直线。

在本发明实施例中,确定待检测的目标图像中的路面分界点,之后,根据该路面分界点确定分界线,并通过分界线对目标图像划分,得到包含有不同路面标识物的至少两个子区域。由于该分界线是根据路面分界点确定的,因此,通过该分界线可以将当前位于车辆两侧的车道线划分到不同的子区域中。这样,当根据划分的子区域确定对应的子V视差图后,因为路面不平而造成的不同车道线对应的不同直线将分别出现在不同的子V视差图中,此时,即可以直接在每个子V视差图中检测直线,并根据检测到的直线确定目标图像中的路面信息。由此可见,本发明实施例通过将车辆两侧的车道线划分到不同的子区域中,解决了路面不平情况下路面的检测问题,减小了路面检测的误差。

图8A是本发明实施例提供的一种路面检测装置800,该装置800可以集成于终端中,该终端可以是车载终端,且该终端可以与车载双目摄像头进行通信。或者,该终端可以是同时集成有双目摄像头和图像处理功能的设备,参见图8A,该装置800包括:

确定模块801,用于确定路况图像对应的视差图像中的路面分界点,并基于路面分界点,确定视差图像中的待检测区域;

划分模块802,用于基于安装有用于采集路况图像的摄像头的车辆在视差图像中对应的位置点和路面分界点,将待检测区域划分为多个子区域,并分别确定子区域对应的子V视差图;

检测模块803,用于在子V视差图中分别检测直线,并基于检测到的直线确定视差图像中的路面信息。

可选地,参见图8B,划分模块802包括:

判断子模块8021,用于基于车辆在视差图像中对应的位置点,判断车辆是否处于压线行驶状态;

第一划分子模块8022,用于当车辆处于压线行驶状态时,基于路面分界点,将待检测区域划分为包含有不同路面标识物的第一预设个数个子区域;

第二划分子模块8023,用于当车辆不处于压线行驶状态时,基于路面分界点,将待检测区域划分为包含有不同路面标识物的第二预设个数个子区域。

可选地,判断子模块8021具体用于:

获取车辆的宽度,根据车辆的宽度和车辆在视差图像中对应的位置点,确定车辆在视差图像中的横向位置范围;

当路面标识线中存在经过横向位置范围的路面标识线时,确定车辆处于压线行驶状态,路面标识线用于指示视差图像中的路面标识物;

当路面标识线中不存在经过横向位置范围的路面标识线时,确定车辆不处于压线行驶状态。

在本发明实施例中,确定路况图像对应的视差图像中的路面分界点,并基于该路面分界点确定视差图像中的待检测区域。之后,基于车辆在视差图像中对应的位置点和路面分界点,将待检测区域划分为包含有不同路面标识物的多个区域,并分别确定子区域对应的子V视差图,在子V视差图中分别检测直线,并基于检测到的直线确定视差图像中的路面信息。由于根据车辆在视差图像中的位置点和路面分界点将不同路面标识物划分到了不同的子区域中,因此,当根据划分的子区域确定对应的子V视差图后,因为路面不平而造成的不同路面标识线对应的不同直线将分别出现在不同的子V视差图中,此时,即可以直接在每个子V视差图中检测直线,并根据检测到的直线确定目标图像中的路面信息。由此可见,本发明实施例通过将不同的路面标识线划分到不同的区域中,解决了路面不平情况下路面的检测问题,减小了路面检测的误差。

需要说明的是:上述实施例提供的路面检测装置在进行路面检测时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的路面检测装置与路面检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本实施例提供了一种路面检测终端900,该路面检测终端900可以用于执行上述实施例中提供的路面检测方法。该路面检测终端900可以是便携式移动终端,比如:智能手机、平板电脑和笔记本电脑或台式电脑,该路面检测终端900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。

参见图9,通常,该路面检测终端900包括:处理器901和存储器902。

处理器901是该路面检测终端900的控制中心,利用各种接口和线路连接整个该路面检测终端的各个部分,通过运行或执行存储在存储器902内的软件程序和/或模块,以及调用存储在存储器902内的数据,执行路面检测终端900的各种功能和处理数据,从而对该路面检测终端进行整体监控。可选的,处理器901可包括一个或多个处理核心;可选的,处理器901可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器901中。

存储器902可用于存储软件程序以及模块,处理器901通过运行存储在存储器902的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器902可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等;存储数据区可存储根据路面检测终端900的使用所创建的数据(比如采集到的图像、计算得到的视差图像或者处理得到的灰度图像等)等。此外,存储器902可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器902还可以包括存储器控制器,以提供处理器901对存储器902的访问。

在一些实施例中,终端900还可选包括有:外围设备接口903和至少一个外围设备。处理器901、存储器902和外围设备接口903之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口903相连。具体地,外围设备包括:射频电路904、触摸显示屏905、摄像头906、音频电路907、定位组件908和电源909中的至少一种。

其中,摄像头组件906用于采集图像或视频。可选地,摄像头组件906可以包括至少两个摄像头。在一些实施例中,至少两个摄像头可以分别为双目摄像头中的左右摄像头。在一些实施例中,摄像头组件906还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。

尽管未示出,该路面检测终端900还可以包括各种传感器等,在此不再赘述。具体在本实施例中,该路面检测终端还包括有一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置由一个或者一个以上处理器执行。所述一个或者一个以上程序包含用于执行上述实施例中提供的路面检测方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器902,上述指令可由该路面检测终端900的处理器901执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由该路面检测终端的处理器执行时,使得该路面检测终端能够执行上述实施例中提供的路面检测方法。

需要说明的是,上述实施例提供的路面检测终端可以包括前述实施例的路面检测终端,上述实施例提供的路面检测终端与前述实施例的路面检测终端以及路面检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1