专利名称: | 一种应用于智能驾驶的停止线检测与测距算法 | ||
专利名称(英文): | A is applied to the intelligent driving stop line detection and ranging algorithm | ||
专利号: | CN201610076874.4 | 申请时间: | 20160202 |
公开号: | CN105740832A | 公开时间: | 20160706 |
申请人: | 大连楼兰科技股份有限公司 | ||
申请地址: | 116023 辽宁省大连市高新技术产业园区汇贤园7号11层 | ||
发明人: | 田雨农; 蔡春蒙; 周秀田; 于维双; 陆振波 | ||
分类号: | G06K9/00 | 主分类号: | G06K9/00 |
代理机构: | 沈阳科苑专利商标代理有限公司 21002 | 代理人: | 许宗富 |
摘要: | 本发明涉及一种应用于智能驾驶的停止线检测与测距算法,对目标区域进行摄像机镜头标定;采集路面灰度图片,提取感兴趣区域;对提取出来的感兴趣区域进行预处理得到二值图;判断图像中是否存在斑马线,如果存在,则根据斑马线与停止线之间的关系检测停止线,完成停止线检测;否则检测图像中是否存在路面标识符;如果存在路面标识符,则根据路面标识符与停止线之间的关系检测停止线,完成停止线检测;如果检测到停止线,则根据透视图像计算车与停止线之间的距离。本发明通过统计连通域信息,利用斑马线、路面标识符等辅助信息共同完成停止线的有无判断,记录停止线在图像中所在的位置,结合透视变换与标定,计算出停止线距离汽车的实际物理位置。 | ||
摘要(英文): | The invention relates to a intelligent driving stop line detection and ranging algorithm, the target area to carry on camera lens calibration; collecting road gray scale picture, extracting the region of interest; the region of interest of the extracted from the two-value Image of the pre-processing; judging whether there is a crossing in the Image, if there is, according to the crossing of the relationship between the stop line detecting the stop-line, stop-line detection of the completed; otherwise detecting whether the identifier exists in the Image surface; if there is a road surface identifier, according to road identifier is the relationship between the stop line detecting the stop line, complete stop the wire detection; if it is detected that the stop the wire, like perspective view with calculates the vehicle according to the distance between the stop line. This invention, through statistical connection area information, using zebra crossings, auxiliary information such as road identifier common to complete the stop-line with no judge, recording stop line the position of the Image in, perspective conversion and calibration with, the stop-line distance calculated actual physical position of the vehicle. |
1.一种应用于智能驾驶的停止线检测与测距算法,其特征在于,包括以下步骤: 步骤1:对目标区域进行摄像机镜头标定; 步骤2:采集路面灰度图片,提取感兴趣区域; 步骤3:对提取出来的感兴趣区域进行预处理得到二值图; 步骤4:判断图像中是否存在斑马线,如果存在,则根据斑马线与停止线之 间的关系检测停止线,完成停止线检测;否则检测图像中是否存在路面标识符; 步骤5:如果存在路面标识符,则根据路面标识符与停止线之间的关系检测 停止线,完成停止线检测; 步骤6:如果检测到停止线,则根据透视图像计算车与停止线之间的距离, 程序结束,否则,程序结束。
2.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述提取感兴趣区域的过程为,一个车道内的梯形的区域,通过行近邻差 值法,将该梯形区域转化为矩形区域,即为感兴趣区域。
3.根据权利要求2所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述行近邻差值法为:将任意长度的行,通过近邻差值,拉伸为指定宽度 的行。
4.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述预处理过程为: 对感兴趣区域图像进行大尺度均值滤波处理,得到目标图像,然后对目标 图像进行二值化处理,得到二值图。
5.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述判断图像中是否存在斑马线包括以下过程: 步骤1:提取图像第一行灰度信息作为检测斑马线的特征向量; 步骤2:将检测斑马线的特征向量输入adboost神经网络中,判断该特征向 量是否为斑马线,如果是,则图像中存在斑马线,判断结束,否则执行步骤3; 步骤3:判断当前行是否为图像最后一行,如果是,则提取下一行灰度信息, 作为检测斑马线的特征向量,执行步骤2,否则图像中不存在斑马线,判断结束。
6.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述根据斑马线与停止线之间的关系检测停止线包括以下过程: 步骤1:将当前行灰度值进行累加,得到当前行的累加和,记为Sum_Zebra; 步骤2:对图像进行行累加,得到累加和数组; 步骤3:在累加和数组中找到小于0.8*Sum_Zebra的行,记为R1; 步骤4:从R1行开始,在累加和数组中找到大于1.4*Sum_Zebra的行; 步骤5:如果找到,则该行为停止线所在行,完成检测过程; 步骤6:否则对图像进行标记连通,并统计连通域信息; 步骤7:如果存在连通域宽度大于图像宽度的2/3,则连通域起始行为停止 线所在行,完成检测过程;否则不存在停止线,完成检测过程。
7.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述根据路面标识符与停止线之间的关系检测停止线包括以下过程: 步骤1:提取路面标识符特征向量; 步骤2:将检测路面标识符的特征向量输入adboost神经网络中,判断该特 征向量是否为路面标识符,如果是,则图像中存在路面标识符,执行步骤3,否 则不存在路面标识符,完成停止线检测过程; 步骤3:截取图像第一行到标识符起始行之间的部分图像,对部分图像进行 标记连通,并统计连通域信息; 步骤4:如果存在连通域宽度大于图像宽度的2/3,则连通域起始行为停止 线所在行,完成检测过程;否则不存在停止线,完成检测过程。
8.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述对目标区域进行摄像机镜头标定包括以下过程: 步骤1:在车正前方设置棋盘格,使车前端与棋盘格边缘相接; 步骤2:检测图像棋盘格中标记点的位置坐标; 步骤3:根据标记点的位置坐标,采用透视变换算法,得到透视图像。
9.根据权利要求8所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述标记点为构成矩形的四个点。
1.一种应用于智能驾驶的停止线检测与测距算法,其特征在于,包括以下步骤: 步骤1:对目标区域进行摄像机镜头标定; 步骤2:采集路面灰度图片,提取感兴趣区域; 步骤3:对提取出来的感兴趣区域进行预处理得到二值图; 步骤4:判断图像中是否存在斑马线,如果存在,则根据斑马线与停止线之 间的关系检测停止线,完成停止线检测;否则检测图像中是否存在路面标识符; 步骤5:如果存在路面标识符,则根据路面标识符与停止线之间的关系检测 停止线,完成停止线检测; 步骤6:如果检测到停止线,则根据透视图像计算车与停止线之间的距离, 程序结束,否则,程序结束。
2.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述提取感兴趣区域的过程为,一个车道内的梯形的区域,通过行近邻差 值法,将该梯形区域转化为矩形区域,即为感兴趣区域。
3.根据权利要求2所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述行近邻差值法为:将任意长度的行,通过近邻差值,拉伸为指定宽度 的行。
4.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述预处理过程为: 对感兴趣区域图像进行大尺度均值滤波处理,得到目标图像,然后对目标 图像进行二值化处理,得到二值图。
5.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述判断图像中是否存在斑马线包括以下过程: 步骤1:提取图像第一行灰度信息作为检测斑马线的特征向量; 步骤2:将检测斑马线的特征向量输入adboost神经网络中,判断该特征向 量是否为斑马线,如果是,则图像中存在斑马线,判断结束,否则执行步骤3; 步骤3:判断当前行是否为图像最后一行,如果是,则提取下一行灰度信息, 作为检测斑马线的特征向量,执行步骤2,否则图像中不存在斑马线,判断结束。
6.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述根据斑马线与停止线之间的关系检测停止线包括以下过程: 步骤1:将当前行灰度值进行累加,得到当前行的累加和,记为Sum_Zebra; 步骤2:对图像进行行累加,得到累加和数组; 步骤3:在累加和数组中找到小于0.8*Sum_Zebra的行,记为R1; 步骤4:从R1行开始,在累加和数组中找到大于1.4*Sum_Zebra的行; 步骤5:如果找到,则该行为停止线所在行,完成检测过程; 步骤6:否则对图像进行标记连通,并统计连通域信息; 步骤7:如果存在连通域宽度大于图像宽度的2/3,则连通域起始行为停止 线所在行,完成检测过程;否则不存在停止线,完成检测过程。
7.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述根据路面标识符与停止线之间的关系检测停止线包括以下过程: 步骤1:提取路面标识符特征向量; 步骤2:将检测路面标识符的特征向量输入adboost神经网络中,判断该特 征向量是否为路面标识符,如果是,则图像中存在路面标识符,执行步骤3,否 则不存在路面标识符,完成停止线检测过程; 步骤3:截取图像第一行到标识符起始行之间的部分图像,对部分图像进行 标记连通,并统计连通域信息; 步骤4:如果存在连通域宽度大于图像宽度的2/3,则连通域起始行为停止 线所在行,完成检测过程;否则不存在停止线,完成检测过程。
8.根据权利要求1所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述对目标区域进行摄像机镜头标定包括以下过程: 步骤1:在车正前方设置棋盘格,使车前端与棋盘格边缘相接; 步骤2:检测图像棋盘格中标记点的位置坐标; 步骤3:根据标记点的位置坐标,采用透视变换算法,得到透视图像。
9.根据权利要求8所述的应用于智能驾驶的停止线检测与测距算法,其特征在 于:所述标记点为构成矩形的四个点。
翻译:技术领域
本发明涉及智能驾驶领域,具体地说是一种应用于智能驾驶的停止线检测 与测距方法。
背景技术
随着社会与科学技术的发展,汽车在人们的日常生活中扮演着越来越重要 的角色。汽车给人们生活带来便利的同时,也为人们的安全带来了巨大的隐患, 尤其是在道路交通路口,这种隐患尤为严重。自动驾驶技术与无人驾驶的发展, 为解决这个隐患带来了福音。
目前自动驾驶与无人驾驶中,常采用以霍夫变换为主体的停止线检测技术。 该技术是在采集到的灰度图像中,用预处理技术、图像边缘化技术、霍夫变换 技术来检测图像中的“直线”,并通过直线的角度等先验性知识来判断是否存在 停止线。因霍夫变换算法非常耗时,导致算法整体耗时偏高,不能满足现在车 载实时性系统的需求。
现在停止线检测算法之中,只能检测停止线的有无,而不能给出停止线在 图像中的具体位置,更不能给出车辆距离停止线的距离,只能给出一个相对距 离的预警。
发明内容
针对现有技术的不足,本发明提供一种应用于智能驾驶的停止线检测与测 距算法,通过统计连通域信息,并利用斑马线、路面标识符等辅助信息共同完 成停止线的有无判断,并记录停止线在图像中所在的位置。结合透视变换与标 定,计算出停止线距离汽车的实际物理位置。
本发明为实现上述目的所采用的技术方案是:
一种应用于智能驾驶的停止线检测与测距算法,其特征在于:包括以下步 骤:
步骤1:对目标区域进行摄像机镜头标定;
步骤2:采集路面灰度图片,提取感兴趣区域;
步骤3:对提取出来的感兴趣区域进行预处理得到二值图;
步骤4:判断图像中是否存在斑马线,如果存在,则根据斑马线与停止线之 间的关系检测停止线,完成停止线检测;否则检测图像中是否存在路面标识符;
步骤5:如果存在路面标识符,则根据路面标识符与停止线之间的关系检测 停止线,完成停止线检测;
步骤6:如果检测到停止线,则根据透视图像计算车与停止线之间的距离, 程序结束,否则,程序结束。
所述提取感兴趣区域的过程为,一个车道内的梯形的区域,通过行近邻差 值法,将该梯形区域转化为矩形区域,即为感兴趣区域。
所述行近邻差值法为:将任意长度的行,通过近邻差值,拉伸为指定宽度 的行。
所述预处理过程为:对感兴趣区域图像进行大尺度均值滤波处理,得到目 标图像,然后对目标图像进行二值化处理,得到二值图。
所述判断图像中是否存在斑马线包括以下过程:
步骤1:提取图像第一行灰度信息作为检测斑马线的特征向量;
步骤2:将检测斑马线的特征向量输入adboost神经网络中,判断该特征向 量是否为斑马线,如果是,则图像中存在斑马线,判断结束,否则执行步骤3;
步骤3:判断当前行是否为图像最后一行,如果是,则提取下一行灰度信息, 作为检测斑马线的特征向量,执行步骤2,否则图像中不存在斑马线,判断结束。
所述根据斑马线与停止线之间的关系检测停止线包括以下过程:
步骤1:将当前行灰度值进行累加,得到当前行的累加和,记为Sum_Zebra;
步骤2:对图像进行行累加,得到累加和数组;
步骤3:在累加和数组中找到小于0.8*Sum_Zebra的行,记为R1;
步骤4:从R1行开始,在累加和数组中找到大于1.4*Sum_Zebra的行;
步骤5:如果找到,则该行为停止线所在行,完成检测过程;
步骤6:否则对图像进行标记连通,并统计连通域信息;
步骤7:如果存在连通域宽度大于图像宽度的2/3,则连通域起始行为停止 线所在行,完成检测过程;否则不存在停止线,完成检测过程。
所述根据路面标识符与停止线之间的关系检测停止线包括以下过程:
步骤1:提取路面标识符特征向量;
步骤2:将检测路面标识符的特征向量输入adboost神经网络中,判断该特 征向量是否为路面标识符,如果是,则图像中存在路面标识符,执行步骤3,否 则不存在路面标识符,完成停止线检测过程;
步骤3:截取图像第一行到标识符起始行之间的部分图像,对部分图像进行 标记连通,并统计连通域信息;
步骤4:如果存在连通域宽度大于图像宽度的2/3,则连通域起始行为停止 线所在行,完成检测过程;否则不存在停止线,完成检测过程。
所述对目标区域进行摄像机镜头标定包括以下过程:
步骤1:在车正前方设置棋盘格,使车前端与棋盘格边缘相接;
步骤2:检测图像棋盘格中标记点的位置坐标;
步骤3:根据标记点的位置坐标,采用透视变换算法,得到透视图像。
所述标记点为构成矩形的四个点。
本发明具有以下有益效果及优点:
1.利用停止线对列方向不敏感,可以对感兴趣区域进行大尺度列抽样,进 而减小处理图像的大小,保证所述方法能够满足系统实时性的需求。速度是普 通霍夫变换算法的5-10倍。
2.停止线的检测,辅助以斑马线与路面路面标识符。提高了停止线检测的 准确性,排除了路面复杂路况对算法的干扰,增强了程序的鲁棒性。
3.通过前期透视变换标定,与检出的停止线在图像中所在行,可以准确给 出停止线实际物理位置,可以实现图像测距。
附图说明
图1是本发明的方法流程图;
图2是本发明的标定流程图;
图3是本发明的停止线检测示意图。
具体实施方式
下面结合附图及实施例对本发明做进一步的详细说明。
本发明的流程图如图1所示。本发明检测实现可以分成三个部分。第一部 分,判断是否有斑马线和路面标识符。第二部分如果有斑马线,则联合斑马线 判断是否有停止线。第三部分,如果有路面标识符,联合路面标识符判断是否 有停止线。
第一部分,判断是否有斑马线和路面路面标识符。首先在采集到灰度图像 中,选择感兴趣区域,即停止线可能出现的位置。为了联合斑马线一起判断停 止线的有无,本发明选择一个梯形区域作为感兴趣区域。在实际处理的过程中, 将梯形区域通过线性变化拉伸为矩形区域,采用线性差值的方法,至此提取感 兴趣区域部分完成。接下来对图像进行预处理,主要操作为对图像进行直方图 统计去噪点处理,目的是干掉图像的较亮的部分和较暗的部分,排除复杂路面 对算法的影响。
本发明用Adboost算法判断斑马线的有无。Adboost算法分为训练和测试两 个部分。预处理之后的图像,每一行可以当做一个Adboost样本。通过大样本 的训练得到Adboost网络参数。在测试阶段,每提取一行形成特征向量,将特 征向量给Adboost网络,得到该特征是否是斑马线。
如果是斑马线,则第一部分结束,将当前行记录下来,斑马线存在标志置 为1。如果不是斑马线则提取路面标识符特征,判断是否为路面标识符。不是路 面标识符则程序结束,图像中没有停止线,因为停止线一定是和路面标识符或 者斑马线成对出现的,如果存在路面标识符,则第一部分结束,路面标识符标 志位记为1,并记录路面标识符在图像中的起始行。
当斑马线标志位为1时,启动算法的第二部分。第二部分主要解决的问题 是,当存在斑马线时,如何检测是否存在停止线。首先对图像进行行累加,得 到累加和数组,从斑马线所在的行开始,寻找比斑马线所在行像素值和小很多 的行,一般取斑马线所在行累加和的一半。该行为斑马线与停止线之间的空白 部分。从空白部分开始,找累加和比斑马线所在行大很多的行,一般取斑马线 所在行的1.7倍。因停止线在灰度图像中表现为全白,而斑马线为黑白相间, 停止线所在的行的灰度值和一般在斑马线所在行累加和的1.7倍以上。如果找 到,则可以确定停止线在图像中的位置,程序结束,记录停止线在图像中的位 置。如果没有找到符合条件的行,则通过统计标记连通信息,找是否存在一个 连通域,他的宽度大于图像宽的的三分之二。如果存在,则可以确定停止线在 图像中的位置,程序结束,记录停止线在图像中的位置为该连通区域的起始行。 如果不存在,则该图像中不存在停止线,程序结束。
当标识符标志位为1时,启动算法的第三部分。第三部分主要解决的问题 是,当存在路面标示且没有斑马线时,如何检测是否存在停止线。首先通过统 计图像的标记连通信息,找是否存在一个连通域,他的宽度大于图像宽的的三 分之二。如果存在,则可以确定停止线在图像中的位置,程序结束,记录停止 线在图像中的位置为该连通区域的起始行。如果不存在,则该图像中不存在停 止线,程序结束。
到此,停止线的检测部分完成。
本发明标定流程如图2所示。本发明采用特征点检测、透视变换的测距方 法。首先在摄像头采集的图片中,检测图像中的特征点。特征点的检测方法为 对图像中所有的点进行遍历,查看该点方形区域内图像的原点对称性,找到对 称性最强的四个点,即为图片的特征点。检测到特征点之后利用透视变换手段, 将平视图变为俯视图,用于测距。
测距标定的具体步骤如下:
车辆未启动时,先在车辆正前方铺好棋盘格,在棋盘格上选择如上方法选 定的特征点。开启摄像头,定义采集图像即原始图像坐标系为左上角为原点, 水平向右为x正方向,垂直向下为y正方向。根据标定的四个点在采集的图像 上的坐标(xi,yi),i=1,...4,定义透视图像坐标系,以棋盘格左上角为原点,水平向 右为x正方向,垂直向下为y正方向,每个棋盘格表示一固定长度。根据标定 的四个点的位置确定透视后四个点的坐标(xi',yi'),i=1,...4。
根据下列方程求解透视系数m1,…,m8:
其中m1,…,m8为待求的系数,(xi,yi)为原始图像对应坐标,(xi',yi')为透视图像对 应坐标,i=1、…、n,n=4。
将整个区域按照该透视进行变换,即
其中,x’,y’,z’为透视后坐标,x,y,1为原始坐标,m1,…,m8为刚刚求得的 系数。
本发明的检测结果示意图如图3所示。通过检测部分得到停止线在图像中 所在的行位置,利用前期的标定工作,可以得到停止线距离车的实际物理位置。 到此,停止线的检测与测距完成。