配电房数字式仪表读数识别算法开发

文章目录

一、概述

数字式仪表是指以数字的形式呈现仪表读数的仪表类型,其特点是读数比较直观,如下图为配电房常用数字式仪表

对于数字仪表的读数识别实质上就是0-9十个数字字符的识别,可以把它当成一个具有10个类别的目标检测任务来实现,由于当前目标检测算法比较成熟,因此算法方面不是难点,最关键的是训练数据集的搜集和准备。目前仅有70张来自实际配电房场景的数字仪表相关图片,这显然无法满足目标检测算法的训练要求,因此还需要想各种办法增加或扩充训练数据。本文主要介绍配电房数字式仪表读数识别算法的开发过程,其中重点阐述训练数据的扩充过程。

二、训练数据准备

由于来自实际场景的图片很难搜集,因此主要通过以下两种方式对训练数据进行扩充,一是根据图片特点,自动生成相关训练图片;二是利用爬虫技术从互联网爬取相关图片。

2.1 自动生成图片

由于数字仪表中的数字读数部分是一种数码管字体,因此可以考虑利用相应的数码管字体产生相应的数字字符串,然后将这些数字字符串叠加到背景图片中,从而达到自动生成数字字符训练图片的目的,由于生成过程是通过程序控制的,因此在生成图片的同时,还能够同步获取这些数字字符在图片中的坐标信息,从而可以生成这些图片对应的标注文件,这样就能够节省大量的数据标注工作,可以无限量地自动生成训练图片及其对应的标注文件。

为了能够更加贴合实际场景,背景图片选择实际配电房场景的图片。

为了增加数据的丰富性,生成的数字字符串的颜色、大小和放置位置都在一定范围内随机产生,且不同字符串之间不重叠。

以下为代码自动生成的图片示例

2.2 爬虫搜集图片

上一步中利用代码可以自动生成无限量的训练图片及其标注文件,但为了防止过拟合,还需要一些其他来源的训练数据,为此,可以借助爬虫技术从网络中爬取一些相关的图片,作为训练集的补充。

利用爬虫脚本,分别以"数字表计"、"数字仪表"、"数码管仪表"等为关键词,从百度图片网址爬取下载图片,共获得1500多张图片,经过清洗筛选,得到 **452 **张可用于训练的数字表计图片,如下图所示:

可以看到,网上爬取的图片五花八门,虽与配电房场景不太匹配,但在已有大量生成图片的基础上,可以作为训练集的补充和完善,进一步丰富数据的来源,防止过拟合的发生。

三、模型训练及测试

3.1 数据集组成

上述第二步描述了训练数据的自动生成方法,理论上可以生成无限量的训练图片,但由于生成图片毕竟与实际图片有些不同,如果生成图片数量过多,会导致过拟合的发生。因此,经过综合考虑和衡量,决定生成3000张图片用于训练,然后再将利用爬虫得到的452张图片,以及来自实际场景的70张图片合并到一起,组成一个3522张图片的数据集,然后再将该数据集按照6:2:2的比例随机划分为训练集、验证集、测试集。数据集组成如下表所示

图片类别 生成图片 网络爬取图片 实际场景图片 合计 训练集图片 验证集图片 测试集图片
数量 3000 452 70 3522 2113 704 705

3.2 模型训练及评价

准备好数据集后,利用yolov8目标检测算法对数据集进行训练,经过200轮的训练,得到的yolov8模型在测试集上进行测试,最终的精确率、召回率如下表所示

测试集图片 精确率P 召回率R
705 0.993 0.983

3.3 预测结果可视化

训练得到模型后,对测试集图片进行推理预测,得到的可视化结果如下所示

四、小结

本文主要介绍了配电房数字式仪表读数识别算法的开发过程,在严重缺乏实际场景图片的情况下,采用了两种数据扩增方法,一种是利用代码自动生成大量图片,另一种是利用爬虫技术从网络爬取相关图片,然后将所有数据组成一个数据集,并进行模型训练,所得模型在测试集的精确率、召回率分别达到0.993、0.983,同时从可视化预测结果来看,模型也具有很好的识别效果,与预期相符,表明了本文提出的数据生成方法及读数识别算法的有效性。

相关推荐
AsItachi4 天前
基于StyleGAN2-ADA和FNW YOLOv8的玉米害虫智能检测
yolov8·stylegan2
爱爬山的木木8 天前
海思3403对RTSP进行目标检测
yolo·yolov8·3403·rtsp流·ss928
一勺汤18 天前
YOLOv8模型改进 第十七讲 通道压缩的自注意力机制CRA
yolo·目标检测·outlook·模块·yolov8·yolov8改进·魔改
就是求关注1 个月前
深度学习—基于YOLOv8的人物目标检测和分割(跟踪)
yolo·目标检测·目标跟踪·yolov8·目标分割
你的陈某某1 个月前
Atlas800昇腾服务器(型号:3000)—YOLO全系列NPU推理【跟踪】(八)
yolov8·npu·bytetrack·atlas800·a300i pro·ais_bench
machnerrn1 个月前
基于YOLOv9实现的自行车检测系统:为共享自行车违停项目开发(附项目源码及数据集下载)
深度学习·目标检测·毕业设计·课程设计·yolov8·yolov9·自行车违停检测
知来者逆2 个月前
基于YOLOv8目标检测与chef-transformer(T5)从图像创建食谱
人工智能·深度学习·yolo·目标检测·计算机视觉·transformer·yolov8
cheoyeon2 个月前
国产化框架PaddleYOLO结合Swanlab进行作物检测
深度学习·目标检测·作物检测·国产化·yolov8·swanlab·粮食安全
墨理学AI2 个月前
Mac 电脑配置yolov8运行环境实现目标追踪、计数、画出轨迹、多线程
yolo·macos·yolov8
不想敲代码!!!2 个月前
爆改YOLOv8|使用MobileNetV4替换yolov8的Backbone
pytorch·python·深度学习·yolo·目标检测·yolov8