APP下载

基于背景光照去除和连通区域的车位检测*

2020-03-18罗禹贡王永胜

汽车工程 2020年1期
关键词:鱼眼像素点灰度

黄 晨,刘 泽,罗禹贡,王永胜

(1.江苏大学汽车与交通工程学院,镇江 212013; 2.清华大学,汽车安全与节能国家重点实验室,北京 100084)

前言

伴随着智能驾驶技术的兴起,汽车变得更加安全和智能,其中,自动泊车功能因其实用性,具有很高的研究价值。自动泊车系统分为基于超声波和基于图像的自动泊车两种[1-3],基于超声波的自动泊车受限于车位两侧必须有参照车辆,且对车位两侧车辆的停放位置角度都有严格要求,而基于视觉的自动泊车可较好地解决这些问题,且定位的精度更高。但图像识别容易受到光照不均匀的影响,当图像中的环境信息较为复杂时,会极大地干扰车位识别。针对上述问题,本文中提出了一种基于背景光照去除和连通区域提取的车位检测定位方法,可在很大程度上降低光照不均匀的影响,并可将车位从具有复杂环境信息的图像中提取出来,最终实现车位的准确定位。

1 鱼眼相机模型

本文中使用鱼眼相机进行图像采集,鱼眼相机模型描述如图1所示。

图1 鱼眼相机模型和坐标系

该模型中,从世界坐标到成像面坐标的投影系为一个包含相机畸变参数的非线性投影函数,用泰勒级数展开多项式表示为

用 Rt=[r1,r2,r3,t]来表示世界坐标到摄像机坐标的旋转平移矩阵,则世界坐标系中的一点P(x,y,z)到其成像点的投影关系为

成像点的坐标与图像上的像素坐标存在如下的仿射变换关系:

2 图像处理与识别

本文中使用4个鱼眼相机进行图像采集,并通过畸变校正等处理得到车辆周围的全景鸟瞰图,将其作为系统的输入。车位的识别定位流程如图2所示。

2.1 图像预处理

2.1.1 灰度化

图2 图像识别流程图

像素点的颜色可由式(4)来表示,任何颜色都可表示为3个基矢量的线性和。改变像素点的颜色,只需改变R,G和B 3个颜色通道的值即可。

由于输入的鸟瞰图是未经处理的彩色RGB图像,需要对RGB 3个分量分别进行处理,大大增加了图像处理的计算量,故需将RGB图像转换为灰度化图,以降低计算量。灰度化是指通过一定的方法来改变像素点颜色矩阵的3个基矢量R,G和B的值,使其相等,即R=G=B,常用的灰度化方法主要有最大值灰度化法、平均值灰度化法和加权平均值灰度化法。加权平均值法细节保留较好,并且较好地控制了过亮的情况,所以本文中选择采用加权平均值法进行灰度化处理:

2.1.2 图像增强

由于灰度图中存在噪声,会严重干扰车位的识别,为了弱化噪声的干扰,对图像中感兴趣区域进行突出强化,提高识别的准确性,也就是最大化地保留图像的细节,同时尽可能地抑制图像噪声,需要进行滤波操作,滤波的效果直接影响后续的处理和识别效果。图像增强方法主要有空间域增强和频率域增强两类,本文中选择了更加适合车位检测的空间域增强,空间域滤波经常使用的有3种,包括平均值滤波、中值滤波和高斯滤波。本文中选择了使用较多的高斯滤波方法。

2.2 二值化处理

在进行车位识别之前,需要将图像进行二值化处理[4],最基本的二值化方法是全局二值化,计算得到整张图的全局灰度阈值thresh,将高于这个thresh的像素点设置为255,低于这个thresh的像素点设置为0,这里采用最大类间方差法OSTU[5]计算最佳阈值thresh。全局二值化方法对于光照均匀且画面信息简单的图像处理效果较好,但是当图像中光照不均匀或画面信息复杂时,该方法的处理效果就会很差。为了解决这个问题,本文中通过去除背景光照来进行处理。图3展示的是光照不均匀的原始图像三维可视化效果,图4展示的是通过形态学开运算[6]得到原图像的背景光照三维可视化结果,将背景光照从原图像中去除,所获得的图象三维可视化效果如图5所示。最后,在去除背景光照后的图像基础上应用前文所述的全局二值化方法。

图3 原图像的三维可视化效果

图4 背景光照的三维可视化效果

图5 去除背景光照后的三维可视化效果

2.3 连通区域提取

为了减少无关直线的干扰,同时降低直线检测的工作量,本文中设计了一种基于连通区域的方法进行车位的提取,首先对图像中的封闭空洞区域进行填充处理[7],再提取出图像中的连通区域。连通性指的是一种区域概念,它基于像素点的邻接性,假定某像素点X的垂直和水平相邻的4个像素点(x,y-1),(x,y+1),(x-1,y)和(x+1,y)用 M4(X)表示,像素点X的对角相邻的4个像素(x+1,y+1),(x+1,y-1),(x-1,y+1)和(x-1,y-1)用 MD(X)表示,则M4(X)表示4邻域,M4(X)与 MD(X)的并集称为 8邻域,如果4邻域中4个像素点的灰度值与中心点X的灰度值相等,则称为4邻接,同理可以定义8邻接。若像素点A和像素点B是4邻接的关系,则称A像素点和B像素点连通,再假定像素点B和像素点C也是4邻接关系,则A与C也连通,彼此4连通的像素点一起组成一个区块,将其称之为4连通区域,同理可以定义8连通区域。

2.4 形态学处理

获取的联通区域常包含细小的边角毛刺等无关区域,这里采用形态学处理中的开运算进行解决,开运算是腐蚀运算和膨胀运算的组合,即对图像先进行腐蚀运算,再使用相同大小的结构元素对腐蚀后的图像进行膨胀操作[8]。腐蚀运算利用特定的结构元素对物体的边缘进行侵蚀,本文中采用的是3×3大小的矩形作为腐蚀运算结构元素,若图像中含有比结构元素大的区域,则腐蚀之后的结果是使该区域缩小一圈,但若图像含有小于结构元素的区域,则该区域在经过腐蚀操作以后会断裂或消失,腐蚀运算公式为

式中:(x,y)为像素点坐标;⊖为腐蚀运算符号;A为待处理的区域;B为进行腐蚀运算的结构元素。

进行完腐蚀运算操作之后,连通区域中的细小毛刺将会被腐蚀掉,但同时,整个区域轮廓也随之缩小一圈,接下来需要使用与腐蚀运算相同的结构元素通过膨胀运算让腐蚀后的主体区域恢复原来的大小,膨胀运算公式为

式中:(x,y)为像素点坐标;⊕为膨胀运算符号;A为待处理的区域;B为进行膨胀运算的结构元素。

2.5 边缘检测

车位最重要的信息是它的4条边,因此需要对所获取的符合特定要求的区域进行边缘提取。常用的边缘检测算子[9]有梯度算子、高斯 拉普拉斯算子、Canny算子[10]等,由于梯度算子和高斯 拉普拉斯算子只有在没有噪声干扰的情况下才能正常作用,而Canny算子的抗噪声干扰能力较好,正是因为其在边缘连接方面和抗噪声干扰方面具有较好的效果,故本文中采用该方法。

2.6 Hough变换

对所获得的边缘进行直线检测,这里采用的是一种改进的Hough变换方法。Hough变换是将直线检测问题转化为极坐标系中的点检测问题的一种方法[11],直角坐标系和极坐标系可进行转换,直角坐标系下的一条直线对应于极坐标系下的一个点(ρ,θ)。如图6所示,经过直角坐标系中的一点(x1,y1)的直线有无数条,而每一条直线对应于极坐标系中的一个点,将这些直线全部转换成极坐标形式,就对应了极坐标系中的一条正弦曲线 ρ1=x1cosθ+y1sinθ,同理,经过直角坐标系下的一点(x2,y2)的所有直线对应于极坐标系下的另一条正弦曲线ρ2=x2cosθ+y2sinθ,这两条曲线有一个交点(ρ0,θ0),这个点代表的是同时经过(x1,y1)和(x2,y2)的直线。对整个图像的每个像素点进行遍历之后,极坐标系的曲线会产生很多的重合点,通过对重合点的数量进行累加,最终统计出每条直线经过的像素点数量,从而完成直线的检测。

图6 Hough变换示意图

3 实验与结果分析

实验以清华大学汽车研究院的一辆日产逍客实验用车为平台,如图7所示。利用4个广角为180°的鱼眼摄像头设计了一个360°全景环视系统,用该系统对车辆周围的画面进行拍摄,摄像头分别固定在车辆的左右后视镜侧边,车头的车标和后备箱的车标下方。经由图像采集卡对摄像头的原始画面进行获取。

图7 实验用车

由于鱼眼相机所获得的图像带有较大畸变,需要通过畸变校正[12-13]、逆透视变换和裁剪拼接处理[14],最终得到全景鸟瞰图,如图8所示。

图8 全景鸟瞰图

图9 为使用加权平均值法灰度化和高斯滤波预处理操作以后的图像。可以看到,细节保留较好,且较好地控制了过亮的情况,图像噪点明显减少的同时,车位等细节信息得以较好的保留。由于图9光照不均匀且包含了大量干扰信息,如多个无关车辆等,环境信息较为复杂,图10为其全局二值化处理结果。可以发现,二值化后车位线消失。图11为本文中采用的去除背景光照的方法得到的二值化结果,与图10的二值化结果进行对比可知,车位被完整地处理出来,可用于后续的车位检测定位。

图9 预处理后的图像

图10 光照不均匀且背景复杂的图像的全局二值化处理

图12 为空洞填充后的图像,从空洞填充后的图像中共提取出134个4连通区域,同时对每块区域做标记,并记录每块区域的像素点数,从这些区域中找出面积合适的连通区域,没有大小合适的区域则直接判定无停车位,若有符合面积大小要求的区域,则将该区域提取出来进行进一步的处理和检测,本示例图像中有一处满足泊车面积要求的连通区域,如图13所示。进行过腐蚀运算和膨胀运算后,可将预选车位的细小无关区域腐蚀掉。之后进行Canny边缘检测得到的连通区域边缘,如图14所示。

图11 去除背景光照后的二值化结果

图12 空洞填充操作

图13 面积合适的连通区域

图14 Canny边缘检测后的图像

为了降低计算量,本文中限定了Hough直线检测角度θ的范围,将θ限定在-23°~23°之间,最终检测到车位的上下两边Line1和Line2,如图15所示,同理可得另外两条边Line3和Line4。最后通过4条边计算交点,即可获得车位的顶点坐标,通过4个顶点的几何关系最终判断所提取的连通区域是否为停车位。图16展示了通过计算得到的4个顶点坐标在真实图像中的位置,可以发现,定位准确,满足自动泊车系统的车位定位要求。

图15 车位的上下两边

图16 交点坐标在原始图像中的显示

4 结论

本文中采用鱼眼摄像头对车辆周围的环境进行实时拍摄,将4个角度的摄像头画面进行处理得到全景鸟瞰图,并将所获全景鸟瞰图作为系统原始图像输入,通过从原图像中去除背景光照解决了全局二值化无法处理光照不均匀或背景复杂图像的问题,同时本文中使用了一种基于连通区域的方法来提取预选车位,简化了车位的提取,排除了无关区域的干扰,最终实现车位的识别与定位。实验结果表明,本文中所设计的识别方法可在光照不均匀或背景复杂的情况下完成对车位的处理和识别,定位准确。

猜你喜欢

鱼眼像素点灰度
航空滤光片阵列多光谱图像条带灰度调整算法
面向鱼眼图像的人群密度估计
采用改进导重法的拓扑结构灰度单元过滤技术
天津港智慧工作平台灰度发布系统和流程设计
基于局部相似性的特征匹配筛选算法
Arduino小车巡线程序的灰度阈值优化方案
一种X射线图像白点噪声去除算法
基于canvas的前端数据加密
图像采集过程中基于肤色理论的采集框自动定位
鱼眼明目鱼头补脑是真的吗?