焊接自动化测试平台图像处理分析-模型训练推理

1、使用技术栈:jdk17/springboot/python/opencv/yolov8

2、JAVA环境搭建
JDK17下载安装:
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz
解压软件

tar -xf jdk-17.0.16_linux-x64_bin.tar.gz
配置全局变量

vim /etc/profile
放到最后面

export JAVA_HOME=/usr/local/jdk-17.0.16

export CLASSPATH=.:JAVA_HOME/lib:JRE_HOME/lib:$CLASSPATH

export PATH=JAVA_HOME/bin:JRE_HOME/bin:$PATH

使环境变量生效

source /etc/profile
设置环境变量:CXJG_HOST = prod

echo 'export CXJG_HOST=prod' >> ~/.bashrc

source ~/.bashrc

后台启动jar服务:
java Jar包后台启动 并把日志输出到 output.log中

nohup java -jar robot-0.0.1-SNAPSHOT.jar > output.log 2>&1 &

3、通过虚拟环境安装进行隔离

python -m venv yolov8-env

source yolov8-env/bin/activate

pip install opencv-python

pip install --upgrade pip

pip install ultralytics

pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple

如果不行 执行一下

source yolov8-env/bin/activate

python -c "import cv2; print(cv2.version)"

python -c 'from ultralytics import YOLO; print("YOLOv8 installed!")'

pip show ultralytics

退出当前虚拟环境 ‌:

bashCopy Code

conda deactivate

该命令会将当前激活的虚拟环境退出,返回base环境或系统默认环境

  • 若使用source venv/bin/activate激活的环境,直接输入deactivate即可退出811。
  1. 安装python3.13

apt install python3-pip

安装yolov8n

pip3 install ultralytics

安装schedule

pip uninstall schedule

pip install schedule

安装pymysql

pip3 install pymysql

安装dbutils

pip3 install dbutils

pip3 install --upgrade python-dateutil

4、mysql8下载安装

参考:https://blog.csdn.net/ITzhanghao/article/details/150922166?spm=1001.2014.3001.5502

基于Yolov8n 模型训练流程:

  1. 加载显示数据
    1. #加载与训练模型
    2. #安装三方库:ultralytics
    3. #导包:from ultralytics import YOLO
    4. from numpy.config import show
    5. from ultralytics import YOLO
    6. #1.'加载模型
    7. #2.检测目标
    8. #加载预训练模型
    9. #官方提供的基础测试和训练模型
    10. #首次运行自动下载。
    11. a1 = YOLO('yolov8n.pt')
    12. #2.检测目标
    13. #show=True 显示检测结果
    14. #save=True,保存检测结果
    15. a1('2.jpg',show = True,save = True)
  2. 检测图片或视频
    1. #检测网络图片
    2. from ultralytics import YOLO
    3. a1 = YOLO('yolov8n.pt')
    4. a1('mv.jpg',show = True,save = True)
  3. 准备数据集结构
    1. #准备数据集结构文件
    2. #跟目标创建1个文件夹(可自定义名称)
    3. #下面创建再2个文件夹(images和labels)
    4. #images和labels 下再分别创建2个文件夹(train和val)
    5. #images下的train和val 芳入训练图片(png,jp
    6. #labels下的train和val 放入图片标注(txt)
  4. 准备训练图片和标注
  5. 准备数据集配置文件
    1. #准备数据集配置文件
    2. #创建1个yaml格式的文件(可自定义名称)
    3. #配置数据集信息、用于训练模型
    4. data.yaml内容如下:
      1. path: C:\Users\HR0432\source\repos\robot\robot\xun #数据集根目录
      1. train: images/train #训练集图片路径
      2. val: images/val #验证集图片路径
      3. nc: 3 #类别数量
      4. names: ['正常','发黑','爆点'] #类别名称
  1. 开始训练
    1. #开始模型训练
    2. import sys
    3. import io
    4. sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
    5. from ultralytics import YOLO
    6. import matplotlib
    7. matplotlib.use('Agg') # 寮哄埗浣跨敤闈炰氦浜掑紡鍚庣
    8. #加载预训练模型
    9. a1 = YOLO('yolov8n.pt')
    10. #开始训练
    11. a1.train(
    12. data='data.yaml', #数据集配置文件路径
    13. epochs=300, #训练轮次 官方推荐500
    14. imgsz=640, #输入图片尺寸 官方推荐640
    15. batch=16, #每次训练的批量 官方推荐16/32
    16. device='cpu' , #GPU=0 CPU= 'cpu'
    17. workers=4 # 数据加载线程数
    18. )
    19. print('**********************************')
    20. print('**********************************')
    21. print('**********************************')
    22. print('**************SUCCESS*************')
    23. print('**************SUCCESS*************')
    24. print('**************SUCCESS*************')
    25. print('**********************************')
    26. print('**********************************')
    27. print('**********************************')
  2. 测试模型结果
    1. #检测模型结果
    2. from ultralytics import YOLO
    3. #模型训练完毕自动保存到C:\Users\HR0432\source\repos\robot\robot\runs\detect\train2\weights
    4. #best.pt是训练好的最优模型(适用于最终应用)
    5. #last.pt是训练的最后一轮模型(适用于训练继续)
    6. #加载自己训练好的模型
    7. a1 = YOLO(r'C:\Users\HR0432\source\repos\robot\robot\runs\detect\train16\weights\best.pt')
    8. #目标检测
    9. a1('3.jpg',show = True,save = True)
相关推荐
爱打代码的小林5 分钟前
基于 MediaPipe 实现实时面部关键点检测
python·opencv·计算机视觉
极客小云23 分钟前
【ComfyUI API 自动化利器:comfyui_xy Python 库使用详解】
网络·python·自动化·comfyui
凡人叶枫33 分钟前
C++中输入、输出和文件操作详解(Linux实战版)| 从基础到项目落地,避坑指南
linux·服务器·c语言·开发语言·c++
闲人编程40 分钟前
Elasticsearch搜索引擎集成指南
python·elasticsearch·搜索引擎·jenkins·索引·副本·分片
春日见1 小时前
车辆动力学:前后轮车轴
java·开发语言·驱动开发·docker·计算机外设
痴儿哈哈1 小时前
自动化机器学习(AutoML)库TPOT使用指南
jvm·数据库·python
锐意无限1 小时前
Swift 扩展归纳--- UIView
开发语言·ios·swift
低代码布道师1 小时前
Next.js 16 全栈实战(一):从零打造“教培管家”系统——环境与脚手架搭建
开发语言·javascript·ecmascript
花酒锄作田1 小时前
SQLAlchemy中使用UPSERT
python·sqlalchemy
SoleMotive.1 小时前
一个准程序员的健身日志:用算法调试我的增肌计划
python·程序员·健身·职业转型