网站内链符号,汽车网站 源码,免费的网站推广,广州市建筑信息平台【工业机器视觉】基于深度学习的仪表盘识读(读数识别)#xff08;3#xff09;-CSDN博客 训练与预测 Ultralytics YOLO指的是由Ultralytics公司开发的一系列基于YOLO#xff08;You Only Look Once#xff09;架构的目标检测算法。YOLO是一种实时目标检测系统#xff0c;它…【工业机器视觉】基于深度学习的仪表盘识读(读数识别)3-CSDN博客 训练与预测 Ultralytics YOLO指的是由Ultralytics公司开发的一系列基于YOLOYou Only Look Once架构的目标检测算法。YOLO是一种实时目标检测系统它能一次性预测图像中所有对象的边界框和类别概率因此在速度上有很大的优势。 Ultralytics是YOLOv3、YOLOv5等版本的维护者并且推出了YOLOv8等一系列改进版本。这些模型通常具有更高的精度和更快的速度同时保持了YOLO系列简单易用的特点。Ultralytics提供的YOLO实现通常是开源的可以在GitHub等平台上找到允许研究者和开发者使用、修改和贡献代码。 此外Ultralytics还提供了训练、评估和部署YOLO模型的工具和文档使得用户能够根据自己的数据集定制YOLO模型用于各种计算机视觉任务如物体识别、跟踪等。
Home - Ultralytics YOLO Docs 本项目基于Ultralytics YOLOv8模型进行训练和预测。
下载项目
前往githubgithub.com
进入ultralytics目录目录结构 cfg网络模型架构配置文件
my_datas自定义数据集
weights权重文件 需要安装的包
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
pip install ultralytics8.0.143
如果要使用最新版的ultralytics则不需要带版本号最新版的已更新到YOLO11 项目配置
为了快速上手下面只介绍核心流程。在自定义数据集目录下创建自己的项目项目名称自定义即可然后将数据准备好最后创建一个data.yaml的文件参考如下目录结构和配置 data.yaml文件配置 train、val自定义数据集的训练和验证数据图片目录
nc目标检测类别数量
names目标检测类别 训练
在ultralytics目录下创建train.py脚本如下 from ultralytics import YOLOif __name__ __main__:model YOLO(cfg/models/v8/yolov8s.yaml).load(yolov8s.pt)model.train(datamy_datas/detect-pointer/data.yaml, epochs300, imgsz640, taskdetect, batch64, device0, ampTrue, patience10, close_mosaic30)加载网络模型和权重本地没有权重文件时会自动下载。更详细的训练参数请参考cfg目录下的default.yaml文件。 运行脚本开始训练训练开始后会在runs/detect目录下生成训练过程数据 预测
创建predict.py脚本与train.py同目录。
from ultralytics import YOLO
import cv2if __name__ __main__:img_path assets/meter-pointer1.jpgmodel YOLO(runs/detect/train/weights/best.pt)img cv2.imread(img_path)results model.predict(img, imgsz640, showTrue, show_labelsTrue, show_confTrue, device0, conf0.8)cv2.waitKey(0)cv2.destroyAllWindows()img_path指定需要预测的图片路径
YOLO(...)加载训练好的模型
predict预测 预测效果
指针目标检测
最低位X0.001由目标检测直接分类得出结果高位只需要检测到即可后面需要结合梅花针分割模型计算角度映射读数。最后再通过修正算法修正误差得到最终结果。
p2表示最低位读数是2也就是0.002 指针区域梅花针分割
circle_area刻度盘
pointer梅花针区域 字轮目标检测
d10表示读数为0是由0到1的过渡同时也需要结合最高位指针读数X0.1的值来进行修正 至此我们已成功达成了本项目的第一阶段目标实现了指针区域的目标检测与梅花针的精准分割以及完成了字轮数字的自动识别任务并且获得了预期的成果。
接下来的步骤将是开发上位机软件和应用相应的模型通过集成并优化修正算法以最终实现表盘读数的准确解析与输出。这一过程不仅将提升数据读取的自动化水平也将显著增强系统的整体性能与可靠性。