一种基于摄像远传水表的水表冻裂检测方法与流程

文档序号:32307396发布日期:2022-11-23 10:27阅读:113来源:国知局
一种基于摄像远传水表的水表冻裂检测方法与流程

1.本发明涉及水表冻裂检测,具体涉及一种基于摄像远传水表的水表冻裂检测方法。


背景技术:

2.众所周知,水是生命之源,老百姓的日常生活是与水源密不可分。水表作为一种测量流经管道的单向水流总量的设备,在日常生活中随处可见,但是水表经常容易受到极端天气的影响,该情况在北方尤为常见。
3.由于北方出现的寒冷天气较为频繁,会导致水表出现冻裂现象。在天气温度较低的情况下,水表内部水体会冻结,停止流动,或者水流很细;当天气温度非常低时,由于水表是金属体,当其受到热胀冷缩的影响时,水表上的玻璃盖就会发生破裂,进而出现漏水的情况,影响用户正常用水,同时也会造成水体大量流失,给用户和社会带来严重的负面影响。
4.为了解决上述问题,许多北方家庭会在寒冷天气到来之前,对水表和管道包裹保温层,以减少恶劣天气的影响,同时人为定期观察水表有无冻裂情况。但是,往往水表出现冻裂情况后才被发现,已经造成一定水体流失,因此提前对水表进行冻裂检测及预警显得尤为重要。


技术实现要素:

5.(一)解决的技术问题
6.针对现有技术所存在的上述缺点,本发明提供了一种基于摄像远传水表的水表冻裂检测方法,能够有效克服现有技术所存在的无法对水表冻裂进行准确检测的缺陷。
7.(二)技术方案
8.为实现以上目的,本发明通过以下技术方案予以实现:
9.一种基于摄像远传水表的水表冻裂检测方法,包括以下步骤:
10.s1、摄像远传水表采集表盘图像,利用神经网络模型对表盘图像进行初检测;
11.s2、图像线条检测:计算表盘图像对应灰度图像中各像素点的总梯度,利用梯度幅值的非最大抑制删除绝大部分的非边缘点,并采用双阈值方法减少假边缘数量,通过对边缘图像进行线条分析判断表盘图像中是否出现裂纹;
12.s3、图像梯度检测:绘制出表盘图像对应的梯度图,通过对梯度图中所有像素点的总梯度进行数量分析判断表盘图像中是否出现裂纹;
13.s4、图像亮度检测:绘制出表盘图像对应的灰度直方图,通过对灰度直方图进行图像亮度分布规律分析判断表盘图像中是否出现裂纹。
14.优选地,s1中利用神经网络模型对表盘图像进行初检测,包括:
15.构建图像训练集,利用图像训练集对resnet-18网络进行参数迭代训练;
16.使用训练好的resnet-18网络对输入的表盘图像进行分类,根据分类结果判断表盘图像中是否出现裂纹;
17.其中,resnet-18网络的最后一层为单个神经元的全连接层。
18.优选地,s2中计算表盘图像对应灰度图像中各像素点的总梯度,包括:
19.采用sobel算子计算灰度图像中各像素点的水平方向梯度g
x
和垂直方向梯度gy,并计算得到各像素点的总梯度g:
20.g
x
=m
x
*a
ꢀꢀꢀ
(1)
21.gy=my*a
ꢀꢀꢀ
(2)
[0022][0023]
其中,m
x
为sobel算子中的水平方向梯度算子,my为sobel算子中的垂直方向梯度算子,a代表灰度图像。
[0024]
优选地,s2中计算表盘图像对应灰度图像中各像素点的总梯度之前,包括:
[0025]
对表盘图像进行灰度化操作,使其变成单通道图像,采用高斯滤波对该单通道图像进行图像滤波,得到较为平滑的灰度图像。
[0026]
优选地,s2中利用梯度幅值的非最大抑制删除绝大部分的非边缘点,包括:
[0027]
构建图像梯度幅值矩阵,查找像素点的局部最大值,将非极大值点所对应的灰度值设为0。
[0028]
优选地,s2中采用双阈值方法减少假边缘数量,包括:
[0029]
设置一个高阈值和一个低阈值,基于高阈值得到中间边缘图像,并将中间边缘图像中的边缘连成轮廓;
[0030]
在轮廓端点的8邻域中寻找满足低阈值的点,以该点作为新的起点,重新收集新的边缘,直至整个图像的边缘都闭合,得到边缘图像。
[0031]
优选地,s2中通过对边缘图像进行线条分析判断表盘图像中是否出现裂纹,包括:
[0032]
对边缘图像中的各线条分析其水平长度和竖直长度,若线条的水平长度和竖直长度均超过设定像素数量阈值,则认定该线条为裂纹。
[0033]
优选地,s3中绘制出表盘图像对应的梯度图,通过对梯度图中所有像素点的总梯度进行数量分析判断表盘图像中是否出现裂纹,包括:
[0034]
通过公式(1)~(3)计算梯度图中各像素点的总梯度g’,并计算所有像素点的总梯度之和t;
[0035]
若总梯度之和t满足下式,则认定表盘图像中出现裂纹:
[0036]
t≥2*h*w
ꢀꢀꢀ
(4)
[0037]
其中,h、w分别表示梯度图的高度、宽度。
[0038]
优选地,s4中绘制出表盘图像对应的灰度直方图,通过对灰度直方图进行图像亮度分布规律分析判断表盘图像中是否出现裂纹,包括:
[0039]
统计灰度直方图中像素值在250以上的白色像素点数量,若白色像素点数量占总像素点数量的40%以上,则认定表盘图像中出现裂纹。
[0040]
优选地,所述灰度直方图的横坐标为256个点,范围在0-255,纵坐标表示图像中像素值为当前横坐标值对应的像素点数量。
[0041]
(三)有益效果
[0042]
与现有技术相比,本发明所提供的一种基于摄像远传水表的水表冻裂检测方法,
具有以下有益效果:
[0043]
1)本方法能够在非人工参与的情况下,自动对水表冻裂进行检测预警,并且能够有效保证水表冻裂检测的准确率,极大程度上降低了水表冻裂所带来的负面影响;
[0044]
2)将深度学习方法与传统图像检测方法应用到水表裂纹判断中,可以同时利用多种方法来判断当前水表有无裂纹,能够保证较高的水表冻裂检测准确度;
[0045]
3)每隔一定时间进行图片采集和检测,可以最大程度对水表冻裂进行及时预警,并且降低了冗余的计算开销(一般情况下水表在较短时间间隔内出现冻裂并迅速发展的可能性非常低),有效节省了计算成本,实用性高。
附图说明
[0046]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0047]
图1为本发明的流程示意图;
[0048]
图2为本发明中sobel算子的示意图;
[0049]
图3为本发明中表盘图像及其对应的边缘图像;
[0050]
图4为本发明中表盘图像及其对应的梯度图;
[0051]
图5为本发明中表盘图像对应的灰度直方图。
具体实施方式
[0052]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0053]
一种基于摄像远传水表的水表冻裂检测方法,如图1所示,

摄像远传水表采集表盘图像(每隔一定时间进行表盘图像采集),利用神经网络模型对表盘图像进行初检测。
[0054]
其中,利用神经网络模型对表盘图像进行初检测,包括:
[0055]
构建图像训练集,利用图像训练集对resnet-18网络进行参数迭代训练;
[0056]
使用训练好的resnet-18网络对输入的表盘图像进行分类,根据分类结果判断表盘图像中是否出现裂纹;
[0057]
其中,resnet-18网络的最后一层为单个神经元的全连接层。
[0058]
神经网络在图像检测领域已经得到成熟应用,因此本技术中首先采用深度学习方法对表盘图像进行裂纹检测。在利用神经网络模型检测裂纹时,必须准备好标注数据,首先收集2万张表盘图像,其中包含1万张没有冻裂的表盘图像,以及1万张包含不同冻裂程度的表盘图像(每张图像中水表的冻裂裂纹为1-10个不等);其次对以上表盘图像进行标注,含有冻裂裂纹的表盘图像标记为1,没有冻裂裂纹的表盘图像标记为0。
[0059]
本技术采用经典的resnet-18网络作为检测模型,该神经网络模型的最后一层为单个神经元的全连接层。待数据准备完毕后,利用以上2万张表盘图像对resnet-18网络共
进行1000次的参数迭代训练,训练结束后,便可使用训练好的神经网络模型对输入的表盘图像进行分类,根据分类结果判断表盘图像中是否出现裂纹。
[0060]
由于该神经网络模型的最后一层为单个神经元的全连接层,所以该层的输出结果为0-1之间的概率值,基于输出的概率值便能够判断当前输入的表盘图像中出现裂纹的可能性(概率值大于0.5,说明当前输入的表盘图像中出现裂纹)。
[0061]
在上述技术方案中,已经采用深度学习方法对表盘图像进行裂纹检测,但是由于采集的表盘图像具有多样性,神经网络检测存在漏检的可能。为了尽可能避免漏检现象的发生,在神经网络检测后,本技术采用传统图像检测方法进行裂纹检测,进一步提高裂纹检测的准确度。
[0062]
在传统图像检测方法中,主要包含三个子方法:图像线条检测、图像梯度检测、图像亮度检测,每个方法相互独立。
[0063]

图像线条检测:计算表盘图像对应灰度图像中各像素点的总梯度,利用梯度幅值的非最大抑制删除绝大部分的非边缘点,并采用双阈值方法减少假边缘数量,通过对边缘图像(如图3中右侧图像所示)进行线条分析判断表盘图像中是否出现裂纹。
[0064]
对于水表来说,如果出现了裂纹,那么在采集的表盘图像中会出现线条的痕迹,且线条往往呈现出一定的倾斜角度(很少是竖直或水平方向的线条)。因此,在图像线条检测中,可以通过检测表盘图像中有无倾斜角度的线条,来判断表盘图像中是否出现裂纹,本技术在这部分采用canny边缘检测的方法执行。
[0065]
1)计算表盘图像对应灰度图像中各像素点的总梯度之前,包括:
[0066]
对表盘图像进行灰度化操作,使其变成单通道图像,采用高斯滤波对该单通道图像进行图像滤波,得到较为平滑的灰度图像。
[0067]
由于图像中可能存在噪声,且噪声主要分布在高频,噪声的存在会影响边缘检测的结果(噪声会被当做边缘的一部分)。因此,本技术采用高斯平滑滤波器进行图像滤波。
[0068]
2)计算表盘图像对应灰度图像中各像素点的总梯度,包括:
[0069]
采用sobel算子计算灰度图像中各像素点的水平方向梯度g
x
和垂直方向梯度gy,并计算得到各像素点的总梯度g:
[0070]gx
=m
x
*a
ꢀꢀꢀ
(1)
[0071]gy
=my*a
ꢀꢀꢀ
(2)
[0072][0073]
其中,m
x
为sobel算子中的水平方向梯度算子(如图2中左侧图像所示),my为sobel算子中的垂直方向梯度算子(如图2中右侧图像所示),a代表灰度图像。
[0074]
3)利用梯度幅值的非最大抑制删除绝大部分的非边缘点,包括:
[0075]
构建图像梯度幅值矩阵,查找像素点的局部最大值,将非极大值点所对应的灰度值设为0。
[0076]
对于图像梯度幅值矩阵来说,如果矩阵中某一点的值越大,则表明该点对应的梯度值越大,但是这不一定保证该点就一定是图像边缘中的一点。因此,本技术利用梯度幅值的非最大抑制删除绝大部分的非边缘点,通过查找像素点的局部最大值,然后将非极大值点所对应的灰度值设为0。
[0077]
4)采用双阈值方法减少假边缘数量,包括:
[0078]
设置一个高阈值和一个低阈值,基于高阈值得到中间边缘图像,并将中间边缘图像中的边缘连成轮廓;
[0079]
在轮廓端点的8邻域中寻找满足低阈值的点,以该点作为新的起点,重新收集新的边缘,直至整个图像的边缘都闭合,得到边缘图像。
[0080]
在canny边缘检测算法中,为了减少假边缘造成的信息干扰,采用双阈值方法来减少假边缘数量。首先设置一个高阈值,基于高阈值得到中间边缘图像,由于阈值设置的太高,虽然图像中会包含很少的假边缘,但是图像的边缘可能会不闭合。基于此,再设置一个低阈值。
[0081]
对于中间边缘图像,将其边缘连成轮廓,并在轮廓端点的8邻域中寻找满足低阈值的点,以该点作为新的起点,重新收集新的边缘,直至整个图像的边缘都闭合,最终可获得边缘图像(如图3中右侧图像所示,该图像中记录了包含的线条信息)。
[0082]
5)通过对边缘图像进行线条分析判断表盘图像中是否出现裂纹,包括:
[0083]
对边缘图像中的各线条分析其水平长度和竖直长度,若线条的水平长度和竖直长度均超过设定像素数量阈值(6个像素),则认定该线条为裂纹。
[0084]

图像梯度检测:绘制出表盘图像对应的梯度图(如图4中右侧图像所示),通过对梯度图中所有像素点的总梯度进行数量分析判断表盘图像中是否出现裂纹,具体包括:
[0085]
通过公式(1)~(3)计算梯度图中各像素点的总梯度g’,并计算所有像素点的总梯度之和t;
[0086]
若总梯度之和t满足下式(说明当前表盘图像的总梯度值很大),则认定表盘图像中出现裂纹:
[0087]
t≥2*h*w
ꢀꢀꢀ
(4)
[0088]
其中,h、w分别表示梯度图的高度、宽度。
[0089]
如果一幅图像中出现了线条,那么该线条对应位置处的梯度值一定很大。因此,在图像梯度检测中,可以通过绘制出表盘图像对应的梯度图,然后判断梯度图中所有像素点的总梯度之和是否超过设定梯度阈值,来判断表盘图像中是否出现裂纹。如果该总梯度之和不小于设定梯度阈值,则认定表盘图像中出现裂纹。
[0090]

图像亮度检测:绘制出表盘图像对应的灰度直方图(如图5所示),通过对灰度直方图进行图像亮度分布规律分析判断表盘图像中是否出现裂纹,具体包括:
[0091]
统计灰度直方图中像素值在250以上的白色像素点数量,若白色像素点数量占总像素点数量的40%以上,则认定表盘图像中出现裂纹。
[0092]
其中,灰度直方图的横坐标为256个点,范围在0-255,纵坐标表示图像中像素值为当前横坐标值对应的像素点数量。
[0093]
在采集表盘图像时,如果出现裂纹,那么拍摄时由于裂纹断面反光的原因,会导致拍摄图片整体相对偏白(与没有裂纹时相比)。因此,在图像亮度检测中,可以通过对表盘图像进行颜色成分分析,来判断表盘图像中是否出现裂纹。
[0094]
具体方法为对采集的表盘图像进行灰度化操作,然后绘制其灰度直方图(如图5所示)。灰度直方图的横坐标为256个点,范围在0-255,纵坐标表示图像中像素值为当前横坐标值对应的像素点数量,则该直方图描述的是表盘图像中像素值的分布情况。由于白色像
素点的像素值往往偏向于255,因此只统计像素值在250以上的“白色像素点”的数量。
[0095]
由于图像亮度检测是在上述所有检测方法之后进行的,说明当前表盘图像中有很大的几率表明水表上的裂纹较少或是没有裂纹,因此“白色像素点”的数量占整张图像的比例往往不会过大。相关实验统计表明,当水表上出现至少一条裂纹时,其“白色像素点”的数量占比基本可以达到40%以上,因此在图像亮度检测中,设定占比比例阈值为40%,“白色像素点”的数量占比达到40%时,则认定表盘图像中出现裂纹。
[0096]
本技术技术方案中,将深度学习方法与传统图像检测方法应用到水表裂纹判断中,可以同时利用多种方法来判断当前水表有无裂纹,能够保证较高的水表冻裂检测准确度。
[0097]
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1