基于多传感器数据融合的自动泊车系统高精度辨识车位的方法
2019-05-23江浩斌马世典
江浩斌,叶 浩,马世典,陈 龙
( 江苏大学 a.汽车与交通工程学院; b.汽车工程研究院, 江苏 镇江 212013)
随着人们对汽车安全与舒适要求的不断提高,智能化、网联化、电动化已成为未来汽车发展的趋势。智能化与网联化的终极目标是实现无人驾驶,而作为无人驾驶不可或缺的重要组成部分,全自动泊车系统也受到研究人员的高度重视。自动泊车系统是汽车在低速和城市复杂环境下的一个重要应用,其作用是辅助驾驶员安全快速地实现泊车。自动泊车系统由环境感知、路径规划和路径跟踪3个部分组成[1]。泊车控制器通过环境感知系统获得待泊车位和障碍物信息,并根据自车与待泊车位的几何关系规划泊车路径,进行路径跟踪控制,最终实现自动泊车。自动泊车系统架构如图1所示。
图1 自动泊车系统架构
泊车位的精确探测与识别是自动泊车系统的关键问题。目前国内外开发的自动泊车系统普遍存在泊车位尺寸探测精度低、识别率低、可识别的泊车位类型较少等问题,尚无有效的解决方案。
目前常用的泊车位探测方法主要包括两种。一种通过超声波雷达探测泊车位[2-3],由于超声波雷达存在雷达张角且没有角度探测能力,因此这种方法无法对泊车位进行高精度探测;此外,超声波雷达探测车位时,泊车位必须至少一侧停有车辆。另一种泊车位探测方法通过图像传感器直接识别车辆[4],或在有停车线的情况下,通过视觉传感器拍摄图像,设计特定算法识别停车线,以此来识别泊车位[5-6]。这种方法可靠性较差,容易受到天气、光线等干扰,且目前国内停车位的标线画法杂乱,给停车线的识别带来很大难度。此外,基于图像的泊车辅助系统仅能为驾驶员提供一些辅助信息,需要人工介入才能确定泊车位,或者需要驾驶员根据辅助信息自行完成泊车操作[7-8]。
随着微电子技术、信号检测与处理技术、计算机技术、网络通信技术以及控制技术的飞速发展,各种面向复杂应用背景的多传感器系统大量涌现[9]。信息融合技术能提高多传感器系统的可探测性和可信度,增强探测精度,增加目标特征维数[10],已成为自动泊车乃至无人驾驶的研究热点。在自动泊车领域,通常采用超声波雷达和视觉传感器进行数据融合,以提高识别停车位的能力。许多科研人员在这方面进行了相关探索。王文飞[11]设计了一种基于超声波雷达和机器视觉的自动泊车系统,提出参考车泊车位模型和泊车线车位模型,分别通过超声波测距与视频分析的方法实现泊车位识别。但该系统只是简单地使用超声波雷达和视频分析方法搜索泊车位,将最后结果进行融合,与单独使用一种传感器的泊车系统相比,仅增加了泊车位识别类型的数量。高航等[12]利用激光雷达、图像传感器、惯性导航系统等建立了停车位感知系统,为不同车位设计了多种泊车路径并实现路径跟踪控制。该系统各个传感器探测到的信息能在一定程度上进行互补,但并未进行系统性的有机融合,且数据量巨大,难以满足实时性要求。江浩斌等[13]利用超声波雷达、视觉传感器、里程计信息融合来辨识停车位两侧车辆姿态和车位参数模型,再根据模糊逻辑推理出泊车位识别结果,能实现多种停车位的智能识别,但这种方法仅能识别侧边有车的泊车位,且其重点在于识别不规则库位,并未提高泊车位探测精度,对于泊车位内有移动障碍物的情况也无法识别。总体来说,目前有关数据融合的泊车位识别技术研究还较少,研究也不够深入,泊车位探测精度及可识别的车位类型均不够理想。
为了提高泊车位的探测精度、识别率、安全性以及识别更多类型车位,本文建立了14种标准停车位模型,通过超声波雷达与视觉传感器数据的多层次融合实现对泊车位的识别。通过仿真和实车试验,验证了所设计的算法的有效性。
1 泊车位类型建模
国内城市环境中停车位类型较多,总体可分为有停车线停车位和无停车线停车位,或者分为水平停车位和垂直停车位。本文首先对各种停车位建立标准模型,如图2、3所示。对于图中所示障碍物1和障碍物2(不区分水平和垂直泊车位),一般定义为其他停止的车辆、墙体等较大的不会自行移动的障碍物。
图2 平行泊车位类型
图3 垂直泊车位类型
1.1 平行泊车位
平行泊车位作为城市中最常见的停车位形式之一,根据泊车位前后是否有障碍物、障碍物与泊车位方位关系以及是否有停车线,本文将其分为7种类型,见图2。
1.2 垂直泊车位
垂直泊车位也是城市环境中最常见的停车位类型之一。根据泊车位左右是否有障碍物、障碍物与泊车位方位关系以及是否有停车线,本文将垂直泊车位分为7种类型,见图3。
部分停车位即使内部没有停车也无法使用。以前后均有障碍物的平行泊车位为例,在停车位中间可能存在其他小型障碍物,如自行车、电动车、行人、小动物或是石块等。在这种情况下必须有效判断该车位是否可用,如果是停放的自行车、电动车及其他不动的物体,则该泊车位不能使用;如果是经过的行人、小动物等,实际泊车时行人和小动物已经离开,则可以进行泊车,将这种情况下停车位内部的小型障碍物定义为疑似障碍物(图4)。
图4 泊车位中有疑似障碍物的情况
2 泊车位边界高精度识别
2.1 泊车系统硬件介绍
仅使用超声波雷达探测泊车位时,由于存在雷达张角,探测精度较低。因此,在超声波雷达的基础上增加视觉传感器,通过数据融合实现泊车位探测精度的提高。如图5所示,本文采用的技术方案为在车身前后一定高度按一定距离各安装4个短距超声波雷达,用于在泊车过程中实时检测车辆前后是否有障碍物,在车身左右同样高度各安装2个长距离超声波雷达,用于探测泊车位。同时,在车身前后车牌上方、左右后视镜下方各安装1个鱼眼摄像头,用于识别车辆边界和泊车线。所有超声波雷达及鱼眼镜头的相对位置在安装时已确定。
图5 基于环视和超声波雷达的泊车系统
寻库时车辆沿着停车位向前行驶,如图6所示。在行驶过程中,侧面超声波雷达实时探测泊车位,同时摄像头拍摄沿途视频,轮速传感器记录车辆实时速度,方向盘转角传感器实时记录前轮转角。寻库过程中所有传感器检测到的每一个数据均包含时间戳,所有数据均需利用时间戳进行数据对准,以实现时间和空间的统一。为便于描述,对于探测到的车位几何尺寸,与车辆行驶方向相同的空间距离定义为车位宽度Lw,与车辆行驶方向垂直的空间距离定义为车位深度Ld。
2.2 基于超声波雷达与视觉数据融合的车辆边界识别
当超声波雷达探测不到物体时定义为无限远,由于乘用车库位宽度一般为2.5 m,长度一般为5~5.5 m,而在寻库过程中自车侧面与障碍物的距离一般在0.5~1.5 m,所以可将超声波雷达无限远处数据统一为7 m。以前后均有障碍物的水平泊车位为例,在寻库完成后,超声波雷达探测到的库位特征如图7所示。从图中可以看出,前后两车之间有1个车位,然而车位边缘却无法准确判断。
图6 基于超声波雷达的自动泊车系统
图7 超声波雷达探测车位
由于摄像头和超声波雷达安装位置都是固定的,并且进行了数据对准,因此很容易将鱼眼镜头中心线通过库位边缘区域时对应图片提取出来。为了更精确地识别车辆边界,需要将图像中的车辆边界区域作为兴趣区域ROI(region of interest)提取出来。图像中车辆高度方向边界很容易根据超声波雷达测得的侧方距离推算出来,结合侧方距离突变可得到水平方向边界区域。将高度和水平边界框住的部分作为图像处理的兴趣区域ROI。图8为鱼眼镜头正对车辆边界时的经过畸变校正后的图片,其中ROI用红色方框标出。图8(a)为车辆尾部边缘区域,图8(b)为车辆头部边缘区域。
图8 车辆边缘图像
从提取出的ROI图像可以看出:由于车辆颜色与环境(地面)颜色不同,因此存在一条很明显的边界线,可以采用边缘检测算法提取边界。比较常用的边缘检测模板有Laplacian算子、Roberts算子、Sobel算子、LoG算子[14]、Kirsch算子[15]和Prewitt算子等。
本文采用Canny边缘检测算法。首先将车辆兴趣区域剪裁出来,去掉其他无用部分,如图9(a)所示;然后进行灰度处理,有效减少计算量;之后采用Canny边缘检测算法找出图中边缘线,进一步滤波去噪;最后采用hough变换检测图中直线,确定车辆边缘线。进行Canny边缘检测后,图中会出现大量其他直线,对车辆边缘提取造成干扰,如图9(c)所示。为此,在进行hough变换时需要将检测直线的角度限制在一定范围内。由于车辆边缘是垂直于地面的,所以将这个角度限制为(90°±α)范围,其中α为允许的角度误差,α值一般为5°。最终识别结果如图9(d)所示,从图中可以看出算法能够有效检测出车辆边缘。与仅用超声波雷达检测出的车辆边缘区域相比,融合图像信息后,检测出来的是一条线,检测精度明显提高。通过超声波雷达与图像融合识别车辆边界后,可以得到停车位的有效宽度Lw和有效深度Ld。
2.3 疑似障碍物及车辆朝向识别
对于车位内有疑似障碍物的情况,当车辆行驶时,可以由轮速传感器检测轮速,并根据时间积分出行驶里程,结合方向盘转角,获得车辆行驶路径。在统一的世界坐标系下,车辆上超声波雷达1在时刻t1检测到小型障碍物,记录其位置坐标(x1,y1),在时刻t2时,超声波雷达2检测到障碍物,记录其位置坐标(x2,y2),则小型障碍物移动速度可由如下公式获得:
(1)
若库位内没有疑似障碍物,则可将v0设置为无穷大,对于结果不会产生影响,便于计算机统一处理。
图9 Canny边缘检测
在车位判断过程中,仅依靠车位宽度和深度有时并不足以判断车位类型,因此需要根据对车辆轮胎[16]、车牌[17]、车尾灯[18]等的辅助识别判断车位类型。若在视频图像中检测到车辆轮胎,则判定为车辆侧面,进一步可判断此车位类型为水平泊车位;若检测到车牌、车尾灯等,则判断为车辆头部或尾部,进一步可判断此车位类型为垂直泊车位。在实际应用中,车辆轮胎可以抽象为黑色的圆,其尺寸也在一个固定范围内,因此可以通过经典的Hough圆变换检测。车牌检测已经是十分成熟的技术,此处仅需车牌检测的简化方法,即只需做到识别车牌即可,不必识别车牌内容。车尾灯颜色为红色,形状为直线和角点的组合,可以采用特征匹配的方法进行检测。采用尽量简单的算法能够最大限度地节省处理器计算资源,满足实时性要求。
3 基于多层次信息融合的泊车位识别
本文数据融合框架如图10所示。在寻库过程中,超声波雷达1和超声波雷达2同时工作,检测障碍物。当超声波雷达1检测到的距离产生突变时,将发生突变的区域作为ROI提供给视觉传感器进行特征提取,获得车辆边沿线,这样即可获得库位宽度Lw和深度Ld。同时超声波雷达1和超声波雷达2检测库位内部疑似障碍物速度v0,再经过模糊控制器获得识别的库位。由于仅依靠模糊控制器有的库位无法识别或无法完全确定库位类型,因此还需通过视觉传感器提取车辆朝向、停车线等信息,与模糊控制器结果进行信息融合,最终确定泊车位类型。
图10 数据融合框架
模糊逻辑控制(fuzzy logic control)是以模糊集合论、模糊语言变量和模糊逻辑推理为基础的一种计算机数字控制技术[19],是一种非线性全局智能控制的方法。本文设计的模糊控制器包含3个输入、模糊规则、2个输出。3个输入分别是车位宽度Lw、车位深度Ld、库内障碍物速度v0。输出为水平、垂直两种类型,其中水平表示识别出的库位类型为水平停车位,垂直表示识别出的车位为垂直停车位。
3.1 隶属度函数
根据先验知识可知:对于车位宽度,当其小于一定值时,车辆无法停入;当其处于某定值范围时,垂直泊车时可以停入;当其大于一定值时,垂直和水平皆可停入。因此,得到3个模糊子集:WS、WM、WL,其中:WS表示小宽度,此时车辆无法泊车;WM表示中宽度,此时车辆可以进行垂直泊车;WL表示大宽度,此时垂直和水平皆可停入。车位宽度隶属度函数如图11所示。
图11 库位宽度隶属度函数
同理,对于车位深度,当其小于一定值时,车辆无法停入;当其处于某定值范围时,车辆可以水平停入;当其大于一定值时,垂直和水平皆可停入。因此,得到3个模糊子集:DS、DM、DL,其中:DS表示小深度,此时车辆无法停入;DM表示中深度,此时车辆可以水平停入;DL表示大宽度,此时车辆垂直和水平皆可停入。车位深度隶属度函数如图12所示。
图12 库位深度隶属度函数
L1表示车辆垂直泊车时能进入的最小库位宽度,L2表示标准垂直库位宽度,L3表示车辆水平泊车时能进入的最小库位宽度,L4表示标准水平库位宽度。
对于库内疑似障碍物速度,当速度小于一定值时,可以认为是传感器误差导致,此时认为疑似障碍物是固定障碍物,车位无法使用,当速度大于一定值时,可以认为疑似障碍物是人或者动物,当真正开始泊车时人或动物已经离开,或者其会主动避让泊车,此时判定车位可用。因此,得到两个模糊子集:VS、VL,其中:VS表示小速度;VL表示大速度。当库内没有疑似障碍物时,定义其中疑似障碍物速度无穷大,即归入大速度子集,此时不影响结果的正确性。疑似障碍物速度隶属度函数如图13所示。
图13 疑似障碍物速度隶属度函数
v1表示可以被判断为运动物体的最小速度,v2表示可以被判断为静止物体的最大速度。
3.2 模糊规则
模糊规则是模糊控制的核心,根据经验和知识推理,用输入输出变量的模糊状态加以描述,即可得到模糊规则。当库内疑似障碍物速度为VL时,判定为非库位;当库内疑似障碍物速度为VS时,模糊规则如表1所示。
表1 模糊规则
表1中有2个结果,分别对应水平库位和垂直库位的判断输出。若2个结果都是非库,则说明检测到的库位不是停车位;若1个是非库,另1个结果是水平或垂直,则检测到的库位结果对应水平或垂直库位;若同时出现水平和垂直结果,则说明此库位既可能是水平库位,也可能是垂直库位,需要结合图像数据融合再次进行确认。为便于计算机处理,对输出结果进行编号,规则为:水平:01;垂直:10;非:00;无法判断水平或垂直:11。对于编号为11的情况,需结合视觉传感器探测到的车辆朝向或者车位线确定库位类型。通过以上信息融合,可以识别出水平和垂直共14种车位类型。
4 实车试验
本文在实车上安装1个图像处理控制器和泊车控制器,如图14所示。图像处理控制器与安装在车辆四周的4个鱼眼镜头相连接,将识别出的图像特征通过CAN总线发送给泊车控制器。泊车控制器与12个超声波雷达相连接,驱动雷达探测泊车位并记录数据,结合图像处理控制器识别出的特征进行信息融合,实现泊车位高精度探测与识别。
图14 图像处理器(左)和泊车控制器(右)
通过车载泊车控制器和视觉处理控制器,进行泊车位识别试验。根据专家经验,设置模糊控制器参数为:L1=2.4 m,L2=2.6 m,L3=5.2 m,L4=5.6 m,v1=0.5 m/s,v2=1.5 m/s。试验分为3种情况,泊车位宽度和深度在模糊集范围内随机生成,以人作为库内疑似障碍物。试验车辆类型为SUV,部分泊车场景如图15所示,其中15(a)为对水平泊车位的寻库过程,自车从右向左缓慢行驶进行寻库操作;图15(b)为对垂直泊车位的寻库过程,自车从左向右缓慢行驶进行寻库操作。
图15 泊车试验场景
为全面测试本文提出的泊车位辨识方法,根据库内疑似障碍物有无及运动情况,将14种泊车位全部分为3种情况:试验Ⅰ:库内没有疑似障碍物;试验Ⅱ:库内有人但静止不动;试验Ⅲ:库内有人走动。车位类型及识别结果如表2所示,表中车位类型编号依次对应前文所述水平和垂直泊车位,共14种。基于本文泊车车位辨识方法的试验结果如表2所示。
为验证本文泊车位辨识方法的性能,同时进行了目前已有的两种泊车位探测方法对比试验。第1种方法仅在车辆侧前方安装一个超声波雷达,通过车辆向前行驶探测泊车位,试验结果如表3所示。第2种方法仅使用摄像头识别车道线,试验结果如表4所示。
表2 实车试验结果
表3 仅安装超声波雷达时试验结果
表4 仅安装摄像头时试验结果
从实车试验结果可以看出,仅在车辆侧前方安装1个超声波雷达探测泊车位时,无法进行只有停车线的泊车位探测。泊车位内部有疑似障碍物时,无论疑似障碍物是否移动,都会判断为障碍物,因此对于疑似障碍物移动时的情况,无法正确辨识泊车位。仅使用摄像头识别泊车位时,对于没有泊车线的情况不具备识别能力。本文所采用的泊车位识别方法能够识别更多泊车位类型,识别率较高,与仅采用1个超声波雷达和仅使用摄像头检测泊车位的方法相比优势明显,能够有效提高自动泊车系统的智能化水平。同时,从结果中也可以看出,实验条件越复杂,泊车位识别成功率就越低。这是由于越是复杂的试验条件,各个传感器出错的概率就越高,进而影响泊车位识别成功率。
5 结束语
本文采用多个超声波雷达和视觉传感器,通过数据融合实现了泊车位边界的高精度探测,能够有效降低因超声波雷达张角而产生的库长探测误差。
利用2个超声波雷达先后探测库位内部疑似障碍物,建立疑似障碍物速度计算方法,解决了库内疑似障碍物判别问题,为判断泊车位是否可用提供了有力支撑。
建立了泊车位识别的模糊控制逻辑,能够有效识别大部分类型车位。采用视觉传感器检测出的车辆朝向和停车线等信息进行信息融合,能够判断更多种类型的水平和垂直泊车位。
进行了多种实验条件下的实车试验。试验结果表明:本文所采用的泊车位辨识方法能够有效识别多种类型的泊车位,识别率高,与仅采用1个超声波雷达和仅使用摄像头检测泊车位的方法相比优势明显,能够有效提高自动泊车系统的智能化水平。