基于机器视觉的非智能水表识读方法技术

技术编号:22262387 阅读:41 留言:0更新日期:2019-10-10 14:57
本发明专利技术公开了基于机器视觉的非智能水表识读方法,首先读取用户上传的水表图片以及模板图片,通过SIFT算法获取水表图片与模板图片的关键点进行关键点的匹配,从而找出模板图片在水表图片中的位置。通过关键点的匹配,获得特征区域的匹配点的位置从而获得特征区域的位置。在确定特征区域位置后,截取特征区域。通过特征区域的匹配点矫正截取的特征区域图片,获得矫正角度,从而矫正水表图片。对矫正后的水表图片再次定位特征区域的位置,从而获得水表示数位置,截取水表示数区域,对其进行二值化及去噪等处理后分割为单个数字字符的图片,最后通过模板匹配算法识别数字并输出。

Unintelligent Water Meter Recognition Method Based on Machine Vision

【技术实现步骤摘要】
基于机器视觉的非智能水表识读方法
本专利技术涉及计算机图像处理技术,具体涉及尺度不变特征转换、目标定位、自适应阈值二值化、图像矫正、中值滤波、连通域去噪,以及字符分割与识别方法应用于非智能水表识读系统。
技术介绍
水是生命之源,是人们在生活中最不能缺少的重要物质。水资源是有限的且需要收费,供水公司为了统计每一户的用水量,在每户的进水设备上都安装了水表,用来统计用水量并根据用水量来收费。水表抄表是用水计量收费的前提,也是住户了解自身用水需求的途径。随着现代计算机技术的飞速发展,计算机技术的进步为人们的衣食住行提供了非常大的便捷,人类生活已经逐渐的迈向了自动化以及智能化。人类的生活离不开水,每家每户都有水表来记录家庭的每月用水量,我国现阶段大多数用的还是非智能水表,自来水公司每个月都需要派遣大量人力去到小区的家家户户去抄水表,这无疑是一项巨大的工程,依靠这种传统的人工方式去抄水表和收费,存在着诸多的弊端。我国目前使用量最多的还是传统的机械式水表,若全部更换智能水表,需要的成本较高。出于经济成本以及可操作性等因素的考虑,在不改变原来非智能水表结构的基础上,智能化的抄表方式显得愈发重要。为了节省人力物力,也减少改造成本,现提出一种通过对拍照获得的图片进行处理,进而对示数区域定位并识读的方法。这种方式的好处在于不必强制性改变水表的结构,用户只需要通过手机等拍照设备定期对水表表盘拍照并上传,水表公司就能通过用户上传的照片获得该用户的水表读数。利用计算机视觉以及数字图像处理技术来对获取的水表图像进行一定的处理,然后识别其中的读数,并将获得的数据存储起来,是一种非常快速、高效又经济的方式。使用自动识读,既提高了工作效率,也能节约用水资源。
技术实现思路
本专利技术的目的在于解决现有抄表方式费时费力的问题,提供了一种可靠的图像处理算法,能准确、方便地通过对获取的用户水表图像进行处理,读取水表示数,为相关管理人员带来很大的便利。为实现上述目的,本文采用的技术方案为基于机器视觉的非智能水表识读。该方案对用户提交的图像进行处理,实现对数字区域定位,获取数字区域后对数进行分割和识别,最终获得水表读数。上述方法的步骤如下:S1读取用户上传的图片,利用基于尺度不变特征转换算法检测模板图片和待匹配图片的关键点,提取特征向量;S1.1尺度空间极值点检测。S1.1.1构建图像金字塔。尺度空间唯一可行的核就是高斯函数。因此,被定义为一幅图像尺度空间函数的L(x,y,σ)是由尺度可变的高斯函数G(x,y,σ)和输入图像I(x,y)的卷积产生:L(x,y,σ)=G(x,y,σ)*I(x,y)其中*为G(x,y,σ)与I(x,y)之间的卷积运算,x,y分别表示图像的横纵坐标,σ是尺度空间坐标。图像的金字塔模型是指,将原始图像不断降阶采样,得到一系列大小不一的图像,由大到小,从下到上构成的塔状模型。原图像为金子塔的第一层,每次降采样所得到的新图像为金字塔的一层(每层一张图像),每个金字塔共n层。金字塔的层数根据图像的原始大小和塔顶图像的大小共同决定,其计算公式如下:n=log2{min(M,N)}-t,t∈[0,log2{min(M,N)})其中M,N为原图像的大小,t为塔顶图像的最小维数的对数值。S1.1.2构造高斯差分尺度空间(DOG)。为了在尺度空间中检测稳定的关键点,构造高斯差分尺度空间D(x,y,σ):D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)其中k为两相邻尺度空间倍数的常数,L(x,y,σ)表示由一个高斯滤波器与原图像卷积而生成的图像,I(x,y)表示原图像。S1.1.3为了探测到D(x,y,σ)的局部最大值和最小值,每个样本点都要和该样本点当前图像的8个近邻以及上下尺度上的各9个近邻相比较,只有在样本点比所有近邻大或者小时才会被选择。S1.2特征点的精确定位。离散空间的极值点并不是真正的极值点,利用已知的离散空间点插值得到的连续空间极值点的方法叫做子像素插值。为了提高关键点的稳定性,需要对尺度空间DOG函数进行曲线拟合。利用DOG函数在尺度空间的Taylor展开式或拟合函数为:其中x=(x,y,σ)T。S1.3关键点方向分配。为了使描述符具有旋转不变性,需要利用图像的局部特征为给每一个关键点分配一个基准方向。使用图像梯度的方法求取局部结构的稳定方向。对于在DOG金字塔中检测出的关键点点,采集其所在高斯金字塔图像3σ邻域窗口内像素的梯度和方向分布特征。梯度的模值和方向如下:其中,L(x,y)表示由一个高斯滤波器与原图像卷积而生成的图像。在完成关键点的梯度计算后,使用直方图统计邻域内像素的梯度和方向。梯度直方图将0~360度的方向范围分为36个柱(bins),其中每柱10度。方向直方图的峰值则代表了该特征点处邻域梯度的方向,以直方图中最大值作为该关键点的主方向。为了增强匹配的鲁棒性,保留峰值大于主方向峰值80%的方向作为该关键点的辅方向。因此,对于同一梯度值的多个峰值的关键点位置,在相同位置和尺度将会有多个关键点被创建但方向不同。仅有15%的关键点被赋予多个方向,但可以明显的提高关键点匹配的稳定性。实际编程实现中,就是把该关键点复制成多份关键点,并将方向值分别赋给这些复制后的关键点,并且,离散的梯度方向直方图要进行插值拟合处理,来求得更精确的方向角度值。至此,将检测出的含有位置、尺度和方向的关键点即是该图像的SIFT特征点(关键点)。S2标记特征区域。利用基于尺度不变特征转换算法得到的关键点在图片上将给定的模板图片标记出来。模板图片为水表上的单位m3。(后文将水表图片上与模板图片相同区域称谓特征区域)S2.1进行关键点匹配,并进行匹配点的初步筛选。分别检测两张图像的关键点,并计算出每个关键点的相似程度,分别得到两个集合SET1和SET2;为SET1中每个关键点,从SET2找最佳匹配(即欧式距离最小的为最佳匹配),然后反过来,为SET2每个关键点,从SET1中找最佳匹配,只有彼此认为是最佳匹配的那些关键点对才是匹配点。由于每个关键点为128维,故设有两个关键点向量分别为R=(r1,r2,...,r128)和S=(s1,s2,...,s128),R与S的欧式距离计算公式为:d值越小,则两个关键点的相似度越高,匹配程度越高。S2.2通过匹配点确定模板图片在待检测图片中的大致位置。由于模板图片与待检测图片中的特征区域并不是完全一样(即使不存在倾斜于旋转,但由于每个水表厂家使用的字体不同等因素影响),因此不能直接用opencv中自带的函数来标记出特征区域的位置。故通过全部匹配点的位置来确定特征区域的位置。由于存在误匹配点,通过匹配点的坐标中值来进一步删除误匹配点。最后以剩下所有匹配点的横纵坐标的中点作为特征区域的中心点。S3图片矫正。由于用户拍摄的图片存在旋转倾斜等情况,故在对数字区域处理前,需要对图片进行矫正。通过上一步确定的特征区域的中心点,截取特征区域,对截取的图片进行二值化处理,通过其的直方图特点对其进行矫正,或得矫正角度后进而对水表图片进行矫正。S3.1首先将图片进行二值化;S3.2由于m3的水平和垂直方向的直方图峰值最大,基于该特点找到图片旋转到水平和垂直方向经过的本文档来自技高网
...

【技术保护点】
1.基于机器视觉的非智能水表识读方法,其特征在于:对用户输入的图片和模板图片获取关键点;对关键点进行匹配,通过两幅图像的匹配点,确定特征区域的位置,即确定模板图片在用户上传的水表图片的位置;截取特征区域图片,通过该部分的直方图特点矫正特征区域图片,获得矫正角度,根据矫正角度矫正水表图片;对矫正后的水表图片再次寻找特征区域的位置,从而确定水表的示数区域;截取水表示数区域图片,对其进行二值化,去噪等处理后分割字符;对分割后的数字字符进行识别,最后按顺序输出,获得水表示数。

【技术特征摘要】
1.基于机器视觉的非智能水表识读方法,其特征在于:对用户输入的图片和模板图片获取关键点;对关键点进行匹配,通过两幅图像的匹配点,确定特征区域的位置,即确定模板图片在用户上传的水表图片的位置;截取特征区域图片,通过该部分的直方图特点矫正特征区域图片,获得矫正角度,根据矫正角度矫正水表图片;对矫正后的水表图片再次寻找特征区域的位置,从而确定水表的示数区域;截取水表示数区域图片,对其进行二值化,去噪等处理后分割字符;对分割后的数字字符进行识别,最后按顺序输出,获得水表示数。2.根据权利要求1所述的基于机器视觉的非智能水表识读方法,其特征在于:对用户输入的图片和模板图片获取关键点,作为后续特征区域定位的基础。3.根据权利要求1所述的基于机器视觉的非智能水表识读方法,其特征在于:通过前面获取的关键点,匹配水表图片与模板图片上的关键点,通过两幅图上能够匹配的匹配点确定特征区域的位置。4.根据权利要求1所述的基于机器视觉的非智能水表识读方法,其特征在于:截取特征区域图片并二值化,通过该部分的直方图特点矫正特征区域图片,从而获得矫正角度,通过矫正角度计算出转换矩阵,进而对水表图片进行矫正。5.根据权利要求1所述的基于机器视觉的非智能水表识读方法,其特征在于:对矫正后的水表图片再次寻找特征区域的位置,对矫正前特征区域关键点的位置通过转换矩阵的计算,获得矫正后特征区域关键点位置,确定新的特征区域,进而确定水表的示数区域。6.根据权利要求1所述的基于机器视觉的非智能水表识读方法,其特征在于:截取水表示数区域图片,采用自适应阈值对其进行二值化,并对其进行中值滤波和连通域去噪处理后根据该二值图像的垂直投影特点分割数字字符。7.根据权利要求1所述的基于机器视觉的非智能水表识读方法,其特征在于:对分割后的数字字符通过模板匹配算法进行识别,最后按顺序输出,获得水表示数。8.根据权利要求1所述的基于机器视觉的非智能水表识读方法,其特征在于:该方法的步骤如下,S1读取用户上传的图片,利用基于尺度不变特征转换算法检测模板图片和待匹配图片的关键点,提取特征向量;S1.1尺度空间极值点检测;S1.1.1构建图像金字塔;尺度空间唯一可行的核就是高斯函数;因此,被定义为一幅图像尺度空间函数的L(x,y,σ)是由尺度可变的高斯函数G(x,y,σ)和输入图像I(x,y)的卷积产生:L(x,y,σ)=G(x,y,σ)*I(x,y)其中*为G(x,y,σ)与I(x,y)之间的卷积运算,x,y分别表示图像的横纵坐标,σ是尺度空间坐标;图像的金字塔模型是指,将原始图像不断降阶采样,得到一系列大小不一的图像,由大到小,从下到上构成的塔状模型;原图像为金子塔的第一层,每次降采样所得到的新图像为金字塔的一层,每个金字塔共n层;金字塔的层数根据图像的原始大小和塔顶图像的大小共同决定,其计算公式如下:n=log2{min(M,N)}-t,t∈[0,log2{min(M,N)})其中M,N为原图像的大小,t为塔顶图像的最小维数的对数值;S1.1.2构造高斯差分尺度空间(DOG);为了在尺度空间中检测稳定的关键点,构造高斯差分尺度空间D(x,y,σ):D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)其中k为两相邻尺度空间倍数的常数,L(x,y,σ)表示由一个高斯滤波器与原图像卷积而生成的图像,I(x,y)表示原图像;S1.1.3为了探测到D(x,y,σ)的局部最大值和最小值,每个样本点都要和该样本点当前图像的8个近邻以及上下尺度上的各9个近邻相比较,只有在样本点比所有近邻大或者小时才会被选择;S1.2特征点的精确定位;离散空间的极值点并不是真正的极值点,利用已知的离散空间点插值得到的连续空间极值点的方法叫做子像素插值;利用DOG函数在尺度空间的Taylor展开式或拟合函数为:其中x=(x,y,σ)T;S1.3关键点方向分配;使用图像梯度的方法求取局部结构的稳定方向;对于在DOG金字塔中检测出的关键点点,采集其所在高斯金字塔图像3σ邻域窗口内像素的梯度和方向分布特征;梯度...

【专利技术属性】
技术研发人员:雷飞熊志美安长红
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1