一种基于YOLO的水表自动检测方法与流程

文档序号:16883036发布日期:2019-02-15 22:22阅读:829来源:国知局
一种基于YOLO的水表自动检测方法与流程

本发明属于模式识别与人工智能技术领域,特别涉及一种与深度神经网络相关的自动检测方法。



背景技术:

随着计算机技术的飞速发展,人工智能技术正在逐渐改变我们的生活,使我们的生活变得更加便利和高效。而近期gpu等硬件技术的快速发展,也使深度神经网络的实际应用成为可能。

在实际生活中,我们离不开自来水,无论是在农村或是城市,自来水都已经大大普及。而自来水在结算过程中,每个月都需要专门的人员前往每户人家,抄取水表读数,这是一个费时费力的工作。居民房屋数量众多,覆盖范围广,甚至偏僻,而人工读取水表读数容易出错,种种因素使得水表人工读取变得无比繁琐,寻取一种自动而高效的水表读取方法已经势在必行。

深度神经网络的研究进展恰恰为我们提供了工具,最近,研究人员提出多种利用深度神经网络进行自动检测的方法,其中,yolo(youonlylookonce)是一个基于googlenet的物体检测深度网络,以其高帧速和回调率正被运用于许多实时检测系统中,我们也基于yolo实现了水表读数的自动检测,为以后简化自来水结算过程奠定基础。



技术实现要素:

本发明为了实现水表读数的自动检测,提供一种基于yolo的水表自动检测方法,该方案具有实时性强,准确率高的特点,具有很高的使用价值。

本发明的目的采用如下技术方案之一实现。

一种基于yolo的水表自动检测方法,其包括以下步骤:

(1)数据获取:拍摄适量多张水表读书照片,涵盖给定的不同种水表;

(2)数据处理:对照片进行裁剪,处理成设定大小;

(3)label制作:由于采用有监督的方法来检测水表,所以通过人工用软件手动标定水表读数边框;

(4)训练网络:把准备好的训练数据及label输入到yolo网络中训练;

(5)测试网络:输入待测试数据到已训练网络中,最后得到水表检测结果和概率。

优选地,所述步骤(2)对图片进行裁剪,使图片大小最终为480*200。在保证水表读数框完整保留的前提下,可以任意裁剪图片的区域。

优选地,所述步骤(3)包括以下步骤:

(3-1)使用标注软件,人工标定水表读数框。

(3-2)将边框的坐标以及宽高存于txt文件中,同时将水表的读数也记录于文件中。

(3-3)将照片随机划分为训练集(约45000张)和测试集(约5000张)。

优选地,所述边框坐标为矩形框四个顶点坐标,将左上顶点坐标记录于第一个位置,其次按照顺时针将其余坐标记录在文本中,最后记录水表读数,各个坐标值和读数值之间用逗号分隔开。

(4-2)训练参数设定:迭代次数iters=80000,学习率更新策略:step,更新步长:200,400,600,20000,30000,初始学习率:0.001,scales:2.5,2,2,0.1,0.1,batch=64,decay:0.0005;

(4-3)在yolo中,将原图平均划分成side2个即7*7个矩形,在每个矩形中产生num个边框,以供回归。每个矩形产生2个概率,对应text类和background类的概率,每个边框对应输出4个坐标和目标置信度,所以最终detection层的输出张量大小为size*size*(num*5+2)。

(4-4)采用leaky活化函数;

(4-5)权值初始化:共享卷积层的权值使用imagenet分类任务训练模型进行初始化,其余新的层采用零均值高斯分布进行初始化。

(4-6)对边框的坐标进行参数化。

(4-7)训练卷积神经网络:训练的时候,设置边框loss大于置信度的loss。利用卷积神经网络提取特征,把特征输入全连接层后预测输出。在yolo中,7*7中的每个矩形预测num个输出,最后我们根据最大的置信度保留一个,然后对他进行回归。

优选地,所述步骤(5)包含以下步骤:

(5-1)把测试集中的图片以及标签输入到已训练好的网路中,进行检测。

(5-2)检测完成后,程序计算平均精度、回调率。

(5-3)随机显示20张照片的检测效果,每张照片的水表读数被自动框出,

并带有判断概率。

与传统的人工读取方法相比,本发明具有以下优点和有益效果:

(1)由于采用深度网络结构的自动学习检测算法,所以能够很好的从数据中学习到有效的表达,提高检测的准确率。

(2)本发明采用端到端的设计,与传统人工读取相比,读取速度快,准确率更高,同时避免人工读取时的有意干扰或故意出错。

(3)本发明分类方法检测准确率高、鲁棒性强、效率高、速度快。

附图说明

图1为本发明分类方法的流程图;

图2为本发明的数据采集和处理流程图;

图3为本发明的深度卷积神经网络结构图;

图4为本发明的水表检测流程图;

图5为本发明检测结果示例。

具体实施方式

下面结合实施例和附图对本发明做进一步的说明,但本发明的实施方式和保护不限于此,需指出的是,以下若有未特别详细说明之过程或符号,均是本领域技术人员可通过现有技术理解或实现的,特别是关于yolo中的一些参数和符号,在此不再赘述。

本实例基于yolo的水表自动检测方案,流程框图如附图1所示,包括下列步骤:

(1)数据获取:用手机拍摄50000多张水表读书照片,涵盖多种水表。

(2)数据处理:对图片进行裁剪,使图片大小最终为480*200。在保证水表读数框完整保留的前提下,可以任意裁剪图片的区域。如图5所示。

(3)label制作,包括如下三个步骤:

(3-1)使用标注软件,人工标定水表读数框。

(3-2)将边框的坐标以及宽高存于txt文件中,同时将水表的读数也记录于文件中。

(3-3)将照片随机划分为训练集(约45000张)和测试集(约5000张)。

所述边框坐标为矩形框四个顶点坐标,将左上顶点坐标记录于第一个位置,其次按照顺时针将其余坐标记录在文本中,最后记录水表读数,各个坐标值和读数值之间用逗号分隔开。

(4)训练网络,包含以下步骤:

(4-1)构建卷积神经网络(其中各个层的名称不一一列出,可参照现有技术):

input(480x200)->crop(200*200)->conv1(3*3,pad=1)->activation(leaky)->pool1(2*2,s=2)->conv2(3*3,pad=1)->activation(leaky)->pool2(2*2,s=2)->conv3(3*3,pad=1)->activation(leaky)->pool3(2*2,s=2)->conv4(3*3,pad=1)->activation(leaky)->pool4(2*2,s=2)->conv5(3*3,pad=1)->activation(leaky)->pool5(2*2,s=2)->conv6(3*3,pad=1)->activation(leaky)->conv7(3*3,pad=1)->activation(leaky)->full_connect(128)->activation(linear)->full_connect(512)->activation(leaky)->dropout(0.5)->full_connect(784)->activation(linear)->detection(cls=1,coords=4,rescore=1,side=7,num=2,softmax=0)

网络结构如图3所示,略去了pooling等网络层。

(4-2)训练参数设定:迭代次数iters=80000,学习率更新策略:step,更新步长:200,400,600,20000,30000,初始学习率:0.001,scales:2.5,2,2,0.1,0.1,batch=64,decay:0.0005

yolo采用的loss函数为(参数定义可参照现有定义):

(4-3)在yolo中,将原图平均划分成side2个即7*7个矩形,在每个矩形中产生num个边框,以供回归。每个矩形产生2个概率,对应text类和background类的概率,每个边框对应输出4个坐标和目标置信度,所以最终detection层的输出张量大小为size*size*(num*5+2)。

(4-4)采用leaky活化函数:

(4-5)权值初始化:共享卷积层的权值使用imagenet分类任务训练模型进行初始化,其余新的层采用零均值高斯分布进行初始化。

(4-6)对边框的坐标进行参数化:

tx=(x-xa)/waty=(y-ya)/ha

tw=log(w/wa)th=log(h/ha)

tx*=(x*-xa)/waty*=(y*-ya)/ha

tw*=log(w*/wa)th*=log(h*/ha)

其中,x,y,w,h代表边框的中心坐标和宽高。x,xa,x*来自于预测框,anchor框和groundtruth框,y,ya,y*、h,ha,h*与此相同。

(4-7)训练卷积神经网络:训练的时候,设置边框loss大于置信度的loss,即λcoord=5,λnoobj=0.5。利用卷积神经网络提取特征,把特征输入全连接层后预测输出。在yolo中,7*7中的每个矩形预测num个输出,最后根据最大的置信度保留一个,然后对他进行回归。

(5)测试网络,包含以下步骤:

(5-1)把测试集中的图片以及标签输入到已训练好的网路中,进行检测。

(5-2)检测完成后,程序计算平均精度、回调率。

(5-3)随机显示20张照片的检测效果,每张照片的水表读数被自动框出,

并带有判断概率。

在图5所示的实例中,显示了将一张480*200的水表图片检测后的结果,图中已将读数自动框出,同时左上角带有判定概率0.999。

本发明的实施方式并不受上述实施例的限制,其他任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1