首页 > 其他分享 >YOLO v5学习之数据集的标定及训练

YOLO v5学习之数据集的标定及训练

时间:2023-08-23 10:57:20浏览次数:45  
标签:-- YOLO .... 标定 v5 labelImg txt png

1、首先下载数据集标定工具labelImg

LabelImg数据集标定工具的下载地址:https://github.com/tzutalin/labelImg

labelImg的安装

首先安装labelImg所需要的依赖。

Ubuntu Linux
Python 3 + Qt5

sudo apt-get install pyqt5-dev-tools
sudo pip3 install -r requirements/requirements-linux-python3.txt
make qt5py3
123

macOS
Python 3 + Qt5

brew install qt  # Install qt-5.x.x by Homebrew
brew install libxml2

or using pip

pip3 install pyqt5 lxml # Install qt and lxml by pip

make qt5py3

123456789

其他系统参考官网:https://github.com/tzutalin/labelImg

2、数据集的标定

首先进入labelImg的文件夹内,然后直接运行labelImg.py文件即可。

cd labelImg
python labelImg.py
12

之后会出现以下这个界面表示工具运行成功。
在这里插入图片描述
对于一个物体来说,数据集越多,最终训练出来的模型效果会更好。

把所有的图片标定完成后,就会得到一个与images图片同名的labels的txt。

如下图所示:
原始的images图片数据集。
在这里插入图片描述
标定完成的labels标签。
在这里插入图片描述

3、建立yolo v5训练的数据集

数据集的文件结构为

boat_data
├── data.yaml
├── train
│   ├── images
│   │   ├── zuo1.png
│   │   ├── zuo10.png
│   │   ├── zuo100.png
│   │   ├── zuo101.png
│   │   ├── zuo102.png
│   │   ├── zuo103.png
│   │   ├── zuo104.png
│   │   ├── zuo105.png
....
....
....
│       ├── zuo94.txt
│       ├── zuo95.txt
│       ├── zuo96.txt
│       ├── zuo97.txt
│       ├── zuo98.txt
│       └── zuo99.txt
└── val
    ├── images
    │   ├── zuo1.png
    │   ├── zuo2.png
    │   ├── zuo3.png
....
....
....
    │   ├── zuo7.png
    │   └── zuo8.png
    └── labels
        ├── zuo1.txt
        ├── zuo2.txt
        ├── zuo3.txt
....
....
....
        ├── zuo7.txt
        └── zuo8.txt

6 directories, 351 files

12345678910111213141516171819202122232425262728293031323334353637383940414243

train文件夹中imageslabels是训练集。
val文件夹中imageslabels是测试集。

data.yaml文件是需要更改的。
内容一般为一下所示(以boat举例):

train: ../boat_data/train/images #训练集的目录
val: ../boat_data/val/images #测试集的目录

nc: 1 #标定的物品的个数
names: ['boat'] #标定物品的名称,如有多个,按标定的顺序依次排序,中间使用“,”隔开。
12345

4、yolo v5数据集的训练

注意,要把数据集放在与yolov5源码文件的相同的目录下!
在YOLO v5的目录下运行一下代码:

python train.py  --img 640 --batch 80 --epochs 3 --data ../boat_data/data.yaml --cfg yolov5s.yaml   --weights yolov5s.pt --nosave --cache
1

注意修改yolov5s.yaml文件中的nc为标定目标的个数。

运行以上代码后,训练完成后,出现以下情况说明模型训练成功,得到数据集last.pt
至此数据集就训练完成了。
在这里插入图片描述

标签:--,YOLO,....,标定,v5,labelImg,txt,png
From: https://www.cnblogs.com/xiondun/p/17650589.html

相关文章

  • yolo5纸张卡片顶点检测,实现任意倾斜角度较正
    https://blog.csdn.net/demm868/article/details/111087578向AI转型的程序员都关注了这个号????????????机器学习AI算法工程  公众号:datayx因为之前有在做一些规则卡片类的OCR识别任务,就难免会遇到这样的问题:用户上传的照片里卡片的角度是任意的,不规则的,或多或少都会存在不......
  • yolov5 推理,获取 对象坐标 等数据
    demoimporttorchimportcv2fromPILimportImage#pt_path=r'E:\Code\Python\YoLov5\yolov5\yolov5s.pt'pt_path=r'E:\Code\Python\yolov5py38\yolov5\best.pt'#Modelmodel=torch.hub.load(r"E:\Code\Python\YoLov5......
  • YOLOV8详细介绍
    YOLOv8是来自Ultralytics的最新的基于YOLO的对象检测模型系列,提供最先进的性能。官方开源地址:https://github.com/ultralytics/ultralyticsgithub.com/ultralytics/ultralyticsMMYOLO开源地址:https://github.com/open-mmlab/mmyolo/blob/dev/configs/yolov8/github.com/open-......
  • yolov5训练模型
    一个0到1的案例后续会继续补充环境python3.8.10Firstgithub下载项目:https://github.com/ultralytics/yolov5/tree/mastercdyolov5,pipinstall-rrequirements.txt-i清华源pipinstalllambelimg(打标签用的)Second本地创建文件夹(yolov5同目录),如下图(仅供参考)......
  • 【pytorch】目标检测:一文搞懂如何利用kaggle训练yolov5模型
    笔者的运行环境:python3.8+pytorch2.0.1+pycharm+kaggle。yolov5对python和pytorch版本是有要求的,python>=3.8,pytorch>=1.6。yolov5共有5种类型n\s\l\m\x,参数量依次递增,对训练设备的要求也是递增。本文以yolov5_6s为切入点,探究yolov5如何在实战种运用。1.数据集的准备roboflow......
  • 【全新重构发布】iNeuOS工业互联网操作系统 V5 版本
      iNeuOS工业互联网操作系统历经迭代27个版本,老版本截止更新V4.1版本;历时一年多时间,现在正式发布全新V5版本,V5版本与V4.1老版本不完全兼容。  发布V5版本后,iNeuOS工业互联网操作系统主要方向是向业务端发展:能源、安全、工艺、设备、环保等方面的产品化应用,更好的支持企业......
  • OpenCV相机标定
    OpenCV相机标定相机内参矩阵cameraMatrix\[cameraMatrix=\begin{bmatrix}f_x&0&c_x\\0&f_y&c_y\\0&0&1\end{bmatrix}\]相机畸变系数distCoeffs畸变系数:径向畸变\((k_1,k_2,k_3)\),切向畸变\((p_1,p_2)\)\[distCoeffs=\beg......
  • OpenCV手眼标定
    OpenCV手眼标定使用OpenCV进行手眼标定,版本需要4.1.0及以上。为了确定手眼变换,至少需要两个具有非平行旋转轴的运动。因此,至少需要3个不同的姿势,但强烈建议使用更多的姿势。——OpenCV官方文档提示cv::calibrateHandEye()OpenCV有关手眼标定官方文档voidcv::cali......
  • 手眼标定原理
    手眼标定原理WriteByChamprinFrom2022-11-03To2022-11-04.GUETEvolutionTeamVisualGroup参考资料:外文教程5.2-手眼标定(外参标定)要实现由图像目标点到空间实际物体上抓取点之间的坐标转换,就必须拥有相机与机械臂之间的位姿转换关系,即手眼关系,因此这种标......
  • 【pytorch】目标检测:新手也能彻底搞懂的YOLOv5详解
    YOLOv5是GlennJocher等人研发,它是Ultralytics公司的开源项目。YOLOv5根据参数量分为了n、s、m、l、x五种类型,其参数量依次上升,当然了其效果也是越来越好。从2020年6月发布至2022年11月已经更新了7个大版本,在v7版本中还添加了语义分割的功能。本文以YOLOv5_v6为媒介,对YOLOv5进行学......