赵晋燕,罗素云,陈杨钟
(1 上海工程技术大学 机械与汽车工程学院,上海 201620;2 大工科技(上海)有限公司,上海 200000)
无人驾驶领域的研究中,对结构化道路和非结构化道路进行准确的路径检测,是自动驾驶汽车的安全导航的关键环节。对自动驾驶汽车非结构化道路行驶路径区域进行精确检测的过程中,各种传感器的应用起着至关重要的作用。基于非结构化道路路径检测中所使用的传感器,在道路检测问题中可以分为2 类:基于相机视觉的检测[1-2]和基于测距(LIDAR)的检测[3]。分析可知,对于后者,基于激光雷达的自动驾驶汽车非常昂贵,因为激光雷达传感器的成本很高。目前,基于视觉的道路检测系统则由于具备的成本低、内容信息丰富、对机器学习、物联网等新兴技术的适应能力强等优点而受到各方青睐[4]。
智能车辆和移动机器人的道路识别是计算机视觉领域的一个研究热点。现有的道路识别研究主要集中在带车道的结构化道路上,非结构化道路的研究迄今为止却远未充分展开。目前,非结构化道路识别可分为3 类:基于特征的方法、基于模型的方法和基于神经网络的方法。其中,基于特征的方法主要是分析道路区域与非道路区域的特征差异实现检测,常用特征包括颜色、纹理和边缘等,如David 等人[5]提出的算法由基于颜色的道路检测器和纹理线检测器两个模块组成。再将这2 个模块与无损卡尔曼滤波器相结合,估计出最佳道路。但这类算法易受水渍、阴影和光照条件的影响。基于模型的方法是通过建立道路边界的数学模型,计算道路边界的相关参数以得到边界。Obradovic 等人[6]提出了一种基于线性模糊空间数学的道路车道模型,并结合一种基于模糊C 均值聚类的稳健道路车道检测方法。然而,这类方法很难建立适用所有形式的道路模型,而在实际行驶中道路类型经常发生改变,难以满足实时性的要求。基于神经网络的方法是通过训练大量的数据集以及视频片段,分析其中涉及的道路特征,从而提升检测的稳定性和可靠性。随着深度学习技术的快速发展,基于卷积神经神经网络模型开始更多地应用到车辆可行驶区域检测、道路路面损伤检测[7]等道路检测领域中。
近几年,随着图像增强技术的不断进步,对于低照度图像来说,针对处理对象的不同,常见的算法可以分为直接以图像像素点为处理对象的空域算法(直方图、多尺度Retinex 算法等)、以图像的某种变换域内对图像的变换系数值进行某种修正的频域算法(同态滤波、小波变换)以及新兴的深度学习图像增强技术,如Lore 等人[8]提出了一种基于深度自编码网络的方法,该方法在使明亮区域不致过饱和的情况下增强弱光图像。Park 等人[9]提出了一种基于学习的新框架,该框架将堆叠卷积自动编码器与Retinex 理论相结合,增强了低照度图像。
本文针对非结构化道路检测常面临光照不足或者光照不均匀所导致的获取图像质量低、极大影响道路识别准确率的问题,提出一种低照度增强的非结构化道路检测系统。
图1 为本文提出的道路区域识别系统的基本流程图。该系统包括4 个主要步骤,对此可阐述如下。
图1 道路检测系统基本流程Fig.1 Basic flow chart of road detection system
(1)同态滤波增强低照度图像。
(2)UNet 语义分割模型得到道路区域图像。
(3)图像预处理,包括转变图像格式以及去除在图像处理过程中产生的噪声。
(4)使用提出的边界拟合算法得到道路区域边界曲线,并与原图像融合来产生最终输出。
在此基础上,主要对同态滤波算法、UNet 网络以及提出的边界拟合算法进行了研究论述。
虽然许多传统增强算法和基于深度网络的模型在作为独立的低照度图像增强解决方案使用时都取得了成功,但却都有一个共同的局限性、即都不是针对高级计算机视觉任务来进行设计。模型的设计仅用于执行增强,却并未考虑这种增强方式对后续预处理阶段的影响。Sobbahi 等人[10]提出一种低光同态滤波网络(Low -light Homomorphic Filtering Network,LLHFNet)。该模型建立在同态滤波的基础上,设计了一种特殊的滤波器对图像的频率分量进行傅里叶变换。然后,利用可用于对象分类的基于深度学习的特征提取器来估计滤波参数。所以,本文针对低照度图像增强选用了对下一步分析更有效的同态滤波算法。
同态滤波(Homomorphic Filtering,HF)是一种高效的增强低对比度道路图像的技术。HF 算法基于光照-反射模型(IRM)。IRM 图像f(x,y)可以看作由照射分量i(x,y)与反射分量r(x,y)两部分组成,其表达式为:
其中,fi(x,y)为光照分量,fr(x,y)为反射分量。
这里,将入射到图像上的能量称为照度。物体在场景中的反射量称为反射率。光照分量的范围为0<i(x,y)<∞,反射率分量范围为0<r(x,y)<1。光照分量被视为一种低频分量,因为照度的数量不随范围变化。反射分量值在这个范围内变化很大,可认作是高频分量。在空间域中,光照对应平滑,反射表示边缘和边界。同态滤波的实现流程,如图2 所示。由图2 可知,该流程主要分为5 个基本步骤,分述如下。
图2 同态滤波算法处理流程Fig.2 Flow chart of homomorphic filtering algorithm processing
(1)对原图像f(x,y)进行对数变换,得到2 个相加的分量,即:
(2)利用快速傅里叶变换将空间域图像转换为频域图像。
(3)设计一个频域滤波器,将传递函数设为H(u,v),进行对数图像的频域滤波。
(4)做快速傅里叶逆变换(FFT-1),得到空域对数图像s(x,y)。
(5)对结果做指数运算(exp),得到最后结果g(x,y)。
如上所述,同态滤波图像增强算法的关键在于滤波器H(u,v)的选取。对于一幅光照不均匀的图像,同态滤波可同时实现亮度调整和对比度提升,从而改善图像质量。为了抑制低频的亮度分量,增强高频的反射分量,滤波器H选为一个高通滤波器,但又不能完全去除低频分量,仅做适当压制。同态滤波器的一般表达形式为:
其中,rL <1,rH >1,2 个参数的作用是用来控制滤波器幅度的范围。Hhp表示高通滤波器,常采用的高通滤波器主要包括高斯(Gaussian)高通滤波器、巴特沃兹(Butterworth)高通滤波器,对应的高通滤波函数的定义及表述如下。
(1)高斯(Gaussian)滤波函数。数学定义为:
(2)巴特沃兹(Butterworth)滤波函数。数学定义为:
一般情况下,图像增强算法是将RGB 图像灰度化后再对灰度图像进行处理,包括同态滤波算法的实现。本文改进原有程序,直接针对彩色图像进行同态滤波处理,选取高斯高通滤波器,其同态滤波函数形式可表示为:
其中,c为一个常数,调节滤波器的形态,即从低频到高频过渡段的陡度(斜率),其值越大,斜坡带越陡峭。
2015年,Ronneberger 等人[11]为解决生物医学图像分割问题,提出了UNet 架构,该模型是基于全卷积神经网络改进的一种对称式编码器-解码器(Encoder-Decoder)网络。研究中,将道路区域识别问题视为二值图像标记问题,其中像素0 表示道路背景,像素1 表示道路区域。根据这一目标,UNet是一个很好的选择,因为该网络主要针对二值图像。在对UNet 网络做结构设计时,着重考虑了从输入到输出的每一层的反馈,即使在很少的数据下也能直接达到可以接受的结果。
UNet 采用对称结构,可以融合不同层次之间的特征映射。UNet 的体系结构如图3 所示。由图3可以看到,UNet 由下采样、上采样和跳过连接三部分组成。左边是压缩过程、即编码器,利用卷积和下采样来减少特征形状,提取较浅的特征。右边是解码过程、即解码器,利用卷积和上采样来识别深层特征。在中间部分,将编码器中获得的特征与通过跳跃连接在解码器中获得的特征进行组合,并通过组合对特征进行细化。
图3 UNet 语义分割模型Fig.3 UNet semantic segmentation model
为克服单一算法或者单一拟合函数的局限性,本文提出一种边缘拟合算法,根据分割得到的结果通过边缘点提取可以得到可行驶区域的左右边界点坐标。以左边界点坐标为例,从得到的有序边界点集合中选取3 个点的坐标,为使得到的拟合边界更加准确,将集合中的数据点按横坐标大小均分为3份,每份中选取一个点,计算判断第一个点和最中间的点拟合的直线与最中间的点和最后一个点拟合直线的夹角,若夹角的范围在180°左右,采用直线函数拟合,否则采用最小二乘法二次曲线函数边界拟合。算法的具体实现流程如图4 所示。由图4 可知,对此流程拟做探讨论述如下。
图4 自适应边界拟合算法Fig.4 Adaptive boundary fitting algorithm
首先,设置2 个集合,用于存放左、右边界点坐标值。
其次,将得到的二值图像从左到右扫描,获取第一个白色像素点坐标(x,y)后,变换像素点坐标,设图像S(M,N),默认原图像的坐标是以左上角为原点建立的,坐标系的X轴正方向水平向右,Y轴正方向竖直向下。根据计算需要,建立以图像左下角为原点的坐标系,其坐标变换公式为:
假设第一个白色像素点坐标为(x1,y1),变换得到的放入集合N1;以此方式将第二个像素点坐标值,与上一个坐标值做判断,若两坐标欧式距离小于设定阈值θ,则放入与上一个坐标值相同的集合;否则,放入另一个集合。图像遍历结束,得到2 个边界的2 个集合。将2 个集合中的数据点进行可视化,如图5 所示。图5中,图5(a)为非结构化道路图像原图,中间上、下图像分别代表拟合得到的左、右边界的散点图,右侧代表原图与之对应的直角坐标系下道路边缘点示意图。
图5 平面直角坐标系下道路边缘点Fig.5 Road edge points in plane cartesian coordinates
考虑到分割出的道路二值图像末端一般为闭合曲线,而且分类出的道路末端的数据点误差较大需要剔除,本文将集合的Y数据值从小到大进行排序后,剔除大的Y值,个数设置为100,再剔除末端数据点后,统计一个集合内坐标值个数。为使选取数据具有代表性,将边界点划分为3 等份,分别在3 个区间中取出一个点,拟合得到2 条直线,参见图5。经实验验证,若2 条直线的夹角在[175°,185°]之间,采用Hough 变换拟合道路边界;否则采用最小二乘法二次曲线函数拟合数据;另一集合同理。
最后,拟合得到2 条左、右边界线,与原图叠加,输出最终的结果。
实验使用6 000 张样本图像构建数据集,其中包括自行采集的照片、Zhang 等人[12]利用摄像头与手机设备拍摄整理而成的UAS 数据集、以及网络搜索得到的非结构化道路图像。将数据集分成75%和25%的比例,对UNet 分割模型进行训练和测试。UNet 语义分割网络经过大量数据集训练,最终的loss值为0.118 0。
道路检测系统的实验结果如图6 所示。图6(a)为输入的原图像,是一种低照度图像;图6(b)为使用同态滤波算法后得到的增强图像;图6(c)为利用UNet 语义分割模型分割后经过二值化处理得到的结果;图6(d)为最终的拟合结果。从实现结果来看,低照度图像不但得到了有效加强,而且较好地拟合出道路边界。
图6 道路检测系统实验结果Fig.6 Experimental results of road detection system
此外,为了更好说明提出的道路边界拟合算法,本文算法与Wu 等人[13]提出的基于最小簇内变量指数方差的阈值分割方法对道路图像进行分割后提取道路边缘,直接利用霍夫变换提取道路边界的算法进行对比,结果所图7 所示。图7(a)为原图,图7(b)为文献[13]的拟合结果,图7(c)为本文提出算法的拟合结果。可以看出直接采用霍夫变换拟合的边界线存在断断续续的直线、边界拟合距离过短的问题,并未取得令人满意的检测结果。
图7 道路边界拟合算法对比结果Fig.7 Experimental results comparison of road boundary detection system
针对低照度条件的非结构化道路,本文提出一种低照度非结构化道路区域识别系统,并取得较好的实验效果。首先,使用同态滤波算法对获取的低照度图像进行增强;其次,利用分割精度高的UNet语义分割网络准确分割道路图像;最后,提出一种融合多种方法的边界拟合算法,拟合得出道路边界线。实验证明,该算法在低照度环境下得到了有效的可行驶道路区域。但存在的问题是系统算法并没有进行很好的融合,而且面对复杂的非结构化道路环境,算法解决的问题也比较单一。未来下一步的工作就是更好地实现算法融合以及增强系统通用性。