一种长条形水嘴旋转角度非接触测量方法与流程

文档序号:18002606发布日期:2019-06-25 23:01阅读:354来源:国知局
一种长条形水嘴旋转角度非接触测量方法与流程

本发明涉及一种长条形水嘴旋转角度非接触测量方法。



背景技术:

利用机器视觉可以对长条形水嘴进行非接触测量,现在提出一种基于累计概率霍夫变换(ppht)和加权最小二乘(wls)的检测法测量水嘴旋转角度。作为传统线检测方法的霍夫变换(ht)和最小二乘(ls)方法广泛用于机器视觉,标准hough变换(sht)作为一种全局最优算法,具有良好的稳定性和良好的鲁棒性。然而,当要求高精度时,由于其详尽的搜索,sht将被认为具有较慢的计算速度,存储空间的浪费和较差的实时能力。鉴于这些缺点,相关学者提出了一些改进的算法。众所周知的改进是随机hough变换(rht),已由xul等人提出。rht利用多对一映射和随机样本选择以减轻计算和存储负荷。kiryati等提供了霍夫变换的另一个有效版本,即概率霍夫变换(pht),它维持sht投票方案,但是使用相对较小的抽样。matasj.等提出了渐进概率霍夫变换(ppht),与pht不同,pht在预先选定的输入点部分上执行,ppht通过移除相应行中的支撑点并减少投票计数来最小化检测线所需的计算量。在时间消耗方面,ppht最快运行速度,非常适合实时线路检测。对于ls线拟合方法,考虑随机误差对线性精度的影响,获得高检测精度,可以弥补ht的精度不足。然而,当检测到的边缘受到噪声的影响,以及标识的边缘线有毛刺不在一条直线上时,ls的检测结果误差将显着增加,在这些情况下,可以使wls进行拟合。

作为传统线检测方法的霍夫变换(ht)和最小二乘(ls)方法广泛用于机器视觉,标准hough变换(sht)作为一种全局最优算法,具有良好的稳定性和良好的鲁棒性。本发明提出了一种基于累计概率霍夫变换(ppht)和加权最小二乘(wls)的标识线检测法测量水嘴旋转角度。



技术实现要素:

本发明提供一种长条形水嘴旋转角度非接触测量方法,用一种基于累计概率霍夫变换(ppht)和加权最小二乘(wls)的算法测量长条形水嘴旋转角度。

为了实现上述目的,本发明的技术方案如下:一种长条形水嘴旋转角度非接触测量方法,其特征在于所述方法包括以下步骤:

a、摄像头读取水嘴图像;

b、中值滤波去除噪点;

c、将水嘴图像从原本的rgb空间转换到hsv空间;

d、对水嘴图像进行形态学运算;

e、进行canny边缘检测;

f、利用ppht—wls算法对水嘴图像进行分析,进行水嘴角度检测并输出角度信息。

进一步地,步骤a中,保证摄像头和水嘴阀芯垂直安装,且水嘴手柄完全在画面内,这样才能保证采得的水嘴画面符合处理要求。

进一步地,步骤f又包括:

(1)ppht线检测,计算最长边;

(2)判断边缘点到最长边的距离,若距离小于阈值,则保留该边缘点,通过wls拟合直线,得到符合误差阈值初检测的最长直线;

(3)计算新拟合的水嘴边缘线的角度,即为当前水嘴的角度。

其中步骤f具体为:设采集到的边缘检测像素点点集为m=(xi,yi)t,m中的数据点分布在最长直线附近,设定误差阈值为d,hough变换公式为:

ρ=xicosθ+yisinθ(i=1,2,...,n)

ρ为从原点到直线的垂直距离,θ为从x轴算起的角度;

根据hough变换公式,对m作累计概率hough变换,并且求出最长直线拟合直线参数(θmax,ρmax)。然后找出拟合直线(θmax,ρmax)附近的数据点集m*。将最长直线(定义)方程改写为斜截式公式:

ymax=amaxx+bmax

其中,

计算m中的点到斜截式直线的距离di

若有

di<d

(xi,yi)∈m*(xj,yj),(j=1,2,...,n*;n*≤n)

m*为符合误差阈值初检测的最长直线斜截式方程表示方法附近的点集,n*为数据集中的点数;

最后以m*为拟合数据,可得到新的直线方程的参数以((xj)min,yj))∈m和((xj)max,yj))∈m,可确定新拟合的线段区间:

该新拟合的直线即为拟合后的水嘴边缘线;

进而可求出新拟合的直线的角度变化为当前水嘴的角度θ:

本发明利用机器视觉技术可以对长条形水嘴旋转角度进行非接触测量,运用的ppht-wls算法与ppht和sht算法相比,具有更高的检测精度,同时也减少了计算时间。

附图说明

图1为本发明的流程图。

图2为hough变换示意图。

下面结合附图和实施例对本发明作详细说明。

具体实施方式

如图所示,本发明的一种长条形水嘴旋转角度非接触测量方法,其特征在于所述方法包括以下步骤:

a、ccd摄像头读取水嘴的图像;

b、中值滤波去除噪点;

c、将水嘴图像从原本的rgb空间转换到hsv空间;

d、对水嘴图像进行形态学运算;

e、进行canny边缘检测;

f、利用ppht—wls算法对水嘴图像进行分析,进行水嘴角度检测并输出角度信息。

下面对本发明的算法实现进行详细说明。

1、中值滤波

由于ccd元件本身存在缺陷以及拍摄现场噪声干扰,摄像头采集的图像中存在有噪声。噪声的存在会使canny检测处理时产生无用的边缘信息,增加处理时间且影响检测精度,因而应首先对图像进行去噪声处理。

中值滤波是一种统计排序滤波器,其表达式为:

g(i,j)=median{f(i-k,j-l)},(k,l∈w)

其中f(i,j),g(i,j)分别为原始图像和处理后的图像,w为二维模板,通常为3*3,5*5,7*7,9*9模板。中值滤波的步骤为:

(1)将滤波模板在图像中滑动,并将模板中心与图像中的某个像素重合;

(2)读取模板中各个对应像素的像素值;

(3)将这些像素值从小到大排列;

(4)在已经进行的排序中,取大小位于最中间的像素值,并将其赋给对应模板中心位置的像素。

2、rgb空间转换到hsv空间

rgb彩色空间中三个分量有着很高的相关性,常用的数字图像处理算法中,若直接对rgb模型中的r、g、b分量进行处理,其处理过程中很可能会引起三个分量不同程度的变化,引起处理图像产生色差甚至失真,不利于后续的图像处理。本文将已经滤波的图像转到hsv颜色空间进行处理,hsv颜色空间具有两个特征,一方面亮度分量与彩色信息无关,另一方面色调和饱和度与人类所感知的颜色一一对应,这些特征使得在hsv颜色空间下处理图像所受光照的影响较小,同时精确反映图片的颜色信息。rgb颜色模型转换到hsv颜色模型的公式如下:

v=max

其中max为图像中r(红),g(绿),b(蓝)三个通道存储值中的最大值,min为最小值。rgb彩色空间转换到hsv彩色空间实则是对图像三个通道中存储的值进行一一变换,再将变换后的数值存入三个通道,此时三个通道的存储量依次为h(亮度)、s(色调)、v(饱和度)的存储量。

3、形态学处理

通常由于噪声的影响,水嘴形状在阈值得到的边界往往是很不平滑的,内部区域可能会出现一些噪声孔,背景区域上也可能随机散布着一些小的噪声孔。本文对图像采用连续的开运算和闭运算处理,改善这种情况,并且降低后续图像检测识别算法的复杂度。

本文对水嘴图像采用连续的开运算和闭运算处理,改善这种情况。

膨胀或者腐蚀操作就是将图像(或图像的一部分区域,我们称之为a)与核(我们称之为b)进行卷积,核就是进行卷积的模板。膨胀就是求局部最大值的操作,核b与图形卷积,即计算核b覆盖的区域的像素点的像素最大值,并把这个像素值最大值赋值给参考点指定的像素。腐蚀就是局部最小值的操作,核b与图形卷积,即计算核b覆盖的区域的像素点的最大值,并把这个像素值的最大值赋值给参考点指定的像素。相反闭运算是对图像先进行膨胀操作再进行腐蚀操作。

腐蚀操作用公式可表示为:

膨胀操作用公式可表示为:

开运算是先进行腐蚀再进行膨胀操作。用公式表达为:

闭运算是对图像先进行膨胀操作再进行腐蚀操作。用公式表达为:

4、canny边缘检测

canny算法检测性能良好,既保留重要边缘信息,又能有效抑制伪边缘,定位精度高。具体的算法如下:

(1)高斯滤波。为减小数字图像中噪声点对图像检测质量的影响,在检测环节首先对图像进行滤波处理;

(2)计算梯度幅值和方向角。利用导数算子找到图像灰度的沿着两个方向的偏导数,并求出梯度的幅值和梯度方向;

(3)非极大值抑制。遍历整个图像,使用3×3大小,包含8个方向的邻域梯度幅值阵列的所有像素沿梯度方向进行梯度幅值的插值。在每一个像素点上,比较邻域的中心像素与沿梯度方向的两个梯度幅值的插值结果的大小,找出局部极大值点,并保留幅值局部极大值点,删除局部非极大值点。

(4)双阈值法检测并连接边缘。经过非极大值处理的图像,还需使用高低阈值进行分割,得到2个阈值边缘图像。

5、霍夫变换(sht)原理

霍夫变换是数字图象技术中一种有效的发现直线的算法。它是先把直角坐标系的目标点映射到极坐标系上进行累积,即先使直角坐标系平面上任一直线上的所有点均累积到极坐标系的同一点集中去,然后通过寻找极坐标系中点集的峰值,来发现长的直线特征。由于这种点集是通过累积统计得到的,因而能够容忍直线的间断。

霍夫变换的基本思想是点—线的对偶性,在图像空间xy里,所有过点(x,y)的直线都满足方程

y=kx+b

其中k为该直线的斜率,b为该直线在y轴上的截距,如果用参数表示则为:

ρ=xcosθ+ysinθ

其中ρ为从原点到直线的垂直距离,θ为从x轴算起的角度,这条直线在ρ-θ平面中为一点,而在x-y平面中通过一点的一簇直线变换到ρ-θ平面时,将形成一条类似正弦曲线的轨迹,也即在x-y平面上一个点对应ρ-θ平面上一条曲线。

若在x-y平面上有三个共线点,它们变换到ρ-θ平面上为有一公共交点的三条曲线,公共交点的ρ-θ参数就是共线直线的参数。

根据这个原理,如图2所示,可以用hough变换抽取直线,通常将x-y平面称为图像平面,将ρ-θ平面称为参数平面。

hough变换算法描述如下:

(1)在ρ、θ合适的最大值与最小值之间建立一个离散的参数空间;

(2)建立一个累加器a(ρ,θ),并将每一个元素置为0。

(3)对于x-y坐标系上的每一个像素点(x,y),对每一个θ的取值θ',计算ρ'=xcosθ'+ysinθ',并在相应累加器加1:a(ρ',θ')=a(ρ',θ')+1(即把矩阵a的元素a(ρ',θ'))

(4)对数组a(ρ,θ)进行局部峰值检测,得出被检测直线的参数ρ和θ。

由霍夫变换的原理及算法步骤可知,霍夫变换计算时间与参数离散化的区间分辨率有关,区间划分越细致,精确度越高,但遍历次数越多,时间越慢,同时计数器数量也越多,计算开销越多。并且数字图像中,像素点坐标值都以二维整数形式存在,过度细分的参数空间有可能会因为计数器无法获得足够的计数而造成检测失败。

6、累计概率霍夫变换(ppht)原理

累计概率霍夫变换是标准霍夫变换的一种改进算法。本文使用了累计概率霍夫变换(ppht)来对图像进行线检测。ppht算法中的映射和直线检测是交替进行的,由于采用了随机取点映射的方法,最明显的直线特征有望被最早检测到,算法在运行一定时间后可停止运行并仍然输出有效的结果;其次,ppht算法的运算过程也可在所有待处理点完成向参数空间的映射或被归类到某一直线中后停止。这种情况下,只有一小部分待处理点完成了映射,其余的点作为被检测到的直线上的点从待处理点集中去除而不必进行向参数空间的映射,减少了算法的运算开销。累计概率霍夫变换相比标准霍夫变换效率上有了极大提升,更适合于实时场景中的直线检测。

7、加权最小二乘法

一般最小二乘法将时间序列中的各项数据的重要性同等看待,而事实上在存在噪声或者贴条边缘有毛刺和凸起等引起的异常值时,比较合理的方法就是使用加权的方法,对比较近的点赋以较大的权数,对比较远的直线则赋以较小的权数。

假设在图像空间的特征区域中存在n个像素点,由w={(xi,yi),i=1,2,...,n}表示。配有像素点的线可以以任何方向出现。

设直线模型为

则对于给定数据点(xi,yi),其残差平方和为

其中wi表示权重

对q求导

等于零使残差平方和最小

可解得

代入上式可解出

其中权重wi必须基于距离δ,本文选用fair权函数作为权数,即

wls方法应用于长条形水嘴边缘的线检测的精确拟合,仅在3个像素距离内设置的特征点。从权重公式中可以看出,权重随着距离的增加而减小,减小了异常值对直线拟合的影响。

8、累计概率霍夫变换(ppht)和加权最小二乘(wls)结合

ppht的作用是找到图像中的所有直线,ppht找到的图像中所有直线后,计算每一条直线的长度,长度最长的那条就是最长直线,对于长条形水嘴来说最长直线也即水嘴的边缘线。在通过ppht确认水嘴边缘的近似位置之后,需要提取接近边缘的特征点以用于wls的精确线性拟合。

设采集到的边缘检测像素点点集为m=(xi,yi)t,(i=1,2,3...n,n为数据集中的数据点数),其中t表示转置的意思。m中的数据点分布在最长直线附近,设定误差阈值为d。hough变换公式为:

ρ=xicosθ+yisinθ(i=1,2,...,n)

根据上式,对m作累计概率hough变换,并且求出最长直线拟合直线参数(θmax,ρmax)。然后找出拟合直线(θmax,ρmax)附近的数据点集m*。将最长直线(定义)方程改写为斜截式公式:

ymax=amaxx+bmax

其中,

计算m中的点到斜截式直线的距离

若有

di<d

(xi,yi)∈m*(xj,yj),(j=1,2,...,n*,n*≤n)

m*为符合误差阈值初检测的最长直线斜截式方程表示方法附近的点集,n*为数据集中的点数。最后以m*为拟合数据,可得到新的直线方程的参数以((xj)min,yj))∈m和((xj)max,yj))∈m,可确定新拟合的线段区间:

进而可求出新拟合的直线的角度变化为当前的角度θ:

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1