APP下载

基于光流法的深度学习在工业运动检测的应用

2019-08-09刘志勇应正波杨鲁江

自动化与仪表 2019年7期
关键词:光流像素点可视化

周 曼,刘志勇,应正波,杨鲁江,裘 坤

(浙江中控技术股份有限公司,杭州 310053)

在流程工业现场中,存在大量需要通过运动检测来进行视觉监控的应用场景,例如传送带运行状态监测、透明视镜中的液体流动状态监测等。运动目标检测是计算机视觉应用的基础技术,在许多领域尤其在智能视频监控系统中有着广泛的应用。

光流(optical flow)是描述相对于观测者的运动所造成的观测目标、表面或边缘的运动,由于它包含了目标运动的信息,因此可以被观测者用于确定目标的运动状况。光流是James J.Gibson在1950年首先提出来的,它是空间运动物体在观测成像平面上的像素运动的瞬时速度,是利用图像序列中像素的强度数据在时域上的变化,以及相邻帧之间的相关性来获取上一帧与当前帧之间的对应关系,从而计算出相邻帧之间物体的运动信息。一般而言,光流是由于相机的运动、场景中前景目标本身的移动,或者两者的共同运动所产生的。光流法在样型识别、计算机视觉,以及其他影像处理领域的应用非常广泛,可用于运动检测、物件切割、碰撞时间与物体膨胀的计算、运动补偿编码,或者通过物体表面与边缘进行立体测量等。

1 光流算法及其模型

1.1 光流算法

光流计算最初是在1981年由美国学者Horn和Sehunck提出的,他们根据图像灰度守恒原理推导出基本光流约束方程[1]。光流法在目标检测、运动估计、目标跟踪等领域有着非常广泛地应用。使用光流法来检测运动目标,其基本思想是赋予图像中的每一个像素点一个速度矢量,从而形成该图像的运动场。图像上的点和三维物体上的点在某一特定的运动时刻是一一对应的,根据各像素点的速度矢量特征对图像进行动态的分析。若图像中不存在运动目标,那么光流矢量在整个图像区域则是连续变化的,而当物体和图像背景中存在相对运动时,运动物体所形成的速度矢量则必然不同于邻域背景的速度矢量,从而将运动物体的位置检测出来。

常用的光流计算方法有5种:基于梯度的计算方法、基于区域匹配的计算方法、基于能量的计算方法、基于相位的计算方法以及基于神经动力学的计算方法[7]。其中,最著名的是基于梯度的计算方法,即常说的微分法,该方法是对相邻的图像帧做差,对结果进行阈值滤波后便可得到运动目标。它利用图像序列亮度的时空微分计算2D速度场,通过取时空梯度函数的全局能量泛函数的最小值来求得像素运动矢量。最经典的基于梯度的算法有Gunnar Farneback算法、霍恩·山克算法(Horn Schunck method)、卢卡斯-卡纳德算法(Lucas-Kanade method)[8]等。在此采用著名的Gunnar Farneback算法来计算光流。

Gunnar Farneback光流算法[2-3]是计算全局性的稠密光流算法(即图像上所有像素点的光流都计算出来)。它是一种基于梯度的方法,假设图像梯度恒定且假设局部光流恒定。在最优值处的导数为零,进行时间离散化并做后向差分,然后取该像素点的一个邻域(通常以该像素为中心的方形区域),利用这些像素点的值和坐标进行系数的估计,估计的算法采用加权最小二乘法。因为在邻域内距中心越近的像素点与中心像素具有更大的相关性,而越远的点所提供的信息越少。因此,需要进行加权计算以减小误差,将邻域以外的像素点的权重都置为零,然后构建目标函数来优化并求得位移。在实际情况中,未加权的算法求得的结果中噪声太多,因此通常情况下针对兴趣像素点的邻域内,使用加权的目标函数来减小噪音的影响。

光流场是由光流引申出来的,它指的是物体中可见像素点的三维速度矢量在成像表面投影形成的二维瞬时速度场,也就是三维速度场在二维成像平面上的投影。空间中的运动场转移到图像上就表示为光流场,光流场反映了图像上每一点的灰度变化趋势。光流场包含了被观测物体的运动信息,以及有关景物丰富的三维结构信息。图片中的每个像素都有一个X方向和Y方向的位移,所以计算后得到的光流是与原来图像大小相等的双通道数据,无法直观地显示。在此,采用最常用的孟塞尔(Munsell)颜色系统将其显性可视化为RGB图片。

1.2 孟塞尔颜色系统可视化光流

孟塞尔颜色系统(Munsell color system)是美国艺术家Albert H.Munsell在1898年创制的颜色描述系统。彩色编码图用于可视化的显示光流的2个分量,孟塞尔颜色空间将颜色划分为明度(value)、色相(hue)、色度(chroma)3个属性,如图1所示。

图1 孟塞尔颜色系统空间Fig.1 Munsell color system space

图中,位于中间的圆柱为明度,其值从全暗(0)直至全亮(10);以中轴为中心的圆周被分为10等份,其中5份表示主色调,另外5份表示中间色调。圆周上一特定颜色与中轴的距离为该颜色的色度,数值从0至无穷。色相和色度位于一个平面内,该平面与图像平面相对应。因此,图像每个像素的光流值都能够在色相、色度平面上找到对应的颜色表示。在光流场中,用色相表示光流的方向,色度表示光流的大小,从而实现光流数据的可视化。

1.3 AlexNet迁移学习模型

AlexNet[4-5]是Hinton及其学生 Alex Krizhevsky在2012年的ImageNet竞赛时所设计的神经网络,这一结果赢得此届大赛冠军。

在此,用工业视频中获取的图像进行可视化后的光流图作为输入图片,将在ImageNet数据集上训练好的AlexNet模型参数迁移到新的数据集上进行训练,保留了前5个卷积层和相应池化层以及3个全连接的参数,其它参数采用随机初始化,最后一层为用于分类的Softmax层,其神经元个数为被分类任务的数据集的图像类别数目,通过在新数据集上的训练微调得到新的训练模型[6]。

2 工业现场的应用

在此,以工业现场的透明视镜中反应物流动状况检测和水泥传送带运行状态检测为例,运用Gunnar Farneback光流法获得光流,并用孟塞尔颜色系统进行可视化后得到光流图,最后用AlexNet迁移学习来训练这些光流图,得到迁移学习微调后的训练模型,用以检测和识别原始视频中的目标的运动状态。

将工业视频按照一定的时间间隔来截取1帧,然后调用OpenCV中的calcOpticalFlowFarneback(prev,next,flow,pyr_scale,levels,winsize,iterations,poly_n,poly_sigma,flags)函数计算相邻帧的光流,再将两通道的光流数据转化为RGB图像数据,将图像存档。在calcOpticalFlowFarneback函数中,进行以下设置:

金字塔上下两层之间的尺度关系pyr_scale值为0.5;

金字塔层数levels为3层;

均值窗口大小winsize为15;

迭代次数iterations为3;

像素邻域范围大小poly_n为5;

高斯标准差poly_sigma为1.2;

计算方法包括OPTFLOW_USE_INITIAL_FLOW(用1表示)和OPTFLOW_FARNEBACK_GAUSSIAN(用0表示),Flags为0,即采用高斯平滑原理来更新光流。

3 运动检测及其结果分析

3.1 透明视镜反应物流动状态检测

对透明视镜反应物流动视频每秒截取1帧,然后调用calcOpticalFlowFarneback函数获取光流数据,再通过孟塞尔颜色系统转化为可视的RGB图片并存档。由其中相邻的2帧图片计算出的光流及可视化后的结果如图2所示。

图2 透明视镜反应物流动视频图像及对应的光流图Fig.2 Original image and optical flow image of reactant flow in sight glass

将可视化后获得的光流图标识为运动和静止2种状态,其中91438张运动图片和13848张静止图片,然后从每种状态中随机选择20%作为测试集,余下80%作为训练集。由此得到73150张运行光流图和11078张静止光流图,经过对这2种类别的图片采用AlexNet迁移学习模型进行训练,运行500步后得到98.73%的准确率。接着将模型在包含18288张运行图和2770张静止图的测试集上进行验证,其准确率为98.27%。

3.2 水泥传送带运行状态检测

对水泥传送带运行视频采用每秒截取1帧,然后调用calcOpticalFlowFarneback函数获取光流数据,再通过孟塞尔颜色系统转化为可视的RGB图片存档。由其中相邻的2帧图片计算出的光流及可视化后的结果如图3所示。

图3 水泥传送带运行视频图像及对应的光流图Fig.3 Original image and optical flow image of conveyor belt in cement plant

将可视化后获得的光流图标识为运动和静止2种状态,其中139836张运动图片和125677张静止图片,从每种状态中随机选择20%作为测试集,余下80%作为训练集,可以得到111869张运行光流图和100542张静止光流图。然后对这2种类别的图片采用AlexNet迁移学习模型进行训练,运行200步后得到99.98%的准确率。接着将模型在包含27967张运行光流图和25135张静止光流图的测试集上进行验证,其准确率为99.93%。

4 结语

光流法作为传统机器视觉中运动图像分析的重要技术,其算法原理简洁有效,得到了广泛的应用。以深度卷积神经网络为代表的深度学习技术在图像分类上表现异常突出,越来越成为现代图像智能识别的主流技术。文中对实际工业现场的大量实拍视频先进行光流计算,并利用孟塞尔颜色系统将其可视化,再基于预训练的AlexNet模型进行参数微调训练,得到可用于工业现场部署的运动检测识别模型。在实际工业应用中,该方法能够有效地识别目标的运动或变化状态,同时具备较强的环境适应能力。随着智能制造领域里的各种应用突破和推进,传统机器视觉技术与深度学习方法相互融合的技术,将越来越成为能够解决实际生产问题的利器。

猜你喜欢

光流像素点可视化
利用掩膜和单应矩阵提高LK光流追踪效果
基于CiteSpace的足三里穴研究可视化分析
基于Power BI的油田注水运行动态分析与可视化展示
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
基于物理学的改善粒子图像测速稳健光流方法研究
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于Node-Cell结构的HEVC帧内编码
融合光流速度场与背景差分的自适应背景更新方法