□ 袁 率 □ 刘树林 □ 刘春光
上海大学 机电工程与自动化学院 上海 200072
基于接箍识别的管柱测速方法研究
□ 袁 率 □ 刘树林 □ 刘春光
上海大学 机电工程与自动化学院 上海 200072
石油钻井作业中,下放井下配套设备时,需要获取准确的井深信息。提出一种基于管柱接箍识别和帧间差分法的管柱升降速度测量方法,首先对管柱运动视频图像进行预处理,再根据接箍部分直径大于管径的特征检测接箍,最后利用帧间差分法测量管柱起升速度。实验表明,该方法可以较准确地识别出接箍并测量出管柱运动速度。
接箍识别 结构特征 帧间差分 管柱 测速
在石油工业中,测井作业是十分重要的,在钻井、完井施工作业时需要测量管柱下放或起升的长度,为下放封隔器、使用井径仪测量井径等作业提供必要的井深与位置信息。传统的油管长度测量方法是在地面由人工拉钢卷尺丈量[1],人工计量偶然误差和原理误差都很大,工作效率低,有的油田还要再次下放专用仪器测量井下工具的精确位置[2]。
常规的自动化管柱测长方法有接触式检测、磁感应检测、超声波检测以及激光检测等[3]。本文提出基于数字图像处理技术的起升管柱在线测速方法,利用起升管柱的视频图像进行采集、平滑与锐化、图像边界分割等预处理,再针对起升管柱运动目标的检测以及对接箍结构的识别检测,用摄像机进行标定,确定实际尺寸与图像像素尺寸之间的比例,最终实时测量出起升管柱的速度,管柱起升长度可以由它与起升方向的速度和时间的关系获得。
测井作业的施工现场环境复杂而恶劣,有很多噪声干扰,影响采集图像的质量,如果直接对这种图像进行运动目标的识别并测量速度,一方面不容易实现,另外即使可以实现,测量精度也会降低,达不到工程要求,因此必须先对图像进行降噪、增强等处理[4]。
1.1 中值滤波
中值滤波是一种可以有效抑制噪声的非线性平滑处理方法,其基本原理是把数字图像中某一像素点的灰度值,用这个点的某个邻域中各个像素点灰度值的中值来代替,选择一个特定长度或形状的邻域作为窗口,随着窗口的滑动,将窗口中各像素点灰度值按大小排序,选取中间值作为此窗口正中间像素点的灰度值。
1.2 锐化滤波
图像锐化是为了突出图像边缘信息,加强前景目标的轮廓特征,以便于机器识别。图像中前景目标的边缘是像素灰度值变化比较大的地方,从数学角度讲,检测图像灰度变化就是微分的概念,因此可利用拉普拉斯算子对管柱图像进行线性微分运算。对于图像中的点 f(i,j),拉普拉斯算子表达式为:
1.3 图像分割
图像分割的目的是把目标从背景中分离提取出来,以便进一步对图像进行处理和对目标进行测量。采用灰度阈值法进行管柱与背景之间的分割,即合理选
择一个阈值,将图像转换为黑白的二值图像。设定黑色为背景,灰度值为0;白色为前景目标,灰度值为1。
图像二值化变换函数为:
式中:f(i,j)为图像中的点;T为图像分割阈值。
图1为运动管柱的原始图像及其灰度直方图,由图1可以观察到,起升管柱图像直方图双峰特性明显且谷底较长,可采用直方图法确定阈值大小,即通过观察与试验选取阈值。经试验选择T=30,图2是二值化后的管柱图像,分割效果理想。
▲图1 原始图像与灰度直方图
▲图2 二值化图像
管柱测速系统框图如图3所示,CCD摄像头相对地面固定不动,其主光轴垂直于被测管柱所在平面,二者成正投影关系。如图4(a)所示为某时刻运动管柱前景,图4(b)所示为此时刻的背景图,由图可知,当测量过程中运动管柱贯穿整个摄像头视场后,由于管柱形状的规则性与结构的对称性,如果不存在特征点,将无法检测出管柱的运动。针对这种情况,提出以接箍作为特征区域的运动检测方法。接箍是两根短管柱连接的部分,特点是直径略大于管径,接箍的运动相对管柱更容易检测。
▲图3 管柱测速系统框图
▲图4 运动管柱某时刻前景与背景
2.1 基于结构特征的接箍识别算法
如前所述,接箍的结构特征是直径略粗于其它部分的管径,这在数字图像中的体现是接箍两条边缘之间所占有的像素数目比其它部分两条边缘之间占有的像素数目更多,所以此算法的关键就在于接箍特征点的捕捉。首先需要确定特征点的行坐标,对每帧图像进行二值化之后,采取逐行扫描的办法检测每一行像素值为255的像素数目。通过图像处理的方法可以分别计算出管柱和接箍两条边缘之间所占像素的个数值,之后再取一个介于这两个数值中间的数值作为接箍判定的阈值。若大于此阈值,则判定为接箍区域,记为1;否则为管柱区域,记为0。
一幅m×n(长×宽)的管柱接箍图像,经二值化处理后,图像某一行中的白色像素点的个数为:
接箍区域行坐标:
式中:Tp为接箍行坐标判定阈值。
当B(i)=1时,所对应的行坐标i属于接箍区域。
接箍区域的行坐标确定之后,要进一步确定接箍区域的列坐标。根据前述图像二值化的结果,当某一像素点为白色,而这一行上前一点为黑色,则认为此点为接箍区域的起始点;当某一像素点为白色,而这一行上后一点为黑色,则认为此点为接箍区域的末端点。接箍区域列坐标表达式为:
式中:g(i,j1)是管柱及接箍的左边缘点;g(i,j2)是管柱及接箍的右边缘点。
则接箍区域图像坐标表达式为:
通过逻辑运算可将管柱与接箍区分开来,得到接箍部分的图像坐标,并用方框标注出来,如图5所示。
▲图5 接箍识别与捕捉效果
2.2 摄像机标定
图像坐标系中的单位是像素(pixel),而需要测量出的结果单位是实际尺寸单位,如m、mm等,本文根据实验器材情况确定单位为mm,所以必须通过摄像机标定来确定实际尺寸与像素尺寸之间的关系[5]。标定过程为:固定摄像机位置,在与管柱到摄像机距离相同的距离上放置一标准尺寸的矩形块,并测量出某一边的像素数目。此边实际长度和该边在图像中的像素数的比值,就是单位像素的尺寸值。为了使标定结果更加准确,可以进行多次标定,取其平均值。
2.3 帧间差分法测速
识别出接箍区域后,需要将接箍突起的结构作为运动目标从背景图像中分离出来[6],进而测量管柱运动速度。因为摄像机的位置固定不变,只有管柱相对摄像机运动,所以选择帧间差分法,利用运动目标在图像序列中相邻帧之间像素的差异提取运动目标。
首先对预处理之后的视频图像hk(i,j),计算第k帧与第k-1帧之间的差值,得到差分图像Rk(i,j):
由于其经过二值化处理,因此接箍部分的运动被检测出来并作为前景显示在图像中。
在 hk-1(i,j)中确定一点 hk-1(ik-1,jk-1)(方便起见可以选择一角点)为基点,根据其在运动接箍上相对位置不变的特点,可以很容易确定其在下一帧hk(i,j)中的坐标hk(ik,jk)。通过图像处理的手段获取两点在垂直方向移动的像素数,则管柱起升速度vl为:
本文中,p=0.171 4 mm/pixel,q=30 fps。
实验基于MATLAB软件进行算法的验证,实现了在管柱起升视频图像序列中进行运动接箍捕捉跟踪以及管柱起升速度的测量。拍摄一段管柱上升的视频,同时用速度传感器记录每 0.5 s的速度值,再基于MATLAB对视频进行处理,测量每15帧(即每0.5 s)的速度值,取部分实验数据,比较结果见表1。
产生误差的主要原因可能是:①有限实验条件下摄像机的分辨率不高、镜头引起的透视误差以及畸变;②摄像机标定的误差;③ 速度传感器的测量误差;④外部环境的影响,包括照明对原始图像质量的影响,以及抖动引起的误差等。
表1 实验结果
本文基于模式识别及图像处理技术,提出一种基于油管接箍结构特征的接箍识别及管柱起升速度测量方法,并基于MATLAB软件对算法进行了验证。实验证明,此方法实时性好,可以有效识别出管柱接箍,所测量的速度值误差在容许范围之内,并且仍有提高精度的空间,成本低廉,可以在实际测量中推广应用。
[1] 吴文秀,刘立,刘文兴,等.油管长度智能计量仪的研制与试验[J].石油机械,2000,28(5):34-35.
[2] 卢明昌,于亦明,鞠武,等.油管智能激光测长系统[J].石油机械,2001,29(8):34-36.
[3] 宋洁,叶献方,刘胜红.油管在线动态测长系统设计[J].计算机测量与控制,2007,15(3):308-309.
[4] 栾一秀,郭帅,袁洪波,等.油管接箍运动图像的检测与识别[J].电子测量技术,2011,34(8):41-44.
[5] 李文锦,吴海彬,何祖恩.基于机器视觉的机械测量及识别技术研究[J].机床与液压,2010,38(1):18-21.
[6] Sagrebin Maria,PauliJosef.Realtime Moving Object Detection for Video Surveillance[C].6th IEEE International Conference on Advanced Video and Signal Based Surveillance,Genova,Italy,2009.
(编辑 丁 罡)
TH122
A
1000-4998(2015)06-0085-03
2014年12月