基于OCR的水位检测项目 水位识别

简介: 基于OCR的水位检测项目 水位识别

水位尺读数系统概述

本项目旨在利用OCR技术结合水位尺,实现自动读取水位数值的功能,目标精度达到0.01。整个系统的设计和实现涵盖了从原始数据的采集、预处理、目标检测、字符识别到最终的水位计算等多个环节,旨在构建一个高效、准确的自动化水位监测解决方案。

├── Hough(霍夫变换检测直线)
├── LSTM-OCR(基于LSTM模型的OCR方法,包含部分权重)
├── Number_detect_dataset(用于训练数字检测模型YOLO v3的数据集)
├── Post_Process_Result(OCR模型输出)
├── data_for_ocr_train(用于训练OCR模型的数据集)
├── demo(演示系统源码与可执行文件下载地址)
├── TPS(模糊文本识别模型)
├── creat_dataset(用于生成合成数据集,训练TPS模型)

环境配置

  • 操作系统:支持Windows或Linux。
  • 编程语言:Python 3.5及以上版本。
  • 深度学习框架:TensorFlow-GPU 1.14.0及以上版本,要求CUDA 10.0及以上版本支持GPU加速。
  • 调整摄像头至仅拍摄水位尺区域,使用训练好的目标检测模型检测数字区域(如图1左),根据bounding
    box的位置关系(主要基于Y轴,根据实际情况需要分别讨论(1)),确定检测区域1和检测区域2,其中,检测区域1代表最下方的刻度区数字,精度为0.1,经过OCR模型识别数字,得到值L2(数值);检测区域2为最下方的较长数字,精度为1,经过OCR模型识别数字,得到值L1(数值),检测区域1和检测区域2由bounding
    box的宽度区分(如图1中);
  • 另外,检测区域1的bounding
    box下边界至水面为检测区域三,通过霍夫变换检测直线数目,精度为0.01,得到值L3(直线条数);最终,通过计算式L1-(10-L2·0.1)-0.25·L3(1),获得最终水位(如图1右)。
  • 其中(1)中的讨论主要指较长数字区域(L1值)和刻度区数字区域(L2值)的位置关系,实际数据中,二者并不总是呈现L1在L2上方的情况。所以需要分情况确定加减号,详见附录。
    方案实施

项目目录结构

  • Hough(霍夫变换检测直线):负责通过霍夫变换检测水位尺上的直线,用于提高0.01精度的水位测量。
  • LSTM-OCR(基于LSTM模型的OCR方法):实现对检测到的数字区域的字符识别,包括模型训练和预测。
  • Number_detect_dataset(用于训练数字检测模型YOLO v3的数据集):提供训练YOLO v3模型所需的数据集。
  • Post_Process_Result(OCR模型输出):存放OCR模型识别后的输出结果。
  • data_for_ocr_train(用于训练OCR模型的数据集):为训练OCR模型准备的数据集。
  • demo(演示系统源码与可执行文件下载地址):包含演示系统的源代码及可执行文件。
  • TPS(模糊文本识别模型):针对模糊文本的识别模型。
  • creat_dataset(用于生成合成数据集,训练TPS模型):生成合成数据集,用于训练TPS模型。

技术方案

整体思路
  1. 摄像头调整:确保摄像头只拍摄水位尺的有效区域,减少环境干扰。
  2. 目标检测:使用YOLO v3模型检测水位尺上的数字区域,通过bounding box的位置关系确定检测区域1(最下方的刻度区数字,精度为0.1)和检测区域2(最下方的较长数字,精度为1)。
  3. OCR识别:利用LSTM模型对检测区域内的数字进行识别,输出数字值。
  4. 霍夫变换:通过霍夫变换检测直线数目,精度为0.01,以进一步细化水位的测量。
  5. 水位计算:综合上述步骤的信息,根据特定公式计算最终水位值。
方案实施
  1. 原始数据处理:从摄像头采集的数据中筛选并提取出感兴趣的水位尺区域。
  2. 数据标注:对提取出的区域进行标注,数字检测采用YOLO v3模型,标注格式为YOLO格式。
  3. 数字检测模型训练:基于标注数据训练YOLO v3模型,用于检测水位尺上的数字。
  4. OCR模型训练:使用数字检测模型的结果作为输入,训练LSTM模型,以识别检测到的数字区域。
  5. 霍夫变换应用:对检测区域1和检测区域2之间的区域应用霍夫变换,检测直线数目,以提高水位测量的精度。

存在的问题与挑战

  • 检测精度:目标检测模型可能存在漏检或误检的情况,尤其是在尺子倾斜或弯曲的情况下。
  • 识别准确性:OCR模型在识别长数字时可能出现位数错误,这主要是因为训练数据中多位数字的数量较少。
  • 霍夫变换的鲁棒性:霍夫变换对参数非常敏感,容易受到环境因素的影响,如水面反射等,导致直线检测不准确。

演示系统

  • 用户界面:基于PyQt构建,提供了友好的用户界面,方便用户选择图片进行水位读数。
  • 授权限制:演示系统设有授权限时,需要将系统时间。

该项目是一个复杂的多阶段处理流程,每个阶段的成功实施都是保证最终水位读数准确性的关键。未来的工作将集中在提升各模块的性能和鲁棒性,以及优化整个系统的运行效率。

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
20小时前
|
算法 PyTorch 算法框架/工具
基于PyTorch的EfficientDet进行水下目标检测 水下目标检测
项目概述:基于PyTorch的EfficientDet进行水下目标检测 在这个项目中,我们将通过实际比赛数据集演示如何训练最近开源的相对最先进的PyTorch版EfficientDet模型。本教程将涵盖从数据准备到模型训练、评估以及推断的全过程。值得注意的是,在本次实验中,我们没有采用任何数据增强技术或模型融合等后处理方法来提升模型精度;同样地,我们也未使用如UWGAN_UIE、水质迁移(WQT)、DG-YOLO或其他去雾算法对水下图像进行预处理。尽管这些技巧可能有助于提高识别准确率,但我们希望保持基础框架的纯粹性以专注于模型本身的性能。 1. 数据来源 我们的数据来自于科赛网举办的一次水下
|
20小时前
|
机器学习/深度学习 数据采集 TensorFlow
基于ResNet50的鱼类识别系统设计 图像分类识别
基于ResNet50的鱼类识别系统设计 图像分类识别
|
20小时前
|
机器学习/深度学习 数据采集 自然语言处理
基于LSTM的时间序列预测研究
基于LSTM的时间序列预测研究
|
21小时前
|
机器学习/深度学习 API
基于深度学习和YOLOv11的错题自动切分系统
基于深度学习和YOLOv11的错题自动切分系统
|
20小时前
|
机器学习/深度学习 算法 计算机视觉
基于OpenCV的图像拼接系统
基于OpenCV的图像拼接系统
|
21小时前
|
人工智能 自然语言处理 NoSQL
骡子快跑MuleRun是什么?有哪些功能?收费价格一文讲清
阿里云“骡子快跑”(MuleRun)是一站式AI原生智能工作空间,深度融合大模型与自动化执行能力,支持自然语言驱动任务。具备四层记忆、主动智能、安全沙箱及原生计算机控制,适用于电商上架、运营分析、全渠道触达等场景,提供Team版(420元/人/月)和Enterprise版(2500元/人/年)。骡子快跑官网:https://t.aliyun.com/U/gSCv7v
骡子快跑MuleRun是什么?有哪些功能?收费价格一文讲清
|
1天前
|
人工智能 自然语言处理 API
懂车帝API接口全景解析:赋能汽车应用开发的利器 懂车帝为开发者精心打造了多维度、高价值的API接口体系,覆盖车辆数据获取、智能搜索及精准车型分析等核心场景。以下为2024年最新接口功能详解与技术实现指南:
懂车帝2024新版API全景解析:覆盖车型详情(item_get)、智能搜索(item_search)、SKU配置(item_sku)三大核心接口,支持OAuth2.0认证、多级查询与实时数据调用,日均调用量超1.2亿次,助力汽车应用高效开发。(239字)
|
20小时前
|
人工智能 IDE 定位技术
Understand-Anything:不用硬啃源码,把项目变成一张能追问的知识图谱
Understand-Anything 是一款开源AI工具,通过静态分析+多智能体理解,自动构建代码库知识图谱,帮开发者快速掌握系统架构、业务流程与模块依赖。支持中文、影响分析、新人引导等,让读代码前先有“地图”。(238字)
52 0
Understand-Anything:不用硬啃源码,把项目变成一张能追问的知识图谱
|
1天前
|
传感器 人工智能 算法
AI时代的护眼,不再是一盏灯的事
本文揭秘AI驱动的护眼新范式:雷士照明联合鲸鸣视控推出“AI主动护眼系统”,以“伴生适然光”模拟自然节律,叠加AI多模态感知(坐姿、专注度等),实现光环境自主调节。告别单点设备堆砌,迈向人-光-环境协同的系统性智能守护。
|
21小时前
|
人工智能 运维 JavaScript
阿里云Qoder CN(原通义灵码)全解析 产品形态、版本划分与技术适配说明
在AI辅助开发与智能办公工具持续普及的当下,阿里云旗下原通义灵码正式更名为Qoder CN,同时延伸出QoderWork CN、Qoder CN CLI、Qoder CN Mobile等多款配套产品,形成覆盖代码开发、日常办公、终端交互、移动端使用的完整工具矩阵。Qoder CN核心定位为AI智能编码助手,深度适配主流代码编辑器、集成开发环境以及终端场景;QoderWork CN则偏向桌面端综合办公辅助,二者面向不同使用场景,划分了多个版本档位,搭配差异化资源配额、功能权限与计费规则,同时兼容多款主流大模型。
157 4