APP下载

基于视觉的核电蒸汽发生器水室堵口圆心定位研究

2020-04-29熊雪琴王湘江

智能计算机与应用 2020年2期
关键词:螺钉圆心半径

熊雪琴, 王湘江

(南华大学 机械工程学院, 湖南 衡阳 421001)

0 引 言

为了保证核电站反应堆安全运行,运营商会对蒸汽发生器进行检修工作,安装堵板是蒸发器水室内检修作业的前提条件,要顺利完成检修工作需先确定堵口位置[1]。根据核电工业发展趋势,未来,视觉机器人将会取代人工完成堵板安装工作。视觉机器人代替人工作业同样面临高辐射问题,因此需要一套满足定位精度又快速的堵口及螺钉孔圆心的定位算法。根据课题研发小组需求,要想实现机械化自动安装堵板,需要先解决堵口和螺钉孔的视觉定位问题。

核电蒸汽发生器水室内堵口端面的形状信息如图1所示,主要由堵口圆孔和紧固用的螺钉孔组成,且堵口圆与螺钉孔圆心所在圆同心。由于实物成像大小与物体距离相机的距离成反比,在空间足够宽敞的情况下,相机感光芯片可以直接获取堵口全局视野图像,对堵口图像做Hough圆检测即可得到圆心坐标,但蒸汽发生器水室外形如图2所示,上部封闭,内部空间狭小,且堵口圆与螺钉孔圆尺寸差距大,即使能够获取到堵口全局图像,却难以检测到清晰的螺钉孔圆特征,因此采用基于螺钉孔圆心的辅助法定位堵口圆心,可以同时得到堵口与螺钉孔坐标。

检测圆形物体位置的常用方法如下:霍夫变换、模板匹配、小波变换方法、梯度矢量流(GVF)模型及最小二乘法,Hough变换圆检测是最常用的圆特征检测方法[2]。经典的霍夫变换圆检测算法很容易检测到圆心,何立新等人[3]利用经典的Hough变换检测分别对圆形阀门把手的直线段特征和圆形特征进行检测,实验结果表明该方法检测与定位精度达90.7%;许益成等人[2]对圆形车灯进行检测,通过对预处理后的图像进行Hough圆识别,该方法对夜间车辆的位置检测效果很好;孙晓敏等人[4]首先采用Canny边缘检测检测圆,做非圆筛选后用,用改进的Hough变换检测求取特征圆的半径参数和圆心参数,该方法精度高、实时性好且抗噪性能好。

图1 核电蒸汽发生器水室内部堵口

Fig. 1 Plug in water chamber of nuclear power steam generator

图2 核电蒸汽发生器水室外观

Fig.2 Appearance of water chamber of nuclear power steam generator

基于多点坐标求圆心法的方法中,常用的有最小二乘圆求解法、弦中点法。朱正伟等人[5]对Hough圆检测算法进行改进,将图像预处理得到的轮廓点随机抽样,对抽样点的领域内做最小二乘圆拟合,该方法减少了计算量,实现快速检测圆;朱嘉等人[6]利用圆心约束对最小二乘拟合法改进,使得短圆弧测量精度高,速度快;王磊等人[7]提出的基于弦中点Hough变换的同心圆检测方法,对像素点进行弦中点和半径参量累加统计,得到最终检测圆的圆心和半径,使计算过程简化。谭永[8]改进了基于最小二乘圆拟合的圆提取方法,缩短对特征目标的提取时间。

高精度的最小二乘拟合法,是对一些列点的误差和的偏导求极值,计算量庞大;弦中点法计算方法复杂,为了减少机器人辐照时间和提高系统实时性,本文直接采用Hough圆检测螺钉孔位置,利用检测到的螺钉孔坐标先快速求出螺钉孔位置圆半径R,再取两点解方程得到2个圆心(m1,n1)、(m2,n2),经第三点坐标约束,确定唯一圆心坐标,与其他圆求解方法相比,在保证精度的前提下大幅减少圆心检测时间。

1 检测与定位方法处理流程

本文提出的核电厂蒸汽发生器水室堵口圆心定位的详细流程如图3所示。其中,i表示检测到的螺钉孔的数量,(ui,vi)表示螺钉孔端面圆心像素坐标,(x,y)表示蒸发器水室堵口端面圆心的像素坐标,R表示螺钉孔位置圆圆心所在圆的像素半径。蒸发器水室内环境恶劣、复杂,在直接进行圆特征检测前一般会对图像进行预处理,其主要处理步骤如下:

(1)非线性双边滤波:对干扰噪声的去除,同时较好地保持轮廓边缘;

(2)形态学开运算处理:消除细微噪声、在纤小点处分开目标信息、模糊大物体边界、降低分辨率,且较好保留原区域。

(3)自适应阈值化:针对同幅图像上不同部位亮度不一致问题,自动计算每个小区域的最佳阈值。

(4)Hough变换圆检测:直接检测到圆形目标的圆心与半径值。

(5)快速圆心定位:对检测到的螺钉孔坐标计算,快速求解堵口圆心坐标。

图3 核电蒸汽发生器水室堵口圆心定位流程图

2 Hough变换圆检测

霍夫变换鲁棒性强,不仅对噪声不敏感,而且还能够检测部分缺失或略微变形的形状。在利用机械视觉对堵口和螺钉孔端面圆心定位的方法中,对螺钉孔端面圆心检测是难点、也重点之一。由于蒸发器水室内部环境限制,通过获取堵口局部图像,对其进行Hough变换圆检测,求解其圆心坐标和半径。

Hough变换检测方法中,常用到参数空间与图像空间,在参数空间里,任意一条解析曲线的表达式如下所示:

f[(a1,ax...,an),(x,y)]=0,

(1)

其中,a1,ax...,an是曲线的特征参数,将式(1)中特征参数与变量x,y对换,则式(1)转化成:

g[(x,y),(a1,ax,...,an)]=0,

(2)

可以用公式(2)解释图像空间中相同分析曲线上的点由(2)变换, 映射成参数空间的一点,该点由特征参数a1,ax...,an确定。因此,对参数空间中各参数点的累积值的判断,可以实现在图像空间中对分析曲线的描述。

假设,在像空间中,满足圆性质的点集合(xi,yi)(i=1,2,3...n)可以用其一般式(3)表示:

(x-a)2+(y-b)2=r2,

(3)

所以,在参数空间中,图像空间中的点集的表达式为:

(a-xi)2+(b-yi)2=r2.

(4)

公式(4)可以解释为,图像空间中二维点x,y转换成的立体参数空间圆心点(a,b)和半径r,并且图像空间上的点(xi,yi) 与三维空间圆锥面相对应;满足圆周条件的图像空间中的点在三维参数空间为一个锥面,因此,则有如图4所示圆锥表面簇在三维空间形成。

对圆心(a,b)和半径r的识别,需要先创建r阈值(rmin,rmax),在图像空间中,形成圆的多个点经过等式(4)变换,以得到参数空间参数(a,b,r),这些圆必定相交于一个点,即圆心(a,b);设置变量,对局部交点处圆的个数统计,设置三维累加器A(a,b,r),取各个局部最大值Amax(a,b,r),计算得到的(a,b)为圆心,r为半径。

3 基于螺钉孔坐标的堵口圆心快速定位

堵口圆心不能直接检测定位,以周围螺钉孔中心位置圆与堵口圆同心这一特性为辅助,对堵口圆心坐标进行计算。如图5所示,假设Hough圆检测到螺钉孔圆心有A、B、C三点,坐标分别为(x1,y1)、(x2,y2)、(x3,y3),点M(m1,n1)、N(m2,n2)为以A、B点计算得到的圆心,C为圆心最终定位的约束点。

图5 圆心求解示意图

(5)

得到螺钉孔中心位置圆半径后,取其中两点A(x1,y1)、B(x2,y2)坐标,根据一般情况下圆的数学公式(x-m)2+(y-m)2=R2有:

(6)

这里,令:

(7)

两式相减得到m,n的关系式如式(8)所示:

(8)

m,n关系可用式(9)表达,继而把式(9)代入A点圆方程得到以n为未知量的一元二次方程式(10)。详见如下:

m=C1-nC2,

(9)

(C22+1)n2+(2x1C2-2C1C2-2y1)n+

(x12-2x1C1+C12+y12-R2)=0,

(10)

此处令a=C22+1,b=2x1C2-2C1C2-2y,c=x12-2x1C12+y12-R2根据标准的二次方程求解得到式(11),代入式(9)得到式(12):

(11)

(12)

以C(x3,y3)为约束点,判断C点到圆心M(m1,n1)和N(m2,n2)距离与半径R的差的绝对值大小,即当t>0时取点N为圆心,否则取点M。此时需用到如下数学公式:

(13)

4 实验结果对比和分析

实验平台搭建如图6所示,主要由相机、堵口简化模型及图片数据处理系统组成。相机采用的是魔客仕UC30,照片取样图像分辨率640×480,帧率60 fps;由于真实的核电蒸汽发生器水室内部图片难以获得,采用图6中的特制圆环模拟堵口端面形状;图片数据处理系统是基于Windows7的Visual Studio2015及OpenCV3.0。

图6 实验平台

如图7所示,随机采取11张不同位姿的堵口局部图片进行试验。把这11 张图片进行Hough变换圆识别,对检测到的螺钉孔圆心坐标进行圆心求解,随机选取一张本文提出的半径法识别圆心的快速定位方法检测效果图,如图8所示。该方法能够有效拟合出螺钉孔中心位置圆,输出堵口圆心坐标。最后,将最小二乘圆求解算法和基于弦中点圆求解法与本文提出的快速圆心定位算法进行对比,3种方法检测的数据结果见表1。表1中,坐标和R均为像素值。研究中,比较检测到的圆心坐标和运算时间,可推得先半径法具有可行性和耗时少两个优点,对此可做分析阐述如下。

图7 堵口模型局部随机图像

(a) 检测效果

(b) 计算结果图

表1 3种方法检测结果数据

(1)可行性。假设ABC分别表示最小二乘法、弦中点法、先半径法;j=1,2…,11表示图号,(xAj,yAj),(xBj,yBj),(xCj,yCj)为第j张图用A,B,C法检测到的圆心坐标。由于最小二乘法圆拟合算法是一种经典的高精度拟合算法,现已广泛应用在各种场合,以其检测到的圆心坐标为参照,分别计算弦中点法和先半径法检测到的11组圆心距离的和,比较其大小,来分析先半径法的可行性。如式(14)所示:

(14)

其中,d1为弦中点法与最小二乘法的计算值,d2为先半径法与最小二乘法的计算值。

经计算知d1≈d2≈6.305 3,相当于6.3个像素值,观察数据分布知偏差主要来自图7(4),去除图7(4)后的数据得d1≈d2≈0.003 3,接近于0,可以认为图7(4)的最小二乘法计算上出现错误,排除错误后先半径法与最下二乘法检测到的圆心坐标非常接近,说明数据达到精度要求,算法可行。

(2)耗时少。如图9所示,用3种方法对每张图计算时间进行对比,本文提出的先半径法检测耗时稳定,除了图7(3),其余图计算都比最小二乘法和弦中点法耗时短,对其平均值进行比较,本文提出的先半径法相对于最小二乘法,单帧图像在处理速度上提升21.4%,相对于弦中点法提升了33.3%,能够在蒸发器堵口定位过程中有效减少机器人受辐照时间。

图9 3种方法耗时对比

5 结束语

本文提出的快速圆心定位算法,是基于Hough变换检测的圆心坐标基础上求解堵口圆心坐标,充分利用了三点快速求半径R的作用,已知半径R后只需联立方程求解,以第三个点做约束,通过判断圆心与第三点距离大小确定最终圆心,而最小二乘圆拟合算法着重于误差较小的高精度拟合,其对和的偏导计算内容庞大;基于弦中点的圆心求解需要求取2个以上的直线方程再联立求解交点,计算过程复杂。实验证明,与最小二乘法和弦中点法相比,证明了本文提出的堵口圆心定位方法可行,对比前两者,计算速度分别提升21.4%和33.3%,且单张图像计算耗时稳定,能够在实际应用中大大减少机器人在核电蒸汽发生器内受辐照时间。

猜你喜欢

螺钉圆心半径
加长骶髂关节螺钉治疗骶髂关节复合体损伤的研究进展
直击多面体的外接球的球心及半径
圆锥曲线“角度式”焦半径公式的应用
内固定螺钉要取出吗?
用两圆有公共点的充要条件解题
一种深孔螺钉防倒管
参考答案
四种方法确定圆心和半径
万有引力定律应用时应分清的几个概念
圆心仍对应圆心吗