UNet训练自己的数据集

pycharm中python环境设置:

打开左上角File  ---> Settings ---> 如下图 ---> Add 选择合适的python版本,进行环境设置

 

 

 

 

UNet训练自己的数据集:

一、训练自己的数据集
1、本文使用VOC格式进行训练。  
2、训练前将标签文件放在VOCdevkit文件夹下的VOC2007文件夹下的SegmentationClass中。    
3、训练前将图片文件放在VOCdevkit文件夹下的VOC2007文件夹下的JPEGImages中。    
4、在训练前利用voc_annotation.py文件生成对应的txt。    
5、注意修改train.py的num_classes为分类个数+1。    
6、运行train.py即可开始训练。  

 二、使用自己训练的权重
1. 按照训练步骤训练。    
2. 在unet.py文件里面,在如下部分修改model_path、backbone和num_classes使其对应训练好的文件;**model_path对应logs文件夹下面的权值文件**。 

```python
_defaults = {
    #-------------------------------------------------------------------#
    #   model_path指向logs文件夹下的权值文件
    #   训练好后logs文件夹下存在多个权值文件,选择验证集损失较低的即可。
    #   验证集损失较低不代表miou较高,仅代表该权值在验证集上泛化性能较好。
    #-------------------------------------------------------------------#
    "model_path"    : 'model_data/unet_vgg_voc.pth',
    #--------------------------------#
    #   所需要区分的类的个数+1
    #--------------------------------#
    "num_classes"   : 21,
    #--------------------------------#
    #   所使用的的主干网络:vgg、resnet50   
    #--------------------------------#
    "backbone"      : "vgg",
    #--------------------------------#
    #   输入图片的大小
    #--------------------------------#
    "input_shape"   : [512, 512],
    #--------------------------------#
    #   blend参数用于控制是否
    #   让识别结果和原图混合
    #--------------------------------#
    "blend"         : True,
    #--------------------------------#
    #   是否使用Cuda
    #   没有GPU可以设置成False
    #--------------------------------#
    "cuda"          : True,
}
```
3. 运行predict.py,输入    待预测的图片路径
```python
img/street.jpg
```   
4. 在predict.py里面进行设置可以进行fps测试和video视频检测。    

### 评估步骤
1、设置get_miou.py里面的num_classes为预测的类的数量加1。  
2、设置get_miou.py里面的name_classes为需要去区分的类别。  
3、运行get_miou.py即可获得miou大小。  
 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用UNet训练自己的数据集UNet是一种用于图像分割任务的深度学习架构,广泛应用于医学图像分割领域。 以下是一个基本的步骤指南来训练UNet模型: 1. 收集并准备数据集:收集相关的图像数据,并将其划分为训练集和验证集。确保你的数据集包含有标注的图像,即每个像素都有相应的标签。 2. 数据预处理:对于图像分割任务,通常需要将图像和标签进行预处理。这可能包括调整图像大小、对图像进行归一化、添加数据增强等。 3. 构建UNet模型:使用深度学习框架(如TensorFlow、PyTorch)构建UNet模型。UNet模型由编码器和解码器部分组成,可以通过堆叠卷积层、池化层和上采样层来实现。 4. 定义损失函数和优化器:常见的损失函数包括交叉熵损失函数和Dice损失函数,用于衡量预测结果与真实标签之间的差异。选择合适的优化器(如Adam、SGD)来更新模型参数。 5. 训练模型:使用训练集数据对UNet模型进行训练。将输入图像传入模型,得到预测结果,与真实标签进行比较,计算损失值,并通过反向传播算法更新模型参数。重复这个过程多个epoch,直到模型收敛。 6. 评估和验证:使用验证集数据对训练好的模型进行评估和验证。计算评估指标(如准确率、召回率、F1分数等)来衡量模型的性能。 7. 预测:使用训练好的UNet模型对新的图像进行预测。将图像输入模型,得到预测结果,并根据需要对结果进行后处理(如阈值处理、连通域分析等)。 请注意,以上仅是一个基本的步骤指南。根据你的具体任务和数据集特点,可能还需要进一步调整和优化模型架构、损失函数、数据预处理等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值