项目简介
本项目是基于Python和PyTorch框架的图像语义分割系统,目标是对图像进行像素级分类。系统采用深度残差网络(ResNet)、Res2Net、MobileNetV2等作为特征提取的主干网络,结合DeepLabV3+模型及其增强版进行语义分割,同时集成多种损失函数和学习率调度器优化模型训练过程。
项目的主要特性和功能
- 多种主干网络支持:支持ResNet、Res2Net、MobileNetV2等多种主干网络提取特征,并结合DeepLabV3+模型进行语义分割。
- 多种损失函数:集成Focal Loss、OHEM Cross Entropy、Label Smoothing等损失函数,解决类别不平衡问题,提升模型性能。
- 自定义学习率调度器:使用PolyLR学习率调度器,实现多项式衰减的学习率调整策略。
- 实时可视化:支持用Visdom实时可视化训练过程,便于监控模型训练状态。
- 辅助工具:提供反标准化、设置BN层动量、创建文件夹等辅助函数,简化数据处理和模型训练流程。
安装使用步骤
- 假设用户已下载并解压项目源码文件。
- 安装必要的Python库,如PyTorch、torchvision、visdom等。
- 准备数据:
- 在
datasets/data/VOCdevkit/VOC2012/JPEGImages
目录下放入需要推理的图片。 - 在相同目录下新建一个
SegmentationClassAug
文件夹。 - 生成测试列表:
- 进入
datasets/data/
目录,运行create_list.py
文件,生成test.txt
文件,记录所有要推理的图片文件名。 - 推理:
- 在根目录下运行以下命令进行推理:
bash python main.py --model deeplabv3plus_res2net101_v1b --gpu_id 0 --year 2012_aug --save_val_results --ckpt checkpoints/best_deeplabv3plus_res2net101_v1b_voc_os16.pth --test_only
- 推理结果将保存在
results
文件夹下。
注意事项
- 项目涉及深度学习模型的训练和推理,可能需要较高的计算资源和较长的运行时间。
- 请确保已下载并放置训练好的权重文件到
checkpoints
文件夹中。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】