车位检测[1]能为自动泊车系统提供目标车位信息,是后续实现路径规划的前提,其可靠性和准确性至关重要。目前,依靠车身自带的传感器来主动检测车位的方案有以下3种:①依靠车身侧面安装的鱼眼摄像头[2];②采用车身侧面安装的超声波雷达[3];③利用激光雷达[4]。目前智能汽车搭载的自动泊车系统主要以超声波雷达作为感知传感器,对车位的识别率较低,基于激光雷达的泊车位检测方案仍停留在概念阶段。基于超声波雷达开发泊车系统不仅能够降低系统开发成本,而且对将避障和车位检测功能融为一体具有重要意义,因此,有必要基于超声波雷达来设计实用的泊车位检测算法,以改善用户泊车体验。
张莉莉[5]设计了一种基于超声测距的自动泊车系统,由于采用路程计算车位长度的方法,故未考虑在行进过程中车身偏向对车位长度检测引起的误差。何锋[6]利用单个超声波雷达实现了室内模型车的车位识别,但无法适用于实车环境。YU等[7]利用具有广辐射角的传感器,基于超声波雷达特性研究了车位边缘形状的识别,对于减小障碍物边缘检测的误差有很大的借鉴意义。朴昌浩等[8]基于相似度的数据融合算法,对两个传感器测量结果进行融合,考虑车辆速度和横向距离这两个因素并对一种多元线性模型进行回归,以修正检测误差。即使该系统考虑了车辆速度和横向距离的影响,但仍以边缘距离跳变来判断是否检测到车位,并以车辆行驶经过目标车位的位移作为目标车位的长度。
基于超声波雷达的传统车位检测方法是捕捉距离信号连续发生大幅上升和下降两次跳变时刻,通过两次跳变时刻之间车辆的位移是否符合车位长度来判断是否检测到泊车位。该方法存在以下缺陷:捕捉距离信号的跳变沿很困难;车位姿态难以确定;未考虑噪声在车位内部所产生的虚假跳变沿;未考虑车辆航向对车位长度计算的影响。本文针对超声波雷达幅值衰减设计了增益补偿方案,以获得对被测对象的更精确、更可靠的描述。设计了一种基于拟合特征线段的车位检测算法,并建立了车位识别模型,根据车位约束条件区分平行车位和垂直车位。在真实泊车场景下对算法的可靠性和准确性进行验证。
超声回波经微控制器分析后,通过LIN通信将障碍物距离信息传输给汽车控制单元使用。超声波测距的方法主要有相位法、幅值法和渡越时间法三种。渡越时间(time of flight , TOF)法也称为脉冲回波法[9],其工作原理是:用超声脉冲激励超声探头向外辐射超声波,同时接收从被测物体反射回来的回波,通过检测或估计从发射超声波至接收回波所经历的时间以用于计算障碍物的距离。本文选择渡越时间法来计算障碍物距车辆的距离。超声波探头和被测物体之间的距离
D=ct/2
(1)
其中,c为空气介质中超声波的传播速度;t为脉冲发射和回波检测之间的时间间隔。测量的准确性取决于t和c。本文使用的超声波雷达属性参数见表1。空气中的声速取决于温度,且在较小程度上取决于空气湿度。空气中的声速c与温度θ之间的关系可以近似表示为[10]
c=340×(1+θ/273)0.5
(2)
式中,θ为温度,℃。
表1 超声波雷达的性能参数
Tab.1 Ultrasonic radar performance parameter table
最小量程(m)0.3最大量程(m)5频率(kHz)50通信方式LIN
在介质中传播时,由于波的扩散、散射和吸收,超声波脉冲的幅值在空气中会发生衰减,与障碍物碰撞时还有进一步的衰减[11]。声波在空气中传播时,其振幅在传播距离上呈现指数衰减的规律。声波振幅与传播距离之间满足
A(d)=A0e-αd
(3)
α=2ηω2/(3ρc3)
(4)
式中,A为距离d处声波振幅;d为波束传播方向上的距离;α为声波在介质中传播的衰减系数,对于空气,α≈1.6×e-10;η为介质动黏度系数;ω为角频率;ρ为介质密度。
显然,式(3)、式(4)表明,声波在不同环境中传播的衰减系数是不同的。目前渡越时间法测量时采用固定阈值和超声回波信号进行比较以实现计时功能,对于表面形状连续且规则的障碍物,在距障碍物等距离处接收的回波信号振幅相近,但受环境温度、湿度等因素的影响,超声波易表现出不同的振幅衰减趋势。阈值检测方法需要用稳定的回波信号中的振幅特征来定位回波信号,若回波信号振幅不稳定,则会产生较大的误差,因此,有必要调整放大电路的能量增益对幅值衰减进行补偿[12],使超声波幅值在不同距离处的分布与常温状态(25±3 ℃,相对湿度为50%±10%)保持一致。本文所用的超声波雷达由探头内的独立处理芯片进行超声波的发射和接收,并内置了数字式可控增益电路模块,可以采用数字化手段灵活地控制增益范围,对超声波能量进行增益补偿。
在密闭的环境箱内开展超声波幅值衰减补偿标定实验,其内壁附上消声棉,且无明显噪声源。实验选取3个自由度变量:环境温度、湿度、障碍物距离。实验温度为-40~95 ℃;湿度为5%~95%;距离为0.5~4 m。根据超声波雷达的测试规范,将模拟障碍物的PVC管(直径为11 cm,长度为100 cm)放置在超声波雷达发射源的正前方,记录回波幅值数据,计算某特定距离下的声波振幅时,取一定帧数的平均值作为该距离的振幅。然后借助上位机,利用特定通信指令控制雷达内嵌的增益电路模块,实现能量增益系数的修改,促使超声回波的幅值趋近于常温下的基准值。改变变量,重复实验,标定出温湿度-增益系数表。标定示意图见图1。
图1 标定示意图
Fig.1 Calibration test scenario layout
(a)调整增益前的振幅峰值-距离关系
(b)调整增益后的振幅峰值-距离关系
图2 超声波雷达增益调整前后的性能对比
Fig.2 Performance comparison before and after
ultrasonic radar gain adjustment
超声波能量的衰减常用振幅峰值来衡量,由于超声波幅值较小,故超声波雷达内部进行了量化。超声波雷达在部分温湿度下调整增益前后的振幅峰值-距离关系见图2。经过幅值衰减增益补偿后,超声回波的振幅衰减趋势趋近于常温状态。调整增益前与常温状态的振幅误差标准差为22.15,而调整增益后误差标准差降至6.55,可以看出,调整相应温湿度对应的能量增益系数,能够补偿超声波雷达的振幅衰减,使得等距离处反射的超声回波振幅能够与常温状态接近,这对于提高超声波雷达性能的稳定性有重要意义。
超声波雷达测距并不是准确无误的,由于行驶振动、雷达测量精度限制、环境噪声干扰等原因,超声回波信号波动普遍存在,超声回波信号波动的存在可能会导致目标识别出现误差而发生判断失误[13]。为了获得更加接近真值的距离,对超声波雷达数据进行预处理是必要的操作。超声波雷达数据预处理的主要手段是对超声波探头采集到的距离数据,应用滤波算法滤除噪点以抑制波动,同时对零点数据进行补偿。超声波雷达测距值易跳变、不稳定、满量程是显著的特征,考虑到泊车过程中的安全,本文采用最小值滤波方法进行超声波雷达数据预处理。
处于激活状态的超声波雷达会按照一定的频率连续输出探测的距离数据,因此,首先需要将数据分帧截取,对截取的这帧数据再次细分成子序列进行滤波处理。假设以某点为一帧超声波雷达数据滤波的起点,每次提取k个数据组成一个序列,通过实施排序、找最小值操作,最后将这一序列内数据的所有值都赋为该最小值,循环进行相应操作,完成单帧数据的处理。
为了避免小于最小量程,以及数据丢失的异常距离信息对后续的线段拟合、车位判断等工作造成影响,需要判断每次序列取出的最小值是否大于最小有效距离阈值。如果不满足,则依次选择次最小值代替。若该序列所有数据均小于最小有效距离阈值,则将该序列的数据剔除。
滤波窗口的大小k不同,意味着每次滤波时处理的数据个数不同。滤波窗口越大,虽然能让数据更平整,但会导致障碍物轮廓的角度信息丢失,甚至在障碍物的边缘处,可能会导致更多细节的丢失。经过综合权衡,本文选择长度为6的窗口来执行最小值滤波操作。
借助融合惯性测量单元和轮脉冲的车辆里程计坐标,可以确定车体在地图中的位置和姿态。 根据车辆的实时位置及车辆实时位置对应的超声波雷达检测到的车辆与障碍物之间的相对距离,可计算出障碍物在全局坐标系下的位置,得到障碍物轮廓点集,如图3所示。障碍物在车辆里程计坐标系下的全局坐标计算公式为
(5)
式中,(X0,Y0,β0)为任意时刻车辆的实时位姿;W为车辆宽度;L为车辆轴距;d为超声波雷达探测距离。
图3 超声波探头与障碍物位置关系示意图
Fig.3 Schematic diagram of the relationship between
the ultrasonic probe and the obstacle
超声波检测到的障碍物点集信息以不规则弧形呈现,如果要得到鲁棒且细节丰富的障碍物边界轮廓,仍然需要通过一定的策略,将代表障碍物的点簇转化为规则的线段。本文结合文献[14]中的线跟踪 ( line tracking, LT)方法和文献[15]中的迭代终点拟合 (iterative end point fit, IEPF)方法,将LT方法引入IEPF方法中,使线段提取方法更好地实现自适应拟合。本文应用的障碍物特征线段拟合方法流程如下:
(1)对于一个超声波数据流{p(i)|i=1,2,…,N},假设以p(i=m)为起始点,依次计算相邻两个数据点p(i=m)和p(i=m+1)之间的欧氏距离。如果该距离大于阈值,则判定点p(i=m+1)和p(i=m)属于不同簇,否则判定属于同一个簇。依次进行上述操作,可以得到数据簇{k(i)|i=1,2,…}。
(2)遍历步骤(1)中得到的每个数据簇,如果数据簇中的数据个数小于阈值,则判定该数据簇为无效数据簇,剔除无效数据簇。否则,判定为有效数据簇,执行步骤(3)~(8)。
(3)对于数据簇k(i)中的数据点集{p(i)|i=1,2,…,n},连接其起点p1和终点pn,此时遍历余下的数据{p(i)|i=2,3,…,n-1},找到距离最大点pk,若点pk到直线p1pn的距离dk大于给定的阈值h,则以该点为断点划分{p(i)|i=1,2,…,k}和{p(i)|i=k+1,k+2,…,n}两个点集。然后递归遍历整个数据簇,直到所有数据点满足要求。
(4)对所有已分割数据集进行异常数据集的剔除,尤其是只含有一个点的数据集。
(5)将分割后的相邻数据点集{p(i)|i=j,j+1,…,p}和{p(i)|i=p+1,p+2,…,q}的边界点pp+1进行重分配。判断点pp+1与数据点集{p(i)|i=j,j+1,…,p}所拟合直线的距离是否满足阈值范围,若满足,则将数据点添加进数据点集{p(i)|i=j,j+1,…,p},并在{p(i)|i=p+1,p+2,…,q}中删除。照此遍历更新所有数据集。
(6)重复步骤(5)操作,如果步骤(5)中没有更新,则执行步骤(7)。
(7)首先基于最小二乘法计算相邻集合{p(i)|i=c,c+1,…,m}和{p(i)|i=m+1,m+2,…,k}的拟合直线lc,m和lm+1,k,然后计算拟合直线lc,m和lm+1,k的夹角β,并与阈值βthd相比较,若β≤βthd则执行步骤(8),否则结束两直线的合并,遍历下一相邻集合,继续步骤(7),直到所有集合遍历结束。
(8)将相邻数据集合{p(i)|i=c,c+1,…,m}和{p(i)|i=m+1,m+2,…,k}进行合并,重新应用最小二乘法拟合直线,计算拟合误差平方和E2,并与阈值进行比较,如果小于阈值,则进行直线合并;否则遍历下一相邻线段,返回步骤(7)。
考虑到传统车位检测算法的不足,本文提出基于特征线段的改进车位检测算法。利用车辆前翼子板两侧布置的超声波雷达对潜在泊车位进行主动检测。泊车位检测过程如图4所示,车辆在低速行驶的过程中,超声波雷达持续发射声波探测障碍物,根据障碍物距离信息及车辆实时位姿,拟合出特征线段1~6,执行车位初步检测操作。初步检测算法逻辑为:遍历特征线段列表中的每条线段,将大于长度阈值的特征线段与下一条相邻特征线段组成一个线段对,然后将该线段对的两条线段分别向车辆行驶方向作投影,并计算投影后的两条线段的近端点之间的距离,近端点间距离大于平行车位宽度阈值或垂直车位宽度阈值的线段对构成潜在车位。
图4 车位检测过程示意图
Fig.4 Schematic diagram of parking space
detection process
经过初步检测后,还需对潜在车位作进一步的判断。由于平行车位和垂直车位的车位形状不同,故建立不同的车位再判断逻辑。以图4中平行车位为例,详细介绍车位再判断过程。根据初步检测算法,在由特征线段3和4组成的特征线段对中,存在一个潜在的平行车位。此时,特征线段3和4分别向外生长,即特征线段3往右侧生长,特征线段4往左侧生长。以特征线段4的生长为例,生长流程如图5所示。特征线段3和4生长完毕以后,会得到两个特征线段集合,将集合内的线段往车辆行驶轨迹上作投影,计算投影累计长度。分别统计两个集合的投影累计长度,当两个集合的投影累计长度均大于阈值时才能进入下一步的车位约束判断。对于平行车位,该阈值取2.5 m;对于垂直车位,该阈值取0.8 m。
图5 特征线段生长流程图
Fig.5 Characteristic line segment growth flow chart
最后对生长完毕的特征线段3和4作一些约束,如图6所示,当车槽深度、车槽长度、横向偏移、偏移角度均满足事先确定的阈值约束时即可认为该车位有效。有路牙的情况如图6所示,在无路牙的情况下,超声波没有检测到障碍物,会输出最大量程值作为距离,此时可认为车槽深度完全满足车位约束。
图6 车位约束条件
Fig.6 Parking space constraint
通过上述过程确定了有效车位后,则需要计算目标泊车位的车位角度,即车位姿态。路牙的特征线段、车位两侧车辆障碍物的特征线段及自车航向都可以为车位姿态提供参考。优先选择路牙的特征线段作为停放基准;在无路牙且生长后的特征线段之间偏移角度小于阈值的情况下,参考车辆障碍物的特征线段计算车位姿态,否则参考自车的航向计算车位姿态。
超声波雷达具有角度模糊性,在障碍物边缘存在严重的拖边情况,故有必要对特征线段拟合精度进行评价。通过激光雷达获取的地面真实数据来建立泊车场景地图,为特征线段的拟合精度评价提供真值。本文选用HOKUYO公司生产的 UXM-30LX-EW 2D 激光雷达,激光雷达安装在车辆左侧,并将雷达扫描角度范围调整为[60°,120°],则车辆侧边环境信息由激光雷达获取。
为了更直观地观测泊车场景信息、特征线段拟合效果,且快速地完成传感器数据标注任务,利用MATLAB设计带有雷达数据可视化界面和离线标注功能的图形用户界面 (graph user interface, GUI)。实验车辆所配置的超声波雷达、激光雷达、IMU等传感器的数据会在智能控制器的CAN总线上传输,通过CAN工具录制总线数据,并导入MDF文件。按照通信协议解析,经过时间同步、数据预处理后,执行离线标注任务,如图7所示。方形框划分一次标注感兴趣的区域,其中包含由超声波数据拟合出的特征线段和代表障碍物真实宽度的真值线段。以障碍物真实宽度为基准,将分段拟合的特征线段在真值线段上作投影,计算拟合特征线段的投影长度与障碍物真实宽度的差值,便得到该次标注样例的精度。
图7 数据标注示意图
Fig.7 Data annotation diagram
总共标注了256组不同地点采集的超声波雷达与激光雷达数据,投影长度与真实宽度值的差值即精度值,显然,精度是两者的差值,可正可负。正精度值主要分布在0~0.36 m范围内,均值为0.218 m;负精度值则主要分布在0~-0.42 m范围内,均值为-0.182 m。对误差绝对值0.3 m以外的数据进行分析,发现泊车过程的急加速为主要原因,当速度高于20 km/h时,超声波测量周期内车辆位移过大,导致边缘误差增大。通常,车辆泊入车位后,与两侧的车位边界线之间存在一定的安全距离,而拟合误差值恰好可补偿该部分距离,不至于因侵占太多空车位空间而导致其不满足空车位约束条件。
基于改进的泊车位检测算法,利用车身翼子板处的长距离超声波雷达,在不同停车场进行了车位检测实验。在某地下停车场内进行的垂直车位检测实验如图8所示,图8a为单线激光雷达的扫描场景图,显然,其中有两个空垂直车位;图8b为超声波雷达输出的障碍物信息;图8c为车位检测结果,其中的矩形框便是检测到的可泊垂直车位,两个空车位均被成功检测。
(a)激光雷达扫描的泊车场景
(b)超声波雷达探测的障碍物数据
(c)车位检测结果
图8 某泊车场景下的车位检测实验
Fig.8 Parking space detection experiment in a
parking scene
为了验证所提算法的可靠性和准确性,有必要对算法进行评价,采用面向车位检测的评价指标如下:①车位识别率。算法正确检测的车位占所有车位的比例,即正确检测出的车位占总车位的比例。②误检率。误检测的车位占所有检测出的车位总数的比例,即在算法检测出的所有车位中,有多少比例的车位是误检测的车位,即非车位。③漏检率。漏检测的车位占实际车位总数的比例,即有多少比例的车位未被算法检测出来。
统计了8个不同停车场下进行的车位检测实验结果,见表2,其中的车位均指至少存在一辆障碍物车辆作为参考的车位。现实场景中泊车环境条件复杂多变,车位识别成功率与邻近车辆的停放姿态息息相关。对于复杂的车位条件,超声波雷达车位检测出错的概率就越高。考虑到算法的泛化性能,本文在实验过程中并未避开条件苛刻的泊车场景。每个停车场景下的车位识别率、漏检率、误检率的分布情况如图9所示。
表2 八个不同停车场的实验统计结果
Tab.2 Experimental statistics of 8 different parking lots
实验场地车位类型实际空车位总数识别车位总数正确识别空车位总数停车场一垂直877停车场二垂直555停车场三平行776停车场四垂直333停车场五垂直333停车场六垂直544停车场七平行222停车场八平行877
图9 空车位识别率、漏检率、误检率的分布情况
Fig.9 Distribution of parking space recognition rate,
missed detection rate and false detection rate
由上述8组不同停车场内的实验结果可知,基于特征线段的改进车位检测算法在无需人工干预的前提下,对标准或近似标准的垂直车位和平行车位的支持较好,两种检测形式均通过检测。传统的车位检测算法只关注距离信号的跳变,抛弃了代表障碍物轮廓的细节信息,很容易造成车位检测的误判。此外,传统的车位检测算法未融合惯性测量单元和轮脉冲的车辆里程,难以给出目标车位的角点坐标。由本文结果可以看出,8种车位实验场景下的平均识别准确率达92.5%。
由于车位检测结果还取决于车位方向的估计,故统计了改进车位检测算法在车位方向上的误差以进行进一步的算法评估。车位方向(姿态)的误差是估计角度和测量角度之间的绝对差,对23个超声波雷达成功检测的车位数据进行统计,车位方向平均误差和最大误差分别为5.8°和11.8°,结果表明,本文算法能够输出稳定且可靠的泊车位信息,基本上能满足泊车需求。
本文提出的车位检测算法降低了环境差异对幅值衰减趋势的影响,提高了超声波雷达在不同温湿度环境下性能的稳定性;针对车位检测过程设计的检测流程降低了车位误检的可能性;实车检测实验结果表明,本文算法既能保证在不同泊车场景下的车位检测准确性,又能保证车位姿态的可靠输出,能够满足自动泊车系统的车位感知要求,具有较好的工程应用价值。本文尚未研究斜列车位,今后需要进一步探究和完善。
[1] HO G J. Semi-automatic Parking Slot Marking Recognition for Intelligent Parking Assist Systems[J]. The Journal of Engineering, 2014, 1:106-113.
[2] HAMADA K , HU Zhencheng , FAN Mengyang , et al. Surround View Based Parking Lot Detection and Tracking[C]∥IEEE Intelligent Vehicles Symposium. Seoul,2015:1106-1111.
[3] JEONG S H , CHOI C G , OH J N , et al. Low Cost Design of Parallel Parking Assist System Based on an Ultrasonic Radar[J]. International Journal of Automotive Technology, 2010, 11(3):409-416.
[4] 王海. 基于激光雷达的自动泊车环境感知技术研究[D].大连:大连理工大学,2013.
WANG Hai. Research on Lidar-based Automatic Parking Environment Perception Technology [D]. Dalian: Dalian University of Technology, 2013.
[5] 张莉莉. 基于超声测距的自动泊车系统研究[D].西安:长安大学,2017.
ZHANG Lili. Research on Automatic Parking System Based on Ultrasonic Distance Measurement[D]. Xi’an: Chang’an University,2017.
[6] 何峰. 一种应用于自动泊车系统的车位检测方法[J].传感器世界, 2009, 15(3): 24-27.
HE Feng. A Method for Parking Space Detection in Automatic Parking System [J]. Sensor World, 2009, 15(3):24-27.
[7] YU Wei, CHEN T. Parking Space Detection from Video by Augmenting Training Dataset[C]∥Proceedings- International Conference on Image Processing. Cairo,2009: 849-852.
[8] 朴昌浩,温球良,苏岭,等. 面向车位识别的相似度数据融合算法[J]. 汽车安全与节能学报, 2014, 5(1):38-46.
PIAO Changhao, WEN Qiuliang, SU Ling, et al. Similarity Data Fusion Algorithm for Parking Space Recognition[J].Journal of Automotive Safety and Energy, 2014, 5(1):38-46.
[9] PELLAM J R , GALT J K . Ultrasonic Propagation in Liquids: I. Application of Pulse Technique to Velocity and Absorption Measurements at 15 Megacycles[J]. Journal of Chemical Physics, 1946, 14(10):608-614.
[10] 孔雅琼.基于单片机的超声测距仪研究与开发[D].长沙:国防科学技术大学,2007.
KONG Yaqiong. Research and Development of Ultrasonic Range Finder Based on Single Chip Microcomputer[D]. Changsha:National Defense University,2007.
[11] AGARWAL V, MURALI N V.A Cost-effective Ultrasonic Radar-based Driver-assistance System for Congested Traffic Conditions[J]. IEEE Transactions on Intelligent Transportation Systems, 2009, 10(3):486-498.
[12] 张永宏,井晨志,王琦. 超声波传感器深度增益补偿电路设计[J].传感器与微系统,2014, 33(2):123-126.
ZHANG Yonghong, JING Chenzhi, WANG Qi. Ultrasonic Sensor Depth Gain Compensation Circuit Design[J]. Sensors and Microsystems, 2014, 33(2):123-126.
[13] PARK W J , KIM B S , SEO D E , et al. Parking Space Detection Using Ultrasonic Radar in Parking Assistance System[C]∥IEEE Intelligent Vehicles Symposium. Eindhoven,2008:1039-1043.
[14] NGUYEN V , GCHTER S, MARTINELLI A , et al. A Comparison of Line Extraction Algorithms Using 2D Range Data for Indoor Mobile Robotics[J]. Autonomous Robots, 2007, 23(2):97-111.
[15] BORGES G A, ALDON M J.A Split-and-merge Segmentation Algorithm for Line Extraction in 2-D Range Images[C]∥Proceedings 15th International Conference on Pattern Recognition. Barcelona, 2000:441-444.