CN110188662A - 一种水表数字的ai智能识别方法 - Google Patents
一种水表数字的ai智能识别方法 Download PDFInfo
- Publication number
- CN110188662A CN110188662A CN201910448733.4A CN201910448733A CN110188662A CN 110188662 A CN110188662 A CN 110188662A CN 201910448733 A CN201910448733 A CN 201910448733A CN 110188662 A CN110188662 A CN 110188662A
- Authority
- CN
- China
- Prior art keywords
- water meter
- yolov2
- training
- data
- network
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
-
- 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
Abstract
一种水表数字的AI智能识别方法,所述识别方法采用的是Darknet‑19作为基础网络,基于YOLOv2实现:数据来源‑数据标注及格式转换‑新建.names文件‑新建.data文件‑修改.cfg配置文件‑训练模型‑测试模型‑模型中每个方框内的数字最终以连续阿拉伯数字组合的形式呈现于使用界面上。这种图像识别检测方法,其中的水表数字识别基于YOLOv2实现的,采用的是Darknet‑19作为基础网络,它并不是通过加深或加宽网络达到效果提升,反而简化了网络,不管是在召回率还是定位上都有明显优势;精准度高,最终能够连续阿拉伯数字组合的形式呈现于使用界面上,实现完全人工智能化,无需使用者分析猜测,直观、方便。
Description
技术领域
本发明涉及模式识别与人工智能技术领域,特别涉及一种直观的水表数字的AI智能识别方法。
背景技术
深度学习在目标检测的应用发展迅速,在YOLO(You Only Look Once)之后又出现了升级版本YOLOv2,采用的是Darknet-19作为基础网络,它并不是通过加深或加宽网络达到效果提升,反而简化了网络,不管是在召回率还是定位上都有明显优势,我们的水表数字识别就是基于YOLOv2实现的。
目前,有很多涉及模式识别与人工智能相结合的技术出现,特别是被应用于图像数据检测。现有技术中的基于YOLO的图像数据检测,其主要的检测分析过程是基于图片的识别和分析,最终得到的分析结果是带有准确率表示的图片,需要使用者再去根据准确率进行判定,或者呈现给使用者的就是系统分析出来的准确率最高的图片,需要使用者对图片进行分析,不仅不能完全实现智能化识别,而且识别检测的过程繁琐复杂,会逐渐被新的网络所取代,不能适应网络升级的需求。
发明内容
本发明是针对背景技术中提及的有关现有图像识别检测方法的缺陷,提供一种简化网络、精准度高、人工智能化高的水表数据识别方法。
为实现上述目的,本发明所采用的技术方案是:一种水表数字的AI智能识别方法,所述识别方法采用的是Darknet-19作为基础网络,基于YOLOv2实现,具体包括以下步骤:
S1、数据来源:用安装在水表上的摄像头对不同类型的水表进行拍照,并对获取的大量水表图片像素进行批量处理;
S2、数据标注及格式转换:使用标注软件对水表图片进行标注,将标注并转换好的内容存于txt文件中,并将水表图片和对应的txt文件放在同一个文件夹下,最后将水表图片的路径分为训练集和测试集存放到txt文件中;
S3、新建.names文件:里面写入0-9这十个水表数字,每个数字占一行;
S4、新建.data文件:从上到下依次为水表数字的类别数量,训练集路径,测试集路径,.names文件路径和训练好的模型存放路径;
S5、修改.cfg配置文件;
S6、训练模型:将训练数据和标注并转换好的txt文件输入到YOLOv2网络中进行训练;
S7、测试模型:使用训练集以外的数据输入到训练好的网络中进行测试,训练模型对水表上的每一个数字进行识别,将测试的数据上识别出的每一个数字用红色的方框框出来,并在每个红色方框内显示识别结果;
S8、模型中每个方框内的数字最终以连续阿拉伯数字组合的形式呈现于使用界面上。
作为优选的技术方案:步骤S2中对数据进行标注时:使用标注软件对摄像机获取的水表图片进行标注,水表上的每一个数字都要进行单独标注,标注后的边框坐标、边框宽高以及对应的水表数字都将存于txt文件中,并分别用逗号隔开。
作为优选的技术方案:步骤S1中,对水表图片的像素进行批量处理,统一将宽的像素修改为750。
作为优选的技术方案:步骤S2中进行数据格式转换时:将标注好的txt文件里的内容转换成用于训练的数据格式,并将水表图片和对应的txt文件放在同一个文件夹下,最后将水表图片的路径分为训练集(42034张水表图片)和测试集(10508张水表图片)存放到txt文件夹;其中,训练集占所有数据集的80%,测试集占所有数据集的20%。
作为优选的技术方案:步骤S6中修改.cfg配置文件的具体方式是:水表数字是由0-9组成,一共10种数字;类别数classes改为10,同时filters也要按照filters=(classes+coords+1)*num改成75,其中coords=4,num=5。
作为优选的技术方案:步骤S7的模型训练中:将训练数据和标注并转换好的txt文件输入到YOLOv2网络中进行训练;
(1)训练参数设定:迭代次数iters=155000,更新步长steps= 100,25000,35000,45000,初始学习率learning_rate=0.0001,scales= 10,.1,.1,.01,batch=64,subdivisions=8,decay=0.0005;
(2)YOLOv2使用Darknet-19网络,有19个卷积层和5个最大池化层,最后用averagepooling层代替全连接层进行预测;
(3)在YOLOv2中,BN层对网络每一层的输入都做了归一化;
(4)YOLOv2采用了anchor boxes去预测bounding boxes,将原网络的全连接层和最后一个pooling层去掉,网络仅采用了卷积层和池化层;
(5)采用Softmax损失函数;
(6)YOLOv2预训练分类模型采用了448x448的输入来finetune分类网络这一中间过程;
(7)YOLOv2采用不同尺寸的图片训练;
(8)YOLOv2中提出了WordTree,使用该树形结构成功的解决了不同数据集中的排斥问题。
作为优选的技术方案:步骤(7)中,YOLOv2采用了多尺度输入训练策略,具体做法是每经过10批训练(10 batches)就会随机选择新的图片尺寸,尺度定义为32的倍数,(320,352,…,608 )。
本发明所公开的这种图像识别检测方法,其中的水表数字识别基于YOLOv2实现的,采用的是Darknet-19作为基础网络,它并不是通过加深或加宽网络达到效果提升,反而简化了网络,不管是在召回率还是定位上都有明显优势;精准度高,最终能够连续阿拉伯数字组合的形式呈现于使用界面上,实现完全人工智能化,无需使用者分析猜测,直观、方便。
附图说明
图1为本发明水表识别方法的流程图;
图2为本发明的数据采集和处理流程图;
图3发明的深度卷积神经网络结构图;
图4发明检测结果示例。
具体实施方式
下面结合附图和实施例对本发明做进一步说明。
结合附图1-4,本发明所公开的这种图像检测识别方法主要应用于水表数据检测,其识别方法采用的是Darknet-19作为基础网络,基于YOLOv2实现。
水表数字识别的实现步骤如下。
1.数据来源:用安装在水表上的摄像头对不同类型的水表进行拍照,大量的拍照,照片数量50000-60000张左右,对获取的大量水表图片像素进行批量处理,统一将水表图片的宽的像素修改为750。
2.数据标注和格式转换:使用标注软件对水表图片进行标注,每一个水表数字都要单独标注,标注后的边框坐标、边框宽高以及对应的水表数字都将存于txt文件中,并分别用逗号隔开。将标注好的txt文件里的内容转换成用于训练的数据格式,并将水表图片和对应的txt文件放在同一个文件夹下,最后将水表图片的路径分为训练集(42034张)和测试集(10508张)存放到txt文件夹,其中,训练集占所有数据集的80%,测试集占所有数据集的20%。
3.新建.names文件:里面写入0-9这十个水表数字,每个数字占一行。
4.新建.data文件:从上到下依次为水表数字的类别数量,训练集路径,测试集路径,.names文件路径和训练好的模型存放路径。
5.修改.cfg配置文件:水表数字是由0-9组成的,一共10种数字,所以类别数classes改为10,同时filters也要按照filters=(classes+coords+1)*num改成75,其中coords=4,num=5。
6.训练模型:将训练数据和标注并转换好的txt文件输入到YOLOv2网络中进行训练;
(1)训练参数设定:迭代次数iters=155000,更新步长steps= 100,25000,35000,45000,初始学习率learning_rate=0.0001,scales= 10,.1,.1,.01,batch=64,subdivisions=8,decay=0.0005;
(2)YOLOv2使用Darknet-19网络,有19个卷积层和5个最大池化层,最后用averagepooling层代替全连接层进行预测,精简了网络;
(3)在YOLOv2中,BN(Batch Normalization)层对网络每一层的输入都做了归一化,在训练时收敛更快,降低模型的过拟合,另外BN可以规范模型,所以去掉了dropout层,BN层的添加直接将mAP提升了2个百分点;
(4)YOLOv2采用了anchor boxes去预测bounding boxes,将原网络的全连接层和最后一个pooling层去掉,网络仅采用了卷积层和池化层。由于大的object一般会占据图像的中心,为了使得每个特征图在划分cell的时候就只有一个center cell,用416*416大小的输入代替原来448*448,这样可以得到奇数大小宽高的特征图。 YOLOv2采用k-means的方式对训练集的bounding boxes做聚类,选用的K值为5,试图找到合适的anchor box,引入的anchor boxes使得预测的box数量超过1千,box的数量越多,目标的定位准确率越高;
(5)采用Softmax损失函数;
(6)YOLOv2预训练分类模型采用了448x448的输入来finetune分类网络这一中间过程,这可以使得模型在检测数据集上finetune之前已经适用高分辨率输入;
(7)YOLOv2可以采用不同尺寸的图片训练,提高鲁棒性。由于YOLOv2模型中只有卷积层和池化层,所以YOLOv2的输入可以不限于416x416大小的图片。为了增强模型的鲁棒性,YOLOv2采用了多尺度输入训练策略,具体做法是每经过10批训练(10 batches)就会随机选择新的图片尺寸,尺度定义为32的倍数,( 320,352,…,608 );
(8)YOLOv2中提出了WordTree,使用该树形结构成功的解决了不同数据集中的排斥问题。使用该树形结构进行分层的预测分类,在某个阈值处结束或者最终达到叶子节点处结束。
7.测试模型:使用训练集以外的数据输入到训练好的网络中进行测试,对水表上的每一个数字进行识别,不管是完整的数字还是不完整的数字,该网络都能识别,对测试数据上识别出的每一个数字用红色的方框框出来,并在每个红色方框内显示识别结果,下方文本框会依次显示类别名称在.names文件中的索引,准确率和框坐标。
在训练网络的过程中会产生多个模型,所以我们会在测试模型阶段根据识别准确率挑选出识别效果最好的一个作为最终应用的模型。
经过测试合格,选定模型之后,进行识别时呈现在用户使用界面上的是数字,即模型识别水表图像时被分别框出来的每个阿拉伯数字的组合。
Claims (7)
1.一种水表数字的AI智能识别方法,所述识别方法采用的是Darknet-19作为基础网络,基于YOLOv2实现,其特征在于,具体包括以下步骤:
S1、数据来源:用安装在水表上的摄像头对不同类型的水表进行拍照,并对获取的大量水表图片像素进行批量处理;
S2、数据标注及格式转换:使用标注软件对水表图片进行标注,将标注并转换好的内容存于txt文件中,并将水表图片和对应的txt文件放在同一个文件夹下,最后将水表图片的路径分为训练集和测试集存放到txt文件中;
S3、新建.names文件:里面写入0-9这十个水表数字,每个数字占一行;
S4、新建.data文件:从上到下依次为水表数字的类别数量,训练集路径,测试集路径,.names文件路径和训练好的模型存放路径;
S5、修改.cfg配置文件;
S6、训练模型:将训练数据和标注并转换好的txt文件输入到YOLOv2网络中进行训练;
S7、测试模型:使用训练集以外的数据输入到训练好的网络中进行测试,训练模型对水表上的每一个数字进行识别,将测试的数据上识别出的每一个数字用红色的方框框出来,并在每个红色方框内显示识别结果;
S8、模型中每个方框内的数字最终以连续阿拉伯数字组合的形式呈现于使用界面上。
2.根据权利要求1所述的水表数字的AI智能识别方法,其特征在于,步骤S2中对数据进行标注时:使用标注软件对摄像机获取的水表图片进行标注,水表上的每一个数字都要进行单独标注,标注后的边框坐标、边框宽高以及对应的水表数字都将存于txt文件中,并分别用逗号隔开。
3.根据权利要求1所述的水表数字的AI智能识别方法,其特征在于,步骤S1中,对水表图片的像素进行批量处理,统一将宽的像素修改为750。
4.根据权利要求1所述的水表数字的AI智能识别方法,其特征在于,步骤S2中进行数据格式转换时:将标注好的txt文件里的内容转换成用于训练的数据格式,并将水表图片和对应的txt文件放在同一个文件夹下,最后将水表图片的路径分为训练集(42034张水表图片)和测试集(10508张水表图片)存放到txt文件夹;其中,训练集占所有数据集的80%,测试集占所有数据集的20%。
5.根据权利要求1所述的水表数字的AI智能识别方法,其特征在于,步骤S5中修改.cfg配置文件的具体方式是:水表数字是由0-9组成,一共10种数字;类别数classes改为10,同时filters也要按照filters=(classes+coords+1)*num改成75,其中coords=4,num=5。
6.根据权利要求1所述的水表数字的AI智能识别方法,其特征在于,步骤S6的模型训练中:将训练数据和标注并转换好的txt文件输入到YOLOv2网络中进行训练;
(1)训练参数设定:迭代次数iters=155000,更新步长steps= 100,25000,35000,45000,初始学习率learning_rate=0.0001,scales= 10,.1,.1,.01,batch=64,subdivisions=8,decay=0.0005;
(2)YOLOv2使用Darknet-19网络,有19个卷积层和5个最大池化层,最后用averagepooling层代替全连接层进行预测;
(3)在YOLOv2中,BN层对网络每一层的输入都做了归一化;
(4)YOLOv2采用了anchor boxes去预测bounding boxes,将原网络的全连接层和最后一个pooling层去掉,网络仅采用了卷积层和池化层;
(5)采用Softmax损失函数;
(6)YOLOv2预训练分类模型采用了448x448的输入来finetune分类网络这一中间过程;
(7)YOLOv2采用不同尺寸的图片训练;
(8)YOLOv2中提出了WordTree,使用该树形结构成功的解决了不同数据集中的排斥问题。
7.根据权利要求6所述的水表数字的AI智能识别方法,其特征在于,步骤(7)中,YOLOv2采用了多尺度输入训练策略,具体做法是每经过10批训练(10 batches)就会随机选择新的图片尺寸,尺度定义为32的倍数,( 320,352,…,608 )。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910448733.4A CN110188662A (zh) | 2019-05-28 | 2019-05-28 | 一种水表数字的ai智能识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910448733.4A CN110188662A (zh) | 2019-05-28 | 2019-05-28 | 一种水表数字的ai智能识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110188662A true CN110188662A (zh) | 2019-08-30 |
Family
ID=67718064
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910448733.4A Pending CN110188662A (zh) | 2019-05-28 | 2019-05-28 | 一种水表数字的ai智能识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188662A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112308054A (zh) * | 2020-12-29 | 2021-02-02 | 广东科凯达智能机器人有限公司 | 基于目标检测算法的多功能数字表自动读数方法 |
CN112434700A (zh) * | 2020-11-25 | 2021-03-02 | 创新奇智(上海)科技有限公司 | 车牌识别方法、装置、设备及存储介质 |
CN113139738A (zh) * | 2021-05-06 | 2021-07-20 | 马鞍山钢铁股份有限公司 | 一种使用机器学习进行环保无组织排放监管的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921203A (zh) * | 2018-06-13 | 2018-11-30 | 深圳市云识科技有限公司 | 一种指针式水表的检测与识别方法 |
CN109344850A (zh) * | 2018-07-27 | 2019-02-15 | 华南理工大学 | 一种基于yolo的水表自动检测方法 |
-
2019
- 2019-05-28 CN CN201910448733.4A patent/CN110188662A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921203A (zh) * | 2018-06-13 | 2018-11-30 | 深圳市云识科技有限公司 | 一种指针式水表的检测与识别方法 |
CN109344850A (zh) * | 2018-07-27 | 2019-02-15 | 华南理工大学 | 一种基于yolo的水表自动检测方法 |
Non-Patent Citations (2)
Title |
---|
小小将: "目标检测YOLOv2原理与实现", 《HTTP://ZHUANLAN.ZHIHU.COM/P/35325884》 * |
虎子: "YOLOv3训练过程笔记", 《HTTPS://WWW.CNBLOGS.COM/TANGO1221/P/10084969.HTML》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112434700A (zh) * | 2020-11-25 | 2021-03-02 | 创新奇智(上海)科技有限公司 | 车牌识别方法、装置、设备及存储介质 |
CN112308054A (zh) * | 2020-12-29 | 2021-02-02 | 广东科凯达智能机器人有限公司 | 基于目标检测算法的多功能数字表自动读数方法 |
CN113139738A (zh) * | 2021-05-06 | 2021-07-20 | 马鞍山钢铁股份有限公司 | 一种使用机器学习进行环保无组织排放监管的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110059694B (zh) | 电力行业复杂场景下的文字数据的智能识别方法 | |
CN107644415B (zh) | 一种文本图像质量评估方法及设备 | |
CN106295653B (zh) | 一种水质图像分类方法 | |
CN109977780A (zh) | 一种基于深度学习算法的硅藻的检测与识别方法 | |
CN111540006B (zh) | 基于深度迁移学习的植物气孔智能检测与识别方法及系统 | |
CN109299274A (zh) | 一种基于全卷积神经网络的自然场景文本检测方法 | |
CN104598885B (zh) | 街景图像中的文字标牌检测与定位方法 | |
CN108229267A (zh) | 对象属性检测、神经网络训练、区域检测方法和装置 | |
CN111126404B (zh) | 一种基于改进YOLO v3的古文字及字体识别方法 | |
CN101667245B (zh) | 基于支持向量新颖检测分类器级联的人脸检测方法 | |
CN107330453A (zh) | 基于分步识别和融合关键部位检测的色情图像识别方法 | |
CN108052984A (zh) | 计数方法及装置 | |
CN106815604A (zh) | 基于多层信息融合的注视点检测方法 | |
CN110188662A (zh) | 一种水表数字的ai智能识别方法 | |
CN107657008A (zh) | 基于深度判别排序学习的跨媒体训练及检索方法 | |
CN109558902A (zh) | 一种快速目标检测方法 | |
CN110232406A (zh) | 一种基于统计学习的液晶面板cf图片识别方法 | |
CN106408030A (zh) | 基于中层语义属性和卷积神经网络的sar图像分类方法 | |
CN109902609A (zh) | 一种基于YOLOv3的交通标志检测与识别方法 | |
CN110135430A (zh) | 一种基于深度神经网络的铝材模具id自动识别系统 | |
CN104268552B (zh) | 一种基于部件多边形的精细类别分类方法 | |
CN104751175B (zh) | 基于增量支持向量机的sar图像多类标场景分类方法 | |
CN112949517B (zh) | 基于深度迁移学习的植物气孔密度和开度识别方法及系统 | |
CN113537496A (zh) | 一种深度学习模型可视化构建系统及其应用和设计方法 | |
CN109523514A (zh) | 对逆合成孔径雷达isar的批量成像质量评估方法 |
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 |