焊接自动化测试平台图像处理分析-模型训练推理
1、使用技术栈:jdk17/springboot/python/opencv/yolov8
2、JAVA环境搭建
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。
- 安装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 模型训练流程:
- 加载显示数据
- #加载与训练模型
- #安装三方库:ultralytics
- #导包:from ultralytics import YOLO
- from numpy.__config__ import show
- from ultralytics import YOLO
- #1.'加载模型
- #2.检测目标
- #加载预训练模型
- #官方提供的基础测试和训练模型
- #首次运行自动下载。
- a1 = YOLO('yolov8n.pt')
- #2.检测目标
- #show=True 显示检测结果
- #save=True,保存检测结果
- a1('2.jpg',show = True,save = True)
- 检测图片或视频
- #检测网络图片
- from ultralytics import YOLO
- a1 = YOLO('yolov8n.pt')
- a1('mv.jpg',show = True,save = True)
- 准备数据集结构
- #准备数据集结构文件
- #跟目标创建1个文件夹(可自定义名称)
- #下面创建再2个文件夹(images和labels)
- #images和labels 下再分别创建2个文件夹(train和val)
- #images下的train和val 芳入训练图片(png,jp
- #labels下的train和val 放入图片标注(txt)
- 准备训练图片和标注
- 准备数据集配置文件
- #准备数据集配置文件
- #创建1个yaml格式的文件(可自定义名称)
- #配置数据集信息、用于训练模型
- data.yaml内容如下:
- path: C:\Users\HR0432\source\repos\robot\robot\xun #数据集根目录
-
-
- train: images/train #训练集图片路径
- val: images/val #验证集图片路径
- nc: 3 #类别数量
- names: ['正常','发黑','爆点'] #类别名称
-
- 开始训练
- #开始模型训练
- import sys
- import io
- sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
- from ultralytics import YOLO
- import matplotlib
- matplotlib.use('Agg') # 寮哄埗浣跨敤闈炰氦浜掑紡鍚庣
- #加载预训练模型
- a1 = YOLO('yolov8n.pt')
- #开始训练
- a1.train(
- data='data.yaml', #数据集配置文件路径
- epochs=300, #训练轮次 官方推荐500
- imgsz=640, #输入图片尺寸 官方推荐640
- batch=16, #每次训练的批量 官方推荐16/32
- device='cpu' , #GPU=0 CPU= 'cpu'
- workers=4 # 数据加载线程数
- )
- print('**********************************')
- print('**********************************')
- print('**********************************')
- print('**************SUCCESS*************')
- print('**************SUCCESS*************')
- print('**************SUCCESS*************')
- print('**********************************')
- print('**********************************')
- print('**********************************')
- 测试模型结果
- #检测模型结果
- from ultralytics import YOLO
- #模型训练完毕自动保存到C:\Users\HR0432\source\repos\robot\robot\runs\detect\train2\weights
- #best.pt是训练好的最优模型(适用于最终应用)
- #last.pt是训练的最后一轮模型(适用于训练继续)
- #加载自己训练好的模型
- a1 = YOLO(r'C:\Users\HR0432\source\repos\robot\robot\runs\detect\train16\weights\best.pt')
- #目标检测
- a1('3.jpg',show = True,save = True)