APP下载

一种面向智能车辆视觉系统的电子稳像算法

2022-05-13张浩彬吴建华殷国栋

关键词:卡尔曼滤波滤波矩阵

张 宁,张浩彬,吴建华,阳 媛,殷国栋

(1.东南大学机械工程学院,江苏南京 211189;2.东南大学仪器科学与工程学院,江苏南京 210096)

智能化是当下汽车行业的发展趋势。其中摄像头是智能车辆环境感知系统的重要部件。由于车辆自身的振动与可能的恶劣路况,摄像头拍摄到的图像不可避免地发生振动,对后续的图像处理流程有较大的影响。机械稳像与电子稳像(electronic image stabilization,EIS)可以解决上述问题[1]。EIS基于图像处理算法,不需要额外的机械结构,目前得到了更为广泛的应用。忽略EIS系统中灰度化等预处理过程,EIS主要包括三部分[2]:①估计当前帧相对于参考帧的变换矩阵(运动估计);②对变换矩阵中的参数进行滤波(运动滤波);③逆补偿和输出图像(运动补偿)。

运动估计是EIS中最重要的一步,其方法主要包括块匹配法、灰度投影法、相位相关匹配法、位平面匹配法、特征匹配法等[3]。考虑到车辆振动强度、实时性与匹配精度,特征匹配法较适合车内的应用。图像特征包括点特征、线特征、边缘特征等,点特征由于其方便的后续处理得到了广泛运用。点特征匹配的主要方法包括Harris算法、尺度不变特征变换(scale-invariant feature transform,SIFT)、快速鲁棒特 征 算 法(speeded up robust features,SURF)、FAST(features from accelerated segment test)算法[4-7]。Matsushita等[8]在SIFT的基础上提出优化方案,使用最大稳定极值区域特征探测器来检测图像特征点,其在大范围测试序列中表现最佳,此外这种方法具有作为仿射协变的独特属性,这使得它对图像的变化具有鲁棒性。熊晶莹[9]基于FAST算法原理提出了一种图像亮度信息与图像灰度值梯度信息相结合的特征点检测策略,实现对强显著性特征点的快速提取。

运动滤波的目的是分离主观运动与非主观抖动,以便后续图像处理中反向补偿非主观的抖动。EIS中常用的滤波算法有均值滤波、最小二乘拟合滤波、B样条曲线拟合滤波、卡尔曼滤波等[10-11]。由于具有实时性,卡尔曼滤波已成为研究的主流[12-13]。然而,卡尔曼滤波对噪声参数设置、随机运动的频率与幅值较为敏感,已有很多学者围绕这一问题展开工作。Park等[14]提出了一种基于有限脉冲响应的稳像方法,较卡尔曼滤波对模型参数的失谐有更强的鲁棒性。Yang等[15]提出了一种基于粒子滤波器的稳像算法,之后Zhu等[16]在其基础上采用粒子滤波实现主观运动与噪声运动间的分离,通过计算机仿真实验验证了该算法性能,结果表明粒子滤波较卡尔曼滤波有更小的误差方差。He等[17]提出了用带汉宁窗的理想低通滤波器对卡尔曼滤波估计的全局运动矢量进行滤波的混合滤波方案。

EIS的最后一步是运动补偿,根据滤波后的全局运动矢量对图像进行反向补偿后,图像会出现空白部分,鉴于此通常会对图像进行裁剪。由于运动补偿的解决方法较为单一,本文不将其作为研究重点。综上可知,车辆环境较为严苛,同时对电子稳像算法的精度、实时性有较高的要求,特别在运动估计、运动补偿过程中;运动滤波对EIS系统的表现有很大影响,特别对系统噪声固定的卡尔曼滤波,不规则表面激励很容易导致滤波发散。

针对上述问题,提出一种针对智能车辆视觉系统的EIS算法,并基于振动特性显著的汽油模型车平台对本文中的EIS算法进行验证。在充分考虑车载需求的基础上基于特征点匹配的方法,实现运动估计,选用ORB算法满足实时性要求,实现特征点初步匹配。为了提高特征点的匹配精度和匹配效率,改进了RANSAC(random sampling consensus algorithm,RANSAC)算法。为解决传统的卡尔曼滤波对初值敏感的问题,采用自适应卡尔曼滤波(adaptive Kalman filter,AKF)的方法实现运动滤波,以适应车载可能遇到的各类复杂工况。最后通过搭建的汽油模型车平台在极端路面条件下进行试验,验证本文提出的EIS算法的有效性。

1 基于ORB算法的特征点检测与匹配

1.1 图像特征点的检测与描述

ORB算法基于FAST特征检测算法,并用改进BRIEF(binary robust independent elementary features algorithm)算法对特征点进行描述,可用于检测和描述点的特征[18]。FAST算法寻找的特征点为角点。其特征通常为周围像素点灰度的显著变化。如图1所示,通过比较点P周围16个点的灰度值,可以确定点P是否为角点。

图1 角点及周围16个像素点Fig.1 Corner point and the 16 points around it

FAST算法的最终输出为图像角点的坐标。为了进行当前帧与参考帧的特征点匹配,有必要确定一个描述符来表示角点坐标的性质。ORB算法基于BRIEF算法,用一种二进制串的特征描述符对特征点进行描述。在一个特征点的邻域内选择n对像素点pi、qi(i=1,2,…,n),通常n的大小为128、256或512,本文中n取256。邻域大小为S×S,pi和qi均服从N(0,S2/25)的高斯分布。然后比较每个点对的灰度值的大小,如果I(pi)>I(qi),则生成二进制串中的1,否则为0,即[18]

为解决BRIEF算法不具备旋转一致性的问题,ORB算法通过灰度质心改进了BRIEF算法。

式中:x、y为特征点周围像素的坐标。灰度质心的特征可以确定为

在不同旋转角度下点的描述方法是一致的,能够满足可能出现的侧倾、俯仰等车载条件。

1.2 特征点初步匹配

基于不变性特征点的匹配策略包括RANSAC、最近/次近邻比值策略、距离一致约束法则等。基于最近/次近邻比值策略匹配精度低、距离一致约束法则对旋转运动敏感、RANSAC实时性差的特点,先采用最近/次近邻比值策略进行初步匹配,之后采用改进RANSAC消除误匹配。

最近/次近邻比值策略将欧氏距离作为两特征向量的相似性判定准则。若特征点P的最近邻特征点和次近邻特征点分别为q1和q2,对应欧氏距离分别为d1和d2,计算d1和d2的比值为Pratio,将其与预先设置的阈值T比较,进而确定匹配是否成功。

1.3 特征点检测与初步匹配结果

图2是初步匹配结果。特征点检测的平均时间为6.01ms,每帧的平均检测点为483.7个,平均匹配特征点对223.4对。可以看到存在一些误匹配点对,需要后续进行剔除处理。

图2 特征点检测与匹配结果Fig.2 Feature point detection and matching results

2 改进随机一致性采样算法消除误匹配

2.1 图像变换模型

判断误匹配点对的本质是判断该点对是否满足图像变换矩阵H,因此有必要在剔除误匹配点对前确定图像变换模型。选取的模型应精确地描述图像运动并兼顾实时性,考虑到车辆车身的抖动工况,具备4个参数的相似变换模型可以精确地描述旋转与平移运动,模型表达式为

式中:(x1,y1)、(x2,y2)分别为一特征点在参考帧与当前帧中的坐标;Δθ为2帧间相对旋转角度;Δx、Δy分别为特征点的横向、垂向偏差;g为缩放系数。

2.2 改进随机一致性采样算法

通过初次匹配得到的点对可通过最小二乘拟合的方法得到参考帧与当前帧间的变换矩阵H[19],但误匹配点对的存在很影响该过程的精度。RANSAC算法是一种数据筛选算法,可以很好地解决这一问题。基于可以描述点的模型方程,RANSAC算法通过设置阈值将数据点区分为内点与外点:内点为满足模型方程的点,外点为不能满足模型方程的点。通过随机多次采样,当满足的内点最多时则得到所需的数据模型方程。RANSAC的具体步骤如下[20]:

(1)设置可用于计算变换矩阵H的最小点对数s,随机选择s对不重复的点对组成点集Sr。

(2)设置迭代次数k,假设当前帧中检测出的特征点总量为n,其中内点数为m。显然,集合Sr中所有点都是内点的概率为

式中:pi′、pi分别代表参考帧、当前帧中的坐标;e为区分内点和外点的误差阈值。

(4)含有最多内点的变换矩阵H为所需的图像变换矩阵。

尽管RANSAC算法具有较好的鲁棒性,但在实际工程中仍存在不足:①若初次匹配产生大量误匹配点,大量外点导致迭代次数增加;②若随机点样过于集中,会影响图像变换矩阵的精度;③若采集到外点,整个迭代也会执行一次造成时间浪费。基于以上不足,本文改进了RANSAC算法,具体步骤如下:

(1)按汉明距离DH对所有点对排序,当满足DH>E+Kσ或DH<E-Kσ时删去该点对。其中,E表示点对的平均汉明距离,σ表示点对距离的方差。K可用于调整删去点对的数量。

(2)设置可用于计算变换矩阵H的最小点对数s,随机选择s对不重复的点对组成点集Sr。

(3)设置迭代次数k。

(4)在余下初步匹配后的点对中随机选择3对点,确定其中内点的数量,如果数量小于2,则跳出此迭代并执行下一个迭代。

(5)含有最多内点的变换矩阵H为所需的图像变换矩阵。

2.3 误匹配点对消除结果

显然,当车辆停止时,参考帧与当前帧间的图像变换矩阵为单位矩阵。然而,移动的车辆、行人等会产生误匹配点,导致变换矩阵偏离单位矩阵。利用这一特性可以测试改进随机一致性采样算法(improved RANSAC,IRANSAC)的性能,由此在实际交通路口中进行试验。

显然理论上Δy应为零,Δy越接近零,算法剔除误匹配点对的效果越好。由此定义匹配精度Am为

式中:kmax为总帧数。图3为试验结果。由于RANSAC和IRANSAC中Am的平均值分别为0.068和0.020,本文的IRANSAC具有更好的性能。

图3 IRANSAC算法的匹配结果Fig.3 Matching results of IRANSAC

3 基于自适应卡尔曼滤波的图像变换矩阵滤波

3.1 卡尔曼滤波

EIS中常用的滤波算法包括均值滤波、最小二乘拟合滤波、B样条曲线拟合滤波、卡尔曼滤波等。均值滤波、最小二乘拟合滤波实时性较差,B样条曲线拟合滤波对运动模型过于依赖,因此卡尔曼滤波在此领域得到广泛运用。经典卡尔曼滤波算法中,系统噪声Q和观测噪声R都需要预先设定。如图4所示,当使用Q=0.01、R=1以及Q=0.1、R=1不同参数设置时,滤波效果完全不同。因此固定噪声矩阵不能适应车载工况,特别在本文关注的极端动力学工况中。

图4 在不同的Q和R下卡尔曼滤波的效果Fig.4 Effect of Kalman filter at different Q and R values

3.2 自适应卡尔曼滤波

为解决上述问题,将Sage-Husa自适应卡尔曼滤波[21]引入EIS的研究中。经典卡尔曼滤波以估计状态与实际状态方差最小为原则,通过迭代求解当前实际状态。状态方程与观测方程为

式中:Xk为状态向量;Φk,k-1为状态转移矩阵;Zk为观测向量;Hk为观测矩阵;Wk-1为系统噪声,服从N(0,Qk-1)分布;Vk为观测噪声,服从N(0,Rk)分布。在本文中,Xk=[x,ẋ,y,ẏ,θ,θ̇]T,x为当前帧相对于第1帧的横向位移,y为垂向位移,θ为当前帧相对于参考帧的侧倾角。Φk,k-1和Wk-1可表示为

由于x、y、θ为估计值,在计算过程中添加上标̂以和观测值进行区分。观测状态为[x,y,θ]T,Hk和Vk可表示为

自适应卡尔曼滤波中观测噪声与预测噪声的均值不再被视为0,分别为q̂k和r̂k。这样状态方程(11)和观测方程(12)可改写为

式中:r表示匹配点对数nk对测量精度的影响,r越大,表示点数对测量精度的影响越大。如此将AKF引入到车载EIS系统的应用中。如图5所示,AKF成功过滤掉抖动得到主观运动矢量,初始噪声矩阵的设置并没有影响到滤波效果,验证了AKF对不同噪声环境具有很好的适应性。

图5 在不同的Q和R下自适应卡尔曼滤波的效果Fig.5 Effect of AKF at different Q and R values

4 实验验证

4.1 汽油模型车实验平台

为尽可能提高EIS系统的可移植性,重点关注极端车辆工况。然而,极端工况下的实车实验具有极大危险性,本文选择搭建一辆振动特性显著的汽油模型车,通过在恶劣道路上行驶的方式实现较正常情景更为极端的工况,从而充分验证EIS的性能。搭建的汽油模型车结构如图6所示,除中置发动机外,汽油模型车的底盘结构与实际车辆相似。模型车主要由驱动舵机与转向舵机控制,控制系统置于车辆前端,轮速由置于底盘下方的编码器采集。

图6 汽油模型车结构Fig.6 Structure of gasoline model car

模型车的电气结构图如图7所示。上位机为树莓派3b+,平台通过上位机采集视频。相机感光芯片为CMOS型芯片——索尼IMX219。摄像机拍摄视频的分辨率为480×480。模型车的控制通过STM32单片机引脚的2个PWM信号引脚实现。因为模型车的负载有限,EIS使用离线计算的方法,计算平台为一个基频为3.2GHz的四核CPU。2个控制舵机共用一个10 000 mAh电源,其他硬件共用一个10 000 mAh电源,2个电源系统之间共地。

图7 实验平台电气结构Fig.7 EE architecture of the platform

4.2 典型实验工况

由于模型车采用的编码器在恶劣路况下难以稳定工作,在试验过程中在2个前轮上安装凸块来代替高不平度路面,如图8。凸块材料为铝合金,其纵向截面为直角边长35mm的等腰直角三角形,横向宽度28mm。实验中车辆以1.5m·s-1速度匀速直线行驶。从拍摄视频的角度看,这相当于在恶劣的路况下直接进行实验,实验测试工况较正常工况更为极端,可以很好地检验算法在恶劣工况下的性能。

图8 模型车实验工况Fig.8 Experimental working conditions

4.3 电子稳像算法处理结果分析

通常用峰值信噪比(peak signal to noise ratio,PSNR)评判EIS系统的效果,以PSNR表示。

式中:M和N分别为图像的长度和宽度;Io(m,n)为参考帧中坐标点(m,n)的灰度值;Ic(m,n)为当前帧中坐标点(m,n)的灰度值。图9展示了原始视频与补偿后视频PSNR的对比。视频处理后平均PSNR提高了1.26dB,证明了EIS的积极作用。应当注意,1.26dB似乎比其他文献的结果要小。实际上,对不同EIS的PSNR直接进行比较是没有意义的,因为通过设置滤波参数使滤波结果足够平滑,可以大大提高PSNR。但是,这样将偏离了保留车辆主观运动矢量的目的。

图9 原始视频与补偿视频的PSNR对比结果Fig.9 Comparison of PSNR of original video and compensated video

5 结语

提出了一种针对车辆视觉系统的电子稳像算法,基于车载需求研究EIS系统的特征点检测和匹配方法,进而关注如何提高特征点的匹配精度,并进一步地研究在车载场景下如何将车辆的主观运动与噪声分离。由于重点关注极端条件下的车辆工况,在进行安全试验的范围内,难以实现需要的极限工况,本文中搭建具有显著振动特性的汽油模型车平台,并选择恶劣的道路条件进行验证,主要结论如下:

(1)考虑到车辆工况和实时性要求,选择了基于特征点匹配的技术路线,采用ORB算法。结果表明,特征点检测的平均时间为6.0ms,每帧的平均检测点为483.7个,平均匹配特征点对223.4对。这些性能指标均满足后续的处理要求。

(2)给出了匹配精度Am的定义,RANSAC和IRANSAC算法的Am分别为0.068和0.020,本文提出的IRANSAC算法具有更好的性能。此外与RANSAC相比,IRANSAC的处理速度提高了32.4%。(3)采用了Sage-Husa自适应卡尔曼滤波算法,在极端工况下的实验显示EIS处理后视频的PNSR提高了1.26dB,充分证明了本文提出的电子稳像算法的正确性与有效性。

作者贡献声明:

张 宁:提出论文研究内容,管理论文流程与研究项目进展,对论文提出修改意见,为论文研究工作提供项目支撑。

张浩彬:修改完善论文,分析模型车实验数据,给出初步结论,回复审稿意见。

吴建华:撰写论文初稿,开展模型车实验平台的搭建,制订实验方案。

阳 媛:提出供参考的电子稳像算法的方案,对撰写论文提出修改意见。

殷国栋:提出智能车辆视觉系统的功能需求,对论文提出修改意见,为论文研究工作提供项目支撑。

猜你喜欢

卡尔曼滤波滤波矩阵
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
脉冲星方位误差估计的两步卡尔曼滤波算法
一种考虑GPS信号中断的导航滤波算法
卡尔曼滤波在雷达目标跟踪中的应用
卡尔曼滤波在雷达目标跟踪中的应用
高效LCL滤波电路的分析与设计
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
基于多窗口中值滤波和迭代高斯滤波的去除图像椒盐噪声的方法
多项式理论在矩阵求逆中的应用
矩阵