在日益拥挤的城市中,自动泊车系统成为了解决停车困难的有效手段,是当前智能驾驶汽车领域的研究热点之一。自动泊车系统一般包含车位识别、决策规划和执行控制三大关键技术,而车位识别技术是实现自动泊车功能的前提[1-6]。
自动泊车系统的车位识别方法主要分为两类,即基于车位两侧车辆的方法(针对空间车位)和基于地面车位标识线的方法(针对线车位)。基于两侧车辆的方法目前被广泛应用,其原理是利用装在车身两侧的超声波雷达探测侧方构成车位的两车间距来识别车位[7],缺点是要求车位的两侧(或单侧)有车辆的存在,对于停车场中仅有车位标识线存在的场景,则无法识别到车位。基于地面车位标识线的方法不依赖车位两侧的车辆,通过对车位标识线的识别来识别车位[8],其缺点是不适用于无车位线的停车场地,而且不能判断车位尺寸是否适合本车。
多传感器信息融合技术一直以来受到移动机器人导航研究者的广泛关注,近几年,自动泊车的研究者也开始将多传感器信息融合技术应用在车位识别上。如李臣旭[9]通过将视觉传感器和超声波传感器信息进行融合,实现了对垂直车位的智能识别。
从国内外研究现状来看,基于地面车位标识线的车位识别方法大都仅仅依靠机器视觉。白中浩等[10]通过聚类算法提取车位边框直线找到交点,初步定位车位角,然后通过骨架提取模板匹配的方法精确定位车位角。ZHANG等[11]基于360环视系统,通过Adaboost+深度学习方法,利用大量的车位角点作为样本,训练出分类器,实现了对线车位的准确识别。LEE等[12]和SUHR等[13]通过不同的车位线检测算法,实现了对平行车位和垂直车位的识别。然而仅仅依靠机器视觉的线车位识别方法对如何确定自车与车位的相对位置及如何判断车位内有无障碍物都没有提及,很难应用到泊车系统中。
本文基于信息融合的方法,首先利用摄像头识别车位角点,然后根据逆透视变换的平面测距模型获取车身侧面与车位角点侧向距离,最后融合自车行驶距离值及超声波雷达测距值设计融合算法。
如图1所示,自车在前进过程中,超声波传感器和摄像头实时对自车右侧空间进行单向探测,轮速传感器实时记录自车行驶距离。
图1 车位探测示意图
Fig.1 Parking detection diagram
基于多传感器信息融合的车位线车位识别原理如图2所示。带有自动泊车系统的汽车(以下简称自车)两侧装有摄像头和超声波传感器,两后轮分别装有轮速传感器。超声波传感器用于探测车位内有无障碍物,摄像头用于识别车位环境的车位角点信息,轮速传感器用于计算并获取自车的行驶距离。
图2 车位线车位识别原理
Fig.2 Parking line recognition principle
在寻找车位过程中,环境感知系统实时融合轮速传感器行驶距离信息和摄像头视觉信息,导入车位特征参数采集模块,车位特征参数采集模块将采集到的车位特征参数传入车位线车位平面模型,车位线车位平面模型模块输出车位类型,路径规划模块根据车位类型进行泊车方案匹配,如匹配成功,则语音提示驾驶员“停车并开启泊车”;若未匹配成功,则继续向前寻找合适车位。
图像采集过程见图3。为获取车辆两侧的图像,在汽车的左右两侧后视镜上安装单目摄像头。在获取两侧图像过程中,涉及到3个图像坐标系的转换,即输入图像坐标系、矫正图像坐标系和俯视图像坐标系。输入图像坐标系和矫正图像坐标系可通过相对图像中心的五阶多项式进行描述,采用棋盘法标定相机的内参数、外参数、畸变系数等。矫正图像坐标系与俯视图像坐标系可通过一个单应性矩阵H进行描述,矫正图像中的一点(u,v),对应地面坐标系中的点(X,Y),其表达式为
(1)
式中,H为图像的单应性矩阵;s为缩放尺寸。
(a) 原始图像
(b) 矫正图像
(c) 俯视图像
图3 图像采集过程
Fig.3 Image acquisition process
最终得到车位线图像的俯视图(图3c),以便后续算法实现。
为了去除图像中的无关信息,需要将图像进行预处理。本文的预处理过程包括图像灰度化、图像滤波、图像二值化特征提取和图像细化。图像灰度化将B、G、R三通道图像转化为由灰度表示的单通道图像,可以减少算法的计算量,同时易于后续提取车位标志线的特征。图像滤波采用的是高斯滤波法,目的是为了降低图像噪声以平滑图像。经过上述两步得到处理后图像如图4a所示。高斯滤波算法可表示为
Iσ(i,j)=I(i,j)*Gσ
(2)
式中,*表示卷积操作;i,j分别表示图像在坐标系中的横、纵坐标;Iσ(i,j)为经过滤波后的图像;I(i,j)为原始输入的图像;Gσ是标准差为σ的二维高斯核。
车位标志线通常使用颜色明亮的白色涂料画在颜色灰暗的地面上,图像能被分成两个部分,即明亮的车位标志线和灰暗的地面。在车身侧面俯视图中,车位标志线的灰度值高于位于车位标志线两侧的像素灰度值,若存在一个像素比其左右(或上下)相距一个预定车位标志线宽度的像素灰度值高,即认为该像素为一个可能的车位标志线像素,对该像素点置255,否则对该像素点置0:
(3)
dV+e(x,y)=g(x,y)-g(x+e,y)
dV-e(x,y)=g(x,y)-g(x-e,y)
dP+e(x,y)=g(x,y)-g(x,y+e)
dP-e(x,y)=g(x,y)-g(x,y-e)
式中,dV+e(x,y)为车位标志线特征模板右移时求取的特征;dV-e(x,y)为车位标志线特征模板左移时求取的特征;dP+e(x,y)为车位标志线特征模板上移时求取的特征;dP-e(x,y)为车位标志线特征模板下移时求取的特征;g(x,y)为输入的灰度滤波图;g(x,y±e)为将灰度滤波图按e个像素进行左右平移后的图;g(x±e,y)为将灰度滤波图按e个像素进行上下平移后的图;δ0为设定阈值;f1(x,y)为初步车位标志线特征图,如图4b所示。
对于提取出的初步车位标志线特征图(图4b),由于俯视图内边缘与外边缘比较也符合式(3)的条件,且一旦标定后,此边缘线为固定曲线,故通过离线方法获取两条曲线上的若干像素点坐标,再利用MATLAB cftool进行曲线拟合。对上述初步车位标志线特征图进行如下处理:
(4)
式中,FL(xn)、FR(xn)分别为左右拟合曲线方程;f2(x,y)为输出的车位标志线特征图,如图4c所示。
对车位标志线特征图采用Zhang-Suen细化算法得到图像骨架[14],如图4d所示。
(a) 灰度图
(b) 初步车位标志线特征图
(c) 最终车位标志线特征图
(d) 细化图
图4 图像预处理过程
Fig.4 Image preprocessing
采用基于霍夫变换的方法识别停车位的车位角点,对细化后的车身侧面俯视图像ROI(region of interest)区域做概率霍夫变换以检测直线及求取检测直线的交点坐标,即车位角点在俯视图像中的坐标。
对得到的图像骨架ROI区域(俯视图像下半边缘)进行概率霍夫变换检测,根据长度分别保留径向和切向最长线段,求取线段的直线方程并求取其交点。
如图5所示,已知两条不平行的直线1(切向线段所在直线)的两个点(x1,y1)、(x2,y2)和直线2(径向线段所在直线)的两个点(x3,y3)、(x4,y4),分以下情况讨论。
图5 俯视图像坐标系
Fig.5 The overhead coordinate system
(1)仅有一条直线垂直于x轴(如图5中直线2),即斜率k1或k2不存在。直线1的方程为y=k1x+b1,于是两直线交点坐标(即车位角点在俯视图坐标系下的坐标)为
xinter=x3=x4
yinter=k1xinter+b1
(2)两条直线都没有垂直于x轴,即k1、k2都存在。直线1的方程为y=k1x+b1,直线2方程为y=k2x+b2,于是两直线交点坐标(即车位角点在俯视图坐标系下的坐标)为
xinter=(b2-b1)/(k1-k2)
yinter=k1xinter+b1
根据交点(xinter,yinter)及直线1(切向线段所在直线)的两个点(x1,y1)、(x2,y2)将车位标志线分为T型、RL型、LL型三类,如图6所示。判断标准如下:①若满足((xinter-x1)>δ1∧|xinter-x2|<δ2)∨((xinter-x2)>δ1∧|xinter-x1|<δ2),则为LL型;②否则若满足|xinter-x1|>δ1∧|xinter-x2|>δ1,则为T型;③若以上皆不满足,则为RL型。其中,δ1,δ2为设定的阈值。最终得到效果如图7所示。
(a) RL型
(b) T型
(c) LL型
图6 车位角点类型划分
Fig.6 Division of parking angle type
图7 车位角点检测结果
Fig.7 Parking corner detection results
在本文中,摄像头安装在车身侧面后视镜处(图8),基于逆透视变换的平面测距原理[15]为:逆透视图像理论上与真实平面具有严格的线型关系,即俯视图像中每一个像素块(1 pixel×1 pixel)对应的实际面积都是相等的,或者说俯视图像中的某两点间的距离与真实世界平面中对应的两点的距离存在以下关系:
DAB=K+kdab
式中,DAB为真实世界平面上点A与点B之间的欧氏距离,mm;dab为真实世界平面点A和点B在俯视图像中对应的点a和点b之间的欧氏距离,pixel;k为俯视图像与真实世界平面的关系系数,mm/pixel;K为摄像头的盲区,由摄像头安装俯仰角和高度决定。
图8 平面测距模型
Fig.8 Plane range model
于是由基于逆透视变换的平面测距模型得到的车位角点到车身侧面的距离为
yP=K+(Y-yinter)k
(5)
式中,yP为车位角点距车身侧面的距离;Y为俯视图像纵坐标最大值。
考虑到车位线车位内可能存在的车辆及其他障碍物情况,本文融合超声波传感器信息、自车行驶里程值信息和视觉信息进行车位特征参数采集,具体步骤如下(图9)。
图9 车位特征参数采集
Fig.9 Collection of parking space feature parameters
(1)摄像头检测标识车位线车位的车位角点,且车位角点与摄像头处于平行位置,记录此时的车位角点坐标,并令其为第一车位角点P1。
(2)超声波传感器开始探测侧向是否有车辆或障碍物,若有则回到步骤(1),若无则进行步骤(3)。
(3)摄像头检测标识车位线车位的车位角点,且车位角点与摄像头处于平行位置,记录此时的车位角点坐标,并令其为第二车位角点P2。
(4)将车位角点特征参数导入车位线车位平面模型。其中车位角点与摄像头处于平行位置的判断条件为
Xm/2-δ3≤xinter≤Xm/2+δ3
(6)
式中,Xm为俯视图像横坐标最大值;δ3为设定的阈值。
如图10所示,当摄像头与第一车位角点P1处于平行位置时,以此时的摄像头为坐标原点、自车行驶方向为x轴正方向建立o1xy坐标系;以第一车位角点P1为原点、自车行驶方向为X轴正方向建立OXY坐标系。识别出车位角点且车位角点与摄像头处于平行位置(图中Ⅰ位置)时,记录此时的车位角点坐标,并令其为第一车位角点P1(xP1,yP1),同理获得第二车位角点P2(xP2,yP2)。其中xP1、yP1、xP2、yP2为车位角点在o1xy坐标系下的坐标值,xP1、xP2由轮速传感器获取的自车行驶里程得到,yP1、yP2由4.1节所述测距模型得到。
图10 车位线车位平面模型
Fig.10 Parking space plane model
则车位大致宽度为
LP=xP2-xP1
(7)
据此判断车位为平行车位或垂直车位。
如图10所示,自车与车位两车位角点所在直线的相对初始偏航角为
θ=arcsin((yP2-yP1)/W)
(8)
式中,W为车位实际宽度,由超声波雷达探测得知或由国标得知。
则当自车行驶到图中Ⅱ位置时,自车后轴中心在OXY坐标系的坐标为
(9)
式中,L为摄像头距后轴的距离;w为自车车宽;xc、yc为摄像头在Ⅱ位置时在o1xy坐标系下的坐标。
最终我们根据自车后轴中心坐标(Xr,Yr)确定了自车与车位的相对位置,并结合自车相对偏航角θ及由LP确定的车位类型进行下一步的路径规划及泊车入位。
本文以汽车后轴中心点为轨迹参考点进行路径规划。对于平行车位,如图11a所示,采用圆弧—直线—圆弧式路径。各点坐标如下:
S1=(Xr,Yr)
O1=(Xr+Rminsinθ,Yr-Rmincosθ)
S2=(Xr-(Rminsin(φ1+θ)-Rminsinθ),
Yr-[Rmincosθ-Rmin(1-cos(φ1+θ))])
S3=(XS2-L2cos(φ1+θ),YS2-L2sin(φ1+θ))
O2=(XN3-Rminsinφ2,YN3+Rmincosφ2)
S4=(XO2,YO2-Rmin)
其中,L2为车辆后退直线距离S2S3;φ1+θ=φ2,一般取φ2=π/4;Rmin表示车辆最小转弯半径。
对于垂直车位,如图11b所示,采用三段圆弧式的垂直车位路径规划,各点的坐标如下:
S1=(Xr,Yr)
O1=(Xr+Rminsinθ,Yr-Rmincosθ)
S2=(0,Yr-[Rmincosθ-Rmin(1-cos(φ1+θ))])
O2=(-XO1,2YS2-YO1)
S3=(XO2+Rmincosφ3,YO2-Rminsinφ3)
O3=(XS3+Rmincosφ3,YS3-Rminsinφ3)
S4=(0,YO3)
其中,φ1+φ2+φ3=π/2-θ。
(a) 平行车位
(b) 垂直车位
图11 平行及垂直车位路径规划
Fig.11 Planning of parallel and vertical parking Spaces
如图12a~图12c所示,自车的初始相对偏航角分别为0°、5°、-5°,根据不同的偏航角,对平行车位线车位规划出圆弧—直线—圆弧式路径,第一段为圆弧后退,第二段为直线后退,第三段为圆弧后退。
如图12d~图12f所示,自车的初始相对偏航角分别为0°、5°、-5°,根据不同的偏航角,对垂直车位线车位规划出三段弧式路径,第一段为圆弧后退,第二段为圆弧前进,第三段为圆弧后退。
由仿真结果可知,根据自车相对车位的初始偏航角所做的路径规划可使自车准确地泊入停车位,验证了路径规划的可行性。
(a) 平行车位(θ=0°)
(b) 平行车位(θ=5°)
(c) 平行车位(θ=-5°)
(d) 垂直车位(θ=0°)
(e) 垂直车位(θ=5°)
(f) 垂直车位 (θ=-5°)
图12 路径仿真图
Fig.12 Path simulation
图13 车位线车位识别硬件关系流
Fig.13 The hardware relation flow of parking line recognition
试验中车位线车位识别系统的传感器配置如图13所示。系统由如下模块组成:①电源模块。可以提供12 V直流电的蓄电池,超声波传感器使用额外电源模块完成变压,计算机使用逆变器完成变压,其他设备均具有配套独立的变压设备。②传感模块。单目摄像头为OR-USBFHD06H-LS36高清摄像头,超声波传感器为KS103超声波雷达,轮速传感器采用BS80T22-5-24C-360BM-2M增量式旋转编码器。
搭载有上述车位识别系统并具有自动泊车系统底层执行机构的试验车在有标准车位线的车位场地寻找车位,如图14所示。泊车控制器实时融合多传感器信息输出车位类型,并进行路径规划,若成功识别车位,则播报“平行车位”(以平行车位为例),之后播报“停车,并开启泊车”。每个停车位场景试验50次,与期望输出的车位类型作比较,得出正确率。
图14 试验场景
Fig.14 Test scenario
试验结果表明:检测出的车位宽度LP 误差约为0.1 m,与自车车速及式(6)中δ3设定值有关;相对偏航角θ误差在±1°左右,满足自动泊车工况;自车后轴中心坐标(Xr,Yr)中,横坐标Xr误差约为0.015 m,与自车车速及式(6)中δ3设定值有关,纵坐标Yr误差约为±0.05 m,与逆透视变换矩阵H标定精度有关;对平行和垂直车位识别正确率都高达98%(表1),说明了本文车位线车位识别方法的有效性。
表1 实车试验统计表
Tab.1 Statistical table of actual vehicle test
车位类型车位宽度(m)试验总次数正确率(%)平行车位6.05098垂直车位2.55098
误检测结果分析:
(1)本文所提到的车位角点检测策略适用于车位线较明显的车位,车位角点误检或漏检会导致车位宽度LP计算有误,从而导致车位检测失败。
(2)车速会影响检测精度,当摄像头检测到车位角点并满足摄像头与车位角点处于平行位置判定条件(式(6))时,车速过快会导致信号无法及时传输到泊车控制器,使得车位角点坐标无法采集到,从而导致车位检测失败。
(1)通过本文车位角点采集方法获取的车位角点检测效果良好,鲁棒性较高,可适用于线与地面对比明显的车位场景。
(2)利用信息融合方法建立的车位线车位坐标系可以准确确定自车与车位的相对位置,满足自动泊车系统的要求。
(3)根据自车不同相对初始偏航角所做的路径规划合理、可行。
[1] 赵林峰,徐磊,陈无畏. 基于自抗扰控制的自动泊车路径跟踪[J].中国机械工程, 2017,28(8):966-973.
ZHAO Linfeng, XU Lei, CHEN Wuwei. Path-tracking of APS Based on ADRC[J].China Mechanical Engineering,2017,28(8):966-973.
[2] DUBE R, HAHN M, SCHUTZ M, et al. Detection of Parked Vehicles from a Radar Based Occupancy Grid [C]// 2014 IEEE Intelligent Vehicles Symposium. Dearborn,2014:1415-1420.
[3] WANG C, ZHANG H, YANG M, et al. Automatic Parking Based on a Bird's Eye View Vision System[J]. Advances in Mechanical Engineering, 2015,6: 847406.
[4] LIU W, LI Z, LI L, et al. Parking Like a Human: a Direct Trajectory Planning Solution[J]. IEEE Transactions on Intelligent Transportation Systems, 2017, 18(12):3388-3397.
[5] CHIU C S, LIAN K Y, LIU P. Fuzzy Gain Scheduling for Parallel Parking a Car-like Robot[J]. IEEE Transactions on Control Systems Technology, 2005, 13(6):1084-1092.
[6] DU X, TAN K. Autonomous Reverse Parking System Based on Robust Path Generation and Improved Sliding Mode Control[J]. IEEE Transactions on Intelligent Transportation Systems, 2015, 16(3): 1225-1237.
[7] 魏振亚. 基于超声波车位探测系统的自动泊车方法研究[D]. 合肥:合肥工业大学,2013.
WEI Zhenya. Research on Automatic Parking Based on Ultrasonic Detecting System[D]. Hefei:Hefei University of Technology,2013.
[8] JUNG H G, LEE Y H, KIM J. Uniform User Interface for Semiautomatic Parking Slot Marking Recognition[J]. IEEE Transactions on Vehicular Technology, 2010, 59(2):616-626.
[9] 李臣旭. 基于车位场景智能识别技术的全自动垂直泊车系统研究[D]. 镇江:江苏大学, 2016.
LI Chenxu. Automatic Vertical Parking System Research Based on Parking Scene Intelligent Recognition Technology[D].Zhenjiang:Jiangsu University,2016.
[10] 白中浩,周培义,王飞虎. 基于视觉的车位线识别算法[J].中国机械工程,2014,25(20):2825-2829.
BAI Zhonghao,ZHOU Peiyi,WANG Feihu. Parking Slot Marking Recognition Algorithm Based on Vision[J]. China Mechanical Engineering, 2014,25(20):2825-2829.
[11] ZHANG L, LI X Y, HUANG J H, et al. Vision-based Parking-slot Detection: a Benchmark and a Learning-based Approach[J]. IEEE Transactions on Image Processing, 2018,27(11):5350-5364.
[12] LEE S, HYEON D, PARK G, et al. Directional-DBSCAN: Parking-slot Detection Using a Clustering Method in Around-view Monitoring System[C]// 2016 IEEE Intelligent Vehicles Symposium (Ⅳ). Gothenburg,2016: 16225819.
[13] SUHR J K,JUNG H G, BAE K. Automatic Free Parking Slot Detection by Using Motionstereo-based 3D Reconstruction[J]. Machine Vision & Applications, 2010, 21 (2) :163-176.
[14] ZHANG T Y, SUEN C Y. A Fast Parallel Algorithm for Thinning Digital Patterns[J]. Communications of the ACM,1984, 27(3):236-239.
[15] 刘宏哲,袁家政,郑永荣. 计算机视觉算法与智能车应用[M]. 北京:电子工业出版社,2015:15-16.
LIU Hongzhe, YUAN Jiazheng, ZHENG Yongrong. Computer Vision Algorithm and Intelligent Vehicle Application[M].Beijing: Publishing House of Electronics Industry, 2015:15-16.