本发明属于机器视觉的技术领域,涉及一种变电站的仪表设备巡检的视觉检测算法,尤其涉及一种基于特征拟合的变电站仪表设备巡检的视觉检测方法。
背景技术:
随着科技的不断发展和变电站管理的逐渐升级,绝大部分的变电站已经实现无人值班,但由于自动化技术和功能范围并不完善,很多设备的运行数据不能通过现有的在线检测设备简单获取,往往需要安排工作人员定期巡检。
自动巡检视觉检测技术的引入,可以显著弥补现有电网的监控技术的不足。通过变电站可见光和红外图像采集,识别和分析,可以实时诊断系统运行的重要参数,并监控异常情况,为以后的统计分析提供大数据支持。
在变电站自动巡检过程中,常需要识别各类指针式仪表,例如:压力表,油压表等,因此,仪表定位识别是自动巡检的一个核心子系统。传统的指针式仪表识别算法主要利用图像匹配或图像细化技术去定位指针并计算刻度。但在光照复杂,且干扰众多的环境下,精确的图像匹配很难实现;而基于多帧图像的识别系统,往往要采集若干张仪表图片,且对现场光照和相机定位都有较高的要求。但在动态巡检过程中难以满足此类要求,容易导致计算偏差甚至识别失败。同时,在刻度值的分析计算过程中,仪表中心的计算偏差或图像倾斜等因素往往会影响许多传统算法的计算精确度。
技术实现要素:
本发明主要面向变电站的仪表自动巡检的视觉检测需求,针对现有技术存在巡检过程中采集图像质量不够稳定,易受到各种光照、平台振动或其它外界因素干扰等技术问题,提出一种基于特征拟合的变电站仪表设备巡检的视觉检测方法。该方法采用基于特征拟合的仪表指针定位技术,通过指针边缘特征的环形投影、边缘统计和拟合分析,计算指针两条夹边及其交点。同时,在刻度值计算方面,选择指针最近邻的2个刻度进行线性插值,从而能准确估算当前的刻度值,避免了因仪表中心定位偏差或图像倾斜而导致的刻度值计算偏差。
为了解决现有技术存在的技术问题,本发明的技术方案如下:
步骤1.采集一张变电站巡检仪表图像,具体通过ccd相机拍摄目标图像并将图像转换成灰度图像g;
步骤2.针对图像g进行预处理,去除噪声点,生成图像g1。
步骤3.利用边缘算子提取g1的边缘信息,生成图像g2。
步骤4.采用hough算法分析图像g2中圆形目标,计算出仪表中心c。
步骤5.围绕仪表中心c,对仪表指针所在的环形区域进行投影映射,生成图像g3。
步骤6.在图像g3中,计算符合指针边缘特征的统计信息值。
步骤7.依据统计信息值,计算指针的两条边线,并计算边线交点t。
步骤8.针对图像g1,围绕仪表中心c,对仪表刻度所在的环形区域进行投影映射,生成图像g4。
步骤9.对图像g4进行二值化处理,并通过区域标记算法定位每个刻度的中心区域,确定每个刻度坐标,并映射回原始图像g1空间。
步骤10.在图像g1坐标空间中,过圆心c点,计算指针针尖t与邻近2个刻度之间夹角,并通过线性插值计算指针所指的刻度值。
步骤1所述的采集一张变电站巡检仪表的图像,具体过程如下:通过工业相机拍摄目标图像,并转换成灰度图像g。转换具体如下:
gray=r×0.3+g×0.59+b×0.11
所述的对目标图像中的每一个像素点处理,就能将其转换成灰度图像g;其中r、g、b为一个像素点的值的基色分量;
步骤2所述的仪表图像预处理,主要是去除噪声点,一般通过中值滤波方法除去灰度图像g的噪声点,生成图像g1。具体过程如下:
2-1、选定5×5的邻域,将邻域内的像素按灰度等级进行排序,确定其中值;
2-2、将确定的中值赋予滤波后图像中的相应像素点,所述的相应像素点即进行中值滤波的那个像素点;
步骤3所述的计算g1的边缘信息,一般采用canny或sobel算子提取边缘信息,生成图像g2。该边缘信息主要用于定位仪表中心和指针位置。
步骤4.采用hough算法提取图像g2中的圆形目标,并定位圆形中心c。
步骤5.围绕仪表中心c,对仪表指针所在的环形区域进行投影映射,生成图像g3。考虑仪表的形状特征,一般的环形区域可以选择在半径为(r1,r2)区域。
其中,r2的长度一般近似为指针针尖t到仪表中心c的距离。r1可以选择为r2的1/3到2/3长度。
g3的大小为(nw,nh),其中,nw=2πr2,nh=r2-r1,此时,矩形上任一点p(x,y)可以映射到仪表上的点p'(x',y'),此时,
p'距离中心点的距离为r1+y,对应弧度为x/r2;
x'=(r1+y)×cos(x/r2)(1)
y'=(r1+y)×sin(x/r2)(2)
步骤6.在图像g3中,计算符合指针边缘特征的统计信息值。其中,指针边缘特征包括指针的左边线和右边线。该特征在投影视图像g3中,可以用特征三元组(α,β,d)来描述,如图2所示。考虑到投影轮廓值与x坐标相关,因此统计信息值f可以由公式(3)表示:
f=f((α,β,d),x)(3)
该公式表示为以位置x处的垂线为基准,左侧边线倾角为α,右侧倾角为β,且两侧边线在底部离垂线间距均为d/2。此时,g3中所包含的边缘点数即为统计信息值。具体计算过程如下:
6.1确定α和β搜索范围:考虑到指针夹角一般相对固定,但考虑工艺差异和拍照角度差异性,夹角可能会有一定的变化,但变化幅度较小。假设仪表指针夹角为θ(该值由用户输入,一般在3-6°),则α和β搜索的范围一般在(θ/2-2,θ/2+2)即可。
6.2左侧边缘信息统计:以g3图像底部为基准,当倾角为(θ/2-2,θ/2+2)时,以0.2°间隔计算g3图像在水平方向的投影值sl(α,x)。
6.3右侧边缘信息统计:以g3图像底部为基准,当倾角为(θ/2-2,θ/2+2)时,以0.2°间隔计算g3图像在水平方向的投影值sr(β,x)。
步骤7:依据统计信息值,计算指针的两条边线,并计算边线交点t。该过程主要基于统计信息sl,sr及间隔d等参数,计算统计信息最大值,确定指针边线。具体计算过程如下:
7.1确定d的变化范围:该值与半径设置和指针形状有关,一般由用户设定,可设定在(-4,+4)之间。
7.2计算统计信息值:任选一个间距d值,此时,该值可以由公式(4)计算,采用逐一比较方法,确定取得的局部最大值fmax(d)时(α,β,x)应满足的条件。
f(d)=sl(α,x)+sr(β,x+d)(4)
7.3在d的取值范围内,逐一比较所有的局部最大值,选择取得全局最大值时的d值和(α,β,x)值,并构成四元组,设为(α0,β0,d0,x0)。
7.4边缘线计算:
在图像g3中,左侧边缘线通过点xl(x0-d0/2,nh)和pl,其中,pl可以由公式(5)获取:
pl=(x0-d0/2-nh×tanα0,0)(5)
同理,右侧边缘线通过点xr(x0+d0/2,nh)和pr,其中,pr可以由公式(6)获取:
pr=(x0+d0/2+nh×tanβ0,0)(6)
参照公式(1,2),可计算g3图像空间的直线xlpl,xrpr在g1图像空间的对应直线xl'pl'和xr'pr',并计算他们在g3空间的交点t。
步骤8:针对图像g1,围绕仪表中心c,对仪表刻度所在的环形区域进行投影映射,生成图像g4。具体过程是:对图像g1的以c为中心,半径在(r3,r4)环形区域,进行投影变换,生成图像g4,如图2所示。
g4的大小为(nw,nh),其中,nw=2πr4,nh=r4-r3,
步骤9:对图像g4进行二值化处理,并通过区域标记算法定位每个刻度的中心区域,确定每个刻度坐标,并映射回原始图像g1空间。
具体过程如下:
9.1二值化处理:先对图像g4采用二值化处理,阈值可以由用户设定或根据自适应算法确定,该阈值在一般在80-160之间。
9.2计算刻度的分布:采用区域标记算法,计算所有的连通黑色区域,确定每个刻度的中心位置mi'。
9.3计算刻度的原始坐标:参照公式(1,2),计算g4空间点mi'在原始图像g2中的坐标mi。
步骤10:在图像g1坐标空间中,过圆心c点,计算指针针尖t与邻近2个刻度之间夹角,并通过线性插值计算指针所指的刻度值。
具体过程如下:
10.1对所有的刻度坐标mi,计算与指针针尖位置t最近距离的2个点m1,m2。
10.2基于圆心c,计算指针针尖t和m1和m2的夹角关系,如图3所示,φ1为夹角∠tcm1,φ2为夹角∠tcm2。
10.3采用插值方法计算当前的刻度值。
vt=(vm1×φ2+vm2×φ1)/(φ1+φ2)(7)
其中,vm1和vm2分别为点m1和m2对应的刻度值,该值由用户预先设定;vt为指针对应的刻度值。
本发明技术方案主要采用图像滤波、特征拟合、环形投影和线性插值等方法,具有如下有益效果:
1.在指针计算方面,基于特征拟合的仪表指针定位技术,通过指针边缘特征的环形投影、边缘统计和拟合分析,计算指针两条夹边及其交点。
2.在刻度计算方面,采用仪表指针与邻近刻度的线性插值的方法,能准确计算当前刻度值,避免了因仪表中心定位偏差或图像倾斜而导致的刻度值计算偏差。
3.在算法鲁棒性方面,通过抓取核心特征、边缘统计和线性插值等方法,算法有效避免各类干扰因素的影响,算法稳定,计算结果准确。
附图说明
图1为指针环形投影示意图;
图2为刻度投影计算示意图;
图3为刻度值计算示意图;
图4为本发明算法流程图;
具体实施方式
下面结合附图对本发明做进一步说明。
如图1、图2、图3和图4所示,一种基于特征拟合的变电站仪表设备巡检的视觉检测方法,具体包括如下步骤,参看图4:
步骤1.采集一张变电站巡检仪表图像,具体通过ccd相机拍摄目标图像并将图像转换成灰度图像g;
步骤2.针对图像g进行预处理,去除噪声点,生成图像g1。
步骤3.利用边缘算子提取g1的边缘信息,生成图像g2。
步骤4.采用hough算法分析图像g2中圆形目标,计算出仪表中心c。
此阶段为仪表指针计算:
步骤5.围绕仪表中心c,对仪表指针所在的环形区域进行投影映射,生成图像g3,如图1所示。
步骤6.在图像g3中,计算符合指针边缘特征的统计信息值。
步骤7.依据统计信息值,计算指针的两条边线,并计算边线交点t。
此阶段为刻度计算:
步骤8.针对图像g1,围绕仪表中心c,对仪表刻度所在的环形区域进行投影映射,生成图像g4,如图2所示。
步骤9.对图像g4进行二值化处理,并通过区域标记算法定位每个刻度的中心区域,确定每个刻度坐标,并映射回原始图像g1空间。
此阶段定位刻度值:
步骤10.在图像g1坐标空间中,过圆心c点,计算指针针尖t与邻近2个刻度之间夹角,并通过线性插值计算指针所指的刻度值,如图3所示。
步骤1所述的采集一张变电站巡检仪表的图像,具体过程如下:通过工业相机拍摄目标图像,并转换成灰度图像g。转换具体如下:
gray=r×0.3+g×0.59+b×0.11
所述的对目标图像中的每一个像素点处理,就能将其转换成灰度图像g;其中r、g、b为一个像素点的值的基色分量;
步骤2所述的仪表图像预处理,主要是去除噪声点,一般通过中值滤波方法除去灰度图像g的噪声点,生成图像g1。具体过程如下:
2-1、选定5×5的邻域,将邻域内的像素按灰度等级进行排序,确定其中值;
2-2、将确定的中值赋予滤波后图像中的相应像素点,所述的相应像素点即进行中值滤波的那个像素点;
步骤3所述的计算g1的边缘信息,一般采用canny或sobel算子提取边缘信息,生成图像g2。该边缘信息主要用于定位仪表中心和指针位置。
步骤4.采用hough算法提取图像g2中的圆形目标,并定位圆形中心c。
步骤5.围绕仪表中心c,对仪表指针所在的环形区域进行投影映射,生成图像g3。考虑仪表的形状特征,一般的环形区域可以选择在半径为(r1,r2)区域,如图1所示。
其中,r2的长度一般近似为指针针尖t到仪表中心c的距离。r1可以选择为r2的1/3到2/3长度。
g3的大小为(nw,nh),其中,nw=2πr2,nh=r2-r1,此时,矩形上任一点p(x,y)可以映射到仪表上的点p'(x',y'),此时,
p'距离中心点的距离为r1+y,对应弧度为x/r2;
x'=(r1+y)×cos(x/r2)(1)
y'=(r1+y)×sin(x/r2)(2)
步骤6.在图像g3中,计算符合指针边缘特征的统计信息值。其中,指针边缘特征包括指针的左边线和右边线。该特征在投影视图像g3中,可以用特征三元组(α,β,d)来描述,如图2所示。考虑到投影轮廓值与x坐标相关,因此统计信息值f可以由公式(3)表示:
f=f((α,β,d),x)(3)
该公式表示为以位置x处的垂线为基准,左侧边线倾角为α,右侧倾角为β,且两侧边线在底部离垂线间距均为d/2,如图1底部的放大区域所示。此时,g3中所包含的边缘点数即为统计信息值。具体计算过程如下:
6.1确定α和β搜索范围:考虑到指针夹角一般相对固定,但考虑工艺差异和拍照角度差异性,夹角可能会有一定的变化,但变化幅度较小。假设仪表指针夹角为θ(该值由用户输入,一般在3-6°),则α和β搜索的范围一般在(θ/2-2,θ/2+2)即可。
6.2左侧边缘信息统计:以g3图像底部为基准,当倾角为(θ/2-2,θ/2+2)时,以0.2°间隔计算g3图像在水平方向的投影值sl(α,x)。
6.3右侧边缘信息统计:以g3图像底部为基准,当倾角为(θ/2-2,θ/2+2)时,以0.2°间隔计算g3图像在水平方向的投影值sr(β,x)。
步骤7:依据统计信息值,计算指针的两条边线,并计算边线交点t。该过程主要基于统计信息sl,sr及间隔d等参数,计算统计信息最大值,确定指针边线。具体计算过程如下:
7.1确定d的变化范围:该值与半径设置和指针形状有关,一般由用户设定,可设定在(-4,+4)之间。
7.2计算统计信息值:任选一个间距d值,此时,该值可以由公式(4)计算,采用逐一比较方法,确定取得的局部最大值fmax(d)时(α,β,x)应满足的条件。
f(d)=sl(α,x)+sr(β,x+d)(4)
7.3在d的取值范围内,逐一比较所有的局部最大值,选择取得全局最大值时的d值和(α,β,x)值,并构成四元组,设为(α0,β0,d0,x0)。
7.4边缘线计算:
在图像g3中,左侧边缘线通过点xl(x0-d0/2,nh)和pl,其中,pl可以由公式(5)获取:
pl=(x0-d0/2-nh×tanα0,0)(5)
同理,右侧边缘线通过点xr(x0+d0/2,nh)和pr,其中,pr可以由公式(6)获取:
pr=(x0+d0/2+nh×tanβ0,0)(6)
参照公式(1,2),可计算g3图像空间的直线xlpl,xrpr在g1图像空间的对应直线xl'pl'和xr'pr',并计算他们在g3空间的交点t。
步骤8:针对图像g1,围绕仪表中心c,对仪表刻度所在的环形区域进行投影映射,生成图像g4。具体过程是:对图像g1的以c为中心,半径在(r3,r4)环形区域,进行投影变换,生成图像g4,如图2所示。
g4的大小为(nw,nh),其中,nw=2πr4,nh=r4-r3,
步骤9:对图像g4进行二值化处理,并通过区域标记算法定位每个刻度的中心区域,确定每个刻度坐标,并映射回原始图像g1空间。
具体过程如下:
9.1二值化处理:先对图像g4采用二值化处理,阈值可以由用户设定或根据自适应算法确定,该阈值在一般在80-160之间。
9.2计算刻度的分布:采用区域标记算法,计算所有的连通黑色区域,确定每个刻度的中心位置mi'。
9.3计算刻度的原始坐标:参照公式(1,2),计算g4空间点mi'在原始图像g2中的坐标mi。
步骤10:在图像g1坐标空间中,过圆心c点,计算指针针尖t与邻近2个刻度之间夹角,并通过线性插值计算指针所指的刻度值。
具体过程如下:
10.1对所有的刻度坐标mi,计算与指针针尖位置t最近距离的2个点m1,m2。
10.2基于圆心c,计算指针针尖t和m1和m2的夹角关系,如图3所示,φ1为夹角∠tcm1,φ2为夹角∠tcm2。
10.3采用插值方法计算当前的刻度值。
vt=(vm1×φ2+vm2×φ1)/(φ1+φ2)(7)
其中,vm1和vm2分别为点m1和m2对应的刻度值,该值由用户预先设定;vt为指针对应的刻度值。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案基础之上,本领域技术人员无需付出创造性劳动即可做出各种调整或变换方案仍然在本发明的保护范围以内。