YOLOV7--训练自己的数据集

教程参考:

b导:

(52条消息) 睿智的目标检测61——Pytorch搭建YoloV7目标检测平台_pytorch yolov7_Bubbliiiing的博客-CSDN博客Predict-预测过程的前处理以及后处理_哔哩哔哩_bilibili

训练集-测试集-验证集

(23条消息) 训练集,验证集,测试集分别是什么_训练集验证集测试集_又决定放弃的博客-CSDN博客

(23条消息) 【深度学习】训练集、测试集和验证集_训练集测试集验证集_莫克_Cheney的博客-CSDN博客

训练集(Training Set):用于训练模型。

验证集(Validation Set):用于调整和选择模型--调整模型参数

测试集(Test Set):用于评估最终的模型。

卷积-下采样-上采样

(25条消息) 卷积和池化的区别、图像的上采样(upsampling)与下采样(subsampled)_5行5列的原图像怎么子采样池化_liulina603的博客-CSDN博客

锚框-先验框概念及其生成

(25条消息) 锚框(anchor box)/先验框(prior bounding box)概念介绍及其生成_是苍啊!的博客-CSDN博客

(24条消息) 目标检测中的先验框(Anchor)_热血厨师长的博客-CSDN博客

对图像的像素框进行遍历,数据量太大,先进行下采样处理,降低图像的分辨率,得到图像的特征图,对特征图上的每个特征点取三个先验框,通过对先验框中心位置的偏移以及其宽高的变化得到预测框,与目标框对比,通过设定Iou阈值选出预测框,针对一个目标框,我们生成很多预测框并选取了一个IOU最大的预测框。通过分类头对这个先验框的类别做出预测,通过回归头归一化处理对先验框的位置和大小进行修改。

YOLOV7代码中的一些参数

(23条消息) YOLOV7开源代码讲解--训练参数解释_yolov7代码_爱吃肉的鹏的博客-CSDN博客

batch_size

(23条消息) 机器学习中的batch_size是什么?_batch size_勤奋的大熊猫的博客-CSDN博客

(23条消息) Batch Size的理解_Altoria.的博客-CSDN博客

例: 训练集有1000个样本,batch_size=10,那么训练完整个样本集需要:

100次iteration,1次epoch。

batch_size(批大小)即为一次传递给程序用以训练的样本个数

epoch表示训练了多少轮---1个epoch表示将所有的样本训练一轮

iteration表示训练多少batch_size批次的样本--1个iteration等于使用batchsize个样本训练一次;

基于Pytorch搭建YoloV7目标检测平台实验步骤:

参考:

源码下载GIthub地址:https://github.com/bubbliiiing/yolov7-pytorch

博客详解地址:https://blog.csdn.net/weixin_44791964/article/details/125827160

视频详解地址:【Pytorch 搭建自己的YoloV7目标检测平台(Bubbliiiing 源码详解 训练 预测)】 https://www.bilibili.com/video/BV1VG411u79Z/?share_source=copy_web&vd_source=549092901ba1e1ff6d85ee27f379bf95

  1. 搭环境--连接服务器

  1. 使用WinSCP在服务器与电脑之间进行文件的进行文件的上传和下载

  1. 使用电脑系统自带的--远程桌面连接--与服务器连接

  1. 搭环境--pycharm安装

  1. 使用服务器上的pycharm

  1. 搭环境--yolov7项目下载

  1. 在github上下载yolov7项目

  1. 使用labelimg制作自己的数据集,并添加到项目中

  1. 将一个包含JPG和XML的混合文件夹分类成JPG和XML两个单独的子文件夹

  1. 说我tensorflow报错,啊。。。。原来我没有显卡

  1. 没有显卡,咱用服务器,难不倒咱,哈哈,咱终于克服了服务器的难题

  1. 数据集

  1. 准备好数据集,并使用labelimg标注

  1. 将数据集存放在项目中的VOCdevkit/VOC2007文件下

  1. 将原图存放在JPEGImages文件夹中

  1. 将标注的xml文件存放在Annotations文件夹中

  1. 注:原图和标注的xml文件必须一一对应

  1. 跑实验

训练自己的数据集

  1. 从根目录下的voc_annotation.py文件中修改参数:

  1. annotation_mode = 0 ---生成ImageSets里面的txt文件,对数据集分类:训练集train.txt,测试集test.txt,验证集val.txt

---以及训练用的2007_train.txt、2007_val.txt

  1. classes_path = 存放数据标注类型的分类(位于model_data文件夹下的新建的cls_classes.txt

  1. 在根目录下的train.py中包含各种参数

  1. 各种参数的解析:【Pytorch 搭建自己的YoloV7目标检测平台(Bubbliiiing 源码详解 训练 预测)】 https://www.bilibili.com/video/BV1VG411u79Z/?p=10&share_source=copy_web&vd_source=549092901ba1e1ff6d85ee27f379bf95

  1. 下载预训练权重文件

在train.py中修改 model_path = 'model_data/yolov7_weights.h5' 表示模型的预训练权重,模型的预训练权重对不同数据集是通用的,因为特征是通用的。在训练的时候使用预训练权重文件,不用的话主干部分的权值太过随机,特征提取效果不明显,网络训练的结果也不会好。

  1. 修改训练轮次的参数

Freeze_Epoch = 20

UnFreeze_Epoch = 50

  1. 运行voc_annotation.py

生成生成ImageSets里面的txt文件,和2007_train.txt、2007_val.txt

  1. 修改根目录下的yolo.py中的参数,利用训练好的模型进行预训练

  1. 跑实验后,即运行voc_annotation.py后,在根目录下的logs文件夹中生成训练好的权值文件,

修改model_path参数指向上述权值文件

  1. 修改classes_path,使其指向存放数据标注类型的分类文件(位于model_data文件夹下的新建的cls_classes.txt

  1. cuda的参数修改,有无GPU

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值