CN116844172A - 一种基于深度学习的数字型老式水表的识别方法 - Google Patents
一种基于深度学习的数字型老式水表的识别方法 Download PDFInfo
- Publication number
- CN116844172A CN116844172A CN202310832737.9A CN202310832737A CN116844172A CN 116844172 A CN116844172 A CN 116844172A CN 202310832737 A CN202310832737 A CN 202310832737A CN 116844172 A CN116844172 A CN 116844172A
- Authority
- CN
- China
- Prior art keywords
- water meter
- data
- digital
- deep learning
- picture
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 178
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000013135 deep learning Methods 0.000 title claims abstract description 44
- 238000012549 training Methods 0.000 claims abstract description 24
- 238000012545 processing Methods 0.000 claims abstract description 10
- 238000004519 manufacturing process Methods 0.000 claims abstract description 8
- 230000011218 segmentation Effects 0.000 claims abstract description 8
- 238000010586 diagram Methods 0.000 claims abstract description 7
- 230000002708 enhancing effect Effects 0.000 claims abstract description 7
- 238000009826 distribution Methods 0.000 claims abstract description 6
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 4
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 238000002372 labelling Methods 0.000 claims description 14
- 238000013528 artificial neural network Methods 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 8
- 238000012795 verification Methods 0.000 claims description 7
- 238000004458 analytical method Methods 0.000 claims description 4
- 238000001914 filtration Methods 0.000 claims description 4
- 238000013519 translation Methods 0.000 claims description 4
- 230000006870 function Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims description 2
- 238000003672 processing method Methods 0.000 claims description 2
- 238000003860 storage Methods 0.000 claims description 2
- 238000004891 communication Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 3
- 238000009434 installation Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000013518 transcription Methods 0.000 description 1
- 230000035897 transcription Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
- G06V30/191—Design or setup of recognition systems or techniques; Extraction of features in feature space; Clustering techniques; Blind source separation
- G06V30/19147—Obtaining sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/70—Labelling scene content, e.g. deriving syntactic or semantic representations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/1463—Orientation detection or correction, e.g. rotation of multiples of 90 degrees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/146—Aligning or centring of the image pick-up or image-field
- G06V30/147—Determination of region of interest
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/15—Cutting or merging image elements, e.g. region growing, watershed or clustering-based techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/148—Segmentation of character regions
- G06V30/153—Segmentation of character regions using recognition of characters or words
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/02—Recognising information on displays, dials, clocks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公布了一种基于深度学习的数字型老式水表的识别方法,包括:摄像头定时拍摄水表图片;将拍摄的水表图片以及水表拍摄时间等信息上传到云端;对水表图像进行预处理并且对预处理后的图片进行数据增强;将增强处理后的水表图像的数字框部分制作成数据集,对数据集进行标注和训练;运用深度学习中的yolo分割模块将水表数字框部分提取出来,再编写一段小程序将数字框的部分水平放置;将得到的水表数字框图片做成新的数据集,对数据集进行数据标注,数据格式处理和数据分配;运用深度学习中yolo卷积神经网,解析水表数字识别模型参数,识别真实场景下的水表图片,再用读数规则读出水表示数;分析实时获取的水表图像和读数结果,判断出识别错误的图像,并做标注;将得到的正确水表示数以及水表拍摄时间传输给客户,并且将数据上传到水利局。本文的发明方法可以提高识别速度,提高对水表半字符和全字符的识别准确率,并且能够较好的识别复杂,多变的水表图片。
Description
技术领域
本发明属于图像目标识别分割和分类技术领域,具体涉及一种基于深度学习的数字型老式水表的识别方法。
背景技术
随着信息化智能化地发展,人们渴望用机器来代替人工。一些智能化产品逐渐出现在人们的日常生活中,给人们带来了极大的便利,比如无人驾驶,智能化工厂,智慧水务等等。虽然近几年智能化得到一定的发展,但是对于水表来讲,智能化水表普及率相对比较低,很多地区还在用以前的数字型的老式水表,因此还需要对老式水表进行人工抄录。但是对于传统的人工抄录,可能带来抄表效率低,漏抄,误差等问题给后续带来影响,所以对数字型老式水表的研究也是十分重要的。目前,对于数字型老式水表识别已经取得了许多研究成果。比如:模板匹配,深度学习等方法。
对于基于模板匹配的水表读书识别方法的研究,该方法采用的是传统的图像识别,虽然识别的半字符的精度较高,但是不具有普遍性,可能水表的数字字体不一样,模板就要更换这给人们带来了巨大的工作量,这会使得水表的读数的准确率不是很高;目前已经有的深度学习方法识别,它具有普遍性,并且对于全字符识别的较为准确,但对半字符识别的准确率就相对较低。
发明内容
发明目的:针对现有的水表识别中存在的识别速度不快,识别准确率不高,复杂场景识别不了以及识别模型鲁棒性差等一系列的问提,提出了一种基于深度学习的数字型老式水表的识别方法,该方法可以提高对水表半字符和全字符的识别准确率,提高识别速度,并且能够适应复杂,多变的水表安装环境。
技术方案:为实现上述的目的,本发明提供一种基于深度学习的数字型老式水表的识别方法,包括如下步骤:
S1:摄像头定时拍摄水表图片;
S2:将拍摄的水表图片以及水表拍摄时间等信息上传到云端;
S3:对水表图像进行预处理并且对预处理后的图片进行数据增强;
S4:将增强处理后的水表图像的数字框部分制作成数据集,对数据集进行标注和训练;
S5:运用深度学习中的yolo分割模块将水表数字框部分提取出来,再编写一段小程序将数字框的部分水平放置;
S6:根据步骤S5得到的水表数字框图片做成新的数据集,对数据集进行数据标注,数据格式处理和数据分配;
S7:运用深度学习中yolo卷积神经网,解析水表数字识别模型参数,识别真实场景下的水表图片,再用读数规则读出水表示数;
S8:分析步骤S7实时获取的水表图像和读数结果,判断出识别错误的图像,并做标注;
S9:将得到的正确水表示数以及水表拍摄时间传输给客户,并且将数据上传到水利局。
进一步地,所述步骤S1中水表信息的传输方式为:通过摄像头拍摄水表的图片,将图片信息转码保存到数据库里面,再把水表的数据通过HPPT服务器传输给服务端HPPT服务器。
进一步地,所述步骤S2具体为:
将拍摄的水表图片转码成数据存储在数据库里;
把数据库里面的数据上传到云端;
云端上的数据进行解析,把数据转换成水表图像保存。
进一步地,所述步骤S3具体为:
通过人工筛选图片,把水表数据集中人眼难以识别和水表数字字符缺失的水表图像进行过滤,并且人工选取半字符和全字符的图片制作数据集;
运用图像处理的方法对图像进行旋转、翻转、缩放、平移、加噪声等方法对数据进行增强,这些会提高模型的泛化能力,增强其对称性识别能力,提高对物体大小的适应性,提高模型对物体位置的鲁棒性,提高其在嘈杂环境中的表现;
分析图片的像素数据,将图片修改成统一的尺寸大小并且不改变原图的特征。
增强处理具体包括如下步骤:
步骤3.1:在做深度学习时,数据的处理是重中之重。在做自己的数据集时,可能会面临数据图像数目不均衡,数据量少的困扰。因此需要做图像的增强,我们可以有效地扩展有限的训练数据集,使模型能够应对各种实际应用场景。具体增强方式如下:
1.旋转(Rotation):将图像按顺时针或逆时针方向随机旋转一定角度。这种方法可以让模型学会识别不同角度下的物体,从而提高模型的泛化能力;
2.翻转(Flip):将图像沿水平或垂直方向随机翻转一定角度。通过翻转图像,可以让模型学会识别镜像物体,增强其对称性识别能力;
3.缩放(Zoom In/Out):将图像放大或缩小一定比例。这种方法可以让模型学会识别不同尺寸的物体,从而提高其对物体大小的适应性;
4.平移(Shift):将图像沿水平或垂直方向平移一定步长。这种方法可以让模型学会识别物体在不同位置的情况,提高模型对物体位置的鲁棒性;
5.加噪声(Noise):在图像中加入随机噪声。这种方法可以让模型学会忽略噪声,提高其在嘈杂环境中的表现。
进一步地,所述步骤S4具体包括:
所拍摄的水表图片不一定都是水平放置,因此用labelme数据标注工具对增强后的水表图片进行标注,再将标注好的数据集按深度学习神经网络格式要求分配好数据集。
进一步地,所述步骤S5具体包括:
5.1:将数据集的数字框部分用labelme标注工具标注,labelme中采用四点标注法,面对角度不同的图像都可以将数字框部分标注出来,总共只有一个类,取名为shu zikuang,图像标注后是json格式;
5.2:将得到的json文件转化成神经网络所需要的txt文件,每个txt文件中包括每张图片的图片类型名称以及每个标签的位置情况;
5.3:将得到的txt文件按照一定的比例分配成训练集,验证集以及测试集;
5.4:将数据集放入yolo分割模块中进行训练得到训练结果,再通过自己编写的程序得到点的坐标将数字框部分分割出来,再利用倾斜角将数字框水平放置。
进一步地,所述步骤S6具体包括:
A:通过步骤S5得到了数字框的数据集,将数字框的数据集用labelimg进行标注,再将标注好的数据集按深度学习神经网络格式要求分配好数据集。
进一步地,所述步骤A具体为:
A1:将新的数字框数据集用labelimg标注工具标注,labelimg中采用矩形标注法对数据集进行标注,将数字类型分为全字和半字类型,其中全字分为:0,1,2,3,4,5,6,7,8,9十种类型,半字分为:01,12,23,34,45,56,67,78,89,90十种类型,图像标注后会生成xml文件,标注后的图片会显示每个字符的标注框,每类标签的标签名在标注框的上面;A2:将得到的xml文件转化成神经网络所需要的txt文件,每个txt文件中包含每张图片的图片类型名称以及每个标签的位置情况;
A3:将得到的txt文件按照一定的比例分配成训练集,验证集以及测试集。
进一步地,所述步骤S7中水表读数规则为:
获取到水表识别中预测的字符预测框的中心点的横坐标,将横坐标的数值按照从小到大排列出来;
按照老式水表的读数规则要从左到右依次读数,与上面的横坐标从小到大刚好吻合,因此依次获得预测框的标签就是水表的读数,当标签为全字符时直接读数,当标签为半字符的时候对半字符进行再识别。
进一步地,所述步骤S7具体包括如下过程:
B1:搭建深度学习的环境,调用图像处理函数库解析网络模型模块,解析深度学习训练后的模型,预测出实时水表数据的参数;
B2:所有的水表数据集的数字字符位数一般都在四位数以上,将预测到字符数小于四位的数据集,判断为识别错误并且将错误的信息做出标记;预测到的字符位数大于四时,判断相邻预测框左上顶点的欧氏距离,当欧氏距离大于两倍预测框的平均宽度时,判断为预测错误,当欧氏距离小于两个预测框的平均宽度时,则判断为预测正确;
B3:将步骤B2预测到的正确预测框将他的中点横坐标按照从小到大的顺序排列出来,全字符的预测框的数字就是水表全字符的读数,当半字符不是最后一位时,若该半字符后面一位读数是零,则该半字符的读数为半字符上面标签数字中靠右边的一位,当该字符后面一位读数不是零,则该半字符的读数为半字符上面标签数字中靠左边的一位,如果半字符在最后一位,通过上下两部分数字占比决定是哪个数字。
进一步地,所述步骤S8具体为:
通过步骤S7会出现识别错误的水表图片,将该图片记录下来并且标注。
本发明针对现有的水表识别中存在的识别的模型不够广泛,对复杂的环境适应力不高,模型的鲁棒性低等问题,提出了一种基于深度学习的数字型老式水表识别的方法,该方法提出一种新的数据集制作方法,先通过一次识别将数字型水表的数字部分识别并且分割出来,这样会去除一些复杂环境对数字识别的影响,为后面数字识别提高准确度。再把分割出来的数字框部分从新制作成新的数据集,将半字符和全字符分成两个大类,再根据水表数字变化的规律得出半字符的读数规则读出水表示数。本方法还通过数据增强的方法提高了模型的泛化,鲁棒性等等,此方法可以有效地提高水表的识别准确性,并且能够适应复杂、多变水表安装环境。
有益效果:本发明与现有技术相比,通过相机自动拍摄图片将图片数据上传到云端,不需要用户自己去劳心劳力记录数据以及拍摄图片,上传到云端的数据会在解码后转化为图片,节省了图片远程传输的时间,提高了效率;采用了最新的深度学习yolo网络模型框架,yolo相对与其他深度识别识别速度得到了很大地提高,并且由于图片采集地局限性,通过对数据的增强有效地提高了在复杂环境下水表识别的准确度和识别速度;本发明提出了一种半字符的识别方法结合实际的水表数字的变换规律,提出一种对半字符读数的方法,该方法实现的过程简单,易于操作,并且在识别精度和识别速度上面都有提高,对于安装环境复杂,多变的环境也能很好的识别。
附图说明
图1是本发明方法的流程图。
图2是本发明所提到的水表图片数据增强。
图3是本发明所提到的分割数字框数据集。
图4是本发明所提到的数字识别的种类和预测框。
图5是本发明所提到的数字识别的结果。
具体实施方式
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
本发明提供一种基于深度学习的数字型老式水表识别方法,如图1所示,包括如下步骤:
S1:摄像头定时拍摄水表图片;
S2:将拍摄的水表图片以及水表拍摄时间等信息上传到云端;
S3:对水表图像进行预处理并且对预处理后的图片进行数据增强;
S4:将增强处理后的水表图像的数字框部分制作成数据集,对数据集进行标注和训练;
S5:运用深度学习中的yolo分割模块将水表数字框部分提取出来,再编写一段小程序将数字框的部分水平放置;
S6:根据步骤S5得到的水表数字框图片做成新的数据集,对数据集进行数据标注,数据格式处理和数据分配;
S7:运用深度学习中yolo卷积神经网,解析水表数字识别模型参数,识别真实场景下的水表图片,再用读数规则读出水表示数;
S8:分析步骤S7实时获取的水表图像和读数结果,判断出识别错误的图像,并做标注;
S9:将得到的正确水表示数以及水表拍摄时间传输给客户,并且将数据上传到水利局。
基于上述的方法,为了实现摄像头自动拍照,本发明会在数字型老式水表上面加装摄像头,电源以及通讯模块等等,摄像头会在时间段拍上水表的图片,并且先把图片转码成数据上传到云端,然后在云端把数据解析变成水表图片,经过水表识别的模型识别后,会将水表图片的拍摄时间以及水表的示数通过服务器传回给客户和水利局,有了这种水表识别技术像一些水表装在坏境比较恶劣地地方也不需要人力去抄表,也节省了人工抄表,人工拍照,人工读数的费用,不仅如此,给方案加装摄像头简单,不需要重新更改管道,可以大规模的使用和推广。
本实施例中将上述方法进行实例应用,参照图1,具体包括如下步骤:
步骤1:解析通过HTTP服务器客户端远程传输的JSON格式的水表用户数据,将数据流进一步解析为水表图像,解析得到的水表图像通过人工筛选图片,把水表数据集中人眼难以识别和水表数字字符缺失的水表图像进行过滤,在选取大量的包含每种全字符和每种半字符的水表数据集,用于后面模型训练;
本实施例中步骤1具体包括:
步骤1.1:通过HTTP服务器传输JSON格式的数据,通过解析数据流获取水表拍摄的时间和水表图像信息。通过解析水表图像信息,将数据流转化为图片保存;
JSON格式内容如下所示:
通讯数据格式:JSON
单次通讯数据量:(单次通讯数据量计算获得)
通讯端口和端口号:(和客户约定)
{“图片信息”:“(Base64编码的实时图像信息)”
“水表拍摄时间”:“X年X月X日X时X刻X分”}
步骤1.2:采集大量的水表数据集,数据集越多越广泛其识别的速度和精度越高,一共有二十种字符类型,为了使每种类型都能识别,需要使每种类型的字符个数在600以上;
步骤1.3:选取的全字字符如图4中图(b)所示,水表中每一位数字字符的所有特征都可以看到;选取的半字字符如图4中图(a)所示,水表中某一位或几位数字字符是由相邻的两个数字字符中一个的下半部分和另一个数字字符的上半部分组成;
步骤1.4:为了提高的模型的鲁棒性,采集图像时应在不同的时间段,不同的天气,不同的背景下采集水表的数据集,但是为了采集图片的完整性,采集时相机的镜面平面应该与水表的表盘平面保持在15°之内。
步骤2:预处理:
对采集的水表图片中,人眼难以识别的数字的图片和水表数字残缺的图片进行过滤。
步骤3:增强处理:
对人工筛选后的图片进行数据增强来提高识别的精度以及速度以及模型的泛化性,增强图片如图2;
本实施例中步骤3具体包括
步骤3.1:旋转(Rotation):将图像按顺时针或逆时针方向随机旋转一定角度。这种方法可以让模型学会识别不同角度下的物体,从而提高模型的泛化能力;
步骤3.2:翻转(Flip):将图像沿水平或垂直方向随机翻转一定角度。通过翻转图像,可以让模型学会识别镜像物体,增强其对称性识别能力;
步骤3.3:缩放(Zoom In/Out):将图像放大或缩小一定比例。这种方法可以让模型学会识别不同尺寸的物体,从而提高其对物体大小的适应性;
步骤3.4:平移(Shift):将图像沿水平或垂直方向平移一定步长。这种方法可以让模型学会识别物体在不同位置的情况,提高模型对物体位置的鲁棒性;
步骤3.5:加噪声(Noise):在图像中加入随机噪声。这种方法可以让模型学会忽略噪声,提高其在嘈杂环境中的表现。
步骤4:通过数据增强后的水表图像按照深度学习网络模型数据格式要求制作数据集,进行数据标注、数据格式处理和数据分配;
本实施例中步骤4具体包括:
步骤4.1:将步骤1-3得到的所有图片当作一个数据集,用深度学习的数据集标注工具对数据集进行标注,同时在用python的脚本对标注完的图片进行划分,分为训练集,验证集以及测试集;
本实施例中步骤4.1具体包括:
步骤4.1.1:将数据集的数字框部分用labelme标注工具标注,labelme中采用四点标注法,面对角度不同的图像都可以将数字框部分标注出来,总共只有一个类,取名为shuzi kuang,图像标注后是json格式;
步骤4.1.2:将得到的json文件转化成神经网络所需要的txt文件,每个txt文件中包括每张图片的图片类型名称以及每个标签的位置情况;
步骤4.1.3:将得到的txt文件按照一定的比例分配成训练集,验证集以及测试集;
步骤4.1.4:将数据集放入yolo分割模块中进行训练得到训练结果,再通过自己编写的程序得到点的坐标将数字框部分分割出来,再利用倾斜角将数字框水平放置,图片如图3。
步骤5:将步骤4得到的数字框部分的图片重新当成一个新的数据集并且将图片的大小统一再按照深度学习网络模型数据格式要求制作数据集,进行数据标注、数据格式处理和数据分配;
本实施例中步骤5具体包括:
步骤5.1.1:通过步骤5得到了数字框的数据集,将数字框的数据集用labelimg进行标注,再将标注好的数据集按深度学习神经网络格式要求分配好数据集;
步骤5.1.2:将新的数字框数据集用labelimg标注工具标注,labelimg中采用矩形标注法对数据集进行标注,将数字类型分为全字和半字类型,其中全字分为:0,1,2,3,4,5,6,7,8,9十种类型,半字分为:01,12,23,34,45,56,67,78,89,90十种类型,图像标注后会生成xml文件,标注后的图片会显示每个字符的标注框,每类标签的标签名在标注框的上面;
步骤5.1.3:将得到的xml文件转化成神经网络所需要的txt文件,每个txt文件中包括每张图片的图片类型名称以及每个标签的位置情况;
步骤5.1.4:将得到的txt文件按照一定的比例分配成训练集,验证集以及测试集。
步骤6:将制作好的数据集数据输入到深度学习模型训练。
步骤7:用训练好的模型识别测试数据,通过不断地分析识别结果,调整训练的次数和数据集的数量,直到选出比较合适的参数,达到预期的识别准确率。
步骤8:将步骤7的得到的模型实时识别水表图像,按照水表特征和水表读数规则读数;
本实施例中步骤8具体包括:
步骤8.1:搭建深度学习的环境,调用图像处理函数库解析网络模型模块,解析深度学习训练后的模型,预测出实时水表数据的参数;
步骤8.2:所有的水表数据集的数字字符位数一般都在四位数以上,将预测到字符数小于四位的数据集,判断为识别错误并且将错误的信息反馈给客户端;预测到的字符位数大于四时,判断相邻预测框左上顶点的欧氏距离,当欧氏距离大于两倍预测框的平均宽度时,判断为预测错误,当欧氏距离小于两个预测框的平均宽度时,则判断为预测正确,预测到的预测框如图4所示’;
步骤8.3:将步骤8.2预测正确的预测框将他的中点横坐标按照从小到大的顺序排列出来,全字符的预测框的数字就是水表全字符的读数,当半字符不是最后一位时,若该半字符后面一位读数是零,则该半字符的读数为半字符上面标签数字中靠右边的一位,当该字符后面一位读数不是零,则该半字符的读数为半字符上面标签数字中靠左边的一位,如果半字符在最后一位,通过上下两部分数字占比决定是哪个数字,如图5(1)中实例水表的最后读数为‘000002’,图5(2)中实例水表的最后读数‘002699’。
步骤9:分析步骤8实时获取的水表图像和读数结果,判断出识别错误的图像,并做标注;
步骤9.1:步骤9中提出的标注内容为:
{“水表读数”:“XXXXXX”,
“水表拍摄时间”:“X年X月X日X时X刻X分”
“标注编号”:“具体编号内容:识别错误”}。
步骤10:将没有错误识别的水表信息:水表拍摄时间以及水表的读数数据传输给客户,并且将数据上传到水利局。
Claims (11)
1.一种基于深度学习的数字型老式水表的识别方法,其特征在于,包括如下步骤:
S1:摄像头定时拍摄水表图片;
S2:将拍摄的水表图片以及水表拍摄时间等信息上传到云端;
S3:对水表图像进行预处理并且对预处理后的图片进行数据增强;
S4:将增强处理后的水表图像的数字框部分制作成数据集,对数据集进行标注和训练;
S5:运用深度学习中的yolo分割模块将水表数字框部分提取出来,再编写一段小程序将数字框的部分水平放置;
S6:根据步骤S5得到的水表数字框图片做成新的数据集,对数据集进行数据标注,数据格式处理和数据分配;
S7:运用深度学习中yolo卷积神经网,解析水表数字识别模型参数,识别真实场景下的水表图片,再用读数规则读出水表示数;
S8:分析步骤S7实时获取的水表图像和读数结果,判断出识别错误的图像,并做标注;
S9:将得到的正确水表示数以及水表拍摄时间传输给客户,并且将数据上传到水利局。
2.根据权利要求1所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤S1中水表信息的传输方式为:通过摄像头拍摄水表的图片,将图片信息转码保存到数据库里面,再把水表的数据通过HPPT服务器传输给服务端HPPT服务器。
3.根据权利要求1所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤S2具体为:
将拍摄的水表图片转码成数据存储在数据库里;
把数据库里面的数据上传到云端;
云端上的数据进行解析,把数据转换成水表图像保存。
4.根据权利要求1所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤S3具体为:
通过人工筛选图片,把水表数据集中人眼难以识别和水表数字字符缺失的水表图像进行过滤,并且人工选取半字符和全字符的图片制作数据集;
运用图像处理的方法对图像进行旋转、翻转、缩放、平移、加噪声等方法对数据进行增强,这些会提高模型的泛化能力,增强其对称性识别能力,提高对物体大小的适应性,提高模型对物体位置的鲁棒性,提高其在嘈杂环境中的表现;
分析图片的像素数据,将图片修改成统一的尺寸大小并且不改变原图的特征。
5.根据权利要求1所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤S4具体为:
所拍摄的水表图片不一定都是水平放置,因此用labelme数据标注工具对增强后的水表图片进行标注,再将标注好的数据集按深度学习神经网络格式要求分配好数据集。
6.根据权利要求1所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤S5具体为:
5.1:将数据集的数字框部分用labelme标注工具标注,labelme中采用四点标注法,面对角度不同的图像都可以将数字框部分标注出来,总共只有一个类,取名为shu zi kuang,图像标注后是json格式;
5.2:将得到的json文件转化成神经网络所需要的txt文件,每个txt文件中包括每张图片的图片类型名称以及每个标签的位置情况;
5.3:将得到的txt文件按照一定的比例分配成训练集,验证集以及测试集;
5.4:将数据集放入yolo分割模块中进行训练得到训练结果,再通过自己编写的程序得到点的坐标将数字框部分分割出来,再利用倾斜角将数字框水平放置。
7.根据权利要求1所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤S6具体为:
A:通过步骤S5得到了数字框的数据集,将数字框的数据集用labelimg进行标注,再将标注好的数据集按深度学习神经网络格式要求分配好数据集。
8.根据权利要求7所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤A具体为:
A1:将新的数字框数据集用labelimg标注工具标注,labelimg中采用矩形标注法对数据集进行标注,将数字类型分为全字和半字类型,其中全字分为:0,1,2,3,4,5,6,7,8,9十种类型,半字分为:01,12,23,34,45,56,67,78,89,90十种类型,图像标注后会生成xml文件,标注后的图片会显示每个字符的标注框,每类标签的标签名在标注框的上面;
A2:将得到的xml文件转化成神经网络所需要的txt文件,每个txt文件中包含每张图片的图片类型名称以及每个标签的位置情况;
A3:将得到的txt文件按照一定的比例分配成训练集,验证集以及测试集。
9.根据权利要求1所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤S7中水表读数规则具体为:
获取到水表识别中预测的字符预测框的中心点的横坐标,将横坐标的数值按照从小到大排列出来;
按照老式水表的读数规则要从左到右依次读数,与上面的横坐标从小到大刚好吻合,因此依次获得预测框的标签就是水表的读数,当标签为全字符时直接读数,当标签为半字符的时候对半字符进行再识别。
10.根据权利要求9所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤S7具体包括如下过程:
B1:搭建深度学习的环境,调用图像处理函数库解析网络模型模块,解析深度学习训练后的模型,预测出实时水表数据的参数;
B2:所有的水表数据集的数字字符位数一般都在四位数以上,将预测到字符数小于四位的数据集,判断为识别错误并且将错误的信息做出标记;预测到的字符位数大于四时,判断相邻预测框左上顶点的欧氏距离,当欧氏距离大于两倍预测框的平均宽度时,判断为预测错误,当欧氏距离小于两个预测框的平均宽度时,则判断为预测正确;
B3:将步骤B2预测到的正确预测框将他的中点横坐标按照从小到大的顺序排列出来,全字符的预测框的数字就是水表全字符的读数,当半字符不是最后一位时,若该半字符后面一位读数是零,则该半字符的读数为半字符上面标签数字中靠右边的一位,当该字符后面一位读数不是零,则该半字符的读数为半字符上面标签数字中靠左边的一位,如果半字符在最后一位,通过上下两部分数字占比决定是哪个数字。
11.根据权利要求1所述的一种基于深度学习的数字型老式水表的识别方法,其特征在于,所述步骤S8具体为:
通过步骤S7会出现识别错误的水表图片,将该图片记录下来并且标注。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310832737.9A CN116844172A (zh) | 2023-07-08 | 2023-07-08 | 一种基于深度学习的数字型老式水表的识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310832737.9A CN116844172A (zh) | 2023-07-08 | 2023-07-08 | 一种基于深度学习的数字型老式水表的识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116844172A true CN116844172A (zh) | 2023-10-03 |
Family
ID=88174026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310832737.9A Pending CN116844172A (zh) | 2023-07-08 | 2023-07-08 | 一种基于深度学习的数字型老式水表的识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116844172A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117115802A (zh) * | 2023-10-25 | 2023-11-24 | 山东潍微科技股份有限公司 | 一种基于深度学习的字轮式水表数字识别与处理方法 |
-
2023
- 2023-07-08 CN CN202310832737.9A patent/CN116844172A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117115802A (zh) * | 2023-10-25 | 2023-11-24 | 山东潍微科技股份有限公司 | 一种基于深度学习的字轮式水表数字识别与处理方法 |
CN117115802B (zh) * | 2023-10-25 | 2024-03-26 | 山东潍微科技股份有限公司 | 一种基于深度学习的字轮式水表数字识别与处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108399405B (zh) | 营业执照识别方法和装置 | |
CN110059694B (zh) | 电力行业复杂场景下的文字数据的智能识别方法 | |
CN109800761A (zh) | 基于深度学习模型创建纸质文档结构化数据的方法和终端 | |
CN111325203A (zh) | 一种基于图像校正的美式车牌识别方法及系统 | |
CN116844172A (zh) | 一种基于深度学习的数字型老式水表的识别方法 | |
CN115984862A (zh) | 一种基于深度学习的远传式水表数字识别方法 | |
CN111027456A (zh) | 基于图像识别的机械水表读数识别方法 | |
CN104361357A (zh) | 基于图片内容分析的相片集分类系统及分类方法 | |
CN114581432A (zh) | 一种基于深度学习的舌象仪舌象分割方法 | |
CN113344136A (zh) | 一种基于Mask R-CNN的新反气旋客观识别方法 | |
CN110659637A (zh) | 一种结合深度神经网络和sift特征的电能表示数与标签自动识别方法 | |
CN111985470A (zh) | 一种自然场景下的船牌矫正识别方法 | |
CN116311256A (zh) | 图像处理方法及装置、识别网络的训练方法及装置 | |
CN115116074A (zh) | 一种手写体文字识别、及模型训练方法和装置 | |
CN111783608A (zh) | 一种换脸视频检测方法 | |
CN113743515B (zh) | 基于自监督自学习特征点的遥感影像特征匹配方法 | |
CN111950457A (zh) | 油田安全生产图像识别方法及系统 | |
CN115082922A (zh) | 基于深度学习的水表数字图片处理方法及系统 | |
CN113065533B (zh) | 一种特征提取模型生成方法、装置、电子设备和存储介质 | |
CN114581905A (zh) | 一种基于语义增强机制的场景文本识别方法及系统 | |
CN114627461A (zh) | 一种基于人工智能高精度识别水尺数据的方法及系统 | |
WO2022062027A1 (zh) | 酒品定位方法、酒品信息管理方法、装置、设备及存储介质 | |
CN112529003A (zh) | 一种基于Faster-RCNN的仪表盘数字识别方法 | |
CN110852376B (zh) | 用于识别生物种类的方法及系统 | |
CN111160262A (zh) | 一种融合人体关键点检测的人像分割方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |