一种基于深度学习的变电站二次设备仪表盘读数检测方法与流程

文档序号:21104493发布日期:2020-06-16 21:08阅读:337来源:国知局
一种基于深度学习的变电站二次设备仪表盘读数检测方法与流程

本发明涉及计算机视觉,图像识别技术,深度学习技术领域,具体涉及一种基于深度学习和图像处理的仪表读数检测方法。



背景技术:

随着智能电网的发展,电网互联规模不断加大,网内电气联系更加紧密,大电网的安全稳定问题越来越突出,运行管理技术难度和安全风险明显加大。变电站的安全可靠运行对于电网的安全稳定运行起着不言而喻的重要作用,而继电保护装置及时准确的发现并有选择性的切除故障能使故障元件退出运行、无故障部分迅速恢复运行,是电力系统安全稳定运行的第一道防线,能最直接最有效的保证电力系统的暂态稳定,进一步提高特高压线路继电保护装置的各项性能。

传统方法对变电站的二次设备巡检还停留在人工巡检方面,需要巡检人员亲自到变电站的设备间,对二次设备等仪表进行抄表检查等,既存在人员检查操作不当的可能,还会有效率低,准确度不高且浪费人力的弊端。

近几年来人工智能和海量图像数据相结合的技术应用也越来越广泛,这使得对图像中的目标物体进行识别和定位的实现成为可能。目前很多算法都是通过对得到的仪表图像进行特征提取、然后对表盘位置粗定位,再定位仪表盘的位置和指针所在直线,与模版图像进行比较,计算出仪表的示数。但是这些方法也存在一定的弊端,检测范围种类单一,针对性强,普适性不高,具体的解决方案仍然存在一定的欠缺。



技术实现要素:

本发明是为了解决上述现有技术存在的不足之处,提出一种基于深度学习的变电站二次设备仪表盘读数检测方法,以期能快速准并确检测仪表数据,从而提高变电站无人抄表的数据检测率,满足变电站设备故障诊断的实际需求。

本发明为解决技术问题采用如下技术方案:

本发明一种基于深度学习的变电站二次设备仪表盘读数检测方法的特点是按如下步骤进行:

步骤1、基于yolov3算法对仪表盘图像进行定位分类训练;

步骤1.1、对变电站内的温度表以及二次设备的电流表和电压表进行图像采集,得到包含三种类型的变电站仪表图像集n;

步骤1.2、对所述变电站仪表图像集n进行分类,分为圆形的温度仪表图像集n1和矩形的二次设备的电流表和电压表图像集合n2;

步骤1.3、将所述温度仪表图像集n1和所述二次设备的电流表和电压表n2进行人工标注,框出仪表盘所在的边界框;并记录各个边界框的坐标位置,从而得到标注后的变电站仪表盘图像集并作为变电站仪表盘检测的训练集合t;

步骤1.4、使用目标检测yolov3模型对于所述训练集合t进行训练,得到仪表盘检测模型h;

步骤2、设置机器人巡检方式,包括:在电厂内布置导轨,设置停留位置a、巡检周期b和停留时间t,使得所述机器人能带动嵌入式设备x到达指定位置;

步骤3、在指定位置上,利用所述嵌入式设备x采集仪表盘图像i;

步骤4、利用所述仪表盘检测模型h对所述嵌入式设备x所采集的图像i进行检测,得到所述图像i中仪表盘的类别e以及图像i中边界框的坐标位置;

步骤5、对所述图像i中边界框的坐标位置进行裁剪,得到目标仪表图像i′,并根据分类结果e,判断是否为圆形的温度表,若是,则执行步骤6,否则,表示是矩形的电流或电压表,并执行步骤7;

步骤6、对所述目标仪表图像i′进行预处理,从而输出仪表读数t后转步骤11;

步骤7、使用hough直线变换检测所述目标仪表图像i′中指针的两条直线,并对两条直线的斜率k3和k4取平均值,得到平均斜率从而得到指针中心线与水平线的锐角夹角角度b=-arctank5;

步骤8、使用opencvocr对所述目标仪表图像i′中的电表符号进行检测,如果电表符号是a,则表示是电流表,并执行步骤9,如果电表符号是v,则表示是电压表,并执行步骤10;

步骤9、使用opencvocr对所述目标仪表图像i′中的数字进行检测,如果检测得到的数字中包含“50”、“100”或者“150”,则设置电流表量程z为“150”;如果检测得到的数字中包含“200”或者“300”,则设置电流表量程为z为“300”;从而输出仪表读数并转步骤11;

步骤10、使用opencvocr对所述目标仪表图像i′中的数字进行检测,如果检测得到的数字中包含“400”或者“500”,则设置电压表量程为z为“500”;如果检测得到的数字中包含“150”或者“450”,则设置电压表量程为z为“450”;从而输出仪表读数

步骤11、使用机器人带动嵌入式设备x进行巡检,使得嵌入式设备x在巡检周期b下对变电站的巡检区域内任一仪表盘在停留时间t下进行图像采集,从而根据步骤4-步骤10获得在巡检周期b下相应仪表盘在停留时间t内所有采集图像的仪表读数集合;

步骤12、计算仪表读数集合的标准差,并与所设定的阈值进行比较,若小于等于阈值,则将所述仪表读数集合的平均值保持至仪表数据q中,若大于阈值,则将相应仪表盘在巡检周期b下的停留时间t内的仪表读数集合保持至实时波动数据w中,并将报警信息作为仪表读数集合的平均值存入所述仪表数据q中;

步骤13、当所述机器人在巡检周期b下完成巡检区域内所有仪表盘的图像采集,并得到在巡检周期b下的全部仪表数据q和实时波动数据w,并利用socket协议传输给云端的服务器中保存。

本发明所述的变电站二次设备仪表盘读数检测方法的特点也在于,所述步骤6是按如下过程进行:

步骤6.1、使用hough圆变换检测所述目标仪表图像i′是否为符合半径d的圆,若是,则执行步骤6.2;否则,则返回步骤3;

步骤6.2、使用hough直线变换检测所述目标仪表图像i′的直线,并将斜率近似为0的直线l1通过对图像的旋转操作使得所述直线l1的斜率为0,从而得到水平化图像i1;

步骤6.3、使用hough直线变换检测所述水平化图像i1中指针的两条直线,并对两条直线的斜率k1和k2取平均值,得到平均斜率从而得到指针中心线与水平线的锐角夹角角度θ0=-arctank0;

步骤6.4、根据温度表的实际情况记录温度表的指针指向“0”和指向最大量程时与水平线的夹角为θ1和θ2;

步骤6.5、根据仪表量程z1,输出仪表读数

与已有技术相比,本发明的有益效果体现在:

1、本发明通过采用yolov3神经网络,克服了传统仪表检测系统在实际环境下对仪表无法准确定位的问题,并且可以根据实际情况来训练自己的仪表检测模型,识别准确率更高;

2.本发明通过opencvocr来对图像进行识别,可以根据仪表图像的字符来判断仪表种类,根据实际设置自己要检测的仪表和量程,克服了传统仪表检测系统的适用范围单一。

3.本发明可以将实现功能的代码和神经网络模型储存在嵌入式设备上,布置在本地端,克服了传统仪表检测系统在本地端布置的难题,具有很高的应用性。

4.本发明将可以对所需要检测的仪表进行周期性的检测,保存所有仪表数据,检测仪表数据是否存在大偏差,并将检测结果与报警信息上传云端服务器,解决了其他发明所不具有的故障诊断功能,从而提高了变电站无人抄表的数据检测率,满足了变电站设备故障诊断的实际需求,具有实用性与通用性。

附图说明

图1为本发明所采集温度表原图;

图1a为本发明所采集温度表经hough圆变换图;

图1b为本发明所采集温度表经hough直线变换图;

图2为本发明所采集电表原图;

图2a为本发明所采集电表经ocr检测电表符号的图;

图2b为本发明所采集电表经ocr检测数字的图。

具体实施方式

本实施例中,一种基于深度学习和计算机视觉的仪表类别与读数检测方法是按如下步骤进行:

步骤1、基于yolov3算法对仪表盘图像进行定位分类训练;

步骤1.1、对变电站内的温度表以及二次设备的电流表和电压表进行图像采集,得到包含三种类型的变电站仪表图像集n;

步骤1.2、对变电站仪表图像集n进行分类,分为圆形的温度仪表图像集n1和矩形的二次设备的电流表和电压表图像集合n2;

步骤1.3、将温度仪表图像集n1和二次设备的电流表和电压表n2进行人工标注,框出仪表盘所在的边界框;并记录各个边界框的坐标位置,对于每个仪表盘图像建立符合标准的pascalvoc格式的xml标签文件,标签文件中包括以下信息:图片id号,图像的像素高度,宽度与深度,图像的路径,图片所包含的目标类别种类,以及仪表盘图像目标区域所在矩形边界框的坐标(xmin,ymin,xmax,ymax),其中(xmin,ymin)为边界框左上顶点坐标,(xmax,ymax)为边界框右下顶点坐标,从而得到标注后的变电站仪表盘图像集并作为变电站仪表盘检测的训练集合t;

步骤1.4、使用目标检测yolov3模型对于训练集合t进行训练,得到仪表盘检测模型h;

步骤2、设置机器人巡检方式,包括:在电厂内布置导轨,设置停留位置a、巡检周期b和停留时间t,使得机器人能带动嵌入式设备x到达指定位置,所使用的嵌入式设备x选用为nvidia公司的jetsonnano人工智能开发板;

步骤3、在指定位置上,利用嵌入式设备x采集仪表盘图像i;

步骤4、利用仪表盘检测模型h对嵌入式设备x所采集的图像i进行检测,得到图像i中仪表盘的类别e以及图像i中边界框的坐标位置;

步骤5、对图像i中边界框的坐标位置进行裁剪,得到目标仪表图像i′,并根据分类结果e,判断是否为圆形的温度表,如图1所示,若是,则执行步骤6,否则,如图2所示,表示是矩形的电流或电压表,并执行步骤7;

步骤6、对目标仪表图像i′进行预处理,从而输出仪表读数t后转步骤11;

步骤6.1、使用hough圆变换检测目标仪表图像i′是否为符合半径d的圆,如图1a所示,若是,则执行步骤6.2;否则,则返回步骤3;

步骤6.2、使用hough直线变换检测目标仪表图像i′的直线,如图1b所示,并将斜率近似为0的直线l1通过对图像的旋转操作使得直线l1的斜率为0,从而得到水平化图像i1;

步骤6.3、使用hough直线变换检测水平化图像i1中指针的两条直线,并对两条直线的斜率k1和k2取平均值,得到平均斜率从而得到指针中心线与水平线的锐角夹角角度θ0=-arctank0;

步骤6.4、根据温度表的实际情况记录温度表的指针指向“0”和指向最大量程时与水平线的夹角为θ1和θ2;

步骤6.5、根据仪表量程z1,输出仪表读数

步骤7、使用hough直线变换检测目标仪表图像i′中指针的两条直线,并对两条直线的斜率k3和k4取平均值,得到平均斜率从而得到指针中心线与水平线的锐角夹角角度b=-arctank5;

步骤8、使用opencvocr对目标仪表图像i′中的电表符号进行检测,如图2a所示,如果电表符号是a,则表示是电流表,并执行步骤9,如果电表符号是v,则表示是电压表,并执行步骤10;

步骤9、使用opencvocr对目标仪表图像i′中的数字进行检测,如图2b所示,如果检测得到的数字中包含“50”、“100”或者“150”,则设置电流表量程z为“150”;如果检测得到的数字中包含“200”或者“300”,则设置电流表量程为z为“300”;从而输出仪表读数并转步骤11;

步骤10、使用opencvocr对目标仪表图像i′中的数字进行检测,如果检测得到的数字中包含“400”或者“500”,则设置电压表量程为z为“500”;如果检测得到的数字中包含“150”或者“450”,则设置电压表量程为z为“450”;从而输出仪表读数

步骤11、使用机器人带动嵌入式设备x进行巡检,使得嵌入式设备x在巡检周期b下对变电站的巡检区域内任一仪表盘在停留时间t下进行图像采集,从而根据步骤4-步骤10获得在巡检周期b下相应仪表盘在停留时间t内所有采集图像的仪表读数集合;

步骤12、计算仪表读数集合的标准差,并与所设定的阈值进行比较,若小于等于阈值,则将仪表读数集合的平均值保持至仪表数据q中,若大于阈值,则将相应仪表盘在巡检周期b下的停留时间t内的仪表读数集合保持至实时波动数据w中,并将报警信息作为仪表读数集合的平均值存入仪表数据q中,目的是为了判断仪表读数是否有大幅度的波动,若仪表波动较大,则可能出现电气设施故障,需要报警并记录对应目标仪表;

步骤13、当机器人在巡检周期b下完成巡检区域内所有仪表盘的图像采集,并得到在巡检周期b下的全部仪表数据q和实时波动数据w,并利用socket协议传输给云端的服务器中保存。检测结果上传云端服务器可以实现无人抄表,减轻了人工抄表的负担。

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