APP下载

基于粗糙性度量的道路可行驶区域识别方法

2021-12-11刘泽宾王文举邱泉源

汽车工程 2021年11期
关键词:像素点直方图像素

马 雷,刘泽宾,曹 彪,王文举,邱泉源

(燕山大学车辆与能源学院,秦皇岛066004)

前言

行车过程中复杂的道路环境,光照的强弱、道路状况的优劣以及路旁树木或建筑的阴影都会对道路识别算法造成影响。近年来,国内外对智能车辆道路可行驶区域识别的方法[1]主要有基于图像形态学的方法和基于深度学习的方法。基于图像形态学的方法一般通过边缘检测[3]、道路消失点检测[4]、空间滤波[5]等技术手段对道路图像进行分割和识别,此类方法主要对于道路图像的像素进行计算,导致在图像处理过程中计算量较大且易受环境条件影响。基于深度学习的道路识别方法目前主要应用于结构化道路的可行驶区域识别并取得了良好效果,Kim等[6]在2014年提出了基于卷积神经网络(CNN)的车道检测方法,准确率达到94.7%,但该方法在输入前需要经过图像预处理,训练方式以及数据结构较为复杂。2016年,Gurghian等[7]提出了一种基于分类的深度神经网络车道检测算法,该方法虽然不需要预处理和后处理,但首先要对前方车道位置进行估计,限制了算法的应用场景。2018年,Huang等[8]提出了基于时空的深度学习网络(STLNet)进行道路识别的方法,通过预处理、CNN分类和车道拟合3个步骤完成道路识别任务,该方法探索了时间的约束性,但由于逆透视变换导致算法的鲁棒性受到制约。

为提高道路识别算法计算效率,同时增强算法稳定性,本文中提出一种基于粗糙性度量的道路识别方法,通过对道路图像的形态学特征进行计算获得图像的粗糙性,基于道路图像在颜色特征空间中的色彩分布能够较为精确地划分颜色波段,并以此为依据实现对图像道路区域的初分割。为提高道路可行驶区域识别的直观性和准确性,本文中引入了基于图像灰度级的区域生长算法,通过K-means聚类方法自动获取初始种子点,得到道路图像的可行驶区域特征图;优化道路图像中小规模的孔洞和边界不连续的位置,最终获得道路图像中的可行驶区域。

1 道路图像预处理

道路图像大致可分为3大区域:天空、垂直区域(树木、建筑等)和道路区域。采用IMX225相机拍摄,相机高度为1.32 m,向下偏转3°,对图像中道路区域进行标定。如图1所示,红线上方区域为天空和垂直区域,红线下方表示道路区域。由于智能汽车道路识别过程旨在计算道路的可行驶区域,而图像中大量的冗余非道路区域无疑会增加计算量,因此,需要对道路图像进行预处理以去除道路冗余区域,提高道路识别速度和精度。实验所用图像为320×240像素,一个像素代表一个单位长度。只对下方100像素即0≤y≤100范围内所含的道路信息进行计算。

图1 道路图像及其冗余区域去除

1.1 道路子块图像划分

将预处理后的图像进行子块划分,划分的子块数量可以直接影响算法耗时,因此需要确定合适的子块尺寸,保证在耗时尽可能小的情况下道路可行驶区域特征依然存在。将图2(a)所示的道路图像等分为不同像素大小的子块,并计算出各个子块图像灰度均值特征,图2(b)为16×5像素图像,图2(c)为32×10像素图像,对比可知,16×5像素图像中远方车辆特征已消失,而32×10像素图像中远方车辆及路边车辆特征依然存在,因此,本文中子块划分选取10×10尺寸子块将图像划分为32×10像素图像。

图2 不同像素图像均值特征

将图1预处理后的图像进行子块划分得到的特征图像如图3所示。分析图3可知,道路可行驶区域与道路边缘存在明显的像素梯度,即在道路边缘的像素子块内存在两部分像素差值较大的区域,常见于子块对角区域。在较为复杂的道路环境中存在大量的噪声(阴影、水渍、道路车辆),导致子块内的像素梯度特征可能不完整,但反映在整个道路图像中,大多数道路边界子块内部存在明显的梯度特征,为之后的边界识别提供了数据条件。

图3 32×10像素道路特征图像

对于道路图像中常见的阴影和道路车辆等复杂目标,通过合理划分子块的方法能够在减小识别错误率的前提下滤除部分道路阴影的影响。图4为阴影道路及划分子块后特征图,由图4(b)可知,子块特征图中阴影部分相较于原图中的树影色彩更浅,部分枝杈阴影在特征图中基本消失。图5为道路上存在车辆和阴影的图像及特征图,对比图5中两子图可知,距离本车较近的白色车辆在子块特征图中轮廓依然存在,而远处深蓝色车辆由于与道路阴影颜色相近导致轮廓特征消失,但该车辆所在位置的子块颜色相对于道路部分依然较深。该图像的阴影部分较为明显,可能会对之后的道路识别造成一定影响。

图4 阴影道路图像及其子块特征图

图5 阴影和车辆图像及其子块特征图

1.2 道路图像色彩信息近似表示

基于灰度直方图的阈值分割算法简便易实现,一直被广泛应用,但该方法没有考虑图像中邻域像素的关系。1982年,波兰学者Pawlak提出粗糙集理论[9],为处理具有模糊、不精确或不完全信息的分类问题提供了一种新的数学工具[10]。因此,基于粗糙集提出改进直方图Histon的概念,考虑邻域像素色差的同时,还考虑了像素与周围颜色的近似关系,对于之后划分像素十分有利。

设F是像素大小为M×N的RGB道路图像,则F在R、G、B3个通道上特征分量的粗糙集下近似表示如下:

设定像素邻域大小为3×3,中心像素F(m,n)与其邻域像素F(i,j)之间的距离可以表示为

式中D3×3(F(m,n),F(i,j))表示为像素位置(m,n)周围3×3邻域所有距离之和。式(3)为两个像素点F(m,n)与F(i,j)之间的欧氏距离,两像素点欧氏距离表示如图6所示。

图6 3×3邻域两像素点欧氏距离表示

根据道路图像中道路区域的色调特征设定合理的阈值r,则中心像素F(m,n)与其邻域像素间的同质程度可表示为

当D3×3(m,n)小于阈值r时,认为其邻域像素与中心像素F(m,n)完全同质;随着D3×3(m,n)的增大,邻域的同质程度逐渐减小,直至完全失去同质性;其中r的取值通过多次测试得出。

根据像素的同质性,构造道路图像各颜色特征上色彩分布信息的粗糙集上近似表示如下:

根据式(1)和式(5)确定的道路图像在基色R上的上下近似分布信息表示如图7所示,显然图7 中上下近似差异较大的部分表示粗糙程度较高,能够为下文的道路图像初分割赋予更加精确的色彩描述。其中,L为各颜色特征上的灰度级数目,V为变量L的度量。

图7 道路图像色彩分布信息直方图

1.3 道路图像粗糙性

道路图像的下近似色彩分布信息是对像素颜色特征的精确描述,换言之,其下近似为道路图像像素的真实色彩分布;而道路图像的上近似色彩分布为基于同质度函数的像素可能的色彩分布。因此,两者之间产生的粗糙性可表示为

式中:0≤g≤L-1且k∈{R,G,B};W(•)为引入的权重函数,该函数与原图像分布直方图相关。

式中:m=c2/2b2;n=c2/2(c-b)2;参数b和c根据道路图像下近似色彩统计分布直方图的分布均值计算得到。

因此,根据式(6)即可得出道路图像在基色R上近似色彩分布与下近似色彩分布的粗糙性,相应得到的道路图像粗糙性分布直方图如图8所示。通过这种量化粗糙性的方法能够对道路图像的色彩分布进行精确描述,从而获得图像中较为完备的道路信息,减少由于道路子块图像划分导致的图像信息丢失现象。由图8可知,若根据现有的粗糙性信息进行图像分割将导致颜色特征划分过细,难以保证图像中道路部分的一致性,因此,还需要选定合理的图像分割策略,保证图像颜色特征划分准确并减少图像色彩的数目,保证道路可行驶区域的色彩一致性。

图8 道路图像粗糙性分布直方图

2 道路图像初步分割策略

2.1 分割原理

根据粗糙度函数和粗糙性分布直方图的性质可知,道路图像的上下近似信息差异大小分别对应粗糙性分布直方图的波峰和波谷位置。因此,通过选定道路可行驶区域所代表的粗糙性峰值即能够实现对道路图像的色彩波段划分,进而完成对道路图像中可行驶区域的初步分割。

在道路图像粗糙性分布直方图中,需要找出直方图中波峰和波谷的位置以便于确定分割图像的粗糙性阈值。首先将所有粗糙性峰值由小到大进行排序,极大峰值中的最大值记为Pmax,极小峰值中的最小值记为Pmin,计算其均值μm及标准差σm,将峰值序列的高度阈值设定为Th=μm-σm。与固定阈值分割方法相比,这种自适应的阈值设定方法更能适应实际行车环境中道路图像的可行驶区域识别情况。

(1)在粗糙性分布直方图中,若粗糙性波峰的峰值大于算法输出的高度阈值Th,则认为该波峰为有效波峰。

(2)依据高度阈值Th确定波峰序列,设定宽度阈值Tw=4,若相邻波峰间的距离超过宽度阈值Tw,则认为该波峰为有效波峰。

根据分割原理及波峰序列选定算法所得有效波峰图像如图9所示。在确定有效波峰后,根据图9中的有效波峰信息将道路图像色彩波段进行初步分割,基于相邻波峰间的波谷位置确定道路图像的色彩波段,各波段的灰度值由该波段内像素点数目与整幅图像像素点个数的比值加权得到。

图9 道路图像粗糙性分布有效波峰图像

2.2 道路图像初分割

在已知图像尺寸为32×10的情况下,通过对算法参数的反复调整,得到较优的分割参数,参数设置如

表1 所示,最终图3的初分割效果如图10所示。

图10 道路图像初分割效果图

3 道路图像可行驶区域识别

3.1 区域生长算法

区域生长是一种经典的图像分割方法。利用生长准则将种子点周围具有相似特征的像素或区域并入种子范围,最后获得联通区域[12],区域生长算法的准确性主要取决于生长准则的制定和初始种子的选取位置,不合理的生长准则和初始种子点位置将会导致区域的欠分割与过分割现象。种子点的信息必须能够代表道路图像中目标区域的大部分像素性质,本文中采用一种自适应种子点选取方法,选取原则如下。

(1)车辆在道路上行驶的过程中,车载相机或环境感知传感器一般都安装在车辆前部的中间位置,以便于进行与其他传感器的数据融合。因此,车载相机拍摄的图像,其道路可能区域相对于整个图像占比较大,且位于图像中间位置。

(2)选取道路初分割效果图底部中间矩形区域内的所有像素集合作为种子点Se的预选区Ue,采用K-means聚类方法对其进行二分类处理,并拟定预选区中心点Me为区域生长的种子点Se。

臭牡丹(Clerodendrum bungei)为马鞭科大青属植物,具有解毒、消肿、止痛、镇静和催眠功效[4].目前对臭牡丹的活性研究主要集中在粗提物的抗炎、镇痛、抗肿瘤等方面[5],而抗氧化活性成分研究未见报道.1,1-二苯基-2-二酰肼(1,1-diphenyl-2-Picrylhydrazyl, DPPH)是一种稳定存在的自由基,可与抗氧化物质的活性氢发生反应,通过DPPH的半数抑制浓度(IC50)值评估物质的抗氧化活性强弱[6].

(3)判断种子点Se是否满足条件。根据Kmeans聚类方法确定的聚类中心若落在元素较多集合中,则满足条件,反之,则以Me为起始点,按照逆时针方向的邻域寻找满足条件的初始种子点Se。

区域生长准则对于区域生长算法的准确度和程序计算耗时至关重要。本文中采用道路图像灰度差的生长准则,将选取的种子点为基准点,通过灰度差衡量基准点与其他像素点间的差别。

3.2 道路区域处理

如图11所示,利用区域生长法处理初分割道路图像后,道路可行驶区域内存在边缘不连续或者孔洞现象。

图11 道路原图及区域生长孔洞图

由于光照条件影响以及道路与背景的相似度较高,导致区域生长的过程中存在“破绽”,最终获得的道路可行驶区域与图像背景产生部分重叠。针对上述问题,对武历颖、余强提出的道路分块分类方法[13]进行改进,改进策略如下。

(1)通过像素点的8邻域属性判别该像素点。首先利用3.1节中的区域生长算法设定像素点属性:道路点中Rlg=255,非道路点中Rlg=0。

(2)某一像素点的8邻域包含两类属性,采用置信概率判定该混合区域的像素属性。设该混合区域HR中,道路区域为R,非道路区域为NR,则其置信概率为

式中P为该像素点属于道路区域的概率,设置置信度为0.6,当P大于0.6时,则认为该像素点属性为道路区域。

(3)在混合区域HR中,若存在某些异常像素点(R≤2)时,则认为是非道路区域,对异常像素点进行删除处理。

如图12所示,通过上述步骤对道路区域特征图像的优化能够弥补特征图中出现的孔洞和道路边缘不连续现象。

图12 道路区域优化处理图

3.3 图像连续帧融合

由图12可知,通过区域生长法获得道路可行驶区域特征图后,区域边界部分锯齿明显,边界识别效果不理想,因此,根据1.1节得到的道路图像边界梯度特征,确定图像边界特征点,采用三次多项式拟合道路边界,根据道路可行驶区域特征与子块位置的映射关系,与道路边界进行融合,得到最终的道路可行驶区域。

车辆环境感知传感器采集图像信息的时间间隔一般不超过0.1 s,在道路可行驶区域识别过程中,由于连续两帧图像的道路可行驶区域信息相关性较强,因此可以通过上一帧图像道路可行驶区域的识别结果来确定本帧图像(图13)的道路区域。在道路子块图像中,第一帧图像识别区域大小为32×10像素,在识别下一帧图像时,道路可行驶区域内部信息基本不变,因此在下一帧图像识别中只需识别特征图像的首行和末行并将其加载至上一帧道路特征图像中即可确定下一帧图像的可行驶区域。下一帧图像首尾行识别结果如图14所示(白色为道路区域)。

图13 本帧原图

图14 本帧道路识别结果

设定道路边界的识别频率为1次/s,图像采集频率为8帧/s。将图14中的下一帧道路图像首尾行识别结果融合至上一帧道路特征得到图15。图16为下一帧图像道路识别结果,通过3.2节优化后的识别结果如图17所示。

图15 首尾行识别结果

图16 融合后特征图

图17 下一帧道路识别结果

由此可知,在道路可行驶区域识别过程中,每秒仅需完整识别第一帧道路图像可行驶区域和区域边界位置即可完成对下一帧图像的道路识别,有效缩短了算法耗时。在之后的研究中,将探究在不影响行车安全的条件下不同车速对于连续帧融合的影响。

4 实验结果与分析

4.1 实验条件和数据来源

本文中所有算法验证均在计算机上完成,计算机配置为:处理器AMD Ryzen 7 4800H,主频2.90 GHz,内存16 GB,操作系统Windows 10(64位)专业版。开发环境为VS2017。实验数据来源于实际拍摄图像,所有图像大小统一设定为320×240像素。

4.2 算法测试结果

从实地拍摄的道路图像数据中随机选取400幅图像进行测试分析和实验,证明基于粗糙性度量的方法具有较优的初分割效果。图18为直接利用原始图像进行区域生长的道路特征图,对比图12可知,利用粗糙性度量的方法对道路图像进行初分割能够有效加强图像中道路区域色彩的同质性,从而减少区域生长法产生的孔洞及边界不连续现象。图19中各分图依次展示了连续采集的8帧道路图像的识别结果。由图19可知,将0时刻的道路边界识别结果作为未来1 s内的道路可行驶区域边界具有可行性,不会产生较大偏差。由于对道路图像粗糙性的定义,使得算法具有较强的鲁棒性;基于灰度级的8邻域区域生长算法对道路图像可行驶区域具有良好的识别效果。

图18 未初分割处理的区域生长特征图

图19 连续图像道路可行驶区域识别效果

通过大量实验可知,在光照较好、结构化道路图像中,阈值r取0.1~0.15效果较好,光照条件较差及非结构化道路图像r一般取0.15~0.2。图20显示了原图以及不同距离阈值在识别准确、欠拟合、过拟合等3种情况。

图20 不同阈值下道路识别情况

由图19和图20可知,本文算法对于结构化路面和非结构化路面都具有良好的识别效果,但未考虑道路中存在阴影及车辆的影响。图21和图22分别为道路中存在阴影及道路中存在阴影和车辆的道路可行驶区域识别结果。由此可知,本文算法对于道路中存在颜色较浅的阴影和距离较近的车辆具有良好识别能力。由于对图像进行了缩小处理,导致图22中远处的道路区域未能识别,在边界拟合过程中,由于远方深蓝色车辆的存在,导致右边界其他位置的拟合结果稍有欠缺。在车辆行驶过程中,光照条件对于道路识别算法的影响很大,在光照条件差的隧道内,算法的识别效果仍然较好,如图23和图24所示。

图21 阴影道路识别结果

图22 阴影和车辆识别结果

图23 隧道内道路图像

图24 隧道内道路识别结果

4.3 算法耗时定量分析

算法各步骤耗时如图25所示。由图可知,改进的区域生长法并未带来较高的时间消耗。由于上一帧图像的部分识别结果能够加载至下一帧图像,因此在下一帧图像识别过程中只需要识别首尾两行子块图像,从而减少了下一帧图像的识别耗时。上一帧图像总耗时为99.2 ms,而下一帧图像的总耗时为86.4 ms。因此未来1 s内的该方法耗时相较于将每帧图像全部区域进行识别的算法耗时减少约102.4 ms,识别算法的计算效率提高12.9%。

图25 算法各步骤耗时

5 结论

(1)直接利用彩色道路图像,通过度量图像粗糙性的方法对道路图像进行初分割处理。该方法较传统直方图的信息统计方法能够更加有效地分割出图像中的同质区域。此外,有效波峰选定算法能够在准确完成初分割的同时,也极大减少了道路图像的像素规模。

(2)采用区域生长方法,利用K-means聚类获取生长种子点,摒弃以往交互式或固定式选取生长种子点的方法,提高种子点选取准确性;并根据改进后的优化策略,得到最终的道路图像可行驶区域识别结果。

猜你喜欢

像素点直方图像素
像素前线之“幻影”2000
“像素”仙人掌
用直方图控制画面影调
一种X射线图像白点噪声去除算法
基于灰度直方图的单一图像噪声类型识别研究
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位
例析频率分布直方图
中考频数分布直方图题型展示
高像素不是全部