基于Mask_RCNN算法的继电保护压板投退状态的自动检测方法与流程

文档序号:32348604发布日期:2022-11-26 12:10阅读:177来源:国知局
基于Mask_RCNN算法的继电保护压板投退状态的自动检测方法与流程
基于mask_rcnn算法的继电保护压板投退状态的自动检测方法
技术领域
1.本发明属于继电保护领域,特别涉及一种基于mask_rcnn算法的继电保护压板投退状态的自动检测方法。


背景技术:

2.在目前的电力生产中,保护压板的投退需要根据设备实际运行需要来确定,而生产人员面对海量的压板状态,如果缺乏有效监管,极有可能导致误操作压板的状况发生。可以依靠计算机对海量的保护压板图像进行分析,确定压板的分合状态,将准确的压板信息传输到设备状态管理系统,便于运行人员更好掌握设备状态。
3.近年来,深度学习算法在海量图像的图像分割、图像识别、图像理解等领域应用广泛。常见的基于深度学习的目标检测算法有faster r-cnn算法、r-fcn算法、mask-rcnn算法等。其中mask-rcnn算法自2018年3月被提出以来获得了广泛应用。mask-rcnn算法同时解决了图像识别和图像分割的难题。金字塔残差网络和roi align的应用提高了识别精度。
4.现有技术的缺陷和不足:
5.专利《一种变电站电气保护压板检测方法、装置及处理设备》中的算法将物体识别和分割分开,算法复杂、检测效率降低。
6.专利《基于人工智能的变电站二次回路保护压板检测系统及方法》采用mean shift的图像分割算法去除背景、提取目标,采用hog+svm算法进行识别。算法复杂、检测效率降低。
7.专利《一种基于yolov5的用于继电保护屏柜硬压板校核的密集型多目标检测方法》使用pytorch采用yolov5s网络结构训练压板识别模型,并无图像分割的功能,无法准确定位压板区域。


技术实现要素:

8.鉴于背景技术所存在的技术问题,本发明所提供的基于mask_rcnn算法的继电保护压板投退状态的自动检测方法,解决了变电站二次回路压板状态数据的采集及状态监测困难、人工巡检工作量大等问题,大幅提升了智能站运维的工作效率。
9.为了解决上述技术问题,本发明采取了如下技术方案来实现:
10.一种基于mask_rcnn算法的继电保护压板投退状态的自动检测方法,步骤为:
11.步骤1:基于mask-rcnn算法进行图像识别、图像分割算法设计:
12.步骤1.1:mask-rcnn算法架构由骨干网络、区域推荐网络、识别、定位分支和mask分支构成;其中骨干网络用提取图像卷积特征并生成不同尺度的特征图,然后将特征图送入区域推荐网络;由区域推荐网络生成前景建议区域,再送入后续的识别、定位和mask分支进行分类回归计算;
13.步骤1.2:进行分类和回归:利用公式(1)的分级标准,根据目标前景建议区域的尺
寸来选择切入的特征图;公式(1)如下:
[0014][0015]
其中:wh表示特征图的面积;
[0016]
k0表示面积为wh的前景建议区域所应该在的层级;
[0017]
k0设定初始值为4,前景建议区域尺寸小于224*224;
[0018]
步骤1.3:mask分支:将特征融合后的不同层级的特征图送入roi align(池化层)进行池化,经fpn head(倒金字塔结构)送入全卷积网络生成mask(掩膜);将在分类回归分支得到的类别和坐标信息送入四层卷积网络使用relu函数进行激活,将目标类别的像素点置1;其后经过一个逆卷积层,进行反向传播;不同尺度的目标按照规则选择不同尺度的特征图,最终将掩膜信息放大到原图,输出掩膜图像;
[0019]
步骤1.4:进行损失函数设计;
[0020]
步骤2,制作数据集:
[0021]
第一步,获得原始数据;
[0022]
第二步,标记压板分合状态:
[0023]
第三步,制作数据集;
[0024]
步骤3,进行训练模型:在tensorflow(一种深度学习框架,是行业公认)框架下,通过调整超参数中学习率和epoch(是指全部样本训练一次)的值可得到不同精度的识别模型文件。
[0025]
优选地,步骤1.4中,mask-rcnn算法用于完成目标识别、定位和掩膜图像;训练时的误差由区域推荐网络、分类回归分支和mask分支产生,在设计损失函数时结合这3个部分的误差得到:
[0026]
l=l
rcls
+l
rreg
+l
fcls
+l
freg
+l
mask
ꢀꢀꢀ
(2)
[0027]
其中:l
rcls
表示rpn网络分类损失;l
rreg
表示区域推荐网络回归损失;l
fcls
表示目标分类分支损失;l
freg
表示目标回归分支损失;l
mask
表示目标掩码分支损失;
[0028]
分类损失函数由区域推荐网络分类和目标分类损失组成;
[0029]
回归损失由区域推荐网络回归损失目标回归损失组成;
[0030]
1)分类损失
[0031][0032]
区域推荐网络分类的产生的anchor(锚点)只分为前景和背景,前景的标签为1,背景的标签为0。l
cls
(pi,p
i*
)是目标与非目标两个类别的对数损失,在目标分类中,l
cls
(pi,p
i*
)是多分类的交叉熵损失;
[0033]
2)回归损失:
[0034]
选择l1范数作为回归的损失函数;为了保证损失函数的平滑性,将l1范数函数改造成分段函数,表达式如下:
[0035][0036]
回归损失函数如下公式(5)所示
[0037][0038]
其中:ti={t
x
,ty,tw,th}表示预测抓取框的位置;t
i*
={t
x
,ty,tw,th}表示实际抓取框的位置;l
reg
(ti,t
i*
)=smooth(ti,t
i*
)。
[0039]
(3)mask分支损失函数:
[0040]
在目标分类回归分支,得到k个目标检测结果,则目标分割会输出k个a
×
a的矩阵,若为是目标则置1,不是则置0,组成矩阵;选择对数损失函数衡量目标分割结果;则对于一个a
×
a候选框,损失函数的公式(6)如下:
[0041][0042]
其中:y
ij
其中a
×
a候选框内像素点(x,y)像素实际的标签值;——a
×
a候选框内像素点(x,y)像素预测的第k类别的标签值。
[0043]
优选地,步骤2,制作数据集的方法为:
[0044]
第一步,获得原始数据;在厂内保护盘收集保护装置压板图像,剔除模糊图片、筛选出符合要求的图像。
[0045]
第二步,标记压板分合状态:利用labeme软件逐一手动标记压板的不同分合状态。on代表压板合,off代表压板分。labelme标注之后,可以得到与图片一一对应的.json文件,文件中包含该图像中人工画出的定位框的顶点坐标和所属类别。
[0046]
第三步,制作数据集:利用json文件中包含原始图片的图号、类别和坐标信息。之后利用labelme自带的dataset转化代码转换成labelme_json文件夹。然后将文件归类整理,得到cv2_mask、json、labelme_json、pic等四个数据集必要文件。最终整理得到各类别的训练数据量如表1所示。利用这些数据,训练出压板分合模型。
[0047]
优选地,步骤4中,一个epoch是指所有的数据送入网络中完成一次前向计算及反向传播的过程;训练时,分别将学习率设置为:0.001,0.0009,0.0008,0.0007,0.0005;epoch分别设置为:20,30,40,50,60;按照这些参数进行模型训练,最终选取表现最为良好的模型,其学习率为0.001,epoch设为50;主要参数设置:学习率为0.001,epoch设为50,batch_size设为1,anchor的scale设为(128,256,512)、aspect_ratio设为(1:3、1:1、3:1);训练完成之后记录测试模型精度。
[0048]
本专利可达到以下有益效果:
[0049]
本发明相对于现有技术具备的有益效果为:本发明首次将mask_rcnn算法应用于压板识别领域,训练所得模型可同时进行图像识别和图像分割。基于mask_rcnn算法的继电保护压板投退状态的自动检测方法提高了压板状态的识别精度,为机器人自动巡检提供了技术支撑。解决了变电站二次回路压板状态数据的采集及状态监测困难、人工巡检工作量大等问题,大幅提升了智能站运维的工作效率,变电站运维周期明显缩短;同时,降低了误操作风险,提升了现场运行维护、检修作业和专业管理水平。
附图说明
[0050]
下面结合附图和实施例对本发明作进一步说明:
[0051]
图1为本发明压板状态识别流程图;
[0052]
图2为本发明mask-rcnn网络结构;
[0053]
图3为本发明分类和回归分支;
[0054]
图4为本发明mask分支;
[0055]
图5为本发明单一压板分合状态识别情况效果图;
[0056]
图6为本发明分合状态压板识别情况效果图。
具体实施方式
[0057]
实施例1:
[0058]
优选的方案如图1至图4所示,一种基于mask_rcnn算法的继电保护压板投退状态的自动检测方法,步骤如下:
[0059]
步骤1:基于mask-rcnn算法进行图像识别、图像分割算法设计:
[0060]
步骤1.1:mask-rcnn算法架构由骨干网络(backbone)、区域推荐网络(rpn)、识别、定位分支和mask分支构成;其中骨干网络用提取图像卷积特征并生成不同尺度的特征图,然后将特征图送入区域推荐网络;由区域推荐网络生成前景建议区域(roi),再送入后续的识别、定位和mask分支进行分类回归计算;
[0061]
步骤1.2:分类和回归:mask-rcnn算法中的分类和边界框回归分支的网络结构如图3,在mask-rcnn算法中,由于主干网络结合了特征金字塔的算法结构,可以输出不同层次的多层尺度特征图,必须将特征融合后的每一层级的特征图都送入roi align层进行处理;之后进一步提取正样本的特征进行分类,同时需要对回归框进行进一步的修正,达到更加精确的目标;
[0062]
区域推荐网络(rpn)输出了多尺度的预测区域,那么在进行分类回归时,不同尺寸的前景建议区域(roi)选择哪个尺度的特征图十分关键。一共有[p2,p3,p4,p5]4个尺度的特征图,利用公式(1)的分级标准即可根据目标前景建议区域(roi)的尺寸来选择切入的特征图。
[0063][0064]
其中:wh表示特征图的面积;
[0065]
k0表示面积为wh的前景建议区域(roi)所应该在的层级;
[0066]
k0设定初始值为4,前景建议区域(roi)尺寸小于224*224,则应该在分辨率更高的特征图中切出前景建议区域特征图,更高分辨率的特征图反卷积到输入的图像上其感受野更大,可以增加小尺寸物体的精确度。
[0067]
步骤1.3:mask分支:mask-rcnn算法中的mask分支的网络结构如图4所示,将特征融合后的不同层级的特征图送入roi align(池化层)进行池化,经fpn head(倒金字塔结构)送入全卷积网络(fully convolutional networks,fcn)生成mask。
[0068]
将在分类回归分支得到的类别和坐标信息送入四层卷积网络使用relu函数进行激活,将目标类别的像素点置1;其后经过一个逆卷积层,进行反向传播;不同尺度的目标按照规则选择不同尺度的特征图,最终将掩膜信息放大到原图,输出掩膜图像。
[0069]
步骤1.4:损失函数设计:mask-rcnn算法可以完成目标识别、定位和掩膜图像。训练时的误差主要由区域推荐网络(rpn)、分类回归分支和mask分支产生,与faster-rcnn相
比,仅仅增加一个mask分支的损失函数即可。在设计损失函数时应结合这3个部分的误差得到:
[0070]
l=l
rcls
+l
rreg
+l
fcls
+l
freg
+l
mask
ꢀꢀꢀ
(2)
[0071]
其中:l
rcls
表示rpn网络分类损失;l
rreg
表示rpn网络回归损失;l
fcls
表示目标分类分支损失;l
freg
表示目标回归分支损失;l
mask
表示目标掩码分支损失。
[0072]
分类损失函数由区域推荐网络(rpn)分类和目标分类损失组成。回归损失由rpn回归损失和目标回归损失组成。
[0073]
1)分类损失
[0074][0075]
rpn网络的产生的anchor只分为前景和背景,前景的标签为1,背景的标签为0。l
cls
(pi,p
i*
)是目标与非目标两个类别的对数损失,在目标分类中,l
cls
(pi,p
i*
)是多分类的交叉熵损失。
[0076]
2)回归损失
[0077]
选择l1范数作为回归的损失函数。为了保证损失函数的平滑性,将l1范数函数改造成分段函数,具体表达式如下:
[0078][0079]
回归损失函数如下公式(5)所示
[0080][0081]
其中:ti={t
x
,ty,tw,th}表示预测抓取框的位置;t
i*
={t
x
,ty,tw,th}表示实际抓取框的位置;l
reg
(ti,t
i*
)=smooth(ti,t
i*
)。
[0082]
(3)mask分支损失函数
[0083]
在目标分类回归分支,得到k个目标检测结果,则目标分割会输出k个a
×
a的矩阵,如果为是目标则置1,不是则置0,组成矩阵。选择对数损失函数衡量目标分割结果。则对于一个a
×
a候选框,损失函数如公式(6)所示
[0084][0085]
其中:y
ij
其中a
×
a候选框内像素点(x,y)像素实际的标签值;
[0086]
——a
×
a候选框内像素点(x,y)像素预测的第k类别的标签值。
[0087]
步骤2,制作数据集:
[0088]
实验环境设置:实验环境为dell塔式工作站,操作系统为windows,编程环境基于python,内存为32g,gpu为nvidia geforce 1080ti,显存为11gb,显存速率为11gpbs。基于深度学习框架tensorflow
[5]
进行。深度学习开发环境的各软件版本为:cuda 9.0、cudnn 7.0.5、python3.6。同时安装了必须的keras、opencv、jupyter notebook、numpy、matplotlib、imgaug等python的第三方库。
[0089]
步骤2.1:数据集制作:
[0090]
第一步,获得原始数据。在厂内保护盘收集保护装置压板图像,剔除模糊图片、筛选出符合要求的图像。
[0091]
第二步,标记压板分合状态。利用labeme软件逐一手动标记压板的不同分合状态。on代表压板合,off代表压板分。labelme标注之后,可以得到与图片一一对应的.json文件,文件中包含该图像中人工画出的定位框的顶点坐标和所属类别。
[0092]
第三步,制作数据集。利用json文件中包含原始图片的图号、类别和坐标信息。之后利用labelme自带的dataset转化代码转换成labelme_json文件夹。然后将文件归类整理,得到cv2_mask、json、labelme_json、pic等四个数据集必要文件。最终整理得到各类别的训练数据量如表1所示。利用这些数据,训练出压板分合模型。其各状态数据量表格如下:
[0093][0094]
表1各状态数据量
[0095]
步骤3,进行训练模型。
[0096]
训练:在tensorflow框架下,通过调整超参数中学习率和epoch的值可得到不同精度的识别模型文件。一个epoch是指所有的数据送入网络中完成一次前向计算及反向传播的过程。训练时,分别将学习率设置为:0.001,0.0009,0.0008,0.0007,0.0005;epoch分别设置为:20,30,40,50,60;按照这些参数进行模型训练,最终选取表现最为良好的模型,其学习率为0.001,epoch设为50。主要参数设置:学习率为0.001,epoch设为50,batch_size设为1,anchor的scale设为(128,256,512)、aspect_ratio设为(1:3、1:1、3:1)。训练完成之后记录测试模型精度。
[0097]
如图5-6所示,经过试验得出:mask-rcnn的识别和分割的效果良好,能够精确的识别出压板分合(on/off)状态。
[0098]
上述的实施例仅为本发明的优选技术方案,而不应视为对于本发明的限制,本发明的保护范围应以权利要求记载的技术方案,包括权利要求记载的技术方案中技术特征的等同替换方案为保护范围。即在此范围内的等同替换改进,也在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1