1.本发明属于计算机视觉和智慧工厂技术领域,具体涉及一种基于边缘计算的远程读表系统及其工作方法。
背景技术:
2.在当今物联网高速发展的时代,随着边缘节点计算能力的不断提高,越来越多的边缘设备出现,这些边缘设备支持进行基本的计算,有的甚至可以使用轻量级的深度神经网络进行推理。借助这些边缘节点的计算资源,就可以将数据本地处理,达到更快的响应以及避免不必要的数据传输,并且使数据隐私得以保障。
3.作为一种常见的数据显示仪器,表盘常常用于在一些数据的记录,尤其是在工厂等生产场景下。当前的工厂体系中,对于表盘读数的获取,通常可以分为以下三种方法:人工读取表盘、基于智能表盘的方法和基于计算机视觉的方法。
4.使用人工读取表盘的方法,简单直接,但对于一些地理位置较偏僻的工厂,或是安放在工作人员不方便去查看的位置的表盘,进行人工检查的成本太高。例如在变电站中有许多用于检测用电安全和设备安全情况的表盘,如电流表、电压表和压力表。变电站的数量多、分布广,且当前我国超过90%的变电站属于无人值守变电站,巡视人员需要定期地从电网的中心站到分布在各地的无人值守站进行巡检,这会花费大量的人力物力。
5.基于智能表盘的方法,通常要对表盘增加通信模块和接口,在表盘内部直接获取到读数信息,再将读数通过通信接口发送给服务器端。这对于一些不具备处理和通信能力的传统指针式表盘来说是不现实的。
6.基于计算机视觉的方法主要分为两类:基于传统计算机视觉的方法和基于深度神经网络的方法。对于计算能力有限的边缘设备处理器来说,要利用本地获取的大量数据进行神经网络的训练和推理会比较困难,并且难以达到读数的实时性。
7.因此,基于上述考虑,有必要提出一种基于边缘计算的远程读表系统,利用摄像头获取表盘信息,在不对表盘本身进行改造的同时,利用边缘设备上有限的计算资源,通过传统计算机视觉的方法来对指针式表盘进行实时、准确的读数监控。
技术实现要素:
8.针对于上述现有技术的不足,本发明的目的在于提供一种基于边缘计算的远程读表系统及其工作方法,以解决现有技术中不能利用边缘处理器对传统指针式表盘进行实时读数监控的问题。本发明采用传统计算机视觉技术,无需对表盘本身进行改造,只需要加装一个摄像头,就能配合边缘端处理器实现实时的远程读表。
9.为达到上述目的,本发明采用的技术方案如下:
10.本发明的一种基于边缘计算的远程读表系统,包括:远程读表一体机、服务器平台和远程读表客户端;其中,
11.远程读表一体机,用于实时获取图片信息,以提取表盘并计算表盘读数结果,将结
果数据发送至服务器平台;
12.服务器平台,用于实时获取远程读表一体机发送的表盘读数结果数据,并将其存储于数据库中,且数据库中存储有表盘的模板图片;
13.远程读表客户端,用于实时从服务器平台的数据库中获得表盘读数结果,及对历史读表数据进行查询;所述远程读表客户端还发送表盘的模板图片给服务器平台。
14.进一步地,所述远程读表一体机包括:摄像头、处理器及通信接口;
15.摄像头,用于采集表盘图片信息;
16.处理器,用于根据摄像头采集的图片及服务器平台中存储的表盘模板图片来获取表盘并计算表盘读数结果;
17.通信接口,用于将表盘读数结果发送至服务器平台。
18.进一步地,所述处理器获取表盘的具体方法:
19.a.接收摄像头采集的表盘原图片f;
20.b.从服务器平台获取指定表盘的模板图片t;
21.c.从模板图片t和原图片f中分别提取出所有特征点,利用特征点匹配得到匹配的特征点对,记为(p
j,t
,p
j,f
),其表示表盘上同一个目标点p
j
在模板图片t和原图片f上的投影点;
22.d.对于所有匹配的特征点集合,记为(p
t
,p
f
),求出从p
t
映射到p
f
的最优单映射变换矩阵m,满足p
t
=mp
f
,根据模板图片t的四个顶点坐标左乘变换矩阵m映射在原图片f上,映射后的顶点坐标围成的区域即为表盘在原图片f中所处的区域;
23.e.通过表盘在原图片f中所处的区域提取出表盘,并对其进行透视变换,得到透视变换的变换矩阵m
′
和校正后的表盘图像f
′
。
24.进一步地,所述处理器计算表盘读数结果具体方法:
25.f.对表盘图像f
′
进行预处理和二值化处理,转化为像素值仅有0或255的单通道二值图像b;
26.g.对二值图像b使用霍夫曼直线检测得出表盘指针并求出其旋转角度;
27.h.根据模板图片t中对应的表盘信息,将表盘指针的旋转角度转换为指针读数r。
28.本发明的一种基于边缘计算的远程读表系统的工作方法,基于上述系统,包括步骤如下:
29.1)远程读表一体机从服务器平台获取模板图片t,通过摄像头获取表盘原图片f,并根据表盘原图片f和模板图片t计算得到表盘读数结果;
30.2)将表盘原图片f和得到的表盘读数结果发送给服务器平台,服务器平台将读数结果数据保存在数据库中;
31.3)远程读表客户端获取服务器平台中的表盘原图片f和相应的表盘读数结果,并进行显示。
32.进一步地,所述工作方法还包括:初始时,远程读表客户端发送待测表盘的正面图至服务器平台,作为模板图片t。
33.进一步地,所述步骤1)中的计算表盘读数结果方法包括:模板匹配和指针检测;
34.模板匹配:通过将摄像头获取的原图片f与模板图片t进行特征点匹配,从原图片中提取出表盘,并根据原图片与模板图片中特征点的对应关系,对原图片中的表盘进行透
视变换,最终得到校正后的表盘图像;
35.指针检测:对校正后的表盘图像进行预处理、二值化处理及骨架提取,再利用霍夫曼直线检测提取指针并求出其偏转角度。
36.此外,所述步骤1)的计算读数结果中,包括了模板匹配和指针检测两个步骤,对于表盘读数场景中,表盘的位置是固定不变的,因此考虑到算法效率,设置一个数据缓存区用于存储表盘在原图片f中所处的区域和透视变换的变换矩阵。经过以上改进后,减少了算法执行中模板匹配的次数,在不影响读数准确率的前提下提高了读数的实时性。
37.进一步地,所述步骤1)中远程读表一体机将摄像头采集的一段连续的表盘图片帧作为原图片视频,并将原图片视频中的每一帧进行表盘读数结果的计算,将读数结果顺序地写入读数结果文件中,最后将原图片视频和读数结果文件上传至服务器平台。该改动减少了远程读表一体机与服务器平台进行数据传输地次数,降低了远程读表一体机与服务器平台建立数据传输连接的开销,提高了读数的实时性。
38.进一步地,所述步骤1)中的计算表盘读数结果方法具体为:
39.10)从原图片视频中取出未处理的第一帧作为原图片f;
40.11)远程读表一体机从服务器平台获取指定表盘的模板图片t,并设置一个数据缓存区,用于存放表盘在原图片f中所处的区域和透视变换的变换矩阵;其中,所述指定表盘的模板图片t指的是远程读表客户端指定的表盘的模板图片t发送给服务器平台,再由服务器平台发送给远程读表一体机;
41.12)判断数据缓存区是否为空,若数据缓存区不为空,则从数据缓存区中读取表盘在原图片f中所处的区域,进入步骤15);若数据缓存区为空,则进入步骤13);
42.13)从模板图片t和原图片f中分别提取出所有特征点,利用特征点匹配得到匹配的特征点对,记为(p
j,t
,p
j,f
),其表示表盘上同一个目标点p
j
在模板图片t和原图片f上的投影点;
43.14)对于所有匹配的特征点集合,记为(p
t
,p
f
),求出从p
t
映射到p
f
的最优单映射变换矩阵m,满足p
t
=mp
f
,根据模板图片t的四个顶点坐标左乘变换矩阵m映射在原图片f上,映射后的顶点坐标围成的区域即为表盘在原图片f中所处的区域;
44.15)通过表盘在原图片f中所处的区域提取出表盘,并对其进行透视变换,得到透视变换的变换矩阵m
′
和校正后的表盘图像f
′
;判断数据缓存区是否为空,若数据缓存区为空,将表盘在原图片f中所处的区域和透视变换的变换矩阵m
′
放入数据缓存区中;
45.16)对表盘图像f
′
进行预处理和二值化处理,转化为像素值仅有0或255的单通道二值图像b;
46.17)对二值图像b使用霍夫曼直线检测提取出表盘指针并求出其旋转角度,若霍夫曼直线检测失败,表示此时表盘在原图片f中所处的区域和透视变换的变换矩阵是错误的,则将数据缓存区清空,返回步骤10),重新计算表盘在原图片f中所处的区域和透视变换的变换矩阵;
47.18)根据模板图片t中对应的表盘信息,将指针的角度转换为指针读数r;
48.19)将指针读数r存储至读数结果文件中;当原图片视频中所有帧都处理完后,远程读表一体机将原图片视频和读数结果文件上传至服务器平台。
49.进一步地,所述表盘信息包括:表盘读数的范围,指针的起始角度和结束角度。
50.进一步地,所述步骤15)中对表盘进行透视变换的方法为:
51.151)判断数据缓存区是否为空,若数据缓存区不为空,则从数据缓存区中读取透视变换的变换矩阵m
′
;若数据缓存区为空,使用与步骤14)中求最优单映射变换矩阵相同的方法,求得由原图片特征点到模板图片特征点的变换矩阵,即从p
f
到p
t
的变换矩阵,记为m
′
;
52.152)将步骤14)所得的原图片f中表盘所处的区域中的每一个像素根据m
′
进行映射,相当于将表盘在原图片f中的特征点位置映射回模板图片t中相应的特征点位置,达到校正表盘偏转角度和旋转角度的效果,得到校正后的表盘图像f
′
。
53.进一步地,所述步骤16)中对表盘图像进行预处理和二值化处理后得到的二值图像进行骨架提取,将宽度大于1像素的白色区域细化为仅有1像素宽,以提高读数精度。
54.进一步地,所述步骤16)中对表盘图像进行预处理和二值化处理的方法为:
55.161)将表盘图像灰度化,将三通道的rgb图片转换为单通道的灰度图;
56.162)对单通道的灰度图进行直方图均衡化,使图中的整体灰度均匀分布在0到255之间,增强对比度;
57.163)对直方图均衡化后的灰度图进行取反操作,即对图像每一个像素点,用255减去其灰度值;
58.164)对取反后的灰度图进行高斯滤波操作,平滑图像;
59.165)对高斯滤波后的灰度图进行图像形态学中的腐蚀操作,消除图像中的噪音,使边缘更加细化和连续;
60.166)设置灰度阈值th,将腐蚀后的灰度图中的像素以th为界分为0和255,得到易于提取指针的二值图像b;其中,th默认设置为160;
61.167)对二值图像b进行骨架提取,细化图像。
62.本发明的有益效果:
63.1、高精度实时读数监测:对单指针式表盘的读数进行高精度的实时监测,每秒三帧左右可以满足远程读表的实时性要求;
64.2、降低计算开销:本发明根据读数的场景,优化了在算法执行中特征点匹配的次数,在不降低读表精度的前提下提高了读数的实时性;
65.3、较强的鲁棒性:由于算法中结合了特征点匹配和一些对图片的预处理操作,可以对各式指针式表盘进行读数;允许摄像头与表盘正面有一定的偏转角度;并且表盘自身在与摄像头夹角不变的情况下,可以进行任意角度的旋转。
66.4、成本低廉:在有边缘处理器和表盘的基础上,只需要加装一个廉价的摄像头即可运行远程读表系统,成本很低。
附图说明
67.图1为本发明的系统架构图;
68.图2为本发明方法的流程图;
69.图3为模板匹配示意图;
70.图4为图像预处理、二值化处理及骨架提取效果图。
具体实施方式
71.为了便于本领域技术人员的理解,下面结合实施例与附图对本发明作进一步的说明,实施方式提及的内容并非对本发明的限定。
72.参照图1所示,本发明的一种基于边缘计算的远程读表系统,包括:远程读表一体机、服务器平台和远程读表客户端;其中,
73.远程读表一体机,用于实时获取图片信息,以提取表盘并计算表盘读数结果,将结果数据发送至服务器平台;所述远程读表一体机包括:摄像头、处理器及通信接口;
74.摄像头,用于采集表盘图片信息;
75.处理器,用于根据摄像头采集的图片及服务器平台中存储的表盘模板图片来获取表盘并计算表盘读数结果;
76.通信接口,用于将表盘读数结果发送至服务器平台;
77.服务器平台,用于实时获取远程读表一体机发送的表盘读数结果数据,并将其存储于数据库中,且数据库中存储有表盘的模板图片;
78.远程读表客户端,用于实时从服务器平台的数据库中获得表盘读数结果,及对历史读表数据进行查询;所述远程读表客户端还发送表盘的模板图片给服务器平台。
79.其中,所述处理器获取表盘的具体方法:
80.a.接收摄像头采集的表盘原图片f;
81.b.从服务器平台获取指定表盘的模板图片t;
82.c.从模板图片t和原图片f中分别提取出所有特征点,利用特征点匹配得到匹配的特征点对,记为(p
j,t
,p
j,f
),其表示表盘上同一个目标点p
j
在模板图片t和原图片f上的投影点;
83.d.对于所有匹配的特征点集合,记为(p
t
,p
f
),求出从p
t
映射到p
f
的最优单映射变换矩阵m,满足p
t
=mp
f
,根据模板图片t的四个顶点坐标左乘变换矩阵m映射在原图片f上,映射后的顶点坐标围成的区域即为表盘在原图片f中所处的区域;
84.e.通过表盘在原图片f中所处的区域提取出表盘,并对其进行透视变换,得到透视变换的变换矩阵m
′
和校正后的表盘图像f
′
。
85.其中,所述处理器计算表盘读数结果具体方法:
86.f.对表盘图像f
′
进行预处理和二值化处理,转化为像素值仅有0或255的单通道二值图像b;
87.g.对二值图像b使用霍夫曼直线检测得出表盘指针并求出其旋转角度;
88.h.根据模板图片t中对应的表盘信息,将表盘指针的旋转角度转换为指针读数r。
89.参照图2所示,本发明的一种基于边缘计算的远程读表系统的工作方法,基于上述系统,包括步骤如下:
90.1)远程读表一体机从服务器平台获取模板图片t,通过摄像头获取表盘原图片f,并根据表盘原图片f和模板图片t计算得到表盘读数结果;
91.2)将表盘原图片f和得到的表盘读数结果发送给服务器平台,服务器平台将读数结果数据保存在数据库中;
92.3)远程读表客户端获取服务器平台中的表盘原图片f和相应的表盘读数结果,并进行显示。
93.优选示例中,所述工作方法还包括:初始时,远程读表客户端发送待测表盘的正面图至服务器平台,作为模板图片t。
94.优选示例中,所述步骤1)中的计算表盘读数结果方法包括:模板匹配和指针检测;
95.模板匹配:参照图3所示,通过将摄像头获取的原图片f与模板图片t进行特征点匹配,从原图片中提取出表盘,并根据原图片与模板图片中特征点的对应关系,对原图片中的表盘进行透视变换,最终得到校正后的表盘图像;
96.指针检测:对校正后的表盘图像进行预处理、二值化处理及骨架提取,再利用霍夫曼直线检测提取指针并求出其偏转角度。
97.优选示例中,所述步骤1)中的计算读数结果中,包括了模板匹配和指针检测两个子步骤,对于表盘读数场景中,表盘的位置往往是固定不变的,因此考虑到算法效率,设置一个数据缓存区用于存储表盘在原图片f中所处的区域和透视变换的变换矩阵。经过以上改进后,减少了算法执行中模板匹配的次数,在不影响读数准确率的前提下提高了读数的实时性。
98.优选示例中,所述步骤1)中远程读表一体机将摄像头采集的一段连续的表盘图片帧作为原图片视频,并将原图片视频中的每一帧进行表盘读数结果的计算,将读数结果顺序地写入读数结果文件中,最后将原图片视频和读数结果文件上传至服务器平台。该改动减少了远程读表一体机与服务器平台进行数据传输地次数,降低了远程读表一体机与服务器平台建立数据传输连接的开销,提高了读数的实时性。
99.具体实施例中,所述步骤1)中的计算表盘读数结果方法具体为:
100.10)从原图片视频中取出未处理的第一帧作为原图片f;
101.11)远程读表一体机从服务器平台获取指定表盘的模板图片t,并设置一个数据缓存区,用于存放表盘在原图片f中所处的区域和透视变换的变换矩阵;其中,所述指定表盘的模板图片t指的是远程读表客户端指定的表盘的模板图片t发送给服务器平台,再由服务器平台发送给远程读表一体机;
102.12)判断数据缓存区是否为空,若数据缓存区不为空,则从数据缓存区中读取表盘在原图片f中所处的区域,进入步骤15);若数据缓存区为空,则进入步骤13);
103.13)从模板图片t和原图片f中分别提取出所有特征点,利用特征点匹配得到匹配的特征点对,记为(p
j,t
,p
j,f
),其表示表盘上同一个目标点p
j
在模板图片t和原图片f上的投影点;
104.14)对于所有匹配的特征点集合,记为(p
t
,p
f
),求出从p
t
映射到p
f
的最优单映射变换矩阵m,满足p
t
=mp
f
,根据模板图片t的四个顶点坐标左乘变换矩阵m映射在原图片f上,映射后的顶点坐标围成的区域即为表盘在原图片f中所处的区域;
105.15)通过表盘在原图片f中所处的区域提取出表盘,并对其进行透视变换,得到透视变换的变换矩阵m
′
和校正后的表盘图像f
′
;判断数据缓存区是否为空,若数据缓存区为空,将表盘在原图片f中所处的区域和透视变换的变换矩阵m
′
放入数据缓存区中;
106.16)对表盘图像f
′
进行预处理和二值化处理,转化为像素值仅有0或255的单通道二值图像b;
107.17)对二值图像b使用霍夫曼直线检测提取出表盘指针并求出其旋转角度,若霍夫曼直线检测失败,表示此时表盘在原图片f中所处的区域和透视变换的变换矩阵是错误的,
则将数据缓存区清空,返回步骤10),重新计算表盘在原图片f中所处的区域和透视变换的变换矩阵;
108.18)根据模板图片t中对应的表盘信息,将指针的角度转换为指针读数r;
109.19)将指针读数r存储至读数结果文件中;当原图片视频中所有帧都处理完后,远程读表一体机将原图片视频和读数结果文件上传至服务器平台。
110.其中,所述表盘信息包括:表盘读数的范围,指针的起始角度和结束角度。
111.具体实施例中,所述步骤15)中对表盘进行透视变换的方法为:
112.151)判断数据缓存区是否为空,若数据缓存区不为空,则从数据缓存区中读取透视变换的变换矩阵m
′
;若数据缓存区为空,使用与步骤14)中求最优单映射变换矩阵相同的方法,求得由原图片特征点到模板图片特征点的变换矩阵,即从p
f
到p
t
的变换矩阵,记为m
′
;
113.152)将步骤14)所得的原图片f中表盘所处的区域中的每一个像素根据m
′
进行映射,相当于将表盘在原图片f中的特征点位置映射回模板图片t中相应的特征点位置,达到校正表盘偏转角度和旋转角度的效果,得到校正后的表盘图像f
′
。
114.具体实施例中,所述步骤16)中对表盘图像进行预处理和二值化处理后得到的二值图像进行骨架提取,将宽度大于1像素的白色区域细化为仅有1像素宽,以提高读数精度。
115.具体实施例中,参照图4所示,所述步骤16)中对表盘图像进行预处理和二值化处理的方法为:
116.161)将表盘图像灰度化,将三通道的rgb图片转换为单通道的灰度图;
117.162)对单通道的灰度图进行直方图均衡化,使图中的整体灰度均匀分布在0到255之间,增强对比度;
118.163)对直方图均衡化后的灰度图进行取反操作,即对图像每一个像素点,用255减去其灰度值;
119.164)对取反后的灰度图进行高斯滤波操作,平滑图像;
120.165)对高斯滤波后的灰度图进行图像形态学中的腐蚀操作,消除图像中的噪音,使边缘更加细化和连续;
121.166)设置灰度阈值th,将腐蚀后的灰度图中的像素以th为界分为0和255,得到易于提取指针的二值图像b;其中,th默认设置为160;
122.167)对二值图像b进行骨架提取,细化图像。
123.本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。