基于机器视觉的在用柴油车烟度测量方法

2019-05-08 12:45
计算机测量与控制 2019年4期
关键词:柴油车标定灰度

(中国地质大学(武汉)机械与电子信息学院,武汉 430074)

0 引言

使用柴油发动机为动力的车辆,以其优良的动力、经济耐用等优点,在生产与运输中得到广泛的应用。然而,柴油车带来的环境污染问题也一直受到社会各界的诟病,特别是一些排放黑烟的柴油车,对环境的污染极为严重,相关部门也特别针对使用柴油发动机作为动力的车辆制定了标准[1]。在用柴油车即注册登记有牌照的柴油车。检测部门通过设立检测站进行排查的形式,以现场的烟度测量结果为依据,采取禁止黑烟严重超标却仍然上路的在用柴油车进入城区等限制措施。

在用柴油车排放的尾气中可视的黑烟含量使用烟度来表示。传统的烟度测量方法是由接受过专业培训并取得认定资格的测量人员直接在现场进行目测,测量的结果很容易受到测量人员自身状态的影响。虽然是专业的人工测量,但仍然具有一定的主观性、随意性,导致测量结果的不准确[2]。另外,测量人员若长期处于烟度测量的恶劣环境之下,身心健康也会受到严重的损害。为解决这些问题,一些使用机器代替人工测量的方法相继被提出。例如,一种基于光的吸收与散射的物理原理的方法,设计了一种能够检测光的衰减率的光学烟度计,借助光学测量的方法来实现烟度的测量[3]。由于黑烟是由细小的黑色固体颗粒组成的,因此使用光学烟度计时难免会有部分黑烟附着到装置上,为保证测量的准确性,需要时常进行清理,影响检测的效率。又如,一种使用烟气收集测量的方法,通过专门设计的装置将排放的烟气收集起来,令烟气通过滤纸,再对被污染的滤纸进行分析,根据滤纸被污染的情况确定烟度大小,从而实现烟度的测量[4-5]。然而,被烟气所污染的滤纸无法重复使用,每次检测过后必须进行更换,测量繁琐,维护成本高。英国的G.A.Rhys-Tyler等人于2011年的一项实验中将遥感检测技术应用到了对伦敦的五万辆车辆进行了包含黑烟浓度指标的排放测试中[6],近年国内也提出在公路上使用遥感技术测量的方法,要求在公路的上坡路段露天检测,该方法虽然不影响车辆正常的行进,但受到天气、场地、车速等的严重制约,检测不能随时进行,不适用于检测站内检测[7]。有鉴于此,需要有一种适用于检测站的快速、高效、准确的在用柴油车烟度测量方法。

基于机器视觉的在用柴油车烟度测量方法,借助计算机进行高速的图像处理运算,使用OpenCV作为图像处理算法基础编写的VC++应用程序,再配合简单的检测环境以及背景的布置,并进行实验验证。该方法在短时间内即可测量出在用柴油车的烟度级别,具有操作便捷、测量快速、结果准确等特点。

1 烟度测量方案

烟度测量的方案包括系统组成、原理、方法三部分内容。

1.1 烟度测量系统组成

在用柴油车烟度测量整体的系统组成包括硬件系统和软件系统两大部分。如图1所示,硬件系统包括图像采集、图像处理、背景布置等模块,图像采集模块主要为相机,由相机采集的图片传输到作为图像处理模块的计算机中进行图像处理,而背景布置模块用于为烟度测量提供洁净、明亮的背景。软件系统为使用VC++编写的MFC应用程序,包括基本的图像处理、标定过程、测量过程等算法,图像处理的算法以OpenCV为基础,标定过程与实际的测量过程的算法构成整个软件的核心算法。

图1 在用柴油车烟度测量系统组成

1.2 烟度测量原理

在用柴油车的烟度一般以林格曼黑度等级来表示。标准的林格曼黑度等级通过在白纸或白板上以140 mm×210 mm区域内印制的不同粗细的黑色网格线所占面积百分数来确定,如图2所示。按照黑色网格所占区域面积的百分数,从0%(全白)到100%(全黑)每隔20%设定一个等级,依次规定为林格曼黑度0级到5级[8]。实际应用时,根据检测要求的不同,还可以进一步细化林格曼黑度等级的划分,或者直接以百分数来表示等级[9]。但是,由于确定标准林格曼黑度等级的“全白”与“全黑”为理想的情况,因此在以图像处理为手段的实际检测中,可以采用减除背景再使用灰度的变化值进行换算的方法来得到林格曼黑度值。

图2 标准林格曼黑度图(示意图)

1.3 烟度测量方法

首次进行烟度测量时需要执行标定操作。由于林格曼黑度值与其实际的黑烟区域平均灰度值成正比,因此标定的目的在于得到林格曼黑度值B与图像识别所检测到林格曼标准图的灰度值G的线性关系:

G=a+kB

(1)

式中,a为林格曼黑度等级0级在图片中的灰度,k为林格曼黑度等级每增加1时灰度的变化值。标定的效果通过G与B的线性回归相关系数r来确定,r的绝对值越接近1,说明标定的效果越好。若r的绝对值小于0.95,则需要重新进行标定。

实际测量过程需要利用标定过程得到的林格曼黑度等级B与黑烟区域平均灰度G的线性关系进行林格曼黑度的反算,即:

(2)

测量烟度需要在与标定过程相同的背景和光照条件下进行,为了消除背景环境对烟度测量准确度的影响,若背景或环境发生改变,则应重新进行标定。在相机视野中能清楚地看到车辆排气管及其周围区域的情况下,测量烟度首先需要取1张该次测量过程下车辆停在测功机上但尚未发动时无烟产生的图片作为背景,然后命令车辆进行发动,待车辆发动后,以时间间隔1 s的频率连续采集5张照片并保存。

2 烟度测量系统设计

2.1 硬件设计

烟度测量硬件设计包括对图像采集、图像处理、背景布置等模块的选型与配置,各模块的布置示例如图3所示。图像采集与处理模块位于车辆检测通道的一侧,而标准林格曼黑度标定模块、背景改善装置等位于车辆检测通道的另一侧,并令图像采集单元正对所述林格曼标准图标定与背景布置模块。图像采集模块需使用固定装置进行固定,且图像采集模块、标准林格曼黑度标定模块、背景布置模块三者应当相对于周围的静物保持静止。布置完成之后,需要操作人员接触的部分可通过控制室与检测现场进行物理隔离,仅通过玻璃窗观察现场情况,避免直接暴露在检测环境中。

图3 硬件系统各模块布置示例

图像采集模块(相机)与图像处理模块(计算机)既可集成在同一设备上,也可为分离式的两台设备。图像采集模块主要为相机,由于烟度测量对于图像处理的精度要求并不高,相机要求至少有50万以上的像素,因此常见的以USB方式连接的相机或以PCI总线方式连接的相机即可满足检测要求,亦可使用通过以太网连接的工业相机进行测量。由于图像处理模块使用了以OpenCV作为图像处理的算法基础、在Visual C++平台上开发的MFC应用程序,且图像采集模块上传的图片需要在程序内进行图像处理过程,因此图像处理模块所使用的计算机要求搭载能够运行使用MFC编写出的可执行程序的Windows操作系统。

背景布置模块包括人工布置的白板、标定用的印有标准林格曼黑度图的标定板、用于放置或调整设备位置与方向的固定装置、改善背景的照明装置等。由于自然光线的明暗变化对使用机器视觉方法的测量有影响,背景布置模块可以消除环境光线亮度变化对测量的影响,减少标定的次数。人工布置的白板用于现场环境污浊等不利于检测的环境下,提供洁净、明亮的白色背景。标准林格曼黑度标定模块包括印有6幅标准林格曼黑度等级系列图的标定板。为消除反光等不良影响,以及考虑耐用等性质,6幅标准林格曼黑度等级系列图可使用表面较为粗糙的塑料板按林格曼黑度图的标准进行印制。固定装置包括可供稳定放置各设备的槽、架等可任意调整角度、高度、方向、位置等参数的结构,以及夹持标准的林格曼黑度等级标定板的结构。照明装置用于在环境光线昏暗时,提高所述图像采集单元采集范围内的环境亮度。

2.2 软件设计

烟度测量的软件设计主要包括图像处理过程、标定过程、实际测量过程三部分的设计,另外还有其他与烟度测量配套的辅助功能,包括车辆信息录入、测量报告输出等。所有程序在Visual C++环境下编写,软件主要功能部分的流程如图4所示,软件界面如图5所示。

图4 软件主要功能流程图

图5 软件主界面

图像预处理包括对采集到的图像进行灰度化、滤波等操作。由图像采集模块采集到的图像一般为RGB三通道的彩色图像,图像中的每一像素点包含R(红)、G(绿)、B(蓝)3种颜色分量的亮度信息,通过颜色空间转换为一张灰度图像后,图像中的每一像素仅有灰度化的亮度信息,需要处理的图像数据减少,可缩短后续的图像处理时间。图像滤波用于将图像进行平滑处理,由于相机直接采集到的图片包含噪点,因此需要通过适当滤波的操作,消除图像的噪点使得图像平滑,而需要的细节特征又得到了保留。滤波采用高斯滤波的方法,并使用二维零均值高斯函数作为滤波器:

(3)

滤波的单元采用5×5大小的正方形区域[10]。无论是标定过程还是实际测量过程,都需要进行图像预处理,完成预处理的图片需要进行保存以供后续过程使用。

标定过程从单独的设置窗口启动,使用经过预处理的按等级递增顺序拍摄的6张标准林格曼黑度图,计算每一张图片上林格曼黑度图所在区域的灰度平均值。由于相机拥有曝光自动补偿功能,且采集标准林格曼图时,全白和全黑的图像最容易触发该功能,导致灰度发生变化,因此需要增加图像中背景所占的面积,消除相机曝光自动补偿功能对灰度平均值计算的影响。为保证每次标定过程中林格曼黑度图在整张图片上所占的位置一致,人为地在软件的标定界面上将标定图片以九宫格的形式均分为9个区域,并标出中心区域的边框,每次标定时使得林格曼标准图尽量占满边框内的区域,并保持图像采集设备与标定板的相对位置保持不变。标定操作完成后,程序将标定结果显示在列表中,并给出回归计算的相关系数用以判断标定结果是否合格,合格的条件为相关系数的绝对值大于或等于0.95,标定结果不合格时,软件将提示用户重新执行标定操作。标定成功后回归方程以及相关系数存储在配置文件中。

实际测量过程使用经过预处理的车辆尚未发动时拍摄的背景图片以及车辆发动时相机每隔1 s拍摄的5张图片,共6张图片。其中背景图片用于和后续车辆发动时的5张图片进行对比。由于黑烟出现的区域仅占一整张图片的一小部分,因此需要将6张图片进行网格划分。网格划分需要尽可能地将黑烟集中在单个网格所在的区域中,综合考虑实际检测的布置距离,每一边的分割数在5到9格为宜。逐一使用背景在第(i,j)区域的平均灰度值G0ij减去车辆发动时的5张图片在第(i,j)区域的平均灰度值G1ij~G5ij,得到背景与5张图片在第(i,j)区域的灰度差ΔG1ij~ΔG5ij,同时使用遍历算法,按顺序逐一搜索其中的最大值作为最大灰度差ΔGmax,并确定出现该最大灰度差所在的图片对应区域的平均灰度值Gm此时再读取保存在配置文件中的回归方程系数,根据式(2)反算出林格曼黑度最大等级Bmax,依照表1的判定方法得到烟度检测结果。

表1 林格曼黑度等级判定方法

3 实验结果与分析

3.1 标定过程实验

为了验证2.2中提出的相机自动曝光补偿影响的问题,在光线明亮、稳定环境下进行一次标定操作,使用相机按等级递增的顺序依次采集6张标准的林格曼黑度图,并使得图幅占满相机拍摄的视野,此时平均灰度与中心区域灰度等效。在上述条件下得到的实验结果如表2所示。

表2 未考虑相机自动曝光影响的标定实验结果

根据表1的结果可以看出,林格曼黑度等级与其对应的图像平均灰度线性关系十分不理想,从0~4级的平均灰度呈现下降的趋势,但纯黑的5级黑度所对应的图像平均灰度却比全白的0级还要高,导致斜率为正,且相关系数r仅有0.34,不具备线性关系。

经过观察,造成这一现象的主要原因是相机的曝光补偿作用使得拍摄实际为深色的图片时,相机的自动曝光补偿功能导致图片整体的亮度增大,从而灰度值增大。虽然标准的林格曼黑度图使用了黑白相间的网格而不是灰度图片,但对于林格曼黑度级别较高的图片,相机仍然会对其进行曝光补偿。

按照2.2中所提出的九宫格形式区域划分方法进行标定,同样在光线明亮、稳定的环境下进行标定过程实验,如图6所示,按等级递增的顺序依次采集六张标准的林格曼黑度图进行标定。在该环境下,标定的结果如表3及图7所示,线性回归的相关系数r显示在列表中用于判断标定是否成功,线性回归方程的系数存储在配置文件中供后续测量时调用。

图6 林格曼标准图的采集

林格曼等级B012345平均灰度Gavg149149144146148145中心灰度G159133102825828回归方程G=157.952B-25.7143r=-0.9985

通过配置文件查看的回归方程表达式为:

G=157.952-25.7143B

(4)

从表3以及图7中可以看到,中心区域的灰度值呈线性递减的趋势,相关系数绝对值 |r|为0.9985,线性关系良好,符合标定要求。

图7 标定结果

3.2 实际测量过程实验

实际测量过程在与标定过程相同的环境条件下进行。验证林格曼黑度计算结果的方式为分别计算图片中背景区域的平均灰度值以及黑烟区域的平均灰度值,将灰度差计算的结果代入回归方程表达式,与测量到的结果进行比对。以如图8(a)所示的图片为例,根据2.2部分所设计的软件检测到的林格曼黑度等级为3级。

为了验证实际测量的准确性,使用原始的图像处理方法,直接计算所有像素点的灰度平均值进行验证。将图8(a)进行二值化处理得到图8(b),利用二值化图确定出区域范围并计算平均灰度,其中白色部分为背景无烟区域,计算出灰度平均值为156;黑色部分为黑烟区域,计算出灰度平均值为78,两者相减得到的灰度差ΔG为78,代入式(4)中计算得到黑度最大等级差为3.11,再根据表1的判定方法,判定该图中黑烟的林格曼黑度等级为3级,与软件检测的结果一致。由于在软件中采用了将图片进行网格分割并寻找最大灰度平均值的方法,一旦出现明显黑烟,总能在网格中找到灰度差最大的一个区域计算出黑度最大等级差,由此说明所提出的方法可以用于烟度的测量。

图8 实际测量示例与二值化

4 结束语

本文提出了基于机器视觉的在用柴油车烟度测量方法,主要包括烟度测量的系统组成与测量原理、硬件与软件的系统设计两部分,并通过实验验证了其可行性与有效性。硬件部分简要阐述了测量系统的配置,软件部分利用以OpenCV为基础的图像处理算法,借助标定过程的确定测量环境下图像灰度值与林格曼黑度等级的关系,通过实际测量过程的区域分割、遍历算法找出与背景灰度相差最大的区域,判定以林格曼黑度等级表示的烟度值。在背景环境不变的情况下,利用该方法进行单次测量的过程与传统人工测量的方法相比更准确,与其他代替人工的方法相比用时短,操作便捷,不受天气影响,烟度测量的效率得到了大幅提高。

猜你喜欢
柴油车标定灰度
航空滤光片阵列多光谱图像条带灰度调整算法
采用改进导重法的拓扑结构灰度单元过滤技术
轻卡前视摄像头的售后标定
一种轻卡前视单目摄像头下线标定方法
天津港智慧工作平台灰度发布系统和流程设计
使用朗仁H6 Pro标定北汽绅宝转向角传感器
Arduino小车巡线程序的灰度阈值优化方案
CT系统参数标定及成像—2
CT系统参数标定及成像—2
杭州明年起对新注册登记重型柴油车实施OBD在线接入