APP下载

基于计算机视觉的管路振动感知算法①

2021-10-11陈恒俊蔡明志许文杰

计算机系统应用 2021年9期
关键词:中心点管路振动

陈恒俊,蔡明志,陈 乐,许文杰

1(南方电网调峰调频发电有限公司,广州 510630)

2(广州市奔流电力科技有限公司,广州 510700)

随着社会经济的快速增长,各领域对于电力能源的需求越来越大,而发电厂是电力能源的核心来源,如何保证电厂正常和高效运行是一项重要任务.在电厂的生产过程中往往需要各种工质的流动和传输,因此电厂内管路纵横交叉,各管路的运行状态关系到电厂的安全运行.为了保证电厂的稳定运行,必须要对电厂的各管路进行状态监测.而通过振动测量之后得到的目标振动的频率和振幅等数据能反映出目标的当前状态[1].

目前,振动测量的方法大致分为3 种[2],一是人工巡查测量,二是基于传感器的振动测量,三是基于视觉的振动测量.电厂中的管路交错复杂,而且其出现振动的现象往往具有较大的随机性和不可预见性,而人工巡查测量无法覆盖全天候全范围,因此不能有效检测到管路振动;基于传感器的振动监测方法[3,4],通过在需要监测的目标上布置传感器的方式,从而能够实时掌握到监测目标的振动状态,但需要在每个监测目标上安装振动传感器,需要耗费巨大的物力和财力,并且传统的振动测量传感器,在极端条件下的准确性往往不可靠,会受到温度和辐射等环境条件的影响;而基于视觉的振动监测方法[5,6]只需要通过监控画面就能快速的测量出目标的振动参数,且具备强抗干扰性.

基于视觉的振动测量方法分为数字图像相关法、标记跟踪法和光流方法.数字图像相关法[7-10]测量振动需要在被测量目标上预先设置散斑图像,故又称数字散斑相关法.数字相关图是基于数值计算和图像处理的变形或振动测量方法,其通过光路布置(在待测目标上设置散斑图像)后,采集待测目标的监测画面,最后通过图像计算得到待测目标的振动参数.文献[7]采用数字图相关法非接触的测量出了齿轮轴线平行度误差,并且得到了齿轮副的传动误差曲线.文献[8]利用三维的数字图像相关法测量了工程结构试件的固有振动频率及其变化值.

标记跟踪法[11,12]振动测量是通过在待测对象的结构表面粘贴标记物的方式,对图像中的标记物进行处理和分析,得到标记物的振动信息,从而完成待测对象的振动测量,其标记物通常使用圆形标记,且与待测对象背景具有一定的差异.文献[12]通过标记跟踪法,测量出了无人机机翼的振动数据,包含了振型和振动频率等,验证了标记跟踪振动测量方法的有效性.

数字图像相关法和标记物跟踪振动测量方法在测量过程中都不易受外界环境的干扰,精度较高,但都需要在待测目标上预先设置标记物,准备工作繁琐,实用性不佳,不能充分体现计算机视觉技术的易用性以及非接触式振动测量的优势.

光流法常用来检测图像序列中运动的目标,通过图像序列提取到的光流包含图像中目标的运动信息,为物体的振动测量提供了数据来源.并且光流法并不需要预先在待测目标上设置标记物,使得基于光流法的物体振动测量易用性更高[13,14].文献[13]基于光流法提出了一种斜拉索振动测量方法,仅通过普通相机就能测量出无标记的斜拉索的振动特性.文献[14]提出了一种多线程主动视觉感应的概念,通过测量高速摄像机拍摄下的土木工程结构上多个点的光流,从而得到多个点的动态变化的位移和振动.光流法测量振动因为其不需要预先在待测目标上设置标记物,简单方便的优点使得其应用广泛[15],但光流法对于图像的质量要求较高,而且现有的光流计算大部分基于传统光流法[16,17],其计算成本过高,无法达到实时检测,并且对于光照等环境条件的变化敏感,从而导致一定的噪声.

为了解决上述方法的局限性,本文提出了一种基于计算机视觉的振动感知方法,首先采用卷积神经网络估计待测目标的光流信息,然后通过分析光流信息检测出物体的振动,最后通过记录振动目标中心点的周期信号测量出振动目标的频率和振幅.

1 方法

1.1 振动检测

光流(optical flow)[18]是空间运动物体在成像平面上的像素运动的瞬时速度.在计算机视觉任务中,光流代表图像序列中的像素点随着时间变化而发生位置变化情况,光流具有丰富的运动信息[19],在目标跟踪、运动估计和自动驾驶等领域[20-22]应用广泛.但现有光流的计算方法依赖于基于变分能量模型的优化算法[23]和基于块匹配[24]的启发式算法等,但这些传统光流计算方法计算成本高、计算时间长,导致不适用于实时性任务,另外对于深度学习网络如要使用光流所包含的运动信息,需要预先提取光流,使得网络模型并不能端到端.

随着卷积神经网络在计算机视觉领域的大放异彩,研究者们尝试用卷积神经网络来估计光流信息[25-27],文献[25]将光流问题视作图像的重建问题,尝试利用卷积神经网络自主学习特征的优势去解决光流的问题,提出了FlowNet,采用深度网络架构去预测光流,其预测的准确度略低于传统光流计算方法,但其预测的速度远快于传统的光流计算速度.

结合电厂中对于管路振动检测的实时性要求和管路振动本质是小位移运动的特性,本文将光流问题建模成一个有监督的深度学习问题,假定在工业电视系统中获取到实时图像序列 [f1,f2,···,fn],fk和fk+1两帧图像的光流为Ok,则本文预测光流的公式如下:

式中,CNN为深度卷积神经网络,ω为网络中待学习的参数,通过调节参数ω的值使得网络具备预测fk和fk+1两帧图像的光流Ok的能力.

本文预测光流的网络是基于FlowNet-S的网络结构,针对管路振动实质上的是像素点在画面中的小位移特性和FlowNet-S在估计小位移运动的可靠性不稳定的情况,本文将其第一层的步长和卷积核的大小进行了修改,以便能更好的预测出小位移的光流.网络的框架图如图1所示.

图1 光流预测网络结构

本文通过深度网络去估计图像帧序列光流的方法分为3 个步骤:第1 步输入图像帧序列中连续两帧图像进入网络;第2 步采用网络卷积层的卷积操作得到收缩后的特征图;第3 步是将提取的特征通过反卷积的方式一步一步去预测图像的光流,最终得到预测的光流图像大小扩大到与输入帧图像的大小相同.相比于传统方法计算光流,本文采用深度网络去预测光流,其计算方式为计算复杂度不高的卷积操作,使得光流得获取具有实时的可能.

由上述深度网络预测出光流后,为检测出振动目标,本文首先采用局部自适应的方法分割单张光流图,但在分割的过程中我们发现单张分割出的前景目标轮廓并不明显,并且还具有一定的噪点,考虑到振动是连续的,其表现在连续帧画面中,可以通过取多帧的结果进行分析,以得到更好的分割结果,然后通过中值滤波和形态学闭操作去除噪声,就完成了振动目标的检测.

在提取到振动目标之后,需要提取振动目标的局部区域,以降低后续振动测量的时间和计算复杂度,所以本文对检测出的振动目标使用边缘提取算法(Canny)提取振动目标的边缘,再进行闭操作并临近边缘并去掉一些较短边缘之后,根据边缘点所在的范围提取出原图片对应振动目标的位置,再对上述图片进行网格划分,从上到下划分出4 块区域,使用霍夫曼直线检测进行检测,由于振动管路为圆柱体,其在画面中的表现形式为长方形区域,所以我们根据两条直线的距离来判断是否是震动管路,最后得到了振动管路的局部区域位置信息,即可以得出图像序列中待测量振动管路区域,如图2所示.

图2 分割出的图像序列中待测量振动管路区域示例

1.2 振动测量

由光流估计和光流分析,确定了需要待测量管路目标的图像序列,基于此,本文采用以下方法测得目标的振动信息:首先将管路目标与背景区域分割出来,然后通过边缘查找方法找出管路目标的左右边缘点并得到管路目标的中心点,再观察并记录中心点在图像序列中位置的周期变化,最后通过中心点的周期性变化计算出振动的幅值和频率.

1.2.1 振动管路图像分割

为了方便后续的计算,首先对图像进行灰度化处理,将彩色图像转换为灰度图像,如图3所示.

图3 待测量管路目标的图像序列和灰度化后的待测量管路目标的图像序列

在待测量管路目标的图像中不仅包含对测量任务有用的管路目标,还存在冗余的背景.为了去除背景信息的干扰,本文采用最大类间方差法(OSTU 算法)对图像进行前景和背景的自适应阈值分割,最后得到测量任务感兴趣只包含管路目标的二值图像.如图4所示.

图4 OSTU 算法分割后的待测量管路目标的图像序列

1.2.2 中心点距离计算

在只包含管路目标的二值图像中,本文先通过边缘查找出管路目标边缘像素点的坐标,边点像素点查找的方式如式(2).

式中,Pk代表图像序列中第K帧中的边缘点集合,(x,y)为图像序列中像素点的坐标.如上述的示例图像序列对应的边缘点坐标集合如下:

在求得每帧图像得边缘点之后,通过式(4)计算出每一帧中振动目标的中心点Ck.

式中,(xk,yk)为振动目标中心点的坐标,(xi,yi)表示边缘点集合Pk中像素点的坐标,N表示Pk中像素点的总数量.然后,由每一帧中振动目标中心点的坐标计算得到其距离原点的距离Dk,计算公式如下:

式中,(xk,yk)为第k帧图像中振动目标中心点的坐标,对于每一帧图像中的中心点距离原点距离做一个规范化处理,其计算方式如下:

式中,Dk′为规范化处理后的中心点距离,mean(Dk)表示所有帧序列图像振动目标中心点距离原点距离的均值.通过计算可以得到上述示例5 帧图像的规范化处理候的中心点距离,如式(7).

1.2.3 测量振动的幅值和频率

通过记录连续帧序列中各帧中心点规范化处理好的中心点距离Dk′,将其按时间顺序进行排列,得到各帧振动目标中心点坐标的周期信号,从而可以画出振动目标中心点的周期信号.如图5所示.

图5中横轴为时间轴,纵轴代表规范化处理好的中心点距离Dk′(像素点距离),从而可以得到帧序列中振动物体中心点坐标的周期性信号如图5中曲线所示.对于得到的振动物体中心点的周期图中的曲线,本文首先找到曲线上所有的峰值点,其组成的集合记为Q,对于Q中的元素求平均,从而得到振动的幅值A.

图5 振动物体中心点响应的周期信号

功率谱的定义是单位频带内的信号功率.功率谱曲线的横轴为频率,而纵轴为功率的大小.根据信号与系统理论,周期信号的功率谱会在相应的频率处形成尖峰.通过功率谱来计算,可以省去复杂的统计峰值的过程,而且在频域上可以忽略掉时域的一些噪声,使测量的结果更加准确.对于振动物体的频率,本文在频域上进行统计,通过振动物体中心的周期信号图得到出对应的功率谱,从而得到其频率值.

如图6所示,通过观察功率谱的最高峰值所对应的横坐标频率,可以得出振动的频率f.如图中对应测量的振动物体通过该方法可以测得振动的频率约为10 Hz.

图6 振动物体的功率谱

2 实验

2.1 数据

本文的数据主要分为两个部分,其中一部分是用于振动检测,用作光流预测网络的训练,其来源为网络的开源数据集,包括Chairs、Things3D和ChairsSDHom三个应用广泛的光流预测任务数据集,以便光流预测模型能够预测出更准确的光流.另外一部份用作整个方法的测试,其来源于自我模拟和拍摄的视频,因为目前电厂的管路振动的视频数据匮乏,且电厂正常运行不能打断进行模拟,所以本文采用了一些类管路的目标视频来测试我们方法的有效性,数据示例如图7,其中第1 行为动画视频来源于开源数据集,第2 行为真实场景数据,这两部分数据都为视频,本文做了叠影效果展示.

图7 数据示例

2.2 实验细节

本文的光流预测网络是在FlowNet-S 网络的基础,做了轻微的调整,将其第一层的步长由2 调整到1,将7×7和5×5 大小的滤波器调整为3×3,并在Chairs 数据集预先训练光流预测网络,然后通过Things3D和ChairsSDHom 两个数据集对网络进行微调以使得网络能够更好的捕捉小位移运动.

为了得到更好的振动目标分割结果,本文对深度网络预测得到的连续100 帧光流图像分割求平均操作,再进行中值滤波和形态学闭操作去除噪声.然后,在频率值的测量过程中,本文尝试了直接统计测量时间的峰值数,再除以对应时间的方法得到频率,但在实验过程中发现此方法容易因为信号的噪声使得统计的峰值数不准确,严重影响频率测量的效果,所以本文采用了功率谱的方法来计算频率值,首先省去了统计峰值数的过程,其次其在频域上可以忽略掉时域的一些噪声,使测量的结果更加准.最后,本文在2.40 GHz Intel Xeon E5和Nvidia 1080 Ti的Ubuntu 系统上评估了所有方法.

2.3 实验结果分析

为了验证本文方法整体上的有效性,本文在振动检测和振动测量两个任务上进行了实验评估.在振动检测任务上,本文分别在虚拟数据(动画视频)和现实场景数据(真实场景拍摄)测试了本文的光流预测网络模型的效果,其测试结果示例如图8所示.

图8 在虚拟数据和现实场景数据上光流预测的测试结果

由图8可以看出,在虚拟数据上(1-2 行),本文方法和FlowNet-S的测试结果都取得了很好的效果,都具有清晰目标轮廓和丰富的平滑的目标结构.但在真实场景数据上(3-6 行),本文的光流预测网络模型相对于FlowNet-S 所获得光流图像具有更明显运动目标边界、更清晰的运动目标结构和对小位移运动的鲁棒性,也验证本文的光流预测网络模型在振动目标检测(小位移运动)任务上的优越性.虽然本文光流预测网络模型的速度略低于FlowNet-S 网络,但相对于传统的光流计算方法快了几个数量级.上述实验说明了本文方法在检测速度和效果上都满足了实际工程中振动检测的要求.

在振动测量任务上,目前直接将深度学习和计算机视觉技术直接应用振动测量的研究相对较少,暂无标准数据集,为了验证我们的工作在振动测量上的有效性,我们通过模拟管路振动,同时通过仪器测量其振动幅值和频率作为真实值,将记录下来的视频数据以用作我们实验的测试数据.

为了更直观的显示本文方法的实际效果,本文在5 个现实场景下管路振动的视频数据上进行了测试,测试结果如表1所示.从测试结果中可以看出,本文的测量方法能够贴近振动物体真实的频率值,其平均误差只有7.918%,单从测试精度来讲,本文的方法仍然无法与激光位移计以及其他传感器的方法相比,但本文振动测量的方法只需要通过视觉的手段并且不需要在测量过程中预先再设置标记物,实现了非接触、无目标的测试方式.且频率的测试效果完全能够满足工程振动测试的一般要求.

表1 在真实场景下数据上的测试结果

本文通过记录振动物体中心点的周期信号,从而计算出该振动物体在画面上的振幅,而画面中振动物体的振幅大小衡量标准是包含像素点对的个数,如要确定振动物体的振动位移的大小,则必须要通过复杂相机参数标定,确定图像中像素点和现实空间物体表面点的对应关系,以获得振动位移大小和像素的比例换算.但实际应用场景中,我们监测的目标和摄像头的数量过多,相机参数的标定难度过大,无法做到通用性,故本文只探索了在图像画面中振动物体振动的幅度大小.

最后,为了评估本文方法的速度,128 张图片输入到光流预测网络得到光流图像的时间约为26.7 s,可得光流速度约为4.8 f/s;然后以128 张光流图像作为处理序列,从光流图分割出待测量区域的时间为3.1 s,测量出振动幅值和频率的时间是2.0 s,由此可得到本文方法整体的速度为4 f/s.

从实验结果可以看出,本文的基于计算机视觉的管路振动感知算法实现了管路振动检测和振动测量,且具有较快的检测速度和较低的频率测量误差,在实际应用中具有较高的应用价值,验证了计算机视觉在振动检测和测量任务上的有效性.

3 结论与展望

本文提出了一种基于计算机视觉的电厂生产区域的振动检测和测量方法,本文采用深度网络估计振动的光流信息从而达到了振动检测的目的,并且不需要预先在待测目标上设置标记物,仅从原有摄像系统(不需要额外添加硬件)就能直接测量到振动目标的频率和振幅,大大提高了本文方法的实用性,达到了4 f/s的速度,同时频率测量误差仅有7.918%,验证了计算机视觉在振动检测和测量任务上的有效性.后续的研究工作中,可进一步探索通过相机标定的方式去测量振幅的具体值,另外可对一些更加复杂的目标进行振动检测和测量,从而进一步应用于工业设备的振动检测和测量.

猜你喜欢

中心点管路振动
低温贮箱共底管路的真空氦质谱检漏方法及系统
斜拉桥风致振动控制及其未来发展趋势
掘进机用截止阀开度对管路流动性能的影响
瞬变流速作用下姿控发动机燃料管路的非线性振动特性分析
振动与频率
Scratch 3.9更新了什么?
如何设置造型中心点?
磨课,一段痛苦与快乐交织的过程
带双软保护阀的地铁车辆整车制动管路清洗试验方法优化
寻找视觉中心点