本发明涉及变压器油位监测技术领域,具体涉及一种基于图像识别技术的变压器油枕油位在线监测装置及方法。
背景技术:
变压器油是一种由天然石油经过蒸馏和精炼得到的矿物油,石油中的润滑油馏份经过酸碱精制处理后得到的液体混合物,俗称方棚油,具有纯净稳定,粘度低,绝缘性能优秀,散热性能良好的优点,通常在变压器中进行液封,起到散热和绝缘的作用。由于变压器油热胀冷缩的物理性质,导致了本应该装满油箱的绝缘油在不同的温度下体积会出现变化,若温度降低,绝缘油会受冷收缩导致邮箱中的铁芯以及线圈露出油面,从而影响油的散热性能和绝缘性能,反之,若变压器油受热膨胀,也易出现油的渗漏等情况,而有了油枕后,就能有效的保证变压器油箱在任何温度下都能在充满油的状态运行,从而避免以上情况的发生。同时,油枕的体积相较油箱来说更小,这也就意味着上方油面与空气接触面积更小,且油枕中油温也比油箱上层油温更低,更高的油温以及更大的空气接触面都会造成油的受潮或者氧化速度加快,从而进一步加剧油的劣化,缩减变压器油的使用寿命,显而易见,油枕的存在可以减小油的受潮面积以及氧化速度,缓解油的老化,所以保证变压器油枕油位是提高变压器油散热的重要保障,而目前变压器油枕油位监测,通常采用带传输功能的油位计变送输出,对于老设备需要改造安装带有变送输出的油位计才能进行远程监测;因此,为了提高变压器油枕油位监测的便利性,本发明提出一种基于图像识别技术的变压器油枕油位在线监测装置及其监测方法,该方法只需在油枕油位计附近安装有摄像头,通过摄像头对比识别出变压器油枕油位计表盘刻度位置,进而实现变压器油枕油位的监测。
技术实现要素:
本发明的目的是为了克服现有技术的不足,本发明提出一种基于图像识别技术的变压器油枕油位在线监测装置及其监测方法,该方法只需在油枕油位计附近安装有摄像头,通过摄像头对比识别出变压器油枕油位计表盘刻度位置,进而实现变压器油枕油位的监测。
本发明的目的是这样实现的:基于图像识别技术的变压器油枕油位在线监测装置,它包括摄像头、照明灯、按键模块、温度传感器、微处理器模块、电源模块、显示模块、存储模块、通信模块、照明灯驱动电路,所述摄像头的输出端与微处理器模块的输入端i/o口连接,所述照明灯驱动电路输入端与微处理器模块输出端i/o口连接,所述按键模块输出端与微处理器模块输入端i/o口连接,所述温度传感器输出端与微处理器模块输入端a/d口连接,所述电源模块输出端与微处理器模块对应的电源端口连接,所述显示模块输入端与微处理器输出端i/o口连接,所述存储模块输入端与微处理器模块输出端i/o口连接,所述通信模块与微处理器模块对应的通信接口连接,所述照明灯输入端与照明灯驱动电路输出端连接。
摄像头为长焦距摄像头,用于采集变压器油枕油位表盘图像,通过摄像头对比识别出变压器油枕油位计表盘刻度位置。
照明灯采用高亮度聚焦型照明灯,为摄像头补光,便于表盘指针图像设别。
温度传感器采用pt100热电偶,照明灯驱动电路采用直流中间继电器。
通信模块采用带隔离rs485模块,再通过nb-iot向数据管理中心传递数据信息。
微处理器模块采用stm32微处理芯片,显示模块采用彩色液晶屏。
按键模块采用四位复位按键,存储模块采用8gbitu盘存储。
电源模块采用220vac转5vdc、3.3vdc供电。
基于图像识别技术的变压器油枕油位在线监测方法,基于canny算子的边缘检测的表盘识别过程:
步骤1):图像降噪:梯度算子本质是通过相邻像素点变化程度来增强边缘轮廓,判断像素点是否处于一个边缘上,在噪点和正常像素点之间,像素点的变化特别大,如果图像的噪点很多,它受的影响就很大,严重影响边缘检测的效果,因此,在进行边缘检测之前,首先需要对图片采用高斯滤波进行降噪处理;
步骤2):计算图像梯度,得到可能边缘:计算图像梯度能够得到图像的边缘,因为梯度是灰度变化明显的地方,而边缘也是灰度变化明显的地方,当然这一步只能得到可能的边缘,因为灰度变化的地方可能是边缘,也可能不是边缘,这一步就有了所有可能是边缘的集合;
经典canny算法用了四个梯度算子来分别计算水平,垂直和对角线方向的梯度,本发明采用prewitt算子计算水平和垂直方向的梯度,简化计算,水平和垂直方向上的算子分别为:
由此可算得x方向梯度幅值:
gx=f(x,y)*px(x,y)
y方向梯度幅值:
gy=f(x,y)*py(x,y)
之后就可以算得图像梯度的幅值和方向:
步骤3):非极大值抑制:通常灰度变化的地方都比较集中,将局部范围内的梯度方向上,灰度变化最大的保留下来,其它的不保留,这样可以剔除掉一大部分的点,将有多个像素宽的边缘变成一个单像素宽的边缘,即“胖边缘”变成“瘦边缘”;
步骤4):在施加非极大值抑制之后,剩余的像素可以更准确地表示图像中的实际边缘:然而,由于仍然存在由于噪声和颜色变化引起的一些边缘像素,为了解决这些杂散响应,必须用弱梯度值过滤边缘像素,并保留具有高梯度值的边缘像素,可以通过选择高低阈值来实现,如果边缘像素的梯度值高于高阈值,则将其标记为强边缘像素;如果边缘像素的梯度值小于高阈值并且大于低阈值,则将其标记为弱边缘像素;如果边缘像素的梯度值小于低阈值,则会被抑制,阈值的选择取决于给定输入图像的内容,这样做的目的是只保留强边缘轮廓的话,有些边缘可能不闭合,需要从满足双阈值之间的点进行补充,使得边缘尽可能的闭合。
基于图像识别技术的变压器油枕油位在线监测方法,基于霍夫变换的表盘和表盘指针的位置检测过程:
步骤a):估计圆心,将原始图像进行一次canny边缘检测,得到边缘检测的二值图,再用sobel算子对原始图像进行处理,从而计算出所有像素的邻域梯度值,之后初始化圆心空间n(a,b),令所有的n(a,b)=0,最后遍历canny边缘二值图中的所有非零像素点,并沿着梯度方向画线,将线段经过的所有累加器中的点(a,b)进行排序,将大于设定阈值的点标出来,即为可能的圆心;
步骤b):估计半径,先计算canny图中所有非零点距离圆心的距离,距离从大到小排序,根据事先设定的阈值,选取合适的可能半径,之后初始化半径空间,遍历canny图中的非零点,对于满足半径r的点进行计数,之后进行排序,统计可能的半径值;
步骤c):根据可能的圆心和半径,就可以画出圆形轮廓,根据阈值的选择,就可以获得自己想要的圆形轮廓,也就是所要求得的圆形表盘的轮廓;
步骤d):计算指针指向的角度,在识别过程中,可以得到圆心和指针尖端像素点的像素点坐标,这样就可以以圆心和指针尖端构成的线段作为斜边,水平线和过指针尖端对水平线作的垂线作为直角边构建三角形,根据像素点坐标,就可以得到三角形两直角边的长度,这样就可以得到角度a的计算公式:
其中y是圆心对边的长度,x是圆心邻边的长度,在第一象限内,指针的角度就是角a本身;在第二象限内,指针的角度是180度减去角a;在第三象限内,指针的角度是180度加上角a;在第四象限内,指针的角度是360度减去角a,此外,需要注意的是根据上面公式计算得到的角是弧度,在进行最后计算时,要将其转变成角度,换算公式是:
本发明的有益效果:1)基于图像识别技术的变压器油枕油位在线监测装置及其监测方法,该方法只需在油枕油位计附近安装有摄像头,通过摄像头对比识别出变压器油枕油位计表盘刻度位置,进而实现变压器油枕油位的监测。
2)发明一种基于霍夫圆检测法的表盘读数识别技术,首先需要获取在图像中表盘的位置,对表盘轮廓进行识别,表盘轮廓为圆形表盘,提出利用霍夫圆检测算法进行表盘读数识别。
附图说明
图1是本发明变压器油枕油位在线监测装置原理框图。
图2是本发明边缘检测图解。
图3是本发明梯度近似值。
图4是本发明角度计算三角。
具体实施方式
下面结合附图对本发明做进一步的说明。
实施例1
一、基于canny算子的边缘检测的表盘识别过程:
第一步是图像降噪:梯度算子本质是通过相邻像素点变化程度来增强边缘轮廓,判断像素点是否处于一个边缘上,在噪点和正常像素点之间,像素点的变化特别大。如果图像的噪点很多,它受的影响就很大,严重影响边缘检测的效果,因此,在进行边缘检测之前,首先需要对图片采用高斯滤波进行降噪处理;
第二步计算图像梯度,得到可能边缘:计算图像梯度能够得到图像的边缘,因为梯度是灰度变化明显的地方,而边缘也是灰度变化明显的地方。当然这一步只能得到可能的边缘,因为灰度变化的地方可能是边缘,也可能不是边缘。这一步就有了所有可能是边缘的集合。
经典canny算法用了四个梯度算子来分别计算水平,垂直和对角线方向的梯度,本发明使用prewitt算子计算水平和垂直方向的梯度,简化计算,水平和垂直方向上的算子分别为:
由此可算得x方向梯度幅值:
gx=f(x,y)*px(x,y)
y方向梯度幅值:
gy=f(x,y)*py(x,y)
之后就可以算得图像梯度的幅值和方向:
图2展示了中心点的梯度向量、方位角以及边缘方向,图中方向a即为像素中心点梯度方向,而方向b就是边缘方向。
第三步非极大值抑制:通常灰度变化的地方都比较集中,将局部范围内的梯度方向上,灰度变化最大的保留下来,其它的不保留,这样可以剔除掉一大部分的点,将有多个像素宽的边缘变成一个单像素宽的边缘,即“胖边缘”变成“瘦边缘”。
首先将角度划分成四个方向范围:水平、-45°、垂直、 45°,如图3所示,本发明在上一步骤中得到的梯度方向矩阵中每个方向大多都是一个非整数的角度,而对于这些分布非常不规则的角度,一般将其视作一个较为规则的角度,其具体方法是所得角度更接近上图八个角度中哪一个,就将其近似为上图中的那个角度。这样就可以让中心点像素与相邻八个像素点进行比较,判断其是否为极大值。非极大值抑制具体方法为,在每一点上,领域中心x与沿着其对应的梯度方向的两个像素相比,若中心像素为最大值,则保留,否则中心置0,这样可以抑制非极大值,去除很大一部分非边缘像素点,保留局部梯度最大的点,以得到细化的边缘。
第四步在施加非极大值抑制之后,剩余的像素可以更准确地表示图像中的实际边缘:然而,由于仍然存在由于噪声和颜色变化引起的一些边缘像素,为了解决这些杂散响应,必须用弱梯度值过滤边缘像素,并保留具有高梯度值的边缘像素,可以通过选择高低阈值来实现,如果边缘像素的梯度值高于高阈值,则将其标记为强边缘像素;如果边缘像素的梯度值小于高阈值并且大于低阈值,则将其标记为弱边缘像素;如果边缘像素的梯度值小于低阈值,则会被抑制。阈值的选择取决于给定输入图像的内容,这样做的目的是只保留强边缘轮廓的话,有些边缘可能不闭合,需要从满足双阈值之间之间的点进行补充,使得边缘尽可能的闭合。
二、基于霍夫变换的表盘和表盘指针的位置检测过程:
霍夫变换,作用是用来检测图像中的直线或者圆等几何图形的。一条直线的表示方法有好多种,最常见的是y=ax b的形式,将一幅图像,经过滤波,边缘检测等操作后,就可以提取其中的直线了。如果直线y=ax b在图像中,那么图像中,必须有n个点在直线上(像素点代入表达式成立),只要有这条直线上的两个点,就能确定这条直线。该问题可以转换为:求解所有的(a,b)组合。
设置两个坐标系,左边的坐标系表示的是(x,y)值,右边的坐标系表达的是(a,b)的值,即直线的参数值。那么一个(x,y)点在右边对应的就是是一条线,左边坐标系的一条直线就是右边坐标系中的一个点。这样,右边左边系中的交点表示有多个点经过(a,b)确定的直线。但是,该方法存在一个问题(a,b)的取值范围太大。
为了解决(a,b)取值范围过大的问题,在直线的表示方面用xcosθ ysinθ=ρ的规范式代替一般表达式,参数空间变成(θ,ρ),0≤θ≤2π。这样图像空间中的一个像素点在参数空间中就是一条曲线(三角函数曲线)。
霍夫直线检测的算法表述如下:
第一步,初始化(θ,ρ)空间,令n(θ,ρ)=0(n(θ,ρ)表示在该参数表示的直线上的像素点的个数)。
第二步,对于每一个像素点(x,y),在参数空间中找出令xcosθ ysinθ=ρ的(θ,ρ)坐标,n(θ,ρ)=1。
第三步,统计所有n(θ,ρ)的大小,取出n(θ,ρ)>k的参数(k是预设的阈值)。
霍夫变换检测圆形的原理跟检测直线的原理是一样的。圆的表达式为(x-a)2 (y-b)2=r2,把问题转换成在求解经过像素点最多的(a,b,r)参数对。这里分析一下图像中的一个像素点,对应参数空间的图形。如果r确定,那么一个像素点对应参数空间的一个圆,那么r不确定,则对于每一个r都是一个圆,这个图形是一个三维的圆台。
这里会发现(a,b,r)的参数空间特别大,计算量特别大。如果像素点,知道其所属的圆形的半径和指向圆心的角度,a,b其实是可以计算出来的。那么就需要将参数空间变成二维得,计算量大大降低。
如果一个圆上的点,都沿着其梯度方向画线,那么所有线的角点就是圆心。opencv中的霍夫梯度算法就利用这个原理,先计算可能的圆心,然后再去计算可能的半径。
霍夫梯度检测圆形的算法如下:
首先是估计圆心,将原始图像进行一次canny边缘检测,得到边缘检测的二值图,再用sobel算子对原始图像进行处理,从而计算出所有像素的邻域梯度值,之后初始化圆心空间n(a,b),令所有的n(a,b)=0,最后遍历canny边缘二值图中的所有非零像素点,并沿着梯度方向画线,将线段经过的所有累加器中的点(a,b)进行排序,将大于设定阈值的点标出来,即为可能的圆心。
之后就是估计半径,先计算canny图中所有非零点距离圆心的距离,距离从大到小排序,根据事先设定的阈值,选取合适的可能半径(需要进行近似操作,如3.2和2.8都近似为3),之后初始化半径空间,遍历canny图中的非零点,对于满足半径r的点进行计数,之后进行排序,统计可能的半径值。
最后根据可能的圆心和半径,就可以画出圆形轮廓。根据阈值的选择,就可以获得自己想要的圆形轮廓,也就是本发明中想要获得的圆形表盘的轮廓。
三、指针角度计算过程:
在识别出表盘的及其指针后,需要做的就是计算指针指向的角度。在识别过程中,可以得到圆心和指针尖端像素点的像素点坐标,这样就可以以圆心和指针尖端构成的线段作为斜边,水平线和过指针尖端对水平线作的垂线作为直角边构建三角形,如图4所示,图中的角a就是指针的角度,根据像素点坐标,就可以得到三角形两直角边的长度,这样就可以得到角度a的计算公式:
其中y是圆心对边的长度,x是圆心邻边的长度。在第一象限内,指针的角度就是角a本身;在第二象限内,指针的角度是180度减去角a;在第三象限内,指针的角度是180度加上角a;在第四象限内,指针的角度是360度减去角a。此外,需要注意的是根据上面公式计算得到的角是弧度,在进行最后计算时,要将其转变成角度,换算公式是:
最后,只要通过事先选好的油位计的最大最小刻度的角度和指针进行换算,就可以得到油位计表盘的油位了。
实施例2
基于图像识别技术的变压器油枕油位在线监测装置,它包括摄像头、照明灯、按键模块、温度传感器、微处理器模块、电源模块、显示模块、存储模块、通信模块、照明灯驱动电路,所述摄像头的输出端与微处理器模块的输入端i/o口连接,所述照明灯驱动电路输入端与微处理器模块输出端i/o口连接,所述按键模块输出端与微处理器模块输入端i/o口连接,所述温度传感器输出端与微处理器模块输入端a/d口连接,所述电源模块输出端与微处理器模块对应的电源端口连接,所述显示模块输入端与微处理器输出端i/o口连接,所述存储模块输入端与微处理器模块输出端i/o口连接,所述通信模块与微处理器模块对应的通信接口连接,所述照明灯输入端与照明灯驱动电路输出端连接。
摄像头为长焦距摄像头,用于采集变压器油枕油位表盘图像,通过摄像头对比识别出变压器油枕油位计表盘刻度位置,照明灯采用高亮度聚焦型照明灯,为摄像头补光,便于表盘指针图像设别,温度传感器采用pt100热电偶,照明灯驱动电路采用直流中间继电器,通信模块采用带隔离rs485模块,再通过nb-iot向数据管理中心传递数据信息,微处理器模块采用stm32微处理芯片,显示模块采用彩色液晶屏,按键模块采用四位复位按键,存储模块采用8gbitu盘存储,电源模块采用220vac转5vdc、3.3vdc供电。
基于图像识别技术的变压器油枕油位在线监测装置及其监测方法,该方法只需在油枕油位计附近安装有摄像头,通过摄像头对比识别出变压器油枕油位计表盘刻度位置,进而实现变压器油枕油位的监测,发明一种基于霍夫圆检测法的表盘读数识别技术,首先需要获取在图像中表盘的位置,对表盘轮廓进行识别,表盘轮廓为圆形表盘,提出利用霍夫圆检测算法进行表盘读数识别。
1.基于图像识别技术的变压器油枕油位在线监测装置,其特征在于:它包括摄像头、照明灯、按键模块、温度传感器、微处理器模块、电源模块、显示模块、存储模块、通信模块、照明灯驱动电路,所述摄像头的输出端与微处理器模块的输入端i/o口连接,所述照明灯驱动电路输入端与微处理器模块输出端i/o口连接,所述按键模块输出端与微处理器模块输入端i/o口连接,所述温度传感器输出端与微处理器模块输入端a/d口连接,所述电源模块输出端与微处理器模块对应的电源端口连接,所述显示模块输入端与微处理器输出端i/o口连接,所述存储模块输入端与微处理器模块输出端i/o口连接,所述通信模块与微处理器模块对应的通信接口连接,所述照明灯输入端与照明灯驱动电路输出端连接。
2.如权利要求1所述的基于图像识别技术的变压器油枕油位在线监测装置,其特征在于:所述摄像头为长焦距摄像头,用于采集变压器油枕油位表盘图像,通过摄像头对比识别出变压器油枕油位计表盘刻度位置。
3.如权利要求1所述的基于图像识别技术的变压器油枕油位在线监测装置,其特征在于:所述照明灯采用高亮度聚焦型照明灯,为摄像头补光,便于表盘指针图像设别。
4.如权利要求1所述的基于图像识别技术的变压器油枕油位在线监测装置,其特征在于:所述温度传感器采用pt100热电偶,照明灯驱动电路采用直流中间继电器。
5.如权利要求1所述的基于图像识别技术的变压器油枕油位在线监测装置,其特征在于:所述通信模块采用带隔离rs485模块,再通过nb-iot向数据管理中心传递数据信息。
6.如权利要求1所述的基于图像识别技术的变压器油枕油位在线监测装置,其特征在于:所述微处理器模块采用stm32微处理芯片,显示模块采用彩色液晶屏。
7.如权利要求1所述的基于图像识别技术的变压器油枕油位在线监测装置,其特征在于:所述按键模块采用四位复位按键,存储模块采用8gbitu盘存储。
8.如权利要求1所述的基于图像识别技术的变压器油枕油位在线监测装置,其特征在于:所述电源模块采用220vac转5vdc、3.3vdc供电。
9.如权利要求1所述的基于图像识别技术的变压器油枕油位在线监测方法,其特征在于:基于canny算子的边缘检测的表盘识别过程:
步骤1):图像降噪:梯度算子本质是通过相邻像素点变化程度来增强边缘轮廓,判断像素点是否处于一个边缘上,在噪点和正常像素点之间,像素点的变化特别大,如果图像的噪点很多,它受的影响就很大,严重影响边缘检测的效果,因此,在进行边缘检测之前,首先需要对图片采用高斯滤波进行降噪处理;
步骤2):计算图像梯度,得到可能边缘:计算图像梯度能够得到图像的边缘,因为梯度是灰度变化明显的地方,而边缘也是灰度变化明显的地方,当然这一步只能得到可能的边缘,因为灰度变化的地方可能是边缘,也可能不是边缘,这一步就有了所有可能是边缘的集合;
采用prewitt算子计算水平和垂直方向的梯度,简化计算,水平和垂直方向上的算子分别为:
由此可算得x方向梯度幅值:
gx=f(x,y)*px(x,y)
y方向梯度幅值:
gy=f(x,y)*py(x,y)
之后就可以算得图像梯度的幅值和方向:
步骤3):非极大值抑制:通常灰度变化的地方都比较集中,将局部范围内的梯度方向上,灰度变化最大的保留下来,其它的不保留,这样可以剔除掉一大部分的点,将有多个像素宽的边缘变成一个单像素宽的边缘,即“胖边缘”变成“瘦边缘”;
步骤4):在施加非极大值抑制之后,剩余的像素可以更准确地表示图像中的实际边缘:然而,由于仍然存在由于噪声和颜色变化引起的一些边缘像素,为了解决这些杂散响应,必须用弱梯度值过滤边缘像素,并保留具有高梯度值的边缘像素,可以通过选择高低阈值来实现,如果边缘像素的梯度值高于高阈值,则将其标记为强边缘像素;如果边缘像素的梯度值小于高阈值并且大于低阈值,则将其标记为弱边缘像素;如果边缘像素的梯度值小于低阈值,则会被抑制,阈值的选择取决于给定输入图像的内容,这样做的目的是只保留强边缘轮廓的话,有些边缘可能不闭合,需要从满足双阈值之间的点进行补充,使得边缘尽可能的闭合。
10.如权利要求9所述的基于图像识别技术的变压器油枕油位在线监测方法,其特征在于:基于霍夫变换的表盘和表盘指针的位置检测过程:
步骤a):估计圆心,将原始图像进行一次canny边缘检测,得到边缘检测的二值图,再用sobel算子对原始图像进行处理,从而计算出所有像素的邻域梯度值,之后初始化圆心空间n(a,b),令所有的n(a,b)=0,最后遍历canny边缘二值图中的所有非零像素点,并沿着梯度方向画线,将线段经过的所有累加器中的点(a,b)进行排序,将大于设定阈值的点标出来,即为可能的圆心;
步骤b):估计半径,先计算canny图中所有非零点距离圆心的距离,距离从大到小排序,根据事先设定的阈值,选取合适的可能半径,之后初始化半径空间,遍历canny图中的非零点,对于满足半径r的点进行计数,之后进行排序,统计可能的半径值;
步骤c):根据可能的圆心和半径,就可以画出圆形轮廓,根据阈值的选择,就可以获得自己想要的圆形轮廓,也就是所要求得的圆形表盘的轮廓;
步骤d):计算指针指向的角度,在识别过程中,可以得到圆心和指针尖端像素点的像素点坐标,这样就可以以圆心和指针尖端构成的线段作为斜边,水平线和过指针尖端对水平线作的垂线作为直角边构建三角形,根据像素点坐标,就可以得到三角形两直角边的长度,这样就可以得到角度a的计算公式:
其中y是圆心对边的长度,x是圆心邻边的长度,在第一象限内,指针的角度就是角a本身;在第二象限内,指针的角度是180度减去角a;在第三象限内,指针的角度是180度加上角a;在第四象限内,指针的角度是360度减去角a,此外,需要注意的是根据上面公式计算得到的角是弧度,在进行最后计算时,要将其转变成角度,换算公式是: