图片标注:

推荐在线标注工具:Make Sense

点击页面右下角的Get Started进入主页面

批量上传图片,并点击【目标识别】:

目标识别:框选出我们要识别的指定目标

设置一个标签类别(我这里做演示,实际使用最好使用英文名称):

开始标注:

标注完成了之后到处标注信息:

导出的标注文件的信息:

等会这些txt文件将要分别放在labels文件夹中。

接着做其余动作:

安装python3.10

添加到系统变量路径,选择【install now】

禁用最大长度路径:

使用cmd命令终端安装训练库(阿里源,安装训练必须的库,安装过程中不要去动,安装完成有提示信息的):

pip install -i https://mirrors.aliyun.com/pypi/simple/ ultralytics torch torchvision

创建一个yolo文件夹(尽量避免使用中文文件名称,我这为了方便演示):

  1. 把刚刚标注的txt文件放入train\labels文件夹中
  2. 把刚刚需要标注的图片文件放入train\images文件夹中
  3. 在train\labels文件夹和train\images文件夹中,分别【剪切】几个文件到val文件夹中剪切的图片和文本都要名称一致,分别放到val的labels和images文件夹中,用于训练验证。

*这两个是一一对应的,也就是说图片名称和标注名称是一致的。

val文件夹中,需要放置几个错误的产品,放图片和txt文件,txt设置为空就行,图片名称和txt文件名要保持一致,用于验证的

Yolo的data.yaml文件信息:


训练代码:

yolo detect train \     #检测模型训练

data=F:\py_yolo\data.yaml \      # 指定数据集配置

model=F:\py_yolo\yolov8n.pt \   # 加载预训练模型

epochs=18 \ # 训练 18 轮,比如你有10张图片,那么10*18=180次

imgsz=640 \  # 图像缩放至 640x640,如果图片很大,目标很小,就不要把图片缩到太小,否者训练效果不理想

batch=8 \    # 每批处理 8 张图(我电脑是8核心,是CPU核心数不是线程数)

device=cpu \  # 使用 CPU 训练(gpu的使用device=0或者device=cuda)

project=F:\py_yolo\my_train \ # 结果保存到 my_train 目录

name=exp1 \# 实验名为 exp1

rect=True  # 启用矩形训练优化

打开CMD命令运行训练代码,自己更改下实际路径:

yolo detect train data=D:\yolo\model\data.yaml model=D:\yolo\model\yolov8n.pt epochs=18 imgsz=640 batch=8 device=cpu project=D:\yolo\my_train name=exp1 rect=True

训练过程截图,我这里是使用CPU训练,i7 11700型号的, 8核心CPU测试下来5秒一张图,只要识别指定目标的,我放了18张图,共计包含150个标注信息,训练出来的结果已经很好了

训练结果:

训练好的模型放在my_train\自己定义的输出名称\weights中,bast.pt代表最佳模型,last.pt代表最后训练的模型

验证模型效果:

安装IDE,我这里是字节的TREA软件,其实就是VSCODE,套了个壳。

直接有勾选的全部勾选,一直安装完成,最后要登录编辑器的,手机验证码登录就行

IDE调试使用

安装python扩展

代码重点:

识别结果,绿色框出来的就是我的产品:

附带完整的运行代码例子,请参考资源下载。

我是菜鸟,写的不好请专业的算法大佬不要喷我,如有错误请指出,一起改正

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐