APP下载

一种改进的汽车发动机喷雾锥角测量算法

2019-04-23

装备机械 2019年1期
关键词:锥角卡尔曼滤波灰度

□ 李 楠

长安大学 汽车学院 西安 710064

1 喷雾锥角定义

汽车发动机的燃油雾化效果直接影响发动机的经济性、动力性能及排放性能[1]。

目前,发动机喷雾锥角的定义比较多,研究人员普遍采用Naber提出的喷雾锥角定义:在油束贯穿距离的1/2处作水平直线,与油束宽度边缘交于B、C两点,与喷嘴A处形成的∠BAC即为喷雾锥角,如图1所示。

油束贯穿距离定义为在开始喷油后指定时刻的喷雾边缘与喷油器顶端之间沿喷油器轴线方向的最大距离,即图1中的L。

图1 喷雾锥角示意图

2 现有测量方法

文献[2]通过图1中B、C两点坐标与喷嘴A处坐标构成一个三角形,利用余弦定理计算出喷雾锥角。由于只考虑三个点,并没有考虑油束整个边缘,因此随着油束长度增加,这一测量方法的误差较大。文献[3]通过对喷雾图像进行直方图均衡化,增强油束与背景的对比度,用自适应滤波函数对图像进行平滑处理,从而去除噪声,再用Otsu法二值化处理,用坎尼算子进行边缘检测,结合霍夫变换拟合油束边界线,计算两条直线的斜率,从而得出喷雾锥角。这一方法虽然考虑了油束的边界整体特性,但是由于前期预处理会损失油束边缘,而且霍夫变换参数难以控制,因此导致拟合出的直线不止一条,测量精度不高。

针对上述问题,笔者提出一种改进的汽车发动机喷雾锥角测量算法。这一算法根据原喷雾图像的灰度直方图特点,将像素值不为0的点都提取出来,全部置为1,再通过连通域、孔填充等方法完整分割出油束区域,并结合卡尔曼滤波获取边界数据,用最小二乘法计算出喷雾锥角。

3 喷雾图像获取

喷雾图像的获取方法主要有机械测量法、电子测量法、光学测量法。机械测量法与电子测量法在测量精度与稳定性方面都不如光学测量法[1],因此笔者采用光学测量法,利用高速摄像机拍摄喷雾场。喷雾图像拍摄系统如图2所示。

图2 喷雾图像拍摄系统

喷雾图像拍摄系统主要设备有高压油泵、电磁阀、高速摄像机、可控燃油喷射系统等,在一个标准大气压下进行喷射。高速摄像机采用MotionXtra HG_100K型高速电荷耦合器件(CCD)数字摄像机,如图3所示。

图3 MotionXtra HG_100K型高速CCD数字摄像机

获取喷雾图像时,打开氙灯向系统提供充分稳定的光照。将摄像机的分辨率调整为1 600像素×1 200像素,拍摄频率为1 000 帧/s。燃料为70%柴油与30%乙醇混合燃料,高压油泵调节喷射压力。试验所用喷嘴的孔径为0.366 mm,喷射压力为25 MPa。

在喷雾图像中,喷雾锥角、油束贯穿距离等信息以像素为单位,笔者设计的测量算法同样基于像素进行编写,所以需要对尺寸进行标定,进而确定每个像素所代表的实际尺寸。在获取喷雾图像的同时,将刻度尺固定在喷嘴中轴线正上方,确保刻度尺和油束中轴线相对于摄像机镜头在同一水平面上。通过单位刻度统计像素数量,进而确定单位像素代表的实际距离。喷雾图像与刻度尺如图4所示,刻度尺局部放大如图5所示。

图4 喷雾图像与刻度尺

图5 刻度尺局部放大

通过Photoshop软件将图片放大,1 cm所占像素为31个,即单位像素代表的实际距离为1/31 cm。

4 喷雾图像处理

4.1 图像预处理

由于高速摄像机拍摄到的喷雾图像为.rgb格式,因此需要将其转换为灰度图像以减小储存量,然后提取图像中的感兴趣区域。用MATLAB软件中的Rgb2gray函数将拍摄到的原始.rgb格式图像转换为灰度图像,并用Imcrop函数分割出感兴趣区域,同时显示该区域的灰度直方图。原始.rgb格式图像如图6所示,感兴趣区域图像如图7所示,灰度直方图如图8所示。

4.2 图像二值化

观察灰度直方图可以发现,像素值基本落在[0,50]之间,此时目标与背景对比度不大,如果用Otsu法进行全阈值分割,将会把部分油束当作背景,造成油束边缘损失。Otsu法阈值分割图像如图9所示。用笔者的测量算法,首先提取灰度图像中灰度值不为0的像素点,将所有不为0的像素点全部置为1,得到如图10所示的二值化图像。然后用连通域去除小于一定面积的区域,如图11所示。经过多次试验,笔者选择去除面积小于100像素×100像素的区域。最后进行孔填充,得到如图12所示孔填充后的图像。

图6 原始.rgb格式图像

图7 感兴趣区域图像

图8 灰度直方图

图9 Otsu法阈值分割图像

图10 二值化图像

图11 去除小于一定面积区域

图12 孔填充后图像

4.3 获取油束轮廓边界

利用MATLAB软件中的Bwboundaries函数获取油束的边界轮廓,如图13所示。再根据油束贯穿距离的1/2上下对称分割油束,得到油束分割图,如图14所示。

图13 油束边界轮廓

4.4 卡尔曼滤波处理

卡尔曼滤波是一种基于线性无偏最小方差估计的递推滤波方法,将信号看作一个线性系统在白噪声作用下的输出,利用状态方程来描述这一系统的输入输出关系[4]。卡尔曼滤波原理是利用之前一个状态的估计值和当前状态的测量值,来估算出当前状态的估计值。由于卡尔曼滤波主要针对离散变量,因此需要一个离散型控制过程[5]。这一系统可以用式(1)线性随机方程表示,并用式(2)计算当前时刻系统的测量值。

图14 油束分割图

式中:X(k)为k时刻的系统状态;X(k-1)为k-1时刻的系统状态;U(k)为k时刻对系统的控制量;A、B为状态转移矩阵;Z(k)为k时刻的测量值;H为观测矩阵;W(k)为过程噪声;V(k)为测量噪声。

笔者假设W(k)和V(k)为高斯白噪声,在式中以方差Q、R代替,其中Q为系统过程噪声的方差,R为系统测量噪声的方差。测量噪声方差R与仪器测量精度息息相关,一般可以从统计学方面去理解,即对试验数据进行大量统计,然后得出测量方差。过程噪声方差Q可以通过对比试验获得。通过大量试验,取R为0.35、Q为0.01时,滤波效果较好。

用k-1时刻的系统状态预测k时刻的系统状态X(k|k-1):

X(k|k-1)=AX(k-1|k-1)+BU(k)

(3)

式中:X(k-1|k-1)为k-1时刻系统状态最优值。

计算对应X(k|k-1)的协方差矩阵P(k|k-1):

P(k|k-1)=AP(k-1|k-1)A′+Q

(4)

式中:P(k-1|k-1)为X(k-1|k-1)状态对应的协方差矩阵;A′为A的转置矩阵;Q为系统过程的协方差矩阵。

有了当前k时刻预测值X(k|k-1)与k时刻系统测量值Z(k),就可以得到k时刻系统的估计值X(k|k):

(5)

式中:Kg为卡尔曼增益。

(6)

式中:R为系统测量过程的协方差矩阵。

由于离散控制过程结束后卡尔曼滤波器才结束运行,因此要不断更新k时刻系统状态X(k|k)的协方差矩阵P(k|k):

P(k|k)=[1-Kg(k)H]P(k|k-1)

(7)

随着状态的不断更新,卡尔曼滤波器进行回归运算,直到离散控制过程结束[5]。之所以引入协方差,是因为系统更新存在一定的误差,考虑协方差可以提高当前状态估计值的精度[6]。

由于卡尔曼滤波在处理喷雾油束边界数据时回归性和误差都好于均值滤波与中值滤波,因此笔者选择卡尔曼滤波进行处理。对上半部分油束边界数据进行分析,由于油束的对称性,下半部分的分析情况与上半部分相同。采用不同滤波方法对油束边界数据的处理结果如图15所示。

图15 油束边界数据滤波处理结果

4.5 最小二乘法拟合

提取出喷雾油束边界数据后,需要得到油束两侧边界的直线,然后根据两条直线的斜率计算出夹角,这一夹角即为喷雾锥角。目前求油束边界拟合直线的方法主要有霍夫变换法及基于霍夫变换的改进方法,如当一侧的拟合直线不止一条时,选取最长的一条直线作为最佳直线[7]。霍夫变换拟合油束边界如图16所示。虽然霍夫变换法的抗干扰能力较强,但是拟合直线不止一条时,下半部分油束边界检测效果较差,喷雾锥角测量误差较大,而且通过调整霍夫变换法的参数来控制拟合直线的条数往往效果不佳[8]。因此,考虑到油束经过卡尔曼滤波后噪声点明显减少,加上对拟合直线的精度要求较高,笔者采用误差更小的最小二乘法来拟合油束边界[9]。最小二乘法的定义为MIN∑[yi-Φ(xi)]2,(xi,yi)为已知数据点,Φ(xi)为拟合函数。

图16 霍夫变换拟合油束边界

拟合直线为一次函数,最小二乘法考虑已知数据点到拟合直线距离的二次方和最小[10]。最小二乘法拟合油束边界如图17所示。

图17 最小二乘法拟合油束边界

通过计算最小二乘法得到的两条直线的斜率,可以求得对应时刻的喷雾锥角,试验计算结果为15.231 7°。

5 测量结果及分析

对所有喷雾图像进行批处理,分别应用文献[2]余弦定理测锥角方法、文献[3]霍夫变换测锥角方法,以及笔者所提出的测量算法进行喷雾锥角测量,结果如图18所示。

图18 喷雾锥角测量结果

测量结果表明,三种测量方法都能在总体上反映喷雾锥角的变化趋势,即先迅速增大后逐渐趋于平稳。在启喷阶段,由于喷射压力较大,喷雾锥角快速增大。在增大到一定阶段后,由于喷射压力减小及环境背压的存在,导致喷雾锥角逐渐稳定。应用笔者测量算法得到的喷雾锥角曲线稳定性要优于文献[2]与文献[3]方法。文献[2]方法在前几帧测得的喷雾锥角大于笔者测量算法,这是因为启喷阶段,油束速度快,此时利用油束贯穿距离1/2处的最小行与最大行像素点作为计算喷雾锥角的参照点是不合理的。文献[3]在启喷阶段的喷雾锥角与笔者测量算法所得结果相差不大,但是之后明显小于笔者测量算法,且波动较大,次要原因是喷雾图像不规则,主要原因是预处理阶段对喷雾图像进行二值化时丢失了油束边界信息,所以后期总体喷雾锥角变小。

6 结束语

针对测量汽车发动机喷雾锥角过程中直接使用Otsu法二值化会损失油束边界信息,以及霍夫变换检测油束边界直线精度不高这两个问题,基于MATLAB软件数字图像处理技术提出了一种新的测量算法:首先考虑喷雾图像实际灰度像素值比较小的特征,将像素值不为0的都设为1;然后用孔填充、连通域去除小于一定面积的区域,完整分割出喷雾油束,提取油束边界数据,选择回归性较好的卡尔曼滤波进行滤波去噪;最后基于最小二乘法拟合油束边界数据,根据直线斜率计算出喷雾锥角。为了充分验证这一测量算法的可行性及准确性,在同一工况下拍摄完整喷雾过程图像进行喷雾锥角测量,确认笔者测量算法能够有效保护油束边界,测量精度较高,具有一定的实用价值。

猜你喜欢

锥角卡尔曼滤波灰度
基于深度强化学习与扩展卡尔曼滤波相结合的交通信号灯配时方法
采用改进导重法的拓扑结构灰度单元过滤技术
脉冲星方位误差估计的两步卡尔曼滤波算法
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
Arduino小车巡线程序的灰度阈值优化方案
喷嘴结构对耙吸挖泥船高压冲水性能影响的试验研究
卡尔曼滤波在信号跟踪系统伺服控制中的应用设计
水泥基体中仿生钢纤维的拔出试验
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
基于均值算法喷雾锥角图像噪声处理