王杨 王祎帆 孟俊峰 陈晓愚 孙连明
(中国第一汽车股份有限公司 智能网联开发院,汽车振动噪声与安全控制综合技术国家重点实验室,长春130013)
主题词:前视摄像头 RGB 顶帽算法 Canny算子 边缘检测
如今,汽车产业的发展正显现出电动化、智能化、网联化和共享化四大趋势[1]。随着传感器技术、人工智能技术的快速发展,自动驾驶技术已经成为各大车企、学校、研究院等单位研究的热点。自动驾驶汽车通过多传感器协同作用来全方位进行环境感知,超声波雷达、毫米波雷达和前视摄像头传感器都扮演着重要角色[2]。其中,前视摄像头在结构和功能方面与人眼最为接近,因此也成为自动驾驶技术不可或缺的元素,发挥着至关重要的作用[3]。伴随自动驾驶的演进,前视摄像头技术也在不断进化[4]。目前,常用的摄像头包括:单目前视摄像头和双目前视摄像头。未来,随自动驾驶技术的演进,前视摄像头技术也会不断进化,为自动驾驶提供更强大的功能。前视摄像头通常安装在前风挡玻璃后面,通过前视摄像头即可获取前方车辆、会车车辆、前方行人、交通标志、车道线等多种交通目标信息。前视摄像头系统使用专用图像处理芯片,对车辆前方图像进行识别和处理。该系统可以识别车辆前方的目标并计算相关信息,以实现多种主动安全以及舒适功能,使车辆驾驶更加安全舒适。前视摄像头进行前方目标识别流程图如图1所示。
图1 前视摄像头目标识别流程
在前视摄像头目标识别中,图像的边缘信息是前方目标最基本的特征之一,携带着一幅图像的大量信息[5]。图像的背景与目标图像的边界叫做图像边缘[6],图像边缘检测一是为了产生更适合人眼观察的目标识别图像;二是为了通过摄像头的处理器自动识别前方目标。因此对于自动驾驶汽车来说,研究前视摄像头图像边缘检测问题尤为重要。图像边缘检测具体的流程如图2所示。
图2 图像边缘检测流程
通常在前视摄像头图像采集过程中,由于受到摄像头本身电子元器,电子线路的影响,会使采集的图片带有噪声,影响检测与识别的结果。另外,在各种各样的道路场景中,由于环境光照条件多变因素,会导致前方目标的光照不均匀,影响前视摄像头的识别效果和应用价值,严重时还可能引发交通事故。因此对光照不均匀图像的预处理,降低光照对图像的影响,逐渐成为图像边缘检测领域的一个研究热点,也是在视觉辅助驾驶技术中不可忽视的痛点。
本文针对图片噪声及光照不均匀问题,提出基于Top-Hat-Canny多重边缘检测方法,改善图像质量,削弱光线不均匀问题对识别带来的影响。将Top-Hat和Canny算子相结合,建立Top-Hat-Canny多重边缘检测模型。采用小波阈值算法分别对彩色图像三个空间进行滤波,对滤波后的三个分量进行重组生成新的R、G、B分量,较大程度地保留了原始图像信息,同时达到了噪声滤除的效果。然后,经加权平均法对R、G、B分量灰度化处理,降低图像维数。最后,采用Top-Hat-Canny多重边缘检测方法对图像进行边缘提取。实验结果表明:该方法可以有效地提对道路上的行人、前方车辆及障碍物的边缘检测精度边缘检测。
大量学者将小波变换(Wavelet Transform,WT)引入到信号分析中,尤其是在图像处理、模式识别等领域,小波变换已经成为了重要工具。
小波应满足以下不等式[7]:
其中 ψ(ω )为小波母函数,只有符合式子(1)的约束条件,同时是与时间相关的单值函数才可称之为小波。
设信号如下[8]:
公式(2)中,f(k)表示含噪的信号;s(k)表示原始信号;n(k)表示高斯白噪声,并且服从N(0 , δ2)分布。因为小波变换为线性变换,故对信号f(k)=s(k)+n(k)作小波变换会得到由两部分组成的小波系数Wj,k。其中真实信号s(k)对应小波系数为Uj,k,噪声信号n(k)对应小波系数为Vj,k。
Donoho提出小波变换可以在小波定义域内将能量集中在某些较大的小波系数上,同时使噪声布满整个小波域[9]。这样通过小波处理后的小波系数的幅值会大于噪声的幅值。寻找一个适当的数λ作为阈值,当Wj,k>λ时,Wj,k由噪声引起;Wj,k>λ时,Wj,k由信号引起。这样就可与通过设定阈值的方法对信号进行去噪。小波阈值法又分为软阈值和硬阈值,这两种阈值函数如下所示[10]。
软阈值:
本文采用小波软阈值方法对图像进行滤波去噪。
采用硬阈值法,图像信号通常会产生附加震荡,产生跳跃点,不具有原图像的平滑性;采用软阈值法得到的小波系数整体连续性较好,也不会引起图像产生震荡。本文针对前视摄像头拍摄的图片特性,采用小波软阈值去噪方法对RGB彩色图片的3个空间分量分别进行滤波去噪。具体图像去噪过程如下:
(1)将原始图像G分成y、u、v3个空间分量,表示为 Gy、Gu、Gv。
(2)对Gy、Gu、Gv的3个分量进行小波软阈值滤波去噪,得到新的分量Gy、Gu、Gv。
(3)将新的3个空间分量Gy、Gu、Gv重组,构成新的去噪后图像G′。
顶帽变换(Top-Hat)是原始图像与其开运算和闭运算之间的一种差值运算。为了提取出新的目标,选取合适的结构元素进行灰度开运算,具体方法有以下2种:
(1)让图像中只保留对图像背景的估计;
(2)将小于结构元素的噪声消除,从原图中减去对背景的估计,提取出目标。
顶帽变换定义如下[11]:
其中,f是缩小后的灰度图;b是顶帽变换中的模板,b越大对计算时间影响就越大,通常b选取的面积比目标的面积略大即可。
Top-Hat分为白顶帽变换和黑顶帽变换[12]。白顶帽变换为图像f减去其开运算结果的差值,即[11]:
其中,γ(f)为图像f的开运算,对f进行开运算,可以通过像元在某一窗口中先腐蚀后生长来获得。图像f的白顶帽运算后的值大于0或等于0[13]。
黑顶帽变换是图像闭运算减去图像f的差值,即[13]
其中,δ(f)为闭运算,其与开运算正好相反,是像元在某窗口内先生长后侵蚀运算得到的。黑顶帽变换后的值也总是大于0或等于0的[14]。
Canny边缘检测方法需要在各种视觉目标中,提取出其中对实验有用的结构信息,极大减少了目标的数据量,目前该方法已普及到各种计算机视觉中。验证边缘检测效果好与坏的标准有[15]:
(1)是否按低错误率进行边缘检测;
(2)实际检测到的边缘应精准定位在真实边缘的中心处;
(3)图像不会受到噪声影响产生假的边缘,且图像中给定的边缘只可被标记一次。
相关计算指标如下[16]。
(1)信噪比准则:
图像信噪比SNR越大,表明所提取的边缘质量越好,具体计算公示如下[16]:
式中,G(x)代表边缘函数;σ为高斯噪声均方差;h(x)代表宽度为W的滤波脉冲响应。
(2)定位精度准则:
边缘定位精度L定义如下[16]:
其中,G′(x) 和 h′(x)代表G(x)和h(x)的导数;L越小定位精度越差,L越大定位精度越高。
(3)单边缘响应准则:
为了保证单边缘只有一个准确响应,检测算子脉冲响应导数零交叉点的平均距离应为[16]:
在各种边缘检测方法中,Canny边缘检测算法是一种检测效果良好且可靠的方法。它能满足上文提到的3个标准,且检测过程也较为简单,已成为最流行的边缘检测算法之一。
Canny算法由以下5个步骤实现[17]:
(1)使用Gauss滤波器平滑图像,降低由噪声引起的错误检测概率,具体公式如下[17]:
(2)计算图像中像素点的方向及梯度强度。通常,使用Canny算子的图像边缘可以指向任意方向。把x轴上的信息记作Gx,y轴记作Gy,则每个像素点方向和梯度G公式如下[17]:
(3)用非极大值抑制来消除边缘检测带来的杂散响应。非极大值抑制是一种边缘稀疏方法,作用在于“瘦”边缘。上文中标准3提到的对边缘有且应当只有一个准确的响应,而非极大值抑制可以将除局部最大值以外的梯度值抑制为0。
(4)用双阈值方法对真实和潜在的边缘进行判定。
(5)最终的边缘检测是通过抑制孤立的弱边缘来实现的。因为强边缘的像素是从图像的真实边缘中提取的,因此可将其定义为边缘。而弱边缘像素既能从真实边缘提取也可能是由噪声或颜色变化造成的。抑制由噪声或颜色变化引起的弱边缘对结果的准确性有很大的影响。
由于彩色图片信息量大,特征量和计算量成指数增加,将去噪后的RGB图像灰度化处理,降低维度,提高运算速度。
彩色图像单个像素由(R,G,B)合成,转换成灰度图就是(L)。由于人眼对Blue敏感最低而对Green的敏感最高,故按公式(13)对Red、Green、Blue 3分量进行加权平均计算,得到较合理的灰度图像[18]。经灰度处理后的图像仅是丢失了图片的颜色信息,而其他的信息仍保留在图片中。
为了克服直接使用Canny方法对具有亮度不均匀背景的目标图像进行准确的边缘提取的不足,提出一种Top-Hat-Canny图像边缘检方法。Canny在有噪声的情况下表现好坏,取决于前面的降噪过程,这也是为什么在做边缘检测之前进行单独的图像降噪的原因,流程如图3所示。
具体过程如下:
(1)将原始图像G分成y、u、v3个空间分量,表示为 Gy、Gu、Gv。
(2)对Gy、Gu、Gv3个分量进行小波软阈值滤波去噪,得到3个新的空间分量
(4)对灰度图像g(i,j)做顶帽变换得到WTH(g)。
(5)再对WTH(g)图像做Canny边缘提取,最终得到边缘特征。
图3 Top-Hat-Canny边缘检测流程
本文的实验数据采用Karlsruher Institut für Technologie和Toyota Research Institute联合创办的KITTI数据集,该数据集是自动驾驶场景中最大的数据集。KITTI数据集包含市区、乡村和高速公路等各种场景的真实图像数据,常用于识别检测图像、光流和视觉测距等[19]。
以KITTI数据集内市区车辆为例,为了使去噪效果更明显的体现在图片上,先在原始图4(a)上添加椒盐噪声,得到加噪后图像如图4(b)所示。之后将原始RGB图像分成R、G、B 3个空间分量,分别对3个分量进行小波软阈值去噪处理,得到滤波去噪后图像。
实验结果如图4(d)所示。从图中可以明显看出,基于WT的RBG图像空间滤波去噪方法可以有效的滤除噪声同时保留原始图像信息。将基于WT的RBG图像空间滤波去噪方法与直接将原始图像通过小波阈值去噪的方法进行对比实验。从图4(c)和图4(d)的对比中可以明显看出,先分解再滤波的去噪效果要明显优于直接对原始图像去噪的效果。
图4WT空间滤波去噪图像
分别从KITTI数据库中随机选择2幅图像进行仿真实验,分别对加入椒盐噪声和高斯噪声的图像进行滤波去噪仿真实验。计算图像的信噪比(SNR)和峰值信噪比(PSNR)来评价去噪效果,实验结果见表1和表2。PSNR值越大,代表失真越少;SNR值越大,表示图像质量越高。从表1和表2中可以看出,本文的算法明显优于直接对图像进行小波去噪的方法。
表1 PSNR评估表
表2 SNR评估表
原图像去噪后将图像进行灰度化处理,得到的灰度图像如图5所示。灰度处理只是将图像彩色信息去掉,但是图像的其他信息仍被保留。
从原始图像图4(a)中可以明显看出,图像右侧部分光线很亮对该图像内的车辆目标有一定的影响,本文采用基于Top-Hat-Canny多重边缘检测方法,对灰度化后的图像进行Top-Hat处理,削弱光线对目标的影响,结果如图6所示。这里可以看到Top-Hat处理后的图像删除了大部分非均匀背景,最后阈值处理后,车辆目标被分割出来,虽然有少量残缺,但是影响不大。
图5图像灰度化处理
图6 Top-Hat去除光照影响
经Top-Hat处理后,对图像进行Canny边缘检测,加强图像边缘信息,实验结果如图7所示。从图中可以直观的看出,采用Top-Hat-Canny联合边缘检测后,目标的边缘信息更加的清晰、连续,并且保留下的背景信息也相对更少。
图7 Top-Hat-Canny提取边缘信息
在图像边缘检测中,定位精度越小,表明边缘检测的定位精度越好,图像的连续性强,边缘的断裂较少;单边缘响应值越大,表明边缘检测方法的效果越差。将传统的Canny算法分别与Sobel算法、自适应Canny算法以及本文提出的Top-Hat-Canny算法进行对比实验,结果如表3所示。从表3中可以看出传统的Canny算法定位精度和单边缘响应都要优于传统的Sobel算法,而改进的自适应Canny算法的边缘检测结果要优于前两种算法。将本文提出的Top-Hat-Canny算法与其他3种算法进行对比分析,定位精度及单边缘响应都要优于以上3种算法,边缘检测效果更好。本文提出的Top-Hat-Canny算法不仅解决了光线不均的问题,同时还提高了图像边缘检测的效果。
表3 边缘图像的评价指标
本文提出一种基于Top-Hat-Canny的汽车前视摄像头图像边缘检测方法。实验证明:该方法可以高效率、高精度的对道路上的行人、车辆等目标进行边缘检测,提取边缘特征,为后续前视摄像头前方目标识别做充足的预处理工作,这对于自动驾驶技术的发展具有重要的意义。