刘锡炀,卞永明,陈启凡,周怡和,蒋 哲,刘广军
(1.同济大学机械与能源工程学院,上海 201804;2.交通运输部上海打捞局,上海 200090)
对于油液的泄漏检测技术,最早从20 世纪60年代就开始进行研究,目前关于油液的泄漏检测主要有2 种方法:①通过管路内压力、流量、震动变化进行检测;②通过外部传感器,对包括超声、气味、图像等特征进行检测。如甄恩帅[1]使用压力传感器对泄泄漏区域进行定位,结果表明,该方法可以比较精确地定位到泄漏区域,达到了基本的检测要求。Liou[2]在进、出油口持续计算进出的流量差,流量差如果突然发生波动并没有迅速恢复,那么就可以认为发生了泄漏。Mohammadi等[3]通过监测输油管道的压力、流量等信号,使用神经网络实时分析检测到的参数,与实际模型进行对比,从而迅速找到泄漏区域。陈仁文[4]采用了应力波传感器,通过小波变换处理应力波信号,更精确地定位到了泄漏区域,并将之应用到了输油管道实时监测系统中。除此之外,利用管道外部特征进行检测的技术也在逐渐成熟。张文娜等[5]采用了人工嗅觉技术,获取了泄漏油液挥发气体的3 位数据阵列,采用了平行因子分析法对嗅觉数据进行分析,论证了人工嗅觉技术在漏油检测中的可能性。近几年,随着计算机视觉技术的蓬勃发展,利用图像对泄漏进行检测已经逐渐成为油液泄漏检测技术的重点。Qu 等[6]针对海底石油泄漏设计了一种视频监控系统,该视频系统能将拍摄到的视频图像转化为灰度图,通过形态学处理后进行二值化,判断是否存在石油泄漏。Kuzmanić 等[7]针对船只推进系统的油液泄漏问题设计了一种基于图像处理的检测系统,该系统采用模式识别对泄漏油液进行检测,并且研究了用于解决摄像机随安装支撑物震动的补偿算法,取得了良好的检测效果。Gu 等[8]研究了石油输油管道泄漏图像检测技术,通过对输油管道进行灰度处理,简化识别过程,再通过阈值分割获取目标图像,最后通过腐蚀获取较为理想的轮廓边缘。
然而目前研究的油液泄漏大部分都是针对输油管道漏油的,而针对液压系统油液泄漏的研究很少。液压油颜色透明,难以像黑色的石油一样很容易地从图像中划分出来,而人工监控又难以准确及时地发现油液泄露问题,因此为液压同步提升施工远程监控平台设计了一套基于图像识别的泵站接头漏油检测技术。
利用Vibe 算法进行运动目标检测,并引入动态抽样因子φ,平衡因受到光线干扰、抖动等因素出现的鬼影消失速度和检测到的泄露区域清晰度之间的矛盾,提高其抗干扰能力;利用随机森林算法对油液特征向量进行选择,降低算力要求,提升了分类速度和准确性;在随机森林中引入粒子群算法对随机森林中的参数进行寻优。在使用粒子群算法寻优过程中引入动态惯性权重ω,平衡收敛速度和全局搜索能力之间的矛盾。
Vibe 背景建模法是目前常用的运动目标检测方法,但Vibe 算法仍然存在一定的缺陷。当镜头发生抖动或者出现光影变化的情况下,Vibe算法会检测到这些变化并将其认定为前景,在变化消失后仍然保留了其基本轮廓,从而形成“鬼影”。“鬼影”消除的速度取决于随机子采样法中的抽样因子φ,在每一帧的检测中,背景模型的样本值都有1/φ的几率更新,因此φ的值越大,“鬼影”消失得越慢,但检测到的泄漏区域越清晰,反之φ值越小,“鬼影”消失得越快,但是检测到的泄漏区域越模糊。
因此,需要对Vibe 算法进行改进,当镜头出现抖动或者发生光影变幻时迅速减小φ的值,迅速消除“鬼影”,在画面稳定的情况下增大φ值,以获得更清晰的检测效果。提出干扰面积因子Kd作为评判当前图像中干扰程度的参数,公式如下:
式中:Cf为前景像素的个数;Cp为当前图像的像素总个数。
为验证Kd是否可以表征视频图像中出现干扰,并进一步验证φ对于消除“鬼影”影响。绘制了在不同抽样因子φ的情况下,Kd随视频帧变化的规律曲线如图1所示。干扰在30帧左右引入,在图中可以清晰地看到,抽样因子φ的值越大,干扰面积因子Kd的峰值和收敛值就越大,排除干扰的速度越慢。
图1 Kd-帧变化曲线Fig.1 Kd-frame curve
使用Vibe算法遇到干扰时,不同抽样因子φ对应的干扰面积因子Kd的峰值和收敛值见表1。
从表1 的数据可以分析得出,对于镜头位置并不是太近、接头并未直接爆裂的普通检测场景来说,在视频画面只存在油液泄漏的情况下,Kd的值通常会稳定在一个较小的值以下,在这里取0.02(摄像头位置不同,该值也可进行调整),而Kd的峰值不会超过1。据此对Vibe 算法进行修改,使得抽样因子φ的值会随Kd变化,φ的值在Kd的值超过0.2 时迅速减小,从而快速摆脱干扰因素的影响。改良后的抽样因子如下:
表1 Kd-帧变化曲线峰值与收敛值表Tab.1 Peak and convergence values in Kd-frame curve
式中:φmin为抽样因子φ的最小值;φmax为抽样因子φ的最大。
运动特征检测算法仅能定位可疑区域,在检测到的前景图像中可能会存在“鬼影”或者其他干扰物,需要对运动的前景做出进一步的分析,在其中提取用于判别的特征数据。本文中对油液的形状、颜色、纹理特征进行分析。
1.2.1 油液形状特征
油液在流出的过程中会不断地变化形状,难以用确定的图形去描述它,使用图像的矩(moments)来研究检测到的泄漏油液形状变化的规律,在现实应用场景下,要考虑到摄像头安装的远近、安装角度的偏移,因此还需要对于图像形状归纳出的特征值在图像大小、角度发生变化时保持不变。Hu 矩具有平移、缩放、旋转不变性[9],广泛应用于图像的特征提取和识别等方面,因此以Hu 矩作为判断的重要依据。
1.2.2 油液颜色特征
采用颜色矩进行油液颜色特征的描述,然而考虑到油液是透明的,其颜色特征会受到其背景颜色特征的影响。实验表明:当前帧的颜色矩和背景帧的颜色矩变化趋势基本一致,对于漏油图像来说,背景的颜色对颜色矩起到了决定性作用,因此当前帧的颜色矩对于图像分类可能没有很好的效果。
为获取更为有效的颜色特征,使用当前帧与背景帧的差值图像获取灰度差图像矩,灰度差的1阶、2阶、3阶图像矩可以表示为
式中:pdj为当前帧与背景帧图像差中灰度为j的像素出现的概率。
1.2.3 油液纹理特征
油液的纹理特征也是重要的识别特征,所谓纹理就是同样灰度的像素在二维空间上的反复出现,并通过一定的方法描述其在空间上的分布规律。采用灰度共生矩阵(gray-level co-occurrence matrix,GLCM)[10]来描述检测对象的纹理特征,并从中提取对比度、逆方差、角二阶矩、熵4 个特征值。相比于颜色直方图和HOG,GLCM 提取的特征向量维数非常小,适合对图像进行实时检测。
对于实时的泄漏油液检测系统,算法的延时是关键性能指标。通常在分类算法中,特征向量的维数越高,分类效果越好,但是也会导致分类算法的计算效率下降,因此使用随机森林法[11]特征筛选减少特征向量的维数来获得相对较好的分类效果,并使用其Gini 指数对提取出的21 个特征进行评价,分别是灰度图像矩(E,σ,s),当前帧与背景帧的灰度差图像矩(Ed,σd,sd),二值图像的Hu 矩(I1,I2,I3,I4,I5,I6,I7),水平方向GCLM特征(Con,IDM,ASM,ENT,ifδ=(1,0)),竖直方向的GCLM特征(Con,IDM,ASM,ENT,ifδ=(0,1)),得到每一个特征的Gini 指数的变量重要性评分(VIM)。
设置RF 中有1 000 颗决策树,使用Gini 指数,用21 个特征建立RF 模型,计算每个特征的重要性评分VIM并进行排序,结果见表2。
表2 RF特征重要性排序Tab.2 Ranking of the importance of features with RF
给特征进行评分后还需要确定特征的选取数量。依次选取重要性排序中的前n名特征进行随机森林建模测试,特征数量n与分类准确率的关系如图2 所示。图中可见,测试集分类准确率随选取特征的数量迅速上升,然后达到峰值,随后稍微下降并趋于稳定。峰值的特征数量为5 和6,测试集分类准确率均为98.60%。随着特征数量的增加,分类的准确率稳定甚至是下降,由此可以推断,在计算的3 类特征中,存在冗余特征和干扰特征,因此对特征进行选择可以增加算法的准确率。最后选择重要性排名前6的特征进行漏油检测
图2 特征数量与测试集分类准确率关系Fig.2 The relationship between the number of features and the classification accuracy of the test dataset
1.4.1 基于改进PSO的RF参数寻优方法
在传统PSO 算法中,通常采用算法在D 维空间中的全局搜索能力和收敛到最优值的速度来评价PSO 算法的性能,而惯性权重ω对此有着重大的影响。研究发现,ω越大,PSO 的全局搜索能力越强,更容易找到全局最优的粒子坐标,而不会过早收敛,但是迭代次数也随之增加。反之,ω越小,PSO 的迭代次数也减小,但不容易收敛到全局最优值。因此,对惯性权重ω进行动态调整,使其大小随迭代次数增加而减小,将ω的值动态地调整为
式中:ωmax为ω的最大值;ωmin为ω的最小值;t为当前迭代次数;T为总迭代次数。
在动态ω参数中,规定了ω上限和下限,在迭代次数较小时,e(-t2/T)的值较大,算法搜索具有较好的全局性,当迭代次数变大时,局部收敛性会逐步变好。
学习因子c1、c2也对算法性能有着重要的影响,较大的c1与较小的c2可以使粒子更快地向个体极值方向移动,对全局搜索有利;较大的c2与较小的c1能让粒子更快地向种群全体极值移动,适用于搜索后期。本文对学习因子c1、c2进行动态调整,调整公式如下:
式中:cmax为c的最大值;cmin为c的最小值。
1.4.2 PSO-RF特征分类
选取RF 算法中树的数量n_estimators,每颗树的最大深度max_depth作为优化参数,以测试集分类准确率作为优化目标。算法分类时间也是需要考虑的因素,但是由于算法分类时间与n_estimators、max_depth 呈单调递增的关系,n_estimators、max_depth 的值只需要都小于50,就可以将分类时间维持在毫秒级,从而保证实时性。
分别使用传统PSO 算法和改进PSO 算法进行RF 算法参数的优化,迭代50 次,使用传统和改进PSO算法各运行3次,参数值见表3。
表3 PSO算法参数Tab.3 Parameters of the PSO algorithm
最终得到的结果如图3 和图4 所示。图3 显示传统PSO 算法的优化结果有1 次收敛到了98.61%,2次收敛到了98.84%;而图4显示,改进PSO 算法的3 次优化结果值均收敛到了98.84%,并且收敛到98.84%时的迭代次数小于传统PSO 算法,可以认为改进PSO 算法相比于传统PSO 算法有更好的全局搜索能力和更快的收敛速度,更适用于本次的RF算法优化。
图3 传统PSO优化RF算法Fig.3 Optimisation of RF with traditional PSO
图4 改进PSO优化RF算法Fig.4 Optimisation of RF with improved PSO
最终改进PSO 优化的RF 算法(PSO-RF)与原算法(RF)的参数、性能见表4。可以看出,PSO-RF的分类准确率相比RF 算法提升0.7%,分类时间提升为RF 算法的3.46 倍,可见PSO 提高了RF 算法的性能,并且符合远程监控平台的使用要求。
表4 PSO-RF与RF对比Tab.4 PSO-RF vs RF
本次漏油视频检测的对象是拍摄的漏油图像,实验效果如图5 所示,可以看到程序成功地识别出接头渗漏的油液,证明了提出的泵站接头漏油检测算法的有效性。
图5 漏油视频实时检测效果Fig.5 Real-time oil leak detection effect on video
本次实验检测目标选用了一套液压试验台,包括1 台大功率泵站和多个接口,试验台如图6所示。
图6 液压试验台Fig.6 Hydraulic bench
使用摄像头、树莓派采集油液图像,4G 无线路由器提供网络服务,将摄像头采集到的视频数据和经过泄漏检测的视频在网页上进行显示。实验现场如图7所示。
图7 漏油实时检测实验现场Fig.7 Real-time oil leak detection experiment
将摄像头采集到的数据显示在泵站监控界面的第1 个视频窗口上,将经过图像检测的画面显示到泵站监控界面的第2 个视频窗口上。在网页上的泵站监控界面,可以看到摄像头采集到的泵站接头图像和经过漏油检测的图像,如图8所示。
图8 网页泵站实时监控界面Fig.8 Web for real-time monitoring of pumping stations
在图9 中可以看到,泵站监控界面的第1 个视频窗口上成功显示出了泵站接头的画面,第2 个视频窗口显示出了经过图像检测的画面。可以看到,漏油检测程序成功检测到接头泄漏的油液,并使用方框标记出来。
实验结果表明:泵站接头漏油检测算法在液压同步提升施工远程监控平台上应用的可行性和实时性,提高了液压同步提升施工远程监控平台的智能化水平,降低液压平台的安全隐患。
目前对于透明液压油的泄漏检测方案较少,针对液压同步提升施工监控平台,本文设计了一套基于图像识别的泵站接头漏油实时检测技术方案,实现了漏油图像在线识别;提出了基于改进Vibe 算法的可疑区域提取方法,以及使用改进PSO 算法对RF 算法进行优化的方法,经实验验证,确实可以提高图像识别的准确性和效率,并且最终优化后的RF 算法对测试集分类准确率达到了98.84%,分类速度减小到4.96 ms。实验结果表明:提出的漏油检测算法对泵站接头漏油有良好的在线检测效果。