一种变电站指示灯状态识别方法
技术领域
本发明属于电力技术行业,具体涉及一种变电站指示灯状态识别方法。
背景技术
在电力巡检系统中,指示灯、压板、空气开关是非常重要的巡检对象。其中,指示灯是用来判断对应设备是否进行正常工作。目前,指示灯巡检工作还停留于人力巡检阶段中,由于指示灯相对于压板、空气开关,它的体积小且不易察觉,对巡检人员的要求很高。同时,指示灯出现异常情况占少数,这样就会导致人力资源的浪费。
随着近年来人工智能的快速发展,该技术已经成功运用在各行各业中。在电力系统中,基于深度学习技术可实现自动化巡检,减少了人力成本,提高巡检效率,对变电站稳定安全运行起到了促进作用。
现有技术中,在对指示灯进行智能识别工作时,通常是利用深度学习目标检测网络模型对整个开关柜上所有指示灯进行目标定位、分类识别。但是在实际情况下,大多数还是针对于开关柜上某个特定位置的指示灯进行识别,现有技术中尚未能够实现对特定区域指示灯的智能识别。
现有技术中,利用可移动设备(包括手机,平板,USB摄像头) 进行巡检图像的采集,并通过光缆将其上传至服务器进行模型分析,然后将分析结果再返回至可移动设备。该方法过于依赖于网络质量及传输设备,无法做到实时性检测。
发明内容
针对现有技术的不足,本发明的目的在于提供一种变电站指示灯状态识别方法,以解决现有技术中存在的识别效率低的问题。
为达到上述目的,本发明所采用的技术方案是:
一种变电站指示灯状态识别方法,包括如下步骤:
采集原始巡检图像;
基于配准技术对所述原始巡检图像进行处理,获取训练图像;
对所述训练图像进行数据扩充;
对数据扩充后的训练图像进行深度学习训练,获取权重文件和网络结构文件;
对所述权重文件和网络结构文件进行量化压缩操作,获取WK 权重文件;
将所述WK权重文件移植至相机中进行深度学习,得到深度学习网络模型;
通过深度学习网络模型对变电站指示灯状态进行识别。
进一步的,所述训练图像的获取过程如下:
对所述原始巡检图像进行筛选、归类;
通过配准技术对筛选、归类后图像中的指示灯位置信息进行标注。
进一步的,对所述训练图像进行数据扩充,包括:
对训练图像进行随机变换处理,获取随机变换图像;
对所述随机变换图像进行亮度变换、对比度变换或颜色变换,得到数据扩充后的训练图像。
进一步的,所述随机变换处理包括旋转变换、翻转变换、缩放变换、平移变换和错切变换。
进一步的,所述深度学习训练的过程如下:
对所有数据扩充后的训练图像进行图像尺寸变换;
通过Caffe深度学习框架对尺寸变换后的训练图像进行训练,获取模型权重文件和网络结构文件。
进一步的,所述Caffe深度学习框架中的骨干网络模型为AlexNet 网络;
所述AlexNet网络的激活函数为
F(x)=x*sigmoid(β*x) (1)
其中,x表示卷积输出,β表示激活系数。
进一步的,所述AlexNet网络中FC6的神经元个数为512、FC7 的神经元个数为1024。
进一步的,所述方法还包括对相机内训练好的深度学习网络模型进行测试,包括如下步骤:
通过深度学习后的相机采集连续帧图像;
标注待预测图像中感兴趣区域;
将待预测图像输入至相机的配准系统,获取感兴趣区域的指示灯位置信息;
将指示灯位置信息输入至相机内训练好的深度学习网络模型中,对指示灯状态进行预测;
将指示灯状态的预测结果与真实状态进行比较,判断是否准确。
一种变电站指示灯状态识别系统,所述系统包括:
采集模块:用于采集原始巡检图像;
第一获取模块:用于基于配准技术对所述原始巡检图像进行处理,获取训练图像;
数据扩充模块:用于对所述训练图像进行数据扩充;
第二获取模块:用于对数据扩充后的训练图像进行深度学习训练,获取权重文件和网络结构文件;
第三获取模块:用于对所述权重文件和网络结构文件进行量化压缩操作,获取WK权重文件;
深度学习模块:用于将所述WK权重文件移植至相机中进行深度学习,得到深度学习网络模型;
识别模块:用于通过深度学习网络模型对变电站指示灯状态进行识别。
计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述所述方法的步骤。
与现有技术相比,本发明所达到的有益效果是:
在现有技术中,通常在开关柜上粘贴可定位标志物,如二维码,黑边线条等基准点等,通过相机采集到的原始开关柜巡检图像中,利用上述定位标志物定位开关柜的位置信息,并进行偏移校正,得到整个开关柜的坐标信息,然后通过目标检测算法,如SSD、YOLO、Faster RCNN在整个开关柜上进行指示灯搜索,得到所有指示灯的位置信息;但是在实际情况中,通常只会对开关柜上某个特定的指示灯进行定位并判断其状态。鉴于上述问题,在本发明中采用的图像配准技术进行获取开关柜上特定一个待预测指示灯位置信息,提高了巡检工作的效率,减少了人力成本。在现有技术中,通常利用可移动设备如手机、平板电脑、USB摄像头等获取原始巡检图像,将其传入至服务器端,最后将预测结果反馈,在本发明中,将深度学习网络模型直接移植到相机端,图像的获取、模型预测、结果反馈全部在相机端进行,减少了因网络质量、设备处理能力低所导致的预测实时性低。
附图说明
图1为模型移植流程图;
图2为配准流程图;
图3为模型训练流程图;
图4为模型预测流程图。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1-4所示,一种变电站指示灯状态识别方法,包括如下步骤:模型训练:
S1.利用相机采集原始巡检图像数据。
以巡检采集设备所采集到的图像作为原始训练图像。原始巡检图像常为整个开关柜区域图像,其中包含了多个设备:指示灯、压板、操作按钮和旋钮等。对其进行定位裁剪,得到指示灯的位置信息。
S2.基于配准技术对原始巡检图像数据进行裁剪,并人工标注。
基于S1中所得到的原始巡检图像,首先进行人工筛选。将不一样时间、不一样传感器、不一样视角及不一样拍摄条件下获取的关于同一目标或场景的开关柜图片归为一类。人工利用LabelImg标注工具标注得到单个指示灯的位置信息Z1[X1,Y1,X2,Y2]。其中,X1,Y1表示指示灯A1左上角坐标,X2,Y2表示指示灯A1右下角坐标。根据 [X1,Y1,X2,Y2]便可获取指示灯A1在原始巡检图像中的位置信息。同理,可得指示灯A2、A3……位置信息。根据该类别图像,采用配准技术可获取不同采集角度、光照所得到指示灯A1所对应于同一类图片中指示灯A’1的位置信息Z’1[X’1,Y’1,X’2,Y’2])。其中,X’1,Y’1表示指示灯A’1左上角坐标,X’2,Y’2表示指示灯A’1右下角坐标。根据 [X’1,Y’1,X’2,Y’2]便可获取指示灯A’1在图像中的位置信息。最终,可得到经过裁剪之后只包含指示灯A’1的训练图像,并根据指示灯状态进行分类存储。通过采用配准技术,可减少人员手动标注的工作量,同时可避免因人员失误所导致的标注错误。
S3.将S2中所得到的原始指示灯训练数据进行数据扩充。
首先基于一张图像进行随机旋转变换、翻转变换、缩放变换、平移变换、错切变换,可获取到三张经过随机变换的图像。然后将该三张图像进行随机亮度变换、对比度变换、颜色变换。上述操作将S2 中所存储的一万三千张原始指示灯训练图像扩充为五万二千张,极大地丰富了训练集的数据量,提高了模型的鲁棒性和稳定性。
S4.根据S3中所获取得到的两种指示灯状态训练集进行深度学习训练。
D1.首先将训练集中所有训练数据进行图像尺寸变换,图像的长 H和宽W均变换为128,即输入图像尺寸为128*128。
D2.由于后续想要将模型权重文件移植到相机端,本发明采用 Caffe深度学习框架进行模型训练。Caffe深度学习框架相对于TensorFlow、PyTorch等深度学习框架而言,Caffe是一个清晰、可读性高,快速的深度学习框架,同时市面上常见相机载体均支持Caffe模型。
本发明中骨干网络模型采用是AlexNet网络,该网络模型一共有五个卷积层,三个全连接层。针对于原始AlexNet网络结构,本发明有两处优化方案:
1.将Relu激活函数改为Swish激活函数(公式(1)为Swish激活函数计算公式)。经测试,在保证训练数据集不变的情况下,网络结构中将Relu激活函数更换Swish激活函数会将深度学习网络在验证集的准确率提升1.4%。由于在Caffe框架中无Swish激活函数接口,故需额外手动实现该激活函数。
F(x)=x*sigmoid(β*x) (1)
2.将FC6、FC7的神经元个数分别改为512和1024。本发明采用该方案的原因是后续网络权重文件要移植至相机端,而相机端的内存有限。不经过修改的原始AlexNet网络最终生成的权重文件大小为 64MB,而将FC6、FC7的神经元更换为512和1024之后,网络模型生成的权重文件大小变为16MB,减少相机芯片内存压力,便于模型后续在相机端稳定运行,同时保证在训练集和验证集的准确率并无较大的缩减。
S5.将S4中生成的CaffeModel权重文件和网络结构文件进行量化压缩操作。
相机中深度学习模型加速引擎采用了参数压缩技术以减少带宽占用,为了提高压缩率,对全连接层参数进行稀疏处理,同时采用低带宽模式进行量化计算,使系统所需带宽达到最小。
同时,将相机采集图像采用BGR方式输入,并进行归一化操作,数值归一化的参数设置为1/255.0。
基于上述压缩参数设置,进行模型量化压缩,并转换为WK格式的权重文件,文件大小由16MB转为4MB,极大地减少了相机内存的占用率。
S6.将S5生成的WK权重文件移植至相机中深度学习加速引擎。
H1.加载模型,解析出网络模型。H2.获取给定网络任务各段辅助内存大小。H3.多节点输入输出的CNN类型网络预测。H4.多个节点 feature map输入。H5.卸载模型。H6.查询任务是否完成。H7.记录 TskBuf地址信息。H8.移除TskBuf地址信息。
模型测试:
C1.相机采集连续帧图像待用。C2.人员标注待预测巡检图像中感兴趣区域。C3.输入S1中原始巡检图像至相机内嵌入的配准系统,利用图像配准技术提取感兴趣指示灯区域位置信息。
M1.特征检测。检测显著独特的对象,包括边缘、轮廓、交线、角点等。每个关键点由描述符表示。M2.通过不变的描述符来特征匹配。计算两张图像中对应的关键点之间的描述符的距离,并返回每个关键点的K个最佳匹配中的最小距离。M3.利用建立的相关性估计转换模型。M4.基于样本图像,在待预测图像中寻找其相对应的区域。
C4.将C3中提取的待预测指示灯位置信息输入至相机内训练好的深度学习网络模型中,对指示灯状态进行预测判断。
F1.将裁剪后所得到的指示灯图像的尺寸变换为128*128,以保证与训练集中训练图像尺寸一致。同时,进行图像归一化操作,数值归一化的参数设置为1/255.0。
F2.将F1所得到的测试图像输入至训练好的网络模型中,经过深度学习网络中最后一个全连接层可获取该指示灯两种状态的概率值 P0和P1,其分别代表该测试图像预测结果为指示灯状态为关的概率和该测试图像预测结果为指示灯状态为开的概率。取二者最大值Pmax并返回。
C5.将指示灯状态的预测结果结合到视频流上进行返回展示,并上送至应用系统中。
针对本发明的指示灯状态识别深度学习网络模型,在前面描述的技术方案的基础上还可以是:VGG-16、GoogleNet、ResNet。
VGG-16的核心思想是:小核。即整个网络模型中均采用的是3*3 的小卷积核。该设计方案最大的特点就是相对于使用一个较大的卷积核,小卷积串联拥有更少的参数量,拥有更多的非线性变换。但是由于VGG-16网络模型最后拥有三层全连接层,所以整体的参数量并不小。
GoogleNet摒弃了AlexNet、VGG等传统著名网络的“一条线”架构,采用的一个全新的深度学习架构-Inception,无全连接层,可以节省运算的同时,减少了很多参数,权重文件的参数量是AlexNet的十二分之一。
ResNet是受到了GoogleNet中Inception的启发,采用了多路的架构。该网络模型的核心模块为残差网络,不需要用多个堆叠的层直接拟合期望的特征映射,而是显式的用他们拟合一个残差映射。
本发明公开了一种变电站指示灯状态识别方法。本发明基于将训练好的深度学习网络模型移植到工业相机中,通过相机采集的指示灯巡检图像输入到相机中,经过网络模型的预测,将指示灯预测结果进行返回,并通过MQTT或TCP协议上送至应用系统中。
本发明将训练好的图像算法模型移植嵌入至相机端中,在相机端中完成巡检图像的采集、图像预测、结果反馈等一系列操作,改善了现有技术中实时性不高的特点。同时,由于相机的成本远低于服务器,所以设备成本也会随之下降。
本发明将目标定位与目标识别相结合,即先在待预测图像中人工标注待预测区域框,通过图像配准技术对后续偏移图像进行指定区域裁剪,得到指定区域指示灯的位置信息,然后利用深度学习网络模型完成目标识别任务。在目标定位阶段中,由于没有使用深度学习模型,所以相对于现有技术减少了提取待预测指示灯区域定位时间。
本发明先在待预测图像中人工标注待预测区域框,通过图像配准技术对后续偏移图像进行指定区域裁剪。本方案可对原始巡检图像中特定一个指示灯进行位置信息的提取,减小了人力工作的复杂度。
本发明提供了一种变电站指示灯状态识别方法,通过利用深度学习技术减少了因人为因素所导致的错误操作,提高了变电站巡检效率,降低了人力成本。
一种变电站指示灯状态识别系统,所述系统包括:
采集模块:用于采集原始巡检图像;
第一获取模块:用于基于配准技术对所述原始巡检图像进行处理,获取训练图像;
数据扩充模块:用于对所述训练图像进行数据扩充;
第二获取模块:用于对数据扩充后的训练图像进行深度学习训练,获取权重文件和网络结构文件;
第三获取模块:用于对所述权重文件和网络结构文件进行量化压缩操作,获取WK权重文件;
深度学习模块:用于将所述WK权重文件移植至相机中进行深度学习,得到深度学习网络模型;
识别模块:用于通过深度学习网络模型对变电站指示灯状态进行识别。
一种变电站指示灯状态识别系统,所述系统包括处理器和存储介质;
所述存储介质用于存储指令;
所述处理器用于根据所述指令进行操作以执行上述述方法的步骤。
计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。