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

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)
相关推荐
^Rocky4 小时前
JavaScript性能优化实战
开发语言·javascript·性能优化
心本无晴.4 小时前
Python进程,线程
python·进程
ponnylv4 小时前
深入剖析Spring Boot启动流程
java·开发语言·spring boot·spring
萧邀人5 小时前
第一课、Cocos Creator 3.8 安装与配置
开发语言
Jayden_Ruan5 小时前
C++逆向输出一个字符串(三)
开发语言·c++·算法
不吃鱼的羊5 小时前
启动文件Startup_vle.c
c语言·开发语言
VBA63376 小时前
VBA之Word应用第四章第二节:段落集合Paragraphs对象(二)
开发语言
点云SLAM6 小时前
C++ 常见面试题汇总
java·开发语言·c++·算法·面试·内存管理
java1234_小锋7 小时前
Scikit-learn Python机器学习 - 特征降维 压缩数据 - 特征提取 - 主成分分析 (PCA)
python·机器学习·scikit-learn