Haar特征耦合级联分类器的车道线检测算法

2020-06-12 09:18周宏宇刘国英
计算机工程与设计 2020年6期
关键词:矩形车道分类器

周宏宇,宋 旭,刘国英

(安阳师范学院 计算机与信息工程学院,河南 安阳 455000)

0 引 言

当前,车道线检测方法大致可以分类为基于特征方法[1,2]、基于区域方法[3-6]和基于模型方法[7,8]。基于特征方法主要是利用车道边缘和车道颜色等显著特征来识别、检测车道线。杨智杰等[1]设计了一种RGB彩色通道的结构化道路车道线检测方案。其主要是利用车道线颜色来定义转移函数,并识别出车道线区域。然后,通过形态学的边缘检测算子获取车道线边界,得到场景中实际的车道线。该方法对车道线的特征信息依赖性高,对于清楚的结构化道路的检测效果较好,对非结构化道路与破损的车道线无法有效检测。杨益等[2]提出一种利用颜色信息并结合一定的阈值进行车道线检测并且能够分辨黄色或白色车道线的方法。该方法存在的问题是,必须是车道边缘明显,同时受噪声、光照和阴影等影响较大。而基于区域方法主要根据车道线大致的位置,建立一个感兴趣区域(region of inte-rest,ROI),在这个ROI内检测场景中的车道线。AMOL等[3-5]等将车道线图像分割为左右两个子目标,从二者信息中分别识别左、右车道线。Gu等[6]通过对区域放大增强定义了一种鲁棒的道路检测方案,主要是通过预设参数来描述车道线的特性,并估算相应的较优参数来定位车道线。该方法的局限性是无法处理障碍物遮挡情况或者车道线处于中间位置等情况。Zhou等[7]设计了一种几何模型和Gabor滤波器的鲁棒车道检测方案。该算法构建的车道几何模型包含起始位置,车道原始方向,车道宽度和车道曲率的4个参数。该类方法过于依赖相机的标定信息,如果相机的位置发生抖动,会导致检测结果产生较大的影响。Guo等[8]结合最小二乘法和改进的随机抽样共识(RANSAC)方法来估计车道线模型参数。RANSAC算法的局限是受噪声影响极大,在噪声较多时很难得到满意的结果。Aly等[9]利用霍夫变换和3次贝塞尔曲线进行样条拟合方法定义了一种针对城市街道的车道线检测算法,实验数据显示了其方法的检测准确性。然而,霍夫变换对复杂干扰的鲁棒性不理想,限制了其检测精度。

对此,本文定义了基于Haar特征耦合级联分类器的车道线检测算法。通过对场景图像尺度缩放,计算消失线位置并提取ROI。通过级联的车道线分类器对ROI进行车道线检测。再借助LSD进行线拟合,并结合生长策略以及几何检查以得到最终的检测结果。本文方法能够在车道边缘不清晰以及在各种恶劣环境下(如夜晚、高光、树荫等)得到一个很好的检测效果,同时不依赖于相机的标定和消失点的计算。最后,测试了所提算法的检测准确度与鲁棒性。

1 车道线检测设计

本算法首先对输入图像进行尺度缩放到长宽为300大小的图像,然后提取感兴趣区域;接着用训练好的车道线分类器在感兴趣区域进行分类得到候选的车道线位置,然后在候选的车道线位置进行车道线拟合。最后是后处理操作,对检测到的车道线进行生长和几何检查剔除错误或者过短的车道线得到最终的结果。总体流程如图1所示。

图1 算法流程

1.1 感兴趣区域选择

ROI的提取可以有效的减少计算量,降低复杂性,提升检测速度。通过对50个场景中的上万帧序列图像分析得出车道线的位置一般位于视频图像的下半部分。同时结合事先标定好的车载相机的消失线,可以有效的将车道线区域划分出来。ROI选择如图2所示。图2中的灰框区域即为ROI。

图2 ROI选择

1.2 Haar特征选择

常用的图像纹理获取主要有3种技术,分别是Haar、LBP、HOG。由于车道线的纹理简单,没有人,车辆,脸部的纹理丰富,而且车道线的纹理具有很明显的方向性。由于Haar特征能够很好的反应图像灰度变化情况,对特定走向的边缘,线段比较敏感。所以本文方法选择了较简单的Haar特征来做车道线的特征提取,后面的实验也验证了这种选择的正确性。原始的Haar特征由Viola等[10]提出,如图3所示,总共5种矩形特征。

图3 原始矩形特征

后来经过Rainer等[11]的演化,添加了旋转45°角和中心环绕的矩形特征,如图4所示。扩展后的Haar特征总共有15种。由于原始Haar特征过于简单,所以本文方法中采用扩展后的Haar特征。但并没有选择全部的Haar特征,而是去掉了旋转45°角的特征,选择了基本的矩形特征,因为车道线本身比较简单。实验结果表明基本的矩形特征即可得到良好的检测结果,同时旋转45°后计算特征值的难度有一定提升并且过多的特征值也会影响最终的处理时间,这也是选择基本矩形特征的原因之一。在特征值的计算中:一个矩形特征即为一个N*N的滑窗,通过在图像上滑动,白色区域覆盖的像素除掉黑色区域覆盖的像素即为其特征值。

图4 各种矩形特征

1.3 AdaBoost分类

AdaBoost起源于Valiant等[12]提出了Boosting算子。该类算子包含2个重要技术,即弱学习与强学习。从弱学习到强学习的过程就是Boosting的过程。在Boosting算法的基础上,Freund等[13]提出了一个自适应的Boosting算法即是AdaBoost。该算法需要级联一系列弱分类器形成强分类器。

1.3.1 弱分类器设计

本文采取决策树模型作为弱分类器,详细过程为:

(1)设训练集(x1,y1),…,(xN,yN),对于每一个Haar特征,测量其所有训练样本的特征值,并将其排序,最终一个样本得到一个高维特征向量。

(2)扫描排序好的特征值,并计算每个元素的如下4个量:全部正样本的权重和P1;全部负样本的权重和N1;此样本前的正样本的权重和P2;此样本前的负样本的权重和N2;

(3)计算每个元素的分类误差

loss=min((P2+(N1-N2)),(N2+(P1-P2)))

(1)

(4)搜素loss值最小的元素,其认定为是最佳阈值,这样便产生了最优的弱分类器。

1.3.2 强分类器设计

强分类器的具体的设计流程如下:

(1)给定N个训练的数据集,设定训练迭代的次数(即弱分类器数目);

(2)迭代训练,得到最优弱分类器与错误率em;根据em更新每一个权重(错误识别的权重提升,正确识别的权重下降)和计算弱分类器的权重系数

(2)

(3)

(4)

(3)得到更新后的权重之后,将新样本与上一轮错误识别的样本融合形成一个新的样本集,然后继续重新学习;

(4)重复(2)-(3)步骤,迭代次数达到设定值时或者错误率低于设定值时停止训练。

1.4 车道线拟合

在1.3小节经过AdaBoost分类得到候选区域之后,接下来是拟合车道线的工作。因为候选区域是一个个小的矩形区域,所以一段长的车道线就被分成了一段一段的短的车道线,众所周知,曲线可以近似考虑为由多段短直线组成,所以在本文中省去了曲线拟合的步骤,可以直接采用直线拟合的模型。拟合的过程如图5所示。

图5 车道线的拟合过程

首先对得到的候选区域用大津算法[14]对候选区域进行二值化处理,考虑到候选区域可能存在噪声,经过二值化处理之后,可能产生孤点,对后面的车道线拟合产生巨大影响的问题,所以接下来是一个形态学腐蚀的操作,去除二值化图像的孤立点。

车道线拟合是本文方法的关键部分。现在最普遍使用的直线检测方法是霍夫变换,而霍夫变换存在算法复杂度较高,检测速度较慢,检测精度不够等问题,于是本文采取了一种直线检测方法(line segment detector,LSD[15]),其过程如下:

(1)尺度缩放,对输出图片进行高斯下采样,消除输入图片的锯齿效应;

(2)计算每一个点的梯度值和梯度方向;

(3)利用梯度值按照从大到小排列,所有元素标记初始化为未使用状态;然后,将梯度值小于阈值的元素,直接标记为已使用,并从列表中剔除,加快了计算速度;

(4)从列表里找出未采用并且梯度值最大的元素为种子元素;然后以该元素为起点,寻找邻域未采用并且梯度方向相似的元素。如果将该元素状态标记为使用状态,并从列表中删除;生成包含所有满足点的外接矩形;根据矩形内的梯度角求出精度误差,满足则保留,定义为一条直线,不满足则删除;

(5)重复第(4)步,直到遍历完全部的点,得到所有的直线。利用LSD对车道线候选区域执行拟合操作,即得到了本文车道线检测的初始版本。

1.5 后处理操作

因为AdaBoost检测得到的车道线候选区域,并不能覆盖整条车道线,只能覆盖其中的一部分,最后拟合出来的车道线是断开不连续的。所以要对得到的粗车道线后处理操作,使得粗糙车道线更加精细化。本文在后处理操作中,首先对拟合出的车道线进行生长,然后进行几何检查,排除长度短的,方向不正确的车道线。

1.5.1 生长策略

(1)根据斜率相似性,对属于同一个车道线的候选区域进行组合,生成多个车道线组合并根据斜率大小将这些组合进行排序;

(2)依次取出一个组合,对该组合里的所有车道线候选区域标记为已使用区域;依次选出一个候选区域,从首尾两端,分别进行向前向后生长,对生长后的区域标记为已使用区域;如生长到感兴趣区域的边界或者生长到已使用区域即停止;

(3)重复步骤(2)直至遍历完全部的车道线组合。这里生长的判断依据过程如下:以首端点为中心,建立一个N*N的矩形区域,对该矩形区域进行LSD检测,若检测存在直线且满足长度大于一定的阈值,以及中心点到直线的距离小于一定阈值,且斜率变化不大,则进行生长。然后更新首端点为新生长出的车道线的首端点,若更新后的首端点进入已使用区域或者达到感兴趣区域的边界则停止,否则继续生长。

1.5.2 几何检查

(1)检测直线长度,本文中候选区域检测车道线时采取的长度阈值为10,生长时的长度阈值为5;

(2)检直线斜率,本文中采用左边车道线的斜率为负,值的范围在(tan105°到tan160°);右边车道线的斜率为正,值的范围在(tan20°到tan75°);

(3)候选区域中心点到直线的距离,本文设定的距离阈值为3;

(4)生长时矩形区域中心点到检测到的直线的距离,本文中生长时矩形区域中心点到检测到的直线的距离为2。

2 实验结果及分析

为了验证算法的性能,本文在公开的Caltech-lanes数据集上测验,同时,为了体现算法的适用性与鲁棒性,在自己构建的数据集中进行广泛测试。测试的硬件平台是Intel®Core i3中央处理器,4 GB容量内存,操作系统为Ubuntu12.04。

2.1 评价指标

在本文的车道线评价指标中,使用的仍然是信息检索领域中常用的检出率、准确率、误检率等常用的评价指标。其中,车道线检出率:即检测到的车道线条数占全部车道线条数的比率

(5)

(6)

车道线检测正确率:即所有检测出的线中是车道线的所占的比率

(7)

车道线检测误检率:即所有检测出的线中非车道线的所占的比率

(8)

2.2 特征的选择与分析

为了统计Haar、LBP、HOG这3种特征的训练检测性能,本文分别用AdaBoost训练了3种特征的分类模型,在Caltech-lanes数据集上进行了测试,分析的3种特征的性能,分析结果见表1。

表1 特征统计分析

从图6中3种特征下的结果可以看出,符合表1的统计结果,Haar特征具有最多的车道线候选区域检测,LBP特征其次,而HOG特征则是最少的,综合表1和图6的数据分析得出,Haar特征具有最佳的检测效果,见图6(b),而LBP特征与HOG特征的检测结果一般,分别见图6(c)和图6(d)。

图6 3种特征下的检测结果

虽然LBP特征相比于Haar特征具有更快的检测速度,但是Haar本身的检测速度已经满足实际需求。综上所述,本文选择Haar特征作为本文纹理提取是有效并且合理。

2.3 Caltech-lanes的实验结果

本文在Caltech-lanes数据集上进行了实验。该数据集主要分成Cordova 和Washington两种城市街道的场景。这两种场景的区别主要是Cordova是向阳的场景,而Washi-ngton是背光的场景较多。总共是标记好的1224帧的数据,含有4172条车道线,其中在当前车道内,含有的两条车道线的是2026条车道线。本文算法只对当前车道进行处理。统计的结果见表2。从表2中可以看出本文算法在Caltech-lanes数据集上能够取得较高的性能。在统计的1224帧图像中,平均检出率是97.1%,平均漏检率是2.9%,准确率是96.5%,误检率是3.5%,处理时间是42 fps。

表2 本文算法在Caltech-lanes数据集上的实验结果

另外,本文方案还与文献[7]、文献[10]中车道线进行实验比较,见表3。从表3中可以看出来,本文方法取

得了优异的准确率,同时相对文献[10]方法,可以减少8.7%的漏检,漏检率仅为2.9%。原因在于基于Haar特征级联能够更好的对车道线表达,从而实现更准确的车道线分类。在处理速度上虽然不及文献[10]中的方法速度。这可能是硬件平台不同的问题。此外,实例测试结果如图7和图8所示。由图发现,本文的方案可适应于虚线、实线、直道和弯道等各种车道线模型,且在高光,可见度很低时,依然能有效检测,鲁棒性强。

表3 不同算法的检测结果

图7 Cordova场景下的测试结果

图8 Washington场景下的测试结果

2.4 自制数据集的结果分析

此外,为更深入测试算法性能,本文自制实际使用数据集。该数据集拍摄了城市里主要的道路区域,视频包含了多种的车道模型以及夜晚高光、树荫遮挡等各种复杂的环境。该数据集总共包含72个小时的视频。视频大小是1280*720的大小。本文通过结合消失线的感兴趣区域选择,有效减少了计算量,通过机器学习对各种复杂场景的学习,有效解决了适用环境单一,不能应对各种复杂环境的问题。而短直线连接近似曲线的策略,则是解决了要同时设计曲线模型和直线模型的问题。面对城区,夜晚以及弯道等复杂条件下都能进行很好的检测,如图9所示。

图9 自制数据集上的测试结果

3 结束语

针对已有的车道线检测算法在复杂环境中存在的严重误检与漏检现象以及车道线检测达不到实时性和应用环境单一等问题,本文设计了一种基于机器学习的车道线检测方案,结合Haar-like特征与AdaBoost的方法,训练了一个车道线的分类器,对场景图像进行检测,在候选区域用LSD的方法执行车道线拟合,完成车道线的粗检测。为了提高检测结果,借助生长策略以及几何检查进行优化,输出最终的车道线。通过对大量真实道路视频数据的测试实验验证,在大多数的道路环境下,本文算法均能对直道和弯道的车道线进行准确的检测。

但是本文的方法依赖于机器学习AdaBoost的有效检测,样本的制作尤为重要。因此,如何更加有效优化检测方法仍是今后需要不断努力的方向。

猜你喜欢
矩形车道分类器
北斗+手机实现车道级导航应用
避免跟车闯红灯的地面车道线
浅谈MTC车道改造
两矩形上的全偏差
化归矩形证直角
基于差异性测度的遥感自适应分类器选择
从矩形内一点说起
基于实例的强分类器快速集成方法
低速ETC/MTC混合式收费车道的设计与实现
基于层次化分类器的遥感图像飞机目标检测