基于Faster-RCNN及一维曲线分析的表计指针识读方法

2022-03-15 09:15钟力强屈娟娟姜新丽黄炎
广东电力 2022年2期
关键词:读数指针圆心

钟力强,屈娟娟,姜新丽,黄炎

(1.南方电网电力科技股份有限公司 a.广东省特殊行业特种机器人工程技术研究中心;b.中国南方电网电力机器人联合实验室,广东 广州 510080;2.广州新华学院,广东 广州 510520;3.许昌开普电气研究院有限公司,河南 许昌 461000)

变电站是电网电能传输的关键节点,对设备安全的要求较高。传统人工巡检劳动强度大,工作效率低,且存在一定的人身安全风险,而固定式视频监控由于盲区较多,也难以满足变电站全面巡检的需求。近年来,大量变电站开始采用机器人执行常规巡检任务,智能化巡检逐渐成为行业的发展趋势[1-3]。其中,表计读数识别是变电站巡检工作的重要内容[4],如气压表、温度表、油温表、避雷器表等均为机器人采集表计读数的主要对象。然而,目前变电站机器人对表计读数的读取仍以预设模板匹配为主[4-5],这就要求在机器人部署调试阶段,针对每一个表计单独进行模板归类、设定识别范围等工作,不仅部署周期长,可扩展性差,且效果参差不齐,与部署人员的经验、责任心密切相关。

针对指针表计的识别读数问题,研究人员从不同角度开展研究。在预处理方面,刘晶[6]等基于视觉识别进一步提高了机器人拍摄的精确程度;黄炎[4]等基于扩展扫描区域的方法,对模板匹配算法进行改进,提高了读取准确率。在读数算法方面,黄炎[5]等通过设置识别基线,将刻度区域转化为一维线性信号,并通过灰度突变获取指针角度;李治玮等[7]使用最大灰度法计算无指针的仪表模板图像,然后通过模板图像与实际图像相减得到指针位置;施健等[8]使用减影法得到指针位置,然后利用Hough变换计算指针夹角;张文杰等[9]利用视觉显著性区域检测先验知识,提取仪表图像指针区域,再计算指针与横轴的夹角,最后采用最小二乘法拟合指针夹角与指针刻度之间的线性函数参数,计算仪表读数。上述研究均建立在一定的人工标注(指定模板、划分区域、标注圆心刻度等)基础上,均难以实现对部分或者大部分表计的自动识读。

针对这一问题,本文融合Faster-RCNN[10](faster region-based convolutional network)识别方法和快速傅里叶变换(fast Fourier transform,FFT)频域分析等技术进行指针刻度位置识别的研究。首先对表计图像进行颜色过滤预处理;再通过Faster-RCNN对预处理结果进行筛选与调整,从而获取表盘刻度的初步位置和指针圆心初步位置;最后通过微调周期、起始位置等操作,实现轴坐标转换后的曲线对齐,以及采用一维线性映射[5]方法获得指针与刻度的相对位置,实现无人工干预的表计智能识读。

1 预处理与样本扩展

已有的表计读数方法中,典型标注信息如图1所示,图1(b)所示辅助线均为人工标注。

图1 原图与典型辅助线

以图1中的空气压力表为例,首先对原图进行分通道颜色滤波和拆分预处理。对图像进行此类预处理的主要目的是增加算法的普适性和神经网络学习的准确性,降低因表盘颜色设计、光影、反光问题造成的识别误差,同时也有利于增加样本量,提高识别准确率。

图2所示为1(b)的RGB直方图,各通道上均存在多个峰值,但3个通道并不重合,每个峰值处均为颜色趋向一致的图像元素。分别对3个颜色通道进行单独的峰值滤波,进而生成多张图像,如图3所示。其中部分通道通过峰值筛选后的部分图像刻度区域信息被突出显示出来,也有部分图像的刻度信息并不明显,但并不影响Faster-RCNN的识别与训练。

图2 图1(b)RGB直方图

图3 直方图波峰筛选后的样例图像(未列出特征完全不明显图像)

2 标记与识别

预处理后,同一张图片扩展为10余张黑白图像。由于变电站表计种类繁多,且部署期间经常会遇到新的表计种类,传统特征识别等方法需要预先对表计特征有所描述,因此考虑使用深度学习方法进行表盘识别。

2.1 Faster-RCNN简介

Faster-RCNN是近年来应用比较广泛的二阶段检测模型的神经网络方法[11-15],是Ross B. Girshick在2016年结合RCNN和Fast-RCNN提出的改进算法[11]。相比于传统RCNN,Faster-RCNN在结构上将特征抽取、区域提名、边界框校正归类等整合在1个网络中,使得速度和准确率有了较大的提高。与SSD、YOLO等基于回归的经典检测算法相比,Faster-RCNN算法在速度上虽有一定不足,但定位精确度较高,而机器人在表计识别上对实时性的要求并不高。因此,选用Faster-RCNN算法进行表计初步定位。图4所示为Faster-RCNN的基本结构。

图4 Faster-RCNN基本结构

Faster-RCNN算法的基本识别流程如下。

a)提取特征:通过预训练网络,提取图片特征。

b)区域提名:利用提取的图片特征,经过区域提名网络(region proposal networks,RPN),找出一定数量的感兴趣区域。

c)分类与回归:将感兴趣区域和图像特征输入到全连接层,对感兴趣区域进行分类,判断分别属于什么类别,同时对其位置进行微调。

其中,该算法的关键性创新在于使用其独创RPN代替传统的滑动窗口或图像金字塔法生成检测框,大幅提升了算法的综合性能。

2.1.1 骨干网络

Faster-RCNN中,对输入图像进行语义信息提取的部分称为骨干网络或主干网络,视觉几何组(visual geometry group,VGG)网络[16]和深度残差网络(residual network,ResNet)[17]均为较传统的Faster-RCNN骨干网络,其中ResNet增加了临近网络层之间的信息传递,在对速度影响不大的前提下,可大幅提升网络的可设置深度。考虑平衡识别时间,本文选用ResNet中经典的ResNet_50网络作为骨干网络。

2.1.2 区域提名网络

RPN主要用于在骨干网络输出特征图的基础上,确定目标候选位置,再对这一位置的目标类别进行预测。首先在特征图上生成各尺度和长宽比的锚点(Anchor),通过Softmax分类器[11]判断锚点框内是前景还是背景,将前景部分作为目标候选区域。其损失函数为

(1)

其中分类损失函数

(2)

预测损失函数

(3)

式中:x、y为预测框的中心点坐标;w、h为预测框宽和高;fsmooth表示为

(4)

最后通过线性回归对输出框(预测框)的位置进行微调,获得检测结果。

2.2 刻度位置识别实验

整体学习模型采用python-Keras框架搭建,选取变电站各类型表计图像共计1 200余张作为原始样本库,并通过预处理进行单通道滤波,形成最终学习样本共14 325张,其中含有完整刻度信息文件约6 000余张;标注采用VOC2007格式,仅标注较为明显的刻度段位置,标注时尽可能保持标注框中心在刻度尺度上。图5所示为Faster-RCNN训练样本;图6所示为采用Faster-RCNN模型经过样本库训练后,对图1(a)及其相关图片(原图及图3所有图片)的预测结果。

图5 Faster-RCNN训练样本示例

图6 图1(a)部分峰值滤波图像的识别预测框

由于不同滤波图像差异较大,预测框定位并不完全准确一致,不同图像找到的预测框数量也不同。将所有预测框中心坐标(表1为图7中所有点的具体坐标)在原始图象上用红点标出,如图7所示。

表1 多图预测框参数

图7 预测框中心点位置(红点有重叠)

3 基于预测结果的后处理

如表1、图7所示,Faster-RCNN具备基本定位刻度位置的能力,但对部分形状或方向不规则的刻度区域,定位并不准确,识别率也有一定的偏差。不考虑Faster-RCNN本身对定位精度和标注时存在误差的原因,刻度分布和方向不规则也必然造成此类误差。基本确定表盘刻度位置后,采用一维信号处理方法进一步精确定位刻度盘成为可能。

3.1 表盘圆心和刻度圆半径初步确定

如表1所示,Faster-RCNN算法共定位39个疑似刻度所在区域中心点,采用最小二乘法[17]对点进行拟合以获取圆心和半径。假设平面上1个圆的圆心为(xc,yc),半径为R,则圆上任一点(xi,yi)的方程为

(xi-xc)2+(yi-yc)2=R2.

(5)

因此,任一点(xi,yi)到最小二乘圆上的距离的平方和最小时,残差

ei=(xi-xc)2+(yi-yc)2-R2,

(6)

则平方和

min∑(xi2+yi2+Axi+Byi+C)2.

(7)

式中A、B为多项式分解后的一次项系数,C为常量。

当f取极小值时有

(8)

(9)

式中n为需拟合点的总个数。

可得

(10)

(11)

因此,可计算得出表1中39个点拟合圆的圆心为(855,600),半径为372。

3.2 关键区域截取与频域筛选

将图1(a)按照图8所示圆心进行轴坐标转换(如图9所示),并取与(xc,yc)点距离为R×(1±30%)的范围进行FFT频域分析(如图10所示)。由图9和图10可见,在有刻度的曲线上,存在较明显的周期性分量,可利用频率特征对曲线进行筛选。

图8 预测框中心点及刻度圆拟合

图9 轴坐标转换

图10 刻度区域的FFT频域分析

筛选步骤如下:

步骤1,初步筛选。调用scipy的signal库中find_peaks,通过遍历波峰间距的方式获取最高的5个频域峰值,因曲线总长定为1,考虑基频信号干扰较多,取4 kHz后峰值仍大于周边平均值1倍以上的曲线作为候选曲线。

步骤2,精确筛选。①统计筛选后曲线在4~6 kHz间的峰值所在位置均方根平均值,排除均方根值大于平均值2倍的曲线;②统计①所筛选曲线的间隔,与周边曲线无法形成5组以上连续分布的曲线应为误筛选值,需要进行排除。据此,图9中刻度区域半径最终限定为384~461像素区域(如图11所示)。

步骤3,曲线对齐。由于Faster-RCNN识别后,预测框位置存在一定误差,圆心位置也必然存在偏差;因此,以图11所示的中心线为基准,进行曲线周期和起始位置的微调。①周期统一,即通过插值微调曲线长度,将所有曲线的周期/频率调整为均方根平均值;②互相关对齐,即以筛选后中心曲线为基准,计算所有曲线与该曲线的互相关值,并根据最大相关值位置将所有曲线与中心曲线对齐(如图12所示)。

图11 筛选后的刻度区域

图12 周期调整和互相关对齐

步骤4,计算灰度平均值确定刻度线位置。将筛选后的曲线叠加,其均值曲线的谷值点角度即为表计刻度所在位置(如图13所示),具体角度位置见表2。

图13 曲线均值及谷值点位置

表2 刻度位置角度表

3.3 指针角度确定

参考文献[5]对指针角度的确定方法,取R×(1±30%)范围内除刻度区域以外的区域进行灰度值统计后,计算得到指针位置为153.5°(如图14所示)。从图9直接读取数据可知指针尖端覆盖的角度范围约为153.1°~154.0°,邻近2段刻度线覆盖角度分别为152.4°~153.5°和157.1°~158.0°,与表3、图14的结果基本一致。根据表盘信息,对刻度读数进行人工标注后程序自动读数为1.488 3(星号处),人工读数约为1.49,误差为0.3%。

图14 指针位置

4 各类型表计的实验验证

为验证算法的有效性,取机器人在变电站拍摄的表计图像共60张进行实验验证。表3列出了实验中程序智能识别的各环节准确率和性能参数。

由表3可见,在神经网络成功识别的基础上,本文方法对指针、刻度相对位置的识别较为准确,与人工读数基本处于同一水平或优于人工识别,但受限于训练样本、模型适配性等原因,部分表计(如图15所示)仍存在无法识别的情况,有待进一步研究。

图15 无法识别表计示例

表3 各类型表计程序自动识读验证试验结果

5 结束语

针对变电站巡检机器人部署过程中需针对每一个表计人工配置模板的现实问题,本文介绍了一种基于Faster-RCNN并进行一维信号处理的识别方法,从而实现无需人工干预智能识别指针与刻度相对位置的方法。首先借助分通道的峰值滤波预处理,降低不同类型间表计设计可能引入的识别误差;接着通过Faster-RCNN算法初步确定刻度区域范围,并获得拟合圆的圆心完成轴坐标展开,再通过频域分析对疑似刻度区域进行筛选,获取刻度区域的准确范围;然后通过微调刻度所在曲线的周期和刻度对齐、叠加,获得区域在各角度上的灰度平均值,从而读取各刻度的角度信息;最后统计刻度区域外的灰度分布获得指针角度信息,从而最终实现表计刻度与指针相对位置的准确识读。

对60张典型变电站表计图像的实验结果显示,本文方法对训练数据较多的表计识别准确率较高,但对训练数据较少的表计仍存在无法识别的可能。此外,在解决了指针、刻度相对位置的准确识别后,有待引入表盘印刷体数字的识别能力[18-20],最终解决表计无人工干预的智能识别问题。

猜你喜欢
读数指针圆心
“0”的读法和要领
垂悬指针检测与防御方法*
关于游标卡尺读数问题易错点的剖析
以圆周上一点为圆心作圆的图的性质及应用
为什么表的指针都按照顺时针方向转动
仪器工作原理决定了仪器的读数规则
浅析C语言指针
参考答案
四种方法确定圆心和半径
圆心仍对应圆心吗