## Unet:U-Net: Convolutional Networks for Biomedical Image Segmentation目标检测模型在Pytorch当中的实现
### 性能情况
**unet并不适合VOC此类数据集,其更适合特征少,需要浅层特征的医药数据集之类的。**
| 训练数据集 | 权值文件名称 | 测试数据集 | 输入图片大小 | mIOU |
| :-----: | :-----: | :------: | :------: | :------: |
| VOC12+SBD | [unet_vgg_voc.pth](https://github.com/bubbliiiing/unet-pytorch/releases/download/v1.0/unet_vgg_voc.pth) | VOC-Val12 | 512x512| 58.78 |
| VOC12+SBD | [unet_resnet_voc.pth](https://github.com/bubbliiiing/unet-pytorch/releases/download/v1.0/unet_resnet_voc.pth) | VOC-Val12 | 512x512| 67.53 |
### 所需环境
torch==1.2.0
torchvision==0.4.0
### 文件下载
训练所需的权值可在百度网盘中下载。
链接: https://pan.baidu.com/s/1A22fC5cPRb74gqrpq7O9-A
提取码: 6n2c
VOC拓展数据集的百度网盘如下:
链接: https://pan.baidu.com/s/1vkk3lMheUm6IjTXznlg7Ng
提取码: 44mk
### 训练步骤
#### 一、训练voc数据集
1、将我提供的voc数据集放入VOCdevkit中(无需运行voc_annotation.py)。
2、运行train.py进行训练,默认参数已经对应voc数据集所需要的参数了。
#### 二、训练自己的数据集
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、下载VGG的预训练权重到model_data下面。
2、按照默认参数运行train_medical.py即可开始训练。
### 预测步骤
#### 一、使用预训练权重
##### a、VOC预训练权重
1. 下载完库后解压,如果想要利用voc训练好的权重进行预测,在百度网盘或者release下载权值,放入model_data,运行即可预测。
```python
img/street.jpg
```
2. 在predict.py里面进行设置可以进行fps测试和video视频检测。
##### b、医药预训练权重
1. 下载完库后解压,如果想要利用医药数据集训练好的权重进行预测,在百度网盘或者release下载权值,放入model_data,修改unet.py中的model_path和num_classes;
```python
_defaults = {
#-------------------------------------------------------------------#
# model_path指向logs文件夹下的权值文件
# 训练好后logs文件夹下存在多个权值文件,选择验证集损失较低的即可。
# 验证集损失较低不代表miou较高,仅代表该权值在验证集上泛化性能较好。
#-------------------------------------------------------------------#
"model_path" : 'model_data/unet_vgg_medical.pth',
#--------------------------------#
# 所需要区分的类的个数+1
#--------------------------------#
"num_classes" : 2,
#--------------------------------#
# 所使用的的主干网络:vgg、resnet50
#--------------------------------#
"backbone" : "vgg",
#--------------------------------#
# 输入图片的大小
#--------------------------------#
"input_shape" : [512, 512],
#--------------------------------#
# blend参数用于控制是否
# 让识别结果和原图混合
#--------------------------------#
"blend" : True,
#--------------------------------#
# 是否使用Cuda
# 没有GPU可以设置成False
#--------------------------------#
"cuda" : True,
}
```
2. 运行即可预测。
```python
img/cell.png
```
#### 二、使用自己训练的权重
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大小。
## Reference
https://github.com/ggyyzm/pytorch_segmentation
https://github.com/bonlime/keras-deeplab-v3-plus
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
分割_Unet+Pytorch实现训练自定义数据集_算法训练_优质项目实战.zip (98个子文件)
分割_Unet+Pytorch实现训练自定义数据集_算法训练_优质项目实战
voc_annotation_medical.py 2KB
Medical_Datasets
ImageSets
Segmentation
README.md 38B
trainval.txt 110B
train.txt 110B
Labels
29.png 16KB
28.png 16KB
19.png 15KB
10.png 17KB
9.png 18KB
3.png 17KB
0.png 18KB
12.png 15KB
24.png 15KB
25.png 15KB
15.png 15KB
1.png 17KB
23.png 15KB
11.png 16KB
13.png 16KB
6.png 17KB
27.png 16KB
5.png 17KB
4.png 18KB
8.png 17KB
21.png 14KB
17.png 15KB
16.png 15KB
7.png 17KB
20.png 14KB
18.png 15KB
2.png 17KB
14.png 15KB
26.png 16KB
22.png 14KB
Images
29.png 222KB
28.png 224KB
19.png 220KB
10.png 202KB
9.png 203KB
3.png 202KB
0.png 201KB
12.png 198KB
24.png 224KB
25.png 223KB
15.png 223KB
1.png 200KB
23.png 224KB
11.png 198KB
13.png 201KB
6.png 205KB
27.png 221KB
5.png 197KB
4.png 203KB
8.png 191KB
21.png 224KB
17.png 220KB
16.png 218KB
7.png 197KB
20.png 217KB
18.png 221KB
2.png 203KB
14.png 200KB
26.png 222KB
22.png 220KB
voc_annotation.py 4KB
predict.py 10KB
utils
utils.py 3KB
__init__.py 1B
utils_metrics.py 9KB
dataloader.py 6KB
dataloader_medical.py 6KB
utils_fit.py 11KB
callbacks.py 9KB
nets
__init__.py 1B
unet.py 3KB
resnet.py 6KB
vgg.py 3KB
unet_training.py 5KB
model_data
README.md 79B
json_to_dataset.py 3KB
get_miou.py 3KB
常见问题汇总.md 36KB
datasets
SegmentationClass
1.png 5KB
JPEGImages
1.jpg 51KB
before
1.jpg 48KB
1.json 70KB
img
cell.png 167KB
street.jpg 437KB
VOCdevkit
VOC2007
SegmentationClass
README.md 55B
ImageSets
Segmentation
README.md 38B
JPEGImages
README.md 49B
train_medical.py 28KB
summary.py 1KB
requirements.txt 164B
unet.py 28KB
logs
README.MD 98B
train.py 31KB
README.md 6KB
共 98 条
- 1
资源评论
__AtYou__
- 粉丝: 3506
- 资源: 2175
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功