CN110088766A - 车道线识别方法、车道线识别装置以及非易失性存储介质 - Google Patents
车道线识别方法、车道线识别装置以及非易失性存储介质 Download PDFInfo
- Publication number
- CN110088766A CN110088766A CN201980000062.3A CN201980000062A CN110088766A CN 110088766 A CN110088766 A CN 110088766A CN 201980000062 A CN201980000062 A CN 201980000062A CN 110088766 A CN110088766 A CN 110088766A
- Authority
- CN
- China
- Prior art keywords
- image
- lane line
- sub
- line
- polar coordinate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000001514 detection method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 47
- 239000011159 matrix material Substances 0.000 claims description 33
- 238000000605 extraction Methods 0.000 claims description 30
- 238000001914 filtration Methods 0.000 claims description 20
- 230000011218 segmentation Effects 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 230000007704 transition Effects 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 238000005516 engineering process Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000012935 Averaging Methods 0.000 description 2
- 240000004050 Pentaglottis sempervirens Species 0.000 description 2
- 235000004522 Pentaglottis sempervirens Nutrition 0.000 description 2
- 230000004888 barrier function Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 206010039203 Road traffic accident Diseases 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60Q—ARRANGEMENT OF SIGNALLING OR LIGHTING DEVICES, THE MOUNTING OR SUPPORTING THEREOF OR CIRCUITS THEREFOR, FOR VEHICLES IN GENERAL
- B60Q9/00—Arrangement or adaptation of signal devices not provided for in one of main groups B60Q1/00 - B60Q7/00, e.g. haptic signalling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/48—Extraction of image or video features by mapping characteristic values of the pattern into a parameter space, e.g. Hough transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30256—Lane; Road marking
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Mechanical Engineering (AREA)
- Image Analysis (AREA)
Abstract
一种车道线识别方法,该方法包括:获取第一图像,所述第一图像为道路图像;将所述第一图像从中间进行分割,确定位于所述第一图像左侧的第一子图像和位于所述第一图像右侧的第二子图像;分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线。该方法提高了车道线检测的准确度,使得检测速率大幅提高。还提供了车道线识别装置和非易失性存储介质。
Description
技术领域
本公开一些实施例涉及一种车道线识别方法、与该方法对应的车道线识别装置以及计算机可执行的非易失性存储介质。
背景技术
随着城市中汽车的普及,行车安全也越来越受到关注,一些行车安全技术也逐渐发展起来,例如倒车辅助装置,测距技术,车道线跟踪技术。
现有的车道线检测技术将采集的整个车道图像帧进行车道线检测,对左右车道线并不做区分,不能根据左右车道线的特点进行检测,检测精度低,并且对整幅图像帧进行识别和检测会导致计算量大、计算速度慢,检测效率低。
此外,现有某些车道线检测技术将原图像转换成为一张鸟瞰图,使得图像中的车道线平行竖直,虽然便于车道线提取,但此手段也需要较大的计算量,而且当前方有车辆行人干扰容易使得鸟瞰图中的车辆行人产生畸变,可能造成未知的车道线误检。
发明内容
根据本公开的至少一个实施例,提供了一种车道线识别方法,包括:获取第一图像,所述第一图像为道路图像;将所述第一图像从中间进行分割,确定位于所述第一图像左侧的第一子图像和位于所述第一图像右侧的第二子图像;分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线。
例如,所述分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线包括:基于第一卷积滤波核,对所述第一子图像进行特征提取,以得到第一车道线的特征;基于第二卷积滤波核,对所述第二子图像进行特征提取,以得到第二车道线的特征;其中,所述第一卷积滤波核与所述第二卷积滤波核相互对称。
例如,基于第一卷积滤波核,对所述第一子图像进行特征提取,以得到第一车道线的特征包括:基于第一卷积滤波核,将所述第一子图像中的第一车道线的左边缘滤除;基于第二卷积滤波核,对所述第二子图像进行特征提取,以得到第二车道线的特征包括:基于第二卷积滤波核,将所述第二子图像中的第二车道线的右侧边缘滤除。
例如,所述分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线还包括:将对所述第一子图像进行特征提取得到的图像和对所述第二子图像进行特征提取得到的图像进行拼接,获得特征拼接图像;确定所述特征拼接图像的前景和背景的分割阈值;基于所述分割阈值来对所述拼接图像进行二值化。
例如,分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线还包括:将所述二值化后的拼接图像分割成第一二值图和第二二值图;将所述第一二值图转换到第一霍夫空间;将所述第二二值图转换到第二霍夫空间;基于第一霍夫空间和第二霍夫空间中的每个极坐标点的投票值的峰值点确定所述第一车道线和所述第二车道线,所述投票值表示该极坐标点被所述霍夫空间中的曲线经过的个数;其中,将所述第一二值图转换到第一霍夫空间,或者,将所述第二二值图转换到第二霍夫空间包括:确定每个像素值不为0的像素点对应的霍夫空间中的曲线;基于所述曲线构建所述霍夫空间。
例如,基于第一霍夫空间和第二霍夫空间中的每个极坐标点的投票值的峰值点确定所述第一车道线和所述第二车道线包括:确定第一霍夫空间中的第一峰值点,根据所述第一峰值点确定的直线为第一车道线;确定第二霍夫空间中的第二峰值点,根据所述第二峰值点确定的直线为第二车道线。
例如,确定第一霍夫空间中的第一峰值点包括:确定第一霍夫空间中所有所述曲线经过次数最多的点;将该点作为第一峰值点;确定第二霍夫空间中的第二峰值点包括:确定第二霍夫空间中所有所述曲线经过次数最多的点;将该点作为第二峰值点。
例如,所述第一峰值点的确定和所述第二峰值点的确定同时进行。
例如,所述方法还包括:基于所述确定的第一车道线和所述第二车道线进行车道线跟踪。
例如,所述获取第一图像,包括:获取多帧所述第一图像;其中,所述基于所述确定的第一车道线和所述第二车道线进行车道线跟踪包括:建立极坐标参数坐标库,所述极坐标参数坐标库存储所述多帧第一图像中的每帧图像得到的所述第一峰值点和/或第二峰值点对应的极坐标值;根据所述多帧第一图像的获取顺序,判断每一当前帧的峰值点所对应的第二直线与之前获取的多个图像帧的峰值点所对应的第一直线之间的距离;基于所述距离判断每个峰值点对应的直线是否是输出车道线。
例如,判断每一当前帧的峰值点所对应的第二直线与之前获取的预设多个图像帧的峰值点所对应的第一直线之间的距离包括:通过下面的公式确定所述第一直线和所述第二直线之间的距离:d=(ρ2-ρ1)*k1+(θ2-θ1)*c1,其中,d表示距离,(ρ2,θ2)为第二直线的极坐标值,(ρ1,θ1)为第一直线的极坐标值,k1为预设常数,其中,f和n分别表示所述第一图像的长和宽。
例如,当所述第一图像中的车道线位于所述第一图像的中间区域时,判断当前帧的峰值点所对应的第二直线与之前的图像帧的峰值点所对应的第一直线之间的距离包括:通过下面的表达式确定所述第一直线和所述第二直线之间的距离:d=(ρ2-ρ1)*k2+(θ2-θ1)*c2,其中,k2=0.8k1,c2的取值在至之间。
例如,基于所述距离判断每个峰值点对应的直角坐标系中的直线是否是输出车道线包括:当所述距离小于预设距离阈值,则判断第一直线和第二直线为同一直线;其中,所述预设距离阈值与图像大小相关。
例如,基于所述距离判断每个峰值点对应的直线是否是输出车道线还包括:当第一直线和第二直线为同一直线时,在所述极坐标参数坐标库中,使用第二直线对应的极坐标值代替第一直线对应的极坐标值,并将第一直线对应的极坐标值的计数值加1;判断每个极坐标值的投票数是否大于预设计数阈值,当一个极坐标值的投票数大于预设计数阈值时,确定该极坐标值对应的直线为输出车道线。
例如,基于所述距离确定峰值点对应的直线是否是输出车道线还包括:当第一直线和第二直线不是同一直线时,将第一直线对应的极坐标值的计数值减1;判断每个极坐标值的计数值是否小于或等于预设最低计数阈值,当一个极坐标值的投票数小于或等于所述预设最低计数阈值时,将该极坐标值从所述极坐标参数坐标库中删除。
例如,基于所述距离确定峰值点对应的直线是否是输出车道线还包括:当第一直线和第二直线不是同一直线时,判断所述极坐标参数坐标库中是否有被删除的极坐标值对应的空闲位置;当确定有被删除的极坐标值对应的空闲位置时,将所述第一直线对应的极坐标值存储到所述空闲位置。
例如,基于所述确定的第一车道线和所述第二车道线进行车道线跟踪还包括:基于所述输出车道线确定车辆与实际车道线之间的实际距离;基于该实际距离确定车辆与实际车道线的距离是否小于预设安全距离阈值;当车辆与实际车道线的距离小于预设安全距离阈值时,输出报警提示信息。
例如,所述基于所述输出车道线确定车辆与实际车道线之间的实际距离包括:确定采集所述第一图像的相机的参数;基于相机的参数调整所述第一图像的坐标系与地球坐标系的转换矩阵;基于所述调整后的转换矩阵确定车辆与实际车道线之间的实际距离。
根据本公开的至少一个实施例,提供了一种车道线识别装置,包括:获取单元,被配置为获取第一图像,所述第一图像为道路图像;分割单元,被配置为将所述第一图像从中间进行分割,确定位于所述第一图像左侧的第一子图像和位于所述第一图像右侧的第二子图像;识别单元,被配置为分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线。
例如,所述识别单元基于第一卷积滤波核,对所述第一子图像进行特征提取,以得到第一车道线的特征;基于第二卷积滤波核,对所述第二子图像进行特征提取,以得到第二车道线的特征;其中,所述第一卷积滤波核与所述第二卷积滤波核相互对称;所述识别单元基于第一卷积滤波核,将所述第一子图像中的第一车道线的左边缘滤除;基于第二卷积滤波核,将所述第二子图像中的第二车道线的右侧边缘滤除。
例如,所述装置还包括:跟踪装置,被配置为基于所述确定的第一车道线和所述第二车道线进行车道线跟踪。
例如,所述获取单元获取多帧所述第一图像;其中,所述跟踪单元进一步建立极坐标参数坐标库,所述极坐标参数坐标库存储所述多帧第一图像中的每帧图像得到的第一峰值点和第二峰值点对应的极坐标值;根据所述多帧第一图像的获取顺序,判断每一当前帧的峰值点所对应的第二直线与之前获取的多个图像帧的峰值点所对应的第一直线之间的距离;基于所述距离判断每个峰值点对应的直线是否是所述第一车道线或所述第二车道线。
根据本公开的一个示例,提供了一种车道线识别装置,包括存储器和处理器,所述存储器中存储指令,所述处理器处理所述指令时执行前述实施例的方法。
根据本公开的一个示例,提供了一种计算机可读非易失性存储介质,存储有计算机程序指令,处理器处理所述程序指令时执行前述实施例的方法。
本公开一些实施例的车道线识别方法和装置,根据左右车道线的特点,将左侧车道线和右侧车道线分别进行跟踪,提高了车道线检测的准确度。同时,由于左右车道线检测的同时进行,使得检测速率大幅提高,对硬件平台环境的要求也不高,从而降低了产品的成本。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。下面描述中的附图仅仅是本发明的示例性实施例。
图1示出了根据本公开一些实施例的车道线识别方法流程图;
图2示出了根据本公开一些实施例的第一图像示意图;
图3a示出了第一二值图的示意图;
图3b示出了第二二值图的示意图;
图4a示出了第一霍夫空间的示意图;
图4b示出了第二霍夫空间的示意图;
图5示出了根据本公开一些实施例的车道线识别装置结构图;
图6示出了根据本公开一些实施例的另一车道线识别装置的结构图。
具体实施方式
在下文中,将参考附图详细描述本发明的优选实施例。注意,在本说明书和附图中,具有基本上相同步骤和元素用相同的附图标记来表示,且对这些步骤和元素的重复解释将被省略。
在本公开一些实施例中,车道线识别方法,车道线识别装置可以通过软件、硬件或固件的方式来实现。例如计算机程序,可编程逻辑电路,芯片或芯片组,单片机等。车道线识别装置产品可以安装在需要车道线识别或跟踪的车辆上,例如,安装在车辆外部或内部,车道线识别装置产品可以包括摄像头,用于拍摄车辆前方两侧的车道线,车辆内部可以设置显示器,显示摄像头采集的车道线或跟踪后识别的车道线,供用户查看。当然,车辆内部也可以不设置显示器,本公开一些实施例的车道线识别装置根据跟踪识别的车道线,计算车辆与车道线之间的距离,当车辆与车道线之间的距离小于安全距离时,报警或语音提示用户注意。图2示出了根据本公开一些实施例的第一图像示意图,第一图像中包括车道线,参见图2,车道线可能是连续直线,也可能是断续的直线,在弯道处,车道线也可能是弯曲的曲线。
图1示出了根据本公开一些实施例的车道线识别方法流程图,下面将参照图1介绍根据本公开一些实施例的车道线识别方法。参见图1,车道线根据识别方法100包括下面的步骤S101-S103。在一个示例中,还可以包括步骤S104。
在步骤S101中,获取第一图像,第一图像为道路图像。例如,第一图像包括车道线。根据本公开的一个示例,车辆内部或外部的摄像头采集的原始图像,可以作为第一图像。第一图像是车辆前方预定范围内的地面区域的图像,该图像中包括车辆左右两侧的车道线。例如,车辆前方2米-15米范围内的图像。当然,第一图像也可以是将采集的原始图像进行预处理后得到的图像,例如,将原始图像中的主要障碍物,例如行人,裁剪掉或滤除后的图像。或者对亮度较低的原始图像提高亮度的图像,等等。图2示出了一种根据本公开一些实施例的第一图像示意图,参见图2,第一图像中包括左侧车道线和右侧车道线,左侧车道线是断续的直线,右侧车道线为连续的直线。
根据本公开的一个示例,可以获取多帧第一图像。例如,在车辆向前方行驶的过程中,不断地获取车辆前方包括前方两侧车道线的图像,从而可以实时对车道线进行识别和跟踪。在一个示例中,可以根据车辆行驶的速度来确定获取多帧第一图像的频率。例如,车速快,获取第一图像的频率高,车速慢,获取第一图像的频率低,这样,即可以减少不必要的计算,也可以保证对车道线的跟踪频率满足行驶车辆的速度需求。
在步骤S102中,将所述第一图像从中间进行分割,确定位于所述第一图像左侧的第一子图像和位于所述第一图像右侧的第二子图像。例如,所述第一子图像包括第一车道线,所述第二子图像包括第二车道线。根据本公开的一个示例,在步骤S101获取了第一图像后,可以将其从中间进行图像分割,以分割成左侧图像和右侧图像,左侧图像作为第一子图像,右侧图像作为第二子图像。左侧图像包括第一图像中的左侧车道线,即第一车道线;右侧图像包括第一图像中的右侧车道线,即第二车道线。
在步骤S103中,分别对第一子图像和第二子图像进行识别,以确定第一子图像中的第一车道线和第二子图像中的第二车道线。根据本公开的一个示例,可以分别对第一子图像(即左侧图像)和第二子图像(即右侧图像)进行特征提取,分别得到图像特征信息。例如,对第一子图像进行特征提取,得到第一提取特征,例如,第一提取特征图像。对第二子图像进行特征提取,得到第二提取特征,例如,第二提取特征图像。
根据本公开一个示例,在对第一子图像和第二子图像进行特征提取时,可以通过使用卷积滤波核来实现。例如,基于第一卷积滤波核,对第一子图像进行特征提取,以得到第一车道线的特征。基于第二卷积滤波核,对第二子图像进行特征提取,以得到第二车道线的特征。在使用卷积滤波核进行特征提取时,提取的特征图像中的每一个像素是第一子图像或第二子图像中一个小区域中像素的加权平均,其中权值由卷积滤波核来定义。在一个示例中,由于第一子图像中的左车道线和第二子图像中的右车道线是不同的,因此所使用的第一卷积滤波核以及第二卷积滤波核也是不同的。
一般来说,左右车道线是对称的,左右车道线均具有一定宽度,例如在5-30厘米,包括左侧边缘和右侧边缘。而左侧车道线的右侧边缘以及右侧车道线的左侧边缘距离车辆的距离就是车辆距离车道线的距离,为了减小计算量并且防止边缘误判,可以采用相互对称的第一卷积滤波核和第二卷积滤波核,来滤除左侧车道线的左边缘和右侧车道线的右边缘。这样,第一卷积滤波核对第一子图像做卷积之后,左侧车道线的左边缘的像素值在加权平均后小于等于0。在特征提取中,所有小于等于0的像素将被设置为0,这样,左侧车道线的左边缘被有效滤除,从而提取到第一子图像的左侧车道线的右侧边缘的图像特征。同样,在使用第二卷积滤波核对第二子图像做卷积之后,右侧车道线的右边缘的像素值在加权平均后也是小于等于0。在特征提取中也将被设置为0,这样,右侧车道线的右边缘也被滤除,从而提取到第二子图像中的右侧车道线的左侧边缘。
相互对称的第一卷积滤波核和第二卷积滤波核例如是,对左侧图像采用的第一卷积滤波核为HOL:[2,2,3,0,-3,-2,-2]。对右侧图像,采用的第二卷积滤波核为LOH:[-2,-2,-3,0,3,2,2]。
通过对第一子图像和第二子图像做卷积进行特征提取,可以滤掉不需要的图像内容,保留第一和第二子图像中有用的边缘信息,作为图像提取出的特征。
由于采集的车道线图像,往往会出现一侧车道线包含栏杆或围墙等障碍物,另一侧无障碍物的情况。这些障碍物的存在可能会挡住某侧车道线,对车道线的识别造成干扰。为了准确地将第一提取特征图像和第二提取特征图像转换成二值图,确定二值图的阈值,根据本公开的一个示例,可以将第一提取特征图像和第二提取特征图像进行拼接,根据拼接图确定二值图的阈值。
例如,在提取了第一车道线的特征和第二车道线的特征之后,可以将第一提取特征和第二提取特征进行拼接,得到特征拼接图像。特征拼接图像例如是将第一子图像和第二子图像进行特征提取后得到的图像叠加在一起,从而得到特征拼接图像。由于拼接后的图像面积更大,包括两侧车道线,一侧的障碍物的影响将大大降低,这样,根据拼接图像确定二值图的阈值更准确,有效避免了图像中障碍物的干扰。
根据本公开的一个示例,在得到特征拼接图像之后,可以确定特征拼接图像的二值图。确定特征拼接图像的二值图的过程中,可以首先确定特征拼接图像的前景和背景。例如,设置前景和背景的分割阈值,然后基于分割阈值,将前景图像包括的像素点的像素值设为1,将背景图像包括的像素点的像素值设置为0,从而对拼接图像进行二值化。
在一个示例中,确定分割阈值可以采用大津阈值算法,大津阈值算法是一种自适应阈值确定法,计算出前景与背景图像的类间方差极大值,来计算出最佳阈值。
根据本公开的一个示例,在对拼接图像进行二值化后,可以进一步将二值化后的拼接图像分割成第一二值图和第二二值图。例如,第一二值图和第二二值图的尺度可以是相同的,这样方便后期使用相同的算法同时对两个二值图进行转换到霍夫空间的计算。第一二值图为分割的左侧二值图,包括提取出的左侧车道线的特征。第二二值图为分割的右侧二值图,包括提取出的右侧车道线的特征。图3a示出了第一二值图的示意图;图3b示出了第二二值图的示意图。从图3a-3b中可以看出,白色像素点形成的直线为左侧或右侧车道线。在图3a和图3b中,横坐标表示直角坐标系中的x值,纵坐标表示直角坐标系中的y值。
然后,根据本公开的一个示例,可以将两幅二值图分别转换到霍夫空间中。由于提取出的左车道线的右边缘和右车道线的左边缘往往是直线,采用直角坐标系表示直线时需要确定直线的斜率和极值,如果某个车道线,垂直于X轴,则该车道线对应直线的斜率会无限大,如果垂直于Y轴,则车道线对应直线的极值会无限大。在计算机算法计算过程中,如果某个值无限大,计算结果很可能会出错,而标准的直线霍夫变换采用的是极坐标参数空间,可以避免出现斜率、极值而造成的算法错误。
在一个示例中,将第一二值图转换到第一霍夫空间,将第二二值图转换到第二霍夫空间。之后,根据本公开的一个示例,基于第一霍夫空间和第二霍夫空间中的数值来确定第一车道线和第二车道线。图4a示出了第一霍夫空间的示意图;图4b示出了第二霍夫空间的示意图。在图4a和4b中,横坐标表示极坐标系中的θ值,纵坐标表示极坐标系中的ρ值。
在一个示例中,在将第一二值图转换到第一霍夫空间,将第二二值图转换到第二霍夫空间时,可以首先遍历第一二值图或第二二值图中的每个像素点,以确定二值图中数值为1的像素点。由于在直角坐标系中的一个点对应霍夫空间中的一条曲线,因此图3a中的第一二值图中多个像素点对应图4a中第一霍夫空间中的多条曲线。同样,图3b中的第二二值图中多个像素点对应图4b中第二霍夫空间中的多条曲线。确定第一二值图中每个像素值为1的像素点对应的极坐标空间中的曲线,从而将第一二值图转换到第一霍夫空间。同样,确定第二二值图中每个像素值为1的像素点对应的极坐标空间中的曲线,将第二二值图转换到第二霍夫空间。
下面仅以第一二值图为例,介绍如何将一个二值图转换到一个霍夫空间,将第二二值图转换到第二霍夫空间的方法与将第一二值图转换到第一霍夫空间的所有实施例以及所有示例相同。本领域技术人员根据该示例也可以了解将第二二值图转换到第二霍夫空间的方法。
根据本公开的一个示例,第一霍夫空间H(ρ,θ)的尺寸是(1400,180),即ρ的范围是0-1400,θ的范围是0-180度。在确定第一二值图中像素值为1的像素点对应的极坐标空间中的曲线时,首先,确定该像素值为1的像素点在直角坐标系中的坐标,即(x,y)值。然后将坐标值带入到下面的直角坐标与极坐标的转换公式中:
ρ=x*cos(θ)+y*sin(θ)
由于在上述公式中,一个(x,y)值对应的点,其ρ,θ值不是唯一的,因此对于每一个(x,y)值对应的一个点,分别设定θ的取值为从0度到180度中的全部值或部分值,然后利用上述公式计算每个θ取值时的ρ值,例如,θ=0度时的ρ值,θ=1度时的ρ值......直到θ=180度时的ρ值。确定每个θ值和对应的ρ值构成的一个极坐标值在霍夫空间中的极坐标点,然后将所有极坐标点进行连线,可以得到二值图中一个(x,y)像素点对应的极坐标空间中的一条曲线。
在构建第一霍夫空间和第二霍夫空间中的曲线的同时,也可以同时得到第一霍夫空间的矩阵、第二霍夫空间的矩阵、第一霍夫空间极坐标参数空间池以及第二霍夫空间极坐标参数空间池。第一霍夫空间矩阵以及第一霍夫空间极坐标参数空间池基于第一霍夫空间中的所有曲线来创建。第二霍夫空间矩阵以及第二霍夫空间极坐标参数空间池基于第二霍夫空间中的所有曲线来创建。下面仅以第一霍夫空间矩阵的构建以及第一霍夫空间极坐标参数空间池的构建作为示例进行描述,第二霍夫空间矩阵的构建以及第二霍夫空间极坐标参数空间池的构建与第一霍夫空间矩阵以及第一霍夫空间极坐标参数空间池的构建中所有实施例以及所有示例是相同的。
在一个示例中,尺寸是(1400,180)的第一霍夫空间矩阵
在上述第一霍夫空间矩阵H中,ρ0θ0表示ρ=0,θ=0时的极坐标点,ρ0θ180表示ρ=0,θ=180的极坐标点,ρ1400θ0表示ρ=1400,θ=0时的极坐标点,ρ1400θ180表示ρ=1400,θ=180时的极坐标点。以此类推。
在设定了第一霍夫空间矩阵之后,可以基于该矩阵确定第一霍夫空间极坐标参数空间池。第一霍夫空间极坐标参数空间池包括第一霍夫空间矩阵以及该矩阵中每个点的投票值。也就是说,上述霍夫空间矩阵中的每个极坐标点可以对应一个投票值,投票值可以表示图4a的第一霍夫空间中所有曲线经过该极坐标点的个数。当有一条曲线从矩阵上某点经过时,该点的投票值为1;当没有曲线从矩阵上某点经过时,该点的投票值为0;当有n条曲线从矩阵上某点经过时,该点的投票值为n,其中n是大于或等于1的正整数。
参见图4a,第一霍夫空间包括多条曲线,而矩阵中某些点有多条曲线经过,如上所述,当有多条曲线经过同一点时,该点的投票值为经过的所有曲线的个数。根据本公开的一个示例,可以根据某点上经过的曲线个数确定第一霍夫空间中每个极坐标点的投票值。
在将图4a的第一霍夫空间所有曲线的所有点的极坐标值都确定一遍之后,就可以得到第一霍夫空间矩阵中每个极坐标点的投票值。通过对第一霍夫空间矩阵上所有点的投票值进行比较,就可以确定第一霍夫空间中哪个点经过的曲线最多。将投票值最大的点,也就是曲线经过次数最多的点,设置为峰值点。
分别根据上述方法确定第一霍夫空间中的第一峰值点,以及第二霍夫空间中的第二峰值点。由于霍夫空间中的一个极坐标点对应直角坐标系中的一条直线,因此,在确定了第一峰值点和第二峰值点之后,就确定了直角坐标系中的两条直线。将第一峰值点对应的直线确定为第一车道线,即左侧车道线;将第二峰值点对应的直线为第二车道线,即右侧车道线。这样就从采集的第一图像中识别到了左右车道线。
在一个示例中,第一二值图和第二二值图的尺寸是相同的。当第一图像的二值图被分割成尺寸相同的第一二值图和第二二值图时,可以同时对两幅二值图进行霍夫空间中峰值点的检测,也就是说第一峰值点的确定和第二峰值点的确定同时进行,比之现有技术中对整幅图像进行车道线跟踪,计算时间大幅度减少,显著提高了计算效率。
本公开一些实施例通过将获取的包括车道线的第一图像进行分割而进行特征提取,再进行拼接后转换成二值图,然后对二值图进行分割后分别转换到霍夫空间进行峰值的确定,从而可以准确地识别到第一图像中的第一车道线和第二车道线。用户可以根据识别的车道线判断行驶的车辆是否靠近车道线而存在危险,有效地减少了交通事故的发生。
以上实施例基于第一霍夫空间和第二霍夫空间的极坐标系,确定了第一车道线和第二车道线,但有些情况下,确定的第一车道线和第二车道线并不是有效的车道线,例如可能是类似车道线的障碍物等,因此还可以对上述实施例中确定的第一车道线和第二车道线进行进一步的跟踪识别,以确定最终有效的车道线进行输出和预警。下面进一步描述如何对前述第一车道线和第二车道线进行车道线跟踪。
根据本公开的一个示例,在确定了第一车道线和第二车道线之后,还基于确定的第一车道线和第二车道线进行车道线跟踪。
例如,在车辆行驶的过程中,摄像头不断获取多帧第一图像,步骤S103对每一帧第一图像,确定该帧第一图像中的第一车道线和第二车道线。之后,在可选的步骤S104中,基于多帧第一图像中确定的多个第一车道线和第二车道线进行车道线跟踪。在一个示例中,进行车道线跟踪可以首先建立第一车道线和第二车道线的极坐标参数坐标库,在一个示例中,可以建立一个极坐标参数坐标库,该坐标库中包括第一车道线和第二车道线的极坐标参数坐标库。同时对第一车道线和第二车道线进行跟踪。在另一个示例中,也可以分别设置两个极坐标参数坐标库,分别存储第一车道线和第二车道线的极坐标。分别对第一车道线和第二车道线进行跟踪。
下面以同时对第一车道线和第二车道线跟踪为例进行描述,本领域技术人员根据该示例也能了解如何分别跟踪第一车道线和第二车道线。
假设,存储第一车道线和第二车道线的极坐标参数坐标库为D,ρ11,θ11表示第一帧第一图像的第一峰值点对应的极坐标值,ρ12,θ12表示第一帧第一图像的第二峰值点对应的极坐标值。ρm1,θm1表示第M帧第一图像的第一峰值点对应的极坐标值,ρm2,θm2表示第M帧第一图像的第二峰值点对应的极坐标值,其中m大于等于2。在本公开一个示例中,第m帧第一图像的第一峰值点对应的极坐标以及第m帧第一图像的第二峰值点对应的极坐标可能存入也可能不存入极坐标参数坐标库中。是否被存入该极坐标参数坐标库将在后面介绍。
在极坐标参数坐标库中,可以存储多组极坐标值,每组极坐标值表示一帧第一图像中对应左侧车道线的第一峰值点的坐标或右侧车道线的第二峰值点的坐标。该极坐标参数坐标库的大小可以设置,例如,最多存储g组极坐标值,g表示该坐标库中存储的极坐标值的最大个数,g的取值例如为10,也即是该坐标库中最多存储10组极坐标值数据。由于极坐标参数坐标库中的极坐标值之间在后续会相互比较并替换,因此替换后存储的极坐标值数量变少,例如一般保持在6组左右,因此选择10组数据可以满足一般的车道线跟踪需求。当然g也可以是5-30中的任意值。
在一个示例中,在建立好极坐标参数坐标库之后,可以首先将第一帧第一图像中获取的第一峰值点对应的极坐标值存储在(ρ11,θ11)位置。将第一帧第一图像中获取的第二峰值点对应的极坐标值存储在(ρ12,θ12)位置。然后获取第二帧第一图像中获取的第一峰值点对应的极坐标值,分别判断第二帧第一图像中获取的第一峰值点对应的极坐标值与第一帧第一图像中获取的第一峰值点以及第二峰值点对应的极坐标值的关系,再确定是否存储第二帧第一图像中获取的第一峰值点对应的极坐标值。
另外,对于第二帧第一图像中获取第二峰值点对应的极坐标值也是同样,分别判断第二帧第一图像中获取的第二峰值点对应的极坐标值与第一帧第一图像中获取的第一峰值点以及第二峰值点对应的极坐标值的关系,再确定是否存储第二帧第一图像中获取的第二峰值点对应的极坐标值。
在建立好极坐标参数坐标库后,由于极坐标系中一个点对应直角坐标系中的一条直线,即一个第一峰值点对应一帧图像中获取的左侧车道线。第二峰值点对应一帧图像中获取的右侧车道线。因此可以假定极坐标参数坐标库中,当前帧对应的第一峰值点或第二峰值点对应的极坐标值为第二直线,即第二直线为两条。当前帧的前一帧或前若干帧对应的第一峰值点或第二峰值点对应的极坐标值对应第一直线,即第一直线也是两条。可以分别判断坐标库中的每一当前帧中的第二直线与极坐标参数坐标库中存储的之前所有图像帧中的第一直线之间的距离,对于没有在极坐标参数坐标库中存储的之前的图像帧中获取的第一直线,则不需要与之比较和计算距离。
例如,获取第二帧图像获取的第一峰值点的极坐标值之后,可以将第二帧图像获取的第一峰值点的极坐标值存储在一个暂存器中,然后使其与第一帧第一图像中获取的第一峰值点对应的极坐标值进行比较,判断两条直线的距离。然后将第二帧图像获取的第一峰值点的极坐标值再与第一帧第一图像中获取的第二峰值点对应的极坐标值进行比较,判断两条直线的距离。同样,例如,获取第二帧图像获取的第二峰值点的极坐标值之后,可以将第二帧图像获取的第二峰值点的极坐标值存储在一个暂存器中,然后使其与第一帧第一图像中获取的第一峰值点对应的极坐标值进行比较,判断两条直线的距离。然后将第二帧图像获取的第二峰值点的极坐标值再与第一帧第一图像中获取的第二峰值点对应的极坐标值进行比较,判断两条直线的距离。
还例如,获取第三帧图像获取的第一峰值点的极坐标值之后,可以将第三帧图像获取的第一峰值点的极坐标值存储在一个暂存器中,将其与坐标库中存储的所有极坐标值进行比较。再次获取第三帧图像获取的第二峰值点的极坐标值之后,可以将第三帧图像获取的第二峰值点的极坐标值存储在一个暂存器中,将其与坐标库中存储的所有极坐标值进行比较。以此类推。
在一个示例中,如果某第二直线被判断出与任一一个第一直线之间的距离符合距离要求时,则不需要再判断该第二直线与其他第一直线之间的距离。
根据该距离判定每个峰值点对应的直线是否是“输出车道线”。在本公开一些实施例中,输出车道线表示真实有效的车道线,是将之前的第一车道线中所有误检的车道线排除掉后的车道线,是最终确定的需要输出并进行距离预警的车道线。
根据本公开的一个示例,在判断每一当前帧的峰值点所对应的第二直线与之前获取的预设多个图像帧的峰值点所对应的第一直线之间的距离时,可以通过下面的公式确定第一直线和第二直线之间的距离:
d=(ρ2-ρ1)*k1+(θ2-θ1)*c1
其中,d表示第一直线和第二直线之间的距离,(ρ2,θ2)为第二直线的极坐标值,(ρ1,θ1)为第一直线的极坐标值,k1为预设常数,例如,K1取值为1。c1的取值与第一图像的尺寸相关。例如其中,f和n分别表示第一图像的长和宽。
由于车辆在行驶过程中改变车道时,第一车道线或所述第二车道线可能会出现在第一图像的中间区域。
可以预先设定图像中间区域的位置范围,当进行车道线识别时,确定车道线的位置位于预先设定的中间区域的位置范围内时,则可以确定所述第一车道线或第二车道线位于中间区域。
当车辆快速变道时,采集到的中间区域的车道线可能是具有一定宽度的虚影或闪电标志形状。由于该形状比直线宽,如果参数K和c阈值太高,则可能会识别出两条线,造成车道线识别错误。并且左右卷积滤波核的不同,可能会造成跟踪失败的情况发生。因此对于车道线位于第一图像的中间区域的情况,在计算第一直线和第二直线间的距离时,可以适当降低参数k或c的阈值,就可能能将车道线识别成一条线,提高识别率。例如,可以通过下面的表达式确定第一直线和第二直线之间的距离:
d=(ρ2-ρ1)*k2+(θ2-θ1)*c2
例如,参数k2的值低于参数k1的值,参数c2值比之c1要低。例如,k2=0.8k1。c2的取值在1/2*c1至2/3*c1之间。
在本公开的一个示例中,在判断了第二直线与第一直线之间的距离之后,当该距离小于预设距离阈值时,则判断第一直线和第二直线为同一直线。当该距离大于或等于预设距离阈值时,则判断第一直线和第二直线不是同一直线。例如,预设距离阈值S与图像大小相关。例如,m和n分别表示第一图像的长和宽。
根据本公开的一个示例,可以在每次向极坐标参数坐标库存储图像帧中获取的第一峰值点对应的极坐标值之后,分别确定该极坐标值对应的第二直线与坐标库中存储的其他极坐标值对应的第一直线之间的距离。例如,每向所述坐标库中存储一帧图像中获取的极坐标值时,设置其计数值为初始值,初始值例如为1或2。当判断第二直线与第一直线和为同一直线时,在极坐标参数坐标库中,使用第二直线对应的极坐标值替换第一直线对应的极坐标值,并对第一直线对应的极坐标值所在矩阵中的存储位置的计数值加1。比较后,当第一直线和第二直线不是同一直线时,将第一直线对应的极坐标值所在存储位置的计数值减1,如果计数值减为0时,该极坐标值所在存储位置上存储的数据删除,将其他需要存储的新图像帧中的第一峰值点或第二峰值点的极坐标值存储在该位置,存储后,计数值也重新设置为初始值。该存储位置的计数值表示该存储位置中存储的极坐标值的计数值。
例如,每次第二直线与第一直线之间的距离比较结束后,可以判断每个极坐标值的计数值是否等于预设最低计数阈值,最低计数阈值例如是0,当一个极坐标值所在位置的计数值等于预设最低计数阈值时,将计数值为0的极坐标值从极坐标参数坐标库中删除。这样,如果以后再次有新的图像帧中获取的第一峰值点或第二峰值点对应的极坐标值加入所述坐标库时,可以将该新图像帧中获取的第一峰值点或第二峰值点对应的极坐标值存储在因为计数值减为0而被删除的极坐标值所在的存储位置。如果没有这样的空闲位置,则将新的图像帧中获取的第一峰值点或第二峰值点对应的极坐标值存储在所述坐标库中其他数据的后面位置。
例如,第一帧第一图像中获取的第一峰值点对应的极坐标值存储在矩阵D的(ρ11,θ11)位置,设置该极坐标值计数数的初始值为1。第一帧第一图像中获取的第二峰值点对应的极坐标值存储在矩阵D的(ρ12,θ12)位置,设置该极坐标值计数值的初始值也为1。采集到第二帧第一图像之后,从第二帧第一图像中获取第一峰值点对应的极坐标值,然后,将第二帧第一图像中获取第一峰值点对应的极坐标值(ρ21,θ21)与(ρ11,θ11)位置存储的极坐标值所对应的第一直线相比较,如果这两个直线之间的距离小于前述预设距离阈值,则表示这两条直线是同一直线,那么将第二帧第一图像中获取第一峰值点对应的极坐标值(ρ21,θ21)替换(ρ11,θ11),即将(ρ11,θ11)删除,将(ρ21,θ21)存储到(ρ11,θ11)位置。同时,将(ρ11,θ11)所在存储位置的计数值加1,此时,(ρ11,θ11)所在存储位置的投票数为2。在一个示例中,此时可以不再比较极坐标值(ρ21,θ21)与其他第一直线之间的距离。
如果这两个直线之间的距离大于或等于前述预设距离阈值,则表示这两条直线是不是同一直线,则将(ρ11,θ11)所在位置的计数值减1。如果此时(ρ11,θ11)所在位置的计数值为0,将(ρ11,θ11)从该位置删除。此外,则继续比较极坐标值(ρ21,θ21)与其他第一直线之间的距离。
将第二帧第一图像中获取第一峰值点对应的极坐标值(ρ21,θ21)与第一帧第一图像中获取的第二峰值点对应的极坐标值进行比较,即将极坐标值(ρ21,θ21)对应的第二直线与(ρ12,θ12)所对应的第一直线相比较,如果这两个直线之间的距离小于前述预设距离阈值,则表示这两条直线是同一直线,那么将第二帧第一图像中获取第一峰值点对应的极坐标值(ρ21,θ21)替换(ρ12,θ12),即将(ρ12,θ12)删除,将(ρ21,θ21)存储到(ρ12,θ12)位置。同时,将(ρ12,θ12)所在存储位置的计数值加1,此时,(ρ12,θ12)所在存储位置的投票数为2。此时可以不再比较极坐标值(ρ21,θ21)与其他第一直线之间的距离。
如果第二帧第一图像中获取第一峰值点对应的极坐标值(ρ21,θ21)对应的第二直线与第一帧第一图像中获取的第二峰值点对应的极坐标值(ρ12,θ12)对应的第一直线之间的距离也大于或等于前述预设距离阈值,则表示这两条直线也不是同一直线,则将(ρ12,θ12)所在位置的计数值减1。如果此时(ρ12,θ12)所在位置的计数值为0,将(ρ12,θ12)从该位置删除。另外,将第二帧第一图像中获取的第一峰值点对应的极坐标值存储在矩阵D的(ρ21,θ21)位置,设置该位置计数值初始值为1。
之后,再次获取第二帧第一图像中获取的第二峰值点对应的极坐标值(ρ22,θ22),如果(ρ22,θ22)与当前库中存储的所有极坐标值对应的直线比较,确定是不是同一直线。如果与当前库中存储的所有极坐标值对应的直线相比均不是同一直线,则确定当前坐标库中是否有由于计数值变为0而被删除的空闲位置,如果有,则将(ρ22,θ22)存储到所述空闲位置。例如,如果(ρ11,θ11)位置的计数值变为0,已被删除,则该位置没有数据,可以将极坐标值(ρ22,θ22)存储到(ρ11,θ11)位置。并重新设置该极坐标所在存储位置的计数值为初始值1。
对于第三帧,第四帧以及后续的所有帧均进行上述比较步骤,从而可以对不断采集到的多帧第一图像中获取的多个第一峰值点和第二峰值点对应的第一车道线和第二车道线进行判断,判断其是否是有效地输出车道线。
在一个示例中,进一步判断每个极坐标值所在存储位置的计数值是否大于预设计数阈值,该预设计数阈值例如是6,当一个极坐标值所在存储位置的计数值大于预设计数阈值时,确定该极坐标值对应的直线为输出车道线。可以使用该输出车道线进行与车辆的距离判断和预警。例如可以将该输出车道线输出到车载系统的显示屏中。或作为判断车道线与车辆距离的输入参数。
在一个示例中,当极坐标值所在存储位置的计数值达到最高限定值时,则不再继续增加计数值数,以节省计算量。最高限定值例如为20。
以上示例介绍了如何确定有效的车道线来输出,在确定了有效的第一车道线和第二车道线,即输出车道线,之后,由于输出的车道线的判断均是根据车辆采集的第一图像进行的,不是真实的车道线,还需要根据第一图像中确定的输出车道线进一步判断当前车辆与真实的左侧车道线之间的实际距离,以及判断当前车辆与真实的右侧车道线之间的实际距离。
根据本公开的一个示例,基于输出车道线确定车辆与实际车道线之间的实际距离时,可以结合逆透视映射,即IPM(Inverse Perspective Mapping技术,实现图像坐标系向世界坐标系的转换,从而将前述实施例中采集的第一图像中最终检测出的输出车道线对应的像素点位置对应到世界坐标系,从而得到车辆与地面上的实际车道线之间的距离。
此外,在基于输出车道线确定车辆与实际车道线之间的实际距离时,由于采集第一图像的相机的参数不同,可能采集到的第一图像以及从第一图像中识别到的输出车道线也是不同的。还进一步考虑第一图像的相机的参数信息。例如,首先可以获取采集第一图像的相机的参数。参数例如包括内参数或外参数。内参数包括焦距,图像中的像素点在相机物理坐标系中的尺寸等。外参数包括偏航角,俯仰角,侧倾角等。然后,根据相机的一个或多个参数适当调整第一图像的图像坐标系与地球坐标系的转换矩阵,并根据调整后的转换矩阵确定车辆与实际车道线之间的实际距离。
此外,在确定上述转换矩阵时,还可以考虑采集第一图像的摄像头在车辆上的位置,根据摄像头的位置建立地球坐标系。例如,当摄像头位于车辆中心最高点时,可以以车辆中心的最高点为原点建立地球坐标系,还可以根据车辆的高度调整转换矩阵,并根据调整后的转换矩阵确定车辆与实际车道线之间的实际距离。
当判断出车辆与实际车道线的距离之后,根据该实际距离来确定车辆与实际车道线的距离是否大于等于预设安全距离阈值,预设安全距离阈值例如是20cm,如果小于该阈值,则表示车辆太过于靠近车道线,存在安全隐患,因此可以产生报警或输出语音提示信息或显示提示信息,以提醒车辆驾驶员注意。
本公开一些实施例的车道线跟踪方法,根据左右车道线的特点,将左侧车道线和右侧车道线分别进行跟踪,提高了车道线检测的准确度。同时,由于左右车道线检测的同时进行,提高了车道线跟踪速度。
以上介绍了根据本公开一些实施例的车道线跟踪方法,下面将进一步介绍根据本公开一些实施例的车道线跟踪装置,该车道线跟踪装置与前述实施例的车道线跟踪方法对应,为了说明书的简洁,以下仅作简要介绍。具体参见前述所有实施例。
图5示出了根据本公开一些实施例的车道线识别装置结构示意图,参见图5,车道线识别装置500包括获取单元501,分割单元502,识别单元503。在一个示例中,还可以包括跟踪单元504。上述获取单元501,分割单元502,识别单元503以及跟踪单元504车道线跟踪装置可以通过软件、硬件或固件的方式来实现,例如计算机程序,可编程逻辑电路,芯片或芯片组,单片机等。其中,获取单元501被配置为获取第一图像,第一图像为道路图像。分割单元502被配置为将所述第一图像从中间进行分割,确定位于所述第一图像左侧的第一子图像和位于所述第一图像右侧的第二子图像。识别单元503被配置为分别对第一子图像和第二子图像进行识别,以确定第一子图像中的第一车道线和第二子图像中的第二车道线。跟踪单元504被配置为基于确定的第一车道线和第二车道线进行车道线跟踪。
图6示出了根据本公开一些实施例的另一车道线识别装置结构示意图。参见图6,车道线识别装置600包括存储器601和处理器602。存储器601中存储计算机程序指令,处理器602执行程序指令时执行前述实施例中的车道线识别方法。
根据本公开一些实施例还提供了一种计算机可读非易失性存储介质,该非易失性存储介质存储计算机程序指令,当计算机中的处理器执行程序指令时执行前述实施例中的车道线识别方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。并且软件模块可以置于任意形式的计算机存储介质中。为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本领域技术人员应该理解,可依赖于设计需求和其它因素对本发明进行各种修改、组合、部分组合和替换,只要它们在所附权利要求书及其等价物的范围内。
Claims (24)
1.一种车道线识别方法,包括:
获取第一图像,所述第一图像为道路图像;
将所述第一图像从中间进行分割,确定位于所述第一图像左侧的第一子图像和位于所述第一图像右侧的第二子图像;
分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线。
2.根据权利要求1所述的方法,所述分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线包括:
基于第一卷积滤波核,对所述第一子图像进行特征提取,以得到第一车道线的特征;
基于第二卷积滤波核,对所述第二子图像进行特征提取,以得到第二车道线的特征;
其中,所述第一卷积滤波核与所述第二卷积滤波核相互对称。
3.根据权利要求2所述的方法,其中,
基于第一卷积滤波核,对所述第一子图像进行特征提取,以得到第一车道线的特征包括:
基于第一卷积滤波核,将所述第一子图像中的第一车道线的左边缘滤除;
基于第二卷积滤波核,对所述第二子图像进行特征提取,以得到第二车道线的特征包括:
基于第二卷积滤波核,将所述第二子图像中的第二车道线的右侧边缘滤除。
4.根据权利要求2或3的方法,其中,所述分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线还包括:
将对所述第一子图像进行特征提取得到的图像和对所述第二子图像进行特征提取得到的图像进行拼接,获得特征拼接图像;
确定所述特征拼接图像的前景和背景的分割阈值;
基于所述分割阈值来对所述拼接图像进行二值化。
5.根据权利要求4所述的方法,其中,分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线还包括:
将所述二值化后的拼接图像分割成第一二值图和第二二值图;
将所述第一二值图转换到第一霍夫空间;
将所述第二二值图转换到第二霍夫空间;
基于第一霍夫空间和第二霍夫空间中的每个极坐标点的投票值的峰值点确定所述第一车道线和所述第二车道线,所述投票值表示该极坐标点被所述霍夫空间中的曲线经过的个数;
其中,将所述第一二值图转换到第一霍夫空间,或者,将所述第二二值图转换到第二霍夫空间包括:
确定每个像素值不为0的像素点对应的霍夫空间中的曲线;
基于所述曲线构建所述霍夫空间。
6.根据权利要求5所述的方法,其中,基于第一霍夫空间和第二霍夫空间中的每个极坐标点的投票值的峰值点确定所述第一车道线和所述第二车道线包括:
确定第一霍夫空间中的第一峰值点,根据所述第一峰值点确定的直线为第一车道线;
确定第二霍夫空间中的第二峰值点,根据所述第二峰值点确定的直线为第二车道线。
7.根据权利要求6所述的方法,其中,
确定第一霍夫空间中的第一峰值点包括:
确定第一霍夫空间中所有所述曲线经过次数最多的点;
将该点作为第一峰值点;
确定第二霍夫空间中的第二峰值点包括:
确定第二霍夫空间中所有所述曲线经过次数最多的点;
将该点作为第二峰值点。
8.根据权利要求7所述的方法,其中,所述第一峰值点的确定和所述第二峰值点的确定同时进行。
9.根据权利要求7-8任一所述的方法,还包括:
基于所述确定的第一车道线和所述第二车道线进行车道线跟踪。
10.根据权利要求9所述的方法,
其中,
所述获取第一图像,包括:
获取多帧所述第一图像;
其中,所述基于所述确定的第一车道线和所述第二车道线进行车道线跟踪包括:
建立极坐标参数坐标库,所述极坐标参数坐标库存储所述多帧第一图像中的每帧图像得到的所述第一峰值点和/或第二峰值点对应的极坐标值;
根据所述多帧第一图像的获取顺序,判断每一当前帧的峰值点所对应的第二直线与之前获取的多个图像帧的峰值点所对应的第一直线之间的距离;
基于所述距离判断每个峰值点对应的直线是否是输出车道线。
11.根据权利要求10所述的方法,其中,判断每一当前帧的峰值点所对应的第二直线与之前获取的预设多个图像帧的峰值点所对应的第一直线之间的距离包括:
通过下面的公式确定所述第一直线和所述第二直线之间的距离:
d=(ρ2-ρ1)*k1+(θ2-θ1)*c1
其中,d表示距离,(ρ2,θ2)为第二直线的极坐标值,(ρ1,θ1)为第一直线的极坐标值,k1为预设常数,c1=1/4*√(f^2+n^2),其中,f和n分别表示所述第一图像的长和宽。
12.根据权利要求11所述的方法,其中,当所述第一图像中的车道线位于所述第一图像的中间区域时,判断当前帧的峰值点所对应的第二直线与之前的图像帧的峰值点所对应的第一直线之间的距离包括:
通过下面的表达式确定所述第一直线和所述第二直线之间的距离:
d=(ρ2-ρ1)*k2+(θ2-θ1)*c2
其中,k2=0.8k1,c2的取值在1/2*c1至2/3*c1之间。
13.根据权利要求10-12任一所述的方法,其中,基于所述距离判断每个峰值点对应的直角坐标系中的直线是否是输出车道线包括:
当所述距离小于预设距离阈值,则判断第一直线和第二直线为同一直线;其中,所述预设距离阈值与图像大小相关。
14.根据权利要求13所述的方法,其中,基于所述距离判断每个峰值点对应的直线是否是输出车道线还包括:
当第一直线和第二直线为同一直线时,在所述极坐标参数坐标库中,使用第二直线对应的极坐标值代替第一直线对应的极坐标值,并将第一直线对应的极坐标值的计数值加1;
判断每个极坐标值的投票数是否大于预设计数阈值,当一个极坐标值的投票数大于预设计数阈值时,确定该极坐标值对应的直线为输出车道线。
15.根据权利要求13或14所述的方法,其中,基于所述距离确定峰值点对应的直线是否是输出车道线还包括:
当第一直线和第二直线不是同一直线时,将第一直线对应的极坐标值的计数值减1;
判断每个极坐标值的计数值是否小于或等于预设最低计数阈值,当一个极坐标值的投票数小于或等于所述预设最低计数阈值时,将该极坐标值从所述极坐标参数坐标库中删除。
16.根据权利要求15所述的方法,其中,基于所述距离确定峰值点对应的直线是否是输出车道线还包括:
当第一直线和第二直线不是同一直线时,判断所述极坐标参数坐标库中是否有被删除的极坐标值对应的空闲位置;
当确定有被删除的极坐标值对应的空闲位置时,将所述第一直线对应的极坐标值存储到所述空闲位置。
17.根据权利要求9-16任一所述的方法,基于所述确定的第一车道线和所述第二车道线进行车道线跟踪还包括:
基于所述输出车道线确定车辆与实际车道线之间的实际距离;
基于该实际距离确定车辆与实际车道线的距离是否小于预设安全距离阈值;
当车辆与实际车道线的距离小于预设安全距离阈值时,输出报警提示信息。
18.根据权利要求17所述的方法,其中,所述基于所述输出车道线确定车辆与实际车道线之间的实际距离包括:
确定采集所述第一图像的相机的参数;
基于相机的参数调整所述第一图像的坐标系与地球坐标系的转换矩阵;
基于所述调整后的转换矩阵确定车辆与实际车道线之间的实际距离。
19.一种车道线识别装置,包括:
获取单元,被配置为获取第一图像,所述第一图像为道路图像;
分割单元,被配置为将所述第一图像从中间进行分割,确定位于所述第一图像左侧的第一子图像和位于所述第一图像右侧的第二子图像;
识别单元,被配置为分别对所述第一子图像和第二子图像进行识别,以确定所述第一子图像中的第一车道线和所述第二子图像中的第二车道线。
20.根据权利要求19所述的装置,所述识别单元基于第一卷积滤波核,对所述第一子图像进行特征提取,以得到第一车道线的特征;基于第二卷积滤波核,对所述第二子图像进行特征提取,以得到第二车道线的特征;
其中,所述第一卷积滤波核与所述第二卷积滤波核相互对称;所述识别单元基于第一卷积滤波核,将所述第一子图像中的第一车道线的左边缘滤除;基于第二卷积滤波核,将所述第二子图像中的第二车道线的右侧边缘滤除。
21.根据权利要求19所述的装置,还包括:
跟踪装置,被配置为基于所述确定的第一车道线和所述第二车道线进行车道线跟踪。
22.根据权利要求21所述的装置,
其中,所述获取单元获取多帧所述第一图像;
其中,所述跟踪单元进一步建立极坐标参数坐标库,所述极坐标参数坐标库存储所述多帧第一图像中的每帧图像得到的第一峰值点和第二峰值点对应的极坐标值;根据所述多帧第一图像的获取顺序,判断每一当前帧的峰值点所对应的第二直线与之前获取的多个图像帧的峰值点所对应的第一直线之间的距离;基于所述距离判断每个峰值点对应的直线是否是所述第一车道线或所述第二车道线。
23.一种车道线识别装置,包括存储器和处理器,所述存储器中存储指令,所述处理器处理所述指令时执行权利要求1-18任一所述的方法。
24.一种计算机可读非易失性存储介质,存储有计算机程序指令,处理器处理所述程序指令时执行权利要求1-18任一所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/071651 WO2020146980A1 (zh) | 2019-01-14 | 2019-01-14 | 车道线识别方法、车道线识别装置以及非易失性存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110088766A true CN110088766A (zh) | 2019-08-02 |
CN110088766B CN110088766B (zh) | 2023-10-03 |
Family
ID=67424511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980000062.3A Active CN110088766B (zh) | 2019-01-14 | 2019-01-14 | 车道线识别方法、车道线识别装置以及非易失性存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11430226B2 (zh) |
CN (1) | CN110088766B (zh) |
WO (1) | WO2020146980A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110796084A (zh) * | 2019-10-29 | 2020-02-14 | 华人运通(上海)自动驾驶科技有限公司 | 车道线识别方法、装置、设备和计算机可读存储介质 |
CN112926365A (zh) * | 2019-12-06 | 2021-06-08 | 广州汽车集团股份有限公司 | 一种车道线检测方法及其系统 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2570528B (en) * | 2018-06-25 | 2020-06-10 | Imagination Tech Ltd | Bilateral filter with data model |
CN114255405B (zh) * | 2020-09-25 | 2024-07-26 | 山东信通电子股份有限公司 | 一种隐患目标识别方法与装置 |
CN112862890B (zh) * | 2021-02-07 | 2023-07-04 | 黑芝麻智能科技(重庆)有限公司 | 道路坡度预测方法、装置和存储介质 |
CN114485716B (zh) * | 2021-12-28 | 2024-09-20 | 北京百度网讯科技有限公司 | 车道渲染方法、装置、电子设备及存储介质 |
CN115115687B (zh) * | 2022-06-24 | 2024-07-23 | 合众新能源汽车股份有限公司 | 车道线测量方法及装置 |
CN118097581B (zh) * | 2024-04-28 | 2024-06-25 | 山东领军智能交通科技有限公司 | 一种道路边缘识别控制方法及装置 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101916516A (zh) * | 2010-08-13 | 2010-12-15 | 深圳市豪恩汽车电子装备股份有限公司 | 一种车道偏移识别方法 |
JP2011118509A (ja) * | 2009-12-01 | 2011-06-16 | Fuji Heavy Ind Ltd | 道路認識装置 |
US20120072080A1 (en) * | 2004-11-18 | 2012-03-22 | Oliver Jeromin | Image acquisition and processing system for vehicle equipment control |
CN103117005A (zh) * | 2011-11-16 | 2013-05-22 | 财团法人工业技术研究院 | 车道偏移警示方法及系统 |
CN103473762A (zh) * | 2013-08-29 | 2013-12-25 | 奇瑞汽车股份有限公司 | 一种车道线检测方法和装置 |
CN104036253A (zh) * | 2014-06-20 | 2014-09-10 | 智慧城市系统服务(中国)有限公司 | 一种车道线追踪方法及系统 |
CN104063691A (zh) * | 2014-06-27 | 2014-09-24 | 广东工业大学 | 基于改进的Hough变换的车道线快速检测方法 |
CN104217427A (zh) * | 2014-08-22 | 2014-12-17 | 南京邮电大学 | 一种交通监控视频中车道线定位方法 |
CN104657735A (zh) * | 2013-11-21 | 2015-05-27 | 比亚迪股份有限公司 | 车道线检测方法、系统、车道偏离预警方法及系统 |
US20150235090A1 (en) * | 2014-02-14 | 2015-08-20 | Denso Corporation | Lane-line recognition apparatus |
US20150248771A1 (en) * | 2014-02-28 | 2015-09-03 | Core Logic, Inc. | Apparatus and Method for Recognizing Lane |
CN105426861A (zh) * | 2015-12-02 | 2016-03-23 | 百度在线网络技术(北京)有限公司 | 车道线确定方法及装置 |
CN106887004A (zh) * | 2017-02-24 | 2017-06-23 | 电子科技大学 | 一种基于块匹配的车道线检测方法 |
CN106971155A (zh) * | 2017-03-21 | 2017-07-21 | 电子科技大学 | 一种基于高度信息的无人车车道场景分割方法 |
CN108090456A (zh) * | 2017-12-27 | 2018-05-29 | 北京初速度科技有限公司 | 一种车道线识别方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811744B2 (en) * | 2014-07-23 | 2017-11-07 | GM Global Technology Operations LLC | Fast and robust stop line detector |
US10318824B2 (en) * | 2014-07-23 | 2019-06-11 | GM Global Technology Operations LLC | Algorithm to extend detecting range for AVM stop line detection |
CN105718916A (zh) * | 2016-01-27 | 2016-06-29 | 大连楼兰科技股份有限公司 | 一种基于霍夫变换的车道线检测方法 |
US10124730B2 (en) * | 2016-03-17 | 2018-11-13 | Ford Global Technologies, Llc | Vehicle lane boundary position |
US10521699B2 (en) * | 2017-10-12 | 2019-12-31 | Lawrence Livermore National Security, Llc | Multi-scale deep learning system |
US11216004B2 (en) * | 2017-11-07 | 2022-01-04 | Uatc, Llc | Map automation—lane classification |
-
2019
- 2019-01-14 US US16/640,547 patent/US11430226B2/en active Active
- 2019-01-14 WO PCT/CN2019/071651 patent/WO2020146980A1/zh active Application Filing
- 2019-01-14 CN CN201980000062.3A patent/CN110088766B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120072080A1 (en) * | 2004-11-18 | 2012-03-22 | Oliver Jeromin | Image acquisition and processing system for vehicle equipment control |
JP2011118509A (ja) * | 2009-12-01 | 2011-06-16 | Fuji Heavy Ind Ltd | 道路認識装置 |
CN101916516A (zh) * | 2010-08-13 | 2010-12-15 | 深圳市豪恩汽车电子装备股份有限公司 | 一种车道偏移识别方法 |
CN103117005A (zh) * | 2011-11-16 | 2013-05-22 | 财团法人工业技术研究院 | 车道偏移警示方法及系统 |
CN103473762A (zh) * | 2013-08-29 | 2013-12-25 | 奇瑞汽车股份有限公司 | 一种车道线检测方法和装置 |
CN104657735A (zh) * | 2013-11-21 | 2015-05-27 | 比亚迪股份有限公司 | 车道线检测方法、系统、车道偏离预警方法及系统 |
US20150235090A1 (en) * | 2014-02-14 | 2015-08-20 | Denso Corporation | Lane-line recognition apparatus |
US20150248771A1 (en) * | 2014-02-28 | 2015-09-03 | Core Logic, Inc. | Apparatus and Method for Recognizing Lane |
CN104036253A (zh) * | 2014-06-20 | 2014-09-10 | 智慧城市系统服务(中国)有限公司 | 一种车道线追踪方法及系统 |
CN104063691A (zh) * | 2014-06-27 | 2014-09-24 | 广东工业大学 | 基于改进的Hough变换的车道线快速检测方法 |
CN104217427A (zh) * | 2014-08-22 | 2014-12-17 | 南京邮电大学 | 一种交通监控视频中车道线定位方法 |
CN105426861A (zh) * | 2015-12-02 | 2016-03-23 | 百度在线网络技术(北京)有限公司 | 车道线确定方法及装置 |
CN106887004A (zh) * | 2017-02-24 | 2017-06-23 | 电子科技大学 | 一种基于块匹配的车道线检测方法 |
CN106971155A (zh) * | 2017-03-21 | 2017-07-21 | 电子科技大学 | 一种基于高度信息的无人车车道场景分割方法 |
CN108090456A (zh) * | 2017-12-27 | 2018-05-29 | 北京初速度科技有限公司 | 一种车道线识别方法及装置 |
Non-Patent Citations (2)
Title |
---|
UMAR OZGUNALP: "Combination of the symmetrical local threshold and the sobel edge detector for lane feature extraction", 《IEEE》 * |
UMAR OZGUNALP: "Combination of the symmetrical local threshold and the sobel edge detector for lane feature extraction", 《IEEE》, 19 March 2018 (2018-03-19) * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110796084A (zh) * | 2019-10-29 | 2020-02-14 | 华人运通(上海)自动驾驶科技有限公司 | 车道线识别方法、装置、设备和计算机可读存储介质 |
CN112926365A (zh) * | 2019-12-06 | 2021-06-08 | 广州汽车集团股份有限公司 | 一种车道线检测方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110088766B (zh) | 2023-10-03 |
US20210142076A1 (en) | 2021-05-13 |
WO2020146980A1 (zh) | 2020-07-23 |
US11430226B2 (en) | 2022-08-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110088766B (zh) | 车道线识别方法、车道线识别装置以及非易失性存储介质 | |
US11854272B2 (en) | Hazard detection from a camera in a scene with moving shadows | |
CN106203398B (zh) | 一种检测车道边界的方法、装置和设备 | |
CN107719233B (zh) | 车道偏离警告系统和与其相关联的方法 | |
US8184859B2 (en) | Road marking recognition apparatus and method | |
JP4871909B2 (ja) | 物体認識装置、および物体認識方法 | |
CN103077384B (zh) | 一种车标定位识别的方法与系统 | |
RU2636120C2 (ru) | Устройство обнаружения трехмерных объектов | |
JP4930046B2 (ja) | 路面判別方法および路面判別装置 | |
EP2605181A2 (en) | Method and apparatus for detecting road partition | |
KR101478258B1 (ko) | 차선 인식 방법 및 그 시스템 | |
CN110858405A (zh) | 车载摄像头的姿态估计方法、装置和系统及电子设备 | |
KR20110001427A (ko) | 관심영역 추출에 의한 차선 고속검출 방법 | |
CN108399360B (zh) | 一种连续型障碍物检测方法、装置及终端 | |
KR101236223B1 (ko) | 차선 검출 방법 | |
CN107301388A (zh) | 一种车辆自动识别方法及装置 | |
CN109886120B (zh) | 一种斑马线检测方法及系统 | |
CN104408437B (zh) | 一种基于合成孔径雷达的道路检测方法 | |
JP6266340B2 (ja) | 車線識別装置および車線識別方法 | |
CN109389643B (zh) | 车位主方向判断方法、系统以及存储介质 | |
CN115482477B (zh) | 道路识别方法、装置、无人机、设备及存储介质 | |
CN112101321B (zh) | 灭点提取方法、装置、电子设备及存储介质 | |
CN114758096A (zh) | 一种路沿检测方法、装置、终端设备和存储介质 | |
CN116977968A (zh) | 一种基于车载摄像头的车行道识别系统、方法及存储介质 | |
CN115690696A (zh) | 车道区域确定装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |