【盘算机视觉】工业表计读数(2)--表计检测

打印 上一主题 下一主题

主题 1648|帖子 1648|积分 4944

1. 简介

工业表计(如压力表、电表、气表等)在工控体系、能源管理等领域具有重要应用。然而,传统人工抄表不但工作量大、服从低,而且轻易产生数据误差。近年来,基于深度学习的目标检测方法在工业检测中展现出极大优势,其中YOLO(You Only Look Once)系列模子因其端到端的检测流程和及时性备受关注。本文以YOLO11为基础,构建了一套完整的表计检测体系,实现对表计地区的自动识别与裁剪,为后续的读数识别奠定基础。
2. 体系架构与实现方法

本体系主要分为两个模块:表计检测模子练习模块与检测后推测模块。下文分别先容这两个模块的实现细节。
2.1 表计检测模子练习

在练习阶段,体系利用YOLO11模子对采集到的表计图像举行目标检测模子练习,主要步调如下:

  • 模子构建与权重加载
    利用Ultralytics的YOLO库,根据自界说的配置文件(yolo11.yaml)构建模子,并加载预练习权重(yolo11n.pt)。
    1. from ultralytics import YOLO
    2. import warnings
    3. warnings.filterwarnings("ignore")
    4. if __name__ == '__main__':
    5.     # 模型配置文件与预训练权重路径
    6.     yolo_yaml = "/root/cv/task_0/yolo_model/yolo11.yaml"
    7.     yolo_pt = "/root/cv/task_0/yolo_model/yolo11n.pt"
    8.     data_yaml = "/root/autodl-tmp/meter_data/meter_detect/dataset.yaml"
    9.     # 构建模型并加载预训练权重
    10.     model = YOLO(yolo_yaml)
    11.     model.load(yolo_pt)
    12.     # 开始训练,设置训练数据、迭代次数及图像尺寸
    13.     results = model.train(data=data_yaml, epochs=200, imgsz=640)
    复制代码
    以上代码展示了怎样通过加载模子配置与权重,利用自界说数据集举行200个epoch的练习。数据集的配置文件中包含了表计的标注信息,确保模子可以或许在多样化环境放学习到稳定的表计特征。
  • 数据预处置处罚与增强
    为了提升模子在复杂场景下的泛化本事,对原始数据举行了旋转、缩放、含糊等数据增强操作,增强模子对光照、遮挡等干扰因素的鲁棒性。
2.2 表计检测推测模块

在推测阶段,练习好的模子用于对新的表计图像举行检测,主要流程包括加载模子、对输入图像举行检测、裁剪出目标地区及生存检测结果。代码实现如下:
  1. import cv2
  2. import numpy as np
  3. import os
  4. import matplotlib.pyplot as plt
  5. from ultralytics import YOLO
  6. # 加载训练好的自定义模型
  7. model = YOLO('/root/cv/task_0/runs/detect/train5/weights/best.pt')
  8. # 指定保存预测结果的目录
  9. output_dir = '/root/cv/test/task_0_result'
  10. os.makedirs(output_dir, exist_ok=True)
  11. # 对单张图片进行预测
  12. image_path = '/root/cv/test/detected_meter/test.jpg'
  13. results = model(image_path, conf=0.60, save=False)
  14. # 读取原始图像并转换为RGB格式(用于显示)
  15. frame = cv2.imread(image_path)
  16. frame_rgb = cv2.cvtColor(frame, cv2.COLOR_BGR2RGB)
  17. # 遍历检测结果,提取目标边界框并保存目标图像
  18. for idx, result in enumerate(results):
  19.     # 获取检测结果中的边界框数据
  20.     boxes = result.boxes.cpu().numpy()
  21.     for i, box in enumerate(boxes.data):
  22.         l, t, r, b = box[:4].astype(np.int32)  # 左、上、右、下坐标
  23.         conf, id = box[4:]  # 置信度与类别
  24.         id = int(id)
  25.    
  26.         # 裁剪出目标区域图像
  27.         target_image = frame[t:b, l:r]
  28.         target_image_path = os.path.join(output_dir, f"target_{idx+1}_{i+1}.jpg")
  29.         cv2.imwrite(target_image_path, target_image)
  30.    
  31.         # 在原图上绘制检测边界框和类别置信度
  32.         cv2.rectangle(frame_rgb, (l, t), (r, b), (0, 0, 255), 2)
  33.         cv2.putText(frame_rgb, f"{model.names[id]} {conf * 100:.1f}%", (l, t - 10),
  34.                     cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)
  35. # 显示检测结果图像
  36. plt.imshow(frame_rgb)
  37. plt.show()
  38. # 保存整体检测结果图像
  39. image_name = image_path.split("/")[-1]
  40. output_image_path = os.path.join(output_dir, image_name)
  41. cv2.imwrite(output_image_path, cv2.cvtColor(frame_rgb, cv2.COLOR_RGB2BGR))
  42. print(f"Prediction result saved to: {output_image_path}")
复制代码
在推测流程中,首先通过加载最佳权重文件得到练习好的模子,然后对目标图像举行推测。检测结果中,模子会返回多个边界框,每个边界框包括位置信息、置信度以及种别信息。根据这些信息,可以对检测地区举行裁剪,生存为单独的图像,同时在原图上绘制检测框和置信度文本以便直观展示检测结果。
3. 实验结果与讨论

3.1 实验设置



  • 数据集:所使用的数据集为采集自工业现场的表计图像,涵盖差别类型、差别角度和多种光照条件下的表计图像。
  • 练习参数:设置练习轮数(epochs)为200,图像尺寸(imgsz)为640,并采用适当的数据增强策略以提高模子鲁棒性。
  • 检测阈值:在推测阶段,置信度阈值设为0.60,确保输出的检测结果较为准确。
3.2 实验结果

通过练习与推测流程,YOLO11模子在表计检测使命中展现了较高的准确性和及时性。模子可以或许在复杂配景下准确定位表计地区,并将目标地区有效裁剪出来,为后续的表针和刻度关键点检测提供了稳定的输入。检测结果图像中,边界框标注清晰,种别与置信度信息准确表现。

3.3 讨论与改进方向

只管实验结果表明体系在表计检测上具有较好体现,但仍存在一些寻衅:


  • 小目标检测题目:部分边缘含糊或尺寸较小的表计在复杂配景中检测精度稍低,需要进一步优化模子布局或采用多标准练习策略。
  • 环境光照影响:在低光或强反射场景下,表计检测结果受到一定影响,数据预处置处罚与增强手段仍需改进。
  • 及时性与摆设:考虑到工业现场对及时监控的需求,未来工作中将着重研究模子轻量化与边缘盘算方案。
4. 小结

本文基于YOLO11模子实现了工业表计的自动检测,构建了一套从数据预处置处罚、模子练习到目标检测与结果展示的完整流程。实验结果验证了该方法在复杂工业环境下的高效性和准确性,为后续表针和刻度的关键点检测与自动读数识别提供了坚实基础。未来工作将进一步优化检测精度和及时性,以适应更为复杂的工业应用场景。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

九天猎人

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表