DeepLabV3+--训练自己的数据集

训练集-测试集-验证集

(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搭建DeepLabv3+语义检测平台实验步骤:

(53条消息) 憨批的语义分割重制版9——Pytorch 搭建自己的DeeplabV3+语义分割平台_Bubbliiiing的博客-CSDN博客

参考:

源码下载GIthub地址:GitHub - bubbliiiing/deeplabv3-plus-pytorch: 这是一个deeplabv3-plus-pytorch的源码,可以用于训练自己的模型。

博客详解地址:(48条消息) 憨批的语义分割重制版9——Pytorch 搭建自己的DeeplabV3+语义分割平台_Bubbliiiing的博客-CSDN博客

视频详解地址:

【Pytorch 搭建自己的DeeplabV3+语义分割平台(Bubbliiiing 深度学习 教程)】

  1. 搭环境--连接服务器
    1. 使用WinSCP在服务器与电脑之间进行文件的进行文件的上传和下载
    2. 使用电脑系统自带的--远程桌面连接--与服务器连接
  2. 搭环境--pycharm安装
    1. 使用服务器上的pycharm
  3. 搭环境--deeplabv3+项目下载
    1. 在github上下载deeplabv3+项目
    2. 在服务器上搭建所需的环境                                                                                 【Pytorch 搭建自己的DeeplabV3+语义分割平台(Bubbliiiing 深度学习 教程)】
  4. 语义分割数据集的制作过程:

    1. 在根目录下的datasets下的before文件夹下存放jpg原图和json标签文件       

    2. 使用labelme对before文件中的图片进行标注,生成对应的json文件

    3. 修改json_to_dataset.py中的参数classes的值为标签中的类别,第一个为背景_background_,并运行根目录下的json_to_dataset.py,将before文件夹下的jpg文件根据json标签文件转化为png文件格式

    4. 程序将输出的png格式的标签文件保存至datasets/SegmentatinClass中,将rgb原图保存至datasets/JPEGImages中

  5. 数据集的处理
    1. 设置参数annotation_mode = 0,生成ImageSets里面的txt文件,对数据集分类:训练集train.txt,测试集test.txt,验证集val.txt                                                  
    2. 设置参数num_classes 存放数据标注类型的类别
  6. 网络训练
    1. 在train.py中修改 model_path = 'model_data/deeplab_xception.pth' 表示模型的预训练权重,模型的预训练权重对不同数据集是通用的,因为特征是通用的。在训练的时候使用预训练权重文件,不使用的话主干部分的权值太过随机,特征提取效果不明显,网络训练的结果也不会好。按照个人需求以及服务器硬件配置修改相应的参数,然后运行train.py。完成训练后,在根目录下的logs文件夹中生成训练好的权值文件,包含过程中产生的权重文件,以及最后last和最好best的权重文件。

  7. 训练结果预测
    1. 修改deeplab.py中的相关参数: model_path参数指向上述logs文件夹下的权值文件,name_classes参数指标签图片中的类别,dir_origin_path指向待预测的原始图片地址,dir_save_path指向预测所输出的图片存放地址。运行predict.py文件进行预测,并将预测图片保存到指定位置dir_save_path,随后便可以查看预测结果。

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值