一种车道线检测方法和装置转让专利

申请号 : CN202080004825.4

文献号 : CN112654997B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 罗达新高鲁涛马莎

申请人 : 华为技术有限公司

摘要 :

本申请实施例提供一种车道线检测方法和装置,涉及传感器技术领域,可用于安防、辅助驾驶和自动驾驶。方法包括:根据第一图像获取第一车道线;根据第一车道线以及第一距离,确定至少一个第一区域;其中,第一距离与车道宽度有关;在第一区域中确定与第一车道线平行的第二车道线。这样,不会因为车道线深浅不一、车道线部分被遮挡等问题得到不符合车道线实际情况的车道线,保证得到的多条车道线平行,从而获得更准确的车道线检测结果。该方法提升了自动驾驶或者辅助驾驶中的高级驾驶辅助系统ADAS能力,可以应用于车联网,如车辆外联V2X、车间通信长期演进技术LTE‑V、车辆‑车辆V2V等。

权利要求 :

1.一种车道线检测方法,其特征在于,包括:根据第一图像获取第一车道线;

根据所述第一车道线以及第一距离,确定至少一个第一区域;其中,所述第一距离与车道宽度有关;

确定所述第一图像的灰度图;

对所述第一图像中对应于所述第一区域的部分进行图像增强和边缘检测,得到所述第一区域对应的灰度图;

根据所述第一区域对应的灰度图,更新所述第一图像的灰度图中对应于的所述第一区域的部分,得到第二图像;

根据所述第二图像构建的积分图中确定所述第一区域的积分图极大值的位置;其中,所述积分图的横坐标为图像像素的列数,纵坐标为纵轴方向图像的像素数目;所述积分图极大值包括所述第一区域中纵坐标方向像素数目最大的值;

根据所述第一区域的积分图极大值的位置,确定第二车道线。

2.根据权利要求1所述的方法,其特征在于,所述第一车道线为所述第一图像中像素数量最多的车道线;或者,所述第一车道线的像素数量大于第一阈值。

3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一车道线以及所述第一距离,确定所述至少一个第一区域,包括:确定所述车道宽度在所述第一图像中对应的所述第一距离;

根据所述第一距离以及所述第一车道线在所述第一图像中的位置,确定所述至少一个第一区域。

4.根据权利要求1所述的方法,其特征在于,所述根据所述第二图像构建的积分图中确定所述第一区域的积分图极大值的位置,包括:根据所述第一车道线拉直所述第二图像,得到第三图像;其中,拉直后的所述第三图像中的所述第一车道线与所述纵轴平行;

根据所述第三图像生成所述积分图;

根据所述积分图确定所述第一区域的所述积分图极大值的位置。

5.根据权利要求4所述的方法,其特征在于,根据所述第一车道线拉直所述第二图像,得到所述第三图像,包括:

以所述第一车道线的任一像素点为参考点,将所述第一车道线拉直为与所述纵轴平行的第三车道线;

根据所述第一车道线中其他像素点在拉直中移动的位置和方向,拉直所述第二图像中与所述其他像素点纵坐标相同的像素点,得到所述第三图像。

6.根据权利要求5所述的方法,其特征在于,所述根据所述第一区域的积分图极大值的位置,确定所述第二车道线,包括:在所述第三图像的积分图极大值处生成与所述第三车道线平行的第四车道线;

根据所述第四车道线以及所述第一车道线中其他像素点在拉直中移动的位置和方向,确定所述第二车道线。

7.根据权利要求1‑2、4‑6任一项所述的方法,其特征在于,还包括:输出包括所述第一车道线和所述第二车道线的车道线检测结果。

8.根据权利要求1‑2、4‑6任一项所述的方法,其特征在于,所述第一图像为所述车道线的俯视图像。

9.一种车道线检测装置,其特征在于,包括:处理单元,用于根据第一图像获取第一车道线;

所述处理单元,还用于根据所述第一车道线以及第一距离,确定至少一个第一区域;其中,所述第一距离与车道宽度有关;

所述处理单元,还用于确定所述第一图像的灰度图;对所述第一图像中对应于所述第一区域的部分进行图像增强和边缘检测,得到所述第一区域对应的灰度图;根据所述第一区域对应的灰度图,更新所述第一图像的灰度图中对应于的所述第一区域的部分,得到第二图像;

所述处理单元,具体还用于:根据所述第二图像构建的积分图中确定所述第一区域的积分图极大值的位置;其中,所述积分图的横坐标为图像像素的列数,纵坐标为纵轴方向图像的像素数目;所述积分图极大值包括所述第一区域中纵坐标方向像素数目最大的值;根据所述第一区域的积分图极大值的位置,确定第二车道线。

10.根据权利要求9所述的装置,其特征在于,所述第一车道线为所述第一图像中像素数量最多的车道线;或者,所述第一车道线的像素数量大于第一阈值。

11.根据权利要求9或10所述的装置,其特征在于,所述处理单元,具体还用于:确定所述车道宽度在所述第一图像中对应的所述第一距离;根据所述第一距离以及所述第一车道线在所述第一图像中的位置,确定所述至少一个第一区域。

12.根据权利要求9所述的装置,其特征在于,所述处理单元,具体还用于:根据所述第一车道线拉直所述第二图像,得到第三图像;其中,拉直后的所述第三图像中的所述第一车道线与所述纵轴平行;根据所述第三图像生成所述积分图;根据所述积分图确定所述第一区域的所述积分图极大值的位置。

13.根据权利要求12所述的装置,其特征在于,所述处理单元,具体还用于:以所述第一车道线的任一像素点为参考点,将所述第一车道线拉直为与所述纵轴平行的第三车道线;

根据所述第一车道线中其他像素点在拉直中移动的位置和方向,拉直所述第二图像中与所述其他像素点纵坐标相同的像素点,得到所述第三图像。

14.根据权利要求13所述的装置,其特征在于,所述处理单元,具体还用于:在所述第三图像的积分图极大值处生成与所述第三车道线平行的第四车道线;根据所述第四车道线以及所述第一车道线中其他像素点在拉直中移动的位置和方向,确定所述第二车道线。

15.根据权利要求9‑10、12‑14任一项所述的装置,其特征在于,还包括:通信单元,用于输出包括所述第一车道线和所述第二车道线的车道线检测结果。

16.根据权利要求9‑10、12‑14任一项所述的装置,其特征在于,所述第一图像为所述车道线的俯视图像。

17.一种车道线检测装置,其特征在于,包括:处理器,用于调用存储器中的程序,以执行权利要求1‑8任一项所述的方法。

18.一种芯片,其特征在于,包括:处理器和接口电路,所述接口电路用于与其它装置通信,所述处理器用于执行权利要求1至8任一项所述的方法。

19.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求1‑8任一项所述的方法。

说明书 :

一种车道线检测方法和装置

技术领域

[0001] 本申请涉及传感器技术领域,尤其涉及一种车道线检测方法和装置。

背景技术

[0002] 随着社会的发展,智能运输设备、智能家居设备、机器人等智能终端正在逐步进入人们的日常生活中。传感器在智能终端上发挥着十分重要的作用。安装在智能终端上的各
式各样的传感器,比如毫米波雷达,激光雷达,成像雷达,超声波雷达,摄像头等,使得智能
终端可以感知周围的环境,收集数据,进行移动物体的辨识与追踪,以及静止场景如车道
线、标示牌的识别、结合导航仪及地图数据进行路径规划,等。示例性的,在自动驾驶、安防
或监控等领域,可以基于传感器进行车道线检测。例如,车辆在行驶过程中,利用摄像头获
取道路图片,车辆驾驶系统通过检测和识别道路图片中的车道线,辅助决定是否采取调整
方向、变道等措施。
[0003] 目前,常用的车道线检测方法有两种,第一种,基于深度学习的检测方法,例如,利用卷积神经网络等机器学习方法学习车道线特征,分割车道线,然后对车道线进行拟合;第
二种,传统的计算机视觉的检测方法,例如,利用边缘检测或颜色空间等方法,对车道线进
行特征提取,然后对车道线进行拟合。
[0004] 然而,上述车道线检测方法存在车道线检测结果不准确的问题。

发明内容

[0005] 本申请实施例提供一种车道线检测方法和装置,在第一区域中生成与第一车道线平行的第二车道线,不会因为车道线深浅不一、车道线部分被遮挡等问题得到不符合车道
线实际情况的车道线,保证多条车道线平行,从而获得更准确的车道线检测结果。
[0006] 第一方面,本申请实施例提供一种车道线检测方法,包括:根据第一图像获取第一车道线;根据第一车道线以及第一距离,确定至少一个第一区域;其中,第一距离与车道宽
度有关;在第一区域中确定与第一车道线平行的第二车道线。这样,本申请实施例在第一区
域中生成与第一车道线平行的第二车道线,不会因为车道线深浅不一、车道线部分被遮挡
等问题得到不符合车道线实际情况的车道线,保证多条车道线平行,从而获得更准确的车
道线检测结果。
[0007] 在一种可能的实现方式中,第一车道线为第一图像中像素数量最多的车道线;或者,第一车道线的像素数量大于第一阈值。这样,本申请实施例可以得到具有显著特征的车
道线,或者可以理解为具有较好识别效果的车道线,后续基于第一车道线得到其他平行车
道线时,能得到较完整的车道线。
[0008] 在一种可能的实现方式中,本申请实施例根据第一车道线以及第一距离,确定至少一个第一区域,包括:确定车道宽度在第一图像中对应的第一距离;根据第一距离以及第
一车道线在第一图像中的位置,确定至少一个第一区域。这样,本申请实施例根据具有较好
识别效果的第一车道线来确定第一区域,这样在第一区域中确定的与第一车道线平行的第
二车道线相对也更加准确。
[0009] 在一种可能的实现方式中,本申请实施例在第一区域中确定与第一车道线平行的第二车道线,包括:确定第一图像的灰度图;对第一图像中对应于第一区域的部分进行图像
增强和边缘检测,得到第一区域对应的灰度图;根据第一区域对应的灰度图,更新第一图像
的灰度图中对应于的第一区域的部分,得到第二图像;根据第二图像,在第一区域中确定第
二车道线。这样,本申请实施例将边缘特征不明显的第一区域对应的部分进行图像增强,这
样在第一区域中确定的与第一车道线平行的第二车道线相对也更加准确。
[0010] 在一种可能的实现方式中,本申请实施例根据第二图像,在第一区域中确定第二车道线,包括:在根据第二图像构建的积分图中确定第一区域的积分图极大值的位置;其
中,积分图的横坐标为图像像素的列数,纵坐标为纵轴方向图像的像素数目。积分图极大值
包括第一区域中纵坐标方向像素数目最大的值;根据第一区域的积分图极大值的位置,确
定第二车道线。这样,本申请实施例通过确定积分图极大值的位置来确定第二车道线的位
置,其中积分图极大值为纵坐标方向车道线像素数目最多的值,这样在积分图极大值处生
成的与第一车道线平行的第二车道线相对也更准确。
[0011] 在一种可能的实现方式中,本申请实施例在根据第二图像构建的积分图中确定第一区域的积分图极大值的位置,包括:根据第一车道线拉直第二图像,得到第三图像;其中,
拉直后的第三图像中的第一车道线与纵轴平行;根据第三图像生成积分图;根据积分图确
定第一区域的积分图极大值的位置。这样,本申请实施例通过根据第一车道线拉直第二图
像来获取积分图的极大值,从而获取的积分图极大值相对也更准确。
[0012] 在一种可能的实现方式中,本申请实施例根据第一车道线拉直第二图像,得到第三图像,包括:以第一车道线的任一像素点为参考点,将第一车道线拉直为与纵轴平行的第
三车道线;根据第一车道线中其他像素点在拉直中移动的位置和方向,拉直第二图像中与
其他像素点纵坐标相同的像素点,得到第三图像。
[0013] 在一种可能的实现方式中,本申请实施例根据第一区域的积分图极大值的位置,确定第二车道线,包括:在第三图像的积分图极大值处生成与第三车道线平行的第四车道
线;根据第四车道线以及第一车道线中其他像素点在拉直中移动的位置和方向,确定第二
车道线。
[0014] 在一种可能的实现方式中,方法还包括:输出包括第一车道线和第二车道线的车道线检测结果。
[0015] 在一种可能的实现方式中,本申请实施例中第一图像为车道线的俯视图像。
[0016] 第二方面,本申请实施例提供一种车道线检测装置。
[0017] 该车道线检测装置可为具有车道线检测功能的车辆,或者为具有车道线检测功能的其他部件。该车道线检测装置包括但不限于:车载终端、车载控制器、车载模块、车载模
组、车载部件、车载芯片、车载单元、车载雷达或车载摄像头等其他传感器,车辆可通过该车
载终端、车载控制器、车载模块、车载模组、车载部件、车载芯片、车载单元、车载雷达或摄像
头,实施本申请提供的方法。
[0018] 该车道线检测装置可以智能终端,或设置在除了车辆之外的其他具有车道线检测功能的智能终端中,或设置于该智能终端的部件中。该智能终端可以为智能运输设备、智能
家居设备、机器人等其他终端设备。该车道线检测装置包括但不限于智能终端或智能终端
内的控制器、芯片、雷达或摄像头等其他传感器、以及其他部件等。
[0019] 该车道线检测装置可以是一个通用设备或者是一个专用设备。在具体实现中,该装置还可以台式机、便携式电脑、网络服务器、掌上电脑(personal digital assistant,
PDA)、移动手机、平板电脑、无线终端设备、嵌入式设备或其他具有处理功能的设备。本申请
实施例不限定该车道线检测装置的类型。
[0020] 该车道线检测装置还可以是具有处理功能的芯片或处理器,该车道线检测装置可以包括至少一个处理器。处理器可以是一个单核(single‑CPU)处理器,也可以是一个多核
(multi‑CPU)处理器。该具有处理功能的芯片或处理器可以设置在传感器中,也可以不设置
在传感器中,而设置在传感器输出信号的接收端。所述处理器包括但不限于中央处理器
(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微控制
单元(micro control unit,MCU)、微处理器(micro processor unit,MPU)、协处理器中的
至少一个。
[0021] 该车道线检测装置还可以是终端设备,也可以是终端设备内的芯片或者芯片系统。该车道线检测装置可以包括处理单元。当该车道线检测装置是终端设备时,该处理单元
可以是处理器。该车道线检测装置还可以包括存储单元,该存储单元可以是存储器。该存储
单元用于存储指令,该处理单元执行该存储单元所存储的指令,以使该终端设备实现第一
方面或第一方面的任意一种可能的实现方式中描述的一种车道线检测方法。当该车道线检
测装置是终端设备内的芯片或者芯片系统时,该处理单元可以是处理器。该处理单元执行
存储单元所存储的指令,以使该终端设备实现第一方面或第一方面的任意一种可能的实现
方式中描述的一种车道线检测方法。该存储单元可以是该芯片内的存储单元(例如,寄存
器、缓存等),也可以是该终端设备内的位于该芯片外部的存储单元(例如,只读存储器、随
机存取存储器等)。
[0022] 示例性的,处理单元,具体用于根据第一图像获取第一车道线;根据第一车道线以及第一距离,确定至少一个第一区域;其中,第一距离与车道宽度有关;在第一区域中确定
与第一车道线平行的第二车道线。
[0023] 在一种可能的实现方式中,第一车道线为第一图像中像素数量最多的车道线;或者,第一车道线的像素数量大于第一阈值。
[0024] 在一种可能的实现方式中,处理单元,具体用于确定车道宽度在第一图像中对应的第一距离;处理单元,具体还用于根据第一距离以及第一车道线在第一图像中的位置,确
定至少一个第一区域。
[0025] 在一种可能的实现方式中,处理单元,具体用于确定第一图像的灰度图;处理单元,具体用于对第一图像中对应于第一区域的部分进行图像增强和边缘检测,得到第一区
域对应的灰度图;处理单元,具体用于根据第一区域对应的灰度图,更新第一图像的灰度图
中对应于的第一区域的部分,得到第二图像;处理单元,具体还用于根据第二图像,在第一
区域中确定第二车道线。
[0026] 在一种可能的实现方式中,处理单元,具体用于,根据第二图像构建的积分图中确定第一区域的积分图极大值的位置;其中,积分图的横坐标为图像像素的列数,纵坐标为纵
轴方向图像的像素数目;积分图极大值包括第一区域中纵坐标方向像素数目最大的值;处
理单元,具体还用于,根据第一区域的积分图极大值的位置,确定第二车道线。
[0027] 在一种可能的实现方式中,处理单元,具体用于,根据第一车道线拉直第二图像,得到第三图像;其中,拉直后的第三图像中的第一车道线与纵轴平行;处理单元,具体用于,
根据第三图像生成积分图;处理单元,具体还用于,根据积分图确定第一区域的积分图极大
值的位置。
[0028] 在一种可能的实现方式中,处理单元,具体用于,以第一车道线的任一像素点为参考点,将第一车道线拉直为与纵轴平行的第三车道线;处理单元,具体还用于,根据第一车
道线中其他像素点在拉直中移动的位置和方向,拉直第二图像中与其他像素点纵坐标相同
的像素点,得到第三图像。
[0029] 在一种可能的实现方式中,处理单元,具体用于,在第三图像的积分图极大值处生成与第三车道线平行的第四车道线;处理单元,具体还用于,根据第四车道线以及第一车道
线中其他像素点在拉直中移动的位置和方向,确定第二车道线。
[0030] 在一种可能的实现方式中,还用于,输出包括第一车道线和第二车道线的车道线检测结果。
[0031] 在一种可能的实现方式中,第一图像为车道线的俯视图像。
[0032] 第三方面,本申请实施例还提供一种传感器系统,用于为车辆提供车道线检测功能。其包含至少一个本申请上述实施例提到的车道线检测装置,以及,摄像头和雷达等其他
传感器,该系统内的至少一个传感器装置可以集成为一个整机或设备,或者该系统内的至
少一个传感器装置也可以独立设置为元件或装置。
[0033] 第四方面,本申请实施例还提供一种系统,应用于无人驾驶或智能驾驶中,其包含至少一个本申请上述实施例提到的车道线检测装置、摄像头、雷达等传感器其他传感器中
的至少一个,该系统内的至少一个装置可以集成为一个整机或设备,或者该系统内的至少
一个装置也可以独立设置为元件或装置。
[0034] 进一步,上述任一系统可以与车辆的中央控制器进行交互,为所述车辆驾驶的决策或控制提供探测和/或融合信息。
[0035] 第五方面,本申请实施例还提供一种终端,所述终端包括至少一个本申请上述实施例提到的车道线检测装置或上述任一系统。进一步,所述终端可以为智能家居设备、智能
制造设备、智能工业设备、智能运输设备(含无人机、车辆等)等。
[0036] 第六方面,本申请提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运
行计算机程序或指令,以进行第一方面任意的实现方式中任一项所描述的车道线检测方
法。
[0037] 其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
[0038] 在一种可能的实现中,本申请中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存
器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
[0039] 第七方面,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行如第
一方面的任意一种实现方式中描述的车道线检测方法。
[0040] 第八方面,本申请实施例提供一种目标跟踪装置,包括:至少一个处理器和接口电路,接口电路用于为至少一个处理器提供信息输入和/或信息输出;至少一个处理器用于运
行代码指令,以实现第一方面或第一方面任意可能的实现方式中的任一方法。
[0041] 应当理解的是,本申请实施例的第二方面至第八方面与本申请实施例的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。

附图说明

[0042] 图1为本申请实施例提供的一种自动驾驶场景示意图;
[0043] 图2为现有的一种传统计算机视觉的检测方法的流程示意图;
[0044] 图3本申请实施例提供的一种自动驾驶汽车的结构示意图;
[0045] 图4为本申请实施例构建的一种积分图;;
[0046] 图5为本申请实施例提供的一种车道线检测方法的流程示意图;
[0047] 图6为本申请实施例提供的一种确定车道线位置方法的示意图;
[0048] 图7为本申请实施例确定的一种第一车道线的示意图;
[0049] 图8为本申请实施例确定的一种第一区域的示意图;
[0050] 图9为本申请实施例提供的一种确定第二车道线的流程示意图;
[0051] 图10为本申请实施例提供的对图像中第一区域对应的部分进行增强的示意图;
[0052] 图11为本申请实施例提供的一种确定第二车道线的流程示意图;
[0053] 图12为本申请实施例提供的一种确定第二车道线的流程示意图;
[0054] 图13为本申请实施例提供的一种将第一图像进行拉直的示意图;
[0055] 图14为本申请实施例提供的一种车道线检测装置的结构示意图;
[0056] 图15为本申请实施例提供的一种芯片的结构示意图。

具体实施方式

[0057] 为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一日志和
第二日志仅仅是为了区分不同时间窗内的网络日志,并不对其先后顺序进行限定。本领域
技术人员可以理解“第一”、“第二”等字样并不对数量进行限定,并且“第一”、“第二”等字样
也并不限定一定不同。
[0058] 需要说明的是,本申请中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其
他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在
以具体方式呈现相关概念。
[0059] 本申请中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,
同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。
[0060] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实
施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属
于本发明保护的范围。
[0061] 随着人工智能、视觉技术等技术的不断发展,自动驾驶逐渐成为智能汽车的新趋势。而在自动驾驶过程中,驾驶安全性尤为重要。其中,为了有效提升驾驶安全性,如图1所
示,车辆在行驶过程中,车辆驾驶系统通过检测车道线,在车辆偏离自车道或即将偏离自车
道前给予提醒,及时地调整车辆在车道中的位置,可以保障行车安全,有效地降低或避免交
通事故的发生。因此,车道线检测是自动驾驶系统中的重要任务之一。
[0062] 目前,可能的车道线检测方法包括:基于深度学习的检测方法和传统计算机视觉的检测方法。
[0063] 示例性的,基于深度学习的检测方法的一种可能实现为:车辆驾驶系统利用卷积神经网络等机器学习方法学习车道线特征,分割车道线,然后对车道线进行拟合,得到车道
线检测结果。
[0064] 然而,基于深度学习的检测方法需要专门标注的数据,会存在数据不足或数据质量不高的问题,同时标注的数据需要高性能计算机进行训练得到模型,存在着一定的局限
性。
[0065] 示例性的,图2示出了一种传统计算机视觉的检测方法的流程图。
[0066] 如图2所示,在预处理阶段,车辆驾驶系统将从摄像头获取的道路图片进行预处理,其中预处理过程可以包括:高斯模糊和灰度化,可能的理解方式中,通过对道路图片进
行高斯模糊可以减少图片中的噪声,通过对道路图片进行灰度化可以得到车道线的像素信
息。
[0067] 在车道线特征提取阶段,车辆驾驶系统可以利用颜色直方图或者划定车道线颜色区间,提取出指定颜色的车道线特征。可能的实现方式中,对于道路中的白色和黄色的车道
线,可以在RGB颜色空间里分别设置相应的颜色区间来提取对应颜色的车道线的特征,最后
将在不同的颜色区间提取的车道线特征进行组合,得到所有车道线的特征。
[0068] 在车道线拟合阶段,车辆驾驶系统利用上述方法提取车道线特征后,使用霍夫变换、滑动窗口等算法对车道线进行拟合,得到车道线检测结果。
[0069] 然而,使用上述计算机视觉的方法进行车道线检测时,虽一定程度上弥补了基于深度学习检测方法的局限性,不再需要专门标注的数据,但当在现实的场景中,车道线可能
存在颜色深浅不一、车道线部分被遮挡等情况。车辆驾驶系统在提取车道线特征时,对于颜
色模糊不清或者边缘灰度变化不明显处,车道线特征可能会被忽略,导致车道线像素提取
不全。由于每条车道线提取的像素的差异,对车道线分别进行拟合后,得到的每条车道线的
曲线参数也会存在差别,导致最后的拟合的结果不平行。可能的理解方式中,车道线的曲线
参数可以指车道线的曲率,表示车道线偏离直线的程度。
[0070] 基于深度学习的检测方法和传统计算机视觉的检测方法存在的上述问题,本申请实施例提供一种车道线检测方法,在第一区域中生成与第一车道线平行的第二车道线,不
会因为车道线深浅不一、车道线部分被遮挡等问题得到不符合车道线实际情况的车道线,
保证多条车道线平行,从而获得更准确的车道线检测结果。。
[0071] 图3是本发明实施例提供的车辆300的功能框图。在一些实施例中,将车辆300配置为完全或部分地自动驾驶模式。例如,车辆300可以在处于自动驾驶模式中的同时控制自
身,并且可通过人为操作来确定车辆及其周边环境的当前状态,确定周边环境中的至少一
个其他车辆的可能行为,并确定该其他车辆执行可能行为的可能性相对应的置信水平,基
于所确定的信息来控制车辆300。在车辆300处于自动驾驶模式中时,可以将车辆300置为在
没有和人交互的情况下操作。
[0072] 车辆300可包括各种子系统,例如行进系统302、传感器系统304、控制系统306、一个或多个外围设备308以及电源310、计算机系统312和用户接口316。可选地,车辆300可包
括更多或更少的子系统,并且每个子系统可包括多个元件。另外,车辆300的每个子系统和
元件可以通过有线或者无线互连。下面就本发明相关的计算机系统312进行具体描述。
[0073] 车辆300的部分或所有功能受计算机系统312控制。计算机系统312可包括至少一个处理器313,处理器313执行存储在例如数据存储装置314这样的非暂态计算机可读介质
中的指令315。计算机系统312还可以是采用分布式方式控制车辆300的个体组件或子系统
的多个计算设备。
[0074] 处理器313可以是任何常规的处理器,诸如商业可获得的CPU。替选地,该处理器可以是诸如ASIC或其它基于硬件的处理器的专用设备。尽管图3功能性地图示了处理器、存储
器、和在相同块中的计算机310的其它元件,但是本领域的普通技术人员应该理解该处理
器、计算机、或存储器实际上可以包括可以或者可以不存储在相同的物理外壳内的多个处
理器、计算机、或存储器。例如,存储器可以是硬盘驱动器或位于不同于计算机310的外壳内
的其它存储介质。因此,对处理器或计算机的引用将被理解为包括对可以或者可以不并行
操作的处理器或计算机或存储器的集合的引用。不同于使用单一的处理器来执行此处所描
述的步骤,诸如转向组件和减速组件的一些组件每个都可以具有其自己的处理器,处理器
只执行与特定于组件的功能相关的计算。
[0075] 在此处所描述的各个方面中,处理器可以位于远离该车辆并且与该车辆进行无线通信。在其它方面中,此处所描述的过程中的一些在布置于车辆内的处理器上执行而其它
则由远程处理器执行,包括采取执行单一操纵的必要步骤。
[0076] 在一些实施例中,数据存储装置314可包含指令315(例如,程序逻辑),指令315可被处理器313执行来执行车辆300的各种功能。作为一种示例,数据存储装置314中可包含车
道线检测指令315,可被处理器313执行来执行车辆300的车道线检测的功能。
[0077] 除了指令315以外,数据存储装置314还可存储数据,例如道路地图、路线信息,车辆的位置、方向、速度以及其它这样的车辆数据,以及其他信息。这种信息可在车辆300在自
主、半自主和/或手动模式中操作期间被车辆300和计算机系统312使用。
[0078] 作为一种示例,数据存储装置314可以存储从传感器系统304或车辆300的其他组件获取的环境信息,环境信息例如可以为车辆当前所处环境附近是否有绿化带、交通信号
灯、行人等,车辆300可以通过机器学习等算法计算当前所处环境附近是否存在绿化带、交
通信号灯、行人等。数据存储装置314还可以存储该车辆自身的状态信息,以及与该车辆有
交互的其他车辆的状态信息。状态信息包括但不限于车辆的速度、加速度、航向角等。比如,
车辆基于雷达326的测速、测距功能,得到其他车辆与自身之间的距离、其他车辆的速度等。
因此,处理器313可从数据存储装置314获取上述环境信息或者状态信息,并执行包含车道
线检测程序的指令315,得到道路中车道线检测结果。并基于车辆所处环境的环境信息、车
辆自身的状态信息、其他车辆的状态信息,以及传统的基于规则的驾驶策略,结合车道线检
测结果和传感器系统304获取的环境信息,得到最终的驾驶策略,通过行进系统302以控制
车辆进行自动驾驶(比如直行、转向或掉头等)。
[0079] 可选地,上述这些组件中的一个或多个可与车辆300分开安装或关联。例如,数据存储装置314可以部分或完全地与车辆300分开存在。上述组件可以按有线和/或无线方式
来通信地耦合在一起。
[0080] 可选地,上述组件只是一个示例,实际应用中,上述各个模块中的组件有可能根据实际需要增添或者删除,图3不应理解为对本发明实施例的限制。
[0081] 上述车辆300可以为轿车、卡车、摩托车、公共汽车、船、飞机、直升飞机、割草机、娱乐车、游乐场车辆、施工设备、电车、高尔夫球车、火车、和手推车等,本发明实施例不作限
定。
[0082] 下面对本申请实施例中的一些词汇进行说明。其中,本申请实施例解释的词汇是为了便于本领域技术人员的理解,并不构成对于本申请实施例的限定。
[0083] 本申请实施例所描述的第一车道线可以是识别第一图像得到的任一条车道线,第一车道线用于作为后续得到其他车道线的基础,使得本申请实施例能得到多条平行的车道
线。
[0084] 可能的实现方式中,为了得到更好的车道线检测效果,第一车道线可以为具有显著特征的车道线,或者可以理解为具有较好识别效果的车道线。例如,第一车道线可以为第
一图像中像素数量最多的车道线。或者,例如第一车道线的像素数量大于第一阈值。可能的
理解方式中,第一阈值可以由人工或机器设定,在第一车道线的像素数量大于第一阈值时,
可以认为第一车道线较为完整,后续基于第一车道线得到其他平行车道线时,能得到较完
整的车道线。
[0085] 示例性的,第一车道线为第一图像中像素数量最多的车道线的一种可能实现方式为:车辆驾驶系统对第一图像进行检测,得到多条车道线。在多条车道线中选择像素数量最
多的一条,得到第一车道线。
[0086] 示例性的,第一车道线为像素数目大于第一阈值的一条车道线的一种可能实现为:车辆驾驶系统对第一车道线的像素数量设定第一阈值,选择对第一图像进行检测得到
的多条车道线中像素数量大于第一阈值的其中一条,得到第一车道线。
[0087] 可能的实现方式中,在多条车道线中像素数量都未达到第一阈值的情况下,车辆驾驶系统对第一图像进行图像增强,然后对图像增强后得到的道路图片再次进行检测。车
辆驾驶系统选择再次检测得到的多条车道线中像素数量大于第一阈值的其中一条,得到第
一车道线。
[0088] 本申请实施例所描述的第二车道线可以是除第一车道线外,道路中存在的其他车道线,第二车道线是基于第一车道线生成的,第二车道线与第一车道线平行。
[0089] 本申请实施例所描述的第一区域可以是第二车道线存在的区域。可能的理解方式中,本申请实施例所描述的第一区域不是特定的某张图像中的第一区域,而是各图像中可
能包含车道线的区域,第一区域在不同的图像中可以对应不同的内容。例如,第一图像中对
应于第一区域的部分,可以是第一图像中位于第一区域的图像;第二图像中对应于第一区
域的部分可以是第二图像中位于第一区域的图像。
[0090] 本申请实施例所描述的积分图极大值包括第一区域中纵坐标方向像素和最大的值。其中,积分图的横坐标为图像中像素的列数,纵坐标为图像中纵轴方向车道线像素的数
目。
[0091] 一种可能的实现方式中,积分图是根据灰度图像构建的。其中,该灰度图像可以为第一图像的灰度图像或对第一图像对应的灰度图像进行处理后得到的灰度图像。
[0092] 示例性的,若第一图像的灰度图的分辨率为250*700,则该第一图像的灰度图在水平方向上250个像素点,在垂直方向上有700个像素点,即第一图像的灰度图中有250列像
素,每一列中车道线像素数目最多为700个。例如,图4为本申请实施例对第一图像的灰度图
构建的积分图,如图4所示,积分图中的横坐标的范围为0至250,积分图的纵坐标的范围为0
至700,可能的理解方式中,A点、B点和C点为该积分图极大值,其中,A点对应的纵坐标值最
大,即A点所在列对应的像素数目最多,则A点处可以为第一车道线的位置,B点和C点对应的
纵坐标分别为第一图像对应的灰度图构建的积分图中第一区域中纵坐标方向像素数目和
最大的值。
[0093] 下面采用具体的实施例对本申请的车道线检测方法进行详细说明,需要说明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进
行重复说明。
[0094] 图5为本申请实施例提供的一种车道线检测方法,包括下列步骤:
[0095] S501:根据第一图像获取第一车道线。
[0096] 本申请实施例所描述的第一图像可以是通过摄像机获取的道路图片。其中,第一图像可以为彩色图像。
[0097] 本申请实施例中的摄像机可以是驾驶员监测系统的摄像机、座舱型摄像机、红外摄像机、行车记录仪(即录像终端)等,具体本申请实施例不进行限制。
[0098] 本申请实施例根据第一图像获取第一车道线的一种可能实现为:车辆驾驶系统对第一图像进行检测,得到多条车道线。在得到的多条车道线中任选一条车道线,作为第一车
道线。其中,本申请实施例中对第一图像进行检测的方法可以包括:基于深度学习的方法和
基于计算机视觉的方法,等。
[0099] 一种可能的实现方式中,车辆驾驶系统使用基于深度学习的方法对第一图像进行检测。例如,可以利用包含车道线的图像样本,训练得到能够输出多条车道线的神经网络模
型,将第一图像输入该神经网络模型,可以得到多条车道线,在多条车道线中任选一条车道
线,作为第一车道线。
[0100] 其中,本申请实施例的车道线的图像样本可以包括道路图片样本,道路图片样本可以通过数据库获取,本申请实施例所使用的数据库可以是已有的公开的数据库,也可以
是为了训练模型自建的数据库。
[0101] 另一种可能的实现方式中,本申请实施例使用基于计算机视觉的方法对第一图像进行检测,经过车道线像素提取、车道线拟合后等处理后,在得到的多条车道线,在多条车
道线中任选一条车道线,作为第一车道线。
[0102] 在车道线像素提取过程中,一种可能的实现方式中,车辆驾驶系统通过对第一图像进行边缘检测来获取车道线的像素信息。
[0103] 在对第一图像进行边缘检测前,车辆驾驶系统可以对第一图像进行灰度化处理,将含有亮度和色彩的第一图像变化成灰度图像,便于后续对图像进行边缘检测。同时,为了
减少图像中的噪声对边缘检测带来的影响,可以对第一图像的灰度图进行高斯模糊。可能
的理解方式中,经过高斯模糊处理后可以去除第一图像的灰度图中的一些相对不清晰的噪
声,这样可以更准确的获取车道线的边缘信息。
[0104] 在对第一图像完成上述灰度化和高斯模糊处理后,示例性的,车辆驾驶系统利用Canny等算法对处理后的第一图像进行边缘检测,得到处理后的第一图像的边缘信息。
[0105] 其中,将处理后的第一图像进行边缘检测得到的边缘信息除包括车道线的边缘信息外,还可以包括其他的边缘信息,例如道路旁的树木、房子等的边缘信息。在这种情况下,
车辆驾驶系统可以根据摄像机的角度、拍摄方向等,推断出车道线在第一图像中的位置,筛
选掉其他的边缘信息,保留车道线的边缘信息,最后得到包含道路中车道线像素信息的图
像。
[0106] 其中,车辆驾驶系统根据摄像机的角度、拍摄方向等,推断车道线在第一图像中位置的一种可能实现为:当车辆前行时,摄像机拍摄方向为车头前方道路区域,可以推断车道
线位于第一图像的下方位置;当车辆倒车时,摄像机拍摄方向为车尾后方道路区域,可以推
断车道线位于第一图像的下方位置;当摄像器为360度多角度摄像机时,拍摄方向可以为车
辆周边360度的道路区域,同样可以推断车道线位于第一图像的下方位置。
[0107] 示例性的,如图6所示,若图6左图为车辆驾驶系统对处理后的第一图像进行边缘检测后得到的,此时摄像机的拍摄方向为车头前方区域,可以推断出车道线位于图像中的
下方区域。如图6右图所示,车辆驾驶系统将图像下方区域设置为感兴趣区域,得到车道线
的像素信息。
[0108] 可能的实现方式中,当第一图像为俯视图像时,车道线位于获取的整张图像中。在这种情况下,处理后的第一图像经边缘检测后得到的边缘信息,即为车道线的像素信息。即
车辆驾驶系统可以根据摄像机的角度、拍摄方向等,推断车道线在第一图像中的位置,来筛
选除车道线以外的其他边缘信息为可选步骤。
[0109] 在车道线像素提取过程中,另一种可能的实现方式中,车辆驾驶系统可以根据第一图像中车道线的颜色特征,对第一图像进行颜色分割,得到包含车道线像素信息的图像。
[0110] 示例性的,根据车道线的颜色特征(例如白色和/或黄色),车辆驾驶系统可以选择在颜色空间(例如RGB颜色空间等)中分别设置相应的颜色区间来提取第一图像中对应颜色
的车道线的像素信息。其中,当获取的第一图像中车道线有两种颜色时,车辆驾驶系统将在
不同的颜色区间提取的车道线像素信息进行组合,得到包含车道线像素信息的图像。
[0111] 在车道线拟合过程中,车辆驾驶系统利用滑动窗口、霍夫变换等算法对包含车道线像素信息的图像进行拟合,得到多条车道线。根据拟合得到的多条车道线,确定第一车道
线。
[0112] 示例性的,车辆驾驶系统利用滑动窗口、霍夫变换等算法对包含车道线像素信息的图像进行拟合,得到多条车道线的一种可能实现为:根据图像中底部车道线像素的位置,
选取N(N可以为大于或等于1的自然数)个像素点作为搜寻起点,然后分别以选取的搜寻起
点为中心生成初始滑动窗口,完成自底部向上的搜寻。可能的理解方式中,搜寻起点的数量
与道路中车道线的数量可以是相同的,每一个初始滑动窗口由底部向上的搜寻可以理解为
找到一条车道线的像素的过程。其中,竖直方向上滑动窗口数目和滑动窗口的宽度可以由
人工或机器设置,滑动窗口的高度可以由图片中竖直方向像素的数目除以设置的滑动窗口
数目来得到。
[0113] 在确定初始滑动窗口的宽度和高度后,车辆驾驶系统根据初始滑动窗口内车道线像素点坐标的均值确定下一滑动窗口的中心,然后重复执行该操作,即每一次搜寻中一个
滑动窗口的位置是由下一窗口内的中心来决定,直到滑动窗口覆盖图像中的车道线像素。
最后,对这些中心点做二阶的多项式拟合,得到多条车道线。
[0114] 示例性的,根据拟合得到的多条车道线,确定第一车道线的一种可能实现为:车辆驾驶系统在得到的多条车道线中任选一条车道线,得到第一车道线。
[0115] 示例性的,根据拟合得到的多条车道线,确定第一车道线的另一种可能实现为:根据拟合得到的多条车道线的位置,分别生成每条车道线的区域,然后使用随机抽样一致性
算法(random sample consensus,RANSAC)分别对车道线所在的区域内的像素点进行拟合,
得到多条车道线。可能的理解方式中,通过RANSAC算法对区域进行拟合得到的多条车道线
比直接根据图像拟合得到的多条车道线具有更好的识别效果。此时车辆驾驶系统在使用
RANSAC算法拟合得到的多条车道线中任选一条车道线,得到第一车道线。
[0116] 示例性的,图7左图为第一图像进行车道线像素提取后得到的图像,图7右图为对处理后的第一图像进行边缘检测得到的图像。车辆驾驶系统通过检测包含车道线像素信息
的图像,选择靠左侧车道线作为第一车道线,得到的第一车道线如图8左图所示。
[0117] S502:根据第一车道线以及第一距离,确定至少一个第一区域。
[0118] 可能的理解方式中,第一距离与车道宽度有关。
[0119] 示例性的,第一距离与车道宽度的关系可以通过获取摄像机的内参数和外参数来确定。
[0120] 示例性的,第一距离与车道宽度的关系也可以通过先验知识来确定。其中,该先验知识可以为根据摄像机历史获取的图片中的像素与像素在实际中对应的距离之间的关系
建立的表格。可能的理解方式中,在不同的道路中,不同的道路宽度对应的第一距离也不
同,在得到具体的道路宽度后,可通过查询表格来获取第一距离。
[0121] 可能的理解方式中,第一区域可以是第二车道线存在的区域。其中,第一区域的数量可以为一个或多个。具体的,当第一区域的数量为一个时,该道路中存在单车道;当第一
区域的数量为多个时,该道路中存在多车道。
[0122] 可能的理解方式中,本申请实施例所描述的第一区域不是特定的某张图像中的第一区域,而是各图像中可能包含车道线的区域,第一区域在不同的图像中可以对应不同的
内容。例如,第一图像中对应于第一区域的部分,可以是第一图像中位于第一区域的图像。
可能的实现方式中,本申请实施例可以根据第一图像中第一车道线的位置,确定第一车道
线所在的区域,然后根据第一距离,将第一车道线所在的区域进行平移,确定至少一个第一
区域。
[0123] 示例性的,车辆驾驶系统可以根据如图8左图所示的第一车道线的位置确定第一车道线所在区域,即为第一车道线外矩形区域。车辆驾驶系统将第一车道线所在区域进行
平移,分别得到其他车道线所在的区域如图8中间图所示,即为第一区域。其中,将第一车道
线所在区域进行平移的距离与第一距离有关。
[0124] S503:在第一区域中确定与第一车道线平行的第二车道线。
[0125] 可能的理解方式中,第二车道线可以是除第一车道线外,道路中存在的其他车道线。其中,第二车道线的数量可以是一条或多条。
[0126] 可能的实现方式中,车辆驾驶系统可以根据第一距离,在第一区域中确定与第一车道线平行的第二车道线。其中,相邻的两条平行车道线之间的距离为第一距离。
[0127] 可能的理解方式中,道路中的车道线从形状上可以划分为竖直车道线和弯曲车道线,在不同的弯曲车道线中,对应的曲线参数也不同。车辆驾驶系统将第一车道线平移至第
一区域中,得到第二车道线,即第一车道线与第二车道线的曲线参数相同。其中,曲线参数
指的是曲线偏离直线的程度。示例性的,在第一车道线为竖直的情况下,第二车道线也是竖
直的;在第一车道线为曲线的情况下,第二车道线为与第一车道线曲线参数相同的弯曲车
道线。
[0128] 示例性的,如图8左图所示,第一车道线为弯曲车道线。通过上述S502中确定第一区域的方法,根据第一车道线的位置,得到如图8中间图所示的两个第一区域。车辆驾驶系
统根据第一距离,在第一区域中得到如图8右图所示的两条车道线,即第二车道线。第二车
道线为与第一车道线曲线参数相同的弯曲车道线。可能的理解方式中,图像中相邻两条车
道线中纵坐标相同的像素点之间的距离即为第一距离。
[0129] 本申请实施例提供一种车道线检测方法,在第一区域中生成与第一车道线平行的第二车道线,不会因为车道线深浅不一、车道线部分被遮挡等问题得到不符合车道线实际
情况的车道线,保证多条车道线平行,从而获得更准确的车道线检测结果。
[0130] 在图5对应的实施例的基础上,一种可能的实现方式中,第一图像为车道线的俯视图像。
[0131] 可能的实现方式中,摄像机获取的道路图片发生了透视变换,例如远景处的车道线向中间靠拢,而且车道线在远景和近景处的粗细不同。为避免透视变换给车道线检测的
结果带来误差,车辆驾驶系统可以将发生透视变换的道路图片进行逆透视变换,例如把道
路图片转换到俯视图视角,得到第一图像。可能的理解方式中,经过逆透视变换后得到的第
一图像中车道线互相平行,且车道线宽度相等。
[0132] 示例性的,将道路图片进行逆透视变换得到第一图像的一种可能实现为:计算摄像机的变换矩阵,其中,变换矩阵可以通过摄像机的内参数矩阵和外参数矩阵连乘得到,摄
像机的变换矩阵表示摄像机的成像,将变换矩阵进行反变换,则可以实现逆透视变换消除
透视形变,变换过程可用下述公式表示:
[0133]
[0134] 其中, 为摄像机的内参数矩阵, 为摄像机标定的外参数矩阵, 为逆透视变换后的坐标, 为逆透视变换前的坐标,内参数矩阵中fx和fy与摄
像机的镜头焦距相关,cx和cy是摄像机的光学中心在像素坐标系中的位置,对应着图像矩阵
的中心坐标。其中,上述相机的内参数矩阵和外参数矩阵中的各参数可通过摄像机标定得
到。
[0135] 可以理解,对第一图像进行逆透视变换的方法不仅限于上述计算方法,本领域技术人员也可以根据其他方式计算得到道路图片的俯视图像,本申请实施例不做具体限定。
[0136] 可能的实现方式中,车辆驾驶系统的摄像机获取的道路图片可能没有发生透视变换,在这种情况下,将摄像机获取的道路图片进行逆透视变换为可选步骤,摄像机获取的道
路图片可以作为第一图像。
[0137] 在图5对应的实施例的基础上,一种可能的实现方式中,S502包括:确定车道宽度在第一图像中对应的第一距离,根据第一距离以及第一车道线在第一图像中的位置,确定
至少一个第一区域。
[0138] 可能的实现方式中,根据摄像机的内参数矩阵和外参数矩阵,获取车道的宽度和第一图像中的像素之间的线性关系。然后根据车道的宽度和第一图像中的像素之间的线性
关系,确定车道宽度在第一图像中对应的第一距离。可能的理解方式中,车道宽度在第一图
像中对应的第一距离可以为车道宽度在第一图像中对应的像素数目。
[0139] 示例性的,如图8左图所示,第一车道线在道路中靠左边位置,同时已知图像的分辨率为250*700,即在水平方向上有250个像素点。若车道的宽度为3米,根据摄像机的内参
数矩阵和外参数矩阵,可以得到车道宽度3米对应第一图像中水平方向上70个像素点,即车
道宽度在第一图像中的第一距离。根据第一距离以及第一车道线在图像中的位置,如图8中
间图所示,可以估计在第一车道线的右侧可能会有两条第二车道线,分别用矩形区域框出
第二车道线可能存在的区域,得到两个第一区域。
[0140] 在本申请实施例中,根据具有较好识别效果的第一车道线来确定第一区域,这样在第一区域中确定的与第一车道线平行的第二车道线相对也更准确,不会因为车道线深浅
不一、车道线部分被遮挡等问题得到不符合车道线实际情况的车道线,保证多条车道线平
行,从而获得更准确的车道线检测结果。
[0141] 在图5对应的实施例的基础上,一种可能的实现方式中,如图9所示,S503包括:
[0142] S901:确定第一图像的灰度图像。
[0143] 可能的实现方式中,第一图像的灰度图像是通过对第一图像进行灰度化处理后得到的。灰度化处理是较为通用的技术,在此不再赘述。
[0144] S902:对第一图像中对应于第一区域的部分进行图像增强和边缘检测,得到第一区域对应的灰度图。
[0145] 可能的实现方式中,车辆驾驶系统利用锐化、直方图均衡等方法对第一图像中对应于第一区域的部分进行图像增强。
[0146] 可能的理解方式中,第一图像可以为彩色图像,则第一图像对应于第一区域的部分也可以为彩色图像。当使用边缘检测对第一图像进行车道线像素提取时,会对第一图像
进行归一化处理,第一图像中边缘特征显著的地方会被提取出来,但边缘特征相对不显著
的地方的不会被提取。这样,对第一图像对应于第一区域的部分进行图像增强,可以让原本
在第一图像中第一区域对应的部分中边缘特征不显著的地方变得相对明显,可以更好的提
取车道线的像素。
[0147] S903:根据第一区域对应的灰度图,更新第一图像的灰度图中对应于第一区域的部分,得到第二图像。
[0148] 可能的理解方式中,第二图像可以为灰度图像。
[0149] 示例性的,如图10所示,其中,图10左图为使用S502的方法在第一图像的灰度图中确定的第一区域,将第一图像中对应于第一区域的部分进行图像增强和边缘检测后得到的
第一区域的灰度图,更新至第一图像的灰度图中,得到如图10右图所示的第二图像。
[0150] S904:根据第二图像,在第一区域中确定第二车道线。
[0151] S904的具体实现可以参照S503的记载,此处不再赘述。
[0152] 在本申请实施例中,将边缘特征不明显的第一区域对应的部分进行图像增强,这样在第一区域中确定的与第一车道线平行的第二车道线相对也更准确,不会因为车道线深
浅不一、车道线部分被遮挡等问题得到不符合车道线实际情况的车道线,保证多条车道线
平行,从而获得更准确的车道线检测结果。
[0153] 在图9对应的实施例的基础上,一种可能的实现方式中,如图11所示,S904包括:
[0154] S1101:确定积分图极大值的位置。
[0155] 其中,积分图极大值为纵坐标方向车道线像素数目最大的值。
[0156] 可能的理解方式中,积分图极大值的位置是第一区域内车道线像素较集中的位置。
[0157] 一种可能的实现方式中,根据第二图像构建积分图,在第二图像构建的积分图中确定积分图极大值位置。
[0158] 另一种可能的实现方式中,根据第一区域对应的灰度图构建积分图,在第一区域对应的灰度图构建的积分图中确定积分图极大值位置。其中,第一区域对应的灰度图是通
过对第一图像中对应第一区域的部分进行图像增强和边缘检测后得到的。
[0159] 可能的理解方式中,第一区域是第二车道线存在的区域,车道线像素在第一区域内是集中分布的,因此上述两种构建积分图的方式均可以获取积分图极大值。
[0160] S1102:根据积分图极大值的位置,在第一区域内确定第二车道线。
[0161] 可能的实现方式中,在积分图极大值的位置分别生成与第一车道线平行的第二车道线。
[0162] 在本申请实施例中,通过确定积分图极大值的位置来确定第二车道线的位置,其中积分图极大值为纵坐标方向车道线像素数目最多的值,这样在积分图极大值处生成的与
第一车道线平行的第二车道线相对也更准确,不会因为车道线深浅不一、车道线部分被遮
挡等问题得到不符合车道线实际情况的车道线,从而获得更准确的车道线检测结果。
[0163] 在图9对应的实施例的基础上,另一种可能的实现方式中,如图12所示,S904包括:
[0164] S1201:根据第一车道线拉直第二图像,得到第三图像。
[0165] 可能的实现方式中,以第一车道线的任一像素点为参考点,将第一车道线拉直为与纵轴平行的第三车道线。然后根据第一车道线中其他像素点在拉直中移动的位置和方
向,拉直第二图像中与其他像素点纵坐标相同的像素点,得到第三图像。
[0166] 示例性的,图13左图为根据第一图像得到的第一车道线。若图像的像素为250*700,则图像中有700行像素点。若第一车道线中像素个数为700个,则若第一车道线中的像
素同样有700行,且每一行的像素点为1个。以第一车道线中第一行的像素点为参考点,将第
一车道线其他像素点移动到与参考点的横坐标相同的地方。可能的理解方式中,在第一车
道线中第一行的像素点为参考点的情况下,第一车道线中其他像素点可以指的是第一车道
线中第2行至第700行对应的像素点。然后记录第一车道线中其他像素点移动的位置和方
向,例如,第一车道线中第2行的像素点沿横轴正半轴方向移动两个像素点等,得到与纵轴
平行的第三车道线。
[0167] 然后将根据第一车道线中其他像素点移动的位置和方向,将如图13中间图所示的第二图像中与其他像素点纵坐标相同的像素点移动相同的位置和方向,例如将第二图像中
第2行的像素点沿横轴正半轴方向移动两个像素点等,得到如图13右图所示的第三图像。可
能的理解方式中,第二图像中与其他像素点纵坐标相同的像素点可以是第二图像中与其他
像素点在一行的像素点。
[0168] 其中,当第一车道线为竖直车道线的情况下,不需再根据第一车道线拉直第二图像,在这种情况下,S1201为可选步骤。
[0169] S1202:根据第三图像生成的积分图,确定积分图极大值的位置。
[0170] 可选的,本申请实施例也可以根据第三图像中第一区域对应的部分生成积分图,确定积分图极大值的位置。
[0171] S1203:根据积分图极大值的位置,确定第二车道线。
[0172] 可能的实现方式中,在积分图极大值处生成与第三车道线平行的第四车道线。根据第四车道线以及第一车道线中其他像素点在拉直中移动的位置和方向,确定第二车道
线。
[0173] 可能的理解方式中,第三车道线是将第一车道线进行拉直处理后得到的,第四车道线与第三车道线平行,则第一车道线为弯曲车道线,第四车道线为平行纵轴的垂直车道
线。因此,需要根据第一车道线中其他像素点在拉直中移动的位置和方向,将第四车道线进
行复原,得到与第一车道线平行的第二车道线。
[0174] 示例性的,图13中右图为根据第一车道线拉直第二图像得到的第三图像。在将第四车道线进行复原的过程中,将第四车道线中与其他像素点纵坐标相同的像素点向相反的
方向移动相同的位置,得到第二车道线。例如,将第四车道线第2行的像素点沿横轴负半轴
移动两个像素点。
[0175] 在上述任一实施例的基础上,一种可能的实现方式中,上述方法还包括:车辆驾驶系统输出包括第一车道线和第二车道线的车道线检测结果。
[0176] 可能的实现方式中,车辆驾驶系统可以将第一车道线与第二车道线标记在第一图像中,然后输出至车辆驾驶系统中的显示屏中。
[0177] 可选的,若第一图像是经过对摄像机获取的道路图片进行逆透视变换得到的,在这种情况下,可以对包含车道线检测结果的第一图像进行透视变换,然后输出至车辆驾驶
系统中的显示屏中。
[0178] 可能的实现方式中,车辆驾驶系统在确定车道线检测结果后,车辆驾驶系统可以基于车辆所处环境的环境信息、车辆自身的状态信息和/或其他车辆的状态信息,结合车道
线检测结果,得到驾驶策略(比如转向、掉头等)保障车辆的行驶安全。或者,车辆驾驶系统
也可以在车辆即将偏离自车道时发出告警信息(可通过屏幕显示、语音播报或者震动等方
式发出告警),用户可以根据告警信息进行人工干预,保证车辆的行驶安全。
[0179] 需要说明的是,上述实施例是以第一图像为彩色图像为例进行说明,具体应用中,第一图像也可以是经过处理的图像,例如第一图像也可以是对道路图片进行处理后得到的
灰度图等,则上述步骤中可以省略对第一图像进行灰度处理的步骤,在此不做赘述。
[0180] 需要说明的是,上述各个实施例的执行主体可以是车辆驾驶系统或者车辆驾驶系统上的部件(例如检测装置、处理器、芯片、控制器或者控制单元),还可以是与第一终端通
信连接的云端设备,对此本申请实施例不做任何限制。作为一种示例,上述检测装置可以是
图像采集装置(例如摄像头设备),上述控制器可以是多域控制器(Multi Domain Control,
MDC),上述控制单元可以是电子控制单元(Electronic Control Unit,ECU),也称为行车电
脑。
[0181] 上面结合图4‑图13,对本申请实施例的方法进行了说明,下面对本申请实施例提供的执行上述方法的车道线检测装置进行描述。本领域技术人员可以理解,方法和装置可
以相互结合和引用,本申请实施例提供的一种车道线装置可以执行上述车道线方法的步
骤。
[0182] 下面以采用对应各个功能划分各个功能模块为例进行说明:
[0183] 如图14所示,图14示出了本申请实施例提供的车道线检测装置的结构示意图。该车道线检测装置包括:处理单元1401。其中,处理单元1401用于完成车道线检测的步骤。
[0184] 一种示例,以该车道线检测装置为终端设备或应用于终端设备中的芯片或芯片系统为例,处理单元1401用于支持车道线检测装置执行上述实施例中的S501至S503,或S901
至S904,或S1101和S1102等。
[0185] 在一种可能的实施例中,车道线检测装置还可以包括:通信单元1402和存储单元1403。处理单元1401、通信单元1402、存储单元1403通过通信总线相连。
[0186] 存储单元1403可以包括一个或者多个存储器,存储器可以是一个或者多个设备、电路中用于存储程序或者数据的器件。
[0187] 存储单元1403可以独立存在,通过通信总线与车道线检测装置具有的处理单元101相连。存储单元1403也可以和处理单元集成在一起。
[0188] 车道线检测装置可以用于通信设备、电路、硬件组件或者芯片中。
[0189] 以车道线检测装置可以是本申请实施例中的终端设备为例,则通信单元1402可以是输入或者输出接口、管脚或者电路等。示例性的,存储单元103可以存储终端设备的方法
的计算机执行指令,以使处理单元1401执行上述实施例中终端设备的方法。存储单元1403
可以是寄存器、缓存或者RAM等,存储单元1403可以和处理单元101集成在一起。存储单元
1403可以是ROM或者可存储静态信息和指令的其他类型的静态存储设备,存储单元1403可
以与处理单元1401相独立。
[0190] 本申请实施例提供了一种车道线检测装置,该车道线检测装置包括一个或者多个模块,用于实现上述图4‑图13中所包含的步骤中的方法,该一个或者多个模块可以与上述
图4‑图13中所包含的步骤中的方法的步骤相对应。具体的,本申请实施例中由终端设备执
行的方法中的每个步骤,终端设备中存在执行该方法中每个步骤的单元或者模块。例如,对
于执行对车道线进行检测的模块可以称为处理模块。对于执行对在车道线检测装置侧进行
消息或数据处理的步骤的模块可以称为通信模块。
[0191] 图15是本发明实施例提供的芯片150的结构示意图。芯片150包括一个或两个以上(包括两个)处理器1510和通信接口1530。
[0192] 在一种可能的实施例中,如图15所示的芯片150还包括存储器1540,存储器1540可以包括只读存储器和随机存取存储器,并向处理器1510提供操作指令和数据。存储器1540
的一部分还可以包括非易失性随机存取存储器(non‑volatile random access memory,
NVRAM)。
[0193] 在一些实施方式中,存储器1540存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
[0194] 在本发明实施例中,通过调用存储器1540存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
[0195] 一种可能的实现方式中为:终端设备、无线接入网装置或会话管理网元所用的芯片的结构类似,不同的装置可以使用不同的芯片以实现各自的功能。
[0196] 处理器1510控制终端设备的操作,处理器1510还可以称为中央处理单元(central processing unit,CPU)。存储器1540可以包括只读存储器和随机存取存储器,并向处理器
1510提供指令和数据。存储器1540的一部分还可以包括非易失性随机存取存储器(non‑
volatile random access memory,NVRAM)。例如应用中存储器1540、通信接口1530以及存
储器1540通过总线系统1520耦合在一起,其中总线系统1520除包括数据总线之外,还可以
包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图15中将各种总线
都标为总线系统1520。
[0197] 以上通信单元可以是一种该装置的接口电路或通信接口,用于从其它装置接收信号。例如,当该装置以芯片的方式实现时,该通信单元是该芯片用于从其它芯片或装置接收
信号或发送信号的接口电路或通信接口。
[0198] 上述本发明实施例揭示的方法可以应用于处理器1510中,或者由处理器1510实现。处理器1510可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法
的各步骤可以通过处理器1510中的硬件的集成逻辑电路或者软件形式的指令完成。上述的
处理器1510可以是通用处理器、数字信号处理器(digital signal processing,DSP)、专用
集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列
(field‑programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻
辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框
图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明
实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器
中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可
编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储
介质位于存储器1540,处理器1510读取存储器1540中的信息,结合其硬件完成上述方法的
步骤。
[0199] 一种可能的实现方式中,通信接口1530用于执行图4‑图13所示的实施例中的终端设备、无线接入网装置或会话管理网元的接收和发送的步骤。处理器1510用于执行图4‑图
13所示的实施例中的终端设备、无线接入网装置或会话管理网元的处理的步骤。
[0200] 在上述实施例中,存储器存储的供处理器执行的指令可以以计算机程序产品的形式实现。计算机程序产品可以是事先写入在存储器中,也可以是以软件形式下载并安装在
存储器中。
[0201] 计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专
用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质
中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,计算机指令可
以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线
(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中
心进行传输。计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包括一个
或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例
如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘solid state 
disk,SSD)等。
[0202] 本申请实施例还提供了一种计算机可读存储介质。上述实施例中描述的方法可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。如果在软件中实现,则功能可
以作为一个或多个指令或代码存储在计算机可读介质上或者在计算机可读介质上传输。计
算机可读介质可以包括计算机存储介质和通信介质,还可以包括任何可以将计算机程序从
一个地方传送到另一个地方的介质。存储介质可以是可由计算机访问的任何目标介质。
[0203] 作为一种可能的设计,计算机可读介质可以包括RAM,ROM,EEPROM,CD‑ROM或其它光盘存储器,磁盘存储器或其它磁存储设备,或目标于承载的任何其它介质或以指令或数
据结构的形式存储所需的程序代码,并且可由计算机访问。而且,任何连接被适当地称为计
算机可读介质。例如,如果使用同轴电缆,光纤电缆,双绞线,数字用户线(DSL)或无线技术
(如红外,无线电和微波)从网站,服务器或其它远程源传输软件,则同轴电缆,光纤电缆,双
绞线,DSL或诸如红外,无线电和微波之类的无线技术包括在介质的定义中。如本文所使用
的磁盘和光盘包括光盘(CD),激光盘,光盘,数字通用光盘(DVD),软盘和蓝光盘,其中磁盘
通常以磁性方式再现数据,而光盘利用激光光学地再现数据。上述的组合也应包括在计算
机可读介质的范围内。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局
限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或
替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保
护范围为准。