本发明涉及水位监测

技术领域:

:,具体地说,涉及一种基于深度学习的水尺识别方法。

背景技术:

::近些年来,随着图像处理技术的发展,通过计算机获得图像里的详细信息成为了一种非常方便且高效的方式。将图像处理技术与水尺图像结合来获得水位值成为一种新的水位测量方法。对于水位这种比较特别的数据,图像法的误差已经可以接受,而且成本低,在一些特别的应用场合具有优势,维护方便。现在已有很多自动识别水尺的方法,如:公布号为CN109145830A的中国专利文献公开了一种智能水尺识别方法,能对水位线不清晰的图片进行高效识别。但该方法网络结构相对复杂,需要设置较多的网络参数,实际应用中系统的调试、实施和维护相对麻烦,影响了其实用效果。公布号为CN108549894A的中国专利文献公开了一种基于深度学习算法的船舶水尺图像自动读数方法。该方法利用深度学习算法对船舶水尺图像中的数字进行识别定位,得出数字数值和在图像中的边框坐标,并对数字边框坐标进行修正。这种方法对于带数字和“E”字符的水尺的识别并不适合。公布号为CN109508630A的中国专利文献公开了一种基于人工智能识别水尺水位的方法,采用深度学习算法实现,该深度学习算法需要使用已标注的大量水尺图像数据进行预训练,在预训练的基础上才能将算法应用到对未知水尺刻度的水尺图像的预测中。该方法如果没有大量的水尺图像数据效果就会受到很大限制。技术实现要素:本发明的目的为提供一种基于深度学习的水尺识别方法,该方法在进行水位监测的过程中,不仅精度高,在水的颜色和水位线不容易识别情况下也能准确识别,而且网络结构相对简单,软件的调试及后期维护相对容易,很有利于应用推广。为了实现上述目的,本发明提供的基于深度学习的水尺识别方法包括以下步骤:1)采集水尺图像数据;2)对水尺图像中的水尺进行定位;3)识别定位后的水尺图像的水面线,并对水面线以上的图像进行字符分割;4)识别分割的字符,并计算水位值。上述技术方案中,通过深度学习的目标检测算法实现对水尺的定位,并对定位结果进行部分调整;接着将水尺图像从RGB颜色空间转换到Lab颜色空间,使用颜色判定的方法对水尺图像进行二值化,划分水上水下,再通过腐蚀操作和连通域相关的方法获得“E”字符的位置,之后根据位置关系,获得数字字符的位置;接着用深度学习中的图像分类算法识别分割出的字符;然后用线性拟合的方式校正识别结果,最后计算出水位值。该方法不仅精度高,在水的颜色和水位线不容易识别情况下也能准确识别,而且网络结构相对简单,软件的调试及后期维护相对容易,很有利于应用推广。作为优选,步骤2)包括:2-1)制作数据集,可使用MATLAB中的imagelabeler功能,导入所有的水尺图像数据,每隔三幅图像选取一幅作为测试图像,对测试图像中水尺的位置添加标签框,并导出添加标签框的图像作为数据集;2-2)网络训练,采用Faster-RCNN算法,使用MATLAB中的扩展网络Alexnet作为检测网络的网络模型,并利用数据集中的图像对网络模型进行训练,形成水尺定位模型;整个训练过程分为四个步骤:(1)生成RPN(RegionProposalNetwork)网络,RPN网络是区域生成网络,用来生成候选框,是一种卷积神经网络;(2)用RPN网络来训练检测网络;(3)用检测网络优化RPN网络;(4)用优化的RPN网络来优化检测网络。其中每一步的训练参数都是独立的,后两步优化过程一般会用更低的学习速率来提高准确度,四个步骤用同一个训练参数。2-3)定位结果,将待测的水尺图像输入训练好的水尺定位模型,得到定位结果。作为优选,步骤3)中,水面识别过程采用通过颜色进行二值化的方法识别水面线,使用Lab颜色空间对颜色进行判定。作为优选,步骤3)中,采用包围连通域的方式进行字符分割,包括:3-1)字符分离,选用形态学中的腐蚀算法使字符分离,腐蚀可以实现“E”字符相互分开但部分数字字符因被腐蚀而断裂,结构信息也被腐蚀掉,因此数字需要其他方法进行分割;3-2)字符加框,针对“E”字符,将所有包围框在竖直方向上,由上往下进行排列,每一个左侧的“E”字符包围框和相邻的右侧“E”字符包围框的上下侧之间的纵坐标值相等,每一个数字被三个“E”字符包围。对数字的包围框就通过对3个“E”字符包围框的组合来获得。为了获得更好的数字字符图像,可经过再次对水尺图像进行二值化,并对颜色取值进行调整。水尺图像里完整的数字个数都比左侧“E”字符个数少一个,数字包围框的左侧取上下两个“E”字符包围框的左侧的最小值;上侧取上面“E”字符包围框的下侧,由于在生成包围框的时候,对图像进行了腐蚀,在未腐蚀的图像里,需要补上3个长度,其他两侧也是同理;右侧取右边“E”字符包围框的左侧;下侧取下方“E”字符包围框的上侧。作为优选,步骤4)中,识别分割的字符包括以下步骤:(1)预处理,使用加黑边操作,使所有的字符图像都为正方形;(2)建立数据集,将图像分类地保存到相应的文件夹中,给每一种数字和每一种分割的“E”字符分配一个子文件夹;(3)建立图像分类卷积神经网络,利用数据集中的图像对图像分类卷积神经网络进行训练,得到图像分类模型;(4)将待测字符进行步骤(1)的预处理后输入图像分类模型,得到字符所代表的数字或分割的“E”字符所代表的百分比。作为优选,图像分类卷积神经网络中,输入图像的尺寸为50*50,维度为1;第一个卷积层卷积核尺寸为3*3,维度默认和图像维度一致,卷积核数量为8;卷积层之后使用批量归一化层加速网络的训练,再加上激励层获得输出;池化层选择最大池化方式,滤波器尺寸为2*2;一共包含3个卷积层,每一个卷积层比上一个卷积层的卷积核数量增加一倍;使用1个全连接层,全连接层分类的数目和图像种类数量相一致;还包括softmaxLayer层和classificationLayer层。作为优选,步骤4)中,采用曲线拟合的方法计算水位值:将从上到下的字符顺序作为横坐标,“E”字符识别值为纵坐标,用一阶线性拟合的方法,使用MATLAB里的两个函数:polyfit(x,y,n)函数返回阶数为n的多项式p(x)的系数,该系数是y中数据的最佳拟合,polyval(p,x)计算多项式p(x)在x的每个点处的值,进行校正,校正结果用四舍五入的方法进行取整。与现有技术相比,本发明的有益效果为:本发明的基于深度学习的水尺识别方法的精确度更高,抗干扰能力强,对环境和相机像素的要求较低,可以应用在户外环境下的水尺的水位识别。该方法不仅精度高,在水的颜色和水位线不容易识别情况下也能准确识别,而且网络结构相对简单,软件的调试及后期维护相对容易,很有利于应用推广。附图说明图1为本发明实施例中基于深度学习的水尺识别方法的流程图;图2为本发明实施例的水尺定位流程图;图3为本发明实施例水尺定位后得到的三类图像,其中图3(a)是下边框低于水面图像,(b)是下边框和水面近似重合图像,(c)是下边框高于水面图像;图4为本发明实施例水面识别与字符分割的流程图;图5为本发明实施例字符识别与水位值计算的流程图;图6为本发明实施例的腐蚀结果图像,其中图6(a)是分割出来的水尺图像,(b)是腐蚀结果图像;图7为本发明实施例中“E”字符包围框图像,其中图7(a)是分割出来的水尺图像,(b)是“E”字符包围框图像;图8为本发明实施例中数字包围框图像,其中图8(a)是分割出来的水尺图像,(b)是重新二值化后的数字字符包围框图像;图9为本发明实施例中预处理的字符图像。具体实施方式为使本发明的目的、技术方案和优点更加清楚,以下结合实施例及其附图对本发明作进一步说明。实施例参见图1,本实施例的基于深度学习的水尺识别方法包括以下步骤:S1采集水尺图像。S2水尺的定位;具体步骤如图2所示,包括:S201制作数据集。本实施例使用MATLAB中的imagelabeler功能。导入所有的图像数据,定义一个标签,大概每隔3幅图像选取一幅作为测试数据,给测试图像中的感兴趣区域添加标签框,完成后再把数据导出,导出的格式选择table。S202设置训练参数;选择随机梯度下降法来训练网络,设置网络训练轮数和每次同时训练的图像个数,设置训练速率。S203网络训练;本实施例采用Faster-RCNN算法,准确度较高,而且速度快。本例使用Alexnet作为网络架构。整个训练过程分为四个步骤:(1)生成RPN(RegionProposalNetwork)网络,RPN网络是区域生成网络,用来生成候选框,是一种卷积神经网络;(2)用RPN网络来训练检测网络;(3)用检测网络优化RPN网络;(4)用优化的RPN网络来优化检测网络。其中每一步的训练参数都是独立的,后两步优化过程一般会用更低的学习速率来提高准确度,本例四个步骤用了同一个训练参数。S204定位结果;本实施例把150张图像数据检测一遍,定位结果基本为三类,如图3所示。S3水面识别与字符分割,具体步骤如图4所示,包括:S301转换成Lab颜色空间;S302二值化,本实施例采用通过颜色进行二值化的方法来识别水面,使用Lab颜色空间来对颜色进行判定。本实施例的取值:L值为10到60之间,a值为+20到+127,b值为+10到+127。S303字符分离,有些地方,上下两个“E”字符之间还是存在一小部分相连,本实施例选用形态学中的腐蚀算法来使字符分离,具体效果如图6所示。腐蚀可以实现“E”字符相互分开但部分数字字符因被腐蚀而断裂,结构信息也被腐蚀掉,因此数字需要其他方法进行分割。S304字符加框,本实施例针对“E”字符加框,将所有的包围框在竖直方向上,由上往下进行排列,每一个左侧的“E”字符包围框和相邻的右侧“E”字符包围框的上下侧之间的纵坐标值大致相等,而数字包围框和相邻的右侧“E”字符包围框的该值相差较大,由此来筛选出左侧的“E”字符包围框,结果如图7所示。由图7可知,每一个完整的数字都被三个“E”字符包围,这样对数字的包围框就通过对3个“E”字符包围框的组合来获得。为了获得更好的数字字符图像,本例经过再次对水尺图像进行二值化,并对颜色取值进行调整:L值为5到60,a值为+15到+127,b值为+5到+127。水尺图像里完整的数字个数都比左侧“E”字符个数少一个,数字包围框的左侧取上下两个“E”字符包围框的左侧的最小值;上侧取上面“E”字符包围框的下侧,由于在生成包围框的时候,对图像进行了腐蚀,在未腐蚀的图像里,需要补上3个长度,后面两侧也是同理;右侧取右边“E”字符包围框的左侧;下侧取下方“E”字符包围框的上侧,结果如图8所示。S4字符识别与水位值计算;具体说明如下:S401预处理,本实施例使用加黑边操作,使所有的字符图像都为正方形,如图5所示。S402数据集,将图像分类地保存到相应的文件夹中,每一种数字分配一个子文件夹,特殊字符也一样。S403图像分类卷积神经网络,将图像分类地保存到相应的文件夹中,每一种数字分配一个子文件夹,特殊字符也一样。搭建简单的网络架构并设置相应的训练参数进行训练。S404识别特征,通过生成网络的DeepDream图像,来观察网络对不同类别的特征识别是否准确。S405水位值计算,参见图5,本实施例采用曲线拟合方法,将从上到下的字符顺序作为横坐标,字符识别值为纵坐标,用一阶线性拟合的方法,本例使用MATLAB里的两个函数:polyfit(x,y,n)函数返回阶数为n的多项式p(x)的系数,该系数是y中数据的最佳拟合,polyval(p,x)计算多项式p(x)在x的每个点处的值,进行校正。校正结果用四舍五入的方法进行取整。当前第1页1&nbsp2&nbsp3&nbsp当前第1页1&nbsp2&nbsp3&nbsp

水位尺读数识别 python_一种基于深度学习的水尺识别方法与流程相关推荐

  1. 基于linux火焰识别算法,一种基于深度学习模型的火焰识别方法与流程

    本发明属于通信领域,具体涉及一种基于深度学习模型的火焰识别方法. 背景技术: 随着我国工业化与城镇水平的不断提高,现代设施大型公共建筑朝着空间大.进深广功能复杂的多元化方向发展,这对于防烟火朝着空间大 ...

  2. 中国人工智能学会通讯——基于视频的行为识别技术 1.5 基于深度学习的视频识别方法...

    1.5 基于深度学习的视频识别方法 下面介绍面向视频分类的深度学习方 法.深度卷积神经网络在图像分类取得 成功后,研究人员就希望把它推广到视 频分类中.但这不是一件很容易的事, 一个原因是缺乏足够的训 ...

  3. 表单识别(五)——票据识别-论文研读:基于深度学习的票据识别系统设计与实现,卞飞飞(上)

    (论文研读:基于深度学习的票据识别系统设计与实现,卞飞飞:) 引言: 传统的文本检测与识别算法主要指利用数字图像处理等非深度学习技术进行文本检测的方法,依赖于数字图像特征(如颜色.纹理.轮廓.形状等特 ...

  4. 表单识别(六)——票据识别-论文研读:基于深度学习的票据识别系统设计与实现,卞飞飞(中)

    票据识别系统文本检测与识别算法研究 方法概览 票据文本检测算法 文本单元间边界信息建模设计 可微分二值化模块设计 网络结构设计 网络训练标签的生成与损失函数设计 网络推理过程与后处理设计 票据文本识别 ...

  5. 一种基于深度学习的目标检测提取视频图像关键帧的方法

    摘要:针对传统的关键帧提取方法误差率高.实时性差等问题,提出了一种基于深度学习的目标检测提取视频图像关键帧的方法,分类提取列车头部.尾部及车身所在关键帧.在关键帧提取过程中,重点研究了基于SIFT特征 ...

  6. 基于深度学习的吉他谱识别

    摘要 光学乐谱识别是音乐智能化发展的关键部分,在音乐教学.创作等领域有重要应用价值.针对现有吉他谱识别方法步骤繁琐.识别精度低等问题,提出一种基于深度学习的吉他谱识别方法.首先通过分析吉他谱的特点,将 ...

  7. 毕业设计-基于深度学习的人脸识别方法

    目录 前言 课题背景和意义 实现技术思路 一.人脸识别介绍 二.基于深度学习的人脸识别方法 实现效果图样例 最后 前言

  8. 一种基于深度学习的遥感图像分类及农田识别方法

    文章针对现有的神经网络收敛速度慢.识别准确率不高的缺点,提出了一种基于卷积神经网络的遥感图像农田分类及识别方法.该算法使用较大的卷积核,有效地提取梯度信息:设计深度为6层的卷积神经网络,提高了网络的分 ...

  9. 一种基于深度学习的增值税发票影像识别系统

    一种基于深度学习的增值税发票影像识别系统-专利技术交底书 缩略语和关键术语定义 1.卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构 ...

最新文章

  1. 文档相似度之doc2vec、文档聚类
  2. 20nian5yue最热门的Python开源项目
  3. 扩展ToolBarManager、ListView和Grid控件以实现气球式的ToolTip
  4. 数据中台推荐系统入门(三):推荐系统的评测指标
  5. C#中嵌入互操作类型的含义
  6. 历届试题 打印十字图(模拟)
  7. 立冬节气主题海报你知道怎么做了么?灵感给你,学起来!
  8. hadoop2.6---常用命令
  9. 飞秋不能传递文件的两种情况
  10. Java入门到精通(干就完了)
  11. Windows 错误报告
  12. 《第一本Docker书》 读书笔记
  13. linux 3d 制作工具,3D特效制作 SideFX Houdini FX For Win/Linux/macOS 及安装教程
  14. 介绍 PostgreSql 两个有用的比较操作
  15. high sierra php,macOS High Sierra 上测试 Apache 和 PHP 站点
  16. 告诉大家操作系统32位和64位的区别
  17. 学术界、管理人、投资者视角下的因子投资
  18. js 最新手机号码、电话号码正则表达式
  19. Tomcat架构解析之HTTP/2.0
  20. java 爬虫js渲染_java_爬虫_获取经过js渲染后的网页源码

热门文章

  1. opencv图像分割合成_opencv 金字塔图像分割
  2. idea中maven项目一直卡在Resolving Maven dependencies
  3. MySQL创建一张日期表
  4. WORD中如何使页眉内容和章节保持一致
  5. 小白学算法——借用leetcode(其实就是刷题记录....——1
  6. 知识图谱:【数据清洗工具flashtext(一)】——flashtext简介
  7. 大健康杂志大健康杂志社大健康编辑部2023年第3期部分目录
  8. MySQL中字段类型为longtext的值导出后显示二进制串
  9. 迁移有道云笔记到语雀,亲测成功!
  10. 【思特奇杯•云上蓝桥--算法训练营】第1周作业 蓝桥杯真题(Python)